Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Grid Federation-Verbindungen in StorageGRID automatisieren

Beitragende netapp-lhalbert netapp-pcarriga
Änderungen vorschlagen

Nachdem Sie zwei oder mehr StorageGRID Systeme mit der Version 12.1 oder höher installiert und konfiguriert haben, kann die Erstellung, Bearbeitung und Wartung von Grid Federation-Verbindungen mithilfe des manage-grid-federation.py Python-Skripts und einer JSON-Konfigurationsdatei automatisiert werden.

Bevor Sie beginnen
  • Alle Grids verwenden StorageGRID 12.1 oder höher.

  • Wenn Single Sign-On (SSO) auf einem beliebigen Grid aktiviert ist, wurde es deaktiviert.

  • Sie verfügen über eine Linux-Maschine mit installiertem Python 3.6 oder höher.

  • Sie kennen den Speicherort der folgenden Dateien aus dem Installationsarchiv:

    Dateiname Beschreibung

    manage-grid-federation.py

    Python Script zur Automatisierung der Verwaltung von Grid Federation-Verbindungen

    manage-grid-federation.sample.json

    Beispielkonfigurationsdatei für die Verwendung mit dem Skript

  • Sie haben eine manage-grid-federation.json Konfigurationsdatei erstellt. Zum Erstellen dieser Datei kann die Beispiel-Konfigurationsdatei angepasst manage-grid-federation.sample.json werden.

Achtung Die Grid-Admin-Passwörter und Bereitstellungspassphrasen aus der manage-grid-federation.json Konfigurationsdatei sollten an einem sicheren Ort aufbewahrt werden. Wenn Anmeldeinformationen in der Datei fehlen, fordert das Skript diese interaktiv an. Auch eine Sicherungskopie der geänderten Konfigurationsdatei sollte an einem sicheren Ort aufbewahrt werden.

Felder der Konfigurationsdatei

Die JSON Konfigurationsdatei ist ein Array von Objekten. Jedes Objekt repräsentiert ein Grid und unterstützt die folgenden Felder:

Feld Erforderlich Beschreibung

Hostname

Ja.

Hostname oder IP-Adresse des Admin Node für das Grid

Grid-Name

Ja.

Anzeigename für das Grid (maximal 12 Zeichen)

Benutzername

Nein

Grid-Administrator-Benutzername (wird interaktiv abgefragt, falls ausgelassen)

Passwort

Nein

Grid Admin-Passwort (wird interaktiv abgefragt, falls nicht angegeben)

Passphrase

Nein

Bereitstellungspasswort (wird interaktiv abgefragt, falls weggelassen)

ca_bundle

Nein

Pfad zu einem benutzerdefinierten CA-Zertifikatspaket für die SSL-Überprüfung

Werden

Nein

Gewünschte Standard-S3-Region für globale Namespace-Verbindungen

CNAME

Nein

Gewünschter CNAME für globale Namespace-Verbindungen

globalEndpoint

Nein

Gewünschter globaler Namespace Endpunkt

