free web hosting | free website | Web Hosting | Free Website Submission | shopping cart | php hosting
affordable web hosting | Pets | web page hosting | web hosting | website hosting | web hosting service | web hosting | best web hosting

..................................................

EL PROJECTE CLARR

CLÚSTER GNU/LINUX D'ALT RENDIMENT BASAT EN EL RECICLATGE

...........................................

ContacteAutor: Pau Escrich



Nota autor: Sóc conscient de que aquest document conté varies errates (incloses les faltes ortogràfiques), no he tingut temps per rectificar-les, algun dia ho faré.

Llicència: Aquest document roman sota llicència de Creative Commons

Document: Si a algú li interessa el document en pdf o swx, que concacti amb mi via email i li facilitaré

Aquest projecte prové de www.dabax.net visita-la per trobar artícles, manuals, howtos, chuletes i més projectes sobre Software Lliure.





ÍNDEX

1. El clúster.

1.1 Introducció

1.2 Definició

1.3 Característiques

1.4 El Flop

1.5 Exemples

2. GNU/Linux

2.1 Linux

2.2 GNU

2.3 Les distribucions

2.4 Debian GNU/Linux

3. Propòsits, el CLARR

4. Configuració del servidor

4.1 Instal·lació del sistema Debian GNU/Linux

4.1.1 Obtenció del programari

4.1.2 Primeres configuracions

4.1.3 Particionament

4.1.4 Gestor d’arrencada

4.1.5 Configuració del sistema base

4.1.6 APT

4.1.7 Instal·lació de paquets

4.2 Configuracions bàsiques

4.2.1 L’entorn gràfic

4.3 LTSP

4.4 Instal·lació dels serveis necessaris

4.4.1 DHCP

4.4.2 TFTP

4.4.3 NFS

4.5 Elaboració del disquet d’arrencada

4.6 Configuració de la xarxa

4.7 Configuració dels fitxers necessaris

4.7.1 El dhcpd.conf

4.7.2 El inetd.conf

4.7.3 El exports

4.8 L’arbre de directoris dels nodes diskless

5. El Kernel

5.1 OpenMosix i el kernel

5.2 El kernel dels nodes diskless

5.3 El kernel del servidor

6. OpenMosix.

6.1 OpenMosix tools

6.2 OpenMosix View

6.3 La configuració i aplicacions de OpenMosix

6.4 SSH

7. Muntatge mecànic

8. Proves i resultats

8.1 Compressió d’àudio

8.2 Compilació

8.3 Desencriptació

8.4 Test

8.5 Avaluació total

9. Scripts

10. Conclusions

10.1 Valoració del treball

10.2 El CLARR, els clústers

10.3 Una alternativa per l’institut

11. Glossari

12. Bibliografia



Presentació

Aquest projecte, titulat com “El projecte CLARR”, és un treball de recerca elaborat per l’alumne Pau Escrich Garcia de segon de Batxillerat modalitat tecnològica. Consta de dues parts, una pràctica i un altra teòrica.

En la part pràctica, es du a terme la construcció d’un clúster de computadors format per cinc unitats funcionals, amb el principal propòsit d’aconseguir un major rendiment computacional. Serà realitzat mitjançant únicament programari lliure.

La segona part, teòrica, és l’elaboració d’un projecte textual on hi consten diversos punts. En primer lloc una introducció general on són tractats una sèrie de conceptes fonamentals per la comprensió del treball, en segon un extens seguiment específic sobre el realitzat en la pràctica, i en tercer lloc són exposades un seguit de proves on es reflecteix el rendiment aconseguit.

El treball està orientat a un àmbit indefinit de lectors, està estructurat de manera que una persona sense coneixements informàtics pugui entendre’l, i un usuari relativament avançat es senti interessat degut a la complexitat del propòsit final. La part introductòria i de conclusió són aptes sobretot per aquests lectors no entesos en el tema. Mentre que la part central, el seguiment tècnic, va dirigida a un àmbit de lectors més avançat.

He escollit aquest tema perquè m’agrada el món de la informàtica i sobretot el sistema GNU/Linux juntament amb la seva filosofia de comunitat lliure de coneixements. Amés buscava un temari amb el que pugés superarme i d’aquesta manera adquirir nous coneixements que hem pugessin ser útils en el futur.



1. El clúster

1.1 Introducció

Avui en dia, amb els ordinadors dels que disposem, ens resulta en ocasions impossible calcular certes necessitats científiques degut a la relativament poca capacitat de càlcul de la que disposen. La prevenció de canvis climàtics, el tractament massiu en la informació de finances, la fusió nuclear, l'enginyeria genètica... tot depèn en gran mesura de la potència de càlcul dels ordinadors.

La computació d'alt nivell a estat des de sempre, i de manera exclusiva a les mans d'uns pocs privilegiats. Això va portar als científics amb no massa poder econòmic a cercar una alternativa per obtenir un ordinador potent i econòmicament assequible, així que, seguint aquesta línia, arribaren a la conclusió de que la millor solució possible era el reciclatge. Consisteix en connectar una sèrie d’ordinadors de baix cost econòmic, com ho són els PC (“Personal Computer”), formant una xarxa i elaborant programes per fer-los treballar en paral·lel, compartint processos. El resultat fou una solució que acapara la potència dels grans superordinadors a un preu molt més assequible.

