@@ -43,6 +43,82 @@ use a Crimson build:
4343You'll likely need to supply the ``--allow-mismatched-release `` flag to
4444use 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
140225Stop 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
159244The alienized object store backends are backed by a thread pool, which
160245is 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-
248257daemonize
249258---------
250259
0 commit comments