Dell EMC Unity. Как настроить NIS/Netgroup для экспорта NFS в Unity (исправляется пользователем)
Summary: Настройка NIS/локального файла Netgroup/Netgroup для экспорта NFS в Unity
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
Предварительные требования
NIS/сетевая группа в Unity.
Unity работает с сервером NIS для разрешения имен netgroup->host, рабочий механизм выглядит следующим образом. (Дополнительные сведения см. в прилагаемом файле tcpdump NIS.cap)
Локальная/сетевая группа в Unity.
Процедура (определение сетевой группы на сервере NIS).
Шаг 1. Настройка в Unity
Примечание
Шаг 2. Настройка на сервере NIS (я использую CentOS6.2 и его собственное программное обеспечение NIS в качестве сервера NIS)
Тест
Смонтируйте общий ресурс NFS с хоста, который не принадлежит к сетевой группе mfgnasroot, доступ будет запрещен.
- Настройте сетевую группу для общих ресурсов NFS в Unity.
- Используйте сервер NIS для разрешения имен netgroup->host. В этой статье базы знаний для тестирования используется собственный сервер NIS CentOS 6.2. Другой сервер NIS должен иметь метод настройки владельца, но теоретическая основа будет такая же.
- Сетевой порт для NIS/NFS/RPC разрешен.
NIS/сетевая группа в Unity.
Unity работает с сервером NIS для разрешения имен netgroup->host, рабочий механизм выглядит следующим образом. (Дополнительные сведения см. в прилагаемом файле tcpdump NIS.cap)
- Когда клиент NFS пытается смонтировать общие ресурсы NFS в Unity, Unity получает IP-адрес клиента NFS.
- Unity отправляет «YP match call» на сервер NIS с IP-адресом клиента NFS серверу NIS, а сервер NIS отвечает «YP match response» с именем хоста.
- Если на сервере NIS нет правильной записи имени хоста (на шаге 2), Unity отправляет запрос PTR DNS на DNS-сервер, запрашивая запись PTR имени хоста.
- Unity отправляет «YP match call» на сервер NIS с именем хоста клиента NFS серверу NIS, а сервер NIS отвечает «YP match call» с именем сетевой группы.
Локальная/сетевая группа в Unity.
- Когда клиент NFS пытается смонтировать общие ресурсы NFS в Unity, Unity получает IP-адрес клиента NFS.
- Unity попыталась сопоставить IP-адрес с именем хоста на локальных хостах сервера NAS.
- Если в локальном файле хостов нет правильной записи имени хоста (на шаге 2), Unity отправляет запрос PTR DNS на DNS-сервер, запрашивая запись PTR имени хоста.
- Unity попыталась сопоставить имя хоста с именем хоста в локальной сетевой группе на сервере NAS.
Примечания.
Unity поддерживает определение сетевой группы в файле локальной сетевой группы начиная с Unity OE 4.1.x
Unity НЕ поддерживает файл локальной сетевой группы до Unity OE 4.1.x.
Unity поддерживает определение сетевой группы в файле локальной сетевой группы начиная с Unity OE 4.1.x
Unity НЕ поддерживает файл локальной сетевой группы до Unity OE 4.1.x.
Процедура (определение сетевой группы на сервере NIS).
Шаг 1. Настройка в Unity
- В меню Hosts добавьте Netgroup Test1 с сетевой группой mfgnasroot
Примечание
- Определяемое имя «Netgroup» mfgnasroot должно совпадать с именем сетевой группы на сервере NIS.
- НЕ используйте символ _ в имени сетевой группы. Наличие символа _ в имени сетевой группы может привести к некоторым проблемам.
- Перейдите в раздел «File -> NAS Servers -> NAS Server Properties -> Naming Services-LDAP/NIS» и добавьте сервер NIS с параметром «celerra», определенным как «NIS Domain», как показано на снимке экрана ниже.
- В разделе «File -> NFS Shares -> Share Properties -> Host Access» добавьте netgroup Test с полномочиями пользователя root
Шаг 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, как показано ниже (монтирование NFS завершится сбоем, если поле домена NIS останется пустым)
# 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. nis.example.com должен быть в списке хостов сервера NIS. Продолжайте добавлять имя хоста для других хостов, по одной записи имени хоста в каждой строке, и после завершения списка введите <control D>.
next host to add:nis.example.com
next host to add:
The current list of NIS servers looks like this:
nis.example.com
Is this correct?[y/n: y]y
We need a few minutes to build the databases...
Building /var/yp/celerra/ypservers...
Running /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]: Leaving directory `/var/yp/celerra'
nis.example.com has been set up as a NIS master server.
Теперь можно запустить ypinit -s nis.example.com на полностью подчиненном сервере.
На этом этапе необходимо создать список хостов, которые будут запускать серверы NIS. nis.example.com должен быть в списке хостов сервера NIS. Продолжайте добавлять имя хоста для других хостов, по одной записи имени хоста в каждой строке, и после завершения списка введите <control D>.
next host to add:nis.example.com
next host to add:
The current list of NIS servers looks like this:
nis.example.com
Is this correct?[y/n: y]y
We need a few minutes to build the databases...
Building /var/yp/celerra/ypservers...
Running /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]: Leaving directory `/var/yp/celerra'
nis.example.com has been set up as a NIS master server.
Теперь можно запустить ypinit -s nis.example.com на полностью подчиненном сервере.
Тест
Смонтируйте общий ресурс NFS с хоста, который не принадлежит к сетевой группе mfgnasroot, доступ будет запрещен.
[root@nis ~]# mount xxx.xxx.xxx.xxx:/Test /mnt
mount.nfs: access denied by server while mounting xxx.xxx.xxx.xxx:/Test
mount.nfs: access denied by server while mounting xxx.xxx.xxx.xxx:/Test
Смонтируйте общий ресурс NFS с хоста, который принадлежит к сетевой группе mfgnasroot, доступ будет разрешен.
[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
Процедура (определение сетевой группы в локальном файле).
Шаг 1. Настройка в Unity
Примечание
Пример файла hosts.
# Файл hosts содержит список IP-адресов с соответствующими им именами хостов.
#
# Каждая строка файла hosts определяет хост и имеет формат:
# IP_address hostname aliases
# где:
# - IP_address — это IP-адрес хоста.
# - hostname — официальное имя хоста.
# - aliases предусмотрено для изменения имен, альтернативных написаний, более коротких имен хостов или распространенных имен хостов (например, 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
Example of netgroup file:
# Файл netgroup содержит список имен сетевых групп со списком имен хостов, принадлежащих группе.
# Помимо сопоставления хостов с сетевыми группами, он также сопоставляет пользователей с сетевыми группами.
#
# Каждая строка файла netgroup определяет группу и имеет формат:
# groupname member1 member2 ...
#
# Каждый участник — это имя другой группы или указание конкретных хостов, пользователей и доменов, называемое тройкой, например:
# (hostname,username,domainname)
#
# Любое из трех полей тройки может быть пустым, что означает, что все значения в этом поле включены.
# Дефис (-) в любом из полей означает, что допустимых значений нет.
# Например, в следующей строке определяется группа под названием ouruniverse, которая состоит из всех хостов и пользователей в домене NIS ourdomain.
# ouruniverse (,,ourdomain)
#
# Следующие строки определяют группу под названием ourhosts, которая включает все хосты, но не включает ни одного из пользователей в домене,
# и группу под названием ourusers, которая включает всех пользователей, но ни один из хостов.
# ourhosts (,-,ourdomain)
# ourusers (-,,ourdomain)
#
# В следующей строке определяется группа под названием ouruniverse, которая состоит из двух хостов: hostatlanta и hostboston.
# ouruniverse (hostatlanta,,),(hostboston,,)
#
# Примечание. IP-адреса не разрешены.
#
# Файл netgroup может содержать столько строк, сколько требуется, однако длина каждой строки должна быть меньше 1 Кбайт.
# Если необходимо, строку можно продолжить на следующей строке, используя обратную косую черту (\) в качестве символа продолжения.
# Однако тройку нельзя разделить на две строки.
#
# Примечание. Если вы используете обратную косую черту (\) в качестве символа продолжения, она должна быть последним символом в строке. После нее не может быть пробелов.
mfgnasroot (opennms,,example.com),(vnx5400-1cs1,,example.com),(vnx5400-1cs0,,example.com)
Тест
Смонтируйте общий ресурс NFS с хоста, который не принадлежит к сетевой группе mfgnasroot, доступ будет запрещен.
Шаг 1. Настройка в Unity
- В меню Hosts добавьте Netgroup Eric1 с сетевой группой mfgnasroot
Примечание
- Определяемое имя «Netgroup» mfgnasroot должно совпадать с именем сетевой группы в локальном файле netgroup.
- НЕ используйте символ _ в имени сетевой группы. Наличие символа _ в имени сетевой группы может привести к некоторым проблемам.
- Перейдите в раздел «File -> NAS Servers -> NAS Server Properties -> Naming Services - Local Files». Извлеките текущий файл hosts и файл netgroup; обновите их с помощью Notepad++; сохраните их в формате Unix; загрузите в финальном виде.
Пример файла hosts.
# Файл hosts содержит список IP-адресов с соответствующими им именами хостов.
#
# Каждая строка файла hosts определяет хост и имеет формат:
# IP_address hostname aliases
# где:
# - IP_address — это IP-адрес хоста.
# - hostname — официальное имя хоста.
# - aliases предусмотрено для изменения имен, альтернативных написаний, более коротких имен хостов или распространенных имен хостов (например, 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
Example of netgroup file:
# Файл netgroup содержит список имен сетевых групп со списком имен хостов, принадлежащих группе.
# Помимо сопоставления хостов с сетевыми группами, он также сопоставляет пользователей с сетевыми группами.
#
# Каждая строка файла netgroup определяет группу и имеет формат:
# groupname member1 member2 ...
#
# Каждый участник — это имя другой группы или указание конкретных хостов, пользователей и доменов, называемое тройкой, например:
# (hostname,username,domainname)
#
# Любое из трех полей тройки может быть пустым, что означает, что все значения в этом поле включены.
# Дефис (-) в любом из полей означает, что допустимых значений нет.
# Например, в следующей строке определяется группа под названием ouruniverse, которая состоит из всех хостов и пользователей в домене NIS ourdomain.
# ouruniverse (,,ourdomain)
#
# Следующие строки определяют группу под названием ourhosts, которая включает все хосты, но не включает ни одного из пользователей в домене,
# и группу под названием ourusers, которая включает всех пользователей, но ни один из хостов.
# ourhosts (,-,ourdomain)
# ourusers (-,,ourdomain)
#
# В следующей строке определяется группа под названием ouruniverse, которая состоит из двух хостов: hostatlanta и hostboston.
# ouruniverse (hostatlanta,,),(hostboston,,)
#
# Примечание. IP-адреса не разрешены.
#
# Файл netgroup может содержать столько строк, сколько требуется, однако длина каждой строки должна быть меньше 1 Кбайт.
# Если необходимо, строку можно продолжить на следующей строке, используя обратную косую черту (\) в качестве символа продолжения.
# Однако тройку нельзя разделить на две строки.
#
# Примечание. Если вы используете обратную косую черту (\) в качестве символа продолжения, она должна быть последним символом в строке. После нее не может быть пробелов.
mfgnasroot (opennms,,example.com),(vnx5400-1cs1,,example.com),(vnx5400-1cs0,,example.com)
- В разделе «File -> NFS Shares -> Share Properties -> Host Access» добавьте netgroup Eric1 с полномочиями пользователя root
Тест
Смонтируйте общий ресурс NFS с хоста, который не принадлежит к сетевой группе mfgnasroot, доступ будет запрещен.
[root@VNX5400-1CS0 ~]# mount xxx.xxx.xxx.xxx:/unity_nfs /mnt
mount: xxx.xxx.xxx.xxx: /unity_nfs failed, reason given by server: Permission denied
mount: xxx.xxx.xxx.xxx: /unity_nfs failed, reason given by server: Permission denied
Смонтируйте общий ресурс NFS с хоста, который принадлежит к сетевой группе mfgnasroot, доступ будет разрешен.
[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. В противном случае будет возвращено сообщение об ошибке «failed invalid DNS name...».
- Для нескольких IP-адресов в сетевой группе создайте записи хоста/подсети в меню хоста, если необходимо определить IP-адреса/диапазон для общего ресурса NFS.
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.