doc/rados/operations: improve crush-map-edits.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
(cherry picked from commit 59a894713a)
This commit is contained in:
Anthony D'Atri 2025-03-14 21:59:57 -04:00 committed by Zac Dover
parent 5ea1c5072e
commit 2c10e50df6

View File

@ -227,44 +227,45 @@ and easier to troubleshoot problems when OSDs malfunction (or other hardware
malfunctions) and the administrator needs access to physical hardware. malfunctions) and the administrator needs access to physical hardware.
In the following example, the bucket hierarchy has a leaf bucket named ``osd`` In the following example, the CRUSH hierarchy has ``osd`` leaf buckets
and two node buckets named ``host`` and ``rack``: and two node-level buckets at the ``host`` level that are in turn children
of a ``rack`` bucket :
.. ditaa:: .. ditaa::
+-----------+ +-----------+
| {o}rack | | {o}rack11 |
| Bucket |
+-----+-----+ +-----+-----+
| |
+---------------+---------------+ +---------------+---------------+
| | | |
+-----+-----+ +-----+-----+ +-----+-----+ +-----+-----+
| {o}host | | {o}host | | {o}host1 | | {o}host2 |
| Bucket | | Bucket |
+-----+-----+ +-----+-----+ +-----+-----+ +-----+-----+
| | | |
+-------+-------+ +-------+-------+ +-------+-------+ +-------+-------+
| | | | | | | |
+-----+-----+ +-----+-----+ +-----+-----+ +-----+-----+ +-----+-----+ +-----+-----+ +-----+-----+ +-----+-----+
| osd | | osd | | osd | | osd | | osd0 | | osd1 | | osd2 | | osd3 |
| Bucket | | Bucket | | Bucket | | Bucket |
+-----------+ +-----------+ +-----------+ +-----------+ +-----------+ +-----------+ +-----------+ +-----------+
.. note:: The higher-numbered ``rack`` bucket type aggregates the .. note:: The higher type-number ``rack`` bucket aggregates the
lower-numbered ``host`` bucket type. lower type-number ``host`` buckets, which in turn aggregate the basal
type 0 ``osd`` buckets.
Because leaf nodes reflect storage devices that have already been declared Because leaf nodes reflect storage devices that have already been declared
under the ``#devices`` list at the beginning of the CRUSH map, there is no need under the ``#devices`` list at the beginning of the CRUSH map, there is no need
to declare them as bucket instances. The second-lowest bucket type in your to declare them as bucket instances. The second-lowest bucket type in your
hierarchy is typically used to aggregate the devices (that is, the hierarchy is typically used to aggregate the devices: usually
second-lowest bucket type is usually the computer that contains the storage the server that houses the storage drives.
media and, such as ``node``, ``computer``, ``server``, ``host``, or In high-density environments, it is common to have multiple hosts
``machine``). In high-density environments, it is common to have multiple hosts or nodes in a single chassis: blades or twins. It
or nodes in a single chassis (for example, in the cases of blades or twins). It is important to anticipate the potential consequences of chassis failure. For
is important to anticipate the potential consequences of chassis failure -- for example, during the replacement of a chassis in case of a node failure,
example, during the replacement of a chassis in case of a node failure, the all of the
chassis's hosts or nodes (and their associated OSDs) will be in a ``down`` chassis's hosts and their associated OSDs will be in the ``down``
state. state and thus unavailable. It is important to avoid placing multiple replicas
or shards of data within a single such chassis, which in this case is
a _failure domain_.
To declare a bucket instance, do the following: specify its type, give it a To declare a bucket instance, do the following: specify its type, give it a
unique name (an alphanumeric string), assign it a unique ID expressed as a unique name (an alphanumeric string), assign it a unique ID expressed as a