]> git.proxmox.com Git - ceph.git/blob - ceph/src/common/options/mds.yaml.in
compile with GCC 12 not 11
[ceph.git] / ceph / src / common / options / mds.yaml.in
1 # -*- mode: YAML -*-
2 ---
3
4 options:
5 - name: mds_alternate_name_max
6 type: size
7 level: advanced
8 desc: set the maximum length of alternate names for dentries
9 default: 8_K
10 services:
11 - mds
12 flags:
13 - runtime
14 - name: mds_fscrypt_last_block_max_size
15 type: size
16 level: advanced
17 desc: maximum size of the last block without the header along with a truncate
18 request when the fscrypt is enabled.
19 default: 4_K
20 services:
21 - mds
22 flags:
23 - runtime
24 - name: mds_valgrind_exit
25 type: bool
26 level: dev
27 default: false
28 services:
29 - mds
30 flags:
31 - runtime
32 - name: mds_standby_replay_damaged
33 type: bool
34 level: dev
35 default: false
36 flags:
37 - runtime
38 - name: mds_numa_node
39 type: int
40 level: advanced
41 desc: set mds's cpu affinity to a numa node (-1 for none)
42 default: -1
43 services:
44 - mds
45 flags:
46 - startup
47 - name: mds_data
48 type: str
49 level: advanced
50 desc: path to MDS data and keyring
51 default: /var/lib/ceph/mds/$cluster-$id
52 services:
53 - mds
54 flags:
55 - no_mon_update
56 with_legacy: true
57 - name: mds_join_fs
58 type: str
59 level: basic
60 desc: file system MDS prefers to join
61 long_desc: This setting indicates which file system name the MDS should prefer to
62 join (affinity). The monitors will try to have the MDS cluster safely reach a
63 state where all MDS have strong affinity, even via failovers to a standby.
64 services:
65 - mds
66 flags:
67 - runtime
68 # max xattr kv pairs size for each dir/file
69 - name: mds_max_xattr_pairs_size
70 type: size
71 level: advanced
72 desc: maximum aggregate size of extended attributes on a file
73 default: 64_K
74 services:
75 - mds
76 with_legacy: true
77 - name: mds_cache_trim_interval
78 type: secs
79 level: advanced
80 desc: interval in seconds between cache trimming
81 default: 1
82 services:
83 - mds
84 flags:
85 - runtime
86 - name: mds_cache_release_free_interval
87 type: secs
88 level: dev
89 desc: interval in seconds between heap releases
90 default: 10
91 services:
92 - mds
93 flags:
94 - runtime
95 - name: mds_cache_memory_limit
96 type: size
97 level: basic
98 desc: target maximum memory usage of MDS cache
99 long_desc: This sets a target maximum memory usage of the MDS cache and is the primary
100 tunable to limit the MDS memory usage. The MDS will try to stay under a reservation
101 of this limit (by default 95%; 1 - mds_cache_reservation) by trimming unused metadata
102 in its cache and recalling cached items in the client caches. It is possible for
103 the MDS to exceed this limit due to slow recall from clients. The mds_health_cache_threshold
104 (150%) sets a cache full threshold for when the MDS signals a cluster health warning.
105 default: 4_G
106 services:
107 - mds
108 flags:
109 - runtime
110 - name: mds_cache_reservation
111 type: float
112 level: advanced
113 desc: amount of memory to reserve for future cached objects
114 fmt_desc: The cache reservation (memory or inodes) for the MDS cache to maintain.
115 Once the MDS begins dipping into its reservation, it will recall
116 client state until its cache size shrinks to restore the
117 reservation.
118 default: 0.05
119 services:
120 - mds
121 flags:
122 - runtime
123 - name: mds_health_cache_threshold
124 type: float
125 level: advanced
126 desc: threshold for cache size to generate health warning
127 default: 1.5
128 services:
129 - mds
130 - name: mds_cache_mid
131 type: float
132 level: advanced
133 desc: midpoint for MDS cache LRU
134 fmt_desc: The insertion point for new items in the cache LRU
135 (from the top).
136 default: 0.7
137 services:
138 - mds
139 - name: mds_cache_trim_decay_rate
140 type: float
141 level: advanced
142 desc: decay rate for trimming MDS cache throttle
143 default: 1
144 services:
145 - mds
146 flags:
147 - runtime
148 - name: mds_cache_trim_threshold
149 type: size
150 level: advanced
151 desc: threshold for number of dentries that can be trimmed
152 default: 256_K
153 services:
154 - mds
155 flags:
156 - runtime
157 - name: mds_max_file_recover
158 type: uint
159 level: advanced
160 desc: maximum number of files to recover file sizes in parallel
161 default: 32
162 services:
163 - mds
164 with_legacy: true
165 - name: mds_dir_max_commit_size
166 type: int
167 level: advanced
168 desc: maximum size in megabytes for a RADOS write to a directory
169 fmt_desc: The maximum size of a directory update before Ceph breaks it into
170 smaller transactions (MB).
171 default: 10
172 services:
173 - mds
174 with_legacy: true
175 - name: mds_dir_keys_per_op
176 type: int
177 level: advanced
178 desc: number of directory entries to read in one RADOS operation
179 default: 16384
180 services:
181 - mds
182 with_legacy: true
183 - name: mds_decay_halflife
184 type: float
185 level: advanced
186 desc: rate of decay for temperature counters on each directory for balancing
187 default: 5
188 services:
189 - mds
190 with_legacy: true
191 - name: mds_beacon_interval
192 type: float
193 level: advanced
194 desc: interval in seconds between MDS beacon messages sent to monitors
195 default: 4
196 services:
197 - mds
198 with_legacy: true
199 - name: mds_beacon_grace
200 type: float
201 level: advanced
202 desc: tolerance in seconds for missed MDS beacons to monitors
203 fmt_desc: The interval without beacons before Ceph declares an MDS laggy
204 (and possibly replace it).
205 default: 15
206 services:
207 - mds
208 with_legacy: true
209 - name: mds_heartbeat_reset_grace
210 type: uint
211 level: advanced
212 desc: the basic unit of tolerance in how many circles in a loop, which will
213 keep running by holding the mds_lock, it must trigger to reset heartbeat
214 default: 1000
215 services:
216 - mds
217 - name: mds_heartbeat_grace
218 type: float
219 level: advanced
220 desc: tolerance in seconds for MDS internal heartbeat
221 default: 15
222 services:
223 - mds
224 - name: mds_enforce_unique_name
225 type: bool
226 level: advanced
227 desc: require MDS name is unique in the cluster
228 default: true
229 services:
230 - mds
231 with_legacy: true
232 # whether to blocklist clients whose sessions are dropped due to timeout
233 - name: mds_session_blocklist_on_timeout
234 type: bool
235 level: advanced
236 desc: blocklist clients whose sessions have become stale
237 default: true
238 services:
239 - mds
240 with_legacy: true
241 # whether to blocklist clients whose sessions are dropped via admin commands
242 - name: mds_session_blocklist_on_evict
243 type: bool
244 level: advanced
245 desc: blocklist clients that have been evicted
246 default: true
247 services:
248 - mds
249 with_legacy: true
250 # how many sessions should I try to load/store in a single OMAP operation?
251 - name: mds_sessionmap_keys_per_op
252 type: uint
253 level: advanced
254 desc: number of omap keys to read from the SessionMap in one operation
255 default: 1_K
256 services:
257 - mds
258 with_legacy: true
259 - name: mds_recall_max_caps
260 type: size
261 level: advanced
262 desc: maximum number of caps to recall from client session in single recall
263 default: 30000
264 services:
265 - mds
266 flags:
267 - runtime
268 - name: mds_recall_max_decay_rate
269 type: float
270 level: advanced
271 desc: decay rate for throttle on recalled caps on a session
272 default: 1.5
273 services:
274 - mds
275 flags:
276 - runtime
277 - name: mds_recall_max_decay_threshold
278 type: size
279 level: advanced
280 desc: decay threshold for throttle on recalled caps on a session
281 default: 128_K
282 services:
283 - mds
284 flags:
285 - runtime
286 - name: mds_recall_global_max_decay_threshold
287 type: size
288 level: advanced
289 desc: decay threshold for throttle on recalled caps globally
290 default: 128_K
291 services:
292 - mds
293 flags:
294 - runtime
295 - name: mds_recall_warning_threshold
296 type: size
297 level: advanced
298 desc: decay threshold for warning on slow session cap recall
299 default: 256_K
300 services:
301 - mds
302 flags:
303 - runtime
304 - name: mds_recall_warning_decay_rate
305 type: float
306 level: advanced
307 desc: decay rate for warning on slow session cap recall
308 default: 60
309 services:
310 - mds
311 flags:
312 - runtime
313 - name: mds_session_cache_liveness_decay_rate
314 type: float
315 level: advanced
316 desc: decay rate for session liveness leading to preemptive cap recall
317 long_desc: This determines how long a session needs to be quiescent before the MDS
318 begins preemptively recalling capabilities. The default of 5 minutes will cause
319 10 halvings of the decay counter after 1 hour, or 1/1024. The default magnitude
320 of 10 (1^10 or 1024) is chosen so that the MDS considers a previously chatty session
321 (approximately) to be quiescent after 1 hour.
322 default: 5_min
323 services:
324 - mds
325 see_also:
326 - mds_session_cache_liveness_magnitude
327 flags:
328 - runtime
329 - name: mds_session_cache_liveness_magnitude
330 type: size
331 level: advanced
332 desc: decay magnitude for preemptively recalling caps on quiet client
333 long_desc: This is the order of magnitude difference (in base 2) of the internal
334 liveness decay counter and the number of capabilities the session holds. When
335 this difference occurs, the MDS treats the session as quiescent and begins recalling
336 capabilities.
337 default: 10
338 services:
339 - mds
340 see_also:
341 - mds_session_cache_liveness_decay_rate
342 flags:
343 - runtime
344 - name: mds_session_cap_acquisition_decay_rate
345 type: float
346 level: advanced
347 desc: decay rate for session readdir caps leading to readdir throttle
348 long_desc: The half-life for the session cap acquisition counter of caps acquired
349 by readdir. This is used for throttling readdir requests from clients slow to
350 release caps.
351 default: 10
352 services:
353 - mds
354 flags:
355 - runtime
356 - name: mds_session_cap_acquisition_throttle
357 type: uint
358 level: advanced
359 desc: throttle point for cap acquisition decay counter
360 default: 500000
361 services:
362 - mds
363 - name: mds_session_max_caps_throttle_ratio
364 type: float
365 level: advanced
366 desc: ratio of mds_max_caps_per_client that client must exceed before readdir may
367 be throttled by cap acquisition throttle
368 default: 1.1
369 services:
370 - mds
371 - name: mds_cap_acquisition_throttle_retry_request_timeout
372 type: float
373 level: advanced
374 desc: timeout in seconds after which a client request is retried due to cap acquisition
375 throttling
376 default: 0.5
377 services:
378 - mds
379 # detecting freeze tree deadlock
380 - name: mds_freeze_tree_timeout
381 type: float
382 level: dev
383 default: 30
384 services:
385 - mds
386 with_legacy: true
387 # collapse N-client health metrics to a single 'many'
388 - name: mds_health_summarize_threshold
389 type: int
390 level: advanced
391 desc: threshold of number of clients to summarize late client recall
392 default: 10
393 services:
394 - mds
395 with_legacy: true
396 # seconds to wait for clients during mds restart
397 # make it (mdsmap.session_timeout - mds_beacon_grace)
398 - name: mds_reconnect_timeout
399 type: float
400 level: advanced
401 desc: timeout in seconds to wait for clients to reconnect during MDS reconnect recovery
402 state
403 default: 45
404 services:
405 - mds
406 with_legacy: true
407 - name: mds_deny_all_reconnect
408 type: bool
409 level: advanced
410 desc: flag to deny all client reconnects during failover
411 default: false
412 services:
413 - mds
414 flags:
415 - runtime
416 - name: mds_dir_prefetch
417 type: bool
418 level: advanced
419 desc: flag to prefetch entire dir
420 default: true
421 services:
422 - mds
423 flags:
424 - runtime
425 - name: mds_tick_interval
426 type: float
427 level: advanced
428 desc: time in seconds between upkeep tasks
429 fmt_desc: How frequently the MDS performs internal periodic tasks.
430 default: 5
431 services:
432 - mds
433 with_legacy: true
434 # try to avoid propagating more often than this
435 - name: mds_dirstat_min_interval
436 type: float
437 level: dev
438 default: 1
439 services:
440 - mds
441 fmt_desc: The minimum interval (in seconds) to try to avoid propagating
442 recursive stats up the tree.
443 with_legacy: true
444 # how quickly dirstat changes propagate up the hierarchy
445 - name: mds_scatter_nudge_interval
446 type: float
447 level: advanced
448 desc: minimum interval between scatter lock updates
449 fmt_desc: How quickly dirstat changes propagate up.
450 default: 5
451 services:
452 - mds
453 with_legacy: true
454 - name: mds_client_prealloc_inos
455 type: int
456 level: advanced
457 desc: number of unused inodes to pre-allocate to clients for file creation
458 fmt_desc: The number of inode numbers to preallocate per client session.
459 default: 1000
460 services:
461 - mds
462 with_legacy: true
463 - name: mds_client_delegate_inos_pct
464 type: uint
465 level: advanced
466 desc: percentage of preallocated inos to delegate to client
467 default: 50
468 services:
469 - mds
470 flags:
471 - runtime
472 - name: mds_early_reply
473 type: bool
474 level: advanced
475 desc: additional reply to clients that metadata requests are complete but not yet
476 durable
477 fmt_desc: Determines whether the MDS should allow clients to see request
478 results before they commit to the journal.
479 default: true
480 services:
481 - mds
482 with_legacy: true
483 - name: mds_replay_unsafe_with_closed_session
484 type: bool
485 level: advanced
486 desc: complete all the replay request when mds is restarted, no matter the session
487 is closed or not
488 default: false
489 services:
490 - mds
491 flags:
492 - startup
493 - name: mds_default_dir_hash
494 type: int
495 level: advanced
496 desc: hash function to select directory fragment for dentry name
497 fmt_desc: The function to use for hashing files across directory fragments.
498 # CEPH_STR_HASH_RJENKINS
499 default: 2
500 services:
501 - mds
502 with_legacy: true
503 - name: mds_log_pause
504 type: bool
505 level: dev
506 default: false
507 services:
508 - mds
509 with_legacy: true
510 - name: mds_log_skip_corrupt_events
511 type: bool
512 level: dev
513 default: false
514 services:
515 - mds
516 fmt_desc: Determines whether the MDS should try to skip corrupt journal
517 events during journal replay.
518 with_legacy: true
519 - name: mds_log_max_events
520 type: int
521 level: advanced
522 desc: maximum number of events in the MDS journal (-1 is unlimited)
523 fmt_desc: The maximum events in the journal before we initiate trimming.
524 Set to ``-1`` to disable limits.
525 default: -1
526 services:
527 - mds
528 with_legacy: true
529 - name: mds_log_events_per_segment
530 type: int
531 level: advanced
532 desc: maximum number of events in an MDS journal segment
533 default: 1024
534 services:
535 - mds
536 with_legacy: true
537 # segment size for mds log, default to default file_layout_t
538 - name: mds_log_segment_size
539 type: size
540 level: advanced
541 desc: size in bytes of each MDS log segment
542 default: 0
543 services:
544 - mds
545 with_legacy: true
546 - name: mds_log_max_segments
547 type: uint
548 level: advanced
549 desc: maximum number of segments which may be untrimmed
550 fmt_desc: The maximum number of segments (objects) in the journal before
551 we initiate trimming. Set to ``-1`` to disable limits.
552 default: 128
553 services:
554 - mds
555 with_legacy: true
556 - name: mds_log_warn_factor
557 type: float
558 level: advanced
559 desc: trigger MDS_HEALTH_TRIM warning when the mds log is longer than mds_log_max_segments
560 * mds_log_warn_factor
561 default: 2
562 services:
563 - mds
564 min: 1
565 flags:
566 - runtime
567 - name: mds_bal_export_pin
568 type: bool
569 level: advanced
570 desc: allow setting directory export pins to particular ranks
571 default: true
572 services:
573 - mds
574 with_legacy: true
575 - name: mds_export_ephemeral_random
576 type: bool
577 level: advanced
578 desc: allow ephemeral random pinning of the loaded subtrees
579 long_desc: probabilistically pin the loaded directory inode and the subtree beneath
580 it to an MDS based on the consistent hash of the inode number. The higher this
581 value the more likely the loaded subtrees get pinned
582 default: true
583 services:
584 - mds
585 flags:
586 - runtime
587 - name: mds_export_ephemeral_random_max
588 type: float
589 level: advanced
590 desc: the maximum percent permitted for random ephemeral pin policy
591 default: 0.01
592 services:
593 - mds
594 see_also:
595 - mds_export_ephemeral_random
596 min: 0
597 max: 1
598 flags:
599 - runtime
600 - name: mds_export_ephemeral_distributed
601 type: bool
602 level: advanced
603 desc: allow ephemeral distributed pinning of the loaded subtrees
604 long_desc: 'pin the immediate child directories of the loaded directory inode based
605 on the consistent hash of the child''s inode number. '
606 default: true
607 services:
608 - mds
609 flags:
610 - runtime
611 - name: mds_export_ephemeral_distributed_factor
612 type: float
613 level: advanced
614 desc: multiple of max_mds for splitting and distributing directory
615 default: 2
616 services:
617 - mds
618 min: 1
619 max: 100
620 flags:
621 - runtime
622 - name: mds_bal_sample_interval
623 type: float
624 level: advanced
625 desc: interval in seconds between balancer ticks
626 fmt_desc: Determines how frequently to sample directory temperature
627 (for fragmentation decisions).
628 default: 3
629 services:
630 - mds
631 with_legacy: true
632 - name: mds_bal_replicate_threshold
633 type: float
634 level: advanced
635 desc: hot popularity threshold to replicate a subtree
636 fmt_desc: The minimum temperature before Ceph attempts to replicate
637 metadata to other nodes.
638 default: 8000
639 services:
640 - mds
641 with_legacy: true
642 - name: mds_bal_unreplicate_threshold
643 type: float
644 level: advanced
645 desc: cold popularity threshold to merge subtrees
646 fmt_desc: The minimum temperature before Ceph stops replicating
647 metadata to other nodes.
648 default: 0
649 services:
650 - mds
651 with_legacy: true
652 - name: mds_bal_split_size
653 type: int
654 level: advanced
655 desc: minimum size of directory fragment before splitting
656 fmt_desc: The maximum directory size before the MDS will split a directory
657 fragment into smaller bits.
658 default: 10000
659 services:
660 - mds
661 with_legacy: true
662 - name: mds_bal_split_rd
663 type: float
664 level: advanced
665 desc: hot read popularity threshold for splitting a directory fragment
666 fmt_desc: The maximum directory read temperature before Ceph splits
667 a directory fragment.
668 default: 25000
669 services:
670 - mds
671 with_legacy: true
672 - name: mds_bal_split_wr
673 type: float
674 level: advanced
675 desc: hot write popularity threshold for splitting a directory fragment
676 fmt_desc: The maximum directory write temperature before Ceph splits
677 a directory fragment.
678 default: 10000
679 services:
680 - mds
681 with_legacy: true
682 - name: mds_bal_split_bits
683 type: int
684 level: advanced
685 desc: power of two child fragments for a fragment on split
686 fmt_desc: The number of bits by which to split a directory fragment.
687 default: 3
688 services:
689 - mds
690 min: 1
691 max: 24
692 with_legacy: true
693 - name: mds_bal_merge_size
694 type: int
695 level: advanced
696 desc: size of fragments where merging should occur
697 fmt_desc: The minimum directory size before Ceph tries to merge
698 adjacent directory fragments.
699 default: 50
700 services:
701 - mds
702 with_legacy: true
703 - name: mds_bal_interval
704 type: int
705 level: advanced
706 desc: interval between MDS balancer cycles
707 fmt_desc: The frequency (in seconds) of workload exchanges between MDSs.
708 default: 10
709 services:
710 - mds
711 - name: mds_bal_fragment_interval
712 type: int
713 level: advanced
714 desc: delay in seconds before interrupting client IO to perform splits
715 fmt_desc: The delay (in seconds) between a fragment being eligible for split
716 or merge and executing the fragmentation change.
717 default: 5
718 services:
719 - mds
720 # order of magnitude higher than split size
721 - name: mds_bal_fragment_size_max
722 type: int
723 level: advanced
724 desc: maximum size of a directory fragment before new creat/links fail
725 fmt_desc: The maximum size of a fragment before any new entries
726 are rejected with ENOSPC.
727 default: 100000
728 services:
729 - mds
730 with_legacy: true
731 # multiple of size_max that triggers immediate split
732 - name: mds_bal_fragment_fast_factor
733 type: float
734 level: advanced
735 desc: ratio of mds_bal_split_size at which fast fragment splitting occurs
736 fmt_desc: The ratio by which frags may exceed the split size before
737 a split is executed immediately (skipping the fragment interval)
738 default: 1.5
739 services:
740 - mds
741 with_legacy: true
742 - name: mds_bal_fragment_dirs
743 type: bool
744 level: advanced
745 desc: enable directory fragmentation
746 long_desc: Directory fragmentation is a standard feature of CephFS that allows sharding
747 directories across multiple objects for performance and stability. Additionally,
748 this allows fragments to be distributed across multiple active MDSs to increase
749 throughput. Disabling (new) fragmentation should only be done in exceptional circumstances
750 and may lead to performance issues.
751 default: true
752 services:
753 - mds
754 - name: mds_bal_idle_threshold
755 type: float
756 level: advanced
757 desc: idle metadata popularity threshold before rebalancing
758 fmt_desc: The minimum temperature before Ceph migrates a subtree
759 back to its parent.
760 default: 0
761 services:
762 - mds
763 with_legacy: true
764 - name: mds_bal_max
765 type: int
766 level: dev
767 default: -1
768 services:
769 - mds
770 fmt_desc: The number of iterations to run balancer before Ceph stops.
771 (used for testing purposes only)
772 with_legacy: true
773 - name: mds_bal_max_until
774 type: int
775 level: dev
776 default: -1
777 services:
778 - mds
779 fmt_desc: The number of seconds to run balancer before Ceph stops.
780 (used for testing purposes only)
781 with_legacy: true
782 - name: mds_bal_mode
783 type: int
784 level: dev
785 default: 0
786 services:
787 - mds
788 fmt_desc: |
789 The method for calculating MDS load.
790
791 - ``0`` = Hybrid.
792 - ``1`` = Request rate and latency.
793 - ``2`` = CPU load.
794 with_legacy: true
795 # must be this much above average before we export anything
796 - name: mds_bal_min_rebalance
797 type: float
798 level: dev
799 desc: amount overloaded over internal target before balancer begins offloading
800 fmt_desc: The minimum subtree temperature before Ceph migrates.
801 default: 0.1
802 services:
803 - mds
804 with_legacy: true
805 # if we need less than this, we don't do anything
806 - name: mds_bal_min_start
807 type: float
808 level: dev
809 default: 0.2
810 services:
811 - mds
812 fmt_desc: The minimum subtree temperature before Ceph searches a subtree.
813 with_legacy: true
814 # take within this range of what we need
815 - name: mds_bal_need_min
816 type: float
817 level: dev
818 default: 0.8
819 services:
820 - mds
821 fmt_desc: The minimum fraction of target subtree size to accept.
822 with_legacy: true
823 - name: mds_bal_need_max
824 type: float
825 level: dev
826 default: 1.2
827 services:
828 - mds
829 fmt_desc: The maximum fraction of target subtree size to accept.
830 with_legacy: true
831 # any sub bigger than this taken in full
832 - name: mds_bal_midchunk
833 type: float
834 level: dev
835 default: 0.3
836 services:
837 - mds
838 fmt_desc: Ceph will migrate any subtree that is larger than this fraction
839 of the target subtree size.
840 with_legacy: true
841 # never take anything smaller than this
842 - name: mds_bal_minchunk
843 type: float
844 level: dev
845 default: 0.001
846 services:
847 - mds
848 fmt_desc: Ceph will ignore any subtree that is smaller than this fraction
849 of the target subtree size.
850 with_legacy: true
851 # target decay half-life in MDSMap (2x larger is approx. 2x slower)
852 - name: mds_bal_target_decay
853 type: float
854 level: advanced
855 desc: rate of decay for export targets communicated to clients
856 default: 10
857 services:
858 - mds
859 with_legacy: true
860 - name: mds_oft_prefetch_dirfrags
861 type: bool
862 level: advanced
863 desc: prefetch dirfrags recorded in open file table on startup
864 default: false
865 services:
866 - mds
867 flags:
868 - startup
869 # time to wait before starting replay again
870 - name: mds_replay_interval
871 type: float
872 level: advanced
873 desc: time in seconds between replay of updates to journal by standby replay MDS
874 fmt_desc: The journal poll interval when in standby-replay mode.
875 ("hot standby")
876 default: 1
877 services:
878 - mds
879 with_legacy: true
880 - name: mds_shutdown_check
881 type: int
882 level: dev
883 default: 0
884 services:
885 - mds
886 fmt_desc: The interval for polling the cache during MDS shutdown.
887 with_legacy: true
888 - name: mds_thrash_exports
889 type: int
890 level: dev
891 default: 0
892 services:
893 - mds
894 fmt_desc: Ceph will randomly export subtrees between nodes (testing only).
895 with_legacy: true
896 - name: mds_thrash_fragments
897 type: int
898 level: dev
899 default: 0
900 services:
901 - mds
902 fmt_desc: Ceph will randomly fragment or merge directories.
903 with_legacy: true
904 - name: mds_dump_cache_on_map
905 type: bool
906 level: dev
907 default: false
908 services:
909 - mds
910 fmt_desc: Ceph will dump the MDS cache contents to a file on each MDSMap.
911 with_legacy: true
912 - name: mds_dump_cache_after_rejoin
913 type: bool
914 level: dev
915 default: false
916 services:
917 - mds
918 fmt_desc: Ceph will dump MDS cache contents to a file after
919 rejoining the cache (during recovery).
920 with_legacy: true
921 - name: mds_verify_scatter
922 type: bool
923 level: dev
924 default: false
925 services:
926 - mds
927 fmt_desc: Ceph will assert that various scatter/gather invariants
928 are ``true`` (developers only).
929 with_legacy: true
930 - name: mds_debug_scatterstat
931 type: bool
932 level: dev
933 default: false
934 services:
935 - mds
936 fmt_desc: Ceph will assert that various recursive stat invariants
937 are ``true`` (for developers only).
938 with_legacy: true
939 - name: mds_debug_frag
940 type: bool
941 level: dev
942 default: false
943 services:
944 - mds
945 fmt_desc: Ceph will verify directory fragmentation invariants
946 when convenient (developers only).
947 with_legacy: true
948 - name: mds_debug_auth_pins
949 type: bool
950 level: dev
951 default: false
952 services:
953 - mds
954 fmt_desc: The debug auth pin invariants (for developers only).
955 with_legacy: true
956 - name: mds_debug_subtrees
957 type: bool
958 level: dev
959 default: false
960 services:
961 - mds
962 fmt_desc: The debug subtree invariants (for developers only).
963 with_legacy: true
964 - name: mds_abort_on_newly_corrupt_dentry
965 type: bool
966 level: advanced
967 default: true
968 services:
969 - mds
970 fmt_desc: MDS will abort if dentry is detected newly corrupted.
971 - name: mds_go_bad_corrupt_dentry
972 type: bool
973 level: advanced
974 default: true
975 services:
976 - mds
977 fmt_desc: MDS will mark a corrupt dentry as bad and isolate
978 flags:
979 - runtime
980 - name: mds_inject_rename_corrupt_dentry_first
981 type: float
982 level: dev
983 default: 0.0
984 services:
985 - mds
986 fmt_desc: probabilistically inject corrupt CDentry::first at rename
987 flags:
988 - runtime
989 - name: mds_inject_journal_corrupt_dentry_first
990 type: float
991 level: dev
992 default: 0.0
993 services:
994 - mds
995 fmt_desc: probabilistically inject corrupt CDentry::first at journal load
996 flags:
997 - runtime
998 - name: mds_kill_mdstable_at
999 type: int
1000 level: dev
1001 default: 0
1002 services:
1003 - mds
1004 fmt_desc: Ceph will inject MDS failure in MDSTable code
1005 (for developers only).
1006 with_legacy: true
1007 - name: mds_max_export_size
1008 type: size
1009 level: dev
1010 default: 20_M
1011 services:
1012 - mds
1013 - name: mds_kill_export_at
1014 type: int
1015 level: dev
1016 default: 0
1017 services:
1018 - mds
1019 fmt_desc: Ceph will inject MDS failure in the subtree export code
1020 (for developers only).
1021 with_legacy: true
1022 - name: mds_kill_import_at
1023 type: int
1024 level: dev
1025 default: 0
1026 services:
1027 - mds
1028 fmt_desc: Ceph will inject MDS failure in the subtree import code
1029 (for developers only).
1030 with_legacy: true
1031 - name: mds_kill_link_at
1032 type: int
1033 level: dev
1034 default: 0
1035 services:
1036 - mds
1037 fmt_desc: Ceph will inject MDS failure in hard link code
1038 (for developers only).
1039 with_legacy: true
1040 - name: mds_kill_rename_at
1041 type: int
1042 level: dev
1043 default: 0
1044 services:
1045 - mds
1046 fmt_desc: Ceph will inject MDS failure in the rename code
1047 (for developers only).
1048 with_legacy: true
1049 - name: mds_kill_openc_at
1050 type: int
1051 level: dev
1052 default: 0
1053 services:
1054 - mds
1055 with_legacy: true
1056 # XXX
1057 - name: mds_kill_journal_at
1058 type: int
1059 level: dev
1060 default: 0
1061 services:
1062 - mds
1063 - name: mds_kill_journal_expire_at
1064 type: int
1065 level: dev
1066 default: 0
1067 services:
1068 - mds
1069 with_legacy: true
1070 - name: mds_kill_journal_replay_at
1071 type: int
1072 level: dev
1073 default: 0
1074 services:
1075 - mds
1076 with_legacy: true
1077 - name: mds_journal_format
1078 type: uint
1079 level: dev
1080 default: 1
1081 services:
1082 - mds
1083 with_legacy: true
1084 - name: mds_kill_create_at
1085 type: int
1086 level: dev
1087 default: 0
1088 services:
1089 - mds
1090 with_legacy: true
1091 - name: mds_inject_health_dummy
1092 type: bool
1093 level: dev
1094 default: false
1095 services:
1096 - mds
1097 # percentage of MDS modify replies to skip sending the client a trace on [0-1]
1098 - name: mds_inject_traceless_reply_probability
1099 type: float
1100 level: dev
1101 default: 0
1102 services:
1103 - mds
1104 with_legacy: true
1105 - name: mds_wipe_sessions
1106 type: bool
1107 level: dev
1108 default: false
1109 services:
1110 - mds
1111 fmt_desc: Ceph will delete all client sessions on startup
1112 (for testing only).
1113 with_legacy: true
1114 - name: mds_wipe_ino_prealloc
1115 type: bool
1116 level: dev
1117 default: false
1118 services:
1119 - mds
1120 fmt_desc: Ceph will delete ino preallocation metadata on startup
1121 (for testing only).
1122 with_legacy: true
1123 - name: mds_skip_ino
1124 type: int
1125 level: dev
1126 default: 0
1127 services:
1128 - mds
1129 fmt_desc: The number of inode numbers to skip on startup
1130 (for testing only).
1131 with_legacy: true
1132 - name: mds_enable_op_tracker
1133 type: bool
1134 level: advanced
1135 desc: track remote operation progression and statistics
1136 default: true
1137 services:
1138 - mds
1139 with_legacy: true
1140 # Max number of completed ops to track
1141 - name: mds_op_history_size
1142 type: uint
1143 level: advanced
1144 desc: maximum size for list of historical operations
1145 default: 20
1146 services:
1147 - mds
1148 with_legacy: true
1149 # Oldest completed op to track
1150 - name: mds_op_history_duration
1151 type: uint
1152 level: advanced
1153 desc: expiration time in seconds of historical operations
1154 default: 600
1155 services:
1156 - mds
1157 with_legacy: true
1158 # how many seconds old makes an op complaint-worthy
1159 - name: mds_op_complaint_time
1160 type: float
1161 level: advanced
1162 desc: time in seconds to consider an operation blocked after no updates
1163 default: 30
1164 services:
1165 - mds
1166 with_legacy: true
1167 # how many op log messages to show in one go
1168 - name: mds_op_log_threshold
1169 type: int
1170 level: dev
1171 default: 5
1172 services:
1173 - mds
1174 with_legacy: true
1175 - name: mds_snap_min_uid
1176 type: uint
1177 level: advanced
1178 desc: minimum uid of client to perform snapshots
1179 default: 0
1180 services:
1181 - mds
1182 with_legacy: true
1183 - name: mds_snap_max_uid
1184 type: uint
1185 level: advanced
1186 desc: maximum uid of client to perform snapshots
1187 default: 4294967294
1188 services:
1189 - mds
1190 with_legacy: true
1191 - name: mds_snap_rstat
1192 type: bool
1193 level: advanced
1194 desc: enabled nested rstat for snapshots
1195 default: false
1196 services:
1197 - mds
1198 with_legacy: true
1199 - name: mds_verify_backtrace
1200 type: uint
1201 level: dev
1202 default: 1
1203 services:
1204 - mds
1205 with_legacy: true
1206 # detect clients which aren't trimming completed requests
1207 - name: mds_max_completed_flushes
1208 type: uint
1209 level: dev
1210 default: 100000
1211 services:
1212 - mds
1213 with_legacy: true
1214 - name: mds_max_completed_requests
1215 type: uint
1216 level: dev
1217 default: 100000
1218 services:
1219 - mds
1220 with_legacy: true
1221 - name: mds_action_on_write_error
1222 type: uint
1223 level: advanced
1224 desc: action to take when MDS cannot write to RADOS (0:ignore, 1:read-only, 2:suicide)
1225 default: 1
1226 services:
1227 - mds
1228 with_legacy: true
1229 - name: mds_mon_shutdown_timeout
1230 type: float
1231 level: advanced
1232 desc: time to wait for mon to receive damaged MDS rank notification
1233 default: 5
1234 services:
1235 - mds
1236 with_legacy: true
1237 # Maximum number of concurrent stray files to purge
1238 - name: mds_max_purge_files
1239 type: uint
1240 level: advanced
1241 desc: maximum number of deleted files to purge in parallel
1242 default: 64
1243 services:
1244 - mds
1245 with_legacy: true
1246 # Maximum number of concurrent RADOS ops to issue in purging
1247 - name: mds_max_purge_ops
1248 type: uint
1249 level: advanced
1250 desc: maximum number of purge operations performed in parallel
1251 default: 8_K
1252 services:
1253 - mds
1254 with_legacy: true
1255 # Maximum number of concurrent RADOS ops to issue in purging, scaled by PG count
1256 - name: mds_max_purge_ops_per_pg
1257 type: float
1258 level: advanced
1259 desc: number of parallel purge operations performed per PG
1260 default: 0.5
1261 services:
1262 - mds
1263 with_legacy: true
1264 - name: mds_purge_queue_busy_flush_period
1265 type: float
1266 level: dev
1267 default: 1
1268 services:
1269 - mds
1270 with_legacy: true
1271 - name: mds_root_ino_uid
1272 type: int
1273 level: advanced
1274 desc: default uid for new root directory
1275 default: 0
1276 services:
1277 - mds
1278 with_legacy: true
1279 - name: mds_root_ino_gid
1280 type: int
1281 level: advanced
1282 desc: default gid for new root directory
1283 default: 0
1284 services:
1285 - mds
1286 with_legacy: true
1287 - name: mds_max_scrub_ops_in_progress
1288 type: int
1289 level: advanced
1290 desc: maximum number of scrub operations performed in parallel
1291 default: 5
1292 services:
1293 - mds
1294 with_legacy: true
1295 - name: mds_forward_all_requests_to_auth
1296 type: bool
1297 level: advanced
1298 desc: always process op on auth mds
1299 default: false
1300 services:
1301 - mds
1302 flags:
1303 - runtime
1304 # Maximum number of damaged frags/dentries before whole MDS rank goes damaged
1305 - name: mds_damage_table_max_entries
1306 type: int
1307 level: advanced
1308 desc: maximum number of damage table entries
1309 default: 10000
1310 services:
1311 - mds
1312 with_legacy: true
1313 # Maximum increment for client writable range, counted by number of objects
1314 - name: mds_client_writeable_range_max_inc_objs
1315 type: uint
1316 level: advanced
1317 desc: maximum number of objects in writeable range of a file for a client
1318 default: 1_K
1319 services:
1320 - mds
1321 with_legacy: true
1322 - name: mds_min_caps_per_client
1323 type: uint
1324 level: advanced
1325 desc: minimum number of capabilities a client may hold
1326 default: 100
1327 services:
1328 - mds
1329 - name: mds_min_caps_working_set
1330 type: uint
1331 level: advanced
1332 desc: number of capabilities a client may hold without cache pressure warnings generated
1333 default: 10000
1334 services:
1335 - mds
1336 flags:
1337 - runtime
1338 - name: mds_max_caps_per_client
1339 type: uint
1340 level: advanced
1341 desc: maximum number of capabilities a client may hold
1342 default: 1_M
1343 services:
1344 - mds
1345 - name: mds_hack_allow_loading_invalid_metadata
1346 type: bool
1347 level: advanced
1348 desc: INTENTIONALLY CAUSE DATA LOSS by bypasing checks for invalid metadata on disk.
1349 Allows testing repair tools.
1350 default: false
1351 services:
1352 - mds
1353 - name: mds_defer_session_stale
1354 type: bool
1355 level: dev
1356 default: true
1357 services:
1358 - mds
1359 - name: mds_inject_migrator_session_race
1360 type: bool
1361 level: dev
1362 default: false
1363 services:
1364 - mds
1365 - name: mds_request_load_average_decay_rate
1366 type: float
1367 level: advanced
1368 desc: rate of decay in seconds for calculating request load average
1369 default: 1_min
1370 services:
1371 - mds
1372 - name: mds_cap_revoke_eviction_timeout
1373 type: float
1374 level: advanced
1375 desc: number of seconds after which clients which have not responded to cap revoke
1376 messages by the MDS are evicted.
1377 default: 0
1378 services:
1379 - mds
1380 - name: mds_dump_cache_threshold_formatter
1381 type: size
1382 level: dev
1383 desc: threshold for cache usage to disallow "dump cache" operation to formatter
1384 long_desc: Disallow MDS from dumping caches to formatter via "dump cache" command
1385 if cache usage exceeds this threshold.
1386 default: 1_G
1387 services:
1388 - mds
1389 - name: mds_dump_cache_threshold_file
1390 type: size
1391 level: dev
1392 desc: threshold for cache usage to disallow "dump cache" operation to file
1393 long_desc: Disallow MDS from dumping caches to file via "dump cache" command if
1394 cache usage exceeds this threshold.
1395 default: 0
1396 services:
1397 - mds
1398 - name: mds_task_status_update_interval
1399 type: float
1400 level: dev
1401 desc: task status update interval to manager
1402 long_desc: interval (in seconds) for sending mds task status to ceph manager
1403 default: 2
1404 services:
1405 - mds
1406 - name: mds_max_snaps_per_dir
1407 type: uint
1408 level: advanced
1409 desc: max snapshots per directory
1410 long_desc: maximum number of snapshots that can be created per directory
1411 default: 100
1412 services:
1413 - mds
1414 min: 0
1415 max: 4_K
1416 flags:
1417 - runtime
1418 - name: mds_asio_thread_count
1419 type: uint
1420 level: advanced
1421 desc: Size of thread pool for ASIO completions
1422 default: 2
1423 tags:
1424 - mds
1425 services:
1426 - mds
1427 min: 1
1428 - name: mds_ping_grace
1429 type: secs
1430 level: advanced
1431 desc: timeout after which an MDS is considered laggy by rank 0 MDS.
1432 long_desc: timeout for replying to a ping message sent by rank 0 after which an
1433 active MDS considered laggy (delayed metrics) by rank 0.
1434 default: 15
1435 services:
1436 - mds
1437 flags:
1438 - runtime
1439 - name: mds_ping_interval
1440 type: secs
1441 level: advanced
1442 desc: interval in seconds for sending ping messages to active MDSs.
1443 long_desc: interval in seconds for rank 0 to send ping messages to all active MDSs.
1444 default: 5
1445 services:
1446 - mds
1447 flags:
1448 - runtime
1449 - name: mds_metrics_update_interval
1450 type: secs
1451 level: advanced
1452 desc: interval in seconds for metrics data update.
1453 long_desc: interval in seconds after which active MDSs send client metrics data
1454 to rank 0.
1455 default: 2
1456 services:
1457 - mds
1458 flags:
1459 - runtime
1460 - name: mds_dir_max_entries
1461 type: uint
1462 level: advanced
1463 desc: maximum number of entries per directory before new creat/links fail
1464 long_desc: The maximum number of entries before any new entries
1465 are rejected with ENOSPC.
1466 default: 0
1467 services:
1468 - mds
1469 flags:
1470 - runtime
1471 - name: mds_sleep_rank_change
1472 type: float
1473 level: dev
1474 default: 0.0
1475 flags:
1476 - runtime
1477 - name: mds_connect_bootstrapping
1478 type: bool
1479 level: dev
1480 default: false
1481 flags:
1482 - runtime
1483 - name: mds_symlink_recovery
1484 type: bool
1485 level: advanced
1486 desc: Stores symlink target on the first data object of symlink file.
1487 Allows recover of symlink using recovery tools.
1488 default: true
1489 services:
1490 - mds
1491 flags:
1492 - runtime
1493 - name: mds_extraordinary_events_dump_interval
1494 type: secs
1495 level: advanced
1496 desc: Interval in seconds for dumping the recent in-memory logs when there is an extra-ordinary event.
1497 long_desc: Interval in seconds for dumping the recent in-memory logs when there is an extra-ordinary
1498 event. The default is ``0`` (disabled). The log level should be ``< 10`` and the gather level
1499 should be ``>=10`` in debug_mds for enabling this option.
1500 default: 0
1501 min: 0
1502 max: 60
1503 services:
1504 - mds
1505 flags:
1506 - runtime