Configurar un Servidor LTSP

Este manual muestra cómo instalar y configurar un cliente ligero de servidor http://www.ltsp.org/ LTSP (Linux Terminal Server Project), generalmente para ser utilizado como un ambiente de clase o un laboratorio. Su principal característica es que no requiere mantenimiento de software, ni respaldos, ni gran capacidad de hardware en las estaciones de trabajo. Todo el trabajo duro lo hace el servidor centralizadamente y de una forma más eficiente.

En nuestro ejemplo vamos a utilizar para el servidor un ordenador con dos tarjetas de red, una conectada a un switch (eth0), que se conectará a los clientes ligeros y la otra a un router con acceso a una conexión estable a internet (eth1). Como cliente, puede utilizar cualquier PC o cliente ligero dedicados con un procesador i386 o amd64, siempre que sea capaz de arrancar desde red (PXE).

Preinstalación

Se hace una instalación de Trisquel LTS (Long Term Support) que es actualmente versión 6.0 en nuestro ordenador servidor. Sin olvidar que asumimos eth0 para el switch local.

Instalación

Abrimos una terminal e instalamos el paquete ltsp-server-standalone,:

sudo apt-get install ltsp-server-standalone

El protocolo de configuración dinámica de anfitrión o Dynamic Host Configuration Protocol [DHCP] es un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de configuración automáticamente.

Esto instalará las dependencias necesarias, incluido el servidor dhcp, el cual tendremos que configurar con la siguiente orden:

sudo gedit /etc/default/isc-dhcp-server

Se edita el archivo y configura la interfaz de red que funcionará como servidor a través del switch. En nuestro caso, se verá así:

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"

Se configura una red de IP estática definiendo los parámetros para la interfaz ethernet que se conecta al switch. Se modifica el archivo

sudo gedit /etc/network/interfaces

con los parámetros, en este caso usaremos los de una red privada clase C, agregamos al archivo;

#Configuración de Red Servidor LTSP
auto eth0
iface eth0 inet static
address 10.10.10.10
netmask 255.255.255.0
network 10.10.10.0
broadcast 10.10.10.255
gateway 10.10.10.1

Configuramos los parámetros de la red que usarán los clientes ligeros, manera que coincida con la que servirá eth0, editamos:

sudo gedit /etc/ltsp/dhcpd.conf

Se modifican los valores por defecto en este archivo, en este caso se verá así:

authoritative;

subnet 10.10.10.0 netmask 255.255.255.0 {
    range 10.10.10.20 10.10.10.250;
    option domain-name "example.com";
    option domain-name-servers 10.10.10.1;
    option broadcast-address 10.10.10.255;
    option routers 10.10.10.1;
#    next-server 192.168.0.1;
#    get-lease-hostnames true;
    option subnet-mask 255.255.255.0;
    option root-path "/opt/ltsp/i386";
    if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
        filename "/ltsp/i386/pxelinux.0";
    } else {
        filename "/ltsp/i386/nbi.img";
    }
}

Debemos reiniciar los servidores para aplicar los cambios:

sudo service isc-dhcp-server restart
sudo service network-manager restart

Tenga en cuenta que no es necesario que los clientes ligeros tengan ruta a Internet.

Creando la imagen

El siguiente paso es crear la imagen que los clientes van a cargar cargar. Como una recomendación general utilice la arquitectura i386 para los clientes,

sudo ltsp-build-client --arch i386

Se recomiendan las opciones --copy-package-cache y --keep-package para poder reducir errores al obtener los paquetes.

Así mismo se puede especificar el uso de repositorios específicos;

--mirror http://archive.trisquel.info/trisquel
--security-mirror http://ejemplo.archive.trisquel.info/trisquel
--updates-mirror http://ejemplo.org/archive.trisquel.info/trisquel

Este proceso toma un tiempo dependiendo de la velocidad de la conexión a internet y los recursos del servidor, cuando termina, se reinicia el servidor nbd,

sudo service nbd-server restart

una vez hecho esto puede conectar los clientes al switch y arrancar usando PXE/Network Boot (tendrá que configurar la BIOS para hacer esto) con el/(los) usuario/(s) del servidor.

Para remover la imagen

Creada solo si es necesario eliminar los directorios según la arquitectura

ej.
sudo rm -rf /opt/ltsp/i386
sudo rm -rf /opt/ltsp/amd64/

Configuración

El cliente tiene soporte de sonido, CD, USB, y disco flexible que se monta automáticamente, para activar la opción de escritura en los clientes sobre unidades locales, es necesario que los usuarios de los clientes ligeros sean agregados al grupo fuse

De esta manera los usuarios en los clientes podrán copiar archivos a las unidades extraíbles conectadas en los clientes ligeros (ejemplo memorias USB).

Despues de crear la imagen

Es recomendable crear un usuario de prueba para los clientes

sudo adduser usuario1

además es necesario configurar un archivo muy importante en el servidor, este archivo no se crea automáticamente durante la instalación y contendrá toda la personalización de nuestros clientes,

sudo nano /var/lib/tftpboot/ltsp/i386/lts.conf

y a este agregar como primer configuración la sesión que hemos instalado e iniciaremos por default,

[DEFAULT]
#Sesión Trisquel (GNOME Classic)
LDM_SESSION = "gnome-session --session=gnome-classic"
#Sesión Trisquel Mini (LXDE)
#LDM_SESSION = "starttrisquel-mini"

De esta forma solo se activa la sesión que se quiera iniciar, el ejemplo de arriba es para iniciar la sesión de Trisquel (GNOME Classic), en su defecto seleccione manualmente la sesión de la versión que este usando en cada terminal (Trisquel Mini, Triskel, etc.) u obtendrá un error al tratar de iniciar sesión.

Más detalles con respecto al archivo lts.conf en el manual de LTSP.

Algunos consejos

  • Se recomienda usar epoptes como programa de administración de clientes.
  • Cada sesión de usuario se carga en el servidor, por lo que se necesita una máquina relativamente poderosa. Un enlace Gigabit se recomienda entre el servidor y el switch de cliente. También es una buena idea utilizar discos rápidos en el servidor, o incluso sistemas RAID, y es muy recomendable usar equipos multiprocesador para los servidores.
  • La primera sesión de usuario para cargarse consume entre 250 y 300 MB de RAM, y cada período de sesiones siguiente se utilizan entre 50 y 80 MB. Esto puede ayudar a calcular la cantidad de memoria RAM necesaria para el servidor, pero tenga en cuenta que esto puede variar dependiendo de que programas el usuario esta cargando.
  • Los requisitos mínimos para los clientes son 64MB de RAM y un procesador x86 (i686, recomendado) o arquitecturas x86_64 (amd64), ya que a partir del upstream en el que se basa Slaine, se dejó de soportar procesadores que no tuvieran la instrucción cmov. Los valores recomendados son un procesador de 800Mhz y 128MB de RAM.
  • Puede usarse la opción de aplicaciones locales de manera que se pueda ahorrar ancho de banda y consumo de recursos en el servidor en instalaciones con numerosos clientes.
  • Opcionalmente puedes revisar la Documentación de LTSP de Ubuntu o preguntar en nuestro foro.

Revisiones

12/14/2010 - 05:29
ovruni
01/21/2011 - 14:20
anonymous
07/20/2012 - 22:52
kakashi
08/22/2012 - 00:46
paul6321
08/22/2012 - 16:38
quiliro
09/10/2012 - 16:54
MagicFab
01/12/2014 - 09:40
Diego Saavedra
02/10/2014 - 09:37
Ark74