mon

The mon subcommand provides an interface to interact with a cluster’s monitors. The tool makes a few assumptions that are needed to implement the most common scenarios. Monitors are usually very particular in what they need to work correctly.

Note

Before version v1.5.33 ceph-deploy relied upon ceph-create-keys. Using ceph-create-keys produced a side effect of deploying all bootstrap keys on the mon node so making all mon nodes admin nodes. This can be recreated by running the admin command on all mon nodes see admin section.

create-initial

Will deploy for monitors defined in mon initial members, wait until they form quorum and then gatherkeys, reporting the monitor status along the process. If monitors don’t form quorum the command will eventually time out.

This is the preferred way of initially deploying monitors since it will compound a few of the steps needed together while looking for possible issues along the way.

ceph-deploy mon create-initial

create

Deploy monitors by specifying directly like:

ceph-deploy mon create node1 node2 node3

If no hosts are passed it will default to use the mon initial members defined in the configuration.

Please note that if this is an initial monitor deployment, the preferred way is to use create-initial.

add

Add a monitor to an existing cluster:

ceph-deploy mon add node1

Since monitor hosts can have different network interfaces, this command allows you to specify the interface IP in a few different ways.

``–address``: this will explicitly override any configured address for that host. Usage:

ceph-deploy mon add node1 --address 192.168.1.10

ceph.conf: If a section for the node that is being added exists and it defines a mon addr key. For example:

[mon.node1]
mon addr = 192.168.1.10

resolving/dns: if the monitor address is not defined in the configuration file nor overridden in the command-line it will fall-back to resolving the address of the provided host.

Warning

If the monitor host has multiple addresses you should specify the address directly to ensure the right IP is used. Please note, only one node can be added at a time.

New in version 1.4.0.

destroy

Completely remove monitors on a remote host. Requires hostname(s) as arguments:

ceph-deploy mon destroy node1 node2 node3

–keyrings

Both create and create-initial subcommands can be used with the --keyrings flag that accepts a path to search for keyring files.

When this flag is used it will then look into the passed in path for files that end with .keyring and will proceed to concatenate them in memory and seed them to the monitor being created in the remote mode.

This is useful when having several different keyring files that are needed at initial setup, but normally, ceph-deploy will only use the $cluster.mon.keyring file for initial seeding.

To keep things in order, create a directory and use that directory to store all the keyring files that are needed. This is how the commands would look like for a directory called keyrings:

ceph-deploy mon --keyrings keyrings create-initial

Or for the create sub-command:

ceph-deploy mon --keyrings keyrings create {nodes}