Installazione e Configurazione di un Sistema di Calcolo Distribuito operante sotto Linux

8
Installazione e Configurazione di un Sistema di Calcolo Distribuito operante sotto Linux INFN – Laboratori Nazionali Frascati Stage estivi 2006 Matteo Acciari Andrea Cervelli Guglielmo Mascitelli Michael Petrongari Supervisione: Federico Ronchetti Angelo Viticchie’

description

Installazione e Configurazione di un Sistema di Calcolo Distribuito operante sotto Linux. INFN – Laboratori Nazionali Frascati Stage estivi 2006. Matteo Acciari Andrea Cervelli Guglielmo Mascitelli Michael Petrongari Supervisione: Federico Ronchetti Angelo Viticchie’. - PowerPoint PPT Presentation

Transcript of Installazione e Configurazione di un Sistema di Calcolo Distribuito operante sotto Linux

Page 1: Installazione e Configurazione di un Sistema di Calcolo Distribuito operante sotto Linux

Installazione e Configurazione di un Sistema di Calcolo Distribuito

operante sotto Linux

INFN – Laboratori Nazionali FrascatiStage estivi 2006

Matteo AcciariAndrea Cervelli

Guglielmo MascitelliMichael Petrongari

Supervisione:Federico RonchettiAngelo Viticchie’

Page 2: Installazione e Configurazione di un Sistema di Calcolo Distribuito operante sotto Linux

Installazione di Linux • Linux e’ una versione di Unix (scaricabile liberamente

da Internet), molto usata in ambito tecnico-scientifico.

• Versione installata nei 4 computer di test a nostra disposizione– RedHat Linux 9.0 - kernel 2.4.20-8

• Tipo di computer a disposizione: – processore Intel Pentium III – da 256 a 768 MB di memoria RAM– 15 o piu’ GB di spazio disco – scheda di rete ethernet da 100 Mbit/s – switch di rete da 100 Mbit/s– connessione Internet

Installazione del sistema operativo tramite CDROM:• partizione manuale del disco hda con disk druid:

sistema (/) in hda1 e 512 MB di swap in hda2• installazione del boot loader (grub) sull’MBR.• configurazione delle interfacce di rete ethernet• aggiunta di un file di swap con dd, mkswap e swapon

Page 3: Installazione e Configurazione di un Sistema di Calcolo Distribuito operante sotto Linux

La Shell di Linux• La shell fornisce una

interfaccia utente per:– manipolare i files e

le directories(ls, cp, mv, rm, mkdir,….)

– navigare il file-system(cd, ln, …)

– controllare i processiin esecuzione (jobs, bg, fg, ps, kill)

• La shell e’ in se un linguaggio di programmazione:• I programmi (script) sono interpretati dalla shell stessa e hanno le

seguenti caratteristiche:– I file e le directory sono considerati tipi di dati nativi– si possono definire variabili (export, printenv)– dispone di cicli di iterazione (while)– dispone del controllo di flusso (if, case)

• La shell da noi usata e’ la bash shell (ne esistiono anche altri tipi).

kernel

emacsfilesystem

Page 4: Installazione e Configurazione di un Sistema di Calcolo Distribuito operante sotto Linux

Il nostro Network• I computer a disposizione sono stati suddivisi in 3 nodi worker

(1 interfaccia di rete ) e 1 nodo master (con 2 interfacce di rete).– una interfaccia per PC e’ stata collegata ad uno switch isolato creando

cosi’ una rete nascosta del tipo 192.168.0.0.

– Sul master abbiamo configurato anche una interfaccia verso la LAN dei LNF

• Abbiamo usato il file /etc/hosts per definire la corrispondenza tra i nomi e gli indirizzi IP scelti per i computer.

Page 5: Installazione e Configurazione di un Sistema di Calcolo Distribuito operante sotto Linux

I Servizi di Rete • Lo schema del nostro sistema di calcolo prevede una architettura

client – server. – La parte server e’ concentrata sul masternode – La parte client e’ distribuita sugli workernodes

• Servizi del masternode:– login remoto l’esecuzione di una shell attraverso la rete):

SSH (Secure SHell)– server utenti (andrea, guglielmo,

matteo, michael), NIS (Network Information Service)

– server disco utenti (/home), NFS (Network File System)

– server Web, APACHE– servizi di clustering (descritti in seguito)

• Processi client sui 3 workernodes:– validazione utenti dal masternode– accesso al disco del masternode

disco del master utente del master

NFS NISwww

Page 6: Installazione e Configurazione di un Sistema di Calcolo Distribuito operante sotto Linux

il ClusteringCosa e’ un cluster (aggregato): un gruppo di computer che eseguono programmi cooperando tra loro mediante la rete.• Esistono diverse tecniche di clustering. • Una delle piu’ comuni e’ quella del sistema di code (batch system)• vantaggi: semplice da installare, programmi girano sul cluster senza modifiche

Utente 1Server (masternode)

Utente 2

job diutente 1

job diutente 2

Coda (queue)job diutente 2

job diutente 1

Il server mantiene una lista (coda) dei processi (job) da eseguire Il worker riceve i processi dal server e li esegue per conto dell’utente

workernode1

workernode2

workernode3

NE

TW

OR

KPBS_server

mom

mom

mom

Page 7: Installazione e Configurazione di un Sistema di Calcolo Distribuito operante sotto Linux

[root@pcstage root]# more testpbs#!/bin/sh#testpbsecho "This is a test script"echo Today is `date`echo This is `hostname`echo The current working directory is `pwd`echo The system kernel is `uname -a`sleep 2m

[root@pcstage root]# qstat -amasternode.stage.lnf.infn.it: Req'd Req'd ElapJob ID Username Queue Jobname SessID NDS TSK Memory Time S Time--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----11.masternode.s andrea workq testpbs 14797 1 -- -- -- R 00:0112.masternode.s guglielm workq testpbs 14939 1 -- -- -- R 00:0113.masternode.s matteo workq testpbs 3691 1 -- -- -- R 00:0114.masternode.s michael workq testpbs -- 1 -- -- -- Q --

[root@pcstage root]# more testpbs.o9 This is a test scriptToday is Tue Jun 20 09:56:50 CEST 2006This is workernode3The current working directory is /home/andreaThe system kernel is Linux workernode3 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux

[root@pcstage root]# qmgrMax open servers: 4Qmgr: print servercreate queue workqset queue workq queue_type = Executionset queue workq enabled = Trueset queue workq started = True

[andrea@pcstage ~]# qsub testpbs

-rw------- 1 andrea studenti 0 Jun 20 10:03 testpbs.e9-rw------- 1 andrea studenti 314 Jun 20 10:03 testpbs.o9

1) creiamo la coda 2) creiamo uno script di prova

3) Inviamo lo script alla coda

4) Guardiamo il contenuto della coda

5) Riceviamo l’output dello script

6) Verifichiamo che e’ stato effettivamente eseguito sul worker

pbsnodes -aworkernode1 state = free np = 1 ntype = cluster

workernode2 state = free np = 1 ntype = cluster

workernode3 state = free np = 1 ntype = cluster

Una CPU per ogni worker

Page 8: Installazione e Configurazione di un Sistema di Calcolo Distribuito operante sotto Linux

Monitoraggio del cluster• Con Linux si possono monitorare solo le prestazioni di un singolo PC (top)• tuttavia e’ utile trattare i PC del cluster come un unico “computer”• A questo scopo, abbiamo usato GANGLIA

- software client-sever che permette monitorare un intero cluster• Dispone di un’interfaccia Web con pagine HTML dinamiche

Clicchiamo pervedere il sistemaal lavoro !