IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VMware Discussion :

[VMWare][Mise en pause des ESX]


Sujet :

VMware

  1. #1
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mars 2007
    Messages : 185
    Points : 134
    Points
    134
    Par défaut [VMWare][Mise en pause des ESX]
    Bonjour,

    Je viens de déployer un VCenter avec deux ESX en clusters connectés sur un SAN IScsi. L'ensemble est racké et alimenté par un onduleur APC. L'onduleur APC est managé par un serveur complémentaire qui gère la sauvegarde (Veeam Backup + Arc Serv pour l'archivage, client Exchange, et l'extériorisation des sauvegardes).

    L'idée est qu'en cas de coupure électrique la console APC lance un script bat, qui à son tour via un tunnel SSH (crée par Putty) lance un script de mise en pause sur les ESX. J'ai autorisé la connexion SSH du PC de sauvegarde sur chacun des ESX, les ESX autorise la connexion en root en SSH via l'IP du PC, tout va bien de ce côté.

    Voici le script BAT lancé par la console APC:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Rem ###############################################################################################
    Rem # Add - Théo - 13/07/2009
    Rem # Mod - Théo - 23/07/2009
    Rem # Script de fermeture des serveurs en cas de coupure électrique
    Rem # Installer sc.exe dans win32 ainsi que le fichier pscp.exe et psftp.exe livré avec putty
    Rem # Configurer les sessions putty ESX1 sur l'IP 192.168.10.1
    Rem #				    ESX2 sur l'IP 192.168.10.2
    Rem # Penser à autoriser la connexion SSH sur les ESX
    Rem # Script lancé par le serveur UPSAPC sur DIDEROT
    Rem # Tous les serveurs en cours d'activité sont automatiquement mis en pause
    Rem #
    Rem ###############################################################################################
    @echo off
    echo ATTENTION!
    echo COUPURE DES SERVICES RESAUX POUR CAUSE ELECTRIQUE
    echo --
    echo Fermer cette fenetre pour annuler (avec la croix ou Ctrl + C)
    
    Rem # Mise en attente
    ping 127.0.01 -n 5 -w 1000 > nul
    
    Rem # Prévention des utilisateurs
    net send * ATTENTION, en raison de la coupure électrique arrêt de tous les serveurs dans 3 minutes
    ping 127.0.01 -n 5 -w 1000 > nul
    putty -load xxxxxxxx -l root -pw xxxxxxxxx-m C:\BAT\preventionArret.sh
    
    Rem # Mise en attente de 3 minutes
    ping 127.0.01 -n 180 -w 1000 > nul
    
    Rem # Mise en pause des VM et arrêt des ESX
    putty -load ESX1 -l root -pw xxxxxxxxxx -m C:\BAT\arretVM.sh
    putty -load ESX2 -l root -pw xxxxxxxxxx -m C:\BAT\arretVM.sh
    
    Rem # Arrêt du serveur
    shutdown -s -f
    Voici le script que je lance et qui devrait mettre en pause toutes les VM puis arrêter l'ESX.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    # NEW - 23/07/2009 - Théo
    # Script de mise en pause automatique des VM en cas de coupure électrique
    #########################################################################
    
    # Log du shutdown
    echo `date` " - Coupure éléctrique, début de la mise en pause des VM" >> /var/log/powershutdown.log;
    
    # Récupération de la liste des VM sur l'ESX
    for str_file in `vmware-cmd -l`;
    
    	# Récupération du statut de la VM
    	do str_status=`vmware-cmd $str_file getstate`;
    	bool_status=$(echo $str_status | cut -d" " -f3);
    	str_name=$(echo $str_file | cut -d"/" -f5);
    
    	# Si la VM est ON on essaye de la mettre en pause
    	if [ $bool_status = "on" ];
    		then `vmware-cmd $str_file suspend`;
    
    			# Récupération du nouveau statut de la VM
    			str_new_status=`vmware-cmd $str_file getstate`;
    			bool_new_status=$(echo $str_new_status | cut -d" " -f3);
    
    			# Log de la réussite ou de l'échec de la mise en pause
    			if [ $bool_status = "suspend" ];
    				then echo "Serveur " $str_name " suspendu avec succès." >> /var/log/powershutdown.log;
    				else echo "Serveur " $str_name " non suspendu." >> /var/log/powershutdown.log;
    			fi;
    		else "Serveur " $str_name " déjà inactif ou suspendu." >> /var/log/powershutdown.log;
    	fi;
    	done;
    
    # Arrêt de l'ESX
    shutdown -h now
    Je rencontre deux problèmes:
    1. Apparemment si Veeam Backup pendant ce temps travaille ça met la zone, comment arrêter le job de Veeam de manière propre avant d'arrêter les VM?

    2. Après quelques tests, je m'aperçois que la mise en pause n'est pas détectée alors qu'elle a bien lieu. C'est à dire qu'après le `suspend`, le `getstate`met un certain temps à se rafraichir..... Vous avez une idée sur la manière de récupérer à coup sur le nouvel état de la VM après la mise en pause pour vérifier la réussite ou l'échec de l'action ?

    Merci de votre aide, Théolude.

  2. #2
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mars 2007
    Messages : 185
    Points : 134
    Points
    134
    Par défaut
    Citation Envoyé par Théolude Voir le message
    1. Apparemment si Veeam Backup pendant ce temps travaille ça met la zone, comment arrêter le job de Veeam de manière propre avant d'arrêter les VM?
    Ce que je voulais éviter mais que je peux toujours faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rem # Arrêt préventif des jobs de Veeam Backup
    NET STOP VeeamBackupService.exe
    Simplement je ne sais pas trop ce qu'il se passe dans le cas ou un job est en cours ...

    Merci de votre aide, Théolude

Discussions similaires

  1. Thread problème de mise en pause dans des éléments Swing
    Par Balbuzard dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 25/08/2008, 10h54
  2. mise a jours des données sous access
    Par puyopuyo dans le forum ASP
    Réponses: 4
    Dernier message: 25/05/2004, 13h46
  3. Mises à jour des paquetages en mode console
    Par Memnoch31 dans le forum Debian
    Réponses: 6
    Dernier message: 16/05/2004, 17h30
  4. [MFC] Mise à jour dimension des CDialogBar
    Par Kevgeii dans le forum MFC
    Réponses: 2
    Dernier message: 14/01/2004, 23h47
  5. [] [Install] Problème de mise à jour des dll
    Par pepper dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 23/01/2003, 23h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo