为什么我在 ESXi RDM 上使用 ZFS 文件系统时会遇到校验和错误?

为什么我在 ESXi RDM 上使用 ZFS 文件系统时会遇到校验和错误?

我有一台 VMware ESXi 4.1 服务器,最近我为其添加了 2 个 1TB SATA 驱动器。这台机器运行NexentaStor 社区托管 ZFS 文件系统的 VM。在添加新驱动器之前,所有 ZFS zpools 都驻留在虚拟磁盘(VMDK 文件)内,该虚拟磁盘位于服务器的 Vmware 数据存储区中,该数据存储区位于硬件 RAID10 上。

新的 SATA 驱动器没有硬件冗余,所以我的目标是将它们直接连接到 NexentaStor VM 并用它们创建 RAID1 zpool。

遵循这些说明使用以下方法为新的 SATA 驱动器创建两个物理 RDM 文件vmkfstools -z /vmfs/devices/disks/idnumber RDM1.vmdk -a lsilogic

在将两个 RDM 磁盘添加到虚拟机并在其上创建 raidz1 zpool 后,我开始将数据复制到 zpool。该池已下线,我被告知有数千个校验和错误。

我在网上搜索,发现很多人抱怨同样的情况。(例子) 从那时起,我就不再使用 RDM,而是创建了两个数据存储和两个 930GB VMDK 文件,我将把它们放在 RAIDz1 中。但是我想知道我哪里做错了。网上有很多人说他们已经成功使用了这种配置。

我使用 RDM 而不是 VMDK 的目的是:

  1. 使虚拟机能够监控 SMART 状态
  2. 允许 ZFS 访问整个磁盘(因为我知道这些不会用于其他任何用途)
  3. 如果某个驱动器出现故障,可以轻松进行热插拔
  4. 如果需要,请允许我移除这些驱动器并将其放置在另一台 ZFS 服务器中

我原本计划在本周晚些时候设置的全新 ESXi 5.1 服务器中使用相同的设置。在这种情况下,#4 尤为重要,因为我想将现有 zpool 添加到新 VM。为什么我会收到这些校验和错误?这与 ESXi 4.1 有关吗?我做错了什么吗?

编辑:我已经使用 VMware ESXi 5.1 创建了相同的设置,并且到目前为止的问题。我要测试一下极其彻底但到目前为止这似乎是 ESXi 4.1 的问题。

答案1

强烈建议避免为此目的使用 RDM。

使用“PCI 直通”将您的 SATA 控制器传递到虚拟化的 NexentaStor 实例。这需要一个相当先进的处理器才能实现。

看:将 ZFS 服务器作为虚拟客户机托管

话虽如此,如果您有底层硬件 RAID,在 VMDK 上运行 ZFS 不会有什么大问题。您能提供有关硬件解决方案的更多信息吗?

答案2

据我所知,这是由 VMware ESXi 4.1 中的 RDM 实现中的一个错误引起的。使用 VMware ESXi 5.1 时,我发现 RDM 根本没有问题。我仍然想更多地了解为什么 RDM 不能按我预期的方式工作或它们的用途,但在 5.1 上使用 RDM 非常稳定,让我能够实现我的目标。

相关内容