Skip to main content
NetApp 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 la implementación

Colaboradores

En esta sección se tratan los pasos de implementación para XCP de NetApp para la transferencia de datos.

Detalles de la cama de prueba

La siguiente tabla muestra los detalles del banco de pruebas utilizado para esta puesta en marcha y validación del rendimiento.

Componentes de la solución Detalles

XCP versión 1.7

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

  • Un servidor Windows: Estándar Windows Server 2019

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

  • AFF8080

  • ONTAP 9 de NetApp

  • Protocolo NFS

Par de alta disponibilidad de la cabina de almacenamiento AFF de NetApp para el volumen de destino

  • A800 de AFF

  • ONTAP 9

  • Protocolo NFS

Servidor PRIMERGY RX2540 de Fujitsu

Cada una equipada con: * 48 CPU * Intel Xeon * 256 GB de memoria física * 10 GbE de doble puerto

Redes

10 GbE

Pasos de puesta en marcha: 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 la "Guía del usuario de NetApp XCP". Para ello, lleve a cabo los siguientes pasos:

  1. Cumpla los requisitos previos tal y como se detalla en la sección "“Requisitos previos para XCP”."

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

  3. Copie los archivos tar XCP descargados en el 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. Destar el archivo tarfile.

    [root@mastr-53 src]# tar -zxvf NETAPP_XCP_1.6.1.tgz
  5. Descargue la licencia de "https://xcp.netapp.com/license/xcp.xwic" Y copie en el servidor XCP.

  6. Active 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. Compruebe el servidor NFS (tanto para el origen como para el 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. Configure 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. Compruebe 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. Busque las exportaciones NAS de origen mediante xcp show. Busque:

    == 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) analice los datos NAS de origen.

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

    El análisis de los datos NAS de origen le ayuda a comprender la distribución de los datos y a encontrar posibles problemas relacionados con la migración. El tiempo de operación de exploración XCP es proporcional al número de archivos y a la profundidad del directorio. Puede omitir este paso si está familiarizado con los datos de NAS.

  12. Compruebe el informe creado por xcp scan. Busque 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) cambie el inodo. Vea el número de inodos y modifique el número en función del número de archivos que se van a migrar o copiar tanto para los volúmenes de catálogo como 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. Analice el volumen de destino.

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

    [root@mastr-53 ~]# df -h /xcpsrc_vol
    [root@mastr-53 ~]# df -h /xcpdest/
  16. Copie los datos del origen en el destino mediante xcp copy y compruebe 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 activo. La xcp copy La operación puede fallar porque NetApp XCP no admite un origen en directo que cambia continuamente una aplicación.

    Para Linux, XCP requiere un ID de índice porque XCP Linux realiza la catalogación.

  17. (Opcional) Compruebe la información de los inodos en el volumen de 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 mediante 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 en tiempo real, se cambió el nombre del millón de archivos de los datos de origen y, a continuación, se copiaron los archivos actualizados al destino mediante el uso xcp sync. Para Windows, XCP necesita tanto rutas de origen como de destino.

  19. Validar la transferencia de datos. Puede validar que el origen y el destino tienen los mismos datos con 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 varias opciones (con ejemplos) para scan, copy, sync, y. verify operaciones. Para obtener más información, consulte "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 a los que pueden acceder NFS y SMB, el destino debe ser un volumen NTFS. Con 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 de Windows para copiar las ACL de los datos de origen en los datos de SMB de destino.

Pasos de implementación: Migración de datos HDFS/MapRFS

En esta sección, se trata sobre la nueva función XCP llamada Hadoop Filesystem Data Transfer to NAS, que migra datos de HDFS/MapRFS a NFS y viceversa.

Requisitos previos

Para la función MapRFS/HDFS, debe realizar el siguiente procedimiento en un entorno de usuario que no sea raíz. Normalmente, el usuario no raíz 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 el xcp comando.

    • NHDFS_LIBHDFS_PATH apunta al archivo libhdfs.so. Este archivo proporciona las API de HDFS para interactuar y manipular los archivos y sistemas de archivos HDFS/MapRFS como parte de la distribución de Hadoop.

    • NHDFS_LIBJVM_PATH apunta al archivo libjvm.so. Se trata de una biblioteca DE máquinas virtuales JAVA compartida en la ubicación jre.

    • CLASSPATH apunta a todos los archivos JAR utilizando los valores (CLasspath –glob) de Hadoop.

    • LD_LIBRARY_PATH apunta a la ubicación de la carpeta de biblioteca nativa de Hadoop.

      Consulte 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 el análisis, la copia y la verificación de operaciones y la migración de datos de XCP desde HDFS a NFS. Puede transferir datos desde un solo nodo de trabajo de un clúster de lagos de datos y de varios nodos de trabajo. Con la versión 1.8, los usuarios raíz y no raíz pueden realizar la migración de datos.

Pasos de implementación: Un usuario que no sea raíz migra los datos de HDFS/MaprFS a NFS de NetApp

  1. Siga los mismos pasos que se mencionan en la sección pasos para la implementación en 1-9.

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

    1. Cree una carpeta y archivos (mediante 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. Compruebe 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 compruebe 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 mediante XCP y compruebe 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 ~]#