![CIFS 共享一段时间后挂起](https://linux22.com/image/999918/CIFS%20%E5%85%B1%E4%BA%AB%E4%B8%80%E6%AE%B5%E6%97%B6%E9%97%B4%E5%90%8E%E6%8C%82%E8%B5%B7.png)
我有 2 个虚拟机,一个在 Ubuntu 17.04 上,一个在 Windows 10 上,它们之间有一个挂载文件夹来共享文件。此文件夹通过 CIFS 挂载在 Ubuntu 上。我的设置运行良好,直到 2-3 天,但现在当我启动 Ubuntu 时,文件夹已正确挂载,我可以通过 Ubuntu 访问 Windows 上的文件,但几分钟后,大约半个小时,当我尝试访问文件夹或执行 LS 或任何指向此文件夹的操作时,我的终端挂起,我无法执行任何其他操作。
输出syslog
:
Apr 26 15:45:55 frontierland kernel: [ 6360.152349] INFO: task mount.cifs:9755 blocked for more than 120 seconds.
Apr 26 15:45:55 frontierland kernel: [ 6360.152352] Not tainted 4.4.0-75-generic #96-Ubuntu
Apr 26 15:45:55 frontierland kernel: [ 6360.152353] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Apr 26 15:45:55 frontierland kernel: [ 6360.152355] mount.cifs D ffff880135c3fbe8 0 9755 1 0x00000004
Apr 26 15:45:55 frontierland kernel: [ 6360.152358] ffff880135c3fbe8 ffff8801368fecb8 ffff880138688e00 ffff8800b65faa00
Apr 26 15:45:55 frontierland kernel: [ 6360.152360] ffff880135c40000 ffff8800ba19c624 ffff8800b65faa00 00000000ffffffff
Apr 26 15:45:55 frontierland kernel: [ 6360.152361] ffff8800ba19c628 ffff880135c3fc00 ffffffff81837845 ffff8800ba19c620
Apr 26 15:45:55 frontierland kernel: [ 6360.152363] Call Trace:
Apr 26 15:45:55 frontierland kernel: [ 6360.152368] [<ffffffff81837845>] schedule+0x35/0x80
Apr 26 15:45:55 frontierland kernel: [ 6360.152370] [<ffffffff81837aee>] schedule_preempt_disabled+0xe/0x10
Apr 26 15:45:55 frontierland kernel: [ 6360.152372] [<ffffffff81839729>] __mutex_lock_slowpath+0xb9/0x130
Apr 26 15:45:55 frontierland kernel: [ 6360.152373] [<ffffffff818397bf>] mutex_lock+0x1f/0x30
Apr 26 15:45:55 frontierland kernel: [ 6360.152387] [<ffffffffc02e9a8e>] cifs_get_smb_ses+0x22e/0x690 [cifs]
Apr 26 15:45:55 frontierland kernel: [ 6360.152396] [<ffffffffc02ea54b>] cifs_mount+0x65b/0xdc0 [cifs]
Apr 26 15:45:55 frontierland kernel: [ 6360.152399] [<ffffffff811f0ef4>] ? __kmalloc_track_caller+0x1b4/0x250
Apr 26 15:45:55 frontierland kernel: [ 6360.152405] [<ffffffffc02d58c8>] cifs_do_mount+0x118/0x5c0 [cifs]
Apr 26 15:45:55 frontierland kernel: [ 6360.152408] [<ffffffff811e2b1c>] ? alloc_pages_current+0x8c/0x110
Apr 26 15:45:55 frontierland kernel: [ 6360.152410] [<ffffffff81212e98>] mount_fs+0x38/0x160
Apr 26 15:45:55 frontierland kernel: [ 6360.152412] [<ffffffff8122f527>] vfs_kern_mount+0x67/0x110
Apr 26 15:45:55 frontierland kernel: [ 6360.152414] [<ffffffff81231bdf>] do_mount+0x25f/0xda0
Apr 26 15:45:55 frontierland kernel: [ 6360.152416] [<ffffffff81232a5f>] SyS_mount+0x9f/0x100
Apr 26 15:45:55 frontierland kernel: [ 6360.152418] [<ffffffff8183b972>] entry_SYSCALL_64_fastpath+0x16/0x71
我正在通过 FSTAB 安装这样的文件夹
//fantasyland/Media /home/mickey/WindowsShare cifs _netdev,credentials=/home/mickey/.smbcredentials,iocharset=utf8,sec=ntlm,nosetuids,noperm 0 0
我对新安装的 Ubuntu 进行了测试,但仍然存在同样的问题...我想知道是不是某个软件包导致了这个问题,但不知道是哪一个...
我不知道为什么会突然发生这种情况。有什么线索可以告诉我该去哪里找吗?
谢谢你大卫
答案1
所以我找到了解决方案,它是通过在 fstab 挂载中添加 vers=3.0,如下所示
//服务器共享 /ShareMount cifs版本=3.0,凭据=/home/user/.smbcredentials,iocharset=utf8,sec=ntlm,nosetuids, noperm 0 0
我已经测试这个修改 22 小时了,没有再遇到任何断线的情况。