Skip to main content
NetApp data management solutions
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Pasos de implementación

Colaboradores kevin-hoke

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

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

  • Un servidor Windows: Windows Server 2019 estándar

Par de alta disponibilidad de la matriz de almacenamiento AFF de NetApp para el volumen de origen

  • AFF8080

  • NetApp ONTAP 9

  • Protocolo NFS

Par de alta disponibilidad de matriz de almacenamiento AFF de NetApp para volumen de destino

  • AFF A800

  • ONTAP 9

  • Protocolo NFS

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:

  1. Cumplir con los requisitos previos detallados en la sección"Requisitos previos para XCP."

  2. Descargue el software XCP desde "Página de descargas de NetApp XCP" .

  3. 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
  4. Descomprima el archivo tar.

    [root@mastr-53 src]# tar -zxvf NETAPP_XCP_1.6.1.tgz
  5. Descargue la licencia desde "https://xcp.netapp.com/license/xcp.xwic" y copiar al servidor XCP.

  6. 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
  7. 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
  8. 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
  9. Configurar el catálogo.

    1. 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
    2. Verifique la exportación NFS.

      [root@mastr-53 ~]# showmount -e 10.63.150.63 | grep xcpca
      /xcpcatalog (everyone)
    3. 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 ~]#
  10. 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>
  11. (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.

  12. 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/
  13. (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
  14. Escanee el volumen de destino.

    [root@mastr-53 linux]# ./xcp scan -stats 10.63.150.63:/xcpdest
  15. Verifique el espacio del volumen de origen y destino.

    [root@mastr-53 ~]# df -h /xcpsrc_vol
    [root@mastr-53 ~]# df -h /xcpdest/
  16. 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]#
    Nota De forma predeterminada, XCP crea siete procesos paralelos para copiar los datos. Esto se puede ajustar.
    Nota 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.

  17. (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::>
  18. 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.

  19. 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" .

Nota 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.

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.

  1. 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

  1. Siga los mismos pasos mencionados del 1 al 9 en la sección de pasos para la implementación.

  2. En el siguiente ejemplo, el usuario migra datos de HDFS a NFS.

    1. 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 ~]#
    2. 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
    3. 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 ~]#
    4. 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 ~]#