LTSP Print
CAJON DE SASTRE - Cajon de sastre
Written by Javier Sagues   
Tuesday, 08 February 2011 22:46
There are no translations available.

Un cliente ligero es únicamente un dispositivo de entrada y salida de datos en el que, aunque el usuario no lo sepa, no se almacena información alguna, ni se realiza proceso de datos alguno. Toda la carga de trabajo recae en el servidor. ¿Que tipo de servidores dan este servicio?

1. Objetivos


El objetivo de esta guía es desplegar un servidor de clientes ligeros configurándolo para clientes con arquitectura de 32 y 64 bits.

2. Introducción a los servidores de Clientes Ligeros

La primera pregunta que nos haremos es ¿Que es un cliente ligero?.

"Es una computadora cliente o un software de cliente en una arquitectura de red cliente-servidor que depende primariamente del servidor central para las tareas de procesamiento, y principalmente se enfoca en transportar la entrada y la salida entre el usuario y el servidor remoto." (Wikipedia).

Es decir un cliente ligero es únicamente un dispositivo de entrada y salida de datos en el que, aunque el usuario no lo sepa, no se almacena información alguna, ni se realiza proceso de datos alguno. Toda la carga de trabajo recae en el servidor.

 

¿Que tipo de servidores dan este servicio?

Existen soluciones para todos los sistemas operativos y por lo tanto cualquier servidor podrá dar este servicio. Este manual esta centrado en un servidor genérico al que vamos a instalar una versión modificada de Ubuntu Server. Esta imagen esta basada en el Proyecto de Servidor de Terminales Linux o LTSP ( Linux Terminal Server Proyect). Lógicamente dependiendo del servidor se podrá dar servicio a mas o menos clientes.


¿Que es y como se mira la MAC de una interfaz de red?

"La dirección MAC (siglas en inglés de Media Access Control o control de acceso al medio) es un identificador de 48 bits (6 bloques hexadecimales) que corresponde de forma única a una ethernet de red. Se conoce también como la dirección física en cuanto a identificar dispositivos de red. Es individual, cada dispositivo tiene su propia dirección MAC determinada y configurada por el IEEE (los últimos 24 bits) y el fabricante (los primeros 24 bits) utilizando el OUI. La mayoría de los protocolos que trabajan en la capa 2 del modelo OSI usan una de las tres numeraciones manejadas por el IEEE: MAC-48, EUI-48, y EUI-64 las cuales han sido diseñadas para ser identificadores globalmente únicos. No todos los protocolos de comunicación usan direcciones MAC, y no todos los protocolos requieren identificadores globalmente únicos.

Las direcciones MAC son únicas a nivel mundial, puesto que son escritas directamente, en forma binaria, en el hardware en su momento de fabricación. Debido a esto, las direcciones MAC son a veces llamadas "Direcciones Quemadas Dentro" (BIA, por las siglas de Burned-in Address)." (Wikipedia)

En resumen la dirección MAC es un identificador de la interfaz de red que estamos utilizando y es único para esta. Sirviéndonos de ella podemos identificar un pc en concreto.

Para conocer la dirección MAC de una interfaz de red ejecutaremos los siguientes comandos:

Bajo Linux: en el terminal ejecutamos ifconfig

El área enmarcada en rojo es la MAC de la interfaz eth0

Bajo windows: Abrimos una consola Inicio → Ejecutar → CMD y ejecutamos ipconfig /all

 

El área enmarcada en rojo es la MAC de la interfaz.

¿En que protocolos se basa un servidor de clientes ligeros?

PXE

"Preboot eXecution Environment (PXE) (Entorno de ejecución de prearranque), es un entorno para arrancar e instalar el sistema operativo en ordenadores a través de una red, de manera independiente de los dispositivos de almacenamiento de datos disponibles (como discos duros) o de los sistemas operativos instalados." (Wikipedia)

En nuestro caso PXE se utiliza para cargar una minimagen de Linux que no se instalara en el equipo destino. Etherboot o Yaboot se utilizan para lo mismo en este sistema para obtener del servidor la minimagen de Linux.


TFTP

"TFTP son las siglas de Trivial file transfer Protocol (Protocolo de transferencia de archivos trivial). Es un protocolo de transferencia muy simple semejante a una versión básica de FTP. TFTP a menudo se utiliza para transferir pequeños archivos entre ordenadores en una red, como cuando un terminal X Window o cualquier otro cliente ligero arranca desde un servidor de red." (Wikipedia)


