Ruta: inicio . Artículos y Reviews . TUTORIALES . Virtualizacion en Linux y Windows

Virtualizacion en Linux y Windows

Modelo:
Ubuntu 7.10 - Windows XP - VirtualBox
Autor:
Eagle
Fecha:
09-01-2008

Ya hemos visto lo que puede hacer el Ubuntu para aplicaciones de escritorio basicas, sin embargo, todavía no hemos visto nada. En este analisis les vamos a mostrar paso a paso como poder virtualizar con Software totalmente gratuito, tambien vamos a explicar como hacerlo desde Windows XP para los que deseen probar Linux sin miedo.

Que es la Virtualizacion:

Vamos a comenzar este Artículo explicando que es basicamente la Virtualización, para todos los que todavía no conocen que es exactamente.

Virtualización, particularmente hablando de los sistemas operativos es el proceso por el cual se puede "correr" un sistema operativo completo "dentro" de otro sistema operativo, efectivamente permitiendo el uso de 2 sistemas operativos a la vez. En el proceso de virtualizacion encontramos al Sistema Operativo "Host" (que es el que se encarga de proveer la virtualizacion necesaria mediante programas y el sistema operativo "cliente" que es el que correra dentro del mismo. En el proceso de virtualizacion se pueden emular ciertos rasgos de Video y Audio, a traves de Drivers que el mismo programa de Virtualizacion provee, sin embargo, para funciones mas avanzadas esto queda fuera de la ecuacion, esto es, podremos virtualizar siempre y cuando no se nos ocurra utilizar 3D "dentro" del sistema operativo cliente. Por el momento ningún programa de virtualizacion provee soporte para 3D y el unico que lo hace "VMWare" es Software comercial y su soporte es practicamente inexistente ya que es Experimental y en etapa preliminar de pruebas.

Debido a que existen ciertas funciones como la mencionada de aceleracion 3D que no estan disponibles en el sistema operativo Cliente, se debe tomar cuidadosa atencion de que funciones queremos utilizar del Sistema Operativo Cliente. Recuerden que si bien estamos virtualizando un sistema operativo, el sistema operativo Host retiene absolutamente toda la funcionalidad, por lo cual, podremos utilizar 3D en el Host mientras que utilicemos funciones comunes que no requieran 3D en el cliente.

Como les explique anteriormente, la terminologia comunmente usada es S.O. Host y Cliente, la forma mas comun de referirse a un sistema operativo virtualizado es "Maquina Virtual" (derivado de la palabra "Virtual Machine" en ingles), de ahora en mas, a las maquinas virtuales les llamaremos VM que es la forma mas comun en que se las conoce. Para que la virtualizacion sea posible entonces existen 3 variables, la Maquina "Host", el programa de virtualización, que provee el soporte y la maquina Virtual o VM.

La virtualizacion es muy práctica a la hora de utilizar distintas funciones de un sistema operativo especifico o bien cuando se deseea "probar" el sistema operativo en cuestion sin arriesgar la integridad del sistema operativo que usamos (host), debido a que la virtualizacion es un proceso extremadamente costoso tanto para el sistema como para el CPU y memoria, ya que se estan efectivamente compartiendo recursos con otro sistema operativo que bien puede ser completamente distinto y debido a que la virtualizacion cada vez gana mas y mas aceptacion, ya que permite efectivamente utilizar software de distintas arquitecturas en una misma PC centralizada o bien utilizar varios servicios de distinta indole en distintas PC's (todo en una misma PC) tanto AMD como Intel han desarrollado en sus últimos procesadores una tecnología de Virtualización por Hardware, esta tecnología le permite al procesador traducir código del sistema operativo Cliente mediante las extensiones de Virtualización (el programa que realice la virtualización debe soportar estas funciones) con lo cual, el procesador ejecutará código del Sistema Operativo Cliente prácticamente sin recarga adicional o una mayor demanda de recursos, y a performance casi Nativa, de otra manera, las maquinas virtuales consumen enormes cantidades de CPU, una situacion generalizada con procesadores que no soportan virtualizacion por Hardware es el uso indiscriminado de CPU para poder correr la maquina virtual, con lo cual, los sistemas operativos perdian prácticamente la mayor cantidad de recursos (CPU) a la hora de tener que concentrar mas de un sistema operativo en una misma PC, gracias a que los procesadores soportan Virtualizacion mediante hardware, esta es una excelente epoca para empezar a utilizarlos para este fin!

La tecnología de virtualizacion en Intel se la conoce como Intel-VT o "Vanderpool Technology" y en AMD como AMD-V o mas comunmente como "Pacifica" (que es codigo interno con el cual AMD reconoce al proyecto), cabe aclarar que esta tecnología no se encuentra en todos los procesadores de AMD e Intel, mas adeltante daremos una lista para que esten seguros a la hora de poder armar una PC para Virtualizacion.

Dicho esto, vamos a analizar una forma interesante de virtualizacion a traves de un programa Multiplataforma que soporta en este momento tanto Windows XP/2003/Vista como también Linux en sus variantes 32bit y 64bit para ambos tipos de sistemas operativos, lo cual brinda una compatibilidad inmensa, se trata del VirtualBox.

VirtualBox: Virtualizacion Gratuita en Linux y Windows XP

Porque elegimos VirtualBox?

El VirtualBox es un programa multiplataforma, OpenSource, tanto para Linux como para Windows y MAC en sus 2 variantes, 32 y 64bits lo cual nos permite toda clase de combinaciones de instalacion, para este review, vamos a utilizar Ubuntu 7.10 (Gutsy Gibbon) como Sistema operativo "Host" y el Microsoft Windows XP SP2 y Linux Mandriva 2008 "One" como clientes. Porque elegimos esta configuracion ? esta explicacion es simple, para los que desean trabajar y estan acostumbrados al Windows XP, pueden utilizarlo en una maquina Virtual perfectamente bien, esto le permite retener la Aceleracion 3D y escritorio 3D al Ubuntu, a su vez el VirtualBox es un proyecto que nacio en Linux por lo cual, su mejor escenario de Performance es cuando se ejecuta nativamente en Linux, sin embargo, funciona bien bajo XP, la ultima razón es la posibilidad de utilizar 2 Monitores con aceleración 3D bajo Ubuntu (la configuracion que usaremos) haciendo el manejo de escritorios mucho mas simple y efectivo.

El VirtualBox es extremadamente interesante para virtualizacion ya que permite inter-operabilidad entre sistemas operativos "Hosts". Debido a que la misma version es compilada tanto para Windows como para Linux, en todas sus variantes, podremos utilizar una Maquina Virtual hecha en un sistema operativo Linux desde el Windows, ya que el archivo de almacenamiento de la maquina virtual tiene las mismas variables, lo que nos permite crear una maquina virtual que luego pueda ser usada en nuestros multiples sistemas operativos "hosts", les explicaré mas adelante como se hace esto.

Ademas de ser un programa totalmente gratuito, multiplataforma y disponible tanto en 32 como en 64bits, el VirtualBox tiene soporte nativo de Virtualizacion por Hardware para AMD-V e Intel-VT por lo cual, nos pareció la opción mas sencilla y efectiva a la hora de confeccionar este Articulo.

Por el momento el VirtualBox consta de 2 versiones, la versión OSE (OpenSource Edition) de codigo abierto y la versión Full (Closed Source) pero comercial, las diferencias entre ambas son la ausencia de soporte para USB y la utilización de servicios de Terminal remota en las maquinas virtuales para la versión OSE, sin embargo, los diseñadores de VirtualBox han dejado claro que una vez finalizado y depurado el codigo de la versión Full de codigo cerrado, la convertirán en OpenSource y estará disponible de la misma manera que se encuentra disponible la versión OSE. Por el momento, esto quiere decir tan solo 1 limitación en el uso de nuestras maquinas virtuales, la incapacidad de poder utilizar un dispositivo USB una vez conectado a traves de la maquina virtual, sin embargo, podremos eso si, utilizar PenDrives, USB-HDD y demas dispositivos, ya que simplemente los utilizamos en la maquina Host y luego movemos esos archivos a la maquina virtual, así que esto solo afecta a dispositivos como camaras Web si y solo si se quieren usar dentro de la maquina virtual.

El codigo del VirtualBox OSE es de una estabilidad sobresaliente y realmente no se ha colgado ni siquiera con los mas altos niveles de exigencia, lo cual lo convierte en un programa para maquinas virtuales destacable y es lo que nos ha decidido utilizarlo como centro de este Articulo.

Que se necesita para Virtualizar Sistemas Operativos:

Para poder realizar virtualizacion, se requiere al menos de lo siguiente:

  • Procesador Intel o AMD Dual-Core en adelante (en lo posible con Virtualizacion por Hardware)
  • Al menos 2Gb de RAM para utilizar al menos 1 Maquina virtual maximo de su potencial
  • Al menos 10Gb de espacio libre en disco que se utilizará para crear el "Disco Virtual"
  • De ser posible una buena performance de RAM, ya que es la porcion (junto con el CPU) que mas se utiliza en el proceso.

Especificaciones Tecnicas de la PC usada en este Articulo:

Las especificaciones de la maquina que vamos a usar para Virtualizacion son las siguientes:

systemspecs_500

Aquí en MaximoPC nos tomamos el tema de la virtualización muy en serio y vamos a poner a prueba esta PC con el nuevo Ubuntu 7.10 de 64 bits, debido a que usamos 4 memorias de 1066Mhz, haciendo un total de 4Gb, se hace necesario utilizar la versión de 64bits para poder detectarlos de manera correcta, así mismo, destinamos un espacio de partición de 274Gb en el formato "JFS" que es ligeramente superior en performance al estandar "ext3" en Linux.

Para todo el review, vamos a concentrarnos fundamentalmente en la utilización de VirtualBox bajo Linux, para los que deseen utilizar este mismo programa en Windows, lo pueden hacer perfectamente bien y las funciones son exactamente las mismas, incluso los mismos Menus, ya que el VirtualBox es un proyecto que nacio en Linux y luego se convirtió a Windows, por lo cual, la guía les sirve de la misma manera, el link oficial donde pueden bajar la versión de Windows tanto para 32 o 64bits es este. Para los que deseen utilizar la version de Linux pero en otra distribucion que no sea Ubuntu, tampoco desesperen ya que pueden bajarse el programa de la pagina oficial también, para los que utilizan Ubuntu les explicaremos a continuación su instalación.

El resto de las especificacions de la PC que utilizamos es la siguiente:

  • Procesador Core2Quad Q6600 @ 3Ghz
  • 4 x 1066 DDR2 (G.Skill) @ 1000Mhz 4-4-4-12
  • Asus P5B Deluxe WiFi-AP (333x9)
  • 3 x Seagate 320Gb SATA2 HDD
  • MSI Geforce 8800GTX
  • Sound Blaster Audigy2 ZS
  • Pantalla LCD (Display1) - 22 pulgadas 1680x1050
  • Pantalla LCD (Display2) - 17 pulgadas 1280x1024

Se uso las opciones "Twinview 1" y Metamodes 1680x1050_60,1280x1024_60 para activar el modo TwinView y poder tener efectavamente 2 pantallas separadas pero compartiendo el mismo escritorio, de esta forma, se puede tener maximizado en Full Screen (el VirtualBox maximiza a tamaño total) en una pantalla el SO cliente mientras que se usa el Sistema Operativo Host en la otra, convirtiendo a una PC efectivamente en 2 PCs distintas.

Es necesario tener soporte de Virtualizacion por Hardware?

La respuesta clara a esta interrogante es un rotundo si.

Si bien, es posible virtualizar perfectamente bien con procesadores que no dispongan de tecnología de virtualización, la utilización de la misma permite bajar de manera "brusca" el uso de CPU, a continuación les mostramos 2 imagenes donde podrán ver que ocurre cuando movemos una ventana en un Sistema Operativo Virtualizado, con y sin utilización de tecnología de Virtualización por Hardware.

virt_00_400

Este como ya conocen es el equivalente al Task Manager de Windows en el Ubuntu, como pueden apreciar tan solo mover una ventana dentro de la maquina virtual provoca el 100% de uso del CPU2 que es el que se asoció a la maquina virtual, recuerden que para el VirtualBox se utiliza 1 CPU por VM.

virt_01_400

Aquí vemos con Intel VT (VanderPool Technology) para Virtualización por Hardware activado, vemos como el CPU4 (que es el que quedó asignado ahora a la maquina virtual tan solo consume un 27% moviendo una ventana en la maquina virtual, bajando considerablemente el uso de CPU ya que no existen instrucciones redundantes ni problemas de excesivo "Context Switching" sino que el CPU intercepta y ejecuta de manera nativa las instrucciones, reduciendo el tiempo de uso de CPU y mejorando así la performance de la maquina virtual.


Comentarios (13) | RSS 2.0

Páginas: 1 2 3 4 5 6 7 8 | Siguiente »

Últimos temas foro TUTORIALES