Rocky Linux 8 podporuje NFS verze 3 (NFSv3) a 4 (NFSv4). Výchozí verze NFS je 4.2, která obsahuje podporu pro seznamy řízení přístupu (ACL), kopírování na straně serveru, řídké soubory, rezervaci místa, označené NFS, vylepšení rozvržení a mnoho dalšího.
V této příručce se naučíme, jak nainstalovat a nakonfigurovat server NFS a klienta NFS na Rocky Linux 8.
Předpoklady
- Aktualizovaný server Rocky Linux, který bude použit jako server a další pro klienta
- Připojení ze serverů
- Přístup sudo ze serverů
Obsah
- Ujistěte se, že je server aktualizován
- Nainstalujte balíčky NFS
- Spuštění a povolení serveru NFS
- Povolení služby NFS na bráně Firewall
- Konfigurace exportů na serveru NFS
- Nastavení klientských systémů NFS
1. Zajištění aktuálnosti serveru
Než budete pokračovat, ujistěte se, že je server aktuální. K dosažení tohoto cíle použijte tento příkaz:
sudo dnf -y update
2. Nainstalujte balíčky NFS
Balíček nfs-utils
poskytuje démona pro server jádra NFS a související nástroje, jako je obsahuje showmount
program. K instalaci balíčku použijte tento příkaz:
sudo dnf install -y nfs-utils
3. Spuštění a povolení NFS serveru
Jakmile jsou balíčky NFS úspěšně nainstalovány, můžeme spustit a povolit server NFS. Ke spuštění serveru použijte tento příkaz systemctl:
sudo systemctl start nfs-server
Potvrďte stav služby tímto příkazem:
$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
Active: active (exited) since Thu 2022-01-13 17:54:19 UTC; 36s ago
Process: 59320 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
Process: 59308 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
Process: 59305 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
Main PID: 59320 (code=exited, status=0/SUCCESS)
Jan 13 17:54:18 dev-rockysrv.inv.re systemd[1]: Starting NFS server and services...
Jan 13 17:54:19 dev-rockysrv.inv.re systemd[1]: Started NFS server and services.
Výše uvedený výstup ukazuje, že služba byla úspěšně spuštěna. Chcete-li povolit spuštění služby při spouštění systému, použijte tento příkaz:
sudo systemctl enable nfs-server
Vezměte prosím na vědomí, že další služby, které jsou nutné pro provoz serveru NFS nebo připojení sdílených složek NFS, jako je nfsd
, nfs-idmapd
, rpcbind
, rpc.mountd
, lockd
, rpc.statd
, rpc.rquotad
a rpc.idmapd
se spustí automaticky.
4. Povolení služby NFS v bráně firewall
Pokud máte nainstalovanou a povolenou bránu firewall, musíte povolit služby NFS. Musíte povolit provoz pro potřebné služby NFS (připojené , nfs , rpc-bind ) přes bránu firewall a poté znovu načtěte pravidla brány firewall, aby se změny aplikovaly, jak je uvedeno dále.
sudo firewall-cmd --permanent --add-service=nfs sudo firewall-cmd --permanent --add-service=rpc-bind sudo firewall-cmd --permanent --add-service=mountd sudo firewall-cmd --reload
5. Konfigurace exportů na serveru NFS
Konfigurační soubory pro server NFS jsou umístěny v těchto cestách:
/etc/nfs.conf
– toto je hlavní konfigurační soubor pro démony a nástroje NFS/etc/nfsmount.conf
– toto je konfigurační soubor pro připojení NFS
Pojďme vytvořit souborové systémy pro export nebo sdílení na NFS serveru. Vytvoříme dva souborové systémy, /mnt/nfs_shares/files
pro sdílené soubory a /mnt/nfs_shares/backup
pro zálohy.
Vytvořme adresáře na serveru
sudo mkdir -p /mnt/nfs_shares/files
sudo mkdir -p /mnt/nfs_shares/backup
Potvrďte
$ sudo ls /mnt/nfs_shares
backup files
Poté přidejte výše uvedené souborové systémy do exportovaného souboru /etc/exports
na serveru NFS, abyste určili místní systémy souborů, které se exportují do klientů NFS.
Otevřete soubor exportů pomocí textového editoru
sudo vim /etc/exports
Poté přidejte tento obsah:
/mnt/nfs_shares/files 10.70.5.170(rw,sync)
/mnt/nfs_shares/backup 10.70.5.0/24(rw,sync,no_all_squash,root_squash)
Toto jsou možnosti exportu, které lze použít:
- rw – umožňuje přístup ke čtení i zápisu do systému souborů.
- synchronizovat – ří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 klientských požadavků 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.
Jakmile jsou systémy souborů definovány v souboru exportů, musíme spustit exportfs
příkaz pro jejich export. Exportfs lze spustit pomocí -a
příznak znamená exportovat nebo zrušit export všech adresářů, -r
což znamená znovu exportovat všechny adresáře, synchronizovat /var/lib/nfs/etab pomocí /etc/exports a soubory pod /etc/exports.d a -v umožňuje podrobný výstup.
sudo exportfs -arv
Toto je výstup na mém serveru
$ sudo exportfs -arv
exporting 10.70.5.170:/mnt/nfs_shares/files
exporting 10.70.5.0/24:/mnt/nfs_shares/backup
Chcete-li zobrazit aktuální seznam exportů, spusťte následující příkaz. Upozorňujeme, že tabulka exportfs také používá některé výchozí možnosti, které nejsou explicitně definovány:
$ sudo exportfs -s
/mnt/nfs_shares/files 10.70.5.170(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/mnt/nfs_shares/backup 10.70.5.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
6. Nastavení klientských systémů NFS
Nyní, když jsme nakonfigurovali exporty na serveru, můžeme k nim přistupovat z klientského systému. Přihlaste se do klientského systému a nainstalujte potřebné balíčky, které umožní přístup ke sdíleným složkám NFS.
Na systémech založených na RHEL:
sudo dnf install -y nfs-utils nfs4-acl-tools
V distribucích založených na Debianu/Ubuntu:
sudo apt install nfs-common nfs4-acl-tools
Poté můžeme spustit příkaz showmount a zobrazit informace o připojení pro server NFS. Výstupem příkazu jsou exportované souborové systémy na serveru
showmount -e 10.70.5.221
Výstup
$ showmount -e 10.70.5.221
Export list for 10.70.5.221:
/mnt/nfs_shares/backup 10.70.5.0/24
/mnt/nfs_shares/files 10.70.5.170
Vytvořte místní adresář systému souborů pro připojení vzdálených souborových systémů NFS a připojte jej jako souborový systém nfs
mkdir -p ~/backups
mkdir -p ~/nfs_files
sudo mount -t nfs 10.70.5.221:/mnt/nfs_shares/backup ~/backups
sudo mount -t nfs 10.70.5.221:/mnt/nfs_shares/files ~/nfs_files
Poté můžeme potvrdit, že byl vzdálený souborový systém připojen spuštěním připojit příkaz a filtr nfs připojí.
sudo mount | grep nfs
Výstup na mém počítači
$ sudo mount | grep nfs
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
10.70.5.221:/mnt/nfs_shares/backup on /home/rocky/backups type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
10.70.5.221:/mnt/nfs_shares/files on /home/rocky/nfs_files type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
Chcete-li povolit trvalé připojení i po restartu systému, přidejte položky do /etc/fstab
soubor. K tomu použijte tyto příkazy (jako root):
echo "10.70.5.221:/mnt/nfs_shares/backup /home/rocky/backups nfs defaults 0 0" >> /etc/fstab
echo "10.70.5.221:/mnt/nfs_shares/files /home/rocky/nfs_files nfs defaults 0 0" >> /etc/fstab
Nakonec otestujte, zda NFS setup funguje správně, když vytvoříte soubor na serveru a zkontrolujete, zda je soubor vidět v klientovi.
Na serveru:
sudo touch /mnt/nfs_shares/files/file_on_server.txt
Poté na klientském počítači potvrďte
$ ls ~/nfs_files/
file_on_server.txt
Můžete to udělat i obráceně. Na klientovi:
touch ~/nfs_files/file_on_client.txt
Poté na serveru potvrďte:
$ ls /mnt/nfs_shares/files/
file_on_client.txt file_on_server.txt
Chcete-li odpojit vzdálený souborový systém na straně klienta.
sudo umount /mnt/nfs_shares/files
sudo umount /mnt/nfs_shares/backup
Upozorňujeme, že nelze unmount
vzdálený souborový systém, pokud v něm pracujete.
Závěr
V této příručce se nám podařilo nainstalovat a nakonfigurovat NFS server a klienta na Rocky Linux 8.