LVS DR + combat réel keepalived

Environnement de combat réel (CentOS7)

VIP 10.211.55.180 (IP virtuelle) 
LVS1 10.211.55.151 (LVS principal) 
LVS2 10.211.55.152 (LVS en veille) 
RS1 10.211.55.171 (serveur réel 1) 
RS2 10.211.55.172 (serveur réel 2)


Initialiser tous les nœuds de l'environnement

iptalbes -F #Vider le pare-feu

systemctl stop firewalld #Fermez le pare-feu

systemctl disable firewalld # Empêche le pare-feu de démarrer automatiquement

setenforce 0 # ferme temporairement selinux

sed -i 's / ^ SELINUX =. * $ / SELINUX = désactivé / g' / etc / selinux / config # 关闭 selinux

yum -y installer epel-release #Installer epel source


Fonctionnement LVS1,2


1. Installez keepalived ipvsadm


yum -y installer keepalived ipvsadm



[root @ localhost ~] # lsmod | grep ip_vs #Vérifiez le module ipvs

ip_vs_rr 12600 1

ip_vs 145497 3 ip_vs_rr

nf_conntrack 139264 9 ip_vs, nf_nat, nf_nat_ipv4, nf_nat_ipv6, xt_conntrack, nf_nat_masquerade_ipv4, nf_conntrack_netlink, nf_conntrack_ipv4, nf_conntrack_ipv4, nf_conntrack_ipv4, nf_conntrack_ipv4

libcrc32c 12644 4 xfs, ip_vs, nf_nat, nf_conntrack 




2. Configurer keepalived (LVS1, 2)


2.1 Modifier le fichier de configuration de keepalived

[root @ localhost ~] # cd / etc / keepalived /

[root @ localhost keepalived] # cat keepalived.conf

! Keepalived le fichier de configuration pour 

global_defs { 
   notification_email { 
     [email protected] 
   } 
   notification_email_from [email protected] 
   smtp_server 127.0.0.1 
   smtp_connect_timeout 30 
   l'router_id du LVS_DEVEL 
   vrrp_skip_check_adv_addr 
# # vrrp_strict 
   vrrp_garp_interval 0 
   vrrp_gna_interval 0 
} 

vrrp_instance VI_1 { 
    Etat LVS1 est ici le # MASTER MASTER, Ensuite, LVS2 est changé en 
    interface BACKUP eth0 # CENTOS7 ens33 
    virtual_router_id 51 #Si le main et la sauvegarde sont les mêmes 
    authentification { 
        auth_type PASS 
    priorité 100 # LVS1 est égal à 100, alors LVS2 est inférieur à 100, par exemple 90, plus le poids est élevé, le VIP flottant de quel côté 99 89
    advert_int 1 
    real_server 10.211.55.172 80 {# 后端 RS2 检测
        auth_pass 1111 
    } 
    virtual_ipaddress { 
        10.211.55.180 #VIP 
    } 
} 

virtual_server 10.211.55.180 80 {#VIP 
    delay_loop 6 
    lb_algo rr 
    lb_kind DR 
    persistence_timeout 50 
    protocole TCP 

    real_server 10.211.55.171 80 {#后端RS1检测
        poids 1 
        TCP_CHECK { 
            connect_timeout 3 
            nb_get_retry 3 
            delay_before_retry 3 
            connect_port 80 
        } 
    } 
        TCP_CHECK { 
            connect_timeout 3
        poids 1 
            nb_get_retry 3 
            delay_before_retry 3 
            connect_port 80 
        } 
    } 
}



2.2 Configurer le démarrage (LVS1, 2)

systemctl activer keepalived

systemctl start keepalived



3. Configurez LVS, exécutez le script suivant (LVS1, 2) et définissez le script pour qu'il démarre


vi /opt/lvs_dr.sh

#! / bin / sh 
# description: Démarrer LVS du serveur Director 
VIP = 10.211.55.180 
RIP1 = 10.211.55.171 
RIP2 = 10.211.55.172 
case "$ 1" au 
    début) 
        echo "start LVS of Director Server" 
