Tutoriel Linux

Controleren een mountpunt met findmnt voor een schijfoperatie

Débutant4 min de lecture
Map naar een lokale schijf en netwerkopslag ter illustratie van de verificatie van een Linux-mountpunt
Identificeer de opslag die daadwerkelijk aan een map is gekoppeld voordat u een schijfoperatie uitvoert.

U heeft een directory opgemerkt die moet worden schoongemaakt. Voordat u iets met /srv/app/data doet, welk bestandssysteem gaat u wijzigen? In Linux koppelt findmnt dit pad aan de actieve montage.

Als de verwachte volume ontbreekt, kan de map toegankelijk blijven op het ouder-bestandssysteem: een schrijfopdracht zou een ander volume vullen. Een herstel volgt een procedure die specifiek is voor het bestandssysteem en gebeurt vaak buiten montages.

Identificeer de montage die het pad bedient

De voorbeelden gaan ervan uit dat een Linux-shell met findmnt, df en lsblk beschikbaar is. Vervang /srv/app/data door een bestaande directory waarvan u de functie kent.

findmnt -T /srv/app/data -o TARGET,SOURCE,FSTYPE,OPTIONS

De uitvoer identificeert het mountpunt in TARGET, zijn bron in SOURCE en zijn type in FSTYPE. Met -T hoeft de map zelf geen mountpunt te zijn: findmnt zoekt naar de juiste ouder-montage.

Om het volume achter een map te identificeren, geeft u de voorkeur aan deze zoekopdracht op pad. De optie accepteert ook een bestand, zoals uitgelegd in de handleiding van findmnt.

df -hT /srv/app/data

Voor hetzelfde pad controleert df -hT de capaciteit, de gebruikte ruimte en de beschikbare ruimte van hetzelfde bestandssysteem. Vergelijk zijn bron en type met de velden SOURCE en FSTYPE die in findmnt zijn gelezen.

Als SOURCE een lokaal blokapparaat aanduidt, zoek het dan op in deze inventaris om zijn UUID te vinden:

lsblk -f

Als de bron overeenkomt met NFS of overlay, een pad tussen haakjes heeft of onverklaard blijft, trek dan geen conclusies over acties op een lokale schijf.

Voor een recursieve operatie, zoek ook naar submontages. In de volgende opdracht, vervang /srv/app/data door het exacte pad zoals gelezen in TARGET.

findmnt -R /srv/app/data

Als de bestemming een mountpunt is, toont de opdracht dit en zijn submontages. Identificeer de afgeleiden die onder uw interventie vallen: de capaciteitswaarden die door df worden verstrekt, geven deze hiërarchie niet in detail weer.

Vergelijk de resultaten vóór een actie

Een succesvolle opdracht kan een volume onthullen dat anders is dan verwacht. De vier velden van findmnt helpen dit verschil te identificeren:

  • TARGET : vergelijk het mountpunt met het verwachte. Een waarde / koppelt het pad aan de root-montage. Als u een speciale montage verwachtte, stop dan de interventie.
  • SOURCE : controleer de oorsprong van de gegevens. Een pad tussen haakjes kan een deel van een bestandssysteem aanduiden, met name een bind mount of een subvolume Btrfs.
  • FSTYPE : vergelijk het weergegeven type met het verwachte en het resultaat van df -hT. Een waarde nfs, nfs4 of overlay vraagt om een diagnose die specifiek is voor deze montage.
  • OPTIONS : identificeer ro, voor alleen-lezen, of rw, voor lezen-schrijven. Zelfs met rw kunnen de machtigingen van de map de toegang tot uw account weigeren.

Als een schrijfopdracht is gepland en de montage is geïdentificeerd, kunt u de diagnose aanvullen met deze optionele controle. Gebruik het account dat voor de schrijfopdracht is bedoeld: tijdelijk naar root gaan verandert de beoordeelde rechten.

test -w /srv/app/data
printf 'Retourcode : %sn' "$?"

test -w blijft stil. De printf die onmiddellijk daarna wordt uitgevoerd, toont zijn code: 0 als de test positief is, 1 anders. Het valideert alleen de zichtbare rechten van het huidige account.

Deze controle garandeert geen schrijfrechten. Het recht om door de directory te navigeren, de beschikbare ruimte, quotas of een invoer-uitvoerfout kunnen de operatie nog blokkeren.

Stel de interventie uit als de montage onzeker blijft

Een bind mount stelt bestaande gegevens op een andere plek beschikbaar. Een bestand wijzigen via deze toegang heeft invloed op dezelfde gegevens. De afwezigheid van het woord bind in OPTIONS is niet voldoende om deze montage uit te sluiten: zolang de oorsprong onzeker blijft, schort de operatie op.

Met NFS verwijst de bron naar een externe export. Een herstel van de opslag valt onder de server die deze host.

Als het pad op aanvraag wordt gemonteerd, helpt de gids Autofs onder Linux om zijn komst te begrijpen. Toegang tot het pad kan de montage triggeren.

In een container, findmnt raadpleegt de montages die zichtbaar zijn vanuit zijn naamruimte. Een source overlay verwijst niet direct naar de schijf van de host. Zonder bevestigde overeenkomsten aan de hostzijde, staat deze diagnose geen interventie op zijn volumes toe.

findmnt beschrijft de huidige staat zonder de montages te vergrendelen. Een service of een beheerder kan ze wijzigen na uw lezing. Als concurrerende wijzigingen mogelijk blijven, schort de interventie op: hetzelfde volume bedient mogelijk niet noodzakelijkerwijs het pad op het moment van actie.