ESXi

Installation

ESXi 6.5

Installation à partir de l'image ISO.

Configuration à partir de la console

Accéder au menu “Configure Management Network” puis “IPV4 Configuration” pour configurer l'adresse IP.

Si nécessaire également modifier le vlan.

Haut de page

Configuration via GUI

Accéder au menu “Gérer” sur la gauche à partir de l'Hôte. Puis accéder aux onglets :

Système

Dans le menu Date et heure configurer le service NTP et le démarrer avec l'hôte.

Attribution de licence

Renseigner la clef de licence : 15026-FUHDJ-68Y88-0A886-1H9JJ

Services

Activer le service TSM-SSH pour autoriser la connexion SSH à distance.

Sécurité et utilisateurs

Dans le menu “Utilisateurs” sélectionner l'utilisateur root et modifier son mot de passe si nécessaire.

Haut de page

Configuration via CLI

Customisation

Profile

Modifier le fichier /etc/profile.local

export PS1="\[\033[1;40m\]\[\033[1;31m\][$(echo ${VI_USERNAME//'\'/'\\'})@\h]\[\033[1;33m\]\w >\[\033[0;32m\] " alias ll='ls -lrth' alias h='history' alias vm='/vmfs/volumes/datastore1/vm.sh' go () { case $2 in *) RELATIF="/$2" ;; esac case $1 in datastore) CHEMIN="/vmfs/volumes/datastore1" ;; iso) CHEMIN="/vmfs/volumes/datastore1/iso" ;; *) CHEMIN=$1 ;; esac cd ${CHEMIN}${RELATIF} }

script

Créer le fichier /vmfs/volumes/datastore1/vm.sh et y ajouter les droits d'exécution ensuite.

#!/bin/sh syntaxe() { cat << syntaxeEOF >&2 usage: `basename $0` -list usage: `basename $0` -status vmID usage: `basename $0` -start vmID usage: `basename $0` -stop vmID syntaxeEOF } ###### # Main ###### main() { if [ $# -eq 0 ]; then syntaxe; exit 1 fi for option in $* do case $option in -list) vim-cmd vmsvc/getallvms break ;; -status) if [ $# -lt 2 ]; then syntaxe; exit 1 else vim-cmd vmsvc/power.getstate $2 fi ;; -start) if [ $# -lt 2 ]; then syntaxe; exit 1 else vim-cmd vmsvc/power.on $2 fi ;; -restart) if [ $# -lt 2 ]; then syntaxe; exit 1 else vim-cmd vmsvc/power.reboot $2 fi ;; -stop) if [ $# -lt 2 ]; then syntaxe; exit 1 else vim-cmd vmsvc/power.off $2 fi ;; esac shift done } main "$@"

Autoriser le ssh sortant

esxcli network firewall ruleset set --ruleset-id sshClient --enabled true

Echange de clef ssh

Les clefs SSH sont à positionner dans le fichier /etc/ssh/keys-root/authorized_keys

La commande ssh-copy-id est inopérante

Haut de page

Installation patch

Transférer l'archive zip sur le serveur ESXi.

Vérification de l'archive

esxcli software sources vib get --depot /vmfs/volumes/datastore1/ESXi650-201712001.zip

Exemple de résultat sur un package :

VMW_bootbank_shim-libfc-9-2-2-0_6.5.0-0.0.4564106
Name: shim-libfc-9-2-2-0
Version: 6.5.0-0.0.4564106
Type: bootbank
Vendor: VMW
Acceptance Level: VMwareCertified
Summary: libfc_9_2_2_0: shim driver for VMware ESX
Description: Package for driver libfc_9_2_2_0
ReferenceURLs:
Creation Date: 2016-10-27
Depends: vmkapi_2_3_0_0, com.vmware.libfc-9.2.3.0
Conflicts:
Replaces:
Provides: com.vmware.libfc-9.2.2.0
Maintenance Mode Required: True
Hardware Platforms Required:
Live Install Allowed: False
Live Remove Allowed: False
Stateless Ready: True
Overlay: False
Tags: module
Payloads: shim-lib

