GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nakonfigurovat server NFS a připojit sdílené složky NFS na Ubuntu 18.04

Network File System (NFS) je populární protokol distribuovaného souborového systému, který umožňuje uživatelům připojit vzdálené adresáře na jejich server. Systém vám umožňuje využít úložný prostor na jiném místě a bez námahy zapisovat na stejný prostor z více serverů. Funguje tedy docela dobře pro adresáře, ke kterým uživatelé potřebují často přistupovat. Tento tutoriál vysvětluje proces připojování sdílené složky NFS na server Ubuntu 18.04 v jednoduchých a snadno sledovatelných krocích.

Předběžné informace

Pro účely tohoto tutoriálu by existovala konfigurace sdílení adresářů mezi dvěma servery Ubuntu 18.04, které by mohly mít libovolnou velikost. Pro každý z těchto serverů však budete potřebovat účet, který byl nastaven pomocí sudo privilegia. Server, který bude sdílet své adresáře, bude označován jako hostitel , zatímco server, který má tyto adresáře připojovat, by byl označen jako klient. 3. Pro účely jednotnosti a jednoduchosti se v celém kurzu použijí následující adresy IP jako odkazy na hodnoty hostitele a serveru:

  • Hostitel: 192.168.0.100
  • Klient: 192.168.0.101

Uživatelé musí nahradit výše uvedené hodnoty svými odlišnými hodnotami hostitele a klienta. Nyní jsme všichni připraveni naučit se kroky při připojování sdílení NFS na Ubuntu 18.04 LTS.

Stažení a instalace komponent

Na začátku je nezbytné nainstalovat potřebné komponenty na hostitelský i klientský server. Výslovně na hostitelském serveru byste museli nainstalovat nfs-kernel-server balíček, který vám umožní sdílet vaše adresáře. Protože toto je první krok, který v této relaci provedete s apt, musíte před instalací začít obnovením místního indexu balíčků (jak je uvedeno níže):

sudo apt-get update
sudo apt-get install nfs-kernel-server

Po instalaci těchto balíčků můžete provést přechod na klientský počítač. Na klientský počítač budete muset nainstalovat balíček s názvem nfs-common , který nabízí funkčnost NFS bez nutnosti zahrnutí serverových komponent. Zde opět musíte před instalací aktualizovat místní index balíčků, abyste se ujistili, že máte aktualizované informace (jak je uvedeno níže):

sudo apt-get update
sudo apt-get install nfs-common

Tím se dostanete na konec tohoto kroku a nyní můžete přejít k dalšímu.

Vytvoření sdíleného adresáře na hostitelském serveru

Pro účely tohoto tutoriálu by existoval experiment zahrnující sdílení dvou odlišných adresářů. Prvním adresářem pro sdílení je domovský adresář obsahující uživatelská data. Druhý by byl obecný adresář, který by byl vytvořen speciálně pro NFS, aby demonstroval správná nastavení a procesy. Totéž by se nacházelo na adrese /var/nfs Jako adresář/home již existuje, pojďme jednoduše pokračovat a začněme vytvořením /var/nfsdirectory pomocí následujícího příkazu:

sudo mkdir /var/nfs

Nyní máme nový adresář výslovně určený pro sdílení se vzdálenými hostiteli. Vlastnictví tohoto adresáře však zatím není ideální. Uživatelské vlastnictví musíme přiřadit uživateli v našem systému jménem nikdo . Musíme také přiřadit vlastnictví skupiny skupině v systému s názvem nogroup . To lze provést zadáním následujícího příkazu:

sudo chown nobody:nogroup /var/nfs

Zde je důležité poznamenat, že musíme pečlivě změnit vlastnictví pouze u těch adresářů, které se používají zejména ke sdílení. Například vlastnictví domovského adresáře (adresář /home) se nesmí měnit, protože by to způsobilo mnoho problémů uživatelům přítomným na hostitelském serveru.

Konfigurace exportů NFS na hostitelském serveru

S vytvořenými a přiřazenými adresáři se nyní můžeme ponořit do konfiguračního souboru NFS, abychom mohli nastavit sdílení těchto zdrojů. K tomu musíte otevřít /etc/exports soubor v textovém editoru s právy root pomocí následujícího příkazu:

sudo nano /etc/exports

Soubory, které se objeví, budou obsahovat několik komentářů, které vás seznámí s obecnou strukturou každého konfiguračního řádku. V podstatě by syntaxe byla podobná následujícímu:

