Outils pour utilisateurs

Outils du site


vmware_esxi

Ceci est une ancienne révision du document !



VMWARE / ESXi


COMMANDES ESXi

Opérations sur les machines virtuelles

Avoir la liste des VMs enregistrer sur l’hôte (on obtient ainsi le VMid):

vim-cmd vmsvc/getallvms

Avoir la liste des VMs allumées sur l’hôte (on obtient ainsi le WorldID):

esxcli vm process list

Forcer l’arrêt propre d’une VM:

esxcli vm process kill -t soft -w <WorldID>

Forcer l’arrêt brutal d’une VM (en dernier recours):

esxcli vm process kill -t force -w <WorldID>

Avoir l’état d’une VM:

vim-cmd vmsvc/power.getstate <VMid>

Eteindre une VM:

vim-cmd vmsvc/power.off <VMid>

Allumer une VM:

vim-cmd vmsvc/power.on <VMid>

Redémarrer une VM:

vim-cmd vmsvc/power.reboot <VMid>

Recharger la configuration d’une VM (après modification du fichier .vmx):

vim-cmd vmsvc/reload <VMid>

Supprimer tous les Snapshots d’une VM:

vim-cmd vmsvc/snapshot.removeall <VMid>

Avoir une estimation de l’espace nécessaire pour consolider un Snapshot d’une VM:

vim-cmd vmsvc/get.spaceNeededForConsolidation <VMid>

Enregistrer une VM sur l’hôte:

vim-cmd solo/registervm /vmfs/volumes/datastore/VM2/VM2.vmx

Désenregistrer une VM d’un hôte:

vim-cmd hostsvc/unregister <VMid>

Avoir le résumé d’une VM:

vim-cmd vmsvc/get.summary <VMid>

Opérations sur les disques virtuels

Créer un disque virtuel:

vmkfstools -c 10G /vmfs/volumes/datastore1/VM3/VM3_1.vmdk

Ajouter un disque virtuel existant à une VM (en SCSI0:1):

vim-cmd vmsvc/device.addexisting <VMid> /vmfs/volumes/datastore1/VM3/VM3_1.vmdk 0 1

Ajouter un disque à une VM (l’équivalent des 2 précédentes commandes):

vim-cmd vmsvc/device.diskadd <VMid> 10G 0 1 datastore1

Convertir un disque virtuel de Thin en Thick:

vmkfstools -j /vmfs/volumes/datastore1/VM1/VM1.vmdk

Convertir un disque virtuel de Thick en Thin:

vmkfstools -K /vmfs/volumes/datastore1/VM1/VM1.vmdk

Agrandir la taille d’un disque virtuel:

vmkfstools -X 15G /vmfs/volumes/datastore1/VM1/VM1.vmdk

Opérations sur l’hôte ESXi

Réinitialiser la configuration en mode usine (comme à la fin de l’installation):

/sbin/firmwareConfig.sh –reset

Attribuer une licence à l’hôte:

vim-cmd vimsvc/license –set XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

Mettre l’hôte en Mode Maintenance:

vim-cmd hostsvc/maintenance_mode_enter

Sortir l’hôte du Mode Maintenance:

vim-cmd hostsvc/maintenance_mode_exit

Synchroniser et sauvegarder la config de l’hôte (fichier généré dans /scratch/downloads):

vim-cmd hostsvc/firmware/sync_config
vim-cmd hostsvc/firmware/backup_config

Restaurer la config d’un hôte (à partir du fichier /tmp/configBundle.tgz):

vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz

Avoir la liste des patchs installés sur un hôte:

esxcli software vib list

Installer un patch manuellement (être en mode maintenance):

esxcli software vib update –depot=/vmfs/volumes/datastore1/ESXi500-201109001.zip

Autoriser un service sur le firewall de l’hôte:

esxcli network firewall ruleset set -r snmp -e true

Désactiver le firewall de l’hôte:

esxcli network firewall set -e false

Afficher la liste des codes erreur VMkernel:

vmkerrcode -l

Afficher la version de l’hôte:

 esxcli system version get

Avoir la configuration des paramètres avancés:

esxcli system settings advanced list

Lancer l’interface DCUI (peut-être utile en SSH), faire un Ctrl + C pour quitter :

Dcui

Opérations sur les Services

