Speicherung von VM-Images in einer KVM-Umgebung beschleunigen und skalieren

Diese Referenzarchitektur zeigt eine skalierbare, leistungsstarke Datenspeicher- und Datenbewegungsplattform, die speziell bei Workload-Spitzen für optimale Datenzugrifflatenz und -bandbreite entwickelt ist.

Architektur

Die Architektur verwendet eine einzelne Availability-Domain mit 3 Faultdomains. Alle Komponenten der Lösung sind hochverfügbar ohne einen Single Point of Failure.

Auf jedem Knoten werden Daten an zwei Stellen gespeichert: RAM und Block-Volume. RAM wird als lokales Dateisystem mit Linux-Kernel-Laufwerkblock-RAM-Festplatte (brd) gemountet. Sowohl RAM-basierte als auch Block-Volume-basierte Speicherorte sind in zwei Dateisystemen vereinheitlicht. Jedes Dateisystem wird mithilfe von GlusterFS, einem parallelen, skalierbaren Dateisystem, über die Knoten hinweg gemeinsam verwendet.

GlusterFS wird auf RAM und angehängte Block-Volumes angewendet, um zwei verteilte Volumes zu erstellen. Dieser zweistufige Dateispeicher ermöglicht eine leistungsstarke Datenverschiebung in zwei Richtungen:
  • Innerhalb eines Knotens: Eine beliebige Anzahl von virtuellen Maschinen (VMs) wird unabhängig von der tatsächlichen Anzahl von VMs ohne Latenz hochgefahren. Daher beseitigt die Architektur den Engpass beim Lesen von VM-Images aus dem Shared Storage und verhindert Serviceverzögerungen bei Workload-Spitzen.
  • Knotenübergreifend: VMs werden dank verteilter Volumes nahtlos über Knoten hinweg verschoben. Daher kann jederzeit von jedem Knoten auf ein beliebiges VM-Image zugegriffen werden. Dadurch kann der Administrator ein schnelles Rebalancing von VM-Images über die Bare-Metal-(BM-)Knoten vornehmen, wenn der Knotenpool zunimmt (oder bei Hardwarefehlern auf einem Knoten verkleinert). Optional können Sie die beiden Shared Storage-Typen, den RAM-basierten und den Block-Volume-basierten Speicher, in einer einzelnen Shared Storage-Instanz in Ebenen einteilen, in der die RAM-Ebene für den häufig aufgerufenen (Hot-)Speicher verwendet wird und das Block-Volume für den längerfristigen (Cold-)Speicher verwendet wird.

Das folgende Diagramm zeigt diese Referenzarchitektur.



vm-kvm-oci-oracle.zip

