of je nu een ervaren systeembeheerder bent of gewoon een gewone gebruiker, je hebt waarschijnlijk al schijven gemount op Linux.
schijven kunnen lokaal zijn op uw machine of ze kunnen worden benaderd via het netwerk door bijvoorbeeld het NFS-protocol te gebruiken.
Als u ervoor kiest om schijven permanent aan te koppelen, hebt u ze waarschijnlijk aan uw fstab-bestand toegevoegd.
gelukkig voor u is er een betere en kosteneffectievere manier om schijven te mounten : door het hulpprogramma AutoFS te gebruiken.
AutoFS is een hulpprogramma dat lokale of externe schijven alleen aankoppelt wanneer ze worden benaderd . als u ze niet gebruikt, worden ze automatisch ontkoppeld.
in deze tutorial leert u hoe u AutoFS kunt installeren en configureren op Linux-systemen.
inhoudsopgave
Prerequisites
voordat u begint, is het belangrijk dat u sudo-rechten hebt op uw host.
om dit te verifiëren, voert u het commando “sudo” uit met de optie “-v”: Als u geen opties ziet, kunt u beginnen.
$ sudo -v
Als u geen sudo-rechten hebt, kunt u deze tutorial volgen voor Debian-gebaseerde hosts of deze tutorial voor CentOS-gebaseerde systemen.
AutoFS installeren op Linux
voordat u het hulpprogramma AutoFS installeert, moet u ervoor zorgen dat uw pakketten up-to-date zijn met repositories.
$ sudo apt-get update
nu uw systeem is bijgewerkt, kunt u AutoFS installeren door het commando” apt-get install “uit te voeren met het argument” autofs”.
$ sudo apt-get install autofs
bij het installeren van het AutoFS-pakket zal het installatieproces :
- Maak meerdere configuratiebestanden aan in de map / etc, zoals: auto.meester, auto.net auto.misc enzovoort;
- zal de AutoFS-service in systemd aanmaken;
- voeg de regel” automount “toe aan uw “nsswitch”.conf” bestand en link het op de “bestanden” bron
direct na de installatie, zorg ervoor dat de AutoFS-service wordt uitgevoerd met de “systemctl status” opdracht
$ sudo systemctl status autofs
U kunt ook de AutoFS service voor het draaien tijdens het opstarten
$ sudo systemctl enable autofs
Nu dat AutoFS correct is geïnstalleerd op uw systeem, laten we zien hoe u kunt beginnen met het maken van je eerste kaart.
hoe AutoFS werkt op Linux
“Maps” zijn een belangrijk concept als het gaat om AutoFS.
in AutoFS koppelt u koppelpunten met bestanden (wat een indirecte toewijzing wordt genoemd) of een koppelpunt met een locatie of een apparaat.
in de standaardconfiguratie zal AutoFS beginnen met het lezen van toewijzingen die in de autofs zijn gedefinieerd.hoofdbestand in de map / etc.
vanaf daar start het een thread voor alle koppelpunten gedefinieerd in de kaartbestanden gedefinieerd in het basisbestand.
Het starten van een thread betekent niet dat het aankoppelpunt is aangekoppeld wanneer u AutoFS voor het eerst start : het zal alleen aangekoppeld worden wanneer het benaderd wordt.
standaard zal AutoFS na vijf minuten inactiviteit koppelpunten afkoppelen (of ontkoppelen) die niet meer worden gebruikt.
opmerking : configuratieparameters voor AutoFS zijn beschikbaar in /etc/autofs.conf
uw eerste auto-kaartbestand aanmaken
Nu u een idee hebt over hoe AutoFS werkt, is het tijd dat u begint met het maken van uw allereerste AutoFS-kaart.
maak in de map /etc een nieuw kaartbestand aan met de naam “auto.bijvoorbeeld”.
$ sudo touch /etc/auto.example
Het doel van dit kaartbestand is om een NFS-share aan te koppelen op één computer in het netwerk.
de NFS-share bevindt zich op IP 192.168.178.29/24 op het lokale netwerk en het exporteert één schijf op /var/share.
voordat u probeert de NFS-share automatisch te koppelen, is het een goede gewoonte om het handmatig te mounten en te controleren of u contact kunt opnemen met de externe server.
$ ping 192.168.178.29
een directe kaart aanmaken
De eenvoudigste toewijzing die u met AutoFS kunt maken, wordt een directe kaart of een directe toewijzing genoemd.
een directe kaart associeert direct een koppelpunt met een locatie (bijvoorbeeld een NFS-locatie)
als voorbeeld, laten we zeggen dat u een NFS-share wilt koppelen tijdens het opstarten op de / tmp directory.
om een directe kaart te maken, bewerk je “auto.voorbeeld “bestand en voeg de volgende inhoud toe:
# Creating a direct map with AutoFS# <mountpoint> <options> <remote_ip>:<location> /tmp -fstype=nfs 192.168.178.29:/var/share
nu moet u de directe kaart toevoegen aan uw ” auto.hoofdbestand.
om aan te geven dat u naar een directe kaart verwijst, moet u de “-” notatie
# Content of the auto.master file/- auto.example
nu uw basisbestand is gewijzigd, kunt u de autofs-service opnieuw starten om de wijzigingen effectief te laten zijn.
$ sudo systemctl restart autofs$ cd /tmp
Gefeliciteerd, je zou nu in staat moeten zijn om toegang te krijgen tot je bestanden via NFS via directe toewijzing.
een indirecte toewijzing maken
Nu u directe toewijzingen hebt ontdekt, laten we eens kijken hoe u indirecte toewijzingen kunt gebruiken om externe locatie op uw bestandssysteem aan te koppelen.
indirecte toewijzingen gebruik dezelfde syntaxis als directe toewijzingen met één klein verschil : in plaats van locaties rechtstreeks aan te koppelen aan het aankoppelpunt, koppel je het aan op een locatie in dit aankoppelpunt.
Maak een bestand aan met de naam “auto.nfs”en plak de volgende inhoud erin
nfs -fstype=nfs 192.168.178.29:/var/share
zoals u kunt zien, is de eerste kolom veranderd : in een directe kaart gebruikt u het pad naar het aankoppelpunt (bijvoorbeeld /tmp), maar met een indirecte kaart specificeert u de sleutel.
de sleutel vertegenwoordigt de naam van de map in de map koppelpunt.
Bewerk uw “auto.master” bestand en voeg de volgende inhoud in het
/tmp /etc/auto.nfs
Herstart uw AutoFS service en ga dan naar de “tmp” directory
$ sudo systemctl restart autofs$ cd /tmp
standaard is, zal er niets worden weergegeven als je een lijst van de inhoud van deze map : vergeet niet, AutoFS alleen monteer de mappen wanneer ze worden geopend.
om AutoFS de map te laten aankoppelen, navigeert u naar de map die vernoemd is naar de sleutel die u hebt opgegeven in de “auto.nfs ” file (called “nfs” in this case)
$ cd nfs
Awesome!
uw aankoppelpunt is nu actief en u kunt beginnen met bladeren in uw map.
mapping verre thuismappen
Nu u iets meer begrijpt over directe en indirecte mappings, kunt u zich een vraag stellen : Wat is het nut van indirecte mapping als u eenvoudig locaties direct kunt toewijzen?
om nuttig te zijn, zijn indirecte afbeeldingen bedoeld om te worden gebruikt met jokertekens.
een belangrijk gebruik van het hulpprogramma AutoFS is het op afstand aankoppelen van persoonlijke mappen.
echter, als Gebruikersnamen veranderen van de ene gebruiker naar de andere, zult u niet in staat zijn om een schoon en mooi uitziend kaartbestand te hebben, zou u elke gebruiker op een zeer redundante manier in kaart moeten brengen.
# Without wildcards, you have very redundant map files/home/antoine <ip>:/home/antoine/home/schkn <ip>:/home/schkn/home/devconnected <ip>:/home/devconnected
gelukkig voor jou is er een syntaxis die je dynamisch mappen laat maken afhankelijk van wat er beschikbaar is op de server.
om dit te illustreren, Maak een nieuw bestand aan met de naam “auto.home ” in je /etc directory en begin met bewerken.
# Content of auto.home* <ip>:/home/&
In dit geval zijn er twee wilcards en het betekent gewoon dat alle mappen in de /home-map op de server worden toegewezen aan een map met dezelfde naam op de client.
om dit te illustreren, laten we doen alsof we een NFS server draaien op het 192.168.178.29 IP adres en dat het alle home directory ‘ s voor onze gebruikers bevat.
# Content of auto.home* 192.168.178.29:/home/&
Sla uw bestand op en begin met het bewerken van uw auto.hoofdbestand om uw indirecte toewijzing aan te maken
$ sudo nano /etc/auto.master# Content of auto.master/home /etc/auto.home
Sla uw hoofdbestand op en herstart uw AutoFS-service om de wijzigingen toe te passen.
$ sudo systemctl restart autofs
nu kunt u naar de /home map gaan en MOET u in staat zijn om de mappen correct te zien aangekoppeld voor de gebruikers.
opmerking : als u niets in de map ziet, onthoud dan dat u de map mogelijk één keer moet benaderen voordat deze door AutoFS kan worden aangekoppeld
hosts op uw netwerk toewijzen en ontdekken
Als u aandacht hebt besteed aan de auto.master file, je hebt waarschijnlijk gemerkt dat er een regel is voor de /net directory met een waarde “-hosts”.
De parameter “- hosts ” is bedoeld om alle ingangen in het /etc/hosts bestand weer te geven.
als herinnering kan het” hosts “- bestand worden gezien als een eenvoudige en lokale DNS-resolver die een set IP ‘ s koppelt aan hostnamen.
als voorbeeld, laten we een regel definiëren voor de NFS server in het /etc/hosts bestand door het IP en de hostnaam van de machine in te vullen.
zorg er allereerst voor dat sommige mappen op de server worden geëxporteerd door het commando “showmount” op de client uit te voeren.
$ sudo showmount -e <server>
nu u er zeker van bent dat sommige mappen worden geëxporteerd, ga dan naar uw ” auto.master ” bestand in /etc en voeg de volgende regel toe.
# Content of auto.master/net -hosts
Sla uw bestand op en herstart uw AutoFS-service om de wijzigingen toe te passen.
$ sudo systemctl restart autofs
dat is het!
nu zou je NFS share toegankelijk moeten zijn in de / net map onder een map die vernoemd is naar de hostnaam van je server.
$ cd /net/<server_name>$ cd /net/<server_ip>
opmerking : onthoud dat u direct in de map moet navigeren om deze aan te koppelen. Je zult het niet zien door simpelweg de /net directory op de eerste mount te vermelden.
problemen oplossen
in sommige gevallen kunt u problemen hebben bij het instellen van AutoFS : wanneer een apparaat bezet is of wanneer u geen contact kunt maken met een externe host bijvoorbeeld.
- mount / umount : doel is bezet
omdat Linux een multi-user systeem is, kan het zijn dat sommige gebruikers op sommige locaties surfen die u probeert te koppelen of te ontkoppelen (met AutoFS of niet)
Als u wilt weten wie door de map navigeert of wie een bestand gebruikt, moet u het commando “lsof” gebruiken.
$ lsof +D <directory>$ lsof <file>
opmerking : de optie “+D” wordt gebruikt om te laten zien wie de bron recursief gebruikt.
- showmount hangt bij het configureren van host discovery
Als u geprobeerd hebt host discovery te configureren met behulp van de parameter”- hosts”, hebt u mogelijk geverifieerd dat uw hosts op afstand toegankelijk zijn met behulp van het commando” showmount”.
echter, in sommige gevallen hangt het “showmount” Commando gewoon omdat het niet in staat is om contact op te nemen met de server op afstand.
meestal blokkeert de firewall van de server de verzoeken van de client.
als u toegang hebt tot de server, probeert u de logs te inspecteren om te zien of de firewall (UFW bijvoorbeeld) de verzoeken blokkeert of niet.
- Debugging gebruikmakend van het automount utility
op recente distributies wordt het autofs utility geïnstalleerd als systemd-service.
als gevolg hiervan kunt u de autofs-logboeken inspecteren met het commando” journalctl”.
$ sudo journalctl -u autofs.service
u kunt ook het hulpprogramma” automount ” gebruiken om de automatische aankoppelingen van de service te debuggen.
$ sudo systemctl stop autofs$ sudo automount -f -v
conclusie
In deze handleiding leerde u over het hulpprogramma AutoFS : hoe het werkt en de verschillen tussen directe en indirecte toewijzingen.
u hebt ook geleerd dat het kan worden geconfigureerd om host discovery in te stellen : uit de doos kunt u verbinding maken met alle NFS-shares van uw lokale netwerk, wat een zeer krachtig hulpmiddel is.
tenslotte heb je gezien hoe je indirecte kaarten kunt maken om automatisch persoonlijke mappen te maken.
als je geà nteresseerd bent in Linux systeembeheer, hebben we een volledige sectie gewijd aan het, dus zorg ervoor dat je een kijkje neemt!