[Tuto] Arrêt automatique de VMware ESXi

Dans le cadre de mon infrastructure personnel, j’ai décidé d’éteindre l’ensemble de mes serveurs durant la nuit afin d’économiser l’énergie élèctrique.
Fonctionnant sous VMware ESXi 6.0, j’ai plannifié plusieurs taches afin que dans un premier temps, les VMs sont arrêtés proprement et de même pour l’hyperviseur dans un second temps.
Pour ce faire, nous allons procédés en deux étapes :

1 – Plannifier l’arrêt des VMs
2 – Plannifier l’arrêt de l’hyperviseur

.

Plannifier l’arrêt des VMs

Vous devez disposer de VMware vCenter pour plannifier l’arrêt des VMs et ces derniers doivent disposés des VMwareTools.

Pour commencer, connectez-vous sur vCenter et sur la page d’accueil choisissez “Taches Plannifiées” dans la rubrique “Gestion


En haut à gauche, cliquez sur “Nouveau” puis dans la liste déroulante choisissez “Changer l’état d’alimentation VM


Une nouvelle fenêtre apparait, choisissez la VM que vous voulez programmer un changement d’état d’alimentation.
Dans mon cas, Centreon.


Vous devez ensuite choisir une option d’alimentation.

Activer : Allume une VM
Désactiver : Eteint une VM (brutalement, correspond à un débranchement éléctrique)
Arrêter : Eteint la VM proprement (nécessite VMwareTools)
Interrompre : Met la VM en pause (nécessite VMwareTools)
Réinitialiser : Redémarre la VM (nécessite VMwareTools)

Le mieux, c’est de choisir “Arrêter” pour ne pas avoir de problème.

Ensuite, nous allons devoir choisir la période et la fréquence de la tâches.
Dans mon cas, la VM Centreon s’arrêtera tout les jours à 00:45.


La prochaine étapes est facultatif, vous pouvez envoyer une notification par e-mail vous informant que la tâches à correctement (ou pas) réaliser.
Ensuite, la dernière étape est un récapitulatif de la plannification.

Vous devez répétez l’opération pour toutes vos VMs.



.

Plannifier l’arrêt de l’hyperviseur

VMware ESXi fonctionne sur une base Linux, et dispose donc de CRON qui va nous permettre de programmer une tâches d’arrêt de l’hyperviseur.
Pour ce faire, il faut commencer par activer SSH sur l’hyperviseur.
Ensuite connectez-vous via un terminal Linux ou Kitty (par example) sur Windows.



Rajoutez ensuite la ligne suivante dans le fichier /var/spool/cron/crontabs/root :

[root@esxi:~] vi /var/spool/cron/crontabs/root
0    1    *   *   *   /sbin/halt

Cette tache permet d’éteindre l’hyperviseur tout les jours à 1h du matin, soit 15 minutes après l’arrêt des VMs.

/!\ Pour ma part, mon hyperviseur l’heure de mon hyperviseur est reculée de deux heures et je ne sais pas pourquoi ni comment modifier car dans l’interface vSphere Client, ce dernier est bien configurer avec un serveur NTP et dispose de la bonne heure, mais en me connectant en SSH l’heure est reculée de deux heures.
Si quelqu’un sait comment remédier, je suis preneur.

Ce qui fait que au lieu de programmer la tâche à 1h du matin je l’ai programmer à 23h.

[root@esxi:~] date
Sun Aug 28 17:02:34 UTC 2016

Ensuite il va falloir redémarrer le processus CRON pour appliquer les modifications.

[root@esxi:~] cat /var/run/crond.pid
12345

[root@esxi:~] kill 12345

[root@esxi:~] /usr/lib/vmware/busybox/bin/busybox crond

Il faut savoir que la tâche CRON sera effacé au prochain redémarrage, nous allons donc re-générer la tâche CRON automatiquement au rédémarrage.

Modifier le fichier /etc/rc.local.d/local.sh et ajouter les lignes suivantes :
(Pour info, ce fichier permet d’éxécuter des commandes au démarrage)

[root@esxi:~] vi /etc/rc.local.d/local.sh
/bin/kill $(cat /var/run/crond.pid)
/bin/echo '0    23    *   *   *   /sbin/halt' >> /var/spool/cron/crontabs/root
/usr/lib/vmware/busybox/bin/busybox crond

Et voilà ! Pour ma part j’utilise cette méthode pour éteindre proprement mes VMs et mon Hyperviseur tous les jours à 1h du matin. J’espère que ce tutoriel aidera certain d’entre vous et n’hésitez pas à poser des questions, faire une remarque ou autres 🙂
Enjoy 😉

2 thoughts on “[Tuto] Arrêt automatique de VMware ESXi

    1. Bonjour,

      En effet, il y a bien eu un bug sur cet article.
      Le contenu de l’article est désormais conforme au sujet.

      Je vous remercie pour cette remarque,
      Bonne journée 🙂

Laisser un commentaire

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