Aquesta idea no és del tot recent. A la dècada dels 50, l'exèrcit Nord-Americà va crear una xarxa d'ordinadors de vàlvules de buit nomenada “SAGE”. Més endavant, als 80 es van arribar a comercialitzar agrupacions de mini-computadors VAX. Però no va ser fins als anys 90 que l'idea fou estesa a nivell mundial, degut al factors econòmics i tècnics, com el baix preu dels PC i l'elaboració de xarxes, i l'aparició del sistema lliure GNU/Linux.

Així doncs el 1994 va néixer la primera “granja d’ordinadors” o clúster, al Centre de Vols Espacials Goddard de la NASA, amb l'objectiu de resoldre problemes computacionals que apareixen en les ciències de la Terra i l'Espai. Els pioners d'aquest projecte foren els doctors Thomas Sterling i Donald Becker, que connectaren entre sí 16 PC amb microprocessador Intel 486 a través d'una xarxa ethernet mitjançant GNU/Linux. El clúster desenvolupat va tenir una eficiència de 70 Mflops, una velocitat avui en dia ridícula però molt pròxima a la acaparada per alguns dels superordinadors de l'època i gastant només 45.000 Euros. Els investigadors li donaren el nom de Beowulf en honor a l'heroi de les llegendes medievals.

Des de llavors es crearen multitud de projectes basats en el processament paral·lel, aproximadament 50 dels 500 ordinadors més potents del món són clústers.


1.2 Definició

EL concepte clúster es un concepte molt difícil de definir ja que és utilitzat per identificar varis tipus d'associacions de computadors força diferenciats entre ells. Dos definicions força apropiades serien, per una banda la del TermCat: “un conjunt d'unitats funcionals interconnectades per mitjà d'una xarxa que actuen com una sola unitat”, i per l'altra la del Doctor Thomas Sterling: “una classe d'arquitectura de computador paral·lel que es basa en unir màquines independents integrades per mitja de xarxes d'interconexió, per obtenir un sistema coordinat, capaç de processar una carrega”.


1.3 Característiques

Cadascun dels ordinadors que formen part d’un clúster s’anomena “node”, en el nostre cas tots els nodes posseeixen una mateixa arquitectura (i586) i, per tant, és tracta d’un clúster homogeni.

Actualment existeixen dos tipus de clústers: els d’alta disponibilitat i els d’alt rendiment.

Els d’alta disponibilitat són aquells destinats a la necessitat de suportar un error de maquinari o programari. Si un dels nodes cau, la resta es reparteixen les seves tasques i intenten reactivar-lo. Aquest seria el cas de servidors web, ordinadors que han de prestar servei les 24h del dia els 365 dies de l’any.

Els d’alt rendiment es basen en un conjunt de màquines configurades per aconseguir una capacitat de càlcul màxima al repartir-se la càrrega dels processos entre els nodes existents. Són utilitzats en la resolució d’algoritmes científics, reproducció d’imatges 3D, compilació de grans codis de programació, xifrat de contrasenyes… Aquest tipus de clúster es el que intentarem elaborar.


Els clústers d'alt rendiment funcionen amb una característica fonamental: el processament paral·lel. Aquest consisteix en la capacitat d'utilitzar una sèrie de processadors per executar diferents parts d'un mateix programa de manera simultània. L'objectiu principal del paral·lelisme es reduir el número de cicles de l'execució d'un programa en relació al número de processadors (nodes) vigents en el sistema, “divideix i venceràs”.

Amés d'aquestes dues classificacions, trobem un altre aspecte més que caracteritza els diferents clústers, la transparència. Parlem de transparència quan el programador no necessita elaborar un tipus d'aplicació especial per el processament paral·lel ni canviar res depenent de la tipologia de la xarxa. O sigui, podríem executar-hi la majoria d'aplicacions que podem utilitzar en els ordinadors normals sense ni tan sols adonar-nos de que estem processant en paral·lel. Un exemple de clúster no transparent seria el projecte Beawoulf, en el que es va necessitar l'elaboració de programes especials per aquest, i l’anterior coneixement del tipus de xarxa per poder-los programar correctament.


1.4 El Flop

Com definim la velocitat d'un ordinador? Usualment parlem d’Hz (cicles per segon), però aquesta es una mesura que ha quedat obsoleta degut a la seva poca exactitud. Tècnicament es parla de Flop. Un Flop es una operació en coma flotant per segon, molt per sobre -una operació en coma flotant seria com una suma o una multiplicació-.

Actualment l'ordinador considerat més potent del món (el BlueGene/L segons www.top500.org) té una capacitat de càlcul de 70,72 Tflops, o sigui 70.720.000.000.000 operacions en coma flotant per segon. Com a dada curiosa cal afegir que la velocitat d'un processador d'un PC actual gira al voltant dels 300 Mflops, 300.000.000 flops.


1.5 Exemples

- Google

Un bon exemple d’un clúster d'alta disponibilitat important seria el famós cercador web “Google”.

Google até més de 5000 milions de búsquedes cada mes (unes 2000 per segon), i cerca entre més de 3000 milions de documents. Per atendre totes aquestes peticions Google va optar per la construcció d'un clúster amb vora de 20000 servidors repartits en 7 centres (“data centers”), Washingyon DC (USA), Herndon (Virginia, USA), Zurich (Suïsa)... Els servidor són senzills PC que disposen d'un sol processador Intel amb un disc dur de 80 Gb i un memòria RAM que va des de 256 Mb a 1 Gb. Aquests funcionen sota el sistema operatiu “Red-Hat Linux”.

Google va optar per aquest tipus de tecnologia degut a seva relació cost/rendiment, utilitzant senzills PC's i reduint considerablement el cost s’aconsegueix un enorme rendiment.



