Cloud-Computing: Virtuelle Cluster

Virtuelle Cluster bieten im Vergleich zu physischen Clustern einige Vorteile in Bezug auf Geschwindigkeit, Speicherkapazität und Flexibilität.

Kai Hwang, Jack Dongarra und Geoffrey Fox

Adaptiert von "verteilt und Cloud Computing: Von der parallelen Verarbeitung zum Internet der Dinge"(Syngress, ein Abdruck von Elsevier)

Es gibt einige Unterschiede und Gemeinsamkeiten zwischen physischen und virtuellen Clustern und verschiedene Vorteile von einzelnen vermittelt. Ein physischer Cluster ist eine Sammlung von Servern (physische Maschinen) von einem physischen Netzwerk wie ein LAN verbunden. Virtuelle Cluster haben unterschiedliche Eigenschaften und Anwendungsmöglichkeiten. Es gibt drei kritische Entwurfsprobleme von virtuellen Clustern: Live-Migration virtueller Maschinen (VMs), Speicher- und Migrationen und dynamische Bereitstellung von virtuellen Clustern.

Wenn Sie eine traditionelle VM initialisieren, müssen Sie manuell schreiben Konfigurationsinformationen oder die Konfiguration Quellen angeben. Wenn weitere VMs auf einem Netzwerk beitreten, verursacht eine ineffiziente Konfiguration immer Probleme mit Überlastung oder Gesamtrate. Amazon Elastic Compute Cloud (EC2) ist ein gutes Beispiel für einen Webdienst, der elastische Rechenleistung in einer Wolke bereitstellt. EC2 ermöglicht es Kunden VMs zu erstellen und Verwalten von Benutzerkonten über die Zeit ihrer Verwendung.

Die meisten Virtualisierungs-Plattformen unterstützen einen Überbrückungskredit Modus, in der alle Domänen, die als einzelne Hosts im Netzwerk angezeigt werden kann. In diesem Modus können VMs kommunizieren untereinander frei durch die virtuelle Netzwerkkarte und das Netzwerk automatisch konfigurieren.

Physische vs.. Virtuelle Cluster

Virtuelle Cluster bauen mit VMs auf verteilten Servern aus einem oder mehreren physischen Cluster installiert. Die virtuellen Computer in einem virtuellen Cluster sind durch ein virtuelles Netzwerk über mehrere physikalische Netzwerke logisch verbunden. Jeder virtueller Cluster entsteht mit physischen Computern oder eine VM von mehrere physische Cluster gehostet. Die virtuellen Cluster-Grenzen sind klar definierte Grenzen.

Dynamische Bereitstellung VMs auf einem virtuellen Cluster stellt die folgenden Eigenschaften:

  • Virtuelle Cluster-Knoten können entweder physischen oder virtuellen Computer, und natürlich können Sie mehrere VMs unter verschiedene Betriebssystemen auf demselben physischen Knoten haben.
  • Eine VM läuft mit Gast-Betriebssystem, die oft vom Hostbetriebssystem abweicht, die die Ressourcen in der physischen Maschine verwaltet, auf der die VM ausgeführt wird.
  • Die Verwendung von VMs soll mehrere Funktionen auf dem gleichen Server zu konsolidieren, die Server-Auslastung und Anwendungs-Flexibilität erheblich verbessert.
  • Sie können die VMs in mehreren Servern zur Förderung der verteilten Parallelität, Fehlertoleranz und Notfallwiederherstellung repliziert haben.
  • Die Anzahl der Knoten in einem virtuellen Cluster kann vergrößert oder verkleinert dynamisch, ähnlich wie die Art und Weise, die ein Overlay-Netzwerk in der Größe in einem Peer-to-Peer-Netzwerk variiert.
  • Das Scheitern der physischen Knoten möglicherweise einige VMs auf die fehlerhaften Knoten installiert deaktivieren, aber VM Ausfall wird nicht herunterziehen des Host-Systems.

Sie müssen wirksame Strategien für die Verwaltung von VMs auf eine Masse von physischen Computer Knoten (auch virtuelle Cluster genannt) zu berücksichtigen. Dazu gehört die virtuellen Cluster-Bereitstellung und Überwachung und Verwaltung von großen Clustern sowie Ressourcenplanung, Lastverteilung, Serverkonsolidierung, Fehlertoleranz und andere Taktiken. In einem virtuellen Cluster-System Sie haben auch eine große Anzahl von VM-Images, und es ist wichtig, festzustellen, wie effizient diese Bilder gespeichert.

