Title: Un entorno completo de trabajo basado en un cliente ligero
1Un entorno completo de trabajo basado en un
cliente ligero
- J.A. Marín Beltrán
- L. Meléndez Aganzo
- Servicio de Informática
- Universidad de Córdoba
2Aulas de informática. Características
- Grandes despliegues de equipos
- Poco personal para mantenerlos
- Entorno cambiante
- Usuarios heterogéneos
- Dispersión geográfica
3Alternativas de diseño
- Equipos autónomos. S.O. local
- Equipos autónomos. Replicación de discos.
- Equipos autónomos sin disco.
- Terminales de aplicaciones
- Entornos mixtos
4Equipos autónomos
S.O y APPS
5Equipos autónomos con R.D.
6Equipos con software en la red
7ThinClients
8Entornos mixtos (I)
9Entornos mixtos (ideal)
10Entornos mixtos. Objetivos
- Hay recursos locales aprovechables?
Aprovechémoslos. - Se pueden ejecutar aplicaciones localmente?
Ejecutémoslas. - No es posible la replicación outband? Reduzcamos
la imagen.
11Thinclients basados en linux
- NO se usan distribuciones estándar.
- Usan file systems en memoria.
- Usan kernels e imágenes initrd de huella
pequeña (small footprint). - Incluyen la inmensa mayoría de drivers.
- No usan aplicaciones ni servicios superfluos
- Están orientados a la internacionalización.
12LTSP (Linux Terminal Server Project)
- www.ltsp.org
- Basado en NFS
- Swap con menos de 4Mb
- Root file system
- Básicamente da soporte X
- Permite compartir algunos dispositivos
- Permite algunos clientes locales
- No demasiado configurable
13PXES
- Proyecto casi unipersonal
- Derivado a comercial
- Comprado por empresa 2X
- Similar a ThinStation
- Generador de imágenes gráfico pero menos versatil
que TS. - Poca contribución de los usuarios
14ThinStation
- Idea original 2001 Netstation (Francisco Castro)
- 5/5/2003 ThinStation en SourceForge
- 11/8/2003 ThinStation 1.0
- 5/5/2004 Thinstation 2.0
- 19/7/2004 TS-O-MATIC
- 16/9/2005 ThinStation 2.1.3 (stable)
- 21/10/2006 ThinStation 2.2
15ThinStation Características
- Kernel 2.4.28
- Initrd mínimo de 3 Mb.
- RootFS en formato squashfs
- Clientes MultiX o con WM
- Soporta la totalidad de Clientes libres
- Soporta Clientes X locales
- Soporta todo tipo de hardware local
16(No Transcript)
17(No Transcript)
18Componentes de TS
- Servidor de arranque (DHCP y TFTP)
- Se permiten arranques locales de CD, HD,
PenDrive, flash disk, etc. - Protocolo de arranque (en la ROM del NIC)
- PXE
- Etherboot (rom-o-matic)
- Imagen de arranque (3 a 16 Mb)
- Kernel (vmlinuz)
- Initrd
- Empaquetamiento NBI
19Componentes de TS II
- Sistema de generación de imágenes
- Ficheros build.conf y comando build
- TS-O-MATIC (http//ts-o-matic.aaskov.dk )
- Entorno de desarrollo
- Mini distribución de linux chrootd
- Para generación de binarios y kernel
- Ficheros de configuración
- Thinstation.hosts y ficheros group
20Proceso de generación y prueba
Edición de build.conf y ejecución de build
Copiado de bootimages/ a /tftpboot
Entrada en DHCP y generación de ficheros de
configuración
Configuración del NIC para PXE y arranque
21Paquetes (packages)
- Cierta analogía con rpms
- Incluyen dos tipos de información
- Estática en el momento de build
- Dinámica tras el arranque
- Tipos
- Básicos (base, x-commons, etc). Core de linux
- Opcionales Clientes de conexión, clientes de
red, servidores de red, utilidades, clientes
locales
22Proceso de arranque
Arranque de PXE
Descarga de thinstation.nbi.zpxe y/o de
thinstation.nbi
Arranque de vmlinuz e initrd
Descarga de ficheros de configuración
23Ficheros de configuración
- Thinstation.hosts
- Nombre, MAC y grupos
- Thinstation.network
- Generales para todos los equipos
- Thinstation.MAC
- Específicos para cada MAC
- Thinstation.conf.group-XXXXX
24Ficheros Thinstation Group
- Ejemplos por tipo de hardware
- Thinstation.conf.group-17pulgadas
- Thinstation.conf.group-14pulgadas
- Ejemplos por aula
- Thinstation.conf.group-AULA_S2
- Thinstation.conf.group-AULA_P3
25Aula A
Aula B
14pul
17pul
26(No Transcript)
27Sesiones
- Sesión Ejecución de un cliente, normalmente de
conexión. - SESSION_0_TITLE"LINUXLOCAL"
- SESSION_0_TYPEuco
- SESSION_0_SCREEN0
- SESSION_1_TITLE"LUCANO"
- SESSION_1_TYPEx
- SESSION_1_X_SERVERgongora.uco.es
- SESSION_1_X_OPTIONS"-query"
- SESSION_1_SCREEN1
- SESSION_2_TITLE"WINDOWS"
- SESSION_2_TYPEica
- SESSION_2_ICA_APPLICATION_SET"ESCRITORIO_MED"
- SESSION_2_ICA_SERVER"medwts02.uco.es"
- SESSION_2_SCREEN2
28THINSTATION EN LA UCO
29Un poco de historia
Años S.O. Arranque
Antes 1996 Win 3.11. Instalación por red de apps por menú Local
1996 - 1999 Win95 diskless Bootp tftp
1999 - 2001 NT 4.0 Metaframe 1.8 RPL
2001 - 2003 W2K Metaframe 1.8 RPL
2003 - 2004 W2K Metaframe XP RPL
2004 - 2005 W2K Metaframe XP xdm Thinstation
Desde 2005 W2K MetaframeXP XDM Linux local Thinstation UCO
30Hacia donde cambiar
- Dos alternativas
- Windows local, resto remoto
- Linux local, resto remoto
- Paradoja de los servicios de terminal
- Unix (xwindows) pensado desde sus orígenes para
trabajo en entornos de terminal, pero - KDE, Gnome colapsan los servidores
- No pensado para líneas de baja velocidad
- Windows pensado desde sus orígenes para trabajo
en local, pero - Servicios de terminal permite gran escalabilidad
- Tremendamente eficiente en líneas de baja
velocidad.
31Modificaciones a ThinStation
- Dotar de soporte de múltiples usuarios
- Dotar de sistema de login
- Dotar de un repositorio por NFS
- Uso del disco local si existe para swap
32Estructura de un paquete
- /bin, /lib, /etc
- Armado del paquete en dos fases
- Build Incorporación en la imagen initrd de los
elementos estáticos de solo lectura (/etc, / ) - Arranque Copia y modificación de los elementos
dinámicos (/var, /usr ) - Scripts en /etc/init.d y /etc/rcX.d
33Arranque de los paquetes
- Los ficheros estáticos de /, /etc se enlazan a
directorios del tmp (en memoria) - Los scripts se parsean mediante sed para
sustituir las variables de los ficheros de
configuración por sus literales - Se arrancan los demonios y/o programas
necesarios
34PAM_LDAP
- TS original solo usa /etc/passwd
- Incorporamos librería pam-ldap, librerías nss y
ficheros de configuración - Nueva variable
- LDAP_SERVER server
35RPC_STATD
- Soporte de lockd y statd para ficheros en NFS
- Necesario para determinadas aplicaciones
- Eclipse
- OpenOffice
- Etc, etc.
36MOUNT_HOMES
- No introducimos automounter para evitar
complejidad. - Montaje con
- Mount t nfs
- Smbmount
- Variables
- FORCE_USE_SMBON/OFF
- NFS_HOME_PATHserverpath
- SMB_HOME_PATHserver (\\server\usuario)
37XDM_LOCAL
- TS original soporta XDM pero con query a
servidor remoto - Recompilamos XDM con soporte PAM
- Creamos al vuelo ficheros de configuración
- Xserver
- Xsession
- Xdm-config
- Xstartup, xreset
- Nueva variable
- NFS_LOCALserverexport
38PREPARE_HD
- Permite usar el disco si se tiene
- Partición de arranque (lilo y rom de etherboot)
- Swap
- Caché de NFS (futuro)
- Paquete inteligente
- PREPARE_HDON/FORCE/OFF
- Instalación de equipos sin soporte PXE
39Bases del diseño I
- TS es rápido, nuestra modificación debe serlo
- No usamos escritorios pesados como KDE o GNOME,
usamos ROX - No usamos clientes pesados como Ximian o
Thunderbird, usamos sylpheed - No activamos más demonios de los necesarios, los
usados son los más ligeros.
40Bases del diseño II
- Si disponemos de elementos modernos
- Glib 2
- Gtk 2
- Xorg
- Qt 4
- OpenOffice, Eclipse, DrScheme, Gimp
- /usr/local reproduce la estructura de /
41Procedimiento de despliegue
- No es recomendable instalar en /usr/local
mientras se usa, dos entornos - TSEXP Explotación
- TSDEV Desarrollo
- Controlados por la variable NFS_LOCAL
- Checkpoints en la NAS
- TSDEV 1.01, 1.02, 1.03, etc
- TSEXP 1.1, 1.2, 1.3, etc
42Algunas aplicaciones disponibles
- Archive
- Boa constructor
- Clips
- Ddd
- DrScheme
- Eclipse
- Firefox
- Freepascal
- Gcc
- Gimp
- Glade
- Gqview
- Oracle Jdev
- Mrxvt
- MySql
- Nano, pico, emacs, nedit
- Openssh, Openssl
- OpenOffice 1.3, 2.0
- Pcsc
- Perl, Python
- Planner
- Protege
- Pyro
- Qt3, QT4
- Rox
- Sylpheed
- Tomcat
- Tora
43(No Transcript)
44(No Transcript)
45(No Transcript)
46El futuro ...
- Thinstation es un estándar de facto en el mundo
de los thinclients - Ambitos universitarios y empresariales
- Dispositivos hardware comercializados con soporte
para él - Nosotros aportamos nuestros desarrollos a la
comunidad. Aparecerán plasmados en la versión 2.2 - Proyectos de crear entornos de administración
para usuarios no linux - Idéntica imagen para servidores de acceso remoto.
- Integración con sistema de imágenes windows
basado en partimage y deepfreeze mediante grub
47Conclusiones
- No se puede abordar un entorno de múltiples
usuarios con múltiples aplicaciones y S.O. sin
acudir a soluciones ThinClient - Dentro de sus limitaciones, los thinclients nos
aseguran la mayor tasa de disponibilidad de
servicio al menor coste - Con poco esfuerzo y excelente rendimiento, hemos
conseguido desplegar linux en las aulas sin
romper con el anterior entorno windows. - Los usuarios se abstraen del S.O. subyacente y se
centran en las aplicaciones, familiarizándose de
una forma natural con otros sistemas operativos.
48PREGUNTAS