Jan 06

Algunas veces es necesario clonar una maquina virtual, ya sea para crear dos maquinas con la misma configuración o para utilizar la maquina clonada como punto de partida para nuevas instalaciones. por ejemplo tener una maquina virtual con Ubuntu Desktop 10.10 con la instalación básica y actualizada de modo que se pueda clonar para crear una maquina para probar por ejemplo la instalación de algún software, evitando utilizar la maquina original para poderla mantener actualizada; así existen muchas estrategias para tener un pool de maquinas virtuales para pruebas.

En la version de VirtualBox 4 es posible exportar las maquinas virtuales en el formato OVA (Open Virtualization Format Archive) lo que facilita el trasteo de la maquina virtual, ya que solo un archivo contiene toda la información necesaria de la maquina virtual. Esto permite exportar en cualquier momento una maquina virtual que tengamos en nuestro ambiente de desarrollo y poderla importar en otro equipo donde necesitemos hacer pruebas, distribuirla con nuestra aplicación para que los clientes prueben el funcionamiento de aplicaciones o clonar la maquina virtual en varias maquinas o en nuestra maquina de desarrollo.

Asi que este sistema de exportar e importar Appliances nos permite hacer muchas cosas, como por ejemplo Clonar la maquina cosa que nos interesa en este articulo, los pasos son muy sencillos :

  1. Para Exportar la Maquina :
    1. Detener la maquina que queremos clonar
      No importa si la maquina tiene snapshots, se exporta en el estado actual
    2. Ir al menu File -> Export Appliance
    3. Seleccionar la maquina que queremos exportar de la lista
    4. Pulsar el botón Next
    5. Se visualiza la ruta donde queremos exportar la maquina
      Si necesitamos compatibilidad con OVF seleccionamos la opción Write Legacy OVF 0.9
      Si queremos un archivo de Manifiesto seleccionamos la opción Write Manifest File
    6. Pulsamos el botón Next
    7. Podemos suministrar la información del nombre de la maquina, el producto que estamos distribuyendo, el vendedor, la version, la descripción y la licencia
    8. Pulsamos el botón Finnish
    9. Se crea un archivo .ova con el estado actual de la maquina virtual,
      esto puede tomar algun tiempo, de unos 5 a 15 minutos dependiendo de la maquina
  2. Para Importar la Maquina :
    1. Podemos importar la maquina en el mismo VirtualBox que la creamos, con el propósito de clonarla
      o podemos importarla en otra maquina diferente para pruebas
    2. Vamos al menú File -> Import Appliance
    3. Pulsamos el botón Choose File
    4. Seleccionamos el archivo ova
    5. Pulsamos el botón Next
    6. Aparece la configuración
    7. Puede dar doble click en las diferentes opciones para cambiarlas o deshabilitar las opciones con el checkbox
      Si una maquina con el mismo nombre ya se encuentra, VirtualBox le coloca Nombre_1 lo cual puede cambiar
    8. Presionar el botón Finnish
    9. Se crea la nueva maquina virtual
    10. Pulse Start para iniciar la maquina

Nota :

  • Verifique que en el VirtualBox donde se esta instalando la maquina virtual estén instaladas las extensiones si estas se necesitan
  • Verifique la configuración de Red, Sonido de la maquina virtual, seleccionado elementos que funcionen dentro de cada distribucion, por ejemplo otro driver de tarjeta o diferente configuración de red

Enlaces :

Tagged with:



En January 6 de 2011, Marlon J. Manrique escribió acerca de VirtualBox 4 Clonar Maquina por medion de Appliances.
Jul 14

Introducción.

En el presente artículo se trata el tema de crear dos nuevos nodos trabajadores (c-wn3 y c-wn4) también virtualizados con KVM y agregarlos al cluster para aumentar su capacidad de cómputo.

Clonar las nuevas máquinas virtuales.

Gracias a las facilidades que provee la virtualización es posible evitar la necesidad de repetir la gran mayoría de tareas de instalación y configuración de los nodos al clonar a uno de ellos, en este caso crearemos los nuevos nodos a partir del c-wn1.

Desde el servidor de máquinas virtuales ejecutar los siguientes comandos.

