我对 Linux 还算是新手,我希望有人能帮助我解决与文件服务器连接时遇到的问题。
我的家庭网络中有一个 NAS,它运行 Windows Server 2012R2,并通过 SMB 共享(ReFS/底层存储空间)提供文件。有时一切似乎都运行良好,但其他时候 - 最近更频繁 - 这些共享变得无法访问,并且似乎锁定了我的许多桌面环境......即任何试图与文件系统交互的东西。这只发生在我的 Linux 桌面上。我还有其他几个 Windows 10 盒子,它们能够毫无问题地访问共享。
这不是我第一次遇到这个问题。有一次我对此感到非常沮丧,无法解决它,所以我最终放弃了 Windows,将我的 NAS 转换为 FreeNAS (CIFS)。我最终并不喜欢它,但安装从未给我带来锁定问题。后来我又回到了 Windows,因为我的需求需要它,我怀念 AD 集成/易于管理。但不久之后,锁定问题又回来了。
我正在通过 /etc/fstab 使用 cifs-utils 安装这些共享,如下所示:
//<ip>/<share> /mnt/media cifs auto,_netdev,rw,noperm,credentials=<<path to creds>>,file_mode=0755,dir_mode=0755,sec=ntlm 0 0
//<ip>/<share> /mnt/storage cifs auto,_netdev,rw,noperm,credentials=<<path to creds>>,file_mode=0755,dir_mode=0755,sec=ntlm 0 0
我尝试做了一些研究,但没找到遇到同样问题的人。我找到的最接近的答案是人们提到 gnome 网络管理器可能会导致类似的问题,这就是我在那里放置 _netdev 参数的原因 - 但它没有帮助。
我在想,也许当我安装 network-manager-openvpn-gnome 包时,问题就开始出现了。不过我经常使用 VPN 连接,所以删除它真的不是一个选择。
正如我提到的,对于 Linux 来说我是个新手(标准 Windows 转换 - 试图变得更好!)所以我甚至不知道在哪里可以找到可以告诉我是什么原因导致的日志。
任何帮助我都会非常感激,因为我没有主意了。谢谢!
答案1
对于那些遇到此类问题的人,建议首先使用 smbclient 进行诊断。因为 smbclient 似乎比 CIFS 挂载客户端实现了更多的后台协商内容。即
smbclient //<ip>/<share> -I <ip> -U <username>
如果您能够进入 Windows 文件夹,那就意味着您在使用 CIFS 挂载选项时遇到了困难,它可能是任何事情。
下一步是启动 WIRESHARK 之类的嗅探器。然后捕获 smbclient 的包,然后与您的 CIFS 挂载进行比较。然后在编辑 /etc/fstab 之前尝试命令行挂载。例如
sudo mount -vvv -t cifs //<ip>/<share> /mnt/media -o credentials=<<path to creds>>,noserverino,sec=ntlmssp
就像这里一样,因为我注意到packget sniffer 显示服务器拒绝我的inode的错误,因此我很幸运能尝试一下noserverino
。主机服务器是Windows 10 Pro。