directory_to_share client (share_option2,...,share_optionM)

Cílem je zde vytvořit řádek pro každý z adresářů, který musí být sdílen. Protože v našem vybraném příkladu je IP shodou okolností 192.168.0.100, řádky by měly vypadat nějak takto:

/home 192.168.0.101(rw,sync,no_root_squash,no_subtree_check)
/var/nfs 192.168.0.101(rw,sync,no_subtree_check)

Pojďme nyní chvíli porozumět možnostem uvedeným v řádcích výše.

  • rw :Tato možnost umožňuje klientskému počítači přístup ke svazku číst i zapisovat.
  • synchronizovat :Nutí NFS zapsat změny na disk před odpovědí, což má za následek stabilnější a konzistentnější prostředí. Důvodem je především to, že odpověď replikuje skutečný stav vzdáleného svazku.
  • nosubtreecheck :Tato volba odvrací kontrolu podstromu, což je proces, který nutí hostitele zkontrolovat, zda je soubor skutečně stále dostupný v exportovaném stromu pro každý požadavek. Může způsobit problémy, když je soubor přejmenován, když jej klient otevřel. Ze stejného důvodu je zhruba ve všech případech vhodné vypnout kontrolu podstromu.
  • norootsquash :Ve výchozím nastavení NFS překládá požadavky od uživatele root vzdáleně do neprivilegovaného na serveru. Toto je myšleno jako bezpečnostní funkce, která neumožňuje účtu root na klientovi používat souborový systém hostitele jako root. Tento druh direktivy to zakazuje pro určitý počet sdílení.

Jakmile provedete všechny požadované změny, celkem předvídatelně musíte provést změny a uložit tyto změny před zavřením souboru. Následně musíte pomocí následujícího příkazu vytvořit tabulku NFS, která obsahuje exporty vašich sdílených položek:

sudo exportfs -a

Služba NFS však zatím není spuštěna. Totéž můžete začít zadáním následujícího příkazu:

sudo service nfs-kernel-server start

Výše uvedený příkaz zpřístupní vaše sdílené položky klientům, které byste nakonfigurovali. Nyní jste připraveni přejít k dalšímu kroku.

Vytvoření přípojných bodů a připojení vzdálených sdílených složek na klientském serveru

S nakonfigurovaným hostitelským serverem a zpřístupněním jeho sdílených adresářů byste nyní museli připravit svého klienta. Zde budete muset připojit vzdálené sdílené položky, proto musíte vytvořit několik přípojných bodů. Použili byste konvenční /mnt pro začátek a následně vytvořte adresář s názvem NFS pod ním konsolidovat akcie. Zde budou aktuální adresáře odpovídat jejich umístění na hostitelském serveru. Uživatelé mohou vytvořit každý adresář a nezbytné nadřazené adresáře pomocí následujícího příkazu:

sudo mkdir -p /mnt/nfs/home
sudo mkdir -p /mnt/nfs/var/nfs

Po vytvoření slušného místa pro umístění vzdálených sdílených složek jste nyní schopni je připojit adresováním hostitelského serveru, který je pro účely tohoto tutoriálu 5.6.7.8, jak je uvedeno níže:

sudo mount 192.168.0.100:/home /mnt/nfs/home
sudo mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs

Ty by vám měly umožnit připojit sdílené položky z hostitelského počítače do klientského počítače. Můžete to zkontrolovat tak, že se podíváte na dostupné místo na disku na klientském serveru (jak je uvedeno níže):

df -h

Filesystem Size Used Avail Use% Mounted on /dev/vda 59G 1.3G 55G 3% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 2.0G 12K 2.0G 1% /dev tmpfs 396M 324K 396M 1% /run none 5.0M 0 5.0M 0% /run/lock none 2.0G 0 2.0G 0% /run/shm none 100M 0 100M 0% /run/user 192.168.0.100:/home 59G 1.3G 55G 3% /mnt/nfs/home

Jak je patrné dole, je viditelná pouze jedna ze zamýšlených sdílených složek, protože obě exportované sdílené složky existují na stejném souborovém systému na vzdáleném serveru, což znamená, že sdílejí stejný fond úložiště. Pro Avail a Použít % Abychom byli přesní, může být do výpočtů přidán pouze jeden podíl. Pokud však chcete zobrazit všechny sdílené složky NFS, které jste připojili, můžete zadat následující příkaz:

mount -t nfs

Výše uvedený příkaz vyvolá celou řadu připojení NFS, která jsou aktuálně dostupná na klientském počítači, což vás přivede na konec tohoto kroku a nyní je čas přejít k dalšímu.