Le champ “Maintenance Mode Required” permet de verifier s’il faut rentrer en mode maintenance avant d’appliquer le patch. Pour vérifier tous les packages lancer un grep :

esxcli software sources vib get --depot=/vmfs/volumes/datastore1/ESXi650-201712001.zip | grep Maintenance

Installation des nouveaux packages

Passer en mode maintenance si nécessaire :

vim-cmd hostsvc/maintenance_mode_enter

Appliquer la mise à jour :

esxcli software vib update --depot=/vmfs/volumes/datastore1/ESXi650-201712001.zip

Résultat :

Installation Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed: ...
VIBs Removed: ...
VIBs Skipped: ...

Le champ “Reboot Required” indique si un redémarrage de l’hôte est nécessaire.

Rebooter l'hôte si nécessaire :

reboot

List patchs sur ESXi 6.5.0

27/07/2017 update-from-esxi6.5-6.5_update01.zip

03/05/2018 update-from-esxi6.5-6.5_update02.zip

02/07/2019 update-from-esxi6.5-6.5_update03.zip

20/08/2019 ESXi650-201908001.zip

24/10/2019 ESXi650-201910001.zip

12/11/2019 ESXi650-201911001.zip

05/12/2019 ESXi650-201912001.zip

19/12/2019 ESXi650-201912002.zip

28/05/2020 ESXi650-202005001.zip

30/06/2020 ESXi650-202006001.zip

30/07/2020 ESXi650-202007001.zip

15/10/2020 ESXi650-202010001.zip

04/11/2020 ESXi650-202011001.zip

19/11/2020 ESXi650-202011002.zip

23/02/2021 ESXi650-202102001.zip

List patchs sur ESXi 6.7.0

28/06/2018 ESXi670-201806001.zip

26/07/2018 ESXi670-201807001.zip

14/08/2018 ESXi670-201808001.zip

02/10/2018 ESXi670-201810001.zip

16/10/2018 update-from-esxi6.7-6.7_update01

11/04/2019 update-from-esxi6.7-6.7_update02

20/08/2019 update-from-esxi6.7-6.7_update03

12/11/2019 ESXi670-201911001

05/12/2019 ESXi670-201912001

07/04/2020 ESXi670-202004001

28/04/2020 ESXi670-202004002

09/06/2020 ESXi670-202006001

20/08/2020 ESXi670-202008001

15/10/2020 ESXi670-202010001

04/11/2020 ESXi670-202011001

19/11/2020 ESXi670-202011002

23/02/2021 ESXi670-202102001

18/03/2021 ESXi670-202103001

Journaux

Consulter le fichier /var/log/esxupdate.log

Vérification des versions de packages

esxcli software vib list

Haut de page

CLI

Liste de commandes utiles

Opérations sur l'ESXi

Afficher la version de l’hôte

esxcli system version get

Passer en mode maintenance

vim-cmd hostsvc/maintenance_mode_enter

Sortir du mode maintenance

vim-cmd hostsvc/maintenance_mode_exit

Autoriser un service sur le fw

esxcli network firewall ruleset set -r snmp -e true

Démarrer le service ssh

vim-cmd hostsvc/start_ssh

Activer le SSH

vim-cmd hostsvc/enable_ssh

Lister les interfaces réseaux

esxcli network nic list

Lister règles firewall

esxcli network firewall ruleset list

Autoriser le ssh sortant

esxcli network firewall ruleset set --ruleset-id sshClient --enabled true

Activation autostart sur l’ESXi

vim-cmd hostsvc/autostartmanager/enable_autostart true

Démarrage auto vm

vim-cmd hostsvc/autostartmanager/update_autostartentry <n> poweron 90 1 stop 90 no

Paramètres : VMId StartAction StartDelay StartOrder StopAction StopDelay WaitForHeartbeat

Interrogation séquence auto

vim-cmd hostsvc/autostartmanager/get_autostartseq

Opérations sur les VM

Lister les vm

vim-cmd vmsvc/getallvms

