MapR-FS에서 ONTAP NFS로
이 섹션에서는 NetApp XCP를 사용하여 MapR-FS 데이터를 ONTAP NFS로 이동하는 데 필요한 자세한 단계를 제공합니다.
-
각 MapR 노드에 대해 LUN 3개를 프로비저닝하고 모든 MapR 노드에 대한 LUN 소유권을 제공합니다.
-
설치 중에 MapR-FS에 사용되는 MapR 클러스터 디스크에 새로 추가된 LUN을 선택합니다.
-
MapR 6.1 설명서에 따라 MapR 클러스터를 설치합니다.
-
Hadoop Jar xxx와 같은 MapReduce 명령을 사용하여 기본 Hadoop 작업을 확인합니다.
-
고객 데이터를 MapR-FS에 유지 예를 들어, Teragen을 사용하여 MapR-FS에서 약 테라바이트의 샘플 데이터를 생성했습니다.
-
MapR-FS를 NFS 내보내기로 구성합니다.
-
모든 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
-
'/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 ~]$
-
-
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
-
MapR 클러스터의 특정 서버 또는 서버 세트에 가상 IP 범위를 할당합니다. 그런 다음 MapR 클러스터는 NFS 데이터 액세스를 위해 특정 서버에 IP를 할당합니다. IP를 통해 고가용성을 구현할 수 있습니다. 즉, 특정 IP를 사용하는 서버 또는 네트워크에 장애가 발생할 경우 IP 범위의 다음 IP를 NFS 액세스에 사용할 수 있습니다.
모든 MapR 노드에서 NFS 액세스를 제공하려면 각 서버에 가상 IP 세트를 할당하고 NFS 데이터 액세스를 위해 각 MapR 노드의 리소스를 사용할 수 있습니다. -
각 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 ~]#
-
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$
-
MapR-FS NFS 게이트웨이에서 ONTAP NFS로 데이터를 전송하도록 NetApp XCP를 구성합니다.
-
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
-
라이센스 파일을 '/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$
-
xCP activate 명령을 사용하여 xCP를 활성화합니다.
-
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]#
-
여러 소스 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
-
스토리지 컨트롤러의 로드 분산을 확인합니다.
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
-