Hinweis Wenn Sie eines der globalen Namespace-Felder konfigurieren (region, CNAME, globalEndpoint, müssen Sie alle drei für jedes Grid angeben. Es ist sicherzustellen, dass die Regionen und CNAMEs gridübergreifend eindeutig sind und der globalEndpoint Wert für alle Grids identisch ist.
Über diese Aufgabe

Sie können das manage-grid-federation.py Python-Skript und die manage-grid-federation.json Konfigurationsdatei verwenden, um die Verwaltung der Grid Federation Verbindungen zu automatisieren. Das Skript führt die folgenden Operationen aus:

  • Authentifiziert sich bei jedem Grid über die Grid Management API

  • Es wird sichergestellt, dass auf allen Grids StorageGRID 12.1 oder höher ausgeführt wird.

  • Überprüft, ob Single Sign-On auf jedem Grid deaktiviert ist.

  • Ruft bestehende Grid Federation-Verbindungen und S3-Konfiguration ab

  • Aktualisiert die Einstellungen für S3-Region, CNAME und globalen Namespace-Endpunkt, wenn konfiguriert

  • Erstellt neue Grid Federation-Verbindungen für alle Grid-Paare, die noch nicht verbunden sind

  • Bearbeitet bestehende Verbindungen, wenn sich Anzeigenamen oder globale Namensraumeinstellungen geändert haben

  • Zeigt eine Zusammenfassung aller Verbindungen und deren Status

Tipp Grid-Federation-Verbindungen lassen sich auch direkt über die Grid Manager Benutzeroberfläche oder die Grid Management API verwalten.
Schritte
  1. Melden Sie sich an der Linux-Maschine an, die Sie verwenden, um das Python-Skript auszuführen.

  2. In das Verzeichnis wechseln, das das Skript enthält.

    Beispiel:

    cd StorageGRID-Webscale-version/platform

    wobei platform debs, rpms oder vsphere ist.

  3. Führen Sie das Python-Skript aus und verwenden Sie die von Ihnen erstellte Konfigurationsdatei.

    Beispiel:

    ./manage-grid-federation.py -i manage-grid-federation.json

    Sie können die folgenden Befehlszeilenoptionen verwenden:

    Option Standard Beschreibung

    -i, --input-json-file

    (erforderlich)

    Pfad zur JSON Konfigurationsdatei, die die Liste der Grids enthält

    -b, --base-port

    23001

    Startportnummer für neue Grid Federation-Verbindungen

    --no-verify-ssl

    SSL-Verifizierung aktiviert

    Deaktiviert die SSL-Zertifikatsprüfung für lokale Verbindungen zum Grid.

Bestehende Verbindungen bearbeiten

Wenn das Skript feststellt, dass bestehende Verbindungen Änderungen erfordern, zum Beispiel weil sich die Anzeigenamen im Grid geändert haben oder die globalen Namespace-Einstellungen aktualisiert werden müssen, wird eine Zusammenfassung der vorgeschlagenen Änderungen angezeigt und vor dem Fortfahren eine Bestätigung angefordert.

Wenn S3-Konfigurationsaktualisierungen ((region, CNAME oder globalEndpoint) auf Grids mit aktiviertem globalen Namensraum erforderlich sind, muss das Skript den globalen Namensraum vorübergehend deaktivieren, um die Änderungen anzuwenden. In diesem Fall warnt die Bestätigungsabfrage vor dem vorübergehenden Routingausfall.

*** Global Namespace Disable Required ***
Global Namespace must be disabled to update region/CNAME/globalEndpoint settings.
Routing requests will not work until Global Namespace is re-enabled.
Grids requiring S3 updates: grid1.example.com, grid2.example.com
Proceed with these edits and the temporary routing outage? [y/N]:
Achtung Während der Aktualisierung der S3-Konfiguration ist der globale Namensraum vorübergehend deaktiviert, wodurch Routing-Anfragen für den globalen Namensraum nicht funktionieren. Diese Operation sollte während eines Wartungsfensters eingeplant werden.
Nachdem Sie fertig sind

Ihre Grid-Federation-Verbindungen sind hergestellt und konfiguriert, wenn das Skript eine Bestätigungszusammenfassung ähnlich der folgenden anzeigt:

===== Newly Established Connections =====
 • Grid-A and Grid-B — grid-a.example.com and grid-b.example.com on port 23001

Total new connections: 1

===== All Grid-Federation Connections =====
  Name              Source                Target                Port   Status    Global Namespace
  ----------------  --------------------  --------------------  -----  --------  ----------------
  Grid-A and Grid-B grid-a.example.com    grid-b.example.com    23001  new       enabled

Total connections listed: 1

===== Grid S3 Configuration Summary =====
 grid-a.example.com:
    Default Region: us-east-1
    CNAME: s3-a.example.com
    Global namespace endpoint: gn.example.com
 grid-b.example.com:
    Default Region: us-west-1
    CNAME: s3-b.example.com
    Global namespace endpoint: gn.example.com

Exit Status

Codieren Beschreibung

0

Skript erfolgreich abgeschlossen

1

Die Validierung ist fehlgeschlagen oder ein Grid-API-Aufruf hat einen Fehler zurückgegeben (Protokollausgabe prüfen)

Hinweis Sollten Verbindungen fehlschlagen, verarbeitet das Skript die verbleibenden Paare weiter und meldet alle Fehler im Abschnitt „Fehlgeschlagene Verbindungen“ der Ausgabe. Die Fehlermeldungen sollten überprüft und etwaige Probleme behoben werden, bevor das Skript erneut ausgeführt wird.