ADVERTENCIA: para que la clonación se pueda realizar, la máquina virtual de orígen, en este caso c-wn1 deberá estar apagado.

$ virt-clone –connect=qemu:///system  \
-o c-wn1 \
-n c-wn3 \
-f /u/vms/c-wn3.img

$ virt-clone –connect=qemu:///system  \
-o c-wn1 \
-n c-wn4 \
-f /u/vms/c-wn4.img

Iniciar las máquinas virtuales.

Nuevamente desde el servidor es necesario ejecutar los siguientes comandos para iniciar las máquinas virtuales de los nodos trabajadores para su posterior configuración.

$ virsh start c-wn3

$ virsh start c-wn4

Conectarse a las máquinas virtuales.

Desde el equipo cliente que se utiliza para la administración de las máquinas virtuales ejecute los siguientes comandos.

$ virt-viewer -c qemu+ssh://ivy/system c-wn3

$ virt-viewer -c qemu+ssh://ivy/system c-wn4

Actualizar el hostname.

Editar el archivo /etc/sysconfig/network de cada uno de los nuevos nodos y actualizarlo con su información específica.  Para el nodo c-wn3 utilizar el siguiente contenido.

NETWORKING=yes
NETWORKING_IPV6=no
GATEWAY=192.168.1.1
HOSTNAME=c-wn3.jorgeivanmeza.com

Para c-wn4 utilizar el siguiente contenido.

NETWORKING=yes
NETWORKING_IPV6=no
GATEWAY=192.168.1.1
HOSTNAME=c-wn4.jorgeivanmeza.com

Actualizar la dirección IP.

Editar el archivo /etc/sysconfig/network-scripts/ifcfg-eth0 de cada uno de los nuevos nodos y actualizarlo con su información específica.  Para el nodo c-wn3 utilizar el siguiente contenido.

DEVICE=eth0
BOOTPROTO=static
TYPE=Ethernet
ONBOOT=yes
HWADDR=<dejar la existente>
NETMASK=255.255.255.0
IPADDR=192.168.1.213

Para c-wn4 utilizar la siguiente información.

DEVICE=eth0
BOOTPROTO=static
TYPE=Ethernet
ONBOOT=yes
HWADDR=
<dejar la existente>
NETMASK=255.255.255.0
IPADDR=192.168.1.214

Reiniciar las máquinas c-wn3 y c-wn4 para que los cambios en la configuración recién realizados tengan efecto.

Actualizar la configuración de hosts.

Editar el archivo /etc/hosts del servidor c-head y actualizarlo con la información específica de cada uno de los nodos.

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1    localhost.localdomain localhost
::1          localhost6.localdomain6 localhost6

192.168.1.210    c-head.jorgeivanmeza.com c-head c-nfs.jorgeivanmeza.com c-nfs
192.168.1.211    c-wn1.jorgeivanmeza.com c-wn1
192.168.1.212    c-wn2.jorgeivanmeza.com c-wn2
192.168.1.213    c-wn3.jorgeivanmeza.com c-wn3
192.168.1.214    c-wn4.jorgeivanmeza.com c-wn4

Posteriormente es necesario replicar esta nueva especificación de los hosts a los demás nodos del cluster, para esto es necesario que todos se encuentren en ejecución.

# scp /etc/hosts c-wn1:/etc/hosts

# scp /etc/hosts c-wn2:/etc/hosts

# scp /etc/hosts c-wn3:/etc/hosts

# scp /etc/hosts c-wn4:/etc/hosts

Configurar la autenticación basada en el huésped para root.

En el nodo cabeza (c-head) ejecutar los siguientes comandos para listar las llaves de los hosts conocidos en el cluster.

# cd /root

# ssh-keyscan -t rsa,dsa c-head c-head.jorgeivanmeza.com c-nfs c-nfs.jorgeivanmeza.com c-wn1 c-wn1.jorgeivanmeza.com c-wn2 c-wn2.jorgeivanmeza.com c-wn3 c-wn3.jorgeivanmeza.com c-wn4 c-wn4.jorgeivanmeza.com > ssh_known_hosts

