Pasos de implementación
Esta sección cubre los pasos de implementación de NetApp XCP para la transferencia de datos.
Detalles del banco de pruebas
La siguiente tabla proporciona los detalles del banco de pruebas que se utilizó para esta implementación y validación del rendimiento.
Componentes de la solución | Detalles |
---|---|
Versión 1.7 de XCP |
|
Par de alta disponibilidad de la matriz de almacenamiento AFF de NetApp para el volumen de origen |
|
Par de alta disponibilidad de matriz de almacenamiento AFF de NetApp para volumen de destino |
|
Servidor Fujitsu PRIMERGY RX2540 |
Cada uno equipado con: * 48 CPU * Intel Xeon * 256 GB de memoria física * Puerto dual 10 GbE |
Redes |
10GbE |
Pasos de implementación - NAS
Para implementar NetApp XCP para la transferencia de datos, primero instale y active el software XCP en la ubicación de destino. Puede revisar los detalles en el "Guía del usuario de NetApp XCP" . Para ello, siga los siguientes pasos:
-
Cumplir con los requisitos previos detallados en la sección"Requisitos previos para XCP."
-
Descargue el software XCP desde "Página de descargas de NetApp XCP" .
-
Copie los archivos tar XCP descargados al servidor 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
-
Descomprima el archivo tar.
[root@mastr-53 src]# tar -zxvf NETAPP_XCP_1.6.1.tgz
-
Descargue la licencia desde "https://xcp.netapp.com/license/xcp.xwic" y copiar al servidor XCP.
-
Activar la licencia.
[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
-
Busque el puerto NFS de origen y el servidor NFS de destino. El puerto predeterminado es 2049.
[root@mastr-53 ~]# rpcinfo -p 10.63.150.213 [root@mastr-53 ~]# rpcinfo -p 10.63.150.63
-
Compruebe la conexión NFS. Verifique el servidor NFS (tanto de origen como de destino) mediante telnet al puerto del servidor NFS.
[root@mastr-53 ~]# telnet 10.63.150.127 2049 [root@mastr-53 ~]# telnet 10.63.150.63 2049
-
Configurar el catálogo.
-
Cree un volumen NFS y exporte NFS para el catálogo XCP. También puede aprovechar la exportación NFS del sistema operativo para el catálogo 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
-
Verifique la exportación NFS.
[root@mastr-53 ~]# showmount -e 10.63.150.63 | grep xcpca /xcpcatalog (everyone)
-
Actualizar
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 ~]#
-
-
Encuentre las exportaciones NAS de origen mediante
xcp show
. Buscar:== 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>
-
(Opcional) Escanee los datos del NAS de origen.
[root@mastr-53 linux]# ./xcp scan -newid xcpscantest4 -stats 10.63.150.127:/xcpsrc_vol
Escanear los datos NAS de origen le ayudará a comprender el diseño de los datos y a encontrar posibles problemas para la migración. El tiempo de la operación de escaneo XCP es proporcional a la cantidad de archivos y la profundidad del directorio. Puede omitir este paso si está familiarizado con los datos de su NAS.
-
Consulte el informe creado por
xcp scan
. Busca principalmente carpetas ilegibles y archivos ilegibles.[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/
-
(Opcional) Cambiar el inodo. Vea la cantidad de inodos y modifique la cantidad según la cantidad de archivos a migrar o copiar tanto para el catálogo como para los volúmenes de destino (si es necesario).
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
-
Escanee el volumen de destino.
[root@mastr-53 linux]# ./xcp scan -stats 10.63.150.63:/xcpdest
-
Verifique el espacio del volumen de origen y destino.
[root@mastr-53 ~]# df -h /xcpsrc_vol [root@mastr-53 ~]# df -h /xcpdest/
-
Copiar los datos del origen al destino mediante
xcp copy
y comprobar el resumen.[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]#
De forma predeterminada, XCP crea siete procesos paralelos para copiar los datos. Esto se puede ajustar. NetApp recomienda que el volumen de origen sea de solo lectura. En tiempo real, el volumen de origen es un sistema de archivos activo y vivo. El xcp copy
La operación podría fallar porque NetApp XCP no admite una fuente en vivo que una aplicación modifica continuamente.Para Linux, XCP requiere un ID de índice porque XCP Linux realiza la catalogación.
-
(Opcional) Verifique los inodos en el volumen NetApp de destino.
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::>
-
Realice la actualización incremental utilizando
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
Para este documento, para simular el tiempo real, se renombraron el millón de archivos en los datos de origen y luego los archivos actualizados se copiaron al destino utilizando
xcp sync
. Para Windows, XCP necesita rutas de origen y destino. -
Validar transferencia de datos. Puede validar que el origen y el destino tengan los mismos datos utilizando
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 documentación de XCP proporciona múltiples opciones (con ejemplos) para scan
, copy
, sync
, y verify
operaciones. Para obtener más información, consulte la "Guía del usuario de NetApp XCP" .
|
Los clientes de Windows deben copiar los datos mediante listas de control de acceso (ACL). NetApp recomienda utilizar el comando xcp copy -acl -fallbackuser\<username> -fallbackgroup\<username or groupname> <source> <destination> . Para obtener el máximo rendimiento, teniendo en cuenta el volumen de origen que tiene datos SMB con ACL y los datos accesibles tanto por NFS como por SMB, el destino debe ser un volumen NTFS. Usando XCP (versión NFS), copie los datos del servidor Linux y ejecute la sincronización XCP (versión SMB) con el -acl y -nodata opciones del servidor Windows para copiar las ACL de los datos de origen a los datos SMB de destino.
|
Para conocer los pasos detallados, consulte "Configuración de la política 'Administrar registros de auditoría y seguridad'" .
Pasos de implementación: migración de datos HDFS/MapRFS
En esta sección, analizamos la nueva característica de XCP llamada Transferencia de datos del sistema de archivos Hadoop a NAS, que migra datos de HDFS/MapRFS a NFS y viceversa.
Prerrequisitos
Para la función MapRFS/HDFS, debe realizar el siguiente procedimiento en un entorno de usuario que no sea root. Normalmente, el usuario no root es hdfs, mapr o un usuario que tiene permiso para realizar cambios en el sistema de archivos HDFS y MapRFS.
-
Establezca las variables CLASSPATH, HADOOP_HOME, NHDFS_LIBJVM_PATH, LB_LIBRARY_PATH y NHDFS_LIBHDFS_PATH en la CLI o en el archivo .bashrc del usuario junto con la
xcp
dominio.-
NHDFS_LIBHDFS_PATH apunta al archivo libhdfs.so. Este archivo proporciona API HDFS para interactuar y manipular los archivos y el sistema de archivos HDFS/MapRFS como parte de la distribución Hadoop.
-
NHDFS_LIBJVM_PATH apunta al archivo libjvm.so. Esta es una biblioteca de máquina virtual JAVA compartida en la ubicación jre.
-
CLASSPATH apunta a todos los archivos jar que utilizan valores (Hadoop classpath –glob).
-
LD_LIBRARY_PATH apunta a la ubicación de la carpeta de la biblioteca nativa de Hadoop.
Vea el siguiente ejemplo basado en un clúster de 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
+
En esta versión, admitimos operaciones de escaneo, copia y verificación XCP y migración de datos de HDFS a NFS. Puede transferir datos desde un único nodo de trabajo de un clúster de Data Lake y desde varios nodos de trabajo. En la versión 1.8, los usuarios root y no root pueden realizar la migración de datos. -
Pasos de implementación: un usuario no root migra datos HDFS/MaprFS a NetApp NFS
-
Siga los mismos pasos mencionados del 1 al 9 en la sección de pasos para la implementación.
-
En el siguiente ejemplo, el usuario migra datos de HDFS a NFS.
-
Crea una carpeta y archivos (usando
hadoop fs -copyFromLocal
) en 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 ~]#
-
Verifique los permisos en la carpeta 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
-
Cree una carpeta en NFS y verifique los permisos.
[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 ~]#
-
Copie los archivos de HDFS a NFS usando XCP y verifique los permisos.
[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 ~]#
-