Office Grid Computing bruke Virtual miljøer - Del 3
Innledning
Jeg jobber i et selskap hvor vi kjører mange batch jobber behandling millioner registreringer av data hver dag og jeg har tenkt nylig om alle maskiner som sitter rundt hver eneste dag gjør ingenting i flere timer. Ville ikke det være bra om vi kunne bruke disse maskinene til å styrke behandlingskapasiteten til våre systemer? I dette settet av artiklene jeg skal se på de potensielle fordelene av å benytte et kontor rutenett med virtualiserte miljøer.
I del 2 så vi på de jobbene en server vil kjøre, og hvordan arbeidsplasser bør være konfigurert for å oppnå mest mulig behandling samtidig sikre at hver jobb blir behandlet uten mislykkes.
Sette opp arbeidstaker - eller halte server
Det neste trinnet i prosessen er å sette opp virtuelle arbeidere. For dette skal jeg bruke en installasjon av CentOS med VirtualBox. Jeg kommer til å installere MySQL og PHP på serveren, også kjent som en slapp (Li Nux, m ySQL, P HP) Servera (jeg kan ha gjort at navnet opp).
- Installer VirtualBox på din Windows-maskin (følg link)
- Last ned og installer CentOS (gjeldende versjon 5.3) i løpet av et opprettet virtuell maskin
Det er ingen vits meg å gå til dette er det sannsynligvis 1000 er av stor tutorials der ute (ok, her er en: Lage og Managing CentOS virtuell maskin under VirtualBox ). Det viktige å merke jeg antar er at jeg kalte min virtuelle maskin GridMachine.
Så langt som mitt valg av virtualisering klient og operativsystem går er det ingen stor overbevisende grunn for hvert valg. VirtualBox er noe jeg bruker på min hjemme maskin og er støttet av de tre store operativsystemene. Jeg valgte CentOS som sin en god stabilt OS og jeg bruker det på min egen web server. Jeg er en stor tro på de riktige verktøyene for jobben (selv om jeg søker 'bruk den raskeste og enkleste for deg' mentalitet her), så hvis operativsystemet X kjører koden din raskere og mer effektivt å bruke dette i stedet:)
Viktigere sørge for at VM bruker DHCP, ellers for hver nye virtuelle maskinen må være konfigurert separat som er noe vi ikke want.By bruker DHCP, trenger vi ikke å konfigurere nettverksinnstillinger individuelt for arbeideren maskiner, vil DHCP hånd ut IP-adresser for deg. Derfor kan du kopiere den virtuelle maskinen rundt i kontoret uten å bekymre deg om å sette hver og en opp (det øker skalerbarhet og reduserer arbeidstaker administrasjon).
Prosessen du bør sikte på å oppnå ville være å få en ny fysisk maskin, installerer VirtualBox, og deretter ganske mye distribuere virtuelle bildet uten mye annet. Det kan være lurt å sette opp alle dine arbeidere på et annet subnett, slik at du kan i det minste se hvor mange maskiner kjører. Du må også sette opp maskiner på en lang lease eller ubegrenset lease DHCP.
Hvordan kjøre jobber på arbeideren
Dette er et interessant område, og det er mange metoder for prosessering jobber på arbeideren. Her skal jeg bare diskuterer de to mest åpenbare:
- Stadig kjører script: Et skript, enten det er en shell script, eller et PHP script kjøres en gang på arbeideren og løper som en del av en uendelig loop. Jeg har nedsatte denne metoden som en krasj på manuset og potensielt de ansatte vil slutte å kjøre uten noen form for intervensjon.
- Cron basert script gjennomføring: Hver X minutter cron daemon starter en samtale til skriptet for å få ting i gang. Uten noen sjekker dette kunne føre til mange mange kopier av arbeidstaker skript.
Min beslutning var å gå med cron som starter et shell script hver 10 minutes. Min shell script utfører følgende oppgaver:
- Få en prosess liste og grep dette for 'php'. Hvis ikke funnet så videre.
- Ring jobben din kode, i mitt tilfelle dette skulle være noe PHP basert
- Worker script fullfører sin kjøre
- Klar til å gå igjen på neste aktuelle samtalen
Min bash script ser omtrent slik ut:
#! / Bin / sh Hvis ps ax | grep-v grep | grep php> / dev / null da echo "Job er under gjennomgåelse, exit" annet echo "Job ikke kjører, starter nå" php yourJobProcessingScript.php fi
Merk: ekkoet's er nesten helt meningsløst, men kan bidra til den neste personen som kommer til å prøve og redigere dem.
Som konkluderer med oppsettet av arbeideren virtuelle maskinen, raskt, enkelt, og lett å kopiere til hver ny maskinvare som er mottatt. The 'klokskap' av rutenettet systemet egentlig ikke er i visualisert OS, det å gjøre med koden opprettet for å behandle jobber, jobben konfigurasjon, og i å sørge for at jobben går når det er hensiktsmessig (dvs. når verten er inaktiv ).
Sette opp Windows til å initiere Workers
Den første oppgaven er å trene kommandoen kreves for å kjøre den virtuelle maskinen fra vinduene kommandolinjen. Hvis du har installert VirtualBox i standard posisjon, og du har navngitt arbeidstaker GridMachine deretter kommandoen som kreves for å laste opp din arbeidstaker er:
"C: \ Program Files \ sø \ VirtualBox \ VBoxManage.exe" startvm GridMachine Men å kjøre skriptet i en "hodeløs" state vi må bruke:
"C: \ Program Files \ sø \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off Dette starter den virtuelle maskinen uten GUI og la den for å spare staten grasiøst. Det andre argumentet slår seg av RDP så det ikke kommer i konflikt med vinduer RDP, eller gi deg en beskjed om å lytte på port 3389. Den virtuelle maskinen navn er store og små bokstaver!
Deretter må vi sette vinduer opp til kick off våre arbeidstaker VM når maskinen har vært inaktiv. For å gjøre dette (på Windows XP) du må gå Start -> Alle programmer -> Tilbehør -> Systemverktøy -> Planlagte oppgaver som følger:
Neste klikk på "Legg til planlagt oppgave" etterfulgt av bla å legge til et egendefinert program. Naviger til VBoxManage script og klikk ok. Planlegg din oppgave for noen av alternativene (vi kommer til å endre dette i ett minutt) og fortsette. Etter å hoppe over neste skjermbildet windows vil spørre deg hvem du vil kjøre denne oppgaven, vil jeg foreslå enten "Administrator" eller opprette en ny privilegert bruker. Husk at vi ikke ønsker å forstyrre den vanlige personalet konto på maskinen på noe punkt. Klikk Neste og sjekk vise avanserte alternativer for denne oppgaven.
Til slutten av kjøringen tekstboksen legge vår "startvm GridMachine 'streng og sikre at bare kjøre når du er innlogget er igjen unticked. Besøk planlegge oppgaven siden og endre planen falle ned til alternativet «når inaktiv", velge hvor mye tid du vil at maskinen skal være inaktiv før du går videre til neste kategori.
Endelig rotete alternativet som sier stopp aktiviteten hvis den har kjørt X tid, men kryss muligheten til å stoppe aktiviteten dersom maskinen er ikke lenger ledig.
Det er det da for windows host setup!
Sammendrag
I denne delen har vi satt opp en virtuell maskin til å fungere som en arbeidstaker, så vel som måten vi kaller og utføre jobben vår behandling skript (for meg et PHP script). Herfra ser vi på hvordan du setter opp vår kopier av vinduer for å starte opp den virtuelle maskinen i hodeløse modus når datamaskinen blir ledig, og lagre tilstanden når brukeren gjenopptar bruken av maskinen. Forhåpentligvis på dette punktet er du ser hvor enkelt det er å sette opp et slikt system, og er spent på å få noen eksperimenter gang selv!
Neste gang
I Del 4 vil vi se på bruk av verktøy for å sikre at du kjører den nyeste versjonen av koden og datakilder, slik at oppnådde resultater er alltid up-to-date med de nyeste forretningsinformasjon og logikk.




















































[...] Del 3 skal vi lage vår virtuelle behandling maskin og sette opp vinduene våre maskiner for å bli [...]
[...] Del 3 har vi laget vår virtuelle behandling maskin og sette opp windows maskiner for å bli inaktiv-tid [...]
Du er en virkelig opplevd Blogger, Du har enten kvaliteten forståelse av hva du snakker om eller du gjorde noen fantastiske forskning. Takk for denne utmerkede innlegget.