2008-09-16 6 views
119

J'ai un partage CIFS monté sur une machine Linux. Le serveur CIFS est en panne, ou la connexion Internet est coupée, et tout ce qui touche le support CIFS prend maintenant plusieurs minutes pour expirer, et est inutilisable pendant que vous attendez. Je ne peux même pas lancer ls dans mon répertoire personnel car il y a un lien symbolique pointant à l'intérieur de la monture CIFS et ls essaie de le suivre pour décider de quelle couleur il devrait être. Si j'essaie de le démonter (même avec -fl), le processus umount se bloque exactement comme le fait ls. Même pas tuer sudo -9 peut le tuer. Comment puis-je forcer le noyau à se démonter?Comment forcer une connexion CIFS à se démonter

+0

similaires: (http://stackoverflow.com/questions/40317/force-unmount-of-nfs-mounted-directory) [Démontez force du répertoire monté NFS] – Kemal

Répondre

147

J'utilise Démontez paresseux: umount -l (c'est un L minuscule)

Lazy unmount. Detach the filesystem from the filesystem hierarchy now, and cleanup all references to the filesystem as soon as it is not busy anymore. (Requires kernel 2.4.11 or later.)

+23

Cela n'a pas fonctionné pour moi au début. Après avoir expérimenté un moment (dans un nouveau terminal virtuel à chaque fois), j'ai trouvé ceci: '' 'sudo umount -a -t cifs -l'''. Soit cela a fait l'affaire, ou le premier umount a pris un certain temps (120s? 300s?) Pour terminer. J'ai eu beaucoup d'avertissements sur umount étant bloqué pendant plus de 120 secondes. –

+2

Et puis j'ai dû tuer tous les umounts suspendus avant que je puisse monter à nouveau. –

+7

J'avais aussi besoin de 'sudo umount -a -t cifs -l' pour que ça marche. – Joma

0

Il y a une option -f pour umount que vous pouvez essayer:

umount -f /mnt/fileshare 

Vous spécifiez l'option '-t cifs de monter? Assurez-vous également que vous ne spécifiez pas l'option 'hard' à monter.

Vous pouvez également considérer fusesmb, puisque le système de fichiers s'exécutera dans l'espace utilisateur, vous pouvez le tuer comme n'importe quel autre processus.

+3

-f et -t ne pas aider, l'umount se bloque toujours. – smoofra

+0

avez-vous redémarré depuis l'ajout de l'option '-t cifs' à monter? Je ne pense pas qu'il y ait quelque chose que vous puissiez faire pour réparer votre point de montage bloqué en ce moment, votre seul espoir est d'essayer de le monter d'une manière plus résistante à l'échec dans le futur. –

1

Essayez umount -f/mnt/share. Fonctionne bien avec NFS, jamais essayé avec cifs.

En outre, jetez un oeil à autofs, il montera le partage uniquement lors de l'accès, et le démontera afterworlds.

Il y a un bon tutoriel à www.howtoforge.net

+4

malheureusement -f ne fonctionne pas avec CIFS. l'umount est toujours suspendu. – smoofra

5

J'ai eu ce problème pour un jour jusqu'à ce que je trouve la résolution réelle. Au lieu d'essayer de forcer le démontage d'un partage smb qui est bloqué, montez le partage avec l'option "soft". Si un processus tente de se connecter au partage qui n'est pas disponible, il arrête d'essayer après un certain laps de temps.

soft Make the mount soft. Fail file system calls after a number of seconds.

mount -t smbfs -o soft //[email protected]/share /users/username/smb/share 

stat /users/username/smb/share/file 
stat: /users/username/smb/share/file: stat: Operation timed out 

ne peut pas être une vraie réponse à votre question, mais il est une solution au problème

+14

Si vous regardez 'man mount.cifs', vous remarquerez que' soft' est en fait la valeur par défaut. – Benj

+4

En outre, je me bloque même avec l'option "soft" ... – dhardy

45

umount -a -t cifs -l

a fonctionné comme un charme pour moi sur CentOS 6.3. Il m'a sauvé un redémarrage du serveur.

+5

Pourriez-vous préciser ce que sont les commutateurs '-a' et' -l' et comment ils aident? – Isaac

+5

-a et -t cifs démonte tous les systèmes de fichiers cifs. il est préférable de spécifier celui que vous voulez démonter – dwery

+1

Ceci est parfait si vous avez monté via un navigateur de fichiers et vous ne pouvez pas localiser le point de montage incriminé - à condition que cela ne vous dérange pas de tout démonter! – sage

5

Cela fonctionne pour moi (Ubuntu 13.10 Desktop pour une Ubuntu 14.04 Server): -

sudo umount -f /mnt/my_share 

Monté avec

sudo mount -t cifs -o username=me,password=mine //192.168.0.111/serv_share /mnt/my_share 

où serv_share est que mis en place et a souligné dans le smb.conf fichier.

0

J'ai eu un problème très similaire avec davfs. Dans la page de manuel de umount.davfs, j'ai trouvé que les options -f -l -n -r -v sont ignorées par umount.davfs. Pour forcer-démonter ma monture davfs, j'ai dû utiliser umount -i -f -l /media/davmount.

8

Sur RHEL 6 cela a fonctionné:

umount -f -a -t cifs -l 
-1

Sur RHEL 6 cela a fonctionné pour moi aussi:

umount -f -a -t cifs -l FOLDER_NAME

0
umount -f -t cifs -l /mnt & 

Attention de &, laissez umount fonctionner en arrière-plan. umount va d'abord déconnecter le système de fichiers, donc vous ne trouverez rien à côté /mnt. Si vous exécutez la commande df, il sera forcément umount /mnt.

-6

Le démontage paresseux fera l'affaire pour vous.

-l

démontez
+7

Duplicata de la réponse acceptée de 7 ans. –

+4

'démonter: commande non trouvée' –

Questions connexes