Chapitre 1213 minIntermédiaire
Dimensionner et superviser un hôte de virtualisation
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- expliquer la surallocation de chaque ressource ;
- dimensionner la mémoire d'un cluster avec la règle N+1 ;
- calculer un ratio de consolidation et une capacité de stockage ;
- choisir les indicateurs et les alertes à superviser sur un hôte.
5 exercices corrigés
Dimensionner un hôte de virtualisation, c'est calculer le processeur, la mémoire, le stockage et le réseau dont il a besoin pour porter ses machines virtuelles, y compris quand un autre hôte du cluster est en panne ; le superviser, c'est mesurer en continu ces mêmes ressources pour être alerté avant qu'elles ne manquent. Ce chapitre donne une méthode de dimensionnement chiffrée, l'applique au cluster de Sorbier, explique la surallocation de chaque ressource, puis montre ce qu'il faut surveiller sur un hôte Proxmox VE et avec quels outils.
La surallocation, ressource par ressource
La virtualisation permet de promettre aux VM plus de ressources que l'hôte n'en a : c'est la surallocation (overcommit). Elle n'a pas le même effet sur chaque ressource.
| Ressource | Surallocation possible ? | Ce qui se passe quand on exagère |
|---|---|---|
| Processeur | Oui, couramment : les VM n'utilisent pas toutes leurs vCPU en même temps | Les VM attendent leur tour pour accéder aux cœurs : tout ralentit, mais rien ne casse |
| Mémoire | À éviter : le ballooning et KSM amortissent un pic, pas une insuffisance durable | L'hôte utilise son swap, devient très lent, puis le noyau tue des VM (OOM killer) |
| Stockage (capacité) | Oui, avec l'allocation dynamique, sous surveillance | Le stockage se remplit, les VM se figent ou corrompent leurs données (chapitre 4) |
| Stockage (performances) | Ressource partagée | Les entrées-sorties s'allongent pour toutes les VM : c'est l'IO delay |
| Réseau | Ressource partagée | Les liens saturent aux heures de sauvegarde ou de migration |
Le ratio de consolidation du processeur, le nombre de vCPU attribués par cœur physique, mesure la surallocation. Pour des serveurs de PME peu chargés, un ratio de 2 à 4 vCPU par cœur physique est courant ; pour des VM très chargées en calcul (base de données importante, compilation), on reste près de 1. Les cœurs logiques de l'hyperthreading aident un peu, mais ne valent pas des cœurs physiques : compte les cœurs physiques pour rester prudent.
Une méthode de dimensionnement
- Faire l'inventaire des VM à héberger : système, vCPU, mémoire, disques, et surtout la charge mesurée sur les serveurs actuels (moyenne et pointe, sur au moins un mois), plutôt que des estimations.
- Additionner la mémoire des VM, et y ajouter la mémoire de l'hôte lui-même : environ 2 Gio pour Proxmox VE, plus le cache ZFS si l'hôte utilise ZFS (10 % de sa mémoire par défaut, au plus 16 Gio), plus Ceph le cas échéant.
- Appliquer la règle N+1 : dans un cluster de n nœuds, n − 1 nœuds doivent pouvoir porter toutes les VM qui doivent continuer de tourner (au moins les ressources HA) quand l'un tombe.
- Garder une marge : 20 % au-dessus du besoin calculé, pour les pointes et l'imprévu.
- Dimensionner le stockage en capacité (disques, snapshots, croissance sur la durée de vie du matériel, sans dépasser 80 % de remplissage) et en performances (des SSD pour les disques des VM).
- Dimensionner le réseau : 10 Gbit/s pour le stockage et les migrations, des liens agrégés pour le trafic des VM.
- Prévoir la croissance sur la durée de vie du matériel, souvent cinq ans.
Le dimensionnement du cluster de Sorbier
L'inventaire des invités prévus :
| VMID | Invité | Système | vCPU | Mémoire (Gio) | Disques (Go) | HA |
|---|---|---|---|---|---|---|
| 177 | srv-ad | Windows Server 2025 | 2 | 4 | 80 | Oui |
| 181 | srv-ad2 | Windows Server 2025 | 2 | 4 | 80 | Oui |
| 178 | srv-fichiers | Windows Server 2025 | 4 | 8 | 120 + 1 000 de données | Oui |
| 179 | srv-gestion | Debian 13 | 4 | 8 | 100 | Oui |
| 180 | srv-journaux | Debian 13 | 4 | 16 | 300 | Oui |
| 225 | srv-web | Debian 13 | 2 | 4 | 40 | Oui |
| 182 | ct-horaires | Conteneur Debian 13 | 1 | 0,5 | 8 | Non |
| 186 | srv-recette | Debian 13 | 4 | 8 | 40 | Non |
| Total | 23 | 52,5 | 1 768 |
La mémoire. Chaque hôte a 128 Gio ; avec le système en ZFS, son cache est limité à 12,8 Gio (10 % de 128), plus environ 2 Gio pour Proxmox : il reste 128 − 14,8 = 113,2 Gio par hôte pour les VM. Si un nœud tombe, les deux restants offrent 2 × 113,2 = 226,4 Gio, pour 52,5 Gio de besoin (63 Gio avec la marge de 20 %) : les invités occupent 23 % de la mémoire disponible en mode dégradé. Le cluster a de la place pour grandir, ce que Sorbier a voulu, pour accueillir plus tard les serveurs de l'agence ou des postes virtualisés.
Le processeur. En mode dégradé, 23 vCPU sur 2 × 16 = 32 cœurs physiques : un ratio de 0,72 vCPU par cœur, très confortable. En temps normal, sur 48 cœurs, il tombe à 0,48.
Le stockage. Les disques prévus totalisent 1 768 Go. Avec 30 % de croissance sur la durée de vie du NAS, 20 % de place pour les snapshots et un remplissage limité à 80 %, il faut 1 768 × 1,3 × 1,2 / 0,8 ≈ 3 450 Go utiles sur TrueNAS. Un pool de six disques de 2 To en RAIDZ-2 en offre environ 8 To avant les métadonnées de ZFS : la marge est large.
Ce qu'il faut surveiller
| Indicateur | Où le lire dans Proxmox VE | Seuil d'alerte indicatif | Ce qu'il révèle |
|---|---|---|---|
| Utilisation du processeur de l'hôte | Node > Summary | Plus de 85 % pendant 15 minutes | Un hôte trop chargé, une VM qui s'emballe |
| IO delay | Node > Summary | Plus de quelques pour cent en continu | Le stockage ne suit pas : les processeurs attendent les disques |
| Mémoire et swap de l'hôte | Node > Summary | Plus de 90 % de mémoire, ou un swap qui augmente | La mémoire manque : risque d'arrêt brutal de VM |
| Remplissage des stockages | Datacenter > Summary, chaque stockage | Plus de 80 % | Un stockage plein fige les VM |
| État des pools ZFS et des disques | Node > Disks (S.M.A.R.T.), Disks > ZFS | Pool DEGRADED, disque en erreur S.M.A.R.T. | Un disque à remplacer avant le suivant |
| Quorum et état HA | Datacenter > Summary, Datacenter > HA | Quorum perdu, ressource en erreur | Un nœud ou un lien du cluster en panne |
| Résultat des sauvegardes | Datacenter > Backup, notifications | Tout échec | Une VM non protégée |
| Mises à jour disponibles | Node > Updates | Mise à jour de sécurité en attente | Une faille connue non corrigée |
| Expiration des certificats | Node > System > Certificates | Moins de 30 jours | Une interface inaccessible ou des avertissements |
Les graphiques de l'onglet Summary (processeur, charge, mémoire, réseau, IO delay) se consultent sur une heure, un jour, une semaine, un mois ou un an. En ligne de commande, les vérifications rapides :
pvesh get /nodes/pve1/status # processeur, mémoire, charge, version du noyau
pvesh get /cluster/resources --type vm # tous les invités du cluster, leur nœud, leur consommation
pvesm status # remplissage des stockages
zpool status -x # « all pools are healthy », ou le pool en défaut
smartctl -H /dev/sda # état S.M.A.R.T. d'un disque
pvecm status # quorum
ha-manager status # ressources HA
pveperf # mesure rapide du processeur et des écritures synchrones (fsyncs/s)
Être alerté
Les notifications intégrées. Datacenter > Notifications envoie les événements de Proxmox VE (échec de sauvegarde, auto-isolation d'un nœud, échec de réplication, mises à jour disponibles) vers des cibles (targets) : messagerie par sendmail ou par un serveur SMTP, Gotify, webhook. Des règles (matchers) choisissent quels événements, de quelle gravité, vont vers quelle cible. Chez Sorbier, les erreurs partent vers l'adresse de l'équipe et vers le webhook de son outil de messagerie.
La supervision centrale. Pour suivre les tendances, corréler les hôtes avec le reste de l'infrastructure et déclencher des alertes sur des seuils, on raccorde Proxmox VE à l'outil de supervision de l'entreprise :
- Zabbix interroge l'API de Proxmox avec le modèle Proxmox VE by HTTP et un jeton en lecture seule (
PVEAuditor, chapitre 11) : état des nœuds, des VM, des stockages, du cluster. L'agent Zabbix installé sur chaque hôte ajoute les mesures du système (disques, services) ; - Grafana affiche des tableaux de bord à partir de Zabbix, ou des mesures que Proxmox exporte lui-même : Datacenter > Metric Server envoie en continu les statistiques des nœuds et des invités vers une base InfluxDB, un serveur Graphite ou, sur les versions récentes, un collecteur OpenTelemetry.
La mise en place de Zabbix, des modèles, des déclencheurs et des tableaux de bord Grafana est l'objet du cours Supervision, qui supervise justement Proxmox VE et TrueNAS et relie Grafana à Zabbix.
Exercices
Exercice 1 sur 5 La règle N+1 Réussi À revoir
Reprends l'inventaire de Sorbier (52,5 Gio de mémoire pour les invités) et suppose que la direction propose d'acheter des hôtes de 64 Gio au lieu de 128 Gio, avec le système en ZFS.
- Calcule la mémoire disponible pour les VM sur un hôte, puis sur deux hôtes.
- Le cluster respecte-t-il la règle N+1 avec la marge de 20 % ? Quel pourcentage de la mémoire disponible les invités occupent-ils en mode dégradé ?
- Et avec des hôtes de 32 Gio ?
Voir la réponseMasquer la réponse de l'exercice 1
- Cache ZFS : 10 % de 64 = 6,4 Gio, plus 2 Gio pour Proxmox : 8,4 Gio pour l'hôte. Il reste 64 − 8,4 = 55,6 Gio par hôte, 111,2 Gio sur deux hôtes.
- Besoin avec la marge : 52,5 × 1,2 = 63 Gio, inférieur à 111,2 Gio : oui, la règle N+1 est respectée. En mode dégradé, les invités occupent 52,5 / 111,2 ≈ 47 % de la mémoire disponible.
- Avec 32 Gio : 3,2 + 2 = 5,2 Gio pour l'hôte, 26,8 Gio par hôte, 53,6 Gio sur deux. Le besoin brut (52,5) passe tout juste (98 %), mais pas avec la marge (63 Gio) : non. À la moindre croissance, des VM ne pourraient pas redémarrer après une panne.
Tu avais trouvé ?
Exercice 2 sur 5 L'agence de Marseille Réussi À revoir
L'agence prévoit deux hôtes de 32 Gio chacun, avec le système en ZFS, et quatre VM de 4, 4, 8 et 16 Gio, toutes en haute disponibilité. Un seul hôte peut-il porter toutes les VM si l'autre tombe ? Que proposes-tu ?
Voir la réponseMasquer la réponse de l'exercice 2
Besoin : 4 + 4 + 8 + 16 = 32 Gio (38,4 Gio avec la marge). Un hôte offre 32 − (3,2 + 2) = 26,8 Gio : il ne peut pas porter toutes les VM. Solutions : des hôtes de 64 Gio (55,6 Gio disponibles chacun, de quoi tout porter avec la marge), ou réduire la mémoire attribuée après avoir mesuré la consommation réelle, ou ne déclarer en haute disponibilité que les VM vraiment critiques et accepter que les autres restent arrêtées pendant la panne.
Tu avais trouvé ?
Exercice 3 sur 5 Le ratio de consolidation Réussi À revoir
Un hôte a 12 cœurs physiques (24 cœurs logiques avec l'hyperthreading) et porte des VM qui totalisent 40 vCPU. Calcule le ratio de consolidation en cœurs physiques. Est-ce raisonnable pour des serveurs de PME peu chargés ? Pour un serveur de base de données qui calcule en permanence ?
Voir la réponseMasquer la réponse de l'exercice 3
40 / 12 ≈ 3,3 vCPU par cœur physique. Pour des serveurs de PME peu chargés, c'est dans la fourchette courante (2 à 4) : acceptable, à condition de surveiller le processeur et le temps d'attente des VM. Pour un serveur de base de données très chargé, non : il faut lui réserver des cœurs (ratio proche de 1), sinon il ralentit dès que les autres VM travaillent.
Tu avais trouvé ?
Exercice 4 sur 5 Lire les graphiques Réussi À revoir
Tous les soirs vers 21 h 10, les utilisateurs de l'application de gestion se plaignent de lenteurs. Sur pve2, l'onglet Summary montre à ce moment : processeur à 25 %, mémoire à 60 %, IO delay à 35 %, et un fort débit réseau sur eno3. Quelle est la cause probable, et que proposes-tu ?
Voir la réponseMasquer la réponse de l'exercice 4
Le processeur et la mémoire ne sont pas en cause. L'IO delay très élevé montre que les processeurs attendent le stockage, et le débit sur eno3 (le réseau de stockage) au même moment pointe vers la sauvegarde planifiée à 21 h, qui lit tous les disques des VM sur le NAS. Solutions : décaler la sauvegarde après la fin de l'activité (par exemple 23 h), limiter son débit (option de limite de bande passante de la tâche de sauvegarde), et vérifier que les sauvegardes sont bien incrémentales (Proxmox Backup Server ne lit que les blocs modifiés). Si le problème persiste, le stockage ou le réseau de stockage est sous-dimensionné.
Tu avais trouvé ?
Exercice 5 sur 5 Les alertes indispensables Réussi À revoir
Liste cinq événements sur lesquels l'équipe de Sorbier doit être alertée immédiatement, avec l'outil qui les détecte.
Voir la réponseMasquer la réponse de l'exercice 5
Réponses possibles : la perte du quorum ou d'un nœud (notifications de Proxmox, Zabbix) ; l'auto-isolation d'un nœud et le redémarrage HA de ses VM (notifications de Proxmox) ; un pool ZFS ou un pool du NAS dégradé, ou un disque en erreur S.M.A.R.T. (notifications de Proxmox et de TrueNAS, Zabbix) ; un stockage rempli à plus de 80 % (Zabbix) ; l'échec d'une sauvegarde ou d'une vérification de sauvegarde (notifications de Proxmox et de Proxmox Backup Server) ; une mémoire d'hôte au-delà de 90 % ou un IO delay élevé et durable (Zabbix, Grafana).
Tu avais trouvé ?