Nous allons voir dans cet article comment exécuter un script au démarrage de l'hyperviseur VMWare ESXI 6.5. Dans certains cas de figure, cela pourra vous rendre service
Cet article est valable pour les versions ESXI suivantes : 5.1 / 5.5 / 6.x
Prérequis
Il est nécessaire d'activer le service SSH sur votre hyperviseur. Vous pouvez consulter l'article suivant pour savoir comment activer ce service : Activer SSH sur un hôte ESXI
Procédure
Voici la marche à suivre pour exécuter un script lors du processus de démarrage de votre serveur VMWare ESXI
1) Se connecter sur votre hyperviseur ESXI en SSH (via le logiciel PuTTY par exemple)
2) Modifier le fichier /etc/rc.local.d/local.sh grâce au logiciel VI
# vi /etc/rc.local.d/local.sh
3) Enregistrer le fichier
/!\ Attention /!\ Tant que le script de démarrage n'est pas fini, le processus de démarrage automatique de vos serveurs virtuels ne s’exécute pas
Exemple d'utilisation
Dans mon cas, je souhaite démarrer mon serveur Starwind (serveur qui fournit le stockage iSCSI) puis relancer une analyse de mes LUNs pour pouvoir démarrer automatiquement les serveurs ce situant sur les LUNs iSCSI
#!/bin/sh # local configuration options # Note: modify at your own risk! If you do/use anything in this # script that is not part of a stable API (relying on files to be in # specific places, specific tools, specific output, etc) there is a # possibility you will end up with a broken system after patching or # upgrading. Changes are not supported unless under direction of # VMware support. # Note: This script will not be run when UEFI secure boot is enabled. echo "Start Starwind" vim-cmd vmsvc/getallvms | grep "SRV-SW-LOCAL" | cut -d " " -f 1 | xargs vim-cmd vmsvc/power.on # On attend que la VM soit UP sleep 120 # On analyse les stockages iSCSI esxcli storage core adapter rescan --all # On fait une pause de quelques secondes pour attendre la MAJ de la conf sleep 20 # Le boot de l'ESXI reprend exit 0