]>
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. | |
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 |