]> git.proxmox.com Git - ceph.git/blob - ceph/doc/rados/configuration/filestore-config-ref.rst
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / doc / rados / configuration / filestore-config-ref.rst
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.
195 :Default: ``500``
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
206 ``filestore queue committing max ops``
207
208 :Description: The maximum number of operations the filestore can commit.
209 :Type: Integer
210 :Required: No
211 :Default: ``500``
212
213
214 ``filestore queue committing max bytes``
215
216 :Description: The maximum number of bytes the filestore can commit.
217 :Type: Integer
218 :Required: No
219 :Default: ``100 << 20``
220
221
222 .. index:: filestore; timeouts
223
224 Timeouts
225 ========
226
227
228 ``filestore op threads``
229
230 :Description: The number of filesystem operation threads that execute in parallel.
231 :Type: Integer
232 :Required: No
233 :Default: ``2``
234
235
236 ``filestore op thread timeout``
237
238 :Description: The timeout for a filesystem operation thread (in seconds).
239 :Type: Integer
240 :Required: No
241 :Default: ``60``
242
243
244 ``filestore op thread suicide timeout``
245
246 :Description: The timeout for a commit operation before cancelling the commit (in seconds).
247 :Type: Integer
248 :Required: No
249 :Default: ``180``
250
251
252 .. index:: filestore; btrfs
253
254 B-Tree Filesystem
255 =================
256
257
258 ``filestore btrfs snap``
259
260 :Description: Enable snapshots for a ``btrfs`` filestore.
261 :Type: Boolean
262 :Required: No. Only used for ``btrfs``.
263 :Default: ``true``
264
265
266 ``filestore btrfs clone range``
267
268 :Description: Enable cloning ranges for a ``btrfs`` filestore.
269 :Type: Boolean
270 :Required: No. Only used for ``btrfs``.
271 :Default: ``true``
272
273
274 .. index:: filestore; journal
275
276 Journal
277 =======
278
279
280 ``filestore journal parallel``
281
282 :Description: Enables parallel journaling, default for btrfs.
283 :Type: Boolean
284 :Required: No
285 :Default: ``false``
286
287
288 ``filestore journal writeahead``
289
290 :Description: Enables writeahead journaling, default for xfs.
291 :Type: Boolean
292 :Required: No
293 :Default: ``false``
294
295
296 ``filestore journal trailing``
297
298 :Description: Deprecated, never use.
299 :Type: Boolean
300 :Required: No
301 :Default: ``false``
302
303
304 Misc
305 ====
306
307
308 ``filestore merge threshold``
309
310 :Description: Min number of files in a subdir before merging into parent
311 NOTE: A negative value means to disable subdir merging
312 :Type: Integer
313 :Required: No
314 :Default: ``10``
315
316
317 ``filestore split multiple``
318
319 :Description: ``filestore_split_multiple * abs(filestore_merge_threshold) * 16``
320 is the maximum number of files in a subdirectory before
321 splitting into child directories.
322
323 :Type: Integer
324 :Required: No
325 :Default: ``2``
326
327
328 ``filestore update to``
329
330 :Description: Limits filestore auto upgrade to specified version.
331 :Type: Integer
332 :Required: No
333 :Default: ``1000``
334
335
336 ``filestore blackhole``
337
338 :Description: Drop any new transactions on the floor.
339 :Type: Boolean
340 :Required: No
341 :Default: ``false``
342
343
344 ``filestore dump file``
345
346 :Description: File onto which store transaction dumps.
347 :Type: Boolean
348 :Required: No
349 :Default: ``false``
350
351
352 ``filestore kill at``
353
354 :Description: inject a failure at the n'th opportunity
355 :Type: String
356 :Required: No
357 :Default: ``false``
358
359
360 ``filestore fail eio``
361
362 :Description: Fail/Crash on eio.
363 :Type: Boolean
364 :Required: No
365 :Default: ``true``
366