Virtualización

De Wikipedia, la enciclopedia libre
(Redirigido desde «Máquinas virtuales»)
Ir a la navegación Ir a la búsqueda
Una máquina virtual nos permite tener varios ordenadores virtuales ejecutándose sobre el mismo ordenador físico.

En Informática, la virtualización es la creación a través de software de una versión virtual de algún recurso tecnológico, como puede ser una plataforma de hardware, un sistema operativo, un dispositivo de almacenamiento u otros recursos de red.[1]​ En los ámbitos de habla inglesa, este término se suele conocer por el numerónimo "v12n".

Dicho de otra manera, se refiere a la abstracción de los recursos de una computadora, llamada Hypervisor o VMM (Virtual Machine Monitor) que crea una capa de abstracción entre el hardware de la máquina física (host) y el sistema operativo de la máquina virtual (virtual machine, guest), dividiéndose el recurso en uno o más entornos de ejecución.

Esta capa de software (VMM) maneja, gestiona y arbitra los cuatro recursos principales de una computadora (CPU, Memoria, Dispositivos Periféricos y Conexiones de Red). Así podrá repartir dinámicamente estos recursos entre todas las máquinas virtuales definidas en el computador central. Esto hace que se puedan tener varios ordenadores virtuales ejecutándose en el mismo ordenador físico.

Este término es antiguo: se viene usando desde 1960. Se ha sido aplicado a diferentes aspectos y ámbitos de la informática, desde sistemas computacionales completos hasta capacidades o componentes individuales.[2][3]​ Con la consolidación del modelo de la Computación en la nube, la virtualización ha pasado a ser uno de sus componentes fundamentales, especialmente en lo que se denomina infraestructura de nube privada.[4]

La virtualización se encarga de crear una interfaz externa que encapsula una implementación subyacente mediante la combinación de recursos en localizaciones físicas diferentes, o por medio de la simplificación del sistema de control. En los últimos años, el avanzado desarrollo de nuevas plataformas y tecnologías de virtualización ha hecho que se haya vuelto a prestar atención a este concepto.

En general, la máquina virtual simula una plataforma de hardware autónoma, incluyendo un sistema operativo completo que se ejecuta como si estuviera instalado. Típicamente, varias máquinas virtuales operan en un computador central. Para que el sistema operativo “guest” funcione, la simulación debe ser lo suficientemente grande (siempre dependiendo del tipo de virtualización).

Existen diferentes formas de virtualización: se puede virtualizar el hardware de servidor, el software de servidor, sesiones de usuario, aplicaciones y también crear máquinas virtuales en una computadora de escritorio.[5]

Entre los principales proveedores de software que han desarrollado tecnologías de virtualización integrales (que abarcan todas las instancias: servidor, aplicaciones, escritorio) se encuentran, por ejemplo Citrix, VMware y Microsoft. Estas compañías han diseñado soluciones específicas para virtualización, como XenServer, VMware ESX y Windows Server 2008 Hyper-V para la virtualización de servidores.

Virtualización de plataforma[editar]

Esta involucra la simulación de máquinas virtuales. La virtualización de plataforma se lleva a cabo en una plataforma de hardware mediante un software "host" (en castellano “anfitrión”), que es un programa de control que simula un entorno computacional (máquina virtual) para su software "guest" (en castellano "huésped"). Este software “huésped”, que generalmente es un sistema operativo completo, se ejecuta como si estuviera instalado en una plataforma de hardware autónoma. Típicamente muchas máquinas virtuales se simulan en una máquina física dada. Para que el sistema operativo “huésped” funcione, la simulación debe ser lo suficientemente grande para soportar todas las interfaces externas de los sistemas huéspedes, las cuales pueden incluir (dependiendo del tipo de virtualización) los drivers de hardware.

Tipos de Virtualización de plataforma

A continuación se enuncian algunos tipos de virtualización.

Virtualización completa[editar]

La máquina virtual simula un hardware suficiente para permitir un sistema operativo “huésped” sin modificar (uno diseñado para la misma CPU) para ejecutarlo de forma aislada. Típicamente, muchas instancias pueden ejecutarse al mismo tiempo. Este enfoque fue el pionero en 1966 con CP-40 y CP[-67]/CMS, predecesores de la familia de máquinas virtuales de IBM.

Ejemplos[editar]

Virtualización parcial[editar]

“Address Space Virtualization”. La máquina virtual simula múltiples instancias de gran parte del entorno subyacente del hardware, particularmente los espacios de direcciones. Tal entorno acepta compartir recursos y alojar procesos, pero no permite instancias separadas de sistemas operativos “huésped”. Aunque no se contempla dentro de la categoría de máquina virtual, históricamente significó un importante acercamiento, y lo usaron en sistemas como CTSS, el experimental IBM M44/44X; y OS/VS1, OS/VS2 y MVS.

