我有一台 Ubuntu 16.04 VM,使用 VWWare 工作站 12.5.7 和 Windows 7 主机操作系统,并在开机时安装 cifs 挂载。连接空闲后,挂载不断丢失,进入目录的 ls 操作挂起,唯一能让它工作的方法就是重启 VM。我一直在尝试获取更多数据,但在内核日志(也许我没有搜索正确的字符串?)或位于 /var/log 中的 syslog 中没有看到任何有用的信息
我还尝试通过在 /etc/vmware-tools 中的 tools.conf 中添加日志来启用 vmware-tools 日志,但没有显示任何有用的信息。
Cifs 日志也没有显示任何内容,我按照此处的说明进行操作:https://wiki.samba.org/index.php/LinuxCIFS_troubleshooting
这里有没有人对查找位置有什么建议?我不确定这是我的 LAN 中的网络问题,还是 vmware 工具中的错误,或者其他什么。
多谢你们。
答案1
根据您尝试连接的 Samba 版本,可以在挂载 cifs 共享时通过将其添加到来指定/etc/fstab
,例如:
//your-server /your/mount cifs vers=2.1
-o vers=3.0
或者通过从命令行使用 if mount 来指定。
这可以防止一些兼容性问题导致连接突然中断。mount.cifs
手册页中提到vers=
:
1.0- 经典的 CIFS/SMBv1 协议。这是默认。
2.0- SMBv2.002 协议。该协议最初在 Windows Vista Service Pack 1 和 Windows Server 2008 中引入。请注意,Windows Vista 的初始发行版本使用的方言 (2.000) 略有不同,不受支持。
2.1- Microsoft Windows 7 和 Windows Server 2008R2 中引入的 SMBv2.1 协议。
3.0- Microsoft Windows 8 和 Windows Server 2012 中引入的 SMBv3.0 协议。
此外,如果挂载变得无响应并且“挂起”,如您所说,请尝试使用-l
/ --lazy option
(例如umount -l /your/mount
)将其卸载。摘自手册页:
延迟卸载。 立即从文件层次结构中分离文件系统,并在文件系统不再繁忙时立即清除对此文件系统的所有引用。(需要内核 2.4.11 或更高版本。)