LTSP
Introdución
Linux Terminal Server Project ou LTSP é un proxecto que abrangue un conxunto de aplicacións que proporcionan a capacidade de executar GNU/Linux en computadores de baixas prestacións e baixo custe. Deste xeito, LTSP permite a reutilización de equipos obsoletos fronte aos altos requirimentos dos sitemas operativos actuais. A última versión estable é a 5.0 (10 de marzo do 2007). Esta versión, LTSP-5, tenta integrar o proceso de instalación nas distribucións Linux mais frecuentes, como Ubuntu ou Debian. Así, non é necesario descargar os ficheiros de instalacion dende a web de LTSP, senón que é suficiente instalar os paquetes que proporciana a distribución de Linux correspondente.
LTSP é unha solución para a computación baseada en clientes lixeiros (thin clients). Con todo existen outras solucións igualmente válidas.
LTSP é un servidor de terminais (clientes), isto quere dicir que o equipo que fai de servidor envía aos clientes, por medio da rede, o núcleo do sistema operativo Linux. Ao núcleo tamén se lle chama kernel e é a parte fundamental do sistema operativo. Posteriormente, os clientes executarán scripts típicos para poder funcionar como un computador “normal”. Dende os terminais pódese acceder ás aplicacións, que en LTSP normalmente se executan no servidor, por medio dunha consola en modo texto ou mediante un escritorio gráfico.
LTSP adoita a verse no eido educativo debido ao seu baixo custe de implantación e mantemento. De feito, distribucións educativas, como Edubuntu, Skolelinux ou K12LTSP, inclúeno como ferramenta. Neste sentido, esta solución é óptima non só para as aulas, senón tamén para outros ámbitos do centro, como a biblioteca ou un punto de acceso a Internet.
Outro uso bastante estendido, aínda que con maior complexide de implantación, é no ámbito empresarial onde os thin clients] permiten á empresa o manexo simple e a xestión efectiva de estacións de traballo que non requiran alto rendimiento gráfico. É decir, un posto dun empregado habitual que pode executar un paquete ofimático e aplicacións usuais de Internet (navegador, cliente de correo, etc.). Isto supón un aforro de custes en equipamento pero tamén unha facilidade á hora de administrar os sistema, xa que está centralizado.
Diagrama e funcionamento
O diagrama do sistema LTSP é o que vemos na figura.
Aparentemente non é un esquema moi distinto dunha rede de computadores típica, na que hai un servidor e varias estacións conectadas mediante un dispositivo de rede. Neste caso temos un switch ou conmutador que conecta o servidor LTSP coas estacións, e un router ou encamiñador que dá saída a Internet a todo o conxunto. Xa que logo, o servidor ten dúas tarxetas de rede. A peculiaridade de LTSP é que as estacións son clientes lixeiros ou, incluso, poderían ser estacións sen disco que cargan e executan os programas no servidor central, pero visualizándoos na pantalla do cliente.
Secuencia de arrinque
Para converter un computador nun cliente lixeiro hai que executar unha mini versión de Linux no terminal. Este arrinca a mini versión de Linux pola rede, xa que probablemente non teña un disco ríxido propio. Esta mini instalación de Linux está aloxada no servidor e chámase contorno chroot (chroot environment). Pode haber varios deles no servidor dependendo da arquitectura das CPU dos clientes. Normalmente están no cartafol /opt/ltsp
no servidor cun sucartafol para cada arquitectura. Por exemplo, se temos unha aula con Macs Power PC vellos e outra con PC teremos dous cartafoles no servidor, un /opt/ltsp/ppc
e outro /opt/ltsp/i386
. Para realizar tarefas de actualización e administración é suficiente modificar o contido da cartafol chroot.
O proceso de arrinque faise en varios pasos. A tarxeta de rede do cliente ten que ter soporte PXE (Preboot eXecution Environment) ou teremos que facer o arrinque mediante un dispositivo de almacenamento externo como unha chave USB, un CD, etc. (ver cargadores de arrinque). O cliente ten que estar configurado na BIOS para que arrinque por rede (ou polo dispositivo axeitado).
A seguinte táboa amosa o intercambio que se produce entre o cliente e o servidor para completar a secuencia de arrinque do sistema:
Cliente lixeiro | Servidor de terminais |
---|---|
1. Encendemos o terminal e a tarxeta de rede realiza unha solicitude DHCP. | 2. O servidor recibe a solicitude e envía unha resposta DHCP proporcionando unha dirección IP e o nome do ficheiro a descargar (o kernel). |
3. Envía unha solicitude TFTP (Trivial FTP), para obter o kernel. | 4. Recibe a solicitude e envíalle o kernel |
5. Neste punto o kernel comeza a executarse: monta un sistema de ficheiros na RAM do cliente (initramfs) cos drivers necesarios para a tarxeta de rede, o rato, o teclado, a tarxeta de son, etc. Envía outra solicitude DHCP para completar a configuración. | 6. Recibe a solicitude DHCP e envía unha resposta incluíndo a ruta ou punto de montaxe do sistema de ficheiros raíz (chroot). |
7. O NFS envía unha solicitude para montar o cartafol correspondente, por exemplo, /opt/ltsp/i386 e convertelo no sistema de ficheiros raíz para o cliente.
|
8. O servidor permite a operación e sérvelle os datos vía NFS. |
9. O cliente executará unha serie de scripts para configurar varios aspectos do contorno que lerán o ficheiro lts.conf , e lanza unha solicitude ao LTSP Display Manager (LDM) no servidor.
|
10. Recibe a solicitude e mostra unha pantalla de conexión ao sistema para o usuario como a da figura. |
Hardware
Pódense ter moitos clientes funcionando cun único servidor GNU/Linux, pero a pregunta é: cantos? E a resposta é… depende. Hai dous factores que determinan o número de posibles clientes:
- O tamaño do servidor
- As aplicacións que se van usar
Por poñer un exemplo, pódese dar servizo a 30 clientes concurrentes cun servidor Intel Core2 Duo 2.40 GHz (un PC clónico normal con discos SATA), con 3GB de RAM, obténdose picos de carga máxima de CPU de: 55%.
Requirimentos dos clientes
O principal obxectivo dunha instalación LTSP, normalmente, é reciclar hardware existente que o centro educativo ten obsoleto. Neste sentido, hai tres aspectos a ter en conta que determinan se un equipo serve ou non para funcionar como cliente lixeiro:
- A CPU
- A rede
- A tarxeta de vídeo
CPU
Calquera CPU a 233 MHz ou máis proporcionará resultados aceptables. Para un rendemento óptimo recoméndase un procesador a 533 MHz.
Rede
Os clientes lixeiros arrincan usando un pequeno programa chamado cargador de arrinque por rede. Este cargador frecuentemente está localizado na ROM da propia tarxeta de rede. Existen, con todo, tarxetas vellas que non o teñen. Neste caso hai que usar un dispositivo de almacenamento externo, como un floppy ou un CD-ROM, que permitirá arrincar igualmente cargándolle directamente a imaxe do kernel.
Existen varios cargadores que se usan para este propósito:
- PXE: Inclúeno en ROM a maior parte das tarxetas de rede e as placas base con tarxetas de rede integradas. É o máis frecuente e é o método por defecto en LTSP.
- Etherboot: Existe a versión en ROM na tarxeta de rede e a unha versión por software que permiten tamén o arrinque. Pode usarse un floppy, unha chave USB, un CD-ROM, etc. Na seguinte ligaxón hai máis información sobre este aspecto: LTSPEtherbootSetup
- Yaboot: Para computadores Macintosh PowerPC (iMac e posteriores) pode usarse este cargador.
Tarxeta de vídeo
Unha tarxeta de vídeo cun bus PCI e 2 MB ou máis de memoria é suficiente.
Requirimentos do servidor
Un sistema LTSP é bastante escalable. Un servidor medianamente potente pode atender a varios clientes e se se precisa engadir máis estacións pódese aumentar a capacidade do servidor ou, incluso, engadir máis servidores.
Como xa se comentou, os requirimentos do servidor dependerán do que se queira facer cos clientes e do número de clientes no sistema. Non é o mesmo ter unha rede con clientes que non requiran grandes aplicacións, que unha rede con clientes que visualizan gráficos pesados, xogos interactivos e animacións multimedia. As seguintes recomendacións son unha guía para unha configuración "estándar" do servidor.
Memoria RAM
Calquera servidor GNU/Linux usa a memoria eficientemente pero, aínda sí, é un recurso escaso. A fórmula que se pode usar para determinar a memoria que debe ter un servidor LTSP é a seguinte:
RAM necesaria = 256 + (128 * usuarios) MB
Así, se queremos ter un servidor con 20 terminais precisaríamos:
256 + (128 * 20) = 256 + 2560 = 2816 MB
É dicir, 3 GB de memoria RAM para 20 terminais. A memoria é un factor determinante no correcto funcionamento dun sistema LTSP. Se non se ten suficiente memoria o servidor estará usando o disco ríxido constantemente, moito máis lento, coa correspondente perda de eficiencia.
Procesador
Novamente, a velocidade do procesador está determinada polo tipo de aplicacións que se vaian utilizar. Por exemplo, o uso exhaustivo de Java e Flash no navegador web poden consumir bastante CPU.
Nun escenario estándar, é dicir, navegación e ofimática, un procesador a partir de 2GHz debería chegar para atender a uns 20 clientes.
Para 30 ou máis clientes é preciso, polo menos, un servidor cun procesador Intel core duo, ou un AMD Athlon.
Discos ríxidos
É recomendable usar algún tipo de sistema RAID (Redundant Array of Independent Disks) no servidor. Os discos en RAID, ademais de salvagardar os datos cando un disco falla, melloran o rendemento, especialmente as lecturas de disco que, por outra parte, son as operacións máis frecuentes.
Se non hai moito orzamento, cun RAID 1 (discos en espello) emulado por software, e dous discos ATA ou SATA, xa se poden obter bos resultados. Se o presuposto nolo permite unha controladora SCSI por hardware con discos SCSI proporcionará, por suposto, un alto rendemento e fiabilidade.
Rede
Para atender a máis de 20 clientes recoméndase usar conexións Gigabit Ethernet co switch correspondente. Aínda que un cliente consuma normalmente entre 0.5 e 2Mbit, pode chegar a 70Mbit ou máis, especialmente se se descarga contido multimeda da rede.
Software
Para poder arrincar un cliente LTSP é necesario ter os seguintes servizos funcionando no servidor:
- DHCP, que permite obter a configuración da rede automaticamente.
- TFTP, que permite descargar o núcleo do sistema operativo.
- NFS, que permite montar o sistema de ficheiros remoto.
- SSH, para executar o contorno gráfico de xeito seguro.
Estes servizos instalaranse cando fagamos a instalación dos paquetes ltsp-server-standalone e openssh-server.
LTSP é moi flexible, o que se traduce en que cada un dos servizos anteriores pode executarse no mesmo servidor ou en servidores distintos.
Instalación
Á hora de facer a instalación dun sistema LTSP (aplicable á versión 5.0) temos dúas opcións:
- A través de paquetes. É a opción máis sinxela e recomendable. Esta alternativa é válida só se existen paquetes integrados na distibución Linux que esteamos a usar. A día de hoxe existe integración total coas distribucións Ubuntu e Debian. A seguinte ligazón amosa unha listaxe de como se está a integrar LTSP noutras distribucións (OpenSuse, Gentoo, etc.): Ltsp5Status
- A través de ficheiros tar. É a opción que se usou até antes da versión LTSP-5. É máis laboriosa pero, de momento, é a única opción se non se usa Debian ou Ubuntu.
LTSP-5 en Ubuntu
Servidor
Para instalar un servidor LTSP en Ubuntu seguiremos os seguintes pasos:
- Configurar unha dirección IP estática para a tarxeta de rede do servidor que se conectará ao switch. A este switch tamén se conectarán os clientes (ver diagrama). Se configuramos a tarxeta de rede coa IP 192.168.0.1 non será necesario editar o ficheiro
/etc/ltsp/dhcpd.conf
nin reiniciar o servidor DHCP. Para máis información sobre a configuración do servizo DHCP visita o wiki de LTSP - Instalar os paquetes
ltsp-server-standalone
eopenssh-server
. Para elo teclearemos o seguinte en liña de comandos:sudo apt-get install ltsp-server-standalone openssh-server
Pedirásenos atomaticamente confirmación para instalar outros paquetes necesarios para o correcto funcionamento do sistema. Esta é unha das grandes vantaxes de usar paquetes no canto de ficheiros tar: - Crear no servidor o contorno de execución para os clientes. Para elo executaremos o seguinte comando:
sudo ltsp-build-client
Se se cambia a configuración IP despois de ter feito a configuración inicial hai que executar o seguinte comando para que o servidor SSH incorpore os cambios:
sudo ltsp-update-sshkeys
Clientes
Seguindo os pasos anteriores xa deberiamos poder arrincar un cliente cunha tarxeta de rede con soporte PXE. Se a tarxeta non ten soporte PXE pódese crear un CD ou floppy de arrinque, que conterá a imaxe ROM para arrincar. Na ligazón rom-o-matic.net pódense obter estas imaxes para diferentes tarxetas.
Toda a configuración dos clientes está no servidor no ficheiro /opt/ltsp/i386/etc/lts.conf
, xa que o cliente pode non ter disco. Para unha explicación detallada de todos os parámetros deste ficheiro pódese consultar o wiki de LTSP. Cada vez que se faga un cambio no ficheiro lts.conf
hai que executar o comando:
sudo ltsp-update-image
LTSP-5 noutras distribucións
Para realizar a instalación noutras distribucións, LTSP proporciona instrucións na seguinte ligazón: Ltsp_5_on_Other_distributions
Vantaxes dos clientes lixeiros
Sen ánimo de entrar en polémicas sobre a conveniencia ou non de usar thin clients fronte ao chamados thick clients, cítanse a continuación algunhas das súas vantaxes:
- Facilidade de administración. Ao estar a administración centralizada existen menos potenciais puntos de fallo e, xa que logo, o sistema será máis seguro, mellorando a integridade dos datos. Asemade, cando falle algún elemento hardware será máis doado de identificar.
- Menor custe de hardware. De feito permite a reciclaxe de equipos obsoletos.
- Menor consumo de recursos. Non só informáticos, senón tamén enerxéticos, derivado do hardware de baixas prestacións que se usa nos clientes, ademais de xerar estes menor ruído.
- Gran escalabilidade. Chega con aumentar a capacidade do servidor ou o número de servidores para ampliar o sistema que, por outra parte, é moi modular.
- Facilidade de actualización dos programas. Existe un único punto, o servidor, dende o que os clientes exectuan os programas. É suficiente con modificar o software que o servidor proporciona nun único punto para ter todos os prograas actualizados, no canto de ter que ir PC a PC actualizando as aplicacións.
Alternativas a LTSP
Existen múltiples iniciativas relacionadas cos clientes lixeiros. Unha das máis representativas é ThinStation. Na seguinte ligazón podemos crear unha imaxe ThisStation personalizada para que cargue o cliente: http://www.thinstation.net/TSoM/ http://www.thinstation.net/TSoM/]
Referencias
- Páxina oficial de LTSP. Contén abundante documentación técnica para a instalación, dimensionamento e configuración de todo o sistema.
- Casos de éxito de instalacións LTSP. Inclúe experiencias internacionais e estatais
- Exemplo de funcionamento: Vídeo que amosa como arrinca un cliente lixeiro cun servidor LTSP.
- Páxina web oficial de etherboot
- Páxina web oficial de Edubuntu