2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
DR-Modus:
Drei Modi der LVS-NAT-Adressübersetzung
DR-Direktrouting-Modus
Tun-Tunnel-Modus
Der Scheduler ist der wichtigste im gesamten LVS-Cluster. Im NAT-Modus ist er für die Annahme von Anfragen, die Weiterleitung des Datenverkehrs gemäß dem Lastausgleichsalgorithmus und das Senden von Antworten an den Client verantwortlich.
DR-Modus: Der Scheduler ist weiterhin für die Annahme von Anforderungen verantwortlich und leitet den Datenverkehr gemäß dem Lastausgleichsalgorithmus auch an den RS weiter. Die Antwort wird vom RS direkt an den Client geantwortet.
Direct Routing Direct Routing ist ein Layer-2-Weiterleitungsmodus. Layer 2 leitet Datenrahmen weiter. Weiterleitung basierend auf der Quell-Mac-Adresse und der Ziel-Mac-Adresse.
Die Quell-IP und Ziel-IP des Datenpakets werden nicht geändert und das Datenpaket wird basierend auf der MAC-Adresse weitergeleitet.
Im DR-Modus verwaltet LVS auch eine virtuelle IP-Adresse und alle Anforderungen werden an diese VIP gesendet. Da die Anforderung des Clients den Scheduler erreicht, wird sie über die zweite Schicht weitergeleitet und entsprechend dem Lastausgleichsalgorithmus ausgewählt Die VIP wird zur MAC-Adresse des RS geändert. Nachdem RS die Anfrage verarbeitet hat, kann er die Antwort basierend auf der Quell-Mac-Adresse des Clients in der Nachricht direkt senden.
1. Der Scheduler ist mit VIP konfiguriert und die VIP-Adresse ist auch auf dem RS konfiguriert.
Die VIP-Adressenkonflikte liegen beide im selben Netzwerksegment. Die ARP-Kommunikation ist chaotisch, da sie über das gesamte LAN gesendet wird und alle Geräte sie empfangen haben.
So blockieren Sie die Loopback-Antwort von lo, sodass nur die physische IP-Adresse dieser Maschine antwortet.
Kernel-Parameter ändern:
arp_igrone=1
Nur die physische IP-Adresse des Systems antwortet auf die Anfrage. lo reagiert nicht auf ARP-Anfragen.
2. Wenn die Nachricht zurückgegeben wird, ist die VIP-Adresse noch vorhanden. Wie kann der Client die Antwort erhalten?
arp_announce=2
Das System verwendet nicht die Quelladresse des IP-Pakets, um auf die ARP-Anfrage zu antworten, sondern sendet direkt die IP-Adresse der physischen Schnittstelle.
Knotenserverkonfiguration:
Implementierung des DR-Modus:
nginx1 RS1 192.168.233.100
nginx2 RS2 192.168.233.110
VIP-Nummer: 192.168.233.200
test1-Planer 192.168.233.10
test2-Client 192.168.233.20
Route hinzufügen -Host 192.168.233.100 dev lo:0
Stellen Sie die IP-Adresse auf 192.168.233.100 ein
Schalten Sie die Firewall und den Abwehrmechanismus des Schedulers (test1), des Clients (test2), rs1 (nginx1), rs2 (nginx2) aus.
- [root@test1 ~]# systemctl stop firewalld
- [root@test1 ~]# setenforce 0
Der Scheduler lädt den Kernel und installiert das ipvsadm-Tool.
- [root@test1 ~]# modprobe ip_vs
- [root@test1 ~]# yum -y install ipvsadm*
VIP-Adresse erstellen
- [root@test1 ~]# cd /etc/sysconfig/network-scripts/
- [root@test1 network-scripts]# vim ifcfg-ens33:0
- DEVICE=ens33:0
- ONBOOT=YES
- IPADDR=192.168.233.200
- NETMASK=255.255.255.255
- [root@test1 network-scripts]# ifup ens33:0
Ändern Sie die Antwortparameter des Schedulers
- [root@test1 network-scripts]# vim /etc/sysctl.conf
- net.ipv4.ip_forward=0
- #关闭数据包转发功能
- net.ipv4.conf.all.send_redirects=0
- #禁止系统发送icmp重定向的消息
- net.ipv4.conf.default.send_redirects=0
- #禁止默认网络接口发送ICMP重定向的消息
- net.ipv4.conf.ens33.send_redirects=0
- #禁止ens33设备,禁止发送ICMP重定向消息
Geben Sie VIP- und Lastausgleichsalgorithmen an
- [root@test1 opt]# ipvsadm -C
- [root@test1 opt]# ipvsadm -A -t 192.168.233.200:80 -s rr
- #指定vip和负载均衡的算法
Fügen Sie den vom echten Server angegebenen Modus und die Sicherung hinzu
- [root@test1 opt]# ipvsadm -a -t 192.168.233.200:80 -r 192.168.233.100:80 -g
- [root@test1 opt]# ipvsadm -a -t 192.168.233.200:80 -r 192.168.233.110:80 -g
- [root@test1 opt]# ipvsadm-save /etc/sysconfig/ipvsadm
- [root@test1 opt]# systemctl restart ipvsadm
-
Konfigurieren Sie 2 echte Server (nginx1 nginx2)
Stellen Sie die Zugriffsseiten der beiden Server auf nginx1 und nginx2 ein
- [root@nginx1 ~]# vim /usr/local/nginx/html/index.html
- nginx1
- [root@nginx1 ~]# systemctl restart nginx
- [root@nginx2 ~]# vim /usr/local/nginx/html/index.html
- nginx2
- [root@nginx2 ~]# systemctl restart nginx
Kommen Sie vorbei und testen Sie es selbstErstellen Sie eine Loopback-Schnittstelle für die Loopback-Adressen von 2 Servern
- [root@nginx1 ~]# cd /etc/sysconfig/network-scripts/
- [root@nginx1 network-scripts]# cp ifcfg-lo ifcfg-lo:0
- [root@nginx1 network-scripts]# vim ifcfg-lo:0
- DEVICE=lo:0
- IPADDR=192.168.233.200
- NETMASK=255.255.255.255
- ONBOOT=yes
- [root@nginx1 network-scripts]# ifup lo:0
Stellen Sie die IP-Adresse auf 192.168.233.100 ein und fügen Sie sie als VIP von lvs zur Loopback-Schnittstelle hinzu. Sie wird über den Routing-Modus an RS weitergeleitet, sodass der VIP den tatsächlichen Server identifizieren kann.
[root@nginx1 network-scripts]# route add -host 192.168.233.200 dev lo:0
Optimieren der Kernel-Reaktion realer Server
- [root@nginx1 ~]# vim /etc/sysctl.conf
- net.ipv4.conf.lo.arp_ignore = 1
- #设置回环接口忽略来自任何接口的ARP请求
- net.ipv4.conf.lo.arp_announce = 2
- #设置回环地址仅仅公告本地的ip地址,但是不响应ARP请求
- net.ipv4.conf.all.arp_ignore = 1
- #设置所有接口忽略来自任何接口的ARP请求
- net.ipv4.conf.all.arp_announce = 2
- #设置所有接口仅仅公告本地的ip地址,但是不响应ARP请求
Testergebnisse
Drei Arbeitsmodi von lvs:
NAT DR TUN
Vorteile: Beste WAN-Adressübersetzungsleistung, ermöglicht die Übertragung von Datenpaketen über größere Entfernungen
Konfigurieren eines einfachen dedizierten Kanals
Nachteile: Leistungsengpass unterstützt keine netzwerkübergreifenden Segmente und erfordert die Eröffnung eines VPN (kostet Geld)
Anforderungen für RS: Unrestricted müssen ARP-Antworten auf nicht-physischen Schnittstellen verbieten und den Tunnelmodus unterstützen
Menge RS 10-20 Einheiten 100 Einheiten 100 Einheiten
Interview Fragen:
Beschreiben Sie kurz die drei Arten von LVS und ihre Unterschiede
Interview Fragen:
Wie kann man das Split Brain in Keepalive lösen?
Die Hochverfügbarkeitsarchitektur im LVS-Cluster dient nur der Hochverfügbarkeit des Schedulers.
Basierend auf vrrp werden die Haupt- und Backup-Scheduler implementiert.
Hochverfügbare HA-Architektur
Hauptplaner und Backup-Planer (mehrere)
Wenn der Hauptplaner normal arbeitet, befindet sich der Standby-Planer vollständig in einem redundanten Zustand (noch zu bestimmen). Er beteiligt sich nicht am Betrieb des Clusters. Erst wenn der Hauptplaner ausfällt, übernimmt der Standby-Planer die Arbeit des Hauptplaners. Nachdem der Hauptplaner seine Funktion wiederhergestellt hat, fungiert der Primärplaner weiterhin als Eingang zum Cluster. und der Standby bleibt weiterhin in einem redundanten Zustand (abhängig von der Priorität).
Keeplive implementiert eine LVS-Hochverfügbarkeitslösung basierend auf dem VRRP-Protokoll.
1. Multicast-Adresse:
224.0.0.18 kommuniziert basierend auf der Multicast-Adresse. Die primären und sekundären Geräte senden Nachrichten, um festzustellen, ob die andere Partei aktiv ist.
2. Bestimmen Sie die Primär- und Sekundärpositionen basierend auf der Priorität.
3. Failover: Wenn die primäre Maschine hängt, arbeitet die Backup-Maschine weiter. Wenn die Master-Maschine wiederhergestellt wird, wartet die Backup-Maschine weiter.
4. Das Umschalten zwischen primär und sekundär ist das Umschalten der VIP-Adresse.
Keepalive erscheint speziell für LVS, ist aber nicht exklusiv für LVS.