Volumes an mehrere Instanzen anhängen

Mit dem Oracle Cloud Infrastructure Block Volume-Service kann ein Block-Volume an mehrere Compute-Instanzen angehängt werden.

Mit diesem Feature können Sie Block-Volumes instanzübergreifend im Lese-/Schreib- oder schreibgeschützten Modus gemeinsam verwenden. Durch das Anhängen von Block-Volumes mit Lese-/Schreibzugriff und gemeinsam verwendbar an Block-Volumes können Sie Ihre clusterfähigen Lösungen bereitstellen und verwalten.

In diesem Thema wird beschrieben, wie gemeinsam verwendbare Block-Volumes angehängt werden, und es werden die Limits und zugehörigen Überlegungen für dieses Feature erläutert.

Weitere Informationen über die verfügbaren Optionen für Zugriffstypen finden Sie unter Volume-Zugriffstypen. Informationen zum Anhängen von Volumes an einzelne Instanzen finden Sie unter Block-Volumes an eine Instanz anschließen.

Limits und Überlegungen

  • Der Block Volume-Service bietet keine Koordination für nebenläufige Schreibvorgänge auf Block-Volumes, die an mehrere Instanzen angehängt sind. Wenn Sie also das Block-Volume mit Lese-/Schreibzugriff und gemeinsam verwendbar konfigurieren, müssen Sie zusätzlich zum Shared Storage ein clusterfähiges System oder eine clusterfähige Lösung bereitstellen. Informationen hierzu finden Sie unter Volume-Anhänge mit Lese-/Schreibzugriff für mehrere Instanzen konfigurieren.

  • Wenn Sie ein Block-Volume als schreibgeschützt an eine Instanz anhängen, kann es an andere Instanzen nur als schreibgeschützt angehängt werden. Wenn Sie das Block-Volume mit Lese-/Schreibzugriff an eine Instanz anhängen möchten, müssen Sie es zunächst von allen Instanzen trennen, bevor Sie es wieder mit Lese-/Schreibzugriff an die Instanzen anhängen können.

  • Wenn das Block-Volume bereits einer Instanz mit Lese-/Schreibzugriff und nicht gemeinsam verwendbar angehängt ist, können Sie es erst an eine andere Instanz anhängen, nachdem Sie es von der ersten Instanz getrennt haben. Dann können Sie es wieder an die erste und zweite Instanz mit Lese-/Schreibzugriff und gemeinsam verwendbar anhängen.

  • Sie können ein Block-Volume erst löschen, nachdem es von allen Instanzen getrennt wurde, an die es angehängt war. Wenn Sie die an das Block-Volume angehängten Instanzen im Abschnitt Ressourcen der Seite Volume-Details anzeigen, sehen Sie, dass nur Instanzen im ausgewählten Compartment angezeigt werden. Möglicherweise müssen Sie das Compartment ändern, um zusätzliche Instanzen aufzuführen, die an das Volume angehängt sind.

  • Sie können einem gemeinsamen Volume bis zu 32 Instanzen zuordnen, wenn das Volume nicht für die Ebene Ultra High Performance konfiguriert ist

  • Für die für die Ebene Hohe Performance konfigurierte Volumes sind Anhänge mit Multipath-Unterstützung erforderlich. Sie können bis zu 25 Instanzen mit Multipath-fähigen Anhängen an ein gemeinsam genutztes Volume anhängen, das für Ultra High Performance konfiguriert ist. Wenn Sie versuchen, weitere Multipath-fähige Anhänge über 25 hinaus anzuhängen, verläuft der Anhangsprozess nicht erfolgreich.

  • Block-Volumes, die als schreibgeschützt angehängt wurden, werden standardmäßig als gemeinsam verwendbar konfiguriert.

  • Die unter Block-Volume-Performance beschriebenen Performancemerkmale werden pro Volume angegeben. Wenn ein Block-Volume mehreren Instanzen angehängt wird, wird die Performance über alle angehängten Instanzen hinweg gemeinsam verwendet.

  • Volumes, die für die Ebene Äußerst hohe Performance konfiguriert sind, können auch an mehrere Instanzen angehängt werden. Die Gesamt-IOPS und der Durchsatz aller Anhänge, einschließlich der für Äußerst hohe Performance und andere Ebenen konfigurierten, werden jedoch auf die Limits für ein Volume begrenzt. Weitere Informationen finden Sie unter Äußerst hohe Performance und Anhänge für Volumes mit äußerst hoher Performance konfigurieren.

