Hinweis:

Daten mit Fpsync und Rsync in OCI Cloud Storage Services verschieben

Einführung

Dieses Tutorial 4 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 wird die Verwendung von fpsync und rsync zur Migration von Dateisystemdaten in OCI File 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.

Unterschied zwischen Rsync und Fpsync

Zielgruppe

DevOps Ingenieure, Entwickler, OCI-Cloud-Speicheradministratoren und -benutzer, IT-Manager, OCI-Poweruser und Anwendungsadministratoren.

Zielsetzung

Erfahren Sie, wie Sie mit rsync und fpsync Daten in OCI-Cloud-Speicherservices kopieren und synchronisieren:

Voraussetzungen

Daten in OCI File Storage migrieren

Mit Fpsync und rsync können Dateisystemdaten (OCI File Storage-Service, OCI Block Volumes-Service, OCI File Storage mit Lustre, On-Premise-Dateisystem und On-Premise-Netzwerkdateisystem (NFS) in andere Dateisystemspeichertypen (einschließlich OCI File Storage) migriert werden.

Daten mit Rsync migrieren

  1. Verwenden Sie rsync mit Instanz-zu-Instanz-Streaming.

    Für kleine Datasets mit bis zu einigen zehn GB und wenigen Tausend Dateien kann rsync-Instanz-zu-Instanz-Streaming verwendet werden. Das Instanz-zu-Instanz-Streaming mit SSH aktiviertem lokalen NFS in einem Netzwerk und SSH zwischen dem Quell- und Zielnetzwerk trägt dazu bei, die Latenz von NFS zwischen zwei Netzwerken zu reduzieren. Verwenden Sie den folgenden Befehl.

    rsync --archive --perms --owner --group --xattrs --acls --recursive --delete --compress --ignore-errors --progress --log-file=$HOME/rsync/logs/test.log1 --quiet -e ssh /src/path/ root@<destination_instance>:/destination/path/
    
  2. Führen Sie mehrere rsync-Prozesse parallel aus.

    • Mit den Befehlen find und xargs können Sie mehrere rsync-Prozesse ausführen.

      find /src/path/ -maxdepth 1 | xargs -P 24 -I {} rsync --archive --perms --owner --group --xattrs --acls --recursive --delete --compress --log-file=<logfile_path> -quiet -e ssh {} root@<destination_instance>:/destination/path/
      
    • Sie können auch GNU parallel verwenden.

      find /src/path/ -maxdepth 1 | parallel -P24 rsync --archive --perms --owner --group --xattrs --acls --recursive --delete --compress --exclude=.snapshot --ignore-errors --progress --log-file=$HOME/rsync/logs/test.log1 --quiet -e ssh {} root@<destination_instance>:/destination/path/
      

    Hinweis: In beiden Beispielen werden 24 Prozesse gleichzeitig ausgeführt. Der Parameter wurde basierend auf der CPU-Kapazität der verwendeten Instanz ausgewählt.

Daten mit Fpsync migrieren

Das fpsync-Tool ist ein paralleler Wrapper von rsync. Es kann auch tar, tarify und cpio verwenden, aber standardmäßig ist rsync.

  1. Installieren Sie fpsync auf Ihrem Linux-Rechner.

    • Führen Sie den folgenden Befehl für Linux 8 aus.
    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    sudo yum install fpart -y
    
    • Führen Sie den folgenden Befehl für Linux 9 aus.
    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
    sudo yum install fpart -y
    
  2. Führen Sie fpsync mit dem folgenden Befehl aus.

    Beispiel:

    fpsync -v -n `nproc` -o "-lptgoD -v --numeric-ids --logfile /tmp/fpsync.log1” /src/path/ root@<destination_instance>:/destination/path/
    

Hinweis: Weitere fpsync-Optionen und Parameterdetails finden Sie unter man fpsync.

Führen Sie Fpsync mit drei Worker-Knoten aus, um Daten aus On-Premise-Dateifreigaben in OCI File Storage Service zu migrieren

Befolgen Sie die allgemeinen Schritte zur Ausführung von fpsync mit drei Worker-Knoten, um Daten von On-Premise-Dateifreigaben (lokaler Datenträger, SAN oder NAS) zu OCI File Storage Service zu migrieren.

Die folgende Abbildung zeigt ein Diagramm der Komponentenarchitektur.

Komponentenarchitekturdiagramm

Führen Sie die Schritte aus:

  1. Ermitteln Sie drei Worker-Knoten und einen Zielknoten.

    Identifizieren Sie drei lokale Systeme, auf die Sie zum Mounten des Quelldateisystems zugreifen können. Alternativ können Sie drei OCI Compute-VM-Instanzen zu Testzwecken erstellen und starten.

    Identifizieren Sie eine vorhandene OCI-VM-Instanz, oder erstellen und starten Sie eine neue Instanz als Zielknoten.

  2. Mounten Sie den Quell-NAS-Share auf den drei Knoten.

    Verwenden Sie die Mount-Optionen nordirplus und nconnect=16, und geben Sie keine anderen Mount-Optionen für nfs an.

    Beispiel: Führen Sie den folgenden Mountbefehl auf einem Linux-System aus.

    sudo mount -t nfs -o nordirplus,nconnect=16 10.x.x.x:/<EXPORT_PATH_NAME> /mnt/nfs-data
    

    Beispiel: Führen Sie den folgenden Befehl aus, um den Mount zu prüfen.

    mount | grep /mnt/nfs-data
    

    Hinweis: Zu Testzwecken können Sie ein Dateisystem mit OCI File Storage erstellen, exportieren und mounten. Testdaten können im Mount erstellt werden, um fpsync zu versuchen.

  3. Wählen Sie einen Knoten aus, um fpsync auszuführen, und aktualisieren Sie die Datei /etc/hosts.

    Sie können entweder einen der drei Knoten oder einen anderen Knoten auswählen, um den Befehl fpsync auszuführen. Der Knoten, auf dem der Befehl fpsync ausgeführt wird, wird als Ausführungsknoten bezeichnet.

    Verwenden Sie auf dem Knoten, auf dem fpsync ausgeführt wird, den bevorzugten Texteditor, um die Datei /etc/hosts mit den drei Worker-Knoten worker-src-1, worker-src-2 und worker-src-3 zu aktualisieren.

    Beispiel:

    vim /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    10.0.0.4 worker-src-1.subnet.vcn.oraclevcn.com worker-src-1
    10.0.0.5 worker-src-2
    10.0.0.6 worker-src-3
    
  4. Mounten Sie das Zieldateisystem auf dem Zielknoten.

    Identifizieren Sie das Zieldateisystem, und mounten Sie es auf dem Zielknoten. Alternativ können Sie einen OCI File Storage erstellen und auf dem Zielknoten mounten.

  5. Stellen Sie sicher, dass die Konnektivität zwischen On Premise und OCI hergestellt wurde.

    Verwenden Sie gängige Networkingtools wie ping, traceroute, ssh usw., um die Konnektivität zwischen Systemen, On Premise und OCI zu prüfen.

  6. Aktivieren Sie passwortloses SSH zwischen allen Quell- und Zielknoten, und prüfen Sie die SSH-Verbindung zwischen Quell- und Zielknotenpaaren.

    Geben Sie den SSH-Public Key für den Benutzer an, der den Befehl fpsync auf dem Executor-Knoten ausführen soll. Dieser Schlüssel befindet sich in der Regel im Home-Verzeichnis des Benutzers unter dem Verzeichnis .ssh und hat den Namen id_rsa.pub. Propagieren Sie diesen Schlüssel mit dem Befehl cat an alle Worker-Knoten, um seinen Inhalt anzuzeigen, den Schlüssel zu kopieren und in die Datei $HOME/.ssh/authorized_keys auf den Worker-Knoten einzufügen. Wenn das passwortbasierte SSH aktiviert ist, können Sie den Schlüssel alternativ mit dem Befehl ssh-copy-id an jeden Worker-Knoten und Zielknoten verteilen. Beispiel:

    [worker-src-1 ~]$ ssh-copy-id username@worker-src-2
    
  7. Führen Sie den Befehl fpsync auf dem ausführenden Knoten aus.

    Hinweis: fpsync muss nur auf dem Ausführungsknoten installiert werden, der die rsync-Befehle über SSH über die Worker-Knoten auf den Zielknoten ausführt.

    Beispiel:

    fpsync -v -n X -f Y -o "-lptgoD -v --numeric-ids -e ssh -C" \
    -w username@worker-src-1 -w username@worker-src-2 -w username@worker-src-3 \
    -d /nfs-data/fpsync_wrkr /nfs-data/fpsync_src/ opc@worker-dest:/fpsync-fs/
    

    Hinweis: Ersetzen Sie X und Y durch Werte für die fpsync-Optionen -n und -f.

    • Bestimmen Sie den Wert für nebenläufige Synchronisierungsjobs: -n.

      • Wählen Sie den Wert -n aus, der der Anzahl von cpu_cores aller Worker-Knoten in der Quelle entspricht, und behalten Sie so viele wie Ziel-Worker-Knoten mit derselben CPU und demselben Speicher bei.
      • Wenn 3 Worker-Knoten mit jeweils 16 CPU-Cores vorhanden sind, sind es 3 Worker-Knoten mal 16 cpu_cores = 48.
    • Bestimmen Sie den Wert für die Anzahl der Dateien, die pro Synchronisierungsjob übertragen werden sollen (-f).

      • Beispiel: Wenn Sie zwei Ordner mit großen Verzeichnissen und insgesamt 1,1 Millionen Dateien haben, enthalten die beiden Ordner ~700K-Dateien mit einer durchschnittlichen Dateigröße von 160 KB.
      • Jeder Worker-Knoten ist konfiguriert mit: 64 GB = 64000000 KB Arbeitsspeicher, 8 OCPU = 16 cpu_cores, wobei der Arbeitsspeicher pro cpu_core 64000000/16 = 4000000 KB/cpu_core ist. Arbeitsspeicher in jedem Worker-Knoten = 64 GB = 64000000 KB.
      • Berechnen Sie den Wert von -f, 4000000KB/160 = 25000.

(Optional) Testumgebung

Um die On-Premise-Migration zu OCI zu simulieren, wird das OCI File Storage-Dateisystem (Ashburn) mit dem folgenden Dataset als On-Premise-NAS-Share verwendet, und das OCI File Storage-Dateisystem (Phoenix) wird als Ziel verwendet.

Beide Regionen sind per Remote-Peering mit Dynamic Routing Gateway verbunden.

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

VM-Instanzen: In den Regionen Ashburn und Phoenix werden drei 16 cpu_core-, 64 GB-Speicher, 8Gbps-Bandbreiten-Linux9-VMs als Worker-Knoten und eine 8 cpu_core-VM als Executer-Knoten verwendet.

Die folgenden TCP-Einstellungen gelten für alle Instanzen:

net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 87380 16777216
net.ipv4.tcp_window_scaling = 1

Für beide regionalen Instanzen ist das jeweilige OCI File Storage-Dateisystem gemountet, wie im Abschnitt Fpsync mit drei Worker-Knoten zum Migrieren von Daten aus On-Premise-Dateifreigaben in OCI File Storage Service ausführen beschrieben.

Führen Sie den folgenden fpsync-Befehl aus. X und Y sind fpsync-Optionen.

fpsync -v -n X -f Y -o "-lptgoD -v --numeric-ids -e ssh -C" \
 -w opc@worker-src-1 -w opc@worker-src-2 -w opc@worker-src-3 \
 -d /fpsync-fs/fpsync_wrkr /fpsync-fs/x_region_fpsync_src/ opc@worker-dest:/fpsync-fs/

Die folgende Tabelle zeigt die Zeit, die fpsync für den Abschluss der Datenübertragung mit 2,25 TB und 1 Million Dateien für verschiedene X- und Y- und rsync-SSH- und Komprimierungskombinationen benötigt hat.

fpsync-Option NFS-Einhängeoption auf Quell- und Ziel-Worker-Knoten Performancetyp für Dateispeicher-Mountziel Benötigte Zeit
-n 30 -f 2000 -e ssh nconnect=16,nordirplus 3 Standard-Mount-Ziele, 1:1 den Worker-Knoten zugeordnet 237m28s
-n 48 -f 5000 -e ssh -C nconnect=16,nordirplus Quelle und Ziel mit je 1 HPMT 40 163m38.887s
-n 60 -f 20000 nconnect=16,nordirplus 3 Standard-Mount-Ziele, 1:1 den Worker-Knoten zugeordnet 124m25.435s
-n 48 -f 400000 -e ssh -C nconnect=16,nordirplus 3 Standard-Mount-Ziele, 1:1 den Worker-Knoten zugeordnet 122m55.458s
-n 100 -f 200000 -e ssh nconnect=16,nordirplus 3 Standard-Mount-Ziele, 1:1 den Worker-Knoten zugeordnet 120m44s
-n 60 -f 200000 -e ssh nur nordirplus, KEINE nconnect 3 Standard-Mount-Ziele, 1:1 den Worker-Knoten zugeordnet 118m41.393s
-n 60 -f 200000 -e ssh nconnect=16,nordirplus 3 Standard-Mount-Ziele, 1:1 den Worker-Knoten zugeordnet 118m3.845s
-n 48 -f 20000 -e ssh nconnect=16,nordirplus Quelle und Ziel mit je 1 HPMT 40 113m34.011s
-n 48 -f 200000 nconnect=16,nordirplus Quelle und Ziel mit je 1 HPMT 40 110m15.555s
-n 48 -f 200000 nconnect=16,nordirplus Quelle und Ziel mit je 1 HPMT 40 109m3.472s

Wir können sehen, dass jede Kombination aus -n über 48 und -f über 20000 eine ähnliche Performance von etwa 2 Stunden Transferzeit über die Region lieferte. Selbst mit dem leistungsstarken Mountziel 40 GBps wird die benötigte Zeit nicht wesentlich reduziert.

Das Ergebnis bedeutet, dass Sie je nach Größe des tatsächlich zu übertragenden Datasets entweder mehrere Standard- oder leistungsstarke Mountziele für das Dateisystem auswählen können. Wenn das Quell-Dataset hauptsächlich aus Dateien mit großer Größe (Dateigröße >= 1M) besteht und die Dataset-Gesamtgröße 20 TB und höher beträgt, ist das Mountziel mit hoher Performance eine gute Option. Andernfalls können die standardmäßigen Mountziele mit einer Scale-out-Konfiguration eine gewünschte Performance sowie eine kostengünstige Performance bieten.

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.