Ufficio Grid Computing utilizzando gli ambienti virtuali - Parte 3
Introduzione
Io lavoro in una società dove eseguire i processi di elaborazione batch molti milioni di record di dati ogni giorno e ho pensato di recente su tutte le macchine che si siedono attorno ad ogni e ogni giorno non fare nulla per diverse ore. Non sarebbe bello se potessimo usare queste macchine per sostenere la potenza di elaborazione del nostro sistema? In questa serie di articoli ho intenzione di guardare i potenziali benefici di impiegare un ufficio griglia con ambienti virtualizzati.
Nella parte 2 abbiamo visto i lavori di un server verrà eseguito, e come i lavori devono essere configurati in modo da ottenere la massima quantità di elaborazione, assicurando che ogni lavoro viene elaborato a colpo sicuro.
Impostazione del lavoratore - o server LIMP
Il passo successivo nel processo è quello di impostare il vostro lavoratori virtuale. Per questo ho intenzione di utilizzare una installazione di CentOS utilizzando VirtualBox. Ho intenzione di installare MySQL e PHP su server, noto anche come zoppicando (Nux Li, m ySQL, P HP) Servera (forse ho fatto quel nome in alto).
- Installare VirtualBox sulla vostra macchina Windows (segui link)
- Scaricare e installare CentOS (attuale versione 5.3) all'interno di una macchina virtuale creata
Non ha senso che io vada a questo c'è probabilmente 1,000 's di tutorial grandi là fuori (ok, qui è uno: Creazione e Managing CentOS macchina virtuale in VirtualBox ). Il punto importante da notare suppongo è che ho chiamato la mia macchina virtuale GridMachine.
Per quanto riguarda le mie scelte di client e virtualizzazione del sistema operativo andare non c'è alcuna ragione convincente grande per ogni scelta. VirtualBox è una cosa che uso sul mio computer di casa ed è supportato dai tre principali sistemi operativi. Ho scelto CentOS come un sistema operativo stabile e buona Io lo uso sul mio server web. Sono un grande credente nel strumenti giusti per il lavoro (anche se sto applicando 'utilizzare il più veloce e più facile per te' mentalità qui), quindi se il sistema operativo X esegue il codice più rapidamente e in modo più efficiente l'uso che, invece:)
Importante assicurarsi che il VM utilizza DHCP, altrimenti per ogni nuova macchina virtuale dovrebbe essere configurato separatamente che è qualcosa che noi non want.By utilizzando DHCP non abbiamo bisogno di configurare le impostazioni di rete per le macchine singolarmente lavoratore, DHCP consegnerà IP per voi. Pertanto è possibile copiare la macchina virtuale su l'ufficio, senza preoccuparsi di impostare ognuno verso l'alto (questo migliora la scalabilità e riduce l'amministrazione lavoratore).
Il processo si dovrebbe cercare di raggiungere sarebbe quello di ottenere una nuova macchina fisica, installare VirtualBox, e poi praticamente distribuire l'immagine virtuale senza molto altro. Potrebbe essere saggio per configurare tutti i lavoratori su una sottorete diversa in modo che si possa almeno vedere quante macchine sono in esecuzione. Avrete anche bisogno di configurare il computer di una enfiteusi o illimitata lease DHCP.
Come eseguire lavori del lavoratore
Questa è un'area interessante e ci sono diversi metodi validi per l'elaborazione dei processi del lavoratore. Qui mi limiterò a discutere le due più evidenti:
- Perennemente in esecuzione script: script, da uno script di shell o uno script PHP viene eseguito una volta al lavoratore e viene eseguito come parte di un ciclo infinito. Ho scontato questo metodo come uno schianto dello script e, potenzialmente, il tuo lavoratori cesserà di funzionare senza un qualche tipo di intervento.
- L'esecuzione dello script Cron base: ogni X minuti il demone cron prende il via una chiamata allo script per far funzionare le cose. Senza una qualche verifica questo potrebbe portare a molte molte copie del lavoratore in esecuzione script.
La mia decisione era quella di andare con cron, che prende il via uno script di shell ogni 10 minutes. mio script di shell esegue le seguenti attività:
- Avere una lista di processo e grep questo per 'php'. Se non si trova poi continuare.
- Chiamate il vostro codice del lavoro, nel mio caso questo sarebbe qualcosa di PHP basato
- Script lavoratore completa la sua corsa
- Pronti a partire di nuovo la chiamata successiva appropriata
Il mio script bash aspetto simile al seguente:
#! / Bin / sh se ps ax | grep-v grep | grep php> / dev / null poi echo "Il lavoro sta elaborando, uscita" altro echo "Giobbe non è in esecuzione, inizia ora" php yourJobProcessingScript.php fi
Nota: l'eco sono quasi del tutto inutile, ma può aiutare la persona accanto che arriva per cercare di modificarle.
Che conclude il set up della macchina virtuale lavoratore, rapido, semplice e facile da copia ad ogni nuovo pezzo di hardware che si riceve. La 'bravura' del sistema di rete in realtà non è nel sistema operativo visualizzato, è tutto a che fare con il codice creato per elaborare i processi, la configurazione del processo, e nel fare in modo che il processo viene eseguito quando opportuno (cioè quando l'host è inattivo ).
La configurazione di Windows per inizializzare i lavoratori
Il primo compito è quello di lavorare il comando necessario per eseguire la macchina virtuale da linea di comando finestre. Se hai installato VirtualBox nel percorso predefinito e hai chiamato il tuo lavoratore GridMachine allora il comando necessario per caricare il tuo lavoro è la seguente:
"C: \ Programmi \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine Tuttavia, per eseguire lo script in uno stato 'senza testa' abbiamo bisogno di usare:
"C: \ Programmi \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off Verrà avviata la macchina virtuale senza l'interfaccia grafica e lasciarlo per salvare lo stato con garbo. Il secondo argomento si spegne RDP in modo che non entri in conflitto con le finestre RDP, o dare un messaggio di ascolto sulla porta 3389. Il nome della macchina virtuale è case sensitive!
Quindi, abbiamo bisogno di impostare le finestre fino al calcio d'inizio la nostra VM lavoratore una volta che la macchina è rimasta inattiva. Per fare questo (su Windows XP) è necessario andare su Start -> Tutti i programmi -> Accessori -> Utilità di sistema -> Operazioni pianificate come di seguito:
Successivamente clicca su 'Aggiungi operazione pianificata' seguito da sfogliare per aggiungere un programma personalizzato. Naviga allo script VBoxManage e fare clic su OK. Programmare il vostro compito per una qualsiasi delle opzioni (cambieremo questo in un minuto) e continuare. Dopo aver saltato la schermata successiva vi chiederà finestre che si desidera eseguire questo compito, io suggerirei o 'Administrator' o la creazione di un nuovo utente privilegiato. Ricordate che non vogliamo interferire con l'account personale di serie sulla macchina in qualsiasi punto. Fare clic su Avanti e controllare visualizzare le opzioni avanzate per questa operazione.
Alla fine della casella di testo eseguire aggiungere il nostro 'startvm GridMachine' stringa e assicurare che vengono eseguiti solo quando connesso è lasciato spuntata. Visita il compito prossima programmazione e modificare la pianificazione discesa per l'opzione 'a riposo', scegliere la quantità di tempo che desideri la macchina può rimanere inattivo prima di passare alla scheda successiva.
Infine deselezionare l'opzione in cui si afferma fermare l'attività se è stato in esecuzione una quantità X di tempo, ma spunta l'opzione per interrompere l'operazione se la macchina non è più inattiva.
Che è poi per impostare l'host windows!
Riassunto
In questa parte abbiamo messo a punto una macchina virtuale di agire come un lavoratore, così come il modo in cui noi chiamiamo ed eseguire il nostro script di elaborazione del lavoro (per me uno script PHP). Da qui guardiamo a come impostare le nostre copie di Windows per avviare la macchina virtuale in modalità headless quando il computer diventa inattivo, e salvare il suo stato quando l'utente riprende l'uso della macchina. Speriamo a questo punto si sta vedendo come è semplice creare un tale sistema e sono prurito per ottenere alcuni esperimenti stessi andando!
La prossima volta
In parte 4 ci troveremmo di fronte a utilizzare gli strumenti per garantire che si sta eseguendo l'ultima versione delle fonti codice e dati in modo che i risultati ottenuti sono sempre up-to-date con le ultime informazioni di business e la logica.




















































[...] Parte 3 creeremo la nostra macchina virtuale di elaborazione e impostare le nostre macchine finestre di diventare [...]
[...] Parte 3 abbiamo creato la nostra macchina virtuale di elaborazione e configurare le macchine windows per diventare inattivo in tempo [...]
Tu sei un esperto Davvero Blogger, hai comprensione qualità di ciò che il tuo parlare o hai fatto qualche ricerca fantastico. Grazie per questo post eccellente.