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

Implementierungsschritte

Beitragende

Angaben zum Testbett

Die folgende Tabelle enthält Details zur Testumgebung, die für diese Implementierung und zur Performance-Validierung verwendet wurde.

Lösungskomponenten Details

XCP Version 1.7

  • Ein Linux-Server – Linux (RHEL 7.9 oder RHEL 8)

  • Ein Windows-Server – Windows Server 2019-Standard

NetApp AFF Storage Array HA-Paar für das Quell-Volume

  • AFF8080

  • NetApp ONTAP 9

  • NFS-Protokoll

NetApp AFF Storage Array HA-Paar für Ziel-Volume

  • AFF A800

  • ONTAP 9

  • NFS-Protokoll

Fujitsu PRIMERGY RX2540 Server

Jeweils mit * 48 CPUs * Intel Xeon * 256 GB physischer Speicher * 10 GbE Dual Port

Netzwerkbetrieb

10 GbE

Implementierungsschritte – NAS

Um NetApp XCP für den Datentransfer zu implementieren, installieren und aktivieren Sie zuerst die XCP-Software am Zielspeicherort. Sie können die Details im anzeigen "NetApp XCP - Benutzerhandbuch". Um das zu tun, führen Sie folgende Schritte aus:

  1. Erfüllen Sie die im Abschnitt beschriebenen Voraussetzungen "„Voraussetzungen für XCP“."

  2. Laden Sie die XCP-Software aus dem herunter "Seite „NetApp XCP“ (Downloads".

  3. Kopieren Sie die heruntergeladenen XCP tar-Dateien auf den XCP-Server.

    # scp Documents/OneDrive\ -\ NetApp\ Inc/XCP/software/1.6.1/NETAPP_XCP_1.6.1.tgz mailto:root@10.63.150.53:/usr/src
  4. Enttar die Tarfile.

    [root@mastr-53 src]# tar -zxvf NETAPP_XCP_1.6.1.tgz
  5. Laden Sie die Lizenz von herunter "https://xcp.netapp.com/license/xcp.xwic" Und auf den XCP-Server kopieren.

  6. Aktivieren Sie die Lizenz.

    [root@mastr-53 linux]# ./xcp activate
    [root@mastr-53 src]# cp license /opt/NetApp/xFiles/xcp/license
    [root@mastr-53 src]# cd /usr/src/xcp/linux/
    [root@mastr-53 linux]# ./xcp activate
  7. Suchen Sie den NFS-Quell-Port und den Ziel-NFS-Server. Der Standardport ist 2049.

    [root@mastr-53 ~]# rpcinfo -p 10.63.150.213
    [root@mastr-53 ~]# rpcinfo -p 10.63.150.63
  8. Überprüfen Sie die NFS-Verbindung. Prüfen Sie den NFS-Server (Quelle und Ziel) über Telnet auf den NFS-Server-Port.

    [root@mastr-53 ~]# telnet 10.63.150.127 2049
    [root@mastr-53 ~]# telnet 10.63.150.63 2049
  9. Konfigurieren Sie den Katalog.

    1. NFS-Volume erstellen und NFS für den XCP-Katalog exportieren Sie können auch den NFS-Export des Betriebssystems für den XCP-Katalog nutzen.

      A800-Node1-2::> volume create -vserver Hadoop_SVM -volume xcpcatalog -aggregate aggr_Hadoop_1 -size 50GB -state online -junction-path /xcpcatalog -policy default -unix-permissions ---rwxr-xr-x -type RW -snapshot-policy default -foreground true
      A800-Node1-2::> volume mount -vserver Hadoop_SVM -volume xcpcatalog_vol -junction-path /xcpcatalog
    2. Überprüfen Sie den NFS-Export.

      [root@mastr-53 ~]# showmount -e 10.63.150.63 | grep xcpca
      /xcpcatalog (everyone)
    3. Aktualisierung xcp.ini.

      [root@mastr-53 ~]# cat /opt/NetApp/xFiles/xcp/xcp.ini
      # Sample xcp config
      [xcp]
      catalog = 10.63.150.64:/xcpcatalog
      
      [root@mastr-53 ~]#
  10. Finden Sie die NAS-Quellexporte mithilfe von xcp show. Achten Sie auf:

    == NFS Exports ==
    == Attributes of NFS Exports ==
    [root@mastr-53 linux]# ./xcp show 10.63.150.127
    == NFS Exports ==
    <check here>
    == Attributes of NFS Exports ==
    <check here>
  11. (Optional) Scannen Sie die NAS-Quell-Daten.

    [root@mastr-53 linux]# ./xcp scan -newid xcpscantest4 -stats 10.63.150.127:/xcpsrc_vol

    Durch das Scannen der NAS-Quelldaten können Sie das Datenlayout verstehen und mögliche Probleme bei der Migration erkennen. Die XCP-Scanbetriebszeit ist proportional zur Anzahl der Dateien und der Verzeichnistiefe. Sie können diesen Schritt überspringen, wenn Sie mit Ihren NAS-Daten vertraut sind.

  12. Prüfen Sie den von erstellten Bericht xcp scan. Suchen Sie hauptsächlich nach unlesbaren Ordnern und unlesbaren Dateien.

    [root@mastr-53 linux]# mount 10.63.150.64:/xcpcatalog  /xcpcatalog
    base) nkarthik-mac-0:~ karthikeyannagalingam$ scp -r root@10.63.150.53:/xcpcatalog/catalog/indexes/xcpscantest4 Documents/OneDrive\ -\ NetApp\ Inc/XCP/customers/reports/
  13. (Optional) Ändern Sie die Inode. Zeigen Sie die Anzahl der Inodes an, und ändern Sie die Zahl basierend auf der Anzahl der zu migrierenden Dateien oder für Katalog- und Zielvolumes (falls erforderlich).

    A800-Node1-2::> volume show -volume xcpcatalog -fields files,files-used
    A800-Node1-2::> volume show -volume xcpdest -fields files,files-used
    A800-Node1-2::> volume modify -volume xcpcatalog -vserver A800-Node1_vs1 -files 2000000
    Volume modify successful on volume xcpcatalog of Vserver A800-Node1_vs1.
    
    A800-Node1-2::> volume show -volume xcpcatalog -fields files,files-used
  14. Scannen Sie das Zielvolumen.

    [root@mastr-53 linux]# ./xcp scan -stats 10.63.150.63:/xcpdest
  15. Überprüfen Sie den Speicherplatz des Quell- und Zielvolumens.

    [root@mastr-53 ~]# df -h /xcpsrc_vol
    [root@mastr-53 ~]# df -h /xcpdest/
  16. Kopieren Sie die Daten von der Quelle zum Ziel mithilfe von xcp copy Und prüfen Sie die Zusammenfassung.

    [root@mastr-53 linux]# ./xcp copy -newid create_Sep091599198212 10.63.150.127:/xcpsrc_vol 10.63.150.63:/xcpdest
    <command inprogress results removed>
    Xcp command : xcp copy -newid create_Sep091599198212 -parallel 23 10.63.150.127:/xcpsrc_vol 10.63.150.63:/xcpdest
    Stats       : 9.07M scanned, 9.07M copied, 118 linked, 9.07M indexed, 173 giants
    Speed       : 1.57 TiB in (412 MiB/s), 1.50 TiB out (392 MiB/s)
    Total Time  : 1h6m.
    STATUS      : PASSED
    [root@mastr-53 linux]#
    Anmerkung Standardmäßig erstellt XCP sieben parallele Prozesse zum Kopieren der Daten. Das kann abgestimmt werden.
    Anmerkung NetApp empfiehlt, das Quell-Volume nur mit Lesezugriff zu verwenden. In Echtzeit ist das Quell-Volume ein aktives, aktives File-System. Der xcp copy Der Betrieb kann fehlschlagen, da NetApp XCP keine Live-Quelle unterstützt, die fortlaufend von einer Applikation geändert wird.

    Für Linux benötigt XCP eine Index-ID, da XCP Linux Katalogisierung durchführt.

  17. (Optional) Prüfen Sie die Inodes auf dem NetApp Ziel-Volume.

    A800-Node1-2::> volume show -volume xcpdest -fields files,files-used
    vserver        volume  files    files-used
    -------------- ------- -------- ----------
    A800-Node1_vs1 xcpdest 21251126 15039685
    
    A800-Node1-2::>
  18. Führen Sie die inkrementelle Aktualisierung mithilfe von durch xcp sync.

    [root@mastr-53 linux]# ./xcp sync -id create_Sep091599198212
    Xcp command : xcp sync -id create_Sep091599198212
    Stats       : 9.07M reviewed, 9.07M checked at source, no changes, 9.07M reindexed
    Speed       : 1.73 GiB in (8.40 MiB/s), 1.98 GiB out (9.59 MiB/s)
    Total Time  : 3m31s.
    STATUS      : PASSED

    Für dieses Dokument wurden zur Simulation in Echtzeit die einer Million Dateien in den Quelldaten umbenannt und die aktualisierten Dateien mit auf das Ziel kopiert xcp sync. Für Windows benötigt XCP sowohl Quell- als auch Zielpfade.

  19. Validieren des Datentransfers Sie können überprüfen, ob Quell- und Zielspeicherort die gleichen Daten aufweisen, indem Sie sie mit verwenden xcp verify.

    Xcp command : xcp verify 10.63.150.127:/xcpsrc_vol 10.63.150.63:/xcpdest
    Stats       : 9.07M scanned, 9.07M indexed, 173 giants, 100% found (6.01M have data), 6.01M compared, 100% verified (data, attrs, mods)
    Speed       : 3.13 TiB in (509 MiB/s), 11.1 GiB out (1.76 MiB/s)
    Total Time  : 1h47m.
    STATUS      : PASSED

