日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

導入手順

ベッドの詳細をテストします

次の表に、この導入およびパフォーマンス検証に使用したテストベッドの詳細を示します。

解決策コンポーネント 詳細

XCP バージョン 1.7

  • Linux サーバ × 1 - Linux ( RHEL 7.9 または RHEL 8 )

  • Windows サーバ × 1 – Windows Server 2019 標準

ソースボリュームの NetApp AFF ストレージアレイ HA ペア

  • AFF8080

  • NetApp ONTAP 9.

  • NFS プロトコル

デスティネーションボリューム用の NetApp AFF ストレージアレイ HA ペア

  • AFF A800

  • ONTAP 9

  • NFS プロトコル

Fujitsu PRIMERGY RX2540 サーバ

各装置には、 *48 CPU * Intel Xeon * 256GB 物理メモリ * 10GbE デュアルポートが搭載されています

ネットワーキング

10GbE

導入手順 - NAS

データ転送用に NetApp XCP を導入するには、まず移行先で XCP ソフトウェアをインストールしてアクティブ化します。詳細については、を参照してください "NetApp XCP ユーザガイド"。これには、次の手順を実行します。

  1. のセクションで説明した前提条件を満たしていること "「 XCP の前提条件」"

  2. から XCP ソフトウェアをダウンロードします "NetApp XCP (ダウンロード)ページ"

  3. ダウンロードした XCP tar ファイルを 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. tar ファイルを解凍します。

    [root@mastr-53 src]# tar -zxvf NETAPP_XCP_1.6.1.tgz
  5. からライセンスをダウンロードします "https://xcp.netapp.com/license/xcp.xwic" XCP サーバにコピーします。

  6. ライセンスをアクティブ化します。

    [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. ソース NFS ポートとデスティネーション NFS サーバを特定します。デフォルトのポートは 2049. です。

    [root@mastr-53 ~]# rpcinfo -p 10.63.150.213
    [root@mastr-53 ~]# rpcinfo -p 10.63.150.63
  8. NFS の接続を確認します。NFS サーバのポートに Telnet を使用して、(ソースとデスティネーションの両方について) NFS サーバを確認します。

    [root@mastr-53 ~]# telnet 10.63.150.127 2049
    [root@mastr-53 ~]# telnet 10.63.150.63 2049
  9. カタログを設定する。

    1. NFS ボリュームを作成し、 XCP カタログ用の NFS をエクスポートする。また、 XCP カタログにオペレーティングシステムの NFS エクスポートを利用することもできます。

      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. NFS エクスポートを確認します。

      [root@mastr-53 ~]# showmount -e 10.63.150.63 | grep xcpca
      /xcpcatalog (everyone)
    3. 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. XCP show を使用して ' ソース NAS エクスポートを検索します検索:

    == 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. (オプション)ソース NAS データをスキャンします。

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

    ソース NAS データをスキャンすることで、データレイアウトを把握し、移行の潜在的な問題を特定するのに役立ちます。XCP スキャン処理時間は、ファイル数とディレクトリ深度に比例します。NAS データに精通している場合は、この手順を省略できます。

  12. 'XCP scan' が作成したレポートを確認します主に読み取り不能フォルダと読み取り不能ファイルを検索します。

    [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. (任意) inode を変更します。inode の数を確認し、カタログボリュームとデスティネーションボリュームの両方で移行またはコピーするファイルの数に基づいて変更する(必要な場合)。

    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. デスティネーションボリュームをスキャン

    [root@mastr-53 linux]# ./xcp scan -stats 10.63.150.63:/xcpdest
  15. ソースボリュームとデスティネーションボリュームのスペースを確認します。

    [root@mastr-53 ~]# df -h /xcpsrc_vol
    [root@mastr-53 ~]# df -h /xcpdest/
  16. 「 XCP copy 」を使用してソースからデスティネーションにデータをコピーし、概要を確認します。

    [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]#
    注記 デフォルトでは、データをコピーするための 7 つの並行プロセスが XCP によって作成されます。これは調整可能です。
    注記 ソースボリュームは読み取り専用にすることを推奨します。ソースボリュームは、リアルタイムでアクティブなライブファイルシステムです。NetApp XCP はアプリケーションによって継続的に変更されるライブソースをサポートしていないため、「 XCP copy 」操作が失敗することがあります。

    Linux では、 XCP Linux がカタログ化を実行するため、 XCP にインデックス ID が必要です。

  17. (オプション)デスティネーションネットアップボリュームの inode を確認します。

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

    このドキュメントでは、リアルタイムをシミュレートするために、ソースデータの 100 万個のファイルの名前が変更され、更新されたファイルは「 XCP sync 」を使用してデスティネーションにコピーされました。Windows の場合、 XCP にはソースパスとデスティネーションパスの両方が必要です。

  19. データ転送を検証送信元と宛先が同じデータであることを検証するには、「 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

XCP のマニュアルには 'CAN’copy''sync' および 've rify' オペレーション用の複数のオプション(例を含む)が用意されています詳細については、を参照してください "NetApp XCP ユーザガイド"

注記 Windows のお客様は、アクセス制御リスト( ACL )を使用してデータをコピーする必要があります。ネットアップでは、コマンド XCP copy-acl-fallbackuser\<username>-fallbackgroup\<username または groupname> <source><destination>` を使用することを推奨しています。パフォーマンスを最大限に高めるために、 ACL を備えた SMB データと NFS と SMB の両方からアクセスできるデータが格納されたソースボリュームを検討する場合、ターゲットは NTFS ボリュームである必要があります。XCP ( NFS バージョン)を使用して、 Linux サーバからデータをコピーし、 Windows サーバからの「 -acl 」および「 -nodata 」オプションを使用して XCP ( SMB バージョン)同期を実行し、ソースデータからターゲット SMB データに ACL をコピーします。

詳細な手順については、を参照してください "「監査とセキュリティログ」ポリシーを設定しています"

導入手順 - hdfs/MapRFS のデータ移行

このセクションでは、 Hadoop ファイルシステムの NAS へのデータ転送という新しい XCP 機能について説明します。この機能は、 HDFS / MapRFS から NFS にデータを移行するか、その逆を行います。

前提条件

MapRFS/HDFS 機能の場合は、ルート以外のユーザ環境で次の手順を実行する必要があります。通常、 root 以外のユーザは HDFS 、 MapR 、または HDFS および MapRFS ファイルシステムを変更する権限を持つユーザです。

  1. CLI またはユーザの .bashrc ファイルと 'XCP コマンドを使用して 'CLASSPATH 'hadoop home ' Nhdfsa_libjvm_path ' lm_library_path ' および Nhdfsa_LIBhdfsa_path 変数を設定します

    • Nhdfsa_lidbhdfs_path は、 libhdfs.so ファイルを指しています。このファイルは、 Hadoop ディストリビューションの一部として HDFS / MapRFS ファイルとファイルシステムを操作し操作するための HDFS API を提供します。

    • Nhdfs_libjvm_path は、 libjvm.so ファイルを指しています。これは JRE の場所にある共有 Java 仮想マシンライブラリです。

    • クラスパスは、 Hadoop クラスパス– glob 値を使用してすべての jar ファイルを指します。

    • LD_LIBRARY_PATH は、 Hadoop のネイティブライブラリフォルダの場所を指しています。

      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

    +
    このリリースでは、 HDFS から NFS への XCP スキャン、コピー、および検証処理とデータ移行がサポートされます。データレイククラスタの 1 つのワーカーノードと複数のワーカーノードからデータを転送できます。1.8 リリースでは、 root ユーザと root 以外のユーザがデータを移行できるようになりました。

導入手順 - root 以外のユーザが HDFS / MaprFS データを NetApp NFS に移行します

  1. 導入の手順から 1 ~ 9 の手順を実行します。

  2. 次の例では、 HDFS から NFS にデータを移行します。

    1. HDFS 内に(「 hadoop fs -copyFromLocal 」を使用して)フォルダとファイルを作成します。

      [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. 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. NFS でフォルダを作成し、権限を確認します。

      [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. XCP を使用して HDFS から NFS にファイルをコピーし、権限を確認します。

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