38
Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud Septiembre 2008 1

Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

  • Upload
    dangdat

  • View
    250

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Creando entorno Servidor-Cliente LigeroSistema Operativo GNU/Linux

CentOS + DRBL

Autor: Lic. Ixen Rodríguez Pérez

Isla de la JuventudSeptiembre 2008

1

Page 2: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

El mundo de los Clientes Ligeros

En los inicios de la era de la computación la estructura de procesamiento más popular era una estructura "Servidor Central-Terminal Tonta". Por explicarlo de una forma sencilla, este esquema se basaba en la ejecución de una aplicación en un servidor y la presentación de la misma, en un terminal. De esta manera el terminal solo necesita disponer de suficiente capacidad para procesar en una pantalla los datos recibidos desde un servidor. Actualmente en un PC estándar, la aplicación es ejecutada y mostrada por la misma máquina. Durante los últimos años la potencia de las computadoras se ha multiplicado, ofreciendo unas prestaciones cada vez más elevadas, superando en muchos casos los requerimientos de las aplicaciones que utilizamos cotidianamente. Conjuntamente a este aumento de potencia, el precio de producción de hardware ha disminuido considerablemente, hecho que provoca que en determinadas situaciones se adopten alternativas sobredimensionadas, que repercuten en un desaprovechamiento de recursos y una carga económica que se puede evitar.

Las grandes empresas de software sacan a la luz cada poco tiempo nuevas aplicaciones, más completas, pero que a su vez necesitan PCs más potentes para poder funcionar. Esto provoca una carga económica muy elevada tanto en pequeñas como en grandes empresas, que pueden llegar a renovar su parque informático cada dos años. En muchos casos se evalúa erróneamente las verdaderas capacidades que ha de poseer un equipo informático para desempeñar una actividad concreta. Por lo general los recursos informáticos son sobredimensionados con la excusa de disponer de un periodo de vida más largo.

Por supuesto, debemos ser conscientes de que para determinadas aplicaciones científicas y técnicas es necesario disponer de máquinas potentes, pero para determinados entornos domésticos, educativos, y en la pequeña y mediana empresas, las capacidades de proceso y el volumen de datos con el que se trabaja es relativamente bajo, y la capacidad de proceso de los PCs actuales está siendo desaprovechada.

Un porcentaje muy elevado de empresas, instituciones públicas, escuelas, institutos, universidades, hospitales, editoriales, despachos, oficinas, cibercafés solo necesitan disponer de software para el acceso a Internet, un paquete de ofimática y dependiendo del caso, algún software diseñado para una aplicación concreta. Para cubrir estas necesidades no es necesario realizar una inversión desorbitada para adquirir los últimos equipos informáticos del mercado, ni el último software, existen alternativas adecuadas a esas necesidades, que no derivan en una inversión económica innecesaria.

El resurgimiento de la estructura Cliente-Servidor, permite cubrir de una manera más correcta las necesidades de gran parte de las instalaciones informáticas más comunes, tanto en entornos empresariales, como en entornos institucionales y educativos.

Actualmente se puede definir un "cliente ligero" como un ordenador con una baja capacidad de proceso, generalmente sin unidades de almacenamiento, de reducido tamaño, y con un coste muy reducido; siendo la evolución de los antiguos terminales en modo texto, que se utilizaban en instalaciones centralizadas.

Nuestro país no está exento de los avances tecnológicos a nivel mundial. Producto de la barrera digital impuesta por los países más desarrollados y las restricciones relacionadas con

2

Page 3: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

las nuevas tecnologías de la informática y las comunicaciones (NTICs) vigentes por el inhumano bloqueo del gobierno norteamericano, no es posible adquirir tecnología de punta a precios razonables para nuestra economía. Es por ello, que se tomó la estratégica decisión de implementar la arquitectura Servidor-Cliente Ligero, ofrecida por el hermano país de Vietnam.

Aunque esta solución, ofrecida por la empresa vietnamita de equipos de cómputo Hanel, ha sido equipada por la empresa nacional Copextel, con el binomio de software propietario SO Microsoft Windows y Vertuxcom BXP; el mundo de la computación centralizada está recobrando fuerza con el relanzamiento de los clientes ligeros basados en sistemas GNU/Linux.

Cuba, inmersa en el proyecto de una migración paulatina hacia el software libre como parte de la informatización de la sociedad, y en particular el Municipio Especial Isla de la Juventud no escapa de esta realidad. Constituyendo el principal objetivo de este trabajo, el de dotar tanto a las empresas, escuelas, universidades, hospitales, instituciones y oficinas de la administración central del estado; de una solución viable de explotación de esta tecnología bajo los preceptos del software libre, mediante la utilización de Sistema Operativo GNU/Linux y el paquete DRBL.

3

Page 4: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Utilizando GNU/Linux CentOS como SO de Servidor-Clientes Ligeros.

¿Qué es GNU/Linux?

