Tutoriel Linux

Controllare un punto di montaggio con findmnt prima di un’operazione sul disco

Débutant4 min de lecture
Cartella collegata a un disco locale e a uno storage di rete per illustrare la verifica di un punto di montage Linux
Identificare lo storage realmente associato a una cartella prima di un’operazione su disco.

Hai individuato una directory da pulire. Prima di toccare /srv/app/data, quale filesystem modificherai? Sotto Linux, findmnt collega questo percorso al suo mount attivo.

Se il volume atteso manca, la cartella potrebbe rimanere accessibile sul filesystem padre: una scrittura riempirebbe quindi un altro volume. Una riparazione segue una procedura specifica per il filesystem ed è spesso eseguita fuori dal monte.

Identificare il montaggio che fornisce il percorso

Gli esempi presumono una shell Linux con findmnt, df e lsblk disponibili. Sostituisci /srv/app/data con una directory esistente di cui conosci l’uso.

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

L’output identifica il punto di montaggio in TARGET, la sua sorgente in SOURCE e il suo tipo in FSTYPE. Con -T, la cartella non deve essere essa stessa un punto di montaggio: findmnt cerca il montaggio padre appropriato.

Per identificare il volume dietro una cartella, privilegia questa ricerca per percorso. L’opzione accetta anche un file, come spiegato nel manuale di findmnt.

df -hT /srv/app/data

Sullo stesso percorso, df -hT verifica la capacità, lo spazio utilizzato e lo spazio disponibile dello stesso filesystem. Accosta la sua sorgente e il suo tipo ai campi SOURCE e FSTYPE letti in findmnt.

Se SOURCE indica un dispositivo a blocchi locale, trovalo in questo inventario per registrare il suo UUID:

lsblk -f

Se la sorgente corrisponde a NFS o a overlay, presenta un percorso tra parentesi quadre o rimane inspiegata, non dedurre alcuna azione su un disco locale.

Prima di un’operazione ricorsiva, cerca anche i sotto-montaggi. Nella seguente comando, sostituisci /srv/app/data con il percorso esatto letto in TARGET.

findmnt -R /srv/app/data

Se la destinazione è un punto di montaggio, il comando visualizza questo e i suoi sotto-montaggi. Individua i discendenti interessati dalla tua intervento: i valori di capacità forniti da df non dettagliano questa struttura ad albero.

Confrontare i risultati prima di un’azione

Un comando riuscito può rivelare un volume diverso da quello previsto. I quattro campi di findmnt permettono di individuare questa discrepanza:

  • TARGET : confronta il punto di montaggio con quello previsto. Un valore / collega il percorso al montaggio radice. Se ti aspettavi un montaggio dedicato, ferma l’intervento.
  • SOURCE : verifica l’origine dei dati. Un percorso tra parentesi quadre può segnalare una porzione di filesystem, in particolare un bind mount o un sottovolume Btrfs.
  • FSTYPE : confronta il tipo visualizzato con quello atteso e con il risultato di df -hT. Un valore nfs, nfs4 o overlay richiede una diagnosi adattata a questo montaggio.
  • OPTIONS : identifica ro, per sola lettura, o rw, per lettura-scrittura. Anche con rw, i permessi della directory possono rifiutare l’accesso al tuo account.

Se è prevista una scrittura e il montaggio è identificato, puoi completare la diagnosi con questo controllo facoltativo. Usa l’account previsto per la scrittura: passare a root cambierebbe i diritti valutati.

test -w /srv/app/data
printf 'Codice di ritorno : %sn' "$?"

test -w rimane silenzioso. Il printf eseguito immediatamente dopo mostra il suo codice: 0 se il test è positivo, 1 altrimenti. Non convalida che i diritti apparenti del conto corrente.

Questo controllo non garantisce alcuna scrittura. Il diritto di attraversare la directory, lo spazio disponibile, i limiti o un errore di input-output potrebbero ancora bloccare l’operazione.

Sospendere l’intervento se il montaggio rimane incerto

Un bind mount espone dati esistenti in un’altra posizione. Modificare un file tramite questo accesso tocca gli stessi dati. L’assenza della parola bind in OPTIONS non è sufficiente per escludere questo montaggio: fintanto che la sua origine rimane incerta, sospendi l’operazione.

Con NFS, la sorgente indica un export remoto. Una riparazione dello storage è di competenza del server che lo ospita.

Se il percorso si monta su richiesta, la guida Autofs sotto Linux aiuta a comprendere la sua apparizione. Accedere al percorso può innescare il montaggio.

In un container, findmnt consulta i montaggi visibili dal suo spazio dei nomi. Una sorgente overlay non designa direttamente il disco dell’host. Senza corrispondenza confermata lato host, questa diagnosi non consente alcuna intervento sui suoi volumi.

findmnt descrive lo stato attuale senza bloccare i montaggi. Un servizio o un amministratore potrebbero cambiarli dopo la tua lettura. Se cambiamenti concorrenti sono ancora possibili, sospendi l’intervento: lo stesso volume non fornirà necessariamente il percorso al momento dell’azione.