Vérifier l’état du service « hostd »:

/etc/init.d/hostd status

Redémarrer le service « hostd »:

/etc/init.d/hostd restart

Redémarrer l’agent vCenter (« vpxa »):

/etc/init.d/vpxa restart

Redémarrer tous les services:

services.sh restart

Activer le SSH temporairement (jusqu’au prochain redémarrage):

/etc/init.d/SSH start

Activer et démarrer le SSH de façon permanente:

vim-cmd hostsvc/enable_ssh
vim-cmd hostsvc/start_ssh

Avoir la configuration du démarrage automatique de tous les services

chkconfig -l

Opérations sur la configuration réseau

Avoir la liste des interfaces réseau physique:

esxcli network nic list

Créer un vSwitch:

esxcli network vswitch standard add -v vSwitch1

Ajouter une interface physique à un vSwitch:

esxcli network vswitch standard uplink add -u vmnic1 -v vSwitch1

Ajouter un PortGroup à un vSwitch:

esxcli network vswitch standard portgroup add -p LAN -v vSwitch1

Ajouter une interface physique à un PortGroup (définir les interfaces actives):

esxcli network vswitch standard portgroup policy failover set -a vmnic0,vmnic1 -p LAN

Définir le VLAN d’un PortGroup:

esxcli network vswitch standard portgroup set -v 40 -p LAN

Associer une interface VMkernel à un PortGroup:

esxcli network ip interface add -i vmk1 -p NFS

Définir l’IP d’une interface VMkernel:

esxcli network ip interface ipv4 set -i vmk1 -I 10.40.1.1 -N 255.255.255.0 -t static

Activer le CDP sur un vSwitch:

esxcli network vswitch standard set –cdp-status both -v vSwitch1

Modifier le MTU d’une interface VMkernel:

esxcli network ip interface set -m 9000 -i vmk1

Modifier le MTU d’un vSwitch:

esxcli network vswitch set -m 9000 -v vSwitch1

Opérations sur le Stockage

Afficher la liste des LUNs:

esxcli storage nmp device list

Afficher la liste des chemins:

esxcli storage nmp path list

Afficher la correspondance entre les LUNs et les VMFS:

esxcli storage filesystem list

Faire un Rescan du SAN sur toutes les HBAs:

esxcli storage core adapter rescan –all

Ou aussi, faire un Rescan du SAN:

vim-cmd hostsvc/storage/vmfs_rescan

Rafraichir les LUNs:

vim-cmd hostsvc/storage/vmfs_refresh

Afficher la liste des volumes non-montés (car détectés comme Snapshot):

esxcli storage vmfs snapshot list

Forcer le montage d’un VMFS:

esxcli storage vmfs snapshot mount VMFS1

Resigner un VMFS:

esxcli storage vmfs snapshot resignature VMFS2

Afficher la compatibilité VAAI des volumes:

esxcli storage core device vaai status get

Activer initiateur iSCSI software:

esxcli iscsi software set -e true

Faire une redécouverte iSCSI

esxcli iscsi adapter discovery rediscover -A vmhba33

Afficher la liste des volumes NFS montés:

esxcli storage nfs list

Ajouter un volume NFS:

esxcli storage nfs add -H 10.40.1.100 -s /vol/share -v Vol_NFS

Avoir la liste des VMs allumés avec leur WorldGroupID et leur disques:

vscsiStats -l

Démarrer la collecte des stats pour une VM (s’arrête automatiquement au bout de 30 min):

vscsiStats -w <WorldGroupID> -s

Afficher un histogramme de latences des performances collectées:

vscsiStats -w <WorldGroupID> -p latency

Arrêter la collecte des stats d’une VM:

vscsiStats -x <WorldGroupID> -s

COMMANDES PROPRES A VMWARE

