]> git.proxmox.com Git - ceph.git/blob - ceph/doc/rados/configuration/mon-lookup-dns.rst
update ceph source to reef 18.1.2
[ceph.git] / ceph / doc / rados / configuration / mon-lookup-dns.rst
1 ===============================
2 Looking up Monitors through DNS
3 ===============================
4
5 Since Ceph version 11.0.0 (Kraken), RADOS has supported looking up monitors
6 through DNS.
7
8 The addition of the ability to look up monitors through DNS means that daemons
9 and clients do not require a *mon host* configuration directive in their
10 ``ceph.conf`` configuration file.
11
12 With a DNS update, clients and daemons can be made aware of changes
13 in the monitor topology. To be more precise and technical, clients look up the
14 monitors by using ``DNS SRV TCP`` records.
15
16 By default, clients and daemons look for the TCP service called *ceph-mon*,
17 which is configured by the *mon_dns_srv_name* configuration directive.
18
19
20 .. confval:: mon_dns_srv_name
21
22 Example
23 -------
24 When the DNS search domain is set to *example.com* a DNS zone file might contain the following elements.
25
26 First, create records for the Monitors, either IPv4 (A) or IPv6 (AAAA).
27
28 ::
29
30 mon1.example.com. AAAA 2001:db8::100
31 mon2.example.com. AAAA 2001:db8::200
32 mon3.example.com. AAAA 2001:db8::300
33
34 ::
35
36 mon1.example.com. A 192.168.0.1
37 mon2.example.com. A 192.168.0.2
38 mon3.example.com. A 192.168.0.3
39
40
41 With those records now existing we can create the SRV TCP records with the name *ceph-mon* pointing to the three Monitors.
42
43 ::
44
45 _ceph-mon._tcp.example.com. 60 IN SRV 10 20 6789 mon1.example.com.
46 _ceph-mon._tcp.example.com. 60 IN SRV 10 30 6789 mon2.example.com.
47 _ceph-mon._tcp.example.com. 60 IN SRV 20 50 6789 mon3.example.com.
48
49 Now all Monitors are running on port *6789*, with priorities 10, 10, 20 and weights 20, 30, 50 respectively.
50
51 Monitor clients choose monitor by referencing the SRV records. If a cluster has multiple Monitor SRV records
52 with the same priority value, clients and daemons will load balance the connections to Monitors in proportion
53 to the values of the SRV weight fields.
54
55 For the above example, this will result in approximate 40% of the clients and daemons connecting to mon1,
56 60% of them connecting to mon2. However, if neither of them is reachable, then mon3 will be reconsidered as a fallback.