Sauvegarder des machines virtuelles ESXi: 1ère partie


Sauvegarder des machines virtuelles ESXi: 1ère partie 1

Je débute ici une série de six articles traitant des sauvegardes des machines virtuelles sous  VMware ESXi.

Cette première partie va présenter les outils mis à disposition par Vmware puis, comment ouvrir l’accès SSH à ESXi, afin de réaliser des sauvegardes depuis la ligne de commande.

Que sauvegarder?

Les fichiers qui composent des machines virtuelles sont principalement de 5 types :

  • .vmx : le fichier de configuration de la machine virtuelle,
  • .vmdk: le fichier de metadata (c.a.d. configuration) d’un disque virtuel,
  • -flat.vmdk: le fichier contenant les données du disque virtuel,
  • .vmsn: le fichier de metadata d’un disque de snapshot,
  • -delta.vmdk: le fichier contenant les données du snapshot de fichier virtuel.

Dans le cadre d’une sauvegarde de VM, il est avant tout essentiel de sauvegarde les fichiers de disque soit les .vmdk et –flat.vmdk. Selon l’interface que l’on utilise pour se connecter à ESXi les fichiers –flat.vmdk peuvent ou pas être affichés.

Toutes les procédures décrites dans ce document requièrent les droits d’administration sur l’ESXi.

Sauvegarde depuis « Vmware Infrastructure Client »

« Vmware Infrastructure Client » est une interface graphique d’administration de ESXi pour Windows. Elle propose également un module de gestion de datastore avec la possibilité de transferts de fichiers en « upload » et en « download ». Vous pouvez utiliser le bouton « download » pour sauvegarder les fichiers .vmdk. Néanmoins, cette approche manuelle est assez fastidieuse et particulièrement lente.

Sauvegarder des machines virtuelles ESXi: 1ère partie 2

Sauvegarder des machines virtuelles ESXi: 1ère partie 3

Sauvegarder des machines virtuelles ESXi: 1ère partie 4

Sauvegarder des machines virtuelles ESXi: 1ère partie 5

Depuis l’interface WEB

Esxi dispose également d’une interface WEB pour accéder aux datastore. Elle est accessible depuis l’URL https://IP du server.

Sauvegarder des machines virtuelles ESXi: 1ère partie 6

Sauvegarder des machines virtuelles ESXi: 1ère partie 7

Sauvegarder des machines virtuelles ESXi: 1ère partie 8

Cette approche manuelle est assez fastidieuse et particulièrement lente.

Depuis l’interface SSH

Esxi ne dispose pas d’une interface en ligne de commande à l’OS Linux sous-jacent au moteur de virtualisation. Toutefois, cette fonctionnalité peut être activée mais elle est non documentée et non supportée par Vmware.

Ouvrir l’interface SSH de ESXi

La procédure est décrite ici.

Interagir avec la console SSH de ESXi depuis Windows

Les outils permettant de dialoguer depuis Windows avec la console de ESXi au travers du protocole SSH sont décrits ici.

Accéder aux fichiers de VM depuis la console

Les fichiers qui composent les machines virtuelles sont stockées dans le dossier « /vmfs/volumes ». L’arborescence sous-jacente reprend les noms de datastore. Tous datastores locaux (disques de l’ESXi) ou distants (NFS, iSCSI ou FiberChannel) sont accessibles de façon transparents. Chaque datastore est accessibles depuis deux dossiers : l’un au nom alphanumérique du datastore, l’un avec code interne. En retrouve ensuite dans l’arborescence de chaque datastore, les dossiers au nom de chaque VM. Ce dossier contient tout le fichier de la VM.

Si l’on crée un VM depuis l’assistant, tous les fichiers de la VM sont stockés dans un même datastore, dans un dossier au nom la VM et le nom des  disques virtuels de la VM sont de la forme « nom de la VM »*.vmdk.

Copie vers datastore avec « cp »

La commande Linux pour copier le disque virtuel « xp.vmdk » du dossier « xp » sur « datastore1 » vers « datastore2 » est :

  cp –v /vmfs/volumes/datastore1/xp/xp.vmdk /vmfs/volumes/datastore2/xp.vmdk

Cette approche est un peu plus complexe à mettre en œuvre que les méthodes de sauvegarde précédentes mais elle semble moins  lourde en terme de charge réseau. Par contre, la commande « cp » semble ralentir le fonctionnement de ESXi.

Copie vers datastore avec vmkfstools

Vmware fournit un outil plus efficace que « cp » : vmkfstools.

