Hinweis:

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.

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.

Voraussetzungen

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

  1. 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.

  2. 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.

  3. 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.

  4. 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
  5. 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.

  6. 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

  1. 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.

  2. 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>
    
  3. 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.

  4. 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.

  5. 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

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

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:

Danksagungen

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.