Commande Description
vmkfstools Cette commande permet de copier, convertir, renommer, importer, et modifier la taille des fichiers de disques virtuels vmdk.
esxtop Permet d’afficher les performances en temps réel de l’hôte tel que l’utilisation cpu, mémoire, les I/O disques ou les I/O réseau.
esxcfg-nics Cette commande permet de configurer les adaptateurs réseaux, notamment leur vitesse de transmission, de manière manuelle.
esxcfg-vswitch Permet de configurer les vSwitch, créer des groupes de ports, associer une interface physique NIC, etc …
esxcfg-vswif esxcfg-vmknic Esxcfg-vswif permet de configurer les interfaces réseaux liées à la console, et esxcfg-vmknic permet de configurer les interfaces réseaux liées au VMkernel (interfaces de management).
vmware-cmd Cette commande permet d’afficher différentes informations relatives aux machines virtuelles hébergées sur l’hôte.
vimsh et vmware-vim-cmd Vimsh est un shell interactif permettant d’exécuter de nombreuses commandes.Vmware-vim-cmd est une version simplifiée devimsh.
vihostupdate et esxupdate
svmotion Cette commande permet d’initier manuellement un VMotion.
esxcfg-mpath Affiche les chemins réseaux d’accès au stockage de l’hôte.
esxcfg-rescan Permet de rafraichir le stockage de l’hôte, si par exemple un nouveau stockage à été ajouté et n’est pas visible via esxcfg-mpath.
esxcfg-scsidevs et esxcfg-vmhbadevs Affichent les informations sur les disques scsi locaux.
esxcfg-firewall Permet de configurer le firewall de l’hôte et de bloquer des ports TCP/IP entre la console et les autres adaptateurs réseaux.
esxcfg-info Affiche les informations de configuration de l’hôte (Summary) et permet de stocker ces informations dans un fichier texte.
esxcfg-auth Configuration de l’authentification et du lien avec une source externe (ldap, AD …).
vm-support Très utile pour troubleshooter, cette commande collecte de nombreuses informations sur l’hôte, le matériel, les machines virtuelles (y compris celles qui ont plantéJ) et stock le tout dans une archive.

COMMANDES SPECIFIQUES A ESXi

Les commandes suivantes, propres à ESXi, ne servent pas qu’à dépanner des systèmes. Elles seront utiles au quotidien pour les tâches de maintenance et de monitoring.

  1. 1 services.sh

Les services ESXi sont gérés par cette commande de la même manière que les services Linux qui sont pris en charge par la commande services. On demande à services.sh d’exécuter une instruction stop, start ou restart pour arrêter, lancer ou relancer tous les services d’ESXi. Par exemple :

services.sh restart
  1. 2 etc/init.d

Les scripts situés dans le répertoire /etc/init.d sont utilisables pour lancer ou arrêter les services éponymes un par un. Par exemple, pour ne relancer que l’agent vCenter Server Agent (alias le service vpxa), il suffirait d’écrire :

/etc/init.d/vpxa restart

A noter qu’il est possible de voir dans quel état se trouve chacun des services avec la commande :

cat /etc/chkconfig.db
  1. 3 vmkping

Dérivée de la commande ping, la commande vmkping utilise la pile IP du noyau VMkernel pour envoyer des paquets ICMP sur les interfaces indiquées. Cette commande sert à envoyer des paquets Ping sur le réseau vMotion, plutôt que sur le réseau utilisé pour l’administration. Ainsi :

vmkping –I vmk1 10.10.10.1 => envoie des requêtes ICMP à 10.10.10.1 au travers de l’interface vmk1.
  1. 4 nc

En association avec vmkping, la commande nc (qui signifie netcat) sert à confirmer la connectivité en un hôte ESXi et une IP en particulier. Si vmkping confirme l’existence d’une communication via des paquets ICMP, nc va plus précisément servir à confirmer que la communication se fait sur un port TCP en particulier, par exemple le port 3260 utilisé dans les connexions iSCSI. On réalisera cette tâche ainsi :

nc –z 10.10.10.10 3260
  1. 5 vmkfstools

Cette commande sert à gérer des volumes VMFS. Elle permet de créer, cloner, étendre, renommer ou effacer les fichiers VMDK correspondants aux disques virtuels. Par exemple :

vmkfstools –i test.vmdk testclone.vmdk => réplique test.vmdk en testclone.vmdk.
  1. 6 esxtop

Cet outil est celui qui donne le plus d’informations lorsqu’il s’agit de mesurer la performance d’un hôte ESXi ou de le dépanner. Similaire à la commande top de Linux, esxtop rassemble de relevés spécifiques à VMware et relatifs au processeur, aux interruptions, à la mémoire, au réseau, au contrôleur disque, aux disques eux-mêmes, aux images-disques des machines virtuelles et à la consommation d’énergie.

  1. 7 vscsiStats

