Skip to content

Commit fed7e2f

Browse files
authored
Merge pull request ceph#52542 from zdover23/wip-doc-2023-07-19-rados-configuration-ceph-conf-3-of-x
doc/rados: edit ceph-conf.rst (3 of x) Reviewed-by: Anthony D'Atri <[email protected]>
2 parents 4aedde7 + b1fb80a commit fed7e2f

File tree

1 file changed

+104
-98
lines changed

1 file changed

+104
-98
lines changed

doc/rados/configuration/ceph-conf.rst

Lines changed: 104 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -286,120 +286,130 @@ surrounded by square brackets. For example:
286286
Config file option values
287287
-------------------------
288288

289-
The value of a configuration option is a string. If it is too long to
290-
fit in a single line, you can put a backslash (``\``) at the end of line
291-
as the line continuation marker, so the value of the option will be
292-
the string after ``=`` in current line combined with the string in the next
293-
line::
289+
The value of a configuration option is a string. If the string is too long to
290+
fit on a single line, you can put a backslash (``\``) at the end of the line
291+
and the backslash will act as a line continuation marker. In such a case, the
292+
value of the option will be the string after ``=`` in the current line,
293+
combined with the string in the next line. Here is an example::
294294

295295
[global]
296296
foo = long long ago\
297297
long ago
298298

299-
In the example above, the value of "``foo``" would be "``long long ago long ago``".
299+
In this example, the value of the "``foo``" option is "``long long ago long
300+
ago``".
300301

301-
Normally, the option value ends with a new line, or a comment, like
302+
An option value typically ends with either a newline or a comment. For
303+
example:
302304

303305
.. code-block:: ini
304306
305307
[global]
306308
obscure_one = difficult to explain # I will try harder in next release
307309
simpler_one = nothing to explain
308310
309-
In the example above, the value of "``obscure one``" would be "``difficult to explain``";
310-
and the value of "``simpler one`` would be "``nothing to explain``".
311+
In this example, the value of the "``obscure one``" option is "``difficult to
312+
explain``" and the value of the "``simpler one`` options is "``nothing to
313+
explain``".
311314

312-
If an option value contains spaces, and we want to make it explicit, we
313-
could quote the value using single or double quotes, like
315+
When an option value contains spaces, it can be enclosed within single quotes
316+
or double quotes in order to make its scope clear and in order to make sure
317+
that the first space in the value is not interpreted as the end of the value.
318+
For example:
314319

315320
.. code-block:: ini
316321
317322
[global]
318323
line = "to be, or not to be"
319324
320-
Certain characters are not allowed to be present in the option values directly.
321-
They are ``=``, ``#``, ``;`` and ``[``. If we have to, we need to escape them,
322-
like
325+
In option values, there are four characters that are treated as escape
326+
characters: ``=``, ``#``, ``;`` and ``[``. They are permitted to occur in an
327+
option value only if they are immediately preceded by the backslash character
328+
(``\``). For example:
323329

324330
.. code-block:: ini
325331
326332
[global]
327333
secret = "i love \# and \["
328334
329-
Every configuration option is typed with one of the types below:
335+
Each configuration option falls under one of the following types:
330336

331337
.. describe:: int
332338

333-
64-bit signed integer, Some SI prefixes are supported, like "K", "M", "G",
334-
"T", "P", "E", meaning, respectively, 10\ :sup:`3`, 10\ :sup:`6`,
335-
10\ :sup:`9`, etc. And "B" is the only supported unit. So, "1K", "1M", "128B" and "-1" are all valid
336-
option values. Some times, a negative value implies "unlimited" when it comes to
337-
an option for threshold or limit.
339+
64-bit signed integer. Some SI suffixes are supported, such as "K", "M",
340+
"G", "T", "P", and "E" (meaning, respectively, 10\ :sup:`3`, 10\ :sup:`6`,
341+
10\ :sup:`9`, etc.). "B" is the only supported unit string. Thus "1K", "1M",
342+
"128B" and "-1" are all valid option values. When a negative value is
343+
assigned to a threshold option, this can indicate that the option is
344+
"unlimited" -- that is, that there is no threshold or limit in effect.
338345