- Earth Simulator Center

És un projecte japonès de l'any 2002 amb l'objectiu de simular una “Terra virtual” i estudiar com seria el món en el futur utilitzant tecnologia avançada de simulació numèrica.

El clúster simulador de la terra (ES) és un sistema de computació paral·lela que consisteix en 640 nodes interconnectats per un switch. Cada node es un sistema amb memòria compartida, que consisteix en 8 processadors aritmètics, un sistema de memòria principal de 16 Gb una unitat d'accés remot i un processador d'entrada/sortida. El rendiment màxim de cada un dels processadors que formen els node és de 8 Gflops, i el del clúster en conjunt és de 40 Tflops.

Els Objectius principals del Eath Simulator són: l'estudi i predicció del canvi climàtic global, la predicció de desastres meteorològics, la prevenció d’efectes d’escalfament global, l'estudi de les plaques tectòniques... Aquest projecte és un clar exemple d'un clúster d'alt rendiment



- MareNostrum

Es avui en dia l'ordinador més potent d'Europa i aproximadament el quart de tot el món, s'ubica a Barcelona, a la Universitat Politècnica de Catalunya. És un clúster construït per IBM, actualment consta de 3564 processadors a amb una arquitectura de 64 bits a 2.2 Ghz, s’estima que al final de la seva construcció constarà de 4564 processadors. El sistema funciona sota GNU/Linux, i disposa d'una memòria central de 9 terabytes i 128 de disc. Aquest nou ordinador ocupa una instal·lació de 160m2 i pesa 40 tones, compta amb una capacitat de càlcul de 20,43 Tflops i es calcula que finalitzat arribarà als 40 Tflops. EL MareNostrum serà utilitzat en l'investigació del genoma humà, l'estructura de les proteïnes i en el disseny de nous medicaments.


- SETI

El SETI és un projecte pel descobriment d'intel·ligència extraterrestre a partir de l’analització de senyals radiofòniques procedents de l'espai.

Les senyals són captades pel radiotelescopi d’Arecibo (Puero Rico) amb els seus 305 metres de diàmetre, el més gran del món, qual cosa li permet rebre senyals molt més dèbils que qualsevol altre telescopi. Aquestes senyals són enviades a la universitat de Berkeley (California), on les divideixen en fragments molt petits que seran repartits entre els més de 4 milions d'usuaris inscrits en el projecte SETI@home.

Per analitzar tota aquesta informació, faria falta un ordinador immensament potent i immensament car, per això els seus fundadors optaren per la creació d'un gran clúster format per milers d'usuaris voluntaris procedents de qualsevol part del món. Així doncs van distribuir un salvapantalles que, entra en funcionament quan l’ordinador està en desús, llavors via internet, passava a formar part del clúster, i iniciava el procés d’analització dels petits fragments captats pel telescopi.

Aquest no seria un perfecte exemple del concepte de clúster que s'acostuma a utilitzar, ja que no existeix una relació directa entre els diferents processadors dels nodes, no podríem parlar d'un processament paral·lel directe. No obstant, això si, podem parlar de clúster ja que s’adapta a la definició d'aquest: “conjunt d'unitats funcionals interconnectades per mitjà d'una xarxa que actuen com una sola unitat”.



2. GNU/Linux

2.1 Linux

El juliol de 1991, un jove informàtic estudiant de 21 anys de l’Universitat de Helsinki anomenat Linus Torvalds va escriure un missatge a un fòrum d’internet explicant que havia començat un projecte sobre un nou sistema basat en Minix (clon del sistema operatiu UNIX creat per el professor Andrew Tanenbaum el 1987). Poc a poc el projecte va anar agafant forma gràcies a més i més col·laboradors, i en qüestió de mesos la primera versió oficial de Linux va veure la llum.

Estrictament quan parlem de Linux parlem d'un nucli (kernel), que és un sistema responsable de facilitar a les diferents aplicacions accés al maquinari (hardware). Comunament s'utilitza per definir però, el sistema operatiu GNU/Linux el qual inclou el nucli Linux i el projecte GNU.


2.2 GNU

El projecte GNU fou iniciat el 1987 per Richard Stallman amb el propòsit de crear un sistema operatiu totalment lliure. Les nom GNU és un acrònim que significa “GNU No és Unix”, ja que Unix és un sistema operatiu tancat i GNU un projecte amb un propòsit totalment oposat.

Els principis de la llicència de GNU anomenada GPL són tres: El primer, la llibertat a copiar el programa i oferir-lo als amics o companys de feina; el segon, el dret a canviar el programa de la manera que es vulgui, ja que es disposa de ple accés al codi font, i tercer, la llibertat de distribuir una versió millorada i d'aquesta manera ajudar a la societat (si es redistribueix programari GNU, es pot fixar un preu per l'acte físic de transferir la còpia o es pot donar de franc).

En principi, GNU englobava només una sèrie de programes, però es trobaren amb el problema de que per poder-los usar necessitaven sistemes operatius de programari propietari (com UNIX). Així va començar la recerca d’un nucli per poder elaborar un sistema operatiu totalment lliure. Com es pot suposar aquest nucli fou el de Linus Torvalds, d’aquesta manera nasqué el famós GNU/Linux. Que és en resum, una simbiosi entre un kernel anomenat Linux i un ampli programari anomenat GNU.

Actualment han sorgit varies aplicacions per el sistema GNU/Linux que no corresponen al projecte GNU i no romanen sota la llicència GPL, un clar exemple és l'entorn gràfic KDE.


2.3 Les distribucions