# définir l'adresse IP virtuelle et paramètre sysctl 
# / sbin / ifconfig eth0: 0 $ diffusion VIP $ masque de réseau VIP 255.255.255.255 up 
# route add -host $ VIP dev eth0: 0 
       echo "1"> / proc / sys / net / ipv4 / ip_forward #Clear 
IPVS table 
       / sbin / ipvsadm -C 
#set LVS 
/ sbin / ipvsadm -A -t $ VIP: 80 -s rr # -p 600 # 需要 会话 持久 化 则把 此处 的 -p 600 取消 注释
/ sbin / ipvsadm -a -t $ VIP: 80 -r $ RIP1: 80 -g 
/ sbin / ipvsadm -a -t $ VIP: 80 -r $ RIP2: 80 -g 
#Run LVS
      / sbin / ipvsadm 
       ;; 
    stop) 
        echo "ferme LVS Directorserver" 
        echo "0"> / proc / sys / net / ipv4 / ip_forward 
        / sbin / ipvsadm -C 
      # / sbin / ifconfig eth0: 0 down 
        ;; 
    *) 
        echo "Utilisation: $ 0 {start | stop}" 
        exit 1 
esac


chmod + x /opt/lvs_dr.sh #Ajouter une autorité d'exécution


echo "/opt/lvs_dr.sh start" >> / etc / profile #Démarrage automatique



4. Configurez le fonctionnement RS et effectuez les opérations suivantes (RS1, 2)


Installer nginx

yum -y install nginx # RS1, 2 sont installés


echo 10.211.55.171> /usr/share/nginx/html/index.html # RS1 en fonctionnement

echo 10.211.55.172> /usr/share/nginx/html/index.html # RS2 en fonctionnement

systemctl start nginx # RS1, 2 fonctionnent tous


Configurez le script RS et configurez le démarrage pour qu'il démarre automatiquement

vi /opt/lvs_rs.sh

#! / bin / bash 
VIP = 10.211.55.180 
/ sbin / ifconfig lo: 0 $ diffusion VIP $ masque de réseau VIP 255.255.255.255 up 
/ sbin / route add -host $ VIP dev lo: 0 
echo "1"> / proc / sys / net / ipv4 / conf / lo / arp_ignore 
echo "2"> / proc / sys / net / ipv4 / conf / lo / arp_announce 
echo "1"> / proc / sys / net / ipv4 / conf / all / arp_ignore 
echo " 2 ″> / proc / sys / net / ipv4 / conf / all / arp_announce 
sysctl -p

Cette opération consiste à lier une adresse IP virtuelle sur le périphérique de bouclage et à définir son masque de sous-réseau sur 255.255.255.255 pour maintenir l'intercommunication avec l'adresse IP virtuelle sur le serveur Director, puis à interdire la demande ARP locale.

Étant donné que l'adresse IP virtuelle, qui est l'adresse VIP ci-dessus, est partagée par Director Server et tous les serveurs Real, s'il y a une demande ARP pour l'adresse VIP, si le Director Server répond à tous les serveurs Real, il y aura un problème. Par conséquent, il doit être interdit. Le vrai serveur répond à la requête ARP. Le rôle du script lvsrs est de faire en sorte que Real Server ne réponde pas aux requêtes arp.


chmod + /opt/lvs_rs.sh #Ajouter des autorisations d'exécution

echo "/opt/lvs_rs.sh" #Démarrage automatique


5. Test

Trouvez un client et exécutez la commande suivante

-> $ pour i dans `seq 20`; do curl 10.211.55.180; done

10.211.55.171

10.211.55.172

10.211.55.171

10.211.55.172

10.211.55.171

10.211.55.172

10.211.55.171

10.211.55.172

10.211.55.171

10.211.55.172

10.211.55.171

10.211.55.172

10.211.55.171

10.211.55.172

10.211.55.171

10.211.55.172

10.211.55.171

10.211.55.172

10.211.55.171

10.211.55.172




Je suppose que tu aimes

Origine blog.51cto.com/slapping/2551450
conseillé
Classement