GNU/Linux es el término empleado para referirse al sistema operativo similar a UNIX que utiliza como base las herramientas del sistema GNU y el núcleo Linux. En otras palabras, GNU/Linux es la evolución libre del sistema operativo propietario UNIX.

El proyecto GNU fue iniciado por Richard Stallman, el 27 de septiembre de 1983, con el propósito de crear un sistema operativo libre: el sistema GNU, y que devolviera el “espíritu de cooperación que prevaleció en los tiempos iniciales de la comunidad de usuarios de computadoras".

Linux es el núcleo o kernel, que llenó el espacio final que necesitaba el sistema GNU. Linux fue creado en 1991 por Linus Torvalds.

Se conoce como GNU/Linux al sistema operativo libre; cuyo código fuente pueda ser utilizado, modificado y redistribuido libremente por cualquiera bajo los términos de la GPL de GNU (Licencia Pública General) y otras licencias libres. Las variantes de este sistema se denominan distribuciones GNU/Linux y su objetivo es ofrecer una edición que cumpla con las necesidades de determinado grupo de usuarios.

¿Qué es CentOS?

CentOS (Community ENTerprise Operating System – Sistema Operativo para la Comunidad Empresarial) es un clon a nivel binario de la distribución GNU/Linux Red Hat Enterprise Linux RHEL, compilado por voluntarios a partir del código fuente liberado por la compañía Red Hat.

Red Hat Enterprise Linux se compone de software libre y código abierto, pero se publica en formato binario utilizable (CD-ROM o DVD-ROM) solamente a suscriptores pagados. Como es requerido, Red Hat libera todo el código fuente del producto de forma pública bajo los términos de la GPL de GNU y otras licencias. Los desarrolladores de CentOS usan ese código fuente para crear un producto final que es muy similar al Red Hat Enterprise Linux y está libremente disponible para ser descargado y usado por el público, pero no es mantenido ni asistido por Red Hat. Existen otras distribuciones también derivadas de los fuentes de Red Hat.

CentOS es mantenido por el proyecto sin ánimos de lucro CentOS. Su primera versión, CentOS 2, fue liberada el 14 de mayo de 2004. Actualmente se encuentra disponible CentOS 5, cuya versión 5.3 fue liberada el 31 de marzo de 2009.

4

Page 5: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Utilizando DRBL como gestor de Servidor-Clientes Ligeros.

¿Qué es DRBL?

DRBL (Diskless Remote Boot in Linux) es un paquete de software Open Source, creado y mantenido por el Centro Nacional de Computación de Alto Rendimiento (NCHC, por sus siglas en inglés), con sede en la ciudad de Hsinchu, Taiwan. Está diseñado para proveer la gestión de entornos Servidor-Clientes Ligeros, bajo plataforma de Sistema Operativo GNU/Linux.

DRBL, utiliza la tecnología PXE/Etherboot, similar a la que utiliza LTSP (Linux Terminal Server Project), para inicializar la computadora cliente.

LTSP es un servidor centralizado, esto quiere decir que todos los usuarios de los ordenadores clientes, acceden al servidor y ejecutan sus aplicaciones directamente en él. El teclado y ratón de los ordenadores clientes es utilizado para enviar órdenes al servidor, mientras que el monitor muestra el resultado. Este tipo de entorno es factible cuando se cuenta con pocas estaciones; sin embargo, a medida que estas se incrementen, también debe ser mejorado el hardware del servidor (aumento de unidades de almacenamiento, memoria RAM, velocidad de procesamiento y forma de acceso a la red).

Por otro lado, DRBL utiliza los protocolos NFS (Network File System) y NIS (Network Information Service) para proporcionar el inicio de las computadoras clientes. En esencia, un servidor DRBL no es más que un servidor NFS y NIS. Todos los usuarios de las estaciones clientes, solo acceden al servidor en busca de archivos o autenticación. Todo el entorno de trabajo (el sistema operativo en sí) es cargado en las estaciones clientes, las cuales utilizan sus propios CPUs y memoria RAM. Teniendo esto en cuenta, una computadora normal, puede ser utilizada como servidor DRBL; mientras que los ordenadores clientes deben ser lo suficientemente poderosa para ejecutar las aplicaciones que requiera. Un servidor DRBL puede ser utilizado en ambientes que contengan entre 30 o 40 estaciones de trabajo.

Es importante señalar que a partir de la versión 5.0, LTSP está diseñado para funcionar “casi” de forma similar a DRBL.

Independientemente de ofrecer una solución factible para los entornos Servidor-Clientes Ligeros, DRBL ofrece otras soluciones, tales como:

• Sistema de clonado OpenSource Clonezilla . Conjunto de herramientas para la creación de imágenes, similar al Norton Ghost, True Image o Rembo. Utilizando Clonezilla, es posible clonar una imagen de SO de 5.6Gb a 40 computadoras en un tiempo de aproximadamente 10 minutos, utilizando multicasting.

