Plug-in für Block-Volume-Verwaltung aktivieren

Aktivieren Sie das Plug-in für Block-Volume-Verwaltung auf einer Compute-Instanz.

Das Plug-in für Block-Volume-Verwaltung ist für die folgenden Volume-Anhangsszenarios erforderlich:

  • Mit iSCSI angehängte Volumes, die für die Ebene Äußerst hohe Performance konfiguriert sind. Diese Volume-Anhänge müssen Multipath-fähig sein, um die optimierte Performance der Ebene Äußerst hohe Performance zu erreichen.

  • Mit iSCSI angehängte Volumes, die für andere Performanceebenen und für die automatische Verbindung konfiguriert wurden. Diese Datenträger wurden mit der ausgewählten Option Oracle Cloud Agent verwenden, um automatisch eine Verbindung zu über iSCSI angehängten Volumes herzustellen angehängt. Sie wird für Anhänge an Linux- und Windows-basierte Instanzen unterstützt. In der folgenden Tabelle wird die verfügbare Version der Oracle Cloud Agent-Software für die verschiedenen Betriebssysteme aufgeführt:

    Betriebssysteme und entsprechende Oracle Cloud Agent-Versionen
    OS Oracle Cloud Agent-Version
    Oracle Linux oder ein benutzerdefiniertes Image basierend auf einem Oracle Linux-Image 1.23.0 oder höher
    Windows oder ein benutzerdefiniertes Image basierend auf einem Windows-Image 1.24.0 oder höher
    Ubuntu oder ein benutzerdefiniertes Image basierend auf einem Ubuntu-Image 1.35.0 oder höher

Das Plug-in für Block-Volume-Verwaltung wird von der Oracle Cloud Agent-Software verwaltet und führt die folgenden Aktionen aus:

  1. Es prüft die Metadaten der Instanz auf Multipath-fähige Anhänge für Volumes mit Äußerst hoher Performance oder Anhänge, die für die automatische Verbindung mit Volumes mit anderen Performanceebenen konfiguriert sind, mit einem Polling-Intervall von einer Minute.

  2. Es wird device-mapper-multipath rpm installiert, und "/etc/multipath.conf" wird nur hinzugefügt, wenn Multipath-fähige Anhänge vorhanden sind.

  3. Wenn Multipath-fähige Anhänge oder für die automatische Verbindung konfigurierte Anhänge in den Metadaten der Instanz vorhanden sind, führt das Plug-in iSCSI-login-Batchbefehle für die Volume-Anhänge aus.

Voraussetzungen

Das Plug-in für Block-Volume-Verwaltung wird auf Oracle Autonomous Linux- und Oracle Linux-Images sowie auf benutzerdefinierten Images unterstützt, die auf diesen Images basieren.