Die XCP-Dokumentation bietet für das mehrere Optionen (mit Beispielen) scan, copy, sync, und verify Betrieb: Weitere Informationen finden Sie im "NetApp XCP - Benutzerhandbuch".

Anmerkung Windows Kunden sollten die Daten mithilfe von Zugriffssteuerungslisten kopieren. NetApp empfiehlt, den Befehl zu verwenden xcp copy -acl -fallbackuser\<username> -fallbackgroup\<username or groupname> <source> <destination>. Um eine maximale Performance zu gewährleisten, muss es sich bei dem Quell-Volume mit SMB-Daten mit ACL und den für NFS und SMB zugänglichen Daten um ein NTFS-Volume handelt. Kopieren Sie die Daten mithilfe von XCP (NFS-Version) vom Linux-Server, und führen Sie die XCP-Synchronisierung (SMB-Version) mit dem aus -acl Und -nodata Optionen vom Windows Server zum Kopieren der ACLs aus Quelldaten in die SMB Zieldaten

Implementierungsschritte – HDFS/MapRFS Datenmigration

In diesem Abschnitt gehen wir auf die neue XCP Funktion Hadoop Filesystem Data Transfer to NAS ein, die Daten von HDFS/MapRFS zu NFS migriert und umgekehrt.

Voraussetzungen