DHCP

"DHCP (siglas en inglés de Dynamic Host Configuration Protocol - Protocolo de configuración dinámica de host) es un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de de configuración automáticamente. Se trata de un protocolo de tipo cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinámicas y las va asignando a los clientes conforme éstas van estando libres, sabiendo en todo momento quién ha estado en posesión de esa IP, cuánto tiempo la ha tenido y a quién se la ha asignado después."(Wikipedia)

 

NBD

"In Linux, a network block device is a device node whose content is provided by a remote machine. Typically, network block devices are used to access a storage device that does not physically reside in the local machine but on a remote one. As an example, the local machine can access a fixed disk that is attached to another computer." (Wikipedia)

Un NBD es un contenido que reside en un servidor y es utilizado por un cliente como si fuese un contenido local. Por ejemplo como si fuese un cd de instalación.

3. ¿Razones para instalar un servidor de clientes ligeros bajo Linux?


A nivel de software

La primera razón y ante todo es que al usar un sistema operativo bajo licencia GNU/GPL como Linux obtendremos un producto de calidad, sin coste de licencias (En windows se pagan a nivel de servidor y de usuario) y mucho mas seguro que otros sistemas operativos. Este sistema se puede implementar en casi cualquier distribución de Linux nosotros hemos elegido Ubuntu ya que es la que mas soporte de la comunidad tiene, así como ciertos paquetes orientados a la educación que nos serán útiles

 

Costes de software


Windows

Ubuntu

Servidor

1200 euros (Aproximadamente)

0

Clientes

100 euros por cliente

0

Estas diferencias de costes se disparan si tenemos que dar servicio a una cantidad media o alta de usuarios pudiendo llegar a ser de hasta 11000 euros para 100 clientes.

A nivel de hardware

El ahorro en equipos y material informático derivado de trabajar con clientes ligeros es también muy alto ya que se pueden reciclar equipos antiguos de hasta 10 años de antigüedad y el usuario estará utilizando un sistema operativo actual.

 

Necesidades de hardware del cliente


Windows 7

Ubuntu lts

Procesador

1 GHz

300 MHz

RAM

1 GB

128 MB

Disco Duro

16 GB

0

Tarjeta Gráfica

Directx 9

2 MB

Como puede verse en la tabla comparativa superior los requisitos para un cliente ligero son prácticamente nulos pudiendo utilizarse ordenadores de muy bajo coste.

A nivel de Administración

El trabajar con un sistema centralizado de datos nos permite un mayor control de acceso a los usuarios así como una gestión mas sencilla de las copias de seguridad.

 

4. Requisitos

4.1. Cliente Ligero

Los requisitos a nivel de hardware son los mismos que pusimos en la tabla anterior:

  • Procesador: Funciona con procesadores desde 300 MHz para un mejor rendimiento se recomienda usar procesadores superiores a 600 MHz
  • Red: Posibilidad de arrancar mediante PXE, Etherboot o Yaboot.
  • Tarjeta Gráfica: Al menos 2 MB de memoria gráfica.
  • 128 MB de memoria RAM

4.2. Servidor LTS

Como Ubuntu es un sistema escalable y ligero un servidor de rango medio podrá servir muchos terminales y en caso de ser necesario podrá ampliarse o simplemente desplegar un Cluster de servidores.

  • Memoria RAM: Los requisitos de memoria RAM son como mínimo 256 MB para el sistema mas 128 MB por cada usuario, aunque se recomienda 512MB para el sistema y 256MB para cada usuario. Dependiendo de la carga de trabajo que genera cada cliente se necesitara mas o menos RAM por lo que sera recomendable tener una gran cantidad de memoria RAM en nuestro servidor.

  • Procesador: El procesador que requiere nuestro servidor LTS deberá ajustarse a la carga de trabajo a la que lo vayamos a someter ya que el sistema se puede implementar en prácticamente cualquier procesador actual. Con un procesador I7 950 o Phenom II X6 podríamos dar servicio a muchos clientes.

  • Disco Duro: Los discos duros deben ser lo mas rápidos posible ya que todos los usuarios estarán generando operaciones de lectura/escritura sobre ellos y son la parte mas lenta de cualquier ordenador actual. Podríamos instalar discos duros SSD o discos raptor de la marca Western Digital en Raid 5.

  • 2 Tarjetas de red si queremos disponer de servicio dhcp en el servidor sino únicamente 1 tarjeta.

 

