LVS DR + Keepalived tatsächlichen Kampf

Aktuelle Kampfumgebung (CentOS7)

VIP 10.211.55.180 (virtuelle IP) 
LVS1 10.211.55.151 (Haupt-LVS) 
LVS2 10.211.55.152 (Standby-LVS) 
RS1 10.211.55.171 (realer Server 1) 
RS2 10.211.55.172 (realer Server 2)


Initialisieren Sie alle Knoten in der Umgebung

iptalbes -F # Leere die Firewall

systemctl stop firewalld #Schließen Sie die Firewall

systemctl Firewall deaktivieren # Stoppt den Start der Firewall beim Booten

setenforce 0 # selinux vorübergehend schließen

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

yum -y installiere epel-release #Installiere epel source


LVS1,2-Betrieb


1. Installieren Sie keepalived ipvsadm


yum -y installiere keepalived ipvsadm



[root @ localhost ~] # lsmod | grep ip_vs #Überprüfen Sie das IPvs-Modul

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_ipv6

libcrc32c 12644 4 xfs, ip_vs, nf_nat, nf_conntrack 




2. Konfigurieren Sie keepalived (LVS1, 2).


2.1 Ändern Sie die Konfigurationsdatei von keepalived

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

[root @ localhost keepalived] # cat keepalived.conf

! Keepalived die Konfigurationsdatei für 

global_defs { 
   notification_email { 
     [email protected] 
   } 
   notification_email_from [email protected] 
   smtp_server 127.0.0.1 
   smtp_connect_timeout 30 
   die ROUTER_ID des LVS_DEVEL 
   vrrp_skip_check_adv_addr 
# # vrrp_strict 
   vrrp_garp_interval 0 
   vrrp_gna_interval 0 
} 

vrrp_instance VI_1 { 
    Staat lvs1 hier die MASTER # MASTER ist, Dann wird LVS2 in die BACKUP- 
    Schnittstelle eth0 # CENTOS7 ens33 
    virtual_router_id 51 geändert. #Wenn die Haupt- und Standby- 
    Priorität 100 konsistent sind
    advert_int 1  
    Authentifizierungs { 
        auth_type PASS
        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 
    Protokoll TCP 

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



2.2 Boot starten (LVS1, 2)

systemctl enable keepalived

systemctl start keepalived



3. Konfigurieren Sie LVS, führen Sie das folgende Skript (LVS1, 2) aus und stellen Sie das Skript so ein, dass es gestartet wird


vi /opt/lvs_dr.sh

#! / bin / sh 
# Beschreibung: Starten Sie LVS des Director-Servers 
VIP = 10.211.55.180 
RIP1 = 10.211.55.171 
RIP2 = 10.211.55.172 
Fall "$ 1" beim 
    Start) 
        Echo "LVS des Director-Servers starten" 
# Legen Sie die virtuelle IP-Adresse fest und sysctl-Parameter 
# / sbin / ifconfig eth0: 0 $ VIP-Broadcast $ VIP-Netzmaske 255.255.255.255 up 
# route add -host $ VIP dev eth0: 0 
       echo "1"> / proc / sys / net / ipv4 / ip_forward 
#Clear IPVS Tabelle 
       / sbin / ipvsadm -C 
#set LVS 
/ sbin / ipvsadm -A -t $ VIP: 80 -s rr # -p 600 # 需要 会话 持久 化 则把 p -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 "LVS Directorserver schließen" 
        echo "0"> / proc / sys / net / ipv4 / ip_forward 
        / sbin / ipvsadm -C 
      # / sbin / ifconfig eth0: 0 down 
        ;; 
    *) 
        echo "Verwendung: $ 0 {start | stop}" 
        exit 1 
esac


chmod + x /opt/lvs_dr.sh # Ausführungsberechtigung hinzufügen


echo "/opt/lvs_dr.sh start" >> / etc / profile #Auto start



4. Konfigurieren Sie den RS-Betrieb und führen Sie die folgenden Vorgänge aus (RS1, 2).


Installieren Sie nginx

yum -y install nginx # RS1, 2 sind installiert


echo 10.211.55.171> /usr/share/nginx/html/index.html # RS1 im Betrieb

echo 10.211.55.172> /usr/share/nginx/html/index.html # RS2 im Betrieb

systemctl start nginx # RS1, 2 sind alle in Betrieb


Richten Sie das RS-Skript ein und starten Sie den Start automatisch

vi /opt/lvs_rs.sh

#! / bin / bash 
VIP = 10.211.55.180 
/ sbin / ifconfig lo: 0 $ VIP-Übertragung $ VIP-Netzmaske 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

Diese Operation besteht darin, eine virtuelle IP-Adresse auf dem Loopback-Gerät zu binden und ihre Subnetzmaske auf 255.255.255.255 zu setzen, um die Kommunikation mit der virtuellen IP auf dem Director-Server aufrechtzuerhalten, und dann die lokale ARP-Anforderung zu verbieten.

Da die virtuelle IP-Adresse, bei der es sich um die oben genannte VIP-Adresse handelt, von Director Server und allen realen Servern gemeinsam genutzt wird, liegt ein Problem vor, wenn eine ARP-Anforderung für die VIP-Adresse vorliegt und der Director Server auf alle realen Server antwortet. Daher muss dies verboten werden. Der reale Server antwortet auf eine ARP-Anfrage. Die Rolle des lvsrs-Skripts besteht darin, dass Real Server nicht auf Arp-Anforderungen reagiert.


chmod + /opt/lvs_rs.sh # Ausführungsberechtigungen hinzufügen

echo "/opt/lvs_rs.sh" #Startup automatisch


5. Testen

Suchen Sie einen Client und führen Sie den folgenden Befehl aus

-> $ für i in `seq 20`; locken 10.211.55.180; erledigt

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




Ich denke du magst

Origin blog.51cto.com/slapping/2551450
Empfohlen
Rangfolge