Introducere
Eu lucrez intr-o companie în care vom rula multe locuri de muncă lot de prelucrare a milioane de înregistrări de date în fiecare zi şi m-am gândit recent la toate maşinile care stau în jurul valorii de fiecare şi în fiecare zi, nu face nimic pentru mai multe ore. Nu ar fi bine dacă am putea folosi aceste maşini pentru a consolida 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 serverul Limp
Următorul pas în acest proces este de a crea lucrătorilor ta virtuala. Pentru aceasta voi să utilizaţi o instalaţie de CentOS folosind VirtualBox. Mă duc pentru a instala MySQL şi PHP pe server, de asemenea, cunoscut ca un Limp (Li vomica, m ySQL, P HP) Server (I poate fi făcut acest nume în sus).
- Instalaţi pe VirtualBox maşinii dvs. cu Windows (urmaţi link-ul)
- Descărcaţi şi instalaţi CentOS (versiunea curenta 5.3) într-o maşină virtuală creată
Nu are rost sa ma duc la o acolo, probabil, 1000 e de tutoriale mare acolo (ok, aici e una din urmatoarele: Crearea si Centos Managing maşini virtuale în VirtualBox ). Punct important de notat este Bănuiesc că am numit maşina mea virtuală GridMachine.
În ceea ce priveşte alegerile mele de virtualizare client şi sistemul de operare merge nu există nici un motiv de mare convingător pentru fiecare alegere. VirtualBox este ceva ce am folosi pe maşina de acasă şi este susţinută de cele trei sisteme de operare majore. Am ales ca CentOS sale un sistem de operare stabil bun si l-am folosi pe serverul meu web. Eu sunt un credincios mare în instrumentele potrivite pentru locul de muncă (deşi eu sunt aplicabile "utilizarea mai rapid si mai usor pentru tine" mentalitatea de aici), aşa că, dacă sistemul de operare X rulează cod mai repede şi mai eficient utilizarea că, în loc:)
Este important de asiguraţi-vă că VM dvs. utilizează DHCP, altfel pentru fiecare masina virtuala noi ar trebui să fie configurat separat, care este ceva ce noi nu utilizaţi DHCP want.By nu avem nevoie să configuraţi setările de reţea în mod individual pentru maşini muncitor, DHCP va înmâna IP-uri pentru tine. Prin urmare, puteţi copia maşina ta virtuala despre biroul fără a se preocupa de stabilire fiecare sus (acest lucru îmbunătăţeşte scalabilitatea şi reduce administrare muncitor).
Procesul ar trebui să urmărească atingerea ar fi pentru a obţine o maşină nouă fizic, instala VirtualBox, şi apoi destul de mult de mobilizare a imaginea virtuală, fără nimic altceva. Ar putea fi înţelept să setaţi toate lucrătorilor dintr-o subreţea diferită astfel încât să puteţi cel puţin vedea cât de multe maşini sunt difuzate. Veţi avea nevoie, de asemenea, pentru a configura masini pe un închiriere pe termen lung sau nelimitat DHCP leasing.
Cum pentru a rula pe ocuparea forţei de muncă lucrătorul
Aceasta este o zonă interesantă şi există mai multe metode valabile pentru prelucrare de locuri de muncă pe lucrător. Aici voi discuta doar doua dintre cele mai evidente:
- De funcţionare perpetuu script: Un scenariu, fie el un script de shell, sau un script PHP este executat o singură dată pe lucrătorul şi se execută ca parte a unui buclă infinită. Am actualizate această metodă ca fiind unul accident de script-ul şi potenţial lucrătorilor dvs. va înceta să ruleze fără un fel de intervenţie.
- De executare script cron pe baza: la fiecare X minute cron daemon începe un apel către script-ul pentru a obţine lucrurile merg. Fără unele verificarea aceasta ar putea duce la multe exemplare multe de funcţionare dvs. script-lucrător.
Decizia mea a fost să meargă cu cron, care va începe un script de shell fiecare minutes. 10 script-ul meu coajă îndeplineşte următoarele atribuţii:
- Obţineţi o listă proces şi grep acest lucru pentru "php". Dacă nu a fost găsit apoi continua.
- Apel codul de locuri de muncă, în cazul meu, acest lucru ar fi PHP ceva bazat
- Script lucrătorul completează alerga sale
- Gata pentru a merge din nou la apel corespunzătoare următoare
Bash script-ul meu arata ceva de genul cu următorul text:
# / Bin! / Sh
dacă ps ax | grep-v grep | grep php> / dev / null
atunci
echo "locurilor de muncă este în prezent de procesare, ieşire"
altfel
echo "Iov nu se execută, începe acum"
php yourJobProcessingScript.php
Fi Notă: Echo sunt aproape complet inutil, dar poate ajuta la următoarea persoană pe 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 în sistemul de operare vizualizate, 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 necesar (adică atunci când gazda este în aşteptare ).
Configurarea Windows pentru a iniţializa lucrătorilor
Prima sarcină este de a lucra în comandă necesare pentru a rula maşină virtuală de la linia de comandă ferestre. Dacă aţi instalat VirtualBox în locaţia implicită şi aţi numit dumneavoastră lucrător GridMachine atunci comanda trebuie să încărcaţi până lucrător este:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine
Cu toate acestea pentru a rula script-ul într-o "fără cap" de stat trebuie să facem uz:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off
Acesta va porni maşina virtuală, fără GUI şi lăsaţi-o pentru a salva de stat cu gratie. Al doilea argument se opreşte RDP astfel încât să nu intre în conflict cu ferestre RDP, sau vă dau un mesaj despre ascultare pe portul 3389. Numele maşina virtuală este sensibil la majuscule!
Apoi, va trebui să setaţi Windows până la lovitura de începere VM noastre lucrător de îndată ce aparatul a fost inactiv. Pentru a face acest lucru (pe Windows XP) va trebui să mergi pe Start -> All Programs -> Accessories -> System Tools -> Activităţi programate după cum urmează:
Faceţi clic pe Următorul pe "Adăugaţi sarcina planificată" urmată de răsfoiţi pentru a adăuga un program personalizat. Navigaţi la script-VBoxManage dvs. şi faceţi clic pe OK. Program de activitate pentru oricare dintre opţiunile de (ne vom schimba acest lucru într-un minut) şi a continua. După sar peste urmatorul ecran Windows vă va întreba care doriţi să rulaţi această sarcină, aş sugera fie "administrator" sau de a crea un utilizator nou privilegiat. Amintiţi-vă nu vrem să interfereze cu contul personal standard de pe masina, la orice punct. Faceţi clic pe Următorul şi check arată opţiunile avansate pentru această sarcină.
Până la sfârşitul caseta alerga adăuga noastre "startvm GridMachine" şir şi să se asigure că funcţionează numai atunci când este conectat la stânga unticked. Vizitează sarcină programul următor şi schimba programul derulantă la opţiunea "atunci când inactiv", alegeţi cantitatea de timp pe care doriţi ca aparatul să fie idle, înainte de a trece la fila următoare.
În cele din urmă debifaţi opţiunea care prevede opri activitatea în cazul în care a fost difuzate suma X de timp, dar nu bifaţi opţiunea de a opri de activitate în cazul în care maşina nu mai este inactiv.
Asta e, atunci pentru configurarea gazdă ferestre!
Rezumat
În această parte am înfiinţat o maşină virtuală pentru a acţiona ca un lucrător, precum şi modul în care noi o numim şi să execute script-uri de locuri de muncă noastre de prelucrare (pentru mine un script PHP). De aici ne uităm la cum să înfiinţeze copii noastre de ferestre pentru a porni maşina virtuală în modul fara cap atunci când calculatorul devine inactiv, şi de a salva starea sa atunci când utilizatorul se reia de utilizare a aparatului. Sperăm că în acest moment vedeţi cât de simplu este să înfiinţeze un astfel de sistem şi sunt mâncărime pentru a obţine unele experimente vă merge!
Dată următoare
În partea 4 , vom fi uitat la utilizarea instrumentelor pentru a se asigura că rulaţi ultima versiune a surselor de cod şi de date, astfel încât rezultatele obţinute sunt intotdeauna la curent cu cele mai recente informaţii de afaceri şi logică.