🖥️ Storage Systems — Chapitre 15 : Stockage pour hyperviseurs
Le stockage est le socle réel de la virtualisation : datastores VMware, CSV Hyper-V, ZFS/Ceph Proxmox, qcow2/raw/RBD KVM, SR Xen/XCP-ng. Cette page densifie les choix techniques, critères de performance, snapshots, backup integration, HA, live migration, réseau stockage, sécurité et runbooks incidents pour concevoir une plateforme hyperviseur robuste.
VMware vSphere
Datastores VMFS, NFS, vSAN, VVOLs : architecture, policies, multipathing, snapshots, HA/DRS et backup integration.
VMFSNFSvSANHyper-V
CSV, SMB3, Storage Spaces Direct, ReFS, VHDX, checkpoints, Failover Cluster, MPIO et backup VSS.
CSVSMB3S2DProxmox
ZFS, Ceph, LVM-thin, NFS, iSCSI : choix de stockage, HA, snapshots, backups PBS et clusters.
ZFSCephLVM-thinKVM / libvirt
qcow2, raw, LVM, Ceph RBD, virtio-scsi, discard, cache modes, snapshots, live migration et storage pools.
qcow2rawRBDXen / XCP-ng
SR, NFS, iSCSI, local storage, VDI/VHD, multipath, snapshots, XOA backup et pools Xen.
SRNFSiSCSICritères importants
IOPS, latency, queue depth, snapshot consistency, backup integration, HA, migration, datastore locking et RPO/RTO.
IOPSLatencyBackupTypes de datastores
Local, shared, distributed, object-backed, block-backed, file-backed : avantages, limites et cas d’usage.
LocalSharedDistributedFormats disques VM
VMDK, VHDX, qcow2, raw, VDI : thin/thick, sparse, snapshots chains, fragmentation et conversion.
VMDKVHDXqcow2Snapshots & cohérence
Snapshots hyperviseur, storage snapshots, application-consistent, crash-consistent, quiescing, VSS et guest agents.
SnapshotsVSSQuiesceBackup hyperviseurs
Veeam, Proxmox Backup Server, XOA, agentless backup, CBT, Changed Block Tracking, immutable repositories.
VeeamPBSCBTHA & migrations
Live migration, vMotion, Storage vMotion, Hyper-V Live Migration, Proxmox migration, shared-nothing et constraints.
vMotionLive MigrationHAPerformance storage VM
Datastore latency, guest latency, cache, write amplification, sync writes, queue depth, multipath et noisy neighbor.
p99Queue depthCacheRéseau stockage
NFS/iSCSI/SMB3/vSAN/Ceph networks, VLAN, MTU, RDMA, multipath, isolation et monitoring réseau.
iSCSINFSRDMASécurité stockage VM
Encryption at rest, VM encryption, datastore ACL, RBAC, secrets, ransomware protection, secure delete et isolation tenants.
EncryptionRBACRansomwareVirtualisation & Kubernetes
VMs et pods : CSI, Tanzu, OpenShift Virtualization, KubeVirt, Portworx, Longhorn, RBD/CephFS et migration hybride.
CSIKubeVirtTanzuMatrice de décision
Choisir stockage pour hyperviseur selon taille, budget, HA, performance, backup, compétences et stratégie VMware/proxmox/cloud.
DecisionTCOHARunbooks incidents
Datastore full, snapshot bloqué, VM stun, latency spike, path down, backup failed, corruption chain, restore urgent.
IncidentRestoreLatencyChecklist production
Préprod hyperviseur : datastore design, HA, backup restore, snapshots, monitoring, network, multipath, capacity et documentation.
Prod-readyAuditChecklistStockage vSphere
vSphere peut consommer du stockage local, SAN bloc, NFS, vSAN ou VVOLs. Le choix impacte directement HA, vMotion, snapshots, backup, performance, coût et complexité. Le stockage est au cœur de la disponibilité des VMs.
Vue logique
| Type | Nature | Forces | Points d’attention |
|---|---|---|---|
| VMFS | Filesystem cluster sur LUN bloc. | Classique SAN, robuste, multi-host. | Multipath, LUN sizing, queue depth. |
| NFS | Datastore fichier réseau. | Simple, flexible, NAS. | Réseau, locking, latence. |
| vSAN | Stockage distribué HCI. | Policies par VM, intégré vSphere. | Réseau et licences. |
| VVOLs | Volumes par VM exposés par baie. | Granularité VM côté baie. | Support VASA/provider. |
Sur SAN bloc, ESXi utilise des chemins multiples vers les LUN. Les policies comme Round Robin, Fixed ou Most Recently Used dépendent du type de baie et des recommandations constructeur.
- Vérifier tous les chemins actifs/standby.
- Valider ALUA et preferred paths.
- Surveiller datastore latency et path failover.
- Aligner firmware HBA/driver/array.
- VADP/CBT pour backup agentless.
- Snapshots VMware courts, jamais rétention longue.
- Application-aware backup pour DB/AD.
- Immutable repository externe.
- Test restore VM complet et fichiers.
# ESXi shell examples esxcli storage filesystem list esxcli storage core path list esxcli storage nmp device list esxtop # storage views : d/u/v vmkfstools -P /vmfs/volumes/datastore1
Hyper-V peut utiliser stockage local, volumes CSV dans un cluster, SMB3, SAN iSCSI/FC, ou Storage Spaces Direct pour HCI. Le format disque principal est VHDX, généralement sur NTFS/ReFS.
| Concept | Rôle |
|---|---|
| Cluster Shared Volumes | Volumes partagés par les nœuds Hyper-V. |
| Coordinator node | Nœud propriétaire logique du CSV. |
| Redirected I/O | Chemin alternatif si accès direct indisponible. |
| ReFS | Clones rapides, intégration Hyper-V. |
Hyper-V supporte les VMs stockées sur partages SMB3 si la plateforme fournit continuous availability, SMB Multichannel, permissions correctes et réseau adapté.
- SMB Multichannel pour débit/résilience.
- SMB Direct/RDMA si disponible.
- Kerberos et permissions constrained delegation si nécessaire.
- Monitoring latency côté host et file server.
Storage Spaces Direct agrège des disques locaux entre nœuds Windows Server/Azure Local. Il fournit une architecture HCI Microsoft avec resiliency, tiers, cache et volumes partagés.
Get-ClusterSharedVolume Get-VMHardDiskDrive -VMName VM01 Get-VHD -Path "C:\ClusterStorage\Volume1\VM01\disk.vhdx" Get-StoragePool Get-PhysicalDisk Get-ClusterNode
Proxmox VE supporte de nombreux backends : local directory, LVM, LVM-thin, ZFS, NFS, iSCSI, Ceph RBD, CephFS. Ce choix définit snapshot, HA, migration, backup et performance.
| Backend | Snapshots | Shared | Usage |
|---|---|---|---|
| ZFS local | Oui | Non natif | Standalone, réplication ZFS. |
| Ceph RBD | Oui | Oui | Cluster HA, live migration. |
| LVM-thin | Oui | Non | Local performant. |
| NFS | Dépend backend | Oui | ISO, backups, VM selon perf. |
| iSCSI | Selon couche dessus | Oui | SAN bloc. |
- Checksums, snapshots, compression.
- Très bon pour serveur standalone ou petits clusters avec réplication.
- Exige RAM, disques fiables, scrub.
- Attention sync writes et SLOG pour certains workloads.
zpool status zfs list pvesm status qm config 100
Ceph intégré à Proxmox permet un stockage distribué partagé. Il facilite HA et migration, mais demande réseau, monitoring, capacity headroom et compétences Ceph.
ceph -s ceph osd tree pveceph status rbd ls -p vm-pool
Proxmox Backup Server fournit sauvegarde dédupliquée, incrémentale, vérification, chiffrement et restauration fine. C'est presque indispensable pour une production Proxmox sérieuse.
KVM/libvirt consomme du stockage via storage pools : directory, filesystem, LVM, iSCSI, NFS, Ceph RBD, GlusterFS selon stack. Les formats courants sont raw et qcow2.
| Format | Forces | Limites |
|---|---|---|
| raw | Simple, performant, prévisible. | Pas de snapshots internes riches. |
| qcow2 | Snapshots, thin, compression optionnelle. | Overhead possible, chains à surveiller. |
| RBD | Distribué Ceph, snapshots, clones. | Complexité Ceph. |
| LVM | Bloc local robuste. | Moins flexible sans couche cluster. |
- cache=none : souvent recommandé pour éviter double cache.
- cache=writeback : performant mais risques si mal protégé.
- io=native ou io_uring selon versions.
- discard/unmap pour thin provisioning.
virsh pool-list --all virsh vol-list default virsh domblklist vm01 qemu-img info disk.qcow2 qemu-img convert -O raw disk.qcow2 disk.raw virtio-scsi + discard/unmap for thin reclaim
La migration live est simple avec stockage partagé ; en shared-nothing, il faut copier le disque pendant la migration, ce qui augmente durée, réseau et risque de rollback.
Xen/XCP-ng organise le stockage autour des Storage Repositories, ou SR. Un SR peut être local, NFS, iSCSI, Fibre Channel, LVM, EXT, ZFS selon intégrations. Les disques VM sont des VDI.
| SR | Usage | Attention |
|---|---|---|
| Local | Standalone, lab, edge. | HA/migration limitées. |
| NFS | Partage simple. | Latence réseau/NAS. |
| iSCSI/FC | SAN bloc partagé. | Multipath, LUN masking. |
| SMB | Selon version/support. | Compatibilité. |
Xen Orchestra/XOA fournit backup, delta backup, continuous replication selon édition/configuration, orchestration et visibilité des pools. Les tests de restauration restent essentiels.
xe sr-list xe vdi-list sr-uuid=xe pbd-list xe vm-disk-list vm= xe sr-scan uuid=
Charge par VM et datastore.
Ressenti VM.
Host/HBA/backend.
RPO/RTO réels.
| Critère | Question de design |
|---|---|
| HA | Les VMs doivent-elles redémarrer ailleurs automatiquement ? |
| Migration | Live migration sans downtime ou migration à froid ? |
| Snapshots | Crash-consistent ou application-consistent ? |
| Backup | Agentless, guest-aware, immutable repository ? |
| Performance | DB, VDI, file server, generic VM ? |
| Capacity | Thin provisioning, snapshots, croissance 24 mois ? |
- Ne jamais juger un stockage VM uniquement au débit séquentiel.
- La latence p95/p99 est plus révélatrice que la moyenne.
- Snapshots longs dégradent performance et augmentent risque.
- Un datastore full est un incident critique.
- Tester restore avant de valider le design.
| Type | Avantage | Limite | Usage |
|---|---|---|---|
| Local | Simple, rapide, économique. | HA/migration limitées. | Standalone, edge, lab. |
| Shared block | HA et migration. | SAN/multipath. | Clusters enterprise. |
| Shared file | Simple à partager. | Latence réseau/locking. | NFS/SMB datastores. |
| Distributed | Scale-out, HCI. | Réseau critique. | vSAN, Ceph, S2D. |
| Object-backed | Archive/backup/images. | Pas disque VM direct classique. | Backup, templates, cloud images. |
- Local si la simplicité et la latence locale priment.
- Shared si HA/live migration indispensable.
- Distributed si scale-out/HCI souhaité.
- Object pour backups, archives, images, pas datastores transactionnels.
| Format | Plateforme | Forces | Risques |
|---|---|---|---|
| VMDK | VMware | Écosystème vSphere. | Snapshot chains à surveiller. |
| VHDX | Hyper-V | Robuste, ReFS, grandes tailles. | Checkpoints longs. |
| qcow2 | KVM/Proxmox | Thin, snapshots, clones. | Overhead/chains. |
| raw | KVM/Proxmox | Simple, performant. | Moins de fonctions intégrées. |
| VDI | Xen/XCP-ng | Intégré SR. | Dépend tooling. |
- Thin économise capacité au départ mais risque datastore full.
- Thick est plus prévisible mais consomme immédiatement.
- Lazy/eager zeroing impacte préparation/performance selon plateforme.
- Surveiller provisioned vs used.
# KVM examples qemu-img info disk.qcow2 qemu-img convert -p -O raw disk.qcow2 disk.raw qemu-img convert -p -O qcow2 disk.raw disk.qcow2 # Toujours valider boot, drivers, UUID, fstab, bootloader après migration
| Type | Description | Usage |
|---|---|---|
| Crash-consistent | État comme coupure courant. | VM stateless ou systèmes robustes. |
| Application-consistent | Guest quiesced, VSS/fsfreeze. | DB, AD, applications critiques. |
| Storage snapshot | Snapshot côté backend. | Rapide, intégré baie/SDS. |
| Hypervisor snapshot | Delta chain côté hyperviseur. | Maintenance courte, backup temporaire. |
- Durée courte.
- Nommer avec raison et date.
- Surveiller consolidation.
- Vérifier espace datastore.
- Ne pas snapshoter une DB critique sans cohérence applicative.
Pour obtenir une cohérence applicative, l'hyperviseur ou l'outil backup demande au guest de flusher filesystem et applications. Sous Windows, VSS coordonne writers ; sous Linux, on utilise agents, scripts ou fsfreeze selon cas.
| Approche | Avantage | Limite |
|---|---|---|
| Agentless hypervisor | Simple, VM-level. | Guest app consistency à configurer. |
| Agent in guest | Très applicatif. | Gestion agents. |
| Storage snapshot integrated | Rapide, faible impact. | Dépend backend. |
| Replication | RTO réduit. | Pas remplacement backup. |
- Veeam : très présent sur VMware/Hyper-V/Nutanix/Proxmox selon versions.
- Proxmox Backup Server : déduplication, incrémental, vérification.
- Xen Orchestra/XOA : backups XCP-ng/Xen.
- Restic/Borg agents : complément fichiers/applications.
- Tester restore VM complète.
- Tester restore fichier.
- Tester restore applicatif DB/AD.
- Mesurer RTO/RPO réel.
- Documenter procédure et écarts.
| Fonction | Besoin stockage |
|---|---|
| HA restart | VM accessible depuis autre hôte ou restaurable vite. |
| Live migration compute | Stockage partagé ou disque non déplacé. |
| Storage migration | Copie disque entre datastores. |
| Shared-nothing migration | Copie mémoire + disque, plus longue. |
- vMotion nécessite réseau rapide et compatibilité CPU.
- Storage vMotion déplace VMDK entre datastores.
- HA nécessite datastores accessibles ou vSAN conforme.
- Hyper-V Live Migration avec CSV/SMB/S2D ou shared-nothing.
- Proxmox migration live plus simple avec stockage partagé/Ceph.
- Local storage demande réplication ou déplacement disque.
Vu dans la VM.
Backend hyperviseur.
Host/HBA/virtual disk.
Impact delta files.
| Noisy neighbor | Une VM consomme trop d'I/O. |
| Snapshots longs | Chaines delta et consolidation. |
| Datastore full | Thin provisioning dangereux. |
| Path down | Multipath réduit. |
| Network storage saturated | NFS/iSCSI/SMB/Ceph/vSAN impactés. |
# Dans une VM de test uniquement fio --name=vm-randrw --filename=/data/testfile --size=20G --rw=randrw --rwmixread=70 --bs=4k --iodepth=32 --numjobs=4 --direct=1 --time_based --runtime=120 --group_reporting # Corréler guest latency + hypervisor latency + backend metrics
| Protocole | Ports/flux | Point critique |
|---|---|---|
| NFS | Client vers NAS | Latence, locking, throughput. |
| iSCSI | TCP block | MPIO, VLAN, jumbo cohérent. |
| SMB3 | File server | Multichannel/RDMA, auth. |
| vSAN/Ceph | East-west | Réseau cluster critique. |
- Réseau stockage séparé ou QoS stricte.
- Redondance switches/uplinks.
- MTU cohérent bout-en-bout.
- Surveiller drops, retransmits, latency.
- Ne pas mélanger backup massif et storage critique sans contrôle.
iperf3 -c storage01 ping -s 8972 -M do storage01 ethtool -S eth0 ss -ti mtr storage01
- RBAC hyperviseur strict.
- Chiffrement VM/datastore si données sensibles.
- Isolation tenants et datastores.
- Accès backup séparés.
- Logs admin vers SIEM.
- Secure delete lors de sortie VM si nécessaire.
Les clés de chiffrement, credentials backup, access keys S3 et comptes hyperviseurs doivent être gérés comme secrets critiques, pas stockés dans scripts en clair.
Les architectures modernes mélangent VMs et containers. Le stockage doit servir à la fois VMDK/VHDX/qcow2 et volumes CSI pour pods. Les migrations se font workload par workload.
| Tanzu | Kubernetes intégré écosystème VMware. |
| OpenShift Virtualization | VMs via KubeVirt dans OpenShift. |
| KubeVirt | VMs dans Kubernetes. |
| Portworx/Longhorn/Ceph CSI | Stockage persistant pods. |
- Garder VM pour legacy stable.
- Moderniser apps candidates containers.
- Séparer storage VM et storage pods si SLO différents.
- Tester backup/restore des deux mondes.
| Besoin | Option pertinente | Attention |
|---|---|---|
| Petit standalone | ZFS/local SSD/NVMe | Backup externe obligatoire. |
| Cluster VMware | VMFS SAN, NFS, vSAN | Coût/licences/compatibilité. |
| Cluster Proxmox HA | Ceph RBD | Réseau/ops Ceph. |
| Hyper-V enterprise | CSV/S2D/SMB3 | Design Windows cluster. |
| XCP-ng | NFS/iSCSI + XOA | SR et backup à valider. |
- Combien d'hôtes ?
- Live migration obligatoire ?
- Quel outil backup ?
- Quelle latence p99 acceptable ?
- Quel budget 3-5 ans ?
- Quelle compétence interne ?
- Stopper snapshots/backups non critiques.
- Identifier VMs/snapshots gros consommateurs.
- Libérer capacité validée ou étendre datastore.
- Consolider snapshots prudemment.
- Vérifier logs et état VMs.
- Identifier VM et chaîne snapshot.
- Vérifier espace datastore.
- Éviter reboot sauvage.
- Lancer consolidation selon plateforme.
- Valider backup récent avant action risquée.
- Comparer plusieurs VMs/datastores.
- Vérifier path down ou réseau storage.
- Vérifier backup/rebuild/resync en cours.
- Identifier noisy neighbor.
- Corréler backend metrics.
- Définir point de restauration.
- Restaurer isolé si possible.
- Valider boot et application.
- Basculer réseau/DNS.
- Documenter RTO/RPO.
| Contrôle | OK ? | Note |
|---|---|---|
| Backend adapté au SLA | ☐ | Local/shared/distributed. |
| HA/live migration testés | ☐ | Pas seulement configurés. |
| Capacité avec headroom | ☐ | Snapshots + croissance. |
| Multipath/réseau redondant | ☐ | SAN/NFS/iSCSI/Ceph/vSAN. |
| Monitoring latency | ☐ | Guest + datastore + backend. |
- Backup externe immuable.
- Test restore VM complet.
- Application-aware pour DB/AD.
- RPO/RTO mesurés.
- Repository isolé des admins hyperviseur si possible.
- Runbook datastore full.
- Runbook snapshot bloqué.
- Runbook path down.
- Procédure upgrade hyperviseur/storage.
- Inventaire VMs/datastores/backends.