Die Architektur besteht aus folgenden Komponenten:

  • Region

    Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der ein oder mehrere Data Center enthält, die als Availability-Domains bezeichnet werden. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).

  • Availability-Domain

    Availability-Domains sind eigenständige, unabhängige Data Center innerhalb einer Region. Die physischen Ressourcen in den einzelnen Availability-Domains sind von den Ressourcen in den anderen Availability-Domains isoliert. Dies sorgt für Fehlertoleranz. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung sowie das interne Availability-Domainnetzwerk. Daher ist es unwahrscheinlich, dass der Ausfall einer Availability-Domain Auswirkungen auf die anderen Availability-Domains in der Region hat.

  • Faultdomain

    Eine Faultdomain ist eine Gruppierung aus Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain umfasst drei Faultdomains mit unabhängiger Stromversorgung und Hardware. Wenn Sie Ressourcen auf mehrere Faultdomains verteilen, können Ihre Anwendungen physischen Serverausfall, Systemwartung und Stromausfälle innerhalb einer Faultdomain tolerieren.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetz

    Ein VCN ist ein anpassbares, Software definiertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten. Wie bei Data Center-Netzwerken erhalten Sie mit VCNs eine vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke enthalten, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain erstrecken. Jedes Subnetz besteht aus einem fortlaufenden Adressbereich, der sich nicht mit den anderen Subnetzen im VCN überschneidet. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.

  • Site-to-Site-VPN

    Site-to-Site VPN stellt IPSec VPN-Konnektivität zwischen dem On-Premise-Netzwerk und den VCNs in Oracle Cloud Infrastructure bereit. Die IPSec-Protokollsuite verschlüsselt den IP-Traffic, bevor die Pakete von der Quelle zum Ziel übertragen werden, und entschlüsselt den Traffic beim Empfang.

  • FastConnect

    Mit Oracle Cloud Infrastructure FastConnect können Sie ganz einfach eine dedizierte, private Verbindung zwischen Ihrem Data Center und Oracle Cloud Infrastructure erstellen. FastConnect bietet Optionen mit höherer Bandbreite und ein zuverlässigeres Netzwerk als bei internetbasierten Verbindungen.

  • Dynamisches Routinggateway (DRG)

    Das DRG ist ein virtueller Router, der einen Pfad für privaten Netzwerktraffic zwischen VCNs in derselben Region zwischen einem VCN und einem Netzwerk außerhalb der Region bereitstellt, wie einem VCN in einer anderen Oracle Cloud Infrastructure-Region, einem On-Premise-Netzwerk oder einem Netzwerk in einem anderen Cloud-Provider.

  • Network Address Translation-(NAT-)Gateway

    Ein NAT-Gateway ermöglicht, dass private Ressourcen in einem VCN auf Hosts im Internet zugreifen, ohne dass diese Ressourcen für eingehende Internetverbindungen freigegeben werden.

  • Internetgateway

    Das Internetgateway ermöglicht Traffic zwischen den öffentlichen Subnetzen in einem VCN und dem öffentlichen Internet.

  • Sicherheitsliste

    Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die Quelle, Ziel und Typ des Traffics angeben, die in das Subnetz ein- und ausgehen dürfen.

  • Routentabelle

    Virtuelle Routentabellen enthalten Regeln, mit denen Traffic von Subnetzen zu Zielen außerhalb eines VCN weitergeleitet wird, im Allgemeinen über Gateways.

  • Bastionhost

    Der Bastionhost ist eine Compute-Instanz, die von außerhalb der Cloud als sicherer, kontrollierter Einstiegspunkt in die Topologie dient. Der Bastionhost wird in der Regel in einer entmilitarisierten Zone (DMZ) bereitgestellt. Sie können sensible Ressourcen schützen, indem Sie sie in private Netzwerke integrieren, auf die nicht direkt von außerhalb der Cloud zugegriffen werden kann. Die Topologie verfügt über einen einzelnen, bekannten Einstiegspunkt, den Sie regelmäßig überwachen und auditieren können. So können Sie verhindern, dass die sensibleren Komponenten der Topologie verfügbar gemacht werden, ohne den Zugriff darauf zu beeinträchtigen.

  • Bare Metal

    Die Bare-Metal-Server von Oracle bieten Isolation, Transparenz und Kontrolle über dedizierte Compute-Instanzen. Die Server unterstützen Anwendungen, die eine hohe Kernanzahl, viel Speicher und eine hohe Bandbreite erfordern. Sie können auf bis zu 160 Kerne (die größten in der Branche), 2 TB RAM und bis zu 1 PB Blockspeicher skalieren. Kunden können Cloud-Umgebungen auf Bare-Metal-Servern von Oracle mit erheblichen Performanceverbesserungen gegenüber anderen Public Clouds und On-Premise-Data Centern erstellen.

  • Block-Volume

    Mit Block Storage-Volumes können Sie Speicher-Volumes erstellen, anhängen, verbinden und verschieben und die Volume-Performance ändern, um Ihre Speicher-, Performance- und Anwendungsanforderungen zu erfüllen. Nachdem Sie ein Volume an eine Instanz angehängt und damit verbunden haben, können Sie es wie eine herkömmliche Festplatte verwenden. Sie können ein Volume auch trennen und an eine andere Instanz anhängen, ohne Daten zu verlieren.

