Paralleles BeeGFS-Dateisystem bereitstellen

BeeGFS ist ein paralleles Cluster-Dateisystem, das mit einem starken Fokus auf die Input-Output-Performance entwickelt und für eine einfache Installation und Verwaltung entwickelt wurde. Mit BeeGFS können Sie einen HPC-(High Performance Computing-) Dateiserver auf Oracle Cloud Infrastructure erstellen.

BeeGFS verteilt Benutzerdaten transparent auf mehrere Server. Indem Sie die Anzahl der Server und Datenträger im System erhöhen, können Sie die Performance und Kapazität des Dateisystems von kleinen Clustern bis zu Enterprise-Class-Systemen mit Tausenden von Knoten skalieren.

Architektur

Diese Referenzarchitektur verwendet eine Region mit einer einzelnen Availability-Domain und regionalen Subnetzen. Sie können dieselbe Referenzarchitektur in einer Region mit mehreren Availability-Domains verwenden. Wir empfehlen Ihnen, regionale Subnetze für Ihr Deployment zu verwenden, unabhängig von der Anzahl der Verfügbarkeitsdomains.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.

Beschreibung von Architecte-deploy-beegfs.png folgt
Beschreibung der Abbildung Architecte-deploy-beegfs.png

Die Architektur verfügt über folgende Komponenten:

  • Region

    Eine Region ist ein lokalisiertes geografisches Gebiet, das aus einer oder mehreren Availability-Domains besteht. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder Kontinente hinweg).

  • Verfügbarkeitsdomains

    Verfügbarkeitsdomains sind eigenständige, unabhängige Rechenzentren innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain werden von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz bietet. Availability-Domains teilen keine Infrastruktur wie Strom oder Kühlung oder das interne Availability-Domain-Netzwerk. Somit ist ein Fehler bei einer Availability-Domain unwahrscheinlich, dass sich die anderen Availability-Domains in der Region auswirken.

  • Fault-Domains

    Eine Faultdomain ist eine Gruppierung von Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain umfasst drei Faultdomains mit unabhängiger Leistung und Hardware. Wenn Sie Compute-Instanzen über mehrere Faultdomains hinweg platzieren, können Anwendungen physischen Serverausfall, Systemwartung und viele allgemeine Netzwerk- und Stromausfälle innerhalb der Availability-Domain tolerieren.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein VCN ist ein softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten. VCNs können in Subnetze segmentiert werden, die für eine Region oder eine Availability-Domain spezifisch sein können. Sowohl regionsspezifische als auch domainspezifische Subnetze für die Verfügbarkeit können in demselben VCN nebeneinander bestehen. Ein Subnetz kann öffentlich oder privat sein.

  • Sicherheitslisten

    Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die die Quelle, das Ziel und den Traffictyp angeben, die im Subnetz und außerhalb des Subnetzes zulässig sein müssen.

  • Routentabellen

    Virtuelle Routentabellen enthalten Regeln zur Weiterleitung des Traffics von Subnetzen an Ziele außerhalb von VCN, typischerweise über Gateways.

  • Internetgateway

    Das Internetgateway ermöglicht den Datenverkehr zwischen VCN und dem öffentlichen Internet.

  • Clientknoten

    Clients sind Compute-Instanzen, die auf das BeeGFS-Dateisystem zugreifen.

  • Managementserver

    Der Management Server (MGS) ist ein Treffpunkt für BeeGFS-Metadaten, -Speicher und Clientservices. Ein MGS speichert Konfigurationsinformationen für ein oder mehrere Dateisysteme und stellt diese Informationen anderen Hosts zur Verfügung. Diese globale Ressource kann mehrere Dateisysteme unterstützen.

  • Metadatenservice

    Der Metadatenservice (MDS) speichert Informationen über die Daten, wie Verzeichnisinformationen, Datei- und Verzeichniseigentum und den Speicherort von Benutzerdatei-Inhalten auf Speicherzielen. Der Metadatenservice ist ein Scale-out-Service, der bedeutet, dass Sie einen oder mehrere Metadatenservices in einem BeeGFS-Dateisystem verwenden können.

    Der Metadateninhalt wird auf Volumes gespeichert, die als Metadatenziele (MDTs) bezeichnet werden.

  • Object Storage Service

    Der Object Storage Service (OSS) ist der Hauptdienst zur Speicherung von Benutzerdatei-Inhalten oder Data Chunk-Dateien. Object Storage-Server werden auch als Storage Server bezeichnet.

    Ähnlich wie der Metadatenservice basiert der Object Storage-Service auf einem Scale-Out-Design. Eine OSs-Instanz hat mindestens ein Objektspeicherziel.

    Jeder Speicherserver bietet Zugriff auf eine Gruppe von Speicher-Volumes, sogenannte Object Storage-Ziele (OSTs). Jedes OST enthält mehrere binäre Objekte, die die Daten für Dateien darstellen.

Empfehlungen

