Fstab onder Linux: een automatische mount toevoegen zonder het opstarten te blokkeren
Débutant6 min de lecture
À retenirLinux n'est pas réservé aux experts. Le bon point de départ : une distribution accessible, une sauvegarde propre et quelques commandes comprises.
Wijzigen /etc/fstab Dit kan een server veel gebruiksvriendelijker maken. Een dataschijf, een dedicated partitie, een netwerkshare of een volume dat aan de VPS is toegevoegd, kan automatisch worden gekoppeld bij het opstarten, zonder dat er na elke herstart handmatige commando’s nodig zijn.
Maar het is ook het soort bestand dat ik nooit zomaar aanpas. Een foute regel in fstab kan het opstarten aanzienlijk vertragen, een herstelmodus activeren of ervoor zorgen dat je een consolevenster tegenkomt dat je niet wilde openen. Niets onoverkomelijks, maar je moet de controles wel in de juiste volgorde uitvoeren.
In dit artikel laten we zien hoe je een automatische mount onder Linux kunt toevoegen met behulp van een UUIDsla het bestand op, gebruik geen falen Test vervolgens met indien relevant. berg -a op voordat u opnieuw opstart.
Een fstab-mount moet vóór het herstarten worden getest met `mount -a`, vooral op een externe server.
Voordat je fstab wijzigt, moet je de juiste schijf identificeren.
De eerste fout is om een fstab-regel te schrijven vanuit een naam zoals /dev/sdb1Het zou kunnen werken, maar de naam kan veranderen afhankelijk van de volgorde waarin de schijven worden gedetecteerd. Voor een permanente configuratie geef ik de voorkeur aan het gebruik van de UUID.
Begin met het weergeven van de schijven en bestandssystemen:
lsblk -f
Je kunt de UUID’s ook ophalen met:
sudo blkid
Identificeer drie stukken informatie: de UUID, het bestandssysteemtype en het gewenste koppelpunt. Bijvoorbeeld, een schijf in ext4 waarin je wilt rijden /mnt/data.
Als je alleen af en toe een USB-schijf hoeft aan te sluiten, lees dan het artikel over Opdrachten om een USB-schijf te mounten onder Linux zal geschikter zijn. We hebben het hier over automatische assemblage bij het opstarten.
Maak een back-up van /etc/fstab voordat je een regel toevoegt.
Maak een kopie van het huidige bestand voordat je de editor opent. Dat is snel en voorkomt dat je op het laatste moment nog wijzigingen moet aanbrengen als een optie verkeerd is ingevoerd.
Maak vervolgens, indien nodig, het koppelpunt aan:
sudo mkdir -p /mnt/data
Open het bestand met je gebruikelijke editor:
sudo nano /etc/fstab
Ik raad aan om de nieuwe regel onderaan het bestand toe te voegen, met een opmerking er direct boven. Je hoeft geen roman te schrijven, maar over zes maanden zul je blij zijn dat je begrijpt waarom deze opzet bestaat.
Voeg een automatische mount toe met UUID
Een fstab-regel volgt deze logica:
Voor een hoeveelheid ext4 Lokaal kun je beginnen met een zin als deze:
Vervang uiteraard de UUID door de UUID die u met lsblk -f Of blkidKopieer dit voorbeeld niet letterlijk.
De laatste twee vakgebieden worden vaak verkeerd begrepen. nul schakelt het oude mechanisme uit dumpen, wordt tegenwoordig nog maar zelden gebruikt. De twee Dit geeft aan dat het bestandssysteem na de rootpartitie gecontroleerd kan worden. Voor een primaire systeempartitie zou men doorgaans het volgende vinden: eenVoor bepaalde netwerkconfiguraties of speciale volumes plaatsen we vaak nul.
De manpagina fstab(5) Het beschrijft de exacte structuur van het bestand. Het is beknopt, maar nuttig als je twijfelt over een bepaald veld.
Opties die voorkomen dat het opstarten wordt geblokkeerd.
De optie standaardinstellingen Dit is voldoende voor veel eenvoudige gevallen. Het omvat klassieke opties zoals lezen/schrijven, uitvoering toegestaan, geïnterpreteerd apparaat en automatisch mounten.
Ik voeg er vaak aan toe geen falen voor een niet-kritieke gegevensschijf, een USB-schijf die slechts af en toe wordt aangesloten, of een volume dat mogelijk ontbreekt bij het opstarten. Met geen falenDe machine mag niet geblokkeerd blijven simpelweg omdat deze secundaire module niet beschikbaar is.
Op distributies met systemd beperkt de volgende optie ook de wachttijd:
x-systemd.device-timeout=10
Dit is handig voor een externe schijf of een volume dat mogelijk traag reageert. Voor echt essentiële opslag zou ik strenger zijn: nee geen falen Automatische configuratie, duidelijke monitoring en herstart van de tests binnen een gepland tijdsvenster.
Bij netwerkconfiguraties, met name NFS of SMB, moet u niet blindelings een regel kopiëren die u elders aantreft. De opties variëren afhankelijk van het protocol, de authenticatiemethode, het netwerk en het moment waarop de verbinding beschikbaar komt tijdens het opstarten.
Test fstab zonder opnieuw op te starten
Start niet direct opnieuw op nadat u het bestand hebt opgeslagen. Test eerst de syntax en de configuratie met:
sudo mount -a
Als de opdracht geen resultaat oplevert, is dat geen garantie, maar wel een goed teken. Als er een foutmelding verschijnt, corrigeer de betreffende regel dan nu, terwijl uw systeem nog draait.
Controleer vervolgens of de mount actief is:
findmnt /mnt/data
df -h /mnt/data
mount | grep '/mnt/data'
Als systemd aangeeft dat het nog steeds een oude weergave van de mount-eenheden heeft, laad dan de configuratie opnieuw:
sudo systemctl daemon-reload
U kunt vervolgens opnieuw opstarten sudo mount -a. De pagina berg(8) blijft de referentie voor klassieke montagemogelijkheden en de documentatie. systemd.mount legt de specifieke opties van systemd uit.
Als de bewerking mislukt, lees dan eerst de foutmelding voordat je deze corrigeert.
Een fstab-fout is vaak heel veelzeggend: ongeldige UUID, onjuist bestandssysteemtype, ontbrekend koppelpunt, onbekende optie, onvoldoende rechten of een ontbrekend pakket voor een netwerkprotocol.
Als het opstartproces is vastgelopen, gebruik dan de herstelconsole van de hostingprovider, een herstelmodus of een live USB-stick. Koppel de rootpartitie en open deze. /etc/fstabGeef commentaar op de toegevoegde regel met #of herstel de back-up die in het begin is gemaakt.
sudo cp /etc/fstab.bak-YYYY-MM-DD-HHMM /etc/fstab
Voer op een externe server niet direct na het verlaten van de server de eerste testherstart uit. Zorg dat u toegang tot de console behoudt, of controleer in ieder geval of uw hostingprovider een gemakkelijk toegankelijke herstelmodus biedt.
Mijn controle voordat ik de automatische assemblage valideer.
Voor een eenvoudige gegevensschijf ziet mijn procedure er als volgt uit:
identificeer de schijf met lsblk -f en bevestig de UUID met blkid ;
te beschermen /etc/fstab vóór enige wijziging;
Maak het koppelpunt aan met een duidelijke naam;
Voeg een regel toe op basis van de UUID, niet op /dev/sdX ;
gooien sudo mount -a en corrigeer alle fouten voordat u opnieuw opstart;
controleer met vind, df -h en de boomstammen;
Start de computer pas opnieuw op als de assemblage schoon is.
Fstab is niet ingewikkeld, maar het vergeeft niet altijd benaderingen. Een korte regel, een betrouwbare UUID, geen falen Als volume van ondergeschikt belang is, dan is een echte test met berg -a op Dit is doorgaans wat onaangename verrassingen bij de volgende opstart voorkomt.