今天到操作间查看各个主机在虚拟化环境的状况,在查看过程中发现几乎每个主机都有一个警示:
vSphere HA检测信号数据存储数目为1,少于要求数目:2
这个问题百度了下看到好多博文转载都是一个将警告关闭的做法,我感觉有点扯,首先这个问题是什么都没向我们讲明白只说了做法,那今后遇到这类问题,我们只能用同样的做法去解决不同的问题,这合适么?我觉得是不合适,然后自己就去找了相关英文资料看了下。结尾处有分享。
仔细查了下发现VMware的ks里面有这个问题网站如下
http://kb.vmware.com/selfservice/microsites/search.dolanguage=en_US&cmd=displayKC&externalId=2004739
它产生的原因:
在ESXi5.0之后,增加了DataStore HeartBeat(数据存储检测)功能,这项功能要求至少有两个及以上共享存储才能正常工作。
自 vSphere 5.0 开始,vSphere HA 至少需要在群集中的所有主机之间共享两个共享数据存储,才能正常运行数据存储检测信号。
也就是说das.heartbeatdsperhost,用于更改所需的检测信号数据存储的数量。有效数值为2-5,默认为2。
das.ignoreinsufficienthbdatastore 用于在如果主机不具有足够的 vSphere HA 检测信号数据存储,则禁用创建的配置问题。默认值为 false。因为我这里只是用了一个共享存储所以出现“vSphere HA检测信号数据存储数目为1,少于要求数目2”这个问题。
解决方法:
第一种:
1、选择HA-配置-vSphere HA-高级选项。
2、在选项窗口输入das.ignoreinsufficienthbdatastore,在数值窗口输入true。
此法是在设置中将警告消除是网上好多人的做法。
第二种:
再添加一个LUN,让所有的ESX主机都可以访问这个lun。
这个是正规解决方法。
如果用的是vSAN看下面的注。
下面为我查的几个对此问题解释比较好的资料。大家感兴趣可以看看。
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2004739
http://www.tuicool.com/articles/AZfUV3
http://windowsitpro.com/virtualization/q-how-must-vmware-vsphere-datastores-be-configured-best-support-heartbeat-datastores
注:Virtual SAN 数据存储无法用于数据存储检测信号。因此,如果群集中的所有主机均无法访问其他共享存储,则无法使用任何检测信号数据存储。但是,如果您拥有的存储可以通过独立于 Virtual SAN 网络的备用网络路径访问,则可以将其用于设置检测信号数据存储。
科普:
DataStore HeartBeat(数据存储检测信号)
当 vSphere HA 群集中的首选主机无法通过管理网络与从属主机通信时,首选主机将使用数据存储检测信号来确定从属主机是否出现故障,是否位于网络分区中,或者是否与网络隔离。如果从属主机已停止数据存储检测信号,则认为该从属主机出现故障,并且其虚拟机已在别处重新启动。vCenter Server 选择一组首选数据存储集用于检测信号。这种选择会使有权访问检测信号数据存储的主机数最大,也会使数据存储由同一 LUN 或 NFS 服务器支持的可能性最小。
可以使用高级属性 das.heartbeatdsperhost 更改 vCenter Server 为每个主机选择的检测信号数据存储的数量。默认值为 2,最大有效值为 5。
vSphere HA 将在用于数据存储检测信号和保留受保护的虚拟机集的每个数据存储的根目录中创建一个目录,目录名称为 .vSphere-HA。
如果在共享存储中没有允许数据存储检测信号的冗余,则会发生此问题。自 vSphere 5.0 开始,vSphere HA 至少需要在群集中的所有主机之间共享两个共享数据存储,才能正常运行数据存储检测信号。