• No se han encontrado resultados

Servidor X (X11)

Capítulo 5 Resultados obtenidos

Objetivo específico:

Exponer el resultado de las configuraciones del capítulo anterior. Realizar el

arranque de los equipos de thin-client considerando con las configuraciones

Arranque de terminales.

El proceso de arranque comienza al encender el thin-client con la pantalla de POST. POST es el proceso mediante el cual el firmware de la placa madre del equipo realiza rutinas de auto- evaluación para asegurarse que todo el hardware este correctamente conectado y funcional. Una vez que las rutinas de auto-evaluación se completaron de forma exitosa el firmware invoca el código de arranque (bootstrap) que en este caso se ah configurado para iniciar desde la interfaz de red de la terminal. Se inicia entonces la carga del código de arranque PXE desde la tarjeta de red, esperando recibir la configuración de red del servidor DHCP(Figura 5.1). Una vez terminada la carga de la configuración de red, el firmware de la tarjeta de red realiza la descarga de la imagen “initramfs” desde el servidor mediante TFTP (Figura 5.2).

Figura 5.1 – La NIC del cliente espera que el servidor le asigne una dirección DHCP.

Terminada la descarga del “initramfs” por el cliente, este procede a cargar el kernel o núcleo del sistema GNU/Linux e identificar el hardware del equipo. Es en este punto en el que el cliente se conecta mediante SSH al servidor X del servidor LTSP y se despliega el administrador de sesión LDM (LTSP Display Manager). En las imágenes 5.3 y 5.4 se muestra el proceso de arranque del sistema operativo.

Figura 5.3 – Terminada la carga del initramfs inicia la carga del LDM.

Por lo general una vez cargado el sistema se debe iniciar sesión con el nombre de usuario y contraseña que se configuran previamente al crear los nuevos usuarios para los thin-client. Sin embargo gracias a los cambios realizados en la configuración de los clientes en el capítulo anterior los clientes existentes en la red inician sesión de forma automática, sin la necesidad de introducir nombres de usuarios ni contraseñas.

Esto resulta muy práctico y conveniente ya que las terminales están disponibles para su uso de forma inmediata después de encenderlas evitando que los usuarios inicien sesión de forma manual. En la figura 5.5 se encuentra una captura de pantalla hecha desde el thin-client utilizado en el desarrollo de este trabajo.

El ambiente de escritorio que se muestra en la imagen de la figura 5.5 corresponde al escritorio GNOME en modo fallback o de compatibilidad para equipos sin aceleración gráfica 3D. Esto le brinda a las terminales un mejor desempeño en las aplicaciones y otorga una experiencia de uso mas fluida.

Figura 5.5 – Captura de pantalla del escritorio Gnome en modo Fallback.

En la imagen de la figura 5.6 se muestra otra captura de la misma terminal ejecutando el software procesador de textos Writer de LibreOffice. En las fotografías de la figuras 5.7 y 5.8 se muestran a 2 clientes cargando el sistema operativo desde interfaz de red.

Se puede observar que ambas terminales están ejecutando software para abrir archivos de video y el explorador de Internet Mozilla Firefox.

Figura 5.6 – Cliente ejecutando Writer, el procesador de textos de LibreOffice.

Conclusiones y Recomendaciones

Con este proyecto se pone de manifiesto la importancia y las capacidades que tienen los sistemas de código abierto u “Open Source” en Ingles, para resolver problemas de impacto económico y social.

Recurriendo al uso de sistemas abiertos se pueden reducir los costos que implica proveer de acceso a tecnologías de la información. Esto es de gran impacto en zonas donde no se cuentan con una gran cantidad de recursos económicos o incluso se puede implementar como un modelo de negocio alternativo a los conocidos “cafe internet” reduciendo de forma significativa los gastos en equipos de computo nuevo.

Si se consideran las soluciones comerciales de VDI (Virtual Desktop Envirorment) presentadas en el Capítulo 2, se encuentra que los costos de implementación de estos productos pueden ser muy elevados. De acuerdo a los datos presentados en la tabla 2.1.1 de el Capítulo 2, donde se presentan los costos aproximados de implementación del sistema VDI de la empresa CITRIX, se pueden calcular los costos de implementación para una red similar a la que se propone en este proyecto compuesta por 20 terminales y esto sin contar con los gastos en hardware extra para las terminales.

Numero de usuarios Licencias de usuario Licencias de usuario+MWA

20 $7,000.00 $8,100.00

Tabla 6.1.1 – Costos aproximados de una red XenDesktop de 20 terminales.