Ihre Anforderungen können von der hier beschriebenen Architektur abweichen. Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt.

  • VCN

    Legen Sie beim Erstellen des VCN fest, wie viele IP-Adressen Ihre Cloud-Ressourcen in jedem Subnetz benötigen. Geben Sie mit der Notation Classless Inter-Domain Routing (CIDR) eine Subnetzmaske und einen Netzwerkadressbereich an, der für die erforderlichen IP-Adressen groß genug ist. Verwenden Sie einen Adressbereich, der sich im standardmäßigen privaten IP-Adressraum befindet.

    Wählen Sie einen Adressbereich, der sich nicht mit Ihrem On-Premise-Netzwerk überschneidet, damit Sie gegebenenfalls eine Verbindung zwischen VCN und Ihrem On-Premise-Netzwerk herstellen können.

    Nachdem Sie ein VCN erstellt haben, können Sie den Adressbereich nicht ändern.

    Wenn Sie die Subnetze entwerfen, berücksichtigen Sie Ihre Verkehrsfluss- und Sicherheitsanforderungen. Ordnen Sie alle Compute-Instanzen innerhalb derselben Ebene oder Rolle an dasselbe Subnetz zu, das als Sicherheitsgrenze dienen kann.

  • Sicherheitslisten

    Verwenden Sie Sicherheitslisten, um Ingress- und Egressregeln zu definieren, die für das gesamte Subnetz gelten.

  • Bastionshost

    Mit einem Bastionshost können Sie auf beliebige Knoten im privaten Subnetz zugreifen. Verwenden Sie die VM.Standard.E2.1-Form.

  • Management Server (MGS)

    Da der MGS nicht ressourcenintensiv ist, können Sie ihn mit dem MDS-Server bereitstellen. Wenn Sie es separat bereitstellen, reicht die VM.Standard2.2-Form aus.

    Verwenden Sie ein 50GB ausgewogenes Performance-Tier-Block-Volume. Das Blockvolumen kann angepasst werden, wenn mehr Platz benötigt wird.

  • Metadata Service-(MDS-)Server

    Verwenden Sie eine VM.Standard2.8 - oder höhere Form. Anforderungen hängen davon ab, ob Ihre Workload metadatenintensiv ist (für kleine Datei-Workloads) oder nicht, wie viele Metadateninstanzen pro Knoten ausgeführt werden usw.

    Für höchste Performance wird eine Bare-Metal-Form wie BM.Standard2.52 empfohlen, da sie zwei physikalische NICs mit jeweils 25 Gbit/s Netzwerkgeschwindigkeit enthält. Verwenden Sie eine NIC für den gesamten Traffic, um den Speicher zu blockieren, und verwenden Sie die andere NIC für eingehende Daten auf den MDS-Knoten von Clientknoten.

    Block-Volume-Speicher verwenden; Größe und Anzahl ändern sich pro Deployment-Anforderung für mehr Speicher. Wenn mehr Platz benötigt wird, kann das Blockvolumen skaliert werden.

  • Object Storage Service-(OSS-)Server

    VM.Standard2.8 oder höher verwenden. Die Anforderung hängt davon ab, welcher Aggregat-IO-Durchsatz in GBps aus dem Dateisystem erforderlich ist.

    Für höchste Performance wird eine Bare-Metal-Form wie BM.Standard2.52 empfohlen, da sie zwei physikalische NICs mit jeweils 25 Gbit/s Netzwerkgeschwindigkeit enthält. Verwenden Sie eine NIC für den gesamten Traffic, um den Speicher zu blockieren, und verwenden Sie die andere NIC für eingehende Daten auf den OSS-Knoten von Clientknoten.

  • Clientknoten

    Wählen Sie eine VM-Form basierend auf Ihren Deployment-Plänen. Die Form bestimmt die Netzwerkbandbreite, die für die Instanz zum Lesen und Schreiben in das Dateisystem verfügbar ist. Beispiel: Eine VM.Standard2.16-Form hat eine maximale Netzwerkbandbreite von 16.4 Gbit/s, was bedeutet, dass der maximale IO-Durchsatz 2.05 GBps beträgt.

    Intel - und AMD-VM- und Bare-Metal-Compute-Formen können für Clients verwendet werden.

Überlegungen

  • Performance

    Um die beste Leistung zu erzielen, wählen Sie die richtige Compute Form mit entsprechender Bandbreite.

  • Verfügbarkeit

    Verwenden Sie eine High Availability-Option basierend auf Ihrer Deployment-Anforderung.

  • Kostenfaktor

    Bare Metal Service bietet höhere Netzwerkbandbreite, aber für höhere Kosten. Bewerten Sie Ihre Anforderungen, um die entsprechende Compute Form auszuwählen.

  • Überwachung und Warnungen

    Richten Sie Überwachung und Alerts für die CPU- und Speichernutzung für Ihre MGS-, MDS- und OSS-Knoten ein, um die VM-Form bei Bedarf nach oben oder unten zu skalieren.

Bereitstellen

Der Terraform-Code für diese Referenzarchitektur ist auf GitHub verfügbar.

Sie können das Deployment entweder direkt über das Terraform-Skript oder über den Oracle Cloud Infrastructure Resource Manager-Service durchführen.

  1. Gehen Sie zu GitHub.
  2. Klonen oder laden Sie das Repository auf Ihren lokalen Computer herunter.
  3. Um das Terraform-Skript zu verwenden, befolgen Sie die Anweisungen im README-Dokument.
  4. Um Oracle Cloud Infrastructure Resource Manager zu verwenden, befolgen Sie die Anweisungen in README im Verzeichnis orm des Repositorys.