VirtualBox en openSuse 10.3

viernes, 2 de noviembre de 2007
La virtualización de sistemas es una característica que está en boga últimamente, permite ahorrar costos en hardware y tiempo, por ejemplo, en una misma máquina podemos estar corriendo varios sistemas operativos a la vez, cada uno exponiendo algun servicio en particular (un windows exponiendo web services que acceden a un sql server, o un linux exponiendo web services con glassfish accediendo a un postgresql, etc.). Lo anterior supone, además, mayor facilidad de configuración y rapidez de acción frente a errores, por ejemplo, que pasa si por alguna razón se nos muere un servidor ? cuanto tiempo tomaría el arreglar el problema ? y mientras tanto, cuanto tiempo y dinero pierde nuestra empresa y peor aun, nuestros clientes ?

Al usar máquinas virtuales podríamos tener un respaldo en un DVD (o varios) u otro medio y al ocurrir el desastre simplemente copiar la máquina virtual correspondiente a un pc, levantar la máquina y ya tendriamos el servicio nuevamente en linea para nuestros clientes (o sistemas, partners, etc.) sin necesidad de volver a configurar el servidor, pero y en cuánto tiempo ? tal vez en solo unos minutos, y como ya saben, el tiempo es dinero.

Esta demás decirles que es mucho mas seguro, la máquina real se puede encargar de filtrar la entrada a las máquinas virtuales manteniendolas aisladas del mundo y dejando paso solo a quienes corresponda.

Dicho lo anterior, ya sabemos para que sirve una máquina virtual, pero se preguntarán, donde consigo una ?, pues la respuesta es variada, existen varias alternativas, personalmente he usado dos.

VMware es la mas conocida, es muy buena y completa, soporta la instalación de maquinas virtuales windows, linux, etc. A pesar de ser buena (la he usado bastante) es muy pesada, consume bastantes recursos, pero si se cuenta con un buen computador (harta ram, varios procesadores) corre de lujo. El punto en contra es que es de pago y es caro.

VirtualBox, al igual que VMware, es muy buena, soporta varios sistemas operativos pero las grandes diferencias son que consume bastante menos recursos de hardware y es opensource. Aunque sea Opensource tiene un inconveniente, viene en dos versiones, la OSE (OpenSource Edition) la cuál se puede usar en cualquier entorno (personal, comercial) pero es mas limitada (no hay acceso a usb, entre otras limitaciones) y la version Full, la cual esta para la descarga pero solo se permite para uso personal y sin limitaciones, a no ser que se pague (mejor que el trial de 30 dias de VMware).

Yo antes usaba VMware, pero me pase definitivamente a VirtualBox.

Entre las cosas que se pueden hacer, aparte de virtualizar sistemas, es que se puede hacer red entre la máquina real y la virtual, pueden compartir la conexión a Internet, pueden compartir carpetas, hardware (usb, sonido, etc.) y una gracia que me gusto en particular, es que se pueden fusionar escritorios (seamless mode) lo cual mostraré mas adelante con una imagen.

Lo primero es instalar las dependencias para VirtualBox, estas son solo dos y vienen en el DVD de openSuse 10.3:
  • Xalan
  • Xerces
Simplemente ingresen a Yast -> Software -> Instalar/Desinstalar software y en el buscador ingresen las dependencias, seleccionan los paquetes y a instalar se ha dicho, muy simple.

Luego hay que descargar VirtualBox para openSuse 10.3, para esto hagan click aquí para descargar el rpm correspondiente para procesadores de 32 bits y acá para procesadores de 64 bits (deben tener instalado la version de openSuse correspondiente).

En mi caso descargué la de 32 bits, para instalarlo simplemente abrimos una consola, nos logueamos como root e ingresamos:
rpm -i VirtualBox-1.5.2_25433_openSUSE103-1.i586.rpm

Con eso ya esta instalado.

Ahora debemos agregar el usuario que usamos normalmente al grupo vboxusers para que pueda ejecutar VirtualBox, esto lo hacemos en Yast -> Seguridad y usuarios -> Gestionar usuarios, acá seleccionamos el usuario, pinchamos Editar -> Detalles y marcamos el grupo, luego finalizamos.

Ya con eso el usuario tendrá permiso para utilizar VirtualBox sin problemas.

Ahora abriremos con un editor de texto (como usuario root) el archivo fstab que se encuentra en /etc (/etc/fstab), comentaremos la linea que dice:
usbfs /proc/bus/usb usbfs noauto 0 0
agregandole un # delante quedando así:
#usbfs /proc/bus/usb usbfs noauto 0 0
y luego agregamos la siguiente linea debajo de la anterior:
usbfs /proc/bus/usb usbfs defaults,devmode=666 0 0
Con eso VirtualBox podrá utilizar los dispositivos usb sin problemas.

Ahora solo resta reiniciar y ya estamos en condiciones de crear máquinas virtuales, simple, verdad?

Una vez que instalen una máquina virtual (por ejemplo Windows) no olviden instalar el paquete Guest Adittions (Ventana de la máquina virtual -> Dispositivos -> Instalar "Guest Additions"), esto incrementará la velocidad de la máquina virtual volviéndola muy fluida (similar al VMware Tools en VMware) y permitiendo hacer un par de cosillas.

Acá les dejo unas screenshots utilizando openSuse 10.3 y Windows XP virtualizado, como verán en las últimas dos, los escritorios estan fusionados mediante la opcion Seamless Mode, la cual aparece sólo después de instalar el Guest Additions.


Saludos !!!

11 comentarios:

Anónimo dijo...

Hola, yo instalé el OSE desde los repo de opensuse,pero para que funcione hay que dar el siguiente comando:
#modprobe vboxdrv
pero mi pregunta va a que he leido que no funciona con IPs dedicadas, hace tiempo leí que habia que cargar iproute o algo parecido.sabes antecedentes sobre si es posible configurar un servidor y tener varios servidores viurtuales con su propia IP?
Saludos
Marco
pymelinux

Daniel Dario Morales Salas dijo...

Hola, con la version no OSE se puede, pero no sirve para ambienes de produccion por el tema de la licencia a no ser que se pague :(

Lo que dices no lo he hecho en la version OSE pero buscando en la pagina de virtualbox sale como hacerlo http://www.virtualbox.org/wiki/Advanced_Networking_Linux

aunque con lo que sale ahí me queda claro como permitir varias maquinas virtuales y que ellas accedan a internet y a la red, pero lo que no me queda claro es si se les asigna una ip diferente a cada una, habria que probar. (VMWare recuerdo que le asigna una ip a cada maquina virtual, incluso mi router dlink 704p las detectaba inmediatamente).

Ahora voy a instalar la version OSE y probaré a ver que tal, si lo consigo hare una guía de eso ya que seria bastante útil.

saludos!!!

Daniel Dario Morales Salas dijo...

Hola, despues de casi un dia completo averiguando, probando, etc me resultó a la perfección, SI, se puede asignar una ip estática a una maquina virtual de la misma clase del host (ideal para configurar servidores).

Te envié un script a tu correo el cual hace casi todo automaticamente, en el mismo, como comentario, sale lo otro que hay que hacer (configurar el firewall, la maquina virtual en el virtualbox, etc).

Una cosa que hay que tener en cuenta es que SE DEBE TENER INSTALADO EL GUEST ADDITIONS antes de hacer cualquier cosa.

En un rato mas subiré una guía de como se hace todo para que les sirva a las demas personas (son muchas por lo que vi en el foro de virtualbox, quienes aun no lo han logrado).

saludos!!!

Anónimo dijo...

Gracias ,tu aporte es invaluable pues como tu dices muchos han caido en el intento gracias por el email.
saludos
Marco

CarLost dijo...

Hola Daniel, me preguntaba si has probado con exito XEN, com máquina virtual, se que trabaja bien en debian y otros, lamentablemete no en mi distro preferida (ArchLinux) y ando buscando una comparativa entre VBox y Xen. Hasta donde se Xen puede trabajar en lo más básico del hardware dandole un minimo de perdida de performance a las mçaquinas virtuales.
Saludos
Carlost.

Anónimo dijo...

Yo tengo un problema lo he instalado pero al momento de ejecutarlo todo biem, el detalle biene cuando inicio una maquina virtual me dice que no se ha cargado el modulo kernel de virtualbox.

Segun esto si me voy al Yast y busco el software instalado, se encuentra ya instalado.
Este es el mensaje:

VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Re-setup the kernel module by executing '/etc/init.d/vboxdrv setup' as root.
VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).


Código Resultado:
0x80004005
Componente:
Console
Interface:
IConsole {1dea5c4b-0753-4193-b909-22330f64ec45}

Daniel Dario Morales Salas dijo...

te falta cargar el modulo de virtualbox ... como root escribe en la consola:

modprobe vboxdrv

con eso ya esta listo.

saludos !!

Anónimo dijo...

Hola
Me podrias paras el script de la configuracion de red en VirtualBox para asignar una ip estática a una maquina virtual de la misma clase del host
Saludos

Pablo (pablo_rosario76@yahoo.com.ar)

Daniel Dario Morales Salas dijo...

lo envie a tu correo.

saludos !!

VTacius dijo...

Para Open SuSE, segun la guia oficial de Virtual box, deben instalarse los paquetes

kernel-source
kernel-syms packages.

Desde Zypper, basta con hacer

zypper install kernel-source
zypper install kernel-syms packages.

Y despues ejecutan el famoso

/etc/init.d/vboxdrv setup

Ah, lo de la creacion de usuarios es tambien necesaria en su momento:

Gusanito dijo...

Daniel: podrias mandarme el script para las direcciones IP estàticas?
kotogui@yahoo.com.mx

Gracias!!!

Publicar un comentario