Escritorios remotos en máquinas virtuales aplicados en grandes corporaciones
Full text
42 Boletín de RedIRIS, nº 85-86, marzo 2009 PONENCIAS Escritorios remotos en máquinas virtuales aplicados en grandes corporaciones1 (Applying Remote Desktops and Virtual Machines to Large Organizations) Josep Pujal, Antoni Oller, Juan López, Chris Fanning, Flaminio Minerva, Jesus Alcober Resumen El modelo básico que sirve para proporcionar un entorno ofimático en un lugar de trabajo o un centro docente se ha mostrado inalterable durante los últimos años. Éste consiste en proporcionar a cada lugar de trabajo un ordenador personal con su respectivo sistema operativo y configuración. A pesar que existen herramientas como la utilización de imágenes que simplifican la gestión y despliegue, este modelo provoca sustanciales costes en soporte, mantenimiento y en la adquisición de equipos con recursos casi siempre infrautilizados. El presente artículo propone plantear un nuevo modelo aplicando tecnologías de virtualización de sistemas operativos y de escritorio remoto. Palabras clave: Cluster, Virtualización, Escritorios remotos, Xen, Thin-Client. Summary Throughout the last few years the model used to provide office work environments has remained unchanged. It consists in the use of a personal computer, and the respective operating system and configuration per work place. Even though there are tools to ease management and deployment, this model creates substantial maintenance and support costs, plus the added costs purchasing PC hardware whose system resources beyond the needs required for work at the office place. This article proposes a new model applying technologies such as virtualization and remote desktops. The basic model that provides a working environment for. Keywords::Cluster, Virtualization, Xen, Remote desktop, Thin-Client. 1. Introducción Las computadoras y los equipos de comunicación son un invento reciente, que no ha cumplido ni un siglo de existencia desde su primera generación. Su evolución ha sido continua y constantemente se han ido presentando nuevas propuestas y esquemas de actividad. Los primeros equipos [1] que podían ocupar una habitación completa, eran considerablemente más grandes y generaban más calor que los modelos contemporáneos. La década de los 60 proporciona cuantiosas mejoras tecnológicas. Los circuitos integrados permiten incrementar la flexibilidad de los programas y estandarizar sus modelos. Con la aparición de los sistemas operativos, como UNIX[2], las computadoras proporcionan la capacidad de ejecutar más de un Las computadoras y los equipos de comunicación son un invento reciente Los primeros equipos eran considerablemente más grandes y generaban más calor que los modelos contemporáneos 1Este trabajo ha sido financiado por el Ministerio de Industria, Turismo y Comercio por el MCyT (Ministerio de Ciencia y Tecnología del Gobierno de España) bajo el proyecto TSI2007-66637-C02-01. ponencias85-5.qxp 23/03/2009 11:35 PÆgina 42
43 Escritorios remotos en máquinas virtuales aplicados en grandes corporaciones http://www.rediris.es/rediris/boletin/85-86/ponencia5.pdf PONENCIAS programa de manera simultánea (multitarea) y más de un usuario a la vez (multiusuario). En este periodo aparecen también los primeros equipos terminales, como VT52 y VT100 [3], que se convirtieron en los sistemas estándar para los terminales serie. Este esquema posibilita un modelo de trabajo en que los usuarios pueden estar ubicados a cierta distancia de la computadora central. De esta forma, cada usuario trabaja con un terminal que no tiene directamente capacidad de computación pero que está conectado con un potente equipo central. Las primeras redes permitieron la comunicación entre central y terminales remotas por medio de líneas telefónicas. Posteriormente aparecerán las redes de conmutación de paquetes y más tarde Internet. Las redes de comunicaciones permiten que los usuarios puedan trabajar de una manera deslocalizada. En esta primera época la capacidad de procesamiento y ancho de banda de los equipos remotos es limitado y el paradigma cliente-servidor es el que se aplica. Poco a poco, los equipos terminales tienen capacidad de más procesamiento y las aplicaciones se distribuyen. Existe parte de lógica que se ejecuta en servidor y parte que se ejecuta en cliente. La evolución de los chips de silicio y la miniaturización de los circuitos electrónicos posibilitan una rápida evolución tecnológica de los equipos, que permite que la capacidad de computación de los equipos se desarrolle de manera progresiva. Estas condiciones definen el escenario de trabajo más habitual en la actualidad, donde se proporciona a cada lugar de trabajo un equipo con altas prestaciones de computación con su sistema operativo, aplicaciones y configuración, que puede acceder por medio de una red a servicios ofrecidos de manera remota. La Fig. 1 muestra el esquema básico de este modelo: uno o más centros distribuidos geográficamente con estaciones de trabajo que contienen un sistema operativo y configuración individual. La evolución de las redes de comunicaciones proporciona entre otros beneficios un amplio incremento de ancho de banda. Esto permite abrir el abanico de posibilidades y evolucionar los modelos actuales. El modelo propuesto en este trabajo propone reducir al máximo el protagonismo del dispositivo en el lugar de trabajo sustituyendo el ordenador personal de altas prestaciones con sus aplicaciones instaladas localmente por un "thin client". Éste consiste en un dispositivo con pocos recursos que actuará únicamente como interfaz hacia un escritorio o aplicación que remota. De alguna manera se propone volver a aplicar un modelo refundado similar al que se aplicaba en los años 60 con los terminales VT basados en el paradigma cliente-servidor. El trabajo se organiza de la siguiente manera: en el primer apartado se describen las diferentes partes de la arquitectura del sistema, en el siguiente se presenta el escenario utilizado con la finalidad de validar el modelo; el tercer apartado muestra las aplicaciones y ventajas que se aportan en el proyecto y así finalmente terminar con las conclusiones. Las primeras redes permitieron la comunicación entre central y terminales remotas por medio de líneas telefónicas La evolución de las redes de comunicaciones proporciona entre otros beneficios un amplio incremento de ancho de banda FIGURA 1. ESQUEMA DEL PARADIGMA ACTUAL MÁS EXTENDIDO ponencias85-5.qxp 23/03/2009 11:35 PÆgina 43
44 Boletín de RedIRIS, nº 85-86, marzo 2009 2. Arquitectura del sistema Nuestra propuesta se basa en la existencia de un cliente muy sencillo instalado en el puesto de trabajo del usuario (véase figura 2). La computación de este usuario se ejecuta sobre una serie de maquinas virtuales remotas que están administradas por una serie de servicios auxiliares: el balanceador de maquinas virtuales y un sistema de autentificación centralizado. Para acceder a su entorno de trabajo el usuario se conecta de forma transparente utilizando un protocolo de escritorio remoto. De esta forma cada usuario se encuentra con una máquina totalmente a su disposición conforme a su perfil. Obviamente el sistema puede dar servicio a múltiples usuarios simultáneamente y mediante técnicas de clustering podemos aumentar la escalabilidad del sistema. Cada perfil de usuario está aislado de forma que actuaciones realizadas por un usuario en su sesión no afectan al resto de usuarios del sistema. A continuación se presentarán las tecnologías relacionadas con la virtualización de escritorios remotos. Se describirán tecnologías de escritorios remotos, sistemas de almacenamiento y clustering, así como el dispositivo cliente. 2.1. El dispositivo cliente El dispositivo situado en el lugar de trabajo debe de ser lo más sencillo posible, existen varios modelos en el mercado con las características necesarias. En nuestra prueba de concepto se ha utilizado un equipo Epatec 480 [9] (véase Fig. 3). Es un dispositivo con un procesador VIA a 1 GHz, 512 MB de RAM y el uso de una memoria Compact Flash donde se guarda el sistema operativo empotrado. Dicho sistema operativo es simplemente una mínima distribución Linux con interfaz gráfica, un navegador Web funcionando en modo "kiosco" y un cliente NX [10]. Es muy común que nuestras aplicaciones deban ejecutarse en modo kiosco, es decir dentro de un entorno restringido donde el usuario no pueda comprometer la integridad de la imagen del sistema empotrado y en especial de su sistema operativo. El dispositivo, al ser encendido, muestra al usuario un formulario de autenticación Web y acto seguido se conecta a su escritorio remoto personalizado. En caso de avería del dispositivo, éste puede ser sustituido por el mismo usuario y enviado por mensajería para su posterior reparación. Al no almacenarse ningún fichero Cada usuario se encuentra con una máquina totalmente a su disposición conforme a su perfil El dispositivo situado en el lugar de trabajo debe de ser lo más sencillo posible FIGURA 2. ESQUEMA DE LA ARQUITECTURA PLANTEADA FIGURA 3. THIN-CLIENT EPATEC ponencias85-5.qxp 23/03/2009 11:35 PÆgina 44
45 Escritorios remotos en máquinas virtuales aplicados en grandes corporaciones http://www.rediris.es/rediris/boletin/85-86/ponencia5.pdf PONENCIAS de trabajo guardado en local, la información no se ve comprometida y será de nuevo accesible desde cualquier otro terminal cliente. El sistema operativo empotrado tiene la capacidad de actualizarse y repararse de forma transparente al usuario, el dispositivo accede al servicio de imágenes y sincroniza el contenido local con el del servidor. El uso de tecnologías P2P en el plano de distribución de imágenes podría resultar muy útil (véase Proyecto Brutalix [11]). 2.2. Conexión de clientes La red de dispositivos cliente y la red corporativa que viene a prestar el servicio a los terminales se conectan a nivel de enlace mediante un túnel; sobre este enlace se garantiza el control de acceso y la distribución de las imágenes del cliente. Esta solución permite aplicar el modelo en cualquier red existente simplemente instalando un dispositivo que permita conectarse de forma segura a la red de servicios finales. En caso que se tratase de una infraestructura de nueva creación, resultaría idóneo el despliegue de tecnologías de red Metro Ethernet [12]. La conexión entre cliente y servidor se realiza mediante un túnel SSH conectando con el servicio FreeNX. Este software fue liberado parcialmente hace unos años por la empresa Nomachine y proporciona acceso a escritorios remotos usando tecnologías como RDP, X11 o VNC. También se da soporte a conexión remota de dispositivos multimedia, carpetas compartidas e impresión. 2.3. Balanceo máquinas virtuales El modelo presentado busca el máximo rendimiento de la infraestructura hardware, es por eso que se desarrolla una arquitectura en cluster donde se ejecutan escritorios remotos en máquinas virtuales. Esta arquitectura permite añadir en caliente más capacidad de computación, es decir usuarios finales, con el simple hecho de ir sumando más recursos hardware. La pieza clave de esta arquitectura es el balanceador, el cual según la demanda y capacidad de los diferentes recursos del cluster ordenará la instanciación, pausa o parada de máquinas virtuales. La Fig. 4 muestra el diagrama de flujo del balanceador. Un trabajador o estudiante llega a su lugar de trabajo y se autentica, el sistema en función del usuario pedirá al balanceador una máquina virtual disponible. Si el usuario dispone de una sesión ya abierta, el balanceador reactivará la sesión ya existente e informará al dispositivo de la configuración de esta sesión. En caso de que el usuario necesite una instancia nueva de máquina virtual, el balanceador la creará y también informará de la configuración de la sesión. En ambos casos se actualiza en el sistema el nuevo estado de los recursos físicos del cluster. Las técnicas de migración de máquinas virtuales empiezan a ser soportadas por diferentes tecnologías de virtualización, éstas permiten el traslado de una sesión activa a otra máquina del cluster con más recursos. La continua monitorización de los recursos permite al balanceador migrar máquinas virtuales y así garantizar la calidad de servicio a todos los usuarios. La conexión entre cliente y servidor se realiza mediante un túnel SSH conectando con el servicio FreeNX La pieza clave de esta arquitectura es el balanceador que ordenará la instanciación, pausa o parada de máquinas virtuales FIGURA 4. DIAGRAMA DE FLUJO DEL BALANCEADOR ponencias85-5.qxp 23/03/2009 11:35 PÆgina 45
46 Boletín de RedIRIS, nº 85-86, marzo 2009 2.4. Cluster de máquinas virtuales La escalabilidad del modelo es un punto muy importante a tener en cuenta ya que de ello depende el éxito del despliegue de la plataforma. Una arquitectura ineficiente, sin alta disponibilidad o difícil de ampliar hace inviable la aplicación de este nuevo paradigma. En este caso se ha elegido una arquitectura sencilla de clúster tipo "Beowulf"[13]. Ésta arquitectura consiste en N servidores de escritorios remotos compartiendo un único sistema de ficheros usando NFS o Lustre File System [14]. El almacenamiento esta centralizado y protegido mediante mecanismos de redundancia y alta disponibilidad. Añadir nuevos servidores permite aumentar de forma lineal el número de instancias virtuales simultáneas, todo ello gracias al balanceador que recibe el estado de los recursos actualizados por el servicio de monitorización. La Fig. 5 muestra un esquema básico del cluster de máquinas virtuales. 2.5. Módulo de gestión El modelo presentado aporta mejoras en la resolución de incidencias y en tareas de mantenimiento por parte del equipo de soporte "Backoffice". Los sistemas operativos y ficheros de datos son accesibles fácilmente por el personal técnico sin que estos tengan que desplazarse en el lugar de trabajo. Si cada instancia de sistema operativo parte desde una imagen "semilla", el despliegue de nuevas configuraciones y aplicaciones resulta mucho más fácil y con menor coste. Virtmanager [15] (véase Fig. 6) es una aplicación desarrollada por la fundacion i2cat [16] con la finalidad de gestionar su plataforma virtualizada de servicios de multimedia (mediacat). El equipo de soporte puede añadir imágenes y asociarlas a usuarios, a la vez que también puede acceder a ellas y dar soporte al usuario en caso que fuera necesario. 3. Escenario de prueba La arquitectura de red del escenario de pruebas se compone de 3 segmentos de red: el primero corresponde a servicios de control de acceso, un segundo a la gestión y el tercero corresponde a un clúster de máquinas virtuales (véase fig. 7). En el primer segmento se hayan los clientes remotos, los servicios de control de acceso (a nivel de dispositivo y usuario) y los servicios de distribución de sistemas operativos empotrados. Se dispone de un segundo segmento de red mucho más alejado del usuario y menos accesible que realizaría funciones de gestión. La información relativa a los recursos del cluster de máquinas virtuales es Añadir nuevos servidores permite aumentar de forma lineal el número de instancias virtuales simultáneas Si cada instancia de sistema operativo parte desde una imagen "semilla", el despliegue de nuevas configuraciones y aplicaciones resulta mucho más fácil y con menor coste FIGURA 5. CLUSTER DE MÁQUINAS VIRTUALES FIGURA 6. INTERFAZ DE GESTIÓN CON VIRTMANAGER ponencias85-5.qxp 23/03/2009 11:36 PÆgina 46
47 Escritorios remotos en máquinas virtuales aplicados en grandes corporaciones http://www.rediris.es/rediris/boletin/85-86/ponencia5.pdf PONENCIAS recogida y guardada en una BBDD relacional mediante Zabbix [17]. La información acerca de los usuarios y su configuración es guardada bajo un árbol LDAP. Todos los datos son accesibles mediante Virtmanager y su módulo de gestión de los recursos y el control de acceso de usuarios. Finalmente se encuentra el cluster de máquinas virtuales en las que los clientes finales se conectan mediante un túnel SSH. La gestión de máquinas virtuales viene definida mediante operaciones provenientes del balanceador. Éste ordena crear, pausar y eliminar instancias de entornos virtuales en función de: la demanda, la calidad de servicio ofrecido (debido a la heterogeneidad de recursos consumidos por los usuarios) y del estado de los recursos físicos disponibles en el cluster. Durante el diseño de este componente se ha tenido en cuenta poder introducir fácilmente futuras tecnologías de virtualización en forma de "plugins", todo ello ha sido posible introduciendo una capa abstracta de operaciones genéricas disponibles mediante una interfaz de servicios Web. En el escenario actual se ha implementado un plugin para la plataforma de virtualización Xen. 4. Aplicaciones y ventajas aportadas El uso conjunto de estas dos tecnologías permite aprovechar los recursos de nuestra granja de servidores mediante el balanceo de los sistemas operativos virtuales ofrecidos. Resulta más eficiente tener N servidores potentes disponibles para todos los usuarios que N estaciones de trabajo potentes infrautilizadas. La ubicuidad proporcionada por el modelo es uno de sus puntos fuertes, estudiantes y PDI pueden usar las mismas aplicaciones y escritorios disponibles de cualquier laboratorio, éstos también pueden pausar y continuar la sesión dónde y cuando quieran. Instituciones cuyas sedes se encuentran dispersas por el territorio pueden verse favorecidas al disminuir los costes en desplazamiento de personal de soporte. Tal y como muestra la Fig. 8, los PCs son sustituidos por Thin-clients que se conectan a cualquiera de los sistemas operativos o escritorios remotos ofrecidos; las configuraciones y operaciones pueden realizarse desde el mismo centro de cálculo e incluso éste dar servicio a diferentes centros. La información acerca de los usuarios y su configuración es guardada bajo un árbol LDAP Resulta más eficiente tener N servidores potentes disponibles para todos los usuarios que N estaciones de trabajo potentes infrautilizadas FIGURA 7. ARQUITECTURA PROPUESTA FIGURA 8. ESQUEMA DEL PARADIGMA PROPUESTO ponencias85-5.qxp 23/03/2009 11:36 PÆgina 47
48 Boletín de RedIRIS, nº 85-86, marzo 2009 Otra ventaja a destacar está en el contexto del impacto medioambiental. El consumo de un dispositivo Thin-client es menor de 20 W, el ahorro energético total del modelo puede llegar aproximadamente al 40% frente el modelo tradicional. Además se permite alargar la vida de estaciones de trabajo obsoletas ya que pueden ser reciclados como Thin-clients. 5. Conclusiones Este trabajo ha presentado un nuevo paradigma que aporta mejoras en costes y productividad, todo ello apostando por el uso de tecnologías de virtualización [7] y de escritorios remotos [8]. Para ello se ha presentado el punto de vista arquitectónico de una plataforma de virtualización distribuida, que integrará un servidor de perfiles que caracterizará a los usuarios con sus perfiles (e imágenes asociadas) y un interfaz de provisión basado en servicios web que integrará diferentes plataformas de virtualización (VMware, Xen, Virtualbox, ...). Este modelo proporciona diversas ventajas sobre el modelo tradicional basado en el PC de escritorio. Por un lado conseguimos ventajas como ubicuidad, independencia tanto del terminal como de los recursos de servidor o flexibilidad en el uso de diferentes sistemas operativos y/o aplicaciones en el mismo terminal. Por otro conseguimos reducir costes tanto directos: alto aprovechamiento de los recursos de servidor, minimización del consumo al utilizar thin-clients; como indirectos: fácil despliegue de terminales y mantenimiento simplificado del sistema. Referencias [1] Eniac [http://ftp.arl.mil/~mike/comphist/eniac-story.html] [2] Unix [http://www.unix.org/] [3] VT100 [http://vt100.net/] [4] VMWare [http://www.vmware.com/] [5] Xen [http://www.xen.org/] [6] Virtualbox [http://www.virtualbox.org/] [7] Dobrilovic, Dalibor; Stojanov, Zeljko; Using Virtualization Software in Operating Systems Course, Information Technology: Research and Education, 2006. ITRE '06. International Conference on 1619 Oct. 2006 Page(s):222 - 226. El ahorro energético total de Thin-Client puede llegar aproximadamente al 40% frente el modelo tradicional Con este modelo conseguimos ventajas como ubicuidad, independencia o flexibilidad y reducimos costes tanto directos como indirectos ponencias85-5.qxp 23/03/2009 11:36 PÆgina 48
49 Escritorios remotos en máquinas virtuales aplicados en grandes corporaciones http://www.rediris.es/rediris/boletin/85-86/ponencia5.pdf PONENCIAS [8] Yuedong Zhang; Zhenhua Song; Dingju Zhu; Zhuan Chen; Yuzhong Sun; Redar: A Remote Desktop Architecture for the Distributed Virtual Personal Computing; Grid and Cooperative Computing, 2006. GCC 2006. Fifth International Conference Oct. 2006 Page(s):1 - 8. [9] Epatec [http://www.epatec.es/] [10] FreeNX Nomachine [http://www.nomachine.com/] [11] Brutalix [http://osluz.unizar.es/proyectos/brutalix] [12] Brockners, F.; Finn, N.; Phillips, S.; Metro Ethernet - deploying the extended campus using Ethernet technology; Local Computer Networks, 2003. LCN '03. Proceedings. 28th Annual IEEE International Conference on 20-24 Oct. 2003 Page(s):594 - 604 [13] Sloan, Joseph D. Linux Clusters with OSCAR, Rocks, openmosix and MPI. O'Reilly Media. 2005. [14] Weikuan Yu; Noronha, R.; Shuang Liang; Panda, D.K.; Benefits of high speed interconnects to cluster file systems: a case study with Lustre; Parallel and Distributed Processing Symposium, 2006. IPDPS 2006. 20th International25-29 April 2006 Page(s):8 pp. [15] González Aragón, David; Oller, Antoni; Desarrollo de una plataforma de virtualización; Bachelor thesis, UPC, EPSC, 3-abr-2008. [16] i2cat [http://www.i2cat.cat] [17] Zabbix [http://www.zabbix.com/] Josep Pujal [email protected] Antoni Oller [email protected] Juan López [email protected] Jesús Alcober [email protected] Departamento de Ingeniería Telemática, Universitat Politècnica de Catalunya Chris Fanning [email protected] UNED Flaminio Minerva [email protected] Fundació i2cat ponencias85-5.qxp 23/03/2009 11:36 PÆgina 49