V tomto tutoriálu vám ukážeme, jak nainstalovat server NFS na Ubuntu 20.04 LTS. Pro ty z vás, kteří nevěděli, NFS neboli Network File System je protokol distribuovaného systému souborů. Může vám pomoci sdílet soubory a celé adresáře s ostatními prostřednictvím sítě. Umožňuje programům na vzdálených systémech sdílet a přistupovat k informacím mezi sebou, jako by byly dostupné na místním počítači. Tato technologie vám poskytuje flexibilitu sdílení zdrojů přes více systémů.
Tento článek předpokládá, že máte alespoň základní znalosti Linuxu, víte, jak používat shell, a co je nejdůležitější, hostujete svůj web na vlastním VPS. Instalace je poměrně jednoduchá a předpokládá, že běží v účtu root, pokud ne, možná budete muset přidat 'sudo
‘ k příkazům pro získání oprávnění root. Ukážu vám krok za krokem instalaci serveru NFS na Ubuntu 20.04 (Focal Fossa). Můžete postupovat podle stejných pokynů pro Ubuntu 18.04, 16.04 a jakoukoli jinou distribuci založenou na Debianu, jako je Linux Mint.
Používáme dva stroje, jeden s Ubuntu 20.04, který bude fungovat jako NFS server, a druhý s jakoukoli jinou distribucí Linuxu, na kterou připojíme sdílenou složku. Stroje v tomto příkladu mají následující adresy IP:
NFS Server IP: 192.168.77.20 NFS Clients IPs: From the 192.168.77.0/24 range
Instalace serveru NFS na Ubuntu 20.04 LTS Focal Fossa
Krok 1. Nejprve se ujistěte, že všechny vaše systémové balíčky jsou aktuální, spuštěním následujícího apt
příkazy v terminálu.
sudo apt update sudo apt upgrade
Krok 2. Instalace serveru NFS na Ubuntu 20.04.
Nyní spustíme následující příkaz k instalaci balíčku serveru jádra NFS:
sudo apt install nfs-kernel-server
Můžete ověřit, zda nfs-server
služba běží podle obrázku:
sudo systemctl status nfs-server
Krok 3. Vytvoření sdílených adresářů na hostiteli.
Vytvoření adresáře, který bude sdílen mezi klientskými systémy:
sudo mkdir /var/nfs/general -p
Protože chceme, aby klientské systémy měly úplný přístup k tomuto sdílenému adresáři, musíme odebrat všechna oprávnění k adresářům, která omezují přístup:
sudo chown nobody:nogroup /var/nfs/general
Krok 4. Nakonfigurujte NFS na hostiteli.
Ponoříme se do konfiguračního souboru NFS, abychom nastavili sdílení těchto zdrojů:
sudo nano /etc/exports
Přidejte následující řádky:
/var/nfs/general client_ip(rw,sync,no_subtree_check) /home client_ip(rw,sync,no_root_squash,no_subtree_check)
Základní možnosti exportu:
Možnost | Popis |
rw | Povolit na svazku NFS požadavky na čtení i zápis. |
ro | Povolit pouze požadavky na čtení na svazku NFS. |
synchronizovat | Na požadavky odpovídejte až poté, co budou změny potvrzeny do stabilního úložiště. (Výchozí) |
async | Tato možnost umožňuje serveru NFS porušit protokol NFS a odpovídat na požadavky dříve, než budou jakékoli změny provedené tímto požadavkem převedeny na stabilní úložiště. |
zabezpečené | Tato možnost vyžaduje, aby požadavky pocházely z internetového portu menšího než IPPORT_RESERVED (1024). (Výchozí) |
nezabezpečené | Tato možnost přijímá všechny porty. |
wdelay | Potvrzení písemného požadavku na disk mírně zpozdí, pokud má podezření, že může probíhat další související požadavek na zápis nebo že může brzy dorazit. (Výchozí) |
no_wdelay | Tato možnost nemá žádný účinek, pokud je také nastavena asynchronní. Server NFS obvykle mírně zdrží odeslání písemného požadavku na disk, pokud má podezření, že může probíhat další související požadavek na zápis nebo že může brzy dorazit. To umožňuje, aby bylo na disk potvrzeno více požadavků na zápis jedinou operací, která může zlepšit výkon. Pokud server NFS přijímal převážně malé nesouvisející požadavky, mohlo by toto chování ve skutečnosti snížit výkon, takže je k dispozici možnost no_wdelay pro jeho vypnutí. |
kontrola_podstromu | Tato možnost umožňuje kontrolu podstromu. (Výchozí) |
no_subtree_check | Tato možnost zakáže kontrolu podstromu, která má mírné bezpečnostní důsledky, ale za určitých okolností může zlepšit spolehlivost. |
root_squash | Namapujte požadavky z uid/gid 0 na anonymní uid/gid. Všimněte si, že to neplatí pro žádná jiná uid nebo gid, která mohou být stejně citlivá, jako je uživatelská schránka nebo zaměstnanci skupiny. |
no_root_squash | Vypněte zmáčknutí kořenů. Tato možnost je užitečná hlavně pro klienty bez disku. |
all_squash | Namapujte všechna uid a gid na anonymního uživatele. Užitečné pro NFS exportované veřejné FTP adresáře, adresáře pro zařazování zpráv atd. |
no_all_squash | Vypněte veškeré squashing. (Výchozí) |
anonuid=UID | Tyto možnosti explicitně nastavují uid a gid anonymního účtu. Tato možnost je užitečná především pro klienty PC/NFS, kde můžete chtít, aby všechny požadavky pocházely od jednoho uživatele. Jako příklad zvažte položku exportu pro /home/joe v sekci příkladů níže, která mapuje všechny požadavky na uid 150. |
anongid=GID | Přečtěte si výše (anonuid=UID) |
Nakonec restartujte server NFS, aby se změny projevily:
sudo systemctl restart nfs-kernel-server
Krok 5. Konfigurace brány firewall.
Musíte povolit přístup přes bránu firewall, jinak nebude přístup a připojení sdíleného adresáře možné. Chcete-li toho dosáhnout, spusťte příkaz níže:
sudo ufw allow from 192.168.77.0/24 to any port nfs sudo ufw enable sudo ufw status
Krok 6. Nastavte klienty NFS.
Na klientských počítačích potřebujeme nainstalovat pouze nástroje potřebné k připojení vzdáleného souborového systému NFS.
- Nainstalujte klienta NFS na Debian a Ubuntu
Spusťte následující příkaz a nainstalujte jej:
sudo apt install nfs-common
- Vytvořte přípojné body na klientovi.
Nyní vytvoříme dva adresáře pro připojení na klientovi:
sudo mkdir -p /nfs/general sudo mkdir -p /nfs/home
Dále připojte sdílené složky pomocí IP adresy hostitele:
sudo mount host_ip:/var/nfs/general /nfs/general sudo mount host_ip:/home /nfs/home
Ověřte, že vzdálené systémy souborů jsou úspěšně připojeny pomocí mount nebo df
příkaz:
df -h
Chcete-li, aby připojení byla při restartu trvalá, otevřete /etc/fstab
soubor a přidejte následující řádky:
sudo nano /etc/fstab
Přidejte následující řádek:
192.168.77.10:/var/nfs/general /nfs/general nfs defaults,timeo=900,retrans=5,_netdev 0 0 192.168.77.10:/home /nfs/home nfs defaults,timeo=900,retrans=5,_netdev 0 0
Krok 7. Otestujte sdílení NFS.
Nyní vytvoříme testovací soubor pro /var/nfs/general
sdílet:
sudo touch /nfs/general/general.test
Zkontrolujte jeho vlastnictví:
$ ls -l /nfs/home/home.test -rw-r--r-- 1 root root 0 Aug 1 13:32 /nfs/home/home.test
Krok 8. Odpojení systému souborů NFS.
Pokud již není vzdálená sdílená složka NFS potřeba, můžete ji odpojit jako jakýkoli jiný připojený souborový systém pomocí umount
příkaz:
sudo umount /general
Blahopřejeme! Úspěšně jste nainstalovali server NFS. Děkujeme, že jste použili tento návod k instalaci serveru NFS na systém Ubuntu 20.04 LTS Focal Fossa. Pro další pomoc nebo užitečné informace vám doporučujeme navštívit oficiální webové stránky NFS.