Empfehlungen

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

  • VCN

    Bestimmen Sie beim Erstellen eines VCN die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze im VCN anhängen möchten. Verwenden Sie CIDR-Blöcke innerhalb des standardmäßigen privaten IP-Adressraums.

    Wählen Sie CIDR-Blöcke aus, die sich nicht mit einem anderen Netzwerk (in Oracle Cloud Infrastructure, Ihrem On-Premise-Data Center oder einem anderen Cloud-Provider) überschneiden, zu dem Sie private Verbindungen einrichten möchten.

    Nachdem Sie ein VCN erstellt haben, können Sie die zugehörigen CIDR-Blöcke ändern, hinzufügen und entfernen.

    Berücksichtigen Sie beim Entwerfen der Subnetze den Verkehrswert und die Sicherheitsanforderungen. Hängen Sie alle Ressourcen innerhalb einer bestimmten Tier oder Rolle an dasselbe Subnetz an, das als Sicherheitsgrenze dienen kann.

    Regionale Subnetze verwenden.

  • Cloud Guard

    Mit Oracle Cloud Guard können Sie die Sicherheit Ihrer Ressourcen in Oracle Cloud Infrastructure proaktiv überwachen und verwalten. Cloud Guard verwendet Detektorrezepte, die Sie definieren können, um Ihre Ressourcen auf Sicherheitsschwächen zu untersuchen und Operatoren und Benutzer auf riskante Aktivitäten zu überwachen. Wenn falsche Konfigurationen oder unsichere Aktivitäten erkannt werden, empfiehlt Cloud Guard Korrekturmaßnahmen und unterstützt Sie bei der Ausführung dieser Aktionen basierend auf den Responder-Rezepten, die Sie definieren können.

    Klonen und passen Sie die von Oracle bereitgestellten Standardrezepte an, um benutzerdefinierte Detektor- und Responder-Rezepte zu erstellen. Mit diesen Rezepten können Sie angeben, welche Art von Sicherheitsverletzungen eine Warnung generieren und welche Aktionen für sie ausgeführt werden dürfen. Beispiel: Sie möchten Object Storage-Buckets ermitteln, deren Sichtbarkeit auf "public" gesetzt ist.

    Wenden Sie Cloud Guard auf Mandantenebene an, um den umfassenderen Geltungsbereich abzudecken und den Administrationsaufwand bei der Verwaltung mehrerer Konfigurationen zu reduzieren.

    Sie können auch die Funktion "Verwaltete Liste" verwenden, um bestimmte Konfigurationen auf Detektoren anzuwenden.

  • Sicherheitszonen

    Für Ressourcen, die maximale Sicherheit erfordern, empfiehlt Oracle, Sicherheitszonen zu verwenden. Eine Sicherheitszone ist ein Compartment, das mit einem von Oracle definierten Rezept von Sicherheits-Policys verknüpft ist, die auf Best Practices basieren. Beispiel: Die Ressourcen in einer Sicherheitszone dürfen nicht über das öffentliche Internet zugänglich sein und müssen mit vom Kunden verwalteten Schlüsseln verschlüsselt werden. Wenn Sie Ressourcen in einer Sicherheitszone erstellen und aktualisieren, validiert Oracle Cloud Infrastructure die Vorgänge anhand der Policys im Security-Zone-Rezept und lehnt Vorgänge ab, die eine der Policys verletzen.

  • Netzwerksicherheitsgruppen (NSGs)

    Mit NSGs können Sie ein Set von Ingress- und Egress-Regeln definieren, die für bestimmte VNICs gelten. Wir empfehlen die Verwendung von NSGs anstelle von Sicherheitslisten, da NSGs die Subnetzarchitektur des VCN von den Sicherheitsanforderungen Ihrer Anwendung trennen können.

  • Hypervisor-Knoten

    Stellen Sie HPC-Bare-Metal-Ausprägungen bereit, um vollständige Performance zu erhalten. Diese Architektur verwendet die Ausprägung BM.Standard.E4.

Hinweise

Beachten Sie beim Deployment dieser Referenzarchitektur Folgendes.

  • Performance

    Um die beste Performance zu erzielen, wählen Sie die richtige Compute-Ausprägung mit der entsprechenden Bandbreite aus.

  • Verfügbarkeit

    Je nach Deployment-Anforderungen und Region sollten Sie eine High Availability-Option verwenden. Zu den Optionen gehören die Verwendung mehrerer Availability-Domains in einer Region und Faultdomains.

    • Überwachung und Alerts

      Richten Sie Monitoring und Alerts zur CPU- und Speicherauslastung für Ihre Knoten ein, damit Sie die Ausprägung nach Bedarf vertikal oder horizontal skalieren können.

    • Kostenfaktor

      Eine Bare-Metal-GPU-Instanz liefert die erforderliche CPU-Leistung für höhere Kosten. Bewerten Sie Ihre Anforderungen, um die entsprechende Compute-Ausprägung auszuwählen.

      Sie können das Cluster löschen, wenn keine Jobs ausgeführt werden.

  • Cluster File-Systeme

    Es gibt mehrere Szenarios:

    • Optimierte DenseIO-Ausprägungen mit HPC-Ausprägungen.
    • Block-Volumes mit mehreren Anschlüssen bieten einen I/O-Durchsatz von bis zu 2.680 MB/s oder 700 KB IOPS.
    • Sie können auch Ihr eigenes paralleles Dateisystem über dem NVMe-SSD-Speicher oder dem Blockspeicher installieren, je nach Ihren Performanceanforderungen. OCI bietet Scratch- und permanente NFS-basierte (NFS-HA, FSS) oder parallele Dateisystemlösungen (weka.io, Spectrum Scale, BeeGFS, BeeOND, Lustre, GlusterFS, Quobyte).

Bereitstellen

Die GlusterFS-App und der Terraform-Code für Linux KVM sind in Oracle Cloud Marketplace verfügbar.

Ein Terraform-Stack zum Erstellen von Oracle Linux KVM-Instanzen ist in Oracle Cloud Marketplace verfügbar.

  1. Gehen Sie zu Oracle Cloud Marketplace.
  2. Klicken Sie auf App abrufen.
  3. Befolgen Sie die Bildschirmanweisungen.

Die App GlusterFS ist in Oracle Cloud Marketplace verfügbar. Sie müssen GlusterFS manuell auf jeder Instanz bereitstellen.

  1. Gehen Sie zu Oracle Cloud Marketplace.
  2. Klicken Sie auf App abrufen.
  3. Befolgen Sie die Bildschirmanweisungen.

Bestätigungen

Autoren: Yuri Rassokhin, Deepak Soni