• Solución para distribuciones ligeras GNU/Linux . DRBL permite inicializar Damn Small Linux (DSL) y Puppy Linux en las estaciones clientes, sin discos duros, dispositivos extraíbles (USB Flash, CD/DVD-ROM).

• Inicialización de entornos sin discos para SO FreeDOS .

• Instalación, vía red, de varias distribuciones GNU/Linux (Mandriva, CentOS, RedHat, Debian, Ubuntu, SuSE, etc.).

5

Page 6: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Requerimientos técnicos para el servidor y el cliente DRBL.

Depende es su gran mayoría de la distribución de GNU/Linux a utilizar. Mientras más rápido y moderno sea el hardware disponible, mejor; especialmente si se desean ejecutar distribuciones actuales de Fedora Core y Ubuntu. Para los entornos educacionales y de oficinas, se recomienda como mínimo:

Servidor:• x86 CPU con al menos 450MHz• al menos 256Mb RAM• dos o más interfaces de red• al menos 10Gb de espacio libre en HDD

Clientes:• x86 CPU con al menos 120MHz• al menos 128Mb RAM• una interfaz de red

Switch Fast Ethernet:• al menos uno de 12 a 24 puertos

No es aconsejable utilizar HUBs, son muy lentos para gestionar la inicialización PXE/Etherboot y los accesos NFS. Los Switches Fast Ethernet, reducen las colisiones y mejoran el desempeño de las aplicaciones a ejecutarse vía red.

Contrariamente a lo que mucha gente piensa, el punto crítico se encuentra en la red. Un cliente ligero no consume mucho ancho de banda, prácticamente se limita a la conexión de sesiones X-Windows remotas y en algunos casos al tráfico ocasionado por el acceso a dispositivos periféricos remotos. El problema surge cuando queremos dotar al cliente ligero de capacidad suficiente como para ejecutar todo tipo de contenido multimedia. En estos casos el ancho de banda que requiere el cliente aumenta considerablemente, y en una red con varios clientes, esto puede ocasionar una saturación de los equipos de red.

6

Page 7: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Creando el entorno Servidor-Clientes Ligeros CentOS + DRBL.

Los módulos de 1 servidor más 10 estaciones clientes ligeros, adquiridos a la empresa vietnamita de equipos de cómputo Hanel, y propuestos por la empresa cubana Copextel, dispone de la siguiente configuración:

Servidor:• x86_64 Intel Core 2 Duo CPU 2.20GHz• 1Gb RAM• interfaz de red Fast Ethernet: Intel Corporation 82573E Gigabit Ethernet Controller• RAID5 160Gb HDD SATAx2• SO Microsoft Windows 2000 Advanced Server + Venturcom BXP v.3.1 (licencia pirata)

Clientes:• x86 Intel Celeron CPU 1.33GHz• 256Mb RAM• interfaz de red: Silicon Integrated Systems SiS900 PCI Fast Ethernet• imagen SO Microsoft Windows XP Profesional SP-2

A fin de suplir tres importantes deficiencias, se recomienda modificar el hardware del servidor y los paquetes de software a utilizar en ambas configuraciones:

1. La distancia física a que pueden encontrarse algunos clientes y la utilización de contenido multimedia.

Se añadirán dos nuevas interfaces de red al servidor, pudiéndose utilizar la funcionalidad Bonding de Red -que permite sumar las capacidades de varias interfaces físicas de red, con el propósito de crear una sola interfaz lógica, contribuyendo a un mejor balanceo o redundancia de carga de la red-.

2. La demanda de espacio en disco duro de los usuarios de la red que operaran con los clientes ligeros.

Se eliminará la configuración de arreglo, obteniéndose un total de 320Gb de almacenamiento en HDD.

3. La utilización de software propietario y su consecuente uso de licencias piratas.

Se utilizará la distribución CentOS 5.3 para 32bits, tanto para el servidor como para las estaciones clientes; debido a su robustez, estabilidad y portabilidad a la arquitectura existente. Así como, el uso del paquete de software bajo licencia GNU/GPL, DRBL, por las bondades que ofrece en la gestión de 10 o más ordenadores dentro del esquema Servidor-Clientes Ligeros.

7

Page 8: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Configuración modificada:

Servidor:• x86_64 Intel Core 2 Duo CPU 2.20GHz• 1Gb RAM• tres interfaces de red Fast Ethernet: Intel Corporation 82573E Gigabit Ethernet Controller

(ONBOARD), Realtek Semiconductor RTL-8139/8139C/8139C+ (PCI)x2• 320Gb HDD SATA: 160Gbx2• SO CentOS 5.3 + DRBL (GNU/GPL, Licencia Pública General GNU)

Clientes:• x86 Intel Celeron CPU 1.33GHz• 256Mb RAM• interfaz de red: Silicon Integrated Systems SiS900 PCI Fast Ethernet• SO CentOS 5.3 (entorno exportado vía NFS)

Switch Fast Ethernet:• uno de 24 puertos

