Retour : VMware ESXi
ESXi range les VM dans des banques de données (datastores). Chaque VM y occupe un dossier qui contient :
| Fichier | Rôle |
|---|---|
VM.vmx |
Configuration de la VM |
VM.vmdk + VM-flat.vmdk |
Disque virtuel (descripteur + données) |
VM.nvram |
BIOS / UEFI de la VM |
VM-*.vswp |
Fichier d'échange de la VM (créé au démarrage) |
VM-00000x.vmdk |
Disques delta des snapshots |
vmware.log |
Journaux de la VM |
Les datastores sont accessibles sur l'hôte dans /vmfs/volumes/<nom>/.
| Type | Support | Partagé entre hôtes | Remarque |
|---|---|---|---|
| VMFS 6 | Disque local, LUN iSCSI / Fibre Channel | Oui (sur LUN partagée) | Système de fichiers en cluster de VMware, récupération d'espace (UNMAP) automatique |
| NFS 3 / 4.1 | NAS | Oui | Simple à mettre en place, l'espace est géré par le NAS |
| vSAN | Disques locaux de plusieurs hôtes | Oui | Stockage distribué, nécessite vCenter et une licence |
datastore2), disque, VMFS 6, utiliser toutes les partitions disponibles.# Disques visibles
esxcli storage core device list | grep -E '^(naa|t10|mpx)|Display Name|Size'
# Datastores existants
esxcli storage filesystem list
La création d'un VMFS en ligne de commande (partedUtil puis vmkfstools -C vmfs6) est réservée aux cas particuliers : préférer l'interface graphique.
⚠️ La création d'un datastore efface le disque sélectionné.
Côté NAS : partage NFS autorisant l'adresse de l'interface VMkernel de l'hôte, avec accès en écriture pour root (Maproot User = root sur TrueNAS).
Stockage → Banques de données → Nouvelle banque de données → Monter une banque de données NFS : nom (nas-nfs), serveur 192.168.4.20, partage /mnt/tank/esxi, version NFS 3 ou 4.1.
# NFS 3
esxcli storage nfs add --host=192.168.4.20 --share=/mnt/tank/esxi --volume-name=nas-nfs
esxcli storage nfs list
# NFS 4.1
esxcli storage nfs41 add --hosts=192.168.4.20 --share=/mnt/tank/esxi --volume-name=nas-nfs41
192.168.4.20, port 3260).esxcli iscsi software set --enabled=true
esxcli iscsi adapter list
esxcli iscsi adapter discovery sendtarget add --adapter=vmhba64 --address=192.168.4.20:3260
esxcli storage core adapter rescan --all
💡 Placer le trafic iSCSI sur une interface VMkernel et un VLAN dédiés (voir Gestion du réseau).
| Mode | Principe | Usage |
|---|---|---|
| Thin (fin) | Espace consommé au fil des écritures | Cas général, économise l'espace |
| Thick lazy zeroed | Espace réservé, mis à zéro à la première écriture | Par défaut sur VMFS |
| Thick eager zeroed | Espace réservé et mis à zéro à la création | VM exigeantes, clusters de basculement Windows |
| Contrôleur | Usage |
|---|---|
| VMware Paravirtual (PVSCSI) | Le plus performant, pilote fourni par les VMware Tools |
| LSI Logic SAS | Compatibilité, pilote inclus dans Windows |
| NVMe | Invités récents, faible latence |
# Créer un disque thin de 40 Go
vmkfstools -c 40G -d thin /vmfs/volumes/datastore1/SRV01/SRV01_1.vmdk
# Agrandir un disque à 80 Go (VM arrêtée ou sans snapshot)
vmkfstools -X 80G /vmfs/volumes/datastore1/SRV01/SRV01.vmdk
# Copier un disque en le convertissant en thin
vmkfstools -i /vmfs/volumes/datastore1/SRV01/SRV01.vmdk \
-d thin /vmfs/volumes/datastore2/SRV01/SRV01.vmdk
⚠️ Un disque ne peut pas être agrandi tant que la VM a des snapshots : les supprimer d'abord.
Un snapshot crée un disque delta dans lequel sont écrites toutes les modifications. Il grossit en continu tant qu'il existe et ralentit la VM.
Stockage → Banques de données : capacité, espace provisionné et espace libre. Avec le provisionnement fin, l'espace provisionné peut dépasser la capacité : c'est l'espace libre réel qui compte.
esxcli storage filesystem list
df -h
⚠️ Un datastore plein suspend les VM qui tentent d'écrire. Garder 20 à 30 % d'espace libre, en tenant compte des snapshots et des fichiers
.vswp.