Office Grid Computing hjälp Virtuella miljöer - Del 3
Inledning
Jag arbetar i ett företag där vi driver många batchjobb bearbetning miljontals skivor av data varje dag och jag har funderat nyligen om alla maskiner som sitter runt varje dag gör ingenting i flera timmar. Vore det inte bra om vi kunde använda dessa maskiner att stärka processorkraften i våra system? I denna uppsättning av artiklar jag kommer att titta på de potentiella fördelarna med att anställa ett kontor rutnät med virtualiserade miljöer.
I del 2 tittade vi på jobb en server körs, och hur jobben ska konfigureras för att uppnå största mängden behandling samtidigt som varje jobb bearbetas utan att misslyckas.
Ställa in arbetare - eller "limp-server
Nästa steg i processen är att sätta upp din virtuella arbetare. För detta jag kommer att använda en installation av CentOS använder VirtualBox. Jag kommer att installera MySQL och PHP på servern, även känd som en slak (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) inom en skapad virtuell maskin
Det är ingen idé jag går till detta finns förmodligen 1000-tals bra tutorials där ute (OK, här är ett: Skapa och Managing CentOS virtuell maskin under VirtualBox ). Det viktiga att notera antar jag är att jag ringde min virtuella maskinen GridMachine.
När det gäller mina val av virtualisering klient och operativsystem åka dit är ingen stor övertygande skäl för varje val. VirtualBox är något jag använder på min hemdator och stöds av de tre stora operativsystemen. Jag valde CentOS som det är en bra stabil OS och jag använder den på min egen webbserver. Jag är en stor anhängare av rätt verktyg för jobbet (även om jag tillämpa "använder snabbaste och enklaste för dig"-mentalitet här), så om operativsystemet X kör din kod snabbare och mer effektivt använda den istället:)
Viktigt att se till att din VM använder DHCP, annars för varje ny virtuell maskin skulle behöva konfigureras separat vilket är något som vi inte want.By använder DHCP vi inte behöver konfigurera nätverksinställningar individuellt för arbetstagare maskiner, kommer DHCP hand ut IP-adresser för dig. Därför kan du kopiera din virtuella maskin om Office utan att oroa dig ställa var och en upp (detta förbättrar skalbarheten och minskar arbetstagarens administration).
Den process du bör sträva efter att uppnå skulle vara att få en ny fysisk maskin, installera VirtualBox och sedan ganska mycket distribuera den virtuella bilden utan mycket annat. Det kan vara klokt att ställa alla dina anställda på ett annat delnät så att du kan åtminstone se hur många maskiner är igång. Du kommer också att behöva ställa in dina maskiner på en tomträtt eller obegränsad leasing DHCP.
Hur man kör jobb på arbetstagaren
Detta är ett intressant område och det finns flera vedertagna metoder för bearbetning jobb på arbetstagaren. Här ska jag bara diskutera de två mest uppenbara:
- Ständigt kör skript: Ett skript, antingen det är en shell script, eller ett PHP-skript körs en gång på arbetstagaren och körs som en del av en oändlig loop. Jag har diskonterat denna metod som en krasch av manus och eventuellt dina anställda kommer att upphöra att fungera utan någon form av intervention.
- Cron baserade skript: Varje 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 dina arbetare skriptet körs.
Mitt beslut var att gå med cron som startar ett shell script var 10 minutes. Mitt shell script 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 kod, i mitt fall detta skulle vara något PHP-baserad
- Arbetare script slutför köra
- Redo att gå igen på nästa lämpliga samtalet
Min bash-script ser ut ungefär så här:
#! / Bin / sh om ps ax | grep-v grep | grep php> / dev / null sedan echo "Job bearbetar för närvarande, utträde" annat echo "jobb är inte körs, startar nu" php yourJobProcessingScript.php fi
Obs: ECHO: s är nästan helt meningslöst, men kan hjälpa nästa person som kommer för att försöka redigera dem.
Som avslutar inrättandet av arbetstagaren virtuella maskinen, snabbt, enkelt och lätt att kopiera till varje ny maskinvara som är emot. Den "duktighet" av nätet är verkligen inte i visualiseras OS, dess allt att göra med kod som skapats för att bearbeta jobb, jobb konfiguration, och att se till att jobbet körs vid behov (dvs när den mottagande är inaktiv ).
Konfigurera Windows för att initiera Workers
Den första uppgiften är att räkna ut 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 namngett arbetstagare GridMachine sedan kommandot behövs för att ladda upp din arbetstagaren är:
"C: \ Program \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine Men att köra skriptet i en "huvudlös" stat vi behöver använda:
"C: \ Program \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - VRDP = off Detta kommer att starta den virtuella maskinen utan GUI och låt den spara staten graciöst. Det andra argumentet stängs av RDP så det inte står i konflikt med 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 kick off våra arbetstagare 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 bläddra för att lägga till ett anpassat program. Navigera till din VBoxManage manus och klicka OK. Schemalägg din uppgift för något av alternativen (vi ä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, föreslår jag att antingen "Administratör" eller skapa en ny privilegierad användare. Kom ihåg att vi inte vill störa den vanliga personalen konto på maskinen på någon punkt. Klicka på Nästa och kontrollera att visa avancerade alternativ för denna uppgift.
Till slutet av körningen textrutan lägga våra "startvm GridMachine" sträng och se till att löpa först när du är inloggad lämnas omarkerad. Besök schema uppgift nästa och ändra schemat sjunka ner till alternativet "viloläge", välj den tid du vill att maskinen ska vara inaktiv innan du går vidare till nästa flik.
Slutligen avmarkera alternativet som anger stoppa uppgift om den har varit igång X tid, men välj alternativet för att stoppa uppgift om maskinen inte längre är ledig.
Det är det därefter på Windows Host setup!
Sammanfattning
I denna del har vi satt upp en virtuell maskin att fungera som en arbetstagare, liksom det sätt på vilket vi kallar och köra våra manus jobbearbetning (för mig själv ett PHP-skript). Härifrån vi tittar på hur man ställer in våra exemplar av Windows att starta den virtuella maskinen i huvudlösa läge när datorn blir inaktiv, 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 är klåda att få några experiment som går själv!
Nästa gång
I del 4 vi kommer att titta på att använda verktyg för att säkerställa att du kör den senaste versionen av koden och datakällor så att resultaten är alltid up-to-date med de senaste affärsinformation och logik.




















































[...] Del 3 skapar vi vår virtuella maskin och sätta ihop våra Windows-maskiner för att bli [...]
[...] Del 3 har vi skapat vår virtuella maskin och ställa in Windows-maskiner för att bli idle-tid [...]
Du är en riktigt upplevt Blogger, måste du antingen kvalitet förståelse för vad du pratar om eller du gjorde några fantastiska forskning. Tack för detta utmärkta inlägg.