339346
:example: ``42``, ``-1``
340347

341348
.. describe:: uint
342349

343-
It is almost identical to ``integer``. But a negative value will be rejected.
350+
This differs from ``integer`` only in that negative values are not
351+
permitted.
344352

345353
:example: ``256``, ``0``
346354

347355
.. describe:: str
348356

349-
Free style strings encoded in UTF-8, but some characters are not allowed. Please
350-
reference the above notes for the details.
357+
A string encoded in UTF-8. Certain characters are not permitted. Reference
358+
the above notes for the details.
351359

352360
:example: ``"hello world"``, ``"i love \#"``, ``yet-another-name``
353361

354362
.. describe:: boolean
355363

356-
one of the two values ``true`` or ``false``. But an integer is also accepted,
357-
where "0" implies ``false``, and any non-zero values imply ``true``.
364+
Typically either of the two values ``true`` or ``false``. However, any
365+
integer is permitted: "0" implies ``false``, and any non-zero value implies
366+
``true``.
358367

359368
:example: ``true``, ``false``, ``1``, ``0``
360369

361370
.. describe:: addr
362371

363-
a single address optionally prefixed with ``v1``, ``v2`` or ``any`` for the messenger
364-
protocol. If the prefix is not specified, ``v2`` protocol is used. Please see
365-
:ref:`address_formats` for more details.
372+
A single address, optionally prefixed with ``v1``, ``v2`` or ``any`` for the
373+
messenger protocol. If no prefix is specified, the ``v2`` protocol is used.
374+
For more details, see :ref:`address_formats`.
366375

367376
:example: ``v1:1.2.3.4:567``, ``v2:1.2.3.4:567``, ``1.2.3.4:567``, ``2409:8a1e:8fb6:aa20:1260:4bff:fe92:18f5::567``, ``[::1]:6789``
368377

369378
.. describe:: addrvec
370379

371-
a set of addresses separated by ",". The addresses can be optionally quoted with ``[`` and ``]``.
380+
A set of addresses separated by ",". The addresses can be optionally quoted
381+
with ``[`` and ``]``.
372382

373383
:example: ``[v1:1.2.3.4:567,v2:1.2.3.4:568]``, ``v1:1.2.3.4:567,v1:1.2.3.14:567`` ``[2409:8a1e:8fb6:aa20:1260:4bff:fe92:18f5::567], [2409:8a1e:8fb6:aa20:1260:4bff:fe92:18f5::568]``
374384

375385
.. describe:: uuid
376386

377-
the string format of a uuid defined by `RFC4122 <https://www.ietf.org/rfc/rfc4122.txt>`_.
378-
And some variants are also supported, for more details, see
379-
`Boost document <https://www.boost.org/doc/libs/1_74_0/libs/uuid/doc/uuid.html#String%20Generator>`_.
387+
The string format of a uuid defined by `RFC4122
388+
<https://www.ietf.org/rfc/rfc4122.txt>`_. Certain variants are also
389+
supported: for more details, see `Boost document
390+
<https://www.boost.org/doc/libs/1_74_0/libs/uuid/doc/uuid.html#String%20Generator>`_.
380391

381392
:example: ``f81d4fae-7dec-11d0-a765-00a0c91e6bf6``
382393

383394
.. describe:: size
384395

385-
denotes a 64-bit unsigned integer. Both SI prefixes and IEC prefixes are
386-
supported. And "B" is the only supported unit. A negative value will be
387-
rejected.
396+
64-bit unsigned integer. Both SI prefixes and IEC prefixes are supported.
397+
"B" is the only supported unit string. Negative values are not permitted.
388398

389399
:example: ``1Ki``, ``1K``, ``1KiB`` and ``1B``.
390400

391401
.. describe:: secs
392402