4.3. Software

El sistema que vamos a instalar es el Ubuntu 10.10 Alternate x64. La versión es la de x64 debido a que el servidor tendrá una cantidad de RAM superior a 4 GB.

 

5. Contenido

5.1. Instalación del sistema operativo

La instalación se realiza como la de cualquier sistema operativo Linux pero tiene una única variación


Una vez hemos elegido el idioma debemos pulsar la tecla F4 y elegir el modo de instalación en Instalar un servidor LTSP de esta manera el sistema nos instalara todo lo necesario y lo dejara configurado aunque luego nosotros haremos nuestras modificaciones.

Las particiones debemos realizarlas utilizando todo el disco duro disponible a no ser que tengamos otros sistemas operativos, si los tuviésemos deberíamos adecuar nuestro sistema al espacio libre disponible.

5.2. Ajustes del LTS

Para un correcto funcionamiento del LTS deberemos crear la imagen para los equipos que tengan procesadores de arquitectura x86. Esto nos obligara a tocar la configuración del DHCP, LTS y NBD.

Los dos archivos que examinaremos son el inetd.conf localizado en /etc/inetd.conf y el archivo default localizado en /var/lib/tftpboot/ltsp/amd64/pxelinux.cfg/default (De este archivo tendremos 2 versiones una en amd64 y otra en i386 al terminar los ajustes).

El archivo inetd.conf contendrá nada mas terminar la instalación una linea similar a la siguiente:

Como se puede observar en el archivo inetd.conf nos indica el puerto en el que se ha iniciado el servicio y la ruta de la imagen a cargar. Una vez cargada esa minimagen llamara al servidor NBD que cargara una imagen mas grande con la que iniciara sesión en el servidor. Es imprescindible que coincidan los puertos del archivo default y del inetd.conf.

Bien una vez comprobado que nuestros archivos están correctamente configurados vamos a crear la imagen para procesadores de arquitectura x86 ya que ahora mismo solo podrían iniciar sesión en el servidor procesadores de arquitectura x64. Para crear la imagen de arranque para los ordenadores de x86 lanzamos el siguiente comando por terminal:

sudo ltsp-build-client ---arch i386

El proceso dura unos minutos pero una vez terminado tendremos que observar la configuración de tres archivos:

/etc/inetd.conf

/var/lib/tftpboot/ltsp/amd64/pxelinux.cfg/default

/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default

 

En inetd.conf debemos tener una linea mas quedando así :

Los archivos default de las 2 imágenes deben quedar de la siguiente manera:


Bien con estos pasos nuestro servidor estará configurado para servir a clientes de x86 y x64 pero debemos indicar en el DHCP que imagen se va a servir a que equipo.

5.2.1. Configuración de un DHCP bajo Linux

 

En el cuadro de la derecha se muestra la configuración de 2 grupos en un DHCP bajo Linux

Tres son los campos importantes en la configuración de un ltsp en el DHCP

next-server 145.220.10.254;

Nos indica la ruta del servidor


filename "ltsp/amd64/pxelinux.0";

Nos indica la imagen de pxe que vamos a cargar

option root-path

"145.220.10.254:/opt/ltsp/amd64";

Nos indica donde se encuentra la siguiente imagen a cargar.

Estos 3 valores se pueden poner a nivel de equipo, grupo o general. Pero si queremos dividir las conexiones por x86 y x64 debemos dividirlos en grupos.

 

5.2.2. Configuración de un DHCP en Windows.

La configuración de un DHCP en windows se realiza en las reservas de las Ips. Realiza una nueva reserva y en las opciones de reserva se deben añadir:

  • 017 Ruta de acceso Raíz "/opt/ltsp/i386" o "/opt/ltsp/amd64"

  • 066 Nombre de host de serv. de inicio 145.220.10.254"

  • 067 Nombre de archivo de inicio "ltsp/i386/pxelinux.0" o "ltsp/amd64/pxelinux.0"



Con esto la maquina a la que le hayamos realizado la concesión podrá conectarse al servidor.

5.3. Instalación de los Programas

Una vez instalado el sistema vamos a instalar todos los programas que utilizaremos tanto como administrador como a los que queramos dar acceso a los usuarios.

 

sudo apt-get install thin-client-manager-gnome

sudo apt-get install edubuntu-desktop

sudo apt-get install vlc

sudo apt-get install avidemux

