1
"AÑO DEL BICENTENARIO DEL PERÚ: 200 AÑOS DE
INDEPENDENCIA"
HYPERVISOR Y MÁQUINAS VIRTUALES
MANTENIMIENTO DE EQUIPOS DE
COMPUTO.
JORGE ALBERTO YACHI
STEFANY ARACELI CARRIZO ARROYO
2021
2
INDICE
INTRODUCCIÓN 3
UN HYPERVISOR 4
TIPOS DE HYPERVISORES 6
MAQUINAS VIRTUALES 7
COMPARATIVA DE HERRAMIENTAS DE VIRTUALIZACIÓN 13
CONCLUSIÓN 15
BIBLIOGRAFIA 16
3
INTRODUCCIÓN
Los hipervisores: software que permite la implementación de máquinas virtuales
(VM) en una variedad de hardware diferente, ejecutando sistemas operativos
diferentes al que puede existir en la máquina física, como Windows, OS X, Linux,
Unix, etc. El hipervisor también puede ser el sistema operativo básico que albergará
cualquier otro sistema operativo. IBM creó el hipervisor original en 1965 para
manejar la emulación de máquinas anteriores y cambiar entre el entonces "nuevo"
IBM 360 y las máquinas emuladas.
La virtualización permite crear varias máquinas virtuales, cada una con su propio
sistema operativo (SO) y aplicaciones, en una única máquina física. Una máquina
virtual no puede interactuar directamente con un sistema físico. En su lugar, necesita
una capa de software ligera, llamada hipervisor para coordinar entre ella y el
hardware físico subyacente. El hipervisor asigna recursos de computación físico,
como procesadores, memoria y almacenamiento, a cada máquina virtual. Mantiene
cada máquina virtual separada de las otras para que no interfieran entre sí.
4
UN HIPERVISOR
Un hipervisor, conocido también como monitor de máquina virtual (VMM), es un
software que crea y ejecuta máquinas virtuales (VM) y que, además, aísla el sistema
operativo y los recursos del hipervisor de las máquinas virtuales y permite crearlas y
gestionarlas.
Un hipervisor (en inglés hypervisor) o monitor de máquina virtual (virtual machine monitor)1 es
una capa de software para realizar una virtualización de hardware que permite utilizar, al mismo
tiempo, diferentes sistemas operativos (sin modificar o modificados, en el caso
de paravirtualización) en una misma computadora.234 Es una extensión de un término anterior,
«supervisor», que se aplicaba a los kernels de los sistemas operativos de computadora.
Cuando el sistema de hardware físico se usa como hipervisor, se denomina "host", y
las múltiples máquinas virtuales que utilizan sus recursos se denominan "guests".
El hipervisor utiliza los recursos, como la CPU, la memoria y el almacenamiento,
como un conjunto de medios que pueden redistribuirse fácilmente entre los guests
actuales o en las máquinas virtuales nuevas.
Todos los hipervisores necesitan algunos componentes a nivel del sistema operativo
(por ejemplo, el administrador de memoria, el programador de procesos, la pila de
entrada o salida (E/S), los controladores de dispositivos, el administrador de
seguridad, la pila de red y más) para ejecutar las máquinas virtuales.
El hipervisor proporciona a cada máquina virtual los recursos que se le habían
asignado, y gestiona la programación de ellos en función de los recursos físicos. El
hardware físico sigue efectuando las operaciones, por lo que la CPU aún ejecuta las
instrucciones de la CPU según lo solicitado por las máquinas virtuales; por ejemplo,
mientras el hipervisor gestiona la programación.
Con un hipervisor, muchos sistemas operativos diferentes pueden funcionar a la par
y compartir los mismos recursos de hardware virtualizados. Este es uno de
5
los beneficios clave de la virtualización, ya que, sin ella, solo se puede ejecutar un
sistema operativo en el hardware.
Hay muchas opciones de hipervisores open source y de proveedores tradicionales.
VMware es una opción popular para la virtualización, que ofrece el hipervisor ESXi y
la plataforma de virtualización vSphere.
La máquina virtual basada en el kernel (KVM) es una opción open source que está
integrada en el kernel de Linux®. Otras opciones incluyen Xen, que cuenta con la
tecnología de open source, y Microsoft Hyper-V.
Historia[editar]
Los hipervisores fueron originalmente desarrollados a finales de 1960 y principios de los años
1970 cuando, para reducir costos, se consolidaban varias computadoras aisladas de diferentes
departamentos de la empresa en una sola y más grande —el mainframe— capaz de servir a
múltiples sectores. El primer uso dado a estos equipos fue el tiempo compartido para muy
distintos usuarios, siempre compartiendo un sistema operativo complejo. Los ingenieros de IBM
en Cambridge fueron los primeros en resolver este problema, otorgando a cada usuario una
máquina virtual con un sencillo sistema operativo. 5 Al correr múltiples sistemas operativos a la
vez, el hipervisor permite la consolidación, dando robustez y estabilidad al sistema; aún si un
sistema operativo colapsa, los otros continúan trabajando sin interrupción.
Precisamente de estos colapsos de sistemas operativos virtuales derivaba una gran utilidad al
momento de depurar pues se contaba con la memoria usada a buen resguardo del hipervisor
utilizado.6
La primera computadora diseñada específicamente para virtualización fue el mainframe IBM
S/360 Modelo 67 en 1964, con el sistema operativo CP-40.7 Esta característica de virtualización
ha sido un estándar de la línea que siguió IBM S/370 y sus sucesoras, incluyendo la serie actual.
En 1967 el primer hipervisor es creado por IBM y al año siguiente fue mejorado su desempeño
en una segunda versión. 8 El año 1972 marca el comienzo del uso comercial de esta tecnología
desarrollada por IBM.9
6
Uno de los primeros hipervisores para PC fue Vmware, desarrollado a finales de los años 1990.
La arquitectura x86, usada en la mayoría de los sistemas de PC, es particularmente difícil de
virtualizar.10 Pero los grandes fabricantes de microprocesadores, como AMD e Intel,
desarrollaron extensiones para tratar las partes de la arquitectura x86 que son más difíciles o
ineficientes de virtualizar, proporcionando un apoyo adicional al hipervisor por parte del
hardware. Esto permite un código de virtualización más simple y un mejor rendimiento para una
virtualización completa.
La necesidad actual de consolidar diferentes servidores y de lograr una administración
simplificada han hecho renovar el interés en la tecnología de los hipervisores. La inmensa
mayoría de los vendedores de sistemas Unix, incluyendo Sun Microsystems, HP, IBM y SGI han
estado vendiendo hardware virtualizado desde la década de 2000. Estos sistemas son eficientes,
pero extremadamente costosos.
Tipos de hipervisores
Para la virtualización, se pueden usar dos tipos diferentes de hipervisores: el tipo 1 y
el tipo 2.
Tipo 1
El hipervisor de tipo 1, también conocido como hipervisor nativo o sin sistema
operativo, se ejecuta directamente en el hardware del host y gestiona los sistemas
operativos guest. Ocupa el lugar de un sistema operativo host y programa los
recursos de las máquinas virtuales directamente en el hardware.
Este tipo de hipervisor solemos encontrarlo en un centro de datos empresarial o en
otros entornos basados en servidores.
KVM, Microsoft Hyper-V y VMware vSphere son ejemplos de hipervisores de tipo 1.
La KVM se fusionó con el kernel de Linux en 2007; por eso, si utiliza una versión
moderna de Linux, ya puede acceder a la KVM.
7
Tipo 2
El hipervisor de tipo 2 también se conoce como hipervisor alojado, y se ejecuta en
un sistema operativo convencional como una capa de software o una aplicación.
Funciona extrayendo los sistemas operativos guest del sistema operativo host. Los
recursos de la máquina virtual se programan en un sistema operativo host, que
después se ejecuta en el sistema de hardware.
El hipervisor de tipo 2 es mejor para los usuarios individuales que buscan ejecutar
varios sistemas operativos en una computadora personal.
VMware Workstation y Oracle VirtualBox son ejemplos de hipervisores de tipo 2.
Diferencias entre los contenedores y las máquinas
virtuales
En general, los contenedores y las máquinas virtuales parecen similares. Ambos
consisten en entornos informáticos empaquetados que combinan varios elementos
de TI y los aíslan del resto del sistema. La diferencia más importante radica en la
manera en que ajustan su capacidad y en la portabilidad.
Un contenedor es un conjunto de uno o varios procesos aislados del resto del
sistema, el cual permite que los procesos accedan solo a las solicitudes de recursos
que se han especificado. Estas limitaciones en los recursos garantizan que el
contenedor pueda ejecutarse en un nodo con suficiente capacidad.
Las máquinas virtuales tienen su propio sistema operativo (OS), lo que les permite
realizar varias funciones con uso intensivo de los recursos al mismo tiempo. Las
máquinas virtuales cuentan con una mayor cantidad de recursos disponibles, lo que
8
les permite extraer, dividir, duplicar y simular sistemas operativos, escritorios, bases
de datos, conexiones de red y servidores completos.
Un hipervisor también le permite ejecutar varios sistemas operativos en las
máquinas virtuales, pero los contenedores solo pueden ejecutar un solo tipo de
sistema operativo. Un contenedor que se ejecuta en un servidor de Linux, por
ejemplo, solo puede ejecutar un sistema operativo Linux.
Se suele pensar que los contenedores reemplazan a los hipervisores, aunque esto
no es exactamente así, ya que los contenedores y la virtualización satisfacen
necesidades diferentes.
Aspectos que se deben considerar en relación con
la seguridad del hipervisor
Una máquina virtual proporciona un entorno aislado del resto del sistema, de manera
que todo lo que se ejecute dentro de una máquina virtual no interferirá con lo demás
que se ejecute en el hardware host.
Como las máquinas virtuales están aisladas, si una de ellas se encuentra en riesgo,
el resto del sistema no se verá afectado.
Sin embargo, si el propio hipervisor es víctima de la piratería, esto puede perjudicar
a todas las máquinas virtuales gestionadas por él, lo que hace que los datos de
todas las máquinas estén en estado de vulnerabilidad.
Los requisitos y los protocolos de seguridad pueden variar según el tipo de
hipervisor.
9
¿Por qué optar por Red Hat para la virtualización?
El hipervisor brinda la base para su plataforma de virtualización. Red Hat ha
fomentado el desarrollo de la virtualización durante mucho tiempo. Esto ha mejorado
el hipervisor KVM y contribuido a KVM y oVirt desde que se crearon ambas
comunidades.
Red Hat® Virtualization es una plataforma abierta y definida por software que
virtualiza las cargas de trabajo de Linux y Microsoft Windows.
Esta plataforma, cuyo diseño se basa en Red Hat Enterprise Linux y KVM, cuenta
con herramientas de gestión que virtualizan los recursos, los procesos y las
aplicaciones para proporcionarle una base estable para una futura implementación
en contenedores y nativa de la nube.
Con la virtualización rentable y rápida de Red Hat, puede superar los desafíos
actuales y sentar las bases para las tecnologías futuras.
10
MÁQUINA VIRTUAL
En muchas ocasiones surge la necesidad de probar un programa o realizar pruebas en otro sistema
operativo distinto al instalado. Cuál es la solución ¿formatear el equipo e instalar este sistema
operativo? ¿Crear una partición e instalarlo? ¿Buscar otro equipo en el que sí esté instalado? La
solución es mucho más sencilla que todo esto: lo único que hay que hacer es instalar una herramienta
que emule el sistema operativo que se quiere probar, así no hay necesidad de formatear ni de
cambiar de equipo. El sistema operativo emulado debería ser totalmente independiente del sistema
operativo real, conviviendo ambos en total armonía y pudiendo pasar de uno a otro con facilidad.
Lo anterior se consigue mediante el uso de las máquinas virtuales. Una máquina virtual es un
programa informático que crea un entorno virtual entre el sistema operativo y el hardware para que el
usuario final pueda ejecutar aplicaciones en una máquina abstracta. Por decirlo de manera más
sencilla, una máquina virtual es una aplicación que simula el funcionamiento de una máquina real
sobre la que se pueden instalar sistemas operativos, aplicaciones, navegar de forma segura, imprimir
desde alguna aplicación, usar los dispositivos USB, etc.
Se pueden encontrar varios tipos de máquinas virtuales:
Máquinas virtuales software: este tipo de máquinas virtuales se sitúan por encima del
sistema operativo y tratan de aislar a las aplicaciones del entorno sobre el que se ejecutan.
¿¿Proporcionan una capa entre l??) z???????yStr = dÍas aplicaciones y el sistema
operativo que captura todas las llamadas al sistema y las traduce al sistema concreto de
ejecución. La máquina virtual de Java o la máquina virtual del entorno .NET son dos claros
ejemplos de máquinas virtuales software.
Entornos virtuales: este tipo de máquinas se crean para ejecutar directamente aplicaciones
que necesitan un entorno determinado de ejecución sobre otro entorno totalmente diferente.
Máquinas virtuales hardware: este tipo de aplicaciones tratan de emular directamente el
hardware. Las llamadas al hardware del sistema operativo instalado serán capturadas y
convertidas en llamadas al sistema del hardware emulado. En general, la emulación del
hardware recibe el nombre de virtualización. Al emularse directamente el hardware, el
usuario tiene la impresión de que la máquina sobre la que está trabajando es totalmente
independiente. Este tipo de máquinas virtuales serán el objeto del presente monográfico y a
partir de ahora nos centraremos en ellas.
11
El uso de software de virtualización permite ejecutar varias máquinas virtuales con distintos sistemas
operativos sobre el mismo hardware de manera simultánea. Además, estas máquinas virtuales se
pueden copiar y mover a otra máquina física de manera muy sencilla, lo que proporciona una manera
rápida y cómoda de hacer backups o de reutilizar máquinas existentes. Las máquinas virtuales tienen
discos duros virtuales que para la máquina anfitriona (es decir, para la máquina real) son simplemente
ficheros de datos que se pueden copiar y manejar. La propia máquina virtual no es más que un
fichero de configuración.
Además, existen en Internet muchas máquinas virtuales listas para ser ejecutadas y que permiten
tener un entorno de desarrollo web en muy pocos minutos: Linux con Apache, PHP y mySQL
instalado y configurado de manera directa, o bien una solución wiki lista para ser usada simplemente
descargando una máquina virtual.
Herramientas de virtualización más conocidas
Existen diversas soluciones de virtualización disponibles actualmente, tanto gratuitas como de pago.
Las más conocidas son las siguientes:
Bochs: un emulador de procesadores x86 y AMD64 con licencia de software abierto. Bochs
puede ejecutarse en distintos sistemas operativos, incluyendo Linux, Windows o incluso la
XBox. Puede además simular varios sistemas operativos como DOS, Windows o Linux.
Microsoft Virtual PC: suite de virtualización de Microsot para Windows y para MacOS.
VirtualPC emula un PC estándar y todo el hardware asociado.
Parallels Workstation: software de virtualización de la empresa Parallels Incorporation para
procesadores Intel x86.
QEMU: aplicación de software libre que implementa un emulador de procesador y que incluye
un acelerador que permite incrementar la velocidad de las máquinas virtuales.
Virtual Iron: otra aplicación de virtualización que ha sido de las primeras en aprovechar las
capacidades específicas de virtualización de los nuevos procesadores Intel y AMD.
VMWare : un completo conjunto de aplicaciones de virtualización, con herramientas de pago
orientadas a la empresa y otras gratuitas más orientadas al uso personal. Hasta hace poco
tiempo solo se ofrecía de manera gratuita la aplicación VMWare Player, que permitía
ejecutar distintas máquinas virtuales ya creadas y que se podían descargar desde Internet.
12
Desde fechas recientes se ofrece también de manera gratuita VMWare Server, que permite
no sólo ejecutar máquinas ya creadas sino crear las máquinas desde el comienzo. /li>
Xen: Una herramienta muy usada en la comunidad Linux puesto que hasta hace poco tiempo
sólo podía usar Linux/Unix como sistema anfitrión. Con la versión Xen 3.0 ya se puede
instalar en Windows.
VirtualBox: una herramienta para Windows y para Linux (la versión para MAC actualmente
está en desarrollo en fase pre-alfa) liberada bajo licencia GPL y con un rendimiento similar
al de otras aplicaciones como VirtualPC o VMWare.
QEMU, VMWare y Microsoft Virtual PC son las tres herramientas más utilizadas. Por ello y por ser
distribuidas de forma gratuita el monográfico se centrará en ellas. Además, se ha incluido VirtualBox
porque es de código abierto y permite estudiar su código en caso de estar interesado.
Utilidades y usos más frecuentes de las máquinas virtuales
¿Para qué se pueden usar las máquinas virtuales? La capacidad de aprovechar al máximo el
hardware disponible ofrece una gran cantidad de posibilidades a nivel empresarial y a nivel
doméstico. A continuación, se detallan algunos de los usos más frecuentes que se le puede dar al
software de virtualización:
·Consolidación de servidores: convertir muchos servidores físicos en virtuales. De este modo se
aprovecha el hardware disponible de la mejor manera posible.
·Recuperación ante desastres: las máquinas virtuales se pueden salvar muy fácilmente, y además
su estado se puede almacenar, por lo que en caso de desastre se puede recuperar la información con
rapidez.
·Pruebas de aplicaciones: en muchas ocasiones se necesita un entorno limpio para probar una
aplicación. Usar una máquina virtual permite instalar un sistema operativo desde cero, probar la
aplicación y luego eliminar la máquina.
·Ejecución de entornos completos sin instalación ni configuración: la posibilidad de descargar
máquinas virtuales desde Internet permite ahorrar tiempo en instalaciones y configuraciones. Existen
muchas máquinas virtuales con servidores LAMP (Linux, Apache, mySQL y PHP) completos listos
para ser usados, máquinas con gestores de contenidos, wikis, etc., gratuitos y funcionales desde el
primer momento.
13
·Aplicaciones portátiles: con el uso de las máquinas virtuales se pueden tener PCs completos listos
para usar en dispositivos USB, lo que puede ser de mucha utilidad para tener un entorno privado y
usarlo en cualquier PC.
Comparativa de herramientas de virtualización
A continuación, se presenta una comparativa de tres de los productos de virtualización comentados:
VirtualBox, VMWare Server y Virtual PC 2007.
Característica Explicación Producto destacado
Facilidad de instalación. Los tres productos se instalan de manera muy sencilla VirtualBox, VirtualPC
mediante un asistente. VirtualBox y VirtualPC se 2007
instalan rápidamente. Sin embargo, VMWare server
tarda bastante tiempo en instalarse y dependiendo de
la máquina puede llegar a tardar más de media hora.
Sistemas operativosVirtualBox: Windows, Linux VMWare server
anfitriones soportados. VMWare server: Windows, Linux
Virtual PC 2007: Windows, MacOS
Sistemas operativosVirtualBox: DOS, Windows, Linux, OS/2, OpenBSD, VMWare server
invitados soportados. FreeBSD, Netware, Solaris.
VMWare server: DOS, Windows, Linux, FreeBSD,
Netware, Solaris, Virtual Appliances.
Virtual PC 2007: DOS, Windows, OS/2
Soporte para USB VirtualBox: Sí. VirtualBox,
VMWare server: Sí. VMWare server
Virtual PC 2007: No.
Facilidad de creación deVirtualBox: Fácil. VirtualPC 2007,
máquinas virtuales. VMWare server: Fácil. VirtualBox, VMWare
Virtual PC 2007: Fácil. Server
Existencia de máquinasVMWare server dispone de las llamadas VirtualVMWare server
virtuales disponibles enAppliances, que son máquinas virtuales
Internet. preconfiguradas y listas para ser usadas. En Internet
se pueden encontrar muchas y de muchos tipos.
Integración con el sistemaLos tres sistemas disponen de herramientas que VMWare Server,
operativo anfitrión: display,permiten mejorar la integración del sistema invitado VirtualPC 2007
carpetas compartidas,con el anfitrión una vez instalado. En el caso de
drag&drop. VMWare, se llaman VMWare Tools, y en el caso de
14
Virtual PC, Virtual Machine additions. Tanto VMWare
como VirtualPC permiten usar drag&drop y carpetas
compartidas con el sistema anfitrión.
Capacidad de importarVMWare server es capaz de importar máquinas VMWare Server
máquinas creadas con otrascreadas con VirtualPC.
herramientas.
Rendimiento. VirtualBox: Muy bueno. VirtualBox, VMWare
VMWare server: Muy bueno. Server, VirtualPC 2007
Virtual PC 2007: Muy bueno si se le instalan las
Virtual Machine Additions..
En resumen, se podría afirmar que las tres aplicaciones son buenas soluciones de virtualización.
Probablemente la balanza se inclina por VMWare server por la existencia de máquinas virtuales
disponibles en Internet que agilizan el uso de las máquinas virtuales y por la cantidad de información
que existe sobre ella en la red. Además, Virtual PC 2007 es una herramienta que no podrá ser usada
por los usuarios de Linux, mientras que las otras dos están disponibles en versiones para Windows y
para Linux.
15
CONCLUSIÓN
Las conclusiones del presente trabajo de hypervisor y las máquinas virtuales brindan la
posibilidad de independencia de un sistema operativo al permitir tener múltiples de ellos en
forma paralela, garantizando con esto un mejor rendimiento y eficiencia y eliminando los
tiempos ociosos.
Esta implementación, utilizando máquinas virtuales, no pretende demostrar una
mayor eficiencia frente a maquinas reales. Pero, si se pudiese virtualizar la CPU y
puentear (modo bridge) las interfaces de red, se lograría una mejor eficiencia, pues
VMware necesita un servidor X corriendo para funcionar, lo que reduce a un 95% el
uso de CPU para el resto de los procesos. Además, la maquina en estado stand-by,
consume un 3% de tiempo de CPU, por lo que la CPU disponible se reduce a 92% y
ese tiempo debe ser repartido entre los servidores virtuales, que dejan disponible un
5% aproximadamente, restante para la maquina director.
16
BIBLIOGRAFÍA
[Link]
[Link]
index/[Link]
[Link]
sequence=1&isAllowed=y
[Link]
como-utilizarlas
[Link]