settings, and even for runtime optimization. The following reflects runtime
configuration usage::
- ceph {daemon-type} tell {id or *} injectargs '--{name} {value} [--{name} {value}]'
+ ceph tell {daemon-type}.{id or *} injectargs --{name} {value} [--{name} {value}]
Replace ``{daemon-type}`` with one of ``osd``, ``mon`` or ``mds``. You may apply
the runtime setting to all daemons of a particular type with ``*``, or specify
a specific daemon's ID (i.e., its number or letter). For example, to increase
debug logging for a ``ceph-osd`` daemon named ``osd.0``, execute the following::
- ceph osd tell 0 injectargs '--debug-osd 20 --debug-ms 1'
+ ceph tell osd.0 injectargs --debug-osd 20 --debug-ms 1
In your ``ceph.conf`` file, you may use spaces when specifying a
setting name. When specifying a setting name on the command line,
ensure that you use an underscore or hyphen (``_`` or ``-``) between
-terms (e.g., ``debug osd`` becomes ``debug-osd``).
+terms (e.g., ``debug osd`` becomes ``--debug-osd``).
Viewing a Configuration at Runtime
Change configuration parameters on a running mds. ::
- ceph mds tell {mds-id} injectargs '--{switch} {value} [--{switch} {value}]'
+ ceph tell mds.{mds-id} injectargs --{switch} {value} [--{switch} {value}]
Example::
- ceph mds tell 0 injectargs '--debug_ms 1 --debug_mds 10'
+ ceph tell mds.0 injectargs --debug_ms 1 --debug_mds 10
Enables debug messages. ::
For the change to take effect, you will need to restart the monitors, or
apply the option to running monitors with::
- ceph -- tell mon.\* injectargs --no-mon-warn-on-legacy-crush-tunables
+ ceph tell mon.\* injectargs --no-mon-warn-on-legacy-crush-tunables
A few important points
runtime. See `Viewing a Configuration at Runtime`_ for details.
Additionally, you can set configuration values at runtime directly (i.e., the
-admin socket bypasses the monitor, unlike ``ceph {daemon-type} tell {id}
+admin socket bypasses the monitor, unlike ``ceph tell {daemon-type}.{id}
injectargs``, which relies on the monitor but doesn't require you to login
directly to the host in question ).
To activate Ceph's debugging output (*i.e.*, ``dout()``) at runtime, use the
``ceph tell`` command to inject arguments into the runtime configuration::
- ceph tell {daemon-type}.{daemon id or *} injectargs '--{name} {value} [--{name} {value}]'
+ ceph tell {daemon-type}.{daemon id or *} injectargs --{name} {value} [--{name} {value}]
Replace ``{daemon-type}`` with one of ``osd``, ``mon`` or ``mds``. You may apply
the runtime setting to all daemons of a particular type with ``*``, or specify
a specific daemon's ID (i.e., its number or letter). For example, to increase
debug logging for a ``ceph-osd`` daemon named ``osd.0``, execute the following::
- ceph tell osd.0 injectargs '--debug-osd 0/5'
+ ceph tell osd.0 injectargs --debug-osd 0/5
The ``ceph tell`` command goes through the monitors. If you cannot bind to the
monitor, you can still make the change by logging into the host of the daemon
Either inject the debug option into the monitor you want to debug::
- ceph tell mon.FOO injectargs '--debug_mon 10/10'
+ ceph tell mon.FOO injectargs --debug_mon 10/10
or into all monitors at once::
- ceph tell mon.* injectargs '--debug_mon 10/10'
+ ceph tell mon.* injectargs --debug_mon 10/10
No quourm