@@ -21,9 +21,9 @@ To check the current status of the balancer, run the following command:
2121Automatic balancing
2222-------------------
2323
24- When the balancer is in ``upmap `` mode, the automatic balancing feature is
25- enabled by default. For more details, see :ref: `upmap `. To disable the
26- balancer, run the following command:
24+ When the balancer is in ``upmap `` mode, which is the default, the automatic
25+ upmap balancing feature is enabled. For more details, see :ref: `upmap `.
26+ To disable the balancer, run the following command:
2727
2828 .. prompt :: bash $
2929
@@ -34,6 +34,10 @@ The balancer mode can be changed from ``upmap`` mode to ``crush-compat`` mode.
3434``crush-compat `` mode, the balancer automatically makes small changes to the
3535data distribution in order to ensure that OSDs are utilized equally.
3636
37+ Additional modes include ``upmap-read `` and ``read ``. ``upmap-read `` mode
38+ combines the upmap balancer with the read balancer so that both writes
39+ and reads are optimized. ``read `` mode can be used when only read optimization
40+ is desired. For more details, see :ref: `read_balancer `.
3741
3842Throttling
3943----------
@@ -102,7 +106,7 @@ and then run the following command:
102106Modes
103107-----
104108
105- There are two supported balancer modes:
109+ There are four supported balancer modes:
106110
107111#. **crush-compat **. This mode uses the compat weight-set feature (introduced
108112 in Luminous) to manage an alternative set of weights for devices in the
@@ -135,13 +139,45 @@ There are two supported balancer modes:
135139
136140 To use ``upmap ``, all clients must be Luminous or newer.
137141
138- The default mode is ``upmap ``. The mode can be changed to ``crush-compat `` by
139- running the following command:
142+ #. **read **. In Reef and later releases, the OSDMap can store explicit
143+ mappings for individual primary OSDs as exceptions to the normal CRUSH
144+ placement calculation. These ``pg-upmap-primary `` entries provide fine-grained
145+ control over primary PG mappings. This mode optimizes the placement of individual
146+ primary PGs in order to achieve balanced reads, or primary PGs, in a cluster.
147+ In ``read `` mode, upmap behavior is not excercised, so this mode is best for
148+ uses cases in which only read balancing is desired.
149+
150+ To use ``pg-upmap-primary ``, all clients must be Reef or newer. For more
151+ details about client compatibility, see :ref: `read_balancer `.
152+
153+ #. **upmap-read **. This balancer mode combines optimization benefits of
154+ both ``upmap `` and ``read `` mode. Like in ``read `` mode, ``upmap-read ``
155+ makes use of ``pg-upmap-primary ``. As such, only Reef and later clients
156+ are compatible. For more details about client compatibility, see
157+ :ref: `read_balancer `.
158+
159+ ``upmap-read `` is highly recommended for achieving the ``upmap `` mode's
160+ offering of balanced PG distribution as well as the ``read `` mode's
161+ offering of balanced reads.
162+
163+ The default mode is ``upmap ``. The mode can be changed to ``crush-compat `` by running the following command:
140164
141165 .. prompt :: bash $
142166
143167 ceph balancer mode crush-compat
144168
169+ The mode can be changed to ``read `` by running the following command:
170+
171+ .. prompt :: bash $
172+
173+ ceph balancer mode read
174+
175+ The mode can be changed to ``upmap-read `` by running the following command:
176+
177+ .. prompt :: bash $
178+
179+ ceph balancer mode upmap-read
180+
145181Supervised optimization
146182-----------------------
147183
0 commit comments