Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CAPITULO I
VIRTUALIZACION
d) VIRTUALIZADOR
Un virtualizador es, por su parte, un software que permite crear mquinas
virtuales dentro de una mquina fsica. La principal diferencia con un emulador
es que no traduce instrucciones sino que las ejecuta directamente, con lo cul no
es posible virtualizar un guest diseado para una plataforma diferente a la del
host. No obstante, la ventaja de esto es que se obtiene un rendimiento mucho
mayor comparado con los emuladores.
e) EMULADOR
Un emulador es un software que es capaz de ejecutar programas escritos para
otra plataforma o arquitectura como si estuvieran en realidad ejecutndose en
ella, dado que traduce cada instruccin de la mquina husped a una instruccin
vlida para la arquitectura del host. Por ejemplo, un emulador permitira
ejecutar un programa de Mac OS X en Linux. En el caso de un emulador, el
software que permite ejecutar es el mismo (sin ninguna modificacin) que
funciona en la plataforma para la que fue originalmente desarrollado.
f) SIMULADOR
En este caso, se trata de un software que copia el comportamiento de otro,
intentando ser lo ms parecido al software que trata de imitar. Notar que un
simulador se trata de otro software distinto al que intenta simular.
1.4. HISTORIA DE LA VIRTUALIZACION
Hace ms de 40 aos, mucho antes de que se inventara Linux, IBM tena un
problema. El nuevo System/360 funcionaba de un modo totalmente distinto al del
anticuado 7070. Para facilitar la migracin de los clientes potenciales, IBM quera
que las aplicaciones antiguas funcionaran en el nuevo sistema. Tras varias pruebas,
IBM se decant finalmente por una idea ofrecida por el ingeniero Larry Moss, el
cual sugiri una combinacin de software y una extensin de hardware especial. La
solucin consista en la ejecucin y monitorizacin paso a paso de la aplicacin
antigua convirtiendo sus comandos en otros que el nuevo System /360 pudiera
entender. De este modo, el nuevo computador se comportara exactamente igual que
su predecesor. Este sencillo juego de manos permita a los compradores del nuevo
modelo la posibilidad de continuar usando sus aplicaciones 7070. Dado que este
software emulaba el comportamiento de otro computador, Larry Moss bautiz su
invento como emulador.
EMULACION
El mtodo de virtualizacin con el que todos estamos ms familiarizados es la
emulacin. Todos hemos ejecutado el emulador de nintendo para juegos, o el
de pocket PC, por poner ejemplos. Y todos sabemos cual es su principal
problema: La lentitud. El overhead de simular byte a byte un hardware por
software hace trabajar a las CPU de manera considerable. El desarrollo de
emuladores es una tarea ardua y propensa a errores. La emulacin se basa en
crear mquinas virtuales que emulan el hardware de una o varias plataformas
hardware distintas. Este tipo de virtualizacin es la ms costosa y la menos
eficiente, ya que obliga a simular completamente el comportamiento de la
Figura 6: Emulacin
Sin embargo la emulacin tiene caractersticas interesantes, como poder ejecutar
un sistema operativo diseado para una plataforma concreta sobre otra
plataforma, sin tener que modificarlo, o en el desarrollo de firmware para
dispositivos hardware, donde se pueden comenzar estos desarrollos sin tener que
esperar a tener disponible el hardware real.
b)
VIRTUALIZACION COMPLETA
Con este trmino se denominan aquellas soluciones que permiten ejecutar
sistemas operativos husped (Guest), sin tener que modificarlos, sobre un
sistema anfitrin (Host), utilizando en medio un Hypervisor o Virtual Machine
Monitor que permite compartir el hardware real. Esta capa intermedia es la
encargada de monitorizar los sistemas husped con el fin de capturar
determinadas instrucciones protegidas de acceso al hardware, que no pueden
realizar de forma nativa al no tener acceso directo a l. Su principal ventaja es
que los sistemas operativos pueden ejecutarse sin ninguna modificacin sobre
la plataforma, aunque como inconveniente frente a la emulacin, el sistema
operativo debe estar soportado en la arquitectura virtualizada.
PARAVIRTUALIZACION
La paravirtualizacin surgi como una forma de mejorar la eficiencia de las
mquinas virtuales y acercarlo al rendimiento nativo. Para ello se basa en que
Figura 8: Paravirtualizacin
Este sistema tiene varias ventajas, entre ellas la poca carga que le da al
procesador al no tener que tener una capa completa de virtualizacin que se
encarga de administrar los recursos y virtualizarlos. Otra de las ventajas, es
que los sistemas invitados no tienen que limitarse a los accesorios de hardware
que sean soportados por el hipervisor, pues al invitado actuar directamente con
la parte fsica es posible manejar todos los accesorios que maneja el sistema
retorne al VMM y almacene el estado del procesador. Tambin se han aadido otras
capacidades, consulte la seccin recursos.
AMD est produciendo la tecnologa Pacifica en la que el hardware asiste a la
virtualizacin. Entre otras cosas, Pacifica mantiene un bloque de control para los
sistemas operativos hospedados que se guarda con la ejecucin de instrucciones
especiales. La instruccin VMRUN permite a una mquina virtual (y sus sistema
operativo hospedado asociado) ejecutarse hasta que el VMM recupere el control (lo
que tambin es configurable). Las opciones de configuracin permiten que el VMM
adapte los privilegios de cada uno de los huspedes. Pacifica tambin compensa la
traduccin de direcciones con unidades de gestin de memoria (MMU) para el
anfitrin y los huspedes. Estas nuevas tecnologas pueden utilizarse en varias de
las tcnicas de virtualizacin que se han discutido, como Xen, VMware, User-mode
Linux y otras.
1.7. TIPOS DE VIRTUALIZACIN
La virtualizacin tiene mltiples usos y de acuerdo a estos podemos determinar que
tipo de virtualizacin es. Los ms comunes de forma muy general son la
virtualizacin de servidores, virtualizacin de clientes y virtualizacin de
almacenamiento de datos o por que no llamarlo virtualizacin de discos duros, esta
divisin no es definitiva y otras personas podran darle otra forma de dividir los
tipos de virtualizacin pero definitivamente estos son los mas comunes. Por lo que,
vamos a clasificarlos en tres grandes grupos: Virtualizacin de plataforma,
Virtualizacin de los recursos y Otros Tipos de virtualizacin.
a) VIRTUALIZACIN DE PLATAFORMA
Abstraccin de todos los recursos de computacin de un husped dentro de un
anfitrin (host). Esta involucra la simulacin de mquinas virtuales. La
virtualizacin de plataforma es llevada a cabo en una plataforma de hardware
mediante un software host (anfitrin, un programa de control) que simula un
entorno computacional (mquina virtual) para su software guest.
Este software guest, que generalmente es un sistema operativo completo, corre
como si estuviera instalado en una plataforma de hardware autnoma.
EMULACIN O SIMULACIN.
La mquina virtual simula un hardware completo, admitiendo un sistema
operativo guest sin modificar para una CPU completamente diferente. Este
enfoque fue muy utilizado para permitir la creacin de software para nuevos
procesadores antes de que estuvieran fsicamente disponibles. Por ejemplo
Bochs, PearPC, Qemu sin aceleracin, y el emulador Hercules. La emulacin
es puesta en prctica utilizando una variedad de tcnicas, desde state
machines hasta el uso de la recopilacin dinmica en una completa
plataforma virtual. Esta forma de virtualizar es donde el software de
virtualizacion genera crea una capa de software que representa el hardware.
Se que son un poquito confuso pero desglosmoslo un poco.
El software de virtualizacin genera una capa donde se emulan los recursos
del computador para que el sistema operativo instalado dentro del software
funcione creyendo que esta solo en un computador.
PARAVIRTUALIZACIN.
La mquina virtual no necesariamente simula un hardware, en cambio ofrece
un API especial que solo puede usarse mediante la modificacin del sistema
operativo guest. La llamada del sistema al hypervisor tiene el nombre de
hypercall en Xen y Parallels Workstation; est implementada va el
hardware instruction DIAG (diagnose) en el CMS de VM en el caso de
IBM (este fue el origen del trmino hypervisor). Ejemplo: VMware ESX
Server, Win4Lin 9x y z/VM.
VIRTUALIZACIN DE APLICACIONES.
Consiste en el hecho de correr una desktop o una aplicacin de server
localmente, usando los recursos locales, en una mquina virtual apropiada.
Esto contrasta con correr la aplicacin como un software local convencional
(software que fueron instalados en el sistema). Semejantes aplicaciones
virtuales corren en un pequeo entorno virtual que contienen los
componentes necesarios para ejecutar, como entradas de registros, archivos,
entornos variables, elementos de uso de interfaces y objetos globales. Este
entorno virtual acta como una capa entre la aplicacin y el sistema
operativo, y elimina los conflictos entre aplicaciones y entre las aplicaciones
y el sistema operativo. Los ejemplos incluyen el Java Virtual Machine de
Sun, Softricity, Thinstall, Altiris y Trigence (esta metodologa de
virtualizacin es claramente diferente a las anteriores; solo una pequea lnea
divisoria los separa de entornos de mquinas virtuales como Smalltalk,
FORTH, Tel, P-code).
Agrupar los recursos de tal manera que sean vistos como uno, como por
ejemplo:
-
VNP (Red Privada Virtual): Vendra a ser la extensin de una red local
a Internet
CLUSTER: combinan mltiples computadoras en una gran megacomputadora. Son un grupo de PCs construidos con hardware barato
conectados en red que se comportan como un nico computador de gran
potencia al estar juntos.
Dividir los recursos en mltiples recursos de manera que cada uno sea
independiente:
-
VIRTUALIZACIN DE CLIENTES
Clientes son aquellos computadores de escritorio, porttiles o terminales que
se conectan a uno o varios servidores para hacer el trabajo que necesitan,
VIRTUALIZACIN DE SERVIDORES.
Esta es probablemente el tipo de virtualizacin mas usado en todo el mundo,
y es por las ventajas que genera el virtualizar un servidor en ahorro de
energa, de espacio y en facilidad de administracin de menos servidores
fsicos, de esto hablaremos en Razones para virtualizar. Para esto no hay
definicin especifica que sea diferente de las antes planteadas, pues
virtualizacin de servidores es como su nombre lo indica la virtualizacin de
un servidor, y sabemos que servidores son aquellos computadores
principales a los que los clientes u otros computadores se conectan para
obtener archivos, impresoras o en general manejar todos los recursos de la
red.
CONSOLIDACIN DE SERVIDORES.
Se ocupa de la tecnologa de virtualizacin para consolidar muchos servidoresen
uno o pocos servidores virtuales. De este modo el servidor fsico es
transformado en una mquina virtual anfitrin residente en una mquina virtual
del sistema principal, Eso es conocido tambin como Physical-to-Virtual o
transformacin P2V. En la prctica esto permite administrar varios servidores
fsicos como si fueran uno solo.
b)
posibilitando que stas tomen la carga del servidor de produccin que se est
yendo fuera de servicio.
c)
d)
LEGACY APPLICATIONS.
La operacin de estas aplicaciones puede ser muy bien atendida por mquinas
virtuales. Es comn que muchas de estas aplicaciones legacy no puedan
funcionar en los procesadores y sistemas operativos actuales. Y, an si pueden
hacerlo terminan subutilizndolos de manera que la virtualizacin termina
siendo una muy buena alternativa.
e)
f)
INFRAESTRUCTURA VIRTUAL
Una infraestructura virtual consiste en el mapping dinmico de recursos fsicos
en funcin de las necesidades de la empresa. Una mquina virtual representa los
recursos fsicos de un nico computador, mientras que una infraestructura virtual
representa los recursos fsicos de la totalidad del entorno de TI, aglutinando
computadores 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:
Se han diseado las soluciones para que funcionen de manera independiente del
hardware y del sistema operativo y poder brindar a los clientes amplias
posibilidades de eleccin de plataforma. Como resultado, son soluciones que
proporcionan un punto de integracin clave para los proveedores de hardware y
gestin de infraestructuras de cara a ofrecer un valor nico y aplicable por igual
en todos los entornos de aplicacin y sistemas operativos.
Las empresas que han adoptado estas soluciones de infraestructura virtual nos
han comunicado unos clarsimos resultados positivos, entre ellos:
La principal ventaja viene dada por el hecho de que en un nico equipo es posible
ejecutar numerosas mquinas virtuales, algo que antes habra requerido numerosos
equipos, produciendo:
1.11.
User-mode
Linux
es
otra
solucin
de
fuente
abierta
para
la
Order the SEK for Linux, dos DVDs con las ltimas versiones de evaluacin
de software de IBM para Linux: DB2, Lotus, Rational, Tivoli y WebSphere.
CAPITULO II
MAQUINAS VIRTUALES
2.1. LAS MAQUINAS VIRTUALES
En informtica una mquina virtual es un software que emula a una computadora
y puede ejecutar programas como si fuese una computadora real. Este software en
un principio fue definido como "un duplicado eficiente y aislado de una mquina
fsica". La acepcin del trmino actualmente incluye a mquinas virtuales que no
tienen ninguna equivalencia directa con ningn hardware real.
Una caracterstica esencial de las mquinas virtuales es que los procesos que
ejecutan estn limitados por los recursos y abstracciones proporcionados por ellas.
Estos procesos no pueden escaparse de esta "computadora virtual".
Uno de los usos domsticos ms extendidos de las mquinas virtuales es ejecutar
sistemas operativos para "probarlos". De esta forma podemos ejecutar un sistema
operativo que queramos probar (Linux, por ejemplo) desde nuestro sistema
operativo habitual (Mac OS X por ejemplo) sin necesidad de instalarlo
directamente en nuestra computadora y sin miedo a que se desconfigure el sistema
operativo primario.
APLICACIONES
DE
LAS
MQUINAS
VIRTUALES
DE
SISTEMA
-
Una de las razones del porque las mquinas virtuales, no son la panacea de la
computacin, es que agregan gran complejidad al sistema en tiempo de
ejecucin. La principal desventaja de las mquina virtual, es que en la
aplicacin de algunos proceso tendr como efecto la lentitud del computador,
es decir, la computadora en la cual se est ejecutando este proceso debe tener
una capacidad bastante notable debe ser de gran capacidad o potente.
Una falla de hardware equivale a la falla de todos los sistemas virtuales que
operan sobre el mismo.
Para asegurar los servicios se deben adquirir hardware de gran porte y por
consiguiente alto costo.
Cada mquina virtual puede ejecutar cualquier sistema operativo soportado por
el hardware subyacente. As los usuarios pueden ejecutar dos o ms sistemas
operativos distintos simultneamente en computadoras "privadas" virtuales.
Open Firmware
Common Language Runtime - C#, Visual Basic .NET, J#, Managed C++
Inferno - Limbo
Lua
MMIX - MMIXAL
Parrot - Perl 6
YARV - Ruby
Rubinius - Ruby
ScummVM - Scumm
SWEET16
Z-machine - Z-Code
FAUmachine
OKL4
SheepShaver.
Simics
SVISTA
TwoOStwo
User-mode Linux
VirtualBox
VM de IBM
Xen
KVM
OpenVZ
Virtuozzo
FreeVPS
Linux-VServer
FreeBSD Jails
Solaris Containers
Las primeras variables locales son inicializadas con los parmetros actuales. Cada
variable local o elemento de la pila es una palabra que corresponde a un entero de
32 bits, a un punto flotante o a una referencia a objeto (puntero). Para puntos
flotantes dobles y enteros largos se utilizan dos huecos de la pila.
Mquina Virtual Java que sirve para ejecutarlos. Como vemos en la figura, el API
de Java y la Mquina Virtual Java forman una capa intermedia (Java platform) que
asla el programa Java de las especificidades del hardware (hardware-based
platform).
Java es un lenguaje
dinmico, debido a que las clases son cargadas en el momento en que son
necesitadas (dinmicamente), ya sea del sistema de archivos local o desde
algn sitio de la red mediante algn protocolo URL. Java tiene la capacidad
de aumentar su sistema de tipos de datos dinmicamente o en tiempo de
ejecucin. Este "enlace tardo" (late-binding) significa que los programas slo
crecen al tamao estrictamente necesario, aumentando as la eficiencia del uso
de los recursos. Java hace menos suposiciones sobre las implantaciones de las
estructuras de datos, que los lenguajes estticos de "enlace temprano" o en
tiempo de compilacin (early-binding) como C o C++.
Debido a que Java naci en la era post-Internet, fue diseado con la idea de la
seguridad y la fiabilidad, por lo que se le integraron varias capas de seguridad
para evitar que programas maliciosos pudiesen causar daos en los sistemas,
sobre los que ejecuta la implantacin de la Mquina Virtual Java. El lenguaje
Java no est diseado solamente para crear applets que corren en la ventana
Applets
Internacionalizacin
Seguridad
Componentes (JavaBeans)
Java proporciona tambin extensiones, por ejemplo define un API para 3D,
para los servidores, telefona, reconocimiento de voz, etc.
b)
Llamar al sistema husped para ciertas funciones, como los accesos a los
dispositivos
Esta ltima tarea, es una de las ms importantes que realiza la JVM. Adems,
las propias especificaciones del lenguaje Java contribuyen extraordinariamente
a este objetivo:
Por ejemplo, cuando el navegador encuentra una pgina web con un applet,
pone en marcha la JVM y proporciona la informacin que aparece en la
etiqueta <APPLET > ... </APPLET>. El cargador de clases dentro de la JVM
ve que clases necesita el applet. Dentro del proceso de carga, las clases se
examinan mediante un verificador que asegura que las clases contienen cdigo
vlido y no malicioso. Finalmente, se ejecuta el applet.
de
la
portabilidad
de
los
programas
Java,
debido
que
MOTOR DE EJECUCIN
EL VERIFICADOR DE JAVA
Como hemos mencionado anteriormente, una de las principales razones
para utilizar una mquina virtual, es agregar elementos de seguridad a
nuestro sistema, por lo que si un intrprete falla o se comporta de manera
aleatoria, debido a cdigo mal formado, es un problema muy serio. La
solucin trivial a este problema sera incluir cdigo encargado de capturar
errores y verificar que el cdigo sea correcto. Es evidente que la principal
desventaja de esta solucin, es que volveremos a caer en un sistema
sumamente seguro, pero altamente ineficiente. Los diseadores de Java
tomaron otro camino. Cuando estaban diseando el conjunto de
instrucciones para la mquina virtual de Java, tenan dos metas en mente.
La primera era que el conjunto de instrucciones fuera similar a las
instrucciones que se pueden encontrar en los procesadores reales. La
segunda era construir un conjunto de instrucciones que fuera fcilmente
verificable.
En Java, justo despus de que se obtiene una clase del sistema de archivos
o de Internet, la mquina virtual puede ejecutar un verificador que se
encargue precisamente de constatar que la estructura del archivo de clase
es correcta. El verificador se asegura que el archivo tenga el nmero
mgico (0xCAFEBABE) y que todos los registros que contiene el archivo
tengan la longitud correcta, pero an ms importante, comprueba que todos
los cdigos de operacin sean seguros de ejecutar. Es importante notar que
Java no necesita que el verificador se ejecute sobre el archivo de clase,
sino que es activado por el sistema en tiempo de ejecucin y slo sobre
clases que el mismo sistema decida. Por lo comn, las clases verificadas
son las provenientes de Internet.
ADMINISTRADOR DE MEMORIA
Java utiliza un modelo de memoria conocido como "administracin
automtica del almacenamiento" (automatic storage management), en el
que el sistema en tiempo de ejecucin de Java mantiene un seguimiento de
los objetos. En el momento que no estn siendo referenciados por alguien,
automticamente se libera la memoria asociada con ellos. Existen muchas
maneras de implementar recolectores de basura, entre ellas tenemos:
- Contabilizar referencias. La mquina virtual Java asocia un contador a
cada instancia de un objeto, donde se refleja el nmero de referencias
hacia l. Cuando este contador es 0, la memoria asociada al objeto es
susceptible de ser liberada. An cuando este algoritmo es muy sencillo
y de bajo costo (en trminos computacionales), presenta problemas con
estructuras de datos circulares.
- Marcar e intercambiar (Mark-and-Sweep). Este es el esquema ms
comn para implementar el manejo de almacenamiento automtico.
Consiste en almacenar los objetos en un montculo (heap) de un
tamao considerable y marcar peridicamente (generalmente mediante
un bit en un campo que se utiliza para este fin) los objetos que no
tengan ninguna referencia hacia ellos. Adicionalmente existe un
montn alterno, donde los objetos que no han sido marcados, son
movidos peridicamente. Una vez en el montculo alterno, el recolector
de basura se encarga de actualizar las referencias de los objetos a sus
nuevas localidades. De esta manera se genera un nuevo montculo, que
contiene nicamente objetos que estn siendo utilizados.
las
excepciones
en
Java
son
instancias
de
la
clase
java.lang.Error,
heredan
directamente
de
INTERFAZ DE HILOS
Java es un lenguaje que permite la ejecucin concurrente de varios hilos de
ejecucin, es decir, el sistema de tiempo de ejecucin de Java tiene la
posibilidad de crear ms de un procesador virtual Java, donde ejecutar
diferentes flujos de instrucciones, cada uno con su propia pila y su propio
estado local. Los procesadores virtuales pueden ser simulados por software
o implementados mediante llamadas al sistema operativo, sobre el cual
subyace. En el conjunto de instrucciones de la mquina virtual Java, slo
existen dos directamente relacionadas con los hilos, monitorenter y
monitorexit, que sirven para definir secciones de cdigo, que deben
ejecutarse en exclusin mutua. El resto del soporte de los hilos se realiza
atrapando
llamadas
los
java.lang.Thread.
CARGADOR DE CLASES
mtodos
pertenecientes
la
clase
CAPITULO III
VIRTUALIZACION DE ESCRITORIOS
3.1. INTRODUCCIN
La virtualizacin de escritorio es un trmino relativamente nuevo, introducido en
la dcada de los 90, que describe el proceso de separacin entre el escritorio, que
engloba los datos y programas que utilizan los usuarios para trabajar, de la
mquina fsica. El escritorio "virtualizado" es almacenado remotamente en un
servidor central en lugar de en el disco duro del computador personal. Esto
significa que cuando los usuarios trabajan en su escritorio desde su porttil u
computador personal, todos sus programas, aplicaciones, procesos y datos se
almacenan y ejecutan centralmente, permitiendo a los usuarios acceder
remotamente a sus escritorios desde cualquier dispositivo capaz de conectarse
remotamente al escritorio, tales como un porttil, PC, smartphone o cliente ligero.
La experiencia que tendr el usuario est orientada para que sea idntica a la de un
PC estndar, pero desde un dispositivo de cliente ligero o similar, y desde la
misma oficina o remotamente.
Muchas soluciones comerciales tambin agregan la capacidad de conmutar
algunas sesiones de cliente entrantes (usando un software de rompimiento de
conexin) en direccin a sistemas de escritorio compartido tradicionales como el
El usuario puede tener un computador completo que haya sido configurado para
depender total o parcialmente de las instrucciones del servidor. O puede tener un
aparato llamado "terminal" que haya sido diseado para esta tarea, al cual
conectar un monitor, un teclado, y un ratn, y con los cules usar la terminal
como si se tratase de un computador completo. Esta terminal slo funcionar
cuando tenga conexin con un servidor adecuado.
3.5. FUNDAMENTOS
Es complejo instalar y mantener equipos de trabajo separados, adems los usuarios
han disfrutado de una capacidad casi ilimitada tanto para instalar como para borrar
software. Debido a esto, los departamentos corporativos de tecnologa de
informacin y los usuarios han usado Terminal Services o Presentation Server de
Citrix para proporcionar un entorno de escritorio estable y simple, pudiendo los
usuario estar usando tanto un PC de escritorio como un cliente ligero.
La virtualizacin del escritorio proporciona muchas de las ventajas de un servidor
de terminales, si es configurado por los administradores de sistemas pueden
proporcionar a los usuarios mucha ms flexibilidad, por ejemplo, cada uno puede
tener permitido instalar y configurar sus propias aplicaciones. Los usuarios
tambin disponen de la capacidad de acceder a sus escritorios virtuales basados en
servidor desde otras localizaciones.
3.6. INFRAESTRUCTURA DE ESCRITORIO VIRTUAL (VDI)
La Infraestructura de escritorio virtual (Virtual Desktop Infrastructure o VDI) es un
modelo arquitectnico emergente donde los sistemas operativos del cliente se
ejecutan en mquinas virtuales (VM) basadas en servidor en el centro de datos e
interactan con los dispositivos de cliente de los usuarios, como las computadoras
personales o clientes ligeros. Tal como el escritorio remoto de terminal services,
VDI ofrece a TI la capacidad de centralizar el escritorio de un usuario, en vez de
una sesin de servidor; sin embargo se virtualiza todo el entorno del cliente dentro
del hipervisor basado en servidor. Con VDI, el usuario puede adquirir una
experiencia de escritorio rica e individualizada con un total control administrativo
de escritorios y aplicaciones. Sin embargo, aunque esta arquitectura es flexible, se
que proporciona mayores beneficios, pero en muchos casos las otras tecnologas
tambin son perfectamente aplicables y econmicamente preferibles.
Otro componente que podemos necesitar en una plataforma VDI es el broker.
Un broker, en su versin ms simple, es un componente de software que pone en
contacto el usuario que quiere utilizar una plataforma VDI con el escritorio virtual
que debe utilizar. As, ene esencia, el cometido del broker es identificar el usuario
y, en funcin de los parmetros que se hayan configurado para ese usuario,
conectarlo con el servidor de escritorio que le corresponda.
c)
d)
ALTERNATIVA ECOLGICA
Los escritorios virtuales almacenados en el servidor central son una alternativa
ecolgica a los PC tradicionales. Un estudio realizado en 2008 por The
Climate Group indica que los PC consumen alrededor de tres veces ms
energa que el centro de datos. Uno de los mayores beneficios de la
virtualizacin de servidores es el ahorro de energa que se produce cuando
varios servidores a baja utilizacin ejecutando aplicaciones se combinan en
una nica pieza fsica de hardware.
e)
VENTAJAS
El modelo de virtualizacin de escritorios ofrece ventajas palpables sobre la
arquitectura tradicional de disponer de un PC completo en el puesto de trabajo de
cada usuario, con su propio sistema operativo, aplicaciones y necesidad de gestin
(antivirus, parches, instalacin de aplicaciones, reparaciones, etc). El precio de
adquisicin del hardware tambin se puede reducir, ya que aunque un equipo que
pueda utilizarse como servidor de escritorios tiene un coste ms alto que un PC
ordinario puede dar servicio a varias decenas de usuarios y su potencia se
aprovecha mejor al ser un recurso compartido. Adicionalmente se aumenta la
seguridad de los datos, ya que es fcil realizar backup de toda la informacin en el
centro de datos.
Las principales ventajas son las siguientes:
3.11. DESVENTAJAS
Los usuarios pierden autonoma sobre sus equipos, por lo que pueden
presentarse ciertas reticencias si estn acostumbrados a instalar aplicaciones y
almacenar datos privados (No puedo pasar las fotos a mi computador)
3.12.
CAPITULO IV
VIRTUALBOX
4.1.
VirtualBox
VirtualBox es un programa que permite crear mquinas virtuales. Originalmente fue
desarrollado por la empresa Innotek, que actualmente es propiedad de la empresa
Sun.
VirtualBox puede ejecutarse en multitud de sistemas operativos anfitriones como,
por ejemplo, Windows, OS X, Linux y Solaris. La lista completa de sistemas
operativos
husped
con
soporte
http://www.VirtualBox.org/wiki/Guest_OSes
se
e
puede
incluye,
entre
consultar
otros,
en:
Linux,
LICENCIAS DE VIRTUALBOX
Actualmente existen dos versiones del programa VirtualBox: VirtualBox versin
propietaria y VirtualBox Open Source Edition, llamada VirtualBox OSE.
La versin propietaria se distribuye como un programa binario ejecutable con una
licencia comercial que es gratuita para uso personal, educativo o de evaluacin
segn
se
recoge
en
la
documentacin
de
licencia
en
http://www.virtualbox.org/wiki/Licensing_FAQ.
La versin privada se puede descargar desde http://www.VirtualBox.org/. La versin
Open Source de VirtualBox se distribuye conforme a la licencia GPL. Esta versin
libre es equivalente a la versin privada, pero algunas funciones de la versin
privada no estn presentes en la versin OSE. Por ejemplo, la versin libre no
implementa el controlador USB ni el SATA. La versin libre viene incluida en
Ubuntu Linux. Los binarios para Windows se pueden descargar desde
http://vboxwin32.sourceforge.net/, pero no se actualizan tan rpidamente como la
versin propietaria.
4.3.
TCNICAS DE VIRTUALIZACIN
VirtualBox permite que las instrucciones de la mquina virtual se ejecuten en el
procesador de la mquina real, excepto aquellas que puedan interferir en el
funcionamiento de la mquina real. Por ejemplo, cuando la mquina virtual ejecuta
instrucciones que escriben informacin en el disco duro, el programa VirtualBox
toma el control de las instrucciones y realiza la escritura en un disco virtual que,
generalmente, es un archivo.
Para realizar el proceso de virtualizacin, VirtualBox utiliza dos tipos de tcnicas:
tcnicas por software y tcnicas por hardware:
a) Virtualizacin por software
Las tcnicas de virtualizacin por software posibilitan la virtualizacin en todo
tipo de PC, antiguos y nuevos, pero las mquinas virtuales son lentas y necesita
de ms tiempo de microprocesador.
b) Virtualizacin por hardware
Las tcnicas de virtualizacin por hardware aceleran la ejecucin del husped,
pero slo funcionan con microprocesadores modernos. En el caso de
microprocesadores Intel, la virtualizacin por hardware se denomina VT-x y en
el caso de AMD, se denomina AMD-V. En la mayora de computadores, la
virtualizacin por hardware se debe habilitar en la BIOS.
Como desventaja, en este modo, los comandos que envan paquetes ICMP como
ping o traceroute pueden no funcionar correctamente y, en principio, la mquina
virtual no es accesible desde Internet.
Adaptador puente (Bridge): en este modo, se crea una tarjeta de red virtual en
el anfitrin que intercepta el trfico de red y puede inyectar paquetes en la red,
de manera que el husped se configura como si estuviera conectado por un cable
a la tarjeta de red virtual del anfitrin.
Red Interna: en este modo, se crea una red virtual visible entre las mquinas
virtuales, pero invisible al anfitrin o a mquinas externas a la red.
4.5.
INSTALACIN DE VIRTUALBOX
a) INSTALACIN DE VIRTUALBOX EN WINDOWS
Despus de descargar el programa en formato binario, ejecute el fichero
ejecutable con un doble clic.
Figura 28.
Lea y acepte la licencia marcando la opcin I accept the terms in the License
Agreement.
Figura 29.
Seleccione la ruta del directorio donde se instalar el programa:
Figura 30.
Figura 31.
El siguiente aviso alerta de que la instalacin de VirtualBox desconectar el
computador temporalmente de la red. Para continuar la instalacin, pulse el
botn Yes y a continuacin el botn Install.
Figura 32.
Figura 33.
Pulse el botn Finish para acabar la instalacin:
Figura 34.
asignar
de forma
automtica
los
requisitos
Figura 35.
Seleccione el nombre de la mquina virtual, el tipo de sistema operativo husped
Linux y la versin Ubuntu . Pulse Siguiente para continuar.
Figura 36.
Seleccione 512 MB de memoria para el sistema operativo husped. Recuerde que la
cantidad asignada ser a cuenta de la memoria del sistema operativo anfitrin. Pulse
Siguiente para continuar.
Figura 37.
A continuacin, cree un fichero que ser el disco duro virtual del sistema operativo
husped. En este caso, asigne 20 GB al disco duro virtual . Pulse el botn Nuevo
para continuar.
Figura 38.
Un nuevo asistente aparecer para ayudar a crear el disco duro virtual. Pulse
Siguiente para continuar.
Figura 39.
El disco duro virtual puede ser de dos tipos:
Dynamic Expanded Storage: en este caso, el tamao del disco duro virtual
ocupa poco espacio y va creciendo dinmicamente hasta el lmite del tamao
asignado conforme crecen los ficheros del Sistema Operativo Husped. Este
mtodo tiene la ventaja de que el disco duro virtual ocupa el espacio necesario
en el disco duro y el tamao del fichero crece si se necesita. Como
inconveniente, la creacin de ficheros en el disco virtual es lenta.
Fixed Storage: en este caso, se crea un fichero del mismo tamao que el disco
duro virtual. Este mtodo tiene la ventaja de que el acceso al disco duro virtual
es rpido, pero como inconveniente, ocupa ms espacio.
Figura 40.
VirtualBox crea mquinas virtuales con soporte de USB 2.0, iSCSI, ethernet a
Gigabit y controladores SATA.
En Location, seleccione el nombre del fichero que contendr el disco duro virtual.
En el campo Size, marque 20 GiB como el tamao mximo del disco duro virtual.
Es recomendable no utilizar espacios en el campo Location. Utilice el smbolo de
subrayado o el guin para separar palabras
Figura 41.
Figura 42.
Ahora ya est configurado el disco duro virtual. Pulse Siguiente para continuar.
Figura 43.
Finalice el asistente de creacin de mquinas virtuales con la opcin Terminar.
Figura 44.
a)
Figura 45.
Como es la primera vez que se inicia la mquina virtual, se ejecutar un asistente
que ayudar a configurar el dispositivo que se utilizar para instalar el sistema
operativo husped. Para este ejemplo, seleccione una imagen en formato ISO del
CDROM de instalacin del sistema operativo Ubuntu. Pulse el botn en forma
de carpeta
Figura 46.
Pulse sobre el icono Agregar y navegue por el disco duro y seleccione el fichero
en formato ISO que contiene una copia del sistema operativo Ubuntu.
Figura 47.
Una vez seleccionado el fichero en formato ISO, pulse el botn Siguiente.
Figura 48.
Un fichero ISO es un archivo que, segn el estndar ISO 9660 de la
Organizacin Internacional para la Estandarizacin, almacena una imagen exacta
de un sistema de ficheros de un disco ptico como un CD o un DVD. El
asistente avisar que cuando se cierre la mquina virtual, el dispositivo de
arrancada se desmontar automticamente. Deber desmontar el dispositivo de
arrancada una vez instalado el sistema operativo para que la secuencia de
instalacin no se vuelva a ejecutar. Pulse el botn Terminar.
Figura 49.
A continuacin, el sistema operativo husped se instalar como si se tratase de
un sistema operativo real.
Figura 50.
4.7.
INSTALACIN
DE CONTROLADORES
DE
DISPOSITIVOS
EN
HUSPEDES
Despus de instalar el sistema operativo husped, se deben instalar una serie de
programas llamados drivers o controladores para interactuar con los perifricos
virtuales, como por ejemplo, la tarjeta de red virtual. Los controladores para las
mquinas virtuales vienen incluidos en un CDROM virtual que puede montarse en
el husped con la opcin Dispositivos ->Instalar Guest Additions (Aplicaciones del
husped).
a) INSTALACIN DE CONTROLADORES DE DISPOSITIVOS EN UN
HUSPED UBUNTU
En el caso de un husped Ubuntu, aparecer en el escritorio el CDROM virtual,
dentro del cual ejecutaremos el fichero autorun.sh:
Figura 51.
Seleccione la opcin Ejecutar en un terminal e introduzca la contrasea de
superusuario:
Figura 52.
Finalmente, apague la mquina husped. La prxima vez que inicie el sistema,
los controladores de dispositivo se ejecutaran automticamente.
b) INSTALACIN DE CONTROLADORES DE DISPOSITIVOS EN UN
HUSPED WINDOWS
La instalacin de los controladores en un husped Windows preguntar al
usuario si desea instalar los dispositivos virtuales. Pulse el botn Instalar
Figura 53.
4.8.
Figura 54.
Las diferentes configuraciones de dispositivos y carpetas se muestran en el panel
izquierdo y en el panel derecho se muestran las diferentes opciones organizadas en
pestaas. En la siguiente seccin se explicarn los parmetros de configuracin.
Figura 55.
a)
CONFIGURACIN GENERAL
Figura 56.
La configuracin del sistema se configura en las siguientes pestaas:
Bsico:
-
Avanzado:
-
Figura 57.
-
b)
Motherboard:
-
Processor:
-
Acceleration:
-
Figura 58.
c)
CONFIGURACIN DE LA PANTALLA
Video:
-
Figura 59.
d)
Figura 60.
Los discos se gestionan mediante el Manejador de Medios Virtuales pulsando el
tercer icono (Seleccionar disco duro). Mediante este gestor se puede crear un
nuevo disco, agregarlo en la lista de disponibles, eliminarlo o liberarlo. Esta
ltima opcin se refiere a desconectar el disco duro virtual de su husped
asociado.
Figura 61.
e)
Figura 62.
f)
Figura 63.
g)
Figura 64.
h)
CONFIGURACIN DE LA RED
Esta opcin permite configurar hasta cuatro adaptadores de red en el husped.
Las redes en las que se encuentran las mquinas virtuales son privadas e internas
e invisibles para el anfitrin.
Botn de MAC
tarjeta de red.
Figura 65.
i)
Figura 66.
j)
Figura 67.
k)
husped
Windows
como
la
unidad
W:,
ejecute:
net
use
\\vboxsvr\documentos2010
Para acceder a la carpeta desde un husped Linux y montarla en /mnt, ejecute:
mount -t vboxsf documentos2010 /mnt
Figura 68.
l)
w:
Una vez instalado el sistema operativo husped, Virtualbox permite gestionar las
siguientes opciones:
Men Mquina:
Figura 69.
-
Figura 70.
Figura 71.
4.9.
CASO
PRCTICO:
GENERACIN
DE
IMGENES
COMPRIMIDAS
Las imgenes dinmicas de discos virtuales crecen conforme se instalan
aplicaciones en el sistema operativo husped, pero la imagen dinmica no
decrece, ya que si se crea un fichero en la mquina virtual y despus se borra, el
sistema operativo marca el espacio donde estaba el fichero como utilizable, pero
no borra la informacin que haba.
El objetivo de la prctica consiste en comprimir tanto como sea posible un disco
virtual dinmico original.vdi de 20 Gib para poder enviarlo por la red de forma
rpida. Para ello, generaremos un disco duro virtual minimizado.vdi que
contendr slo los sectores utilizados del disco virtual original.vdi y, finalmente,
comprimiremos el fichero resultante con 7zip.
Figura 72.
A continuacin, con el botn Keep, brrelo de la lista de discos del
Manejador de medios, pero no lo elimine del disco duro.
Figura 73.
Para crear la nueva imagen compactada, si su husped es Windows, ejecute
desde la consola:
set path=%path%;%VBOX_INSTALL_PATH%
cd %HOMEPATH%\.VirtualBox\HardDisks
VboxManage clonehd original.vdi minimizado.vdi
Si su husped es Linux, ejecute:
cd ~\.VirtualBox\HardDisks
VboxManage clonehd original.vdi minimizado.vdi
Figura 74.
El programa permite generar un informe en HTML del hardware del computador
y de las pruebas de rendimiento mediante el icono Generate Report.