• Con el fin de ofrecerle una experiencia de navegación adaptada a sus necesidades le informamos de que esta web utiliza cookies. Puede deshabilitarlas en las opciones de su navegador web. Mas info Politica de Cookies Free data recovery software
 

Tutorial de Virtualización

sadsoft

Administrador
Voy a hacer un repaso del software de virtualización más frecuente disponible para GNU/Linux, pero primero...

¿Qué es la virtualización?

La virtualización es una técnica que permite el uso de máquinas con distintos sistemas operativos funcionando dentro de una máquina real al mismo tiempo.
Al software de virtualización se le llama hypervisor, y es el encargado de "traducir" las instrucciones de la máquina virtual en instrucciones reales que el SO principal ejecuta sobre el hardware.

No me queda claro... ¿ejemplos de uso?

Supongamos que tenemos instalado Windows en el PC, y queremos a la vez ejecutar GNU/Linux sin apagar el Windows, podemos en ese caso instalar un hypervisor y crear una máquina virtual que corra Ubuntu, por ejemplo, todo ello dentro de Windows y sin tener que cambiar entre sistemas, pudiendo ejecutar ambos a la vez.

Suena genial, pero... ¿dónde está la pega?

El principal problema de la virtualización es el equipo en sí. Debemos poseer un equipo capaz de ejecutar ambos sistemas (o más, podemos instalar y ejecutar tantas máquinas virtuales como el PC pueda ejecutar) con suficiente fluidez.
Además, al estar el hypervisor continuamente "traduciendo" las órdenes de la máquina virtual para que ésta crea que esta siendo ejecutada sobre una máquina real y no virtual, obtenemos una penalización de rendimiento de en torno a un 20% con respecto a ese mismo sistema sin virtualizar.

Vale, me he decidido, ¿qué alternativas tengo?

No vayas tan rápido, existe otra opción llamada paravirtualización, las soluciones que usan este sistema son más complicadas de instalar y de ejecutar, pero ofrecen rendimientos superiores a los hypervisores tradicionales.

¿Qué es la paravirtualización?

La paravirtualización permite ejecutar un hypervisor directamente sobre el hardware del equipo, sin pasar por un sistema operativo "huesped".
Las máquinas paravirtualizadas saben que son máquinas virtuales, ya que su kernel es modificado para funcionar sobre el hypervisor directamente, aumentando su rendimiento al no necesitar "intérpretes".

¿Entonces por qué voy a usar un hypervisor normal?

Los hypervisores tradicionales tienen la ventaja de que funcionan sobre todo tipo de sistema y son capaces de correr todo tipo de sistema también.
Además son fáciles de instalar y de usar.
Los software de paravirtualización solo son capaces de virtualizar sistemas GNU/Linux normalmente al requerir un kernel modificado para ello.
Para que un software de paravirtualización permita virtualizar por ejemplo Windows, se necesita un procesador que soporte la virtualización por hardware, de esta manera se puede instalar Windows sin modificar el kernel y ejecutarlo como si fuera una máquina real.

Qué programas puedo instalar?

Los programas que menciono a continuación son de código abierto, por lo que se pueden descargar y usar sin coste.

- VirtualBox

Oracle VM VirtualBox es un software de virtualización para arquitecturas x86, creado originalmente por la empresa alemana innotek GmbH. Actualmente es desarrollado por Oracle Corporation como parte de su familia de productos de virtualización. Por medio de esta aplicación es posible instalar sistemas operativos adicionales, conocidos como «sistemas invitados», dentro de otro sistema operativo «anfitrión», cada uno con su propio ambiente virtual.
Entre los sistemas operativos soportados (en modo anfitrión) se encuentran GNU/Linux, Mac OS X, OS/2 Warp , Microsoft Windows, y Solaris/OpenSolaris, y dentro de ellos es posible virtualizar los sistemas operativos FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows, Solaris, MS-DOS y muchos otros.
La aplicación fue inicialmente ofrecida bajo una licencia de software propietario, pero en enero de 2007, después de años de desarrollo, surgió VirtualBox OSE (Open Source Edition) bajo la licencia GPL 2. Actualmente existe la versión propietaria Oracle VM VirtualBox, que es gratuita únicamente bajo uso personal o de evaluación, y esta sujeta a la licencia de "Uso Personal y de Evaluación VirtualBox" (VirtualBox Personal Use and Evaluation License o PUEL) y la versión Open Source, VirtualBox OSE, que es software libre, sujeta a la licencia GPL.
VirtualBox ofrece algunas funcionalidades interesantes, como la ejecución de maquinas virtuales de forma remota, por medio del Remote Desktop Protocol (RDP), soporte iSCSI, aunque estas opciones no están disponibles en la versión OSE.
En cuanto a la emulación de hardware, los discos duros de los sistemas invitados son almacenados en los sistemas anfitriones como archivos individuales en un contenedor llamado Virtual Disk Image, incompatible con los demás software de virtualización.
Otra de las funciones que presenta es la de montar imágenes ISO como unidades virtuales ópticas de CD o DVD, o como un disquete.
Tiene un paquete de controladores que permiten aceleración en 3D, pantalla completa, hasta 4 placas de red Gigabit, integración con teclado y mouse.
A diferencia de otro virtualizadores que utilizan la combinación crtl + alt para volver el teclado y el mouse a la máquina física, VirtualBox utiliza la tecla Ctrl de la derecha como tecla host, por defecto, esta función puede ser personalizada a otra tecla o combinación de teclas por el usuario.

- QEmu

QEMU es un emulador de procesadores basado en la traducción dinámica de binarios (conversión del código binario de la arquitectura fuente en código entendible por la arquitectura huésped). QEMU también tiene capacidades de virtualización dentro de un sistema operativo, ya sea GNU/Linux, Windows, o cualquiera de los sistemas operativos admitidos, (de hecho es la forma más común de uso). Esta máquina virtual puede ejecutarse en cualquier tipo de Microprocesador o arquitectura (x86, x86-64, PowerPC, MIPS, SPARC, etc.). Está licenciado en parte con la LGPL y la GPL de GNU.
El objetivo principal es emular un sistema operativo dentro de otro sin tener que reparticionar el disco duro, empleando para su ubicación cualquier directorio dentro de éste.
El programa no dispone de GUI, pero existe otro programa llamado QEMU manager que hace las veces de interfaz gráfica si se utiliza QEMU desde Windows. También existe una versión para GNU/Linux llamado qemu-launcher. En Mac OS X puede utilizarse el programa Q que dispone de una interfaz gráfica para crear y administrar las máquinas virtuales.

- Xen

Xen utiliza una técnica llamada paravirtualización para alcanzar alto rendimiento (es decir, bajas penalizaciones del rendimiento, típicamente alrededor del 2%, con los peores casos rondando el 8%; esto contrasta con las soluciones de emulación que habitualmente sufren penalizaciones de un 20%).
Con la paravirtualización, se puede alcanzar alto rendimiento incluso en arquitecturas (x86) que no suelen conseguirse con técnicas tradicionales de virtualización. A diferencia de las máquinas virtuales tradicionales, que proporcionan entornos basados en software para simular hardware, Xen requiere portar los sistemas operativos para adaptarse al API de Xen. Hasta el momento hay ports para NetBSD, Linux, FreeBSD y Plan 9.
Intel ha realizado modificaciones a Xen para soportar su arquitectura de extensiones Vanderpool. Esta tecnología permite que sistemas operativos sin modificaciones se ejecuten en máquinas virtuales Xen, si el sistema soporta las extensiones Vanderpool o Pacífica (de Intel y AMD respectivamente, extensiones para soportar virtualización de forma nativa). Prácticamente, esto significa una mejora de rendimiento, y que es posible virtualizar Windows sin tener que modificarlo.
Xen funciona actualmente en sistemas basados en x86. Actualmente se están portando las plataformas AMD64, IA64 y PPC. Los ports de otras plataformas son técnicamente posibles y podrán estar disponibles en el futuro. Plataformas GNU/Linux soportadas:

- Mandriva 2006 incluye Xen 2.6
- Novell's SUSE Linux Enterprise 10 incluye Xen 3.
- Fedora Core 5 incluye la versión 3 de Xen.
- Red Hat Enterprise Linux en su última versión 5, incluye soporte completo de Xen 3.
- Xenophilia es una distribución GNU/Linux que se basa en Xen.
- Xen demo CD es una ISO live CD basada en Debian que permite probar Xen en tu sistema sin instalarla en disco duro.
- Debian La versión 5.0 (lenny) incluye Xen 3.2, además de incluirlo en sus repositorios "testing" y "unstable".
- NetBSD 2.0 incluye soporte para Xen 1.2.
- Oracle VM Oracle basado en Xen
- CentOS CentOS 5

Conclusiones

Tras este breve repaso espero haber despejado algunas dudas de aquellos que no supiesen lo que es la virtualización o tuvieran curiosidad por ella.
Con este post solo quería dar a conocer métodos desconocidos para el usuario común, pero muy extendidos en entornos empresariales, académicos y gubernamentales, la virtualización es algo muy utilizado, que pasa desapercibida para el usuario normal, pero que puede ser muy útil en nuestra vida cotidiana delante del PC.

En la próxima entrega del manual de virtualización explicaré la creación de una máquina virtual con VirtualBox... estad atentos a vuestras pantallas!!


Fuentes:
- Wikipedia
- Mi propia experiencia

Salu2
 
Última edición:
Virtualizando con VirtualBox

En esta nueva entrega os voy a enseñar como crear vuestra propia máquina virtual con VirtualBox.
Para empezar descargamos el programa desde aquí.

Una vez descargado lo instalamos con todas las opciones de instalación por defecto y lo ejecutamos.

