web-dev-qa-db-fra.com

Comment forcer une connexion CIFS à démonter

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

140
smoofra

J'utilise paresseux démonter: umount -l _ (c'est une minuscule L)

Démonter paresseux. Détachez maintenant le système de fichiers de la hiérarchie du système de fichiers et nettoyez toutes les références au système de fichiers dès qu'il n'est plus occupé. (Nécessite le noyau 2.4.11 ou ultérieur.)

170
Kemal

umount -a -t cifs -l

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

64
ivanlan

Sur RHEL 6, cela a fonctionné:

umount -f -a -t cifs -l 
13
Andy Fraley

Cela fonctionne pour moi (Ubuntu 13.10 Desktop sur un serveur Ubuntu 14.04): -

 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 celui qui a été configuré et désigné dans le fichier smb.conf.

7
Phil Johnson

J'ai eu cette question pendant un jour jusqu'à ce que j'ai trouvé la vraie résolution. Au lieu d'essayer de forcer le démontage d'un partage smb bloqué, montez-le avec l'option "souple". Si un processus tente de se connecter au partage qui n'est pas disponible, il cessera d'essayer après un certain temps.

soft Rend la monture souple. Échec des appels système de fichiers après un certain nombre de secondes.

mount -t smbfs -o soft //username@server/share /users/username/smb/share

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

Peut-être pas une vraie réponse à votre question mais c'est une solution au problème

7
jnice

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

De plus, jetez un œil à autofs, il montera le partage uniquement lorsque vous y accéderez et le démontera après les mondes.

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

2
Sunny Milenov

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

2
Benedikt Köppel
umount -f -t cifs -l /mnt &

Méfiez-vous de &, laissez umount s'exécuter en arrière-plan. umount va d'abord détacher le système de fichiers, vous ne trouverez donc rien au sujet de /mnt. Si vous exécutez la commande df, elle sera alors umount /mnt de force.

1
zhjb7

Il existe une option -f à démonter que vous pouvez essayer:

umount -f /mnt/fileshare

Spécifiez-vous l'option '-t cifs' à monter? Assurez-vous également que vous ne spécifiez pas l'option "difficile" à monter.

Vous voudrez peut-être aussi considérer fusesmb , puisque le système de fichiers fonctionnera dans l'espace utilisateur, vous pouvez le tuer comme n'importe quel autre processus.

1
Chris AtLee