Skip to content

Commit 41327dc

Browse files
committed
doc/dev/crimson: update SeaStore as default backend
Signed-off-by: Matan Breizman <[email protected]>
1 parent b85d61d commit 41327dc

File tree

1 file changed

+82
-91
lines changed

1 file changed

+82
-91
lines changed

doc/dev/crimson/crimson.rst

Lines changed: 82 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -43,82 +43,6 @@ use a Crimson build:
4343
You'll likely need to supply the ``--allow-mismatched-release`` flag to
4444
use a non-release branch.
4545

46-
Configure Crimson with Bluestore
47-
================================
48-
49-
As Bluestore is not a Crimson native `object store backend`_,
50-
deploying Crimson with Bluestore as the back end requires setting
51-
one of the two following configuration options:
52-
53-
.. note::
54-
55-
#. These two options, along with ``crimson_alien_op_num_threads``,
56-
can't be changed after deployment.
57-
#. `vstart.sh`_ sets these options using the ``--crimson-smp`` flag.
58-
59-
60-
1) ``crimson_seastar_num_threads``
61-
62-
In order to allow easier cluster deployments, this option can be used
63-
instead of setting the CPU mask manually for each OSD.
64-
65-
It's recommended to let the **number of OSDs on each host** multiplied by
66-
``crimson_seastar_num_threads`` to be less than the node's number of CPU
67-
cores (``nproc``).
68-
69-
For example, for deploying two nodes with eight CPU cores and two OSDs each:
70-
71-
.. code-block:: yaml
72-
73-
conf:
74-
# Global to all OSDs
75-
osd:
76-
crimson seastar num threads: 3
77-
78-
.. note::
79-
80-
#. For optimal performance ``crimson_seastar_cpu_cores`` should be set instead.
81-
82-
2) ``crimson_seastar_cpu_cores`` and ``crimson_alien_thread_cpu_cores``.
83-
84-
Explicitly set the CPU core allocation for each ``crimson-osd``
85-
and for the BlueStore back end. It's recommended for each set to be mutually exclusive.
86-
87-
For example, for deploying two nodes with eight CPU cores and two OSDs each:
88-
89-
.. code-block:: yaml
90-
91-
conf:
92-
# Both nodes
93-
osd:
94-
crimson alien thread cpu cores: 6-7
95-
96-
# First node
97-
osd.0:
98-
crimson seastar cpu cores: 0-2
99-
osd.1:
100-
crimson seastar cpu cores: 3-5
101-
102-
# Second node
103-
osd.2:
104-
crimson seastar cpu cores: 0-2
105-
osd.3:
106-
crimson seastar cpu cores: 3-5
107-
108-
For a single node with eight node and three OSDs:
109-
110-
.. code-block:: yaml
111-
112-
conf:
113-
osd:
114-
crimson alien thread cpu cores: 6-7
115-
osd.0:
116-
crimson seastar cpu cores: 0-1
117-
osd.1:
118-
crimson seastar cpu cores: 2-3
119-
osd.2:
120-
crimson seastar cpu cores: 4-5
121-
12246
Running Crimson
12347
===============
12448

@@ -182,7 +106,7 @@ The following options can be used with ``vstart.sh``.
182106
(as determined by `nproc`) will be assigned to the object store.
183107

184108
``--bluestore``
185-
Use the alienized BlueStore as the object store backend. This is the default (see below section on the `object store backend`_ for more details)
109+
Use alienized BlueStore as the object store backend.
186110

187111
``--cyanstore``
188112
Use CyanStore as the object store backend.
@@ -191,7 +115,7 @@ The following options can be used with ``vstart.sh``.
191115
Use the alienized MemStore as the object store backend.
192116

193117
``--seastore``
194-
Use SeaStore as the back end object store.
118+
Use SeaStore as the back end object store. This is the default (see below section on the `object store backend`_ for more details)
195119

196120
``--seastore-devs``
197121
Specify the block device used by SeaStore.
@@ -207,20 +131,11 @@ The following options can be used with ``vstart.sh``.
207131
Valid types include ``HDD``, ``SSD``(default), ``ZNS``, and ``RANDOM_BLOCK_SSD``
208132
Note secondary devices should not be faster than the main device.
209133