Com GNU/Linux és un sistema obert i lliure, des d'un bon principi es van crear diferents grups de programadors que crearen i distribuïren la seva pròpia versió d'aquest. Cadascuna d'aquestes versions és el que anomenem distribució. Existeixen desenes, fins i tot centenars de distribucions GNU/Linux, cadascuna amb les seves pròpies característiques. Seguidament n'analitzarem les més famoses:


2.4 Debian GNU/Linux

Debian GNU/Linux fou iniciat per Ian Murdock el 1993, és un projecte totalment no comercial, possiblement el més fidel als ideals que iniciaren el moviment del programari lliure. Així com passa en altres distribucions com Red-hat o Suse, no hi ha cap empresa darrera Debian, sinó centenars de programadors voluntaris de tot el mon que contribueixen en el projecte. És, per tant, un sistema basat en la cooperació voluntària i desinteressada.

El procés de desenvolupament parteix de tres branques: l'estable (“estable”), la de prova (“testing”) i l’inestable (“inestable”). Quan apareix una nova versió d'un paquet, aquest és situat a la branca inestable per les primeres proves. En cas de passar-les, el paquet és mogut a la rama de prova, on es realitza un rigorós procés de d’avaluació que dura diversos mesos fins que és declarat estable.
Aquest procés té l’avantatge de que s'aconsegueix molta estabilitat, els errors gairebé són inexistents; però té com a desavantatge que al haver de passar tantes proves, Debian (la versió estable) no és un sistema massa actualitzat. Mentre que la branca estable és perfecta per servidors amb funcions crítiques, molts usuaris prefereixen usar la de proves, més actualitzada pels seus ordinadors personals, i finalment són els programadors que contribueixen en el projecte Debian qui generalment utilitza l'inestable.

Debian té la reputació de ser dificultosa a l'hora de la instal·lació i la configuració, ja que és requerit un profund coneixement sobre el maquinari de la computadora, però compensant aquest contra, tenim l'instal·lador de paquets APT Totes les instal·lacions i actualitzacions del sistema es poden fer automàticament mitjançant aquesta eina.



3. Propòsits, el CLARR

El propòsit d'aquest projecte és l'elaboració d'un clúster homogeni de computadors d'alt rendiment mitjançant el reciclatge d'ordinadors personals i utilitzant programari lliure.

El clúster constarà de 5 unitats funcionals interconnectades entre si per mitjà d'un switch ethernet, d'aquestes cinc unitats tan sols una tindrà disc dur, l'anomenarem servidor. Es configurarà el sistema de manera que amb el disc dur del servidor, via xarxa, podran ser arrencades la resta d'unitats, aquesta propietat s'anomena arrencada “diskless”. Les unitats diskless, únicament constaran d’una placa base amb processador, memòria ram, targeta de xarxa i disquetera, mentre que el servidor contindrà tots els components i perifèrics necessaris per utilitzar-lo.


El procés descrit a continuació, és un seguiment explícit de tots els passos que s'han dut a terme, juntament amb les seves explicacions. Exposat de forma general, els diferents processos són:


Tot el projecte estarà basat en el reciclatge, la majoria dels components provindran d'ordinadors vells i gairebé inútils avui en dia. S'intentarà que el cost econòmic total del projecte sigui zero. El producte final tindrà l’aparença d'un únic ordinador: serà una caixa de fusta que contindrà les 4 unitats diskless funcionant amb dues fonts d'alimentació, tindrem, a banda, l'ordinador servidor, que controlarà tot el clúster.

S’ha batejat el projecte amb el nom de: CLARR, una associació de sigles que representen les idees principals del projecte: Clúster de Linux d’Alt Rendiment basat en el Reciclatge.



4. Configuració del servidor

Necessitarem un ordinador dins el clúster que actuï com a servidor d'on els 4 nodes sense disc establiran el seu sistema operatiu i on tindrem les aplicacions necessàries per la configuració i seguiment d'aquest.

L'ordinador servidor té les següents característiques:

- Un processador “Pentium-MMX” a 233Mhz.

- 64Mb de memòria RAM.

- 2 discs durs IDE; un de 2,5Gb i un altre de 1Gb.

- Un lector de CD “LG 52x”.

- Una disquetera de 3½.

- Una targeta de de vídeo genèrica.

- Una targeta de xarxa “Realtek”.

- Teclat, ratolí i monitor


En aquest gràfic, s'esquematitza la relació que hi ha entre els diferents nodes del sistema:

Com podem observar, en els nodes diskless, el processador juntament amb la memòria i altres integrats de la placa, i mitjançant la targeta de xarxa, utilitza el disc dur del servidor per establir el seu sistema operatiu.

El node servidor, una vegada la resta del sistema està funcionant, comença el procés de migració, dit en altres paraules; aprofita el micro-processador i la memòria RAM dels nodes diskless per processar les seves tasques.


A continuació es proposa una taula amb els passos que recorre un node diskless per arribar al punt de funcionar dins el clúster.


1

El node obté el subministrament d'energia que l'engegarà.

2

A la BIOS està configurat que la unitat de arrencada sigui la disquetera.

3

El disquet amb un programari especial, detecta la targeta de xarxa i cerca un servidor DHCP per obtenir les dades de configuració de la seva arrencada.

4

El node servidor, gestiona la petició i cerca en la seua base de dades per assignar una direcció la direcció IP que correspon al no de segons la seva direcció MAC.

5

Una vegada obtinguda la configuració, mitjançant el protocol TFTP serà iniciada la descarrega del nucli

6

