Office Grid Computing mit Hilfe Virtuelle Umgebungen - Teil 3
Einführung
Ich arbeite in einer Firma, wo wir laufen viele Batch-Jobs Verarbeitung Millionen von Datensätzen der Daten jeden Tag und ich habe vor kurzem Nachdenken über all die Maschinen, und sitzen um jeden jeden Tag nichts zu tun, für mehrere Stunden. Wäre es nicht gut, wenn wir diese Maschinen verwenden können, um Systeme zu stärken die Rechenleistung unserer? In dieser Reihe von Artikeln werde ich Amt Blick auf die potenziellen Vorteile der Verwendung eines Gitters mit virtualisierten Umgebungen.
In Teil 2 haben wir uns die Arbeitsplätze einem Server ausgeführt wird, und wie Arbeitsplätze ausfallen sollte so konfiguriert werden, um zu erreichen, ohne größte Menge der Verarbeitung gleichzeitig sicherstellen, dass jeder Job verarbeitet wird.
Einrichten des Arbeitnehmers - oder Limp Server
Der nächste Schritt in diesem Prozess ist die Einrichtung Ihrer virtuellen Arbeitnehmer. Für diese werde ich eine Installation von CentOS mit VirtualBox nutzen. Ich werde zu installieren mySQL und PHP auf dem Server, auch bekannt als ein Hinken (Li nux, m ySQL, P PS) Servera (ich kann aus diesen Namen auf).
- Installieren von VirtualBox auf Ihrem Windows-Rechner (Link folgen)
- Downloaden und installieren Sie CentOS (aktuelle Version 5.3) innerhalb einer virtuellen Maschine erstellt
Es hat keinen Sinn mich werde diesen gibt es wahrscheinlich 1000 's der großen Tutorials gibt (ok, hier ist eine: Erstellen und Managing CentOS virtuelle Maschine unter VirtualBox ). Der wichtige Punkt ist zu beachten Ich vermute, dass ich GridMachine rief meine virtuelle Maschine.
Soweit meine Entscheidungen der Virtualisierung und Betriebssystem-Client gehen gibt es keine großen zwingenden Grund für jede Wahl. VirtualBox ist etwas, das ich auf meinem Rechner zu Hause und wird von den drei großen Betriebssystemen unterstützt. Ich wählte als ein gutes stabiles Betriebssystem CentOS und ich benutze es auf meinem eigenen Web-Server. Ich bin ein großer Anhänger der richtigen Werkzeuge für den Job (obwohl ich die Anwendung "die schnellste und einfachste für Sie"-Mentalität hier), so dass, wenn Betriebssystem X-Code läuft Ihr schneller und effizienter zu nutzen, anstatt:)
Wichtig ist sicher, dass Ihr VM DHCP verwendet, ansonsten für jeden neuen virtuellen Maschine müssten separat konfiguriert werden, die wir so nicht wollen want.By mit DHCP wir nicht brauchen, um Netzwerk-Einstellungen individuell konfigurieren für Arbeitnehmer Maschinen, wird DHCP Hand aus IPs für Sie. Daher können Sie Ihre virtuelle Maschine über das Büro kopieren, ohne sich Gedanken über die Einstellung jedes up (dies verbessert die Skalierbarkeit und reduziert Arbeitnehmer Verwaltung).
Der Prozess, den Sie erreichen wollen sollte wäre eine neue physikalische Maschine zu erhalten, installieren Sie VirtualBox, und dann so ziemlich Bereitstellung des virtuellen Bildes ohne viel anderes. Es könnte sinnvoll sein Setup alle Ihre Mitarbeiter in einem anderen Subnetz, so dass Sie wenigstens sehen können, wie viele Maschinen ausgeführt werden. Außerdem benötigen Sie zum Einrichten Ihrer Maschinen auf einem Erbpacht-oder unbegrenzte Lease DHCP.
Wie Jobs auf den Arbeitnehmer führen
Dies ist ein interessantes Gebiet und es gibt mehrere gültige Verfahren zur Verarbeitung von Jobs auf den Arbeiter. Hier werde ich nur diskutieren die beiden auf der Hand:
- Ständig laufende Skript: Ein Skript, sei es ein Shell-Skript oder ein PHP-Skript wird einmal auf den Arbeitnehmer ausgeführt und läuft im Rahmen einer Endlosschleife. Ich habe diese Methode als eine Absturz des Skripts abgezinst und möglicherweise Ihre Mitarbeiter werden nicht mehr ohne irgendeine Art von Intervention führen.
- Cron basiert Skript-Ausführung: alle x Minuten den Cron-Daemon startet einen Aufruf an das Skript, um Dinge geht. Ohne eine Überprüfung dieser Frage können sich auf viele, viele Kopien Ihrer Arbeitnehmer Skript ausgeführt führen.
Meine Entscheidung war, um mit cron was Anpfiff ein Shell-Skript alle 10 minutes. meiner Shell-Skript führt die folgenden Aufgaben gehen:
- Holen Sie sich ein Prozess-Liste und grep dieses für 'php'. Wenn nicht gefunden dann weiter.
- Rufen Sie Ihren Job-Code, in meinem Fall wäre dies etwas sein, PHP-basierten
- Worker Skript beendet seinen Lauf
- Ready to gehen erneut auf die nächste gewünschte Anruf
Meine Bash-Skript sieht ungefähr wie folgt aus:
#! / Bin / sh wenn ps ax | grep-v grep | grep php> / dev / null dann echo "Job gerade verarbeitet, Ausfahrt" sonst echo "Job nicht läuft, starten Sie jetzt" php yourJobProcessingScript.php fi
Hinweis: Das Echo ist fast völlig sinnlos, sondern können sie helfen, die nächste Person kommt, die entlang zu versuchen und zu bearbeiten.
Das schließt den Aufbau des Arbeitnehmers virtuelle Maschine, schnell, einfach und leicht zu jedem neuen Stück Hardware, das empfangen zu kopieren. Die "Klugheit" des Netzes ist wirklich nicht in der visualisierten OS, seine alle mit dem Code erstellt zur Verarbeitung von Aufträgen, die Job-Konfiguration zu tun, und in bezug darauf, dass der Job läuft, wenn entsprechende (dh wenn der Host inaktiv ist ).
Einrichten von Windows zu initialisieren Arbeitnehmer
Die erste Aufgabe ist die Erarbeitung der Befehl erforderlich, um die virtuelle Maschine aus dem Fenster Befehlszeile ausführen. Wenn Sie schon Speicherort installiert VirtualBox in der Standard-und Sie haben den Namen Ihres Arbeitnehmers GridMachine dann den Befehl Berechnungen Ihre Arbeitnehmer:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine Allerdings, um das Skript in eine "kopflose" Zustand, den wir verwenden müssen:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - VRDP = off Dies wird die virtuelle Maschine ohne die GUI zu starten und ermöglichen es, festzustellen, anmutig zu speichern. Das zweite Argument schaltet RDP, damit es nicht Konflikt mit Windows RDP, oder geben Sie eine Nachricht über das Hören auf Port 3389. Der Name der virtuellen Maschine ist Groß-und Kleinschreibung!
Als nächstes müssen wir Windows einrichten zum Auftakt des Arbeitnehmers VM, sobald die Maschine im Leerlauf war. Um dies zu tun (Windows XP) müssen Sie gehen auf Start -> Alle Programme -> Zubehör -> Systemprogramme -> Geplante Tasks wie folgt:
Anschließend klicken Sie auf "Geplanten Task hinzufügen", gefolgt von einer benutzerdefinierten Programm hinzuzufügen suchen. Navigieren Sie zu Ihrem VBoxManage Skript und OK klicken. Planen Sie Ihre neue Aufgabe für eine der Optionen (wir werden dies in einer Minute ändern) und weiter. Nach Überspringen der nächsten Bildschirm Windows wird Sie fragen, wer Ihnen diese Aufgabe ausführen möchten, würde ich vorschlagen, entweder "Administrator" oder eine neue privilegierter Benutzer. Denken Sie daran, wir wollen nicht mit dem Standard Notensystem Account auf der Maschine an jeder beliebigen Stelle eingreifen. Klicken Sie auf Weiter und überprüfen show advanced options für diese Aufgabe.
Zum Ende des Laufs Textfeld hinzuzufügen unsere "startvm GridMachine 'string und sicherzustellen, dass nur ausgeführt, wenn kein Häkchen eingeloggt ist links. Besuchen Sie den Zeitplan Aufgabe neben und ändern Sie den Zeitplan Dropdown die Option 'Idle', die Zeit, dir die Maschine würde müßig zu sein wählen, bevor er auf die nächste Registerkarte.
Schließlich deaktivieren Sie die Option, die besagt stoppen die Aufgabe, wenn es ausgeführt worden X Höhe der Zeit, aber sie ticken die Möglichkeit, die Aufgabe zu stoppen, wenn die Maschine nicht mehr im Leerlauf.
Das war's dann für die Windows-Host-Setup!
Zusammenfassung
In diesem Teil haben wir eine virtuelle Maschine als Arbeitnehmer handeln, sowie die Art und Weise, in der wir aufrufen und ausführen unserer Auftragsbearbeitung Skripte (für mich ein PHP-Skript) festgelegt. Von hier aus schauen wir uns, wie Sie unsere Kopien von Windows zu starten der virtuellen Maschine in Headless Mode, wenn der Computer im Leerlauf befindet, und speichern ihren Zustand, wenn der Benutzer wieder Gebrauch der Maschine. Hoffentlich an dieser Stelle Sie sehen wie einfach es ist die Einrichtung eines solchen Systems sind und Juckreiz zu bekommen einige Experimente gehen selbst ist!
Nächste Zeit
In Teil 4 werden wir die Verwendung von Tools werden schauen, um sicherzustellen, dass Sie die aktuellste Version des Codes und Datenquellen, so dass erhaltenen Ergebnisse sind immer up-to-date mit den neuesten Geschäftsinformationen und Logik.




















































[...] Teil 3 werden wir unsere virtuelle Maschine erstellen und unsere Windows-Rechnern auf [...] werden
[...] Teil 3 haben wir unsere virtuelle Maschine einrichten und Windows-Rechner in den Ruhezustand-Zeit [...] werden
Sie eine wirklich erfahrene Blogger sind, haben Sie entweder Qualität Verständnis von was Sie reden oder Sie haben einige fantastische Forschung. Vielen Dank für diesen hervorragenden Beitrag.