Volume-Anhänge mit Lese-/Schreibzugriff für mehrere Instanzen konfigurieren

Der Block Volume-Service bietet keine Koordination für nebenläufige Schreibvorgänge auf Volumes, die an mehrere Instanzen angehängt sind. Um Datenbeschädigung durch unkontrollierte Lese-/Schreibvorgänge zu verhindern, müssen Sie zusätzlich zum Shared Storage ein clusterfähiges System oder eine clusterfähige Lösung, wie Oracle Cluster File System Version 2 (OCFS2), installieren und konfigurieren, bevor Sie das Volume verwenden können.

Eine Schritt-für-Schritt-Beispielanleitung des Szenarios finden Sie unter Gemeinsames Dateisystem auf Oracle Cloud Infrastructure mit dem Feature zum Anhängen von Block-Volumes für mehrere Instanzen erstellen. Folgende Schritte sind für dieses Szenario erforderlich:

  1. Hängen Sie das Block-Volume über die Konsole, Befehlszeilenschnittstelle (CLI) oder API als Lesen/Schreiben - Gemeinsam verwendbar an eine Instanz an.

  2. Richten Sie die OCFS2/O2CB-Clusterknoten ein.

  3. Erstellen Sie Ihr OCFS2-Dateisystem und den Mount Point.

Erforderliche IAM-Policy

Um Oracle Cloud Infrastructure zu verwenden, muss Ihnen ein Administrator in einer Policy  Sicherheitszugriff erteilen. Dieser Zugriff ist erforderlich, unabhängig davon, ob Sie die Konsole oder die REST-API mit einem SDK, einer CLI oder einem anderen Tool verwenden. Wenn Sie eine Meldung erhalten, dass Sie keine Berechtigung haben oder nicht autorisiert sind, fragen Sie den Administrator, welcher Zugriffstyp Ihnen erteilt wurde und in welchem Compartment  Sie arbeiten sollen.

Für Administratoren: Die Policy unter Starten von Compute-Instanzen durch Benutzer zulassen umfasst die Möglichkeit, vorhandene Block-Volumes anzuhängen/zu trennen. Mit der Policy unter Verwalten von Block-Volumes, Backups und Volume-Gruppen durch Volume-Administratoren zulassen kann die angegebene Gruppe alles mit Block-Volumes und Backups ausführen, aber keine Instanzen starten.

Wenn Sie mit Policys nicht vertraut sind, finden Sie weitere Informationen unter Erste Schritte mit Policys und Allgemeine Policys. Referenzmaterial zum Schreiben von Policys für Instanzen, Cloud-Netzwerke oder andere Coreservices-API-Ressourcen finden Sie unter Details zu den Coreservices.

Konsole verwenden

