Copier une VM facilement sous ESX
Rédigé par gorki Aucun commentaireLe problème :
Un petit souci de gestion de VM sous VMWare ESX 5.
Alors oui je sais, normalement on fait du Ansible, Stack, Puppet pour les anciens pas si anciens.
Mais dans mon cas, je duplique 1 VM par an et je n'ai pas forcément ces outils à disposition au moment de le faire.
Solution :
Assez simple à faire si la VM est bien pensée au départ (windows ou linux) :
- un disque système
- un disque par user (oracle, myuser,...)
Donc la marche à suivre :
- on se loggue en ssh sur l'ESX
- on va dans le répertoire des images : /vmfs/xxxx
- on duplique la VM en copiant le répertoire dans un nouveau (la VM a été préalablement arrêtée)
- dans le nouveau répertoire :
- on a les fichiers disques (*vmdk, *-flat.vmdk)
- on a le descripteur de VM (vmx, vmxf, vmxd, nvram)
- on renomme les fichiers descripteurs avec le nouveau nom
- on modifie dans les fichiers descripteurs les références à l'ancien nom
- on install la VM
Exemple de références :
// Fichier vmxf (référence au fichier vmx) :
<vmxPathName type="string">oldvm.vmx</vmxPathName>
// Fichier vmx :
// propriété qui peut-être supprimé :
sched.swap.derivedName
// à modifier :
extendedConfigFile="oldvm.vmxf"
// si les noms des disques sont en absolus, pensez-y, en relatif, pas de soucis
Dans l'exploration du stockage :
- sélectionner le fichier vmx
- installer
- ouvrir la console et lancer la VM
- cliquer sur "je l'ai copié"
Ensuite vu que c'est une VM copiée, modifer dans la VM (une fois lancée) :
- le hostname
- l'IP si pas de DHCP
- attention aux programmes qui peuvent utiliser l'IP externe (listener oracle par exemple)
- sous linux : le routage (/etc/hosts)
- sous linux : le montage des disques si l'UID a changé et qu'il n'est pas autodécté : (/etc/fstab)