Virtualizacion sistemas operativos 04 ing_isc_pii_e p
1. UNIVERSIDAD DEL VALLE DE
MEXICO
MATERIA: SISTEMAS
OPERATIVOS
“Los contenidos de este documento son responsabilidad exclusivamente del autor o autores. la
Universidad del Valle de México genera el espacio de publicación pero queda exenta de toda
responsabilidad legal"
PROFR. CÉSAR GARCÍA MATÍNEZ
PROYECTO: VIRTUALIZACIÓN DE
SISTEMAS OPERATIVOS
CÉSAR MÉNDEZ VITE
2. JOSE MARTIN HERNANDEZ
SANTIAGO
Objetivo:
Virtualizar 2 sistemas operativos huéspedes dentro de un sistema operativo anfitrión ya
sea Windows, Linux o Mac, y posteriormente lograr intercomunicación entre las
virtualizaciones y el sistema anfitrión a través de una base de datos (cliente – servidor) vía
MySQL.
Antecedentes:
Más que en ningún otro ámbito, la tecnología de la información (TI) avanza tan rápido que
no da tiempo a asimilar todos los conceptos nuevos que se presentan día a día. Uno de
éstos que ha cambiado el modelo de administración de sistemas para los administradores
de TI y que está llegando a los usuarios es la virtualización de sistemas operativos.
Los administradores de sistemas informáticos deben estar al día sobre los cambios en
tecnologías Software/Hardware y en cómo se puede mejorar la productividad en la
empresa a la vez que se facilita la realización del trabajo. Una de estas tecnologías es la
virtualización de sistemas operativos, que consiste básicamente en poder compartir en un
mismo Hardware varios sistemas operativos funcionando de forma totalmente
independiente. Esto se realiza mediante un Software de virtualización.
El término virtualización es antiguo; se viene usando desde 1960, y ha sido aplicado a
diferentes aspectos y ámbitos de la informática, desde sistemas computacionales
completos, hasta capacidades o componentes individuales. Lo más importante en este
tema de virtualización es la de ocultar detalles técnicos a través de la encapsulación.
La virtualización se encarga de crear una interfaz externa que esconde 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. Un avanzado desarrollo
de nuevas plataformas y tecnologías de virtualización han hecho que se vuelva a prestar
atención a este importante concepto. De modo similar al uso de términos como
3. “abstracción” y “orientación a objetos”, virtualización es usado en muchos contextos
diferentes.
Este concepto que es realmente interesante y que se lleva desarrollando desde hace
muchos años, parece que finalmente está encontrando sus caminos productivos y de
desarrollo para profesionales.
La máquina virtual en general es un sistema operativo completo que corre como si
estuviera instalado en una plataforma de hardware autónoma. Típicamente muchas
máquinas virtuales son simuladas en un computador central. Para que el sistema
operativo “huésped” funcione, la simulación debe ser lo suficientemente grande.
Marco Teórico:
Virtualización de Sistemas Operativos:
El concepto de virtualización puede significar muchos términos. Aplicada a los sistemas
operativos, consiste básicamente en poder compartir una misma infraestructura de
Hardware por varios sistemas operativos funcionando de forma totalmente
independiente. Es decir, que teniendo un mismo servidor, con un mismo disco duro, un
mismo procesador y una misma memoria, podamos disponer de varias instalaciones de
Windows y Linux funcionando en paralelo, totalmente independientes las unas de las
otras. Si una se para o tiene problemas, las otras ni se enteran y podrían re-aprovechar los
recursos de velocidad de proceso que quedarían liberados.
Para ejemplificar el funcionamiento de la virtualización, tenemos un equipo real con su
procesador, tarjeta gráfica, una tarjeta de red, un disco duro, etc. que tiene instalado
Ubuntu como sistema operativo y un Software de virtualización, como puede ser
VirtualBox. El Software de virtualización le proporciona al sistema operativo virtual el
Hardware virtual necesario para que pueda ejecutarse. Así podemos crear máquinas
virtuales que ejecuten Ubuntu, Fedora, Windows 7 o cualquier otro sistema.
Para crear una máquina virtual le asignamos uno o varios discos duros virtuales, la RAM
que veamos conveniente, la tarjeta o tarjetas de red que necesitemos, incluso podemos
contar en nuestro equipo físico con una única tarjeta de red y con dos o tres en una
máquina virtual ya que los recursos del equipo real se abstraen y se utilizan a
conveniencia por los equipos virtuales gracias a la plataforma de virtualización.
Ventajas de la Virtualización de Sistemas Operativos:
Los usos y ventajas que nos ofrece la virtualización de sistemas operativos son las
siguientes:
4. • Ahorro de costes: Es una de las cuestiones por las cuales más se han interesado las
empresas en la virtualización, puesto que donde antes necesitaban 4 máquinas
ahora se puede utilizar sólo una. Además de lo que supone el ahorrar dinero y
comprar menos Hardware, supone un ahorro en el aspecto energético.
• Compatibilidad de programas: Cuando se utiliza un sistema operativo Linux o Mac
por ejemplo, a veces no es posible encontrar el programa que necesitamos para
estas plataformas, por lo que o tenemos instalado Windows o nos buscamos otra
alternativa. El tener virtualizado Windows dentro de nuestro Mac o Linux, es una
solución que nos puede ahorrar una buena cantidad de problemas y tiempo
buscando el equivalente de un programa para estos sistemas.
• Clonación y migración de sistemas en caliente: Podemos ahorrar mucho tiempo
gracias a la facilidad de administración o de clonación de los discos duros virtuales,
que se realizarán como cualquier otro archivo, con las ventajas que esto tiene
asociado. Otra de sus propiedades es la potabilidad, donde es posible la migración
en caliente de máquinas virtuales de un servidor físico a otro, eliminando la
necesidad de paradas planificadas por mantenimiento de los servidores físicos.
• Entornos de prueba: Podemos usar la virtualización para prueba a Software de
versiones beta o programas que pensamos que nos serán útiles. Otro ejemplo
podría ser instalar un nuevo sistema operativo para probarlo antes de adquirirlo,
como el nuevo Microsoft Windows 7 en nuestro PC personal, sin con ello afectar a
la instalación actual de Windows, Linux o Mac que tengamos.
• Aislamiento y seguridad: Las máquinas virtuales son totalmente independientes
entre sí. Por tanto un fallo en una aplicación o en una máquina virtual afectará
únicamente a esa máquina virtual. El resto de máquinas virtuales seguirán
funcionando normalmente. De la misma forma cada máquina tiene un acceso
privilegiado independiente. Por tanto, un ataque de seguridad en una máquina
virtual sólo afectará a esa máquina.
• Flexibilidad y agilidad: podemos crear las máquinas virtuales con las características
de CPU, memoria, disco y red que necesitemos, sin necesidad de adquirir un
ordenador con esas características. Además, la creación de una máquina virtual es
un proceso muy rápido, básicamente la ejecución de un comando. Por tanto, si
necesitamos un nuevo servidor lo podremos tener casi al instante, sin pasar por el
proceso de compra y configuración.
Desventajas de la Virtualización de Sistemas Operativos:
Aunque parezca que la virtualización de sistemas operativos sólo aporte ventajas, tiene
algunos puntos débiles a destacar:
• Rendimiento inferior: Varios sistemas operativos virtualizados y ejecutados a la vez
nunca alcanzarán las mismas cotas de rendimiento que si estuviera directamente
5. instalado en el hierro. Dado que el virtualizador introduce una capa intermedia en
la gestión del Hardware para gestionar las peticiones de acceso y la concurrencia al
mismo, el rendimiento de la máquina virtual se ve afectado irremediablemente.
Además, no todas las soluciones de virtualización obtienen el mismo rendimiento
en las mismas operaciones.
• Limitaciones en el Hardware: No es posible utilizar Hardware que no esté
gestionado o soportado por el hypervisor. El Software de virtualización nos
impondrá una serie de dispositivos virtuales como tarjetas de vídeo y red de las
que no podremos variar.
• Proliferación de máquinas virtuales: Como no hay que comprar Hardware, el
número de máquinas y servidores virtuales se dispara en todos los ámbitos. Los
efectos colaterales se perciben después: aumenta el trabajo de administración,
gestión de licencias y riesgos de seguridad.
• Desaprovechamiento de recursos: Crear máquinas virtuales innecesarias tiene un
coste en ocupación de recursos, principalmente en espacio en disco, RAM y
capacidad de proceso.
• Centralización de las máquinas en un único servidor: Una avería del servidor
anfitrión de virtualización afecta a todas las máquinas virtuales alojadas en él. Para
solventarlo hay que desembolsar un gasto extra de dinero en adoptar soluciones
de alta disponibilidad como clustering y replicación para evitar caídas de servicio
de múltiples servidores con una única avería.
• Portabilidad limitada entre virtualizadores: Como cada producto de virtualización
usa su propio sistema, no hay uniformidad o estandarización de formatos y la
portabilidad entre plataformas está condicionada a la solución de virtualización
adoptada. Elegir GNU/Linux, Mac OS X, Windows o Solaris como anfitrión es una
decisión importante en entornos corporativos.
El Hypervisor:
Un hypervisor, también llamado monitor de máquina virtual (virtual machine monitor,
VMM), es una plataforma de virtualización que permite utilizar, a la vez, múltiples
sistemas operativos en un equipo físico.
Tipos de Hypervisor:
Tipo 1 (nativo, bare-metal):
Software que se ejecuta directamente sobre el Hardware real del equipo para controlar el
Hardware y monitorizar los sistemas operativos virtualizados. Los sistemas virtualizados se
ejecutan en otro nivel por encima del hypervisor.
6. Algunos de los hypervisors de tipo 1 más conocidos son los siguientes:
• VMware: ESXi, ESX.
• Xen.
• Citrix XenServer.
• Microsoft Hyper-V Server.
Tipo 2 (Hosted):
Aplicación que se ejecuta sobre un sistema operativo convencional (Linux, Windows,
MacOS) para virtualizar sistemas. De esta forma la virtualización se produce en una capa
más alejada del Hardware si lo comparamos con los hypervisors de tipo 1. Lógicamente
esto hace que el rendimiento sea menor en los hypervisors de tipo 2.
Algunos de los hypervisors de tipo 2 más utilizados son los siguientes:
• Sun: VirtualBox, VirtualBox OSE.
• VMware: Workstation, Server, Player.
• Micorsoft:
Virtual PC, Virtual Server.
8. Estos son los pasos para instalar el Virtual Box que es la plataforma de virtualización usada
para el proyecto, en este proyecto el sistema operativo anfitrión es Windows 7 y con la
ayuda del Virtual Box se instalaran posteriormente 2 sistemas operativos diferentes que
en este caso serán Ubuntu y openSUSE que son sistemas operativos basados en Linux.
Virtualización de UBUNTU:
Configuración de la Maquina Virtual:
9. Se inicia la configuración de la primera máquina virtual.
Se especifica el nombre de la máquina virtual y el
sistema operativo que va a utilizar
Se le asigna la cantidad de memoria RAM que
va utilizar la virtualización
10. Se crea un disco duro virtual para el funcionamiento de la virtualización.
Aquí se muestra la ubicación del disco duro
virtual y su capacidad de 8G y aquí se termina de
configurar la máquina virtual.
Instalación del Sistema Operativo en la Máquina Virtual:
Se inicia el asistente para instalar
Ubuntu en la máquina virtual.
11. Se selecciona el archivo iso que contiene
Ubuntu para que se ejecute la instalación.
Se instala Ubuntu en la máquina virtual creada
anteriormente y al momento de terminar la
instalación ya está lista para usarse.
12. Queda lista la virtualización
corriendo Ubuntu dentro
de Windows 7
Para nuestra segunda
virtualización decidimos instalar otra máquina virtual de Ubuntu debido a que intentamos
instalar otros sistemas operativos pero eran inestables y no funcionaban para la aplicación
que le queríamos dar por lo tanto nuestra segunda máquina virtual va a ser otra
virtualización de Ubuntu.
Se siguieron los mismos pasos para instalar la segunda máquina virtual que para instalar la
primera dándonos como resultado la instalación de otra máquina virtual de Ubuntu.
13. Con esto terminamos la parte de la instalación de las 2 máquinas virtuales (Ubuntu) que
serían los 2 sistemas operativos huéspedes dentro del sistema operativo anfitrión
(Windows 7).
Comprobación de Acceso a Internet en las Máquinas Virtuales:
En la primera máquina virtual que llamaremos Ubuntu 1 se tiene acceso a internet sin
ningún problema.
14. En la segunda máquina virtual que llamaremos Ubuntu 2 se tiene acceso a internet sin
ningún problema.
15. Instalación de MySQl en las Máquinas Virtuales:
Se instalaron en las 2 máquinas virtuales en la Ubuntu 1 y la Ubuntu 2 el servidor de
MySQL y el MySQl administrator que viene también con el MySQL Query Browser que son
herramientas para poder tener acceso de manera gráfica al servidor y asimismo crear
bases de datos, administrar tablas y hacer consultas de estas.
17. Aquí se instaló el MySQL Administrator.
Como se dijo anteriormente se instalaron estos 2 programas en las máquinas virtuales en
Ubuntu 1 y en Ubuntu 2 con estas 2 herramientas de Software ya se puede intentar crear
una interconexión de las máquinas virtuales huéspedes Ubuntu con la maquina anfitriona
que es Windows 7.
En la maquina anfitriona también se instalaron las propiedades de MySQl tanto como el
servidor como una herramienta muy útil para realizar conexiones para modificar o hacer
consultas de una base de dato que es el MySQl Workbench.
Estas fueron las herramientas de software utilizadas para poder realizar la interconexión a
través de las herramientas de MySQl.
18. Proceso de Interconexión de las Máquinas virtuales:
Para comenzar determinaremos nuestro servidor, nuestro servidor será la máquina virtual
que llamamos anteriormente Ubuntu 1 esa es nuestra maquina servidor por lo tanto la
otra máquina virtual Ubuntu 2 será cliente junto con el anfitrión Windows 7 ambos se
conectaran a través de la IP de la maquina servidor y el usuario y password del servidor.
En la Máquina Servidor Ubuntu 1:
Aquí ingresamos al servidor local
Aquí vemos la IP de la conexión del servidor
19. Ya entrando en el servidor se crea un usuario que en este caso es el usuario vitey se le
asignan algunos recursos para manejar 2 bases de datos que creamos anteriormente que
son las bases de datos vite, martin.
Se crea el usuario vite
20. Se le asignan los privilegios para las BD vite y martin
Ya que tenemos configurado nuestro usuario en el servidor se necesita accesar a este
usuario desde la otra máquina virtual llamada Ubuntu 2 para confirmar la interconexión.
Aquí se ingresa al usuario creado en el servidor desde la segunda máquina virtual
21. Se conecta exitosamente al usuario del servidor
Aquí se observa ingresando desde el Query Browser las bases de datos creadas en el
usuario del servidor vite y martin
22. En este punto ya comprobamos la interconexión entre Ubuntu 1(servidor) y Ubuntu
2(cliente) siendo totalmente exitosa.
Ahora se necesita ingresar al mismo usuario del servidor desde el sistema operativo
anfitrión Windows 7 esto lo haremos desde el MySQL Workbench así comprobaremos la
interconexión.
Aquí se ingresa al usuario creado en el servidor desde el Workbench de MySQL
23. Aquí se observa ingresando desde el MySQL Workbench las bases de datos creadas en el
usuario del servidor vite y martin
Comprobando la interconexión al servidor desde el sistema anfitrión Windows 7 y el
servidor en la máquina virtual Ubuntu 1.
Conclusiones:
Se pudo interconectar el sistema anfitrión con la máquina virtual que actuaba como
servidor así como otra máquina virtual diferente con la misma máquina virtual servidor,
así comprobamos las propiedades de las virtualizaciones pero también las dificultades que
esto puede ocasionar ya que se necesitan varios pasos para lograr estas interconexiones.
24. Bibliografía:
Tecnologías informáticas 2007,M.C. Juan Carlos Olivares Rojas, SEP
Virtualization for Dummies, Clark Scheffy, AMD special edition