注意
本文档适用于 Ceph 开发版本。
通过 DNS 查找监视器
自Ceph版本11.0.0(Kraken)起,RADOS支持通过DNS查找监控器。
添加通过DNS查找监控器的功能意味着守护进程和客户端不需要在mon主机配置指令中ceph.conf
配置文件中。
通过DNS更新,客户端和守护进程可以得知监控器拓扑结构的变化。更精确和技术上讲,客户端通过使用DNS SRV TCP
记录。
默认情况下,客户端和守护进程查找名为ceph-mon的TCP服务,mon_dns_srv_name配置指令进行配置。
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. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.