注意
本文档适用于 Ceph 的开发版本。
配置监视器选举策略
默认情况下,监视器处于 classic 模式。除非您有非常特殊的原因,否则我们建议保持此模式。
如果您想在构建集群之前切换模式,请更改 mon election default strategy 选项。此选项接受一个整数值
1表示classic2表示disallow3表示connectivity
集群开始运行后,您可以通过运行以下形式的命令来更改策略
$ ceph mon set election_strategy {classic|disallow|connectivity}
选择模式
除了 classic 之外的模式提供了特定的功能。如果您不需要这些额外的功能,我们建议保持在 classic 模式,因为它是最简单的模式。
禁止模式
disallow 模式允许您将监视器标记为禁止。被禁止的监视器参与仲裁并为客户端提供服务,但不能被选举为领导者。您可能希望将此模式用于远离客户端的监视器。
要禁止某个监视器被选举为领导者,请运行以下形式的命令
ceph mon add disallowed_leader {name}
要从禁止列表中删除某个监视器并允许它被选举为领导者,请运行以下形式的命令
ceph mon rm disallowed_leader {name}
要查看被禁止的领导者列表,请检查以下命令的输出
ceph mon dump
连接模式
connectivity 模式评估每个监视器为其对等体提供的连接分数,并选举分数最高的监视器。此模式旨在处理网络分区(也称为 *net-splits*):如果您的集群跨多个数据中心延伸,或者具有非均匀或不平衡的网络拓扑,则可能会发生网络分区。
connectivity 模式还支持使用 禁止模式 中介绍的相同命令来禁止监视器被选举为领导者。
检查连接分数
即使监视器不在 connectivity 模式下,它们也会保持连接分数。要检查特定监视器的连接分数,请运行以下形式的命令
ceph daemon mon.{name} connection scores dump
单个连接的分数范围从 0 到 1(含),包括连接是否被认为是活动的或死的(取决于它是否在超时前返回了最新的 ping)。
连接分数预计保持有效。但是,如果在故障排除期间您确定这些分数由于某种原因变得无效,请通过运行以下形式的命令来删除历史记录并重置分数
ceph daemon mon.{name} connection scores reset
重置连接分数风险很小:如果分数准确,监视器仍会快速确定连接是活动的还是死的,并逐渐恢复到之前的分数。然而,重置分数应该是不必要的,除非您的支持团队或开发人员建议,否则不建议这样做。