Una vez identificados, el hardware y software a utilizar, se procede a instalar el SO CentOS 5.3 en el ordenador servidor. Se configuran los parámetros de red, siempre teniendo en cuenta que se deben utilizar no menos de 2 interfaces de red, la primaria o eth0 como posible vía de acceso a una red externa, como puede ser Internet y la secundaria o eth1, para la red DRBL. Si se dispone de una sola interfaz de red en el servidor, también es posible crear una interfaz de red virtual, como por ejemplo eth0:1.

A los efectos de este manual, se utilizará la interfaz eth0 como vía de acceso a una red externa, y las interfaces eth1 y eth2 para el acceso a la red DRBL. Con posterioridad se apreciará que dos interfaces son utilizadas para brindar el servicio DRBL, a través de un bonding de red.

Otros aspectos de interés durante el proceso de instalación y configuración del sistema operativo, y que proporcionarán un mejor desempeño del servidor DRBL, son:

• Eliminar todos aquellos ficheros de idiomas que no se utilicen, con lo cual se pueden ahorrar hasta 400Mb de espacio en disco duro y la ejecución del servidor NFS será más rápida.

• Si se dispone del sistema de archivos reiserfs, es preferible su utilización por su mejor rendimiento comparado con los sistemas de archivos ext2/ext3/ext4.

• Si los discos duros presentes en el ordenador servidor son IDE, se recomienda activar el modo DMA, para ello se debe ejecutar el comando de consola: hdparm /dev/hdX, y comprobar que esté activo, sino ejecutar: hdparm -d1 -c3 -k1 /dev/hdX.

• Deshabilitar la tecnología SELinux. Esto puede hacerse durante el proceso de instalación del sistema operativo o una vez ya instalado, editando el fichero

8

Page 9: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

/etc/selinux/config con la sentencia SELINUX=disabled y reiniciando el sistema.

• Disponer de un repositorio local que contenga todos los paquetes de software de la distribución GNU/Linux utilizada y los del programa DRBL, o en su defecto disponer de acceso a Internet.

Instalación del SO CentOS 5.3:

Durante este proceso se definen las particiones y tamaño a utilizar. Se recomienda la creación de una partición /home con 50Gb de espacio de almacenamiento, lo cual representa un total de 5Gb por cada estación cliente ligero. También debe tenerse en cuenta la selección de los servicios DNS, TFTP, YPSERV, NIS, NFS y DHCP.

9

Page 10: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

10

Page 11: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

11

Page 12: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

12

Page 13: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

13

Page 14: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

14

Page 15: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

15

Page 16: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

16

Page 17: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

17

Page 18: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

18

Page 19: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Configurando el entorno DRBL.

En primer lugar se debe instalar el archivo de verificación de paquetes DRBL. Existen diferentes formas de completar este proceso, dependiendo de la distribución GNU/Linux utilizada, pero en el caso de CentOS, se deben ejecutar:

# wget http://drbl.nchc.org.tw/GPG-KEY-DRBL# rpm --import GPG-KEY-DRBL

Posteriormente se instala el paquete rpm DRBL en sí:

# yum install drbl (utilizando los repositorios de paquetes YUM)

o bien:

# rpm -ivh drbl-###.i386.rpm (donde ### corresponde al número de versión del paquete)

Es importante señalar que existen varias ramas del paquete rpm DRBL, entre ellas la estable o stable, de pruebas o testing y la inestable o unstable. Siempre debe utilizarse la estable, por cuestiones de seguridad y estabilidad del paquete, que puede descargase desde la siguiente URL en Internet http://drbl.sourceforge.net/download/nchc/stable/.

Si no se cuenta con acceso a Internet, deben modificarse los archivos /opt/drbl/sbin/drblsrv, /opt/drbl/sbin/drblpush y /opt/drbl/yum-repos/drbl.repo; para hacerlos coincidir con la configuración de acceso a los repositorios de software disponibles.

Luego de instalado el paquete rpm DRBL, ejecutar:

# /opt/drbl/sbin/drblsrv -i

19

Page 20: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

20

Page 21: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Debe leerse detenidamente toda la información que se muestra en pantalla y pulsando ENTER se aceptan las selecciones por defecto. La ejecución de este comando instalará en el sistema todos los paquetes y dependencias de software necesarias para el buen funcionamiento del servidor DRBL, y que pudieron no ser seleccionados durante el proceso de instalación del sistema operativo. Por ejemplo, los servidores DHCP, NIS, TFTP y NFS, entre otros.

Concluida la ejecución del comando anterior, se crea en el sistema el siguiente perfil de trabajo para el servidor DRBL:

/etc/drbl/|_ drbl_deploy.conf|_ drblpush.conf

/opt/drbl/Aquí se almacenan los directorios y ficheros para la ejecución del programa DRBL. Ejemplos:|_sbin/

|_ drblsrv|_ drblpush

/tftpbootAquí se almacenan los entornos virtuales (estructura de directorios y sistema de archivos de SO) para cada uno de los PC clientes ligeros; así como el nodo o entorno raíz (node root), que contempla configuraciones estándares para cada ordenador cliente.

