Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zur Registrierung für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Ersetzen Sie diese Werte nach Abschluss der Übung durch Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Daten mit OCI Object Storage Sync und dem Tool s5cmd in OCI Cloud Storage Services verschieben
Einführung
Dieses Tutorial 3 einer vier Tutorialreihe zeigt Ihnen verschiedene Möglichkeiten, Daten in Oracle Cloud Infrastructure-(OCI-)Cloud-Speicherservices zu migrieren. Die Serie ist so eingerichtet, dass Sie das Tutorial 1: Migrationstools zum Verschieben von Daten in OCI Cloud Storage Services verwenden lesen können, um ein umfassendes Verständnis der verschiedenen Tools zu erhalten, und dann mit den zugehörigen Tutorials oder Dokumenten fortfahren können, die für Ihre Migrationsanforderungen relevant sind. In diesem Tutorial werden die Verwendung von OCI Object Storage Sync (OS Sync) und s5cmd zum Migrieren von Dateisystemdaten (einschließlich OCI File Storage) in und aus OCI Object Storage behandelt.
OCI bietet Kunden leistungsstarkes Computing und kostengünstige Cloud-Speicheroptionen. Über On-Demand-Lokal-, Objekt-, Datei-, Block- und Archivspeicher erfüllt Oracle die wichtigsten Anforderungen und Anwendungsfälle für Speicher-Workloads.
OCI-Cloud-Speicherservices bieten schnelle, sichere und dauerhafte Cloud-Speicheroptionen für alle Unternehmensanforderungen. Angefangen bei den leistungsstarken Optionen wie OCI File Storage mit Lustre und OCI Block Volumes-Service, vollständig verwalteten Dateisystemen im Exabyte-Bereich vom OCI File Storage-Service mit leistungsstarken Mountzielen bis hin zu extrem langlebigem und skalierbarem OCI Object Storage. Unsere Lösungen können Ihre Anforderungen erfüllen, von leistungsintensiven Anwendungen wie KI/ML-Workloads bis hin zu Data Lakes im Exabyte-Bereich.
-
OCI Object Storage Sync (OS Sync) ist Teil der Oracle Cloud Infrastructure-Befehlszeilenschnittstelle (OCI-CLI), die ein Dateisystemverzeichnis mit Objekten in einem Bucket synchronisiert. Der Befehl durchläuft Unterverzeichnisse, in denen neue und geänderte Dateien oder Objekte von der Quelle in das Ziel kopiert und optional diejenigen gelöscht werden, die nicht in der Quelle vorhanden sind.
-
The s5cmd tool is a free, open source project. s5cmd enables browsing and transferring data to/from S3 compatible object stores (including OCI Object Storage) to/from file system data (including OCI File Storage). Es ist in der Go-Sprache geschrieben.
Bestimmen Sie die Datenmenge, die migriert werden muss, und die Ausfallzeit, die für den Übergang zur neuen OCI-Speicherplattform verfügbar ist. Batchmigrationen sind eine gute Wahl, um die Migration in verwaltbare Inkremente aufzuteilen. Mit Batchmigrationen können Sie Ausfallzeiten für bestimmte Anwendungen über verschiedene Fenster hinweg planen. Einige Kunden haben die Flexibilität, eine einmalige Migration über ein geplantes Wartungsfenster über einen Zeitraum von 2 bis 4 Tagen durchzuführen. Mit OCI FastConnect kann eine dedizierte, private Verbindung zwischen OCI und Ihrer Umgebung mit Portgeschwindigkeiten von 1G bis 400G erstellt werden, um den Datenübertragungsprozess zu beschleunigen. OCI FastConnect kann in Partnerlösungen wie Megaport und ConsoleConnect integriert werden, um eine private Verbindung zu Ihrem Data Center oder eine Cloud-to-Cloud-Verbindung zu erstellen und Daten direkter von einem anderen Cloud-Anbieter in den OCI-Cloud-Speicherservice zu verschieben. Weitere Informationen finden Sie unter Integration von FastConnect mit Megaport Cloud Router.
Zielgruppe
DevOps Ingenieure, Entwickler, OCI-Cloud-Speicheradministratoren und -benutzer, IT-Manager, OCI-Poweruser und Anwendungsadministratoren.
Zielsetzung
Erfahren Sie, wie Sie Dateisystemdaten mit der OCI-CLI mit os sync und dem Tool s5cmd in OCI Object Storage kopieren und/oder synchronisieren.
-
Verwenden Sie den Befehl
os sync
mit verschiedenen Parametern und Optionen. -
Verschiedene Möglichkeiten zum Ausführen des Tools s5cmd für die Datenmigration und -synchronisierung.
Voraussetzungen
-
Ein OCI-Account.
-
VM-Instanz auf OCI zur Bereitstellung der Migrationstools oder eines Systems, auf dem Sie Migrationstools bereitstellen und verwenden können.
-
OCI-CLI wird mit einer Arbeitskonfigurationsdatei in Ihrem Home-Verzeichnis in einem Unterverzeichnis mit dem Namen
.oci
installiert. Weitere Informationen finden Sie unter Konfigurationsdatei einrichten. -
Zugriff auf einen OCI Object Storage-Bucket.
-
Benutzerberechtigungen in OCI zur Verwendung von OCI Object Storage, zur Verwaltung von Buckets und Objekten oder zur Verwaltung der Objektfamilie für mindestens 1 Bucket oder Compartment. Weitere Informationen finden Sie unter Common Policies und Policy Reference.
-
Benutzerberechtigung zum Erstellen, Exportieren und Mounten von OCI File Storage oder zum Zugriff auf ein OCI File Storage-Mountziel, das bereits auf einer VM gemountet ist, oder auf ein anderes NFS-(Network File System-)Mount oder lokales Dateisystem zum Kopieren von Daten in und aus. Weitere Informationen finden Sie unter File Storage Policy verwalten.
-
Vertrautheit mit der Verwendung eines Terminals oder einer Shellschnittstelle unter Mac OS, Linux, Berkeley Software Distribution (BSD) oder unter Windows PowerShell, Eingabeaufforderung oder bash.
-
Prüfen Sie die Migrationsgrundlagen für das Verschieben von Daten in OCI Cloud Storage, um die OCI-CLI mit OS Sync und das Tool s5cmd zu installieren.
-
Informationen zu den Migrationstools, die wir verwenden können, finden Sie in Tutorial 1: Daten mit Migrationstools in OCI Cloud Storage Services verschieben.
Netzwerkdateisystem- und lokale Dateisystemdaten mit OCI Object Storage synchronisieren
OCI Object Storage Sync ist Teil der OCI-Befehlszeilenschnittstelle (CLI), die ein Dateisystemverzeichnis mit Objekten in einem Bucket synchronisiert. Der Befehl durchläuft Unterverzeichnisse, in denen neue und geänderte Dateien oder Objekte von der Quelle in das Ziel kopiert und optional diejenigen gelöscht werden, die nicht in der Quelle vorhanden sind. Es ist ein praktisches Tool, mit dem Dateisystemdaten und OCI Object Storage-Buckets synchronisiert werden. In unserer Testumgebung wurde festgestellt, dass OCI Object Storage Sync für gemischte Datasets gut funktioniert und besser als andere Tools für große Dateien (1 TB oder mehr).
OCI Object Storage unterstützt eine Amazon S3-Kompatibilitäts-API. Kunden, die bereits mit der Vielfalt der Amazon S3-Tools vertraut sind, können diese weiterhin nutzen. Das Tool s5cmd ist ein kostenloses Open-Source-Projekt. Sie ermöglicht das Durchsuchen und Übertragen von Daten an/aus einem mit S3 kompatiblen Objektspeicher. Es ist in der Go-Sprache geschrieben und für parallelen Durchsatz optimiert. Während unserer Tests haben wir festgestellt, dass das s5cmd-Tool am besten für kleine Dateien (Dateien kleiner als 1 MB bis zu 30 MB) funktioniert und alle anderen Tools zum Verschieben kleiner Dateien ausgeführt wurden. Das Tool s5cmd eignet sich auch für gemischte Datasets, wenn Daten aus Dateisystemen in OCI Object Storage verschoben werden.
Wenn Ihre Daten nach Verzeichnissen oder Präfixen in Untergruppen organisiert werden können, können Sie die OS-Synchronisierung auch horizontal skalieren und s5cmd über mehrere VMs hinweg ausgeführt wird, um die Übertragungszeiten zu verbessern.
Betriebssystemsynchronisierung für Synchronisierung verwenden
-
Synchronisieren Sie lokale Dateisystemdaten in OCI Object Storage.
Führen Sie den folgenden einfachen
os sync
-Befehl aus, um die Dateien aus einem Quellverzeichnis mit einem Ziel-Bucket zu synchronisieren.oci os object sync --src-dir <path to migration-files> --bucket-name <bucket name>
Hinweis: Dieser Befehl kann für lokale On-Premise-Dateisysteme, On-Premise-NFS-Dateisysteme und auf einer OCI Compute-Instanz mit OCI File Storage-NFS-Mounts verwendet werden, um Daten aus OCI File Storage in einen OCI Object Storage-Bucket zu verschieben.
-
Migrieren Sie Daten aus OCI Object Storage in ein lokales Dateisystem.
Führen Sie den folgenden einfachen
os sync
-Befehl aus, um Dateien/Objekte aus einem Quell-Bucket in einem Zieldateisystem zu synchronisieren.oci os object sync --dest-dir <path to migration-target directory> --bucket-name <bucket name>
Hinweis: Dieser Befehl kann für lokale On-Premise-Dateisysteme, On-Premise-NFS-Dateisysteme und auf einer OCI Compute-Instanz mit einem OCI File Storage NFS-Mount verwendet werden, um die Daten aus dem OCI File Storage-Service in einen OCI Object Storage-Bucket zu verschieben.
-
Erhöhen Sie parallele Vorgänge.
Standardmäßig werden nur 10 Vorgänge parallel ausgeführt. Durch die Erhöhung paralleler Vorgänge werden die Datenübertragungsgeschwindigkeiten verbessert und mehr Systemressourcen und Bandbreite verbraucht. In unserer Testumgebung haben wir die
VM.Standard.E4.Flex
mit 24 OCPU, 24Gbps Netzwerkbandbreite, 384 GB Arbeitsspeicher verwendet und 100 parallele Vorgänge gefunden, um für Übertragungsgeschwindigkeiten am besten zu funktionieren. Größere VMs können diese Zahl bis zu 10 Operationen gleichzeitig erhöhen, bis eine optimale Übertragungsgeschwindigkeit erreicht ist oder bis maximal 1.000 parallele Übertragungen erreicht sind. Kleinere VM-Ausprägungen sollten bei 10 Vorgängen beginnen und die Inkremente von 5-10 erhöhen, bis ein guter Durchsatz erreicht ist. Erhöhen oder verringern Sie parallele Vorgänge mit dem folgenden Flag.--parallel-operations-count <integer range>
Hinweis: Sollten nach dem Erhöhen des parallelen Vorgangs Fehler auftreten, insbesondere Fehler mit 429 "TooManyRequests", senken Sie die parallelen Vorgänge um 2, bis die Fehler gestoppt sind.
-
Filtern Sie die übereinstimmenden Dateien mit dem Befehl pattern.
Muster können verwendet werden, um übereinstimmende Dateien ein- oder auszuschließen. Musterbefehle können in der Befehlszeile mehrmals verwendet werden, um mehrere Muster abzugleichen.
-
Um Dateien einzuschließen, die einem Muster entsprechen, verwenden Sie den folgenden Befehl.
--include
-
Um Dateien auszuschließen, die einem Muster entsprechen, verwenden Sie den folgenden Befehl.
--exclude
Hinweis:
*
: Entspricht allen?
: Stimmt mit einem beliebigen einzelnen Zeichen überein[sequence]
: Entspricht einem beliebigen Zeichen in der Folge[!sequence]
: Entspricht jedem Zeichen, das nicht in der Sequenz ist
-
-
Verwenden Sie das Flag
--prefix
.Das Kennzeichen
--prefix
, das beim Hochladen von Dateien in den Objektspeicher mit dem Befehl--src-dir
verwendet wird, lädt Objekte hoch und fügt den Verzeichnispfad als Präfix zum Objektnamen hinzu. Wenn Objekte aus OCI Object Storage heruntergeladen werden, werden nur Objekte mit dem angegebenen Präfix heruntergeladen und nicht als Teil des Objekt-/Dateinamens angezeigt. -
Verifizieren Sie eine Übertragung vor einer Ausführung.
Bevor Sie eine Übertragung starten, können Sie bestimmen, welche Dateien in OCI Object Storage hochgeladen/heruntergeladen werden, indem Sie os sync nur ausdrucken lassen. Führen Sie die Befehlszeile mit dem folgenden Flag aus.
--dry-run
Verwenden Sie s5cmd zum Synchronisieren
-
Synchronisieren und kopieren Sie den Befehl.
-
Mit der Option
sync
für s5cmd wird eine One-Way-Synchronisierung von Quelle zu Ziel durchgeführt, ohne die Quelldateien zu ändern. Außerdem werden keine Dateien auf dem Ziel gelöscht, die nicht in der Quelle vorhanden sind. Fügen Sie das Flag--delete
hinzu, um Dateien auf dem Ziel zu entfernen, die in der Quelle nicht vorhanden sind. -
Der Befehl
copy
kopiert einfach Objekte aus der Quelle in das Ziel.
-
-
Pattern Matching.
Das Tool s5cmd unterstützt Platzhalter auf mehreren Ebenen für die Synchronisierungs- und Kopiervorgänge. Dies wird erreicht, indem alle Objekte mit dem Präfix bis zum ersten Platzhalter aufgelistet und dann die Ergebnisse im Arbeitsspeicher gefiltert werden.
Handelt es sich bei der Quelle um ein Dateisystem, gelten auch Platzhalter. Wenn Sie das Zeichen
*
verwenden, wird es manchmal als globbing-Platzhalter interpretiert. Schließen Sie es in einfache Anführungszeichen, um unerwartete Ergebnisse zu vermeiden.Beispiel: Um alle ZIP-Dateien in einem Verzeichnis in einen Bucket zu kopieren, führen Sie den folgenden Befehl aus.
s5cmd cp '*.gz' s3:/<bucket name>
-
Grundlegender Synchronisierungsbefehl.
-
Synchronisieren Sie lokale Dateisystemdaten in OCI Object Storage. Führen Sie den folgenden einfachen
s5cmd
-Befehl aus, um die Dateien aus einem Quellverzeichnis mit einem Ziel-Bucket zu synchronisieren.s5cmd sync /<path to migration-files> s3://<bucket name>
-
Synchronisieren Sie Daten aus OCI Object Storage mit einem lokalen Dateisystem. Führen Sie den folgenden einfachen
s5cmd
-Befehl aus, um Dateien/Objekte aus einem Quell-Bucket in einem Zieldateisystem zu synchronisieren.s5cmd sync s3:/<bucket name>/* /<path to migration-target directory>
Hinweis: Dieselben Befehle können für lokale On-Premise-Dateisysteme, On-Premise-NFS-Dateisysteme und auf einer OCI Compute-Instanz mit OCI File Storage-NFS-Mounts verwendet werden, um Daten aus OCI File Storage in einen OCI Object Storage-Bucket zu verschieben.
-
-
Grundlegender Kopierbefehl.
Führen Sie den folgenden einfachen
s5cmd
-Befehl aus, um die Dateien aus einem lokalen Dateisystemquellverzeichnis in einen OCI Object Storage-Ziel-Bucket zu kopieren.s5cmd cp /<path to migration-files> s3://<bucket name>
Kopieren Sie Daten aus OCI Object Storage in ein lokales Dateisystem.
s5cmd cp "s3:/<bucket name>/*" /<path to migration-target directory>
Hinweis: Diese Befehle können für lokale On-Premise-Dateisysteme, On-Premise-NFS-Dateisysteme und auf einer OCI-Compute-Instanz mit OCI File Storage-NFS-Mounts verwendet werden, um Daten aus OCI File Storage in einen OCI Object Storage-Bucket zu verschieben. Bei unseren Tests wurde hauptsächlich der Kopierbefehl mit s5cmd verwendet.
-
Erhöhung der Parallelität.
Das Tool s5cmd führt standardmäßig 256 Worker parallel aus. Je nach Größe Ihrer VM können Sie die Parallelität erhöhen oder verringern. In unserer Testumgebung haben wir die
VM.Standard.E4.Flex
mit 24 OCPU, 24Gbps Netzwerkbandbreite, 384 GB Arbeitsspeicher verwendet und 1.000 parallele Vorgänge gefunden, um für Übertragungsgeschwindigkeiten am besten zu funktionieren. Größere VMs können diese Zahl bis zu 10 Operationen gleichzeitig erhöhen, bis eine optimale Übertragungsgeschwindigkeit erreicht ist oder bis maximal 1.000 parallele Übertragungen erreicht sind. Kleinere VM-Ausprägungen sollten bei 10 Vorgängen beginnen und die Inkremente von 5-10 erhöhen, bis ein guter Durchsatz erreicht ist. Erhöhen oder verringern Sie parallele Vorgänge mit dem folgenden Flag.--numworkers <interger>
Hinweis: Sollten Fehler auftreten, nachdem die Anzahl der Mitarbeiter erhöht wurde, insbesondere Fehler mit 429 "TooManyRequests", senken Sie die Anzahl der Mitarbeiter um 2, bis die Fehler nicht mehr auftreten.
Beispiel: Kopieren Sie alle Objekte in einem Bucket in ein lokales Dateisystemverzeichnis.
s5cmd --numworkers 1000 cp "s3://MyBucket/*" /my/directory
Hinweis: Wir haben mit bis zu 1.500 Mitarbeitern getestet und keine signifikanten Verbesserungen festgestellt. Da unser Test ergab, dass das Tool s5cmd am besten für kleine Dateien ausgeführt wurde, haben wir keine Vorteile bei der Verwendung des Flags
concurrency
für Dateien gefunden, die mehrteilige Uploads erfordern und bei denen eine hohe Anzahl von Mitarbeitern die beste Gesamtperformance zeigte.
(Optional) Testumgebungen
Empfehlungen basieren auf Tests und Kundeninteraktionen.
Hinweis: Rclone-Ergebnisse sind enthalten, um weitere Informationen zur Verwendung von Rclone zu erhalten. Weitere Informationen finden Sie in Tutorial 2: Daten mit Rclone in OCI Cloud Storage Services verschieben.
Testumgebung 1:
1 VM-Instanz VM.Standard.E4.Flex
, 1 OCPU, 1Gbps Netzwerkbandbreite, 16 GB Arbeitsspeicher. Um die Migration von On Premise zu OCI zu simulieren, wurden Daten von PHX NFS zu IAD kopiert.
Datasets
-
Dataset 1:
Gesamte Größe Anzahl Dateien Dateigrößenbereich 3TB 3 1TB Methode An-Von Time Befehl Flags OS-Synchronisierung NFS/File PHX zu Object IAD 123m17.102s - --parallel-operations-count 100
s5cmd NFS/File PHX zu Object IAD 239m20.625s Kopieren run commands.txt
, Standardausführung--numworkers 256
Rclon NFS/File PHX zu Object IAD 178m27.101s Kopieren --transfers=100 --oos-no-check-bucket --fast-list --checkers 64 --retries 2 --no-check-dest
Hinweis: Unsere Tests zeigten, dass
os sync
für dieses Dataset am schnellsten ausgeführt wurde. -
Dataset 2:
Gesamte Größe Anzahl Dateien Dateigrößenbereich 9.787 GB 20.000 1 MB Methode An-Von Time Befehl Flags s5cmd NFS/File PHX zu Object IAD 1m12.746s Kopieren Standardausführung --numworkers 256
OS-Synchronisierung NFS/File PHX zu Object IAD 2m48.742s - --parallel-operations-count 1000
Rclon NFS/File PHX zu Object IAD 1m52.886s Kopieren --transfers=500 --oos-no-check-bucket --no-check-dest
Hinweis: Unsere Tests zeigten, dass s5cmd die beste Performance für dieses Dataset zeigte.
Testumgebung 2:
VM-Instanzen: Pro Test wurden 1-2 VM-Instanzen verwendet. Wir haben eine VM.Standard.E4.Flex
mit 24 OCPU, 24Gbps Netzwerkbandbreite und 384 GB Arbeitsspeicher verwendet. Oracle Linux 8 wurde für Linux-Tests verwendet.
Datasets
-
Dataset 1:
14 Hauptverzeichnisse mit der folgenden Anzahl und Größe von Dateien.
Dataset-Verzeichnis Schriftgrad Anzahl Dateien Größe jeder Datei Verzeichnis 1 107.658 GiB 110.242 1 MiB Verzeichnis 2 1.687 GiB 110.569 15 MiB Verzeichnis 3 222 GiB 111 2 GiB Verzeichnis 4 1.265 TiB 1.295 1 GiB Verzeichnis 5 26.359 GiB 1.687 16 MiB Verzeichnis 6 105.281 MiB 26.952 4 KiB Verzeichnis 7 29.697 MiB 30.410 1 KiB Verzeichnis 8 83.124 GiB 340.488 256 KiB Verzeichnis 9 21.662 GiB 354.909 64 KiB Verzeichnis 10 142.629 GiB 36.514 4 MiB Verzeichnis 11 452.328 MiB 57.898 8 MiB Verzeichnis 12 144 GiB 72 2GiB Verzeichnis 13 208.500 GiB 834 256 MiB Verzeichnis 14 54.688 GiB 875 64 MiB Hinweis:
- Die 14 Verzeichnisse wurden auf die 2 VM-Instanzen aufgeteilt.
- Jede VM führte 7 Befehle/Prozesse aus, 1 für jedes Verzeichnis, sofern nicht anders angegeben.
Methode An-Von Time Befehl Flags/Notizen s5cmd NFS/File PHX zu Object IAD 54m41.814s Kopieren --numworkers 74
OS-Synchronisierung NFS/File PHX zu Object IAD 65m43.200s - --parallel-operations-count 50
Rclon NFS/File PHX zu Object IAD 111m59.704s Kopieren --oos-no-check-bucket --no-check-dest --ignore-checksum --oos-disable-checksum --transfers 50
Hinweis: Unsere Tests zeigten, dass s5cmd am schnellsten ausgeführt wird, wobei die os-Synchronisierung im Vergleich zu Rclone ziemlich gut funktioniert.
Nächste Schritte
Fahren Sie mit den zugehörigen Tutorials fort, die für Ihre Migrationsanforderungen relevant sind. So verschieben Sie Daten in OCI-Cloud-Speicherservices:
-
Informationen zur Verwendung von Rclone finden Sie unter Tutorial 2: Daten mit Rclone in OCI Cloud Storage Services verschieben.
-
Informationen zur Verwendung von Fpsync und Rsync für Dateisystemdatenmigrationen finden Sie im Tutorial 4: Daten mit Fpsync und Rsync für Dateisystemdatenmigrationen in OCI Cloud Storage Services verschieben.
Verwandte Links
-
Migrationsgrundlagen für das Verschieben von Daten in OCI Cloud Storage
-
Tutorial 1: Daten mit Migrationstools in OCI Cloud Storage Services verschieben
-
Tutorial 2: Daten mit Rclone in OCI Cloud Storage Services verschieben
Danksagungen
- Autor - Melinda Centeno (Senior Principal Product Manager, OCI Object Storage)
Weitere Lernressourcen
Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Move Data into OCI Cloud Storage Services using OCI Object Storage Sync and the s5cmd Tool
G25635-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.