Indledning
Jeg arbejder i en virksomhed, hvor vi kører mange batch jobs behandling millioner af optegnelser af data hver dag, og jeg har tænkt for nylig om alle de maskiner, der sidder rundt om hver eneste dag at gøre noget i flere timer. Ville det ikke være godt, hvis vi kunne bruge disse maskiner til at styrke den regnekraft af vores systemer? I denne række artikler, jeg har tænkt mig at kigge på de potentielle fordele ved at ansætte en kontor nettet ved hjælp af virtualiserede miljøer.
I del 2 har vi kigget på de arbejdspladser, en server vil køre, og hvordan arbejdspladser skal konfigureres for at opnå størst mulig behandling og samtidig sikre, at hver opgave er behandlet uden fejl.
Opsætning af din arbejdstager - eller Limp server
Det næste skridt i processen er at oprette din virtuelle medarbejdere. Det vil jeg tænkt mig at bruge en installation af CentOS bruge VirtualBox. Jeg har tænkt mig at installere mySQL og PHP på serveren, også kendt som en halte (Li nux, m ySQL, P HP) Servera (jeg kan have gjort dette navn op).
- Installer VirtualBox på din Windows-maskine (følg link)
- Hent og installer CentOS (nuværende version 5.3) inden for en skabt virtuel maskine
Der er ingen punkt mig at gå til dette er der nok 1.000 's store tutorials derude (ok, her er en: Oprettelse og Managing CentOS virtuel maskine under VirtualBox ). Det vigtige punkt at bemærke jeg formoder er, at jeg ringede til min virtuelle maskine GridMachine.
For så vidt angår mit valg af virtualisering klient og operativsystem gå der er ingen store tvingende grund for hvert valg. VirtualBox er noget jeg bruger på mit hjem maskine og er støttet af de tre store operativsystemer. Jeg valgte CentOS som er en god stabil OS og jeg bruger det på min egen webserver. Jeg er en stor tilhænger af de rigtige værktøjer til opgaven (selvom jeg anvender brug den hurtigste og nemmeste for dig "-mentalitet her), så hvis styresystemet X kører din kode hurtigere og mere effektivt at bruge det i stedet:)
Vigtigere at sikre, at din VM bruger DHCP, ellers for hver ny virtuel maskine skulle være konfigureret separat, hvilket er noget vi ikke want.By bruger DHCP vi behøver ikke at konfigurere netværksindstillinger individuelt for arbejdstager-maskiner, vil DHCP hånd ud IP'er for dig. Derfor kan du kopiere din virtuelle maskine omkring kontoret uden at bekymre sig om opsætning hver en op (det forbedrer skalerbarhed og reducerer arbejdstager administration).
Den proces, du bør sigte mod at opnå ville være at få en ny fysisk maskine, installere VirtualBox, og derefter stort set installere det virtuelle billede uden meget andet. Det kan være klogt at sætte alle dine medarbejdere på et andet subnet, så du kan i det mindste se, hvor mange maskiner der kører. Du skal også oprette dine maskiner på en lang lejekontrakt eller ubegrænset leje DHCP.
Sådan køres Jobs på arbejdstagerens
Dette er en interessant område, og der er flere gyldige metoder til behandling job på arbejdstager. Her vil jeg blot diskutere de to mest oplagte:
- Bestandigt at køre script: Et script, det være sig et shell script, eller et PHP script der udføres én gang på arbejdstageren og kører som en del af en uendelig løkke. Jeg har tilbagediskonterede denne metode som et brag af manuskriptet og potentielt dine medarbejdere vil ophøre med at køre uden en form for intervention.
- Cron baseret script udførelse: Hvert X minutter cron dæmonen starter et opkald til dit script til at få tingene i gang. Uden nogle at markere dette kan føre til mange mange kopier af din arbejdstager script kører.
Min beslutning var at gå med cron, som skydes i gang en shell script hver 10 minutes. Min shell script udfører følgende opgaver:
- Få en proces liste og grep dette for 'php'. Hvis ikke fundet derefter fortsætte.
- Ring til dit job kode, i mit tilfælde ville det være noget PHP baseret
- Arbejdstager script afslutter sin køre
- Klar til at gå igen på næste indkaldelsens
Min bash script ser ud som følgende:
#! / Bin / sh
hvis ps ax | grep-v grep | grep php> / dev / null
Derefter
echo "Job i øjeblikket behandling, frakørsel"
andet
echo "Job er ikke kører, skal du starte nu"
php yourJobProcessingScript.php
fi Bemærk: ekko's er næsten helt meningsløst, men kan hjælpe den næste person, der kommer sammen for at prøve og redigere dem.
, Der konkluderer oprettelsen af arbejdstagerens virtuelle maskine, hurtig, enkel og let at kopiere til hver ny stykke hardware, der er modtaget. Den »Klogskab« af forsyningsnettet er virkelig ikke i visualiseret OS, dens al at gøre med den kode skabt til at behandle job, jobbet konfiguration, og i at sikre, at opgaven skal udføres når det er hensigtsmæssigt (dvs. når værten er ledig ).
Opsætning af Windows til Initialiser Workers
Den første opgave er at arbejde ud kommandoen til at køre den virtuelle maskine fra vinduerne kommandolinjen. Hvis du har installeret VirtualBox på standardplaceringen, og du har navngivet din arbejdstager GridMachine derefter kommandoen kræves for at indlæse dine arbejdstager er:
"C: \ Programmer \ sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine
Men at køre scriptet i en »hovedløs 'state vi nødt til at bruge:
"C: \ Programmer \ sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off
Dette vil starte den virtuelle maskine uden GUI og lad det spare staten elegant. Det andet argument slukker RDP, så det ikke er i konflikt med vinduer RDP, eller give dig en besked om at lytte på port 3389. Den virtuelle maskine navn er store og små bogstaver!
Derefter skal vi nødt til at indstille vinduer på op til kick off vores arbejdstager VM, når maskinen er inaktiv. At gøre dette (på Windows XP), du bliver nødt til at gå på Start -> Alle Programmer -> Tilbehør -> Systemværktøjer -> Planlagte Opgaver som nedenfor:
Klik derefter på 'Tilføj Scheduled Task "efterfulgt af gennemse for at tilføje en brugerdefineret program. Naviger til din VBoxManage script og klik ok. Planlæg din opgave for enhver af de muligheder (vi vil ændre dette i et minut) og fortsætter. Efter at have sprunget det næste skærmbillede vinduerne vil spørge dig, hvem du vil køre denne opgave, vil jeg foreslå enten 'Administrator' eller oprette en ny bruger med rettigheder. Husk at vi ikke ønsker at blande med den standard personale konto på maskinen på noget tidspunkt. Klik på Næste og kontrol viser, avancerede indstillinger for denne opgave.
Til slutningen af tiden tekstfeltet tilføje vores "startvm GridMachine 'streng og sikre, at der kun kører, når logget ind er tilbage markering. Besøg tidsplanen opgaven næste og ændre tidsplanen drop ned til muligheden ", når inaktiv ', vælge den mængde tid, du gerne vil have maskinen til at være ledig, før man går videre til den næste fane.
Endelig jasket den mulighed, der hedder stoppe opgave, hvis det har kørt X mængde tid, men sætter kryds mulighed for at stoppe den opgave, hvis maskinen ikke længere er ledig.
Det var det så for Windows host setup!
Resumé
I denne del har vi oprettet en virtuel maskine til at fungere som en arbejdstager, samt den måde, som vi kalder og udføre vores job forarbejdning scripts (for mig selv et PHP script). Herfra kan vi se på, hvordan man opsætter vores kopier af Windows til at starte op den virtuelle maskine i hovedløs tilstand, når computeren bliver ledig, og gemme sin tilstand, når brugeren genoptager brugen af maskinen. Forhåbentlig på dette punkt, du ser, hvor nemt det er at oprette et sådant system og er kløe at få nogle eksperimenter i gang selv!
Næste gang
I del 4 vil vi se på brugen af værktøjer til at sikre, at du kører den seneste version af kode og data-kilder, således at opnåede resultater er altid up-to-date med de nyeste forretningsoplysninger og logik.