Dell EMC Unity: Jak skonfigurować NIS/grupę sieciową do eksportu NFS w Unity (możliwość naprawienia przez użytkownika)
Summary: Jak skonfigurować NIS/grupę sieciową/plik lokalny/grupę sieciową do eksportu NFS w 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
Wymagania wstępne:
NIS/Negroup w Unity.
Unity współpracuje z serwerem NIS w celu rozpoznawania nazw grupa sieciowa->host, mechanizm działania jest jak poniżej. (Więcej szczegółów w załączonym pliku tcpdump NIS.cap)
Grupa lokalna/sieciowa w Unity:
Procedura (definiowanie grupy sieciowej na serwerze NIS):
Krok 1. Konfiguracja w Unity
Uwaga
Krok 2. Konfiguracja na serwerze NIS (używam CentOS6.2 i jego natywnego oprogramowania NIS jako serwera NIS)
Test
Montowanie udziału NFS z hosta, który nie należy do grupy sieciowej mfgnasroot, odmowa dostępu.
- Skonfiguruj grupę sieciową dla udziałów NFS w Unity.
- Użyj serwera sieciowej usługi informacyjnej do rozpoznawania nazw grupa sieciowa->host. Ta baza wiedzy używa do testów natywnego serwera NIS CentOS 6.2. Inny serwer NIS powinien mieć metodę konfiguracji właściciela, ale teoria powinna być taka sama.
- Port sieciowy dla NIS/NFS/RPC jest dozwolony.
NIS/Negroup w Unity.
Unity współpracuje z serwerem NIS w celu rozpoznawania nazw grupa sieciowa->host, mechanizm działania jest jak poniżej. (Więcej szczegółów w załączonym pliku tcpdump NIS.cap)
- Gdy klient NFS próbuje zainstalować udziały NFS w Unity, Unity pobiera adres IP klienta NFS.
- Unity wysyła „YP match call” do serwera NIS z adresem IP klienta NFS do serwera NIS, a serwer NIS odpowiada „YP match reply” z nazwą hosta.
- Jeśli serwer NIS nie ma poprawnego wpisu nazwy hosta (w kroku 2), Unity wysyła zapytanie PTR DNS do serwera DNS, odpytując rekord PTR o nazwę hosta.
- Unity wysyła „YP match call” do serwera NIS z nazwą hosta klienta NFS do serwera NIS, a serwer NIS odpowiada „YP match call” z nazwą grupy sieciowej.
Grupa lokalna/sieciowa w Unity:
- Gdy klient NFS próbuje zainstalować udziały NFS w Unity, Unity pobiera adres IP klienta NFS.
- System Unity próbował dopasować adres IP do nazwy hosta na lokalnych hostach na serwerze NAS.
- Jeśli plik hostów lokalnych nie ma poprawnego wpisu nazwy hosta (w kroku 2), Unity wysyła zapytanie PTR DNS do serwera DNS, odpytując rekord PTR o nazwę hosta.
- System Unity próbował dopasować nazwę hosta do nazwy hosta w lokalnej grupie sieciowej na serwerze NAS.
Uwagi:
Unity obsługuje definiowanie grupy sieciowej w lokalnym pliku grupy sieciowej od Unity OE 4.1.x
Unity NIE obsługuje lokalnego pliku grupy sieciowej w wersji sprzed Unity OE 4.1.x
Unity obsługuje definiowanie grupy sieciowej w lokalnym pliku grupy sieciowej od Unity OE 4.1.x
Unity NIE obsługuje lokalnego pliku grupy sieciowej w wersji sprzed Unity OE 4.1.x
Procedura (definiowanie grupy sieciowej na serwerze NIS):
Krok 1. Konfiguracja w Unity
- W menu Hosts (Hosty) dodaj „Netgroup Test1” z "netgroup mfgnasroot
Uwaga
- Zdefiniowana nazwa grupy sieciowej mfgnasroot musi być zgodna z nazwą grupy sieciowej na serwerze NIS.
- NIE używaj _ w nazwie grupy sieciowej, znak _ w nazwie grupy sieciowej może powodować pewne problemy.
- Przejdź do pozycji „File -> NAS Servers -> NAS server Properties -> Naming Services-LDAP/NIS” i dodaj serwer NIS z „celerra” zdefiniowanym jako „NIS Domain”, jak pokazano na poniższym zrzucie ekranu.
- W sekcji „File -> NFS Shares -> Share Properties -> Host Access” dodaj test grupy sieciowej z uprawnieniami superużytkownika
Krok 2. Konfiguracja na serwerze NIS (używam CentOS6.2 i jego natywnego oprogramowania NIS jako serwera NIS)
- Potwierdź, że poniższe pakiety są zainstalowane.
# 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
- Zdefiniuj nazwę domeny 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
- Dodaj nazwę hosta i jego adres IP w „/etc/hosts” (niebieski kolor), ypinit używa pliku „/etc/hosts” do zbudowania bazy danych 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
- Dodaj nazwę hosta w pliku „/etc/netgroup” i dodaj nazwę domeny NIS, jak pokazano poniżej (montowanie NFS zakończy się niepowodzeniem, jeśli pole domeny NIS pozostanie puste)
# cat /etc/netgroup
mfgnasroot (5700CS139.example.com,,celerra) (VNX5400_107.example.com,,celerra)
mfgnasroot (5700CS139.example.com,,celerra) (VNX5400_107.example.com,,celerra)
- Upewnij się, że usługi ypbind, ypserver i rpcbind są uruchomione.
# 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...
- Zainicjuj bazę danych YP.
# /usr/lib64/yp/ypinit -m
W tym momencie musimy utworzyć listę hostów, na których będzie uruchamiana usługa NIS servers.nis.example.com znajduje się na liście hostów serwera NIS. Kontynuuj dodawanie nazw hostów dla innych hostów, po jednym wpisie nazwy hosta w wierszu, a po zakończeniu z listą wpisz <control D>.
next host to add:nis.example.com
next host to add:
Aktualna lista serwerów NIS wygląda tak:
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.
Teraz możesz uruchomić ypinit -s nis.example.com na wszystkich serwerach podrzędnych.
W tym momencie musimy utworzyć listę hostów, na których będzie uruchamiana usługa NIS servers.nis.example.com znajduje się na liście hostów serwera NIS. Kontynuuj dodawanie nazw hostów dla innych hostów, po jednym wpisie nazwy hosta w wierszu, a po zakończeniu z listą wpisz <control D>.
next host to add:nis.example.com
next host to add:
Aktualna lista serwerów NIS wygląda tak:
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.
Teraz możesz uruchomić ypinit -s nis.example.com na wszystkich serwerach podrzędnych.
Test
Montowanie udziału NFS z hosta, który nie należy do grupy sieciowej mfgnasroot, odmowa dostępu.
[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
Montowanie udziału NFS z hosta należącego do grupy sieciowej mfgnasroot, uzyskano dostęp.
[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
Procedura (Zdefiniuj grupę sieciową w pliku lokalnym):
Krok 1. Konfiguracja w Unity
Uwaga
Przykład pliku hosts:
# Plik hosts zawiera listę adresów IP wraz z odpowiadającymi im nazwami hostów.
## Każdy wiersz pliku hosts definiuje hosta i ma format:
# IP_address hostname aliases
# gdzie:
# - IP_address to adres IP hosta.
# - hostname to oficjalna nazwa hosta.
# - aliases zapewnia zmiany nazw, alternatywną pisownię, krótsze nazwy hostów lub ogólne nazwy hostów (na przykład localhost).
#
# Pola są oddzielone dowolną liczbą spacji i/lub znaków tabulacji.
#
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
Przykład pliku netgroup:
# Plik netgroup zawiera listę nazw grup sieciowych wraz z listą nazw hostów należących do tej grupy.
# Oprócz mapowania hostów do grup sieciowych mapuje również użytkowników do grup sieciowych.
## Każdy wiersz pliku netgroup definiuje grupę i ma format:
# groupname member1 member2 ...
#
# Każdy element członkowski albo jest nazwą innej grupy, albo wskazuje określone hosty, użytkowników i domeny, określane jako trójki, w następujący sposób:
# (nazwa hosta,nazwa użytkownika,nazwa domeny)
#
# Każde z trzech pól trójki może być puste, co oznacza, że wszystkie wartości w tym polu są uwzględnione.
# Łącznik (-) w dowolnym polu oznacza, że nie ma prawidłowych wartości.
# Na przykład poniższy wiersz definiuje grupę o nazwie ouruniverse, która składa się z wszystkich hostów i użytkowników w domenie NIS ourdomain.
# ouruniverse (,,ourdomain)
#
# Poniższe wiersze definiują grupę o nazwie ourhosts, która zawiera wszystkie hosty, ale żadnego z użytkowników w domenie,
# oraz grupę o nazwie ourusers, która zawiera wszystkich użytkowników, ale nie zawiera hostów.
# ourhosts (,-,ourdomain)
# ourusers (-,,ourdomain)
#
# Poniższy wiersz definiuje grupę o nazwie ouruniverse, która składa się z dwóch hostów hostatlanta i hostboston.
# ouruniverse (hostatlanta,,),(hostboston,,)
#
# Uwaga: Adresy IP są niedozwolone.
#
# Plik netgroup może zawierać tyle wierszy, ile potrzeba; jednak każdy wiersz musi mieć mniej niż 1 KB.
# W razie potrzeby wiersz można kontynuować w innym wierszu, używając ukośnika odwrotnego (\) jako znaku kontynuacji.
# Trójka nie może być jednak podzielona na dwa wiersze.
## Uwaga: Jeśli używasz ukośnika odwrotnego (\) jako znaku kontynuacji, musi to być ostatni znak w wierszu. Nie mogą po nim następować spacje.
mfgnasroot (opennms,,example.com),(vnx5400-1cs1,,example.com),(vnx5400-1cs0,,example.com)
Test
Montowanie udziału NFS z hosta, który nie należy do grupy sieciowej mfgnasroot, odmowa dostępu.
Krok 1. Konfiguracja w Unity
- W menu Hosts (Hosty) dodaj „Netgroup Eric1” z "netgroup mfgnasroot
Uwaga
- Zdefiniowana nazwa grupy sieciowej mfgnasroot musi być zgodna z nazwą grupy sieciowej w pliku lokalnym netgroup.
- NIE używaj _ w nazwie grupy sieciowej, znak _ w nazwie grupy sieciowej może powodować pewne problemy.
- Przejdź do pozycji „File -> NAS Servers -> NAS server Properties -> Naming Services-Local Files”. Pobierz aktualny plik hosts i plik netgroup; zaktualizuj je za pomocą programu Notepad++; zapisz je w formacie Unix; prześlij je w finale.
Przykład pliku hosts:
# Plik hosts zawiera listę adresów IP wraz z odpowiadającymi im nazwami hostów.
## Każdy wiersz pliku hosts definiuje hosta i ma format:
# IP_address hostname aliases
# gdzie:
# - IP_address to adres IP hosta.
# - hostname to oficjalna nazwa hosta.
# - aliases zapewnia zmiany nazw, alternatywną pisownię, krótsze nazwy hostów lub ogólne nazwy hostów (na przykład localhost).
#
# Pola są oddzielone dowolną liczbą spacji i/lub znaków tabulacji.
#
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
Przykład pliku netgroup:
# Plik netgroup zawiera listę nazw grup sieciowych wraz z listą nazw hostów należących do tej grupy.
# Oprócz mapowania hostów do grup sieciowych mapuje również użytkowników do grup sieciowych.
## Każdy wiersz pliku netgroup definiuje grupę i ma format:
# groupname member1 member2 ...
#
# Każdy element członkowski albo jest nazwą innej grupy, albo wskazuje określone hosty, użytkowników i domeny, określane jako trójki, w następujący sposób:
# (nazwa hosta,nazwa użytkownika,nazwa domeny)
#
# Każde z trzech pól trójki może być puste, co oznacza, że wszystkie wartości w tym polu są uwzględnione.
# Łącznik (-) w dowolnym polu oznacza, że nie ma prawidłowych wartości.
# Na przykład poniższy wiersz definiuje grupę o nazwie ouruniverse, która składa się z wszystkich hostów i użytkowników w domenie NIS ourdomain.
# ouruniverse (,,ourdomain)
#
# Poniższe wiersze definiują grupę o nazwie ourhosts, która zawiera wszystkie hosty, ale żadnego z użytkowników w domenie,
# oraz grupę o nazwie ourusers, która zawiera wszystkich użytkowników, ale nie zawiera hostów.
# ourhosts (,-,ourdomain)
# ourusers (-,,ourdomain)
#
# Poniższy wiersz definiuje grupę o nazwie ouruniverse, która składa się z dwóch hostów hostatlanta i hostboston.
# ouruniverse (hostatlanta,,),(hostboston,,)
#
# Uwaga: Adresy IP są niedozwolone.
#
# Plik netgroup może zawierać tyle wierszy, ile potrzeba; jednak każdy wiersz musi mieć mniej niż 1 KB.
# W razie potrzeby wiersz można kontynuować w innym wierszu, używając ukośnika odwrotnego (\) jako znaku kontynuacji.
# Trójka nie może być jednak podzielona na dwa wiersze.
## Uwaga: Jeśli używasz ukośnika odwrotnego (\) jako znaku kontynuacji, musi to być ostatni znak w wierszu. Nie mogą po nim następować spacje.
mfgnasroot (opennms,,example.com),(vnx5400-1cs1,,example.com),(vnx5400-1cs0,,example.com)
- W sekcji „File -> NFS Shares -> Share Properties -> Host Access” dodaj netgroup Eric1 z uprawnieniami superużytkownika
Test
Montowanie udziału NFS z hosta, który nie należy do grupy sieciowej mfgnasroot, odmowa dostępu.
[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
Montowanie udziału NFS z hosta należącego do grupy sieciowej mfgnasroot, uzyskano dostęp.
[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
- Nie należy używać znaku „_” w nazwie grupy sieciowej podczas dodawania grupy sieciowej Unity GUI. W przeciwnym razie zostanie zwrócony komunikat o błędzie „failed invalid DNS name...”.
- W przypadku wielu adresów IP w grupie sieciowej utwórz wpisy hosta/podsieci w menu Host, jeśli chcesz zdefiniować adresy/zakres IP dla udziału 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.