Virtualización
Definición
Virtual
es algo que tiene existencia aparente y no real, según el Diccionario de la
Real Academia Española.
En
informática, virtual se aplica a la creación a través de software de algún
recurso tecnológico como una plataforma de hardware u ordenador, en
contraposición del recurso tecnológico real que sería hardware físico.
La
virtualización es el proceso o la acción de crear recursos o máquinas
virtuales, que en apariencia se comportan como recursos o máquinas reales,
aunque en realidad no existen como hardware real.
Como se consigue la
virtualización
Esta
apariencia se consigue gracias a un programa especial denominado hipervisor
(hypervisor) o monitor de máquina virtual (virtual machine monitor) capaz de
crear una capa de abstracción entre el hardware de la máquina física denominada
también host o anfitrión y el sistema operativo de la máquina virtual
denominada también guest o invitado.
Este
hipervisor es capaz de controlar los recursos fundamentales del ordenador o
máquina física (memoria, procesador, conexión de red y acceso a disco)
repartiéndolos de forma dinámica entre las diferentes máquinas virtuales. De
esta forma diferentes máquinas virtuales se pueden ejecutar sobre un mismo
ordenador o hardware físico siempre que este tenga la capacidad de proceso y
recursos suficientes para garantizar una ejecución normal (no bajo mínimos) de
las mismas.
Historia
Las
máquinas virtuales, tan populares en estos tiempos, tienen su origen en los
años 60. Los mainframes de IBM eran plataformas muy grandes y costosas y se
hacía necesario buscar soluciones para amortizar su coste.
La
necesidad de aprovechar mejor un hardware tan costoso dio paso a la idea de
simular en una misma máquina física diferentes máquinas virtuales.
De
aquí surgieron los sistemas CP-40 y CP-67/CMS precursores de una familia de
sistemas operativos que van desde el IBM VM/370 que vio la luz en 1972 hasta
el z/VM utilizado en los sistemas zSeries actuales.
Con la
potencia de los actuales microprocesadores, el aumento de la velocidad y
capacidad de memorias, discos e interfaces de red, la virtualización resurgió
con fuerza en los entornos de PC y de servidores.
Las
máquinas virtuales comenzaron a aparecer en ordenadores de escritorio y dejaron
de ser exclusivas de los mainframes o servidores de alta gama.
Hace
tiempo que tanto Intel como AMD fabrican procesadores con una serie de
extensiones que son vitales para acelerar los procesos de virtualización, y
para soportar algunas características más que interesantes. En el caso de AMD,
su tecnología AMD-V, que fue desarrollada con el nombre en clave de
Pacifica, está presente en la práctica totalidad de sus microprocesadores
actuales (los Sempron suelen no estar preparados con esta capacidad).
Por su
parte, también Intel presentó hace tiempo su propia propuesta al
respecto, la tecnología llamada VT-x (antes Intel Vanderpool) y que
de nuevo está presente en casi todos los microprocesadores actuales.
Aunque
la virtualización a nivel de procesador es casi una característica por defecto
de los modernos procesadores, algunos no lo soportan por un tema de costes. Así
pueden venderse procesadores baratos para equipar ordenadores que no requieran
de la capacidad de virtualizar.
Si
vais a aprovecharos de la virtualización, deberíais aseguraros de que el
procesador de vuestro ordenador dispone de dichas extensiones, algo fácil de
comprobar en los sitios Web de los fabricantes o el propio BIOS del ordenador o
en la información de la placa base.
Soluciones de virtualización
Existen
numerosas soluciones de virtualización en el mercado actual, algunas de pago y
otras gratuitas, algunas propias de una plataforma y otras con orientación
multiplataforma. Veamos algunas de ellas.
Producto
|
Plataformas
|
Fabricante / Licencia
|
Oracle
VM
|
Windows,
Linux, Solaris
|
Oracle
/ Free
|
VirtualBox
|
Windows,
Mac OSX, Linux, Solaris
|
Oracle
/ Libre
|
VMWare
Server / Workstation
|
Windows,
Linux
|
VMWare
/ Comercial
|
VMWare
Fusion
|
Mac
OSX
|
VMWare
/ Comercial
|
Windows
Server Hyper-V
|
Windows
|
Microsoft
/ Comercial
|
Virtual
PC
|
Windows
|
Microsoft
/ Libre
|
KVM
|
Linux
|
Qumranet
/ Libre
|
Parallels
Desktop
|
Windows,
Mac OSX, Linux
|
Parallels
/ Comercial
|
Parallels
Server
|
Mac
OSX
|
Parallels
/ Comercial
|
Xen
Server
|
NetBSD,
Linux, FreeBSD
|
Xen
Project/ Libre
|
zVM
hypervisor
|
zVM
|
IBM
/ Comercial
|
Tipos de hipervisores
Tipo
|
Descripción
|
Productos
|
Nativo
(bare-metal o unhosted)
|
El
hipervisor se ejecuta directamente sobre hardware real como un sistema
operativo
|
VMware ESXi, VMware ESX, IBM zVM, Citrix XenServer y
Microsoft Hyper-V Server.
|
Hosted
|
El
hipervisor se ejecuta como un programa sobre un sistema operativo host
|
Oracle VirtualBox, VMware Workstation, VMware Server, VMware Player,
QEMU, Microsoft Virtual PC
|
Ventajas de la virtualización
A
continuación, algunas de las razones por las cuáles la virtualización es
conveniente:
1. Reducción de los costes de compra y mantenimiento. Podemos
aprovechar una sola máquina física para ejecutar varias máquinas virtuales con
la consiguiente reducción de espacio, mantenimiento de hardware, gastos de energía eléctrica y un
uso más racional de la potencia del hardware que hemos comprado
2. Compatibilidad con aplicaciones y sistemas operativos antiguos.
Podemos instalar máquinas virtuales cuando tenemos aplicaciones antiguas que
por razones de negocio o de conveniencia no podemos migrar a las nuevas
plataformas. Por ejemplo, si tenemos algo crítico de nuestro negocio que se
ejecuta en Windows NT.
3. Pruebas en entornos aislados y seguros. Se pueden crear máquinas
virtuales para montar entornos de prueba para diferentes productos de software
y evaluar su rendimiento y su
funcionalidad sin comprometer los entornos reales de trabajo.
4. Entornos de desarrollo baratos en distintas plataformas de forma
simultánea. En una infraestructura corporativa pueden montarse entornos de
desarrollo y preproducción en máquinas virtuales y dejar solo el hardware real
para entornos de producción de muy alto rendimiento.
5. Gestión y control centralizado de recursos. En una misma máquina
física tenemos el control de recursos de varias máquinas virtuales.
6. Procedimientos
de backup y restauración muy sencillos. Es muy simple hacer una copia
de una máquina virtual completa (en realidad es un carpeta con varios archivos,
uno de los cuáles es el almacenamiento virtual) así como restaurar una copia
anterior si la copia actual está dañada.
7. Migraciones en vivo de máquinas virtuales entre distintos PCs o
servidores físicos. Es muy simple migrar máquinas de un servidor a otro o
entre distintos PCs, en vez de reinstalar máquinas físicas. Las máquinas
físicas requerirían como mínimo la instalación del sistema operativo, la
instalación y configuración correcta de todos los productos de software
necesarios y por último importar todos los datos de producción que necesitamos
para trabajar. Con una máquina virtual movemos todo de un golpe, cambiando de
una máquina física a otra.
8. Fácil recuperación/reinicio en caso de posibles caídas. Es muy
simple volver a arrancar una máquina virtual desde un panel centralizado que
gobierna al hipervisor.
9. Escalabilidad vertical. Es muy simple añadir recursos
a la máquina virtual desde la consola de control del hipervisor. Se puede
configurar otra tarjeta de red, o más memoria operativa o de video, o
simplemente añadir un nuevo disco duro.
10. Escalabilidad horizontal. En una misma o en diferentes máquinas
físicas puede montarse un cluster (estructura redundante de ordenadores que
permite alta disponibilidad o sea que siempre exista un ordenador que nos de
servicio) clonando una misma máquina virtual
Limitaciones de la
virtualización
- Se necesita un hardware de determinada
potencia y recursos para poder tener máquinas virtuales que funcionen lo
más parecida a una máquina real
- Todo el hardware no es posible virtualizarlo,
por ejemplo las tarjetas gráficas avanzadas, por lo que no pueden
emplearse máquinas virtuales como plataformas de juegos ni estaciones de
diseño gráfico o de vídeo
- El rendimiento del hardware virtualizado
siempre va a ser inferior al rendimiento del hardware real
Criterios al definir máquinas
virtuales
Mientras
más potencia y recursos tenga nuestra máquina física, más potentes y rápidas
serán las máquinas virtuales que podamos ejecutar sobre ella y menos diferencia
habrá entre una máquina virtual y una real.
Por
ejemplo, no es lo mismo ejecutar dos máquinas virtuales en un ordenador de 4
núcleos con 4 GB de memoria y 100 GB de disco duro que en un ordenador con un
procesador de 8 núcleos con 16 GB de memoria y 1 TB de disco.
Como
la máquina física tiene que tener sistema operativo también, los recursos que
podemos repartir entre las máquinas virtuales no pueden ser la totalidad de los
recursos que realmente tiene la máquina física.
Los
recursos de la máquina física, por ejemplo, 1 GB de memoria, un núcleo de
proceso y 8 GB de espacio en disco incluyendo el hipervisor instalado no pueden
ser utilizados por las máquinas virtuales.
Así en
el primer caso, solo tenemos 3 núcleos, 3 GB de memoria y 92 GB de espacio en
disco para repartir entre las máquinas virtuales creadas.
Como
mínimo podremos crear 3 máquinas virtuales con 25 GB de disco cada una, al
menos 896 MB de memoria operativa y un núcleo de proceso cada una. Siempre
tenemos que dejar algo de memoria para necesidades del sistema que pueden
crecer de manera dinámica o para simular por ejemplo la memoria de vídeo de la
máquina virtual.
En la
segunda configuración tendríamos unos 7 núcleos de proceso, 15 GB de memoria y
unos 1016 MB de espacio en disco para crear máquinas virtuales.
Podríamos
alojar unas 3 máquinas con 2 núcleos, 4 GB de memoria y 300 GB de espacio en
disco cada una y ya estaríamos acercándonos más a servidores reales.
Referencias
- Virtualización.
Wikipedia.
http://es.wikipedia.org/wiki/Virtualizaci%C3%B3n
- La
Virtualización de apodera del PC. PC Actual. http://www.pcactual.com/articulo/laboratorio/especiales/7434/virtualizacion_apodera_del.html
- IBM
z/VM. http://www.vm.ibm.com/
- Virtualización
en Linux: comparando VMWare, VirtualBox y Xen. http://blogs.antartec.com/opensource/2010/06/virtualizacion-linux-vmware-virtualbox-y-xen/
- Xen
Overview.
http://wiki.xen.org/wiki/Xen_Overview
- Virtualbox.
https://www.virtualbox.org/
- Parallels.
http://www.parallels.com/es/
1 comentarios:
Una información muy detallada y completa sobre la virtualización. Resaltar como una principal ventaja, la de una mayor accesibilidad a los recursos e información. Saludos.
Publicar un comentario