# mv ssh_known_hosts /etc/ssh/ssh_known_hosts

# chown root:root /etc/ssh/ssh_known_hosts

# chmod 644 /etc/ssh/ssh_known_hosts

Propagar el archivo ssh_known_hosts a los nodos trabajadores.

# scp /etc/ssh/ssh_known_hosts c-wn1:/etc/ssh/ssh_known_hosts

# scp /etc/ssh/ssh_known_hosts c-wn2:/etc/ssh/ssh_known_hosts

# scp /etc/ssh/ssh_known_hosts c-wn3:/etc/ssh/ssh_known_hosts

# scp /etc/ssh/ssh_known_hosts c-wn4:/etc/ssh/ssh_known_hosts

Creación del archivo de .shosts.

En el nodo cabeza (c-head) ejecutar los siguientes comandos.

# cut -d’ ‘ -f1 < /etc/ssh/ssh_known_hosts|sort -u | grep -v , > shosts

# mv shosts /root/.shosts

# chown root:root /root/.shosts

# chmod 600 /root/.shosts

Propagar el archivo .shosts a los nodos trabajadores.

# scp /root/.shosts c-wn1:/root/.shosts

# scp /root/.shosts c-wn2:/root/.shosts

# scp /root/.shosts c-wn3:/root/.shosts

# scp /root/.shosts c-wn4:/root/.shosts

Definir los archivos de configuración de Condor para los nuevos nodos del cluster.

En el nodo cabeza (c-head) ejecutar los siguientes comandos para especificar archivos de configuración según los hostnames de los nuevos nodos.

# cd /nfs/condor/condor-etc/

# ln -s condor_config.worker condor_config.c-wn3

# ln -s condor_config.worker condor_config.c-wn4

Establecer las ubicaciones locales necesarias para almacenar la información de registros y colas para los nuevos nodos.

# cd ~condor/hosts

# mkdir -p c-wn3/execute c-wn3/log c-wn3/spool

# mkdir -p c-wn4/execute c-wn4/log c-wn4/spool

# chmod a+rwx c-wn3/execute c-wn4/execute

# chmod +t c-wn3/execute c-wn4/execute

# chown -R condor:condor ~condor/hosts/c-wn3 ~condor/hosts/c-wn4

Se recomienda reiniciar el servicio de Condor o la máquina completa para garantizar que todos las modificaciones recién realizadas sean tenidos en cuenta.

Verificar la inclusión de los nuevos nodos al cluster.

Desde el nodo cabeza del cluster (c-head) ejecutar los siguientes comandos para verificar su pool de nodos.

# condor_status

Name               OpSys      Arch   State     Activity LoadAv Mem   ActvtyTime

c-wn1.jorgeivanmez LINUX      X86_64 Unclaimed Idle     1.780   246  0+00:00:04
c-wn2.jorgeivanmez LINUX      X86_64 Unclaimed Idle     2.410   246  0+00:00:04
c-wn3
.jorgeivanmez LINUX      X86_64 Unclaimed Idle     1.830   246  0+00:00:04
c-wn4
.jorgeivanmez LINUX      X86_64 Unclaimed Idle     2.240   246  0+00:00:04
Total Owner Claimed Unclaimed Matched Preempting Backfill

X86_64/LINUX     4     0       0         4       0          0        0

Total     4     0       0         4       0          0        0

# condor_status -java

Name               JavaVendor Ver    State     Activity LoadAv Mem   ActvtyTime

c-wn1.jorgeivanmez Sun Micros 1.6.0_ Unclaimed Idle     1.780   246  0+00:00:04
c-wn2.jorgeivanmez Sun Micros 1.6.0_ Unclaimed Idle     2.410   246  0+00:00:04
c-wn3
.jorgeivanmez Sun Micros 1.6.0_ Unclaimed Idle     1.830   246  0+00:00:04
c-wn4
.jorgeivanmez Sun Micros 1.6.0_ Unclaimed Idle     2.240   246  0+00:00:04
Total Owner Claimed Unclaimed Matched Preempting Backfill

X86_64/LINUX     4     0       0         4       0          0        0

Total     4     0       0         4       0          0        0