393-
denotes a duration of time. By default the unit is second if not specified.
394-
Following units of time are supported:
403+
Denotes a duration of time. The default unit of time is the second.
404+
The following units of time are supported:
395405

396-
* second: "s", "sec", "second", "seconds"
397-
* minute: "m", "min", "minute", "minutes"
398-
* hour: "hs", "hr", "hour", "hours"
399-
* day: "d", "day", "days"
400-
* week: "w", "wk", "week", "weeks"
401-
* month: "mo", "month", "months"
402-
* year: "y", "yr", "year", "years"
406+
* second: ``s``, ``sec``, ``second``, ``seconds``
407+
* minute: ``m``, ``min``, ``minute``, ``minutes``
408+
* hour: ``hs``, ``hr``, ``hour``, ``hours``
409+
* day: ``d``, ``day``, ``days``
410+
* week: ``w``, ``wk``, ``week``, ``weeks``
411+
* month: ``mo``, ``month``, ``months``
412+
* year: ``y``, ``yr``, ``year``, ``years``
403413

404414
:example: ``1 m``, ``1m`` and ``1 week``
405415

@@ -408,87 +418,83 @@ Every configuration option is typed with one of the types below:
408418
Monitor configuration database
409419
==============================
410420

411-
The monitor cluster manages a database of configuration options that
412-
can be consumed by the entire cluster, enabling streamlined central
413-
configuration management for the entire system. The vast majority of
414-
configuration options can and should be stored here for ease of
415-
administration and transparency.
421+
The monitor cluster manages a database of configuration options that can be
422+
consumed by the entire cluster. This allows for streamlined central
423+
configuration management of the entire system. For ease of administration and
424+
transparency, the vast majority of configuration options can and should be
425+
stored in this database.
416426

417-
A handful of settings may still need to be stored in local
418-
configuration files because they affect the ability to connect to the
419-
monitors, authenticate, and fetch configuration information. In most
420-
cases this is limited to the ``mon_host`` option, although this can
421-
also be avoided through the use of DNS SRV records.
427+
Some settings might need to be stored in local configuration files because they
428+
affect the ability of the process to connect to the monitors, to authenticate,
429+
and to fetch configuration information. In most cases this applies only to the
430+
``mon_host`` option. This issue can be avoided by using DNS SRV records.
422431

423432
Sections and masks
424433
------------------
425434

426-
Configuration options stored by the monitor can live in a global
427-
section, daemon type section, or specific daemon section, just like
428-
options in a configuration file can.
435+
Configuration options stored by the monitor can be stored in a global section,
436+
in a daemon-type section, or in a specific daemon section. In this, they are
437+
no different from the options in a configuration file.
429438

430-
In addition, options may also have a *mask* associated with them to
431-
further restrict which daemons or clients the option applies to.
432-
Masks take two forms:
439+
In addition, options may have a *mask* associated with them to further restrict
440+
which daemons or clients the option applies to. Masks take two forms:
433441

434-
#. ``type:location`` where *type* is a CRUSH property like `rack` or
435-
`host`, and *location* is a value for that property. For example,
442+
#. ``type:location`` where ``type`` is a CRUSH property like ``rack`` or
443+
``host``, and ``location`` is a value for that property. For example,
436444
``host:foo`` would limit the option only to daemons or clients
437445
running on a particular host.
438-
#. ``class:device-class`` where *device-class* is the name of a CRUSH
439-
device class (e.g., ``hdd`` or ``ssd``). For example,
446+
#. ``class:device-class`` where ``device-class`` is the name of a CRUSH
447+
device class (for example, ``hdd`` or ``ssd``). For example,
440448
``class:ssd`` would limit the option only to OSDs backed by SSDs.
441-
(This mask has no effect for non-OSD daemons or clients.)
442-
443-
When setting a configuration option, the `who` may be a section name,
444-
a mask, or a combination of both separated by a slash (``/``)
445-
character. For example, ``osd/rack:foo`` would mean all OSD daemons
446-
in the ``foo`` rack.
449+
(This mask has no effect on non-OSD daemons or clients.)
447450