sudo apt-get install audacity

sudo apt-get install subversion

sudo apt-get install flashplugin-nonfree

sudo apt-get install wine

sudo apt-get install freemind

Una vez instalados los paquetes vamos a personalizar los escritorios del profesor y del alumno con Sabayon.

5.4. Archivo de configuración lts.conf

Cuando se diseño el LTSP uno de sus requisitos era poder gestionar la gran cantidad de hardware existente en el mercado por lo que la gran mayoría de los equipos se configuraran correctamente. No obstante habrá equipos que no se configuren correctamente y tendremos que asignarles una configuración personalizada en el archivo lts.conf localizado en /opt/ltsp/i386/etc. Este es un ejemplo de archivo de configuración:

Como se puede observar en el archivo tenemos una configuración default para todos los clientes y luego podemos ir asignando una configuración concreta a los equipos diferenciadolos por su MAC.

En el siguiente enlace encontraremos mucha información de los parámetros que podremos colocar en el archivo LTSP.

 

5.5. Personalización del escritorio con Sabayon

Creamos 2 usuarios que sean alumno y profesor con permisos de usuarios de Escritorio ya que no queremos que tengan acceso a ciertas partes del sistema.

Sistema → Administración → Usuarios y Grupos → Añadir



Una vez creados los usuarios podemos iniciar el Sabayon e ir configurando los menús a nuestro gusto

Sistema → Administración → Editor de perfiles de usuario.




Nos abrirá una ventana en la que podremos añadir quitar paneles y personalizar los menús Dependiendo de los programas a los que les queramos dejar acceder les pondremos unos accesos u otros. Una vez terminado guardamos el perfil y ya tendremos ese usuario o grupo de usuarios personalizado.


Con esto tenemos ya el servidor funcionando y los usuarios personalizados.

 

5.6. Que hacer si la tarjeta de red no dispone de PXE

 

Si nuestra tarjeta de red no dispone de PXE al ser muy antigua podemos crear un disquete de arranque que emule PXE. Para ello necesitaremos los siguientes materiales:

  • 1 Disquete de 3 ¼.

  • Una tarjeta de red compatible Listado

  • CD de Windows 2003 Enterprise


Bien en el cd de Windows 2003 iremos a la carpeta I386 y buscaremos el archivo rbfg.ex_. Lo copiamos a la raíz de C para mas comodidad. Abrimos una consola Inicio → Ejecutar → CMD y escribimos después de ubicarnos en C:.

expand rbfg.ex_ rbfg.exe

Con eso nos aparecerá en C: el ejecutable rbfg.exe ( NO VALE CON RENOMBRAR rbfg.ex_). Ejecutamos el archivo rbfg.exe y en la ventana le damos a crear disquete (Si nos diese algún problema le damos formato al disco ). Arrancando con este disquete emularemos el PXE.

6. Gestión de Usuarios con el gestor de clientes ligeros

 

Para abrir el gestor únicamente deberemos ir a Sistema → Administración → Thin Client Manager


Se nos abrirá una ventana como la inferior en donde podemos gestionar los procesos, el bloqueo de pantalla, ejecutar un programa concreto en la ventana de un cliente o desconectarle. Es una interfaz muy intuitiva por lo que no requiere mucha mas explicación.




7. Enlaces

Documentación General del proyecto LTSP (INGLES)

https://help.ubuntu.com/community/UbuntuLTSP/

Instalacion de un Servidor LTSP (INGLES)

https://help.ubuntu.com/community/UbuntuLTSP/LTSPQuickInstall

Configuracion de un dhcp de windows (INGLES)

https://help.ubuntu.com/community/UbuntuLTSP/LTSPWindowsDHCP

Documentación de Edubuntu (INGLES)

http://edubuntu.org/documentation

Guia de despliegue de un servidor LTSP EDUBUNTU (INGLES)

http://doc.ubuntu.com/edubuntu/edubuntu/handbook/C/server.html

Especificaciones del Protocolo PXE (INGLES)

ftp://download.intel.com/design/archives/wfm/downloads/pxespec.pdf

Documentación de Microsoft para la emulación del PXE (INGLES)

http://technet.microsoft.com/en-us/library/cc779011%28WS.10%29.aspx

Sección de la documentación de Edubuntu donde se explica el archivo lts.conf y sus parámetros.

http://doc.ubuntu.com/edubuntu/edubuntu/handbook/C/customizing-thin-client.html