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

 

Les fichiers de logs en 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 en ESXi 5.0:

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« 

Si la « Scratch Partition » est configurée, elle contiendra les fichiers de log. Ils seront tout de même disponibles dans « /var/log » en tant que lien symbolique.

 

Quelques documentations sur l’utilisation des commandes: