sábado, 11 de diciembre de 2010

..::MAQUINAS VIRTUALES::..


Después de mucho tiempo de escribir sobre virtualización me di cuenta que estando en una empresa de tecnología, que se dedica prácticamente de lleno a la virtualización de servidores y desktops y que además tiene un blog con información relacionada al tema no podíamos seguir sin tener un post que "cuente" que es una máquina virtual.
Básicamente una máquina virtual (MV) o virtual machine (VM) como más nos gusta llamarlas a nosotros es una implementación de software de una máquina física ya sea un servidor o una pc. Estas máquinas virtuales utilizan recursos físicos como cpu, memoria y disco rígido del equipo físico donde corren los cuales le permiten a la misma correr un sistema operativo. Dejaremos para otro post el tema de como se le presentan estos recursos físicos a la máquina virtual.Al mencionar que una máquina virtual es una implementación de software de una máquina física, estamos diciendo que lo que conforma a esta máquina virtual es un conjunto de archivos los cuales, en su mayoría, se pueden manipular como si se tratara de cualquier otro archivo presente en algún sistema operativo.
En la mayoría de los entornos de virtualización existen 2 archivos fundamentales de una máquina virtual:
  • El archivo de configuración
  • El o los archivos de disco
El contenido del archivo de configuración presenta los parámetros que hacen a la máquina virtual como cantidad de procesadores, cantidad de memoria, que archivo de disco debe utilizar y de que forma (IDE o SCSI) se lo debe presentar al sistema operativo que corre dentro de la misma al que llamamos sistema operativo guest.
En el o los archivos de disco siempre tendremos los archivos del sistema operativo guest, sus aplicaciones y sus datos.
Análogamente a los equipos físicos, las máquinas virtuales le presentan al sistema operativo guest un set de hardware en particular que va a depender de los parámetros definidos en el archivo de configuración y que va a requerir sus respectivos drivers o controladores los cuales son provistos generalmente por el fabricante de la plataforma de virtualización utilizada.
Al encenderse estas máquinas virtuales comienzan a utilizar los recursos disponibles en el equipo físico donde se encuentran corriendo permitiendonos instalar o ejecutar nuestro sistema operativo dentro de la misma. Como siempre, dependiendo de la plataforma de virtualización, el sistema operativo que corre dentro de nuestra máquina virtual no "sabe" que está corriendo dentro de una máquina virtual y no requiere modificación alguna sobre el mismo y podrá ejecutar básicamente cualquier aplicación o servicio sin que el desempeño se vea afectado.


Programas para ejecutar una máquina virtual
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.

 


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.



VMware 
Es un sistema de virtualización por software. Un sistema virtual por software es un programa que simula un sistema físico (un ordenador, un hardware) con unas características de hardware determinadas. Cuando se ejecuta el programa (simulador), proporciona un ambiente de ejecución similar a todos los efectos a un ordenador físico (excepto en el puro acceso físico al hardware simulado), con CPU (puede ser más de una), BIOS, tarjeta gráfica, memoria RAM, tarjeta de red, sistema de sonido, conexión USB, disco duro (pueden ser más de uno), etc.
Entre este software se incluyen VMware Workstation, y los gratuitos VMware Server y VMware Player. El software de VMware puede funcionar en Windows, Linux, y en la plataforma Mac OS X que corre en procesadores INTEL, bajo el nombre de VMware Fusion. El nombre corporativo de la compañía es un juego de palabras usando la interpretación tradicional de las siglas «VM» en los ambientes de computación, como máquinas virtuales (VirtualMachines).










Kernel-based Virtual Machine
O KVM, (en español Máquina virtual basada en el núcleo) es una solución para implementar virtualización completa con Linux sobre hardware x86. Está formada por un módulo del núcleo (con el nombre kvm.ko) y herramientas en el espacio de usuario, siendo en su totalidad software libre. El componente KVM para el núcleo está incluido en Linux desde la versión 2.6.20.
KVM permite ejecutar máquinas virtuales utilizando imágenes de disco que contienen sistemas operativos sin modificar. Cada máquina virtual tiene su propio hardware virtualizado: una tarjeta de red, discos duros, tarjeta gráfica, etc.


No hay comentarios:

Publicar un comentario