Daten zwischen Buckets verschieben
In bestimmten Situationen ist es erforderlich, Daten in eine andere IBM Cloud® Object Storage-Region zu verschieben oder eine Sicherungskopie der Daten in einer anderen Region zu erstellen. Eine Möglichkeit, Daten zwischen Objektspeicherregionen
zu verschieben oder zu replizieren, ist die Verwendung eines „Sync“- oder „Clone“-Tools, wie beispielsweise des Open-Source-Befehlszeilenprogramms „ rclone “. Dieses Dienstprogramm synchronisiert eine Dateiverzeichnisstruktur zwischen zwei Standorten und kann auch für Cloudobjektspeicher verwendet werden. Wenn rclone Daten in COS schreibt, werden große Objekte mithilfe der COS/S3-API
segmentiert und die Segmente werden den als Konfigurationsparameter festgelegten Größen und Schwellenwerten entsprechend parallel hochgeladen.
Diese Anleitung enthält Anweisungen zum Kopieren von Daten aus einem „ IBM Cloud Object Storage “-Bucket in einen anderen „ Object Storage “-Bucket innerhalb derselben Region oder in einen zweiten „ Object Storage “-Bucket in einer anderen „ Object
Storage “-Region. Diese Schritte müssen für alle Daten wiederholt werden, die aus den einzelnen Buckets kopiert werden sollen. Nach der Migration der Daten können Sie die Integrität des Transfers mithilfe von rclone check verifizieren;
dabei wird eine Liste der Objekte erstellt, bei denen die Dateigröße oder die Prüfsumme nicht übereinstimmen. Darüber hinaus können Sie Buckets synchronisieren, indem Sie regelmäßig rclone sync zwischen den verfügbaren Quellen und
den ausgewählten Zielen ausführen.
IBM Cloud Object Storage-Zielbucket erstellen
Sie können die vorhandene Instanz von IBM Cloud Object Storage verwenden oder eine neue Instanz erstellen. Wenn Sie die vorhandene Instanz verwenden möchten, fahren Sie mit Schritt 2 fort.
- Erstellen Sie eine Instanz von IBM Cloud Object Storage aus dem Katalog.
- Erstellen Sie alle Buckets, die Sie zum Speichern der übertragenen Daten benötigen. Lesen Sie die Anleitung zur Einführung durch, um sich mit den zentralen Konzepten wie Endpunkten und Speicherklassen vertraut zu machen.
- Das Dienstprogramm „
rclone“ kopiert keine Bucket-Konfigurationen oder Objekt-Metadaten. Wenn Sie also eine der Funktionen von „ Object Storage “ nutzen, wie z. B. Ablauf, Archivierung, Schlüsselschutz usw., stellen Sie bitte sicher, dass Sie diese vor der Migration Ihrer Daten entsprechend konfigurieren. Informationen zu den Features, die am COS-Ziel unterstützt werden, finden Sie in der Feature-Matrix.
Dokumente zur Featurekonfiguration und zu Zugriffsrichtlinien können über die folgenden IBM Cloud-Portalseiten angezeigt werden:
Rechenressource zum Ausführen des Migrationstools konfigurieren
- Wählen Sie einen „ Linux™ “- /macOS™- oder BSD™-Rechner oder einen „ IBM Cloud “-Infrastruktur-Bare-Metal- oder virtuellen Server, der sich in unmittelbarer Nähe zu Ihren Daten befindet. Die Auswahl eines Rechenzentrums in derselben Region
wie der Ziel-Bucket ist in der Regel die beste Wahl (wenn Sie beispielsweise Daten von
mel01nachau-sydverschieben, verwenden Sie ein VM oder Bare Metal inau-syd). Die folgende Serverkonfiguration wird empfohlen: 32 GB RAM, Prozessor mit 2 - 4 Cores und eine Geschwindigkeit von 1000 MB/s in einem privaten Netz. - Wenn Sie die Migration auf einem Bare-Metal-Server oder einem virtuellen Server der IBM Cloud-Infrastruktur durchführen, verwenden Sie private COS-Endpunkte, um Netzgebühren für abgehenden Datenverkehr zu vermeiden.
- Verwenden Sie andernfalls die öffentlichen oder direkten COS-Endpunkte.
- Installieren Sie „
rclone“ von entweder ein Paketmanager oder eine vorkompilierte Binärdatei.
curl https://rclone.org/install.sh | sudo bash
rclone für COS-Quellendaten konfigurieren
Erstellen Sie Profile für die Quelle und das Ziel der Migration in rclone.
COS-Berechtigungsnachweise anfordern, falls erforderlich
- Wählen Sie die COS-Instanz in der IBM Cloud-Konsole aus.
- Klicken Sie im Navigationsfenster auf die Serviceberechtigungsnachweise.
- Klicken Sie auf Neuer Berechtigungsnachweis, um Berechtigungsnachweisinformationen zu generieren.
- Wählen Sie Erweitert für die Optionen aus.
- Wählen Sie Ein für die HMAC-Berechtigungsnachweise aus.
- Klicken Sie auf Hinzufügen.
- Zeigen Sie den erstellten Berechtigungsnachweis an und kopieren Sie den JSON-Inhalt.
COS-Endpunkt abrufen
- Klicken Sie im Navigationsfenster auf Buckets.
- Klicken Sie auf das Bucket für das Migrationsziel.
- Klicken Sie im Navigationsfenster auf Konfiguration.
- Blättern Sie nach unten zum Abschnitt Endpunkte und wählen Sie den Endpunkt auf Basis des Standorts aus, an dem das Migrationstool ausgeführt wird.
- Erstellen Sie das COS-Ziel; kopieren Sie hierzu den unten folgenden Abschnitt und fügen Sie ihn in
rclone.confein.
[COS_SOURCE]
type = s3
provider = IBMCOS
env_auth = false
access_key_id =
secret_access_key =
endpoint =
Verwenden Sie [COS_DESTINATION] als Namen des Profils, das Sie für die Konfiguration des Ziels erstellen müssen. Wiederholen Sie die oben beschriebenen Schritte.
Füllen Sie anhand der Berechtigungsnachweise und des gewünschten Endpunkts die folgenden Felder aus:
access_key_id = <access_key_id>
secret_access_key = <secret_access_key>
endpoint = <bucket endpoint>
rclone für COS-Zieldaten konfigurieren
Wiederholen Sie die vorherigen Schritte für die Zielbuckets.
Korrekte Konfiguration von Quelle und Ziel verifizieren
- Listen Sie die der Quelle zugeordneten Buckets auf, um die korrekte Konfiguration von
rclonezu verifizieren.
rclone lsd COS_SOURCE:
- Listen Sie die dem Ziel zugeordneten Buckets auf, um die korrekte Konfiguration von
rclonezu verifizieren.
rclone lsd COS_DESTINATION:
Wenn Sie für Quelle und Ziel dieselbe COS-Instanz verwenden, stimmen die Bucket-Listen überein.
rclone ausführen
- Testen Sie Ihre Konfiguration mit einem Trockenlauf (bei dem keine Daten kopiert werden) von
rclone, um die Kopie der Objekte in Ihrem Quellbereich (z. B.source-test) in den Zielbereich (z. B.destination-test) zu testen, wobeisource-testunddestination-testdie jeweiligen Namen der Quell- und Zielbereiche sind.
rclone --dry-run copy COS_SOURCE:source-test COS_DESTINATION:destination-test
- Stellen Sie sicher, dass die Dateien, die Sie migrieren möchten, in der Befehlsausgabe angezeigt werden. Wenn das Ergebnis den Erwartungen entspricht, entfernen Sie das Flag
--dry-runund fügen Sie optional das Flag-vund/oder das Flag-Phinzu, um die Daten zu kopieren und den Verarbeitungsfortschritt zu verfolgen. Wenn Sie das optionale Flag--checksumverwenden, wird verhindert, dass die Dateien aktualisiert werden, die an beiden Positionen über denselben MD5-Hashwert und dieselbe Objektgröße verfügen.
rclone -v -P copy --checksum COS_SOURCE:source-test COS_DESTINATION:destination-test
Sie müssen versuchen, die Werte für CPU, Hauptspeicher und Netz auf der Maschine zu maximieren, auf der rclone ausgeführt wird, um die Übertragungszeit zu optimieren.
Bei der Optimierung von rclone sind weitere Parameter zu berücksichtigen. Verschiedene Kombinationen dieser Werte haben Auswirkungen auf CPU, Speicher und Übertragungszeiten für die Objekte im Bucket.
| Flag | Typ | Beschreibung |
|---|---|---|
--checkers |
int |
Anzahl der parallel ausgeführten Prüfprogramme (Standardwert 8). Hierbei handelt es sich um die Anzahl der aktiven Threads für den Vergleich der Kontrollsummen. Es wird empfohlen, diesen Wert auf mindestens 64 zu erhöhen. |
--transfers |
int |
Hierbei handelt es sich um die Anzahl der Objekte, die parallel übertragen werden können (Standardwert 4). Wir empfehlen, diesen Wert bei der Übertragung vieler kleiner Dateien auf 64, 128 oder höher zu erhöhen. |
--multi-thread-streams |
int |
Große Dateien (> 250 MB) in mehreren Segmenten parallel hochladen. Hierdurch wird die Downloadzeit für große Dateien verbessert (Standardwert 4). |
--s3-upload-concurrency |
int |
Anzahl der Segmente großer Dateien (> 200 MB), die parallel hochgeladen werden sollen. Hierdurch wird die Uploadzeit für große Dateien verbessert (Standardwert 4). |
{: caption="rclone-Optionen" caption-side="top"} |
Im Verlauf einer Migration mit rclone copy werden die Quellendaten nur kopiert, nicht jedoch gelöscht.
Der Kopierprozess muss für alle anderen Quellenbuckets wiederholt werden, für die eine Migration, eine Kopie oder die Erstellung einer Sicherungskopie erforderlich ist.