]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
doc/rados/operations/add-or-rm-mons: revise doc a bit to be less confusing 4014/head
authorSage Weil <sage@redhat.com>
Mon, 16 Mar 2015 16:32:22 +0000 (09:32 -0700)
committerSage Weil <sage@redhat.com>
Mon, 16 Mar 2015 16:32:22 +0000 (09:32 -0700)
Signed-off-by: Sage Weil <sage@redhat.com>
doc/rados/operations/add-or-rm-mons.rst

index 01fba0234db532596c6aeda71d2b188e245bd1dd..1b2738e353dac568aa88780fc230771722693e17 100644 (file)
@@ -159,38 +159,52 @@ quorum.
 Removing Monitors from an Unhealthy Cluster
 -------------------------------------------
 
-This procedure removes a ``ceph-mon`` daemon from an unhealhty cluster--i.e., 
-a cluster that has placement groups that are persistently not ``active + clean``.
+This procedure removes a ``ceph-mon`` daemon from an unhealthy
+cluster, for example a cluster where the monitors cannot form a
+quorum.
+
 
+#. Stop all ``ceph-mon'' daemons on all monitor hosts.::
+
+        ssh {mon-host}
+       service ceph stop mon || stop ceph-mon-all
+       # and repeat for all mons
 
 #. Identify a surviving monitor and log in to that host. :: 
 
-       ceph mon dump
        ssh {mon-host}
 
-#. Stop the ``ceph-mon`` daemon and extract a copy of the monap file.  ::
+#. Extract a copy of the monap file.  ::
 
-       service ceph stop mon || stop ceph-mon-all
         ceph-mon -i {mon-id} --extract-monmap {map-path}
-       # for example,
-        ceph-mon -i a --extract-monmap /tmp/monmap
+        # in most cases, that's
+        ceph-mon -i `hostname` --extract-monmap /tmp/monmap
 
-#. Remove the non-surviving monitors.  For example, if you have three monitors, 
-   ``mon.a``, ``mon.b``, and ``mon.c``, where only ``mon.a`` will survive, follow 
-   the example below:: 
+#. Remove the non-surviving or problematic monitors.  For example, if
+   you have three monitors, ``mon.a``, ``mon.b``, and ``mon.c``, where
+   only ``mon.a`` will survive, follow the example below::
 
        monmaptool {map-path} --rm {mon-id}
        # for example,
        monmaptool /tmp/monmap --rm b
        monmaptool /tmp/monmap --rm c
        
-#. Inject the surviving map with the removed monitors into the surviving monitors. 
-   For example, to inject a map into monitor ``mon.a``, follow the example below:: 
+#. Inject the surviving map with the removed monitors into the
+   surviving monitor(s).  For example, to inject a map into monitor
+   ``mon.a``, follow the example below::
 
        ceph-mon -i {mon-id} --inject-monmap {map-path}
        # for example,
        ceph-mon -i a --inject-monmap /tmp/monmap
 
+#. Start only the surviving monitors.
+
+#. Verify the monitors form a quorum (``ceph -s'').
+
+#. You may wish to archive the removed monitors' data directory in
+   ``/var/lib/ceph/mon'' in a safe location, or delete it if you are
+   confident the remaining monitors are healthy and are sufficiently
+   redundant.
 
 .. _Changing a Monitor's IP address:
 
@@ -358,4 +372,4 @@ the monitors should operate successfully.
 
 .. _Manual Deployment: ../../../install/manual-deployment
 .. _Monitor Bootstrap: ../../../dev/mon-bootstrap
-.. _Paxos: http://en.wikipedia.org/wiki/Paxos_(computer_science)
\ No newline at end of file
+.. _Paxos: http://en.wikipedia.org/wiki/Paxos_(computer_science)