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

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

新的SATA驱动器没有硬件冗余,所以我的目标是将它们直接连接到NexentaStor虚拟机,并创build一个RAID1 zpool。

我按照这些说明使用vmkfstools -z /vmfs/devices/disks/idnumber RDM1.vmdk -a lsilogic为新的SATA驱动器创build了两个物理RDM文件vmkfstools -z /vmfs/devices/disks/idnumber RDM1.vmdk -a lsilogic

在将两个RDM磁盘添加到虚拟机并在其上创build一个raidz1 zpool后,我开始将数据复制到zpool。 游泳池被脱机,我被告知有数以千计的校验和错误。

我搜查了网页,发现一些人抱怨同样的情况。 ( 示例 )我已经放弃使用RDM,并创build了两个数据存储和两个930GB的VMDK文件,我将它们放在一个RAIDz1中。 不过,我想知道我哪里错了。 网上有很多人说他们有这个configuration工作。

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

  1. 赋予虚拟机监视SMART状态的能力
  2. 允许ZFS访问整个磁盘(因为我知道这些不会用于其他任何事情)
  3. 如果变坏的话,使驱动器容易变热
  4. 允许我删除这些驱动器,并将其放在另一个ZFS服务器,如果我需要

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

编辑:我已经创build了与VMware ESXi 5.1相同的设置,到目前为止没有问题。 我要testing这个非常彻底,但到目前为止,这似乎是一个ESXi 4.1的问题。

强烈build议为此避免使用RDM。

使用“PCI Passthrough”将您的SATA控制器传递给虚拟化的NexentaStor实例。 这需要一个合理的电stream处理器来做到这一点。

请参阅: 将ZFS服务器作为虚拟来宾进行托pipe

也就是说,如果你有一个基础的硬件RAID,那么在VMDK上运行ZFS没有什么大问题。 你能提供有关硬件解决scheme的更多信息吗?

据我所知,这是由VMware ESXi 4.1中的RDM实施中的一个错误引起的。 使用VMware ESXi 5.1我根本没有看到RDM的问题。 我仍然想更多地了解为什么RDM不能像我期望的那样工作,或者它们被用于什么,但是在5.1上使用RDM已经非常稳定,并且使我能够实现我的目标。