09.01.2015 Views

Prof. Guido Russo - Scope - Università degli Studi di Napoli Federico II

Prof. Guido Russo - Scope - Università degli Studi di Napoli Federico II

Prof. Guido Russo - Scope - Università degli Studi di Napoli Federico II

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.9 I Plugin<br />

Per le funzioni <strong>di</strong> controllo dello stato e gestione <strong>di</strong> tutti i <strong>di</strong>spositivi della farm quali<br />

server, worker node, risorse <strong>di</strong> storage, router, Powefarm utilizza dei Plugin realizzati<br />

in un qualsiasi linguaggio <strong>di</strong> programmazione o <strong>di</strong> scripting che sono eseguibili sotto<br />

linux e ritornano il valore 0 se il plugin è stato eseguito con successo oppure un valore<br />

<strong>di</strong>verso da 0 in caso contrario e inoltre ritorna il co<strong>di</strong>ce d'errore ed eventualmente la<br />

descrizione dell'errore.<br />

I plugin vengono utilizzati da Powerfarm oltre per accendere o spegnere uno o piu<br />

<strong>di</strong>spositivi o l'intera farm, ma anche per controllare se il un <strong>di</strong>spositivo è online oppure<br />

offline. Quin<strong>di</strong> ci sonp <strong>di</strong>verse librerie <strong>di</strong> plugin per i vari <strong>di</strong>spositivi, ad esempio,<br />

SSH, Intelligent Platform Management Interface (IPMI), Baseboard Management<br />

Controller (BMC), Dell Remote Administration Controller (DRAC), Power<br />

<strong>di</strong>stribution Unit (PDU), Chassis Management Controller (CMC). Inoltre se si vuole<br />

aggiungere un particolare <strong>di</strong>spositivo si può scrivere un nuovo plugin per gestire il<br />

nuovo <strong>di</strong>spositivo.<br />

I plugin utilizzati si occupano principalmente:<br />

- Accensione;<br />

- Spegnimento software;<br />

- Spegnimento hardware;<br />

- Controllo stato <strong>di</strong> accensione;<br />

- Controllo stato <strong>di</strong> spegnimento.<br />

Per ogni plugin è presente un parametro, (timeout) che rappresenta il tempo massimo<br />

entro il quale il plugin deve completare la sua esecuzione. Nel caso dello spegnimento<br />

software <strong>di</strong> un <strong>di</strong>spositivo, se non si spegne entro il timeout previsto, verrà richiamato<br />

il plugin per lo spegnimento hardware che consistera nello spegnere in modo fisico il<br />

<strong>di</strong>spositivo, come ad esempio <strong>di</strong>sattivando il unita <strong>di</strong> alimentazione (ad esempio PDU)<br />

per il <strong>di</strong>spositivo.<br />

Se anche il plugin dello spegnimento hardware fallisce, dopo il timeout <strong>di</strong> scadenza, si<br />

agirebbe in base al valore <strong>di</strong> ritorno del blocco, se il processo dovrebbe continuare o<br />

no, in questa situazione il valore <strong>di</strong> default per il blocco off e 0, il che significa che il<br />

processo deve andare avanti anche se la <strong>di</strong>spositivo non si spegne.<br />

Come quello per lo spegnimento il plugin per l'accensione ha il timeout e se non viene<br />

portato a temine entro il temine stabilito si agirebbe in base al valore che il blocco<br />

ritorna, <strong>di</strong> solito il valore <strong>di</strong> default e 1 che significa che il processo deve fermarsi,<br />

perche non può effettuare l'accensione in modo ricorsivo sugli altri <strong>di</strong>spositivi che<br />

<strong>di</strong>pendono dal <strong>di</strong>spositivo non acceso, quin<strong>di</strong> bisogna rispettare sempre le <strong>di</strong>pendenze<br />

tra i vari <strong>di</strong>spositivi.<br />

I plugin per il controllo dello stato <strong>di</strong> accensione o spegnimento sono utilizzati per<br />

verificare se un <strong>di</strong>spositivo e acceso o spento.<br />

Pietro Neroni 566/2833 Pagina 22 <strong>di</strong> 117

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!