Vyhledávání na webu

Nastavení standardních systémů souborů Linux a konfigurace serveru NFSv4 – část 2


Linux Foundation Certified Engineer (LFCE) je vyškolen k nastavování, konfiguraci, správě a odstraňování problémů se síťovými službami v systémech Linux a je odpovědný za návrh a implementaci systémové architektury a řešení každodenních souvisejících problémy.

Představujeme certifikační program Linux Foundation (LFCE).

V části 1 této série jsme vysvětlili, jak nainstalovat server NFS (Network File System) a nastavit službu tak, aby se spouštěla automaticky při spouštění. Pokud jste tak ještě neučinili, přečtěte si tento článek a než budete pokračovat, postupujte podle uvedených kroků.

  1. Instalace síťových služeb a konfigurace automatického spouštění při spouštění – část 1

Nyní vám ukážu, jak správně nakonfigurovat váš server NFSv4 (bez zabezpečení ověřování), abyste mohli nastavit síťové sdílení pro použití v klientech Linuxu, jako by byly tyto systémy souborů nainstalovány lokálně. Všimněte si, že pro účely ověřování můžete použít LDAP nebo NIS, ale obě možnosti jsou mimo rozsah certifikace LFCE.

Konfigurace serveru NFSv4

Jakmile bude server NFS spuštěn a spuštěn, zaměříme svou pozornost na:

  1. určení a konfiguraci místních adresářů, které chceme sdílet v síti, a
  2. připojování těchto síťových sdílených položek ke klientům automaticky, buď pomocí souboru /etc/fstab, nebo pomocí obslužného programu na bázi jádra (autofs).

Později si vysvětlíme, kdy zvolit jednu nebo druhou metodu.

Než budeme, musíme se ujistit, že démon idmapd běží a je nakonfigurován. Tato služba provádí mapování názvů NFSv4 (user@mydomain) na ID uživatelů a skupin a je vyžadována pro implementaci serveru NFSv4.

Upravte /etc/default/nfs-common a povolte idmapd.

NEED_IDMAPD=YES

A upravte /etc/idmapd.conf pomocí názvu vaší místní domény (výchozí je FQDN hostitele).

Domain = yourdomain.com

Poté spusťte idmapd.

service nfs-common start 	[sysvinit / upstart based systems]
systemctl start nfs-common 	[systemd based systems]

Export síťových sdílených položek

Soubor /etc/exports obsahuje hlavní konfigurační direktivy pro náš NFS server, definuje systémy souborů, které budou exportovány na vzdálené hostitele, a specifikuje dostupné možnosti. V tomto souboru je každá sdílená síť označena pomocí samostatného řádku, který má ve výchozím nastavení následující strukturu:

/filesystem/to/export client1([options]) clientN([options])

Kde /filesystem/to/export je absolutní cesta k exportovanému systému souborů, zatímco client1 (až do clientN) představuje konkrétního klienta (název hostitele nebo IP adresu) nebo síť (zástupné znaky jsou povoleny), do kterého se podíl exportuje. Nakonec opce je seznam čárkou oddělených hodnot (opcí), které jsou zohledněny při exportu podílu, resp. Vezměte prosím na vědomí, že mezi každým názvem hostitele a závorkami, které předcházejí, nejsou žádné mezery.

Zde je seznam nejčastějších možností a jejich příslušný popis:

  1. ro (zkratka pro jen pro čtení): Vzdálení klienti mohou připojit exportované systémy souborů pouze s oprávněním ke čtení.
  2. rw (zkratka pro čtení-zápis): Umožňuje vzdáleným hostitelům provádět změny zápisu v exportovaných souborových systémech.
  3. wdelay (zkratka pro zpoždění zápisu): NFS server zpozdí provedení změn na disku, pokud má podezření, že hrozí další související požadavek na zápis. Pokud však NFS server přijme více malých nesouvisejících požadavků, tato volba sníží výkon, takže k jejímu vypnutí lze použít volbu no_wdelay.
  4. synchronizace: Server NFS odpovídá na požadavky až poté, co byly změny přeneseny do trvalého úložiště (tj. na pevný disk). Jeho opak, volba async, může zvýšit výkon, ale za cenu ztráty nebo poškození dat po nečistém restartu serveru.
  5. root_squash: Zabraňuje vzdáleným uživatelům root mít na serveru oprávnění superuživatele a přiděluje jim ID uživatele pro uživatele none. Pokud chcete „squash“ všechny uživatele (a nejen root), můžete použít volbu all_squash.
  6. anonuid/anongid: Explicitně nastaví UID a GID anonymního účtu (nikdo).
  7. subtree_check: Pokud je exportován pouze podadresář souborového systému, tato volba ověří, že se požadovaný soubor nachází v tomto exportovaném podadresáři. Na druhou stranu, pokud je exportován celý souborový systém, deaktivace této možnosti pomocí no_subtree_check urychlí přenosy. Výchozí volba je dnes no_subtree_check, protože kontrola podstromu má podle exportů man 5 tendenci způsobit více problémů, než stojí za to.
  8. fsid=0 | root (nula nebo kořen): Určuje, že zadaný systém souborů je kořenem více exportovaných adresářů (platí pouze pro NFSv4).

