Keepalived : インストール2023/08/24 |
VRRP (Virtual Router Redundancy Protocol) プロトコルを使用した高可用性を実装可能な Keepalived のインストールです。 当例では以下のような環境で、シンプルな仮想 IP アドレスの冗長構成の設定をします。 VIP:10.0.0.30 +----------------------+ | +----------------------+ | [node01.srv.world] |10.0.0.51 | 10.0.0.52| [node02.srv.world] | | Keepalived#1 +----------+----------+ Keepalived#2 | | | | | +----------------------+ +----------------------+ |
[1] | 全ノードで Keepalived をインストールします。 |
root@node01:~# apt -y install keepalived
|
[2] | プライマリーとするノードでの設定です。 |
root@node01:~#
vi /etc/keepalived/keepalived.conf # 新規作成 global_defs { # ホスト名を設定 router_id node01 } vrrp_instance VRRP1 { # プライマリーノードは [MASTER] # バックアップノードは [BACKUP] # 全ノードで [BACKUP] + [nopreempt] 指定した場合 自動フェイルバックしない state MASTER # 自動フェイルバックしない場合は [BACKUP] と合わせて指定 # nopreempt # 仮想 IP を割り当てるインターフェース interface enp1s0 # 各 VRRP インターフェースで一意の ID を指定 # 同一 VRRP インターフェースでは同じ ID を指定 virtual_router_id 101 # [Master] > [BACKUP] な任意の値 priority 200 # VRRP 通知インターバル (秒) advert_int 1 # 仮想 IP アドレス virtual_ipaddress { 10.0.0.30/24 } }
root@node01:~#
root@node01:~# systemctl restart keepalived ip address show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:5b:6d:b6 brd ff:ff:ff:ff:ff:ff inet 10.0.0.51/24 brd 10.0.0.255 scope global enp1s0 valid_lft forever preferred_lft forever inet 10.0.0.30/24 scope global secondary enp1s0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe5b:6db6/64 scope link valid_lft forever preferred_lft forever |
[3] | バックアップとするノードでの設定です。 |
root@node02:~#
vi /etc/keepalived/keepalived.conf
# 新規作成
global_defs {
router_id node02
}
vrrp_instance VRRP1 {
state BACKUP
# nopreempt
interface enp1s0
virtual_router_id 101
priority 100
advert_int 1
virtual_ipaddress {
10.0.0.30/24
}
}
systemctl restart keepalived
|
[4] | 以上で設定完了です。プライマリーノードでリンクを落とす等して、仮想 IP アドレスがバックアップノードに切り替わるか確認しておきます。 |
# プライマリーノードでリンクダウン root@node01:~# ip address show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:5b:6d:b6 brd ff:ff:ff:ff:ff:ff inet 10.0.0.51/24 brd 10.0.0.255 scope global enp1s0 valid_lft forever preferred_lft forever inet 10.0.0.30/24 scope global secondary enp1s0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe5b:6db6/64 scope link valid_lft forever preferred_lft foreverroot@node01:~# ip link set down enp1s0
# バックアップノード root@node02:~# ip address show enp1s0
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:17:b6:c0 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.52/24 brd 10.0.0.255 scope global enp1s0
valid_lft forever preferred_lft forever
inet 10.0.0.30/24 scope global secondary enp1s0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe17:b6c0/64 scope link
valid_lft forever preferred_lft forever
# 仮想 IP アドレスが割り当てられている
# プライマリーノードでリンクアップ root@node01:~# ip link set up enp1s0 root@node01:~# ip address show enp1s0
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:5b:6d:b6 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.51/24 brd 10.0.0.255 scope global enp1s0
valid_lft forever preferred_lft forever
inet 10.0.0.30/24 scope global secondary enp1s0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe5b:6db6/64 scope link
valid_lft forever preferred_lft forever
# 自動フェイルバックした
|
Sponsored Link |
|