Ufficio Grid Computing con ambienti virtuali - Parte 3
Introduzione
Io lavoro in una azienda dove siamo eseguire processi batch molti trasformazione milioni di record di dati ogni giorno e ho pensato di recente su tutte le macchine che si siedono intorno 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 sto andando a guardare i potenziali benefici di impiegare un ufficio griglia utilizzando ambienti virtualizzati.
In part 2 abbiamo visto i posti di lavoro di un server verrà eseguito, e quanti posti di lavoro dovrebbe essere configurato in modo da ottenere maggiore quantità di lavorazione garantendo nel contempo che ogni lavoro viene elaborato senza fallo.
Impostazione del lavoratore - o server LIMP
Il passo successivo nel processo è quella di creare il vostro lavoratori virtuale. Per questo ho intenzione di utilizzare un impianto di CentOS utilizzando VirtualBox. Sto per installare MySQL e PHP su server, noto anche come LIMP (Li nux, m ySQL, P HP) Servera (forse ho fatto quel nome).
- Installare VirtualBox su una macchina Windows (seguire il link)
- Scaricare e installare CentOS (attuale versione 5.3) all'interno di una macchina virtuale creata
Non c'è nessun punto me andare a questo c'è probabilmente 1,000 's di tutorial grandi là fuori (ok, qui è uno: Creazione e Managing CentOS macchina virtuale sotto VirtualBox ). Il punto importante da notare suppongo è che ho chiamato il mio GridMachine macchina virtuale.
Per quanto riguarda le mie scelte di virtualizzazione client e il sistema operativo andare non vi è grande motivo convincente per ogni scelta. VirtualBox è una cosa che uso sul mio computer di casa ed è sostenuto dai tre maggiori sistemi operativi. Ho scelto CentOS come un buon sistema operativo stabile e 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 viene eseguito il codice più rapidamente e in modo più efficiente uso che, invece:)
Importante assicurarsi che la VM usa DHCP, altrimenti per ogni nuova macchina virtuale dovrebbe essere configurato separatamente, che è qualcosa che non want.By utilizza il protocollo DHCP non abbiamo bisogno di configurare le impostazioni di rete per le macchine lavoratore individualmente, DHCP consegnerà IPs fuori per voi. Quindi è possibile copiare la macchina virtuale per l'ufficio, senza preoccuparsi di impostare su ognuna (questo migliora la scalabilità e riduce l'amministrazione lavoratore).
Il processo che si dovrebbe mirare a ottenere sarebbe quello di ottenere una nuova macchina fisica, installare VirtualBox, e quindi più o meno distribuire l'immagine virtuale senza molto altro. Potrebbe essere saggio per impostare tutti i vostri operai su una sottorete diversa, in modo da poter almeno vedere come molte macchine sono in esecuzione. Avrete anche bisogno di creare le vostre macchine con un contratto lungo o illimitato lease DHCP.
Come eseguire i lavori del lavoratore
Questo è un settore interessante e ci sono diversi metodi validi per i processi di trasformazione del lavoratore. Qui mi limiterò a discutere le due più evidenti:
- Perennemente in esecuzione script: uno script, che si tratti di 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 di script e potenzialmente tuo lavoratori cesseranno di funzionare senza un qualche tipo di intervento.
- l'esecuzione di script Cron based: ogni X minuti il demone cron prende il via una chiamata allo script per ottenere le cose. Senza una qualche verifica questo potrebbe portare a molte molte copie del vostro script lavoratore in esecuzione.
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 operazioni:
- Ottenere una lista dei processi e grep questo per 'php'. Se non lo trova e poi continua.
- Chiamate il vostro codice di posti di lavoro, nel mio caso questo potrebbe essere qualcosa basato su PHP
- script Worker completa la sua corsa
- Pronti a partire di nuovo la chiamata successiva del caso
Il mio script bash un aspetto simile al seguente:
# / Bin / sh se ps ax | grep grep-v |> php grep / dev / null poi echo "Job sta elaborando, uscita" altro echo "Il lavoro non è in esecuzione, inizia ora" php yourJobProcessingScript.php fi
Nota: l'eco sono quasi completamente inutile, ma può aiutare la prossima persona che arriva per cercare di modificarle.
Che conclude il set up della macchina virtuale lavoratore, veloce, semplice e facile da copiare per ogni nuovo pezzo di hardware che si riceve. Il 'bravura' del sistema di rete in realtà non è visualizzato nel sistema operativo, è tutto a che fare con il codice creato per elaborare i processi, la configurazione di posti di lavoro, e nel fare in modo che il processo viene eseguito quando opportuno (cioè quando l'host è inattivo ).
Configurazione di Windows per inizializzare i lavoratori
Il primo compito è quello di lavorare il comando richiesto per eseguire la macchina virtuale da linea di comando di Windows. Se hai installato VirtualBox nel percorso predefinito e che hai chiamato il tuo GridMachine lavoratore quindi il comando necessario per caricare il tuo lavoro è la seguente:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxManage.exe" GridMachine startvm Tuttavia, per eseguire lo script in uno stato 'senza testa' abbiamo bisogno di utilizzare:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxHeadless.exe" startvm GridMachine-- VRDP = off Questo farà partire la macchina virtuale senza l'interfaccia grafica e consentono di 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 su in 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 è rimasto inattivo. Per fare questo (in Windows XP) è necessario andare su Start -> Programmi -> Accessori -> Utilità di sistema -> Operazioni pianificate, come di seguito:
Successivamente clicca su 'Aggiungi operazione pianificata' seguito da Sfoglia per aggiungere un programma personalizzato. Passare al vostro script VBoxManage e scegliere OK. Programma il compito per una qualsiasi delle opzioni (cambieremo questo in un minuto) e continuare. Dopo aver saltato le finestre schermata successiva vi chiederà che si desidera eseguire questo compito, io suggerirei o 'Administrator' o la creazione di un nuovo utente con privilegi. Ricordate che non vogliamo interferire con l'account personale di serie sulla macchina in qualsiasi punto. Fare clic su Opzioni prossima mostra e verificare avanzate per questa operazione.
Alla fine della casella di testo eseguire add 'startvm' GridMachine corda e far sì che la nostra eseguite solo quando il login è lasciato spuntata. Visita il compito pianificazione successiva e modificare la goccia orario fino all'opzione 'quando inattivo ", scegliere la quantità di tempo che desideri la macchina per essere inattivo prima di passare alla scheda successiva.
Infine, deselezionare l'opzione in cui si afferma interrompere l'attività se è stato in esecuzione una quantità X di tempo, ma non selezionare l'opzione per interrompere l'operazione se la macchina non è più inattiva.
Che è poi per la configurazione host di Windows!
Riepilogo
In questa parte abbiamo creato una macchina virtuale di agire come un lavoratore, nonché il modo in cui chiediamo ed eseguire il nostro script di elaborazione del processo (per me uno script PHP). Da qui si guarda 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 te va!
La prossima volta
In parte 4 ci troveremmo di fronte a utilizzare gli strumenti per garantire che si sta eseguendo l'ultima versione del codice e dei dati di fonti in modo che i risultati ottenuti siano sempre up-to-date con le ultime informazioni di business e la logica.




















































[...] Parte 3 creeremo la nostra macchina virtuale di trasformazione e di impostare le nostre macchine Windows di diventare [...]
[...] Parte 3, abbiamo creato la nostra macchina virtuale di trasformazione e di creare macchine Windows di diventare [...] inattività
Sei davvero un esperto di Blogger, bisogna o comprensione qualità di ciò che il vostro parlare o hai fatto qualche ricerca fantastico. Grazie per questo ottimo post.