Come smontare (in modo pulito) sshfs quando montato su un mount point NFS?


15

Il mio collega ha un computer desktop con /homecondiviso sul nostro file server. Ho sviluppato uno script Perl per il sshfsmontaggio di una determinata directory su un altro host SSH che funziona perfettamente sul mio laptop.

Sul suo computer lo script non riesce a smontare sshfsalla fine e lascia il mountpoint impuro. Non ho trovato alcun modo per ripristinare il mountpoint diverso dal riavvio. Dopo alcuni test ho scoperto che la differenza tra le nostre configurazioni è che la sua /homeè su NFS. Nel suo /tmpfunziona perfettamente.

Dopo il montaggio, durante l'operazione di script tutto va bene. Ma quando si uccide il sshfsprocesso viene elencato come <defunc>da psfino a quando non termina il processo padre (lo script Perl). Quando si esegue un sshfscomando non elaborato sulla shell, il problema persiste.

Un ls -dloutput per il mountpoint è simile al seguente (come ricordato: non ho una copia reale dell'output della shell a portata di mano):

? 1 ? ? 4096 Feb  9 15:37 file_archive/

(solo punti interrogativi per la maggior parte delle informazioni, almeno tutti i dettagli dell'autorizzazione)

Il mount di sshfs è ancora elencato da mountma un'operazione di smontaggio fallisce con un'autorizzazione di errore negata anche quando si fa come root.

Ho cercato su Google, ma ho trovato molti confronti tra sshfs e NFS per l'esecuzione di filesystem di rete. Come posso fare un mount / smontaggio di sshfs nella directory NFS in modo sicuro?

Risposte:


38

Dovresti essere in grado di smontare la condivisione sshfs eseguendo:

 fusermount -u /path/to/sshfs/share

Ci ho provato ma mi è stato negato il permesso . Naturalmente un normale umountdeve fallire quando viene eseguito come utente non root.
Daniel Böhmer,

Molto probabilmente il motivo per cui non è possibile smontare (con qualsiasi metodo) è perché la sua home directory è montata da NFS dove viene esportata con l' root_squashopzione. Pertanto, root non ha autorità nella sua home directory. Potresti spegnere, root_squashma probabilmente è più sicuro montare da qualche altra parte.
JFlo

2
Dimentico ogni volta, che umounto non fusermount -ufunziona, quando la directory viene utilizzata da qualche parte. Quindi cdfuori dalla directory prima di utilizzare fusermount -uo utilizzarelsof /my/local/mountpoint
eli

16

Basta terminare il processo usando pkill e quindi montare il percorso della cartella montata.

 pkill -kill -f "sshfs" && umount /path/to/sshfs/share

A volte devo fare "sudo umount -f" o "sudo umount -l" invece di umount.
fchen

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.