Virtualización

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 18:30 18 oct 2020 por Alejandro.delatorre (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.
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 o cualquier otro recurso de red.[1]​ En los ámbitos de habla inglesa, este término se suele conocer por el numerónimo "v12n".[2]

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.[3]

Características principales

La 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 ido aplicando a diferentes aspectos y ámbitos de la informática, desde sistemas computacionales completos hasta capacidades o componentes individuales.[4][5]​ 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.[6]

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).

VirtualBox

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.[7]

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

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

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

Virtualización parcial

“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

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

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 instalamos, 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 y desventajas

Ventajas

  • Í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.[8]
  • 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 solo 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.[8]
  • Alta disponibilidad.

Desventajas

  • Alta dependencia de un solo equipo físico: si bien facilita la administración, al disponer de los equipos virtuales en un solo dispositivo se pierden las ventajas de la redundancia.[9]
  • El hardware está limitado pues necesita ser compatible con el hypervisor.[9]
  • El hardware para virtualizar debe ser abundante en recursos lo cual eleva su precio.[9]
  • A medida que se agregan máquinas virtuales, disminuye los recursos para cada uno y aumenta el trabajo de administración y seguridad.[9][10]

Programas útiles para virtualizar sistemas operativos

Desde el punto de vista económico, existen tres tipos de sotfware para virtualizar, de pago (privativos), gratuitos (freeware) y libres (FOOS).

La empresa VMware provee versiones de pago y gratuitas. Microsoft provee Windows Server 2008 R2 Hyper-V [1] cuya función de virtualización está incluida sin cargo en la licencia del servidor. También existen webs que permiten rellenar un formulario y descargar una máquina virtual personalizada.[11]​.

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

Dentro de los programas de código libre (FOOS) están el Xen, OpenVZ y VirtualBox, que funcionan tanto en Mac OS, en Windows como en GNU/Linux y todos permiten virtualizar la mayoría de los sistemas operativos, tanto actuales como los que están sin soporte.

Tipos de virtualización

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

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

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

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

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

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

En estudios 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.[12]

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

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

  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. «Server V12n at Citrix iForum» (html). Microsoft Windows Server Team (en inglés). 23 de octubre de 2007. Archivado desde el original el 9 de enero de 2020. Consultado el 9 de enero de 2020. 
  3. «La virtualización puede ser la solución a tus problemas» (html). INCIBE. 9 de enero de 2020. Archivado desde el original el 9 de enero de 2020. Consultado el 9 de enero de 2020. «El dispositivo físico que hará las veces de anfitrión se conoce como host, este será el encargado de alojar los diferentes recursos virtualizados conocidos como máquinas virtuales o VM, por sus siglas en inglés «Virtual Machine». Para gestionar las máquinas virtuales es necesario instalar en el host una herramienta específica denominada software de virtualización, que puede ser de dos tipos: Nativo. En este caso el software de virtualización también actuará como sistema operativo ejecutándose directamente sobre el hardware del dispositivo anfitrión o host. Hosted o alojado. El software de virtualización se ejecuta sobre el sistema operativo del host.» 
  4. Brodkin, Jon (2009). With long history of virtualization behind it, IBM looks to the future. Networld World. Archivado desde el original el 4 de mayo de 2009. Consultado el 20 de septiembre de 2011. 
  5. Henley, Chris (2011), Virtualization 101 (Part 1 of 4): A Brief History of Virtualization from A to Hyper-V, Microsoft Corp. .
  6. [http://technet.microsoft.com/virtualization/gg697744.aspx Implementación de una infraestructura de nube privada mediante virtualización
  7. 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. 
  8. a b TechCenter Virtualización
  9. a b c d «La virtualización puede ser la solución a tus problemas» (html). INCIBE. 9 de enero de 2020. Archivado desde el original el 9 de enero de 2020. Consultado el 9 de enero de 2020. 
  10. Kusneztky, Dan (15 de octubre de 2007). «Top 10 Virtualization Myth» (pdf) (en inglés). Archivado desde el original el 28 de noviembre de 2009. Consultado el 9 de enero de 2020. «Errant virtual machines could easily have compromised shared data, damaged host machine configuration files or modified dormant virtual machine images before the breach could be discovered.» 
  11. EasyVMX!
  12. López-Vallejo, Marisa; Huedo Cuesta, Eduardo; Garbajosa Sopeña, Juan. «Green IT: tecnologías para la eficiencia energética en los sistemas TI». Madrimasd.org. ISBN 978-84-613-3121-5. Archivado desde el original el 7 de octubre de 2009. 

Bibliografía