Tagged with:



En July 14 de 2010, Jorge Iván Meza Martínez escribió acerca de Cluster-C: clonar dos nuevos nodos virtualizados con KVM al cluster.
Jun 07

Introducción.

En el presente artículo se especifican los pasos necesarios para crear las máquinas virtuales de los nodos trabajadores (worker nodes) a partir de la máquina virtual de la cabeza del cluster, la cual hasta ahora tiene una configuración básica y general para todos los nodos.

Crear las máquinas virtuales.

Desde el servidor de máquinas virtuales ejecutar los siguientes comandos para crear a los nodos trabajadores como clones inicialmente del nodo cabeza.

ADVERTENCIA: para que la clonación se pueda realizar, la máquina virtual de orígen, en este caso c-head, deberá estar apagada.

$ virt-clone --connect=qemu:///system  \
-o c-head \
-n c-wn1 \
-f /u/vms/c-wn1.img \
--debug --force

$ virt-clone --connect=qemu:///system  \
-o c-head \
-n c-wn2 \
-f /u/vms/c-wn2.img \
--debug --force

Iniciar las máquinas virtuales.

Nuevamente desde el servidor es necesario ejecutar los siguientes comandos para iniciar las máquinas virtuales de los nodos trabajadores para su posterior configuración.

$ virsh start c-wn1

$ virsh start c-wn2

Conectarse a las máquinas virtuales.

Desde el equipo cliente que se utiliza para la administración de las máquinas virtuales ejecute los siguientes comandos.

$ virt-viewer -c qemu+ssh://ivy/system c-wn1

$ virt-viewer -c qemu+ssh://ivy/system c-wn2

Actualizar la configuración de hosts.

Editar el archivo /etc/hosts y actualizarlo con la información específica para cada uno de los nodos.  Para el c-wn1 utilizar el siguiente contenido.

127.0.0.1  localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6

192.168.1.210    c-head.jorgeivanmeza.com c-head c-nfs.jorgeivanmeza.com c-nfs
192.168.1.211    c-wn1.jorgeivanmeza.com c-wn1
192.168.1.212    c-wn2.jorgeivanmeza.com c-wn2

Para c-wn2 utilizar la siguiente información.

127.0.0.1  localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6

192.168.1.210    c-head.jorgeivanmeza.com c-head c-nfs.jorgeivanmeza.com c-nfs
192.168.1.211    c-wn1.jorgeivanmeza.com c-wn1
192.168.1.212    c-wn2.jorgeivanmeza.com c-wn2

Actualizar el hostname.

Editar el archivo /etc/sysconfig/network y actualizarlo con la información específica para cada uno de los nodos.  Para el nodo c-wn1 utilizar el siguiente contenido.

NETWORKING=yes
NETWORKING_IPV6=no
GATEWAY=192.168.1.1
HOSTNAME=c-wn1.jorgeivanmeza.com

Para c-wn2 utilizar la siguiente información.

NETWORKING=yes
NETWORKING_IPV6=no
GATEWAY=192.168.1.1
HOSTNAME=c-wn2.jorgeivanmeza.com

Actualizar la dirección IP.

Editar el archivo /etc/sysconfig/network-scripts/ifcfg-eth0 y actualizarlo con la información específica para cada uno de los nodos.  Para el nodo c-wn1 utilizar el siguiente contenido.

DEVICE=eth0
BOOTPROTO=static
TYPE=Ethernet
ONBOOT=yes
HWADDR=<dejar la existente>
NETMASK=255.255.255.0
IPADDR=192.168.1.211

Para c-wn2 utilizar la siguiente información.

DEVICE=eth0
BOOTPROTO=static
TYPE=Ethernet
ONBOOT=yes
HWADDR=xxx
NETMASK=255.255.255.0
IPADDR=192.168.1.212

Reiniciar.

Reiniciar las máquinas virtuales c-wn1 y c-wn2 para que los cambios recién realizados tengan efecto.

# reboot

Tagged with:



En June 7 de 2010, Jorge Iván Meza Martínez escribió acerca de Cluster-C: Creación de los “worker nodes” del cluster y su configuración de red.