Die folgenden Schritte sind für das Plug-in für Block-Volume-Verwaltung erforderlich.

  • Servicegateways oder öffentliche IP-Adressen: Die Compute-Instanz muss entweder über eine öffentliche IP-Adresse oder ein Servicegateway verfügen, um eine Verbindung zu Oracle-Services herstellen zu können.

    Wenn die Instanz keine öffentliche IP-Adresse hat, richten Sie ein Servicegateway im virtuellen Cloud-Netzwerk (VCN) ein. Das Servicegateway ermöglicht Ihrer Instanz privaten Zugriff auf Oracle-Services, ohne dass Daten im öffentlichen Internet verfügbar gemacht werden. Im Folgenden finden Sie besondere Hinweise zum Einrichten des Servicegateways für das Plug-in für Block-Volume-Verwaltung:

    • Aktivieren Sie beim Erstellen des Servicegateways das Servicelabel Alle <Region>-Services in Oracle Services Network.
    • Richten Sie beim Einrichten des Routings für das Subnetz mit der Instanz eine Routingregel ein, bei welcher der Zieltyp auf Servicegateway und der Zielservice auf Alle <Region>-Services in Oracle Services Network gesetzt ist.

    Nähere Anweisungen dazu finden Sie unter Zugriff auf Oracle-Services: Servicegateway.

  • Oracle Cloud Agent: Die Oracle Cloud Agent-Software muss auf der Instanz installiert sein. Oracle Cloud Agent wird standardmäßig auf aktuellen Plattformimages installiert. Schritte zur manuellen Installation von Oracle Cloud Agent auf älteren Images finden Sie unter Oracle Cloud Agent-Software installieren. Informationen zum Aktualisieren finden Sie unter Oracle Cloud Agent-Software aktualisieren.
    Wichtig

    Wenn Sie das Plug-in für Block-Volume-Verwaltung zur Unterstützung der automatischen Verbindung zu einem Volume aktivieren, muss die Instanz die Oracle Cloud Agent-Software der Version 1.23.0 oder höher ausführen.
  • Berechtigungen konfigurieren: Diese Berechtigungen autorisieren die Instanz, API-Aufrufe an Oracle Cloud Infrastructure-Services zu senden, damit das Plug-in für Block-Volume-Verwaltung die iSCSI-Setupergebnisse für Multipath-fähige iSCSI-Anhänge melden kann.

    So konfigurieren Sie Berechtigungen:

    1. Dynamische Gruppe erstellen: Erstellen Sie eine dynamische Gruppe mit den Vergleichsregeln im folgenden Codebeispiel, um alle Instanzen in den angegebenen Compartments einzuschließen:

      ANY {instance.compartment.id = 'ocid1.tenancy.oc1..<tenancy_ID>', instance.compartment.id = 'ocid1.compartment.oc1..<compartment_OCID>'}
    2. Policy für dynamische Gruppe konfigurieren: Konfigurieren Sie eine Policy, die Berechtigungen für die im vorherigen Schritt erstellte dynamische Gruppe erteilt, damit der Instanz-Agent den Block Volume-Service aufrufen kann, um die Anhangskonfiguration abzurufen:

      Allow dynamic-group InstantAgent to use instances in tenancy
      Allow dynamic-group InstantAgent to use volume-attachments in tenancy

Block-Volume-Verwaltung auf neuen Instanzen aktivieren

Führen Sie die folgenden Schritte aus, um die Block-Volume-Verwaltung auf einer neuen Compute-Instanz zu aktivieren.

So aktivieren Sie die Block-Volume-Verwaltung auf einer neuen Compute-Instanz mit der Konsole
  1. Folgen Sie bis zu den erweiterten Optionen den Schritten unter Instanzen erstellen. Stellen Sie sicher, dass die Instanz entweder eine öffentliche IP-Adresse oder ein Servicegateway aufweist, wie unter Voraussetzungen beschrieben.
  2. Klicken Sie auf Erweiterte Optionen anzeigen.
  3. Aktivieren Sie auf der Registerkarte Oracle Cloud Agent das Kontrollkästchen Block-Volume-Verwaltung.

  4. Klicken Sie auf Erstellen.

So aktivieren Sie die Block-Volume-Verwaltung auf einer neuen Compute-Instanz mit der API
  1. Installieren Sie die Oracle Cloud Agent-Software, wenn sie noch nicht installiert ist.
  2. Verwenden Sie den Vorgang UpdateInstance. Nehmen Sie folgende Parameter auf:

    #oci compute instance update --instance-id <New_Instance> --agent-config file:///agentUpdate.json
    agentUpdate.json
    {
        "is-agent-disabled": false,
        "plugins-config": [
            {"name": "Block Volume Management", "desiredState": "ENABLED" }
        ]
    }
  3. Stellen Sie sicher, dass die Instanz entweder eine öffentliche IP-Adresse oder ein Servicegateway aufweist, wie unter Voraussetzungen beschrieben.

Block-Volume-Verwaltung auf vorhandenen Instanzen aktivieren

Führen Sie die folgenden Schritte aus, um die Block-Volume-Verwaltung auf einer vorhandenen Compute-Instanz zu aktivieren.

