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 von Architecte-deploy-beegfs.png folgt](img/architecture-deploy-beegfs.png)
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.
- Gehen Sie zu GitHub.
- Klonen oder laden Sie das Repository auf Ihren lokalen Computer herunter.
- Um das Terraform-Skript zu verwenden, befolgen Sie die Anweisungen im
README
-Dokument. - Um Oracle Cloud Infrastructure Resource Manager zu verwenden, befolgen Sie die Anweisungen in
README
im Verzeichnisorm
des Repositorys.