我有 CentOS 7.0 虚拟机,其卷安装在 Windows 2012-R2 文件服务器上。该卷包含一些与内部 Wordpress 站点相关的大文件。
大约一周前,该站点“损坏”了,我发现从 Linux 中的文件如下所示:
Linux 上的 readlink 工具显示与屏幕截图中相同的“中文”字母。
在 Windows 下,相同的文件如下所示:
我与 Windows 服务器的系统管理员交谈,他告诉我他们大约一周前在 Windows 服务器上打开了文件重复数据删除。
查看其中一个文件的属性显示“磁盘大小”非常小,此外“问题”文件具有“L”属性,这似乎支持与重复数据删除的关系。
我目前的看法是,Windows 服务器上的某种“硬链接”显然被我的 CentOS 系统解释为软链接。
我一直在尝试一些挂载设置,但我无法解决这个问题(除了关闭重复数据删除)。
我当前的(客户端)设置:
- CentOS 7.0
- samba-client-4.1.1-38.el7_0.x86_64
- samba-common-4.1.1-38.el7_0.x86_64
- samba-libs-4.1.1-38.el7_0.x86_64
- cifs-utils-6.2-7.el7.x86_64
我的 /etc/fstab 中的命令
\\xxxxxxxx\file\video /var/www/html/wp-content/uploads cifs nouser_xattr,nounix,iocharset=utf8,credentials=/etc/fstab.cifs.sa_video.credentials,_netdev,uid=apache,gid=apache,rw,auto 0 0
如何让 Linux 再次将这些文件视为文件?
2015 年 6 月 15 日更新:
我将系统更新到 CentOS 7.1。虽然这仍然运行内核“3.10”(准确地说:3.10.0-229.4.2.el7.x86_64),但不再出现此问题。所以解决方案实际上是“简单地更新”到 CentOS 7.1。
看到这个错误:https ://bugs.centos.org/view.php?id=7897
看起来
cifs
需要修补模块才能正确区分不同的重解析点。由于这个错误仍然存在,看起来 CentOS 团队并没有采取任何措施来修复它。如果您喜欢冒险,该错误确实有一个指向邮件列表线程的链接,其中包含应该修复它的补丁。您可以尝试自己应用补丁并重新编译内核。