Clonar Máquinas Virtuales en VMware Server 2.0.2 sobre Ubuntu 8.10 server

Imagen de YankuSa

Tema: 

;) Actualmente he desarrollado un pequeño proyecto para implementar un laboratorio virtual de computadoras que pueda ser accesado de forma local y remota, tanto para servicio para usuarios como tambien para la administración remota, el acceso es desde la consola de vmaware vía web (VMware Infraestructure Web Access).
Todo esta basado en software libre, utilizo un euipo anfitrión el IBM X3400 M2 con 2 discos duros SAS HOT SWAP de 300 GB C/U gestionados mediante una controladora LSI Logic MegaRAID, personalmente he decidido darles un arreglo de discos en RAID 1 que según se dice la mas alta redundancia y además es lo que soporta la controladorá (RAID 0, 1, 1E), memoria RAM de 10 GB. Tiene capacidad de dar servicios a 20 usuarios simultaneamente (20 VMs /Virtual Machines/), con vmware podemos configurar las interfaces de red en tres formas: bridge, host only y NAT, todas de gran utilidad dependiendo de las necesidades y requerimeintos.

Las maquinas virtuales están en funcionamiento y en servicio para una materia optativa en el instituto, denominada Introducción a la Seguridad Telemática.

Sólo me enfocaré en explicar la clonación de equipos ya que esta opción no lo trae el vmware server por ser una versión gratuita.

Para empezar pensaré que ya tendrán instalado el vmware server 2.0.2 en ubuntu 8.10 server (comento que en versiones moyores encontré mucha incompativilidad con este producto, por lo que de ser posible recomiendo utilizar estas versiones mencionadas, tanto para ubuntu como par vmware). Tambien pensaré que ya tendrán instalado y configurado la VM Original (del que se derivaran todas) para desplegar un laboratorio de computo, incluso ya instaladas las denominadas VMware Tools (si no saben como hacerlo dependiendo del requerimeinto explicaré en una próxima entrega) que nos ayudarán a mejorar la eficiencia de los equipos y a la vez integra una gran cntidad de controladoras que ayudaraán a mejorar en gran manera el rendimiento de las VMs.

Se necesita conocer algo sobre manejo de la consola de Linux (yo tambien soy principiante pero muy afanado) y nos valerémos de la instancia "vmware-vim-cmd" que es una potente herramienta para la gestión y administración de VMs desde la terminal (consola de linux).

Una vez realizado esto debemos iniciar la VM desde la consola de Linux mediante la siguiente instrucción:
sudo vmware-vim-cmd –U user –P password vmscvc/getallvms
Donde: user es el usuario administrador de vmware y password obviamente la contraseña.

Luego de ejecutar este comando podremos observar la ID de la VM de VMware Server

El dato importante es la ID de cada VM (en este caso es 912) que nos sirve para ejecutar la siguiente instrucción:
sudo vmware-vim-cmd –U user –P password vmscvc/power.on 912

Con esta instrucción estamos encendiendo la Virtual Machine0 con ID= 912 (vmid) sin necesidad de hacer login en la VMware Infraestructure Web Access.
Una vez iniciado se ejecuta el comando siguiente:
sudo vmware-vim-cmd –U user –P password vmscvc/power.suspend 912

Este comando manda a suspender a la maquina virtual y deja listo para proceder con la copia (clonado) del mismo, que es lo que recomiendan los ingenieros de VMware.

Con este paso importante empezamos a copiar la máquina padre con el fin de replicar copias exactas tal como sucede en un laboratorio real. Por ejemplo si nuestra VM padre es la Virtual Machine0, copiaremos en el mismo directorio (/var/lib/vmaware/Virtual Machines/) por defecto y renombraremos la carpeta con Virual Machine1 y todo su contenido y sucesivamente hasta completar el número de VMs deseados.

NOTA: Se puede copiar desde consola con el comando (cp), pero para mi caso me hizo mas fácil tener un usuario "root" con los privilegios de "sudo" y entonces puedo copiar normalmente sin restricciones como si se tratase de Windows. Esto quiere decir que en mi caso yo he instalado el escriotrio basico GNOME para poder insteractuar con los directorios y administrar de manera amigable al tipo windows.

Luego de esto deberemos también modificar los datos en el archivo .vmx (también se recomienda un pequeño cambio en la VmxPathName del archivo .vmxf), que es donde se encuentra toda la información referente a la arquitectura del hardware (Ethernet, USB, ranuras PCI, MAC, VMCI, BIOS, RAM, etc). El archivo .vmx se puede apreciar a continuación:

Vista del archivo .vmx
#!/usr/bin/vmware
.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "7"
floppy0.present = "FALSE"
mks.enable3d = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
nvram = "Virtual Machine1.nvram"
virtualHW.productCompatibility = "hosted"
ft.secondary0.enabled = "TRUE"
tools.upgrade.policy = "useGlobal"
powerType.powerOff = "soft"
powerType.powerOn = "hard"
powerType.suspend = "hard"
powerType.reset = "soft"

