Guide Proxmox VE & Ceph
stabilité, performance, HA optimisée
- Retours d'expériences -
🧭 Contexte
Mon infrastructure repose sur trois hyperviseurs Proxmox en grappe, utilisant Ceph comme solution de stockage distribué. Pour équilibrer coût et performance, j'ai déployé :
-
un pool de disques NVMe pour les opérations rapides,
-
un pool de disques durs (HDD) pour la capacité de stockage,
-
et la haute disponibilité (HA) sur quelques VM, via l'interface de Proxmox.
Récemment, j’ai activé la HA sur toutes mes machines virtuelles.
💣 Et tout a basculé...
Peu de temps après ce changement, j’ai commencé à observer des comportements anormaux.
Un matin, je découvre que seul un des serveurs – asgard – est encore fonctionnel. Les deux autres, vishnu et gandalf, ne répondaient plus du tout, sauf au ping ICMP. Impossible d’ouvrir une session SSH. Ils étaient gelés.
Un détail m’a sauté aux yeux :
👉 asgard était froid,
👉 les deux autres étaient chauds, visiblement en surcharge avant leur plantage.
🔬 Enquête et diagnostic
Après une série de vérifications (logs, état Ceph, charge CPU/disque, etc.), j’en suis venu à une conclusion claire :
→ Ceph + HDD + HA = recette du désastre si mal calibré.
Voici pourquoi :
Élément | Rôle dans l’instabilité |
---|---|
Disques durs (HDD) | Trop lents pour les opérations concurrentes de Ceph |
Ceph | Multiplie les I/O pour la redondance → engorgement |
Proxmox HA | Interprète les délais comme des pannes → tente de redémarrer/migrer |
Timeouts HA | Déclenchent des redémarrages ou des migrations sur des hôtes déjà surchargés |
Watchdog | En cas de blocage, redémarre de force le nœud ou le gèle |
Les plantages sont donc le résultat d’une spirale de saturation I/O, aggravée par une suractivation de la HA sur toutes les VM, dont plusieurs résidaient sur un pool lent.
🛠️ Solutions appliquées
Pour enrayer le problème, j’ai procédé ainsi :
✅ 1. Désactivation de la HA sur les VM du pool HDD
ha-manager remove <vmid>
Les VM non critiques ont été exclues du système HA pour stopper les redémarrages et migrations inutiles.
✅ 2. Restriction de la HA aux VM hébergées sur NVMe
La HA n’est désormais activée que sur les VM hébergées sur des pools rapides, avec des performances I/O adaptées.
✅ 3. Optimisation du pool HDD
-
Compression ZSTD activée sur le pool HDD pour réduire les volumes d’écriture.
-
Planification du redéploiement des OSD HDD avec WAL/DB sur NVMe, pour drastiquement améliorer la latence de Ceph.
📈 Résultat : retour à la stabilité
Depuis ces ajustements :
-
Plus aucun plantage.
-
Les nœuds restent stables.
-
Les températures sont normales.
-
Et surtout : la HA fonctionne à merveille… quand elle est appliquée intelligemment.
🧘♂️ Leçon tirée
La haute disponibilité n’est pas un simple interrupteur à activer.
C’est une promesse forte, qui nécessite une infrastructure prête à la supporter.
⚠️ Activer la HA sur des VM hébergées sur un pool lent sans tuning approprié est une erreur aux conséquences graves.
✅ En résumé
Composant | Recommandation |
---|---|
Ceph avec HDD | Ajouter WAL/DB sur NVMe, activer la compression |
VM critiques | Les placer sur des pools NVMe ou SSD |
Proxmox HA | Limiter aux VM ayant des garanties de performance |
Surveillance | Utiliser rados bench , iostat , ceph -s pour détecter les goulets |
📢 Conclusion
HDD + Ceph + HA, sans optimisation, peut faire tomber vos serveurs les uns après les autres.
Cette expérience m’a permis de revoir mes pratiques et d’optimiser mon infrastructure. Si vous gérez une grappe Proxmox avec Ceph, je vous invite à faire preuve de prudence et à surveiller attentivement vos points de contention.
- Configuration & Maintenance -
Carte-mère : ASUS TUF GAMING X670E-PLUS
CPU(s) : 24 x AMD Ryzen 9 7900X 12-Core Processor (1 Socket)
Mémoire vive (RAM) : 64Gb (2 X Corsair Vengeance 32Gb DDR5 5600)
Espace-disque : 500Gb Western Digital Blue NVMe SN570
2To Western Digital NVMe M.2
10To Western Digital RED Plus
Carte réseau : 4 Ports 2.5G PCIe Binardat RTL8125B
Carte-mère : ASUS TUF GAMING X670E-PLUS
CPU(s) : 24 x AMD Ryzen 9 7900X 12-Core Processor (1 Socket)
Mémoire vive (RAM) : 64Gb (2 X Corsair Vengeance 32Gb DDR5 5600)
Espace-disque : 512Gb Samsung SSD 850 PRO
2To Western Digital NVMe M.2
10To Western Digital RED Plus
Carte réseau : 4 Ports 2.5G PCIe Binardat RTL8125B
Carte-mère : ASUS TUF GAMING X670E-PLUS
CPU(s) : 24 x AMD Ryzen 9 7900X 12-Core Processor (1 Socket)
Mémoire vive (RAM) : 64Gb (2 X Corsair Vengeance 32Gb DDR5 5600)
Espace-disque : 500Gb Samsung SSD 850 EVO
2To Western Digital NVMe M.2
10To Western Digital RED Plus
Carte réseau : 4 Ports 2.5G PCIe Binardat RTL8125B
Version du noyau Linux : Linux 6.2.16-3-pve #1 SMP PREEMPT_DYNAMIC PVE 6.2.16-3
Version PVE Manager : pve-manager/8.0.3
Installé à partir du DVD : Proxmox VE 8.0 ISO Installer
Ce système en tandem permet de maintenir tous les services malgré une panne de serveur.
INTERNE
-
Support : Stockage Raid du serveur Corsair
-
Type de sauvegarde : Complète
-
Fréquence : Quotidienne
-
Conservation : 3 jours, 3 semaines, 3 mois, 1 an
-
Données sauvegardées : VM et conteneurs LXC sélectionnés
EXTERNE
-
Support : Stockage Raid du serveur Big2
-
Type de sauvegarde : Complète
-
Fréquence : Quotidienne
-
Conservation : 3 jours, 3 semaines, 3 mois, 1 an
-
Données sauvegardées : Tous les conteneurs LXC, VM et modèles
1. Retirer un serveur de la grappe
2. Réseau full meshed pour CEPH
3. Déménager les réseaux CEPH sur du 10G
4. Réduire la taille d'un disque virtuel