]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | ============================ |
2 | Filestore Config Reference | |
3 | ============================ | |
4 | ||
5 | ||
6 | ``filestore debug omap check`` | |
7 | ||
8 | :Description: Debugging check on synchronization. Expensive. For debugging only. | |
9 | :Type: Boolean | |
10 | :Required: No | |
11 | :Default: ``0`` | |
12 | ||
13 | ||
14 | .. index:: filestore; extended attributes | |
15 | ||
16 | Extended Attributes | |
17 | =================== | |
18 | ||
19 | Extended Attributes (XATTRs) are an important aspect in your configuration. | |
20 | Some file systems have limits on the number of bytes stored in XATTRS. | |
21 | Additionally, in some cases, the filesystem may not be as fast as an alternative | |
22 | method of storing XATTRs. The following settings may help improve performance | |
23 | by using a method of storing XATTRs that is extrinsic to the underlying filesystem. | |
24 | ||
25 | Ceph XATTRs are stored as ``inline xattr``, using the XATTRs provided | |
26 | by the underlying file system, if it does not impose a size limit. If | |
27 | there is a size limit (4KB total on ext4, for instance), some Ceph | |
28 | XATTRs will be stored in an key/value database when either the | |
29 | ``filestore max inline xattr size`` or ``filestore max inline | |
30 | xattrs`` threshold is reached. | |
31 | ||
32 | ||
33 | ``filestore max inline xattr size`` | |
34 | ||
35 | :Description: The maximimum size of an XATTR stored in the filesystem (i.e., XFS, | |
36 | btrfs, ext4, etc.) per object. Should not be larger than the | |
37 | filesytem can handle. Default value of 0 means to use the value | |
38 | specific to the underlying filesystem. | |
39 | :Type: Unsigned 32-bit Integer | |
40 | :Required: No | |
41 | :Default: ``0`` | |
42 | ||
43 | ||
44 | ``filestore max inline xattr size xfs`` | |
45 | ||
46 | :Description: The maximimum size of an XATTR stored in the XFS filesystem. | |
47 | Only used if ``filestore max inline xattr size`` == 0. | |
48 | :Type: Unsigned 32-bit Integer | |
49 | :Required: No | |
50 | :Default: ``65536`` | |
51 | ||
52 | ||
53 | ``filestore max inline xattr size btrfs`` | |
54 | ||
55 | :Description: The maximimum size of an XATTR stored in the btrfs filesystem. | |
56 | Only used if ``filestore max inline xattr size`` == 0. | |
57 | :Type: Unsigned 32-bit Integer | |
58 | :Required: No | |
59 | :Default: ``2048`` | |
60 | ||
61 | ||
62 | ``filestore max inline xattr size other`` | |
63 | ||
64 | :Description: The maximimum size of an XATTR stored in other filesystems. | |
65 | Only used if ``filestore max inline xattr size`` == 0. | |
66 | :Type: Unsigned 32-bit Integer | |
67 | :Required: No | |
68 | :Default: ``512`` | |
69 | ||
70 | ||
71 | ``filestore max inline xattrs`` | |
72 | ||
73 | :Description: The maximum number of XATTRs stored in the filesystem per object. | |
74 | Default value of 0 means to use the value specific to the | |
75 | underlying filesystem. | |
76 | :Type: 32-bit Integer | |
77 | :Required: No | |
78 | :Default: ``0`` | |
79 | ||
80 | ||
81 | ``filestore max inline xattrs xfs`` | |
82 | ||
83 | :Description: The maximum number of XATTRs stored in the XFS filesystem per object. | |
84 | Only used if ``filestore max inline xattrs`` == 0. | |
85 | :Type: 32-bit Integer | |
86 | :Required: No | |
87 | :Default: ``10`` | |
88 | ||
89 | ||
90 | ``filestore max inline xattrs btrfs`` | |
91 | ||
92 | :Description: The maximum number of XATTRs stored in the btrfs filesystem per object. | |
93 | Only used if ``filestore max inline xattrs`` == 0. | |
94 | :Type: 32-bit Integer | |
95 | :Required: No | |
96 | :Default: ``10`` | |
97 | ||
98 | ||
99 | ``filestore max inline xattrs other`` | |
100 | ||
101 | :Description: The maximum number of XATTRs stored in other filesystems per object. | |
102 | Only used if ``filestore max inline xattrs`` == 0. | |
103 | :Type: 32-bit Integer | |
104 | :Required: No | |
105 | :Default: ``2`` | |
106 | ||
107 | .. index:: filestore; synchronization | |
108 | ||
109 | Synchronization Intervals | |
110 | ========================= | |
111 | ||
112 | Periodically, the filestore needs to quiesce writes and synchronize the | |
113 | filesystem, which creates a consistent commit point. It can then free journal | |
114 | entries up to the commit point. Synchronizing more frequently tends to reduce | |
115 | the time required to perform synchronization, and reduces the amount of data | |
116 | that needs to remain in the journal. Less frequent synchronization allows the | |
117 | backing filesystem to coalesce small writes and metadata updates more | |
118 | optimally--potentially resulting in more efficient synchronization. | |
119 | ||
120 | ||
121 | ``filestore max sync interval`` | |
122 | ||
123 | :Description: The maximum interval in seconds for synchronizing the filestore. | |
124 | :Type: Double | |
125 | :Required: No | |
126 | :Default: ``5`` | |
127 | ||
128 | ||
129 | ``filestore min sync interval`` | |
130 | ||
131 | :Description: The minimum interval in seconds for synchronizing the filestore. | |
132 | :Type: Double | |
133 | :Required: No | |
134 | :Default: ``.01`` | |
135 | ||
136 | ||
137 | .. index:: filestore; flusher | |
138 | ||
139 | Flusher | |
140 | ======= | |
141 | ||
142 | The filestore flusher forces data from large writes to be written out using | |
143 | ``sync file range`` before the sync in order to (hopefully) reduce the cost of | |
144 | the eventual sync. In practice, disabling 'filestore flusher' seems to improve | |
145 | performance in some cases. | |
146 | ||
147 | ||
148 | ``filestore flusher`` | |
149 | ||
150 | :Description: Enables the filestore flusher. | |
151 | :Type: Boolean | |
152 | :Required: No | |
153 | :Default: ``false`` | |
154 | ||
155 | .. deprecated:: v.65 | |
156 | ||
157 | ``filestore flusher max fds`` | |
158 | ||
159 | :Description: Sets the maximum number of file descriptors for the flusher. | |
160 | :Type: Integer | |
161 | :Required: No | |
162 | :Default: ``512`` | |
163 | ||
164 | .. deprecated:: v.65 | |
165 | ||
166 | ``filestore sync flush`` | |
167 | ||
168 | :Description: Enables the synchronization flusher. | |
169 | :Type: Boolean | |
170 | :Required: No | |
171 | :Default: ``false`` | |
172 | ||
173 | .. deprecated:: v.65 | |
174 | ||
175 | ``filestore fsync flushes journal data`` | |
176 | ||
177 | :Description: Flush journal data during filesystem synchronization. | |
178 | :Type: Boolean | |
179 | :Required: No | |
180 | :Default: ``false`` | |
181 | ||
182 | ||
183 | .. index:: filestore; queue | |
184 | ||
185 | Queue | |
186 | ===== | |
187 | ||
188 | The following settings provide limits on the size of filestore queue. | |
189 | ||
190 | ``filestore queue max ops`` | |
191 | ||
192 | :Description: Defines the maximum number of in progress operations the file store accepts before blocking on queuing new operations. | |
193 | :Type: Integer | |
194 | :Required: No. Minimal impact on performance. | |
31f18b77 | 195 | :Default: ``50`` |
7c673cae FG |
196 | |
197 | ||
198 | ``filestore queue max bytes`` | |
199 | ||
200 | :Description: The maximum number of bytes for an operation. | |
201 | :Type: Integer | |
202 | :Required: No | |
203 | :Default: ``100 << 20`` | |
204 | ||
205 | ||
7c673cae FG |
206 | |
207 | ||
208 | .. index:: filestore; timeouts | |
209 | ||
210 | Timeouts | |
211 | ======== | |
212 | ||
213 | ||
214 | ``filestore op threads`` | |
215 | ||
216 | :Description: The number of filesystem operation threads that execute in parallel. | |
217 | :Type: Integer | |
218 | :Required: No | |
219 | :Default: ``2`` | |
220 | ||
221 | ||
222 | ``filestore op thread timeout`` | |
223 | ||
224 | :Description: The timeout for a filesystem operation thread (in seconds). | |
225 | :Type: Integer | |
226 | :Required: No | |
227 | :Default: ``60`` | |
228 | ||
229 | ||
230 | ``filestore op thread suicide timeout`` | |
231 | ||
232 | :Description: The timeout for a commit operation before cancelling the commit (in seconds). | |
233 | :Type: Integer | |
234 | :Required: No | |
235 | :Default: ``180`` | |
236 | ||
237 | ||
238 | .. index:: filestore; btrfs | |
239 | ||
240 | B-Tree Filesystem | |
241 | ================= | |
242 | ||
243 | ||
244 | ``filestore btrfs snap`` | |
245 | ||
246 | :Description: Enable snapshots for a ``btrfs`` filestore. | |
247 | :Type: Boolean | |
248 | :Required: No. Only used for ``btrfs``. | |
249 | :Default: ``true`` | |
250 | ||
251 | ||
252 | ``filestore btrfs clone range`` | |
253 | ||
254 | :Description: Enable cloning ranges for a ``btrfs`` filestore. | |
255 | :Type: Boolean | |
256 | :Required: No. Only used for ``btrfs``. | |
257 | :Default: ``true`` | |
258 | ||
259 | ||
260 | .. index:: filestore; journal | |
261 | ||
262 | Journal | |
263 | ======= | |
264 | ||
265 | ||
266 | ``filestore journal parallel`` | |
267 | ||
268 | :Description: Enables parallel journaling, default for btrfs. | |
269 | :Type: Boolean | |
270 | :Required: No | |
271 | :Default: ``false`` | |
272 | ||
273 | ||
274 | ``filestore journal writeahead`` | |
275 | ||
276 | :Description: Enables writeahead journaling, default for xfs. | |
277 | :Type: Boolean | |
278 | :Required: No | |
279 | :Default: ``false`` | |
280 | ||
281 | ||
282 | ``filestore journal trailing`` | |
283 | ||
284 | :Description: Deprecated, never use. | |
285 | :Type: Boolean | |
286 | :Required: No | |
287 | :Default: ``false`` | |
288 | ||
289 | ||
290 | Misc | |
291 | ==== | |
292 | ||
293 | ||
294 | ``filestore merge threshold`` | |
295 | ||
296 | :Description: Min number of files in a subdir before merging into parent | |
297 | NOTE: A negative value means to disable subdir merging | |
298 | :Type: Integer | |
299 | :Required: No | |
300 | :Default: ``10`` | |
301 | ||
302 | ||
303 | ``filestore split multiple`` | |
304 | ||
224ce89b | 305 | :Description: ``(filestore_split_multiple * abs(filestore_merge_threshold) + (rand() % filestore_split_rand_factor)) * 16`` |
7c673cae FG |
306 | is the maximum number of files in a subdirectory before |
307 | splitting into child directories. | |
308 | ||
309 | :Type: Integer | |
310 | :Required: No | |
311 | :Default: ``2`` | |
312 | ||
313 | ||
224ce89b WB |
314 | ``filestore split rand factor`` |
315 | ||
316 | :Description: A random factor added to the split threshold to avoid | |
317 | too many filestore splits occurring at once. See | |
318 | ``filestore split multiple`` for details. | |
319 | This can only be changed for an existing osd offline, | |
320 | via ceph-objectstore-tool's apply-layout-settings command. | |
321 | ||
322 | :Type: Unsigned 32-bit Integer | |
323 | :Required: No | |
324 | :Default: ``20`` | |
325 | ||
326 | ||
7c673cae FG |
327 | ``filestore update to`` |
328 | ||
329 | :Description: Limits filestore auto upgrade to specified version. | |
330 | :Type: Integer | |
331 | :Required: No | |
332 | :Default: ``1000`` | |
333 | ||
334 | ||
335 | ``filestore blackhole`` | |
336 | ||
337 | :Description: Drop any new transactions on the floor. | |
338 | :Type: Boolean | |
339 | :Required: No | |
340 | :Default: ``false`` | |
341 | ||
342 | ||
343 | ``filestore dump file`` | |
344 | ||
345 | :Description: File onto which store transaction dumps. | |
346 | :Type: Boolean | |
347 | :Required: No | |
348 | :Default: ``false`` | |
349 | ||
350 | ||
351 | ``filestore kill at`` | |
352 | ||
353 | :Description: inject a failure at the n'th opportunity | |
354 | :Type: String | |
355 | :Required: No | |
356 | :Default: ``false`` | |
357 | ||
358 | ||
359 | ``filestore fail eio`` | |
360 | ||
361 | :Description: Fail/Crash on eio. | |
362 | :Type: Boolean | |
363 | :Required: No | |
364 | :Default: ``true`` | |
365 |