Se recuerda que los precios están dados en dolares (USD). Vemos entonces como los costos de las soluciones comerciales de VDI se elevan rápidamente al expandir el numero de terminales requeridas en la red. Con estos datos, el costo de montar un laboratorio de 10 computadoras con VDI puede ser mayor a los $100,000.00 MN. Esto sin contar con el mantenimiento de las terminales y los gastos en software de antivirus que requiere una plataforma Windows.

También es importante resaltar los cambios que se requerirá del servidor de VDI ya que dicha plataforma Windows posee requisitos de hardware mayores para desempeñarse de forma optima, elevando aún más los costos de implementación.

En contraste, la solución propuesta en este proyecto puede ser implementada en un ambiente de trabajo real con un mínimo de recursos, bajo ciertas limitaciones. Siendo el servidor LTSP la inversión principal de aproximadamente $12,000.00 MN si se considera la configuración presentada en la tabla 3.1.2 del Capítulo 3. Mientras que el costo de los thin-client es mínimo si se ensamblan como se propone en la tabla 3.1.4 del Capítulo 3.

Como se ve en la siguiente tabla, los costos de implementación de una red de thin-client funcionando con LTSP son menores a $40,000.00 MN incluido en este precio el costo del servidor, terminales con hardware nuevo y todo el software necesario para su instalación.

Costo por terminal Costo total

Numero de thin-client 20 $1,319.00 $26,380.00

Servidores LTSP 1 $11,320.00 $11,320.00

Total del proyecto $37,700.00

Tabla 6.1.2 – Costos aproximados de una red LTSP de 20 terminales.

Gracias a que el Sistema Operativo empleado en el proyecto para el servidor LTSP, en las terminales, así como toda la paquetearía de software utilizada en estas es Open Source o de “Código Abierto” bajo licencias del tipo GNU/GPL, estos no tienen costo y son libres para quien quiera utilizarlos, lo cual reduce de forma dramática los costos con respecto a las soluciones comerciales antes vistas.

En total se estima que el costo de implementación de un laboratorio de 20 terminales LTSP incluyendo el servidor es de entre $50,000.00 y $60,000.00 MN. Ademas gracias al uso del sistema operativo GNU/Linux (el cuales es invulnerable a prácticamente todo el software malicioso existente actualmente en Internet gracias a su sistema de permisos que evita que las aplicaciones realicen cambios en los archivos críticos del sistema sin permiso explicito del usuario administrador) se elimina la necesidad de adquirir software antivirus e incluso también se elimina la necesidad de actualizar la plataforma cada 2 años como sucede con los sistemas operativos comerciales dado que el sistema operativo Ubuntu LTS ofrece soporte y actualizaciones de seguridad hasta por 5 años.

Vemos entonces que al reducir drásticamente los costos comparados con las soluciones comerciales, se amplían los escenarios donde puede ser implementado el proyecto, permitiendo que las tecnologías de la información lleguen a más personas en mas lugares a un costo mínimo y con toda la seguridad y flexibilidad que ofrecen los Sistemas Operativos

Observaciones y Recomendaciones.

Si bien con este proyecto se cubren satisfactoriamente las necesidades tecnológicas básicas del usuario promedio, permitiendo la consulta de información en Internet y la creación de documentos, existen características del mismo que necesitan ser tomadas en cuenta.

La principal desventaja que tiene este proyecto es que el esquema de terminales ligeras o thin- client es limitado si se requiere utilizar software mas robusto en las terminales, por ejemplo edición de video, videojuegos y en general aplicaciones que requieran mostrar una gran cantidad de gráficos en pantalla en un corto periodo de tiempo, entonces es necesario emplear terminales del tipo Fat-client. Este tipo de terminales permitirán ejecutar aplicaciones de forma local, instaladas de forma independiente del servidor y utilizarán los recursos de hardware del Fat-client.

Uso de Flash-player

Por otro lado la consulta de videos en formato flash-player puede reducir de forma dramática el desempeño de la red de terminales LTSP. Esto es debido al gran ancho de banda que requiere este tipo de contenidos, provocando lo que se conoce como un cuello de botella. Esto puede solucionarse de forma parcial utilizando alternativas a flash-player como Gnash Player.

Uso de memorias USB

Por default al utilizar dispositivos de almacenamiento USB en los thin-client estos están configurados para detenerse si no se detecta actividad en estos. Si en cualquier momento se detecta la copia o lectura de datos desde la memoria USB entonces esta es montada nuevamente en el sistema y funcionará de forma normal. Esto es para evitar al usuario del terminal la tarea de montar y desmontar de forma manual su memoria USB.

En cualquier caso no se debe desconectar la memoria USB hasta que el dialogo de copiado de datos desaparezca de pantalla o hasta que los programas que utilicen datos de esta sean terminados.

Glosario

Boot:

