Commandes ESX
| Fiche express | |
|---|---|
| Type | Commandes CLI ESX/ESXi (Service Console + esxcli/vim-cmd) |
| Portée | Système, réseau, stockage, HA/DRS, VM |
| Outils clés | esxcfg-*, vim-cmd, esxcli, Vmkfstools |
| Voir aussi | Stop-VM · Vcenter · Powercli |
Commandes ESX regroupe les commandes CLI VMware permettant de dialoguer directement avec un hôte ESX/ESXi, sans passer par vCenter — utiles en administration bas niveau, en dépannage ou en automatisation (scripts, vCLI/PowerCLI). Sur ESX classic (avec Service Console, abandonné depuis ESXi 5.x), ces commandes s'exécutent en shell local ; sur ESXi (sans Service Console), l'équivalent passe par le shell ESXi (SSH) ou par la vSphere CLI (vCLI) installée sur un poste distant.
Principaux préfixes de binaires : vmware-*, esx*, vmk*, sg_*.
Commandes générales
Emplacement des binaires : /usr/sbin
Build number de l'hôte :
vmware -l
Occupation des partitions :
vdf -h
Paramètres d'authentification :
esxcfg-auth
Drivers chargés au démarrage :
esxcfg-module -l
Description d'un code d'erreur VMkernel :
vmkerrcode <error_code_number>
Lister les VM enregistrées et agir dessus (démarrer, suspendre, état) :
vmware-cmd -l vmware-cmd /vmfs/volumes/datastore1/vm1/vm1.vmx start vmware-cmd /vmfs/volumes/datastore1/vm1/vm1.vmx suspend vmware-cmd /vmfs/volumes/datastore1/vm1/vm1.vmx getstate
Autres outils :
- console-setup — menu de configuration de l'hôte (ESX classic)
- esxtop — supervision temps réel CPU/mémoire/réseau/stockage
- esxupdate — gestion des patchs (ESX classic ; remplacé sur ESXi par esxcli software / Update-manager)
- svmotion — Storage vMotion en ligne de commande
- vm-support — collecte de logs de support VMware
Réseau
Cartes réseau physiques :
esxcfg-nics -l
vSwitchs et Port Groups :
esxcfg-vswitch -l
Interfaces VMkernel (ports) :
esxcfg-vmknic -l
Interfaces Service Console, ESX classic uniquement (ports) :
esxcfg-vswif -l
Passerelle par défaut du VMkernel :
esxcfg-route
Firewall
État du firewall :
esxcfg-firewall -q
Liste des services connus du firewall :
esxcfg-firewall -s
Activer / désactiver un service :
esxcfg-firewall -e <service_name> esxcfg-firewall -d <service_name>
Ouvrir un port spécifique :
esxcfg-firewall -o <port>,<protocol>,<direction>,<name>
Stockage
Manipulation des volumes VMFS et vmdk : voir Vmkfstools (man vmkfstools pour le détail des options).
Périphériques de stockage :
esxcfg-scsidevs -c
LUNs, chemins et multipathing :
esxcfg-mpath -L
Volumes / snapshots VMFS :
esxcfg-volume -l
Tester la connectivité VMkernel (ping via la pile réseau du VMkernel, utile pour diagnostiquer le stockage IP) :
vmkping <ip>
Adaptateur iSCSI matériel (Qlogic) :
esxcfg-hwiscsi -l
iSCSI logiciel :
esxcfg-swiscsi -q
LUN iSCSI :
vmkiscsi-tool -L -l <adapter>
Rescan des LUN iSCSI :
esxcfg-rescan <adapter>
Exports NFS montés par le VMkernel :
esxcfg-nas -l
HA et DRS
Hôtes primaires HA — ESX classic, ancien agent AAM, obsolète depuis vSphere 5 (remplacé par FDM) :
cat /var/log/vmware/aam/aam_confi_util_listnode.log
Pools de ressources :
esxcfg-resgrp -l
Mode promiscuous
Sur ESX classic (module noyau vmklinux), forcer le mode promiscuous d'une vmnic (syntaxe historique, à vérifier selon version) :
echo "PromiscuousAllowed yes" > /proc/vmware/net/vmnicN/config
Commandes d'urgence (vim-cmd)
vim-cmd reste disponible en shell ESXi même quand hostd répond mal ; utile pour dépanner une VM bloquée.
Lister les espaces de commandes disponibles :
vim-cmd vmsvc
Lister les VM avec leur ID :
vim-cmd vmsvc/getallvms
Forcer la mise à niveau de VMware Tools :
vim-cmd vmsvc/tools.upgrade <ID_machine>
État d'alimentation d'une VM :
vim-cmd vmsvc/power.getstate <ID_machine> vim-cmd vmsvc/get.runtime <ID_machine>
Déplacer une VM entre datastores sans licence vCenter (ESXi 5)
Utile quand Storage vMotion n'est pas disponible (édition sans licence vMotion). Principe : lister, dé-enregistrer, déplacer les fichiers, ré-enregistrer.
vim-cmd vmsvc/getallvms vim-cmd vmsvc/unregister <VMID> mv "/vmfs/volumes/<LUN source>/<vmname>" "/vmfs/volumes/<LUN destination>/<vmname>" vim-cmd solo/registervm /vmfs/volumes/<LUN destination>/<vmname>/<vmname>.vmx vim-cmd vmsvc/power.on <VMID>
Correction : la syntaxe d'origine vim-cmd /solo/register comportait un slash de trop devant la commande et un nom de sous-commande erroné — la forme correcte est vim-cmd solo/registervm <chemin.vmx>.
API
L'hôte expose son WSDL vSphere API à une URL du type :
https://<hôte-esxi>/sdk/vimService.wsdl
Voir aussi
- Stop-VM — arrêter une VM bloquée via esxcli
- Vmkfstools — manipulation des volumes VMFS/vmdk
- Vcenter — pendant de ces commandes côté vCenter
- Powercli — automatisation via PowerShell
- Update-manager · Upgrade esx