====== 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. ---- [[all:bibles:virtualisation:esxi|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. ---- [[all:bibles:virtualisation:esxi|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 ---- [[all:bibles:virtualisation:esxi|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 ---- [[all:bibles:virtualisation:esxi|Haut de page]] ===== CLI ===== [[http://www.vmnerds.fr/2012/01/13/liste-des-commandes-utiles-en-esxi|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 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 * Eteindre une vm vim-cmd vmsvc/power.off * Allumer une vm vim-cmd vmsvc/power.on * Interrogation caractéristiques vm vim-cmd vmsvc/get.guest ==== Configuration IP ==== * Liste des interfaces réseau physique: esxcli network nic list * Créer un vSwitch esxcli network vswitch standard add -v vSwitch * Liste des PortGroup esxcli network vswitch standard portgroup list * Ajouter une interface physique vmnic à un vSwitch esxcli network vswitch standard uplink add -u vmnic -v vSwitch * Ajouter un PortGroup à un vSwitch esxcli network vswitch standard portgroup add -p -v vSwitch * Définir le VLAN d’un PortGroup esxcli network vswitch standard portgroup set -v -p ==== 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 * Renommer un disque virtuel vmkfstools -E * Agrandir la taille d’un disque virtuel vmkfstools -X 15G /vmfs/volumes/datastore1/VM1/VM1.vmdk * Cloner un disque virtuel en thin vmkfstools -i -d thin ---- [[all:bibles:virtualisation:esxi|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 ---- [[all:bibles:virtualisation:esxi|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 : 0 sataController0 SATA Controller sataController0 5 AHCI 20 virtualbox-2.2 par 0 SCSIController SCSI Controller SCSIController 5 lsilogic 6 vmx-13 * 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 [[https://my.vmware.com/web/vmware/info?slug=infrastructure_operations_management/vmware_vcenter_converter_standalone/6_2_0 |VMWare vCenter Convertor Standalone]] en utilisant ce [[http://www.oameri.com/vmware-reduire-la-taille-dun-disque-vmdk-avec-vmware-convertor/ |tuto]]. ---- [[all:bibles:virtualisation:esxi|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-.x86_64.img .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 [[https://serverfault.com/questions/398162/disk-shrink-does-not-work-on-esxi-guests| 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 ---- [[all:bibles:virtualisation:esxi|Haut de page]]