También conocido como bootstrap es el conjunto de procesos que realiza una computadora al encenderla, desde el momento en que se presiona el botón de encendido. El proceso contempla la ejecución del POST o Power-On Self-test.

Bootloader:

Es un programa de computadora alojado en la BIOS que se ejecuta después de terminado el POST y realiza la carga del sistema operativo principal de la computadora.

Bootstrap: Ver Boot.

Chroot:

En los sistema operativos basados en UNIX es una operación que permite cambiar el directorio raíz aparente para el proceso o programa que se va a ejecutar. Para el programa que se ejecuta bajo esta condición no existen los archivos ni directorios fuera de donde se aloja dicho programa.

Damn Small Linux:

Es un sistema operativo GNU/Linux de escritorio ultra pequeño que solo ocupa 50MB de espacio. Este puede ser arrancado en una computadora desde un CD o una memoria USB. También puede arrancar desde dentro de un sistema operativo Windows. Puede instalarse en el disco duro de cualquier computadora convirtiéndose en un sistema operativo Debian capaz de funcionar de forma normal en equipos con procesadores tan viejos como los 486DX y con solo 16MB de memoria RAM.

DHCP:

Siglas en ingles de Dynamic Host Configuration Protocol o “Protocolo de configuración dinámica de host”. Es un protocolo de red que permite a los cliente de una red obtener sus parámetros de configuración de forma automática. Se trata de un protocolo cliente/servidor donde el servidor designa las direcciones a los clientes de acuerdo a una lista donde se da un seguimiento de cuales direcciones están disponibles y cuales ya no.

Framework:

En el desarrollo de software, un framework o infraestructura digital es una estructura conceptual y tecnológica que puede servir de base para la organización y desarrollo de aplicaciones. Generalmente incluye soporte de programas, bibliotecas y lenguaje interpretado entre otras herramientas para ayudar al desarrollo y unión de los diferentes componentes de un proyecto.

i386:

El Intel i386 es un microprocesador CISC con arquitectura x86. Fue empleado como unidad central de procesamiento de muchos ordenadores personales desde mediados de los años 80 hasta principios de los 90. Representó una importante evolución en el desarrollo de procesadores ya que introdujo la arquitectura de 32 bit. Por esto último es por lo que a todo procesador de arquitectura de 32 bits se le denomina i386.

initramfs:

Es una característica introducida en el kernel Linux desde la serie 2.6 para optimizar la carga del sistema operativo GNU/Linux. En esencia es un sistema de archivos raíz o root que permite a la computadora cargar el verdadero sistema de archivos durante el proceso de arranque de esta.

IP:

En ingles son las iniciales para Internet Protocol o Protocolo de Internet. Una dirección IP es una etiqueta numérica asignada a cada dispositivo conectado en una red de computadoras que utilice el protocolo de Internet para establecer un sistema de comunicaciones.

LibreOffice:

Es un paquete de aplicaciones de ofimática, es el equivalente gratuito y libre de la suite de oficina Microsoft Office. A la fecha de la realización de este documento la versión mas actual es la 4.1.

MAC:

Por sus siglas en ingles Media Access Control es la dirección física designada a una interfaz de comunicaciones de cualquier dispositivo que posea una. Esta en un identificador alfanumérico único que es utilizado en el protocolo de comunicaciones Ethernet.

Motherboard:

Una tarjeta madre en ingles es un circuito impreso que contiene los principales componentes de una computadora o de otros dispositivos. Contiene puertos en donde pueden conectarse otros circuitos o tarjetas electrónicas. En esta se instalan el procesador y la memoria de la computadora, periféricos, unidades de almacenamiento, etc.

POST:

Es el acrónimo en ingles para Power-On Self-Test o Auto prueba de encendido. Este es un proceso de verificación e inicialización de los componentes de entrada y salida en un sistema de cómputo que se encarga de configurar y diagnosticar el estado del hardware. RAM:

Siglas en ingles para Random Access Memory o Memoria de Acceso Aleatorio. Se utiliza como memoria de trabajo para el sistema operativo así como para la carga de los programas y la mayoría de las aplicaciones que se ejecutan en una computadora.

SSH:

En ingles Secure Shell o intérprete de ordenes segura, es el nombre de un protocolo y del programa que lo implementa. Este protocolo sirve para acceder a maquinas de forma remota a través de una red.

TFTP:

En ingles son las siglas de Trivial file transfer protocol o Protocolo de transferencia de archivos trivial. Es un protocolo de transferencia de datos muy simple. Utiliza UDP en el puerto 69 como protocolo de transporte. No puede listar el contenido de los directorios y no posee mecanismos de autenticación o cifrado.

UDP:

Es un protocolo del nivel de transporte en la capa 4 del modelo OSI. Esta basado en el intercambio de datagramas. Permite el envío de estos a través de la red sin que haya establecido previamente una conexión ya que contiene la información de direccionamiento.

