GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare il failover IP con KeepAlived su Ubuntu e Debian

Mantenuto in vita viene utilizzato per il failover IP tra due server. Le sue strutture per il bilanciamento del carico e l'elevata disponibilità per le infrastrutture basate su Linux. Funzionava su protocollo VRRP (Virtual Router Redundancy Protocol). In questo tutorial, abbiamo configurato il failover IP tra due sistemi Linux in esecuzione come bilanciatore del carico per il bilanciamento del carico e le infrastrutture ad alta disponibilità.

Potresti anche essere interessato al nostro tutorial Come configurare HAProxy su Ubuntu e Linuxmint.

Scenario di rete:
  1. LB1 Server: 192.168.10.111 (eth0)
  2. LB2 Server: 192.168.10.112 (eth0)
  3. Virtual IP: 192.168.10.121

Spero che tu abbia una migliore comprensione dell'installazione con la struttura sopra. Passiamo alla configurazione del failover IP tra i server LB1 e LB2.

Passaggio 1:installazione dei pacchetti richiesti

Prima di tutto, usa il comando seguente per installare i pacchetti richiesti per configurare Keepalived sul server.

sudo apt-get update
sudo apt-get install linux-headers-$(uname -r)

Fase 2:installa Keepalived

I pacchetti Keepalived sono disponibili nei repository apt predefiniti. Quindi usa un comando per installarlo su entrambi i server.

sudo apt-get install keepalived

Fase 3 – Imposta Keepalived su LB1.

Ora crea o modifica il file di configurazione Keepalived /etc/keepalived/keepalived.conf su LB1 e aggiungi le seguenti impostazioni. Aggiorna tutti i valori evidenziati in rosso con la tua rete e la configurazione del sistema.

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
    }
}

Fase 4 – Imposta KeepAlived su LB2.

Inoltre, crea o modifica il file di configurazione di Keepalived /etc/keepalived/keepalived.conf su LB2 e aggiungi la seguente configurazione. Quando apporti modifiche al file di configurazione LB2, assicurati di impostare i valori di priorità su un valore inferiore a LB1. Ad esempio, la configurazione seguente mostra un valore di priorità 100 rispetto a LB1 che ha 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. Priorità il valore sarà più alto sul server principale, non importa cosa hai usato nello stato. Se il tuo stato è MASTER ma la tua priorità è inferiore al router con BACKUP, perderai lo stato MASTER.
2. ID_router_virtuale dovrebbe essere lo stesso su entrambi i server LB1 e LB2.
3. Per impostazione predefinita, una singola istanza_vrrp supporta fino a 20 indirizzo_ip_virtuale . Per aggiungere più indirizzi devi aggiungere più vrrp_instance

Fase 5:avvia il servizio KeepAlived

Avvia il servizio keepalive utilizzando il comando seguente e configura anche l'avvio automatico all'avvio del sistema.

sudo service keepalived start

Passaggio 6:verifica degli IP virtuali

Per impostazione predefinita, l'IP virtuale verrà assegnato al server master, nel caso in cui il master si interrompa, verrà assegnato automaticamente al server slave. Utilizzare il comando seguente per mostrare l'IP virtuale assegnato sull'interfaccia.

ip addr show eth0

Risultato di esempio

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

Passaggio 7:verifica della configurazione del failover IP

  1. Chiudi il server master (LB1) e controlla se gli IP vengono assegnati automaticamente al server slave.
ip addr show eth0
  1. Ora avvia LB1 e arresta il server slave (LB2). Gli IP verranno assegnati automaticamente al server principale.
ip addr show eth0
  1. Guarda i file di registro per assicurarne il funzionamento
tailf /var/log/syslog

Risultato campione

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. Come configurare HAProxy in Ubuntu 16.04

  2. Come installare Mattermost con MySQL su Ubuntu 14.04 e Debian 8

  3. Come configurare l'interfaccia di rete su Ubuntu, Debian e LinuxMint

  4. Come configurare un firewall con UFW in Ubuntu \ Debian

  5. Come installare il server SSH su Ubuntu/Debian con OpenSSH

Come configurare GlassFish 4.1 con JAVA 8 in Ubuntu 15.04

Come configurare Icinga Web 2 su Ubuntu 18.04 / Ubuntu 16.04 / Debian 9

Come configurare il server NFS su Debian 9 / Ubuntu 16.04 / LinuxMint 18

Come configurare WordPress su Ubuntu Server con Apache

Come configurare ModSecurity con Nginx su Debian/Ubuntu

Come installare e configurare Apache Spark su Ubuntu/Debian