Możesz udostępniać swoje pule ZFS i systemy plików za pomocą protokołu podziału plików NFS (Network File System) i bardzo łatwo uzyskać dostęp do komputerów zdalnych.
W tym artykule pokażę Ci, jak udostępniać pule ZFS i systemy plików za pomocą usługi udostępniania plików NFS i uzyskiwać do nich dostęp do zdalnych komputerów. Więc zacznijmy.
Spis treści
Internetowy diagram
W tym artykule skonfiguruję Ubuntu 20.04 Komputer LTS (nazwa hosta: Linuxhint, IP: 192.168.122.98) Jako serwer NFS i skonfiguruj Ubuntu 20.04 Komputer LTS (nazwa hosta: NFS-CLIENT, IP: 192.168.122.203) Jako klient NFS. Oba te komputery są w podsieci 192.168.122.0/24. Skonfiguruję serwer NFS w sposób, w jaki tylko komputery/serwery w tej podsieci będą mogły uzyskać dostęp do serwera NFS.
Rysunek 1: Serwer NFS i klient podłączony do podsieci sieci 192.168.122.0/24
Instalowanie serwera NFS
Musisz mieć zainstalowany pakiet serwera NFS na komputerze, z którego chcesz udostępnić swoje pule/systemy plików ZFS za pośrednictwem NFS.
Jeśli używasz Debian 10 lub Ubuntu 20.04 LTS, możesz zainstalować pakiet serwera NFS na komputerze w następujący sposób:
$ sudo apt Zainstaluj NFS-kernel-server -yPo zainstalowaniu pakietu serwera NFS, NFS-SERVER Usługa systemu powinna być aktywny.
$ sudo Systemctl Status NFS-SERVER.pracaJeśli używasz CentOS 8/RHEL 8, przeczytaj artykuł Jak skonfigurować serwer NFS na Centos 8, aby uzyskać pomoc w instalacji serwera NFS na komputerze.
Instalowanie Klient NFS
Musisz mieć pakiet klientów NFS zainstalowany na komputerze, z którego będziesz dostęp do swoich pul/systemów plików ZFS za pośrednictwem NFS.
Jeśli używasz Debian 10 lub Ubuntu 20.04 LTS, możesz uruchomić następujące polecenie, aby zainstalować pakiet klienta NFS na komputerze:
$ sudo apt Zainstaluj NFS -common -yTworzenie pul i systemy plików ZFS
W tej sekcji zamierzam stworzyć pulę ZFS Pool1 Korzystanie z urządzeń pamięci VDB I VDC W konfiguracji lustra.
$ sudo lsblk -e7 -dAby utworzyć nową pulę ZFS Pool1 Korzystanie z urządzeń pamięci VDB I VDC W konfiguracji lustra uruchom następujące polecenie:
$ sudo zpool Utwórz -f pula 1 lustro vdb vdcNowa pula ZFS Pool1 należy utworzyć i pulę ZFS Pool1 powinno być automatycznie zamontowane w /pula 1 informator.
Lista $ sudo zfsUtwórz system plików ZFS FS1 W puli ZFS Pool1 następująco:
$ sudo zfs Utwórz pulę1/fs1Nowy system plików ZFS FS1 powinno być tworzone i automatycznie zamontowane w /basen1/fs1 informator.
Lista $ sudo zfsUdostępnianie pul ZFS z NFS
Aby udostępnić pulę ZFS Pool1 Za pośrednictwem NFS musisz ustawić Sharenfs właściwość puli ZFS odpowiednio.
Aby umożliwić wszystkim w sieci odczyt/zapis dostęp do puli ZFS Pool1, możesz ustawić Sharenfs Własność puli ZFS Pool1 następująco:
$ sudo zfs set sharenfs = "rw" pula 1Lub,
$ sudo zfs set sharenfs = "rw =*" pula 1Aby umożliwić każdy komputer/serwer w podsieci sieciowej 192.168.122.0/24 Odczyt/zapisz dostęp do puli ZFS Pool1 Tylko możesz ustawić Sharenfs Własność puli ZFS Pool1 następująco:
$ sudo zfs set sharenfs = "rw [email protected]/24 "pula 1Aby umożliwić tylko komputer z adresem IP 192.168.122.203 Odczyt/zapisz dostęp do puli ZFS Pool1, możesz ustawić Sharenfs Własność puli ZFS Pool1 następująco:
$ sudo zfs set sharenfs = "rw = 192.168.122.203 "Pool1Możesz użyć okrężnicy (:) Symbol umożliwiający dostęp do puli ZFS Pool1 z wielu podsieci sieciowych lub adresów IP.
Na przykład, aby umożliwić podsieci sieciowe 192.168.122.0/24 I 192.168.132.0/24 Odczyt/zapisz dostęp do puli ZFS Pool1, możesz ustawić Sharenfs Własność puli ZFS Pool1 następująco:
$ sudo zfs set sharenfs = "rw [email protected]/24:@192.168.132.0/24 "pula 1W ten sam sposób, aby umożliwić tylko komputery z adresami IP 192.168.122.203 I 192.168.122.233 Odczyt/zapisz dostęp do puli ZFS Pool1, możesz ustawić Sharenfs Własność puli ZFS Pool1 następująco:
$ sudo zfs set sharenfs = "rw = 192.168.122.203: 192.168.122.233 "pula 1Możesz sprawdzić, czy Sharenfs właściwość jest poprawnie ustawiona na puli ZFS Pool1 następująco:
$ sudo zfs dostaj sharenfs pula 1Udostępnianie systemów plików ZFS z NFS
Aby udostępnić system plików ZFS FS1 Za pośrednictwem NFS musisz ustawić Sharenfs właściwość odpowiednio system plików ZFS.
Aby umożliwić wszystkim w sieci odczytu/zapisu dostępu do systemu plików ZFS FS1, możesz ustawić Sharenfs właściwość systemu plików ZFS FS1 następująco:
$ sudo zfs set sharenfs = "rw" pula 1/fs1Lub,
$ sudo zfs set sharenfs = "rw =*" pula 1/fs1Aby umożliwić każdy komputer/serwer w podsieci sieciowej 192.168.122.0/24 Odczyt/zapisz dostęp do systemu plików ZFS Pool1/FS1, możesz ustawić Sharenfs właściwość systemu plików ZFS Pool1/FS1 następująco:
$ sudo zfs set sharenfs = "rw [email protected]/24 "Pool1/FS1Aby umożliwić tylko komputer z adresem IP 192.168.122.203 Odczyt/zapisz dostęp do systemu plików ZFS Pool1/FS1, możesz ustawić Sharenfs właściwość systemu plików ZFS Pool1/FS1 następująco:
$ sudo zfs set sharenfs = "rw = 192.168.122.203 "Pool1/FS1Możesz użyć okrężnicy (:) Symbol umożliwiający dostęp do systemu plików ZFS FS1 z wielu podsieci sieciowych lub adresów IP.
Na przykład, aby umożliwić podsieci sieciowe 192.168.122.0/24 I 192.168.132.0/24 Odczyt/zapisz dostęp do systemu plików ZFS Pool1/FS1, możesz ustawić Sharenfs właściwość systemu plików ZFS Pool1/FS1 następująco:
$ sudo zfs set sharenfs = "rw [email protected]/24:@192.168.132.0/24 "Pool1/FS1W ten sam sposób, aby umożliwić tylko komputery z adresami IP 192.168.122.203 I 192.168.122.233 Odczyt/zapisz dostęp do systemu plików ZFS Pool1/FS1, możesz ustawić Sharenfs właściwość systemu plików ZFS Pool1/FS1 następująco:
$ sudo zfs set sharenfs = "rw = 192.168.122.203: 192.168.122.233 "Pool1/FS1Możesz sprawdzić, czy Sharenfs właściwość jest poprawnie ustawiona na systemie plików ZFS Pool1/FS1 następująco:
$ sudo zfs dostaj sharenfs pula 1/fs1Montaż NFS Udostępnione pule ZFS i systemy plików
Aby zamontować pule ZFS i systemy plików, które udostępniłeś za pośrednictwem NFS na swoim komputerze (Klient NFS), musisz znać adres IP swojego serwera NFS.
Możesz uruchomić ''nazwa hosta -i ' Polecenie na serwerze NFS, aby znaleźć adres IP swojego serwera NFS. W moim przypadku adres IP to 192.168.122.98.
$ hostName -iGdy znasz adres IP serwera NFS, możesz wymienić wszystkie dostępne akcje NFS z komputera w następujący sposób:
$ showmount -e 192.168.122.98Jak widać, pula ZFS Pool1 i system plików ZFS FS1 są wymienione jako akcje NFS /pula 1 I /basen1/fs1 odpowiednio.
Utwórz katalog /MNT/Pool1 do montażu udziału NFS /pula 1 (Basen ZFS Pool1) Jak następuje:
$ sudo mkdir -v /mnt /pula 1Możesz zamontować dzielenie NFS /pula 1 (Basen ZFS Pool1) z serwera NFS 192.168.122.98 na /MNT/Pool1 Katalog twojego komputera (klient NFS) w następujący sposób:
$ sudo Mount -t nfs 192.168.122.98:/basen1/mnt/basen1Udział NFS /pula 1 powinien być zamontowany na /MNT/Pool1 katalog komputera (klient NFS).
$ df -h /mnt /pula1W ten sam sposób utwórz nowy katalog /MNT/FS1 do montażu udziału NFS /basen1/fs1 (ZFS System FileSystem FS1) Jak następuje:
$ sudo mkdir -v /mnt /fs1Zamontować udział NFS /basen1/fs1 (ZFS System FileSystem FS1) z serwera NFS 192.168.122.98 na /MNT/FS1 Katalog twojego komputera (klient NFS) w następujący sposób:
$ sudo Mount -t nfs 192.168.122.98:/pula 1/fs1/mnt/fs1Udział NFS /basen1/fs1 (ZFS System FileSystem FS1) powinno być zamontowane na /MNT/FS1 katalog komputera (klient NFS).
$ df -h /mnt /fs1Automatyczne montaż NFS Udostępnione pule ZFS i systemy plików
Możesz zamontować akcje NFS /pula 1 (Basen ZFS Pool1) I /basen1/fs1 (ZFS System FileSystem FS1) Na komputerze (klient NFS) automatycznie w czasie rozruchu.
Aby to zrobić, otwórz /etc/fstab plik z Nano Edytor tekstu w następujący sposób:
$ sudo nano /etc /fstabDodaj następujące linie na końcu /etc/fstab plik.
# Akcje Mount NFSPo zakończeniu naciśnij + X śledzony przez Y I Aby uratować /etc/fstab plik.
Aby zmiany uruchomić, uruchom ponownie komputer (klient NFS) w następujący sposób:
$ sudo restartNastępnym razem, gdy twój komputer (klient NFS), NFS dzieli /pula 1 (Basen ZFS Pool1)I /basen1/fs1 (ZFS System FileSystem FS1) powinno być zamontowane w /MNT/Pool1 I /MNT/FS1 katalogi odpowiednio.
$ df -h -t nfs4Zezwalaj na pule i systemy plików NFS udostępniane ZFS
Jeśli spróbujesz napisać do akcji NFS /pula 1 (Basen ZFS Pool1) Lub /basen1/fs1 (ZFS System FileSystem FS1) Z komputera (klienta NFS) w tej chwili otrzymasz Zezwolenie odrzucone Wiadomość, jak pokazano na zrzucie ekranu poniżej.
Aby rozwiązać ten problem, możesz zrobić jedną z następujących czynności:
NOTATKA: NFS mapuje UID (identyfikator użytkownika) i GID (identyfikator grupy) komputerów klienckich NFS z UID i GID serwera NFS. Tak więc, jeśli użytkownik/grupa może napisać do udziału NFS na serwerze NFS, ten sam użytkownik/grupa z tym samym UID/GID powinien być również w stanie napisać do tego NFS Udostępnienie z komputera klienta NFS.
W tej sekcji pokażę, jak skonfigurować niezbędnych użytkowników i grupy na serwerze NFS i komputerach klienckich, aby móc pisać do akcji NFS.
Na serwerze NFS utwórz nową grupę użytkownicy NFS i ustaw GID (identyfikator grupy) użytkownicy NFS grupa do 2000 następująco:
$ Sudo GroupAdd-Gid 2000 NFS-UsersNa komputerach klienckich NFS utwórz nową grupę użytkownicy NFS i ustaw GID (identyfikator grupy) użytkownicy NFS grupa do 2000 również.
$ Sudo GroupAdd-Gid 2000 NFS-UsersNa serwerze NFS zmień grupę /pula 1 (Basen ZFS Pool1) I /basen1/fs1 (ZFS System FileSystem FS1) katalogi do użytkownicy NFS następująco:
$ sudo chgrp -rfv nfs -użytkowe /pula 1Zezwól na odczyt i pisanie uprawnień do /pula 1 (Basen ZFS Pool1) I /basen1/fs1 (ZFS System FileSystem FS1) KATALODY W następujący sposób:
$ sudo chmod -rfv 0775 /pula 1Grupa /pula 1 (Basen ZFS Pool1) I /basen1/fs1 (ZFS System FileSystem FS1) KATALODY powinny zostać zmienione na użytkownicy NFS i należy również ustalić uprawnienia do odczytu/zapisu grupy.
$ ls -lhd /pula 1Aby zmiany uwzględniają, ponownie uruchom serwer NFS w następujący sposób:
$ sudo restartTeraz musisz utworzyć niezbędne konta użytkowników na komputerach klienta NFS, aby móc pisać do akcji NFS.
Utwórz nowego użytkownika Alex (Powiedzmy) z UID 5001 (aby nie zakłócać użytkowników już dostępnych na serwerze NFS) i ustawili podstawową grupę użytkownika użytkownicy NFS następująco:
$ sudo useradd -m -s /bin /bash -u 5001 -G NFS -Users AlexNowy użytkownik Alex z UID 5001 i grupa podstawowa użytkownicy NFS (KOŁOWACIZNA 2000) Należy utworzyć na komputerze klienckim NFS.
$ id AlexTeraz uruchom ponownie komputer klienta NFS, aby zmiany w obronie.
$ sudo restartPo uruchomieniu komputera klienta NFS NFS udostępnia /pula 1 (Basen ZFS Pool1) I /basen1/fs1 (ZFS System FileSystem FS1) powinno być zamontowane.
$ df -h -t nfs4Akcje NFS /pula 1 (Basen ZFS Pool1) I /basen1/fs1 (ZFS System FileSystem FS1) powinien również mieć prawidłowe uprawnienia do katalogu.
$ ls -lhd /mnt /pula 1Teraz zaloguj się jako użytkownik Alex na komputerze klienckim NFS w następujący sposób:
$ sudo su - AlexUżytkownik Alex Powinien być w stanie tworzyć pliki w Share NFS /pula 1 (Basen ZFS Pool1) i uzyskuj ich dostęp, jak widać na zrzucie ekranu poniżej.
$ echo '[pula 1 Hello World'>/mnt/pul.tekstUżytkownik Alex Powinien być również w stanie tworzyć pliki w Share NFS /basen1/fs1 (ZFS System FileSystem FS1) i uzyskuj ich dostęp, jak widać na zrzucie ekranu poniżej.
$ echo '[fs1] hello świat>/mnt/fs1/hello.tekstNa serwerze NFS, UID (identyfikator użytkownika) plików, które użytkownik Alex Utworzone z komputera klienckiego NFS powinno być 5001 i grupa powinna być użytkownicy NFS Jak widać na zrzucie ekranu poniżej.
$ ls -lh /pula 1Jeśli chcesz rozwiązać UIDS do nazw użytkowników na swoim serwerze NFS, musisz utworzyć tego samego użytkownika z tym samym UID (jak utworzyłeś na komputerze klienckim NFS) na serwerze NFS.
Dla niewielkiej liczby użytkowników możesz uruchomić to samo UserAdd polecenie zarówno na serwerze NFS, jak i komputerach klienckich, aby rozwiązać ten problem. Jeśli musisz zarządzać dużą liczbą użytkowników, wykonanie tego będzie dużo pracy. Zamiast tego należy użyć NIS (serwer informacji o sieci) lub LDAP (lekki protokół dostępu do katalogu), aby automatycznie zsynchronizować użytkowników między komputerami klientów NFS a komputerami klientów NFS.
Aby uzyskać pomoc w konfigurowaniu NIS na serwerze NFS i komputerach klienckich, sprawdź następujące artykuły:
Aby uzyskać pomoc w konfigurowaniu LDAP na serwerze NFS i komputerach klienckich, sprawdź następujące artykuły:
Nieoporzyżowe pule ZFS i systemy plików
Jeśli chcesz przestać udostępniać pulę ZFS Pool1 Będziesz musiał ustawić Sharenfs Własność puli ZFS Pool1 Do wyłączony następująco:
$ sudo zfs set sharenfs = off pula 1Udostępnianie NFS powinno być wyłączone dla puli ZFS Pool1 Jak widać na zrzucie ekranu poniżej.
$ sudo zfs dostaj sharenfs pula 1W ten sam sposób możesz przestać udostępniać system plików ZFS FS1 ustawiając Sharenfs właściwość systemu plików ZFS FS1 Do wyłączony następująco:
$ sudo zfs set sharenfs = off pula 1/fs1Udostępnianie NFS powinno być wyłączone dla systemu plików ZFS FS1 Jak widać na zrzucie ekranu poniżej.
$ sudo zfs dostaj sharenfs pula 1/fs1Wniosek
W tym artykule pokazałem, jak udostępniać pule ZFS i systemy plików i uzyskać do nich dostęp zdalnie za pomocą protokołu udostępniania plików NFS. Pokazałem również, jak automatycznie montować pule/systemy plików ZFS, które udostępniłeś NFS na komputerach klienckich NFS w czasie rozruchu. Pokazałem ci, jak zarządzać uprawnieniami dostępu do akcji NFS i umożliwić dostęp do akcji NFS od komputerów klienta NFS.
Bibliografia
[1] Ubuntu Manpage: ZFS - Konfiguruje systemy plików ZFS
[2] Udostępnianie i nieoporządkowane systemy plików ZFS - Oracle Solaris Administration: ZFS Systemy plików
[3] Streszczenie - Strony człowieka Sekcja 1M: Polecenia administracyjne systemu
[4] NFSSEC Manpage Sekcja 5 - Dokumentacja Oracle Solaris
[5] CentoS - NFS domyślnie 777 - Błąd serwera
[6] Rozdział 4. Eksportowanie NFS udostępnia Red Hat Enterprise Linux 8 | Portal klienta Red Hat