Introducere
Lucrez într-o companie unde vom rula lot multe locuri de muncă prelucrarea milioane de înregistrări de date în fiecare zi şi m-am gândit recent la toate maşinile care stau in fiecare zi nu face nimic pentru mai multe ore. Nu ar fi bine dacă am putea folosi aceste maşini să consolideze puterea de procesare a sistemelor noastre? În acest set de articole am de gând să se uite la beneficiile potenţiale ale angajarea unui birou grilă utilizând medii virtualizate.
În partea a 2- am uitat la un server de locuri de muncă va rula, şi cum de locuri de muncă ar trebui să fie configurat pentru a realiza cea mai mare cantitate de prelucrare în acelaşi timp asigurându-se că fiecare loc de muncă este procesat fără a eşua.
Configurarea lucrător dumneavoastră - sau server Limp
Următorul pas în procesul este de a configura muncitorii virtual. Pentru acest lucru am de gând să utilizeze o instalare a CentOS folosind VirtualBox. Am de gând să instaleze MySQL şi PHP pe server, de asemenea, cunoscut ca un Limp (Li vomica, m ySQL, P HP) Server (poate am făcut ca numele sus).
- Instala VirtualBox pe maşinii dvs. cu Windows (urmaţi link)
- Descărcaţi şi instalaţi CentOS (versiunea curenta 5.3) într-o maşină virtuală creată
Nu există nici un punct de gând să-mi acest acolo, probabil e 1.000 de tutoriale mare acolo (ok, aici e unul: Crearea şi Managing maşină virtuală CentOS sub virtualbox ). Punct important de notat este faptul că Cred că i-am sunat virtual GridMachine masina mea.
În ceea ce priveşte opţiunile mele de client virtualizare şi sistemul de operare merge nu există nici un motiv de mare convingător pentru fiecare alegere. VirtualBox este ceva Eu folosesc pe maşina de casa mea şi este susţinută de cele trei sisteme de operare majore. Am ales ca CentOS sale un sistem de operare stabil si bun sa-l folosesc pe serverul de web. Eu sunt un mare credincios în instrumentele potrivite pentru locul de muncă (deşi eu sunt aplicabile "utilizarea mai rapid şi mai uşor pentru tine" mentalitatea aici), aşa că, dacă sistemul de operare X ruleaza cod mai repede şi mai eficient utilizarea că, în loc:)
Important, asiguraţi-vă că VM dvs. utilizează DHCP, altfel pentru fiecare noua maşină virtuală ar trebui să fie configurat separat, care este ceva ce noi nu face folosind want.By DHCP nu avem nevoie pentru a configura setările de reţea individual pentru maşini de lucrător, DHCP va înmâna la IP-uri pentru tine. Prin urmare, puteţi copia maşina virtuală despre biroul fără a se preocupa de stabilire fiecare up (acest îmbunătăţeşte scalabilitatea şi reduce administrare lucrător).
Procesul ar trebui să vizeze obţinerea ar fi pentru a obţine o nouă maşină fizică, instala VirtualBox, şi apoi destul de mult de mobilizare a imagine virtuală, fără nimic altceva. Ar putea fi înţelept să setup toate lucrătorii pe o altă subreţea astfel încât să puteţi cel puţin vedea cât de multe masini sunt difuzate. Veţi avea nevoie, de asemenea, pentru a configura masini pe un închiriere pe termen lung sau DHCP leasing nelimitat.
Cum de a rula locuri de muncă pe lucrător
Acesta este un domeniu interesant şi există mai multe metode de locuri de muncă valabile pentru prelucrare pe muncitor. Aici voi discuta doar doua dintre cele mai evidente:
- rularea script mereu: Un scenariu, fie el un script de shell, sau un script PHP este executat o singură dată pe muncitor si ruleaza ca parte dintr-o buclă infinită. Am actualizat această metodă ca fiind unul accident de script-ul şi potenţial muncitorii dvs. va înceta să ruleze fără un fel de intervenţie.
- executarea Cron script bazat: la fiecare X minute daemon cron începe un apel la script-ul dvs. pentru a obţine lucrurile sa mearga. Fără unele verificarea acest lucru ar putea duce la mai multe copii multe dintre script-lucrător pe care rulează.
Decizia mea a fost să meargă cu cron, care incepe un script de shell la fiecare 10 minutes. shell script-ul meu îndeplineşte următoarele atribuţii:
- Obţine o listă şi grep acest proces pentru "php". În cazul în care nu a fost găsit apoi se continuă.
- Apel codul de locuri de muncă, în cazul meu, acest lucru ar fi ceva PHP bazate pe
- script de munca completeaza rula sale
- Gata să meargă din nou la apel corespunzătoare următoarea
bash script-ul meu arata ceva de genul următor:
#! / Bin / sh
dacă topor ps | grep-v grep |> grep php / dev / null
apoi
echo "de locuri de muncă este în prezent de procesare, ieşire"
altfel
echo "Iov nu se execută, începe acum"
php yourJobProcessingScript.php
Fi Nota: ecou sunt aproape complet inutil, dar poate ajuta la următoarea persoană care vine de-a lungul pentru a încerca şi să le editaţi.
Concluzionează că înfiinţarea de maşină virtuală lucrătorului, rapid, simplu şi uşor de a copia la fiecare nouă piesă de hardware, care este primit. "Inteligenţa" a sistemului de reţea într-adevăr nu este vizualizat în sistemul de operare, de-a face cu codul creat pentru a procesului de locuri de muncă, de configurare de locuri de muncă, şi în asigurându-se că locul de muncă se execută atunci când este cazul (adică atunci când gazda este inactiv ).
Configurarea Windows pentru a iniţializa Lucrătorii
Prima sarcină este de a lucra la comanda, necesare pentru funcţionarea maşinii virtuale din linia de comandă Windows. Dacă aţi instalat VirtualBox în locaţia implicită şi aţi numit lucrător GridMachine dvs., atunci comanda trebuie să încărcaţi până lucrător dumneavoastră este:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine
Cu toate acestea pentru a rula script-ul într-un "cap" de stat avem nevoie pentru a utiliza:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - VRDP = off
Aceasta va porni maşina virtuală, fără GUI şi lăsaţi-o pentru a salva de stat cu graţie. Al doilea argument se opreşte RDP aşa că nu intră în conflict cu ferestre RDP, sau vă dau un mesaj despre ascultare pe portul 3389. Numele maşinii virtuale este sensibil caz!
Apoi, va trebui să setaţi Windows până la a lovi cu piciorul off VM nostru lucrător de îndată ce aparatul a fost inactiv. Pentru a face acest lucru (pe Windows XP), veţi avea nevoie pentru a merge Start -> All Programs -> Accesorii -> System Tools -> Scheduled Tasks ca de mai jos:
faceţi clic pe Următorul pe "Add Scheduled Task", urmată de a căuta pentru a adăuga un program personalizat. Navigaţi la script-ul dvs. VBoxManage şi faceţi clic pe OK. Programul de activitate pentru oricare dintre opţiunile (vom schimba această intr-un minut) şi a continua. După sărind peste ferestrele urmatorul ecran vă va întreba cine doriţi să executaţi această sarcină, aş sugera fie "administrator" sau de a crea un nou utilizator privilegiat. Amintiţi-vă noi nu vrem să se amestece cu personalul cont standard pe masina de la orice punct. Faceţi clic pe opţiunile următoare şi verificaţi arată avansate pentru această sarcină.
La sfârşitul casuta alerga adăuga şir "GridMachine startvm" noastre şi să se asigure că rula numai atunci când este conectat în stânga unticked. Vizitaţi sarcina programul următor şi de a schimba programul drop jos la opţiunea "atunci când idle", alege suma de timp doriţi ca aparatul să fie inactiv înainte de a trece la următoarea filă.
Pînă la urmă opţiunea care prevede opri activitatea dacă a fost difuzate suma X de timp, dar nu bifaţi opţiunea de a opri sarcina în cazul în care maşina nu mai este inactiv.
Asta e, atunci pentru configurare gazdă ferestrele!
Rezumatul
În această parte ne-am înfiinţat-o maşină virtuală să acţioneze ca un lucrător, precum şi modul în care noi o numim si executa script-urile noastre de locuri de muncă de prelucrare (pentru mine un script PHP). De aici ne uităm la cum să înfiinţeze copii noastre de Windows pentru a porni maşina virtuală în modul de cap atunci când calculatorul devine inactiv, şi de a salva starea sa atunci când utilizatorul reia de utilizare a maşinii. Sperăm că în acest moment vedeţi cât de simplu este de a înfiinţa un astfel de sistem şi sunt mâncărime pentru a obţine unele experimente tine merge!
Următorul timp
În partea 4 , vom fi uitat la utilizarea instrumentelor pentru a se asigura că rulaţi cea mai recentă versiune a datelor şi sursele de cod, astfel încât rezultatele obţinute sunt intotdeauna la curent cu cele mai recente informaţii de afaceri şi de logică.