Es gibt gemeinsame Installationen für die meisten Benutzer oder Anwendungen wie Betriebssysteme oder Benutzerebene Programmierbibliotheken. Sie können diese als Vorlagen (als Vorlage VMs) vorinstallieren. Mit diesen Vorlagen können Benutzer ihre eigenen Software-Stacks erstellen. Sie können auch neue OS-Instanzen aus der Vorlage VM kopieren. Sie können Benutzer-spezifische Komponenten wie Programmierung, Bibliotheken und Anwendungen, die für die Instanzen installiert haben.

Sie können jede VM auf einem entfernten Server zu installieren oder VMs auf mehreren Servern gehören die gleichen oder unterschiedlichen physischen Cluster replizieren. Die Grenze von einem virtuellen Cluster kann ändern, wie VM Knoten hinzugefügt, entfernt oder im Laufe der Zeit dynamisch migriert werden.

Schnelle Bereitstellung und effektive Planung

Ihrem virtuellen Cluster-System sollte die Fähigkeit zur schnellen Bereitstellung haben. In diesem Fall bedeutet Bereitstellung erstellen und Verteilen von Software-Stacks (einschließlich Betriebssysteme, Bibliotheken und Anwendungen) an einem physischen Knoten im Cluster so schnell wie möglich. Es bedeutet auch die Fähigkeit schnell Laufzeitumgebungen von einem Benutzer virtuelle Cluster virtuelle Cluster eines anderen Benutzers zu wechseln. Wenn ein Benutzer beendet ist, mit seinem System, sollten der entsprechende virtuelle Cluster heruntergefahren oder schnell aussetzen, um die Ressourcen zum Ausführen von anderen VMs für andere Benutzer zu speichern.

Das Konzept der "grünen computing" hat vor kurzem viel Aufmerksamkeit erregt. Bisherige Ansätze konzentrierten sich jedoch auf die Energiekosten der Komponenten in einer einzigen Workstation ohne eine globale Sicht zu speichern. Folglich reduzieren nicht sie unbedingt den Stromverbrauch des gesamten Clusters. Virtuelle Cluster können einen langen Weg zur hierfür gehen.

Andere Clusterweite energieeffizienten Techniken gelten nur für homogene Workstations und spezifische Anwendungen. Die live-Migration von VMs können Sie Arbeitslasten von einem Knoten auf einen anderen Knoten übertragen. Jedoch garantiert es nicht, dass Sie nach dem Zufallsprinzip VMs untereinander migrieren können. In der Tat kann man nicht das Potential overhead verursacht durch live-Migrationen von VMs ignorieren.

Der Aufwand kann schwerwiegende negative Auswirkungen auf Cluster-Auslastung, Durchsatz und Qualität von Service-Problemen erforderlich. Die Herausforderung ist dann zu bestimmen, wie Migrationsstrategien Grüne EDV ohne Einfluss auf die Leistung der Cluster implementieren zu entwerfen.

Ein weiterer Vorteil der Virtualisierung ist Load balancing-Anwendungen in einem virtuellen Cluster. Lastausgleich durch die Tragfähigkeitskennzahl und Häufigkeit des Benutzer-Logins können Sie erzielen. Der Automatismus Scale-Up und Skala nach unten von einem virtuellen Cluster kann auf der Grundlage dieses Modells implementiert werden.

Folglich können Sie Knoten Ressourcenauslastung und verkürzen die Reaktionszeit des Systems. Zuordnen von VMs auf dem am besten geeigneten physischen Knoten sollten auch Leistung fördern. Dynamische Anpassung von Lasten zwischen den Knoten von live VM-Migration ist ein wünschenswert Ansatz, wenn die Lasten auf Clusterknoten unausgeglichen geworden.

Hochleistungs-virtueller Speicher

Sie können die Vorlage VM zu mehreren physischen Hosts innerhalb des Clusters andere VMs anpassen verteilen. Darüber hinaus reduzieren vorkonfigurierte Software-Pakete die Zeit für die Anpassung erforderlichen und wechseln zwischen virtuellen Umgebungen. Es ist wichtig, die Datenträger-Räume effizient zu verwalten.

Einige Speicher-Architektur-Design duplizierten Blöcke innerhalb eines verteilten Dateisystems von virtuellen Clustern reduzieren können angewendet werden. Verwenden Sie Hash-Werte, um den Inhalt von Datenblöcken zu vergleichen. Benutzer haben ihre eigenen Profile, in denen Data Block-Identifikation für entsprechende VMs in einem benutzerspezifischen virtuelle Cluster gespeichert. Wenn Benutzer die entsprechenden Daten ändern, erstellt er neue Daten blockiert. Neu erstellte Blöcke werden dann in den Benutzerprofilen identifiziert.