En quan el nucli sigui descarregat, aquest passarà a tenir el control sobre l'ordinador i començarà la càrrega del sistema operatiu resident a l'ordinador del node servidor, mitjançant NFS.

7

En quant siguin carregats els “runlevels”, s'executarà el dimoni “openmosix” que s'encarregarà de gestionar el node dins el clúster.


Per aconseguir fer possible tot aquest procés, s'haurà de tenir instal·lat un sistema GNU/Linux i s'hauran de configurar una sèrie de serveis que explicarem posteriorment amb més detall, aquests són:

- DHCP: El necessitarem per iniciar els nodes en la xarxa.

- TFTP: Serà qui transmetrà el nucli del sistema operatiu als nodes diskless.

- NFS: És un protocol de xarxa que permetrà utilitzar als nodes diskless el disc dur del servidor com si fos el seu propi disc.

- OpenMosix: Per una banda és el programari que s'encarregarà de migrar els processos i rebre els processos migrats d'altres nodes, qui gestiona el clúster en qüestió y per l'altra és una extensió que s'ha d'aplicar al nucli per que tot el procés de migració sigui possible.


4.1 Instal·lació del sistema Debian GNU/Linux

El primer pas, òbviament és la instal·lació del sistema operatiu, ja que sense aquest cap aplicació podria funcionar. A continuació s'explica detalladament aquest procés.


      1. Obtenció del programari

Instal·larem la versió de Debian: “Sarge”. És l’última que ha sortit, tot i que encara esta en mode de proves (“testing”), ja és gairebé estable. Ens la descarregarem de la pàgina oficial de Debian (“www.debian.org), escollirem la versió especial per la instal·lació via xarxa (“Sarge i386 netinstall”), tot i que la instal·lació es farà més llarga degut a que haurem de descarregar els paquets des d’internet, val la pena ja que així ens assegurarem de tenir l'ultima versió de tot el programari.


4.1.2 Primeres configuracions

Una vegada tinguem el CD preparat per la instal·lació, l’introduirem al lector i en assegurarem de que a la BIOS hi estigui com a primera unitat d’arrencada.

A la primera pantalla ens deixa elegir l’idioma, jo vaig elegir Espanyol, ja que el català té numerosos errors de traducció. Seguidament ens preguntarà per el nostre país i el tipus de teclat.

Acabada aquesta primera configuració bàsica, començarà un procés de detecció del hardware per trobar un mitjà d’instal·lació, en el nostre cas lògicament trobarà el lector i dintre el CD del qual podrà instal·lar els mòduls base per la posterior detecció de la resta de components.

El següent apartat, és la configuració de la xarxa, ens demana les dades d’aquesta per poder descarregar els fitxers necessaris per la instal·lació. Si disposem d’una xarxa amb un servidor DHCP la configuració serà automàtica, si no és així ho haurem de configurar manualment.

4.1.3 Particionament

Aquest és un dels passos més importants. Això, en relació a la memòria de que es disposa, es pot organitzar d’una manera o d’un altra, però sempre seguint aquests criteris:


El sistema d’arxius que utilitzarem per totes les particions menys per la swap, és el actualment estàndar anomenat “ext3”. Aquest sistema deriva de l'anterior “ext2”, disposa de varies millores notables com l'anomenat “journaling”, un sistema que periòdicament grava els fitxers oberts per impedir pèrdues d'informació o corrupció de dades. Amés el sistema “ext3” es més ràpid, doncs tracta la lectura i escriptura de fitxers de forma optimitzada reduint així el temps de accés als mateixos.


A GNU/Linux els dispositius IDE (discs durs, lectors, gravadors...) s’anomenen “hdX”, on X seria una lletra de l’abecedari començant per el IDE1-Master (a), seguit per el IDE1-Slave (b), IDE2-Master (c) i IDE2-Slave (d). En el cas de que tinguem un disc dur amb més d’una partició, passa a formar part del nom el nombre de la partició, si per exemple tenim el dispositiu hda amb dues particions, les particions s’anomenaran hda1 i hda2.


La jerarquia de directoris que utilitza GNU/Linux es la següent:

Nom

Descripció

/boot

Fitxers estàtics del carregador d’arrencada

/home

Directoris personals dels diferents usuaris

/tmp

Fitxers temporats

/usr

Dades estàtiques, programari

/var

Dades variables

/srv

Dades de servei que ofereix el sistema

/opt

Paquets d’aplicacions afegides

/lib

Llibreries compartides del sistema i programari

/etc

Fitxers de configuració del sistema

/dev

Fitxers que representen els dispositius perifèrics

/root

El directori personal del “superusuari”

/sbin

Fitxers binaris essencials pel sistema

/bin

Fitxers binaris i executables

/proc

Sistema de fitxers virtuals amb informació sobre el sistema

/mnt

Punt de muntatge per particions temporals

Tenim la possibilitat en el particionament d’elegir la distribució d’aquesta jerarquia segons els discs durs i la memòria de la que disposem. Nosaltres hem creat la següent taula de particions:


Dispositiu

Nom

Capacitat

Sistema fitxers

P. Muntatge

IDE-1-Master

hda1

40 Mb

ext3

/boot

IDE1-Master

hda2

2,5Gb

ext3

/

IDE2-Master

hdc1

150Mb

swap

-

IDE2-Master

hdc2

933Mb

ext3

/opt

La partició “/boot” l’he fet relativament gran ja que s'hi hauran d'allotjar varis nuclis. La “/opt” he preferit que estes a un disc dur independent ja que a aquest directori serà on romandrà l’arbre d’arxius que utilitzaran els nodes diskless com a sistema.


