Toutes les commandes esxcli pour VMware vSphere / ESXi
L’administration et la maintenance d’un environnement de virtualisation VMware se fait principalement par interface graphique. Avec un navigateur web sur les versions récentes (5.5, 6.0, 6.5, 7.0) ou via un client lourd (vSphere Client) sur les versions plus anciennes, la quasi totalité des fonctions se gèrent à distance depuis un poste client ou une simple VM hébergée. Mais lorsque l’hôte ne fonctionne plus correctement, qu’il soit seul ou membre d’un cluster, le dépannage ne peut pas forcément se faire à distance s’il s’agit par exemple d’un problème de réseau. L’interface directe du serveur de virtualisation ne sera pas d’une grande aide puisque l’écran de console VMware vSphere / ESXi / ESX est très limité, permettant surtout de gérer les cartes réseau et son adressage IP pour le management.
Pas affiché de manière claire, il est cependant possible d’accéder à un terminal pour exécuter des commandes propres à l’univers de VMware. Ce tutoriel liste les commandes majeures d’un environnement VMware vSphere / ESXi / ESX, qu’il soit sous licence payante ou en version gratuite (Hypervisor). Ces commandes sont nommées « esxcli » par VMware. Il ne s’agit donc pas ici des commandes vmkfstools.
Activer esxcli sur un hôte VMware
Méthode physique, quand rien ne va plus
1. Brancher un écran sur le serveur physique.
2. Se connecter (F2) à la console VMware (Direct Console User Interface – DCUI).
3. Aller sur « Troubleshooting Mode Options » :
4. Activer « Enable ESXi Shell » :
5. Revenir en arrière au menu principal (Echap).
6. Accéder à l’interface de console en tapant sur ALT + F1.
7. Revenir à la console graphique avec ALT + F2.
Méthode normale, depuis le VMware vSphere Client
1. Se connecter à l’hôte unique ou au membre du cluster VMware depuis le vSphere Client.
2. Sélectionner l’hôte sur lequel il faut activer esxcli.
3. Aller à l’onglet « Configuration » et « Profil de sécurité » (Security Profile en anglais).
4. Dans la section « Services » cliquer sur « Propriétés » (en haut à droite de l’écran).
5. Dans la liste qui s’ouvre, sélectionner « Shell ESXi » et cliquer sur le bouton « Options » :
6. Cocher « Démarrer et arrêter avec l’hôte » puis cliquer sur le bouton « Démarrer » avant de valider deux fois par OK. Cela active le démarrage automatique avec l’hôte, comme un service.
7. L’interface locale est maintenant activée pour les commandes esxcli.
Commandes VMware ESXCLi
Ces commandes sont une base à enrichir de paramètres et de variables.
esxcli device : liste
esxclielxnet : gérer les drivers Emulex elxnet
esxcli esxcli : liste toutes les commandes esxcli
esxcli fcoe : commandes pour FCOE (Fiber Channel Over Ethernet)
esxcli graphics : commandes graphiques pour gérer l’hôte
esxcli hardware : afficher des informations sur le matériel du serveur
esxcli iscsi : afficher et gérer le matériel iSCSI
esxcli network : gérer le virtual network, les vswitch et VMkernel network interfaces
esxcli nvme : gérer les disques NVMe
esxcli rdma : superviser les périphériques RDMA (Remote Direct Memory Access)
esxcli sched : gérer le swap système
esxcli software : afficher et gérer les profils et les VIB
esxcli storage : gérer le stockage (SAN ou – DAS Direct Attached Storage)
esxcli system : commandes pour gérer le système
esxcli vm : afficher et pouvoir arrêter de force une machine virtuelle bloquée
esxcli vsan : gérer le Virtual SAN
Ces commandes seules ne suffisent pas, il faut les utiliser avec des arguments.
Commandes ESXCLi fréquemment utilisées
Exemples de commandes souvent utilisées pour gérer un hôte VMware qui fonctionne correctement ou qui a planté.
esxcli system version get : afficher la version exacte avec numéro de build et nombre de patchs de VMware ESXi
esxcli system hostname get : afficher le hostname et le nom FQDN du serveur
esxcli system stats installtime get : afficher la date d’installation initiale de l’ESXi
esxcli system account list : afficher la liste des utilisateurs de l’hôte
esxcli system account add -d="Nouvel utilisateur" -i="newuser" -p="pass-W0rd" -c="pass-W0rd"
créer un nouveau compte utilisateur ESXi
esxcli system maintenanceMode set –enable true : passer en mode maintenance (deux « – » avant le enable)
esxcli system shutdown reboot -d 10 -r « raison du reboot » : redémarrer l’hôte, à exécuter après la mise en mode maintenance (délai en secondes)
esxcli network firewall set –enable true|false : activer ou désactiver le firewall ESXi
esxcli network ip interface ipv4 get : afficher la configuration réseau IPv4
esxcli software vib list : afficher la liste des VIB installés (par exemple utilisés pour les updates vSphere)
esxcli vm process list : lister les machines virtuelles démarrées sur l’hôte
esxcli vm process kill -w 1234 -t soft : gérer et tuer des VM qui ne répondent plus par l’interface graphique vSphere Client ou Web Client
esxcli storage vmfs extent list : lister tous les volumes VMFS
esxcli storage filesystem list : afficher les volumes VMFS, NFS, etc