En la pantalla principal del programa seleccionamos "Nueva".

captura1nuevamaquina.png


Se nos abrirá un asistente, hacemos click en siguiente y nos preguntará qué nombre le queremos dar a la máquina virtual y qué sistema operativo tendrá instalado:

captura2nombreytipo.png


Volvemos a darle a siguiente y esta vez nos pedirá la cantidad de memoria RAM del sistema que vamos a asignarle a la máquina virtual (huelga decir que debemos poseer esa cantidad de RAM disponible y libre)

captura3cantidadderam.png


Continuamos con el asistente y en esta ocasión nos preguntará que disco duro virtual vamos a asignarle a la máquina (como es nuestra primera vez no tendremos ninguno, así que dejamos la opción "crear disco virtual nuevo" y hacemos click en siguiente.

captura4discoduro.png


Se nos abrirá un asistente, que nos preguntará si lo queremos dinámico o fijo.
El disco dinámico irá creciendo de 2Gb en 2Gb según vaya llenándose, mientras que el fijo será del tamaño fijo que estipulemos en el siguiente paso.
Una vez lo decidamos hacemos click en siguiente para ponerle un nombre al disco duro virtual y asignarle tamaño máximo (ya sea dinámico o fijo).

captura6asistentediscot.png


Cuando tengamos nuestro disco definido y hagamos click en siguiente volveremos al asistente inicial, que nos mostrará los detalles de la máquina que vamos a crear.
Al hacer click en siguiente se nos creará y aparecerá en la pantalla inicial del programa.

Un punto fuerte que tienen las máquinas virtuales es que les podemos asignar hardware virtual y proporcionarles recursos según las usemos, para ello, con la máquina seleccionada hacemos click en "Configuración".

captura8maquinacreada.png


Dentro del menú de configuración tenemos varias categorías, yo voy a explicaros las tres más utilizadas (cualquier cambio en esta configuración solo se podrá realizar con la máquina virtual apagada).

Ajustes de Sistema

En este submenú podemos asignarle mas o menos cantidad de memoria RAM a la máquina, más o menos núcleos de procesador y activar (si son soportadas) las tecnologías de virtualización por hardware del procesador.

Ajustes de Almacenamiento

En éste submenú se pueden asignar discos duros virtuales ya creados o nuevos a la máquina virtual, además de añadir unidades ópticas reales o ficticias (una imagen de disco por ejemplo), en la imagen siguiente, el icono señalado en rojo representa la adición de disco duro, mientras que el señalado en azul la de unidades ópticas.

captura10ajustesdiscos.png


Ajustes de Red

Con este submenú podemos agregar interfaces de red con comportamientos distintos a la máquina virtual. Los comportamientos más usuales son:

- NAT: La máquina toma la conexión de red de la máquina anfitrión mediante enrutamiento de los paquetes entre ambas (pero la máquina virtual no está realmente en red con el resto).

- Adaptador Puente o Bridge: La máquina virtual crea un puente de red entre su interfaz de red y la de la máquina real, obteniendo así acceso a la red y pudiendo utilizarla como si de un equipo más se tratara.

- Red interna: Con este ajuste la máquina virtual se comunica con la máquina anfitrión como si ambas estuvieran interconectadas con un cable de red cruzado.

Una vez que los ajustes nos han quedado claros queda lo más fácil, aunque también lo más tedioso, la instalación de un SO en la máquina.
VirtualBox tiene un sistema de instalación desatendida que funciona con la mayoría de sistemas operativos usuales, de tal manera que cuando detecte que el SO es instalable con ese método nos preguntará si queremos hacerlo así. Yo soy partidario de hacer una instalación normal, porque nos puede pasar (sobre todo con Linux) que nos instale el SO con un paquete de idiomas en inglés y luego tengamos que andar cambiándolo...

Para instalar el SO simplemente debemos introducir su disco en nuestro lector, arrancar la máquina virtual y a partir de ahí realizar la instalación en ella como si de nuestro sistema se tratase.

Consideraciones

- Podemos instalar el sistema operativo desde una ISO si lo montamos en un dispositivo virtual de la máquina.
- Una vez instalada la máquina, podemos instalar las "Guest Additions" desde el menú Dispositivos/Instalar <<guest additions>>, lo que nos permitirá que la resolución de la máquina se ajuste al tamaño de la ventana que la contiene, que el ratón esté compartido por ambas máquinas...

En fin, amigos, iréis aprendiendo a utilizar el programa con su uso e investigando un poco. Yo os he dado el pequeño empujoncito que se necesita para empezar, el resto es cosa vuestra, que lo disfrutéis!!

Salu2
 
Gran tutorial Mr. Sadsoft ¿esta ya terminado entiendo? asi lo pongo en la seccion de Tutoriales de la pagina.

Salu2
 
Se agradece Sad, esta muy bien explicado,
Saludos y a darle caña a los tutos ^^
 
Back
Arriba