NFS-Clusterserver auf OCI mit Object Storage als Repository implementieren

Wenn wir zu Beginn unbegrenzt auf kritische, unstrukturierte Daten zugreifen, wird diese Funktion jedoch selten verwendet. In diesem Fall ist Oracle Cloud Infrastructure Object Storage die beste Option.

Da einige Anwendungen Object Storage jedoch nicht nativ verwenden können, müssen Sie Lösungen von Drittanbietern verwenden. Für diese Architektur verwenden wir:

  • Klon zum Lesen und Schreiben in Object Storage.
  • Corosync und Pacemaker zum Erstellen im Cluster (Aktiv-Standby) und zur Sicherstellung der High Availability, die für kritische Anwendungen erforderlich ist (z.B. Rclone, sekundäre IP, NFS-Service, Mount Point usw.).
  • Sekundäre IP zum Mounten des vom Cluster gemeinsam genutzten Netzwerkdateisystems (NFS) und zum automatischen Failover zwischen den Knoten des Clusters.

Diese Referenzarchitektur beschreibt eine vom Kunden inspirierte Konfiguration, bei der High Availability und Flexibilität kombiniert werden.

Architektur

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.

In diesem Szenario haben wir den Switchover-Prozess beschleunigt: die Rclone- und NFS-Services werden ausgeführt; Rclone im Mount-Modell; der NFS-Service, der den von Rclone gemounteten Ordner gemeinsam verwendet, und die sekonäre IP, die nur einem der Knoten zugeordnet ist.

Die Architektur umfasst die folgenden Komponenten:



OCI-Rclone-Architekturdiagramm-oracle.zip

Der Switchover-Prozess zwischen Knoten ist auf OTube zu sehen.

APP Server => inst-i6hjc-rclone-ha -  Client Server
                        /mnt/nfs_rclone_v2 =  Mount point client side 

NFS - Floating IP = 172.10.0.100 

RCLONE => nfs-rclone = Cluster Node1 = IP = 172.10.0.287
RCLONE STANDBY => inst-e2fc3-rclone-ha =  Cluster Node 2 - IP = 172.10.0.121

NFS -  SHARE
/mnt/nfs_rclone =  From Object Storage 

Mit dem regionsübergreifenden Backup können Sie ein Disaster Recovery erstellen. Wenn Sie eine Variable im Setup verwenden, ist die Rclone-Konfiguration statisch.



OCI-nfs-cluster-architecture-diagram-oracle.zip

Für Disaster Recovery:

  • Verwenden Sie die Object Storage-Replikation für das Disaster Recovery, indem Sie ein Replikat der Daten in anderen Regionen erstellen. Siehe "Weitere Informationen anzeigen: Replikation verwenden".
  • Erstellen Sie eine Disaster-Recovery-Lösung für Compute-Instanzen. Siehe Weitere Informationen: Volumes replizieren.

Diese Architektur enthält die folgenden Komponenten:

  • Region

    Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center enthält, das als Availability-Domains bezeichnet wird. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie voneinander trennen (innerhalb von Ländern oder sogar Kontinenten).

  • Availability-Domains

    Availability-Domains sind eigenständige, unabhängige Data Center innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was Fehlertoleranz bietet. Availability-Domains teilen keine Infrastruktur wie Stromversorgung oder Kühlung und nicht das interne Availability-Domainnetzwerk. Aus diesem Grund ist es wahrscheinlich, dass ein Fehler in einer Availability-Domain sich auf die anderen Availability-Domains in der Region auswirkt.

  • Faultdomains

    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 physische Serverausfälle, Systemwartungen und Stromausfälle innerhalb einer Faultdomain tolerieren.

  • Virtual Cloud Network (VCN) und Subnetze

    Ein VCN ist ein anpassbares, Software-definiertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten können. Wie herkömmliche Data Center-Netzwerke erhalten Sie mit VCNs vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke aufweisen, 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 beschränken. 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 ist öffentlich oder privat.

  • Objektspeicher

    Mit Object Storage erhalten Sie schnellen Zugriff auf große Mengen an strukturierten und unstrukturierten Daten eines beliebigen Inhaltstyps, darunter Datenbankbackups, Analysendaten und umfangreiche Inhalte, wie Bilder und Videos. Sie können Daten sicher und geschützt speichern und dann direkt aus dem Internet oder aus der Cloud-Plattform abrufen. Sie können den Speicher nahtlos skalieren, ohne dass die Performance oder Servicezuverlässigkeit beeinträchtigt wird. Verwenden Sie Standardspeicher für "Hot Storage", auf den Sie schnell, sofort und häufig zugreifen müssen. Verwenden Sie Archivspeicher für "Cold Storage", den Sie über lange Zeiträume beibehalten möchten und auf den Sie nur selten zugreifen.

  • Rclone

    Rclone ist ein Open-Source-Befehlszeilenprogramm zur Verwaltung von Dateien im Cloud-Speicher, das hier zur Bereitstellung des Object Storage über NFS verwendet wird.

  • Corosync und Pacemaker

    Corosync und Pacemaker sind sowohl Open-Source-Services, die sowohl für kleine als auch für große Cluster geeignet sind, als auch für High Availability in Anwendungen verantwortlich sind.

  • OCI-CLI

    OCI CLI ist für die Integration der Linux-Ressource Corosync/Pacemaker VirtualIP IPaddr2 mit sekundärer Oracle Cloud Infrastructure vNIC-IP verantwortlich.

  • Oracle Linux

    Diese Umgebung wird mit Oracle Linux 8.6-Instanzen gehostet. Andere Linux-Distros können ebenfalls verwendet werden, solange sie Linux Rclone/Corosync/Pacemaker unterstützen.

  • Sekundäre IP

    Eine sekundäre private IP kann nach dem Start zu einer Instanz hinzugefügt werden. Sie können sie der primären oder sekundären VNIC in der Instanz hinzufügen. Diese sekundäre IP-Adresse wird zwischen den Knoten verschoben. Wenn ein Knoten heruntergefahren ist, wird die variable IP-Adresse an eine andere übergeben. Corosync und Pacemaker sind für diesen Änderungsprozess verantwortlich.