Cette commande sert à approfondir la mesure des performances sur les entrées-sorties du stockage (I/O). Elle produit un échantillon qui indique la taille des I/O et leur temps de latence. On se sert typiquement de vscsiStats lorsque l’on souhaite planifier sa capacité ou en amont d’une migration du stockage.

  1. 8 vim-cmd

Cette commande, qui repose sur le processus hostd, permet de contrôler sous forme de script quasiment toutes les APIs de vSphere. A cette fin, vim-cmd dispose d’un certain nombre de sous-commandes ESXi adaptées à chacun des aspects de l’infrastructure virtuelle. A l’épreuve, elle est bien plus simple à utiliser que vimsh, l’interpréteur de ligne de commandes fourni par VMware.

  1. 9 dcui

La Direct Console User Interface (DCUI) de VMware est l’interface texte avec des des menus que l’on peut voir lorsque l’on se connecte la première fois à un hôte ESXi. Plusieurs fonctions y sont disponibles, comme l’administration de mot de passe Root, la définition du réseau ou encore diverses opérations de maintenance. Cette commande est utile lorsque l’administrateur n’a plus qu’un accès en SSH à l’hôte ESXi : il lui suffit de taper dcui depuis la ligne de commande pour accéder à la console DCUI.

  1. 10 vm-support

Cette commande sert à récupérer toutes les informations de support et de log d’un hôte ESXi. Elle est celle que l’on lance lorsque l’on est en ligne avec le support de VMware.

Approfondir l’administration avec la commande esxcli

La commande esxcli est si riche que nous ne devons lui consacrer plus d’un paragraphe. Elle permet de contrôler à peu près toutes les fonctions d’ESXi. Elle s’accompagne de mots clés, dont voici les principaux.

  1. 1 esxcli hardware.

Le mot clé hardware permet à la commande esxi de lister les caractéristiques matérielles de l’hôte ESXi. Par exemple :

esxcli hardware cpu list => liste les informations liées aux processeurs (famille, modèle, quantité de cache)

esxcli hardware memory get => récupère infors mémoire, mémoire dispo ou mémoire partagée NUMA
  1. 2 esxcli iscsi

Ce mot clé sert à surveiller et à administrer les configurations iSCSI aussi bien matérielles que logicielles. Ainsi :

esxcli iscsi software => active ou désactive l’initiateur iSCSI logiciel

esxcli iscsi adapter => configure les paramètres (Chap, Discovery...) des adaptateurs iSCSI, matériels/logiciels

esxcli iscsi sessions => liste les sessions iSCSI qui ont été établies au niveau de l’hôte ESXi
  1. 3 esxcli network

Le mot clé network sert à monitorer et à paramétrer tout ce qui a trait au réseau de vSphere, y compris les switches virtuels, les interfaces réseau du noyau VMkernel, les parefeux et les cartes réseau physiques (dites « NIC », pour Network Interface Card). Par exemple :

esxcli network nic => lister et modifier les paramètres d’une carte réseau, nom, vitesse, fonction Wake on LAN

esxcli network vm list => liste les informations réseau des machines virtuelles qui ont un port actif

esxcli network vswitch => récupère et manipule les options sur les switches virtuels distribués de VMware

esxcli network ip => gèrer ports du noyau VMkernel, d’administration, de vMotion et réseaux de tolérance de panne.
Cette commande permet aussi de modifier dans la pile IP les DNS, l’IPsec et le routage.
  1. 4 esxcli software

Ce mot clé est utilisé pour récupérer ou installer différents composants logiciels, dont des pilotes, sur l’hôte ESXi. Par exemple :

esxcli software vib list => liste les logiciels et les pilotes actuellement installés sur l’hôte ESXi.
  1. 5 esxcli storage

Il s’agit sans de l’une des commandes esxcli les plus utilisées. Elle permet de contrôler le stockage relié à vSphere. Par exemple :

esxcli storage core device list => affiche la liste des équipements de stockage connectés

esxcli storage core device vaai status get => niveau de support VAAI sur les équipements de stockage.
VAAI, ou « vStorage APIs for Array Integration » est une fonction de VMware qui permet de décharger l’hyperviseur
de certaines fonctions avancées de stockage, comme le Thin Provisionning,
si l’équipement de stockage les supporte nativement.
  1. 6 esxcli system

