Keepalived : VRRP インスタンスをグループ化する2025/10/09 |
|
複数のネットワークインターフェースに複数の VRRP インスタンスを設定する場合、グループ化すると、いずれか一方がダウンした場合に、まとめてフェイルオーバーすることができます。 当例では以下のような環境を例にします。
VIP:10.0.0.30
+----------------------+ enp1s0 | enp1s0+----------------------+
| [node01.srv.world] |10.0.0.51 | 10.0.0.52| [node02.srv.world] |
| Keepalived#1 +------------+------------+ Keepalived#2 |
| |192.168.0.51|192.168.0.52| |
+----------------------+enp7s0 | enp7s0+----------------------+
VIP:192.168.0.30
|
| [1] | プライマリーとするノードでの設定です。 |
|
root@node01:~#
vi /etc/keepalived/keepalived.conf
global_defs {
router_id node01
}
# グループ化の設定
vrrp_sync_group VG1 {
group {
INTERNAL
EXTERNAL
}
}
# VRRP インスタンスの設定
vrrp_instance INTERNAL {
state MASTER
interface enp1s0
virtual_router_id 101
priority 200
advert_int 1
virtual_ipaddress {
10.0.0.30/24
}
}
# VRRP インスタンスの設定
vrrp_instance EXTERNAL {
state MASTER
interface enp7s0
virtual_router_id 201
priority 200
advert_int 1
virtual_ipaddress {
192.168.0.30/24
}
}
root@node01:~# systemctl restart keepalived
|
| [2] | バックアップとするノードでの設定です。 |
|
root@node02:~#
vi /etc/keepalived/keepalived.conf
global_defs {
router_id node02
}
# グループ化の設定
vrrp_sync_group VG1 {
group {
INTERNAL
EXTERNAL
}
}
# VRRP インスタンスの設定
vrrp_instance INTERNAL {
state BACKUP
interface enp1s0
virtual_router_id 101
priority 100
advert_int 1
virtual_ipaddress {
10.0.0.30/24
}
}
# VRRP インスタンスの設定
vrrp_instance EXTERNAL {
state BACKUP
interface enp7s0
virtual_router_id 201
priority 100
advert_int 1
virtual_ipaddress {
192.168.0.30/24
}
}
root@node02:~# systemctl restart keepalived
|
| [3] | 以上で設定完了です。プライマリーノードでリンクを落とす等して、仮想 IP アドレス全てがバックアップノードに切り替わるか確認しておきます。 |
|
root@node01:~# ip address show enp1s0; ip address show enp7s0
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:0a:a7:f3 brd ff:ff:ff:ff:ff:ff
altname enx5254000aa7f3
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 proto keepalived enp1s0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe0a:a7f3/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:11:e5:5b brd ff:ff:ff:ff:ff:ff
altname enx52540011e55b
inet 192.168.0.51/24 brd 192.168.0.255 scope global enp7s0
valid_lft forever preferred_lft forever
inet 192.168.0.30/24 scope global secondary proto keepalived enp7s0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe11:e55b/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
root@node01:~#
root@node01:~# ip link set down enp1s0
ip address show enp1s0; ip address show enp7s0
2: enp1s0: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 52:54:00:0a:a7:f3 brd ff:ff:ff:ff:ff:ff
altname enx5254000aa7f3
inet 10.0.0.51/24 brd 10.0.0.255 scope global enp1s0
valid_lft forever preferred_lft forever
3: enp7s0: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:11:e5:5b brd ff:ff:ff:ff:ff:ff
altname enx52540011e55b
inet 192.168.0.51/24 brd 192.168.0.255 scope global enp7s0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe11:e55b/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
|
| Sponsored Link |
|
|