Empfehlungen

Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt für die NFS-Clusterkonfiguration mit OCI-Instanzen mit sekundärer IP und Object Storage. Ihre Anforderungen können von der hier beschriebenen Architektur abweichen.
  • Rclone

    Verwenden Sie auf beiden Clusterknoten denselben Verzeichnisnamen. Achten Sie auf die NFS-Exportkonfiguration, sodass keine Probleme mit dem Rclone-Dateisystem auftreten. Wenn Sie das Verzeichnis mit der grafischen Benutzeroberfläche mounten, können Sie es über die grafische Benutzeroberfläche überwachen.

    Wenn Sie die Rclone-Services im Linux-Cluster nicht konfigurieren, wird empfohlen, ein Shellskript in crontab zu verwenden, um die Services beim Hochfahren des Servers zu starten

  • 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 mit keinem 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 bei der Entwicklung der Subnetze Ihren Verkehrsfluss und Ihre Sicherheitsanforderungen. Hängen Sie alle Ressourcen innerhalb einer bestimmten Ebene oder Rolle an dasselbe Subnetz an, das als Sicherheitsgrenze dienen kann.

  • Ausprägungen

    Diese Architektur verwendet ein Oracle Linux-BS-Image mit der Flex-Ausprägung E3 oder E4 mit Mindestressourcen zum Hosten von Compute-Hosts auf Clusterknoten. Wenn Ihre Anwendung mehr Durchsatznetzwerk, Speicher oder Cores benötigt, können Sie eine andere Ausprägungen auswählen.

  • Oracle Linux-Cluster

    Nachdem Ihre Oracle Linux-Instanzen bereitgestellt wurden, müssen Sie die CLI wie in der öffentlichen Dokumentation beschrieben einrichten und Ihr Corosync/Pacemaker-Cluster zusammen mit den Anforderungen (stonith, Quorum, Ressourcen, Constraints usw.) installieren und konfigurieren. Nachdem Sie das Corosync/Pacemaker-Cluster und die CLI konfiguriert haben, müssen Sie die Ressource VirtualIP einrichten. In diesem Link finden Sie ein schnelles Beispiel für das Einrichten einer VirtualIP-Ressource auf Corosync/Pacemaker über die Befehlszeile. Der gleiche Prozess kann auch über die Webbrowser-UI durchgeführt werden.

  • Objektspeicher

    Mit Object Lifecycle Management (siehe "Weitere Informationen") können Sie den Typ ändern und die Aufbewahrungsregeln verwenden, um Daten beizubehalten (siehe "Weitere Informationen"), um die Daten im Bucket nach dem Upload der Dateien zu ändern und zu verwalten.

  • Corosync und Pacemaker

    Verwenden Sie so viele Variablen wie möglich, wenn Sie Linux Corosync und Pacemaker in OCI CLI integrieren, um das Skript statisch und unabhängig vom laufenden Server zu halten.

Bestätigungen

  • Autor: Diego Mariano
  • Mitwirkender: John Sulyok