Preparando el sistema de archivos para los clientes en el servidor.

Tomando como ejemplo una red, que disponga de 10 estaciones clientes ligeros y un servidor DRBL; se obtendría el siguiente diagrama físico:

Interfaz de Red Dirección IP Clientes+-----------------------------+| Servidor DRBL || ||+-- [eth0] 200.55.143.154 +- Red externa o Internet| ||+-- [eth1] 192.168.46.100 +- Red DRBL|+-- [eth2] 192.168.46.100 +- desde 192.168.46.1 a 192.168.46.10+-----------------------------+

La interfaz eth0 será utilizada por el servidor para proporcionar el acceso de los clientes ligeros a los servicios que ofrece la Intranet: E-mail, DNS, WWW y SQUID proxy. Mientras que las interfaces eth1 y eth2, mediante un bonding de red, serán utilizadas por los servicios DHCP, NFS, NIS y TFTP, que se ejecutan en el servidor DRBL y que son accesibles solo por las estaciones clientes ligeros.

El paquete de software DRBL, a partir de la versión 1.6.3 y superiores, permite cuatro modos de trabajo: DRBL Completo (Full DRBL), Clonezilla Completo (Full Clonezilla), Sistema de Imagen Sencilla DRBL (DRBL SSI, Single System Image) y Empaquetamiento Clonezilla (Clonezilla Box). En los dos primeros casos, el uso de espacio de almacenamiento y ancho de banda de la red es superior, pero todas las configuraciones del sistema serán guardados en

21

Page 22: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

los discos duros del servidor, y cada cliente de red dispondrá de sus configuraciones individuales. Por otro lado, DRBL SSI provee una imagen del SO a utilizar y las configuraciones individuales son creadas en tiempo de ejecución (run-time), durante el proceso de arranque; disminuyéndose el espacio de almacenamiento al ser utilizada solamente una imagen, pero los usuarios no podrán tener sus propias configuraciones individuales: los perfiles de usuarios son almacenados en el servidor. El último modo, Clonezilla Box, está basado en DRBL SSI y fue diseñado para el clonado de sistemas (creación de imágenes de SOs).

Hay que tener en consideración, que si se decide utilizar el modo DRBL SSI, la disponibilidad de memoria RAM en las estaciones clientes deber ser superior a los 256Mb y todo el hardware, específicamente las tarjetas gráficas, debe ser el mismo.

Posterior a la selección del modo de trabajo a utilizarse en el servidor DRBL, ejecutar:

# /opt/drbl/sbin/drblpush -i

Este comando ayuda al servidor DRBL a determinar los parámetros de configuración adecuados. De no cumplirse, el programa pregunta, siendo posible la personalización de las opciones disponibles. Como pueden ser: el modo de trabajo, la cantidad de clientes de red a utilizar, la interfaz para acceder a una red externa y/o las interfaces para ser accesibles por las estaciones clientes mediante DHCP, modo de arranque (gráfico o consola), existencia de áreas de intercambio (particiones SWAPs), entre otras. Es importante leer con atención las interrogantes que el asistente muestra en pantalla y escoger las opciones que se ajusten al entorno deseado.

22

Page 23: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

23

Page 24: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

24

Page 25: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

25

Page 26: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Solo resta realizar algunos cambios en el fichero de configuración del servidor DHCP, localizado en /etc/dhcpd.conf, con el propósito de lograr que a cada computadora cliente, le sea asignada la misma dirección IP cada vez que se inicie. Para ello, deben emplearse las direcciones físicas (MAC Address) de cada interfaz de red de cada cliente ligero. Esto puede lograrse también respondiendo Si/Yes a la pregunta “¿Desea anclar la dirección IP del cliente conectado a eth1, proporcionando su dirección MAC? [s/N] / Do you want to fix the IP address of client connected to eth1 by giving MAC address ? [y/N]”, del asistente mostrado tras ejecutar el comando: /opt/drbl/sbin/drblpush -i.

Configurando las computadoras clientes para utilizar el entorno DRBL.

Preparar el BIOS de los clientes ligeros para inicializar por la interfaz de red PXE, para ello, activar la opción boot from LAN o boot from Network.

Recomendaciones.

• De ser instalados nuevos paquetes de software en el servidor DRBL o son actualizados a versiones superiores, debe ejecutarse nuevamente el asistente de configuración: /opt/drbl/sbin/drblpush, añadiéndole la opción -c /etc/drbl/drblpush.conf. Con lo cual se respetarán todas las opciones de configuración previamente guardadas; permitiéndole al SO actualizar el software disponible en los entornos de sistemas de las estaciones clientes.

• Si se desea actualizar la versión del paquete rpm DRBL, deben hacerse copias de seguridad de los principales ficheros de configuración de servicios, como son: /etc/dhcpd.conf, /etc/drbl/drbl_deploy.conf y /etc/drbl/drblpush.conf.

