# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

Instalar plantillas en Virtuozzo

Parallels cuenta con un repositorio de plantillas, tanto de sistemas operativos como aplicaciones, las cuales podemos instalar de forma sencilla. En este caso vamos a ver como instalar en el nodo Hardware una plantilla de un sistema operativo, para usarlo posteriormente como sistema de máquinas virtuales (contenedores).

Pinchando aquí encontraréis todo el catálogo de plantillas disponibles. En este caso vamos descargar la plantilla de Fedora Core 13. Vamos al nodo hardware y descargamos el rpm:

# wget http://downloads.swsoft.com/cgi-bin/getfile.pl/fedora-core/13/x86_64/fedora-core-13-x86_64-ez-4.0.0-2.swsoft.noarch.rpm

Una vez descargado, simplemente instalamos la plantilla con el comando vzpkg install template:

# vzpkg install template fedora-core-13-x86_64-ez-4.0.0-2.swsoft.noarch.rpm

Ahora, al tratarse de una plantilla de sistema operativo debemos cachearla para poder comenzar a utilizarla como plantilla de contenedores. Ejecutamos un vzpkg list para ver el nombre de la plantilla y luego ejecutamos la caché:

# vzpkg list
centos-5-x86                       2010-06-07 14:34:15
fedora-core-11-x86_64              2010-09-01 14:37:17
# vzpkg create cache fedora-core-11-x86_64

Ahora ya podemos utilizarla como plantilla para nuestros contenedores Virtuozzo.

Montar una unidad NFS en una máquina virtual Virtuozzo

Para poder disponer de un sistema de ficheros NFS en una máquina virtual en Parallels Virtuozzo, lo primero que debemos hacer es activar nfs desde el nodo Hardware para la máquina virtual:

vzctl set 111 --features nfs:on --save

En este caso 111 es el ID de la máquina virtual a activar. Una vez realizado, ya debería figurar nfs como sistema de ficheros soportado en la máquina virtual:

# grep nfs /proc/filesystems
nodev	nfs

Instalamos todo lo necesario para que funcione NFS en la máquina virtual (en este caso RHEL, CentOS o Fedora):

yum install nfs-utils nfs-utils-lib

Arrancamos nfs:

/etc/init.d/rpcbind start
/etc/init.d/nfs start

Configuramos para que arranque al inicio:

chkconfig --level 3 nfs on
chkconfig  --level 3 rpcbind on

Ya deberíamos poder montar una unidad NFS sin problemas, ya sea directamente con el comando mount o desde el fichero /etc/fstab.

mount -t nfs 192.168.0.1:/compartido /mnt/compartido

Y un ejemplo en fstab:

192.168.0.1:/compartido /mnt/compartido nfs rw 	0 0

Montar una unidad CIFS (Samba) en una máquina virtual Virtuozzo

El software de virtualización Virtuozzo no permite la carga del módulo de kernel cifs para las máquinas virtuales. Esto impide poder montar directamente desde la máquina virtual una unidad CIFS ya que no reconoce el sistema de ficheros.

La solución de momento pasa por montar la unidad por cifs en el nodo hardware y después desde el mismo nodo montar en la máquina virtual la unidad. Veamos un ejemplo:

Montamos en el nodo hardware la unidad que queremos tener en la máquina virtual, el contenido del fichero /etc/fstab podría ser algo así:

//192.168.1.122/dir_remoto /punto-de-montaje cifs user,rw,suid,username=xxx,password=xxxxxxxx 0 0

De este modo, cuando arranca la máquina física la unidad se monta, para montar la unidad sin reiniciar:

mount /punto-de-montaje

Ahora que está montada, ejecutamos el comando que hará que el punto de montaje aparezca en la máquina virtual. En este caso lo haríamos en la máquina virtual con ID 101 y en la carpeta “carpeta-destino”:

mount --bind /mn /vz/root/101/carpeta-destino

Este último comando es necesario automatizarlo, así que creamos un script de montaje y otro de desmontaje para la máquina virtual. Estos scripts se ubican en dentro de la carpeta “scripts” de cada máquina virtual y tienen que tener un nombre específico:

Scripts para montar automáticamente:

/vz/private/111/scripts/mount
/vz/private/111/scripts/start
/vz/private/111/scripts/stop
/vz/private/111/scripts/umount

Mount, umount, start, stop son los nombres de los scripts, y 111 es el ID de la máquina virtual. Podéis encontrar ejemplos para estos scripts en esta KB de parallels.

Instalar yum en contenedor (máquina virtual) parallels virtuozzo

Si la plantilla del sistema RHEL/CentOS/Fedora que usamos en nuestra máquina virtual con Parallels Virtuozzo no tiene instalado yum tenemos la posibilidad de instalarlo de un modo realmente sencillo desde el nodo Hardware en el que se encuentre la máquina virtual.

Para ello utilizaremos la utilidad “vzpkg” junto con el ID de nuestro contenedor. La forma de instalarlo sería así:

# vzpkg install -p <id de máquina virtual> yum

En el caso de que quisieramos instalarlo en la máquina virtual con ID 200:

