我们使用 ZFS 在 FreeNAS 9.2 上存储文件。我喜欢 ZFS 提出的数据完整性声明,过去曾在使用 ext3、XFS 和 ReiserFS 的服务器上随机丢失数据,而这些数据并未受到不当处理(断电等)。当服务器需要重新启动、fsck 启动并发现很多错误时,这种情况很少见,但却是灾难性的。
我们还将同一 NAS 用作 XenServer 虚拟机的共享存储目标。起初我在想,让我们的虚拟机支持 ZFS 是多么美好,但现在我第二次猜测完整性确实是故障证明。
如果虚拟机的虚拟磁盘只是一个包含自己文件系统的大文件(假设默认推荐的 ext4),那么是什么防止它在该虚拟磁盘中损坏?也许网络电缆出现故障并且 iSCSI 不知道它收到了一些要存储的坏字节(在 ZFS 中弹性)?我猜在虚拟机和“信任”文件系统无法检测到的共享存储之间可能会发生其他可能的故障。是在 VM 中也使用纠错文件系统(例如 ZFS 或 btrfs)的唯一解决方案吗?