Keepalivedは、サービスまたはシステムを継続的に監視し、障害が発生した場合に高可用性を実現するシステムデーモンです。 1つのノードがダウンしている場合、2番目のノードがリソースを提供します。キープアライブは、2台のサーバー間のIPフェイルオーバーに使用されます 。 Linuxベースのインフラストラクチャへの負荷分散と高可用性のためのその機能。 VRRP(仮想ルーター冗長プロトコル)プロトコルで動作しました。
通常、Keepalivedを2つのサーバーにインストールして構成します。1つのIPは通常VIP(仮想IP)と呼ばれます。
両方のサーバーのインストールと構成を1つずつ示します。
前提条件:
Keepalivedがフェイルセーフな状況で機能するようにするには、HAProxyをインストールしてください。
Keepalivedをインストールする前に、前提条件のライブラリをインストールします。
yum -y install kernel-headers kernel-devel
キープアライブのインストール:
両方のマシンで次のコマンドを入力して、keepalivedをインストールします。
yum -y install keepalived
マスターサーバーの構成:
MASTERサーバーでkeepalivedの構成ファイルを開きます。
nano /etc/keepalived/keepalived.conf
次の構成を追加します:
! Configuration File for keepalived
global_defs {
}
vrrp_script haproxy {
script "pgrep haproxy" # check the haproxy process
interval 2 # every 2 seconds
timeout 1 # add 2 points if OK
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.7.40
}
track_script {
haproxy
}
}
仮想IPはインターフェースens33に割り当てられ、次のようになります。

バックアップサーバーの構成:
バックアップサーバーで構成ファイルを開きます。
nano /etc/keepalived/keepalived.conf
バックアップサーバーに次の構成を入力します。
! Configuration File for keepalived
global_defs {
}
vrrp_script haproxy {
script "killall -0 haproxy" # check the haproxy process
interval 2 # every 2 seconds
timeout 1 # add 2 points if OK
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.7.40
}
track_script {
haproxy
}
}
両方のサーバーでキープアライブを開始して有効にします:
systemctl start keepalived.service
systemctl enable keepalived.service
systemctl status keepalived.service

上記のように、仮想IPはens33に割り当てられて192.168.7.40であり、このIPで着信するトラフィックをリッスンします。同様に、優先度は101なので、マスター状態です。
以下に、バックアップマシンのステータスを示します。

これで、マスターがダウンした場合、バックアップサーバーの優先度が高くなり、ダウンタイムが最小になるため、バックアップサーバーがマスターになります。

マスターが起動すると、バックアップマシンは自動的にバックアップ状態になります。