Skip to content

Commit ef0dfeb

Browse files
authored
Merge pull request ceph#61255 from Matan-B/wip-matanb-crimson-seastore-deafult-2
common/options/crimson.yaml.in: fallback to Bluestore by default Reviewed-by: Samuel Just <[email protected]> Reviewed-by: Xuehan Xu <[email protected]> Reviewed-by: Yingxin Cheng <[email protected]>
2 parents f76069b + de4a2a0 commit ef0dfeb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+421
-163
lines changed

doc/dev/crimson/crimson.rst

Lines changed: 91 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,82 @@ 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+
46122
Running Crimson
47123
===============
48124

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

108184
``--bluestore``
109-
Use alienized BlueStore as the object store backend.
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)
110186

111187
``--cyanstore``
112188
Use CyanStore as the object store backend.
@@ -115,7 +191,7 @@ The following options can be used with ``vstart.sh``.
115191
Use the alienized MemStore as the object store backend.
116192

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

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

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
134215

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

137-
$ MGR=1 MON=1 OSD=1 MDS=0 RGW=0 ../src/vstart.sh -n \
138-
--without-dashboard --seastore --crimson
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
139224

140225
Stop this ``vstart`` cluster by running::
141226

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

155240
.. describe:: seastore
156241

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

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

170255
The object store used by the classic ``ceph-osd``
171256

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-
248257
daemonize
249258
---------
250259

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
../.qa
1+
../.qa/

qa/suites/crimson-rados-experimental/seastore/basic/centos_latest.yaml

Lines changed: 0 additions & 1 deletion
This file was deleted.

qa/suites/crimson-rados-experimental/seastore/basic/clusters/fixed-1.yaml

Lines changed: 0 additions & 14 deletions
This file was deleted.

qa/suites/crimson-rados-experimental/seastore/basic/deploy/ceph.yaml

Lines changed: 0 additions & 18 deletions
This file was deleted.

qa/suites/crimson-rados-experimental/seastore/basic/tasks/rados_api_tests.yaml

Lines changed: 0 additions & 28 deletions
This file was deleted.

qa/suites/crimson-rados-experimental/seastore/basic/tasks/readwrite.yaml

Lines changed: 0 additions & 18 deletions
This file was deleted.
File renamed without changes.
File renamed without changes.

qa/suites/crimson-rados-experimental/seastore/basic/.qa renamed to qa/suites/crimson-rados-experimental/thrash/0-size-min-size-overrides/.qa

File renamed without changes.

0 commit comments

Comments
 (0)