Dell EMC Unity: Unity에서 NFS 내보내기를 위한 NIS/Netgroup을 구성하는 방법(사용자 수정 가능)
Summary: Unity에서 NFS 내보내기를 위한 NIS/Netgroup 로컬 파일/Netgroup을 구성하는 방법
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Instructions
필수 구성 요소:
Unity의 NIS/Negroup입니다.
Unity는 netgroup->호스트 이름 확인을 위해 NIS 서버와 함께 작동합니다. 작동 메커니즘은 아래와 같습니다. (자세한 내용은 첨부한 tcpdump NIS.cap 참조)
Unity의 로컬/Netgroup:
절차(NIS 서버에서 netgroup 정의):
1단계 - Unity에서 구성
참고
2단계 - NIS 서버에서 구성(CentOS6.2 및 기본 NIS 소프트웨어를 NIS 서버로 사용)
netgroup mfgnasroot, access deny에 속하지 않는 호스트에서 NFS 공유를 테스트합니다.
- Unity에서 NFS 공유에 대한 netgroup을 구성합니다.
- NIS 서버를 사용해 netgroup->host 이름 확인을 수행하십시오. 이 KB는 테스트에 CentOS 6.2의 기본 NIS 서버를 사용합니다. 다른 NIS 서버에는 소유자 구성 방법이 있어야 하지만 이론은 동일해야 합니다.
- NIS/NFS/RPC용 네트워크 포트가 허용됩니다.
Unity의 NIS/Negroup입니다.
Unity는 netgroup->호스트 이름 확인을 위해 NIS 서버와 함께 작동합니다. 작동 메커니즘은 아래와 같습니다. (자세한 내용은 첨부한 tcpdump NIS.cap 참조)
- NFS 클라이언트가 Unity에 NFS 공유를 마운트하려고 하면 Unity가 NFS 클라이언트의 IP 주소를 가져옵니다.
- Unity는 NIS 서버에 NFS 클라이언트 IP 주소를 포함한 "YP 일치 호출"을 전송하고, NIS 서버는 호스트 이름으로 "YP 일치 응답"을 응답합니다.
- NIS 서버에 올바른 호스트 이름 항목이 없는 경우(2단계) Unity는 DNS PTR 쿼리를 DNS 서버로 전송하고 호스트 이름의 PTR 레코드를 쿼리합니다.
- Unity는 NFS 클라이언트 호스트 이름이 있는 NIS 서버로 "YP 일치 호출"을 전송하고 NIS 서버는 넷그룹 이름으로 "YP 일치 호출"에 응답합니다.
Unity의 로컬/Netgroup:
- NFS 클라이언트가 Unity에 NFS 공유를 마운트하려고 하면 Unity가 NFS 클라이언트의 IP 주소를 가져옵니다.
- Unity가 IP 주소를 NAS 서버 내의 로컬 호스트에 있는 호스트 이름과 일치시키려고 했습니다.
- 로컬 호스트 파일에 올바른 호스트 이름 항목이 없는 경우(2단계) Unity는 DNS PTR 쿼리를 DNS 서버에 전송하고 호스트 이름의 PTR 레코드를 쿼리합니다.
- Unity가 호스트 이름을 NAS 서버 내의 로컬 netgroup에 있는 호스트 이름과 일치시키려고 했습니다.
참고:
Unity는 Unity OE 4.1.x의 로컬 netgroup 파일에서 netgroup 정의를 지원합니다
. Unity는 Unity OE 4.1.x 이전의 로컬 netgroup 파일을 지원하지 않습니다.
Unity는 Unity OE 4.1.x의 로컬 netgroup 파일에서 netgroup 정의를 지원합니다
. Unity는 Unity OE 4.1.x 이전의 로컬 netgroup 파일을 지원하지 않습니다.
절차(NIS 서버에서 netgroup 정의):
1단계 - Unity에서 구성
- Hosts 메뉴에서 netgroup mfgnasroot를 사용하여 Netgroup Test1을 추가합니다.
참고
- NIS "Netgroup" 이름과 일치해야 하는 "Netgroup" 이름은 mfgnasroot입니다.
- netgroup 이름에 _을 사용하지 마십시오. netgroup 이름에 _을 사용하면 몇 가지 문제가 발생할 수 있습니다.
- "File -> NAS Servers -> NAS server Properties -> Naming Services-LDAP/NIS"로 이동하고 아래 스크린샷과 같이 "celerra"가 "NIS Domain"으로 정의되어 있는 NIS 서버를 추가합니다.
- "File -> NFS Shares - Share> Properties -> Host Access"에서 루트 권한으로 netgroup 테스트 추가
2단계 - NIS 서버에서 구성(CentOS6.2 및 기본 NIS 소프트웨어를 NIS 서버로 사용)
- 아래 패킷이 설치되어 있는지 확인합니다.
# rpm -qa|egrep -i "^yp|^rpc"
ypserv-2.19-22.el6.x86_64
ypbind-1.20.4-29.el6.x86_64
yp-tools-2.9-12.el6.x86_64
rpcbind-0.2.0-8.el6.x86_64
ypserv-2.19-22.el6.x86_64
ypbind-1.20.4-29.el6.x86_64
yp-tools-2.9-12.el6.x86_64
rpcbind-0.2.0-8.el6.x86_64
- NIS 도메인 이름 정의
# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=nis.example.com
GATEWAY=xxx.xxx.xxx.xxx
NISDOMAIN=celerra
NETWORKING=yes
HOSTNAME=nis.example.com
GATEWAY=xxx.xxx.xxx.xxx
NISDOMAIN=celerra
- 호스트 이름과 IP 주소를 "/etc/hosts"(파란색)에 추가합니다. ypinit는 "/etc/hosts" 파일을 사용하여 YP 데이터베이스를 구축합니다.
# cat /etc/hosts
127.0.0.1localhost localhost.localdomain localhost4 localhost4.localdomain4
::1localhost localhost.localdomain localhost6 localhost6.localdomain6
xxx.xxx.xxx.xxx 5700CS139.example.com
xxx.xxx.xxx.xxx VNX5400_107.example.com
xxx.xxx.xxx.xxx nis.example.com nis
127.0.0.1localhost localhost.localdomain localhost4 localhost4.localdomain4
::1localhost localhost.localdomain localhost6 localhost6.localdomain6
xxx.xxx.xxx.xxx 5700CS139.example.com
xxx.xxx.xxx.xxx VNX5400_107.example.com
xxx.xxx.xxx.xxx nis.example.com nis
- "/etc/netgroup" 파일에 호스트 이름을 추가하고 아래와 같이 NIS 도메인 이름을 추가합니다(NIS 도메인 필드를 비워 두면 NFS 마운트가 실패함).
# cat /etc/netgroup
mfgnasroot (5700CS139.example.com,,celerra) (VNX5400_107.example.com,,celerra)
mfgnasroot (5700CS139.example.com,,celerra) (VNX5400_107.example.com,,celerra)
- ypbind, ypserver 및 rpcbind 서비스가 실행 중인지 확인합니다.
# service ypbind status
ypbind (pid16711) is running...
# service ypserv status
ypserv (pid16758) is running...
# service rpcbind status
rpcbind (pid1274) is running...
ypbind (pid16711) is running...
# service ypserv status
ypserv (pid16758) is running...
# service rpcbind status
rpcbind (pid1274) is running...
- YP 데이터베이스를 초기화합니다.
# /usr/lib64/yp/ypinit -m
이 시점에서 NIS 서버를 실행할 호스트 목록을 구성해야 합니다. servers.nis.example.com은 NIS 서버 호스트 목록에 있습니다. 다른 호스트에 대해 호스트 이름을 계속 추가하고 한 줄에 호스트 이름 항목을 하나씩 입력하고 목록을 완료하면 <컨트롤 D>를 입력합니다.
추가할 다음 호스트: nis.example.com
추가할 다음 호스트:
현재 NIS 서버 목록은 다음과 같습니다.
nis.example.com
맞습니까?[y/n: y]y
데이터베이스를 구축하는 데 몇 분 정도 걸립니다.
/var/yp/celerra/ypservers...를 구축 중입니다.
/var/yp/Makefile 실행 중...
gmake[1]: Entering directory `/var/yp/celerra'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
Updating netgroup...
Updating netgroup.byhost...
Updating netgroup.byuser...
gmake[1]: 디렉토리 '/var/yp/celerra' 나가기
nis.example.com이 NIS 마스터 서버로 설정되었습니다.
이제 모든 슬레이브 서버에서 ypinit -s nis.example.com 를 실행할 수 있습니다.
이 시점에서 NIS 서버를 실행할 호스트 목록을 구성해야 합니다. servers.nis.example.com은 NIS 서버 호스트 목록에 있습니다. 다른 호스트에 대해 호스트 이름을 계속 추가하고 한 줄에 호스트 이름 항목을 하나씩 입력하고 목록을 완료하면 <컨트롤 D>를 입력합니다.
추가할 다음 호스트: nis.example.com
추가할 다음 호스트:
현재 NIS 서버 목록은 다음과 같습니다.
nis.example.com
맞습니까?[y/n: y]y
데이터베이스를 구축하는 데 몇 분 정도 걸립니다.
/var/yp/celerra/ypservers...를 구축 중입니다.
/var/yp/Makefile 실행 중...
gmake[1]: Entering directory `/var/yp/celerra'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
Updating netgroup...
Updating netgroup.byhost...
Updating netgroup.byuser...
gmake[1]: 디렉토리 '/var/yp/celerra' 나가기
nis.example.com이 NIS 마스터 서버로 설정되었습니다.
이제 모든 슬레이브 서버에서 ypinit -s nis.example.com 를 실행할 수 있습니다.
netgroup mfgnasroot, access deny에 속하지 않는 호스트에서 NFS 공유를 테스트합니다.
[ROOT@NIS ~]# mount xxx.xxx.xxx.xxx:/Test /mnt
mount.nfs: xxx.xxx.xxx.xxx를 마운트하는 동안 서버에서 액세스가 거부되었습니다.
mount.nfs: xxx.xxx.xxx.xxx를 마운트하는 동안 서버에서 액세스가 거부되었습니다.
netgroup mfgnasroot에 속하는 호스트에서 NFS 공유를 마운트합니다. 액세스에 성공했습니다.
[root@5700CS139 nasadmin]# mount xxx.xxx.xxx.xxx:/Test /mnt
[root@5700CS139 nasadmin]# cd /mnt
[root@5700CS139 mnt]# touch 139
[root@VNX5400_107 nasadmin]# mount xxx.xxx.xxx.xxx:/Test /mnt
[root@VNX5400_107 nasadmin]# cd /mnt
[root@VNX5400_107 mnt]# touch 107
[root@5700CS139 nasadmin]# cd /mnt
[root@5700CS139 mnt]# touch 139
[root@VNX5400_107 nasadmin]# mount xxx.xxx.xxx.xxx:/Test /mnt
[root@VNX5400_107 nasadmin]# cd /mnt
[root@VNX5400_107 mnt]# touch 107
절차(로컬 파일에서 netgroup 정의):
1단계 - Unity에서 구성
참고
업로드된 파일의 예:
# 호스트 파일에는 해당 호스트 이름과 함께 IP 주소 목록이 포함되어 있습니다.
#
# 호스트 파일의 각 줄은 호스트를 정의하며 다음 형식을 가집니다.
# IP_address 호스트 이름 별칭
# 여기:
# - IP_address는 호스트의 IP 주소입니다.
# - 호스트 이름은 호스트의 공식 이름입니다.
# - 별칭은 이름 변경, 대체 철자, 짧은 호스트 이름 또는 일반 호스트 이름(예: localhost)을 제공합니다.
# # 필드는 원하는 수의 공백 또는 탭 문자 또는 둘 다로 구분됩니다.
#
xxx.xxx.xxx.xxx opennms.example.com opennms
xxx.xxx.xxx.xxx vnx5400-1cs0.example.com vnx5400-1cs0
xxx.xxx.xxx.xxx vnx5400-1cs1.example.com vnx5400-1cs1
netgroup 파일 예:
# netgroup 파일에는 그룹에 속한 호스트의 호스트 이름 목록과 함께 네트워크 그룹 이름 목록이 포함되어 있습니다.
# 호스트를 네트워크 그룹에 매핑하는 것 외에도 사용자를 네트워크 그룹에 매핑합니다.
# # netgroup 파일의 각 줄은 그룹을 정의하며 다음 형식을 가집니다.
# 그룹 이름 member1 member2 ...
#
# 각 구성원은 다른 그룹의 이름이거나 특정 호스트, 사용자 및 도메인을 나타내며 다음과 같이 트리플이라고 합니다.
# (hostname,username,domainname)
# #
# 트리플의 세 필드 중 어느 것도 비워 둘 수 있습니다. 즉, 해당 필드의 모든 값이 포함됩니다.
# 필드의 대시(-)는 유효한 값이 없음을 의미합니다.
# 예를 들어 다음 줄은 NIS 도메인 ourdomain의 모든 호스트와 사용자로 구성된 ouruniverse라는 그룹을 정의합니다.
# ouruniverse (,,ourdomain)
#
# 다음 줄은 도메인의 모든 호스트를 포함하지만 모든 사용자는 포함하지 않는 ourhosts라는 그룹,
# 및 모든 사용자를 포함하지만 호스트는 포함하지 않는 ourusers라는 그룹을 정의합니다.
# ourhosts (,-,ourdomain)
# ourusers (-,,ourdomain)
# #
# 다음 줄은 두 개의 호스트 hostatlanta와 hostboston으로 구성된 ouruniverse라는 그룹을 정의합니다.
# ouruniverse(hostatlanta,,),(hostboston,,)
# #
참고: IP 주소는 허용되지 않습니다.
# # netgroup 파일에는 필요한 만큼 많은 줄이 포함될 수 있지만 각 줄의 길이는 1KB 미만이어야 합니다.
# 필요한 경우 백슬래시(\)를 연속 문자로 사용하여 다른 줄에서 줄을 계속할 수 있습니다.
# 그러나 트리플은 두 줄로 나눌 수 없습니다.
#
# 참고: 연속 문자로 백슬래시(\)를 사용하는 경우 줄의 마지막 문자여야 합니다. 뒤에 공백이 올 수 없습니다.
mfgnasroot (opennms,,example.com),(vnx5400-1cs1,,example.com),(vnx5400-1cs0,,example.com)
netgroup mfgnasroot, access deny에 속하지 않는 호스트에서 NFS 공유를 테스트합니다.
1단계 - Unity에서 구성
- Hosts 메뉴에서 netgroup mfgnasroot를 사용하여 Netgroup Eric1을 추가합니다.
참고
- 정의된 "netgroup" 이름 mfgnasroot는 로컬 파일 netgroup의 netgroup 이름과 일치해야 합니다.
- netgroup 이름에 _을 사용하지 마십시오. netgroup 이름에 _을 사용하면 몇 가지 문제가 발생할 수 있습니다.
- "File -> NAS Servers -> NAS server Properties -> Naming Services-Local Files"로 이동합니다. 현재 호스트 파일 및 netgroup 파일을 검색하고 Notepad++로 업데이트하고 Unix 형식으로 저장한 다음 최종 단계에서 업로드하십시오.
업로드된 파일의 예:
# 호스트 파일에는 해당 호스트 이름과 함께 IP 주소 목록이 포함되어 있습니다.
#
# 호스트 파일의 각 줄은 호스트를 정의하며 다음 형식을 가집니다.
# IP_address 호스트 이름 별칭
# 여기:
# - IP_address는 호스트의 IP 주소입니다.
# - 호스트 이름은 호스트의 공식 이름입니다.
# - 별칭은 이름 변경, 대체 철자, 짧은 호스트 이름 또는 일반 호스트 이름(예: localhost)을 제공합니다.
# # 필드는 원하는 수의 공백 또는 탭 문자 또는 둘 다로 구분됩니다.
#
xxx.xxx.xxx.xxx opennms.example.com opennms
xxx.xxx.xxx.xxx vnx5400-1cs0.example.com vnx5400-1cs0
xxx.xxx.xxx.xxx vnx5400-1cs1.example.com vnx5400-1cs1
netgroup 파일 예:
# netgroup 파일에는 그룹에 속한 호스트의 호스트 이름 목록과 함께 네트워크 그룹 이름 목록이 포함되어 있습니다.
# 호스트를 네트워크 그룹에 매핑하는 것 외에도 사용자를 네트워크 그룹에 매핑합니다.
# # netgroup 파일의 각 줄은 그룹을 정의하며 다음 형식을 가집니다.
# 그룹 이름 member1 member2 ...
#
# 각 구성원은 다른 그룹의 이름이거나 특정 호스트, 사용자 및 도메인을 나타내며 다음과 같이 트리플이라고 합니다.
# (hostname,username,domainname)
# #
# 트리플의 세 필드 중 어느 것도 비워 둘 수 있습니다. 즉, 해당 필드의 모든 값이 포함됩니다.
# 필드의 대시(-)는 유효한 값이 없음을 의미합니다.
# 예를 들어 다음 줄은 NIS 도메인 ourdomain의 모든 호스트와 사용자로 구성된 ouruniverse라는 그룹을 정의합니다.
# ouruniverse (,,ourdomain)
#
# 다음 줄은 도메인의 모든 호스트를 포함하지만 모든 사용자는 포함하지 않는 ourhosts라는 그룹,
# 및 모든 사용자를 포함하지만 호스트는 포함하지 않는 ourusers라는 그룹을 정의합니다.
# ourhosts (,-,ourdomain)
# ourusers (-,,ourdomain)
# #
# 다음 줄은 두 개의 호스트 hostatlanta와 hostboston으로 구성된 ouruniverse라는 그룹을 정의합니다.
# ouruniverse(hostatlanta,,),(hostboston,,)
# #
참고: IP 주소는 허용되지 않습니다.
# # netgroup 파일에는 필요한 만큼 많은 줄이 포함될 수 있지만 각 줄의 길이는 1KB 미만이어야 합니다.
# 필요한 경우 백슬래시(\)를 연속 문자로 사용하여 다른 줄에서 줄을 계속할 수 있습니다.
# 그러나 트리플은 두 줄로 나눌 수 없습니다.
#
# 참고: 연속 문자로 백슬래시(\)를 사용하는 경우 줄의 마지막 문자여야 합니다. 뒤에 공백이 올 수 없습니다.
mfgnasroot (opennms,,example.com),(vnx5400-1cs1,,example.com),(vnx5400-1cs0,,example.com)
- "File -> NFS Shares - Share> Properties -> Host Access"에서 루트 권한으로 netgroup Eric1을 추가합니다.
netgroup mfgnasroot, access deny에 속하지 않는 호스트에서 NFS 공유를 테스트합니다.
[root@VNX5400-1CS0 ~]# mount xxx.xxx.xxx.xxx:/unity_nfs /mnt
mount: xxx.xxx.xxx.xxx: /unity_nfs 실패, 서버에서 지정한 이유: 사용 권한 거부됨
mount: xxx.xxx.xxx.xxx: /unity_nfs 실패, 서버에서 지정한 이유: 사용 권한 거부됨
netgroup mfgnasroot에 속하는 호스트에서 NFS 공유를 마운트합니다. 액세스에 성공했습니다.
[root@opennms ~]# mount xxx.xxx.xxx.xxx:/unity_nfs /mnt
[root@opennms ~]# umount /mnt
[root@opennms ~]# mount xxx.xxx.xxx.xxx:/unity_nfs /mnt
[root@opennms ~]# cd /mnt
[root@opennms mnt]# touch opennms
[root@opennms mnt]# ll
total 102528
-rw-r--r-- 1 root root 104857600 Jun 12 23:51 emctest
drwxr-xr-x 6 root root 8192 Jun 13 02:42 eric
drwxr-xr-x 2 root root 8192 Jun 5 06:11 lost+found
-rw-r--r-- 1 root root 0 Jul 13 2017 opennms
[root@opennms ~]# umount /mnt
[root@opennms ~]# mount xxx.xxx.xxx.xxx:/unity_nfs /mnt
[root@opennms ~]# cd /mnt
[root@opennms mnt]# touch opennms
[root@opennms mnt]# ll
total 102528
-rw-r--r-- 1 root root 104857600 Jun 12 23:51 emctest
drwxr-xr-x 6 root root 8192 Jun 13 02:42 eric
drwxr-xr-x 2 root root 8192 Jun 5 06:11 lost+found
-rw-r--r-- 1 root root 0 Jul 13 2017 opennms
Additional Information
- Unity GUI에서 netgroup을 추가할 때 netgroup 이름에 "_"를 사용하지 마십시오. 그렇지 않으면 "failed invalid DNS name...."라는 오류 메시지가 반환됩니다.
- netgroup에 여러 개의 IP 주소가 있는 경우, NFS 공유를 위한 IP 주소/범위를 정의해야 한다면 호스트 메뉴에서 호스트/서브넷 항목을 만듭니다.
Affected Products
Dell EMC Unity FamilyProducts
Dell EMC Unity Family, Dell EMC Unity HybridArticle Properties
Article Number: 000022455
Article Type: How To
Last Modified: 16 Jun 2025
Version: 3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.