Fasi di implementazione
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 |
|
Coppia ha di storage array NetApp AFF per il volume di origine |
|
Coppia ha di storage array NetApp AFF per il volume di destinazione |
|
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:
-
Soddisfare i prerequisiti descritti in dettaglio nella sezione ""Prerequisiti per XCP.""
-
Scaricare il software XCP da "NetApp XCP (Downloads)".
-
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
-
Estrarre il tarfile.
[root@mastr-53 src]# tar -zxvf NETAPP_XCP_1.6.1.tgz
-
Scaricare la licenza da "https://xcp.netapp.com/license/xcp.xwic" E copiare sul server XCP.
-
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
-
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
-
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
-
Configurare il catalogo.
-
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
-
Controllare l'esportazione NFS.
[root@mastr-53 ~]# showmount -e 10.63.150.63 | grep xcpca /xcpcatalog (everyone)
-
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 ~]#
-
-
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>
-
(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.
-
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/
-
(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
-
Eseguire la scansione del volume di destinazione.
[root@mastr-53 linux]# ./xcp scan -stats 10.63.150.63:/xcpdest
-
Controllare lo spazio dei volumi di origine e di destinazione.
[root@mastr-53 ~]# df -h /xcpsrc_vol [root@mastr-53 ~]# df -h /xcpdest/
-
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]#
Per impostazione predefinita, XCP crea sette processi paralleli per copiare i dati. È possibile sintonizzarlo. 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.
-
(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::>
-
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. -
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".
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.
|
Per informazioni dettagliate, vedere "Configurazione della policy "Gestisci registro di controllo e sicurezza"".
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.
-
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
-
Seguire gli stessi passaggi descritti nella sezione relativa ai passaggi per l'implementazione della sezione 1-9 passaggi.
-
Nell'esempio seguente, l'utente esegue la migrazione dei dati da HDFS a NFS.
-
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 ~]#
-
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
-
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 ~]#
-
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 ~]#
-