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



posted under , |

1 comentarios:

Virtualizacion escritorios dijo...

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

Entrada más reciente Entrada antigua Inicio