displayName = "Virtual Machine1"
extendedConfigFile = "Virtual Machine1.vmxf"
scsi0.present = "TRUE"
scsi0.sharedBus = "none"
scsi0.virtualDev = "lsilogic"
memsize = "300"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "Virtual Machine1.vmdk"
scsi0:0.writeThrough = "TRUE"
ide1:0.present = "TRUE"
ide1:0.fileName = "/usr/lib/vmware/isoimages/linux.iso"
ide1:0.deviceType = "cdrom-image"
ide1:0.allowGuestConnectionControl = "FALSE"
ethernet0.present = "TRUE"
ethernet0.allowGuestConnectionControl = "FALSE"
ethernet0.features = "1"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.networkName = "NAT"
ethernet0.addressType = "generated"
usb.present = "TRUE"
ehci.present = "TRUE"
guestOS = "ubuntu"
uuid.location = "56 4d f6 64 5d f6 42 5d-21 26 f6 90 fd 25 ee 61" (CAMBIAR UUID LOC)
uuid.bios = "56 4d f6 64 5d f6 42 5d-21 26 f6 90 fd 25 ee 61" (CAMBIAR UUID BIOS)
vc.uuid = "52 c4 91 90 17 e2 77 0c-6b dd 1e 5e a5 16 17 ad" (CAMBIAR VC UUID)

ethernet0.generatedAddress = "00:0c:29:25:ee:61" (CAMBIAR DIRECCIÓN MAC)
tools.syncTime = "FALSE"
scsi0:0.redo = ""
vmotion.checkpointFBSize = "16777216"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"

Nota:Para el caso de las UUID, que sinceramente no logro entender ni me he tomado el tiempo en analizarlos, debido a la brevedad con la que tenía que poner en marcha mi proyecto. Pero encontré una solución por así decirlo "a lo facil", lo que hice fué crear otra VM y copiar las UUIDs del mismo archivo, o sea el .vmx y pegarlo en la parte donde pongo (CAMBIAR UUIDs..) y con esto tambien se generará una MAC aleatoria por lo que habremos solucionado el inconveniente. Luego no olvidad borrar la VM craeda del que se le copió las UUIDs ya que no nos servirá y es un desecho.

Una vez terminado guardamos los cambios y ya tenemos el clon de la otra VM, ahora sólo nos queda subir al inventario de Vmware Server desde la VMware Infraestrure Web Access. En el menú “Virtual Machine” escogemos la subopción “Add Virtual Machine to Inventory”, se nos abre un cuadro de diálogo y buscamos en nuestro DataStore la maquina virtual previamente creada y subimos a nuestro inventario.

Con esto concluimos esta entrega, alguna duda estaré presto a responderlos conforme a disponibilidad.

Nota: Es extremadamente recomendable cambiar las Security Identifier SID de cada VM luego de que se le haya clonado, para ello se debe iniciar la VM y desde allí ejecutar la utilidad NEWSID.exe que lo encontramos por internet, si lesinsteresa conocer sobre las SID y las RID no duden en googlear un poco.

Saludos,

Julio

Comentarios

!=

Imagen de pepo

Cool!

[quote=YankuSa]
Todo esta basado en software libre
[/quote]

VMware!=software libre

------------------------------------------------
Linux User Registered #232544
Jabber : pepo@jabberes.org
Ekiga : pepo@ekiga.net
GnuPG-key : www.keyserver.net

Me parece interesante tu

Imagen de Gantz

Me parece interesante tu aporte, lo único seria pasarle el corrector antes de mandar la info.

De ahí en mas gracias por compartirlo.

[img]http://www.danasoft.com/sig/gantztux.jpg[/img]

Si prohibieran el ajedrez, me convertiría en contrabandista.
Miguel Tal, excampeón mundial

duda??

a la hora de cmabiar los uuid que colocaste en vez de los que ya tenias.....agradezco tu pronta respuesta....mi trabajo depende de ello je gracias!!!!

CAMBIO DE UUID

Imagen de YankuSa

Estimado willbender, tal como indico en el cambio de las uuid, lo que tienes que hacer es que una vez que estés en el panel de control de vwware server es crear una maquina virtual con cualquier nombre y darle las caracteristeristicas que quieras incluso con que sistema operativo deseas y luego una vez creado dejas por un momento vmware server y te vs a explorar al estilo windows, si no me equivoco la maquna que creaste se encuentra en la rura /var/lib/vmware/virtual machines y buscas la maquina que creaste que es una carpeta, ingresa y encontrarás un fichero con extensión .vmx y lo habres y veras las UUIDs de la nueva maquina cerada, lo copias y lo Reemplzas en la UUID de la maquina que creaste y lo de la MAC no te preocupes que solito se genera producto de las UUIDs

Saludos y pruebalo y luego me cuentas

Principiante Linux y virtualización VMware