1 / 8

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 Frascati Stage estivi 2006. Matteo Acciari Andrea Cervelli Guglielmo Mascitelli Michael Petrongari Supervisione: Federico Ronchetti Angelo Viticchie’.

tierra
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. La Shell di Linux • La shell fornisce unainterfaccia 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 emacs filesystem

  4. 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.

  5. disco del master utente del master NFS www NIS 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

  6. il Clustering Cosa 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 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 Server (masternode) mom Utente 1 Utente 2 NETWORK workernode2 mom job di utente 1 PBS_server workernode3 job di utente 1 job di utente 2 mom job di utente 2 Coda (queue)

  7. 1) creiamo la coda 2) creiamo uno script di prova [root@pcstage root]# qmgr Max open servers: 4 Qmgr: print server create queue workq set queue workq queue_type = Execution set queue workq enabled = True set queue workq started = True [root@pcstage root]# more testpbs #!/bin/sh #testpbs echo "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 3) Inviamo lo script alla coda [andrea@pcstage ~]# qsub testpbs Una CPU per ogni worker 4) Guardiamo il contenuto della coda pbsnodes -a workernode1 state = free np = 1 ntype = cluster workernode2 state = free np = 1 ntype = cluster workernode3 state = free np = 1 ntype = cluster [root@pcstage root]# qstat -a masternode.stage.lnf.infn.it: Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time --------------- -------- -------- ---------- ------ --- --- ------ ----- - ----- 11.masternode.s andrea workq testpbs 14797 1 -- -- -- R 00:01 12.masternode.s guglielm workq testpbs 14939 1 -- -- -- R 00:01 13.masternode.s matteo workq testpbs 3691 1 -- -- -- R 00:01 14.masternode.s michael workq testpbs -- 1 -- -- -- Q -- 5) Riceviamo l’output dello script -rw------- 1 andrea studenti 0 Jun 20 10:03 testpbs.e9 -rw------- 1 andrea studenti 314 Jun 20 10:03 testpbs.o9 6) Verifichiamo che e’ stato effettivamente eseguito sul worker [root@pcstage root]# more testpbs.o9 This is a test script Today is Tue Jun 20 09:56:50 CEST 2006 This is workernode3 The current working directory is /home/andrea The system kernel is Linux workernode3 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux

  8. 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 per vedere il sistema al lavoro !

More Related