Gentoo - Guía de LTSP
1.
Introducción
¿Qué es LTSP?
LTSP es la abreviatura de "Linux Terminal Server Project"
("Proyecto de Servidor de Terminales Linux"). Instalado en
un servidor proporciona a varias estaciones de trabajo (llamadas por
eso 'thin-clients') entornos idénticos. Todas las aplicaciones se
ejecutan en el servidor y por lo tanto puede utilizar viejos PCs y
convertirlos en terminales X. Esto reduce costes y mantenimiento
especialmente en un entorno donde se necesite tener un área de trabajo
uniforme en cada ordenador que usted utilice, por ejemplo en una
escuela o una empresa.
2.
Instalación
Preliminares
Todos los ejemplos en este documento presuponen que la dirección IP
de su servidor es 192.168.0.254, su dominio se llama sudominio.com y
su red es 192.168.0.0/24.
Instalación
En primer lugar, usted debe disponer de un sistema Gentoo en
funcionamiento. Por favor, lea el Manual de instalación de Gentoo para
su arquitectura en Recursos
de Documentación de Gentoo.
Después puede comenzar con el paso más sencillo, instalar el paquete
ltsp:
Listado de Código 2.1: Emerge LTSP |
# emerge ltsp
|
Lo que instalará los siguientes paquetes y dependencias:
-
XFree: Son llamados Terminales X. adivina por qué :)
-
DHCP: DHCP es un protocolo para automatizar la
configuración de ordenadores que utilicen TCP/IP, usado por ltsp
para distribuir las direcciones IP a los puestos de trabajo
('workstations').
-
NFS: NFS es un protocolo que permite acceder a los discos
duros a través de la red, usado por ltsp para montar un sistema
base para los puestos de trabajo.
-
TFTP: TFTP es un protocolo de transferencia de ficheros
simple, usado por ltsp para transferir el kernel a los puestos de
trabajo.
-
XINETD: Xinetd es un potente sustituto de inetd, con
características avanzadas, usado por ltsp para arrancar tftp.
Nota:
Si usted tiene la variable "USE" "kde" o
"gnome", también se instalará un sistema completo kde o
gnome.
|
3.
Configuración
Después de que el proceso de emerge haya acabado se deben configurar
todos los servicios:
Registro del sistema
Para analizar los problemas fácilmente, el gestor de registro del
sistema debe ser configurado para que acepte peticiones remotas. Por
favor, lea la documentación de su registro del sistema para conseguir
esto. Si, por ejemplo, está usando sysklogd, todo lo que necesita es
editar /etc/conf.d/sysklogd y añadir "-r" a la
línea SYSLOGD:
Listado de Código 3.1: /etc/conf.d/sysklogd |
SYSLOGD="-m 0 -r"
KLOGD="-c 3 -2"
|
NFS
El siguiente paso es editar el fichero /etc/exports, para
permitir a las estaciones de trabajo montar el sistema de ficheros
raíz. Debería haber al menos dos líneas en él:
Listado de Código 3.2: /etc/exports |
/opt/ltsp-4.1/i386 192.168.0.0/255.255.255.0(ro,no_root_squash,async)
/var/opt/ltsp/swapfiles 192.168.0.0/255.255.255.0(rw,no_root_squash,async)
|
Nota:
Tendrá que cambiar la red/máscara de red para que se corresponda
con su red/máscara de red.
|
Ahora inicie NFS.
Listado de Código 3.3: Iniciando nfs |
# rc-update add nfs default
# /etc/init.d/nfs start
|
xinetd/tftp
TFTP requiere un poco más de configuración para conseguir que funcione
correctamente. En primer lugar, edite
/etc/conf.d/in.tftpd para indicar las opciones y la ruta
de acceso de tftpd correctamente:
Listado de Código 3.4: /etc/conf.d/in.tftpd |
INTFTPD_PATH="/tftpboot"
INTFTPD_OPTS="-s ${INTFTPD_PATH}"
|
El parámetro -s especifica que TFTP se ejecute en el modo seguro de
chroot (recomendado). Esto significa que usted no necesita incluir la
ruta/tftpboot en la configuración de DHCP, por ejemplo.
Luego, configure xinetd para ejecutar TFTP y permitir las conexiones
remotas. Por defecto TFTP no será iniciado por xinetd, por ello debe
editar /etc/xinetd.d/tftp y cambiar disable=yes
por disable=no. Si no existe el fichero basta crear
/etc/xinetd.d/tftp con el siguiente contenido.
Listado de Código 3.5: /etc/xinetd.d/tftp |
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
}
|
Ahora edite /etc/xinetd.conf y "comente" la
línea only_from = localhost añadiendo al principio de la misma
una #. Finalmente, inicie xinetd.
Listado de Código 3.6: Iniciando xinetd |
# rc-update add xinetd default
# /etc/init.d/xinetd start
|
Resolución de nombres
Para que las estaciones de trabajo encuentren todos los recursos, debe
estar disponible una correcta resolución de nombres. Hay varias
maneras de conseguirlo. Una es configurar un servidor DNS para la red
local, otra (y más simple) es tener casi idénticos ficheros
/etc/hosts en todos los sistemas. Vamos a usar esta
última.
Todos los puestos de trabajo deben estar listados en
/etc/hosts. Eche un vistazo al ejemplo:
Listado de Código 3.7: /etc/hosts |
127.0.0.1 localhost
192.168.0.254 server server.sudominio.com
192.168.0.1 ws001 ws001.sudominio.com
|
Configuración de DHCP
Este es el paso más complicado en mi opinión. Usted tiene que crear
una configuración DHCP válida
(/etc/dhcp/dhcpd.conf). Aquí tiene un ejemplo:
Listado de Código 3.8: dhcpd.conf |
default-lease-time 21600;
max-lease-time 21600;
use-host-decl-names on;
ddns-update-style ad-hoc;
allow booting;
allow bootp;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.254;
option domain-name-servers 192.168.0.254;
option log-servers 192.168.0.254;
option domain-name "sudominio.com";
option root-path "192.168.0.254:/opt/ltsp-4.1/i386";
filename "/lts/vmlinuz-2.4.26-ltsp-2";
next-server 192.168.0.254;
#option option-128 code 128 = string;
#option option-129 code 129 = text;
#option option-128 e4:45:74:68:00:00;
#option option-129 "NIC=ne IO=0x300";
shared-network WORKSTATIONS {
subnet 192.168.0.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.0.1 192.168.0.16;
#host ws001 {
# hardware ethernet 00:E0:06:E8:00:84;
# fixed-address 192.168.0.1;
#}
}
}
|
Si sus puestos de trabajo soportan PXE, deberá incluir cada una de
ellos tal como hemos hecho con host ws001 (no se olvide
'descomentar' la línea). No les dé una dirección que esté en el rango
de direcciones dinámicas, en caso contrario sería posible que una
estación de trabajo tuviera la misma IP que otra (lo cual es
molesto). Si usted copia y pega el ejemplo anterior, recuerde
reemplazar cualquier comentario "//" con "##", ya
que si no dhcp fallará al arrancar.
Para más información al respecto lea el 'handbook' oficial:
http://www.dhcp-handbook.com/
Ahora inicie DHCP tal como hizo con NFS y xinetd:
Listado de Código 3.9: Inicio de dhcp |
# rc-update add dhcp default
# /etc/init.d/dhcp start
|
Nota:
DHCPD necesita para funcionar tener activado en el kernel
CONFIG_PACKET y CONFIG_FILTER.
|
Configuración de LTSP
Hay varias opciones para configurar los puestos de trabajo, vea
http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-en.html#AEN1190
para una completa descripción de
/opt/ltsp/i386/etc/lts.conf.
Como sugerencias para empezar, primero podría empezar copiando
/opt/ltsp/i386/etc/lts.conf.example como
/opt/ltsp/i386/etc/lts.conf y editar éste último. Podría
intentar cambiar la opción SCREEN_01 con SCREEN_01 =
startx. Para usar un ratón USB en el cliente remoto, añada las
siguientes líneas MODULE, y cambie las líneas X_MOUSE_* así:
Listado de Código 3.10: /opt/ltsp/i386/etc/lts.conf |
MODULE_01 = usb-uhci
MODULE_02 = mousedev
MODULE_03 = usbmouse
X_MOUSE_PROTOCOL = "IMPS/2"
X_MOUSE_DEVICE = "/dev/input/mice"
|
Displaymanager
Ahora tiene que cambiar la configuración del gestor de ventanas
también para aceptar conexiones remotas.
Primero cambie el fichero /etc/X11/xdm/Xaccess,
'descomentando' la línea siguiente:
Listado de Código 3.11: /etc/X11/xdm/Xaccess |
#* #cualquier host puede obtener una ventana de login
|
Ahora cambie la configuración del gestor de ventanas que use:
XDM: En /etc/X11/xdm/xdm-config 'comente'
DisplayManager.requestPort: 0
KDM: En /usr/kde/3.1/share/config/kdm/kdmrc busque
la sección [Xdmcp] y cambie Enable = false a
Enable = true.
GDM: En /etc/X11/gdm/gdm.conf busque la sección
[xdmcp] y cambie Enable = false a Enable = True.
Entonces arranque el gestor de ventanas:
Listado de Código 3.12: Inicio de xdm |
# rc-update add xdm default
# /etc/init.d/xdm start
|
Aviso:
Parece que actualmente hay problemas con XDM y GDM. El autor usa KDM
para resolver esas cuestiones.
|
Recuerde, si su gestor de ventanas está ya en marcha, reiniciar el
servidor X con CTRL-ALT-BACKSPACE no reinicia el gestor de ventanas.
Crear un disquete de arranque
Si sus estaciones de trabajo no soportan el arranque PXE, puede crear
un disquete de arranque para arrancarlas y conectarlas al servidor de
terminales. Vaya a http://www.rom-o-matic.net, seleccione
la última versión, elija su tarjeta de red, pulse Get ROM y
grabe la imagen en un disquete:
Listado de Código 3.13: Escribiendo la imagen en el floppy disk |
# cat nicfile.zdsk > /dev/fd0
|
4.
Resolución de problemas
Hay muchas cosas que puedan ser el origen del problema, pero también
hay varios recursos al respecto que pueden ayudarle a resolver sus
problemas:
5.
FAQ
P: Mis puestos de trabajo tienen CPUs Pentium II, pero mi
servidor está compilado con march=athlon-xp, ¿funcionará?
R: Eso no es ningún un problema, por que todas las aplicaciones
se ejecutan en el servidor.
P: ¿Qué CPU y cuánta RAM debe tener el servidor?
R: Este es un buen documento con sugerencias al respecto:
http://wiki.ltsp.org/twiki/bin/view/Ltsp/ServerSizing.
P: ¿Tiene más información al respecto de PXE?
R: Sí, mire
http://wiki.ltsp.org/twiki/bin/view/Ltsp/PXE.
P: ¿Es posible usar aceleración 3D por software en las
estaciones de trabajo?
R: Si utiliza tarjetas NVidia eche un vistazo a
http://wiki.ltsp.org/twiki/bin/view/Ltsp/NvidiaLtsp411.
P: En algunas aplicaciones las fuentes se ven con mala calidad,
¿qué puedo hacer?
R: Tiene que configurar el XFontServer, añada USE_XFS=Y
a su lts.conf, edite /etc/X11/fs/config y
'comente' no-listen: tcp, reemplace
XFS_PORT="-1" con XFS_PORT="7100" en
/etc/conf.d/xfs y arranque xfs: /etc/init.d/xfs
start. También compruebe que /etc/X11/XF86Config (o
/etc/X11/xorg.conf) contenga FontPath
"unix/:7100" en la sección Files.
P: ¿Cómo puedo usar la tarjeta de sonido en una estación de
trabajo?
R: Hay un paquete ltsp-sound en gentoo, para más información
lea el fichero que se incluye README.
6.
Glosario
LTSP "LTSP
proporciona una manera sencilla de utilizar puestos de trabajo de bajo
coste basados en terminales tanto gráficos como de texto con un
servidor GNU/Linux."
PXE
"Abreviatura de Pre-Boot Execution Environment (Entorno de
ejecución previo al arranque). Pronunciado como "pixie", PXE
es uno de los componentes de la especificación WfM de Intel. Permite a
una estación de trabajo arrancar desde un servidor en una red antes de
arrancar el sistema operativo del disco duro local. Una estación de
trabajo con PXE habilitado conecta su tarjeta de red a la LAN con un
'jumper', el cual la mantiene conectada a la red incluso si está
apagada."
El contenido de este documento está registrado bajo los términos de
la licencia
Creative Commons - Reconocimiento / Compartir Igual
|