CIFS挂载在读取时挂起


13

我有一堆看起来像这样的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,默认情况下每次安装都soft意味着它最终会超时。问题在于超时时间太长。

更新:

将这些参数添加到mount命令也无济于事:

soft,timeo=300,retrans=3

您是否尝试过使用timeo=nretrans=m缩短超时间隔?
MadHatter 2014年

@MadHatter立即尝试。我看看这是否有效。谢谢。
Alexandru Plugaru 2014年

@MadHatter添加这些参数并不会真正改变任何东西
Alexandru Plugaru 2014年

您的意思是“什么都不会改变 ”;您能否再量化一些,也许也可以描述一下?
MadHatter 2014年

@MadHatter by不会更改任何内容,我的意思是您建议的更改并不能改善情况。我指定,添加这些参数并没有改善或恶化该问题。任何文件调用仍会挂起该过程。
Alexandru Plugaru 2014年

Answers:


1

我强烈建议使用AutoFS。

这将在后台动态安装和卸载您的网络共享,所有这些对用户都是透明的。在进行切换之前,我曾经在卸载和重新安装移动设备时遇到问题。

不幸的是,有太多的指南使autofs的安装过于复杂。假设您使用的是Ubuntu,请按照以下简单说明进行设置。

这是一些非常简单的说明:

  • 从apt-get安装: sudo apt-get install autofs -y
  • 删除所有内容/etc/auto.master并替换为:/- /etc/auto.cifs --timeout=20 --ghost
  • 对于每个安装,将这样的一行添加到auto.cifs中:/mnt/LOCAL/MOUNT/PATH -fstype=cifs,rw,noperm,credentials=/etc/auto.credentials ://SERVER/MOUNT
  • 在中/etc/auto.credentials,添加以下内容: username=USERNAME password=PASSWORD
  • 最后,sudo service autofs restart

而已。


1
这应该如何解决悬挂的电流连接问题?
斯文

没有。您只需调整一次安装设置即可使用autofs,并且在大多数情况下,您将停止获得挂起的连接。它应该解决问题,而不是症状。
本·扬克

0

在大多数情况下,至少可以通过执行惰性卸载来删除挂起的安装点:umount -l //server/share。也许您可以将其置于挂起状态(据我了解,您的计算机在晚上被挂起并运行了好几天?)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.