VMWARE : Les commandes utiles pour ESXi via SSH


 

vmware_logo_white

 

1. Pré-requis

■ Version de VMware : ESXi 4.1, 5.0 et 5.1
■ Mot de passe « root » du serveur ESXi
■ Outil VMware vSphere Client 4.1, 5.0 ou 5.1
■ Activation de SSH sous VMware ESXi
■ Client SSH PuTTY ou KiTTY

 

2. Activation de SSH sur ESXi via vSphere Client

Afin d’activer SSH sous VMware ESXi suivre les étapes suivantes :

– Se connecter sur le serveur via la console VMware vSphere Client
– Sélectionner le serveur puis aller sur l’onglet « Configuration »
– Dans le menu de gauche, cliquer sur « Profil de sécurité »
– Dans la partie « Services » cliquer sur « Propriétés » (en haut a droite)
– Dans la fenêtre, sélectionner « SSH » puis « Options… »
– Choisir le mode de démarrage du service puis cliquer sur « Démarrer »
– Le service SSH est maintenant actif

Voir les étapes d’activation de SSH :

VMWARE-SSH-ON

 

3. Connexion SSH au serveur ESXi

Se connecter sur le serveur ESXi via l’outil PuTTY / KiTTY puis s’authentifier avec le compte root.

Après authentification le prompt apparaît à l’écran.

 

4. Utilisation des outils VIM-CMD et ESXCLI

Note : L’ensemble de ces commandes peut varier en fonction de la version ESXi.

Opérations sur les machines virtuelles

Liste des VM disponible sur l’hôte :

vim-cmd vmsvc/getallvms

Grace à cette commande nous obtenons le Vmid de la machine virtuelle.

Connaître l’état des VM sur l’hôte (On/Off) :

vim-cmd vmsvc/power.getstate 

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

esxcli vm process list

Avoir le résumé d’une VM :

vim-cmd vmsvc/get.summary 

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

esxcli vm process kill -t soft -w 

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

esxcli vm process kill -t force -w 

Arrêter une VM :

vim-cmd vmsvc/power.off 

Allumer une VM :

vim-cmd vmsvc/power.on 

Redémarrer une VM :

vim-cmd vmsvc/power.reboot 

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

vim-cmd vmsvc/reload 

Supprimer tous les Snapshots d’une VM :

vim-cmd vmsvc/snapshot.removeall 

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

vim-cmd vmsvc/get.spaceNeededForConsolidation 

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 

 

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  /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  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 (générée 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

Faire un Rescan complet 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

Résigner 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 leurs disques :

vscsiStats -l

Démarrer la collecte des stats pour une VM (arrêt auto au bout de 30 min) :

vscsiStats -w  -s

Afficher un histogramme de latences des performances collectées :

vscsiStats -w  -p latency

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

vscsiStats -x  -s

vSphere 5 ESXi Operations Guide : Fichier PDF

 

5. Les fichiers de logs

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 :

VMWARE-SSH-TABLEAU-LOGS

Knowledge Base : Location of ESXi 5.0 log files (2004201)

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.

 

Print Friendly, PDF & Email

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *