Tutoriel Linux

Autofs v Linuxu: připojení sdílení NFS na vyžádání

Débutant5 min de lecture

Server Debian, který čeká na nedostupný export NFS, může začít s prázdným adresářem, neúspěšným připojením nebo zbytečným zpožděním. Pro sdílení, které se používá příležitostně, jako je projektový archiv nebo repozitář, Autofs připojuje cestu při prvním přístupu a uvolňuje ji po určité době nečinnosti.

Následující postup cílí na server Debian nebo Ubuntu s již dostupným exportem NFS. Začíná manuálním připojením, poté konfiguruje zástupný bod /srv/nfs/projets. Uložte /etc/fstab pro objem, který služba potřebuje hned při startu.

Tučňák Tux otevírá síťovou složku připojenou k NFS serveru
Autofs připojuje sdílení, když je adresář skutečně otevřen.

Otestujte export NFS před úpravou Autofs

Autofs skrývá operaci připojení za přístupem k adresáři. Neřeší chybějící export NFS, rozbitý DNS ani práva odepřená serverem. Nejprve nainstalujte klienta NFS na Debian nebo Ubuntu a poté otestujte cestu pomocí mount v dočasném adresáři.

sudo apt update
sudo apt install nfs-common
sudo mkdir -p /mnt/nfs-manual-test
sudo mount -t nfs4 nfs.exemple.lan:/srv/nfs/projets /mnt/nfs-manual-test
findmnt -T /mnt/nfs-manual-test
ls -la /mnt/nfs-manual-test
sudo umount /mnt/nfs-manual-test
sudo rmdir /mnt/nfs-manual-test

Odměňte server a cestu exportem poskytnutým vaší skupinou. findmnt by měl zobrazit zdroj NFS a adresář by měl být čitelný s očekávanými právy. Pokud tento test selže, zde se zastavte. Konfigurace Autofs před tím, než máte funkční připojení NFS, komplikuje diagnostiku.

showmount -e nfs.exemple.lan může pomoci na serverech, které stále publikují protokol MOUNT. Nepoužívejte to jako povinný test: server NFSv4 nemusí nic vystavovat prostřednictvím tohoto příkazu, přesto může přijímat zdokumentované připojení.

Prohlášení o nepřímém montážním bodě

Na Debianu a Ubuntu nainstalujte autofs po testu NFS. Soubor /etc/auto.master spojuje kořenový adresář s mapou. Mapa poté obsahuje podadresáře, které spouštějí připojení. Formát nepřímé mapy je podrobně popsán v manuálu autofs.

sudo apt install autofs
sudoedit /etc/auto.master

Do /etc/auto.master přidejte tento řádek:

/srv/nfs /etc/auto.nfs --timeout=120

/srv/nfs je bod Autofs. Složka projets bude vytvořena pod tímto kořenem při prvním přístupu. Zpoždění --timeout=120 žádá o odpojení po dvou minutách nečinnosti. Nedávejte sem 0: automatické odpojení by bylo deaktivováno.

Poté vytvořte odkazovanou mapu a uchovejte ji ve formátu textu. Mapa typu program může spustit program k vygenerování položky. Tento mechanismus má své místo v kontrolované administraci, nikoliv v této základní konfiguraci.

sudo install -m 644 /dev/null /etc/auto.nfs
sudoedit /etc/auto.nfs

Vložte položku pro každé sdílení:

projets -fstype=nfs4,rw nfs.exemple.lan:/srv/nfs/projets

Slovo projets tvoří místní cestu /srv/nfs/projets. Část za volbami je validní export NFS zmíněný výše. Vyhněte se dvojitým lomítkům v cestách mapy. Manuál auto.master uvádí, že tyto cesty mohou způsobit těžko vyprázdnitelné chyby.

Tento nepřímý montáž bych si rezervoval pro adresáře, které jsou otevřeny příležitostně. Pro objem, který obsahuje databázi, kontejner nebo nezbytné soubory pro službu systemd, bych udržoval explicitní montáž se svými síťovými závislostmi. Autofs vytváří připojení v okamžiku, kdy je cesta konzultována, takže první přístup může čekat na síť nebo selhat.

Restartujte Autofs a vyvolejte montáž

Restartujte službu, aby zohlednila hlavní mapu, a poté zobrazte mapy načtené démonem. automount -m ukazuje jejich konfiguraci. Tento příkaz nutně nekontaktuje export NFS a ještě neprokazuje, že montáž funguje. Manuál automount popisuje tento výpis.

Na serveru, který již používá Autofs, proveďte tento restart, když žádný proces nepoužívá příslušné cesty.

sudo systemctl restart autofs
sudo automount -m
systemctl --no-pager --full status autofs
sudo journalctl -u autofs -n 50 --no-pager

Služba by měla být aktivní. Chyba syntaxe, chybějící soubor mapy nebo nedostupná cesta se objeví v deníku. Opravy tohoto bodu před testováním sdílení.

Následující přístup vyvolá montáž:

ls -la /srv/nfs/projets
findmnt -T /srv/nfs/projets
mountpoint /srv/nfs/projets

Po ls by měl findmnt ukázat server NFS a mountpoint by měl vrátit stav úspěchu. Počkejte více než dvě minuty bez otevření adresáře a poté znovu spusťte findmnt -T /srv/nfs/projets. Podle systému zůstává mapa Autofs viditelná pod /srv/nfs, zatímco montáž NFS projets zmizí až do příštího přístupu.

Udržujte Autofs mimo kritické cesty

Autofs je vhodný pro adresář projektů, archiv nebo sdílení, které je konzultováno správcem. Služba, která se spouští před sítí, proces, který netoleruje žádné zpoždění, nebo cesta používaná pro zápis obchodních dat vyžaduje trvalé připojení a explicitní závislosti systemd.

Průvodce NFS pod Linuxem pokrývá trvalé síťové připojení. Zde je cíl jiný: zabránit tomu, aby sdílení, které se zřídkakdy používá, zpomalovalo spuštění, a zároveň udržet příkaz a deník, abychom prokázali, proč se montáž objevuje nebo mizí.