Virtualización por S.O o Semi-parcial[editar]

Virtualizar significa instalar un sistema operativo dentro de otro al que se le llama anfitrión (HOST), mediante el uso de una máquina virtual. Frecuentemente denominada virtualización compartida del Sistema Operativo o virtualización del SO, la virtualización del Sistema Operativo virtualiza servidores en la capa del sistema operativo (kernel). Este método de virtualización crea particiones aisladas o entornos virtuales (VEs) en un único servidor físico e instancia de SO para así maximizar los esfuerzos de administración del hardware, software y centro de datos.

La Virtualización de Hypervisor tiene una capa base (generalmente un kernel, Linux que se muestra aquí como un hypervisor o SO estándar, lo mismo que Windows Server 2008 R2 Hyper-V) que se carga directamente en el servidor base. Para asignar hardware y recursos a las máquinas virtuales (VMs), es recomendable que todo el hardware del servidor esté virtualizado. La siguiente capa superior muestra cada chip, placa, etc., que debe virtualizarse para que pueda asignarse a las VMs. Una vez en la VM, hay una copia completa de un sistema operativo y finalmente la aplicación o carga de trabajo.

La Virtualización de SO mejora el rendimiento, la gestión y la eficiencia. En su base reside un sistema operativo anfitrión estándar, como Parallels Virtuozzo, que incluye Windows y un sistema con núcleo Linux. A continuación encontramos la capa de virtualización, con un sistema de archivos propietario y una capa de abstracción de servicio de kernel que garantiza el aislamiento y seguridad de los recursos entre distintos contenedores. La capa de virtualización hace que cada uno de los contenedores aparezca como servidor autónomo. Finalmente, el contenedor aloja la aplicación o carga de trabajo.

Diferencias entre virtualizar un Sistema operativo e instalarlo[editar]

Virtualizar el sistema operativo es una opción interesante si no queremos instalar dos sistemas operativos en el mismo ordenador. Por el contrario, si lo nstalamos, todos los sistemas operativos instalados funcionaran igual que si estuvieran instalados en distintos ordenadores.

El único y pequeño inconveniente es que necesitamos un gestor de arranque que al encender nuestro ordenador nos dé la opción de elegir qué sistema operativo queremos utilizar, lo que conlleva que, si por ejemplo estamos en Windows y queremos cambiar a GNU/Linux, deberíamos reiniciar nuestro ordenador. En cambio, la virtualización permite cambiar de sistema operativo como si se tratase de cualquier otro programa. Sin embargo, esta agilidad tiene la desventaja de que un sistema operativo virtualizado no es tan potente como uno instalado.

