Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CERTIFICAN:
Unas breves lı́neas no son ni serán nunca suficientes para agradecer a las dos perso-
nas más importantes en mi vida, mis padres. Padres buenos hay muchos, pero buenos
padres sólo vosotros. Gracias.
A una persona muy especial, por haber sido y seguir siendo mi compañera de viaje
durante estos años, por animarme y comprenderme siempre. Gracias Judit.
Por último y no menos importante, gracias a todas esas personas que conocı́ y
compartieron conmigo todos estos años de facultad, hoy grandes amigos. Gracias haber
compartido y seguir compartiendo una parte de vosotros conmigo.
De verdad, gracias.
√
Virtualización
√
Escritorios
√
Linux
√
Universidade da Coruña
√
VDI
√
QVD
√
Open Source
Índice general
Página
1. Introducción 1
1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Planificación 5
2.4.1. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3. Contextualización 17
3.1. Virtualización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
i
ÍNDICE GENERAL ii
3.5.1. Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.5.2. Inconvenientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.6.6. Ulteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6.7. QVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5. Posibles alternativas 53
5.1. Ulteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.1. Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.2. Caracterı́sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.1.5. Soporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2. QVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.1. Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.2. Caracterı́sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.5. Soporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.3.1. Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
ÍNDICE GENERAL iv
5.3.2. Caracterı́sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3.4. Soporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6. Implantación 79
6.4.1. L7R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.4.2. HKD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.5. Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.6. Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7. Conclusiones 141
Bibliografı́a 154
Índice de figuras
Figura Página
vii
ÍNDICE DE FIGURAS viii
Tabla Página
x
ÍNDICE DE CUADROS xi
Capı́tulo 1
Introducción
Índice general
1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Estructura de la memoria . . . . . . . . . . . . . . . . . . . . . 3
1.1. Motivación
Durante décadas, los entornos corporativos se han desarrollado sobre una infraes-
tructura en la que cada usuario hacı́a uso de su propio equipo dedicado, con aplicaciones
propias y datos almacenados localmente. Los usuarios, normalmente eran administra-
dos desde un servidor en red, siendo el personal de gestión TI el encargado de mantener
todos estos equipos; licencias, actualizaciones y configuraciones prácticamente de for-
ma independiente. El continuo avance de las tecnologı́as y las necesidades cada vez
mayores por parte de los usuarios, impulsaron a las organizaciones a considerar op-
ciones informáticas más eficientes, más sencillas, autónomas y seguras. Nacen ası́ las
plataformas de Virtualización de Escritorios (Virtual Desktop Infraestructure).
1
1. Introducción 2
en la que actualmente ya se cuenta con una plataforma de este tipo para escritorios
Windows.
Ası́, con el objetivo de dar respuesta a las mencionadas necesidades de movilidad del
alumnado y del personal de investigación, y buscando un alto rendimiento y la optimiza-
ción de recursos, surge la idea de implantar una solución basada en escritorios virtuales
Linux, que proporcione la seguridad imprescindible en un entorno universitario que en
esencia tiende a ser vulnerable, y que además permita dar servicio a los innumerables
dispositivos móviles de los que se dispone actualmente conectándose desde diferentes
puntos de acceso. Con esta solución se aumenta la flexibilidad de los usuarios de la
comunidad universitaria de una forma segura y a su vez se mejora la eficiencia de los
equipos Linux ya distribuidos por los diferentes campus y facultades.
1.2. Objetivos
Dar una visión lo suficientemente amplia para analizar y seleccionar entre varias
plataformas de virtualización de escritorios existentes (tanto Open Source como
privativas). Se escogerá aquella que mejor se adapte a los requisitos necesarios
para la Universidade da Coruña.
1. Introducción 3
Relización del proyecto teniendo en cuenta siempre las posibles necesidades fu-
turas de eficiencia, alta disponibilidad y escalabilidad.
Planificación
Índice general
2.1. Metodologı́a de desarrollo . . . . . . . . . . . . . . . . . . . . . 6
2.2. Definición de tareas . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3. Estimacion de tareas . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4. Seguimiento del proyecto . . . . . . . . . . . . . . . . . . . . . . 11
2.4.1. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5. Estimación de costes . . . . . . . . . . . . . . . . . . . . . . . . 14
Este capı́tulo está dedicado a la planificación del proyecto, identificando todas las
actividades a llevar a cabo para alcanzar los objetivos descritos en la Sección 1.2, es-
timando todo el esfuerzo y la duración de cada una de ellas. De esta forma, se puede
conocer en cualquier momento si el proyecto sufre alguna desviación del plan inicial
previsto para poder aplicar las correciones oportunas. Como en cualquier proyecto real,
realizar una buena planificación será vital para lograr un trabajo rápido, eficiente y or-
ganizado, además de evitar problemas inesperados que causen retrasos en la realización
del proyecto.
5
2. Planificación 6
sistemas que impligue la implantación de una infraestructura, simplemente con unas pe-
queñas variaciones teóricas en la metodologı́a. A continuación se muestra la descripción
de cada una de las fases del ciclo PPDIOO [8] adaptado a este proyecto.
Fase de preparación
Fase de planificación
Fase de diseño
Fase de implementación
Fase de Operación
Fase de Optimización
Para la realización del proyecto y la estimación de las tareas, se tomó como base
una jornada laboral de 4h diarias de lunes a jueves, con la existencia de un pequeño
descanso y un parón quincenal por la época de exámenes finales. Aunque normalmente
este tipo de cuestiones no se tratan como tareas, en este caso se consideró oportuno
el tenerlas en cuenta para ası́ dar una visión más global y clara de la duración y la
influencia de dichos parones en el proyecto.
2.4.1. Problemas
A continuación se detallan las tareas que fueron objeto de problemas, ası́ como
también la explicación del problema y la resolución del mismo.
Tarea instalación: Es una de las tareas más largas y en la que más retrasos se
acumularon. Existieron aquı́ diversos tipos de problemas, algunos de gravedad y
otros caracterı́sticos de cualquier proyecto de sistemas. Los más importantes por
retraso acumulado fueron:
Esta sección se dedicará a tratar de estimar lo mejor posible los costes del desarrollo
de este proyecto, teniendo en cuenta que existen una serie de variables que dificulta
dicha tarea.
El proyecto ha sido desarrollado por una sola persona cuyo nivel profesional
podrı́a corresponder al de un ingeniero júnior.
2. Planificación 15
Tras estos condicionantes iniciales, el desglose de gastos para este proyecto se com-
pone únicamente de los recursos humanos utilizados en el proyecto. Dicho coste se
ha calculado teniendo en cuenta una jornada laboral media de 20h semanales para el
alumno y una duración de algo más de seis meses y medio (Ver seguimiento 2.4)
Tomando como base las tablas salariales del convenio TIC 2007-2009, se establece
un sueldo de ochocientos euros brutos mensuales a media jornada para un técnico de
grado superior.
Por lo tanto:
Coste del alumno: 800 euros durante 6.5 meses (+7 % SS) = 5564 euros brutos.
Por lo tanto:
2. Planificación 16
Cantidad Coste
6.5 meses/20h semanales 5564 euros
6.5 meses/3h semanales 1170 euros
6.5 meses/1h semanal 318.5 euros
TOTAL: 7052.5 euros
Contextualización
Índice general
3.1. Virtualización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.1. Conceptos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2. Un poco de historia . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3. Tipos de virtualización . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.1. Virtualización de plataforma . . . . . . . . . . . . . . . . . . . . 26
3.3.2. Virtualización de recursos . . . . . . . . . . . . . . . . . . . . . . 28
3.3.3. Virtualización de aplicaciones . . . . . . . . . . . . . . . . . . . . 30
3.3.4. Virtualización de biblioteca (API) . . . . . . . . . . . . . . . . . 30
3.3.5. Virtualización de escritorios . . . . . . . . . . . . . . . . . . . . . 30
3.4. Virtualización de escritorios . . . . . . . . . . . . . . . . . . . . 31
3.4.1. Conceptos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.5. Ventajas e Inconvenientes . . . . . . . . . . . . . . . . . . . . . 34
3.5.1. Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.5.2. Inconvenientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.6. Soluciones en el mercado actual . . . . . . . . . . . . . . . . . . 42
3.6.1. VMware Horizon View . . . . . . . . . . . . . . . . . . . . . . . . 43
3.6.2. Microsoft VDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.6.3. Citrix XenDesktop . . . . . . . . . . . . . . . . . . . . . . . . . . 43
17
3. Contextualización 18
A grandes rasgos, una máquina virtual es un software que simula una computadora
y que puede ejecutar programas como si fuese un ordenador real. Una caracterı́stica
3. Contextualización 19
esencial de las máquinas virtuales es que los procesos que ejecutan están limitados por
los recursos y abstracciones de la máquina fı́sica subyacente. En la actualidad es muy
importante distinguir entre dos contextos en los que se ubica el concepto de máqui-
na virtual. Según las caracterı́sticas y la funcionalidad se puede hablar de máquinas
virtuales hardware o de sistema o de máquinas virtuales de proceso o de aplicación.
3.1.1.2. Hipervisor
A grandes rasgos, se puede definir un hipervisor [9] como un programa software que
permite que diferentes sistemas operativos compartan recursos alojados bajo el mismo
hardware, es decir, es un gestor de máquinas virtuales (Virtual Machine Manager ).
De esta forma, aunque aparentemente cada máquina virtual utiliza para sı́ misma los
3. Contextualización 21
recursos del host “anfitrión”, en realidad es el hipervisor el que controla dichos recursos
y los distribuye entre las máquinas virtuales según sus necesidades y sin que interfieran
entre ellos. Se pueden diferenciar dos tipos de hipervisores en función de su arquitectura:
Hipervisor tipo II: Se conoce también como hipervisor alojado o “hosted”. Este
tipo de hipervisores requieren ser instalados sobre un sistema operativo previo.
Es la solución más conocida a nivel usuario con programas como VirtualBox o
VMware Workstation.
1
la denominación bare-metal hace referencia a la instalación sobre el “metal desnudo”, es
decir, instalación del software hipervisor directamente sobre el hardware como si de un sistema
operativo se tratase
3. Contextualización 22
Figura 3.4: Parte frontal del IBM 7040 empleado como base para el primer sistema
de virtualización
Aparece poco tiempo después el sistema operativo CP-40 de también de IBM, con-
siderado el primer sistema que usa técnicas de virtualización completa, entendiendo
como tal un entorno de ejecución de máquinas virtuales que soportaba que otros opera-
tivos pudiesen ser instalados y empleados como si de una máquina fı́sica se tratase. Se
puede añadir “a modo de curiosidad” que el sistema operativo CP-40 soportaba hasta
14 máquinas virtuales ejecutándose simultáneamente.
El CP-40 pronto fue re-implementado como CP-67 para el nuevo sistema de IBM, el
IBM System/360-67 (Figura 3.5), una máquina fabricada en 1966 que incluı́a una tabla
hardware con traducción de páginas para la memoria virtual además de otra serie de
caracterı́sticas que permitı́a la virtualización de todas las tareas y procesos del kernel,
como la E/S o las interrupciones.
3. Contextualización 24
Será en 1972 cuando Robert Goldberg asienta la base teórica de una arquitectu-
ra orientada a sistemas virtuales y en ese mismo año IBM introduce en el mercado
el sistema operativo VM/370 (siendo una re-implementación del CP/CMS), empleado
en el sistema mainframe IBM System 370/Advanced Function (En la Figura 3.6 se
puede apreciar una imagen del sistema), diseñado, al igual que el CP/CMS, para eje-
cutar varios sistemas operativos al mismo tiempo, bajo la supervisión de un programa
(hipervisor). Esta idea fue la predominante en el mercado durante años apareciendo
diferentes mainframes que mejoraron a este modelo de referencia. Son estos últimos
modelos y operativos los que gozaron de una pronta aceptación y desarrollo por parte
de la comunidad empresarial, militar y universitaria.
3. Contextualización 25
Poco tiempo más tarde se producirı́an una serie de enfrentamientos entre la vir-
tualización y el procesamiento por lotes, provocadas por las necesidades de la época,
saliendo completamente fortalecido este último. Esto trajo consigo una marcha atrás de
las máquinas virtuales de igual manera que le ocurrió a los sistemas operativos durante
años y no será hasta mediados de la década de los 90 hasta que empresas como VMware
Inc. empiezan a interesarse de nuevo por la tecnologı́a comenzando investigaciones y
desarrollos en este campo. Es a finales de los 90 cuando aparece su primera versión
comercial bajo el nombre de “VMware Virtual Platform”, basada en las investigaciones
anteriores.
Hoy en dı́a, la virtualización es uno de los puntos calientes del sector informático a
nivel mundial. Cada vez más las empresas virtualizan a prácticamente todos los niveles
sus servicios y lo más sorprendente de todo es que se trata de una tecnologı́a de hace
casi medio siglo, no explotada hasta ahora en ninguno de sus ámbitos más consolidados
en la actualidad: la virtualización de servidores y la virtualización de escritorios.
La virtualización separa de forma lógica los servicios y los recursos (fı́sicos), que
realmente ofrecen y proporcionan ese servicio. Dicho recurso puede ser individual (al-
macenamiento, red, etc) o una plataforma completa (servidor) y es ası́ como surgen los
diferentes modelos de virtualización [11].
operativos invitados colaboren con él. Este método tiene todas las ventajas de la
paravirtualización, con el añadido de que no es necesaria ninguna modificación
en los sistemas operativos virtualizados. La única restricción es que estos últimos
deben soportar la arquitectura de hardware subyacente. Dentro de esta categorı́a
se pueden encontrar algunas de las soluciones más importantes del mercado como
VMware Server, Microsoft Hyper-V, Oracle VM, etc. En la Figura 3.7 se puede
ver una comparativa de esta arquitectura con respecto a la paravirtualización. [11]
salida. Los ejemplos más representativos de este paradigma de virtualización son el uso
de memoria virtual, los sistemas RAID (Redundant Array of Independent Disks), LVM
(Logical Volume Manager ) o la virtualización de red. En función de la abstracción y la
tecnologı́a se pueden clasificar a su vez en varios subtipos:
Los ejemplos destacados y conocidos en este grupo son Microsoft App-V, Citrix
XenApp o VMware Thinapp. [11]
Esta técnica, permite que múltiples máquinas virtuales, con sistemas operativos he-
terogéneos entre sı́, funcionen aisladamente unas de otras dentro de una misma máquina
fı́sica. Como es evidente, cada máquina virtual posee su propio hardware virtual (me-
moria RAM, disco duro, procesador, CPU, tarjeta de red, etc) sobre el cual se ejecuta
un sistema operativo con sus correspondientes aplicativos de la misma manera que lo
harı́an como si se tratase de un equipo convencional. La idea básica de esta arquitectura
se ejemplifica en la Figura 3.8.
3. Contextualización 32
máquianas virtuales.
Figura 3.9: Equipo thin client Dell Wyse, usados en la infraestructura actual de
la UDC para la conexión con escritorios Windows
Una vez realizado un recorrido completo por los conceptos básicos de la virtuali-
zación, su historia y sus diferentes tipos se pasa ya a centrar toda la atención en la
materia que trata este trabajo: la virtualización de escritorios. Es por ello que en este
apartado se buscará y revisará el porqué hoy en dı́a la tecnologı́a VDI ha cobrado tanta
importancia dentro del sector empresarial hasta llegar a ser uno de los sectores punteros
en cuanto a su uso y proyección.
Para ello, es fundamental estudiar y analizar todas las razones y causas que han
motivado este auge ası́ como también los posibles problemas o desventajas que este tipo
de infraestructuras pueden tener. Si bien es cierto, que aunque muchas de ellas serán
aplicables a todos los ámbitos, es muy importante antes de la realización de cualquier
proyecto barajar todas las ventajas y desventajas en particular, pues muchas veces lo
que para un ámbito u organización puede ser favorable para otros puede ser un gran
3. Contextualización 35
problema.
3.5.1. Ventajas
Como es lógico, serán mayorı́a, pues en caso contrario su implantación estarı́a caren-
te de sentido. A continuación se enumeran algunas de sus caracterı́sticas más importan-
tes muchas de ellas comunes a cualquier otro tipo de infraestructura de virtualización
y no exclusivamente propias de VDI.
Es muy habitual que muchos de los servidores ubicados en Data Centers de or-
ganizaciones estén utilizando una pequeña parte de su potencia total de computación
(entre un 15 % y 20 % en muchos casos), lo que conduce a un desperdicio considerable
del hardware disponible.
Se trata de una ventaja derivada en gran parte de la anterior, pues realmente, una
lleva a la otra. Hasta hace años, los recursos y costes energéticos eran totalmente asu-
3. Contextualización 36
mibles sin dificultad por cualquier organización, pero desde hace un tiempo, todas las
empresas comenzaron a considerar la escasez y encarecimiento de la energı́a, surgiendo
de este modo la necesidad de buscar alternativas para aumentar la eficiencia energéti-
ca de sus infraestructuras. Es decir, tratar en la medida de lo posible de reducir la
dependencia energética.
Ante esta situación, y con la posibilidad de aglutinar varios servicios dentro del
mismo hardware, se evitan los costes de la ampliación de espacio del centro de datos. [11]
Todo el mundo sabe que las tareas de administración de sistemas pueden llegar a
ser intensas y laboriosas, además de que en una gran mayorı́a de los casos los adminis-
tradores de sistemas deben estar ubicados junto a los servidores de los centros de datos,
ya que en ocasiones es probable que se necesite acceso fı́sico al hardware para realizar
ciertas operaciones tanto de substitución de componentes, como de monitorización.
tralizada de todas sus actividades (lo que reducirá los costes de mantenimiento), como
puede ser la provisión de máquinas virtuales de forma automática (gracias a técnicas
de clonación de máquinas o las virtual appliances4 ), el proceso de copia de seguridad o
la restauración de las mismas. Desaparecen también muchas de las labores de adminis-
tración que antes eran fı́sicas, ya que los sistemas administrados pasan a ser instancias
de máquinas virtuales.
Es importante remarcar aquı́ (dada la importancia de este punto) que por norma
general, el número de máquinas (virtuales o no) de las que es responsable un adminis-
trador en una organización siempre será el mismo, por lo que es fundamental de cara
a su trabajo, mantener la infraestructura lo más independiente posible de los sistemas
fı́sicos, algo que se consigue con la virtualización de escritorios. [11]
3.5.1.7. Seguridad
La virtualización de escritorios hace que todos los datos de los usuarios de los
escritorios, y por lo tanto de las organizaciones, se almacenen de forma centralizada en
los servidores y absolutamente nada a nivel local. De este modo, el único punto de fallo
4
Instancias de máquinas virtuales ya preconfiguradas
3. Contextualización 38
pasa a ser el servidor, mientras que en una arquitectura convencional se puede producir
la pérdida o robo de datos o fallos de seguridad en cualquier ordenador.
3.5.1.9. Escalabilidad
con el sistema necesario, lo que la hace una solución ideal y simple para casos en los
cuales es necesario continuar empleando software antiguo o heredado.
3.5.2. Inconvenientes
Aunque todas las empresas que ofrecen soluciones VDI trabajan diariamente en
tratar de aumentar el rendimiento, como es normal, la ejecución de una máquina vir-
tual no ofrece (y es posiblemente nunca ofrecerá) un rendimiento igual o superior a la
ejecución totalmente equivalente sobre la máquina fı́sica.
3. Contextualización 40
Por otro lado se encuentra la elección del sistema operativo anfitrión, algo muy
importante también, pues de él colgará el control de una serie de máquinas virtuales
(estabilidad y seguridad). [11]
Ventajas Inconvenientes
Aprovechamiento de hardware Pérdida de rendimiento
Eficiencia energética Punto único de fallo
Administración simplificada Aceleración 3D
Ahorro de espacio Dependencia de la solución
Compatibilidad hacia atrás Dependencia del anfitrión
Alta disponibilidad Hardware soportado
Recuperación ante fallos Punto único de fallos
Escalabilidad Incremento complejidad
Consolidación de servidores Servidor compartido
Reducción de costes Alto desembolso inicial
Seguridad y aislamiento -
Backups -
Aprovisionamiento de máquinas -
Reducción servidores fı́sicos -
Clonación de máquinas -
Personalización y flexibilidad -
Automatización simple -
Cuadro 3.1: Tabla resumen de las ventajas e inconvenientes que proporciona una
infraestructura de escritorios virtuales VDI
Sus primeras dos versiones (2.0.0 y 2.1.0) eran conocidas bajo el nombre de VMware
VDM posteriormente renombradas a VMware View y no siendo hasta su última versión
cuando se le da el nombre de VMware Horizon View.
Es las solución ofrecida por Citrix para la pequeña y mediana empresa. La idea
original, fue desarrollada por la empresa Kaviza, pero en Mayo de 2011 es adquirida
por Citrix Systems Inc, la cual se hace cargo del proyecto.
3.6.6. Ulteo
Ulteo Open Virtual Desktop nace en el 2007 como una solución de virtualización
de escritorios y aplicaciones siguiendo los principios del código abierto. Se trata de
una solución flexible por soportar tanto Windows como Linux, caracterı́stica que la
hará ideal para ser analizada de cara a una posible implantación en la Universidade da
Coruña. [12]
3. Contextualización 45
3.6.7. QVD
Por último, otro de las soluciones que serán analizadas en detalle en este proyecto
como una posible alternativa. Red Hat Enterprise Virtualization for Desktops es la
solución VDI que ofrece la conocida empresa Red Hat. Destaca por ofrecer un hipervisor
KVM (al igual que QVD) y emplear un procolo de comunicación con el escritorio propio,
Spice 7 . Como es lógico por parte de Red Hat, ofrece sólo virtualización para escritorios
Linux. Será analizada en detalle en posteriores apartados. [14]
7
the Simple Protocol for Independent Computing Environments, es un sistema de comunica-
ción de pantalla remota para sistemas de virtualización.
Capı́tulo 4
Virtualización de escritorios en la
UDC
Índice general
4.1. Situación de partida . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2. Usuarios y personal . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.3. Situación actual . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.3.1. ¿Por qué VDI? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3.2. Infraestructura VDI . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3.3. ¿Por qué VDI Linux? . . . . . . . . . . . . . . . . . . . . . . . . 51
Por ello, este capı́tulo será dedicado a tratar de forma breve y especı́fica las tecno-
logı́as actuales en la UDCası́ como también realizar una explicación de la situación de
partida y de las necesidades actuales, dentro de las cuales se encuentra la virtualización
de escritorios Linux.
46
4. Virtualización de escritorios en la UDC 47
Aunque a primera vista pueda parecer que el número de usuarios a los que se da
servicio en la universidad no sea tan elevado, lo cierto es que los números en su conjunto
son significativos y claramente superiores incluso al de grandes empresas del sector TIC:
4. Virtualización de escritorios en la UDC 48
Cuenta con un estudiantado medio anual de veinticinco mil alumnos, con dife-
rentes exigencias y necesidades.
El personal docente roza las mil quinientas personas, que incluye tanto al profe-
sorado como al personal investigador (PDI).
Infraescructura Hardware
• Para administración:
Infraescructura Software
Alternativas
Índice general
5.1. Ulteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.1. Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.2. Caracterı́sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.1.3. Comparativa de versiones . . . . . . . . . . . . . . . . . . . . . . 57
5.1.4. Requisitos técnicos . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.1.5. Soporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2. QVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.1. Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.2. Caracterı́sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.2.3. Comparativa de versiones . . . . . . . . . . . . . . . . . . . . . . 63
5.2.4. Requisitos técnicos . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2.5. Soporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.3. Red Hat Enterprise Virtualization: Spice . . . . . . . . . . . . 67
5.3.1. Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3.2. Caracterı́sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3.3. Requisitos técnicos . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3.4. Soporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4. Comparativa de productos . . . . . . . . . . . . . . . . . . . . . 70
53
5. Posibles alternativas 54
Son muchas las soluciones existentes en el mercado para llevar a cabo la implanta-
ción de un sistema de virtualización de escritorios Linux. Es en este momento donde
se presenta la difı́cil tarea de seleccionar y decidir cuál será la adecuada de cara a la
Universidade da Coruña.
5.1. Ulteo
5.1.1. Descripción
Ulteo Open Virtual Desktop (OVD) es un proyecto que nace en el año 2007 bajo la
entidad comercial de Ulteo SAS. Se trata de una aplicación o plataforma de virtuali-
zación de escritorios basada en GNU/Linux que nace con el objetivo de proporcionar
un sistema no propietario, de código abierto, seguro y escalable para la implatación de
escritorios virtuales.
5.1.2. Caracterı́sticas
Caracterı́sticas de la plataforma
Caracterı́sticas entregables
2
Local Area Network o red de área local es una red que se emplea para interconectar equipos
de una misma compañı́a u organización.
3
Una Wide Area Network es una red que abarca varias ubicaciones fı́sicas, proveyendo servi-
cio a una zona, un paı́s o incluso a varios continentes. Se trata básicamente de una red encargada
de unir varias redes de área local.
4
Una VPN o “Virtual Private Network” es una tecnologı́a de red que permite una exten-
sión segura de una red local sobre una red pública insegura o no controlada. Permite enviar
información por una red pública con todas las funcionalidades de una red privada
5. Posibles alternativas 56
Carecterı́sticas de mantenimiento
Ulteo presenta dos posibles soluciones o versiones: “Ulteo OVD Community Edi-
tion” o “Ulteo OVD Premium Edition”, enfocadas hacia entornos diferentes. [12]
En la Tabla 5.1 se ofrece una comparativa de versiones. Dicha tabla está compuesta
por una serie de caracterı́sticas, una descripción de las mismas y la indicación de en
qué versiones está disponible dicha caracterı́stica.
5.1.5. Soporte
5.2. QVD
5.2.1. Descripción
QVD es un proyecto open-source (código abierto) del grupo Quindel Group y que
proporciona una infraestructura para la implantación de escritorios virtuales Linux en
una organización.
5.2.2. Caracterı́sticas
Clientes: QVD presenta clientes software para Linux y Windows, al igual que
un cliente Android que actualmente se encuentra en desarollo.
Simplemente ejecutando alguno de estos clientes, el usuario puede tener acceso a
su propio escritorio virtual.
Acceso remoto: QVD hace uso de una versión modificada de NX7 , lo que permi-
te reducir la carga de ancho de banda. Ofrece distintos algoritmos de compresión
en función de la configuración del usuario (usuarios con alto o bajo ancho de
banda).
Cliente ligero QVD: La solución QVD proporciona un cliente ligero que permi-
te que los usuarios experimenten una relación más transparente con los escritorios
virtuales. Es decir, el cliente ligero software de QVD, hace las funciones de siste-
ma operativo anfitrión, de tal forma que le presenta únicamente al usuario una
ventana de login tan pronto como inicia el ordenador.
6
SSH o “Secure Shell” es un protocolo para acceder remotamente a una máquina a través
de la red. Permite manejar remotamente una máquina a través del intérprete de comandos.
7
Software que realiza conexiones remotas X11 muy rápidas, lo que permite a los usuarios
acceder a escritorios remotos Linux o Unix bajo conexiones lentas. Es un protocolo que propor-
ciona una alta eficiencia en la conexión gracias a una correcta compresión.
5. Posibles alternativas 63
QVD Enterprise Edition: Versión más completa y como es lógico, más cara.
Está destinada a organizaciones relativamente grandes o con infraestructuras
crı́ticas que requieren unas necesidades altamente funcionales y con un soporte
completo.
5.2.5. Soporte
QVD ofrece un soporte prioritario para los clientes suscritos a alguna de sus ver-
siones de pago. Aunque acepta envı́os de error y peticiones de mejora por parte de los
usuarios de las versiones gratuitas, la solución QVD ofrece a sus usuarios suscritos una
gran preferencia en el caso de errores, de tal forma que los desarrolladores e ingenieros
se ocupan directamente de cualquier problema.
QVD ofrece dos sistemas de soporte distintos en en función del plan contratado. Uno
de ellos es el sistema “Siguiente-Dı́a-Laborable” (8x5), es decir, ofrecido en la versión de
“Online Suscription” que proporciona una respuesta rápida pero dentro de los cinco dı́as
laborables de una semana. El otro de los sistemas de soporte es el 24x7x365 (ofrecido en
la versión “Enterprise Edition”), en el cual se ofrece solución a incidencias a cualquier
hora del dı́a durante los siete dı́as de la semana.
5.3.1. Descripción
La empresa Red Hat se diferencia de las dos anteriores, por tanto, en que además de
aportar una solución a la infraestructura de escritorios, esta utiliza su propio protocolo
(SPICE). [14]
5.3.2. Caracterı́sticas
Al igual que se realizó con sus dos competidores anteriores, se muestran aquı́ las
caracterı́sticas fundamentales de la solución de Red Hat. Es importante remarcar que
Red Hat Enterprise Virtualization comprende todos los productos y caracterı́sticas, es
decir, no existen diferentes versiones, por lo que para esta solución no tiene sentido la
realización de la tabla comparativa de versiones. [14]
Rendimiento: La empresa Red Hat ofrece como una de sus principales carac-
terı́sticas un gran rendimiento y una gran robustez de sus sistemas. Ofrece un
alto rendimiento en operaciones E/S12 , lo que la hace adecuada para entornos
de grandes cargas de trabajo (P.ej: Entornos con grandes bases de datos como
10
Un hipervisor o monitor de máquina virtual es una plataforma que permite aplicar diver-
sas técnicas de control de virtualización para utilizar, al mismo tiempo, diferentes sistemas
operativos, en un mismo ordenador.
11
Se trata de una plataforma libre de gestión y mantenimiento vı́a aplicación web de infraes-
tructuras de virtualización.
12
Operaciones de entrada-salida.
5. Posibles alternativas 68
Flexibilidad: Al igual que sus dos competidores, otra de sus caracterı́sticas fun-
damentales es su flexibilidad propiciada fundamentalmente por ser código abierto,
lo que permite una amplia personalización. Además la solución Red Hat posibi-
lita la virtualización tanto de escritorios Linux como Windows y está preparada
para trabajar también con aplicaciones empresariales como Oracle, SAP y SAS.
Por último, también ofrece una gran flexibilidad en cuanto a integración con
servicios externos, ya que proporciona una serie de plug-ins que permiten una
integración perfecta con herramientas de terceros.
Desarrollo: La solución Red Hat proporciona una API Restful, que permite
la programación propia de utilidades o aplicaciones para la infraestructura. Es
también completamente integrable con OpenStack 14 .
5.3.4. Soporte
Red Hat presenta dos tipos de soporte en función del plan contratado: Bussiness-
hour y 24x7x365. Como es evidente, el primero de ellos es un soporte en horas labora-
bles, es decir, durante 8 horas diarias los dı́as de semana, mientras que la segunda de
las opciones ofrece un soporte completo durante todo el año.
Por otra parte, es importante destacar que para implantar una infraestructura de
virtualización Red Hat, es necesaria también una suscripción de Linux Red Hat (Red Hat
Enterprise Linux ) en cada servidor de la infraestructura y cada una de estas licencias
es vendida de forma separada a la licencia de la infraestructura (Red Hat Enterprise
Virtualization), lo que incrementa los costes en caso de no disponer ya de licencias o
servidores Red Hat en el data center. [14]
5. Posibles alternativas 70
Una vez realizado el análisis pormenorizado de cada una de las posibles alternativas
es necesario realizar una exhaustiva comparativa de las mismas poniendo especial aten-
ción en aquellas caracterı́sticas indispensables, por ser necesarias en el entorno en el que
se realizará la implantación de la infraestructura. Por otra parte, como es evidente, se
omitirán en la comparativa aquellas caracterı́sticas innatas de los sistemas analizados
o aquellas que pueden darse por supuestas (P.ej: Compatibilidad con escritorios Linux
es una caracterı́stica evidente y alta disponibilidad, alta densidad y balanceo de carga
son caracterı́sticas que todas las soluciones poseen).
Teniendo en mente una posible ampliación del proyecto de cara a un futuro cercano,
se realizará tanto la comparativa de las versiones más completas, como de las versiones
gratuitas. De este modo, se podrá tomar una decisión final objetiva y siempre conside-
rando la posibilidad de que en un futuro el sistema sea migrado hacia una versión más
completa.
Tabla 5.3: En la primera de las tablas se ofrece una comparativa de los distintos
clientes de acceso al escritorio virtual. Se trata de una caracterı́stica que ofrece
movilidad y flexibilidad al usuario y es por ello que debe ser considerada.
Tabla 5.5: La tercera de las tablas ofrece la comparación entre los distintos tipos
de soporte, ası́ como sus caracterı́sticas.
16
En fase beta.
17
No dispone de aplicación oficial, aunque si hay una aplicación compatible con el protocolo
SPICE: aSPICE.
5. Posibles alternativas 72
Los puntos comparativos serán análogos a los del punto anterior, por ser los más
importantes. Se muestran en las Tablas 5.7, 5.8 y 5.9.
18
No disponible.
19
Precio por usuario y para la contratación de más de 5000 usuarios. Entre 2500 y 5000
usuarios el precio es 96 euros . Entre 1000 y 2500 el precio es 102 euros . Entre 500 y 1000
usuarios el precio es 108 euros y para menos de 500 usuarios 120 euros . Precios anuales y
durante el primer año. Se reducen significativamente en años posteriores.
20
Precio con soporte básico 8x5. El precio con el soporte 24x7x365 es de 1.499 dólares. Estos
precios son anuales y por cada Hypervisor Socket Pair contratado.
5. Posibles alternativas 74
21
En fase beta.
22
En fase beta.
23
En proyecto.
5. Posibles alternativas 75
Una vez analizados en detalle todos los puntos anteriores, llegó el momento decisivo
de tomar una decisión sobre la solución que se implantará en este proyecto piloto,
siempre teniendo en cuenta las perspectivas de ampliación del mismo en un futuro.
Aunque Ulteo fuese desde un primer momento una alternativa de muy posible im-
plantación, la carencia de clientes de acceso en sus versiones gratuitas hace que no sea
tan adecuada como QVD para el uso en la Universidad, pues esta última permite y
flexibiliza a los alumnos y personal el uso de los escritorios virtuales desde cualquier
dispositivo sin coste alguno, permitiendo seguir la filosofı́a BYOD (“Bring Your Own
Device”).
Bien es cierto, que QVD ofrece una interfaz web de administración con muchas
menos funcionalidades (muy básica), pero que se complementa a la perfección con una
serie de scripts de administración de fácil uso.
favorecer desde un inicio a los usuarios de los escritorios remotos en detrimento de una
administración un poco más complicada de los escritorios.
Capı́tulo 6
Implantación
Índice general
6.1. ¿Qué es QVD? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.2. Componentes principales . . . . . . . . . . . . . . . . . . . . . . 82
6.3. Componentes secundarios . . . . . . . . . . . . . . . . . . . . . 84
6.4. Componentes internos . . . . . . . . . . . . . . . . . . . . . . . 85
6.4.1. L7R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.4.2. HKD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.5. Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.6. Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.7. Tecnologı́as de virtualización . . . . . . . . . . . . . . . . . . . 93
6.7.1. Virtualización KVM . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.7.2. Virtualización LXC . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.8. Diseño del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.8.1. Selección de la tecnologı́a . . . . . . . . . . . . . . . . . . . . . . 96
6.8.2. Diseño de la arquitectura de QVD . . . . . . . . . . . . . . . . . 97
6.8.3. Diseño de la arquitectura de red . . . . . . . . . . . . . . . . . . 99
6.9. Implementación del sistema . . . . . . . . . . . . . . . . . . . . 102
6.9.1. Configuración de la base de datos . . . . . . . . . . . . . . . . . . 103
6.9.2. Configuración del servidor de administración . . . . . . . . . . . 109
79
6. Implantación 80
Para ello, se realizará un recorrido previo por la solución comercial QVD: des-
cripción, arquitectura y componentes para posteriormente dar paso a su instalación y
adaptación en la infraestructura de la UDC.
trabajan desde su máquina local (puede ser cualquier dispositivo: desde un ordenador
convencional hasta un teléfono móvil) todos los programas, aplicaciones, procesos y
datos son almacenados y ejecutados en un servidor, lo que trae consigo una serie de
ventajas [2]:
Los administradores tienen control total sobre las aplicaciones y datos que están
instaladas en los escritorios de los usuarios, facilitando de este modo las tareas
de backups, mejora continua de la seguridad o permitir cierto control sobre los
empleados.
En lo referente a las tecnologı́as empleadas por QVD, destaca por ser una de las
únicas soluciones VDI para Linux que ofrece la posibilidad de seleccionar la tecnologı́a
de virtualización a bajo nivel deseada: KVM o LXC[Apéndice B] permitiendo imple-
mentar cualquiera de las dos opciones, en función de las necesidades de la organización
o la preferencia deseada por los administradores.
Por otra parte, permite servir diferentes sistemas operativos que son cargados a
través de imágenes de disco independientes, en los nodos de la infraestructura de QVD,
creando ası́ un entorno totalmente personalizado para un usuario o un grupo de usua-
rios. Ofrece una flexibilidad total y bajo el control de los administradores, permitiendo
servir, por ejemplo, un Linux diferente (diferentes distribuciones y con paqueterı́a o
caracterı́sticas propias) a los distintos departamentos de una organización.
añade una seguridad adicional en el resto del proceso, enviando el tráfico cifrado me-
diante SSL y permitiendo ası́ acceder de forma segura desde cualquier localización y
desde cualquier dispositivo.
Además de esos componentes existen otros [3] que pese no ser completamente ne-
cesarios, están igualmente presentes en la práctica totalidad de las infraestructuras en
funcionamiento con un mı́nimo de usuarios. Dichos componentes se muestran en un
diagrama de ejemplo en la Figura 6.2.
virtuales (arranques, paradas, etc). Gestiona y monitoriza cada una de las VM’s,
siendo también el responsable de actualizar la información sobre el estado de las
máquinas en la base de datos. Gestiona las máquinas virtuales.
En la Figura 6.6 se muestra un diagrama completo en el que se introducen los
dos nuevos componentes descritos y las relaciones de estos con los componentes
descritos en las secciones anteriores.
6.4.1. L7R
El L7R, una vez recibe una petición de autenticación, debe comprobar la base de
datos de la infraestructura para determinar el modo de autenticación configurado. Si la
autenticación es a través de un mecanismo externo (como LDAP), deberá realizar los
pasos apropiados para autenticar al usuario, mientras que si la autenticación se realiza
6. Implantación 87
Una vez finalizado el proceso de autenticación, el L7R tiene que comprobar la lista
de máquinas virtuales o escritorios de los que dispone el usuario autenticado y responder
con dicha lista al cliente. El usuario deberá seleccionar la máquina virtual a la que se
desea conectar (si hay más de una).
Es labor del L7R el asegurarse de que las máquinas virtuales están disponibles y si
la máquina solicitada no se encuentra en ejecución en ninguno de los nodos, éste debe
iniciarla automáticamente en el nodo más apropiado (en función de la configuración
del balanceador de carga será más apropiado un nodo u otro). Una vez se encuentre
disponible la VM3 del usuario, el L7R establecerá la comunicación entre el usuario y
su máquina virtual a través del protocolo NX.
Por último, una vez el usuario está vinculado a su máquina, deberá actualizarse el
estado en la base de datos para indicar que un cliente está conectado, labor también
del demonio L7R.
Por otra parte, en entornos reales de balanceo de carga, el Layer-7 Router presenta
la capacidad de redirigir a un usuario al nodo en el que se encuentra en ejecución su
máquina virtual. Imaginando un entorno con un nodo A y otro nodo B, si un usuario
se conecta al nodo B, pero su VM se encuentra ya en ejecución en el nodo A, el L7R
redirigirá la conexión del usuario al nodo A. En el caso de no existir previamente la
VM en ejecución, se hace uso de un algoritmo de balanceo para determinar el nodo más
apropiado para iniciar la máquina virtual.
6.4.2. HKD
Estado Descripción
Máquina virtual parada. No se está ejecutando en ningún no-
Stopped
do servidor.
Señal de arranque recibida. HKD espera a tener los recursos
Starting 1
disponibles en los nodos servidor para proceder a su arranque.
La máquina virtual se está iniciando, pero el proceso de arran-
Starting 2
que no ha finalizado.
Máquina virtual en ejecución. Todos los servicios están levan-
Running
tados .
Señal de parada recibida. HKD espera a la respuesta de pa-
Stopping 1
rada por parte de la máquina virtual.
La máquina virtual respondió al proceso de parada y se está
Stopping 2
llevando a cabo el apagado.
La máquina virtual no responde. Se envı́a una señal de termi-
Zombie 1
nación (TERM).
La máquina virtual no responde. Se envı́a una señal de forzar
Zombie 2
terminación (KILL).
Cuadro 6.1: Tabla resumen de los posibles estados de una máquina virtual en una
infraestructura QVD
A mayores de las tareas descritas, el House Keep Daemon debe comprobar todo
el proceso de inicialización de la máquina virtual: arranque, conexión y configuración
de red y que el QVD Virtual Machine Agent[6.3] se encuentra en ejecución. Si existe
cualquier problema, HKD cambiará el estado de la máquina virtual a blocked y tras un
perı́odo de tiempo enviará una señal de terminación a la máquina. Los estados posibles
de una máquina virtual y su descripción se pueden encontrar en la Tabla 6.1.
6. Implantación 90
6.5. Objetos
Usuarios: Serán los beneficiarios del uso de los escritorios virtuales. Normal-
mente un usuario tendrá asignadas una o más máquinas virtuales (escritorios).
Hosts: Equipo o grupo de equipos hardware sobre los que se ejecutan las máqui-
nas virtuales.
Máquinas virtuales: Son las encargadas de correr los escritorios virtuales. Cada
máquina virtual tendrá asignada una OSF.
6.6. Arquitectura
Tomando como base el esquema de la Figura 6.5 y 6.6, en esta sección se procederá
a explicar la arquitectura tı́pica de una infraestructura QVD y cómo interactúan los
componentes descritos en las Secciones 6.2 y 6.3. Es importante destacar que se trata de
6. Implantación 91
una explicación a alto nivel y por lo tanto no abarcará muchos de los procesos internos
involucrados, que serán tratados más adelante con mayor detalle.
3. Una vez autenticado el usuario y conocidos los datos necesarios sobre la máquina
virtual, se negocian los parámetros para establecer una conexión segura a través
del protocolo NX. Cuando los datos sean confirmados el cliente estará preparado
para conectarse al escritorio virtual del usuario.
Tras describir los pasos en la comunicación entre los clientes y los servidores QVD,
6. Implantación 93
es ahora el turno de tratar los mensajes que se realizan entre el servidor o interfaz de
administración y el resto de componentes de la arquitectura de QVD.
Se trata, básicamente de un hipervisor que se ejecuta dentro del kernel (no es ne-
cesario modificar el kernel, ya que se trata simplemente de un módulo) de la máquina
Linux anfitriona [5]. De esta forma el KVM actúa como intermediario entre el anfi-
trión y la máquina virtual asegurando una total independencia entre ambos. Hospeda
las máquinas virtuales como procesos, por lo que cada máquina virtual podrá bene-
ficiarse de todas las caracterı́sticas del kernel de Linux5 , heredando los drivers y el
amplio soporte hardware de este con el único requisito de necesitar las extensiones para
virtualización Intel VT-x6 o AMD-V7 .
Las ventajas más destacables de este tipo de virtualización en un entorno QVD son,
en resumen:
Es Open Source
Destaca por no necesitar una gran cantidad de recursos para levantar un contenedor
LXC, ya que consumen menos recursos que una máquina KVM. Además de su ventaja
principal, existen otras importantes:
Es Open Source.
Manual técnico de QVD [3] más completo para una instalación de KVM y mayor
comunidad detrás de la tecnologı́a KVM.
Los sistemas operativos virtualizados sobre LXC deben ser compatibles con el
kernel del host anfitrión, pues es compartido con este. Mayor independencia en
las imágenes de los sistemas operativos a favor de KVM.
La selección de KVM como tecnologı́a de virtualización, por otra parte trae consigo
una pequeña pérdida de rendimiento con respecto a LXC, pero que puede ser fácilmente
suplida gracias a la potencia hardware de los equipos actuales.
Por una parte, al ser este proyecto carente de presupuesto, no existe la posibilidad de
compra de unos equipos nuevos y completamente dedicados para QVD, siendo necesario
reutilizar y emplear para la instalación inicial equipos fı́sicos en desuso y servidores
virtuales. Los equipos disponibles y sus caracterı́sticas se listan a continuación:
Dos servidores virtuales: VMware ESXi Virtual Servers. Memoria: 1GB RAM.
Dos servidores fı́sicos para los nodos QVD: Los servidores fı́sicos de mayor
potencia hardware serán los que alojarán los servidores de cómputo de QVD,
sobre los que se ejecutarán las máquinas virtuales y los demonios L7R y HKD
descritos en la Sección 6.4. La capacidad de escalabilidad de la infraestructura
se ve penalizada en este punto por falta de recursos a corto plazo, aunque nada
impide a largo plazo aumentar el número de nodos o realizar una simple migración
de estos nodos hacia unos nodos fı́sicos con mayor capacidad.
En la Figura 6.8 se muestra un diagrama del diseño inicial implementado para
este proyecto piloto, con las relaciones entre nodos.
6. Implantación 99
Servidor virtual
Servidor virtual
QVD
QVD
WAT
Database
Servidor físico
Servidor físico
QVD QVD
Node Node
WAN/LAN
La primera necesidad es una red o subred nueva (o hacer uso de una existente en la
6. Implantación 100
Además, los nodos de cómputo de QVD, hacen uso de un bridge 8 o puente de red
e interfaces virtuales para la conexión entre cada una de las máquinas virtuales que
corren en cada nodo, por lo que será necesaria otra red para alojar a las máquinas
virtuales en ejecución.
• Red: 10.10.10.0
• Gateway: 10.10.10.1
• Netmask: 255.255.255.0
Red de las máquinas virtuales: Alojará a todas las máquinas virtuales en eje-
cución de la infraestructura. Estará vinculada a la red de administración a través
del bridge y la interfaz de red virtual de los nodos. Es importante remarcar aquı́
que la red de las máquinas virtuales debe disponer de direcciones IP suficientes
para dar cobertura a la totalidad de usuarios de los escritorios virtuales (de ahı́
la utilización de una red con máscara /22), pues la única forma de dividir u or-
denar los usuarios es la asignación de rangos de IP diferentes a cada uno de los
grupos. Para el caso de este proyecto y a modo de ejemplo, si se desea clasificar
8
Dispositivo de conexión de redes que opera en la capa 2 (nivel de enlace) del modelo OSI.
Interconecta o divide una red en segmentos haciendo la transferencia de datos de una red a otra
con base en la dirección fı́sica de destino de cada paquete.
9
Por motivos evidentes de seguridad, las direcciones IP mostradas en el diagrama no son las
reales, pero totalmente válidas para la comprensión y explicación del diseño.
6. Implantación 101
• Red: 10.11.11.0
• Gateway: 10.11.11.1
• Netmask: 255.255.252.0
WAN
10.10.10.0/24
VM VM VM VM ... VM
10.11.11.0/22
WAN
Los pasos técnicos principales de instalación del servidor base de datos [3] se mues-
tran en sucesivos apartados.
6. Implantación 105
i f a c e l o i n e t loopback
auto l o
auto e t h 0
i f a c e eth0 i n e t s t a t i c
address 10.10.10.10
netmask 2 5 5 . 2 5 5 . 2 5 5 . 0
up r o u t e add d e f a u l t gw 1 0 . 1 0 . 1 0 . 1
dns−n a m e s e r v e r s 1 0 . 2 . 2 . 2 1 0 . 3 . 3 . 3
1. Añadir la clave pública de los paquetes de QVD al fichero de claves (como root).
$ apt−g e t update
$ apt−g e t i n s t a l l p e r l −qvd−db
6. Implantación 106
$ sudo su − p o s t g r e s
$ c r e a t e u s e r −SDRP qvd
Enter password new r o l e : p a s s
Enter i t a g a i n : p a s s
3. Creado un nuevo usuario Posgres, este ya puede ser asignado como propietario
de una base de datos. Es momento por tanto, de crear la base de datos de QVD
y asignar al usuario anteriormente creado (qvd ) como propietario de la misma.
$ c r e a t e d b −O qvd qvddb
$ cp −R / u s r / s h a r e /qvd/ c o n f i g / e t c /qvd
$ v i / e t c /qvd/ node . c o n f
#
# QVD Node C o n f i g u r a t i o n
#
12
Más información en: http://www.postgresql.org/docs/9.1/static/app-createuser.
html
6. Implantación 107
# Database c o n n e c t i o n i n f o r m a t i o n .
# d a t a b a s e . h o s t : where t h e QVD d a t a b a s e i s found
# d a t a b a s e . name : t h e name o f t h e QVD d a t a b a s e
# d a t a b a s e . u s e r : t h e u s e r a c c o u n t needed t o
connect
# d a t a b a s e . password : t h e password needed t o
connect
database . host = 1 0 . 1 0 . 1 0 . 1 0
d a t a b a s e . name = qvddb
d a t a b a s e . u s e r = qvd
d a t a b a s e . password = p a s s
l o g . f i l e n a m e = / var / l o g /qvd/qvd . l o g
l o g . l e v e l=INFO
La base de datos está sometida a accesos concurrentes por parte de los nodos que
conforman la infraestructura y por ello será necesario aplicar ciertas configuraciones
adicionales. Es un paso muy importante y si por cualquier motivo el estado de la base
de datos fuese inconsistente, provocarı́a un mal funcionamiento de la totalidad de la
infraestructura.
$ v i / e t c / p o s g r e s q l / 9 . 1 / main/ p o s g r e s q l . c o n f
6. Implantación 108
...
default transaction isolation = ’ serializable ’
...
$ v i / e t c / p o s g r e s q l / 9 . 1 / main/ p o s g r e s q l . c o n f
...
l i s t e n a d d r e s s e s = ’∗ ’
...
$ v i / e t c / p o s g r e s q l / 9 . 1 / main/ pg hba . c o n f
...
h o s t qvddb qvd 1 0 . 1 0 . 1 0 . 1 0 / 3 2 md5
h o s t qvddb qvd 1 0 . 1 0 . 1 0 . 1 1 / 3 2 md5
h o s t qvddb qvd 1 0 . 1 0 . 1 0 . 1 2 / 3 2 md5
h o s t qvddb qvd 1 0 . 1 0 . 1 0 . 1 3 / 3 2 md5
...
$ cd / u s r / l i b /qvd/ b i n
$ . / qvd−d e p l o y . p l
6. Implantación 109
Además de la interfaz web, también se instalan una serie de scripts que permiten
la realización de las mismas tareas a través de la consola de comandos. Esto puede
resultar muy útil para la elaboración de scripts personalizados o en caso de fallo del
servidor web. La instalación y configuración [3] se muestra a continuación.
i f a c e l o i n e t loopback
auto l o
auto e t h 0
i f a c e eth0 i n e t s t a t i c
address 10.10.10.11
netmask 2 5 5 . 2 5 5 . 2 5 5 . 0
up r o u t e add d e f a u l t gw 1 0 . 1 0 . 1 0 . 1
dns−n a m e s e r v e r s 1 0 . 2 . 2 . 2 1 0 . 3 . 3 . 3
3. Creación del fichero de configuración base de QVD que debe poseer cada uno
de los nodos. Es importante recordar que dicho fichero sirve para proporcionar
al nodo la información de acceso a la base de datos. Tanto el servidor de admi-
nistración como posteriormente el resto de nodos, deben incluir en este fichero
un campo “nodename” que debe coincidir con el nombre asignado a la máquina.
6. Implantación 110
Este campo será utilizado por la base de datos para ofrecer información sobre las
máquinas de la infraestructura.
$ mkdir / e t c /qvd
$ v i / e t c /qvd/ node . c o n f
#
# QVD Node C o n f i g u r a t i o n
#
# Name o f t h i s node i n QVD. U s u a l l y t h e machine ’ s
hostname .
nodename=v d i l i n u x −wat
# Database c o n n e c t i o n i n f o r m a t i o n .
# d a t a b a s e . h o s t : where t h e QVD d a t a b a s e i s found
# d a t a b a s e . name : t h e name o f t h e QVD d a t a b a s e
# d a t a b a s e . u s e r : t h e u s e r a c c o u n t needed t o
connect
# d a t a b a s e . password : t h e password needed t o
connect
database . host = 1 0 . 1 0 . 1 0 . 1 0
d a t a b a s e . name = qvddb
d a t a b a s e . u s e r = qvd
d a t a b a s e . password = p a s s
l o g . f i l e n a m e = / var / l o g /qvd/qvd . l o g
l o g . l e v e l=INFO
$ apt−g e t update
Básicamente, estos dos comandos anteriores sirven para modificar los campos de la
base de datos y por ello es muy importante seguir el orden de instalación de QVD.
6. Implantación 112
Una vez instalada la consola de administración ya se puede acceder a ella sin mayores
problemas. A continuación, en la Figura 6.11 se muestra la pantalla de administración
de los nodos a través de la interfaz web y en la Figura 6.12 la administración de las
máquinas virtuales.
6.9.2.5. Problemas
Una vez aplicada toda la configuración era imposible acceder a la máquina a través
del navegador, es decir, el servidor Apache no respondı́a correctamente, lanzando un
Internal Server Error.
2. Configuración de la red. Configurar una IP estática para cada uno de los nodos
QVD. Es importante comentar aquı́ que esta es una configuración de red inicial
de los nodos con el único objetivo de poder acceder remotamente vı́a SSH. En
apartados posteriores del proceso de instalación se realizará la configuración de
red definitiva de los mismos.
i f a c e l o i n e t loopback
auto l o
auto e t h 0
6. Implantación 115
i f a c e eth0 i n e t s t a t i c
address 10.10.10.12∗
netmask 2 5 5 . 2 5 5 . 2 5 5 . 0
up r o u t e add d e f a u l t gw 1 0 . 1 0 . 1 0 . 1
dns−n a m e s e r v e r s 1 0 . 2 . 2 . 2 1 0 . 3 . 3 . 3
3. Creación del fichero de configuración base de QVD que debe poseer cada uno de
los nodos. Recordar que dicho fichero sirve para proporcionar al nodo la infor-
mación de acceso a la base de datos.
$ mkdir / e t c /qvd
$ v i / e t c /qvd/ node . c o n f
#
# QVD Node C o n f i g u r a t i o n
#
# Name o f t h i s node i n QVD. U s u a l l y t h e machine ’ s
hostname .
nodename=v d i l i n u x −qvd1
# Database c o n n e c t i o n i n f o r m a t i o n .
# d a t a b a s e . h o s t : where t h e QVD d a t a b a s e i s found
# d a t a b a s e . name : t h e name o f t h e QVD d a t a b a s e
# d a t a b a s e . u s e r : t h e u s e r a c c o u n t needed t o
connect
# d a t a b a s e . password : t h e password needed t o
connect
database . host = 1 0 . 1 0 . 1 0 . 1 0
d a t a b a s e . name = qvddb
d a t a b a s e . u s e r = qvd
d a t a b a s e . password = p a s s
l o g . f i l e n a m e = / var / l o g /qvd/qvd . l o g
l o g . l e v e l=INFO
$ apt−g e t update
4. El comando anterior instalará sólo los componentes necesarios para el nodo, aun-
que también es altamente recomendable instalar los scripts de administración en
todas y cada una de las máquinas de la infraestructura para facilitar y acelerar
en ocasiones las labores de administración.
$ apt−g e t i n s t a l l p e r l −qvd−admin
Los nodos de QVD, hacen uso de un bridge y una interfaz de red virtual para
conectarse con las máquinas virtuales que están en ejecución en un nodo. Además,
debe configurarse un servidor DHCP para proporcionar dinámicamente direcciones IP
dentro de un rango a las VM.
1. Instalar o configurar un servidor DHCP. QVD hace uso de dnsmasq (el cual
también puede actuar como servidor DNS). Para ello, es necesario comprobar si
dnsmasq se encuentra instalado y si no instalarlo.
$ dpkg −s dnsmasq
O bien, instalarlo:
$ apt−g e t i n s t a l l dnsmasq
$ s e r v i c e dnsmasq s t o p
$ sed − i s /ENABLED=1/ENABLED=0/ / e t c / d e f a u l t /
dnsmasq
$ vi / etc / s y s c t l . conf
...
n e t . i p v 4 . i p f o r w a r d =1
...
$ cat / e t c / network / i n t e r f a c e s
6. Implantación 118
auto l o
i f a c e l o i n e t loopback
auto e t h 0 e t h 1 qvdnet0 v l a n 2 0 0
i f a c e eth0 i n e t s t a t i c
address 10.10.10.12∗
netmask 2 5 5 . 2 5 5 . 2 5 5 . 0
network 1 0 . 1 0 . 1 0 . 0
gateway 1 0 . 1 0 . 1 0 . 1
i f a c e e t h 1 i n e t manual
i f a c e v l a n 2 0 0 i n e t manual
vlan−raw−d e v i c e e t h 1
up i p l i n k set up dev v l a n 2 0 0
i f a c e qvdnet0 i n e t s t a t i c
address 10.11.11.3∗∗
netmask 2 5 5 . 2 5 5 . 2 5 2 . 0
b r i d g e p o r t s vlan200
b r i d g e s t p on
dns−n a m e s e r v e r s 1 0 . 8 . 8 . 8 1 0 . 8 . 8 . 9
$ apt−g e t i n s t a l l v l a n
$ / e t c / i n i t . d/ n e t w o r k i n g r e s t a r t
6. Implantación 119
# qa c o n f i g s e t vm . network . i p . s t a r t = 1 0 . 1 1 . 1 1 . 2 0
# qa c o n f i g s e t vm . network . netmask=22
# qa c o n f i g s e t vm . network . gateway = 1 0 . 1 1 . 1 1 . 1
# qa c o n f i g s e t vm . network . d n s s e r v e r = 1 0 . 1 1 . 1 1 . 3 ∗
# qa c o n f i g s e t vm . network . b r i d g e=q v d n e t 0
*Nota: Como se realizó la instalación del servidor DHCP y DNS en ambos nodos,
es válido el uso de cualquiera de ellos para realizar dicha labor.
6. Implantación 120
Para este proyecto, es necesario modificar levemente el contenido de esta fase, de tal
forma que se realice en este momento una pequeña prueba de funcionamiento general y
relegar a la última fase, las pruebas en profundidad de la infraestructura, tras la fase de
optimización. Esta decisión es debida a que aunque el sistema funcione correctamente,
muchas de las tareas de la fase de optimización son imprescindibles en un entorno de
este tipo. Es decir, realizar ahora unas pruebas de operación en profundidad no tendrı́a
sentido sin antes incluir todas aquellas funcionalidades que van a estar presentes en la
infraestructura una vez puesta en producción.
En la Figuras 6.13 y 6.14 se muestra la pantalla de login que se ofrece a los usuarios
13
http://theqvd.com/product/download
6. Implantación 121
QVD a la máquina del servicio LDAP. Los pasos técnicos [3] de esta configuración se
muestran en el siguiente apartado.
Los datos de LDAP mostrados a continuación, al igual que las direcciones IP ante-
riores no son reales, pero totalmente válidos para la explicación.
Usuario: cn=sic.vdi.linux,ou=users,dc=udc,dc=es
1. Una vez concecido el acceso (por parte del Departamento de Red) desde la red
de las máquinas QVD a la máquina del servicio LDAP, se prueba la conexión con
este:
ldapsearch -xLLL -H ldap://10.10.15.225 “cn=sic.vdi.linux,ou=users,dc=udc,dc=es”
-W -b “ou=People,dc=udc,dc=es” “(objectClass=udcPersona)”
Comprobada la conexión, el acceso en lectura al servidor LDAP es posible y se
puede pasar por tanto al proceso de configuración.
$ apt−g e t i n s t a l l p e r l −qvd−l 7 r −a u t h e n t i c a t o r −
p l u g i n −l d a p
$ s e r v i c e qvd−l 7 r r e s t a r t
$ p e r l −qvd−l 7 r −a u t h e n t i c a t o r −p l u g i n −auto
En la Figura 6.20 se observa un diagrama sencillo del acceso de los hosts al alma-
cenamiento.
Los ficheros que son objetivo de ser compartidos se albergan bajo el directorio
/var/lib/qvd/storage 16 de los nodos. En este directorio, en función te la tecnologı́a de
virtualización seleccionada (Sección 6.7) existirán unos subdirectorios u otros [3] pero
en este caso se describirán aquellos que afectan a la virtualización KVM, por ser la
empleada para este proyecto.
miento de la tecnologı́a por parte de los administradores fueron condiciones clave para
el uso de NFS como protocolo de compartición de almacenamiento.
$ sudo mkdir / q v d s t o r a g e
$ sudo apt−g e t i n s t a l l n f s −k e r n e l −s e r v e r
/ qvdstorage ∗ ( rw , sync , n o s u b t r e e c h e c k ,
no root squash )
$ / e t c / i n i t . d/ n f s −k e r n e l −s e r v e r r e s t a r t
10. Instalar el cliente NFS en el resto de nodos de la infraestructura (en este caso
solo en los nodos QVD y en el nodo de administración propiamente, ya que el
nodo base de datos no necesita acceso al almacenamiento compartido).
6. Implantación 132
11. Configurar los clientes. Editar en cada uno de los clientes el fichero /etc/fstab
para indicar dónde está el servidor NFS y qué carpeta comparte.
Balanceador hardware externo: Se sitúa antes de los nodos, de tal forma que
se encargue de aceptar las peticiones de los clientes. Su funcionamiento básico
consiste en enviar la petición del cliente a aquel nodo con menos carga. Para
conocer el estado de carga de los nodos se vale de un mecanismo conocido como
“health checking”, que consiste en el envı́o de mensajes periódicos a través de
HTTP a los que los nodos responden de la misma forma. Una vez aceptada
la petición del cliente y redirigida esta al nodo con menor carga, este debe ser
el encargado de levantar la máquina virtual del cliente si no está encendida o
bien redirigir de nuevo al cliente al nodo en el que ya se encuentra operativa su
máquina virtual.
Para un entorno piloto de pruebas de dos nodos, como es el caso de este proyecto,
será suficiente la configuración del balanceador interno, que se detalla en el siguiente
apartado, quedando relegada la inclusión de un balanceador hardware a una mejora
futura.
QVD presenta tres posibles caracterı́sticas a las que asignar pesos para el balanceo:
la RAM, la CPU o introduciendo un componente de aleatoriedad.
$ qa c o n f i g set l 7 r . l o a d b a l a n c e r . p l u g i n . d e f a u l t . w e i g h t
. cpu=3
$ qa c o n f i g set l 7 r . l o a d b a l a n c e r . p l u g i n . d e f a u l t . w e i g h t
. ram=2
6. Implantación 134
$ qa c o n f i g set l 7 r . l o a d b a l a n c e r . p l u g i n . d e f a u l t . w e i g h t
. random=1
Para aumentar la seguridad de sus conexiones, QVD puede hacer uso de HTTPS
con un certificado x509 y clave privada [3]. En un entorno de producción real esto es
altamente recomendable, sobre todo el hacer uso de un certificado de una autorizad
certificadora de confianza como Verisign 17 , BelSign 18 o cualquier otro tipo de entidad
certificada.
$ apt−g e t i n s t a l l o p e n s s l
2. Se crea un subdirectorio dentro del directorio /etc/qvd para trabajar con los
certificados creados propiamente para la infraestructura.
$ mkdir / e t c /qvd/ c e r t s
3. Dentro del directorio creado, se genera primeramente la clave privada del servidor,
con entropı́a 1024.
5. Configurar la infraestructura QVD para hacer uso del certificado haciendo uso
de uno de los scripts de administración.
6. Para que un certificado sea válido, es necesario añadirlo al directorio del sistema
donde se encuentran alojados todos los certificados de los que hace uso. Dicho
directorio es /usr/lib/ssl, en derivados de Debian, como es el caso.
Para que el protocolo SSL reconozca el certificado, por tanto, debemos copiarlo
en el directorio anterior o bien crear link simbólicos al mismo, que es lo que se
realizará. A su vez, se renombran también los certificados.
$ t r u s t e d s s l p a t h =/u s r / l i b / s s l / c e r t s
$ c e r t p a t h =/ e t c /qvd/ c e r t s / s e r v e r − c e r t i f i c a t e . pem
$ c e r t n a m e =‘ o p e n s s l x509 −noout −hash −i n
$cert path ‘ . 0
$ cp $ c e r t p a t h $ t r u s t e d s s l p a t h /QVD−L7R−c e r t . pem
$ l n −s $ t r u s t e d s s l p a t h /QVD−L7R−c e r t . pem
$trusted ssl path$cert name
Las nuevas máquinas fı́sicas que alojarán los dos servidores de QVD son:
6. Implantación 136
Habilitar a una organización para continuar con sus operaciones principales en caso
de algún tipo de interrupción y darle la posibilidad de sobrevivir a un desastre que
afecte a los sistemas de información, son hoy en dı́a unas de las principales tareas de
todos los grupos de seguridad informática.
Por otra parte, es importante resaltar el enfoque de este apartado, pues se dejará
de lado toda la temática relacionada con los planes de contingencia, los tipos de copias
de seguridad y ciertos conceptos técnicos que serı́an objeto de trabajos completos por
sı́ solos.
Servidor de administración
Servidores QVD21
Para la copia de las tablas de la base de datos se optó por una sencilla solución: la
realización de un script que se ejecuta diariamente a las 5:00am y que copia todas las
tablas a una determinada localización en el servidor. Será después el robot de cintas el
encargado de obtener la copia de las tablas, también de forma diaria.
Al igual que en todos los casos anteriores, es lógico que este tipo de polı́tica no
serı́a para nada adecuado para un futuro entorno en producción, pero suficiente para
el entorno actual.
La solución QVD ofrece una gran compatibilidad con el uso de balanceadores hard-
ware y ofrece mecanismos para facilitar su uso e inclusión en las infraestructuras.
6. Implantación 140
QVD cuenta con un método conocido como “health checking” que permite conocer
el estado de cada uno de los nodos. Esto es posible gracias al demonio L7R, que es el
encargado de responder a las peticiones HTTP de “health checking”.
Conclusiones
Índice general
7.1. Evaluación del trabajo realizado . . . . . . . . . . . . . . . . . 141
7.2. Difusión del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.3. Lı́neas de trabajo futuro . . . . . . . . . . . . . . . . . . . . . . 142
7.4. Reflexión personal . . . . . . . . . . . . . . . . . . . . . . . . . . 143
141
7. Conclusiones 142
Debido a la naturaleza del proyecto y con el objetivo de dar a conocer este trabajo y
compartir la experiencia con otras Universidades españolas, se presentó una propuesta
a las XXV Jornadas Técnicas de RedIRIS 2014, que se llevarán a cabo los dı́as 25 al 27
de Noviembre de 2014 en el Complejo Cultural de San Francisco, centro de congresos
y exposiciones de la Diputación de Cáceres.
Tras la finalización de este proyecto, se abren una serie de lineas de continuidad que
permiten establecer una serie de objetivos a largo plazo:
Búsqueda del Thin Client ideal: Realizar un análisis exhaustivo de las posi-
bles alternativas a equipos ligeros para dar con una solución ideal (coste-rendimiento)
para substituir, por ejemplo, los equipos convencionales de las AulaNet y/o per-
sonal PAS por equipos Thin Client.
En una persona sin experiencia previa en un proyecto real, las expectativas residı́an
únicamente en logar materializar lo máximo posible los conocimientos teóricos adqui-
ridos durante los años de estudio de la carrera. Tras la finalización de este proyecto y
tras seis meses de trabajo puedo decir que tanto mis objetivos como mis expectativas
fueron claramente superadas.
7. Conclusiones 144
En general, creo que fue una experiencia más, una experiencia que me acercó a
la realidad de la empresa y me facilitó aprender a trabajar de forma muy similar al
mundo laboral, estrechar relaciones y desarrollar competencias y actitudes positivas en
el mundo del trabajo.
Son estas las últimas lı́neas de un trabajo que llega a su fin, y que marca el final de
una etapa de mi vida, un punto y aparte hacia un futuro que se me presenta, espero,
con las puertas abiertas.
Apéndices
Apéndice A
Glosario de acrónimos
HA High Availability
VM Virtual Machine
146
Apéndice B
Glosario de términos
KVM o Kernel-based Virtual Machine es la solución más conocida dentro del grupo
de la virtualización a nivel de kernel, es decir, aquel tipo de virtualización que
convierte un kernel Linux en un hipervisor empleando un módulo. De este modo,
dicho kernel permite la ejecución de máquinas virtuales y hace uso del módulo
para la comunicación con las mismas.
NX Se trata de una tecnologı́a que permite ejecutar sesiones X11 remotas de manera
rápida y con excelente calidad gráfica. Fue desarrollada por la compañı́a francesa
NoMachine.
La velocidad de transmisión de la tecnologı́a NX se debe en gran parte al algorit-
mo de compresión y cacheo empleado que realiza el protocolo de ventanas X11,
lo que trae consigo una gran reducción en la cantidad de información transferida
entre el cliente y el servidor. Además de la velocidad NX tampoco deja de lado
la seguridad, pues envı́a la información a través del servicio seguro SSH.
NX posee una arquitectura de dos componentes básicos ya nombrados: el cliente
147
B. Glosario de términos 148
NFS Network File System, es un popular protocolo utilizado para compartir sistemas
de archivos de manera transparente entre anfitriones dentro de una red de área
local. Es utilizado para sistemas de archivos distribuido.
Fue desarrollado en 1984 por Sun Microsystems, teniendo en mente la indepen-
dencia del anfitrión, sistema operativo, protocolo de transporte. Funciona a través
B. Glosario de términos 149
de los protocolos XDR (nivel de presentación del modelo OSI de TCP/IP) y ONC
RPC (nivel de sesión del modelo OSI de TCP/IP).
Es muy popular entre sistemas basados sobre el estándar POSIX y viene incluido
en la mayorı́a de éstos de modo predeterminado. Es muy fácil de configurar y
utilizar, sin embargo debe tomarse en cuenta que su seguridad se basa sobre listas
de de control de acceso compuestas por direcciones IP o nombres de anfitrión.
Es por ésto que es importante que el administrador de la red de área local com-
prenda que un servidor NFS puede ser un serio problema de seguridad, si éste es
configurado incorrectamente.
Existen tres versiones de NFS que se utilizan hoy en dı́a: NFSv2, NFSv3 y NFSv4,
cada una de ellas con caracterı́sticas adicionales a la anterior.
Apéndice C
Tras la realización de las primeras pruebas, se pudo apreciar una necesidad de me-
jorar el rendimiento, pues aunque con aplicaciones ofimáticas y sin constantes cambios
150
C. Análisis y prueba de Raspberry Pi como Thin Client 151
Por último, y para no descartar tan pronto la Raspberry, se llevó a cabo las pruebas
con tres niveles diferentes de overclocking del procesador (800MHz, 900MHz y 1GHz),
obtienendo los mismos resultados que en los casos anteriores. A modo de ejemplo, se
muestra una captura en la Figura C.2. Se corresponde con un nivel de overclocking de
1Ghz, en la que apenas se aprecia una mejora del 2 % de uso con respecto al estado
original mostrado en la Figura C.1
Por todo esto, la Raspberry Pi tuvo que ser completamente descartada, a pesar de
que inicialmente prometı́a ser un Thin Client ideal y de bajo coste.
C. Análisis y prueba de Raspberry Pi como Thin Client 153
C.3. Alternativas
Por motivos de tiempo y coste, no se hicieron pruebas con ningún otro equipo
hardware, quedando relegada la búsqueda del Thin Client ideal a una posible ampliación
del proyecto en un futuro próximo, con el posible análisis de alternativas a la Raspberry.
Un ejemplo podrı́a ser la Cubie Board, también de arquitectura ARM, pero en este caso
con dos o más núcleos de procesador, lo que a simple vista, podrı́a solucionar el problema
de falta de CPU.
Bibliografı́a
[2] QVD (Quality Virtual Desktop). Qindel Group. 2014. Web http://theqvd.com/.
[3] QVD Docs Team. Version 22780. Qindel Group. 2014. Web http:
//docs.theqvd.com/.
[5] Kivity, Avi and Kamay, Yaniv and Laor, Dor and Lublin, Uri and Liguori,
Anthony. KVM: The Linux Virtual Machine Monitor. Proceedings of the
Linux Symposium. 2007. 225–230p. Volumen 1.
[6] Javier, Miguel G and Neves, Marcelo Veiga and Rossi, Fabio D and Ferreto, Tiago
C and Lange, Timoteo and De Rose, Cesar AF. Performance evaluation of
container-based virtualization for high performance computing environments.
Parallel, Distributed and Network-Based Processing (PDP), 2013 21st Euro-
micro International Conference on . 2013. 233-240p.
[7] Hutton, Keith T and Schofield, Mark D and Teare, Diane. Designing Cisco
Network Service Architectures (ARCH)(Authorized Self-study Guide). Pearson
Education. 2008.
154
BIBLIOGRAFÍA 155
[8] Wilkins, Sean. Cisco’s PPDIOO Network Cycle. Cisco Press. 2011. Web: http:
//www.ciscopress.com/articles/article.asp?p=1697888&seqNum=3.
[13] Fernández, Arturo. Ulteo: un escritorio virtual remoto. Todo Linux: la revista
mensual para entusiastas de GNU/Linux. 2009. Número 99. 25–29p. Volumen
9.
[14] Red Hat Virtualization for Desktops. Red Hat Inc. 2014. Web http:
//es.redhat.com/.
[17] Brown, Stuart Arthur. Getting Started with Citrix VDI-in-a-Box. 2013. Packt
Publishing Ltd.
[19] Cerling, Tim and Buller, Jeff and Enstall, Chuck and Ruiz, Richard. Introducing
Microsoft Desktop Virtualization. Mastering Microsoft® Virtualization.
BIBLIOGRAFÍA 156