Skip to main content
NetApp Solutions
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Fasi di implementazione

Collaboratori

In questa sezione vengono descritte le fasi di implementazione di NetApp XCP per il trasferimento dei dati.

Dettagli del letto di prova

La seguente tabella fornisce i dettagli del test bed utilizzato per questa implementazione e convalida delle performance.

Componenti della soluzione Dettagli

XCP versione 1.7

  • Un server Linux - Linux (RHEL 7.9 o RHEL 8)

  • Un server Windows – Windows Server 2019 standard

Coppia ha di storage array NetApp AFF per il volume di origine

  • AFF8080

  • NetApp ONTAP 9

  • Protocollo NFS

Coppia ha di storage array NetApp AFF per il volume di destinazione

  • AFF A800

  • ONTAP 9

  • Protocollo NFS

Server Fujitsu PRIMERGY RX2540

Ciascuno dotato di: * 48 CPU * memoria fisica Intel Xeon * 256 GB * doppia porta 10 GbE

Networking

10 GbE

Fasi di implementazione - NAS

Per implementare NetApp XCP per il trasferimento dei dati, installare e attivare il software XCP nella posizione di destinazione. È possibile rivedere i dettagli in "Guida utente di NetApp XCP". A tale scopo, attenersi alla seguente procedura:

  1. Soddisfare i prerequisiti descritti in dettaglio nella sezione ""Prerequisiti per XCP.""

  2. Scaricare il software XCP da "NetApp XCP (Downloads)".

  3. Copiare i file TAR XCP scaricati sul server XCP.

    # 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. Estrarre il tarfile.

    [root@mastr-53 src]# tar -zxvf NETAPP_XCP_1.6.1.tgz
  5. Scaricare la licenza da "https://xcp.netapp.com/license/xcp.xwic" E copiare sul server XCP.

  6. Attivare la licenza.

    [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. Individuare la porta NFS di origine e il server NFS di destinazione. La porta predefinita è 2049.

    [root@mastr-53 ~]# rpcinfo -p 10.63.150.213
    [root@mastr-53 ~]# rpcinfo -p 10.63.150.63
  8. Controllare la connessione NFS. Controllare il server NFS (sia per l'origine che per la destinazione) utilizzando telnet per la porta del server NFS.

    [root@mastr-53 ~]# telnet 10.63.150.127 2049
    [root@mastr-53 ~]# telnet 10.63.150.63 2049
  9. Configurare il catalogo.

    1. Creare un volume NFS ed esportare NFS per il catalogo XCP. È inoltre possibile sfruttare l'esportazione NFS del sistema operativo per il catalogo XCP.

      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. Controllare l'esportazione NFS.

      [root@mastr-53 ~]# showmount -e 10.63.150.63 | grep xcpca
      /xcpcatalog (everyone)
    3. Aggiornare 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. Individuare le esportazioni NAS di origine utilizzando xcp show. Cerca:

    == 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. (Facoltativo) eseguire la scansione dei dati NAS di origine.

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

    La scansione dei dati NAS di origine consente di comprendere il layout dei dati e di individuare eventuali problemi di migrazione. Il tempo delle operazioni di scansione XCP è proporzionale al numero di file e alla profondità della directory. È possibile saltare questo passaggio se si ha familiarità con i dati NAS.

  12. Controllare il report creato da xcp scan. Cerca principalmente cartelle illeggibili e file illeggibili.

    [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. (Facoltativo) modificare l'inode. Visualizzare il numero di inode e modificare il numero in base al numero di file da migrare o copiare per i volumi di catalogo e di destinazione (se necessario).

    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. Eseguire la scansione del volume di destinazione.

    [root@mastr-53 linux]# ./xcp scan -stats 10.63.150.63:/xcpdest
  15. Controllare lo spazio dei volumi di origine e di destinazione.

    [root@mastr-53 ~]# df -h /xcpsrc_vol
    [root@mastr-53 ~]# df -h /xcpdest/
  16. Copiare i dati dall'origine alla destinazione utilizzando xcp copy e controllare il riepilogo.

    [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]#
    Nota Per impostazione predefinita, XCP crea sette processi paralleli per copiare i dati. È possibile sintonizzarlo.
    Nota NetApp consiglia di leggere il volume di origine. In tempo reale, il volume di origine è un file system attivo e attivo. Il xcp copy L'operazione potrebbe non riuscire perché NetApp XCP non supporta un'origine live che viene continuamente modificata da un'applicazione.

    Per Linux, XCP richiede un ID di indice perché XCP Linux esegue la catalogazione.

  17. (Facoltativo) controllare gli inode sul volume NetApp di destinazione.

    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. Eseguire l'aggiornamento incrementale utilizzando 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

    Per questo documento, per simulare in tempo reale, un milione di file nei dati di origine è stato rinominato, quindi i file aggiornati sono stati copiati nella destinazione utilizzando xcp sync. Per Windows, XCP necessita di percorsi di origine e destinazione.

  19. Convalidare il trasferimento dei dati. È possibile verificare che l'origine e la destinazione abbiano gli stessi dati utilizzando 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

La documentazione di XCP fornisce diverse opzioni (con esempi) per scan, copy, sync, e. verify operazioni. Per ulteriori informazioni, consultare "Guida utente di NetApp XCP".

Nota I clienti Windows devono copiare i dati utilizzando gli elenchi di controllo degli accessi (ACL). NetApp consiglia di utilizzare il comando xcp copy -acl -fallbackuser\<username> -fallbackgroup\<username or groupname> <source> <destination>. Per ottenere le massime performance, considerando il volume di origine che contiene dati SMB con ACL e i dati accessibili sia da NFS che da SMB, la destinazione deve essere un volume NTFS. Utilizzando XCP (versione NFS), copiare i dati dal server Linux ed eseguire la sincronizzazione XCP (versione SMB) con -acl e. -nodata Opzioni dal server Windows per copiare gli ACL dai dati di origine ai dati SMB di destinazione.

Fasi di implementazione - migrazione dei dati HDFS/MapRFS

In questa sezione, discuteremo della nuova funzionalità XCP chiamata Hadoop Filesystem Data Transfer a NAS, che esegue la migrazione dei dati da HDFS/MapRFS a NFS e viceversa.

Prerequisiti

Per la funzione MapRFS/HDFS, è necessario eseguire la seguente procedura in un ambiente utente non root. In genere, l'utente non root è hdfs, mapr o un utente che dispone dell'autorizzazione per apportare modifiche al file system HDFS e MapRFS.

  1. Impostare le variabili CLASSPATH, HADOOP_HOME, NHDFS_LIBJVM_PATH, LB_LIBRARY_PATH e NHDFS_LIBHDFS_PATH nel file CLI o .bashrc dell'utente insieme a xcp comando.

    • NHDFS_LIBHDFS_PATH punta al file libhdfs.so. Questo file fornisce API HDFS per interagire e manipolare i file e il file system HDFS/MapRFS come parte della distribuzione Hadoop.

    • NHDFS_LIBJVM_PATH punta al file libjvm.so. Si tratta di una libreria di macchine virtuali JAVA condivisa nella posizione jre.

    • CLASSPATH punta a tutti i file jar utilizzando i valori (Hadoop classpath –glob).

    • Percorso_LIBRERIA_LD punta alla posizione della cartella della libreria nativa di Hadoop.

      Vedere il seguente esempio basato su un cluster Cloudera.

    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 questa release, supportiamo operazioni di scansione, copia e verifica XCP e migrazione dei dati da HDFS a NFS. È possibile trasferire i dati da un singolo nodo di lavoro del cluster di data Lake e da più nodi di lavoro. Nella versione 1.8, gli utenti root e non root possono eseguire la migrazione dei dati.

Fasi di implementazione - l'utente non root migra i dati HDFS/MetrFS in NetApp NFS

  1. Seguire gli stessi passaggi descritti nella sezione relativa ai passaggi per l'implementazione della sezione 1-9 passaggi.

  2. Nell'esempio seguente, l'utente esegue la migrazione dei dati da HDFS a NFS.

    1. Creare una cartella e file (utilizzando 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. Controllare i permessi nella cartella HDFS.

      [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. Creare una cartella in NFS e controllare i permessi.

      [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. Copiare i file da HDFS a NFS utilizzando XCP e controllare le autorizzazioni.

      [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 ~]#