So hängen Sie ein Volume an mehrere Instanzen über die Seite "Instanzdetails" an
  1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Compute. Klicken Sie unter Compute auf Instanzen.
  2. Klicken Sie in der Liste Instanzen auf die Instanz, der Sie ein Volume anhängen möchten.

  3. Klicken Sie im Abschnitt Ressourcen auf Angehängte Block-Volumes.

  4. Klicken Sie auf Block-Volume anhängen.

  5. Wählen Sie den Volume-Anhangstyp aus: iSCSI oder Paravirtualisiert.

    Weitere Informationen finden Sie unter Volume-Anhangstypen.

  6. Wählen Sie den Volume-Zugriffstyp aus. Wählen Sie Lesen/Schreiben - Gemeinsam verwendbar aus, wenn Sie Anhänge mit Lese-/Schreibzugriff für mehrere Instanzen ermöglichen möchten, oder Schreibgeschützt - Gemeinsam verwendbar, wenn Sie schreibgeschützte Anhänge für mehrere Instanzen ermöglichen möchten.

    Weitere Informationen finden Sie unter Volume-Zugriffstypen.

  7. Wählen Sie in der Dropdown-Liste Block-Volume-Compartment das Compartment aus.

  8. Geben Sie das Volume an, an das Sie anhängen möchten. Um den Volume-Namen zu verwenden, wählen Sie Volume auswählen aus, und wählen Sie das Volume in der Dropdown-Liste Block Volume aus. Um die Volume-OCID anzugeben, wählen Sie Volume-OCID eingeben aus, und geben Sie dann die OCID in das Feld Block-Volume-OCID ein.

  9. Wenn die Instanz konsistente Gerätepfade unterstützt, wählen Sie beim Anhängen einen Pfad aus der Dropdown-Liste Gerätepfad aus. Dies ist erforderlich und ermöglicht es Ihnen, einen Gerätepfad für das Volume angeben, der zwischen Neustarts von Instanzen konsistent bleibt.

    Weitere Informationen zu diesem Feature und den Instanzen, die es unterstützen, finden Sie unter Mit Volumes mit konsistenten Gerätepfaden verbinden.

    Tipp

    Sie müssen einen Gerätepfad auswählen, wenn Sie ein Volume über die Konsole anhängen. Das ist nicht optional. Die Angabe eines Gerätepfads ist optional, wenn Sie ein Volume über die CLI, REST-APIs oder SDK anhängen.
  10. Bei paravirtualisierten Volume-Anhängen auf VM-Instanzen können Sie optional Daten verschlüsseln, die zwischen der Instanz und den Speicherservern des Block Volume-Service übertragen werden. Aktivieren Sie dafür das Kontrollkästchen Verschlüsselung während der Übertragung verwenden. Wenn Sie das Volume so konfiguriert haben, dass ein Verschlüsselungsschlüssel verwendet wird, den Sie mit dem Vault-Service verwalten, wird dieser Schlüssel für die Verschlüsselung während der Übertragung verwendet. Andernfalls wird der von Oracle bereitgestellte Verschlüsselungsschlüssel verwendet.

    Bei iSCSI-Anhängen auf Bare-Metal-Instanzen, die Verschlüsselung während der Übertragung unterstützen, ist die Verschlüsselung während der Übertragung standardmäßig aktiviert und kann nicht konfiguriert werden.

    Weitere Informationen zur Verschlüsselung während der Übertragung finden Sie unter Block-Volume-Verschlüsselung.

  11. Klicken Sie auf Anhängen.

    Wenn das Symbol des Volumes dieses nicht mehr als Wird angehängt auflistet und der Anhangstyp Paravirtualisiert ist, können Sie das Volume verwenden. Wenn der Anhangstyp iSCSI ist, müssen Sie zuerst eine Verbindung mit dem Volume herstellen. Weitere Informationen finden Sie unter Mit einem Block-Volume verbinden.

    Wenn Volumes bei Linux-basierten Instanzen beim Booten der Instanz automatisch gemountet werden sollen, müssen Sie einige spezifische Optionen in der Datei /etc/fstab festlegen. Andernfalls kann die Instanz möglicherweise nicht gestartet werden. Dies gilt sowohl für den iSCSI- als auch den paravirtualisierten Anhangstyp. Informationen zu Volumes, die konsistente Gerätepfade verwenden, finden Sie unter fstab-Optionen für Block-Volumes mit konsistenten Gerätepfaden. Informationen zu allen anderen Volumes finden Sie unter Herkömmliche fstab-Optionen.

