↓ Skip to main content

VIP Proxmox avec Keepalived / VRRP

·278 words·2 mins
Antoine Bourdier
Author
Antoine Bourdier

Objectif
#

Mettre en place une IP virtuelle (VIP) partagée entre plusieurs nœuds Proxmox via Keepalived / VRRP.

Prérequis
#

  • Les nœuds doivent être sur le même réseau L2 pour l’interface VRRP.
  • Ouvrir le trafic VRRP (protocole IP 112) si filtrage.
  • Choisir :
    • une interface (ex. vmbr0.30)
    • un virtual_router_id unique sur le réseau
    • une VIP au bon format (ex. 192.168.30.10/24)

1) Installation (sur chaque nœud)
#

apt update && apt install keepalived -y

2) Configuration sur PVE01 (MASTER)
#

Fichier : /etc/keepalived/keepalived.conf

vrrp_instance VI_1 {
    state MASTER
    interface vmbr0.30                # Interface de management du PVE01
    virtual_router_id 51              # Unique sur le réseau
    priority 100                      # Plus haute priorité = MASTER
    advert_int 1

    authentication {
        auth_type PASS
        auth_pass StrongPassword123   # À remplacer par un secret fort
    }

    virtual_ipaddress {
        x/24                          # VIP (ex. 192.168.30.10/24)
    }
}

3) Configuration sur PVE02 (BACKUP)
#

Fichier : /etc/keepalived/keepalived.conf

vrrp_instance VI_1 {
    state BACKUP                      # Nœud secondaire
    interface vmbr0.30                # Interface de management du PVE02
    virtual_router_id 51              # Identique au MASTER
    priority 90                       # Plus faible que le MASTER
    advert_int 1

    authentication {
        auth_type PASS
        auth_pass StrongPassword123   # Doit être identique au MASTER
    }

    virtual_ipaddress {
        x/24                          # VIP (ex. 192.168.30.10/24)
    }
}

4) Ajouter d’autres nœuds
#

  • Reprendre la configuration d’un nœud BACKUP
  • Diminuer priority (ex. 80, 70, 60, …)
  • Garder le même virtual_router_id, le même nom d’instance (VI_1) et le même auth_pass

Démarrage / activation
#

systemctl enable --now keepalived
systemctl status keepalived --no-pager

Vérification rapide
#

  • Sur le nœud MASTER, vérifier que la VIP est bien portée par l’interface :
ip a | grep -A2 -n "vmbr0.30"
  • Couper Keepalived sur le MASTER et vérifier le basculement :
systemctl stop keepalived