Interroger 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>

Interrogation caractéristiques vm

vim-cmd vmsvc/get.guest <vmid>

Configuration IP

Liste des interfaces réseau physique:

esxcli network nic list

Créer un vSwitch

esxcli network vswitch standard add -v vSwitch<x>

Liste des PortGroup

esxcli network vswitch standard portgroup list

Ajouter une interface physique vmnic à un vSwitch

esxcli network vswitch standard uplink add -u vmnic<y> -v vSwitch<x>

Ajouter un PortGroup à un vSwitch

esxcli network vswitch standard portgroup add -p <nom> -v vSwitch<x>

Définir le VLAN d’un PortGroup

esxcli network vswitch standard portgroup set -v <vlan> -p <nom>

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

Renommer un disque virtuel

vmkfstools -E <oldname.vmdk> <newname.vmdk>

Agrandir la taille d’un disque virtuel

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

Cloner un disque virtuel en thin

vmkfstools -i <source.vmdk> -d thin <destination.vmdk>

Haut de page

Blades VAL DE LOIRE

esxcli network vswitch standard portgroup remove -p "VM Network" -v vSwitch0
esxcli network vswitch standard portgroup add -p 10.35.130.64-26 -v vSwitch0
esxcli network vswitch standard portgroup set -v 961 -p 10.35.130.64-26
esxcli network vswitch standard add -v vSwitch1
esxcli network vswitch standard uplink add -u vmnic1 -v vSwitch1
esxcli network vswitch standard portgroup add -p 10.1.90.128-25 -v vSwitch1
esxcli network vswitch standard portgroup set -v 1024 -p 10.1.90.128-25
esxcli network vswitch standard portgroup add -p 10.1.242.64-27 -v vSwitch1
esxcli network vswitch standard portgroup set -v 1025 -p 10.1.242.64-27
esxcli network vswitch standard add -v vSwitch2
esxcli network vswitch standard uplink add -u vmnic2 -v vSwitch2
esxcli network vswitch standard portgroup add -p TFTPBOOT -v vSwitch2

Haut de page

Boite à outils

Copier une VM

Dans les 2 cas de figure la copie se fait avec une VM à l'arrêt bien entendu.

GUI via Export/Import

Faire un click droit sur la VM puis choisir « Exporter »

Lors de la création de la nouvelle VM choisir « Déployer une machine virtuelle à partir d'un fichier OVF ou OVA »

CLI via mkfstools

Créer une nouvelle VM (vm2) avec les mêmes caractéristiques que la première (vm1)

A partir de l'ESXi supprimer les fichiers vmdk de la nouvelle vm

cd vm2 rm *.vmdk

Copier le ou les disque(s) de la première VM

cd vm2 vmkfstools -i ../vm1/vm1.vmdk -d thin vm2.vmdk
L'option -d thin est à utiliser pour un disque en provisionnement dynamique.

Démarrer la nouvelle vm.

En fonction de la VM et de l'OS il pourra être nécessaire de démarrer en mode sans échec pour adapter les UUID de disques (/etc/fstab), les interfaces réseau, …

Récupération d'une VM VirtualBox

Exporter la VM depuis virtualbox vers un fichier vm.ova

Installer Vware OVFTool depuis le site vmware

Lancer la commande : C:\Program Files\VMware\Vmware OVF Tools\ovftool.exe –lax vm.ova vm.ovf

Ouvrir le fichier ovf avec un éditeur et remplacer :

<Item> <rasd:Address>0</rasd:Address> <rasd:Caption>sataController0</rasd:Caption> <rasd:Description>SATA Controller</rasd:Description> <rasd:ElementName>sataController0</rasd:ElementName> <rasd:InstanceID>5</rasd:InstanceID> <rasd:ResourceSubType>AHCI</rasd:ResourceSubType> <rasd:ResourceType>20</rasd:ResourceType> </Item> … <vssd:VirtualSystemType>virtualbox-2.2</vssd:VirtualSystemType>

par

