ceph/doc/cephadm/administration.rst
Sebastian Wagner 1221ee29b7 doc/cephadm: Rename section titles and fix introductions
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2020-02-26 12:49:23 +01:00

183 lines
5.2 KiB
ReStructuredText

.. _cephadm-administration:
======================
cephadm Administration
======================
Configuration
=============
The cephadm orchestrator can be configured to use an SSH configuration file. This is
useful for specifying private keys and other SSH connection options.
::
# ceph config set mgr mgr/cephadm/ssh_config_file /path/to/config
An SSH configuration file can be provided without requiring an accessible file
system path as the method above does.
::
# ceph cephadm set-ssh-config -i /path/to/config
To clear this value use the command:
::
# ceph cephadm clear-ssh-config
Health checks
=============
CEPHADM_STRAY_HOST
------------------
One or more hosts have running Ceph daemons but are not registered as
hosts managed by *cephadm*. This means that those services cannot
currently be managed by cephadm (e.g., restarted, upgraded, included
in `ceph orch ps`).
You can manage the host(s) with::
ceph orch host add *<hostname>*
Note that you may need to configure SSH access to the remote host
before this will work.
Alternatively, you can manually connect to the host and ensure that
services on that host are removed and/or migrated to a host that is
managed by *cephadm*.
You can also disable this warning entirely with::
ceph config set mgr mgr/cephadm/warn_on_stray_hosts false
CEPHADM_STRAY_DAEMON
--------------------
One or more Ceph daemons are running but not are not managed by
*cephadm*, perhaps because they were deploy using a different tool, or
were started manually. This means that those services cannot
currently be managed by cephadm (e.g., restarted, upgraded, included
in `ceph orch ps`).
**FIXME:** We need to implement and document an adopt procedure here.
You can also disable this warning entirely with::
ceph config set mgr mgr/cephadm/warn_on_stray_daemons false
CEPHADM_HOST_CHECK_FAILED
-------------------------
One or more hosts have failed the basic cephadm host check, which verifies
that (1) the host is reachable and cephadm can be executed there, and (2)
that the host satisfies basic prerequisites, like a working container
runtime (podman or docker) and working time synchronization.
If this test fails, cephadm will no be able to manage services on that host.
You can manually run this check with::
ceph cephadm check-host *<hostname>*
You can remove a broken host from management with::
ceph orch host rm *<hostname>*
You can disable this health warning with::
ceph config set mgr mgr/cephadm/warn_on_failed_host_check false
Converting an existing cluster to cephadm
=========================================
Cephadm allows you to (pretty) easily convert an existing Ceph cluster that
has been deployed with ceph-deploy, ceph-ansible, DeepSea, or similar tools.
Limitations
-----------
* Cephadm only works with BlueStore OSDs. If there are FileStore OSDs
in your cluster you cannot manage them.
Adoption Process
----------------
#. Get the ``cephadm`` command line too on each host. You can do this with curl or by installing the package. The simplest approach is::
[each host] # curl --silent --remote-name --location https://github.com/ceph/ceph/raw/master/src/cephadm/cephadm
[each host] # chmod +x cephadm
#. Prepare each host for use by ``cephadm``::
[each host] # ./cephadm prepare-host
#. List all Ceph daemons on the current host::
# ./cephadm ls
You should see that all existing daemons have a type of ``legacy``
in the resulting output.
#. Determine which Ceph version you will use. You can use any Octopus
release or later. For example, ``docker.io/ceph/ceph:v15.2.0``. The default
will be the latest stable release, but if you are upgrading from an earlier
release at the same time be sure to refer to the upgrade notes for any
special steps to take while upgrading.
The image is passed to cephadm with::
# ./cephadm --image $IMAGE <rest of command goes here>
#. Adopt each monitor::
# ./cephadm adopt --style legacy --name mon.<hostname>
#. Adopt each manager::
# ./cephadm adopt --style legacy --name mgr.<hostname>
#. Enable cephadm::
# ceph mgr module enable cephadm
# ceph orch set backend cephadm
#. Generate an SSH key::
# ceph cephadm generate-key
# ceph cephadm get-pub-key
#. Install the SSH key on each host to be managed::
# echo <ssh key here> | sudo tee /root/.ssh/authorized_keys
Note that ``/root/.ssh/authorized_keys`` should have mode ``0600`` and
``/root/.ssh`` should have mode ``0700``.
#. Tell cephadm which hosts to manage::
# ceph orch host add <hostname> [ip-address]
This will perform a ``cephadm check-host`` on each host before
adding it to ensure it is working. The IP address argument is only
required if DNS doesn't allow you to connect to each host by it's
short name.
#. Verify that the monitor and manager daemons are visible::
# ceph orch ps
#. Adopt all remainingg daemons::
# ./cephadm adopt --style legacy --name <osd.0>
# ./cephadm adopt --style legacy --name <osd.1>
# ./cephadm adopt --style legacy --name <mds.foo>
Repeat for each host and daemon.
#. Check the ``ceph health detail`` output for cephadm warnings about
stray cluster daemons or hosts that are not yet managed.