注意

本文档适用于 Ceph 开发版本。

通过 DNS 查找监视器

自Ceph版本11.0.0(Kraken)起,RADOS支持通过DNS查找监控器。

添加通过DNS查找监控器的功能意味着守护进程和客户端不需要在mon主机配置指令中ceph.conf配置文件中。

通过DNS更新,客户端和守护进程可以得知监控器拓扑结构的变化。更精确和技术上讲,客户端通过使用DNS SRV TCP记录。

默认情况下,客户端和守护进程查找名为ceph-mon的TCP服务,mon_dns_srv_name配置指令进行配置。

mon_dns_srv_name

查询DNS以获取监控器主机/地址的服务名称

type:

str

default:

ceph-mon

参见:

mon_host

Note

除了使用DNS搜索域,还可以通过传递搜索域的名称后跟一个下划线来手动指定搜索域mon_dns_srv_name。这种语法是<service-name>_<upper-level-domain>。例如,传递ceph-mon_example.com将指示Ceph在SRV处查找_ceph-mon._tcp.example.com.

示例

记录example.com当DNS搜索域设置为

a DNS区域文件可能包含以下元素。

mon1.example.com. AAAA 2001:db8::100
mon2.example.com. AAAA 2001:db8::200
mon3.example.com. AAAA 2001:db8::300
mon1.example.com. A 192.168.0.1
mon2.example.com. A 192.168.0.2
mon3.example.com. A 192.168.0.3

现在有了这些记录,我们可以创建名为ceph-mon指向三个监控器的SRV TCP记录。

_ceph-mon._tcp.example.com. 60 IN SRV 10 20 6789 mon1.example.com.
_ceph-mon._tcp.example.com. 60 IN SRV 10 30 6789 mon2.example.com.
_ceph-mon._tcp.example.com. 60 IN SRV 20 50 6789 mon3.example.com.

现在所有监控器都在端口6789上运行,优先级分别为10、10、20,权重分别为20、30、50。

监控器客户端通过引用SRV记录来选择监控器。如果一个集群有多个具有相同优先级值的监控器SRV记录,客户端和守护进程将按SRV权重字段的值比例负载均衡到监控器。

对于上述示例,这将导致大约40%的客户端和守护进程连接到mon1,60%的客户端和守护进程连接到mon2。但是,如果它们都不可达,mon3将被重新考虑作为备用。

参见Messenger v2.

由 Ceph 基金会带给您

Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.