Benutzer-Werkzeuge

Webseiten-Werkzeuge


keepalived

Keepalived ist eine Software um Hochverfügbarkeit in Linux Umgebungen zu gewährleisten. Keepalived verwendet u.a VRRP (https://docs.linuxfabrik.ch/software/keepalived.html#vrrp-advertisement)

vrrp.jpeg

Installation

Um Prozesse etc. zu überwachen braucht man mind. Version 2.0, die muss man selbst kompilieren.
sudo apt install -y keepalived

Die Konfig liegt unter

/etc/keepalived/keepalived.conf

Selbst Kompilieren

Ubuntu

Das Github Repo verwendet autoconf.

sudo apt install build-essential libssl-dev libnl-3-dev libnl-genl-3-dev autoconf automake libtool

git clone https://github.com/acassen/keepalived.git
cd keepalived

./autogen.sh
./configure

make
sudo make install

sudo keepalived -v
Service Unit anlegen!!!
sudo nano /etc/systemd/system/keepalived.service
[Unit]
Description=Keepalived Daemon
After=network.target

[Service]
Type=simple

# Log nach Stdout (neeee)
# ExecStart=/usr/local/sbin/keepalived --dont-fork --log-console 

# Log nach syslog
ExecStart=/usr/local/sbin/keepalived --dont-fork

Restart=always

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable keepalived
sudo systemctl start keepalived

Alma Linux 8

dnf install -y gcc make openssl-devel libnl3-devel autoconf automake libtool git

git clone https://github.com/acassen/keepalived.git
cd keepalived

./autogen.sh
./configure
make 
sudo make install
Im Idealfall wird ein Systemd File automatisch erstellt.
sudo nano /etc/systemd/system/keepalived.service
[Unit]
Description=Keepalived Daemon
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/sbin/keepalived --dont-fork --log-console
ExecReload=/bin/kill -HUP $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target

Konfiguration

Option Beschreibung
vrrp_instance VI_1 Definiert eine VRRP-Gruppe (Virtual Router Redundancy Protocol). Alle Server, die zur gleichen Gruppe gehören, müssen denselben Namen und dieselbe `virtual_router_id` haben.
state Startzustand dieser Instanz. Mögliche Werte: MASTER (aktiv) oder BACKUP (passiv). Der tatsächliche Zustand kann sich zur Laufzeit ändern.
interface Netzwerkinterface, über das VRRP-Kommunikation läuft (z. B. `eth0`, `ens160`).
virtual_router_id Eindeutige Gruppen-ID zwischen 1–255. Alle Server in derselben VRRP-Gruppe müssen dieselbe ID verwenden.
priority Priorität dieses Knotens (1–255, Standard = 100). Höherer Wert = höhere Wahrscheinlichkeit, Master zu werden.
advert_int Zeitintervall in Sekunden, wie oft der Master VRRP-Announcements sendet (Standard = 1 s). Kleinere Werte = schnellere Umschaltung.
authentication Abschnitt für Authentifizierung zwischen den VRRP-Knoten.
auth_type Authentifizierungsmethode. Meist PASS (Klartext-Passwort). Alternativ: AH (IPSec-ähnliche Authentifizierung, selten genutzt).
auth_pass Gemeinsames Passwort für alle Knoten dieser VRRP-Instanz. Nur die ersten 8 Zeichen werden verwendet. Muss auf allen Servern identisch sein.
virtual_ipaddress Eine oder mehrere virtuelle IP-Adressen (VIPs), die im Masterzustand auf das Interface gebunden werden. Beim Wechsel zu BACKUP werden sie wieder entfernt.

Master

vrrp_instance VI_1 {
    state MASTER
    interface ens160
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass geheim
    }
    virtual_ipaddress {
        172.21.0.166
    }
}

Backup

vrrp_instance VI_1 {
    state BACKUP
    interface ens160
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass geheim
    }
    virtual_ipaddress {
        172.21.0.166
    }
}

Health

Man kann Prozesse, Dateien, Interfaces und eigene Scripte „tracken“.

Prozesse

Siehe https://docs.linuxfabrik.ch/software/keepalived.html#prozesse-mit-keepalived-tracken.

Funktioniert erst ab Version 2.0! Muss man selber kompilieren.

Dateien

Interfaces

Scripts

Notifications

keepalived.txt · Zuletzt geändert: 2025/11/13 01:01 von admin