我有一堆CIFS挂载有问题,如下所示:
//192.168.10.2/remote-share /home/windows-shared/remote-share cifs defaults,user=xxx,password=xxx,uid=603,gid=603 0 0
此问题会在一段时间后发生,通常是在用户早上启动计算机并且其共享不再远程工作的一天之后.
所以,当我尝试做一个ls时,我得到了这个:
ls: cannot access /home/windows-shared/remote-share: Host is down
我在dmesg中没有任何相关内容.这个问题是,现在对系统这一部分的任何读取调用都会挂起,所以作为一个解决方案我宁愿有更快的错误而不是无限期挂起.
在阅读了mount.cifs的手册页后,默认情况下每个mount都是软的,这意味着它最终会超时.问题是超时需要太长时间.
更新:
将这些参数添加到mount命令也无济于事:
soft,timeo=300,retrans=3
解决方法
我强烈建议使用AutoFS.
这将在后台动态安装和卸载您的网络共享,对用户都是透明的.在我进行切换之前,我曾经遇到过卸载和重新安装移动设备的问题.
不幸的是,有太多的指南过于复杂autofs设置.假设你在Ubuntu盒子上,这里有关于设置它的简单说明.
这是一些非常简单的说明:
>从apt-get安装:sudo apt-get install autofs -y
>删除/etc/auto.master中的所有内容并替换为:/ – /etc/auto.cifs –timeout = 20 –ghost
>为每个mount添加如下一行到auto.cifs:/ mnt / LOCAL / MOUNT / PATH -fstype = cifs,rw,noperm,credentials = / etc / auto.credentials:// SERVER / MOUNT
>在/etc/auto.credentials中,添加以下内容:
用户名= USERNAME
密码= PASSWORD
>最后,sudo服务autofs重启.
而已.