Für die MapRFS/HDFS-Funktion müssen Sie in einer nicht-Root-Benutzerumgebung das folgende Verfahren ausführen. Normalerweise ist der nicht-Root-Benutzer hdfs, mapr oder ein Benutzer, der über die Berechtigung verfügt, Änderungen im HDFS- und MapRFS-Dateisystem vorzunehmen.

  1. Legen Sie die Variablen CLASSPATH, HADOOP_HOME, NHDFS_LIBJVM_PATH, LB_LIBRARY_PATH und NHDFS_LIBHDFS_PATH in der CLI oder in der .bahrc-Datei zusammen mit dem fest xcp Befehl.

    • NHDFS_LIBHDFS_PATH zeigt auf die Datei libhdfs.so. Diese Datei bietet HDFS APIs zum Interagieren und Bearbeiten von HDFS/MapRFS-Dateien und Dateisystemen im Rahmen der Hadoop-Distribution.

    • NHDFS_LIBJVM_PATH zeigt auf die Datei libjvm.so. Dies ist eine gemeinsam genutzte JAVA Virtual Machine Library im jre-Speicherort.

    • CLASSPATH weist auf alle JARS-Dateien hin, die (Hadoop classpath –glob) Werte verwenden.

    • LD_LIBRARY_PATH weist auf den Ordner für die native Hadoop Bibliothek hin.

      Das folgende Beispiel basiert auf einem Cloudera Cluster.

    export CLASSPATH=$(hadoop classpath --glob)
    export LD_LIBRARY_PATH=/usr/java/jdk1.8.0_181-cloudera/jre/lib/amd64/server/
    export HADOOP_HOME=/opt/cloudera/parcels/CDH-6.3.4-1.cdh6.3.4.p0.6751098/
    #export HADOOP_HOME=/opt/cloudera/parcels/CDH/
    export NHDFS_LIBJVM_PATH=/usr/java/jdk1.8.0_181-cloudera/jre/lib/amd64/server/libjvm.so
    export NHDFS_LIBHDFS_PATH=$HADOOP_HOME/lib64/libhdfs.so

    +
    In dieser Version unterstützen wir XCP-Scans, Kopieren und Verifizierung der Betriebsabläufe und Datenmigration von HDFS zu NFS. Daten können von einem Data Lake Cluster mit einem einzelnen Worker-Node und mehreren Worker-Nodes übertragen werden. In Version 1.8 können Root-Benutzer und Benutzer anderer Benutzer Daten migrieren.

