Mémo des commandes CLI indispensables sous VMware ESX et ESXi

En environnement virtualisé VMware, l’interface graphique vSphere Client ou le vCenter simplifie grandement l’exploitation quotidienne. Toutefois, dès qu’un incident survient, que l’accès Web ne répond plus ou que des scripts d’automatisation sont nécessaires, l’accès au shell (via SSH ou console directe DCUI) s’avère indispensable. Voici un récapitulatif pratique des commandes essentielles pour diagnostiquer le réseau et le stockage sur un hôte VMware.

1. Inventaire et diagnostic des interfaces réseau physiques

Pour connaître l’état des cartes réseau physiques connectées à l’hyperviseur (vmnic), la commande historique esxcfg-nics reste rapide et efficace :

  • esxcfg-nics -l : affiche la liste exhaustive des adaptateurs physiques, leur vitesse négociée, le mode duplex, l’adresse MAC ainsi que le pilote utilisé (tg3, e1000, etc.).

Sur les versions récentes d’ESXi, vous pouvez également employer son équivalent moderne : esxcli network nic list. Cette vérification permet de s’assurer immédiatement qu’une interface n’est pas tombée en état Down ou bridée à 100 Mbps Half-Duplex en raison d’un mauvais câblage ou d’une négociation de port défaillante.

2. Cartographie des commutateurs virtuels (vSwitch)

Comprendre le routage interne des trames entre les machines virtuelles, les interfaces de gestion et les liens montants (uplinks) nécessite d’examiner les commutateurs virtuels :

  • esxcfg-vswitch -l : fournit une arborescence claire des vSwitchs configurés.

Cette sortie détaille le nombre de ports disponibles, la valeur MTU (cruciale si vous activez les Jumbo Frames pour du stockage iSCSI ou NFS) et surtout l’association entre les Port Groups, les VLAN ID (par exemple pour isoler le trafic VMotion ou le réseau de sauvegarde) et les cartes réseau physiques assignées.

3. Exploration de l’espace disque et du stockage local

Pour contrôler l’occupation des partitions système et des volumes montés, la syntaxe UNIX classique fonctionne sur la console de service :

  • df -k ou vdf -h : contrôle la volumétrie des systèmes de fichiers locaux (notamment la partition racine, /boot ou /var/log pour éviter les saturations de journaux).
  • ls -alh /vmfs/devices/disks : répertorie les identifiants bruts des disques visibles (disques locaux mpx ou LUNs SAN identifiées par leur numéro NAA).

4. Multipathing et périphériques SCSI

Lorsqu’un hôte est connecté à une baie Fibre Channel ou iSCSI, la gestion des chemins d’accès (multipath) est déterminante pour la haute disponibilité :

  • esxcfg-mpath -b : présente un résumé synthétique des LUNs détectées, en précisant l’état de chaque chemin (actif ou en attente/standby), les identifiants WWNN/WWPN de la carte HBA et de la cible distante.
  • esxcfg-scsidevs -l : dresse l’inventaire complet de chaque périphérique SCSI avec sa taille, son nom d’affichage, son statut RDM (Raw Device Mapping) et le chemin matériel associé.

À l’image du diagnostic matériel que l’on effectue avec le debug avec dmseg sous Linux, l’examen des logs dans /var/log/vmkernel.log complète idéalement ces commandes en cas de chemins SAN instables. De même, lorsqu’une VM verrouille un fichier VMDK et empêche un redémarrage, observer le comportement de l’hyperviseur rappelle certaines problématiques de gel système comparables au problème de shutdown sous Linux.

Astuce : pour redémarrer rapidement les agents de gestion sans redémarrer le serveur complet, exécutez services.sh restart.