Créer/Supprimer des Snapshots depuis la console sous ESXi

Créer/Supprimer des Snapshots depuis la console sous ESXi 1

Pour l’accès à la console de ESXi, merci de lire cet article et cet article

Il est possible de créer un SnapShot nommé « vcb_snap » depuis la console SSH de ESXi avec la séquence suivante :

[shell]export VM_NAME=xp
export VMWARE_CMD=/bin/vim-cmd
echo "VM_NAME: $VM_NAME"
# get VM_ID
${VMWARE_CMD} vmsvc/getallvms | sed ‘s/[[:blank:]]{3,}/   /g’ | awk -F’   ‘ ‘{print """$1"";""$2"";""$3"""}’ |  sed ‘s/] /]";"/g’ | sed ‘1,1d’ > /tmp/vms_list
export VM_ID=’grep -E ""${VM_NAME}"" /tmp/vms_list | awk -F ";" ‘{print $1}’ | sed ‘s/"//g”
echo "VM_ID: $VM_ID"
echo "Create snapshot"
${VMWARE_CMD} vmsvc/snapshot.create ${VM_ID} vcb_snap VCB_BACKUP_${VM_NAME}_’date +%F'[/shell]

La procédure est un peu complexe car les outils en mode console ne savent pas exploiter le nom des VM, seulement l’identifiant interne à ESXi. La première partie du code retrouve le code associé à une VM.

La suppression du SnapShot est un peu plus complexe car il existe bien une commande “snapshot.remove” mais elle est très mal documentée. L’exemple ci-dessous semble fonctionner même s’il génère une erreur. La première partie du code liste les caractéristiques de tous les snapshots de la VM et traite le fichier résultant pour calculer le nombre de SnapShots associés à la VM (4 Snapshots numérotés de 0 à 3, par exemple). Le script supprime simplement le dernier.

[shell]export VM_NAME=xp
export VMWARE_CMD=/bin/vim-cmd
echo "VM_NAME: $VM_NAME"
${VMWARE_CMD} vmsvc/snapshot.get ${VM_ID} > /tmp/snp_list
export SNP_COUNT=’grep datastoreUrl /tmp/snp_list|wc -l’
let "SNP_COUNT=$SNP_COUNT-1"
echo "remove snapshot $SNP_COUNT"
${VMWARE_CMD} vmsvc/snapshot.remove ${VM_ID} vcb_snap ${SNP_COUNT}[/shell]

A propos Olivier Olejniczak

Cofondateur de SynerGeek.fr. Passionné d'informatique, je m'intéresse plus particulièrement aux technologies de virtualisation et de stockage. J'apprécie la liberté et la quasi-absence de frontières à mon imagination qu'offre l'OpenSource et Linux. Professionnellement, je travaille exclusivement avec les outils Microsoft. Les pieds bien sur terre et ancrés dans le quotidien de l'entreprise, j'aime faire partager mes découvertes et contribuer à un meilleur usage des technologies. Vous aussi, rejoignez-nous sur Synergeek et partagez votre expérience!

Je vous propose également...

J'ai tout cassé mon Xpenology 2

J’ai tout cassé mon Xpenology

Cette semaine, je me suis offert un disque SSD, un Intel 530 de 240 Go, suite à la vente d'un vrai Synology CS-407. L'objectif étant de m'en servir pour héberger mes VM du HP N54L. Tout content, je m'empresse de déplacer mes quelques VM, Ubuntu, Debian, Zeroshell, Pfsense, Win 7 et enfin Xpenology... Et là c'est le drame !!!

Utiliser un disque en Raw Device Mapping (RDM) pour Xpenology 3

Utiliser un disque en Raw Device Mapping (RDM) pour Xpenology

Suite à mon dernier article sur l'installation des VmWare tools sur la VM Xpenology, un lecteur m'a rapporté en commentaire quelques soucis pour intégrer un disque en RDM. Comme je ne m'étais pas fait de doc, c'est l'occasion de me rappeler la procédure.

5 commentaires

  1. Salut,Merci pour le script et Bonne Annéeje suis en train de faire joujou avec ESXi free pour des expérimentations au boulot et je voulais savoir si l’un de vous sait comment faire pour que le snapshot soit en mode power on pour que lorsque qu’on fait un revert cela lance directement la VM (ou la mette au moins en suspend)merciwad

  2. Merci j’ai trouvé dans le script:)

    Bonne continuation à ce superbe Blog

    • Super !Merci beaucoup de le script corrigé”Je le remet au cas ou quelqu’un aurai le meme bug
      d’affichage${VMWARE_CMD} vmsvc/getallvms | sed ‘s/[[:blank:]]{3,}/ /g’
      | awk -F’ ‘ ‘{print “””$1″”;””$2″”;””$3″””}’ | sed ‘s/]
      /]”;”/g’ | sed ‘1,1d’ > /tmp/vms_list”

  3. EuhCa fait un moment que j’ai pas utilisé ce script. Je vais essayer de jeter un coup d’oeil mais j’ai pas beaucoup de temps en ce moment.De mémoire, il est issue d’une analyse du code de ghettoVCB.sh. Si tu es très pressé, jette un coup d’oeil à http://communities.vmware.com/docs/DOC-8760

  4. Bonjour,apparament il y a un probleme dans l’affichage du code : ${VMWARE_CMD} vmsvc/getallvms | sed ’s/[[:blank:]]{3,}/   /g’ | awk -F’   ‘ ‘{print «  »”$1″ »; »”$2″ »; »”$3″ »”}’ |  sed ’s/] /] »; »/g’ | sed ‘1,1d’ > /tmp/vms_listpouvez vous corriger ou me l’envoyer svp ?Et encore merci pour toutes les astuces 🙂