Os conté el otro día cómo construir un PC silencioso, pero en realidad no os aclaré que mi web home server emite literalmente 0 db porque lo he convertido en una máquina virtual que corre en VMWare server bajo GNU/Linux. La dificultad estaba en convertir el viejo Pentium II en un sistema operativo virtual utilizando sólo software libre y conservar completamente su funcionalidad para mejorar incluso sus capacidades de CPU, disco y RAM disponibles.
Antes de nada os cuento que si quereis un proceso de virtualización automático podéis probar VMware Converter 3 liberado recientemente bajo licencia gratuita. Tened en cuenta que sólo puede instalarse en máquinas Windows y el soporte para máquinas virtuales linux y sistemas de 64 bits es únicamente experimental, así que podeis probar y luego me contais.
Yo por mi parte prefiero bajarme a la arena y he utilizado el método manual de toda la vida. Os explico los pasos que seguí para virtualizar un servidor Linux Ubuntu 5.10 Breezy Badger sobre un Pentium II y pasarlo a VMWare server bajo GNU/Linux.
En general podríais aplicar este método a cualquier otro sistema operativo ya que los pasos esenciales son idénticos para otras plataformas sea Win, Mac OS, Solaris o Linux
0. Software necesario
Aunque estoy seguro que existen otras alternativas, yo he utilizado:
- Sistema operativo anfitrión: Ubuntu Linux 6.0.6 LTS. Es una versión muy estable y con soporte de larga duración (LTS es acrónimo de Long Term Support) por parte de
Canonical de 5 años.
- Software de virtualización: VMWare server bajo GNU/Linux. Actualmente es
gratuíto y es uno de los más aclamados por su estabilidad y eficiencia.
- Linux Live CD todo en uno: Knoppix la LiveCD más veterana que además incluye:
- Software para particionar un disco de forma gráfica: qtparted muy parecido a Partition Magic
- Software para crear y restaurar imágenes de una partición: partimage con la misma funcionalidad que los famosos Drive Image o Ghost
- Software para verificar la integridad de una partición: e2fsck (similar al comando chkdsk de DOS)
- Instalador de Grub: Super Grub Disk para no complicarse la vida y recuperar el arranque en un abrir y cerrar de ojos
1. Preparar la máquina virtual
En primer lugar creamos una máquina virtual en
VMWare server con un hdd del mismo tamaño que el físico, duplicar la memoria RAM a 1GB, añadir disquetera y un par de CD-ROM. Estos últimos tres elementos los desactivaré al final del proceso.
La tarjeta de red virtual hay que configurarla en modo bridged para que a todos los efectos el servidor virtual se vea en la red como una dirección IP más.
Inicialmente tenía instalado el sistema operativo de la máquina real sobre dos particiones que montaban el root / sobre /dev/hda3 y /home sobre /dev/hda1 Ambos sistemas de archivos en ext3. Yo me tomé algunas libertades como convertir el hda (IDE) físico en un sda (SCSI) virtual y luego reorganizar las particiones.

Ejemplo de qtparted en acción
Se trata de montar la ISO de
Knoppix descargada de Internet en el CD virtual y particionar el disco con
partimage creando sda1, sda3
2. Crear una imagen de las particiones originales en el PC físico
www.jmarior.net llevaba más de 6 meses de uptime, este paso supuso apagar dolorosamente el servidor web durante un par de horas. Escogí un momento y día de poca actividad como la madrugada de un sábado a un domingo de un fin de semana.
Primero apago el servidor y le monto un disco duro IDE adicional (hdb) para albergar las imágenes de las particiones. Ahora toca arrancar con
Knoppix, abrir una sesión de bash y hacer un checkeo de las particiones usando
e2fsck Las particiones tienen que estar desmontadas.
$ su
# e2fsck -p /dev/hda1
# e2fsck -p /dev/hda5
para luego crear una imagen con
partimage desde el propio
KnoppixTeneis un magnífico manual de
partimage en
TipsMandriva
Ejemplo de partimage en acción
El proceso completo de crear las imágenes de las dos particiones me llevó unas dos horas, sobre todo porque tanto el procesador como el disco duro del servidor físico eran lentos.
Por fin apago el servidor, retiro el disco duro con las imágenes del sistema a buen recaudo y lo reinicio para que continúe trabajando. Él todavía no sabe que los vamos a jubilar

