From 4dfacf803172ede080138db189692bd381a5543c Mon Sep 17 00:00:00 2001 From: Wido den Hollander Date: Wed, 24 Aug 2016 13:45:01 +0200 Subject: [PATCH] doc: Add docs about looking up Monitors through DNS Signed-off-by: Wido den Hollander --- doc/rados/configuration/mon-config-ref.rst | 2 + doc/rados/configuration/mon-lookup-dns.rst | 46 ++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 doc/rados/configuration/mon-lookup-dns.rst diff --git a/doc/rados/configuration/mon-config-ref.rst b/doc/rados/configuration/mon-config-ref.rst index db645bdd70f..0bdc412cff2 100644 --- a/doc/rados/configuration/mon-config-ref.rst +++ b/doc/rados/configuration/mon-config-ref.rst @@ -228,6 +228,7 @@ the monitors. However, if you decide to change the monitor's IP address, you must follow a specific procedure. See `Changing a Monitor's IP Address`_ for details. +Monitors can also be found by clients using DNS SRV records. See `Monitor lookup through DNS`_ for details. Cluster ID ---------- @@ -854,6 +855,7 @@ Miscellaneous .. _Monitor Keyrings: ../../../dev/mon-bootstrap#secret-keys .. _Ceph configuration file: ../ceph-conf/#monitors .. _Network Configuration Reference: ../network-config-ref +.. _Monitor lookup through DNS: ../mon-lookup-dns .. _ACID: http://en.wikipedia.org/wiki/ACID .. _Adding/Removing a Monitor: ../../operations/add-or-rm-mons .. _Add/Remove a Monitor (ceph-deploy): ../../deployment/ceph-deploy-mon diff --git a/doc/rados/configuration/mon-lookup-dns.rst b/doc/rados/configuration/mon-lookup-dns.rst new file mode 100644 index 00000000000..0b0cb5699a9 --- /dev/null +++ b/doc/rados/configuration/mon-lookup-dns.rst @@ -0,0 +1,46 @@ +=============================== +Looking op Monitors through DNS +=============================== + +Since version 11.0.0 RADOS supports looking up Monitors through DNS. + +This way daemons and clients do not require a *mon host* configuration directive in their ceph.conf configuration file. + +Using DNS SRV TCP records clients are able to look up the monitors. + +This allows for less configuration on clients and monitors. Using a DNS update clients and daemons can be made aware of changes in the monitor topology. + +By default clients and daemons will look for the TCP service called *ceph-mon* which is configured by the *mon_dns_srv_name* configuration directive. + +Example +------- +When the DNS search domain is set to *example.com* a DNS zone file might contain the following elements. + +First, create records for the Monitors, either IPv4 (A) or IPv6 (AAAA). + +:: + + 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 + + +With those records now existing we can create the SRV TCP records with the name *ceph-mon* pointing to the three Monitors. + +:: + + _ceph-mon._tcp.example.com. 60 IN SRV 10 60 6789 mon1.example.com. + _ceph-mon._tcp.example.com. 60 IN SRV 10 60 6789 mon2.example.com. + _ceph-mon._tcp.example.com. 60 IN SRV 10 60 6789 mon3.example.com. + +In this case the Monitors are running on port *6789*. + +The current implementation in clients and daemons does *not* honor nor respect the weight or priority set in SRV records. + +All records returned will be treated equally in a Round Robin fashion.