Testování přístupu NFS

Přístup ke sdíleným položkám můžete otestovat zápisem něčeho do svých sdílených složek, například testovacího souboru do jedné ze sdílených složek (jak je uvedeno níže):

sudo touch /mnt/nfs/home/test_home

Zde také zapíšeme testovací soubor do druhé sdílené složky, abychom demonstrovali důležitý rozdíl:

sudo touch /mnt/nfs/var/nfs/test_var_nfs

Podívejte se prosím pozorně na vlastnictví souboru v připojeném domovském adresáři (jak je uvedeno níže), abyste pochopili rozdíl:

ls -l /mnt/nfs/home/test_home
-rw-r--r-- 1 root   root      0 Apr 10 09:15 test_home

Jak je zřejmé, soubor je vlastněn uživatelem root, důvodem je, že jste deaktivovali root_squash možnost na tomto připojení, která by soubor zapsala jako neznámý uživatel bez oprávnění root. Na druhém testovacím souboru, který byl připojen s povoleným root_squash, si všimnete něčeho úplně jiného (jak je vysvětleno níže):

ls -l /mnt/nfs/var/nfs/test_var_nfs
-rw-r--r-- 1 nobody nogroup 0 Apr 10 09:15 test_var_nfs

Je zřejmé, že tento soubor byl přiřazen nikomu uživatele a nogroup skupina. To tedy odpovídá přednastavené konfiguraci. Přejděme nyní k dalšímu kroku.

Automatické připojení vzdáleného adresáře NFS

Můžete si užít možnost automatického připojování vzdálených sdílených složek NFS tím, že je přidáte do fstab soubor na klientovi. Tento soubor musíte otevřít s právy root ve vašem textovém editoru pomocí následujícího příkazu:

sudo nano /etc/fstab

Přímo ve spodní části souboru musíte pro každou sdílenou položku přidat řádek, který by vypadal asi jako níže:

192.168.0.100:/home      /mnt/nfs/home   nfs auto,noatime,nolock,bg,nfsvers=4,intr,tcp,actimeo=1800 0 0
192.168.0.100:/var/nfs /mnt/nfs/var/nfs nfs auto,noatime,nolock,bg,nfsvers=4,sec=krb5p,intr,tcp,actimeo=1800 0 0

Zde uvedené možnosti lze nalézt v manuálové stránce, která popisuje připojení NFS v fstab soubor pomocí následujícího příkazu:

man nfs

To vám umožní automaticky připojit vzdálené oddíly při spouštění. Navázání připojení a dostupnost sdílení může chvíli trvat (trpělivost zde bude ctností!!)

Odpojení vzdáleného sdílení NFS

Pokud již nepotřebujete, aby byl vzdálený adresář připojen k vašemu systému, můžete jej snadno odpojit přesunem z adresářové struktury sdílené složky a odpojením pomocí následujícího příkazu:

cd ~
sudo umount /mnt/nfs/home
sudo umount /mnt/nfs/var/nfs

To vám umožní odebrat vzdálené sdílené položky a zpřístupnit pouze vaše místní úložiště:

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda         59G  1.3G   55G   3% /	
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            2.0G   12K  2.0G   1% /dev
tmpfs           396M  320K  396M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm
none            100M     0  100M   0% /run/user

Jak je zřejmé, sdílené složky NFS nyní nejsou k dispozici jako úložný prostor. Tím se dostanete na konec tutoriálu.

Závěr

NFS nabízí jednoduchý a rychlý mechanismus pro přístup ke vzdáleným systémům přes síť. Protokol však zůstává nešifrovaný. Pokud to zamýšlíte použít v produkčním prostředí, je vhodné zvážit směrování NFS přes SSH nebo připojení VPN, abyste vytvořili mnohem bezpečnější prostředí.


Ubuntu
  1. Jak nakonfigurovat server NFS a připojit sdílené složky NFS na Ubuntu 14.04

  2. Jak nainstalovat a nakonfigurovat server DHCP na Ubuntu 20.04

  3. Jak nastavit server a klienta NFS na Ubuntu 20.04

  1. Jak nakonfigurovat server NFS a připojit sdílené složky NFS na Ubuntu 14.10

  2. Jak nainstalovat a nakonfigurovat Algo VPN Server na Ubuntu 20.04

  3. Jak nainstalovat klienta a server NFS na Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat VNC na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat server Redis v Ubuntu