So hängen Sie ein Volume an mehrere Instanzen über die Seite "Block-Volume-Details" an
  1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Speicher. Klicken Sie unter Block Storage auf Block-Volumes.
  2. Klicken Sie in der Liste Block-Volumes auf das Block-Volume, das Sie an eine Instanz anhängen möchten.

  3. Klicken Sie im Abschnitt Ressourcen auf Angehängte Instanzen.

  4. Klicken Sie auf An Instanz anhängen.

  5. Wählen Sie den Volume-Anhangstyp aus: iSCSI oder Paravirtualisiert.

    Weitere Informationen finden Sie unter Volume-Anhangstypen.

  6. Wählen Sie den Volume-Zugriffstyp aus. Wählen Sie Lesen/Schreiben - Gemeinsam verwendbar aus, wenn Sie Anhänge mit Lese-/Schreibzugriff für mehrere Instanzen ermöglichen möchten, oder Schreibgeschützt - Gemeinsam verwendbar, wenn Sie schreibgeschützte Anhänge für mehrere Instanzen ermöglichen möchten.

    Weitere Informationen finden Sie unter Volume-Zugriffstypen.

  7. Wählen Sie in der Dropdown-Liste Instanz auswählen die gewünschte Instanz aus. Klicken Sie auf Compartment ändern, wenn sich die Instanz in einem anderen als dem Standard-Compartment befindet. Wenn Sie die Instanz mit der OCID angeben möchten, wählen Sie die Option Instanz-OCID eingeben aus, und kopieren Sie dann die OCID in das Textfeld.

  8. Wenn die Instanz konsistente Gerätepfade unterstützt, wählen Sie beim Anhängen einen Pfad aus der Dropdown-Liste Gerätepfad aus. Dies ist erforderlich und ermöglicht es Ihnen, einen Gerätepfad für das Volume angeben, der zwischen Neustarts von Instanzen konsistent bleibt.

    Weitere Informationen zu diesem Feature und den Instanzen, die es unterstützen, finden Sie unter Mit Volumes mit konsistenten Gerätepfaden verbinden.

    Tipp

    Sie müssen einen Gerätepfad auswählen, wenn Sie ein Volume über die Konsole anhängen. Das ist nicht optional. Die Angabe eines Gerätepfads ist optional, wenn Sie ein Volume über die CLI, REST-APIs oder SDK anhängen.
  9. Bei paravirtualisierten Volume-Anhängen auf VM-Instanzen können Sie optional Daten verschlüsseln, die zwischen der Instanz und den Speicherservern des Block Volume-Service übertragen werden. Aktivieren Sie dafür das Kontrollkästchen Verschlüsselung während der Übertragung verwenden. Wenn Sie das Volume so konfiguriert haben, dass ein Verschlüsselungsschlüssel verwendet wird, den Sie mit dem Vault-Service verwalten, wird dieser Schlüssel für die Verschlüsselung während der Übertragung verwendet. Andernfalls wird der von Oracle bereitgestellte Verschlüsselungsschlüssel verwendet.

    Bei iSCSI-Anhängen auf Bare-Metal-Instanzen, die Verschlüsselung während der Übertragung unterstützen, ist die Verschlüsselung während der Übertragung standardmäßig aktiviert und kann nicht konfiguriert werden.

    Weitere Informationen zur Verschlüsselung während der Übertragung finden Sie unter Block-Volume-Verschlüsselung.

  10. Klicken Sie auf Anhängen.

    Wenn das Symbol des Volumes dieses nicht mehr als Wird angehängt auflistet und der Anhangstyp Paravirtualisiert ist, können Sie das Volume verwenden. Wenn der Anhangstyp iSCSI ist, müssen Sie zuerst eine Verbindung mit dem Volume herstellen. Weitere Informationen finden Sie unter Mit einem Block-Volume verbinden.

    Wenn Volumes bei Linux-basierten Instanzen beim Booten der Instanz automatisch gemountet werden sollen, müssen Sie einige spezifische Optionen in der Datei /etc/fstab festlegen. Andernfalls kann die Instanz möglicherweise nicht gestartet werden. Dies gilt sowohl für den iSCSI- als auch den paravirtualisierten Anhangstyp. Informationen zu Volumes, die konsistente Gerätepfade verwenden, finden Sie unter fstab-Optionen für Block-Volumes mit konsistenten Gerätepfaden. Informationen zu allen anderen Volumes finden Sie unter Herkömmliche fstab-Optionen.

