Zkratka pro Network File Share, NFS je multiplatformní protokol klient/server, který umožňuje klientským počítačům přistupovat k souborům sdíleným serverem NFS přes síť. Klientské systémy mohou lokálně připojit souborové systémy ze serveru NFS a přistupovat k souborům a adresářům, jako by byly připojeny lokálně. V této příručce vás provedeme instalací a konfigurací serveru NFS na CentOS 8 / RHEL 8 .
Poznámka: V CentOS 8 nebo RHEL 8 NFSv3 &v4 obojí je podporováno. NFSv3 umožňuje bezpečný asynchronní zápis a podporuje 64bitové velikosti souborů a offset. NFSv4 funguje přes firewall OS a podporuje ACL (Access Control List) a nevyžaduje službu rpcbind
Nastavení serveru/klienta NFS
Než začneme, použijeme níže uvedené nastavení k simulaci fungování protokolu NFS v nastavení klient/server.
- IP serverového počítače:adresa: 192.168.2.102 CentOS 8
- IP klientského počítače:adresa: 192.168.2.103 CentOS 8
S naším nastavením po ruce začněme s instalací NFS na server.
Krok 1) Nainstalujte a nakonfigurujte NFS na serveru CentOS 8 / RHEL 8
Nejprve nainstalujeme balíček serveru NFS s názvem nfs-utils který funguje jako démon NFS. Chcete-li nainstalovat balíček nfs-utils, spusťte terminál a spusťte příkaz:
$ sudo dnf install nfs-utils -y
V níže uvedeném příkladu je nfs-utils již nainstalován.
Jakmile je instalace dokončena, spusťte a povolte službu nfs-server, aby byla automaticky při restartu. Spusťte následující příkazy,
$ sudo systemctl start nfs-server.service $ sudo systemctl enable nfs-server.service
Chcete-li potvrdit, že služba NFS běží, spusťte:
$ sudo systemctl status nfs-server.service
Verzi protokolu nfs, kterou používáte, můžete ověřit spuštěním příkazu:
$ rpcinfo -p | grep nfs
Verze je označena druhým sloupcem ve výstupu uvedeném níže.
Pro další konfiguraci NFS serveru můžete najít konfigurační soubory na /etc/nfs.conf což je konfigurační soubor démona NFS a soubor /etc/nfsmount.conf což je konfigurační soubor pro připojení NFS.
Krok 2) Vytvoření a export sdílené složky NFS
V tomto kroku vytvoříme souborový systém, který bude sdílen ze serveru na klientské systémy. V této příručce vytvoříme adresář na adrese /mnt/nfs_share/docs, jak je uvedeno níže
$ sudo mkdir -p /mnt/nfs_shares/docs
Chcete-li se vyhnout omezení souborů ve sdíleném adresáři NFS, je vhodné nakonfigurovat vlastnictví adresáře podle obrázku. To umožňuje vytváření souborů z klientských systémů, aniž by došlo k problémům s oprávněními.
$ sudo chown -R nobody: /mnt/nfs_shares/docs
Můžete se také rozhodnout upravit oprávnění k adresáři podle svých preferencí. Například v této příručce přiřadíme všechna oprávnění (čtení, zápis a spouštění) sdílené složce NFS
$ sudo chmod -R 777 /mnt/nfs_shares/docs
Aby se změny projevily, restartujte démona NFS:
$ sudo systemctl restart nfs-utils.service
Chcete-li exportovat sdílenou složku NFS, aby k ní klientské systémy měly přístup, musíme upravit /etc/exports soubor. Můžete povolit více klientům přístup ke sdílené složce zadáním podsítě, jak je znázorněno
/mnt/nfs_shares/docs 192.168.2.0/24(rw,sync,no_all_squash,root_squash
Také můžete zadat každého klienta na samostatném řádku:
/mnt/nfs_shares/docs IP client-IP(rw,sync,no_all_squash,root_squash)
/mnt/nfs_shares/docs IP client-IP(rw,sync,no_all_squash,root_squash)
Pomocí našeho nastavení udělíme přístup k našemu klientskému počítači s IP 192.168.2.103. Přidejte následující řádek do souboru ‘/etc/exports “:
$ sudo vi /etc/exports /mnt/nfs_shares/docs 192.168.2.103(rw,sync,no_all_squash,root_squash)
Uložte a ukončete soubor. Použijte příkaz cat pro potvrzení zadání, jak je znázorněno
[[email protected]] cat /etc/exports /mnt/nfs_shares/docs 192.168.2.103(rw,sync,no_all_squash,root_squash) [[email protected]]
Podívejme se na význam použitých parametrů:
- rw – To znamená čtení/zápis. Sdílení NFS uděluje oprávnění ke čtení a zápisu.
- synchronizovat – Parametr vyžaduje nejprve zapsání změn na disk před provedením jakékoli další operace.
- no_all_squash – Tím se namapují všechna UID a GID z požadavků klienta na identická UIDS a GID umístěná na serveru NFS.
- root_squash – Atribut mapuje požadavky od uživatele root na straně klienta na anonymní UID / GID.
Chcete-li exportovat výše vytvořenou složku, použijte příkaz exportfs, jak je znázorněno:
$ sudo exportfs -arv
-a volba znamená, že budou exportovány všechny adresáře, -r znamená reexport všech adresářů a nakonec -v flag zobrazí podrobný výstup.
Chcete-li si být jisti seznamem exportů, můžete seznam exportů zobrazit pomocí příkazu:
$ sudo exportfs -s
Perfektní! Náš exportní seznam existuje. Zatím je vše dobré. Jediná konfigurace zbývající na serveru NFS je povolení služeb NFS na bráně firewall.
Krok 3) Konfigurace pravidel brány firewall pro server NFS
Posledním krokem v konfiguraci serveru je povolení služeb NFS přes bránu firewall na serveru CentOS 8. Tyto služby jsou nfs, rpc-bind a připojeno . Proveďte tedy níže uvedené příkazy.
$ sudo firewall-cmd --permanent --add-service=nfs $ sudo firewall-cmd --permanent --add-service=rpc-bind $ sudo firewall-cmd --permanent --add-service=mountd
Poté znovu načtěte firewall, aby se změny projevily
$ sudo firewall-cmd --reload
Nyní přejdeme ke klientskému systému a nastavíme jej pro přístup ke sdíleným složkám NFS.
Nastavení klientského systému NFS
Chcete-li nakonfigurovat klientský systém pro přístup ke sdíleným souborům NFS, postupujte podle níže uvedeného postupu
Krok 1) Nainstalujte požadované balíčky NFS
Na klientském systému CentOS 8 nainstalujte potřebné balíčky pro přístup ke sdílené složce NFS umístěné na serveru NFS
$ sudo dnf install nfs-utils nfs4-acl-tools -y
Pro systém Debian nebo Ubuntu:
$ sudo apt install nfs-common nfs4-acl-tools -y
Chcete-li zobrazit připojené sdílené složky NFS na serveru, použijte showmount příkaz:
$ showmount -e 192.168.2.102
Krok 2) Připojení vzdálené sdílené složky NFS umístěné na serveru
Dále musíme připojit vzdálený sdílený adresář NFS umístěný na místním klientském systému. Nejprve však vytvořte adresář, do kterého se připojí sdílená složka NFS.
$ sudo mkdir p /mnt/client_share
Chcete-li připojit sdílenou složku NFS, proveďte níže uvedený příkaz. Připomeňme, že 192.168.2.102 je IP adresa serveru NFS.
$ sudo mount -t nfs 192.168.2.102:/mnt/nfs_shares/docs /mnt/client_share
Připojení vzdálené sdílené složky NFS můžete ověřit provedením:
$ sudo mount | grep -i nfs
Aby bylo sdílení připojení trvalé i po restartu, musíte upravit /etc/fstab soubor a připojte záznam níže.
192.168.2.102:/mnt/nfs_shares/docs /mnt/client_share nfs defaults 0 0
Uložte a zavřete soubor.
Testování nastavení serveru a klienta NFS
V tomto okamžiku jsme se všemi konfiguracemi hotovi. Musíme však otestovat naše nastavení a zajistit, aby vše fungovalo. Nejprve tedy vytvoříme testovací soubor ve sdíleném adresáři NFS serveru a zkontrolujeme, zda je přítomen v klientově připojeném adresáři NFS.
$ sudo touch /mnt/nfs_shares/docs/server_nfs_file.txt
Nyní přejděte do klientského systému a zkontrolujte, zda soubor existuje na straně klienta.
$ ls -l /mnt/client_share/
Skvělý! Z výstupu jasně vidíme, že soubor existuje. Nyní udělejme opak. Vytvoříme soubor na klientském systému NFS a ověříme, zda k němu lze přistupovat ze serveru NFS.
Na klientovi vytvořte soubor podle obrázku:
$ sudo touch /mnt/client_share/client_nfs_file.txt
Nyní se vraťte na server a zkontrolujte, zda je soubor přítomen ve sdíleném adresáři NFS
$ ls -l /mnt/nfs_shares/docs
Úžasný! Můžeme prohlížet a přistupovat k souboru.
Jak můžete vidět, můžete snadno vytvářet soubory na serveru NFS i na klientovi a bezproblémově je sdílet mezi dvěma systémy a také dalšími klientskými systémy, které byly nakonfigurovány pro přístup ke sdíleným složkám. A tím se dostáváme ke konci našeho dnešního tutoriálu. V této příručce jsme vám ukázali, jak nainstalovat a nastavit nastavení serveru NFS a klientského systému na CentOS 8 a RHEL 8.