Grundsätzlich gibt es vier Schritte zu eine Gruppe von VMs auf einem Zielcluster bereitstellen:

  1. Bereiten Sie das Disk image
  2. Konfigurieren Sie die virtuellen Computer
  3. Wählen Sie die Ziel-Knoten
  4. Führen Sie den VM-Bereitstellung-Befehl auf jedem host

Viele Systeme verwenden Vorlagen, um den Datenträger Bild Vorbereitung zu vereinfachen. Eine Vorlage ist eine Image-Datei, die enthält ein vorinstalliertes OS mit oder ohne bestimmte Anwendungssoftware.

Benutzer wählen Sie eine ordnungsgemäße Vorlage nach ihren Bedürfnissen und erstellen Sie eine Sicherungskopie als eigene Image-Datei verwenden. Vorlagen könnten die Kopie auf schreiben (Kuh) Format implementieren. Eine neue Kuh-Sicherungsdatei ist klein und einfach zu erstellen und zu übertragen. Daher wird es auf jeden Fall Speicherplatzbelegung reduziert.

Zeitpunkt der VM-Bereitstellung ist viel kürzer als das Kopieren der gesamten raw-Bilddatei. Jede VM ist mit einem Namen, Disk-Image, Netzwerkeinstellung, und reservierten CPU und Arbeitsspeicher konfiguriert. Sie müssen einfach jede VM-Konfiguration in einer Datei zu erfassen.

Diese Methode kann jedoch ineffizient, sein, wenn eine große Gruppe von VMs verwaltet. Virtueller Computer mit der gleichen Konfigurationen konnte vorherigen Profile verwenden, um den Prozess zu vereinfachen. In diesem Szenario wird das System die VMs nach dem gewählten Profil konfiguriert.

Die meisten Konfigurationselemente verwenden die gleichen Einstellungen. Einige von ihnen — wie Universal unique Identifier oder UUID, VM Name und IP-Adresse — mit automatisch berechneten Werten zugeordnet sind. Normalerweise interessieren Benutzer nicht, welcher Host ihrer VM ausgeführt wird.

Sie brauchen eine Strategie, um die richtige Destination Host für jede VM auswählen. Das Prinzip der Bereitstellungsstrategie ist die VM-Anforderung zu erfüllen und Arbeitslasten zwischen den ganzen Hostnetzwerk auszubalancieren.

Kai Hwang

Kai Hwang ist Professor für Computer Technik für die University of Southern California und einen Besuch Lehrstuhl Professor für Tsinghua University, China. Er besitzt einen Ph.d. in Elektrotechnik von der University of California, Berkeley. Er veröffentlichte ausgiebig in Computerarchitektur, digitale Arithmetik, parallele Verarbeitung, verteilte Systeme, Internet-Sicherheit und cloud computing.

Jack Dongarra

Jack Dongarra ist ein University Distinguished Professor für Elektrotechnik und Informatik für die University of Tennessee, einen Distinguished Research Staff am Oak Ridge National Laboratory und drehen Fellow an der University of Manchester. Dongarra Pionierarbeit die Bereichen Supercomputer Benchmarks, numerische Analysis, lineare Algebra Löser und High Performance computing und hat ausgiebig in diesen Bereichen veröffentlicht.

Geoffrey Fox

Geoffrey Fox ist Distinguished Professor für Informatik, Computing und Physik und Associate Dean of Graduate Studies und Forschung in der Fakultät für Informatik und Computing an der Indiana University. Er erhielt seinen Ph.d. aus Cambridge University, U.K. Fox ist bekannt für seine umfangreiche Arbeit und zahlreichen Veröffentlichungen in parallele Architektur, verteilte Programmierung, Grid-computing, Webservices und Internet-Anwendungen.

© 2011 Elsevier Inc. Alle Rechte vorbehalten. Gedruckt mit Erlaubnis von Syngress, ein Abdruck von Elsevier. Copyright 2011. "Verteilt und Cloud Computing: Von Parallelverarbeitung auf das Internet der Dinge"von Kai Hwang, Jack Dongarra und Geoffrey Fox. Für weitere Informationen zu diesem Titel und andere ähnliche Bücher, besuchen Sie bitte elsevierdirect.com.

Verwandte Inhalte