So zeigen Sie die an ein Volume angehängten Instanzen über die Seite "Volume-Details" an
  1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Speicher. Klicken Sie unter Block Storage auf Block-Volumes.
  2. Klicken Sie in der Liste Block-Volumes auf das Block-Volume, für das Sie die angehängten Instanzen anzeigen möchten.

  3. Klicken Sie im Abschnitt Ressourcen auf Angehängte Instanzen.

Alle angehängten Instanzen im ausgewählten Compartment werden in der Liste angezeigt. Um angehängte Instanzen in anderen Compartments anzuzeigen, ändern Sie das Compartment in der Dropdown-Liste Compartment.

So zeigen Sie die an eine Instanz angehängten Volumes über die Seite "Instanzdetails" an
  1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Compute. Klicken Sie unter Compute auf Instanzen.
  2. Klicken Sie in der Liste Instanzen auf die Instanz, für die Sie die angehängten Volumes anzeigen möchten.

  3. Klicken Sie im Abschnitt Ressourcen auf Angehängte Block-Volumes.

Alle an die Instanz angehängten Block-Volumes werden in der Liste angezeigt, unabhängig vom Compartment, in dem sich die Block-Volumes befinden.

CLI verwenden

Informationen zur Verwendung der CLI finden Sie unter Befehlszeilenschnittstelle (CLI).

So hängen Sie ein Volume an eine Instanz mit Lese-/Schreibzugriff und als gemeinsam verwendbar an

Öffnen Sie eine Eingabeaufforderung, und führen Sie Folgendes aus:

oci compute volume-attachment attach --instance-id <instance_ID> --type <attachment_type> --volume-id <volume_ID>  --read-only true/false  --is-shareable true

Beispiel:

oci compute volume-attachment attach --instance-id ocid1.instance.oc1..<unique_ID> --type iscsi --volume-id ocid1.volume.oc1..<unique_ID> --read-only false --is-shareable true
So listen Sie alle Instanzen auf, die an ein Volume angehängt sind

Öffnen Sie eine Eingabeaufforderung, und führen Sie Folgendes aus:

oci compute volume-attachment list --compartment-id <compartment_ID> --volume-id <volume_ID>

Beispiel:

oci compute volume-attachment attach --compartment-id ocid1.compartment.oc1..<unique_ID> --volume-id ocid1.volume.oc1..<unique_ID>
Hinweis

Dieser Vorgang gibt nur die angehängten Instanzen zurück, die im angegebenen Compartment vorhanden sind. Sie müssen diesen Vorgang für jedes Compartment ausführen, das möglicherweise Instanzen enthält, die an das angegebene Volume angehängt sind.

API verwenden

Verwenden Sie die folgenden APIs, um Volumes anzuhängen und mit an Instanzen angehängten Volumes zu arbeiten:

  • AttachVolume

    Setzen Sie das Attribut isShareable von AttachVolumeDetails auf true.

  • GetVolumeAttachment
  • ListVolumeAttachments

    Der Vorgang ListVolumeAttachments gibt nur die angehängten Instanzen zurück, die in dem von Ihnen angegebenen Compartment vorhanden sind. Sie müssen diesen Vorgang für jedes Compartment ausführen, das möglicherweise Instanzen enthält, die an das angegebene Volume angehängt sind.

Informationen zur Verwendung der API und zu Signieranforderungen finden Sie unter REST-API-Dokumentation und Sicherheitszugangsdaten. Informationen zu SDKs finden Sie unter SDKs und die CLI.

Zusätzliche Ressourcen

Unter den folgenden Links finden Sie Beispiel-Deployments von Shared File Systems in Oracle Cloud Infrastructure.

  • GitHub-Projekt für automatisiertes Terraform-Deployment von BeeGFS: oci-beegfs

  • GitHub-Projekt für automatisiertes Terraform-Deployment von Lustre: oci-lustre

  • GitHub-Projekt für automatisierte Terraform-Deployments des verteilten parallelen Dateisystems IBM Spectrum Scale (GPFS) auf Oracle Cloud Infrastructure: oci-ibm-spectrum-scale