448-
When viewing configuration options, the section name and mask are
449-
generally separated out into separate fields or columns to ease readability.
451+
In commands that specify a configuration option, the argument of the option (in
452+
the following examples, this is the "who" string) may be a section name, a
453+
mask, or a combination of both separated by a slash character (``/``). For
454+
example, ``osd/rack:foo`` would refer to all OSD daemons in the ``foo`` rack.
450455

456+
When configuration options are shown, the section name and mask are presented
457+
in separate fields or columns to make them more readable.
451458

452459
Commands
453460
--------
454461

455462
The following CLI commands are used to configure the cluster:
456463

457-
* ``ceph config dump`` will dump the entire monitors' configuration
464+
* ``ceph config dump`` dumps the entire monitor configuration
458465
database for the cluster.
459466

460-
* ``ceph config get <who>`` will dump configuration options stored in
461-
the monitors' configuration database for a specific daemon or client
462-
(e.g., ``mds.a``).
467+
* ``ceph config get <who>`` dumps the configuration options stored in
468+
the monitor configuration database for a specific daemon or client
469+
(for example, ``mds.a``).
463470

464-
* ``ceph config get <who> <option>`` will show a configuration value
465-
stored in the monitors' configuration database for a specific daemon
466-
or client (e.g., ``mds.a``), or, if not present in the monitors'
471+
* ``ceph config get <who> <option>`` shows either a configuration value
472+
stored in the monitor configuration database for a specific daemon or client
473+
(for example, ``mds.a``), or, if that value is not present in the monitor
467474
configuration database, the compiled-in default value.
468475

469-
* ``ceph config set <who> <option> <value>`` will set a configuration
470-
option in the monitors' configuration database.
476+
* ``ceph config set <who> <option> <value>`` specifies a configuration
477+
option in the monitor configuration database.
471478

472-
* ``ceph config show <who>`` will show the reported running
473-
configuration for a running daemon. These settings may differ from
474-
those stored by the monitors if there are also local configuration
475-
files in use or options have been overridden on the command line or
476-
at run time. The source of the option values is reported as part
477-
of the output.
479+
* ``ceph config show <who>`` shows the configuration for a running daemon.
480+
These settings might differ from those stored by the monitors if there are
481+
also local configuration files in use or if options have been overridden on
482+
the command line or at run time. The source of the values of the options is
483+
displayed in the output.
478484

479-
* ``ceph config assimilate-conf -i <input file> -o <output file>``
480-
will ingest a configuration file from *input file* and move any
481-
valid options into the monitors' configuration database. Any
482-
settings that are unrecognized, invalid, or cannot be controlled by
483-
the monitor will be returned in an abbreviated config file stored in
484-
*output file*. This command is useful for transitioning from legacy
485-
configuration files to centralized monitor-based configuration.
485+
* ``ceph config assimilate-conf -i <input file> -o <output file>`` ingests a
486+
configuration file from *input file* and moves any valid options into the
487+
monitor configuration database. Any settings that are unrecognized, are
488+
invalid, or cannot be controlled by the monitor will be returned in an
489+
abbreviated configuration file stored in *output file*. This command is
490+
useful for transitioning from legacy configuration files to centralized
491+
monitor-based configuration.
486492

487493
Note that ``ceph config set <who> <option> <value>`` and ``ceph config get
488-
<who> <option>`` aren't symmetric because the latter also shows compiled-in
489-
default values. In order to determine whether a configuration option is
490-
present in the monitors' configuration database, use ``ceph config dump``.
491-
494+
<who> <option>`` will not necessarily return the same values. The latter
495+
command will show compiled-in default values. In order to determine whether a
496+
configuration option is present in the monitor configuration database, run
497+
``ceph config dump``.
492498

493499
Help
494500
====

0 commit comments

Comments
 (0)