# vzpkg install -p 200 yum

Una vez terminado ya podríamos utilizar yum dentro de la máquina virtual para la gestión de aplicaciones y paquetes.

Instalación Parallels Management Console sobre CentOS minimal

Parallels Management Console proporciona un interfaz de usuario gráfico a los profesionales de TI para que así puedan administrar servidores Parallels Server 4 Bare Metal y sus máquinas virtuales. Parallels Management Console es un componente incluido en Parallels Server 4 Bare Metal que se instala fácilmente en cualquier PC cliente a través de un asistente.

Parallels Management Console soporta hasta cinco servidores físicos, ofreciendo gestión centralizada de máquinas virtuales y recursos, además de reducir las complejidades asociadas a la administración del entorno de las máquinas virtuales.

Vamos a suponer que hemos instalado un sistema CentOS minimal (sin base ni ningún otro paquete). Para instalar PMC realizaremos los siguientes pasos:

Descargamos la última versión del software para CentOS|Red-Hat en formato rpm:

wget http://download.parallels.com/virtuozzo/virtuozzo4.0/linux/pmc-4.0.0-185.swsoft.i386.rpm

Necesitaremos instalar un sistema de escritorio, en este caso instalamos Gnome:

yum groupinstall "X Window System" "GNOME Desktop Environment"

Instalamos el rpm de Parallels Management Console:

rpm -ihv pmc-4.0.0-185.swsoft.i386.rpm

Con esto ya estaría todo, accedemos a la máquina por ejemplo a través de VNC y desde una terminal ejecutamos:

pmc

Podéis crear un acceso directo en el escritorio o en el menú con dicho comando para facilitar futuros accesos. Ya deberíais ver sin problemas la interfaz de gestión:

Parallels Management Console

Virtualbox: máquinas virtuales Debian clonadas no funciona la red

Este tip lo he encontrado en “Reflexión = 2 x flexión” y me vino de perlas porque ciertamente no sabía por donde iban los tiros…

Resulta que para unas pruebas creé en mi pc una máquina virtual Debian con Virtualbox. Necesitaba duplicarla, por lo que me dispuse a hacerlo primero clonando el disco duro y después usandolo en otra máquina virtual:

# VBoxManage clonevdi Debian01.vdi Debian02.vdi

El problema vino en el momento de arrancar las dos máquinas virtuales a la vez y comprobar que la “clonada” no levantaba la interfaz de red. Cambiar la MAC en Virtualbox, la configuración de interfaces y demás no funcionaba hasta que descubrí en el enlace que os comentaba antes que Debian y derivado tiene una característica que consiste en asignar un nombre de interfaz de red a una dirección MAC, impidiendo esto que funcione la red en discos clonados.

La solución es sencilla, tenemos que ir a la máquina virtual en la que tenemos problemas y eliminar esa regla (como root):

# rm /etc/udev/rules.d/70-persistent-net.rules

Reiniciamos la máquina virtual y solucionado.

Cómo instalar debootstrap en RHEL / CentOS

Debootstrap es una herramienta que srive para crear un sistema Debian básico desde cero, sin la necesidad de utilizar dpkg o apt. Básicamente se descarga los archivos .deb para posteriormente desempaquetarlos en un directorio en el cual podemos posteriormente hacer “chroot“.

En mi caso era necesario para poder virtualizar un sistema Debian desde CentOS utilizando Xen. Utilizamos debootstrap para construir el sistema Debian en unas particiónes dentro de un volumen lógico y posteriormente ese volumen es el que utilizaremos como máquina virtual (pero esto es otro tema).

Para instalar deboostrap en RHEL / CentOS o Fedora previamente nos bajamos el rpm correspondiente (en este caso el de 32 bits):

wget ftp://ftp.muug.mb.ca/mirror/fedora/epel/5/i386/debootstrap-1.0.7-3.el5.noarch.rpm

Instalamos gettext ya que lo requiere como dependencia:

yum install gettext

Y finalmente instalamos debootstrap:

rpm -Uvh debootstrap-1.0.7-3.el5.noarch.rpm

Ya podemos hacer uso de la herramienta, en el siguiente ejemplo instalamos Debian Lenny para i386 desde el FTP de Debian dentro de un volumen lógico montado como /home/vm/debian/ :

debootstrap --arch i386 lenny /home/vm/debian/ http://ftp.us.debian.org/debian

Una vez finalizado el proceso ya podríamos acceder con chroot al sistema:

chroot /home/vm/debian/

xenconsole: Could not read tty from store: No such file or directory

En caso de recibir el siguiente error en entornos de virtualización Xen, debéis aseguraos que xenconsoled está corriendo:

# ps aux | grep xenconsoled
root      2511  0.0  0.7  12208   596 ?        Sl   Nov18   0:00 xenconsoled --log none --timestamp none --log-dir /var/log/xen/console

Si no está activo, no podréis acceder a las consolas de las máquinas virtuales, recibiendo el error que muestra el título de la entrada:

xenconsole: Could not read tty from store: No such file or directory

Para arrancar xenconsoled:

/usr/sbin/xenconsoled