3. Restaurar las particiones en la máquina virtual
Debeis tener en cuenta que por este sistema no es necesario instalar el sistema operativo sino que vamos a restaruras las imágenes del sistem creadas en el paso anterior y hacer las modificaciones necesarioas para que arranque.
Lo que hice yo fue pinchar el HDD que contiene las imágenes en el sistema anfitrión, crear una ISO y montarla en la segunda unidad de CD de la máquina virtual.
Luego hay que asignar la ISO de
Knoppix al primer DVD de la máquina virtual, arrancar con él y volver a utilizar
partimage para
Restaurar el antiguo /dev/hda3 sobre /dev/sda1 y montar allí /
Restaurar el antiguo /dev/hda1 sobre /dev/sda3 y montar allí /home
Un par de
consideraciones importantes es que al cambiar la distribución original de las particiones hay que editar algunos ficheros que intervienen en el inicio del sistema:
-
/etc/fstab monta las particiones automáticamente al inicio
-
/boot/grub/device.map contiene el mapeo de discos y dispositivos en /dev
-
/boot/grub/menu.lst contiene el menú de arranque de
GNU GRUBCambiar estos ficheros no tiene mucho secreto, desde un editor de texto de
Knoppix (con las particiones montadas ne modo escritura) es tan sencillo como reemplazar los antiguos hda por sda y fijarse bien en los números de las particiones.
4. Restaurar el sector de arrangue GRUB en la máquina virtual
El penúltimo paso es instalar
GNU GRUB en el sector de arrangue. Para no liarse mucho mucho con comandos lo más fácil y rápido es usar una mini distro como
Super Grub Disk para reactivar el arranque de la máquina virtual en cuestión de un par de minutos. Yo descargué una img de floppy aunque y también existe una versión iso.
Montar la img en el floppy de la máquina virtual configurar la BIOS para arracar desde disquette y elegir la opción Fix boot of GNU/LINUX (GRUB)

5. Retoques finales en el servidor virtual
Antes de arrancar nuestro nuevo servidor virtual por primera vez y ponerlo en producción a pleno rendimiento, arrancamos por última vez con
Knoppix para afinar los últimos detalles:
- Defragmentar los discos por ejemplo con e2defrag
- Retirar dispositivos innecesarios. Yo eliminé la disquetera y el segundo CD-ROM. El primer CD-ROM lo dejo desconectado.
- Cambiar la dirección IP y parámetros de red para que no entren en conflicto con el servidor original
- Reconfigurar la tarjeta de vídeo virtual. Aunque mi webserver arranca en modo consola y casi nunca uso allí las X, tuve que reconfigurar el servidor Xorg para que cargara el controlador adecuado a la nueva tarjeta de vídeo virtual.
Para ello hay que editar el fichero
/etc/X11/xorg.conf y añadir un nuevo Device (o modificar el existente)
Section "Device"
Identifier "VMWare SVGA"
Driver "vmware"
BusID "PCI:0:15:0"
EndSectiony especificarlo en
Section "Screen"
Identifier "Default Screen"
Device "VMWare SVGA"
(...)Ahora sí arrancarán las X sin problemas.
- No olvideis
hacer unas cuantas pruebas para comprobar si el nuevo servidor virtual mantiene operativos todos los servicios que ofrecía el servidor físico.6. Puesta en producción del servidor virtual
Si ya habeis llegado a esta parte del proceso de virtualización, sólo os queda hacer el cambio de servidor de forma transparente a los usuarios finales.
Si desde que hicisteis la imagen inicial ha cambiado algo en el servidor físico, habría que sincronizar las diferencias de última hora con el servidor virtual. Yo sincronicé los logs de Apache con un simple rsync
El acto final en mi caso fue simplemente cambiar la regla NAT en el router ADSL desde la IP del servidor físico a la IP del nuevo servidor virtual. Unas horas después de comprobar que todo iba bien apagué el servidor físico y se hizo el silencio. ¡Voila!
www.jmarior.net es ahora un HVWS (Home Virtual Web Server)