Vmware: Esxsi command line
Les commandes
Commande permettant de copier, convertir, renommer, importer, et modifier la taille des fichiers de disques virtuels vmdk.
- vmkfstools
Affiche 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.
- esxtop
Permet de configurer les adaptateurs réseaux, notamment leur vitesse de transmission, de manière manuelle.
- esxcfg-nics
Permet de configurer les vSwitch, créer des groupes de ports, associer une interface physique NIC, etc …
- esxcfg-vswitch
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).
- esxcfg-vswif | esxcfg-vmknic
Permet d’afficher différentes informations relatives aux machines virtuelles hébergées sur l’hôte.
- vmware-cmd
Fournit un shell interactif permettant d’exécuter de nombreuses commandes.
- Vimsh
Version simplifiée de vimsh.
- vmware-vim-cmd
Permet d’appliquer des patches correctifs à votre hôte esx/esxi.
- vihostupdate
- esxupdate
Permet d’initier manuellement un VMotion.
- svmotion
Affiche les chemins réseaux d’accès au stockage de l’hôte.
- esxcfg-mpath
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-rescan
Affichent les informations sur les disques scsi locaux.
- esxcfg-scsidevs
- esxcfg-vmhbadevs
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-firewall
Affiche les informations de configuration de l’hôte (Summary) et permet de stocker ces informations dans un fichier texte.
- esxcfg-info
Configuration de l’authentification et du lien avec une source externe (ldap, AD …).
- esxcfg-auth
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é) et stock le tout dans une archive.
- vm-support
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
Logs
Logs les succès et les échecs d’authentification au shell ESXi
- /var/log/auth.log
Logs du service client DHCP client service, y compris la découverte, les demandes de bail d’adresse et les renouvellements
- /var/log/dhclient.log
Logs d’installation des patchs et des mise à jour ESXi
- /var/log/esxupdate.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/hostd.log
Logs de l’utilisation en shell ESXi, incluant les activations/désactivations et toutes les commandes entrées
- /var/log/shell.log
logs du démarrage VMkernel et du chargement des modules
- /var/log/sysboot.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/syslog.log
Les événement d’arbitrage des périphériques USB, comme la découverte et la transmission vers les VMs
- /var/log/usb.log
Observateur d’événements VMkernel, semblable à vob.component.event
- /var/log/vob.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/vmkernel.log
Le résumé des alertes et des messages d’erreurs extrait des logs VMkernel
- /var/log/vmkwarning.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/vmksummary.log
Logs de l’agent vCenter (vpxa), incluant les communications entre le serveur vCenter Server et l’agent « Host Management » (hostd)
- /var/log/vpxa.log
Logs du module High Availability, produit par le service « fdm »
- /var/log/fdm.log
Source
- http://www.vmnerds.fr/2012/01/13/liste-des-commandes-utiles-en-esxi/
- https://www.vmware.com/support/developer/vcli/
- http://vpourchet.com/2010/06/03/listes-des-commandes-utiles-sous-esxesxi/
- http://www.it-connect.fr/esxi-gerer-mode-maintenance-en-ligne-de-commande/