V tomto článku použijeme adresáře /NFS-SHARE a /NFS-SHARE/mydir na 192.168.0.10 (NFS server) jako náš testovat souborové systémy.

Pomocí následujícího příkazu můžeme vždy zobrazit seznam dostupných síťových sdílených položek na serveru NFS:

showmount -e [IP or hostname]

Ve výše uvedeném výstupu vidíme, že sdílení /NFS-SHARE a /NFS-SHARE/mydir na 192.168.0.10 byla exportována ke klientovi s IP adresou 192.168.0.17.

Naše počáteční konfigurace (viz adresář /etc/exports na vašem NFS serveru) pro exportovaný adresář je následující:

/NFS-SHARE  	192.168.0.17(fsid=0,no_subtree_check,rw,root_squash,sync,anonuid=1000,anongid=1000)
/NFS-SHARE/mydir    	192.168.0.17(ro,sync,no_subtree_check)

Po úpravě konfiguračního souboru musíme restartovat službu NFS:

service nfs-kernel-server restart 		[sysvinit / upstart based system]
systemctl restart nfs-server			[systemd based systems]
Připojování exportovaných síťových sdílených položek pomocí autofs

Podrobnosti o připojení vzdálených sdílených složek NFS na vyžádání pomocí příkazem mount nebo trvale prostřednictvím souboru /etc/fstab.

Nevýhodou připojování síťového souborového systému pomocí těchto metod je, že systém musí alokovat potřebné prostředky, aby sdílenou složku udržel připojenou po celou dobu, nebo alespoň dokud se nerozhodneme je odpojit ručně. Alternativou je připojit požadovaný souborový systém na vyžádání automaticky (bez použití příkazu mount) pomocí autofs, který dokáže připojit souborové systémy, když jsou používány, a odpojit je po období nečinnosti.

Autofs čte /etc/auto.master, který má následující formát:

[mount point]	[map file]

Kde [mapový soubor] se používá k označení více přípojných bodů v rámci [připojovací bod].

Tento hlavní mapový soubor (/etc/auto.master) se pak použije k určení, které přípojné body jsou definovány, a poté spustí proces automatického připojení se zadanými parametry pro každý přípojný bod.

Připojení exportovaných sdílených složek NFS pomocí autofs

Upravte svůj /etc/auto.master následovně:

/media/nfs	/etc/auto.nfs-share	--timeout=60

a vytvořte mapový soubor s názvem /etc/auto.nfs-share s následujícím obsahem:

writeable_share  -fstype=nfs4 192.168.0.10:/
non_writeable_share  -fstype=nfs4 192.168.0.10:/mydir

Všimněte si, že první pole v /etc/auto.nfs-share je název podadresáře v /media/nfs. Každý podadresář je vytvořen dynamicky pomocí autofs.

Nyní restartujte službu autofs:

service autofs restart 			[sysvinit / upstart based systems]
systemctl restart autofs 			[systemd based systems]

a nakonec, chcete-li povolit spuštění autofs při spouštění, spusťte následující příkaz:

chkconfig --level 345 autofs on
systemctl enable autofs 			[systemd based systems]
Zkoumání připojených souborových systémů po spuštění démona autofs

Když restartujeme autofs, příkaz mount nám ukáže, že mapový soubor (/etc/auto.nfs-share) je připojen k zadanému adresář v /etc/auto.master:

Vezměte prosím na vědomí, že dosud nebyly připojeny žádné adresáře, ale bude to automaticky, když se pokusíme o přístup ke sdíleným složkám uvedeným v /etc/auto.nfs-share:

Jak můžeme vidět, služba autofs „připojí“ mapový soubor, abych tak řekl, ale čeká, až bude souborovým systémům zaslán požadavek na jejich skutečné připojení.

Provádění testů zápisu v exportovaných souborových systémech

Možnosti anonuid a anongid spolu s root_squash nastaveným v prvním sdílení nám umožňují mapovat požadavky provedené uživatelem root v klienta na lokální účet na serveru.

Jinými slovy, když root v klientovi vytvoří soubor v tomto exportovaném adresáři, jeho vlastnictví bude automaticky mapováno na uživatelský účet s UID a GID=1000 za předpokladu, že takový účet na serveru existuje:

Závěr

Doufám, že se vám pomocí tohoto článku jako průvodce podařilo úspěšně nastavit a nakonfigurovat server NFS vhodný pro vaše prostředí. Můžete se také podívat na příslušné manuálové stránky pro další pomoc (například man exports a man idmapd.conf).

Neváhejte experimentovat s dalšími možnostmi a testovacími případy, jak bylo uvedeno výše, a neváhejte použít níže uvedený formulář k odeslání vašich komentářů, návrhů nebo dotazů. Budeme rádi, když se nám ozvete.