• Para desinstalar el paquete de software DRBL del ordenador servidor, se debe ejecutar: /opt/drbl/sbin/drblsrv -u. Eliminándose tanto los ficheros de configuración, como todos los paquetes relacionados con los servicios y entornos de trabajo de los clientes ligeros.

Concluyendo.

Es posible implementar un entorno de trabajo Servidor-Clientes Ligeros, de forma rápida, segura y estable; utilizando programas de aplicaciones Free Software/OpenSource, como es el caso del paquete DRBL, y cualquiera de las distribuciones existentes de Sistema Operativo GNU/Linux, por ejemplo: CentOS 5.3.

Implementaciones de la solución presentada en este trabajo, pueden encontrarse en las redes de clientes ligeros de la Sede Municipal del PCC, la Escuela Municipal del Partido “Arturo Lince” y la Sede del Gobierno Municipal.

26

Page 27: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Anexos

Anexo #1. Ficheros de configuración de los parámetros de red.

# cat /etc/hosts

127.0.0.1 localhost.localdomain localhost 200.55.143.154 thinserver.linuxij.cu thinserver

192.168.46.100 thinserver.linuxij.cu thinserver 192.168.46.1 client1.linuxij.cu client1 192.168.46.2 client2.linuxij.cu client2 192.168.46.3 client3.linuxij.cu client3 192.168.46.4 client4.linuxij.cu client4 192.168.46.5 client5.linuxij.cu client5 192.168.46.6 client6.linuxij.cu client6 192.168.46.7 client7.linuxij.cu client7 192.168.46.8 client8.linuxij.cu client8 192.168.46.9 client9.linuxij.cu client9 192.168.46.10 client10.linuxij.cu client10

# cat /etc/resolv.confsearch linuxij.cu nameserver 192.168.46.100

# cat /etc/sysconfig/networkNETWORKING=yes NETWORKING_IPV6=no HOSTNAME=thinserver.linuxij.cu NOZEROCONF=yes FORWARD_IPV4=yes GATEWAY=192.168.46.100 NISDOMAIN=dummy

cat /etc/sysconfig/network-scripts/ifcfg-eth0 # Intel Corporation 82573E Gigabit Ethernet Controller (Copper)DEVICE=eth0 BOOTPROTO=static BROADCAST=200.55.143.159 HWADDR=00:40:F4:C0:D5:FE IPADDR=200.55.143.154NETMASK=255.255.255.248 NETWORK=200.55.143.152 ONBOOT=yes TYPE=Ethernet

27

Page 28: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

cat /etc/sysconfig/network-scripts/ifcfg-bond0 # BONDING of 2 Ethernet Intefaces DEVICE=bond0 BOOTPROTO=static BROADCAST=192.168.46.255 IPADDR=192.168.46.100NETMASK=255.255.255.0 NETWORK=192.168.46.0 ONBOOT=yes

cat /etc/sysconfig/network-scripts/ifcfg-eth1 # Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ DEVICE=eth1 BOOTPROTO=none ONBOOT=no SLAVE=yes MASTER=bond0

cat /etc/sysconfig/network-scripts/ifcfg-eth2# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ DEVICE=eth2BOOTPROTO=none ONBOOT=no SLAVE=yes MASTER=bond0

28

Page 29: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Anexo #2. Ficheros de repositorio de paquetes de software.

# cat /etc/yum.repos.d/CentOS.repo [base] name=CentOS-$releasever - Base baseurl=http://repository.linuxij.cu/centos/5.3/en/base/rpms gpgcheck=0

[updates] name=CentOS-$releasever - Updates baseurl=http://repository.linuxij.cu/centos/5.3/en/updates/rpms gpgcheck=0

[dag] name=CentOS-$releasever - DAG baseurl=http://repository.linuxij.cu/centos/5.3/en/dag/rpms gpgcheck=0

[freshrpms] name=CentOS-$releasever - FreshRPMS baseurl=http://repository.linuxij.cu/centos/5.3/en/freshrpms/rpms gpgcheck=0

[epel] name=CentOS-$releasever - EPEL baseurl=http://repository.linuxij.cu/centos/5.3/en/epel/rpms gpgcheck=0

[extras] name=CentOS-$releasever - Extras baseurl=http://repository.linuxij.cu/centos/5.3/en/extras/rpms gpgcheck=0

[centosplus] name=CentOS-$releasever - CentOS Plus baseurl=http://repository.linuxij.cu/centos/5.3/en/centosplus/rpms gpgcheck=0

[drbl] name=DRBL stable packages baseurl=http://repository.linuxij.cu/centos/5.3/en/drbl/rpms gpgcheck=0

29

Page 30: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Anexo #3. Ficheros de configuración del servidor DRBL.

# cat /etc/drbl/drbl_deploy.conf

