dijous, 6 de desembre del 2007

Com clonar una màquina virtual VMWare

La vida és molt més fantàstica des de que la gent de VMWare va alliberar la versió server, i podem crear màquines virtuals (Virtual Machines) sense cost de llicència a la màquina servidora.

Una bona pràctica és tenir una màquina virtual 'neta' a modus de maqueta, i així que tenim necesitat, la copiem i treballem en aquesta nova.

La versió Workstation de VMWare, de pagament, te una comanda per a clonar màquines. Per a la versió Server, de franc, s'ha de fer un seguit d'accions manualment.

- Copiar la maqueta a la nova ubicació.
Primer de tot em d'assegurar-nos de no tenir cap SnapShot. Si en tenim cal esborrar-lo fent des de la Server Console menú VM/Snapshot/Remove Snapshot.
Al directori on tenim les màquines virtuals fem
cp -dpR Ubuntu606-neta/ 20070A000008
Això pot trigar una estona llarga segons la mida del disc de la maqueta. Per a una màquina amb un disc de 8GB triga uns 5 minuts.
En aquest cas el nom destí de la màquina virutal és el codi de pressupost, però evidentment podem posar el que més ens agradi.

- Canviar el nom del disc.
Un cop dins del directori destí, amb la utilitat vmware-diskmanager canviarem el nom dels arxius que composen el disc fent
vmware-vdiskmanager -n Ubuntu606-neta.vmdk 20070A000008.vmdk

- Canviar els arxius de configuració.
Canviarem el nom dels arxius de configuració, i amb la comanda sed modificarem el contingut.
mv Ubuntu606-neta.vmx 20070A000008.vmx
sed -i 's/Ubuntu606-neta/20070A000008/' 20070A000008.vmx

Ja tenim els arxius preparats.

Des de la consola del VMWare Server obrim la nova màquina al menú File/Open/Browse.
VMWare detectarà que s'ha fet una còpia i ens preguntarà si volem crear un nou identificador únic UUID. Premem el botó create.

Si tot va bé, que ha d'anar, ja tindrem una nova màquina imatge de la maqueta original totalment operativa.

Un cop loguinejats a la nova màquina, farem amb privilegis de root hostname 20070A000008
sed -i '/s/ubuntu606/20070A000008/' /etc/hosts
sed -i '/s/ubuntu606/20070A000008/' /etc/hostname
per caviar el nom del sistema acord a la nova màquina i rebotem amb
shutdown -r now