210-
To start a cluster with a single Crimson node, run::
211-
212-
$ MGR=1 MON=1 OSD=1 MDS=0 RGW=0 ../src/vstart.sh \
213-
--without-dashboard --bluestore --crimson \
214-
--redirect-output
215134

216-
Another SeaStore example::
135+
To start a simple cluster with a single core Crimson OSD, run::
217136

218-
$ MGR=1 MON=1 OSD=1 MDS=0 RGW=0 ../src/vstart.sh -n -x \
219-
--without-dashboard --seastore \
220-
--crimson --redirect-output \
221-
--seastore-devs /dev/sda \
222-
--seastore-secondary-devs /dev/sdb \
223-
--seastore-secondary-devs-type HDD
137+
$ MGR=1 MON=1 OSD=1 MDS=0 RGW=0 ../src/vstart.sh -n \
138+
--without-dashboard --seastore --crimson
224139

225140
Stop this ``vstart`` cluster by running::
226141

@@ -239,7 +154,7 @@ They are:
239154

240155
.. describe:: seastore
241156

242-
Seastore is still under active development.
157+
Seastore is the default Crimson backend and is still under active development.
243158

244159
The alienized object store backends are backed by a thread pool, which
245160
is a proxy of the alienstore adaptor running in Seastar. The proxy issues
@@ -254,6 +169,82 @@ managed by the Seastar framework. They are:
254169

255170
The object store used by the classic ``ceph-osd``
256171

172+
Configure Crimson with Bluestore
173+
================================
174+
175+
As Bluestore is not a Crimson native `object store backend`_,
176+
deploying Crimson with Bluestore as the back end requires setting
177+
one of the two following configuration options:
178+
179+
.. note::
180+
181+
#. These two options, along with ``crimson_alien_op_num_threads``,
182+
can't be changed after deployment.
183+
#. `vstart.sh`_ sets these options using the ``--crimson-smp`` flag.
184+
185+
186+
1) ``crimson_seastar_num_threads``
187+
188+
In order to allow easier cluster deployments, this option can be used
189+
instead of setting the CPU mask manually for each OSD.
190+
191+
It's recommended to set the **number of OSDs on each host** multiplied by
192+
``crimson_seastar_num_threads`` to be less than the node's number of CPU
193+
cores (``nproc``).
194+
195+
For example, for deploying two nodes with eight CPU cores and two OSDs each:
196+
197+
.. code-block:: yaml
198+
199+
conf:
200+
# Global to all OSDs
201+
osd:
202+
crimson seastar num threads: 3
203+
204+
.. note::
205+
206+
#. For optimal performance ``crimson_seastar_cpu_cores`` should be set instead.
207+
208+
2) ``crimson_seastar_cpu_cores`` and ``crimson_alien_thread_cpu_cores``.
209+
210+
Explicitly set the CPU core allocation for each ``crimson-osd``
211+
and for the BlueStore back end. It's recommended for each set to be mutually exclusive.
212+
213+
For example, for deploying two nodes with eight CPU cores and two OSDs each:
214+
215+
.. code-block:: yaml
216+
217+
conf:
218+
# Both nodes
219+
osd:
220+
crimson alien thread cpu cores: 6-7
221+
222+
# First node
223+
osd.0:
224+
crimson seastar cpu cores: 0-2
225+
osd.1:
226+
crimson seastar cpu cores: 3-5
227+
228+
# Second node
229+
osd.2:
230+
crimson seastar cpu cores: 0-2
231+
osd.3:
232+
crimson seastar cpu cores: 3-5
233+
234+
For a single node with eight node and three OSDs:
235+
236+
.. code-block:: yaml
237+
238+
conf:
239+
osd:
240+
crimson alien thread cpu cores: 6-7
241+
osd.0:
242+
crimson seastar cpu cores: 0-1
243+
osd.1:
244+
crimson seastar cpu cores: 2-3
245+
osd.2:
246+
crimson seastar cpu cores: 4-5
247+
257248
daemonize
258249
---------
259250

0 commit comments

Comments
 (0)