################################## # drbl_deploy global setting # File automatically created by drblpush. # It is better not to manually modify this file. ################################## config_file="drblpush.conf" purge_client="no" client_root_passwd="" client_pxelinux_passwd="" language="es_ES" set_client_system_select="yes" use_graphic_pxelinux_menu="yes" set_DBN_client_audio_plugdev="" open_thin_client_option="no" client_system_boot_timeout="70" collect_mac=no total_client_no=10nfs_protocol="tcp" client_init="graphic" mkswapfile="" ocs_img_repo_dir="/home/partimag" nfsserver_default="" nameserver="192.168.46.100" nameserver_="192.168.46.100" domain="linuxij.cu" nisdomain="dummy" public_ip_list="public_ip.drbl" login_gdm_opt="login" client_autologin_passwd="" timed_login_time="" clonezilla_mode="full_clonezilla_mode" drbl_mode="full_drbl_mode" sh_debug="" verbose_opt="" CLIENT_IP_HOSTNAME_LIST="IP_HOST_TABLE" drbl_server_as_NAT_server="yes" add_start_drbl_services_after_cfg="yes" ################################## # End of global setting ##################################

30

Page 31: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

# cat /etc/drbl/drblpush.conf

#Setup for general [general] domain=linuxij.cu nisdomain=dummy localswapfile=no client_init=graphic login_gdm_opt=login timed_login_time= maxswapsize= ocs_img_repo_dir=/home/partimag total_client_no=10create_account= account_passwd_length=8 hostname=client purge_client=no client_autologin_passwd= client_root_passwd= client_pxelinux_passwd= set_client_system_select=yes use_graphic_pxelinux_menu=yes set_DBN_client_audio_plugdev= open_thin_client_option=no client_system_boot_timeout=70 language=es_ES set_client_public_ip_opt=no config_file=drblpush.conf collect_mac=no clonezilla_mode=full_clonezilla_mode drbl_mode=full_drbl_mode drbl_server_as_NAT_server=yes add_start_drbl_services_after_cfg=yes

#Setup for bond0[bond0] interface=bond0 range=1-10

31

Page 32: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

# cat /tftpboot/nbi_img/pxelinux.cfg/default

default DUMMY timeout 70 prompt 0 noescape 1 MENU MARGIN 5 MENU BACKGROUND gnulinux.png MENU COLOR UNSEL 7;32;41 #c0000090 #00000000 MENU COLOR TIMEOUT_MSG 7;32;41 #c0000090 #00000000 MENU COLOR TIMEOUT 7;32;41 #c0000090 #00000000 MENU COLOR HELP 7;32;41 #c0000090 #00000000

say ************************************************** say Bienvenido al Servidor de Clientes Ligeros: say thinserver.linuxij.cu say Grupo de Usuarios GNU/Linuxsay Isla de la Juventud, Cuba. say http://www.linuxij.cu/ say **************************************************

