La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Étapes de déploiement

Contributeurs

Détails du banc d’essai

Le tableau suivant fournit les détails du banc d’essai utilisé pour ce déploiement et la validation des performances.

Composants de la solution Détails

XCP version 1.7

  • Un serveur Linux - Linux (RHEL 7.9 ou RHEL 8)

  • Un serveur Windows – norme Windows Server 2019

Paire haute disponibilité de baies de stockage NetApp AFF pour le volume source

  • AFF 8080

  • NetApp ONTAP 9

  • Protocole NFS

Paire haute disponibilité de baies de stockage NetApp AFF pour volume de destination

  • AFF A800

  • ONTAP 9

  • Protocole NFS

Serveur Fujitsu PRIMERGY RX2540

Chacun équipé de : * 48 processeurs * mémoire physique Intel Xeon * 256 Go * double port 10GbE

Mise en réseau

10GbE

Étapes de déploiement - NAS

Pour déployer NetApp XCP pour le transfert de données, installez d’abord et activez le logiciel XCP sur l’emplacement de destination. Vous pouvez consulter les détails dans le "Guide de l’utilisateur de NetApp XCP". Pour ce faire, procédez comme suit :

  1. Respectez les conditions préalables décrites dans la section "« Conditions préalables pour XCP »."

  2. Téléchargez le logiciel XCP à partir du "Page NetApp XCP (téléchargements)".

  3. Copiez les fichiers tar XCP téléchargés sur le serveur 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. Décompressez le fichier tartre.

    [root@mastr-53 src]# tar -zxvf NETAPP_XCP_1.6.1.tgz
  5. Téléchargez la licence sur "https://xcp.netapp.com/license/xcp.xwic" Et copiez vers le serveur XCP.

  6. Activez la licence.

    [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. Recherchez le port NFS source et le serveur NFS de destination. Le port par défaut est 2049.

    [root@mastr-53 ~]# rpcinfo -p 10.63.150.213
    [root@mastr-53 ~]# rpcinfo -p 10.63.150.63
  8. Vérifiez la connexion NFS. Vérifiez le serveur NFS (pour la source et la destination) en utilisant telnet sur le port du serveur NFS.

    [root@mastr-53 ~]# telnet 10.63.150.127 2049
    [root@mastr-53 ~]# telnet 10.63.150.63 2049
  9. Configurer le catalogue.

    1. Créer un volume NFS et exporter un NFS pour le catalogue XCP. Vous pouvez également exploiter l’exportation NFS du système d’exploitation pour le catalogue 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. Vérifier l’exportation NFS.

      [root@mastr-53 ~]# showmount -e 10.63.150.63 | grep xcpca
      /xcpcatalog (everyone)
    3. Mise à jour 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. Recherchez les exportations NAS sources à l’aide de xcp show. Ciblez :

    == 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. (Facultatif) analyser les données NAS source.

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

    L’analyse des données NAS source vous aide à comprendre la disposition des données et à identifier les problèmes potentiels de migration. Le temps d’opération d’acquisition XCP est proportionnel au nombre de fichiers et à la profondeur du répertoire. Vous pouvez ignorer cette étape si vous connaissez bien vos données NAS.

  12. Vérifiez le rapport créé par xcp scan. Recherchez principalement des dossiers illisibles et des fichiers illisibles.

    [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. (Facultatif) modifiez l’inode. Afficher le nombre d’inodes et modifier le nombre en fonction du nombre de fichiers à migrer ou à copier pour les volumes catalogue et de destination (si nécessaire).

    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. Scannez le volume de destination.

    [root@mastr-53 linux]# ./xcp scan -stats 10.63.150.63:/xcpdest
  15. Vérifiez l’espace du volume source et de destination.

    [root@mastr-53 ~]# df -h /xcpsrc_vol
    [root@mastr-53 ~]# df -h /xcpdest/
  16. Copiez les données de la source vers la destination à l’aide de xcp copy et vérifier le récapitulatif.

    [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]#
    Note Par défaut, XCP crée sept processus parallèles pour copier les données. Il est possible de l’ajuster.
    Note NetApp recommande que le volume source soit en lecture seule. En temps réel, le volume source est un système de fichiers actif et actif. Le xcp copy L’opération peut échouer, car NetApp XCP ne prend pas en charge une source en direct qui est modifiée en continu par une application.

    Pour Linux, XCP nécessite un identifiant d’index car XCP Linux effectue le catalogage.

  17. (Facultatif) Vérifiez les inodes sur le volume NetApp de destination.

    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. Effectuez la mise à jour incrémentielle à l’aide de 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

    Pour ce document, afin de simuler en temps réel, le million de fichiers des données sources ont été renommés, puis les fichiers mis à jour ont été copiés vers la destination à l’aide de xcp sync. Pour Windows, XCP a besoin à la fois des chemins source et de destination.

  19. Validation du transfert de données Vous pouvez vérifier que la source et la destination ont les mêmes données à l’aide de 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 documentation XCP fournit plusieurs options (avec des exemples) pour le scan, copy, sync, et verify exploitation. Pour plus d’informations, reportez-vous à la section "Guide de l’utilisateur de NetApp XCP".

Note Les clients Windows doivent copier les données à l’aide des listes de contrôle d’accès (ACL). NetApp recommande d’utiliser la commande xcp copy -acl -fallbackuser\<username> -fallbackgroup\<username or groupname> <source> <destination>. Pour des performances maximales, en tenant compte du volume source contenant des données SMB avec une liste de contrôle d’accès et des données accessibles aussi bien par NFS que SMB, la cible doit être un volume NTFS. À l’aide de XCP (version NFS), copiez les données du serveur Linux et exécutez la synchronisation XCP (version SMB) avec le -acl et -nodata Options du serveur Windows pour copier les ACL des données source vers les données SMB cibles.

Pour obtenir des instructions détaillées, reportez-vous à la section "Configuration de la stratégie de gestion des journaux d’audit et de sécurité".

Étapes de déploiement - migration des données HDFS/MapRFS

Dans cette section, nous abordons la nouvelle fonctionnalité XCP appelée transfert de données de système de fichiers Hadoop vers NAS, qui migre les données de HDFS/MapRFS vers NFS et vice versa.

Prérequis

Pour la fonction MapRFS/HDFS, vous devez effectuer la procédure suivante dans un environnement utilisateur non racine. Normalement, l’utilisateur non-root est hdfs, mapr ou un utilisateur autorisé à effectuer des modifications dans le système de fichiers HDFS et MapRFS.

  1. Définissez les variables CLASSPATH, HADOOP_HOME, NHDFS_LIBJVM_PATH, LB_LIBRARY_PATH et NHDFS_LIBHDFS_PATH dans l’interface de ligne de commande ou le fichier .bashrc de l’utilisateur avec l' xcp commande.

    • NHDFS_LIBHDFS_PATH pointe vers le fichier libhdfs.so. Ce fichier fournit des API HDFS pour interagir et manipuler les fichiers et le système de fichiers HDFS/MapRFS dans le cadre de la distribution Hadoop.

    • NHDFS_LIBJVM_PATH pointe vers le fichier libjvm.so. Il s’agit d’une bibliothèque de machine virtuelle JAVA partagée dans l’emplacement jre.

    • CLASSPATH pointe vers tous les fichiers JAR à l’aide des valeurs (Hadoop classpath –glob).

    • LD_LIBRARY_PATH pointe vers l’emplacement du dossier de bibliothèque natif Hadoop.

      Consultez l’exemple suivant sur la base d’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

    +
    Dans cette version, nous prenons en charge le scan XCP, la copie et la vérification des opérations et de la migration des données de HDFS vers NFS. Vous pouvez transférer des données d’un cluster de data Lake à un seul nœud de travail et à plusieurs nœuds workers. Dans la version 1.8, les utilisateurs root et non-root peuvent effectuer une migration des données.

Étapes de déploiement : l’utilisateur non root migre les données HDFS/MaprFS vers NetApp NFS

  1. Suivez les mêmes étapes que la section déploiement en 1-9 étapes.

  2. Dans l’exemple suivant, l’utilisateur migre les données de HDFS vers NFS.

    1. Créez un dossier et des fichiers (à l’aide de hadoop fs -copyFromLocal) Dans 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. Vérifiez les autorisations dans le dossier 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. Créez un dossier dans NFS et vérifiez les autorisations.

      [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. Copiez les fichiers de HDFS vers NFS à l’aide de XCP et vérifiez les autorisations.

      [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 ~]#