Comment forcer une connexion CIFS à démonter
Question
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 le sudo kill -9 ne peut pas le tuer. Comment puis-je forcer le noyau à démonter?
La solution
J'utilise paresseux unmount: umount -l
(c'est un L
minuscule)
Démontez paresseux. Détache le système de fichiers de la hiérarchie du système de fichiers maintenant, et nettoyer toutes les références à la système de fichiers dès qu'il n'est pas occupé plus. (Nécessite le noyau 2.4.11 ou plus tard.)
Autres conseils
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.
Sous RHEL 6, cela a fonctionné:
umount -f -a -t cifs -l
J'ai eu ce problème pendant un jour jusqu'à ce que je trouve la vraie résolution. Plutôt que d'essayer de forcer le démontage d'un partage smb bloqué, montez le partage avec l'option "souple". option. 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 le montage souple. Échec des appels système de fichiers après quelques 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 ne pas être une vraie réponse à votre question mais c'est une solution au problème
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.
Essayez umount -f / mnt / share. Fonctionne bien avec NFS, jamais essayé avec cifs.
De même, jetez un oeil à autofs, il montera le partage uniquement lorsque vous y accéderez et le démontera après les mondes.
contient un bon didacticiel. J'ai eu un problème très similaire avec davfs. Dans la page de manuel de umount.davfs
, j'ai constaté que les options -f -l -n -r -v
étaient ignorées par umount.davfs . Pour forcer le démontage de mon montage davfs, je devais utiliser
umount -i -f -l / media / davmount
.
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 pouvez également envisager de fusesmb , car le système de fichiers sera en cours d'exécution dans l'espace utilisateur, vous pouvez le tuer comme n'importe quel autre processus.
umount -f -t cifs -l /mnt &
Faites attention à & amp;
, laissez umount
s'exécuter en arrière-plan.
umount
détachera le système de fichiers en premier, vous ne trouverez donc rien sur / mnt
. Si vous exécutez la commande df
, le code umount / mnt
sera forcé.
Sur RHEL 6, cela a également fonctionné pour moi:
umount -f -a -t cifs -l FOLDER_NAME
Un démontage paresseux fera le travail pour vous.
umount -l <mount path>