Bibliografía

Referencias bibliográficas.

1. Organización de computadoras. Un enfoque estructurado. Andrew S. Tanenbaum. 4Ta Edición.

Ed. Pearson Educacion.

2. Ubuntu Linux

Manuel David Serrat Olmos. Ed. RA-MA, 2009.

3. Administración de sistemas Linux.

James Turnbull, Peter Lieverdink, Dennis Mototek. Anaya Multimedia, 2010.

4. Redes en Linux. Carla Schroder.

Madrid, España Ed. Anaya Multimedia 2009.

5. El libro del administrador de Debian. Raphäel Hertzog, Roland Mas. May 2, 2012.

Referencias electrónicas.

1. http://wiki.ltsp.org/wiki/Installation 2. http://wiki.ltsp.org/wiki/Configuration 3. http://wiki.ltsp.org/wiki/Tips_and_Tricks/Maintenance 4. https://help.ubuntu.com/community/UbuntuLTSP 5. http://www.tuxradar.com/content/ltsp-thin-clients-made-easy 6. https://wiki.archlinux.org/index.php/Desktop_Environment 7. https://wiki.archlinux.org/index.php/Window_Manager

Anexos

.

• Manual de configuración de clientes LTSP (solo en CD) ▪ manpage-lts-conf.pdf

NAME

lts.conf - Main configuration file for LTSP SYNOPSIS

Any line beginning with a '#' is considered a comment. Options are of the format:

VARIABLE=value DESCRIPTION

This file gets parsed when LTSP client starts up. The section defined by [default] gets applied to all clients, unless there is a

specification for a particular client that overrides it. The per-client specs are prefixed by [<mac address>]

You may also name an arbitrary section with a name, with settings underneath that section. You may then inherit that section with the LIKE variable. The Example section has an illustration of this. boolean values are specified by 'Y,y,True,true' for true and 'N,n,False,false' for false

LTS.CONF - GENERAL PARAMETERS CONFIGURE_FSTAB

boolean, default True

/etc/fstab is generated by boot scripts FSTAB_0..FSTAB_9

string, default unset

Complete lines to add to /etc/fstab, for example:

FSTAB_1="server:/home /home nfs defaults,nolock 0 0" CRONTAB_01..CRONTAB_10

string, default unset

A crontab line to add for a thin client. DNS_SERVER

string, default unset

A valid IP for domain name server Used to build the client's resolv.conf file. Not needed by default.

SEARCH_DOMAIN

string, default unset

sets a valid search domain in the clients's resolv.conf file. Used to build the resolv.conf file. Not needed by default.

Needed if DNS_SERVER is set HOSTNAME

string, default unset

This parameter sets the host name for the thin client, for situations when if no DNS is available. A hostname is auto-generated if no hostname is set.

HOSTNAME_EXTRA

string, default ip

This parameter determines weather autogenerated host names are appended with information based on the ip address or mac address. Values are "ip" or "mac".

NBD_SWAP

boolean, default False

Set this to True if you want to turn on NBD swap.

If unspecified, it's automatically enabled for thin clients with less than 300 MB RAM and for fat clients with less than 800 MB RAM. NBD_SWAP_PORT

integer, default 10809

The port on which NBD swapping will occur. An nbd-server export named swap is normally used.

NBD_SWAP_SERVER

IP address, default SERVER

The NBD swap server can exist on any server on the network that is capable of handling it. You can specify the IP address of that server. The default is whatever the value of SERVER set to. NBD_SWAP_THRESHOLD

integer, default 300

Automatically enable NBD_SWAP if the client has less RAM than the specified. For FAT clients, it defaults to 800.

RM_SYSTEM_SERVICES

string, default unset

A space separated list of services that shouldn't start on the clients even if they're installed, for example:

RM_SYSTEM_SERVICES="apache2 dnsmasq mysql nbd-server nfs-kernel-server" RM_THIN_SYSTEM_SERVICES

string, default unset

Same as RM_SYSTEM_SERVICES, but it only affects thin clients. KEEP_SYSTEM_SERVICES

string, default unset

Some services are deleted by default when an LTSP client boots, either to save RAM, or because they don't make sense for netbooted machines. If you need some of them you can list them in

KEEP_SYSTEM_SERVICES, for example:

KEEP_SYSTEM_SERVICES="acpid avahi-daemon bluetooth cups" SERVER

IP address, default unset

This is the server that is used for the XDM_SERVER, TELNET_HOST, XFS_SERVER and SYSLOG_HOST, if any of those are not specified

SYSLOG_HOST

IP address, default unset

If you want to send logging messages to a machine other than the default server, then you can specify the machine here. If this

Documento similar