Warning: fopen(/homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/gt-cache/ca/_ca_tag_idle) [function.fopen]: failed to open stream: Disk quota exceeded in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1183

Warning: flock() expects parameter 1 to be resource, boolean given in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1184

Warning: fwrite(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1188

Warning: fclose(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1190
Evilprofessor.co.uk »inactiu

Posts tagged: inactiu

Oficina de Grid Computing utilitzant entorns virtuals - Part 3

Per , divendres 4 desembre 2009 23:37

Introducció

Jo treballo en una empresa on ens trobem molts llocs de treball de processament per lots de milions de registres de dades cada dia i he estat pensant recentment sobre totes les màquines que se sentin al voltant de cada dia sense fer res durant diverses hores. No seria bo si poguéssim utilitzar aquestes màquines per reforçar la capacitat de processament dels nostres sistemes? En aquest conjunt d'articles que vaig a veure els beneficis potencials de l'ocupació d'una oficina de la xarxa utilitzant entorns virtualitzats.

A la part 2 ens fixem en els llocs de treball d'un servidor s'executen, i la quantitat de llocs de treball s'ha de configurar per tal d'aconseguir la major quantitat de processament mentre garanteix que cada treball es processa sens falta.

Configuració del seu treballador - o servidor LIMP

El següent pas en el procés és la creació dels seus treballadors virtuals. Per això vaig a utilitzar una instal · lació de CentOS usant VirtualBox. Vaig a instal · lar MySQL i PHP al servidor, també conegut com una coixesa (Nux Li, m ySQL, P HP) Servera (que pot haver fet que el nom de dalt).

  • Instal · lar VirtualBox en la seva màquina Windows (seguir l'enllaç)
  • Descarregar i instal · lar CentOS (versió actual 5.3) dins d'una màquina virtual creada

No té sentit que m'anava a la qual probablement hi ha 1,000 's de gran tutorials per aquí (bé, aquí està un: Crear i Managing màquina virtual amb VirtualBox CentOS ). El punt important a assenyalar és que suposo que vaig trucar a la meva màquina virtual GridMachine.

Pel que fa a les meves opcions de virtualització del client i el sistema operatiu vagi no hi ha cap raó convincent gran per a cada elecció. VirtualBox és una cosa que jo faig servir a la meva màquina de casa i amb el suport dels tres principals sistemes operatius. Vaig triar CentOS com un sistema operatiu estable, la bona i jo el faig servir al meu propi servidor web. Jo sóc un gran creient en les eines adequades per al treball (encara que estic aplicant la «utilització més ràpida i més fàcil per a vostè" mentalitat d'aquí), així que si el sistema operatiu X s'executa el codi més ràpid i més eficient l'ús que, en lloc :)

És important destacar que assegurar-se que la seva màquina virtual utilitza DHCP, en cas contrari per a cada màquina virtual nova hauria de ser configurat per separat, que és una cosa que no want.By mitjançant DHCP no cal configurar la xarxa de forma individual per a les màquines dels treballadors, DHCP lliurarà a adreces IP per a vostè. Per tant vostè pot copiar la seva màquina virtual de l'oficina sense haver de preocupar de com configurar cada un d'ells cap amunt (això millora l'escalabilitat i disminueix l'administració dels treballadors).

El procés que s'hauria de tractar d'aconseguir seria la d'obtenir una nova màquina física, instal · lació de VirtualBox, i després més o menys implementar la imatge virtual sense necessitat de molt més. Podria ser savi per configurar tots els seus treballadors en una subxarxa diferent perquè pugui almenys veure quantes màquines s'estan executant. També haurà de configurar les seves màquines en un contracte d'arrendament a llarg o il · limitat permís DHCP.

Com executar els treballs en el treballador

Aquesta és una àrea interessant i hi ha diversos mètodes vàlids per al processament de llocs de treball del treballador. Aquí només vaig a parlar sobre els dos més evidents:

  • Perpètuament d'executar la seqüència: Un script, ja sigui un script de shell, o un script PHP s'executa un cop al treballador i s'executa com a part d'un bucle infinit. He descomptat aquest mètode com un xoc de la seqüència de comandaments i, potencialment, els treballadors deixaran de funcionar sense algun tipus d'intervenció.
  • L'execució de script basat en cron: cada X minuts el dimoni cron s'inicia una crida a la seqüència de comandaments perquè funcioni. Sense algunes comprovacions que això podria donar lloc a moltes moltes còpies de la seqüència de comandaments de funcionament dels treballadors.

La meva decisió va ser anar amb cron s'inicia un script de shell cada minutes. 10 El meu script realitza les següents tasques:

  1. Obtingui una llista de processos i grep això per a 'php'. Si no el troba i després continueu.
  2. Truqui al seu codi de treball, en el meu cas això seria quelcom basat PHP
  3. Guió treballador acaba la seva carrera
  4. Llest per anar de nou a la convocatòria corresponent al costat

El meu script bash es veu una mica com el següent:

  #! / Bin / sh
 si ps ax | grep-v grep | grep php> / dev / null
 llavors
     echo "El treball s'està processant, la sortida"
 més
     echo "El treball no s'executa, comença ara"
     php yourJobProcessingScript.php
 fil 

Nota: el ressò del són gairebé completament inútil, però pot ajudar a la propera persona que vingui a tractar de modificar-los.

Amb això conclou la posada en marxa de la màquina virtual de treball, ràpid, simple i fàcil de copiar a cada nova peça de maquinari que es rep. La 'intel · ligència' del sistema de xarxa realment no és visualitzada en el sistema operatiu, el seu tot a veure amb el codi creat per realitzar tasques, la configuració del treball, i en assegurar-se que el treball s'executi en el cas (és a dir, quan el host està inactiu ).

Configuració de Windows per inicialitzar els treballadors

La primera tasca és treballar en el ordre necessària per a executar la màquina virtual des de la línia d'ordres de Windows. Si teniu VirtualBox a la ubicació per defecte i que ha cridat al seu treballador GridMachine l'ordre necessària per carregar fins a la seva treballador és:

  "C: \ Program \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

No obstant això, per a executar l'script en una 'cap' de l'Estat hem de fer servir:

  "C: \ Program \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - VRDP = apagat 

Això iniciarà la màquina virtual sense la interfície gràfica d'usuari i permetre que es guardi l'estat amb gràcia. El segon argument s'apaga RDP pel que no entra en conflicte amb Windows RDP, o li donarà un missatge sobre l'escolta al port 3389. El nom de màquina virtual entre majúscules i minúscules!

A continuació, hauràs de configurar les finestres tancades per començar la nostra màquina virtual dels treballadors una vegada que la màquina ha estat inactiva. Per fer això (en Windows XP) hauràs d'anar a Inici -> Tots els programes -> Accessoris -> Eines del sistema -> Tasques programades de la següent manera:

les tasques programades

Després feu clic a "Afegeix tasca programada" seguit per vagi a afegir un programa a mida. Aneu a la seqüència de comandaments VBoxManage i premeu D'acord. Programeu la seva tasca per a qualsevol de les opcions (anem a canviar això en un minut) i continuar. Després de saltar la següent pantalla de Windows li demanarà que es vol executar aquesta tasca, m'agradaria suggerir ja sigui "Administrador" o crear un nou usuari privilegiat. Recordeu que no volem interferir en el compte personal de sèrie en la màquina en qualsevol moment. Feu clic a Següent i comprovar les opcions mostren avançades per a aquesta tasca.

Per al final de la caixa de text d'execució afegir el nostre "startvm GridMachine 'cadena i assegurar que només s'executen quan es connecti es deixa sense marcar. Visita a la tasca de programació que ve i canviar la programació de baixar a l'opció 'quan està en repòs ", seleccioneu la quantitat de temps que li agradaria que la màquina sigui inactiu abans de passar a la següent pestanya.

Finalment desmarqueu la opció que diu aturar la tasca si s'ha estat executant X quantitat de temps, però no marca l'opció per aturar la tasca si la màquina ja no és ociosa.

programar

Això és tot llavors per a la configuració del host de Windows!

Resum

En aquesta part hem posat en marxa una màquina virtual perquè actuï com un treballador, així com la manera com ens truqui i executar els nostres scripts de processament de treballs (per a mi un script PHP). A partir d'aquí veurem com crear les nostres còpies de Windows per posar en marxa la màquina virtual en la manera de cap quan l'ordinador estigui inactiu, i guardar el seu estat quan l'usuari torna a la utilització de la màquina. Esperem que en aquest moment estàs veient el fàcil que és instal · lar aquest sistema i està ansiós per aconseguir alguns experiments es va!

La propera vegada

En la Part 4 estarem buscant en l'ús d'eines per assegurar-se que està executant la darrera versió de les fonts de codi i les dades perquè els resultats obtinguts són sempre al dia amb la informació de negoci i la lògica.

Oficina de Grid Computing utilitzant entorns virtuals - Part 1

Per , divendres 4 desembre 2009 23:23

Introducció

Jo treballo en una empresa on ens trobem molts llocs de treball de processament per lots de milions de registres de dades cada dia i he estat pensant recentment sobre totes les màquines que se sentin al voltant de cada dia sense fer res durant diverses hores. No seria bo si poguéssim utilitzar aquestes màquines per reforçar la capacitat de processament dels nostres sistemes? En aquest conjunt d'articles que vaig a veure els beneficis potencials de l'ocupació d'una oficina de la xarxa utilitzant entorns virtualitzats.

Com PHP desenvolupador que vaig a utilitzar les eines que utilitzo cada dia és a dir, Linux, MySQL , PHP, VirtualBox i Subversion (SVN). No obstant això espero que aquesta guia s'adaptarà a altres idiomes i les tecnologies igual de bé.

La solució que proporcioni serà molt vagament basada en el tipus de processament que anàvem a necessitar per assolir però això no pot ser veritat tot l'article que vaig a canviar les coses per la simplicitat, o per produir escenaris d'ús més interessants.

Aquests entorns virtualitzats es poden executar en màquines Windows ja que això és el que la majoria de les oficines de córrer. El tractament que les màquines d'oficina no ha d'interferir amb el personal amb aquestes màquines, que no requereixen manteniment en la màquina, i ser de fàcil desplegament de noves màquines a mesura que estiguin disponibles. A més, les noves màquines virtuals no requereix cap configuració addicional ja que això redueix en gran manera l'escalabilitat i la facilitat amb què es pot ampliar el sistema de xarxa.

Per què implementar una xarxa de computació d'oficina?

En primer lloc vostè pot estar pensant, per què no utilitzar un recurs de computació en el núvol com plataforma EC2 d'Amazon ? Bé, les raons poden ser diverses, per exemple:

  • No va a confiar a certes dades a un entorn de cloud computing
  • No es pot posar certes dades en un entorn de cloud computing per raons legals (per exemple, dades d'abandonar el país), el que pot per raons legals, per exemple, els registres de l'NHS.
  • Vostè vol mantenir les seves unitats de processament de tancament i tenir un control total sobre el maquinari massa
  • No té els fons del projecte a executar instàncies de núvols
  • La seva oficina no té una connexió a Internet i per tant, que no és possible utilitzar un recurs de núvols
  • No t'agrada la pluja, els núvols suggereixen la pluja, per tant, mantenir-se ben lluny

Estic segur que la llista podria continuar, però crec que és suficient per ara.

Avantatges d'una xarxa de computació d'Office

Bé, anem a fer alguns les matemàtiques (i en cert estil de la física li permet fer algunes suposicions d'escombrat). Imagina que tens gran servidor de processament fornit córrer 100 llocs de treball per dia. A la seva oficina té 50 màquines que estan inactius 16 hores al dia, cadascuna d'aquestes màquines és de 10% tan poderós com el processament de Sever fornit. (Tots els resultats aquí s'arrodoneixen a subestimar augment de rendiment).

Per tant, una màquina d'energia * 10% * 2/3 = 0,067 és a dir, el temps de processament d'un escriptori en el temps d'inactivitat podria processar 6 llocs de treball complets per dia.

Si ara escalar això es requereixen 15 ordinadors d'escriptori d'inactivitat per realitzar tasques de la major quantitat per dia que el servidor de processament principal ho fa.

Així doncs, a la nostra oficina de simulació de 50 màquines podríem augmentar la nostra capacitat de processament d'1 servidor de fins a 4 servidors de processament complet, o podríem estar processant 400 llocs de treball per dia en lloc de 100.

Noteu, la inversió en nou maquinari de l'empresa acaba d'augmentar la seva capacitat de processament per lots 4 vegades! Potencialment, vostè va a augmentar el seu consum d'energia, sinó de la majoria d'entorns d'oficina que he estat a les màquines en general a l'esquerra en la nit de totes maneres, de manera que podria veure això com una iniciativa verda.

Altres avantatges també significa que la inversió en nou (o actualitzat) servidors de processament pot ser retardada si les seves màquines d'oficina són suficients i que a mesura que millora la potència de les seves màquines d'oficina de la seva xarxa d'oficines es torna més poderosa de forma automàtica.

Tecnologies

El que vostè necessita? (O més correctament, què puc utilitzar):

  • Màquines d'oficina Idle (en el meu cas un recanvi vell ordinador portàtil Windows XP)
  • VirtualBox (o un altre programari de client de virtualització)
  • Una màquina virtual amb PHP, MySQL running executant un sistema operatiu de tall cap avall, vaig a trucar a aquests servidors meva coixesa :)
  • Els treballs s'executin
  • Servidor de treball (pot ser una altra màquina virtual en algun lloc)

Treballs típics

Els tipus de treballs que aquest sistema està dissenyat per funcionar és el següent:

  • Sistema rep una llista de dades sobre els que hem de coincidir i retornar els resultats
  • La coincidència consisteix en la comprovació / buscar diverses fonts de dades (bastant estàtic)
  • Els resultats de les fonts de dades poden requerir una major validació, la fusió, el control de fonts de dades addicionals en resposta als resultats
  • Les dades es retornen amb els registres que coincideixen, plenament validada i processada
  • Cada registre dins d'un treball és independent de la resta

Així que, bàsicament estem veient els treballs en execució que requereixen d'una barreja de cerques de bases de dades i alguns processament de nombres, un escenari bastant típic en un entorn empresarial.

Solucions de xarxes no només són avantatjoses per realitzar tasques d'aquest tipus. Bàsicament, qualsevol procés que pot ser dividit en unitats independents es poden executar en paral · lel. Veure aquesta wikipedia per veure exemples i més informació: Grid Computing , però un parell d'exemples famosos són Seti @ Home i BIONC . Existeixen marcs per al funcionament de les xarxes de computació, i aquests estan bé val la pena analitzar.

Què podem fer?

Al final d'aquests articles espere demostrar que el desplegament d'una xarxa d'oficina no ha de ser molt costós o que consumeix temps. Vaig a parlar:

  • Configuració del sistema de control de treball, configuració del treball
  • Creació d'una màquina de processament virtual corresponent
  • Com configurar el sistema en una màquina Windows
  • Vetllar per que utilitzeu l'últim codi i les dades
  • Implementació i avaluació comparativa
  • Amb vista al futur

Vaig a ser la construcció (ok he construït, a continuació, per escriure això) una aplicació d'exemple per posar a prova els conceptes en un equip local amb Windows XP i el meu 'GridMachine' màquina virtual. El meu servidor de control de treball serà la meva màquina principal que corre Fedora 11 .

Això és de cap manera la intenció de demostrar un sistema complet de treball robusta, el seu significat més d'una manifestació i discussió de mostrar que aquestes coses es pot aconseguir en un espai de temps raonablement curt ia un baix cost. Si us plau, no dubti a enviar els seus comentaris, correccions o millores i faré el meu millor esforç per mantenir aquest article actualitzat per a que coincideixi.

La propera vegada

A la part 2 vaig a començar a mirar en el sistema de control de treball, i buscar en la quantitat de llocs de treball s'ha de configurar per tal d'aconseguir la major quantitat de processament mentre garanteix que cada treball es processa sens falta.













Panorama Theme by Themocracy

9 visitants en línia ara
6 persones, 3 brossa, 0 usuari
Capacitat màxima de visitants d'avui: 9 am a les 12:00 UTC
Aquest mes: 18 a 2012.05.07 16:35 UTC
Aquest any: 69 a 2012.02.27 09:56 UTC
En total: 130 en 2011.03.28 22:40 UTC