<Item> <rasd:Address>0</rasd:Address> <rasd:Caption>SCSIController</rasd:Caption> <rasd:Description>SCSI Controller</rasd:Description> <rasd:ElementName>SCSIController</rasd:ElementName> <rasd:InstanceID>5</rasd:InstanceID> <rasd:ResourceSubType>lsilogic</rasd:ResourceSubType> <rasd:ResourceType>6</rasd:ResourceType> </Item> … <vssd:VirtualSystemType>vmx-13</vssd:VirtualSystemType>

Supprimer carte son et lecteur de CD-ROM

Supprimer le fichier MF contenant les checksum de contrôle

Procéder à l'import depuis VMWare

Démarrage automatique des VM

Il est possible de démarrer automatiquement les VM en insérant les commandes qui vont bien dans le script /etc/rc.local.d/local.sh qui est exécuté au démarrage.

Réduire la taille d'un disque vmdk

Utilisation de VMWare vCenter Convertor Standalone en utilisant ce tuto.

Haut de page

Dépannage

Perte accès à l'ESXi

Problème

Impossible d'accéder à l'ESXi, pas de réponse au ping. Les VM fonctionnent normalement.

Solution

Accéder à la console de l'ESXi via « iLO Integrated remote Console » sur l'OA. Tester le ping de la gateway. Vérifier par « View System Logs » il est possible que la gateway ne soit pas prise en compte. Pour corriger aller dans la configuration réseau pour vérifier la définition et ressortir. Eventuellement utiliser l'entrée « Reset Management Network ».

Problème démarrage Redhat/CentOS

Problème

Erreur : dracut-initqueue[779]: Warning: dracut-initqueue timeout - starting timeout scripts

Solution

Démarrer en mode rescue puis recréer un kernel adapté au matériel

cd /boot ls initramfs-*.x86_64.img dracut –f /boot/initramfs-<kernelversion>.x86_64.img <kernelversion>.x86_64 reboot

Problème démarrage Windows

Problème

Démarrage Windows en échec, le disque n’est pas vu.

Solution

Changer le le contrôleur disque, essayer LSI Logic SAS ou autre.

Taille du disque virtuel ne diminue pas

Problème

Bien que le disque virtuel soit en “Thin provision” la taille du fichier vmdk est bien plus importante que la taille réellement occupé sur le disque. En fait la taille du fichier vmdk augmente au fur et à mesure de l'occupation du disque mais en cas de libération d'espace sur la VM, le fichier vmdk ne diminue pas.

Solution

Défragmenter le disque sur la VM

Pour une partition ext4 :

sudo e4defrag /

Pour une partition xfs :

xfs_fsr

Remplir de zero l'espace inutilisé du disque

dd if=/dev/zero of=wipefile bs=1M; sync; rm -f wipefile

Tenter la commande suivante depuis la VM

sudo vmware-toolbox-cmd disk shrinkonly

Arrêter la VM et lancer la commande suivante depuis l'ESXi :

vmkfstools -K fichier.vmdk

Source

Messages d'erreurs avec Ubuntu 20.04

Problème

Apparition de messages dans le fichier /var/log/syslog

Jul 29 10:43:04 vm-reverse-proxy02 multipathd[717]: sda: add missing path
Jul 29 10:43:04 vm-reverse-proxy02 multipathd[717]: sda: failed to get udev uid: Invalid argument
Jul 29 10:43:04 vm-reverse-proxy02 multipathd[717]: sda: failed to get sysfs uid: Invalid argument
Jul 29 10:43:04 vm-reverse-proxy02 multipathd[717]: sda: failed to get sgio uid: No such file or directory

Solution

Arrêter la VM

Click droit sur la VM « Edit Settings »

Choisir l'onglet « VM Options »

Cliquer sur « Advanced »

Cliquer sur le bouton « Edit Configuration… »

Cliquer sur « Add parameter »

Dans la colonne « Key » indiquer « disk.EnableUUID »

Dans la colonne « Value » renseigner « TRUE »

Cliquer sur OK et redémarrer la VM

Haut de page