Dimensionnement
📊 Guide Complet de Dimensionnement Proxmox VE 9.0
Ce guide complet vous accompagne dans le dimensionnement méthodique de votre infrastructure Proxmox VE 9.0, de l'inventaire initial jusqu'à la mise en production, avec formules de calcul, exemples concrets et 5 cas d'usage détaillés.
📝 Par Ayi NEDJIMI
Guide technique exhaustif sur le dimensionnement des infrastructures Proxmox VE 9.0, intégrant les dernières évolutions : snapshots LVM, SDN Fabrics, et règles HA améliorées. Basé sur Debian 13 "Trixie", kernel Linux 6.14.8, QEMU 10.0.2, et Ceph Squid 19.2.3.
1. Introduction à Proxmox VE 9.0
Proxmox Virtual Environment 9.0, sorti en août 2025, est basé sur Debian 13 "Trixie" et apporte des évolutions majeures pour l'infrastructure virtualisée.
| Composant | Version | Évolution Majeure |
|---|---|---|
| Base OS | Debian 13 "Trixie" | Support matériel dernière génération |
| Kernel Linux | 6.14.8 | Performances I/O et architectures hybrides |
| QEMU | 10.0.2 | AVX-512, P-cores/E-cores optimisés |
| LXC | 6.0.4 | cgroupv2 obligatoire |
| ZFS | 2.3.3 | Performances et nouvelles fonctionnalités |
| Ceph | Squid 19.2.3 | Efficacité espace et performances |
Nouveautés Critiques pour le Dimensionnement
🚀 Innovations Proxmox VE 9.0
- Snapshots sur LVM thick-provisioned : Création de snapshots sur volumes LVM partagés (iSCSI, Fibre Channel), impactant le dimensionnement du stockage et les stratégies de backup
- SDN Fabrics : Fabrics pour Software-Defined Networking permettant des architectures réseau complexes type spine-leaf à deux couches
- cgroupv2 obligatoire : Abandon complet de cgroupv1, nécessitant systemd 230+ pour les conteneurs, impact sur le dimensionnement des workloads legacy
2. Principes Fondamentaux du Dimensionnement
Méthodologie de Dimensionnement en 4 Phases
Le dimensionnement d'une infrastructure Proxmox VE 9.0 doit suivre une approche méthodique structurée :
Phase 1 : Inventaire des Workloads
- Identifier tous les services et applications à virtualiser
- Catégoriser par criticité (Tier 1, 2, 3)
- Évaluer les besoins de performance (IOPS, latence, bande passante)
- Déterminer les exigences de disponibilité (SLA)
Phase 2 : Calcul des Ressources Brutes
- Additionner les besoins individuels par workload
- Appliquer les facteurs de surallocation (overcommit ratios)
- Prévoir la croissance sur 3-5 ans
- Ajouter les marges de sécurité (overhead)
Phase 3 : Optimisation et Consolidation
- Regrouper les workloads par affinité
- Équilibrer les ressources entre nœuds
- Identifier les opportunités de mutualisation
- Optimiser les coûts vs performances
Phase 4 : Validation et Ajustement
- Effectuer des tests de charge
- Valider les scénarios de failover
- Ajuster selon les résultats observés
- Documenter les hypothèses et décisions
Facteurs de Surallocation Recommandés
| Ressource | Conservative | Équilibré | Agressif | Contexte |
|---|---|---|---|---|
| CPU (vCPU/pCore) | 1:1 | 2:1 | 4:1 | Workloads mixtes |
| RAM | 0% overcommit | 10-20% | 30-50% | Avec ballooning actif |
| Stockage (thin) | +40% overhead | +30% | +25% | Snapshots inclus |
3. Dimensionnement CPU
Architecture CPU et Considérations
Proxmox VE 9.0 avec QEMU 10.0.2 supporte les dernières fonctionnalités CPU, incluant les instructions AVX-512, les extensions de virtualisation améliorées et l'optimisation pour architectures hybrides (P-cores/E-cores).
Calcul du Nombre de Cœurs
📐 Formule de Base
Cœurs physiques requis = (Σ vCPU des VMs × facteur utilisation) / ratio overcommit + cœurs système
Détails des composants :
- Cœurs système : Réserver 2-4 cœurs pour Proxmox VE lui-même
- Facteur utilisation : Pourcentage moyen d'utilisation CPU attendu (30-60% typique)
- Ratio overcommit : Dépend du type de workload (voir tableau ci-dessus)
Types de Processeurs Recommandés
Pour Clusters Petits à Moyens (≤8 nœuds)
- AMD EPYC 4004/8004 Series : Excellent rapport performance/prix
- Intel Xeon E-2400 : Alternative équilibrée
- Minimum : 8 cœurs / 16 threads par socket
Pour Clusters Moyens à Grands (8-32 nœuds)
- AMD EPYC 9004 Series (Genoa/Bergamo) : Jusqu'à 96/128 cœurs
- Intel Xeon Scalable 4th/5th Gen : Performances élevées
- Recommandé : 16-32 cœurs / 32-64 threads par socket
Pour Environnements HPC/Haute Densité
- AMD EPYC Bergamo 9754 (128 cœurs) : Densité maximale
- Intel Xeon Max Series : Performances extrêmes
- Configuration bi-socket pour évolutivité
CPU Pinning et NUMA
Avec Proxmox VE 9.0, le CPU pinning est crucial pour les VMs exigeantes :
# Configuration NUMA-aware pour VM haute performance
numa: 1
cores: 8
sockets: 1
cpu: host
# Épingler les vCPUs sur des pCores spécifiques
hostpci0: 0000:00:1f.0,pcie=1
⚙️ Best Practices CPU Pinning
- Épingler les VMs critiques sur des cœurs physiques dédiés
- Respecter les frontières NUMA pour minimiser la latence
- Laisser 10-15% de cœurs libres pour l'ordonnanceur
- Utiliser
lstopopour visualiser la topologie NUMA
Dimensionnement par Type de Workload
| Type de Workload | Ratio Overcommit | Caractéristiques | Exemple |
|---|---|---|---|
| Compute-Intensive | 1:1 à 1.5:1 | Cœurs haute fréquence (≥3.0 GHz), CPU pinning obligatoire | 2× EPYC 9654 (96c) → 192 vCPUs max |
| Équilibrés | 2:1 à 3:1 | Cœurs multiples fréquences moyennes, CPU type "host" | 2× EPYC 9454P (48c) → 192-288 vCPUs |
| Légers | 4:1 à 6:1 | Densité maximale, CPU type "kvm64" acceptable | EPYC 9754 (128c) → 512-768 vCPUs |
4. Dimensionnement Mémoire (RAM)
Calcul de la Mémoire Totale
La mémoire est souvent la ressource la plus critique dans un environnement virtualisé. Proxmox VE 9.0 améliore le suivi de l'utilisation mémoire avec une meilleure visibilité sur l'overhead.
📐 Formule Globale
RAM totale = RAM VMs + RAM conteneurs + RAM système + RAM overhead + Marge sécurité
Décomposition Détaillée
RAM Système (Proxmox VE)
- Base minimale : 4 GB
- Par TB de stockage ZFS : +1 GB (pour ARC)
- Par 10 VMs gérées : +512 MB
- Ceph OSD : +2-4 GB par OSD
- Exemple : Serveur avec 20 VMs, 10 TB ZFS, 4 OSDs = 4 + 10 + 1 + 12 = 27 GB
RAM VMs et Conteneurs
- Additionner les allocations de chaque VM/CT
- Ne PAS compter sur l'overcommit pour les environnements critiques
- Utiliser le ballooning uniquement comme optimisation secondaire
Overhead Mémoire Proxmox VE 9.0
Avec la version 9.0, Proxmox comptabilise mieux l'overhead mémoire :
- Overhead QEMU par VM : ~150-300 MB (dépend de la config)
- Tables de pages étendues : ~0.5-2% de la RAM VM
- Buffers réseau virtio : ~50-100 MB par VM
- Total typique : 3-5% de la RAM totale allouée
Configuration Mémoire Optimale
| Taille Cluster | RAM Minimum | RAM Recommandée | RAM Idéale |
|---|---|---|---|
| Petit (2-4 nœuds) | 64 GB | 128 GB | 256 GB |
| Moyen (5-8 nœuds) | 128 GB | 256 GB | 512 GB |
| Grand (>8 nœuds) | 256 GB | 512 GB | 1+ TB |
⚙️ Configuration DIMM Recommandée
- Privilégier 8 canaux mémoire remplis pour performance maximale
- Utiliser des barrettes identiques (capacité, vitesse, fabricant)
- DDR5 avec ECC obligatoire pour production
- Vitesse recommandée : DDR5-4800 minimum, DDR5-5600+ optimal
Ballooning et KSM
Ballooning Device (recommandé activé)
balloon: 2048 # Minimum garanti
- Permet à Proxmox de récupérer la RAM inutilisée
- Nécessite les pilotes virtio installés dans le guest
- Réduction typique : 10-30% de RAM totale
Kernel Samepage Merging (KSM)
# Activer KSM globalement
echo 1 > /sys/kernel/mm/ksm/run
- Fusionne les pages mémoire identiques
- Efficace avec VMs similaires (VDI, clusters identiques)
- Gains typiques : 15-40% avec VMs Windows identiques
Dimensionnement par Use Case
Environnement VDI (50-100 postes virtuels)
- 50 VMs × 4 GB RAM = 200 GB
- Overhead QEMU (5%) = 10 GB
- Système + ZFS = 15 GB
- KSM gain (-30%) = -60 GB
- TOTAL : 165 GB → Serveur 256 GB recommandé
Cluster Bases de Données (PostgreSQL/MySQL)
- 3 VMs DB × 64 GB = 192 GB
- Overhead = 10 GB
- Système = 8 GB
- Marge 20% = 42 GB
- TOTAL : 252 GB → Serveur 384-512 GB recommandé
Infrastructure Kubernetes (worker nodes)
- 10 VMs × 32 GB = 320 GB
- Overhead = 16 GB
- Système = 10 GB
- Marge 15% = 52 GB
- TOTAL : 398 GB → Serveur 512 GB recommandé
5. Dimensionnement Stockage
Nouvelles Capacités Proxmox VE 9.0
🔥 Snapshots sur LVM Thick-Provisioned
Cette fonctionnalité révolutionnaire permet maintenant :
- Snapshots sur volumes LVM partagés (iSCSI/FC SAN)
- Chaînes de snapshots avec gestion automatique
- Support des LUNs de stockage externe
Impact sur le dimensionnement
Espace requis = Données + (Snapshots × Taux de modification × Durée rétention)
Exemple SAN iSCSI :
- Volume VM : 500 GB
- Taux modification : 10% par jour
- Rétention : 7 snapshots
- Espace requis : 500 + (500 × 0.10 × 7) = 850 GB
- Avec marge 20% : 1020 GB par VM
Choix de la Technologie de Stockage
Stockage Local : ZFS (Recommandé par défaut)
Avec ZFS 2.3.3 dans Proxmox VE 9.0, configuration optimale :
# Pool RAIDZ2 pour équilibre performance/protection
zpool create -o ashift=12 vmpool raidz2 sda sdb sdc sdd sde sdf
# Paramètres recommandés
zfs set compression=lz4 vmpool
zfs set atime=off vmpool
zfs set recordsize=64K vmpool # Pour VMs
zfs set recordsize=1M vmpool/backups # Pour backups
Dimensionnement ZFS
- ARC : 1 GB par TB de stockage (max 50% RAM système)
- L2ARC (optionnel) : SSD 10-20% de la capacité HDD
- SLOG (recommandé) : 2× SSD NVMe 32-64 GB en miroir
- Overhead : Compter 25-30% d'espace pour métadonnées, copies, snapshots
💡 Exemple Configuration ZFS
Serveur avec 12× 4TB HDD, 256 GB RAM :
- Configuration : RAIDZ2 (10 data + 2 parity)
- Capacité brute : 48 TB
- Capacité utilisable : ~32 TB (after RAIDZ2)
- ARC requis : 32 GB RAM
- SLOG : 2× 64 GB NVMe en miroir
- Snapshots overhead : 20%
- Capacité réelle pour VMs : ~25 TB
Stockage Local : LVM
Avec le support des snapshots en chaîne dans Proxmox VE 9.0 :
# Création volume group optimisé
vgcreate vg_vms /dev/sdb /dev/sdc
lvcreate -L 500G -n vm-100-disk-0 vg_vms
# Activer snapshots en chaîne (nouveau PVE 9.0)
pvesm set storage-name --content images,rootdir --snapshot-mode chain
- Overhead snapshots : 15-25% du volume
- Pas d'overhead métadonnées significatif
- Performance excellente (surtout avec thin-provisioning)
Stockage Partagé : Ceph
Ceph Squid 19.2.3 dans Proxmox VE 9.0 apporte des améliorations significatives.
📐 Dimensionnement Ceph Cluster
OSDs requis = (Capacité totale × Facteur réplication) / Capacité par OSD / Taux remplissage
Exemple :
- Besoin : 50 TB utilisables
- Réplication : 3× (size=3, min_size=2)
- Capacité OSD : 8 TB
- Taux remplissage max : 75%
- OSDs requis : (50 × 3) / 8 / 0.75 = 25 OSDs
- Nœuds (3+ recommandé) : 9 nœuds × 3 OSDs = 27 OSDs
Configuration Ceph pour Proxmox VE 9.0
[global]
osd pool default size = 3
osd pool default min size = 2
osd pool default pg num = 128
osd pool default pgp num = 128
# Performance optimizations
osd op threads = 8
osd disk threads = 4
osd recovery max active = 3
Dimensionnement RAM pour Ceph
- OSD HDD : 4 GB RAM par OSD minimum
- OSD SSD : 5 GB RAM par OSD recommandé
- OSD NVMe : 6-8 GB RAM par OSD pour performance maximale
- Monitors : 2 GB RAM par MON
- Managers : 2 GB RAM par MGR
Tiering Stockage et Performances
| Tier | Technologie | IOPS | Latence | Use Case |
|---|---|---|---|---|
| Tier 0 | NVMe local (RAID1/10) | 100,000+ IOPS | <100 µs | BD critiques, VDI, latence-sensitive |
| Tier 1 | SSD SATA/SAS ou Ceph NVMe | 10,000-50,000 IOPS | <1 ms | VMs production, conteneurs |
| Tier 2 | HDD SATA/SAS ou Ceph HDD | 500-2,000 IOPS | 5-15 ms | Archivage, backups, données froides |
Calcul IOPS et Throughput
📐 Formule IOPS Totales
IOPS utilisables = (IOPS par disque × Nombre disques) / Pénalité RAID / Facteur write
Exemple RAID10 :
- 4× SSD à 50,000 IOPS chacun
- RAID10 (2 miroirs stripés)
- Write penalty : 2 (RAID1)
- Mix lecture/écriture : 70/30
- IOPS lecture : (50,000 × 4) / 1 × 0.7 = 140,000
- IOPS écriture : (50,000 × 4) / 2 × 0.3 = 30,000
- TOTAL utilisable : ~170,000 IOPS
6. Dimensionnement Réseau
Nouveautés SDN Fabrics dans Proxmox VE 9.0
L'introduction des SDN Fabrics révolutionne l'architecture réseau en permettant des topologies complexes routed avec haute disponibilité.
Architecture Réseau Recommandée
Séparation des Réseaux (minimum 3 VLANs distincts)
| Réseau | Vitesse | Redondance | Usage |
|---|---|---|---|
| Management | 1-10 GbE | LACP ou active-backup | Accès Web UI, SSH, API |
| VM/CT | 10-25 GbE minimum | LACP obligatoire | Trafic des machines virtuelles |
| Stockage | 25-100 GbE recommandé | Multiple paths | Ceph, iSCSI, NFS (MTU 9000) |
| Corosync | 10 GbE minimum | Lien dédié | Communication cluster (<2ms) |
Configuration Réseau Type
Nœud Proxmox VE standard :
├── 2× 10GbE (LACP) → Management + Corosync + Migration
├── 2× 25GbE (LACP) → VMs/CTs (trunked VLANs)
└── 2× 25/100GbE → Stockage Ceph (avec jumbo frames)
Configuration /etc/network/interfaces
auto bond0
iface bond0 inet manual
bond-slaves eno1 eno2
bond-mode 802.3ad
bond-miimon 100
bond-xmit-hash-policy layer3+4
auto vmbr0
iface vmbr0 inet static
address 10.0.0.10/24
gateway 10.0.0.1
bridge-ports bond0
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
SDN Fabrics : Configuration Spine-Leaf
Proxmox VE 9.0 permet de configurer des fabrics OpenFabric ou OSPF pour une architecture spine-leaf :
Spine Layer (2-4 switches) :
├── 2× 100GbE vers chaque Leaf
└── Routing OSPF/BGP
Leaf Layer (par rack/pod) :
├── Connexion aux Spines
└── Connexion aux nœuds Proxmox
Configuration SDN Fabric :
datacenter → SDN → Zones → Add → Fabric
- Type : OpenFabric
- Nodes : node1,node2,node3,node4
- Peers : auto-discover
- MTU : 9000
✅ Bénéfices des Fabrics
- Failover automatique multi-path
- Load balancing ECMP
- Scalabilité horizontale
- Résistance aux pannes de liens
Dimensionnement Bande Passante
📐 Formule Bande Passante Réseau
BP requise = (Trafic VMs + Trafic stockage + Trafic migration + Overhead) × Facteur pic
Exemple cluster 8 nœuds :
- 200 VMs × 100 Mbps moyen = 20 Gbps
- Stockage Ceph : 15 Gbps
- Migrations simultanées (2×) : 10 Gbps
- Overhead (20%) : 9 Gbps
- TOTAL : 54 Gbps
- Avec pics (×1.5) : 81 Gbps
→ Recommandation : 2× 100 GbE par nœud minimum
Configuration OVS vs Linux Bridge
| Solution | Avantages | Use Case |
|---|---|---|
| Linux Bridge | Performance excellente, configuration simple, support VLAN natif | PME/Standard |
| Open vSwitch | Support SDN Fabrics complet, QoS avancé, tunneling VXLAN/GRE | Datacenter/Cloud |
7. Architecture Cluster et Haute Disponibilité
Taille Optimale du Cluster
| Taille | Nœuds | Caractéristiques | Use Case |
|---|---|---|---|
| Petit | 2-4 nœuds | Quorum 3 nœuds minimum, QDevice si 2 nœuds, Storage local ou petit Ceph | PME, lab, succursale |
| Moyen | 5-16 nœuds | Configuration optimale, Ceph performant 5+ nœuds, bonne résilience | Entreprise standard, hébergeur |
| Grand | 17-32 nœuds | Gestion complexe, segmentation en pods, Ceph haute performance | Cloud provider, grande entreprise |
⚠️ Limite Maximale
32 nœuds par cluster dans Proxmox VE 9.0
Configuration Haute Disponibilité
HA Rules (nouveau dans PVE 9.0)
Les nouvelles règles d'affinité permettent un contrôle précis :
# Règle d'affinité nœud (garder VM sur nœuds spécifiques)
pvesh create /cluster/ha/groups --group db-group --nodes node1,node2,node3 --comment "DB dedicated nodes"
# Règle d'anti-affinité (séparer VMs critiques)
pvesh create /cluster/ha/resources --sid vm:100 --group db-group --max_relocate 1
# Affinité resource-to-resource (VMs ensemble)
pvesh create /cluster/ha/resources --sid vm:101 --group db-group --depends vm:100
Use Cases HA Rules
- Licensing : Contraindre VMs sur nœuds licensés
- Hardware : VMs GPU sur nœuds avec GPU
- Anti-affinité : Séparer les réplicas applicatifs
- Affinité : Garder ensemble app + DB pour latence
Dimensionnement pour HA
Formule N+1 (minimum recommandé)
Capacité cluster = Capacité utile × (N / (N-1))
Exemple 4 nœuds :
- Chaque nœud : 64 vCPU, 256 GB RAM
- Capacité totale : 256 vCPU, 1024 GB RAM
- Avec N+1 : 192 vCPU, 768 GB RAM utilisables
- Perte 1 nœud : Reste 75% capacité
Formule N+2 (haute résilience)
Capacité utile = Capacité totale × ((N-2)/N)
Exemple 6 nœuds :
- Capacité utile : 67% (4/6)
- Survit à 2 pannes simultanées
Dimensionnement Corosync
Le réseau Corosync est critique dans Proxmox VE 9.0 :
⚙️ Requirements Corosync
- Latence max : 2 ms (intra-DC), 10 ms (metro-cluster)
- Bande passante : 10 Mbps minimum par nœud
- MTU : 1500 (standard) ou 9000 (avec jumbo frames)
- Lien dédié recommandé (pas de partage avec storage/VMs)
Configuration Redondante
# /etc/corosync/corosync.conf
totem {
version: 2
cluster_name: pve-cluster
transport: knet
crypto_cipher: aes256
crypto_hash: sha256
interface {
linknumber: 0
knet_link_priority: 20
}
interface {
linknumber: 1
knet_link_priority: 10
}
}
8. Best Practices Avancées
Optimisations Performance
VirtIO et Drivers - Configuration Optimale VM
# Pour performance maximale
cpu: host
balloon: 2048
scsihw: virtio-scsi-pci
net0: virtio,bridge=vmbr0,firewall=0
scsi0: local-lvm:vm-100-disk-0,cache=writeback,discard=on,iothread=1
# Options avancées
args: -cpu host,+pdpe1gb
numa: 1
Tuning Disque
- iothread : Activer pour I/O intensives
- cache=writeback : Meilleure performance (avec UPS)
- discard=on : Support TRIM/UNMAP
- aio=native : I/O asynchrones
Tuning ZFS
# ARC optimisations
echo "$((32 * 1024 * 1024 * 1024))" > /sys/module/zfs/parameters/zfs_arc_max
# Tuning async write
zfs set sync=disabled vmpool # ATTENTION : Risque perte données
zfs set logbias=throughput vmpool
zfs set primarycache=metadata vmpool
# Compression
zfs set compression=lz4 vmpool # Meilleur ratio perf/gain
# ou
zfs set compression=zstd vmpool # Meilleure compression
Tuning Ceph
# Client optimizations
rbd cache = true
rbd cache size = 268435456 # 256 MB
rbd cache max dirty = 201326592 # 192 MB
# Network tuning
ms_async_op_threads = 5
ms_async_max_op_threads = 10
# OSD optimizations
osd_max_backfills = 1
osd_recovery_max_active = 3
Sécurité et Isolation
Isolation Réseau
# Configurer firewall Proxmox
pveum role modify PVEAuditor -privs VM.Audit
# Créer Security Groups
pvesh create /cluster/firewall/groups --group web-servers
pvesh set /cluster/firewall/groups/web-servers --rule "IN ACCEPT -p tcp -dport 80"
pvesh set /cluster/firewall/groups/web-servers --rule "IN ACCEPT -p tcp -dport 443"
Backup et Disaster Recovery
Stratégie de Backup 3-2-1
- 3 copies des données
- 2 supports différents
- 1 copie off-site
Configuration Backup Proxmox
# Backup complet quotidien
vzdump --mode snapshot --compress zstd --storage backup-store --all 1
# Backup incrémental (avec PBS)
proxmox-backup-client backup vm/100 --repository user@pbs:backup-datastore
Dimensionnement Backup Storage
Capacité backup = (Taille VMs × Nombre rétention × Taux changement) / Ratio compression
Exemple :
- 50 VMs × 100 GB moyen = 5 TB
- Rétention : 30 jours × daily = 30 backups
- Taux changement : 10% par jour
- Compression zstd : 2:1
- Capacité : (5 × 30 × 0.10) / 2 = 7.5 TB par backup set
- Avec 2 sets (production + off-site) : 15 TB
Monitoring et Capacité
Métriques Critiques
| Niveau | Métrique | Seuil Recommandé |
|---|---|---|
| Nœud Proxmox | CPU usage | < 80% en moyenne |
| RAM usage | < 85% (laisser pour ARC/cache) | |
| IOPS disk | < 70% capacité maximum | |
| Network bandwidth | < 60% capacité | |
| VMs/Conteneurs | CPU ready time | < 5% |
| RAM ballooned | < 20% | |
| Disk latency | < 20 ms | |
| Network drop packets | < 0.1% | |
| Cluster | Corosync latency | < 2 ms |
| Ceph health | HEALTH_OK | |
| HA relocate time | < 2 minutes | |
| Backup success rate | > 98% |
Outils de Monitoring
# Installer exporters
apt install prometheus-pve-exporter
# Configuration datasource
curl -X POST http://grafana:3000/api/datasources \\
-H "Content-Type: application/json" \\
-d '{"name":"Proxmox","type":"prometheus","url":"http://localhost:9090"}'
📊 Dashboards Recommandés
- PVE Cluster Overview
- Node Resource Utilization
- VM/CT Performance Details
- Ceph Cluster Health
- Network Traffic Analysis
9. Use Cases Détaillés
Use Case 1 : PME (50-100 Employés)
Besoins
- 30 VMs (serveurs métiers)
- 20 postes VDI
- 10 conteneurs (dev/test)
- Disponibilité 99.5% (43h downtime/an)
Architecture : Cluster 3 nœuds
Nœud Standard ×3 :
├── CPU : 2× AMD EPYC 4124P (4c/8t) = 8c/16t par nœud
├── RAM : 128 GB DDR5 ECC
├── Stockage OS : 2× 500GB NVMe (ZFS mirror)
├── Stockage VMs : 6× 2TB SSD SATA (RAIDZ1)
├── Réseau : 2× 10GbE (LACP management+VMs)
│ 2× 10GbE (Ceph + Corosync)
└── Coût : ~8,000€ par nœud
Stockage Partagé Ceph :
├── 3 nœuds × 3 OSDs (2TB SSD) = 9 OSDs
├── Réplication : 3× (size=3, min_size=2)
├── Capacité utilisable : ~4 TB
└── Performance : ~30,000 IOPS, 3 GB/s
Coût Total : ~30,000€ (hardware seulement)
Dimensionnement Détaillé
vCPUs totaux : 3 nœuds × 16 threads = 48 threads
Avec N+1 : 32 vCPUs utilisables
Overcommit 2:1 : 64 vCPUs disponibles
Allocation : 30 VMs (2 vCPU) + 20 VDI (2 vCPU) + 10 CT (0.5 vCPU) = 65 vCPU ✓
RAM totale : 3 × 128 GB = 384 GB
Avec N+1 : 256 GB utilisables
Allocation : 30 VMs (4 GB) + 20 VDI (4 GB) + 10 CT (2 GB) = 220 GB ✓
Use Case 2 : Hébergeur Web (500+ Sites)
Besoins
- 200 VMs clients (mutualisé)
- 50 VMs dédiées (haute performance)
- Disponibilité 99.95% (4.4h downtime/an)
- Isolation stricte entre clients
Architecture : Cluster 8 nœuds (2 pods de 4)
Nœud Performance ×4 (pod 1 - VMs dédiées) :
├── CPU : 2× AMD EPYC 9354 (32c/64t) = 64c/128t
├── RAM : 512 GB DDR5
├── OS : 2× 1TB NVMe (RAID1)
├── VM Tier0 : 4× 4TB NVMe (RAID10)
├── VM Tier1 : 8× 4TB SSD (RAIDZ2)
├── Réseau : 2× 25GbE management
│ 2× 100GbE VMs/Ceph
└── Coût : ~25,000€ par nœud
Nœud Capacité ×4 (pod 2 - VMs mutualisées) :
├── CPU : 2× AMD EPYC 9254 (24c/48t) = 48c/96t
├── RAM : 256 GB DDR5
├── Stockage VM : Ceph pool partagé
├── Réseau : 2× 25GbE
└── Coût : ~15,000€ par nœud
Ceph Cluster :
├── 8 nœuds × 4 OSDs (4TB NVMe) = 32 OSDs
├── Réplication 3× : ~40 TB utilisables
├── Pool SSD haute perf : 16 OSDs (20 TB)
├── Pool capacité : 16 OSDs (20 TB)
└── Performance : ~500,000 IOPS
Coût Total : ~160,000€
Dimensionnement
Pod 1 (Performance) : 256 threads → 50 VMs × 4-8 vCPU
Pod 2 (Capacité) : 192 threads × 4:1 = 768 vCPU → 200 VMs × 2-4 vCPU
Use Case 3 : Infrastructure Kubernetes
Besoins
- 30 worker nodes K8s (VMs)
- 3 control plane (HA)
- 200+ pods par worker
- Autoscaling horizontal
Architecture : Cluster 6 nœuds
Nœud Standard ×6 :
├── CPU : 2× AMD EPYC 9454P (48c/96t) = 96c/192t
├── RAM : 512 GB DDR5
├── OS : 2× 1TB NVMe
├── Ceph OSDs : 3× 4TB NVMe par nœud
├── Réseau : 2× 25GbE management
│ 2× 100GbE Ceph/Storage network
└── Coût : ~30,000€ par nœud
Configuration K8s :
├── 3 VMs Control Plane : 8 vCPU, 16 GB RAM
├── 30 VMs Workers : 16 vCPU, 64 GB RAM
└── Stockage : Ceph RBD avec CSI driver
Ceph Cluster :
├── 18 OSDs NVMe (6 nœuds × 3)
├── Pool replica 3 : ~24 TB utilisables
├── PVCs dynamiques pour pods
└── Performance : 800,000+ IOPS
Coût Total : ~180,000€
Dimensionnement
vCPUs : 6 × 192 = 1152 threads total
K8s allocation : (3×8) + (30×16) = 504 vCPU
Ratio : 1:2.3 (conservateur pour K8s)
Marge scaling : 50% restant pour autoscaling
Use Case 4 : VDI Entreprise (500 Postes)
Besoins
- 500 postes virtuels Windows 10/11
- Sessions simultanées : 80% (400 postes)
- Profil utilisateur : Office + Web
- Expérience utilisateur fluide
Architecture : Cluster 12 nœuds VDI optimisé
Nœud VDI ×12 :
├── CPU : 2× AMD EPYC 9354P (32c/64t) = 64c/128t
├── RAM : 768 GB DDR5 (avec KSM actif)
├── OS : 2× 1TB NVMe
├── Stockage VDI : Ceph pool SSD dédié
├── Réseau : 2× 25GbE management
│ 2× 50GbE VDI network (low latency)
│ 2× 100GbE Ceph backend
├── GPU : NVIDIA A16 (4 GPUs) pour vGPU optionnel
└── Coût : ~35,000€ par nœud
Ceph VDI Pool :
├── 24 OSDs SSD (12 nœuds × 2 OSDs 4TB)
├── Replica 3 : ~32 TB utilisables
├── Pool dédié VDI (persistent desktops)
└── Non-persistent : Linked clones sur local NVMe
Template VDI :
├── Windows 10 LTSC : 80 GB
├── Avec VirtIO drivers et QEMU guest agent
├── KSM-friendly (pages mémoire optimisées)
└── 500 linked clones : ~200 GB storage overhead
Configuration VM VDI :
├── vCPU : 2-4 cores (selon profil utilisateur)
├── RAM : 4-8 GB (avec ballooning)
├── Disk : 80 GB (thin-provisioned)
├── vGPU : 1/4 GPU (pour CAO/graphisme)
└── Network : VirtIO avec multiqueue
Coût Total : ~450,000€
Dimensionnement
- 400 sessions simultanées × 4 vCPU = 1600 vCPU
- 12 nœuds × 128 threads = 1536 threads
- Overcommit 2:1 = 3072 vCPU disponibles ✓
- RAM : 400 × 6 GB moyenne = 2400 GB
- Avec KSM (-30%) : 1680 GB requis
- 12 × 768 GB = 9216 GB total
- Avec N+1 : 8448 GB utilisables ✓
Use Case 5 : Cloud Gaming Platform
Besoins
- 100 instances gaming simultanées
- GPU dédiée par instance
- Latence <20ms (streaming)
- 4K 60fps support
Architecture : Cluster 10 nœuds Gaming
Nœud Gaming ×10 :
├── CPU : AMD EPYC 9654 (96c/192t)
├── RAM : 1.5 TB DDR5
├── OS : 2× 2TB NVMe RAID1
├── VM Storage : 8× 8TB NVMe (RAID10) local
├── GPU : 4× NVIDIA L40S (48GB chacun)
├── Réseau : 2× 100GbE ultra-low latency
└── Coût : ~80,000€ par nœud
Configuration Gaming VM :
├── vCPU : 8-16 cores (pinned)
├── RAM : 32-64 GB (non-swappable)
├── GPU : 1 GPU passthrough complet
├── Disk : 500 GB NVMe local
├── Network : SR-IOV pour latence minimale
└── vBIOS : GPU mode optimal gaming
Optimisations :
├── Huge pages : 1 GB pages pour RAM
├── CPU pinning : Cores physiques dédiés
├── NUMA pinning : Local memory access
├── Kernel tuning : Realtime scheduler
└── Network : Bypass stack avec DPDK
Stockage Games :
├── NFS ultra-rapide pour bibliothèque games
├── 200 TB capacité (50+ games AAA)
├── 4× 100GbE aggregated vers storage array
└── Lecture seule, monté sur tous les nœuds
Coût Total : ~850,000€ (sans games storage)
Dimensionnement
- 10 instances × 10 nœuds = 100 concurrentes max
- vCPU : 100 × 12 moyen = 1200 vCPU
- Ratio : 1:1.6 (proche bare-metal)
- GPU : 40 GPUs total = 100 instances (répartition)
10. Checklist de Dimensionnement
Phase Préparatoire
Collecte d'Information
- ☐ Inventaire complet des workloads existants
- ☐ Analyse des pics d'utilisation (CPU, RAM, IO)
- ☐ Identification des dépendances applicatives
- ☐ Évaluation des besoins de disponibilité (SLA)
- ☐ Budget disponible et contraintes temporelles
- ☐ Compétences équipe technique
Exigences Fonctionnelles
- ☐ Nombre de VMs/conteneurs prévu
- ☐ Types de workloads (DB, Web, VDI, etc.)
- ☐ Besoins de stockage (capacité, IOPS, latence)
- ☐ Exigences réseau (bande passante, segmentation)
- ☐ Stratégie backup et rétention
- ☐ Plans de croissance 3-5 ans
Dimensionnement Technique
Calcul CPU
- ☐ Nombre de vCPUs total requis calculé
- ☐ Ratio overcommit déterminé (1:1 à 4:1)
- ☐ Type de processeur sélectionné (AMD/Intel)
- ☐ Configuration socket déterminée (single/dual)
- ☐ CPU pinning planifié pour VMs critiques
- ☐ Overhead système pris en compte (2-4 cores)
Calcul RAM
- ☐ Mémoire totale VMs/CTs additionnée
- ☐ Overhead QEMU calculé (~5%)
- ☐ RAM système Proxmox prévue (selon stockage)
- ☐ Ballooning configuré
- ☐ KSM évalué (si VMs similaires)
- ☐ Marge sécurité 15-20% ajoutée
Calcul Stockage
- ☐ Capacité brute requise calculée
- ☐ Technologie choisie (ZFS/LVM/Ceph)
- ☐ RAID/réplication niveau défini
- ☐ IOPS requis évalués
- ☐ Tiering défini (NVMe/SSD/HDD)
- ☐ Overhead snapshots/métadonnées compté
- ☐ Stratégie backup dimensionnée
Réseau
- ☐ Bande passante totale calculée
- ☐ Séparation VLANs planifiée (min 3)
- ☐ Redondance configurée (LACP/active-backup)
- ☐ SDN Fabrics évalué (si >8 nœuds)
- ☐ Jumbo frames pour stockage (MTU 9000)
- ☐ Firewall et sécurité planifiés
Cluster et HA
- ☐ Nombre de nœuds déterminé (3-32)
- ☐ Stratégie HA définie (N+1, N+2)
- ☐ HA rules configurées (affinité/anti-affinité)
- ☐ Corosync network planifié (latence <2ms)
- ☐ QDevice si cluster 2 nœuds
- ☐ Procédures failover documentées
Validation et Tests
Tests Pre-Production
- ☐ Environnement test créé (identique ou réduit)
- ☐ Migration de VMs pilotes effectuée
- ☐ Tests de charge réalisés
- ☐ Scénarios de panne testés (nœud, réseau, storage)
- ☐ Performances mesurées vs attendues
- ☐ Procédures rollback validées
Performance Benchmarking
- ☐ CPU : stress-ng, sysbench
- ☐ RAM : stream, membench
- ☐ Stockage : fio (IOPS, latency, throughput)
- ☐ Réseau : iperf3, netperf
- ☐ E2E : application-specific benchmarks
- ☐ Résultats documentés et analysés
Sécurité et Conformité
- ☐ Firewall Proxmox configuré
- ☐ Backup testés et vérifiés
- ☐ Disaster Recovery planifié
- ☐ Accès et audit configurés
- ☐ Chiffrement évalué (si requis)
- ☐ Conformité réglementaire vérifiée
Production et Monitoring
Mise en Production
- ☐ Migration planifiée par phases
- ☐ Fenêtres de maintenance communiquées
- ☐ Checkpoints et points de retour définis
- ☐ Équipe support disponible
- ☐ Monitoring actif pendant migration
- ☐ Documentation à jour
Monitoring Continu
- ☐ Prometheus/Grafana déployé
- ☐ Alerting configuré (CPU, RAM, disk, network)
- ☐ Dashboards créés
- ☐ Seuils d'alerte définis
- ☐ Escalation procedures documentées
- ☐ Revues capacité mensuelles planifiées
Maintenance
- ☐ Calendrier de mises à jour établi
- ☐ Procédures backup automatisées
- ☐ Tests de restauration planifiés (mensuel)
- ☐ Revue logs et incidents (hebdomadaire)
- ☐ Optimisations continues identifiées
- ☐ Documentation maintenue
Conclusion
Le dimensionnement d'une infrastructure Proxmox VE 9.0 est un exercice complexe qui nécessite une approche méthodique et une compréhension approfondie des workloads, des nouvelles fonctionnalités (snapshots LVM, SDN Fabrics, HA rules améliorées) et des best practices.
🎯 Points Clés à Retenir
- Approche progressive : Commencer conservateur, monitorer, optimiser
- Marges de sécurité : Toujours prévoir 15-25% de capacité supplémentaire
- Haute disponibilité : N+1 minimum, N+2 pour criticité haute
- Stockage diversifié : Tiering NVMe/SSD/HDD selon workloads
- Réseau robuste : Séparation VLANs, redondance, bande passante suffisante
- Tests essentiels : Valider en pre-production avant la migration
- Monitoring actif : Anticiper les problèmes de capacité
- Documentation : Maintenir à jour les configurations et procédures
🚀 Évolutions Futures
Proxmox VE 9.0 pose les bases pour :
- Support amélioré des architectures hétérogènes (ARM64)
- Intégration IA/ML pour optimisation automatique
- SDN encore plus avancé (multi-datacenter)
- GPU virtualization généralisée
L'investissement dans une infrastructure bien dimensionnée dès le départ se traduit par des économies substantielles en maintenance, performances supérieures et évolutivité facilitée sur le long terme.
📚 Ressources Officielles
- Documentation : https://pve.proxmox.com/wiki/
- Forum : https://forum.proxmox.com/
- Roadmap : https://pve.proxmox.com/wiki/Roadmap
- Support : https://www.proxmox.com/en/proxmox-virtual-environment/support
🚀 Besoin d'accompagnement pour dimensionner votre infrastructure Proxmox VE 9 ?
Notre équipe d'experts vous accompagne dans l'analyse, le dimensionnement et l'optimisation de votre infrastructure de virtualisation.
Articles connexes
Optimisation Proxmox
optimisation Proxmox VE 9.0 : CPU, mémoire, stockage ZFS/Ceph, réseau, cluster HA. Commandes, recettes par workload et checklist complète.
Évolutions Proxmox
Découvrez les évolutions majeures de Proxmox VE de la version 7 à la version 9 : nouvelles fonctionnalités, améliorations de performance et innovations...
Calculateur Sizing
Ayi NEDJIMI Expert Cybersécurité & IA ...