Comandi di Globus Daniele D'Agostino
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Comandi di Globus
Daniele D’Agostino
1Globus Toolkit
Esistono varie versioni del Globus
Toolkit
GT2.4 e GT3.2.1 sono le ultime
Verra’ trattato nello specifico GT2.4
si basa su quattro moduli
• Security
• Resource Management
• Information Service
• Data Management
2Security
Requisiti di sicurezza di una GRID
Realizzare comunicazioni sicure (autenticate e spesso confidenziali)
Non contrastare la politica locale di sicurezza
• Data l’eterogeneità delle varie organizzazioni che fanno parte della GRID si vuole
lasciare a esse la massima autonomia per quanto riguarda i sistemi per la
sicurezza utilizzati al loro interno
Single sign-on
• Il singolo utente si deve autenticare alla GRID una ed una sola volta al momento
del primo accesso
• Delegation: si delegano tutte le richieste di autenticazione future ad un proxy
agent
COME FA GLOBUS A RISPONDERE A QUESTI REQUISITI?
Global Security Infrastructure (GSI)
Modulo relativo alla sicurezza, fornisce servizi agli altri tre
Basato su crittografia a chiave pubblica, certificati X.509 e protocollo di
comunicazione SSL
Politica di sicurezza configurabile associando utenti Grid a utenti locali (gridmap-file)
Creazione di proxy agent di durata limitata per ogni utente
3Security
(Certification Authority)
Per ottenere i certificati X.509 bisogna:
Generare la richiesta di certificati per host, MDS e user:
• grid-cert-request –ca (selezianare uan CA dalla lista)
Spedire la richiesta via e-mail alla CA scelta
Una volta ricevuti i certificati copiarli in ~/.globus/ della macchina
usata come client quelli utente, in /etc/grid-security quelli della
macchina (da root)
Esiste la possibilita’ di creare una propria CA
L’autenticazione è delegata al proxy che risiede sulla
macchina. Per attivarlo:
• grid-proxy-init
4Resource Management
Si occupa della gestione delle risorse ed
è composto da:
GRAM (Globus Resource Allocation Manager)
• È il componente di più basso livello del modulo
• Permette di eseguire programmi su risorse remote
DUROC
• Co-allocatore di richieste (ad esempio processi paralleli)
GASS
• Accesso semplice a file remoti
5Resource Management
(GRAM)
CLIENT
Creazione proxy
Job submit (linguaggio RSL-RSL2)
Comandi:
• Globusrun, Globus-job-run, Globus-job-submit
Esempio di comando unix “ls -la”
• globusrun -o -r tulipano.ima.ge.cnr.it
&(executable=/bin/ls)(arguments=la)’
• globus-job-run tulipano.ima.ge.cnr.it /bin/ls –la
• globus-job-submit tulipano.ima.ge.cnr.it /bin/ls –la
6Resource Management
(GRAM)
SERVER
Gatekeeper
• Processo demone con privilegi di root in attesa di
richieste
– Mutua autenticazione con il proxy del client
– Mappa client in un utente locale (gridmap-file)
– Istanzia Job-manager con diritti utente locale
– Passa argomenti necessari per allocazione dei processi
Job Manager
• Avvia processi del job interfacciandosi con il sistema
locale e comunica lo stato dei processi all’esterno
– Parsing RSL
– Interfacciamento con il sistema locale
– Comunicazione diretta con il client per stato dei processi
7Resource Management
(DUROC)
+
Co-allocatore di richieste ( &(resourceManagerContact=“cluster.ima.ge.cnr.it")
Si usa con il comando (count=16)
globusrun (jobtype=mpi)
(label="subjob 0")
La richiesta è fatta in
RSL (environment=(GLOBUS_DUROC_SUBJOB_INDEX 0)
(LD_LIBRARY_PATH /usr/local/globus/lib/))
Scompone in
(directory="/home/globus ")
sottorichieste (Job
(executable="/home/globus/mpi_test")
Managers)
)
Si occupa di riassemblare ( &(resourceManagerContact=“cluster.dibe.unige.it")
il risultato. (count=9)
Esempio script RSL (jobtype=mpi)
Lo script a fianco lancia (label="subjob 1")
un programma MPI con (environment=(GLOBUS_DUROC_SUBJOB_INDEX 1)
16+9 processi su due (LD_LIBRARY_PATH /usr/local/globus/lib/))
cluster (directory="/home/globus")
(executable="/home/globus/mpi_test")
)
Nota: per utilizzare MPI bisogna installare la versione Grid Enabled MPICH-G2
8Resource Management
(GASS)
Permette di accedere a file remoti in maniera semplice
Semplifica la scrittura delle richieste del job e velocizza l'esecuzione del
programma. Esempio di comando:
globusrun -s -r tulipano.ima.ge.cnr.it
'&(executable=$(GLOBUSRUN_GASS_URL)/home/globus/sonar/cSVM)(arguments=sonar)
(file_stage_in=($(GLOBUSRUN_GASS_URL)/home/globus/sonar/sonar.txt $(HOME)/sonar.txt)
($(GLOBUSRUN_GASS_URL)/home/globus/sonar/sonar.svm $(HOME)/sonar.svm)
($(GLOBUSRUN_GASS_URL)/home/globus/sonar/sonarval.txt $(HOME)/sonarval.txt))
(file_stage_out=($(HOME)/sonar.aaa $(GLOBUSRUN_GASS_URL)/home/globus/sonar/sonar.aaa)
($(HOME)/sonar.val $(GLOBUSRUN_GASS_URL)/home/globus/sonar/sonar.val))
(file_clean_up=/home/sp3/dibe/sonar.txt /home/sp3/dibe/sonarval.txt /home/sp3/dibe/sonar.svm
/home/sp3/dibe/sonar.aaa /home/sp3/dibe/sonar.val)‘
9Information Service
(MDS)
E’ basato sullo standard x.509 e usa LDAP
Catena gerarchica di server LDAP
10Information Service
(componenti principali)
GRIS (grid resource information service)
Database LDAP che risiede su ciascuna risorsa e provvede a raccogliere tutte le
caratteristiche dinamiche e permanenti di una griglia.
GIIS (grid index information service)
mette assieme diversi GRIS offrendo una immagine coerente agli utenti e alle
applicazioni grid. Per noi è tulipano.
IP (information provider)
Componente che risiede sulla risorsa e tiene traccia di un aspetto particolare di essa
(memoria, CPU, ecc..); viene consultato da un GRIS per ottenere tali informazioni; puo’
essere personalizzato, ne può essere creato uno nuovo…
La consultazione puo’ avvenire attraverso un semplice browser LDAP o attraverso il
comando grid-info-search -x (-x = ricerca anonima, senza proxy)
Esempio: informazioni sul tipo e numero di processori, GRIS locale o GIIS:
grid-info-search –x Mds-Device-Group-name=processors
grid-info-search –x –h tulipano -b “Mds-Vo-Name=gema, o=Grid” Mds-Device-Group-name=processors
11Data Management
Esistono due applicativi fondamentali per la gestione dei dati
GRID-FTP
protocollo basato su FTP, con funzionalita’ aggiuntive
• Trasferimento dei dati tra due host remoti
• Canali di trasferimento multipli per trasferimenti paralleli
• Trasferimenti parziali dei dati
• Sicurezza sui canali di controllo e trasmissione dati
• Autenticazione dei canali di trasmissione
Il comando principale per la trasmissione dei dati e’ globus-url-copy
• Ci sono 3 tipi di trasferimento possibili:
– in/da locale: file:// in/da remoto: gsiftp:// in/da http: https://
globus-url-copy file://prova.txt gsiftp://tulipano.ima.ge.cnr.it/tmp/prova.txt
REPLICA SERVICES
Strumenti utilizzabili per mantenere cataloghi replicati di insiemi di dati
Velocizzano l'accesso ai dati e sono utilizzati soprattutto su grid di grandi dimensioni
Possono lavorare in cooperazione con GRID-FTP
12Puoi anche leggere