Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / 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: ``50``
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
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
305 :Description:  ``(filestore_split_multiple * abs(filestore_merge_threshold) + (rand() % filestore_split_rand_factor)) * 16``
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
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
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