4.1.4 Gestor d’arrencada

En quan acabi l’escriptura de la nova taula al disc dur, començarà la instal·lació del sistema base, el qual ja podria ser anomenat Sistema Operatiu.

Per que aquest pugui arrencar és necessari un programa que s’encarregui de gestionar-ho, els dos carregadors d’arrencada més coneguts son LILO i GRUB. La versió de Debian Sarge, per defecte proposa la instal·lació de GRUB, però podem elegir el que preferim.


4.1.5 Configuració del sistema base

Desprès d’això, el sistema es reiniciarà automàticament, hem de retirar el CD per que arranqui amb el disc dur. Si no hi ha cap error començarà amb la configuració del sistema base. Haurem de configurar la zona horària, la contrasenya del usuari administrador (root) i diferents usuaris del sistema i establir el nom del sistema.


4.1.6 APT

Un pas molt important també, es la configuració d’APT. Advanced Packaging Tool, és un avançat sistema de gestió de paquets creat per el projecte Debian que simplifica en gran mesura la instal·lació d’aquests. Conté unes llistes amb tota una sèrie de programari emmagatzemat en multitud de servidors d’arreu del mon. Només cal indicar l’ordre amb el programa que desitgem, per que automàticament sigui descarregat, instal·lat i configurat amb totes les seves dependències.

APT pot funcionar tant amb CDs com amb direccions FTP o HTTP, primer que res ens preguntarà si disposem de més CDs amb programari, com que no en tenim li diem que no, seguidament indicarem que volem afegir una nova font, i seleccionarem el protocol FTP. Tindrem una llista de la qual podrem elegir multitud de servidors per APT. Jo sempre he utilitzat el “ftp.rediris.es”. Quan ens pregunti si volem activar les actualitzacions de seguretat li diem que si, ja que són fonamentals per la seguretat del sistema.


4.1.7 Instal·lació de paquets

Posteriorment ens trobarem amb tasksel, un programa amb que podem elegir les aplicacions addicionals que desitgem afegir al nostre sistema. En el nostre cas, no afegirem cap aplicació addicional, sinó que instal·larem desprès amb APT tot el que ens faci falta.

Començarà la descàrrega dels diferents paquets que inclou la versió Sarge , i els addicionals si n’hem seleccionat algun, depenent de la velocitat de la nostra línia això tardarà més o menys estona.



4.2 Configuracions bàsiques

Una vegada tinguem el sistema ja instal·lat, començarem el procés de configuració d’aquest segons les nostres necessitats. En aquest apartat no ens expandirem massa ja que és un punt molt relatiu que depèn en gran mesura del maquinari de l’ordinador.


4.2.1 L’entorn gràfic

El primer que farem serà instal·lar el sistema gràfic, GNU/Linux des de fa uns anys disposa de sistemes de finestres semblant a l’entorn de Windows, que faciliten molt el seu ús i el posa a l’abast de tothom. Hi ha varis sistemes gràfics, cadascun amb les seves característiques, podríem fer una classificació força col·loquial però molt entenedora: Els pesats i els lleugers.

Els pesats serien els dos més populars: Gnome i KDE. Aquests dos entorns són molt complets, disposen d’una immensa varietat d’aplicacions, s’anomenen pesats perquè requereixen un ordinador relativament potent, ja que consumeixen molts recursos, tant de memòria com de capacitat de disc dur.

Els lleugers serien una sèrie d’entorns molt més senzills, quasi sense aplicacions i adaptables a gairebé qualsevol ordinador. Dos exemples d’aquest serien “fluxbox” i “xfce”.

Desprès de observa les característiques del nostre ordinador: Pentium MMX amb 64Mb de ram i 3,5Gb de disc dur, és obvi arribar a la conclusió de que hem d’utilitzar un sistema lleuger, utilitzarem “xfce”.


Així que començarem amb la instal·lació dels paquets necessaris amb APT, executarem la següent ordre : “apt-get install x-window-system xfce4”. Una vegada descarregats, ho haurem de configurar segons el nostre maquinari amb el programa XFree86 “xf86config” per el mode de text, i “xf86cfg –textmode” per el mode de finestres, més còmode. Per iniciar l’entorn gràfic teclejarem l’ordre “startx”.

El següent pas es una fase de pesonalització, on cadascú pot configurar certs aspectes del sistema i instal·lar les aplicacions que cregui convenients.

4.3 LTSP

Ja instal·lat i configurat el sistema, podem començar amb l’administració de les aplicacions específiques que ens permetran els nostres propòsits.

LTSP que significa “Linux Terminal Server Project”, es un projecte de codi obert (Open Source) amb el propòsit de crear les eines necessàries per la configuració d’una unitat de treball sense disc. Amés de configurar i gestionar tots els serveis necessaris, també inclou un arbre de directoris, una distribució especialitzada en el funcionament d'ordinadors sense disc dur.

En el nostre projecte, no utilitzarem LTSP amb tot el seu potencial, únicament usarem una eina d'aquest anomenada “ltspcfg” que és troba dins el programa “ltspadmin” el qual s'encarrega de configurar automàticament tots els serveis que es necessiten per dotar l'ordinador servidor de la capacitat d'allotjar els nodes diskless en el seu disc dur.


Procediment

*Sempre treballarem amb l'usuari root.

- Avanç que res necessitem instal·lar una biblioteca necessària per el funcionament de LTSP, executem la següent ordre: “#apt-get install libwww-perl”.

