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.