La commande Linux pour copier le disque virtuel « xp.vmdk » du dossier « xp » sur « datastore1 » vers « datastore2 » est :

   vmkfstool –i /vmfs/volumes/datastore1/xp/xp.vmdk /vmfs/volumes/datastore2/xp.vmdk

Cette commande est beaucoup plus respectueuse du fonctionnement de ESXi et ralenti moins les VM.

Copie vers datastore avec vmkfstools (mode « Thin»)

« vmkfstools» dispose d’une option forte intéressante : le mode « Thin». Avec cette option, seuls les secteurs utilisés du disque sont effectivement copiés. Ainsi, si la VM dispose d’un disque de 20Go dont seulement 2Go sont utilisés, la copie ne portera que sur 2Go. Le temps de sauvegarde est considérablement réduit.

La commande Linux pour copier le disque virtuel « xp.vmdk » du dossier « xp » sur « datastore1 » vers « datastore2 » est :

   vmkfstool –i /vmfs/volumes/datastore1/xp/xp.vmdk –d thin /vmfs/volumes/datastore2/xp.vmdk

Le fait qu’un disque virtuel soit “Thin” ou  “Fat” n’affecte pas le fonctionnement de ESXi qui rapportera toujours la taille du disque “Fat”. Notamment, si votre datastore a une capacité de 100Go, le fait que le disque « xp.vmdk » occupe réellement 2Go pour 20Go déclaré ne permettra pas de créer plus de 5 VM.

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 9

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 10

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.

10 commentaires

  1. L’objectif d’une version free pour un produit commercial, c’est de faire goûter au produit… sans donner la possibilité de le mettre en production sur du plus long terme, sinon qui achèterait?
    Avec les versions précédentes d’Esx free, il était possible de “bidouiller” dans la console pour sauvegarder et éventuellement de planifier cette tâche mais il me semble que cela ne soit plus possible.
    C’est d’ailleurs la raison pour laquelle nous avons choisi Proxmox comme plateforme de virtu que nous utilisons comme labo et qui héberge SynerGeek.fr.

  2. Bonjour à tous

    Je souhaitais savoir si il existe un produit meme payant qui sauvegarde les vms esxi et hyper-v, mais d’un esx free.
    par exemple veeam en version payante lui ne fonctionne pas.
    que la version free mais la version free ne peu etre planifier et ne sauvegarde qu’une vm a la fois.

    Merci de vos lumière

  3. Je recommande la solution Veeam Backup.
    Une edition Free est dispo pour vSphere et Hyper-V.

    Les perfs sont super bonne et le produit est très facile d’usage

  4. Bonjour les experts
    J’aimerais transférer l’ensemble des fichiers qui compose une VM (.vmx, .vmdk… etc) qui se trouve sur un disque dur Externe en USB vers un Datastore local d’un ESXi en utilisant vmkfstools ou CP.

    En ligne de commande je vois comment trouver la cible mais comment spécifier la source?
    Faut-il monter ce disque dur avant? par un mount comme sur un linux?

    car le transfert via vClient est vraiment vraiment lent…

    Merci pour votre réponse
    bonne soirée

    cordialement

  5. salut est qu’on peut faire la saunegarde des VM sur le reseau via le script ghettoVCB.sh c’est à dire sur un autre serveur (robot de sauvegarde) situé sur le LAN??

  6. Bonjour,

    Cette commande marche telle à chaud? (quand la machine tourne toujours)

  7. Bonjour, oui je fait une copie d’une VM sur le même datastore (RAID5) et ce en local via Putty.
    Cdt,

  8. Pas évident de vous aider sur ce coup… J’ai eu moi-même quelques soucis avec des partages NFS.
    Mais d’après la commande, vous faites la sauvegarde/copie sur un disque local du serveur hote non ?

  9. Bonjour,
    encore merci pour tous vos tutos…

    Cette technique marchais parfaitement jusqu’à là mais depuis hier j’ai cette erreur ?

    ~ # vmkfstools -i /vmfs/volumes/esxi1_RAID5/machine1/machine1.vmdk /vmfs/volumes/esxi1_RAID5/machine7/machine7.vmdk
    Destination disk format: Thin
    Cloning disk ‘/vmfs/volumes/esxi1_RAID5/machine1/machine1.vmdk’…
    Failed to clone disk: The system cannot find the file specified (25).

    J’ai juste ajouter depuis des datastores distants NFS, en est-ce la cause ?
    Cordialement,