Dupliquer une VM VMware-Server

L'installation d'une VM peut parfois être longue et il est utile de savoir dupliquer une VM. Ainsi on peut créer une référence, l'archiver et utiliser une copie pour des tests.
Cette méthode s'applique également aux transferts de VM d'un PC à l'autre.

Cette duplication de VM ne s'applique évidemment qu'à des OS Open Source non soumis au principe de clef d'enregistrement comme Windows !
Si vous créez une VM contenant l'une des versions de l'OS de Redmond, vous devez évidemment avoir acquitté la licence et vous devrez disposer d'une nouvelle licence pour toute copie de la VM.

La copie et l'archivage des VM s'applique de la même façon pour les outils VMware-Player, VMware-Workstation et VMware-Server.

Après avoir installé VMware-Server, vous avez créé votre première VM contenant l'OS que vous désirez tester. Le résultat est un dossier contenant plusieurs fichiers.

Si vous testez la prochaine version de Ubuntu  vous aurez certainement nommé la VM Ubuntu-8-10 ; si le test porte sur la prochaine Fedora,  la VM s'pourrait appeller Fedora-10.
Pour ne pas faire de jaloux entre les partisans de ces 2 distributions, je choisis comme nom VM-TEST !

Contenu d'une VM

Ayant créé ma VM VM-TEST, j'obtiens donc un dossier $HOME/Vmware/VM-TEST qui contient plusieurs fichiers. Deux fichiers sont important et me semble t-il, ce sont les seuls à devoir être sauvegardé :

  •  $HOME/Vmware/VM-TEST/VM-TEST.vmx : c'est le fichier de configuration de la VM
  •  $HOME/Vmware/VM-TEST/VM-TEST.vmdk : c'est le disque virtuel de la VM. Si vous avez cocher l'option d'attribuer l'espace pour le disque virtuel, alors il a une taille égale à cet espace virtuel. Sinon il est petit (quelques Mo) tant qu'aucun système n'a été installé.
    Si vous avez chois l'option de scinder le disque virtuel en plusieurs fichier de 2Go, alors vous avez un fichier VM-TEST.vmdk et plusieurs VM-TEST.vmdk-X.

Archiver une VM

Il suffit de construire une archive avec les commandes :

cd $HOME/Vmware
tar cvf VM-TEST.tar VM-TEST
gzip VM-TEST.tar

Au final on obtient un fichier VM-TEST.tar.gz qui est facile à sauvegarder.

Dupliquer une VM

Pour dupliquer une VM, on peut partir de l'archive VM-TEST.tar.gz obtenue précédemment ou copier la VM-TEST sous un autre nom.

Pour extraire le contenu de l'archive, il faut utiliser la commande :

tar xpfz  VM-TEST.tar.gz

Lors de l'extraction des données de l'archive, le répertoireVM-TEST est créé. Il ne faut donc pas réaliser cette opération dans une dossier contenant une VM du même nom, sinon il y aura des dégats !

Pour copier une VM existante, il faut utiliser la commande :

cp -r VM-TEST VM-NEW-TEST

Mettre à jour les fichiers d'une copie de VM

Après avoir copié une VM, ou obtenue une copie depuis une archive, les fichiers de configuration ont toujours leur nom d'origine (VM-TEST.vmx et VM-TEST.vmdk). Pour avoir une VM cohérente, il est possible de renommer les fichiers, mais il faut aussi mettre à jour le contenu du fichier vmx.

Pour renommer les fichiers :

mv VM-TEST.vmx VM-NEW-TEST.vmx
mv VM-TEST.vmdk VM-NEW-TEST.vmdk

Pour mettre à jour les données de configuration :

sed -i.bak "s/VM-TEST/VM-NEW-TEST/" VM-NEW-TEST.vmx

Il ne reste plus qu'à ouvrir la nouvelle VM avec VMware-Server.

Lors du démarrage de la VM copiée, une fenêtre apparait demandant de générer de nouvelle clef pour la VM, il faut accepter et ne pas garder les anciennes. Cela correspond aux HostID et à la Mac Addresse de la VM. Si plusieurs VM sont raccordées à un même réseau en DHCP, l'utilisation de la même Mac Adresse peut provoquer des effets innattendus !