ALLOWOPTIONS 0 MENU TITLE DUMMY (PCC Isla de la Juventud - http://www.linuxij.cu/)

label DUMMY MENU LABEL CentOS 5.3 Linux Desktop (modo Full DRBL – Full Clonezilla) kernel vmlinuz-pxe append initrd=initrd-pxe.img devfs=nomount drblthincli=off selinux=0 rhgb quiet vga=791 TEXT HELP * CentOS Linux Desktop * Release 5.3 (Final) ENDTEXT

32

Page 33: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Anexo #4. Fichero de configuración servidor DHCP.

# cat /etc/dhcpd.conf

include "/etc/rndc.key";

ddns-updates off; ddns-update-style none; authoritative; deny client-updates;

zone linuxij.cu { primary 192.168.46.100;

key rndckey; }

zone 46.168.192.in-addr.arpa { primary 192.168.46.100;

key rndckey; }

server-name drbl; allow bootp; allow booting;

class "DRBL-Client" { match if

(substring(option vendor-class-identifier, 0, 9) = "PXEClient") or (substring(option vendor-class-identifier, 0, 9) = "Etherboot") or (substring(option vendor-class-identifier, 0, 10) = "DRBLClient") ;

filename "pxelinux.0"; }

subnet 192.168.46.0 netmask 255.255.255.0 { interface bond0;

do-forward-updates false; update-static-leases on; option routers 192.168.46.100; option subnet-mask 255.255.255.0; option domain-name "linuxij.cu"; ddns-domainname "linuxij.cu"; ddns-rev-domainname "46.168.192.in-addr.arpa"; option domain-name-servers 192.168.46.100; option ntp-servers 192.168.46.100; option netbios-name-servers 192.168.46.100; option netbios-node-type 8; option time-offset -18000;

range 192.168.46.1 192.168.46.10; default-lease-time 21600; max-lease-time 43200;

33

Page 34: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

host client1 { option host-name "client1.linuxij.cu"; hardware ethernet 00:19:d1:e0:11:d9;

fixed-address 192.168.46.1; ddns-hostname "client1"; next-server 192.168.46.100;

}

...

host client10 { option host-name "client10.linuxij.cu"; hardware ethernet 00:19:d1:e0:55:fc;

fixed-address 192.168.46.10; ddns-hostname "client10"; next-server 192.168.46.100;

} }

34

Page 35: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Anexo #5. Fichero de configuración servidor Xorg para todos las estaciones clientes.

# cat /tftpboot/node_root/etc/X11/xorg.conf

# Xorg configuration

Section "ServerLayout" Identifier "single head configuration" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard"

EndSection

Section "Module" Load "dbe" Load "extmod" Load "fbdevhw" Load "glx" Load "record" Load "freetype" Load "type1" Load "dri"

EndSection

Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbModel" "pc105" Option "XkbLayout" "us" Option "XkbVariant" "intl" Option "XkbOptions" "altwin:super_win"

EndSection

Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "yes"

EndSection

Section "Monitor" Identifier "Monitor0" ModelName "LCD Panel 1024x768" HorizSync 31.5 - 48.5 VertRefresh 40.0 - 70.0 Option "dpms"

EndSection

35

Page 36: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Section "Device" Identifier "Videocard0" Driver "vesa"

EndSection

Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display"

Viewport 0 0 Depth 24 Modes "1024x768" "800x600"

EndSubSection EndSection

Section "DRI" Group 0 Mode 0666

EndSection

Section "Extensions" Option "Composite" "Enable"

EndSection

36

Page 37: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Anexo #6. Ficheros de configuración servidor NFS.

Para todas las estaciones clientes ligeros:

# cat /etc/exports

/tftpboot/node_root 192.168.46.1(ro,sync,async,no_root_squash,subtree_check) /usr 192.168.46.1(ro,sync,async,no_root_squash,subtree_check) /opt 192.168.46.1(ro,sync,async,no_root_squash,subtree_check) /home 192.168.46.1(rw,sync,async,no_root_squash,no_subtree_check) /var/spool/mail 192.168.46.1(rw,sync,async,root_squash,no_subtree_check)

...

/tftpboot/node_root 192.168.46.10(ro,sync,async,no_root_squash,subtree_check) /usr 192.168.46.10(ro,sync,async,no_root_squash,subtree_check) /opt 192.168.46.10(ro,sync,async,no_root_squash,subtree_check) /home 192.168.46.10(rw,sync,async,no_root_squash,no_subtree_check) /var/spool/mail 192.168.46.10(rw,sync,async,root_squash,no_subtree_check)

/tftpboot/nodes/192.168.46.1/ 192.168.46.1(rw,sync,async,no_root_squash,no_subtree_check) .../tftpboot/nodes/192.168.46.10/ 192.168.46.10(rw,sync,async,no_root_squash,no_subtree_check)

Por cada estación cliente ligero:

# cat /tftpboot/nodes/10.10.0.1/etc/fstab

192.168.46.100:/tftpboot/nodes/192.168.46.1/etc /etc nfs rw,rsize=65536,wsize=65536,tcp,defaults 0 0 192.168.46.100:/tftpboot/nodes/192.168.46.1/var /var nfs rw,rsize=65536,wsize=65536,tcp,defaults 0 0 192.168.46.100:/tftpboot/nodes/192.168.46.1/root /root nfs rw,rsize=65536,wsize=65536,tcp,defaults 0 0 192.168.46.100:/usr /usr nfs ro,rsize=65536,wsize=65536,tcp,defaults 0 0 192.168.46.100:/opt /opt nfs ro,rsize=65536,wsize=65536,tcp,defaults 0 0 192.168.46.100:/home /home nfs rw,rsize=65536,wsize=65536,tcp,defaults 0 0 192.168.46.100:/var/spool/mail /var/spool/mail nfs rw,rsize=65536,wsize=65536,tcp,defaults 0 0 192.168.46.100:/tftpboot/node_root/var/lib/rpm /var/lib/rpm nfs ro,rsize=65536,wsize=65536,tcp,defaults 0 0 none /proc proc defaults 0 0 tmpfs /tmp tmpfs defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 tmpfs /media tmpfs defaults 0 0 tmpfs /mnt tmpfs defaults 0 0

37

Page 38: Creando entorno Servidor-Cliente Ligero - … · Creando entorno Servidor-Cliente Ligero Sistema Operativo GNU/Linux CentOS + DRBL Autor: Lic. Ixen Rodríguez Pérez Isla de la Juventud

Anexo #7. Ficheros de configuración servidor NIS.

# cat yp.conf

domain dummy server localhost

# cat /var/yp/securenets # For localhost 255.0.0.0 127.0.0.0

# For DRBL server 255.255.255.255 192.168.46.100

# For DRBL clients 255.255.255.255 192.168.46.1 255.255.255.255 192.168.46.2 255.255.255.255 192.168.46.3 255.255.255.255 192.168.46.4 255.255.255.255 192.168.46.5 255.255.255.255 192.168.46.6 255.255.255.255 192.168.46.7 255.255.255.255 192.168.46.8 255.255.255.255 192.168.46.9 255.255.255.255 192.168.46.10

38