- Descarreguem el programari anomenat “ltsp_utils” de www.ltsp.org.

- Observem que és un fitxer amb extensió “.tgz”, el descomprimim: “#tar -xvzf fitxer.tgz”.

- Ens situem dins el directori que hem descomprimit i executem el fitxer “install.sh”: “#./install.sh”.

- L'execució d'aquest fitxer haurà generat varis fitxers repartits per el nostre sistema operatiu, un d'aquest, el que ens interessa és troba a “/bin/ltspcfg”.


Ara ja disposem de l'aplicació ltspadmin situada al directori “/usr/sbin”, com que aquest directori esta descrit a la variable PATH (camí) de l'usuari root, tan sols haurem de cridar la comanda “#ltspadmin” per executar-lo. Si ho fem ens trobarem un menú amb tres opcions, aquestes són:


Dins de “Configure LTSP” ens trobem dues opcions més:

- “Show the status of all services”: Serveix per veure l'estat dels serveis, aquesta opció presenta aquest aspecte:

Interface: el dispositiu de xarxa al qual perteneix el clúster.


Service: L'estat dels serveis: servei, instal·lat, actiu, funcionant, notes


File: Els fitxers que s'han de configurar y l'estat en que es troben.



4.4 Instal·lació dels serveis necessaris

En aquest apartat descriurem àmpliament els serveis que necessitem instal·lar i els processos que s'han de seguir per instal·lar-los.


4.4.1 DHCP

Significa “Dinamic Host Configuration Protocol”, aquest utilitza el paradigma client/servidor per que els nodes obtinguin una configuració de xarxa que els permeti interactuar amb ella.

Cada ordinador que forma part d'una xarxa TCP/IP (és el protocol de xarxa més estès i generalitzat avui en dia), necessita conèixer la seva direcció IP i la màscara de la xarxa, aquesta informació és guardada normalment als fitxers de configuració del sistema operatiu, però en el nostre cas no disposem de disc dur ni per tant de cap sistema operatiu estable. Per això necessitarem el protocol DHCP, per fer la transferència d’aquesta informació.

El DHCP per exemple és utilitzat molt per els routers (direccionador: dispositiu intermedi d'una xarxa de comunicació que s'encarrega de gestionar-la), quan connectem un ordinador a una xarxa, aquest busca el direccionador per obtenir-ne les dades, aquest mitjançant DHCP fa saber la configuració al ordinador.


Cal afegir una dada més; tota targeta de xarxa posseeix una direcció única anomenada direcció MAC, mitjançant aquesta direcció els servidors DHCP assignen una direcció IP o un altra, segons la seva configuració. Vegem el següent exemple:

- Ordinador: Hola, la meva direcció MAC és 00:50:08:C7:A3:D8, si-us-plau donam la meva direcció de xarxa.

- DHCP: (Cerca la direcció en la seva base de dades) el teu nom serà “node1”, la direcció de xarxa és 255.255.255.0 i la teva direcció IP 192.168.100.2.


Procediment

Començarem per instal·lar el paquet del servidor DHCP, però aquesta vegada ho farem amb APT, teclegem la següent orde: “# apt-get install dhcp3-server”, posteriorment ens preguntarà quina targeta volem utilitzar, si només en tenim una serà el dispositiu “eth0”. Una vegada finalitzat ja disposarem del servidor DHCP al nostre sistema, el següent pas és la configuració d'aquest, però això ho deixarem per més tard, el LTSP ho farà per nosaltres.


Per arrencadaar el servidor DHCP, utilitzarem el dimoni “init”, ho farem de la següent manera: “#/etc/init.d/dhcp3-server start”, també podem substituir “start” per “stop” (aturar) o “restart” (reiniciar).


4.4.2 TFTP

Les seves sigles signifiquen: “Trivial File Translate Protocol”. És una versió reduïda del FTP, un protocol per la transferència d'arxius. EL TFTP a diferencia del FTP no requereix autentificació per part del client, amés treballa sota UDP (“User datagram protocol”) en comptes de TCP.

Funciona de la següent manera:

- Ordinador: Donam el bloc 1 del fitxer.

- TFTP: Aquí el tens.

- Ordinador: Dóna’m el bloc 2...

Al funcionar sota UDP, no és crea cap connexió directa estable entre les dues màquines, si no que es va enviant la informació “pausadament”, bloc per bloc. El desavantatge d'aquest protocol UDP, és que es perden molts blocs.

Desprès d'obtenir la configuració de xarxa, el node ha d'iniciar el seu sistema operatiu vigent en el disc dur del servidor, per això farà falta aquest protocol. El TFTP s'encarregarà de transmetre, per dir-ho d'alguna manera, la primera peça des de la qual podrem alçar tot el sistema.



Procediment

Per instal·lar TFTP també utilitzarem apt: “# apt-get install tftpd”. Una vegada instal·lat, ja no cal que ens preocupem més per ell, s’executarà sol cada vegada que s’iniciï l’ordinador. En el cas de que no sigui així, utilitzarem la següent comanda “#in.tftpd”.


4.4.3 NFS

Net file system”, és un sistema de fitxers distribuït per un entorn de xarxa, que possibilita que diferents màquines conntectades a una mateixa xarxa accedeixin a fitxers remots com si es tractés de locals. O sigui, podem estar treballant en el disc dur d'un altre ordinador exactament com si del nostre es tractés.

Aquest sistema serà el que utilitzarem per fer treballar els nodes sense disc, una vegada el servidor TFTP transfereixi el nucli, s'iniciarà el muntatge de tot l'arbre de directoris i fitxers necessaris per poder iniciar el sistema GNU/Linux.