Cette commande sert à contrôler les fonctions avancées d’ESXi, comme définir un syslog ou un mettre l’hôte dans un mode de fonctionnement particulier. Par exemple :

esxcli system maintenanceMode set –enabled yes/no => met l’hôte en mode maintenance

esxcli system settings advanced list -d => affiche tous les paramètres avancés qui n’ont plus leur valeur par défaut

esxcli system syslog => accède aux informations et à la configuration du Syslog
  1. 7 esxcli vm

Cette commande est utilisée à la fois pour lister les paramètres des machines virtuelles exécutées sur l’hôte, mais aussi les forcer à s’arrêter si nécessaire. Par exemple :

esxcli vm process list => infos processus liés aux VM en activité, avec leur numéro WorldNumber

esxcli vm process kill -t force -w N => force l’extinction de la VM qui porte le numéro de WorldNumber N

24/ esxcli vsan. Le mot clé vsan s’accompagne de fonctions pour paramétrer et assurer la maintenance d’une baie de stockage virtuelle vSAN, en termes d’espace de stockage, de réseau, de domaine ou encore de droits d’accès. Par exemple : esxcli vsan storage … configure un stockage local pour qu’il soit utilisé par vSAN, avec la prise en compte du retrait et de l’ajout de disques physiques,

esxcli vsan cluster get … donne des informations sur le cluster vSAN.

25/ esxcli esxcli. Hé oui, la commande esxcli a aussi un mot clé esxcli. Cette commande donne des informations détaillées sur chacune des fonctions liées à esxcli. Par exemple : esxcli esxcli command list …liste toutes les commandes esxcli possibles sur le système, avec les fonctions disponibles.

Ces commandes ne sont que les plus courantes parmi toutes celles qu’ESXi a à offrir. Elles disposent toutes d’options pour lancer des fonctions en particulier. Pour connaître ces options, il suffit d’indiquer « -h » à la suite du nom des commandes.


FICHIERS DE LOGS ESXi

Il peut aussi être utile de connaître l’emplacement des différents fichiers de logs et leur rôle. Voici donc un tableau, récapitulant les fichiers de logs:

Fichier logs Contenu
/var/log/auth.log logs les succès et les échecs d’authentification au shell ESXi
/var/log/dhclient.log logs du service client DHCP client service, y compris la découverte, les demandes de bail d’adresse et les renouvellements
/var/log/esxupdate.log logs d’installation des patchs et des mise à jour ESXi
/var/log/hostd.log logs du service « Host management », incluant les taches et les événements sur l’hôte et ses VMs, les communications avec le client vSphere en direct et avec l’agent vCenter (vpxa), et les connections SDK
/var/log/shell.log logs de l’utilisation en shell ESXi, incluant les activations/désactivations et toutes les commandes entrées
/var/log/sysboot.log logs du démarrage VMkernel et du chargement des modules
/var/log/syslog.log logs de l’initialisation du service de Management, la surveillance par les watchdogs, les taches planifiées et l’utilisation de la DCUI
/var/log/usb.log les événement d’arbitrage des périphériques USB, comme la découverte et la transmission vers les VMs
/var/log/vob.log observateur d’événements VMkernel, semblable à vob.component.event
/var/log/vmkernel.log logs du « Core VMkernel », incluant la découverte de périphérique, les événements liés aux périphériques et aux drivers de stockage et réseaux, et le démarrage des VMs
/var/log/vmkwarning.log le résumé des alertes et des messages d’erreurs extrait des logs VMkernel
/var/log/vmksummary.log le résumé de la séquence d’arrêt/démarrage de l’hôte, l’heartbeat horraire avec l’uptime, le nombre VMs démarrées, et la consommation des ressources par les services
/var/log/vpxa.log logs de l’agent vCenter (vpxa), incluant les communications entre le serveur vCenter Server et l’agent « Host Management » (hostd)
/var/log/fdm.log logs du module High Availability, produit par le service “fdm”
vmware_esxi.1767354680.txt.gz · Dernière modification : 2026/01/02 12:51 de huracan

DokuWiki Appliance - Powered by TurnKey Linux