2.9. 使用仲裁磁盘的注意事项
仲裁磁盘是使用磁盘的仲裁守护进程
qdiskd
,它可提供补充的试探法(heuristics)以确定节点是否正常运作。使用这些试探法,您可以确定在网络分区事件中对节点操作十分重要的因素。例如:在一个按 3:1 分割的有四个节点的集群中,最初三个节点自动“获胜”,因为三对一的占优。在那些情况下,只有一个节点被 fence。但使用 qdiskd
,您可以设定试探法以便允许一个节点因访问重要资源获胜(例如:关键网络路径)。如果您的集群需要额外的方法确定节点工作正常,那么您应该将 qdiskd
配置为满足那些要求。
注意
不需要配置
qdiskd
,除非您对节点正常工作有特殊的要求。例如:"all-but-one" 配置。在 all-but-one 配置中会将 qdiskd
配置为提供足够的仲裁投票以便在只有一个节点工作时维护仲裁。
重要
总之,用于您部署的试探法以及其他
qdiskd
参数要根据所需环境和特殊要求而定。要了解试探法和其他 qdiskd
参数,请参考 qdisk(5) man page。如果您在了解和使用 qdiskd
方面需要帮助,请联络授权 Red Hat 支持代表。
如果您需要使用
qdiskd
,请考虑以下注意事项:
- 集群节点投票
- 使用仲裁磁盘时,每个集群节点都必须有一票。
- CMAN 成员超时值
- CMAN 成员超时值(即 CMAN 认为节点已死,并不再是成员前该节点不响应的时间)应该至少为
qdiskd
成员超时值的两倍。理由是仲裁守护进程必须自己探测失败的节点,且比 CMAN 要花更多的时间。CMAN 成员超时默认值为 10 秒。其他具体位置条件可能会影响 CMAN 和qdiskd
成员超时值之间的关系。要在调整 CMAN 成员超时值方面获得帮助,请联络授权 Red Hat 支持代表。 - Fencing
- 要在使用
qdiskd
时保证可靠的 fencing,请使用电源 fencing。虽然其他类型的 fencing 在没有配置qdiskd
的集群中可靠,但它们并不适用于配置了qdiskd
的集群。 - 最多节点数
- 配置了
qdiskd
的集群最多可支持 16 个节点。这个限制的原因是因为扩展性的需要,增加节点计数会增加共享仲裁磁盘设备中的同步 I/O 竞争。 - 仲裁磁盘设备
- 仲裁磁盘设备应该是集群中所有节点可同时读取/写入的共享块设备。该块设备最小为 10MB。
qdiskd
可使用的共享块设备示例有多端口 SCSI RAID 阵列、光纤 RAID SAN 或者配置为 RAID 的 iSCSI 目标。您可以使用群集仲裁磁盘工具mkqdisk
创建仲裁磁盘设备。有关使用该工具的详情请参考 mkqdisk(8) man page。注意
不建议使用 JBOD 作为仲裁磁盘。JBOD 无法提供可靠的性能,因此可能无法保证节点迅速写入仲裁磁盘。如果某个节点无法迅速写入仲裁磁盘设备,则会错误地将该节点从集群中驱除。