Usualment, la majoria de distribucions de Linux incorporen el NFS, en el cas de que no sigui així, si disposem de Debian, seguirem el següent procés:


Procediment

Per instal·lar NFS executarem la següent ordre amb APT:“# apt-get install nfs-common nfs-kernel-server”, això instal·larà aquests dos paquets bàsics per poder usar el “net file system”.


4.5 Elaboració del disquet d’arrencada

L’ordinador diskless (client), d’alguna manera ha de saber que disposa d’una targeta de xarxa, el programa que fa saber això a l’ordinador s’anomena “Driver”, “Conductor” en català. Cada component mecànic d’un ordinador posseeix el seu propi Driver, així que necessitarem executar aquest Driver cada vegada que iniciem l’ordinador per tal de poder treballar amb la targeta de xarxa. Per fer-ho crearem un disquet de 3½ amb el que iniciarem l'ordinador, en aquest disquet amés del Driver hi posarem un programari especialitzat per l’arrencada via xarxa.

Hi ha varies utilitats que podriem fer servir per l’elaboració d’aquest disquet d’arrencada, una d’aquestes és “Etherboot”. Etherboot és una eina molt útil per l’arrencada d’ordinadors via xarxa, el seu funcionament és el següent:

- És carregat per el sistema d’arrencada del ordinador

- Busca un servidor DHCP per rebre l’arxiu de configuració de la xarxa

-Sol·licita la transmissió del nucli del sistema operatiu (kernel), utilitzant TFTP

- Una vegada rebut el nucli serà aquest qui seguirà el procés d’arrencada del ordinador mitjançant NFS.


Procediment

- El programari esta disponible a “etherboot.sourceforge.net”.

- Ens descarreguem l’última versió, a data d’avui és la 5.3.11.

- Veurem que és un fitxer comprimit amb les extensions tar.bz2, per tant el descomprimim amb l’ordre “#bzip2 –d fitxer”, i després amb “tar –xvf fitxer”.

- Ara tenim un directori amb el programari descomprimit, dins d’aquest tenim un fitxer situat a “src/bin/NIC” que poseeix una llarga llista de models de targetes de xarxa, hem de cercar el nostre i apuntar el nom que l’identifica. En el nostre cas, totes les targetes de xarxa són “Realtek 8139”, i el nom que l’dentifica és “rtl8139”.

- Ens situem al directori src dins el directori on hem descomprimit el paquet de etherboot.

- Per crear el fitxer que serà gravat al disquet i arrencarà l’ordinador, teclegem la següent ordre: “#make bin/[nom-targeta-xarxa].zdsk”.

- El fitxer òbviament es trobarà al directori “bin” dins de “src” dins el directori on haguem descomprimit etherboot.

- Ara introduirem un disquet a la disquetera, i copiarem l’arxiu de la següent manera: “#cat arxiu.zdsk > /dev/fd0”. D’aquesta manera es copia l’arxiu partint del bloc 0 del disquet, fent possible així la seva arrencada.



4.6 Configuració de la xarxa

La configuració de la xarxa és molt senzilla, hem d’editar un fitxer que s’anomena “/etc/networking/interfaces”. En aquest fitxer hem de editar les següents línies:


Amb aquestes dades, tenim suficient per tenir la xarxa configurada.



4.7 Configuració dels fitxers necessaris

Ara ja tenim els serveis necessaris instal·lats per que funcioni el LTSP, passarem a l’edició dels fitxers de configuració d’aquests serveis. Els fitxers són els següents:

Per configurar tots aquests fitxers, com ja hem comentat, s'utilitzarà l'eina “ltspcfg” que ens facilitarà molt aquesta tasca, ho farem de la següent manera:


Procediment

- Iniciem ltspcfg: “#ltspcfg” (també podem iniciar aquesta eina executant el programa “ltspadmin” i elegint l'opció de configuració).

- Elegim l’opció “C”: “configure the services manually”

- Ens trobarem amb una llista de 11 opcions. Anirem una per una, elegint-les totes i seguint els passos. Les dues úniques que no utilitzarem seran “XDMCP” i “lts.conf”.

- Com a “Interface”, la que utilitzem, si només tenim una targeta de xarxa serà “eth0”


Una vegada finalitzats tots els passos de la configuració dels fitxers mitjançant LTSP, tan sols haurem d’editar-ne tres manualment, el “dhcpd.conf”, el “exports”, i el “inetd.conf”.


4.7.1 EL “dhcpd.conf”

Com hem mencionat avanç, aquest fitxer conté la configuració del servidor DHCP, és ubicat a “/etc/dhcp3/dhcpd.conf”. El LTSP ens ha creat un fitxer dhcpd.conf configurat, però ens l’ha creat amb el nom de “dhcpd.conf.sample” situat al mateix directori, així que el sustituirem per el dhcpd.conf amb la següent comanda: “#mv /etc/dhcp3/dhcpd.conf.sample /etc/dhcp3/dhcpd.conf”.

Ara editarem aquest fitxer amb qualsevol editor de text, jo sempre utilitzo “nano”: “#nano /etc/dhcp3/dhcpd.conf”. Observarem que hi ha multitud d’opcions, en comentarem algunes:


La més important per nosaltres, es la que serveix per administrar l’accés dels diferents nodes, segons la direcció MAC de la seva targeta.

host ws001 {

hardware ethernet 00:11:22:33:44:55;

fixed-address 192.168.0.1;

filename “/tftpboot/lts