Der zweite Teil der Artikelreihe: Hochverfügbarkeit und Lastverteilung mit keepalived und ipvsadm unter Debian GNU/Linux
Konfiguration des Nodes (Teil 1/3)
Nachdem die benötige Software nun installiert ist, können wir mit der Konfiguration der beiden Nodes anfangen. Die Hauptkonfigurationsdatei (keepalived.conf) von keepalived liegt im Verzeichnis /etc/keepalived/. Diese muss erst erstellt werden. Ich habe die Konfigurationsdatei in 4 Blöcke aufgesplittet, damit es etwas übersichtlicher ist.
1. Block – Globale Definitionen:
Hier werden globale Definitionen festgelegt. Beim Ausfall eines Zielservers wird z.B. eine E-Mail versendet.
global_defs {
notification_email {
user@domain.tld
}
notification_email_from mailfrom@domain.tld
smtp_server 127.0.0.1
smtp_connect_timeout 30
lvs_id LB_LB01
router_id LVS_LB01
}
2. Block – VRRP Gruppen
Die einzelnen VRRP Instanzen werden in Gruppen zusammengefasst. Gruppiert wurde jeweils nach dem Status Master bzw. Backup.
vrrp_sync_group VG1 {
group {
VI_1
VI_3
}
}vrrp_sync_group VG2 {
group {
VI_2
VI_4
}
}
3. Block – VRRP Instanzen
vrrp_instance VI_1 {
state MASTER
interface eth0
lvs_sync_daemon_interface eth0
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass geheimespasswort1
}
virtual_ipaddress {
198.19.253.1
}
}vrrp_instance VI_2 {
state BACKUP
interface eth0
lvs_sync_daemon_interface eth0
virtual_router_id 52
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass geheimespasswort2
}
virtual_ipaddress {
198.19.254.1
}
}vrrp_instance VI_3 {
state MASTER
interface eth0
lvs_sync_daemon_interface eth0
virtual_router_id 53
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass geheimespasswort3
}
virtual_ipaddress {
2a00:e10:1000:7:124:0:0:a1
}
}vrrp_instance VI_4 {
state BACKUP
interface eth0
lvs_sync_daemon_interface eth0
virtual_router_id 54
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass geheimespasswort4
}
virtual_ipaddress {
2a00:e10:1000:7:124:0:0:b1
}
}
Die VRRP Instanzen VI_1 und VI_3 sind als Master, VI_2 und VI_4 als Backup definiert. Unter virtual_ipaddress wird die virtuelle IP-Adresse der jeweiligen Cluster-Verbunds definiert. Diese wird beim initialen Cluster-Start auf den Loadbalancer gebunden. Wichtig ist, dass die virtual_router_id bei jeder Instanz unterschiedlich ist. Die Priorität (priority) muss auf den Instanzen mit Master-Status (150) höher sein, als bei dehnen mit Backup-Status (100). Für den Rest sollten keine weiteren Erklärungen mehr notwendig sein.