Ventajas de la Virtualización[editar]

  • Índices de utilización más altos. Antes de la virtualización, los índices de utilización del servidor y almacenamiento en los centros de datos de la empresa rondaban menos del 50% (de hecho, los más comunes fueron del 10% al 15%. A través de la virtualización, las cargas de trabajo pueden encapsularse y transferirse a los sistemas inactivos o sin uso. Esto significa que los sistemas existentes pueden consolidarse, y retrasarse o evitarse las compras de capacidad adicional del servidor. Se alcanzan índices de utilización del 60 al 80% para servidores x86.
  • Consolidación de recursos. La virtualización permite consolidar múltiples recursos de TI. Además de la consolidación de almacenamiento, la virtualización proporciona una oportunidad para consolidar la arquitectura de sistemas, infraestructura de aplicación, datos y base de datos, interfaces, redes, escritorios, e incluso procesos de negocios, resultando en ahorros de costes y en mayor eficiencia.
  • Uso/coste menor de energía. La electricidad requerida para que funcionen los centros de datos de clase empresarial no está disponible en suministros ilimitados, y su coste está en una espiral ascendente. Por cada dólar gastado en un servidor hardware, se gasta un dólar adicional (incluyendo el coste de los servidores en función y la refrigeración). Utilizando la virtualización para consolidar, se puede ahorrar de manera significativa en consumo total de energía y en dinero.
  • Ahorros de espacio. La ampliación del servidor aparece como un serio problema en la mayoría de los centros de datos empresariales. No siempre es una opción, porque los costes de construcción son de miles de dólares por metro cuadrado. La virtualización puede aliviar la tensión mediante la consolidación de muchos sistemas virtuales en menos sistemas físicos.
  • Recuperación de desastre/continuidad del negocio. La virtualización puede incrementar la disponibilidad de los índices del nivel de servicio en general y proporcionar nuevas opciones de soluciones para la recuperación de desastre. Hasta el 85% de mejora en tiempo de recuperación de paradas imprevistas
  • Costes de operación reducidos. La empresa promedio gasta $8 dólares en mantenimiento por cada $1 dólar invertido en nueva infraestructura. La virtualización puede cambiar el ratio de servicio-a administración, reducir la carga total de trabajo administrativo y ahorrar costes de operación.
  • Reutilización de hardware existente (para utilizar software más moderno) y optimizar el aprovechamiento de todos los recursos de hardware.[6]
  • Capacidad para el provisioning de nuevas aplicaciones en cuestión de minutos, en lugar de días o semanas.
  • Rápida incorporación de nuevos recursos para los servidores virtualizados.
  • Reducción de los costes de espacio y consumo necesario de forma proporcional al índice de consolidación logrado (estimación media 10:1).
  • Administración global centralizada y simplificada.
  • Permite gestionar el CPD como un pool de recursos o agrupación de toda la capacidad de procesamiento, memoria, red y almacenamiento disponible en nuestra infraestructura
  • Mejora en los procesos de clonación y copia de sistemas: mayor facilidad para crear entornos de test que permiten poner en marcha nuevas aplicaciones sin impactar a la producción, agilizando el proceso de las pruebas.
  • Aislamiento: un fallo general de sistema de una máquina virtual no afecta al resto de máquinas virtuales.
  • Mejora de TCO y ROI.
  • No sólo aporta el beneficio directo en la reducción del hardware necesario, sino también los costes asociados.
  • Reduce los tiempos de parada.
  • Migración en caliente de máquinas virtuales (sin pérdida de servicio) de un servidor físico a otro, eliminando la necesidad de paradas planificadas por mantenimiento de los servidores físicos.
  • Balanceo dinámico de máquinas virtuales entre los servidores físicos que componen el pool de recursos, garantizando que cada máquina virtual ejecute en el servidor físico más adecuado y proporcionando un consumo de recursos homogéneo y óptimo en toda la infraestructura.
  • Contribución al medio ambiente -Green IT- por menor consumo de energía en servidores físicos.[6]
  • Alta disponibilidad.

Programas útiles para virtualizar sistemas operativos[editar]

Existen dos tipos de programas: los de pago y los gratuitos.

Dentro de los programas de pago encontramos el VMware, que es uno de los referentes en el mercado, como así también Windows Server 2008 R2 Hyper-V [1] cuya función de virtualización está incluida sin cargo en la licencia del servidor. Existe una versión más básica de VMWare que es gratuita, VMware Player, que permite virtualizar a través de una máquina virtual ya configurada. También existen webs que nos permiten rellenar un formulario y descargarnos nuestra máquina virtual a nuestro gusto como EasyVMX! Parallels Virtuozzo Containers, es otro de los programas de pago más famosos, que permite la virtualización a nivel de sistema operativo o hardware Parallels Bare Metal. Típicamente suele emplearse para virtualizar Windows y, en menor medida, GNU/Linux.

Dentro de los programas gratuitos tenemos el Virtual PC de Microsoft, que es un producto de Windows, compatible con versiones avanzadas de XP, Vista y Windows 7.

Dentro de los programas de código libre están el Xen, OpenVZ y VirtualBox, que funcionan tanto en Mac OS, en Windows como en GNU/Linux y todos permiten virtualizar los tres sistemas operativos más famosos.

Tipos de virtualización[editar]

La virtualización se puede hacer desde un sistema operativo Windows, ya sea XP, Vista u otra versión que sea compatible con el programa que utilicemos, en el que virtualizamos otro sistema operativo como Linux o viceversa, que tengamos instalado Linux y queramos virtualizar una versión de Windows.

Virtualización asistida por Hardware[editar]

Virtualización asistida por Hardware son extensiones introducidas en la arquitectura de procesador x86 para facilitar las tareas de virtualización al software ejecutándose sobre el sistema. Si cuatro son los niveles de privilegio o anillos de ejecución en esta arquitectura, desde el cero o de mayor privilegio, que se destina a las operaciones del kernel de SO, al tres, con privilegios menores que es el utilizado por los procesos de usuario, en esta nueva arquitectura se introduce un anillo interior o ring -1 que será el que un hypervisor o Virtual Machine Monitor usará para aislar todas las capas superiores de software de las operaciones de virtualización.

La virtualización de almacenamiento[editar]

Se refiere al proceso de abstraer el almacenamiento lógico del físico. Comúnmente se usa en SANs ("Storage Area Network" Red de área de almacenamiento). Los recursos de almacenamiento físicos se agregan al "storage pool" (almacén de almacenamiento), del cual se crea el almacenamiento lógico.

Particionamiento[editar]

Es la división de un solo recurso (casi siempre grande), como el espacio de disco o el ancho de banda de la red, en un número más pequeño y con recursos del mismo tipo, que son más fáciles de utilizar. Muchas veces se denomina “zoning”, especialmente en almacenamiento de red.

Hypervisor de almacenamiento[editar]

Es un pack portátil de gestión centralizada, utilizado para mejorar el valor combinado de los sistemas de disco de almacenamiento múltiples, incluyendo los modelos diferentes e incompatibles, complementando sus capacidades individuales con el aprovisionamiento extendido, la réplica y la aceleración del rendimiento del servicio. Su completo conjunto de funciones de control y monitorización del almacenamiento, operan como una capa virtual transparente entre los pools de disco consolidados para mejorar su disponibilidad, velocidad y utilización.

Virtualización de datos[editar]

La virtualización de datos es una capa de abstracción y una capa de servicios de datos. La virtualización de datos integra datos de fuentes dispersas, en distintas localizaciones y formatos, sin replicar los datos, para construir una capa de datos virtual que facilita la provisión de servicios de datos unificados para dar soporte a múltiples aplicaciones y usuarios.

Virtualización relacionada con el Green IT[editar]

En estudios [7]​ centrados en el ahorro de energía que genera la empresa para sus clientes, se muestra que las soluciones de virtualización reducen los costos económicos y emisiones de CO2.

Esto se puede llevar a cabo fusionando varias máquinas en un solo servidor, disminuyendo el consumo energético y los costes; ahorrando 7.000 kilovatios hora o cuatro toneladas de emisiones de CO2 al año. Los PCs virtualizados pueden reducir el consumo de energía y los costos en un 35 por ciento. Hoy en día, la mayor parte consumen entre un 70 y un 80% de su energía estimada.

Otra medida es la desconexión de los servidores y desktops durante los períodos de inactividad, como por la noche o los fines de semana, con lo que se puede ahorrar aproximadamente un 25 por ciento de consumo energético. Hoy en día, las empresas son las más interesadas en la virtualización, ya que les interesa mucho reducir costes y energía.

Infraestructura Virtual[editar]

Una infraestructura virtual consiste en el mapping dinámico de recursos físicos en función de las necesidades de la empresa. Una máquina virtual representa los recursos físicos de un único ordenador, mientras que una infraestructura virtual representa los recursos físicos de la totalidad del entorno de TI, aglutinando ordenadores x86, así como su red y almacenamiento asociados, en un pool unificado de recursos de TI.

Estructuralmente, una infraestructura virtual consta de los siguientes componentes:

  • Hipervisor de un solo nodo para hacer posible la virtualización de todos los ordenadores x86.
  • Un conjunto de servicios de infraestructura de sistemas distribuida basada en la virtualización, como gestión de recursos, para optimizar los recursos disponibles entre las máquinas virtuales.
  • Soluciones de automatización que proporcionen capacidades especiales para optimizar un proceso de TI concreto, como provisioning o recuperación ante desastres. Mediante la separación de la totalidad del entorno de software de su infraestructura de hardware subyacente, la virtualización hace posible reunir varios servidores, estructuras de almacenamiento y redes en pools compartidos de recursos que se pueden asignar de forma dinámica, segura y fiable a las aplicaciones según sea necesario. Este enfoque innovador permite a las organizaciones crear una infraestructura informática con altos niveles de utilización, disponibilidad, automatización y flexibilidad utilizando componentes básicos de servidores económicos y estándar del sector.

    Referencias[editar]

    1. Turban, E; King, D; Lee, J; Viehland, D (2008). «Chapter 19: Building E-Commerce Applications and Infrastructure». Electronic Commerce A Managerial Perspective (5th edición). Prentice-Hall. p. 27. 
    2. Brodkin, Jon (2009). With long history of virtualization behind it, IBM looks to the future. Networld World. 
    3. Henley, Chris (2011), Virtualization 101 (Part 1 of 4): A Brief History of Virtualization from A to Hyper-V, Microsoft Corp. 
    4. [http://technet.microsoft.com/virtualization/gg697744.aspx Implementación de una infraestructura de nube privada mediante virtualización
    5. Microsoft Corp. (2007 (updated 2011)). Infrastructure Planning and Design. Selecting the Right Virtualization Technology. Copyright © 2011 Microsoft Corporation. This documentation is licensed to you under the Creative Commons Attribution License. 
    6. a b TechCenter Virtualización
    7. Marisa López-Vallejo, Eduardo Huedo Cuesta y Juan Garbajosa Sopeña. Madrimasd.org, ed. «green IT: tecnologías para la eficiencia energética en los sistemas TI».  |coautores= requiere |autor= (ayuda)