Clonación de máquinas virtuales en serie

En el lugar donde trabajo, he estado montando y monitoreando muchas máquinas virtuales (gnu/linux sobre gnu/linux). En un principio, las máquinas estaban virtualizadas con VMWare, eran sólo 3 máquinas. Luego estas máquinas fueron aumentando a 5, 10 y actualmente ya son 20 máqiunas. La empresa donde trabajo ofrece el servicio de email marketing en base  a newsletter y "fidelización de clientes", y soy yo quien debe administrar los servidores de envios de correos. Se envían más de 500 mil emails semanales por lo que el uptime y la disponibilidad del servicio debe ser la más alta.

fide

Para ésto, decidí migrar todas las máquinas a Xen y comenzar a para-virtualizar todos los servidores de envios (nosotros les llamamos "smtp"). Si pensamos que su única función es enviar correos (ya que, de la lógica del servicio se encarga otro servidor), las caracteristicas de cada smtp son muy básicas:

  • 128MB ram
  • 2Gb disco
  • Servicios: postfix, ssh

Para lograr el objetivo, me dediqué a crear un script que me automatiza la creación y configuración de máquinas virtuales.

··· Leer más ···

El script esta hecho en bash y lo único que necesitamos es tener una imágen del sistema (por ej. debian) base, con postfix instalado y la configuración que necesitemos, para luego clonarla en serie. El único trabajo que tenemos que hacer es montar una sola maquina, con todo lo que necesitemos, que sea funcional y luego de hacer pruebas y que todo ande bien, entonces usamos el script para clonarla:

PRE0

Lo que hace el script, en sencillos pasos es:

- Crear el directorio donde guardaremos nustro fichero de configuración y cosas necesarias.
- Copiar los ficheros necesarios (configuracion de la máquina, imagen del sistema operativo, etc)
- Toma el fichero de configuración y lo parsea para adaptarlo según la configuración que necesitemos.
- Monta la imagen (usando loop)de nuestra nueva máquina.
- Edita y configura los ficheros necesarios dentro de esa máquina virtual.
- Desmontamos y pasamos a la siguiente máquina.

El script se basa en un fichero de "configuración", el cual nos debe proveer de la dirección IP, la mac y el hostname, en el siguiente formato:

aaa.bbb.ccc.ddd:hostname.tld:ma:c:a:dd:re:ss

Con este post no busco enseñar como migrar o clonar máquinas, simplemente demostrar que se puede automatizar la tarea de clonación de máquinas en serie. Claramente este script no funcionará para los requerimientos de todos nosotros, pero se puede adaptar.

Comentarios (8)

Noz
Cada día te metes más en Xen he?
Zerial
@Noz: obvio, aprendiendo, enseñando y poniendo en practica cosas nuevas :)
Andres
muy interesante pero muy fuera de mis conocimientos, estoy luchando por lograr una virtualizacion de una conexion serial entre dos pc con virtual box XD.

saludos
Zerial
@Andres: o_O Te refieres a hacer una "red" mediante el puerto serial de una maquina virtual a otra? Si es asi ... nunca lo he hecho, pero VirtualBox tiene la opcion de asignar puertos seriales (paralelo y de serie creo) a cada maquina, por ende, cada virtualizacion deberia tener en una direccion X el su puerto. En teoria seria lo mismo que hacerlo con dos maquinas "normales" (sin estar virtualizadas)
saludos
Jac
Interesante, aunque aún no logro virtualizar con xen en ubuntu, me quedé pegado con el vmware.

Sabes que seguridad tiene xen para el caso de una falla de discos?
Redalert
Buen post, se viene interesante todo este sistema de la virtualización y todas las metodologías aplicables y automatizadas que facilitan estas tareas.

Un saludo y adelante!

Daslav Ríos.
katuto
saludos kapo!!!
espero que andes bien zerial...
arkanox
Boten XEN , instalen proxmox(kvm + openvz)....

Deja un comentario