Office Grid Computing använder virtuella miljöer - Del 3
Införandet
Jag arbetar i ett företag där vi köra många batchjobb behandla miljontals skivor av data varje dag och jag har funderat nyligen om alla de maskiner som sitter runt varje dag gör ingenting i flera timmar. Skulle det inte vara bra om vi kunde använda dessa maskiner för att stärka processorkraften i våra system? I denna uppsättning artiklar jag kommer att titta på de potentiella fördelarna med att anställa ett kontor galler med virtualiserade miljöer.
I del 2 tittade vi på de jobb en server kommer att köra, och hur jobben ska konfigureras för att uppnå största möjliga behandling och samtidigt säkerställa att varje jobb behandlas utan att misslyckas.
Ställa in arbetare - eller halta server
Nästa steg i processen är att ställa in dina virtuella anställda. För detta jag kommer att använda en installation av CentOS med VirtualBox. Jag ska installera mySQL och PHP på servern, även känd som börjar halta (Li Nux, m ySQL, P HP) Servera (jag kan ha gjort det namnet upp).
- Installera VirtualBox på din Windows-maskin (följ länk)
- Ladda ner och installera CentOS (nuvarande version 5,3) i en skapad virtuell maskin
Det är ingen idé jag gå till denna finns det nog 1.000-tals stora tutorials där ute (ok, här är ett: Skapa och Managing CentOS virtuella maskinen under VirtualBox ). Det viktiga att notera antar jag är att jag ringde min virtuell maskin GridMachine.
När det gäller mina val av virtualisering klient och operativsystem åka dit är ingen stor övertygande skäl för att varje val. VirtualBox är något jag använder på mitt hem maskinen och stöds av de tre stora operativsystemen. Jag valde CentOS som det är en bra stabil OS och jag använder det på min egen webbserver. Jag är en stor anhängare av rätt verktyg för jobbet (även om jag ansöker "använda den snabbaste och enklaste för dig" mentalitet här), så om operativsystem X körs din kod snabbare och mer effektivt utnyttja den istället :)
Viktigt att din VM använder DHCP, annars för varje ny virtuell maskin skulle behöva konfigureras separat vilket är något vi inte want.By använder DHCP vi inte behöver konfigurera nätverksinställningar individuellt för arbetsdatorer kommer DHCP lämna ut IP-adresser för dig. Därför kan du kopiera din virtuella maskin om Office utan att oroa om hur var och en upp (detta förbättrar skalbarheten och minskar arbetare administration).
Processen bör du sträva efter att uppnå skulle vara att få en ny fysisk maskin, installera VirtualBox och sedan ganska mycket distribuera den virtuella bild utan mycket annat. Det kan vara klokt att ställa alla dina anställda på ett annat subnät så att du åtminstone kan se hur många maskiner igång. Du måste också ställa in dina maskiner på ett långt hyreskontrakt eller obegränsad leasing DHCP.
Hur man kör jobb på arbetstagaren
Detta är ett intressant område och det finns flera giltiga metoder för bearbetning jobb på arbetstagaren. Här ska jag bara diskutera de två mest uppenbara:
- Ständigt köra skript: Ett skript, antingen det är en skalskript eller ett PHP-skript körs en gång på arbetstagaren och körs som en del av en oändlig slinga. Jag har diskonterat denna metod som ett kraschen manuset och potentiellt dina anställda kommer att upphöra att köras utan någon form av intervention.
- Cron-baserade skript utförande: Var X minuter cron-demonen startar ett samtal till ditt manus för att få saker och ting. Utan någon kontroll kan detta leda till många, många kopior av arbetstagarens skript som körs.
Mitt beslut var att gå med cron som drar igång ett script var 10 minutes. mitt skal skript utför följande uppgifter:
- Få en process lista och grep detta för "php". Om den inte hittas sedan fortsätta.
- Ring ditt jobb koden, i mitt fall skulle detta vara något PHP baserade
- Arbetare script slutför loppet
- Redo att gå igen på nästa lämpliga samtal
Min bash script ser ut ungefär så här:
#! / Bin / sh om PS AX | grep-v grep | grep php> / dev / null därefter echo "Job närvarande bearbetar, avfart" annars echo "Job inte körs, starta nu" php yourJobProcessingScript.php fi
OBS: ECHO: s är nästan helt meningslöst, men kan hjälpa nästa person som kommer med till försöka redigera dem.
Som avslutar uppsättningen av arbetstagaren virtuella maskinen, snabbt, enkelt och lätt att kopiera till varje ny maskinvara som tas emot. Den "skicklighet" av nätet är egentligen inte i visualiseras OS, dess alla att göra med koden skapades för att processen jobb, jobb konfiguration, och i att se till att jobbet körs när så är lämpligt (dvs när värden är inaktiv ).
Ställa in Windows för att initiera arbetare
Den första uppgiften är att träna kommandot krävs för att köra den virtuella maskinen från fönstren kommandoraden. Om du har installerat VirtualBox på standardplatsen och du har döpt din arbetstagarens GridMachine sedan kommandot som krävs för att ladda upp din arbetstagare:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine Men för att köra skriptet i en "huvudlös" stat måste vi använda:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off Detta kommer att starta den virtuella maskinen utan GUI och låt den för att spara tillståndet graciöst. Det andra argumentet stängs RDP så det inte strider mot fönster RDP, eller ge dig ett meddelande om att lyssna på port 3389. Den virtuella maskinen Namnet är skiftlägeskänsligt!
Därefter behöver vi ställa fönster upp till avspark vårt arbetstagaren VM när maskinen har varit inaktiv. För att göra detta (i Windows XP) du behöver för att gå Start -> Alla program -> Tillbehör -> Systemverktyg -> Schemalagda aktiviteter enligt nedan:
Klicka sedan på "Lägg till schemalagd aktivitet" följt av några för att lägga till ett anpassat program. Navigera till din VBoxManage manus och klicka på ok. Schemalägg din uppgift för någon av alternativen (vi kommer att ändra detta i en minut) och fortsätta. Efter att hoppa över nästa skärm fönstren kommer att fråga dig vem du vill köra den här uppgiften, skulle jag föreslå antingen "Administratör" eller skapa en ny privilegierad användare. Kom ihåg att vi inte vill störa standard personalen konto på maskinen när som helst. Klicka på Nästa och kontrollera visar avancerade alternativ för denna uppgift.
Till slutet av körningen textrutan lägga till vår "startvm GridMachine 'string och se till att löpa först när Inloggad omarkerad kvar. Besök schemat uppgiften nästa och ändra schemat falla ner till alternativet "när inaktiv", välj den tid du vill att maskinen ska vara inaktiv innan man går vidare till nästa flik.
Slutligen avmarkera det alternativ som anger stoppa aktiviteten om den har varit igång X tid, men välj alternativet för att stoppa uppgiften om maskinen inte längre ledig.
Det är det då för Windows Host setup!
Sammanfattning
I denna del har vi satt upp en virtuell maskin för att fungera som arbetstagare, liksom det sätt på vilket vi kallar och exekvera våra skript lönbearbetning (för mig själv ett PHP-skript). Härifrån vi tittar på hur man ställer upp våra exemplar av Windows att starta upp den virtuella maskinen i huvudlösa läge när datorn blir ledig, och spara dess tillstånd när användaren återupptar användning av maskinen. Förhoppningsvis på denna punkt du ser hur enkelt det är att inrätta ett sådant system och längtar efter att få några försök att gå själv!
Nästa gång
I del 4 kommer vi att titta på med verktyg för att se till att du kör den senaste versionen av kod och data källor så att resultaten alltid up-to-date med den senaste affärsinformation och logik.



















































