Jak nastavit server a klienta NFS na CentOS 8
Network File System (NFS), také známý jako souborový systém klient/server, je populární, multiplatformní a distribuovaný protokol souborového systému používaný k exportu lokálních souborových systémů přes síť, takže že klienti mohou sdílet adresáře a soubory s ostatními v síti a pracovat s nimi, jako by byly připojeny lokálně.
V CentOS/RHEL 8 jsou podporované verze NFS NFSv3 a NFSv4 a výchozí verze NFS je 4.2 s podporou seznamů řízení přístupu ( ACL), kopírování na straně serveru, řídké soubory, rezervace místa, označené NFS, vylepšení rozvržení a mnoho dalšího.
V tomto článku se dozvíte, jak nainstalovat a nakonfigurovat Server NFS a klient NFS v distribucích Linuxu CentOS/RHEL 8.
Předpoklady:
- Průvodce instalací CentOS 8
- RHEL 8 Minimální instalace
- Povolte předplatné RHEL v RHEL 8
- Nastavte statickou IP adresu v CentOS/RHEL 8
Naše testovací prostředí:
NFS Server IP: 10.20.20.8
NFS Client IP: 10.20.20.9
Nastavení serveru NFS na CentOS 8
1. Nejprve začněte instalací požadovaných balíčků na server NFS. Balíčky jsou nfs-utils, které poskytují démona pro jaderný NFS server a související nástroje, jako je program showmount.
Spusťte následující příkaz a nainstalujte balíček na NFS server (použijte sudo, pokud spravujete systém jako uživatel bez oprávnění root).
dnf install nfs-utils
2. Po dokončení instalace spusťte službu nfs-server, povolte její automatické spouštění při spouštění systému a poté ověřte její stav pomocí příkazů systemctl.
systemctl start nfs-server.service
systemctl enable nfs-server.service
systemctl status nfs-server.service
Všimněte si, že další služby, které jsou nutné pro provoz serveru NFS nebo připojení sdílených složek NFS, jako jsou nfsd, nfs-idmapd, rpcbind, rpc.mountd, lockd, rpc.statd, rpc.rquotad a rpc.idmapd se automaticky spustí.
Konfigurační soubory pro server NFS jsou:
- /etc/nfs.conf – hlavní konfigurační soubor pro démony a nástroje NFS.
- /etc/nfsmount.conf – konfigurační soubor pro připojení NFS.
3. Dále vytvořte systémy souborů, které chcete exportovat nebo sdílet na serveru NFS. Pro tuto příručku vytvoříme čtyři systémy souborů, z nichž tři používají zaměstnanci tří oddělení: lidské zdroje, finance a marketing ke sdílení souborů a jeden je určen pro zálohování uživatelů root.
mkdir -p /mnt/nfs_shares/{Human_Resource,Finance,Marketing}
mkdir -p /mnt/backups
ls -l /mnt/nfs_shares/
4. Poté exportujte výše uvedené systémy souborů do konfiguračního souboru serveru NFS /etc/exports, abyste určili místní fyzické systémy souborů, které jsou přístupné klientům NFS.
/mnt/nfs_shares/Human_Resource 10.20.20.0/24(rw,sync)
/mnt/nfs_shares/Finance 10.20.10.0/24(rw,sync)
/mnt/nfs_shares/Marketing 10.20.30.0/24(rw,sync)
/mnt/backups 10.20.20.9/24(rw,sync,no_all_squash,root_squash)
Zde jsou některé z možností exportu (další informace a možnosti exportu naleznete v části man exporty):
- rw – umožňuje přístup ke čtení i zápisu do systému souborů.
- synchronizace – říká serveru NFS, aby na požádání zapsal operace (zápis informací na disk) (platí ve výchozím nastavení).
- all_squash – mapuje všechna UID a GID z požadavků klientů na anonymního uživatele.
- no_all_squash – používá se k mapování všech UID a GID z požadavků klientů na identická UID a GID na serveru NFS.
- root_squash – mapuje požadavky od uživatele root nebo UID/GID 0 od klienta na anonymní UID/GID.
5. Chcete-li exportovat výše uvedený systém souborů, spusťte příkaz exportfs s příznakem -a
znamená exportovat nebo zrušit export všech adresářů, - r
znamená reexport všech adresářů, synchronizaci /var/lib/nfs/etab s /etc/exports a soubory pod /etc/exports.d a -v umožňují podrobný výstup.
exportfs -arv
6. Chcete-li zobrazit aktuální seznam exportů, spusťte následující příkaz. Všimněte si, že tabulka exporty také používá některé z výchozích možností exportů, které nejsou explicitně definovány, jak je znázorněno na následujícím snímku obrazovky.
exportfs -s
7. Dále, pokud máte spuštěnou službu firewalld, musíte povolit provoz pro potřebné služby NFS (mountd, nfs , rpc-bind) přes bránu firewall a poté znovu načtěte pravidla brány firewall, aby se změny uplatnily následovně.
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload
Nastavení klienta NFS na klientských systémech
8. Nyní do klientských uzlů nainstalujte potřebné balíčky pro přístup ke sdíleným položkám NFS na klientských systémech. Spusťte příslušný příkaz pro vaši distribuci:
dnf install nfs-utils nfs4-acl-tools [On CentOS/RHEL]
sudo apt install nfs-common nfs4-acl-tools [On Debian/Ubuntu]
9. Poté spusťte příkaz showmount pro zobrazení informací o připojení pro server NFS. Příkaz by měl exportovat systém souborů na klienta, jak je znázorněno na snímku obrazovky.
showmount -e 10.20.20.8
9. Dále vytvořte místní souborový systém/adresář pro připojení vzdáleného souborového systému NFS a připojte jej jako souborový systém ntf.
mkdir -p /mnt/backups
mount -t nfs 10.20.20.8:/mnt/backups /mnt/backups
10. Poté potvrďte, že vzdálený souborový systém byl připojen spuštěním příkazu mount a filtrem připojení nfs.
mount | grep nfs
11. Chcete-li povolit trvalé připojení i po restartu systému, spusťte následující příkaz a zadejte příslušnou položku do /etc/fstab.
echo "10.20.20.8:/mnt/backups /mnt/backups nfs defaults 0 0">>/etc/fstab
cat /etc/fstab
12. Nakonec otestujte, zda nastavení NFS funguje správně, vytvořením souboru na serveru a zkontrolujte, zda je soubor vidět v klientovi.
touch /mnt/backups/file_created_on_server.text [On NFS Server]
ls -l /mnt/backups/file_created_on_server.text [On NFS client]
Pak to udělejte obráceně.
touch /mnt/backups/file_created_on_client.text [On NFS Client]
ls -l /mnt/backups/file_created_on_client.text [On NFS Server]
13. Odpojení vzdáleného systému souborů na straně klienta.
umount /mnt/backups
Pamatujte, že nemůžete odpojit vzdálený souborový systém, pokud v něm pracujete, jak je znázorněno na následujícím snímku obrazovky.
A je to! V této příručce jsme si ukázali, jak nainstalovat a nakonfigurovat NFS server a klienta v CentOS/RHEL 8. Pokud máte nějaké nápady, které byste chtěli sdílet nebo dotazy, použijte formulář pro komentáře níže, abyste se k nám vrátili.