Implementierungsschritte – nicht-Root-Benutzer migrieren HDFS/MaprFS-Daten zu NetApp NFS

  1. Folgen Sie den gleichen Schritten, die aus 1-9 Schritten im Abschnitt zur Implementierung genannt wurden.

  2. Im folgenden Beispiel migriert der Benutzer Daten von HDFS zu NFS.

    1. Erstellen Sie einen Ordner und Dateien (mit hadoop fs -copyFromLocal) In HDFS.

      [root@n138 ~]# su - tester -c 'hadoop fs -mkdir /tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src'
      [root@n138 ~]# su - tester -c 'hadoop fs -ls -d  /tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src'
      drwxr-xr-x   - tester supergroup          0 2021-11-16 16:52 /tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src
      [root@n138 ~]# su - tester -c "echo 'testfile hdfs' > /tmp/a_hdfs.txt"
      [root@n138 ~]# su - tester -c "echo 'testfile hdfs 2' > /tmp/b_hdfs.txt"
      [root@n138 ~]# ls -ltrah /tmp/*_hdfs.txt
      -rw-rw-r-- 1 tester tester 14 Nov 16 17:00 /tmp/a_hdfs.txt
      -rw-rw-r-- 1 tester tester 16 Nov 16 17:00 /tmp/b_hdfs.txt
      [root@n138 ~]# su - tester -c 'hadoop fs -copyFromLocal /tmp/*_hdfs.txt hdfs:///tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src'
      [root@n138 ~]#
    2. Prüfen Sie die Berechtigungen im HDFS-Ordner.

      [root@n138 ~]# su - tester -c 'hadoop fs -ls hdfs:///tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src'
      Found 2 items
      -rw-r--r--   3 tester supergroup         14 2021-11-16 17:01 hdfs:///tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src/a_hdfs.txt
      -rw-r--r--   3 tester supergroup         16 2021-11-16 17:01 hdfs:///tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src/b_hdfs.txt
    3. Erstellen Sie einen Ordner in NFS und prüfen Sie die Berechtigungen.

      [root@n138 ~]# su - tester -c 'mkdir /xcpsrc_vol/mohankarthiknfs_dest'
      [root@n138 ~]# su - tester -c 'ls -l /xcpsrc_vol/mohankarthiknfs_dest'
      total 0
      [root@n138 ~]# su - tester -c 'ls -d /xcpsrc_vol/mohankarthiknfs_dest'
      /xcpsrc_vol/mohankarthiknfs_dest
      [root@n138 ~]# su - tester -c 'ls -ld /xcpsrc_vol/mohankarthiknfs_dest'
      drwxrwxr-x 2 tester tester 4096 Nov 16 14:32 /xcpsrc_vol/mohankarthiknfs_dest
      [root@n138 ~]#
    4. Kopieren Sie die Dateien von HDFS zu NFS mithilfe von XCP, und prüfen Sie die Berechtigungen.

      [root@n138 ~]# su - tester -c '/usr/src/hdfs_nightly/xcp/linux/xcp copy -chown hdfs:///tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src/ 10.63.150.126:/xcpsrc_vol/mohankarthiknfs_dest'
      XCP Nightly_dev; (c) 2021 NetApp, Inc.; Licensed to Karthikeyan Nagalingam [NetApp Inc] until Wed Feb  9 13:38:12 2022
      
      xcp: WARNING: No index name has been specified, creating one with name: autoname_copy_2021-11-16_17.04.03.652673
      
      Xcp command : xcp copy -chown hdfs:///tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src/ 10.63.150.126:/xcpsrc_vol/mohankarthiknfs_dest
      Stats       : 3 scanned, 2 copied, 3 indexed
      Speed       : 3.44 KiB in (650/s), 80.2 KiB out (14.8 KiB/s)
      Total Time  : 5s.
      STATUS      : PASSED
      [root@n138 ~]# su - tester -c 'ls -l /xcpsrc_vol/mohankarthiknfs_dest'
      total 0
      -rw-r--r-- 1 tester supergroup 14 Nov 16 17:01 a_hdfs.txt
      -rw-r--r-- 1 tester supergroup 16 Nov 16 17:01 b_hdfs.txt
      [root@n138 ~]# su - tester -c 'ls -ld /xcpsrc_vol/mohankarthiknfs_dest'
      drwxr-xr-x 2 tester supergroup 4096 Nov 16 17:01 /xcpsrc_vol/mohankarthiknfs_dest
      [root@n138 ~]#