So aktivieren Sie die Block-Volume-Verwaltung auf einer vorhandenen Compute-Instanz mit der Konsole
  1. Installieren Sie die Oracle Cloud Agent-Software, wenn sie noch nicht installiert ist. Oracle Cloud Agent sollte bereits auf allen aktuellen und neuesten Plattformimages installiert sein. Führen Sie den folgenden Befehl aus, um zu prüfen, ob die Software bereits installiert ist:

    systemctl status oracle-cloud-agent

    Wenn das Ergebnis "Nicht gefunden" lautet, müssen Sie die Software installieren. Fahren Sie andernfalls mit dem nächsten Schritt fort.

  2. Aktivieren Sie das Plug-in für Block-Volume-Verwaltung.
  3. Bestätigen Sie, dass Plug-ins auf der Instanz ausgeführt werden.
  4. Stellen Sie sicher, dass die Instanz entweder eine öffentliche IP-Adresse oder ein Servicegateway aufweist, wie unter Voraussetzungen beschrieben.
So aktivieren Sie die Block-Volume-Verwaltung auf einer vorhandenen Compute-Instanz mit der API
  1. Installieren Sie die Oracle Cloud Agent-Software, wenn sie noch nicht installiert ist.
  2. Verwenden Sie den Vorgang UpdateInstance. Nehmen Sie folgende Parameter auf:

    #oci compute instance update --instance-id <New_Instance> --agent-config file:///agentUpdate.json
    agentUpdate.json
    {
        "is-agent-disabled": false,
        "plugins-config": [
            {"name": "Block Volume Management", "desiredState": "ENABLED" }
        ]
    }
  3. Stellen Sie sicher, dass die Instanz entweder eine öffentliche IP-Adresse oder ein Servicegateway aufweist, wie unter Voraussetzungen beschrieben.

Block-Volume-Verwaltung manuell auf einer Instanz aktivieren

Sie können die Block-Volume-Verwaltung mit der CLI manuell auf einer Compute-Instanz aktivieren.

Diese Prozedur ist nur für benutzerdefinierte Images erforderlich, die aktualisiert wurden, um die Ebene Äußerst hohe Performance zu unterstützen, bei denen das Plug-in für Block-Volume-Verwaltung aber nicht in der Datei /etc/oracle-cloud-agent/agent.yml aktiviert wurde.

Bevor Sie diese Schritte ausführen, müssen Sie die unter Block-Volume-Verwaltung auf neuen Instanzen aktivieren oder Block-Volume-Verwaltung auf vorhandenen Instanzen aktivieren beschriebenen Schritte ausführen.

So aktivieren Sie das Plug-in für Block-Volume-Verwaltung manuell auf einer Instanz
  1. Installieren Sie die Oracle Cloud Agent-Software auf der Instanz, wenn sie noch nicht installiert ist.
  2. Melden Sie sich bei der Instanz an. Informationen hierzu finden Sie unter Verbindungen mit Instanzen herstellen.
  3. Führen Sie das folgende sed-Skript aus, um die Block-Volume-Verwaltung zu aktivieren:

    sed -i.saved -e '/^  oci-blockautoconfig:/,/^  [a-z]*:/{s/\(.*disabled:.*\)true/\1false/}' /etc/oracle-cloud-agent/agent.yml

    Dieses Skript aktualisiert den Parameter disabled für die oci-blockautoconfig-Konfiguration in /etc/oracle-cloud-agent/agent.yml von true in false.

  4. Führen Sie den folgenden Befehl aus, um den Oracle Cloud Agent-Service neu zu starten:
    systemctl restart oracle-cloud-agent.service

Fehlerbehebung beim Plug-in für Block-Volume-Verwaltung

Wenn das Plug-in für Block-Volume-Verwaltung nicht richtig für eine Instanz konfiguriert ist, tritt möglicherweise ein Fehler auf, wenn Sie ein Volume mit einem iSCSI-Anhangstyp anhängen. Hinweise zur Fehlerbehebung bei diesen Problemen finden Sie in diesem Abschnitt.

Plug-in für Block-Volume-Verwaltung - Logfehler: Volume-Anhang nicht autorisiert oder nicht gefunden

Wenn Sie die Berechtigungen für das Plug-in für Block-Volume-Verwaltung nicht richtig konfiguriert haben, kann das Volume nicht an die Instanz angehängt werden.

Details

Das Volume wird nicht in der Konsole als angehängt angezeigt, und im Log für das Plug-in für Block-Volume-Verwaltung wird eine NotAuthorizedOrNotFound-Fehlermeldung angezeigt.

Das Log für das Plug-in für Block-Volume-Verwaltung befindet sich unter:

"/var/log/oracle-cloud-agent/plugins/oci-blockautoconfig/oci-blockautoconfig.log

Beispiel für einen Fehlerlogeintrag bei diesem Problem:

2021/08/13 09:14:25.864932 compute_client_command.go:255: Updating volume attachment to the state LOGIN_SUCCEEDED ...
2021/08/13 09:14:26.155473 compute_client_command.go:260: Service error:NotAuthorizedOrNotFound.
volume attachment ocid1.volumeattachment.oc1.iad.<volume-attachment_ID> not found.
http status code: 404. Opc request id: <request_ID>

Ursache

Das Plug-in für Block-Volume-Verwaltung verfügt nicht über ausreichende Berechtigungen, um die Benachrichtigung über den iSCSI-Anmeldungsstatus an den Service zu senden.

Lösung

So konfigurieren Sie Berechtigungen für das Plug-in für Block-Volume-Verwaltung:

  1. Dynamische Gruppe erstellen: Erstellen Sie eine dynamische Gruppe mit den Vergleichsregeln im folgenden Codebeispiel, um alle Instanzen in den angegebenen Compartments einzuschließen:

    ANY {instance.compartment.id = 'ocid1.tenancy.oc1..<tenancy_ID>', instance.compartment.id = 'ocid1.compartment.oc1..<compartment_OCID>'
  2. Policy für dynamische Gruppe konfigurieren: Konfigurieren Sie eine Policy, die Berechtigungen für die im vorherigen Schritt erstellte dynamische Gruppe erteilt, damit der Instanz-Agent den Block Volume-Service aufrufen kann, um die Anhangskonfiguration abzurufen:

    Allow dynamic-group InstantAgent to use instances in tenancy
    Allow dynamic-group InstantAgent to use volume-attachments in tenancy
Plug-in für Block-Volume-Verwaltung - Logfehler: Benutzer-Agent darf nicht leer sein

Die Compute-Instanz muss entweder eine öffentliche IP-Adresse oder ein Servicegateway aufweisen, um eine Verbindung zu Oracle-Services herstellen zu können. Andernfalls verläuft das Anhängen des Volumes nicht erfolgreich.

Details

Das Volume wird nicht in der Konsole als angehängt angezeigt, und im Log für das Plug-in für Block-Volume-Verwaltung wird die Fehlermeldung user agent can not be blank angezeigt.

Das Log für das Plug-in für Block-Volume-Verwaltung befindet sich unter:

"/var/log/oracle-cloud-agent/plugins/oci-blockautoconfig/oci-blockautoconfig.log

Beispiel für einen Fehlerlogeintrag bei diesem Problem:

2021/10/15 22:16:07.881953 compute_client_command.go:255: Updating volume attachment to the state LOGIN_SUCCEEDED ...
2021/10/15 22:16:07.882185 compute_client_command.go:260: user agent can not be blank
2021/10/15 22:16:07.882204 iscsi_commands_helper.go:302: user agent can not be blank
2021/10/15 22:16:07.882212 iscsi_commands_helper.go:310: user agent can not be blank

Ursache

Das Plug-in für Block-Volume-Verwaltung kann aufgrund der Netzwerkkonfiguration keine Benachrichtigung über den iSCSI-Anmeldungsstatus an den Service senden.

Lösung

Wenn die Instanz keine öffentliche IP-Adresse hat, richten Sie ein Servicegateway im virtuellen Cloud-Netzwerk (VCN) ein. Das Servicegateway ermöglicht Ihrer Instanz privaten Zugriff auf Oracle-Services, ohne dass Daten im öffentlichen Internet verfügbar gemacht werden. Im Folgenden finden Sie besondere Hinweise zum Einrichten des Servicegateways für das Plug-in für Block-Volume-Verwaltung:

  • Aktivieren Sie beim Erstellen des Servicegateways das Servicelabel Alle <Region>-Services in Oracle Services Network.
  • Richten Sie beim Einrichten des Routings für das Subnetz mit der Instanz eine Routingregel ein, bei welcher der Zieltyp auf Servicegateway und der Zielservice auf Alle <Region>-Services in Oracle Services Network gesetzt ist.

Nähere Anweisungen dazu finden Sie unter Zugriff auf Oracle-Services: Servicegateway.