Tema 1. Introduccion A La Virtualizacion
Tema 1. Introduccion A La Virtualizacion
Tema 1. Introduccion A La Virtualizacion
Introducción a la Virtualización
16FP32CF007
Hipervisor: software que aprovecha y gestiona los recursos del sistema real (o anfitrión)
para crear equipos simulados (máquinas virtuales).
Máquina virtual: equipo virtual (o simulado) completamente funcional que consta de
sistema operativo, acceso a red, dispositivos de almacenamiento, etc.
Equipo anfitrión, real o host: equipo físico sobre el que se simulan otros equipos.
Equipo invitado, virtual o guest: equipo simulado sobre el sistema real.
Las máquinas virtuales a las que se hará referencia son las llamadas máquinas virtuales de
sistema, las cuales simulan o virtualizan un sistema completo. El otro gran grupo de máquinas
virtuales son las llamadas de proceso (middleware), las cuales proporcionan un entorno de
ejecución independiente de la plataforma hardware y del sistema operativo, como pueden ser
Java o Microsoft .NET, pero que quedan fuera de los objetivos de este curso.
A su vez, podemos dividir en dos grandes grupos los esquemas de virtualización de sistema:
*Según Proxmox, el rendimiento de los recursos hardware que se pierde al virtualizar con
su sistema es inferior al 3% del que se obtendría al instalar directamente el sistema
virtualizado sobre el hardware físico con los mismos recursos que el equipo virtual.
Tipo II: El hipervisor es un programa más ejecutándose dentro del sistema operativo
instalado (Windows XP, Vista, 7, Ubuntu, openSUSE, Fedora, etc.) sobre la máquina real.
Sobre este hipervisor se crean y ejecutan las máquinas virtuales. Algunos de los ejemplos
más utilizados son VirtualBox, VMWare (Player, Workstation, etc.), QEMU, etc.
Figura 3. Sistema de virtualización de Tipo II.
Como es obvio, en los sistemas empresariales en los que se persigue un alto rendimiento y un
elevado nivel de fiabilidad y disponibilidad, se implementan soluciones de Tipo I, ya que el
objetivo que se busca no es disponer de una interfaz más o menos amigable ni poder utilizar
unas aplicaciones sobre el sistema operativo real, sino que el objetivo que se busca es tener en
funcionamiento unos sistemas servidores sobre una plataforma hardware que sean accesibles y
configurables a través de una consola o de la red. Este tipo de virtualización queda fuera del
alcance del presente curso, pero sí se analizará en más profundidad en el curso previsto sobre
administración avanzada de Windows Server 2012, donde también se tratarán otros esquemas
avanzados de virtualización como la VPS.
1.2.1. Ventajas e inconvenientes de la virtualización
Ventajas
Figura 1. Tres servicios ejecutándose en tres equipos reales distintos. Sistema sobredimensionado.
Figura 2. Tres servicios ejecutándose sobre tres servidores virtualizados distintos sobre el mismo
hardware.
Inconvenientes
Para la realización de este curso, se puede utilizar cualquier sistema de virtualización, VMWare
Player, VMWare Workstation, VMWare ESX, Proxmox, QEMU, etc. No obstante, en los materiales
que se irán proporcionando, siempre se utilizará VirtualBox por varios motivos:
Es una herramienta potente con todas las funcionalidades que vamos a necesitar en este
nivel.
Puede instalarse fácilmente tanto en equipos de la familia Windows, como en equipos de
tipo GNU/Linux, como en equipos MacOS.
Es una herramienta gratuita.
Aunque no sea la herramienta idónea en un entorno de producción, es perfectamente válida
para entornos educativos.
Posee (por ahora) un respaldo importante por parte de Oracle (propietaria de VirtualBox
tras la adquisición de Sun), ofreciendo actualizaciones con una elevada frecuencia.
Sin embargo, podéis utilizar la herramienta de virtualización que prefiráis, con la que estéis
acostumbrados a trabajar, o simplemente la que ya tengáis instalada en los equipos de clase.
Descarga e instalación
Para instalar VirtualBox, bastará acceder a la web https://www.virtualbox.org, desde ahí acceder
al apartado de 'Downloads' y elegir la versión más adecuada para nuestro sistema operativo.
Como puede observarse, soporta los sistemas operativos más utilizados tanto para arquitecturas
de 32 bits como para las de 64 bits. Según la arquitectura de nuestro equipo y el sistema
operativo con el que estemos trabajando, descargaremos una versión u otra.
Figura 1. Familias de sistemas operativos para los que existen versiones de VirtualBox.
Figura 2. Versiones de sistemas GNU/Linux para los que existen versiones específicas de VirtualBox.
Una vez descargada e instalada la versión correcta de VirtualBox, habrá que descargar e instalar
el llamado 'Extensión Pack' (figura 3) que permite una adecuada integración de los USB, y el
arranque por red, entre otros elementos.
Es importante destacar que solo existe una única versión del 'Extension Pack' para todas las
plataformas. Basta con un doble clic y se abrirá VirtualBox sobre el que se instalará de manera
desatendida (siempre que se cuente con privilegios de administrador).
Introducción
Esta sección, lejos de convertirse en un tutorial de VirtualBox, únicamente pretende mostrar una panorámica de las
opciones que tiene este software para aquellos que nunca hayáis trabajado con él. Existe en Internet documentación muy
buena que ahonda en aspectos particulares avanzados de este hipervisor. Personalmente, recomiendo el Manual del
Usuario de VirtualBox (2015), donde de una manera exhaustiva se analiza cada aspecto del programa.
A continuación se repasarán algunos de los aspectos más útiles de VirtualBox a la hora de utilizar este hipervisor como
herramienta de virtualización.
El primero de ellos ('Nueva') abre el asistente de creación de una nueva máquina virtual, como se analizará en detalle
en la sección 1.4.
El segundo ('Configuración') permite editar la configuración hardware de la máquina virtual (RAM asignada,
dispositivos de almacenamiento virtual -discos duros, unidades ópticas...-, CPUs, interfaz de red, etc.).
El tercero ('Descartar') elimina un estado guardado de una máquina virtual. Más adelante veremos con detalle esta
opción.
El cuarto ('Iniciar') arranca la máquina virtual creada, sería algo así como el botón POWER de un equipo real.
Preferencias: Pueden modificarse aspectos como la ruta donde se almacenarán las máquinas virtuales con todos sus
archivos, el idioma, la integración del teclado y el ratón reales con el sistema guest, etc.
Importación de servicio virtualizado: Permite importar una máquina virtual comprimida creada en otro equipo. Esto es
especialmente útil al migrar máquinas virtuales de un equipo real a otro.
Exportación de servicio virtualizado: Permite crear un archivo comprimido en el que se halla toda la información de
configuración de la máquina virtual, así como todos los datos, aplicaciones, etc., del sistema operativo guest. Sería
algo así como coger un ordenador real con su sistema operativo instalado y configurado, con sus datos de usuario, etc.
y empaquetarlo en una caja para cambiarlo de ubicación.
Administrador de medios virtuales: Permite trabajar sobre algunos aspectos de los medios de almacenamiento
virtuales (discos duros, unidades ópticas, disquetes). Algunas de las tareas que pueden llevarse a cabo son la
desconexión de un dispositivo de almacenamiento virtual de una máquina determinada, la modificación de las
características de ese dispositivo, la realización de una copia, etc.
Observemos con un poco más de detenimiento las opciones del botón 'Configuración'. Cuando tengamos creada y
seleccionada una máquina virtual, podemos, como se ha comentado con anterioridad, configurar los elementos 'hardware'
con los que interactuará el sistema guest (figura 3).
El primero de los apartados del menú de la izquierda ('General') permite configurar aspectos como el nombre de la máquina,
o el sistema operativo que se instalará. No es absolutamente imprescindible que el sistema operativo que vayamos a
instalar coincida con el especificado en este apartado (pensemos por ejemplo en sistemas virtualizados duales donde
tengamos un sistema operativo de la familia Windows y otro de la familia GNU/Linux, ¿qué tipo de sistema operativo
indicaremos en este apartado?). No obstante, en la medida de lo posible es recomendable que coincidan para evitar
problemas con el hardware virtual. Por ejemplo, si creamos una máquina de tipo openSUSE, y sobre ella instalamos un
Windows XP, podemos tener problemas, ya que los controladores de disco de la máquina openSUSE serán de tipo SATA,
mientras que el soporte de algunos Windows XP se limita a controladores de tipo IDE, por lo que la instalación fallará, si no
cambiamos manualmente en la configuración del almacenamiento los controladores de disco.
La siguiente opción ('Sistema') permite configurar la memoria RAM asignada y el orden de arranque.
La pestaña 'Procesador' permite especificar el número de núcleos a asignar a la máquina virtual. En general, salvo el valor de
la memoria RAM asignada y el orden de arranque, conviene dejar el resto de los valores por defecto.
Otro de los aspectos más importantes de la configuración es el apartado 'Red'. Lo más importante de este apartado es que
el adaptador de red se halle habilitado. Como norma general, SIEMPRE trabajaremos durante este curso en modo
'Adaptador puente' (o bridge, según versiones), ya que queremos permitir la conectividad entre los diferentes equipos que
formarán nuestra red.
En el Blog SoporteTI hay una presentación donde se explica de una manera muy clara y con ejemplos cada uno de estos
modos de funcionamiento. Recomiendo su lectura para tener más claro el funcionamiento de la red de este tipo de sistemas
virtualizados.
Finalmente, el apartado 'Carpetas Compartidas' permite establecer un vínculo de unión entre el sistema anfitrión y el
invitado a través de una carpeta en el sistema real. Esta carpeta será visible desde el sistema virtualizado (pudiendo
configurar los permisos) de manera que se puedan compartir ficheros entre ambos sistemas de una manera cómoda y
transparente (no es estrictamente hablando una compartición en red). Para que las carpetas compartidas puedan funcionar
adecuadamente deberán estar instaladas en el sistema invitado las 'Guest Additions', como se verá más adelante.
Se abrirá un asistente que nos guiará a lo largo del proceso de instalación. Nos pedirá que introduzcamos el nombre de la
máquina virtual y el tipo de sistema operativo.
En el siguiente paso le indicaremos la memoria RAM que asignaremos a la máquina virtual. Este valor dependerá de la
memoria de la que dispongamos en el sistema real, pero en cualquier caso se recomienda no darle menos de 512 MB.
Figura 3. Asignación de memoria RAM.
Al hacer clic en 'Siguiente' el asistente nos permitirá crear un disco duro. En primer lugar nos preguntará el tipo de disco
duro virtual que queremos crear (figura 4). Dejaremos la opción 'vdi', nativa de VirtualBox, por defecto.
En la siguiente pantalla se nos da la opción de añadir a la máquina un disco ya existente, pero en este caso lo crearemos.
Figura 5. Creación de un disco duro virtual.
Al pulsar 'Crear' se abrirá un asistente. Le indicaremos que queremos crear un disco duro de almacenamiento dinámico
(Figura 6). Esto significa que no ocupará todo el tamaño que le hayamos indicado en el sistema real, sino que únicamente
ocupará en el sistema host (anfitrión) el tamaño usado efectivamente por el sistema virtual con el tope máximo que le
indiquemos. Parece ser que esta característica penaliza ligeramente el rendimiento, no obstante es una opción
completamente recomendada si se tienen varias máquinas virtuales funcionando para no ocupar ingentes cantidades de
disco duro real, cuando realmente no se están utilizando esas porciones de disco.
En la siguiente pantalla, el asistente nos permite indicar el tamaño que le asignaremos al disco duro. VirtualBox
recomienda 20GB para un sistema Windows 7. No obstante, si le proporcionamos 10 GB el sistema funcionará
correctamente.
Figura 7. Tamaño y localización del disco duro virtual.
Finalizamos el asistente y ya tenemos la máquina virtual preparada para funcionar. Únicamente nos queda ‘insertar’ la
imagen iso en la unidad óptica virtual.
Para que no surjan problemas durante la realización de los casos prácticos y garantizar un esquema de red lo más
parecido a una situación real, configuraremos la tarjeta de red como 'Adaptador puente', tal y como se muestra en la
Figura 9.
Figura 9. Configuración del adaptador de red.
1.4.1. Resumen en vídeo. Creación de una máquina virtual para Windows 7
Se abrirá el asistente para la creación de máquinas virtuales (Figura 2) que nos preguntará por el tipo de máquina virtual
que queremos crear. En este caso le indicaremos que se trata de una máquina virtual de tipo Windows Server 2008.
Figura 2. Tipo de máquina virtual a crear.
En el siguiente paso le indicaremos la memoria RAM que le vamos a asignar. Como antes, este valor dependerá de la
cantidad de RAM que haya instalada en los equipos reales. De todas maneras, como durante la instalación del sistema
únicamente vamos a tener funcionando simultáneamente una máquina virtual, podemos darle un valor más bien elevado.
En posteriores prácticas lo ajustaremos para no penalizar en exceso el rendimiento del sistema al tener varias máquinas
en funcionamiento.
Como norma general, un sistema Windows Server 2008 puede funcionar bastante bien con 1GB de RAM. En caso de no
disponer de esa cantidad de memoria podemos asignarle valores no inferiores a 512MB. Por debajo de ese valor el
rendimiento se ve claramente comprometido.
A continuación nos pedirá que creemos un disco duro virtual para el servidor. Crearemos un disco virtual nuevo (Figura 4)
con Almacenamiento de expansión dinámica (Figura 5) y un tamaño de 10GB (Figura 6).
Antes de comenzar la instalación de Windows Server 2008, tendremos que indicarle a la máquina virtual dónde se halla la
imagen iso con la que queremos que arranque y asociarla a un CD virtual (Figura 9).
Figura 7. Unidad óptica virtual con la imagen iso.
Para el correcto desarrollo de las prácticas que se realizarán a continuación es importante que se configure la red como
‘Adaptador Puente’ o ‘Bridged’ según versiones del VirtualBox (Figura 8).
Concretamente deberás subir un único archivo en formato pdf en el que adjuntes para
cada una de las dos máquinas virtuales las capturas de pantalla necesarias del hipervisor
utilizado (VirtualBox, VMWare Player, QEMU, etc.) donde aparezcan: