]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
doc/cephadm: add Cephadm scheduler section
authorSebastian Wagner <sebastian.wagner@suse.com>
Tue, 19 May 2020 16:18:55 +0000 (18:18 +0200)
committerSebastian Wagner <sebastian.wagner@suse.com>
Mon, 15 Jun 2020 10:42:17 +0000 (12:42 +0200)
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit b30702136ba90b7da05675099c79139cf2dd2955)

doc/cephadm/concepts.rst [new file with mode: 0644]
doc/cephadm/index.rst

diff --git a/doc/cephadm/concepts.rst b/doc/cephadm/concepts.rst
new file mode 100644 (file)
index 0000000..8dd9b4a
--- /dev/null
@@ -0,0 +1,48 @@
+Cephadm Scheduler
+=================
+
+Cephadm uses a declarative state to define the layout of the cluster. This
+state consists of a list of service specificatins containing placement 
+specifications (See :ref:`orchestrator-cli-service-spec` ). 
+
+Cephadm constantly compares list of actually running daemons in the cluster
+with the desired service specifications and will either add or remove new 
+daemons.
+
+First, cephadm will select a list of candidate hosts. It first looks for 
+explicit host names and will select those. In case there are no explicit hosts 
+defined, cephadm looks for a label specification. If there is no label defined 
+in the specification, cephadm will select hosts based on a host pattern. If 
+there is no pattern defined, cepham will finally select all known hosts as
+candidates.
+
+Then, cephadm will consider existing daemons of this servics and will try to 
+avoid moving any daemons.
+
+Cephadm supports the deployment of a specific amount of services. Let's 
+consider a service specification like so:
+
+.. code-block:: yaml
+
+    service_type: mds
+    service_name: myfs
+    placement:
+      count: 3
+      label: myfs
+
+This instructs cephadm to deploy three daemons on hosts labeld with 
+``myfs`` across the cluster.
+
+Then, in case there are less than three daemons deployed on the candidate 
+hosts, cephadm will then then randomly choose hosts for deploying new daemons.
+
+In case there are more than three daemons deployed, cephadm will remove 
+existing daemons.
+
+Finally, cephadm will remove daemons on hosts that are outside of the list of 
+candidate hosts.
+
+However, there is a special cases that cephadm needs to consider.
+
+In case the are fewer hosts selected by the placement specification than 
+demanded by ``count``, cephadm will only deploy on selected hosts.
index 4ffcab80abd832bb9e0923aea5e3875776fd0884..3156721df8f439df8f554b739cd82498dc158c24 100644 (file)
@@ -37,3 +37,4 @@ versions of Ceph.
     Client Setup <client-setup>
     DriveGroups <drivegroups>
     troubleshooting
+    concepts
\ No newline at end of file