Skip to main content
NetApp Solutions
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

배포 단계

기여자

이 섹션에서는 NetApp XCP 데이터 전송을 위한 구축 단계에 대해 설명합니다.

테스트 베드 세부 정보

다음 표에는 이 배포 및 성능 검증에 사용된 테스트 베드 세부 정보가 나와 있습니다.

솔루션 구성 요소 세부 정보

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 * 인텔 제온 * 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 서버 포트에 대한 텔넷을 사용하여 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 쇼를 사용하여 소스 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 스캔 보고서를 확인하십시오. 읽을 수 없는 폴더와 읽을 수 없는 파일을 주로 검색합니다.

    [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]#
    참고 기본적으로 XCP는 데이터를 복사할 수 있는 7개의 병렬 프로세스를 생성합니다. 이 기능은 조정할 수 있습니다.
    참고 소스 볼륨은 읽기 전용을 사용하는 것이 좋습니다. 실시간으로 소스 볼륨은 활성 상태의 라이브 파일 시스템입니다. NetApp XCP는 애플리케이션에 의해 지속적으로 변경되는 라이브 소스를 지원하지 않으므로 'XCP 복사' 작업이 실패할 수 있습니다.

    Linux의 경우 xCP Linux가 카탈로그 작성을 수행하기 때문에 xCP에 인덱스 ID가 필요합니다.

  17. (선택 사항) 타겟 NetApp 볼륨의 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 동기화를 사용하여 증가분 업데이트를 수행합니다.

    [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 동기화를 사용하여 업데이트된 파일을 대상으로 복사했습니다. 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', '카피', '동기화', 'fy' 작업에 대한 여러 가지 옵션(예)을 제공합니다. 자세한 내용은 를 참조하십시오 "NetApp XCP 사용자 가이드".

참고 Windows 고객은 ACL(액세스 제어 목록)을 사용하여 데이터를 복사해야 합니다. NetApp은 'xCP copy -acl -frodbackuser\<사용자 이름> -frodbackgroup\<사용자 이름 또는 groupname><source><destination>' 명령을 사용할 것을 권장합니다. 성능을 극대화하려면 ACL이 있는 SMB 데이터와 NFS와 SMB가 모두 액세스할 수 있는 데이터를 가진 소스 볼륨을 고려할 때 타겟은 NTFS 볼륨이어야 합니다. xCP(NFS 버전)를 사용하여 Linux 서버에서 데이터를 복사하고 Windows 서버에서 '-ACL' 및 '-NoData' 옵션을 사용하여 xCP(SMB 버전) 동기화를 실행하여 소스 데이터에서 타겟 SMB 데이터로 ACL을 복사합니다.

자세한 단계는 을 참조하십시오 "'감사 및 보안 로그 관리' 정책 구성".

구축 단계 - HDFS/MapRFS 데이터 마이그레이션

이 섹션에서는 HDFS/MapRFS에서 NFS로, 그 반대로 데이터를 마이그레이션하는 Hadoop Filesystem Data Transfer to NAS라는 새로운 XCP 기능에 대해 설명합니다.

필수 구성 요소

MapRFS/HDFS 기능의 경우 루트가 아닌 사용자 환경에서 다음 절차를 수행해야 합니다. 일반적으로 비루트 사용자는 HDFS, MapR 또는 HDFS 및 MapRFS 파일 시스템을 변경할 수 있는 권한이 있는 사용자입니다.

  1. CLI에서 CLASSPATH, HADOOP_HOME, NHDFS_LIBJVM_PATH, LB_LIBRARY_PATH 및 NHDFS_LIBHDFS_PATH 변수를 설정하거나, 'xCP' 명령과 함께 사용자의 .bashrc 파일을 설정합니다.

    • NHDFS_LIBHDFS_path는 libhdfs.so 파일을 가리킵니다. 이 파일은 HDFS API를 제공하여 Hadoop 배포의 일부로 HDFS/MapRFS 파일 및 파일 시스템을 상호 작용하고 조작합니다.

    • NHDFS_LIBJVM_PATH는 libjvm.so 파일을 가리킵니다. JRE 위치에 있는 공유 Java 가상 머신 라이브러리입니다.

    • CLASSPATH는 (Hadoop classpath –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.8 릴리즈에서는 루트 및 비루트 사용자가 데이터 마이그레이션을 수행할 수 있습니다.

구축 단계 - 루트 이외의 사용자가 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 ~]#