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

MapR-FS에서 ONTAP NFS로

기여자

이 섹션에서는 NetApp XCP를 사용하여 MapR-FS 데이터를 ONTAP NFS로 이동하는 데 필요한 자세한 단계를 제공합니다.

  1. 각 MapR 노드에 대해 LUN 3개를 프로비저닝하고 모든 MapR 노드에 대한 LUN 소유권을 제공합니다.

  2. 설치 중에 MapR-FS에 사용되는 MapR 클러스터 디스크에 새로 추가된 LUN을 선택합니다.

  3. MapR 6.1 설명서에 따라 MapR 클러스터를 설치합니다.

  4. Hadoop Jar xxx와 같은 MapReduce 명령을 사용하여 기본 Hadoop 작업을 확인합니다.

  5. 고객 데이터를 MapR-FS에 유지 예를 들어, Teragen을 사용하여 MapR-FS에서 약 테라바이트의 샘플 데이터를 생성했습니다.

  6. MapR-FS를 NFS 내보내기로 구성합니다.

    1. 모든 MapR 노드에서 nlockmgr 서비스를 사용하지 않도록 설정합니다.

      root@workr-138: ~$ rpcinfo -p
         program vers proto   port  service
          100000    4   tcp    111  portmapper
          100000    3   tcp    111  portmapper
          100000    2   tcp    111  portmapper
          100000    4   udp    111  portmapper
          100000    3   udp    111  portmapper
          100000    2   udp    111  portmapper
          100003    4   tcp   2049  nfs
          100227    3   tcp   2049  nfs_acl
          100003    4   udp   2049  nfs
          100227    3   udp   2049  nfs_acl
          100021    3   udp  55270  nlockmgr
          100021    4   udp  55270  nlockmgr
          100021    3   tcp  35025  nlockmgr
          100021    4   tcp  35025  nlockmgr
          100003    3   tcp   2049  nfs
          100005    3   tcp   2049  mountd
          100005    1   tcp   2049  mountd
          100005    3   udp   2049  mountd
          100005    1   udp   2049  mountd
      root@workr-138: ~$
       
      root@workr-138: ~$ rpcinfo -d 100021 3
      root@workr-138: ~$ rpcinfo -d 100021 4
    2. '/opt/mMapR/conf/exports' 파일의 모든 MapR 노드에 MapR-FS에서 특정 폴더를 내보냅니다. 하위 폴더를 내보낼 때 다른 권한이 있는 상위 폴더를 내보내지 마십시오.

      [mapr@workr-138 ~]$ cat /opt/mapr/conf/exports
      # Sample Exports file
      # for /mapr exports
      # <Path> <exports_control>
      #access_control -> order is specific to default
      # list the hosts before specifying a default for all
      #  a.b.c.d,1.2.3.4(ro) d.e.f.g(ro) (rw)
      #  enforces ro for a.b.c.d & 1.2.3.4 and everybody else is rw
      # special path to export clusters in mapr-clusters.conf. To disable exporting,
      # comment it out. to restrict access use the exports_control
      #
      #/mapr (rw)
      #karthik
      /mapr/my.cluster.com/tmp/testnfs /maprnfs3 (rw)
      #to export only certain clusters, comment out the /mapr & uncomment.
      #/mapr/clustername (rw)
      #to export /mapr only to certain hosts (using exports_control)
      #/mapr a.b.c.d(rw),e.f.g.h(ro)
      # export /mapr/cluster1 rw to a.b.c.d & ro to e.f.g.h (denied for others)
      #/mapr/cluster1 a.b.c.d(rw),e.f.g.h(ro)
      # export /mapr/cluster2 only to e.f.g.h (denied for others)
      #/mapr/cluster2 e.f.g.h(rw)
      # export /mapr/cluster3 rw to e.f.g.h & ro to others
      #/mapr/cluster2 e.f.g.h(rw) (ro)
      #to export a certain cluster, volume or a subdirectory as an alias,
      #comment out  /mapr & uncomment
      #/mapr/clustername         /alias1 (rw)
      #/mapr/clustername/vol     /alias2 (rw)
      #/mapr/clustername/vol/dir /alias3 (rw)
      #only the alias will be visible/exposed to the nfs client not the mapr path, host options as before
      [mapr@workr-138 ~]$
  7. MapR-FS NFS 서비스를 새로 고칩니다.

    root@workr-138: tmp$ maprcli nfsmgmt refreshexports
    ERROR (22) -  You do not have a ticket to communicate with 127.0.0.1:9998. Retry after obtaining a new ticket using maprlogin
    root@workr-138: tmp$ su - mapr
    [mapr@workr-138 ~]$ maprlogin password -cluster my.cluster.com
    [Password for user 'mapr' at cluster 'my.cluster.com': ]
    MapR credentials of user 'mapr' for cluster 'my.cluster.com' are written to '/tmp/maprticket_5000'
    [mapr@workr-138 ~]$ maprcli nfsmgmt refreshexports
  8. MapR 클러스터의 특정 서버 또는 서버 세트에 가상 IP 범위를 할당합니다. 그런 다음 MapR 클러스터는 NFS 데이터 액세스를 위해 특정 서버에 IP를 할당합니다. IP를 통해 고가용성을 구현할 수 있습니다. 즉, 특정 IP를 사용하는 서버 또는 네트워크에 장애가 발생할 경우 IP 범위의 다음 IP를 NFS 액세스에 사용할 수 있습니다.

    참고 모든 MapR 노드에서 NFS 액세스를 제공하려면 각 서버에 가상 IP 세트를 할당하고 NFS 데이터 액세스를 위해 각 MapR 노드의 리소스를 사용할 수 있습니다.

    입력/출력 대화 상자 또는 작성된 내용을 표시하는 그림

    입력/출력 대화 상자 또는 작성된 내용을 표시하는 그림

    입력/출력 대화 상자 또는 작성된 내용을 표시하는 그림

  9. 각 MapR 노드에 할당된 가상 IP를 확인하고 이를 NFS 데이터 액세스에 사용하십시오.

    root@workr-138: ~$ ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    2: ens3f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
        link/ether 90:1b:0e:d1:5d:f9 brd ff:ff:ff:ff:ff:ff
        inet 10.63.150.138/24 brd 10.63.150.255 scope global noprefixroute ens3f0
           valid_lft forever preferred_lft forever
        inet 10.63.150.96/24 scope global secondary ens3f0:~m0
           valid_lft forever preferred_lft forever
        inet 10.63.150.97/24 scope global secondary ens3f0:~m1
           valid_lft forever preferred_lft forever
        inet6 fe80::921b:eff:fed1:5df9/64 scope link
           valid_lft forever preferred_lft forever
    3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 90:1b:0e:d1:af:b4 brd ff:ff:ff:ff:ff:ff
    4: ens3f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 90:1b:0e:d1:5d:fa brd ff:ff:ff:ff:ff:ff
    5: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
        link/ether 90:1b:0e:d1:af:b5 brd ff:ff:ff:ff:ff:ff
    [root@workr-138: ~$
    [root@workr-140 ~]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    2: ens3f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
        link/ether 90:1b:0e:d1:5e:03 brd ff:ff:ff:ff:ff:ff
        inet 10.63.150.140/24 brd 10.63.150.255 scope global noprefixroute ens3f0
           valid_lft forever preferred_lft forever
        inet 10.63.150.92/24 scope global secondary ens3f0:~m0
           valid_lft forever preferred_lft forever
        inet6 fe80::921b:eff:fed1:5e03/64 scope link noprefixroute
           valid_lft forever preferred_lft forever
    3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 90:1b:0e:d1:af:9a brd ff:ff:ff:ff:ff:ff
    4: ens3f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 90:1b:0e:d1:5e:04 brd ff:ff:ff:ff:ff:ff
    5: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
        link/ether 90:1b:0e:d1:af:9b brd ff:ff:ff:ff:ff:ff
    [root@workr-140 ~]#
  10. NFS 작업을 확인하기 위해 할당된 가상 IP를 사용하여 NFS 내보내기 MapR-FS를 마운트합니다. 하지만 NetApp XCP를 사용하여 데이터를 전송하는 경우 이 단계가 필요하지 않습니다.

    root@workr-138: tmp$ mount -v -t nfs 10.63.150.92:/maprnfs3 /tmp/testmount/
    mount.nfs: timeout set for Thu Dec  5 15:31:32 2019
    mount.nfs: trying text-based options 'vers=4.1,addr=10.63.150.92,clientaddr=10.63.150.138'
    mount.nfs: mount(2): Protocol not supported
    mount.nfs: trying text-based options 'vers=4.0,addr=10.63.150.92,clientaddr=10.63.150.138'
    mount.nfs: mount(2): Protocol not supported
    mount.nfs: trying text-based options 'addr=10.63.150.92'
    mount.nfs: prog 100003, trying vers=3, prot=6
    mount.nfs: trying 10.63.150.92 prog 100003 vers 3 prot TCP port 2049
    mount.nfs: prog 100005, trying vers=3, prot=17
    mount.nfs: trying 10.63.150.92 prog 100005 vers 3 prot UDP port 2049
    mount.nfs: portmap query retrying: RPC: Timed out
    mount.nfs: prog 100005, trying vers=3, prot=6
    mount.nfs: trying 10.63.150.92 prog 100005 vers 3 prot TCP port 2049
    root@workr-138: tmp$ df -h
    Filesystem              Size  Used Avail Use% Mounted on
    /dev/sda7                84G   48G   37G  57% /
    devtmpfs                126G     0  126G   0% /dev
    tmpfs                   126G     0  126G   0% /dev/shm
    tmpfs                   126G   19M  126G   1% /run
    tmpfs                   126G     0  126G   0% /sys/fs/cgroup
    /dev/sdd1               3.7T  201G  3.5T   6% /mnt/sdd1
    /dev/sda6               946M  220M  726M  24% /boot
    tmpfs                    26G     0   26G   0% /run/user/5000
    gpfs1                   7.3T  9.1G  7.3T   1% /gpfs1
    tmpfs                    26G     0   26G   0% /run/user/0
    localhost:/mapr         100G     0  100G   0% /mapr
    10.63.150.92:/maprnfs3   53T  8.4G   53T   1% /tmp/testmount
    root@workr-138: tmp$
  11. MapR-FS NFS 게이트웨이에서 ONTAP NFS로 데이터를 전송하도록 NetApp XCP를 구성합니다.

    1. xCP에 대한 카탈로그 위치를 구성합니다.

      [root@hdp2 linux]# cat /opt/NetApp/xFiles/xcp/xcp.ini
      # Sample xcp config
      [xcp]
      #catalog =  10.63.150.51:/gpfs1
      catalog =  10.63.150.213:/nc_volume1
    2. 라이센스 파일을 '/opt/netapp/xFiles/xCP/'에 복사합니다.

      root@workr-138: src$ cd /opt/NetApp/xFiles/xcp/
      root@workr-138: xcp$ ls -ltrha
      total 252K
      drwxr-xr-x 3 root   root     16 Apr  4  2019 ..
      -rw-r--r-- 1 root   root    105 Dec  5 19:04 xcp.ini
      drwxr-xr-x 2 root   root     59 Dec  5 19:04 .
      -rw-r--r-- 1 faiz89 faiz89  336 Dec  6 21:12 license
      -rw-r--r-- 1 root   root    192 Dec  6 21:13 host
      -rw-r--r-- 1 root   root   236K Dec 17 14:12 xcp.log
      root@workr-138: xcp$
    3. xCP activate 명령을 사용하여 xCP를 활성화합니다.

    4. NFS 내보내기에 대한 소스를 확인합니다.

      [root@hdp2 linux]# ./xcp show 10.63.150.92
      XCP 1.4-17914d6; (c) 2019 NetApp, Inc.; Licensed to Karthikeyan Nagalingam [NetApp Inc] until Wed Feb  5 11:07:27 2020
      getting pmap dump from 10.63.150.92 port 111...
      getting export list from 10.63.150.92...
      sending 1 mount and 4 nfs requests to 10.63.150.92...
      == RPC Services ==
      '10.63.150.92': TCP rpc services: MNT v1/3, NFS v3/4, NFSACL v3, NLM v1/3/4, PMAP v2/3/4, STATUS v1
      '10.63.150.92': UDP rpc services: MNT v1/3, NFS v4, NFSACL v3, NLM v1/3/4, PMAP v2/3/4, STATUS v1
      == NFS Exports ==
       Mounts  Errors  Server
            1       0  10.63.150.92
           Space    Files      Space    Files
            Free     Free       Used     Used Export
        52.3 TiB    53.7B   8.36 GiB    53.7B 10.63.150.92:/maprnfs3
      == Attributes of NFS Exports ==
      drwxr-xr-x --- root root 2 2 10m51s 10.63.150.92:/maprnfs3
      1.77 KiB in (8.68 KiB/s), 3.16 KiB out (15.5 KiB/s), 0s.
      [root@hdp2 linux]#
    5. 여러 소스 IP 및 여러 대상 IP(ONTAP LIF)에서 여러 MapR 노드에서 XCP를 사용하여 데이터를 전송합니다.

      root@workr-138: linux$ ./xcp_yatin copy --parallel 20 10.63.150.96,10.63.150.97:/maprnfs3/tg4 10.63.150.85,10.63.150.86:/datapipeline_dataset/tg4_dest
      XCP 1.6-dev; (c) 2019 NetApp, Inc.; Licensed to Karthikeyan Nagalingam [NetApp Inc] until Wed Feb  5 11:07:27 2020
      xcp: WARNING: No index name has been specified, creating one with name: autoname_copy_2019-12-06_21.14.38.652652
      xcp: mount '10.63.150.96,10.63.150.97:/maprnfs3/tg4': WARNING: This NFS server only supports 1-second timestamp granularity. This may cause sync to fail because changes will often be undetectable.
       130 scanned, 128 giants, 3.59 GiB in (723 MiB/s), 3.60 GiB out (724 MiB/s), 5s
       130 scanned, 128 giants, 8.01 GiB in (889 MiB/s), 8.02 GiB out (890 MiB/s), 11s
       130 scanned, 128 giants, 12.6 GiB in (933 MiB/s), 12.6 GiB out (934 MiB/s), 16s
       130 scanned, 128 giants, 16.7 GiB in (830 MiB/s), 16.7 GiB out (831 MiB/s), 21s
       130 scanned, 128 giants, 21.1 GiB in (907 MiB/s), 21.1 GiB out (908 MiB/s), 26s
       130 scanned, 128 giants, 25.5 GiB in (893 MiB/s), 25.5 GiB out (894 MiB/s), 31s
       130 scanned, 128 giants, 29.6 GiB in (842 MiB/s), 29.6 GiB out (843 MiB/s), 36s
      ….
      [root@workr-140 linux]# ./xcp_yatin copy  --parallel 20 10.63.150.92:/maprnfs3/tg4_2 10.63.150.85,10.63.150.86:/datapipeline_dataset/tg4_2_dest
      XCP 1.6-dev; (c) 2019 NetApp, Inc.; Licensed to Karthikeyan Nagalingam [NetApp Inc] until Wed Feb  5 11:07:27 2020
      xcp: WARNING: No index name has been specified, creating one with name: autoname_copy_2019-12-06_21.14.24.637773
      xcp: mount '10.63.150.92:/maprnfs3/tg4_2': WARNING: This NFS server only supports 1-second timestamp granularity. This may cause sync to fail because changes will often be undetectable.
       130 scanned, 128 giants, 4.39 GiB in (896 MiB/s), 4.39 GiB out (897 MiB/s), 5s
       130 scanned, 128 giants, 9.94 GiB in (1.10 GiB/s), 9.96 GiB out (1.10 GiB/s), 10s
       130 scanned, 128 giants, 15.4 GiB in (1.09 GiB/s), 15.4 GiB out (1.09 GiB/s), 15s
       130 scanned, 128 giants, 20.1 GiB in (953 MiB/s), 20.1 GiB out (954 MiB/s), 20s
       130 scanned, 128 giants, 24.6 GiB in (928 MiB/s), 24.7 GiB out (929 MiB/s), 25s
       130 scanned, 128 giants, 29.0 GiB in (877 MiB/s), 29.0 GiB out (878 MiB/s), 31s
       130 scanned, 128 giants, 33.2 GiB in (852 MiB/s), 33.2 GiB out (853 MiB/s), 36s
       130 scanned, 128 giants, 37.8 GiB in (941 MiB/s), 37.8 GiB out (942 MiB/s), 41s
       130 scanned, 128 giants, 42.0 GiB in (860 MiB/s), 42.0 GiB out (861 MiB/s), 46s
       130 scanned, 128 giants, 46.1 GiB in (852 MiB/s), 46.2 GiB out (853 MiB/s), 51s
       130 scanned, 128 giants, 50.1 GiB in (816 MiB/s), 50.2 GiB out (817 MiB/s), 56s
       130 scanned, 128 giants, 54.1 GiB in (819 MiB/s), 54.2 GiB out (820 MiB/s), 1m1s
       130 scanned, 128 giants, 58.5 GiB in (897 MiB/s), 58.6 GiB out (898 MiB/s), 1m6s
       130 scanned, 128 giants, 62.9 GiB in (900 MiB/s), 63.0 GiB out (901 MiB/s), 1m11s
       130 scanned, 128 giants, 67.2 GiB in (876 MiB/s), 67.2 GiB out (877 MiB/s), 1m16s
    6. 스토리지 컨트롤러의 로드 분산을 확인합니다.

      Hadoop-AFF8080::*> statistics show-periodic -interval 2 -iterations 0 -summary true -object nic_common -counter rx_bytes|tx_bytes -node Hadoop-AFF8080-01 -instance e3b
      Hadoop-AFF8080: nic_common.e3b: 12/6/2019 15:55:04
       rx_bytes tx_bytes
       -------- --------
          879MB   4.67MB
          856MB   4.46MB
          973MB   5.66MB
          986MB   5.88MB
          945MB   5.30MB
          920MB   4.92MB
          894MB   4.76MB
          902MB   4.79MB
          886MB   4.68MB
          892MB   4.78MB
          908MB   4.96MB
          905MB   4.85MB
          899MB   4.83MB
      Hadoop-AFF8080::*> statistics show-periodic -interval 2 -iterations 0 -summary true -object nic_common -counter rx_bytes|tx_bytes -node Hadoop-AFF8080-01 -instance e9b
      Hadoop-AFF8080: nic_common.e9b: 12/6/2019 15:55:07
       rx_bytes tx_bytes
       -------- --------
          950MB   4.93MB
          991MB   5.84MB
          959MB   5.63MB
          914MB   5.06MB
          903MB   4.81MB
          899MB   4.73MB
          892MB   4.71MB
          890MB   4.72MB
          905MB   4.86MB
          902MB   4.90MB