viernes, 29 de junio de 2012

Herramientas de virtualización: Proxmox

Actualmente está muy de moda el tema de la virtualización, ya que es una buena forma de explotar con más eficiencia un ordenador o en la mayoría de los casos, servidores. En un uso normal, el servidor no está usando todos los recursos de los que dispone, por lo que es una “perdida” y se puede aprovechar corriendo otro servidor virtual para ofrecer otros servicios.

Proxmox tiene otra visión. El sistema base no se usa más que para crear instancias que sí usaremos, por lo que no consumirá apenas recursos y nos lo dejará todos para los virtuales en los que montaremos el servicio. Los usos que les demos a estos será cosa nuestra, nosotros el uso que le estamos dando es para ofrecer instancias a clientes y que hagan lo que quieran con ellas, principalmente hosting y mailing. Básicamente Proxmox es una distro con un panel de control que nos permitirá gestionar las máquinas virtuales, pero se puede gestionar también desde consola.

Proxmox ofrece dos tipos de vitualización, KVM que ofrece una virtualización completa pero requiere de un hardware más potente y procesador que soporte virtualización. En este modo los recursos son dedicados para cada instancia. Otra opción es la openVZ, que hace una pseudo virtualización, no nos ofrece recursos dedicados, son compartidos, lo que se puede poner es un máximo de recursos que puede usar, pero es posible que otra instancia las esté usando.

En este post comentaré cómo gestionar las instancias creadas con openVZ desde consola, ya que el panel en sí es trivial en general. Si me da más adelante pondré algunos detalles del panel como la creación de clusters. Lo primero es entender que las máquinas virtuales creadas con openVZ son instancias enjauladas,

es decir, son parte del sistema de ficheros del nodo y mediante un chroot se aislan, no tienen un disco duro virtual (un archivo con sistema de ficheros) como por ejemplo en Xen.

Si nos logueamos por ssh, podremos usar una serie de comandos para gestionarlo:

vzlist: nos mostrará las instancias que se están ejecutando, con una serie de información.
vzctl enter ID: nos lanza una terminal de la instancia ID, por si perdemos el acceso por ssh a la instancia.
vzctl stop ID: para la instancia ID, como hacer un halt.
vzctl start ID: arranca la instancia ID cuando está parada.
vzctl restart ID: reinciia la instancia ID, como hacer un reboot.
vzctl destroy ID: borra permanentemente la instancia ID, perdiendo todos los datos.

Con esto podremos tenemos unas indicaciones básicas de cómo gestionar las instancias desde consola. Para crearlas, lo más comodo es desde el panel de Proxmox, pero podemos crearla desde consola con unos cuantos comandos:

vzctl create ID --ostemplate osname (Indicamos la ID y el template que usaremos)
vzctl set ID --ipadd a.b.c.d --save  (Le indicamos la IP que usará)
vzctl set ID --nameserver a.b.c.d --save (Le indicamos el servidor DNS que usará)
vzctl start ID (Iniciamos)

Os recomiendo hacerlo desde el panel, es simplemente rellenar un formulario.

Para finalizar, con vzdump ID podremos crear una copia de seguridad de la instancia:

vzdump --quiet --snapshot --compress --storage back --mailto [email protected] 102

Con esto, hará la copia y nos enviará un correo una vez esté hecha. Para restaurar la copia, tenemos que usar vzrestore ruta ID. Esto nos servirá para programar un cron y que se haga una copia regularmente.


Con esto más el propio panel del proxmox, ya tenemos lo necesario para usar el Proxmox. Si quereis más información podeis visitar su wiki.



¡Un saludo!

No hay comentarios:

Publicar un comentario