Ponecháno se používá pro převzetí služeb při selhání IP mezi dvěma servery. Jeho zařízení pro vyrovnávání zátěže a vysokou dostupnost pro infrastruktury založené na Linuxu. Fungovalo na protokolu VRRP (Virtual Router Redundancy Protocol). V tomto tutoriálu jsme nakonfigurovali IP failover mezi dvěma linuxovými systémy běžícími jako load balancer pro load balancing a infrastruktury s vysokou dostupností.
Také by vás mohl zajímat náš tutoriál Jak nastavit HAProxy na Ubuntu a Linuxmintu.
Scénář sítě:
1. LB1 Server: 192.168.10.111 (eth0) 2. LB2 Server: 192.168.10.112 (eth0) 3. Virtual IP: 192.168.10.121
Doufám, že lépe porozumíte nastavení s výše uvedenou strukturou. Pojďme k nastavení konfigurace IP failover mezi servery LB1 a LB2.
Krok 1 – Instalace požadovaných balíčků
Nejprve použijte následující příkaz k instalaci požadovaných balíčků ke konfiguraci Keepalived na serveru.
sudo apt-get update sudo apt-get install linux-headers-$(uname -r)
Krok 2 – Instalace Keepalived
Balíčky Keepalived jsou dostupné ve výchozích repozitářích apt. Stačí tedy použít příkaz k instalaci na oba servery.
sudo apt-get install keepalived
Krok 3 – Nastavení Keepalived na LB1.
Nyní vytvořte nebo upravte soubor Keepalived konfigurace /etc/keepalived/keepalived.conf na LB1 a přidejte následující nastavení. Aktualizujte všechny červeně zvýrazněné hodnoty podle konfigurace sítě a systému.
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { notification_email {[email protected] [email protected] } notification_email_from[email protected] smtp_server localhost smtp_connect_timeout 30 } vrrp_instance VI_1 { state MASTER interfaceeth0 virtual_router_id 101 priority 101 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress {192.168.10.121 } }
Krok 4 – Nastavení KeepAlived na LB2.
Také vytvořte nebo upravte konfigurační soubor Keepalived /etc/keepalived/keepalived.conf na LB2 a přidejte následující konfiguraci. Při provádění změn v konfiguračním souboru LB2 nezapomeňte nastavit hodnoty priority na nižší než LB1. Například níže uvedená konfigurace ukazuje hodnotu priority 100, než má LB1 hodnotu 101.
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { notification_email {1. Priorita hodnota bude vyšší na hlavním serveru, nezáleží na tom, co jste ve stavu použili. Pokud je váš stav MASTER, ale vaše priorita je nižší než u routeru se BACKUP, ztratíte stav MASTER.[email protected] [email protected] } notification_email_from[email protected] smtp_server localhost smtp_connect_timeout 30 } vrrp_instance VI_1 { state MASTER interfaceeth0 virtual_router_id 101 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress {192.168.10.121 } }
2. virtual_router_id by měly být stejné na serverech LB1 i LB2.
3. Ve výchozím nastavení jedna vrrp_instance podpora až 20 virtuálních_ipadres . Chcete-li přidat další adresy, musíte přidat další vrrp_instance
Krok 5 – Spusťte službu KeepAlived
Spusťte službu keepalived pomocí následujícího příkazu a také nakonfigurujte automatické spouštění při spouštění systému.
sudo service keepalived start
Krok 6 – Zkontrolujte virtuální IP adresy
Ve výchozím nastavení bude virtuální IP přiřazena k hlavnímu serveru, v případě, že hlavní dojde k výpadku, bude automaticky přiřazena podřízenému serveru. Pomocí následujícího příkazu zobrazíte přiřazenou virtuální IP na rozhraní.
ip addr show eth0
Ukázkový výstup
2: eth0:mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:b9:b0:de brd ff:ff:ff:ff:ff:ff inet 192.168.10.111/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever inet 192.168.10.121/32 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::11ab:eb3b:dbce:a119/64 scope link valid_lft forever preferred_lft forever
Krok 7 – Ověřte nastavení IP Failover - Vypněte hlavní server (LB1) a zkontrolujte, zda jsou adresy IP automaticky přiřazeny podřízenému serveru.
ip addr show eth0
- Nyní spusťte LB1 a zastavte podřízený server (LB2). IP adresy budou automaticky přiřazeny hlavnímu serveru.
ip addr show eth0
- Sledujte soubory protokolu a ujistěte se, že funguje.
tailf /var/log/syslog
Ukázkový výstup
Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Registering Kernel netlink reflector Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Registering Kernel netlink command channel Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Opening file '/etc/keepalived/keepalived.conf'. Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Configuration is using : 11104 Bytes Feb 7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Using LinkWatch kernel netlink reflector... Feb 7 17:24:52 tecadmin Keepalived_vrrp[23178]: VRRP_Instance(VI_1) Transition to MASTER STATE Feb 7 17:24:53 tecadmin Keepalived_vrrp[23178]: VRRP_Instance(VI_1) Entering MASTER STATE Feb 7 17:24:53 tecadmin avahi-daemon[562]: Registering new address record for 192.168.10.121 on eth0.IPv4.