我的 QNAP NAS 中有一个多版本备份,它使用硬链接来存储未随版本更改的文件。
备份目标是通过 eSATA 连接到 QNAP 的外部 EXT4 磁盘。
ls -i
当我通过 ssh 使用 QNAP shell列出硬链接文件的 inode 时,我为每个硬链接文件获得相同的 inode 编号,例如,对于特定文件 A,它是 11961450 (0xB6846A)。
当我在 Windows 机器中使用 cygwin shell 执行相同的操作时,通过 SMB 访问远程文件系统,每个硬链接文件报告的 inodels -i
都不同,并且 inode 编号非常大。对于同一文件,AI 在一个目录中获取索引节点号 10167322761950234564 (0x8D19962EE6C987C4),在另一个目录中获取索引节点号 6110607626948733827 (0x54CD3D42E6126B83)。
顺便说一句,当我检查内部 QNAP 磁盘中的文件 inode 时,无论我是通过 SSH 还是通过 Cygwin 从 QNAP shell 检查它们,它们总是会正确报告。
问题是,有没有办法解决这种不一致问题,并在使用 cygwin 时获得正确的 inode 编号?还有,这该怪谁呢? SMB 服务器(在 QNAP 中)、SMB 客户端(在 Windows 中)、Cygwin 还是其他?