GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit IP Failover s KeepAlived na Ubuntu a Debianu

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
    interface eth0
    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 {
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server localhost
   smtp_connect_timeout 30
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 101
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.10.121
    }
}
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.
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

  1. Vypněte hlavní server (LB1) a zkontrolujte, zda jsou adresy IP automaticky přiřazeny podřízenému serveru.
ip addr show eth0
  1. Nyní spusťte LB1 a zastavte podřízený server (LB2). IP adresy budou automaticky přiřazeny hlavnímu serveru.
ip addr show eth0
  1. 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.

Ubuntu
  1. Jak nainstalovat Mattermost s MySQL na Ubuntu 14.04 a Debian 8

  2. Jak nastavit síťové rozhraní na Ubuntu, Debian a LinuxMint

  3. Jak nastavit bránu firewall s UFW v Ubuntu \ Debian

  1. Jak nastavit HAProxy v Ubuntu 16.04

  2. Debian – Jak spouštět 32bitové programy na 64bitovém Debianu/ubuntu?

  3. Jak nastavit e-mailový server s Mail-in-a-Box na Ubuntu

  1. Jak nastavit FTP server s VSFTPD na Ubuntu 20.04

  2. Jak nastavit FTP server s VSFTPD na Ubuntu 18.04

  3. Jak nainstalovat SSH server na Ubuntu / Debian s OpenSSH