Ať už jste zkušený správce systému nebo jen běžný uživatel, pravděpodobně jste již nainstalovali disky v Linuxu.
Jednotky mohou být místní na vašem počítači nebo k nim lze přistupovat přes síť například pomocí protokolu NFS.
Pokud jste se rozhodli připojit jednotky trvale, pravděpodobně jste je přidali do svého souboru fstab.
Naštěstí pro vás existuje lepší a nákladově efektivnější způsob montáže disků:pomocí nástroje AutoFS.
AutoFS je nástroj, který připojuje místní nebo vzdálené disky pouze tehdy, jsou-li přístupné :pokud je nepoužíváte, budou automaticky odpojeny.
V tomto kurzu se dozvíte, jak nainstalovat a nakonfigurovat AutoFS v systémech Linux.
Předpoklady
Než začnete, je pro vás důležité abyste měli na svém hostiteli oprávnění sudo.
Chcete-li to ověřit, jednoduše spusťte příkaz „sudo“ s volbou „-v“:pokud nevidíte žádné možnosti, můžete jít.
$ sudo -v
Pokud nemáte oprávnění sudo, můžete se řídit tímto návodem pro hostitele založené na Debianu nebo tímto návodem pro systémy založené na CentOS.
Instalace AutoFS v systému Linux
Před instalací nástroje AutoFS se musíte ujistit, že vaše balíčky jsou aktuální s repozitáři.
$ sudo apt-get update
Nyní, když je váš systém aktualizován, můžete nainstalovat AutoFS spuštěním příkazu „apt-get install“ s argumentem „autofs“.
$ sudo apt-get install autofs
Při instalaci balíčku AutoFS bude instalační proces:
- Vytvořte více konfiguračních souborů v adresáři /etc jako : auto.master, auto.net, auto.misc a tak dále;
- Vytvoří služba AutoFS v systemd;
- Přidejte „automatické připojení ” do vašeho souboru „nsswitch.conf“ a propojte jej se „soubory “zdroj
Ihned po instalaci se ujistěte, že služba AutoFS běží pomocí příkazu „systemctl status“
$ sudo systemctl status autofs
Můžete také povolit, aby se služba AutoFS spustila při spuštění
$ sudo systemctl enable autofs
Nyní, když je AutoFS správně nainstalováno ve vašem systému, pojďme se podívat, jak můžete začít vytvářet svou první mapu.
Jak funguje AutoFS na Linuxu
„Mapy ” jsou klíčovým konceptem, pokud jde o AutoFS.
V AutoFS mapujete přípojné body pomocí souborů (která se nazývá nepřímá mapa) nebo přípojný bod s umístěním nebo zařízením.
Ve výchozí konfiguraci se AutoFS spustí čtením map definovaných v souboru autofs.master v adresáři /etc.
Odtud spustí vlákno pro všechny přípojné body definované v mapových souborech definovaných v hlavním souboru.
Spuštění vlákna neznamená, že přípojný bod je připojen při prvním spuštění AutoFS:bude připojen pouze tehdy, když je k němu přistupováno.
Ve výchozím nastavení po pěti minutách nečinnosti, AutoFS odpojí (nebo odpojí) přípojné body, které se již nepoužívají.
Poznámka :konfigurační parametry pro AutoFS jsou k dispozici v /etc/autofs.conf
Vytvoření prvního souboru automatické mapy
Nyní, když máte představu o tom, jak AutoFS funguje, je čas, abyste začali vytvářet svou úplně první mapu AutoFS .
V adresáři /etc vytvořte nový mapový soubor s názvem „auto.example “.
$ sudo touch /etc/auto.example
Cílem tohoto souboru mapy bude připojit sdílenou složku NFS umístěn na jednom počítači v síti.
Sdílení NFS je umístěno na IP 192.168.178.29/24 v místní síti a exportuje jeden disk umístěný na /var/share.
Před pokusem o automatické připojení sdílené složky NFS je dobrým zvykem zkusit ji připojit ručně a zároveň ověřit, že můžete kontaktovat vzdálený server.
$ ping 192.168.178.29
Vytvoření přímé mapy
Nejjednodušší mapování, které můžete vytvořit pomocí AutoFS, se nazývá přímá mapa nebo přímé mapování .
Přímá mapa přímo spojuje jeden přípojný bod s umístěním (například umístěním NFS)
Řekněme například, že chcete připojit sdílenou složku NFS při spouštění v adresáři /tmp.
Chcete-li vytvořit přímou mapu, upravte svůj „auto.example ” a připojte k němu následující obsah:
# Creating a direct map with AutoFS
# <mountpoint> <options> <remote_ip>:<location>
/tmp -fstype=nfs 192.168.178.29:/var/share
Nyní budete muset přidat přímou mapu do vašeho „auto.master “.
Chcete-li určit, že odkazujete na přímou mapu, musíte použít zápis „-“
# Content of the auto.master file
/- auto.example
Nyní, když je váš hlavní soubor upraven, můžete restartovat službu AutoFS, aby se změny projevily.
$ sudo systemctl restart autofs
$ cd /tmp
Gratulujeme, nyní byste měli mít přístup ke svým souborům přes NFS prostřednictvím přímého mapování.
Vytvoření nepřímého mapování
Nyní, když jste objevili přímá mapování, pojďme se podívat, jak můžete použít nepřímá mapování k připojení vzdáleného umístění na váš souborový systém.
Nepřímá mapování používají stejnou syntaxi jako přímá mapování s jedním malým rozdílem:místo připojování míst přímo k bodu připojení je připojujete do umístění v tomto bodu připojení.
Abyste tomu porozuměli, vytvořte soubor s názvem „auto.nfs “ a vložte do něj následující obsah
nfs -fstype=nfs 192.168.178.29:/var/share
Jak vidíte, první sloupec se změnil:v přímé mapě používáte cestu k bodu připojení (například /tmp), ale u nepřímé mapy určujete klíč .
Klíč bude představovat název adresáře umístěný v adresáři bodu připojení.
Upravte svůj soubor „auto.master“ a přidejte do něj následující obsah
/tmp /etc/auto.nfs
Restartujte službu AutoFS a přejděte do adresáře „tmp“
$ sudo systemctl restart autofs
$ cd /tmp
Ve výchozím nastavení se nic nezobrazí, pokud uvedete obsah tohoto adresáře:pamatujte, AutoFS připojí adresáře pouze tehdy, když k nim bude přístup.
Aby AutoFS připojilo adresář, přejděte do adresáře pojmenovaného podle klíče, který jste zadali v souboru „auto.nfs“ (v tomto případě nazývaném „nfs“)
$ cd nfs
Úžasný!
Váš přípojný bod je nyní aktivní a můžete začít procházet svůj adresář.
Mapování vzdálených domovských adresářů
Nyní, když rozumíte trochu více přímému a nepřímému mapování, můžete si položit jednu otázku:jaký má smysl mít nepřímé mapování, když můžete jednoduše mapovat místa přímo?
Aby byly nepřímé mapy užitečné, jsou určeny k použití se zástupnými znaky.
Jedním z hlavních případů použití nástroje AutoFS je možnostpřipojovat domovské adresáře na dálku.
Jak se však uživatelská jména mění z jednoho uživatele na druhého, nebudete moci mít čistý a pěkně vypadající mapový soubor, museli byste mapovat každého uživatele velmi redundantním způsobem.
# Without wildcards, you have very redundant map files
/home/antoine <ip>:/home/antoine
/home/schkn <ip>:/home/schkn
/home/devconnected <ip>:/home/devconnected
Naštěstí pro vás existuje syntaxe, která umožňuje dynamicky vytvářet adresáře v závislosti na tom, co je na serveru k dispozici.
Pro ilustraci vytvořte nový soubor s názvem „auto.home “ ve vašem /etc adresář a začněte jej upravovat.
# Content of auto.home
* <ip>:/home/&
V tomto případě existují dva zástupné znaky a to jednoduše znamená, že všechny adresáře nalezené v adresáři /home na serveru budou mapovány do stejnojmenného adresáře u klienta.
Abychom to ilustrovali, předstírejme, že máme NFS server běžící na IP adrese 192.168.178.29 a že obsahuje všechny domovské adresáře našich uživatelů.
# Content of auto.home
* 192.168.178.29:/home/&
Uložte soubor a začněte upravovat soubor auto.master, abyste mohli vytvořit nepřímé mapování
$ sudo nano /etc/auto.master
# Content of auto.master
/home /etc/auto.home
Uložte svůj hlavní soubor a restartujte službu AutoFS, aby se změny projevily.
$ sudo systemctl restart autofs
Nyní můžete přejít do adresáře /home a měli byste být schopni vidět adresáře správně připojené pro uživatele.
Poznámka:Pokud v adresáři nic nevidíte, pamatujte, že možná budete muset do adresáře vstoupit jednou, aby mohl být připojen pomocí AutoFS
Mapování a zjišťování hostitelů ve vaší síti
Pokud jste věnovali pozornost souboru auto.master, pravděpodobně jste si všimli, že existuje záznam pro /net adresář s hodnotou „-hosts “.
Parametr „-hosts“ má představovat všechny položky definované v souboru /etc/hosts.
Připomínáme, že soubor „hosts“ lze považovat za jednoduchý a místní překladač DNS, který spojuje sadu IP adres s názvy hostitelů.
Jako příklad si definujme záznam pro NFS server do souboru /etc/hosts vyplněním IP a názvu hostitele počítače.
Nejprve se ujistěte, že některé adresáře jsou exportovány na server spuštěním příkazu „showmount“ na klientovi.
$ sudo showmount -e <server>
Nyní, když jste se ujistili, že některé adresáře jsou exportovány, přejděte do souboru „auto.master“ v /etc a přidejte následující řádek.
# Content of auto.master
/net -hosts
Uložte soubor a restartujte službu AutoFS, aby se změny projevily.
$ sudo systemctl restart autofs
A je to!
Nyní by vaše sdílená složka NFS měla být přístupná v adresáři /net v adresáři pojmenovaném podle názvu hostitele vašeho serveru.
$ cd /net/<server_name>
$ cd /net/<server_ip>
Poznámka :pamatujte, že pro připojení budete muset přímo navigovat v adresáři. Neuvidíte to, když jednoduše vypíšete adresář /net na prvním připojení.
Odstraňování problémů
V některých případech můžete mít problémy při nastavování AutoFS:když je zařízení zaneprázdněné nebo když například nemůžete kontaktovat vzdáleného hostitele.
- mount/umount :cíl je zaneprázdněn
Vzhledem k tomu, že Linux je systém pro více uživatelů, může se stát, že někteří uživatelé budou procházet některá umístění, která se pokoušíte připojit nebo odpojit (pomocí AutoFS nebo bez)
Pokud chcete vědět, kdo se pohybuje ve složce nebo kdo používá soubor, musíte použít příkaz „lsof“.
$ lsof +D <directory>
$ lsof <file>
Poznámka:Možnost „+D“ se používá k zobrazení seznamu, kdo používá zdroj rekurzivně.
- showmount při konfiguraci zjišťování hostitele nereaguje
Pokud jste zkusili nakonfigurovat zjišťování hostitelů pomocí parametru „-hosts“, možná jste ověřili, že jsou vaši vzdálení hostitelé přístupní pomocí příkazu „showmount“.
V některých případech se však příkaz „showmount“ jednoduše zasekne, protože není schopen kontaktovat vzdálený server.
Brána firewall serveru většinu času blokuje požadavky klienta.
Pokud máte přístup k serveru, pokusíte se prozkoumat protokoly, abyste zjistili, zda firewall (například UFW) blokuje požadavky nebo ne.
- Ladění pomocí nástroje automatického připojení
Na nejnovějších distribucích je obslužný program autofs nainstalován jako služba systemd.
V důsledku toho můžete zkontrolovat protokoly autofs pomocí příkazu „journalctl“.
$ sudo journalctl -u autofs.service
Můžete také použít nástroj „automount“ k ladění automatických připojení prováděných službou.
$ sudo systemctl stop autofs
$ sudo automount -f -v
Závěr
V tomto tutoriálu jste se dozvěděli o nástroji AutoFS:jak funguje a jaké jsou rozdíly mezi přímými a nepřímými mapami.
Také jste se dozvěděli, že jej lze nakonfigurovat za účelem nastavení zjišťování hostitele:ihned po vybalení se můžete připojit ke všem sdíleným NFS ve vaší místní síti, což je velmi mocný nástroj.
Konečně jste viděli, jak můžete vytvářet nepřímé mapy, abyste mohli automaticky vytvářet domovské adresáře za běhu.
Pokud vás zajímá administrace linuxového systému, máme pro ni kompletní sekci, takže se určitě podívejte!