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

Fasi di distribuzione

Collaboratori kevin-hoke

Questa sezione illustra i passaggi di distribuzione di NetApp XCP per il trasferimento dei dati.

Dettagli del banco di prova

La tabella seguente fornisce i dettagli del banco di prova utilizzato per questa distribuzione e convalida delle prestazioni.

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 array di storage AFF NetApp per il volume di origine

  • AFF8080

  • NetApp ONTAP 9

  • protocollo NFS

Coppia HA di array di storage AFF NetApp per volume di destinazione

  • AFF A800

  • ONTAP 9

  • protocollo NFS

Server Fujitsu PRIMERGY RX2540

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

Networking

10GbE

Fasi di distribuzione - NAS

Per distribuire NetApp XCP per il trasferimento dati, è necessario innanzitutto installare e attivare il software XCP nella posizione di destinazione. Puoi rivedere i dettagli nel "Guida utente NetApp XCP" . Per farlo, completa i seguenti passaggi:

  1. Soddisfare i prerequisiti come dettagliato nella sezione"Prerequisiti per XCP."

  2. Scarica il software XCP da "NetApp XCP (Download)" .

  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. Decomprimere il file tar.

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

  6. Attiva 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. Trova 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 sulla porta del server NFS.

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

    1. Crea un volume NFS ed esporta NFS per il catalogo XCP. È anche 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. Aggiornamento 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. Trova le esportazioni NAS di origine utilizzando xcp show . Cercare:

    == 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 di scansione XCP è proporzionale al numero di file e alla profondità della directory. Se hai familiarità con i dati del tuo NAS, puoi saltare questo passaggio.

  12. Controlla il report creato da xcp scan . Cerca principalmente cartelle 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) Cambiare l'inode. Visualizza il numero di inode e modifica il numero in base al numero di file da migrare o copiare sia per i volumi di catalogo che per quelli 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 del volume di origine e di destinazione.

    [root@mastr-53 ~]# df -h /xcpsrc_vol
    [root@mastr-53 ~]# df -h /xcpdest/
  16. Copia i dati dall'origine alla destinazione utilizzando xcp copy e controlla 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. Questo può essere regolato.
    Nota NetApp consiglia di impostare il volume di origine come di sola lettura. In tempo reale, il volume sorgente è un file system attivo e dinamico. IL xcp copy l'operazione potrebbe non riuscire perché NetApp XCP non supporta una sorgente live che viene modificata continuamente da un'applicazione.

    Per Linux, XCP richiede un ID 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, il milione di file nei dati di origine sono stati rinominati e quindi i file aggiornati sono stati copiati nella destinazione utilizzando xcp sync . Per Windows, XCP necessita sia del percorso di origine che di quello di destinazione.

  19. Convalida il trasferimento dei dati. È possibile convalidare 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 XCP fornisce molteplici opzioni (con esempi) per scan , copy , sync , E verify operazioni. Per maggiori informazioni, vedere il "Guida utente NetApp XCP" .

Nota I clienti Windows devono copiare i dati utilizzando gli elenchi di controllo di accesso (ACL). NetApp consiglia di utilizzare il comando xcp copy -acl -fallbackuser\<username> -fallbackgroup\<username or groupname> <source> <destination> . Per ottenere le massime prestazioni, considerando il volume di origine che contiene dati SMB con ACL e i dati accessibili sia tramite NFS che 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 distribuzione - Migrazione dei dati HDFS/MapRFS

In questa sezione, discuteremo la nuova funzionalità XCP denominata Hadoop Filesystem Data Transfer to NAS, che migra i dati da HDFS/MapRFS a NFS e viceversa.

Prerequisiti

Per la funzionalità MapRFS/HDFS, è necessario eseguire la seguente procedura in un ambiente utente non root. Solitamente l'utente non root è hdfs, mapr o un utente che ha l'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 nella CLI o nel file .bashrc dell'utente insieme a xcp comando.

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

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

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

    • LD_LIBRARY_PATH 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 versione supportiamo le operazioni di scansione, copia e verifica XCP e la migrazione dei dati da HDFS a NFS. È possibile trasferire dati da un cluster di data lake a un singolo nodo worker e a più nodi worker. Nella versione 1.8, la migrazione dei dati può essere eseguita sia dagli utenti root che da quelli non root.

Fasi di distribuzione: l'utente non root migra i dati HDFS/MaprFS su NetApp NFS

  1. Seguire gli stessi passaggi indicati dal punto 1 al punto 9 nella sezione relativa ai passaggi per la distribuzione.

  2. Nell'esempio seguente, l'utente migra i dati da HDFS a NFS.

    1. Crea una cartella e dei 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 le autorizzazioni 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 verificare 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 ~]#