Add a pristine stretch and buster lvm.conf as a template for some lvm reconciliation...
[mirror/dsa-puppet.git] / modules / lvm / templates / lvm.conf-buster.erb
1 # This is an example configuration file for the LVM2 system.
2 # It contains the default settings that would be used if there was no
3 # /etc/lvm/lvm.conf file.
4 #
5 # Refer to 'man lvm.conf' for further information including the file layout.
6 #
7 # Refer to 'man lvm.conf' for information about how settings configured in
8 # this file are combined with built-in values and command line options to
9 # arrive at the final values used by LVM.
10 #
11 # Refer to 'man lvmconfig' for information about displaying the built-in
12 # and configured values used by LVM.
13 #
14 # If a default value is set in this file (not commented out), then a
15 # new version of LVM using this file will continue using that value,
16 # even if the new version of LVM changes the built-in default value.
17 #
18 # To put this file in a different directory and override /etc/lvm set
19 # the environment variable LVM_SYSTEM_DIR before running the tools.
20 #
21 # N.B. Take care that each setting only appears once if uncommenting
22 # example settings in this file.
23
24
25 # Configuration section config.
26 # How LVM configuration settings are handled.
27 config {
28
29         # Configuration option config/checks.
30         # If enabled, any LVM configuration mismatch is reported.
31         # This implies checking that the configuration key is understood by
32         # LVM and that the value of the key is the proper type. If disabled,
33         # any configuration mismatch is ignored and the default value is used
34         # without any warning (a message about the configuration key not being
35         # found is issued in verbose mode only).
36         checks = 1
37
38         # Configuration option config/abort_on_errors.
39         # Abort the LVM process if a configuration mismatch is found.
40         abort_on_errors = 0
41
42         # Configuration option config/profile_dir.
43         # Directory where LVM looks for configuration profiles.
44         profile_dir = "/etc/lvm/profile"
45 }
46
47 # Configuration section devices.
48 # How LVM uses block devices.
49 devices {
50
51         # Configuration option devices/dir.
52         # Directory in which to create volume group device nodes.
53         # Commands also accept this as a prefix on volume group names.
54         # This configuration option is advanced.
55         dir = "/dev"
56
57         # Configuration option devices/scan.
58         # Directories containing device nodes to use with LVM.
59         # This configuration option is advanced.
60         scan = [ "/dev" ]
61
62         # Configuration option devices/obtain_device_list_from_udev.
63         # Obtain the list of available devices from udev.
64         # This avoids opening or using any inapplicable non-block devices or
65         # subdirectories found in the udev directory. Any device node or
66         # symlink not managed by udev in the udev directory is ignored. This
67         # setting applies only to the udev-managed device directory; other
68         # directories will be scanned fully. LVM needs to be compiled with
69         # udev support for this setting to apply.
70         obtain_device_list_from_udev = 1
71
72         # Configuration option devices/external_device_info_source.
73         # Select an external device information source.
74         # Some information may already be available in the system and LVM can
75         # use this information to determine the exact type or use of devices it
76         # processes. Using an existing external device information source can
77         # speed up device processing as LVM does not need to run its own native
78         # routines to acquire this information. For example, this information
79         # is used to drive LVM filtering like MD component detection, multipath
80         # component detection, partition detection and others.
81         # 
82         # Accepted values:
83         #   none
84         #     No external device information source is used.
85         #   udev
86         #     Reuse existing udev database records. Applicable only if LVM is
87         #     compiled with udev support.
88         # 
89         external_device_info_source = "none"
90
91         # Configuration option devices/preferred_names.
92         # Select which path name to display for a block device.
93         # If multiple path names exist for a block device, and LVM needs to
94         # display a name for the device, the path names are matched against
95         # each item in this list of regular expressions. The first match is
96         # used. Try to avoid using undescriptive /dev/dm-N names, if present.
97         # If no preferred name matches, or if preferred_names are not defined,
98         # the following built-in preferences are applied in order until one
99         # produces a preferred name:
100         # Prefer names with path prefixes in the order of:
101         # /dev/mapper, /dev/disk, /dev/dm-*, /dev/block.
102         # Prefer the name with the least number of slashes.
103         # Prefer a name that is a symlink.
104         # Prefer the path with least value in lexicographical order.
105         # 
106         # Example
107         # preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ]
108         # 
109         # This configuration option does not have a default value defined.
110
111         # Configuration option devices/filter.
112         # Limit the block devices that are used by LVM commands.
113         # This is a list of regular expressions used to accept or reject block
114         # device path names. Each regex is delimited by a vertical bar '|'
115         # (or any character) and is preceded by 'a' to accept the path, or
116         # by 'r' to reject the path. The first regex in the list to match the
117         # path is used, producing the 'a' or 'r' result for the device.
118         # When multiple path names exist for a block device, if any path name
119         # matches an 'a' pattern before an 'r' pattern, then the device is
120         # accepted. If all the path names match an 'r' pattern first, then the
121         # device is rejected. Unmatching path names do not affect the accept
122         # or reject decision. If no path names for a device match a pattern,
123         # then the device is accepted. Be careful mixing 'a' and 'r' patterns,
124         # as the combination might produce unexpected results (test changes.)
125         # Run vgscan after changing the filter to regenerate the cache.
126         # 
127         # Example
128         # Accept every block device:
129         # filter = [ "a|.*/|" ]
130         # Reject the cdrom drive:
131         # filter = [ "r|/dev/cdrom|" ]
132         # Work with just loopback devices, e.g. for testing:
133         # filter = [ "a|loop|", "r|.*|" ]
134         # Accept all loop devices and ide drives except hdc:
135         # filter = [ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]
136         # Use anchors to be very specific:
137         # filter = [ "a|^/dev/hda8$|", "r|.*/|" ]
138         # 
139         # This configuration option has an automatic default value.
140         # filter = [ "a|.*/|" ]
141
142         # Configuration option devices/global_filter.
143         # Limit the block devices that are used by LVM system components.
144         # Because devices/filter may be overridden from the command line, it is
145         # not suitable for system-wide device filtering, e.g. udev.
146         # Use global_filter to hide devices from these LVM system components.
147         # The syntax is the same as devices/filter. Devices rejected by
148         # global_filter are not opened by LVM.
149         # This configuration option has an automatic default value.
150         # global_filter = [ "a|.*/|" ]
151
152         # Configuration option devices/types.
153         # List of additional acceptable block device types.
154         # These are of device type names from /proc/devices, followed by the
155         # maximum number of partitions.
156         # 
157         # Example
158         # types = [ "fd", 16 ]
159         # 
160         # This configuration option is advanced.
161         # This configuration option does not have a default value defined.
162
163         # Configuration option devices/sysfs_scan.
164         # Restrict device scanning to block devices appearing in sysfs.
165         # This is a quick way of filtering out block devices that are not
166         # present on the system. sysfs must be part of the kernel and mounted.)
167         sysfs_scan = 1
168
169         # Configuration option devices/scan_lvs.
170         # Scan LVM LVs for layered PVs.
171         scan_lvs = 1
172
173         # Configuration option devices/multipath_component_detection.
174         # Ignore devices that are components of DM multipath devices.
175         multipath_component_detection = 1
176
177         # Configuration option devices/md_component_detection.
178         # Ignore devices that are components of software RAID (md) devices.
179         md_component_detection = 1
180
181         # Configuration option devices/fw_raid_component_detection.
182         # Ignore devices that are components of firmware RAID devices.
183         # LVM must use an external_device_info_source other than none for this
184         # detection to execute.
185         fw_raid_component_detection = 0
186
187         # Configuration option devices/md_chunk_alignment.
188         # Align the start of a PV data area with md device's stripe-width.
189         # This applies if a PV is placed directly on an md device.
190         # default_data_alignment will be overriden if it is not aligned
191         # with the value detected for this setting.
192         # This setting is overriden by data_alignment_detection,
193         # data_alignment, and the --dataalignment option.
194         md_chunk_alignment = 1
195
196         # Configuration option devices/default_data_alignment.
197         # Align the start of a PV data area with this number of MiB.
198         # Set to 1 for 1MiB, 2 for 2MiB, etc. Set to 0 to disable.
199         # This setting is overriden by data_alignment and the --dataalignment
200         # option.
201         # This configuration option has an automatic default value.
202         # default_data_alignment = 1
203
204         # Configuration option devices/data_alignment_detection.
205         # Align the start of a PV data area with sysfs io properties.
206         # The start of a PV data area will be a multiple of minimum_io_size or
207         # optimal_io_size exposed in sysfs. minimum_io_size is the smallest
208         # request the device can perform without incurring a read-modify-write
209         # penalty, e.g. MD chunk size. optimal_io_size is the device's
210         # preferred unit of receiving I/O, e.g. MD stripe width.
211         # minimum_io_size is used if optimal_io_size is undefined (0).
212         # If md_chunk_alignment is enabled, that detects the optimal_io_size.
213         # default_data_alignment and md_chunk_alignment will be overriden
214         # if they are not aligned with the value detected for this setting.
215         # This setting is overriden by data_alignment and the --dataalignment
216         # option.
217         data_alignment_detection = 1
218
219         # Configuration option devices/data_alignment.
220         # Align the start of a PV data area with this number of KiB.
221         # When non-zero, this setting overrides default_data_alignment.
222         # Set to 0 to disable, in which case default_data_alignment
223         # is used to align the first PE in units of MiB.
224         # This setting is overriden by the --dataalignment option.
225         data_alignment = 0
226
227         # Configuration option devices/data_alignment_offset_detection.
228         # Shift the start of an aligned PV data area based on sysfs information.
229         # After a PV data area is aligned, it will be shifted by the
230         # alignment_offset exposed in sysfs. This offset is often 0, but may
231         # be non-zero. Certain 4KiB sector drives that compensate for windows
232         # partitioning will have an alignment_offset of 3584 bytes (sector 7
233         # is the lowest aligned logical block, the 4KiB sectors start at
234         # LBA -1, and consequently sector 63 is aligned on a 4KiB boundary).
235         # This setting is overriden by the --dataalignmentoffset option.
236         data_alignment_offset_detection = 1
237
238         # Configuration option devices/ignore_suspended_devices.
239         # Ignore DM devices that have I/O suspended while scanning devices.
240         # Otherwise, LVM waits for a suspended device to become accessible.
241         # This should only be needed in recovery situations.
242         ignore_suspended_devices = 0
243
244         # Configuration option devices/ignore_lvm_mirrors.
245         # Do not scan 'mirror' LVs to avoid possible deadlocks.
246         # This avoids possible deadlocks when using the 'mirror' segment type.
247         # This setting determines whether LVs using the 'mirror' segment type
248         # are scanned for LVM labels. This affects the ability of mirrors to
249         # be used as physical volumes. If this setting is enabled, it is
250         # impossible to create VGs on top of mirror LVs, i.e. to stack VGs on
251         # mirror LVs. If this setting is disabled, allowing mirror LVs to be
252         # scanned, it may cause LVM processes and I/O to the mirror to become
253         # blocked. This is due to the way that the mirror segment type handles
254         # failures. In order for the hang to occur, an LVM command must be run
255         # just after a failure and before the automatic LVM repair process
256         # takes place, or there must be failures in multiple mirrors in the
257         # same VG at the same time with write failures occurring moments before
258         # a scan of the mirror's labels. The 'mirror' scanning problems do not
259         # apply to LVM RAID types like 'raid1' which handle failures in a
260         # different way, making them a better choice for VG stacking.
261         ignore_lvm_mirrors = 1
262
263         # Configuration option devices/require_restorefile_with_uuid.
264         # Allow use of pvcreate --uuid without requiring --restorefile.
265         require_restorefile_with_uuid = 1
266
267         # Configuration option devices/pv_min_size.
268         # Minimum size in KiB of block devices which can be used as PVs.
269         # In a clustered environment all nodes must use the same value.
270         # Any value smaller than 512KiB is ignored. The previous built-in
271         # value was 512.
272         pv_min_size = 2048
273
274         # Configuration option devices/issue_discards.
275         # Issue discards to PVs that are no longer used by an LV.
276         # Discards are sent to an LV's underlying physical volumes when the LV
277         # is no longer using the physical volumes' space, e.g. lvremove,
278         # lvreduce. Discards inform the storage that a region is no longer
279         # used. Storage that supports discards advertise the protocol-specific
280         # way discards should be issued by the kernel (TRIM, UNMAP, or
281         # WRITE SAME with UNMAP bit set). Not all storage will support or
282         # benefit from discards, but SSDs and thinly provisioned LUNs
283         # generally do. If enabled, discards will only be issued if both the
284         # storage and kernel provide support.
285         issue_discards = 0
286
287         # Configuration option devices/allow_changes_with_duplicate_pvs.
288         # Allow VG modification while a PV appears on multiple devices.
289         # When a PV appears on multiple devices, LVM attempts to choose the
290         # best device to use for the PV. If the devices represent the same
291         # underlying storage, the choice has minimal consequence. If the
292         # devices represent different underlying storage, the wrong choice
293         # can result in data loss if the VG is modified. Disabling this
294         # setting is the safest option because it prevents modifying a VG
295         # or activating LVs in it while a PV appears on multiple devices.
296         # Enabling this setting allows the VG to be used as usual even with
297         # uncertain devices.
298         allow_changes_with_duplicate_pvs = 0
299 }
300
301 # Configuration section allocation.
302 # How LVM selects space and applies properties to LVs.
303 allocation {
304
305         # Configuration option allocation/cling_tag_list.
306         # Advise LVM which PVs to use when searching for new space.
307         # When searching for free space to extend an LV, the 'cling' allocation
308         # policy will choose space on the same PVs as the last segment of the
309         # existing LV. If there is insufficient space and a list of tags is
310         # defined here, it will check whether any of them are attached to the
311         # PVs concerned and then seek to match those PV tags between existing
312         # extents and new extents.
313         # 
314         # Example
315         # Use the special tag "@*" as a wildcard to match any PV tag:
316         # cling_tag_list = [ "@*" ]
317         # LVs are mirrored between two sites within a single VG, and
318         # PVs are tagged with either @site1 or @site2 to indicate where
319         # they are situated:
320         # cling_tag_list = [ "@site1", "@site2" ]
321         # 
322         # This configuration option does not have a default value defined.
323
324         # Configuration option allocation/maximise_cling.
325         # Use a previous allocation algorithm.
326         # Changes made in version 2.02.85 extended the reach of the 'cling'
327         # policies to detect more situations where data can be grouped onto
328         # the same disks. This setting can be used to disable the changes
329         # and revert to the previous algorithm.
330         maximise_cling = 1
331
332         # Configuration option allocation/use_blkid_wiping.
333         # Use blkid to detect and erase existing signatures on new PVs and LVs.
334         # The blkid library can detect more signatures than the native LVM
335         # detection code, but may take longer. LVM needs to be compiled with
336         # blkid wiping support for this setting to apply. LVM native detection
337         # code is currently able to recognize: MD device signatures,
338         # swap signature, and LUKS signatures. To see the list of signatures
339         # recognized by blkid, check the output of the 'blkid -k' command.
340         use_blkid_wiping = 1
341
342         # Configuration option allocation/wipe_signatures_when_zeroing_new_lvs.
343         # Look for and erase any signatures while zeroing a new LV.
344         # The --wipesignatures option overrides this setting.
345         # Zeroing is controlled by the -Z/--zero option, and if not specified,
346         # zeroing is used by default if possible. Zeroing simply overwrites the
347         # first 4KiB of a new LV with zeroes and does no signature detection or
348         # wiping. Signature wiping goes beyond zeroing and detects exact types
349         # and positions of signatures within the whole LV. It provides a
350         # cleaner LV after creation as all known signatures are wiped. The LV
351         # is not claimed incorrectly by other tools because of old signatures
352         # from previous use. The number of signatures that LVM can detect
353         # depends on the detection code that is selected (see
354         # use_blkid_wiping.) Wiping each detected signature must be confirmed.
355         # When this setting is disabled, signatures on new LVs are not detected
356         # or erased unless the --wipesignatures option is used directly.
357         wipe_signatures_when_zeroing_new_lvs = 1
358
359         # Configuration option allocation/mirror_logs_require_separate_pvs.
360         # Mirror logs and images will always use different PVs.
361         # The default setting changed in version 2.02.85.
362         mirror_logs_require_separate_pvs = 0
363
364         # Configuration option allocation/raid_stripe_all_devices.
365         # Stripe across all PVs when RAID stripes are not specified.
366         # If enabled, all PVs in the VG or on the command line are used for
367         # raid0/4/5/6/10 when the command does not specify the number of
368         # stripes to use.
369         # This was the default behaviour until release 2.02.162.
370         # This configuration option has an automatic default value.
371         # raid_stripe_all_devices = 0
372
373         # Configuration option allocation/cache_pool_metadata_require_separate_pvs.
374         # Cache pool metadata and data will always use different PVs.
375         cache_pool_metadata_require_separate_pvs = 0
376
377         # Configuration option allocation/cache_metadata_format.
378         # Sets default metadata format for new cache.
379         # 
380         # Accepted values:
381         #   0  Automatically detected best available format
382         #   1  Original format
383         #   2  Improved 2nd. generation format
384         # 
385         # This configuration option has an automatic default value.
386         # cache_metadata_format = 0
387
388         # Configuration option allocation/cache_mode.
389         # The default cache mode used for new cache.
390         # 
391         # Accepted values:
392         #   writethrough
393         #     Data blocks are immediately written from the cache to disk.
394         #   writeback
395         #     Data blocks are written from the cache back to disk after some
396         #     delay to improve performance.
397         # 
398         # This setting replaces allocation/cache_pool_cachemode.
399         # This configuration option has an automatic default value.
400         # cache_mode = "writethrough"
401
402         # Configuration option allocation/cache_policy.
403         # The default cache policy used for new cache volume.
404         # Since kernel 4.2 the default policy is smq (Stochastic multiqueue),
405         # otherwise the older mq (Multiqueue) policy is selected.
406         # This configuration option does not have a default value defined.
407
408         # Configuration section allocation/cache_settings.
409         # Settings for the cache policy.
410         # See documentation for individual cache policies for more info.
411         # This configuration section has an automatic default value.
412         # cache_settings {
413         # }
414
415         # Configuration option allocation/cache_pool_chunk_size.
416         # The minimal chunk size in KiB for cache pool volumes.
417         # Using a chunk_size that is too large can result in wasteful use of
418         # the cache, where small reads and writes can cause large sections of
419         # an LV to be mapped into the cache. However, choosing a chunk_size
420         # that is too small can result in more overhead trying to manage the
421         # numerous chunks that become mapped into the cache. The former is
422         # more of a problem than the latter in most cases, so the default is
423         # on the smaller end of the spectrum. Supported values range from
424         # 32KiB to 1GiB in multiples of 32.
425         # This configuration option does not have a default value defined.
426
427         # Configuration option allocation/cache_pool_max_chunks.
428         # The maximum number of chunks in a cache pool.
429         # For cache target v1.9 the recommended maximumm is 1000000 chunks.
430         # Using cache pool with more chunks may degrade cache performance.
431         # This configuration option does not have a default value defined.
432
433         # Configuration option allocation/thin_pool_metadata_require_separate_pvs.
434         # Thin pool metdata and data will always use different PVs.
435         thin_pool_metadata_require_separate_pvs = 0
436
437         # Configuration option allocation/thin_pool_zero.
438         # Thin pool data chunks are zeroed before they are first used.
439         # Zeroing with a larger thin pool chunk size reduces performance.
440         # This configuration option has an automatic default value.
441         # thin_pool_zero = 1
442
443         # Configuration option allocation/thin_pool_discards.
444         # The discards behaviour of thin pool volumes.
445         # 
446         # Accepted values:
447         #   ignore
448         #   nopassdown
449         #   passdown
450         # 
451         # This configuration option has an automatic default value.
452         # thin_pool_discards = "passdown"
453
454         # Configuration option allocation/thin_pool_chunk_size_policy.
455         # The chunk size calculation policy for thin pool volumes.
456         # 
457         # Accepted values:
458         #   generic
459         #     If thin_pool_chunk_size is defined, use it. Otherwise, calculate
460         #     the chunk size based on estimation and device hints exposed in
461         #     sysfs - the minimum_io_size. The chunk size is always at least
462         #     64KiB.
463         #   performance
464         #     If thin_pool_chunk_size is defined, use it. Otherwise, calculate
465         #     the chunk size for performance based on device hints exposed in
466         #     sysfs - the optimal_io_size. The chunk size is always at least
467         #     512KiB.
468         # 
469         # This configuration option has an automatic default value.
470         # thin_pool_chunk_size_policy = "generic"
471
472         # Configuration option allocation/thin_pool_chunk_size.
473         # The minimal chunk size in KiB for thin pool volumes.
474         # Larger chunk sizes may improve performance for plain thin volumes,
475         # however using them for snapshot volumes is less efficient, as it
476         # consumes more space and takes extra time for copying. When unset,
477         # lvm tries to estimate chunk size starting from 64KiB. Supported
478         # values are in the range 64KiB to 1GiB.
479         # This configuration option does not have a default value defined.
480
481         # Configuration option allocation/physical_extent_size.
482         # Default physical extent size in KiB to use for new VGs.
483         # This configuration option has an automatic default value.
484         # physical_extent_size = 4096
485
486         # Configuration option allocation/vdo_use_compression.
487         # Enables or disables compression when creating a VDO volume.
488         # Compression may be disabled if necessary to maximize performance
489         # or to speed processing of data that is unlikely to compress.
490         # This configuration option has an automatic default value.
491         # vdo_use_compression = 1
492
493         # Configuration option allocation/vdo_use_deduplication.
494         # Enables or disables deduplication when creating a VDO volume.
495         # Deduplication may be disabled in instances where data is not expected
496         # to have good deduplication rates but compression is still desired.
497         # This configuration option has an automatic default value.
498         # vdo_use_deduplication = 1
499
500         # Configuration option allocation/vdo_emulate_512_sectors.
501         # Specifies that the VDO volume is to emulate a 512 byte block device.
502         # This configuration option has an automatic default value.
503         # vdo_emulate_512_sectors = 0
504
505         # Configuration option allocation/vdo_block_map_cache_size_mb.
506         # Specifies the amount of memory in MiB allocated for caching block map
507         # pages for VDO volume. The value must be a multiple of 4096 and must be
508         # at least 128MiB and less than 16TiB. The cache must be at least 16MiB
509         # per logical thread. Note that there is a memory overhead of 15%.
510         # This configuration option has an automatic default value.
511         # vdo_block_map_cache_size_mb = 128
512
513         # Configuration option allocation/vdo_block_map_period.
514         # Tunes the quantity of block map updates that can accumulate
515         # before cache pages are flushed to disk. The value must be
516         # at least 1 and less then 16380.
517         # A lower value means shorter recovery time but lower performance.
518         # This configuration option has an automatic default value.
519         # vdo_block_map_period = 16380
520
521         # Configuration option allocation/vdo_check_point_frequency.
522         # The default check point frequency for VDO volume.
523         # This configuration option has an automatic default value.
524         # vdo_check_point_frequency = 0
525
526         # Configuration option allocation/vdo_use_sparse_index.
527         # Enables sparse indexing for VDO volume.
528         # This configuration option has an automatic default value.
529         # vdo_use_sparse_index = 0
530
531         # Configuration option allocation/vdo_index_memory_size_mb.
532         # Specifies the amount of index memory in MiB for VDO volume.
533         # The value must be at least 256MiB and at most 1TiB.
534         # This configuration option has an automatic default value.
535         # vdo_index_memory_size_mb = 256
536
537         # Configuration option allocation/vdo_use_read_cache.
538         # Enables or disables the read cache within the VDO volume.
539         # The cache should be enabled if write workloads are expected
540         # to have high levels of deduplication, or for read intensive
541         # workloads of highly compressible data.
542         # This configuration option has an automatic default value.
543         # vdo_use_read_cache = 0
544
545         # Configuration option allocation/vdo_read_cache_size_mb.
546         # Specifies the extra VDO volume read cache size in MiB.
547         # This space is in addition to a system-defined minimum.
548         # The value must be less then 16TiB and 1.12 MiB of memory
549         # will be used per MiB of read cache specified, per bio thread.
550         # This configuration option has an automatic default value.
551         # vdo_read_cache_size_mb = 0
552
553         # Configuration option allocation/vdo_slab_size_mb.
554         # Specifies the size in MiB of the increment by which a VDO is grown.
555         # Using a smaller size constrains the total maximum physical size
556         # that can be accommodated. Must be a power of two between 128MiB and 32GiB.
557         # This configuration option has an automatic default value.
558         # vdo_slab_size_mb = 2048
559
560         # Configuration option allocation/vdo_ack_threads.
561         # Specifies the number of threads to use for acknowledging
562         # completion of requested VDO I/O operations.
563         # The value must be at in range [0..100].
564         # This configuration option has an automatic default value.
565         # vdo_ack_threads = 1
566
567         # Configuration option allocation/vdo_bio_threads.
568         # Specifies the number of threads to use for submitting I/O
569         # operations to the storage device of VDO volume.
570         # The value must be in range [1..100]
571         # Each additional thread after the first will use an additional 18MiB of RAM,
572         # plus 1.12 MiB of RAM per megabyte of configured read cache size.
573         # This configuration option has an automatic default value.
574         # vdo_bio_threads = 1
575
576         # Configuration option allocation/vdo_bio_rotation.
577         # Specifies the number of I/O operations to enqueue for each bio-submission
578         # thread before directing work to the next. The value must be in range [1..1024].
579         # This configuration option has an automatic default value.
580         # vdo_bio_rotation = 64
581
582         # Configuration option allocation/vdo_cpu_threads.
583         # Specifies the number of threads to use for CPU-intensive work such as
584         # hashing or compression for VDO volume. The value must be in range [1..100]
585         # This configuration option has an automatic default value.
586         # vdo_cpu_threads = 2
587
588         # Configuration option allocation/vdo_hash_zone_threads.
589         # Specifies the number of threads across which to subdivide parts of the VDO
590         # processing based on the hash value computed from the block data.
591         # The value must be at in range [0..100].
592         # vdo_hash_zone_threads, vdo_logical_threads and vdo_physical_threads must be
593         # either all zero or all non-zero.
594         # This configuration option has an automatic default value.
595         # vdo_hash_zone_threads = 1
596
597         # Configuration option allocation/vdo_logical_threads.
598         # Specifies the number of threads across which to subdivide parts of the VDO
599         # processing based on the hash value computed from the block data.
600         # A logical thread count of 9 or more will require explicitly specifying
601         # a sufficiently large block map cache size, as well.
602         # The value must be in range [0..100].
603         # vdo_hash_zone_threads, vdo_logical_threads and vdo_physical_threads must be
604         # either all zero or all non-zero.
605         # This configuration option has an automatic default value.
606         # vdo_logical_threads = 1
607
608         # Configuration option allocation/vdo_physical_threads.
609         # Specifies the number of threads across which to subdivide parts of the VDO
610         # processing based on physical block addresses.
611         # Each additional thread after the first will use an additional 10MiB of RAM.
612         # The value must be in range [0..16].
613         # vdo_hash_zone_threads, vdo_logical_threads and vdo_physical_threads must be
614         # either all zero or all non-zero.
615         # This configuration option has an automatic default value.
616         # vdo_physical_threads = 1
617
618         # Configuration option allocation/vdo_write_policy.
619         # Specifies the write policy:
620         # auto  - VDO will check the storage device and determine whether it supports flushes.
621         #         If it does, VDO will run in async mode, otherwise it will run in sync mode.
622         # sync  - Writes are acknowledged only after data is stably written.
623         #         This policy is not supported if the underlying storage is not also synchronous.
624         # async - Writes are acknowledged after data has been cached for writing to stable storage.
625         #         Data which has not been flushed is not guaranteed to persist in this mode.
626         # This configuration option has an automatic default value.
627         # vdo_write_policy = "auto"
628 }
629
630 # Configuration section log.
631 # How LVM log information is reported.
632 log {
633
634         # Configuration option log/report_command_log.
635         # Enable or disable LVM log reporting.
636         # If enabled, LVM will collect a log of operations, messages,
637         # per-object return codes with object identification and associated
638         # error numbers (errnos) during LVM command processing. Then the
639         # log is either reported solely or in addition to any existing
640         # reports, depending on LVM command used. If it is a reporting command
641         # (e.g. pvs, vgs, lvs, lvm fullreport), then the log is reported in
642         # addition to any existing reports. Otherwise, there's only log report
643         # on output. For all applicable LVM commands, you can request that
644         # the output has only log report by using --logonly command line
645         # option. Use log/command_log_cols and log/command_log_sort settings
646         # to define fields to display and sort fields for the log report.
647         # You can also use log/command_log_selection to define selection
648         # criteria used each time the log is reported.
649         # This configuration option has an automatic default value.
650         # report_command_log = 0
651
652         # Configuration option log/command_log_sort.
653         # List of columns to sort by when reporting command log.
654         # See <lvm command> --logonly --configreport log -o help
655         # for the list of possible fields.
656         # This configuration option has an automatic default value.
657         # command_log_sort = "log_seq_num"
658
659         # Configuration option log/command_log_cols.
660         # List of columns to report when reporting command log.
661         # See <lvm command> --logonly --configreport log -o help
662         # for the list of possible fields.
663         # This configuration option has an automatic default value.
664         # command_log_cols = "log_seq_num,log_type,log_context,log_object_type,log_object_name,log_object_id,log_object_group,log_object_group_id,log_message,log_errno,log_ret_code"
665
666         # Configuration option log/command_log_selection.
667         # Selection criteria used when reporting command log.
668         # You can define selection criteria that are applied each
669         # time log is reported. This way, it is possible to control the
670         # amount of log that is displayed on output and you can select
671         # only parts of the log that are important for you. To define
672         # selection criteria, use fields from log report. See also
673         # <lvm command> --logonly --configreport log -S help for the
674         # list of possible fields and selection operators. You can also
675         # define selection criteria for log report on command line directly
676         # using <lvm command> --configreport log -S <selection criteria>
677         # which has precedence over log/command_log_selection setting.
678         # For more information about selection criteria in general, see
679         # lvm(8) man page.
680         # This configuration option has an automatic default value.
681         # command_log_selection = "!(log_type=status && message=success)"
682
683         # Configuration option log/verbose.
684         # Controls the messages sent to stdout or stderr.
685         verbose = 0
686
687         # Configuration option log/silent.
688         # Suppress all non-essential messages from stdout.
689         # This has the same effect as -qq. When enabled, the following commands
690         # still produce output: dumpconfig, lvdisplay, lvmdiskscan, lvs, pvck,
691         # pvdisplay, pvs, version, vgcfgrestore -l, vgdisplay, vgs.
692         # Non-essential messages are shifted from log level 4 to log level 5
693         # for syslog and lvm2_log_fn purposes.
694         # Any 'yes' or 'no' questions not overridden by other arguments are
695         # suppressed and default to 'no'.
696         silent = 0
697
698         # Configuration option log/syslog.
699         # Send log messages through syslog.
700         syslog = 1
701
702         # Configuration option log/file.
703         # Write error and debug log messages to a file specified here.
704         # This configuration option does not have a default value defined.
705
706         # Configuration option log/overwrite.
707         # Overwrite the log file each time the program is run.
708         overwrite = 0
709
710         # Configuration option log/level.
711         # The level of log messages that are sent to the log file or syslog.
712         # There are 6 syslog-like log levels currently in use: 2 to 7 inclusive.
713         # 7 is the most verbose (LOG_DEBUG).
714         level = 0
715
716         # Configuration option log/indent.
717         # Indent messages according to their severity.
718         indent = 1
719
720         # Configuration option log/command_names.
721         # Display the command name on each line of output.
722         command_names = 0
723
724         # Configuration option log/prefix.
725         # A prefix to use before the log message text.
726         # (After the command name, if selected).
727         # Two spaces allows you to see/grep the severity of each message.
728         # To make the messages look similar to the original LVM tools use:
729         # indent = 0, command_names = 1, prefix = " -- "
730         prefix = "  "
731
732         # Configuration option log/activation.
733         # Log messages during activation.
734         # Don't use this in low memory situations (can deadlock).
735         activation = 0
736
737         # Configuration option log/debug_classes.
738         # Select log messages by class.
739         # Some debugging messages are assigned to a class and only appear in
740         # debug output if the class is listed here. Classes currently
741         # available: memory, devices, io, activation, allocation,
742         # metadata, cache, locking, lvmpolld. Use "all" to see everything.
743         debug_classes = [ "memory", "devices", "io", "activation", "allocation", "metadata", "cache", "locking", "lvmpolld", "dbus" ]
744 }
745
746 # Configuration section backup.
747 # How LVM metadata is backed up and archived.
748 # In LVM, a 'backup' is a copy of the metadata for the current system,
749 # and an 'archive' contains old metadata configurations. They are
750 # stored in a human readable text format.
751 backup {
752
753         # Configuration option backup/backup.
754         # Maintain a backup of the current metadata configuration.
755         # Think very hard before turning this off!
756         backup = 1
757
758         # Configuration option backup/backup_dir.
759         # Location of the metadata backup files.
760         # Remember to back up this directory regularly!
761         backup_dir = "/etc/lvm/backup"
762
763         # Configuration option backup/archive.
764         # Maintain an archive of old metadata configurations.
765         # Think very hard before turning this off.
766         archive = 1
767
768         # Configuration option backup/archive_dir.
769         # Location of the metdata archive files.
770         # Remember to back up this directory regularly!
771         archive_dir = "/etc/lvm/archive"
772
773         # Configuration option backup/retain_min.
774         # Minimum number of archives to keep.
775         retain_min = 10
776
777         # Configuration option backup/retain_days.
778         # Minimum number of days to keep archive files.
779         retain_days = 30
780 }
781
782 # Configuration section shell.
783 # Settings for running LVM in shell (readline) mode.
784 shell {
785
786         # Configuration option shell/history_size.
787         # Number of lines of history to store in ~/.lvm_history.
788         history_size = 100
789 }
790
791 # Configuration section global.
792 # Miscellaneous global LVM settings.
793 global {
794
795         # Configuration option global/umask.
796         # The file creation mask for any files and directories created.
797         # Interpreted as octal if the first digit is zero.
798         umask = 077
799
800         # Configuration option global/test.
801         # No on-disk metadata changes will be made in test mode.
802         # Equivalent to having the -t option on every command.
803         test = 0
804
805         # Configuration option global/units.
806         # Default value for --units argument.
807         units = "r"
808
809         # Configuration option global/si_unit_consistency.
810         # Distinguish between powers of 1024 and 1000 bytes.
811         # The LVM commands distinguish between powers of 1024 bytes,
812         # e.g. KiB, MiB, GiB, and powers of 1000 bytes, e.g. KB, MB, GB.
813         # If scripts depend on the old behaviour, disable this setting
814         # temporarily until they are updated.
815         si_unit_consistency = 1
816
817         # Configuration option global/suffix.
818         # Display unit suffix for sizes.
819         # This setting has no effect if the units are in human-readable form
820         # (global/units = "h") in which case the suffix is always displayed.
821         suffix = 1
822
823         # Configuration option global/activation.
824         # Enable/disable communication with the kernel device-mapper.
825         # Disable to use the tools to manipulate LVM metadata without
826         # activating any logical volumes. If the device-mapper driver
827         # is not present in the kernel, disabling this should suppress
828         # the error messages.
829         activation = 1
830
831         # Configuration option global/segment_libraries.
832         # This configuration option does not have a default value defined.
833
834         # Configuration option global/proc.
835         # Location of proc filesystem.
836         # This configuration option is advanced.
837         proc = "/proc"
838
839         # Configuration option global/etc.
840         # Location of /etc system configuration directory.
841         etc = "/etc"
842
843         # Configuration option global/wait_for_locks.
844         # When disabled, fail if a lock request would block.
845         wait_for_locks = 1
846
847         # Configuration option global/locking_dir.
848         # Directory to use for LVM command file locks.
849         # Local non-LV directory that holds file-based locks while commands are
850         # in progress. A directory like /tmp that may get wiped on reboot is OK.
851         locking_dir = "/run/lock/lvm"
852
853         # Configuration option global/prioritise_write_locks.
854         # Allow quicker VG write access during high volume read access.
855         # When there are competing read-only and read-write access requests for
856         # a volume group's metadata, instead of always granting the read-only
857         # requests immediately, delay them to allow the read-write requests to
858         # be serviced. Without this setting, write access may be stalled by a
859         # high volume of read-only requests. This option only affects
860         # locking_type 1 viz. local file-based locking.
861         prioritise_write_locks = 1
862
863         # Configuration option global/library_dir.
864         # Search this directory first for shared libraries.
865         # This configuration option does not have a default value defined.
866
867         # Configuration option global/abort_on_internal_errors.
868         # Abort a command that encounters an internal error.
869         # Treat any internal errors as fatal errors, aborting the process that
870         # encountered the internal error. Please only enable for debugging.
871         abort_on_internal_errors = 0
872
873         # Configuration option global/metadata_read_only.
874         # No operations that change on-disk metadata are permitted.
875         # Additionally, read-only commands that encounter metadata in need of
876         # repair will still be allowed to proceed exactly as if the repair had
877         # been performed (except for the unchanged vg_seqno). Inappropriate
878         # use could mess up your system, so seek advice first!
879         metadata_read_only = 0
880
881         # Configuration option global/mirror_segtype_default.
882         # The segment type used by the short mirroring option -m.
883         # The --type mirror|raid1 option overrides this setting.
884         # 
885         # Accepted values:
886         #   mirror
887         #     The original RAID1 implementation from LVM/DM. It is
888         #     characterized by a flexible log solution (core, disk, mirrored),
889         #     and by the necessity to block I/O while handling a failure.
890         #     There is an inherent race in the dmeventd failure handling logic
891         #     with snapshots of devices using this type of RAID1 that in the
892         #     worst case could cause a deadlock. (Also see
893         #     devices/ignore_lvm_mirrors.)
894         #   raid1
895         #     This is a newer RAID1 implementation using the MD RAID1
896         #     personality through device-mapper. It is characterized by a
897         #     lack of log options. (A log is always allocated for every
898         #     device and they are placed on the same device as the image,
899         #     so no separate devices are required.) This mirror
900         #     implementation does not require I/O to be blocked while
901         #     handling a failure. This mirror implementation is not
902         #     cluster-aware and cannot be used in a shared (active/active)
903         #     fashion in a cluster.
904         # 
905         mirror_segtype_default = "raid1"
906
907         # Configuration option global/raid10_segtype_default.
908         # The segment type used by the -i -m combination.
909         # The --type raid10|mirror option overrides this setting.
910         # The --stripes/-i and --mirrors/-m options can both be specified
911         # during the creation of a logical volume to use both striping and
912         # mirroring for the LV. There are two different implementations.
913         # 
914         # Accepted values:
915         #   raid10
916         #     LVM uses MD's RAID10 personality through DM. This is the
917         #     preferred option.
918         #   mirror
919         #     LVM layers the 'mirror' and 'stripe' segment types. The layering
920         #     is done by creating a mirror LV on top of striped sub-LVs,
921         #     effectively creating a RAID 0+1 array. The layering is suboptimal
922         #     in terms of providing redundancy and performance.
923         # 
924         raid10_segtype_default = "raid10"
925
926         # Configuration option global/sparse_segtype_default.
927         # The segment type used by the -V -L combination.
928         # The --type snapshot|thin option overrides this setting.
929         # The combination of -V and -L options creates a sparse LV. There are
930         # two different implementations.
931         # 
932         # Accepted values:
933         #   snapshot
934         #     The original snapshot implementation from LVM/DM. It uses an old
935         #     snapshot that mixes data and metadata within a single COW
936         #     storage volume and performs poorly when the size of stored data
937         #     passes hundreds of MB.
938         #   thin
939         #     A newer implementation that uses thin provisioning. It has a
940         #     bigger minimal chunk size (64KiB) and uses a separate volume for
941         #     metadata. It has better performance, especially when more data
942         #     is used. It also supports full snapshots.
943         # 
944         sparse_segtype_default = "thin"
945
946         # Configuration option global/lvdisplay_shows_full_device_path.
947         # Enable this to reinstate the previous lvdisplay name format.
948         # The default format for displaying LV names in lvdisplay was changed
949         # in version 2.02.89 to show the LV name and path separately.
950         # Previously this was always shown as /dev/vgname/lvname even when that
951         # was never a valid path in the /dev filesystem.
952         # This configuration option has an automatic default value.
953         # lvdisplay_shows_full_device_path = 0
954
955         # Configuration option global/event_activation.
956         # Activate LVs based on system-generated device events.
957         # When a device appears on the system, a system-generated event runs
958         # the pvscan command to activate LVs if the new PV completes the VG.
959         # Use auto_activation_volume_list to select which LVs should be
960         # activated from these events (the default is all.)
961         # When event_activation is disabled, the system will generally run
962         # a direct activation command to activate LVs in complete VGs.
963         event_activation = 1
964
965         # Configuration option global/use_aio.
966         # Use async I/O when reading and writing devices.
967         # This configuration option has an automatic default value.
968         # use_aio = 1
969
970         # Configuration option global/use_lvmlockd.
971         # Use lvmlockd for locking among hosts using LVM on shared storage.
972         # Applicable only if LVM is compiled with lockd support in which
973         # case there is also lvmlockd(8) man page available for more
974         # information.
975         use_lvmlockd = 0
976
977         # Configuration option global/lvmlockd_lock_retries.
978         # Retry lvmlockd lock requests this many times.
979         # Applicable only if LVM is compiled with lockd support
980         # This configuration option has an automatic default value.
981         # lvmlockd_lock_retries = 3
982
983         # Configuration option global/sanlock_lv_extend.
984         # Size in MiB to extend the internal LV holding sanlock locks.
985         # The internal LV holds locks for each LV in the VG, and after enough
986         # LVs have been created, the internal LV needs to be extended. lvcreate
987         # will automatically extend the internal LV when needed by the amount
988         # specified here. Setting this to 0 disables the automatic extension
989         # and can cause lvcreate to fail. Applicable only if LVM is compiled
990         # with lockd support
991         # This configuration option has an automatic default value.
992         # sanlock_lv_extend = 256
993
994         # Configuration option global/thin_check_executable.
995         # The full path to the thin_check command.
996         # LVM uses this command to check that a thin metadata device is in a
997         # usable state. When a thin pool is activated and after it is
998         # deactivated, this command is run. Activation will only proceed if
999         # the command has an exit status of 0. Set to "" to skip this check.
1000         # (Not recommended.) Also see thin_check_options.
1001         # (See package device-mapper-persistent-data or thin-provisioning-tools)
1002         # This configuration option has an automatic default value.
1003         # thin_check_executable = "/usr/sbin/thin_check"
1004
1005         # Configuration option global/thin_dump_executable.
1006         # The full path to the thin_dump command.
1007         # LVM uses this command to dump thin pool metadata.
1008         # (See package device-mapper-persistent-data or thin-provisioning-tools)
1009         # This configuration option has an automatic default value.
1010         # thin_dump_executable = "/usr/sbin/thin_dump"
1011
1012         # Configuration option global/thin_repair_executable.
1013         # The full path to the thin_repair command.
1014         # LVM uses this command to repair a thin metadata device if it is in
1015         # an unusable state. Also see thin_repair_options.
1016         # (See package device-mapper-persistent-data or thin-provisioning-tools)
1017         # This configuration option has an automatic default value.
1018         # thin_repair_executable = "/usr/sbin/thin_repair"
1019
1020         # Configuration option global/thin_check_options.
1021         # List of options passed to the thin_check command.
1022         # With thin_check version 2.1 or newer you can add the option
1023         # --ignore-non-fatal-errors to let it pass through ignorable errors
1024         # and fix them later. With thin_check version 3.2 or newer you should
1025         # include the option --clear-needs-check-flag.
1026         # This configuration option has an automatic default value.
1027         # thin_check_options = [ "-q", "--clear-needs-check-flag" ]
1028
1029         # Configuration option global/thin_repair_options.
1030         # List of options passed to the thin_repair command.
1031         # This configuration option has an automatic default value.
1032         # thin_repair_options = [ "" ]
1033
1034         # Configuration option global/thin_disabled_features.
1035         # Features to not use in the thin driver.
1036         # This can be helpful for testing, or to avoid using a feature that is
1037         # causing problems. Features include: block_size, discards,
1038         # discards_non_power_2, external_origin, metadata_resize,
1039         # external_origin_extend, error_if_no_space.
1040         # 
1041         # Example
1042         # thin_disabled_features = [ "discards", "block_size" ]
1043         # 
1044         # This configuration option does not have a default value defined.
1045
1046         # Configuration option global/cache_disabled_features.
1047         # Features to not use in the cache driver.
1048         # This can be helpful for testing, or to avoid using a feature that is
1049         # causing problems. Features include: policy_mq, policy_smq, metadata2.
1050         # 
1051         # Example
1052         # cache_disabled_features = [ "policy_smq" ]
1053         # 
1054         # This configuration option does not have a default value defined.
1055
1056         # Configuration option global/cache_check_executable.
1057         # The full path to the cache_check command.
1058         # LVM uses this command to check that a cache metadata device is in a
1059         # usable state. When a cached LV is activated and after it is
1060         # deactivated, this command is run. Activation will only proceed if the
1061         # command has an exit status of 0. Set to "" to skip this check.
1062         # (Not recommended.) Also see cache_check_options.
1063         # (See package device-mapper-persistent-data or thin-provisioning-tools)
1064         # This configuration option has an automatic default value.
1065         # cache_check_executable = "/usr/sbin/cache_check"
1066
1067         # Configuration option global/cache_dump_executable.
1068         # The full path to the cache_dump command.
1069         # LVM uses this command to dump cache pool metadata.
1070         # (See package device-mapper-persistent-data or thin-provisioning-tools)
1071         # This configuration option has an automatic default value.
1072         # cache_dump_executable = "/usr/sbin/cache_dump"
1073
1074         # Configuration option global/cache_repair_executable.
1075         # The full path to the cache_repair command.
1076         # LVM uses this command to repair a cache metadata device if it is in
1077         # an unusable state. Also see cache_repair_options.
1078         # (See package device-mapper-persistent-data or thin-provisioning-tools)
1079         # This configuration option has an automatic default value.
1080         # cache_repair_executable = "/usr/sbin/cache_repair"
1081
1082         # Configuration option global/cache_check_options.
1083         # List of options passed to the cache_check command.
1084         # With cache_check version 5.0 or newer you should include the option
1085         # --clear-needs-check-flag.
1086         # This configuration option has an automatic default value.
1087         # cache_check_options = [ "-q", "--clear-needs-check-flag" ]
1088
1089         # Configuration option global/cache_repair_options.
1090         # List of options passed to the cache_repair command.
1091         # This configuration option has an automatic default value.
1092         # cache_repair_options = [ "" ]
1093
1094         # Configuration option global/vdo_format_executable.
1095         # The full path to the vdoformat command.
1096         # LVM uses this command to initial data volume for VDO type logical volume
1097         # This configuration option has an automatic default value.
1098         # vdo_format_executable = "autodetect"
1099
1100         # Configuration option global/vdo_format_options.
1101         # List of options passed added to standard vdoformat command.
1102         # This configuration option has an automatic default value.
1103         # vdo_format_options = [ "" ]
1104
1105         # Configuration option global/fsadm_executable.
1106         # The full path to the fsadm command.
1107         # LVM uses this command to help with lvresize -r operations.
1108         # This configuration option has an automatic default value.
1109         # fsadm_executable = "/sbin/fsadm"
1110
1111         # Configuration option global/system_id_source.
1112         # The method LVM uses to set the local system ID.
1113         # Volume Groups can also be given a system ID (by vgcreate, vgchange,
1114         # or vgimport.) A VG on shared storage devices is accessible only to
1115         # the host with a matching system ID. See 'man lvmsystemid' for
1116         # information on limitations and correct usage.
1117         # 
1118         # Accepted values:
1119         #   none
1120         #     The host has no system ID.
1121         #   lvmlocal
1122         #     Obtain the system ID from the system_id setting in the 'local'
1123         #     section of an lvm configuration file, e.g. lvmlocal.conf.
1124         #   uname
1125         #     Set the system ID from the hostname (uname) of the system.
1126         #     System IDs beginning localhost are not permitted.
1127         #   machineid
1128         #     Use the contents of the machine-id file to set the system ID.
1129         #     Some systems create this file at installation time.
1130         #     See 'man machine-id' and global/etc.
1131         #   file
1132         #     Use the contents of another file (system_id_file) to set the
1133         #     system ID.
1134         # 
1135         system_id_source = "none"
1136
1137         # Configuration option global/system_id_file.
1138         # The full path to the file containing a system ID.
1139         # This is used when system_id_source is set to 'file'.
1140         # Comments starting with the character # are ignored.
1141         # This configuration option does not have a default value defined.
1142
1143         # Configuration option global/use_lvmpolld.
1144         # Use lvmpolld to supervise long running LVM commands.
1145         # When enabled, control of long running LVM commands is transferred
1146         # from the original LVM command to the lvmpolld daemon. This allows
1147         # the operation to continue independent of the original LVM command.
1148         # After lvmpolld takes over, the LVM command displays the progress
1149         # of the ongoing operation. lvmpolld itself runs LVM commands to
1150         # manage the progress of ongoing operations. lvmpolld can be used as
1151         # a native systemd service, which allows it to be started on demand,
1152         # and to use its own control group. When this option is disabled, LVM
1153         # commands will supervise long running operations by forking themselves.
1154         # Applicable only if LVM is compiled with lvmpolld support.
1155         use_lvmpolld = 1
1156
1157         # Configuration option global/notify_dbus.
1158         # Enable D-Bus notification from LVM commands.
1159         # When enabled, an LVM command that changes PVs, changes VG metadata,
1160         # or changes the activation state of an LV will send a notification.
1161         notify_dbus = 1
1162 }
1163
1164 # Configuration section activation.
1165 activation {
1166
1167         # Configuration option activation/checks.
1168         # Perform internal checks of libdevmapper operations.
1169         # Useful for debugging problems with activation. Some of the checks may
1170         # be expensive, so it's best to use this only when there seems to be a
1171         # problem.
1172         checks = 0
1173
1174         # Configuration option activation/udev_sync.
1175         # Use udev notifications to synchronize udev and LVM.
1176         # The --nodevsync option overrides this setting.
1177         # When disabled, LVM commands will not wait for notifications from
1178         # udev, but continue irrespective of any possible udev processing in
1179         # the background. Only use this if udev is not running or has rules
1180         # that ignore the devices LVM creates. If enabled when udev is not
1181         # running, and LVM processes are waiting for udev, run the command
1182         # 'dmsetup udevcomplete_all' to wake them up.
1183         udev_sync = 1
1184
1185         # Configuration option activation/udev_rules.
1186         # Use udev rules to manage LV device nodes and symlinks.
1187         # When disabled, LVM will manage the device nodes and symlinks for
1188         # active LVs itself. Manual intervention may be required if this
1189         # setting is changed while LVs are active.
1190         udev_rules = 1
1191
1192         # Configuration option activation/verify_udev_operations.
1193         # Use extra checks in LVM to verify udev operations.
1194         # This enables additional checks (and if necessary, repairs) on entries
1195         # in the device directory after udev has completed processing its
1196         # events. Useful for diagnosing problems with LVM/udev interactions.
1197         verify_udev_operations = 0
1198
1199         # Configuration option activation/retry_deactivation.
1200         # Retry failed LV deactivation.
1201         # If LV deactivation fails, LVM will retry for a few seconds before
1202         # failing. This may happen because a process run from a quick udev rule
1203         # temporarily opened the device.
1204         retry_deactivation = 1
1205
1206         # Configuration option activation/missing_stripe_filler.
1207         # Method to fill missing stripes when activating an incomplete LV.
1208         # Using 'error' will make inaccessible parts of the device return I/O
1209         # errors on access. Using 'zero' will return success (and zero) on I/O
1210         # You can instead use a device path, in which case,
1211         # that device will be used in place of missing stripes. Using anything
1212         # other than 'error' with mirrored or snapshotted volumes is likely to
1213         # result in data corruption.
1214         # This configuration option is advanced.
1215         missing_stripe_filler = "error"
1216
1217         # Configuration option activation/use_linear_target.
1218         # Use the linear target to optimize single stripe LVs.
1219         # When disabled, the striped target is used. The linear target is an
1220         # optimised version of the striped target that only handles a single
1221         # stripe.
1222         use_linear_target = 1
1223
1224         # Configuration option activation/reserved_stack.
1225         # Stack size in KiB to reserve for use while devices are suspended.
1226         # Insufficent reserve risks I/O deadlock during device suspension.
1227         reserved_stack = 64
1228
1229         # Configuration option activation/reserved_memory.
1230         # Memory size in KiB to reserve for use while devices are suspended.
1231         # Insufficent reserve risks I/O deadlock during device suspension.
1232         reserved_memory = 8192
1233
1234         # Configuration option activation/process_priority.
1235         # Nice value used while devices are suspended.
1236         # Use a high priority so that LVs are suspended
1237         # for the shortest possible time.
1238         process_priority = -18
1239
1240         # Configuration option activation/volume_list.
1241         # Only LVs selected by this list are activated.
1242         # If this list is defined, an LV is only activated if it matches an
1243         # entry in this list. If this list is undefined, it imposes no limits
1244         # on LV activation (all are allowed).
1245         # 
1246         # Accepted values:
1247         #   vgname
1248         #     The VG name is matched exactly and selects all LVs in the VG.
1249         #   vgname/lvname
1250         #     The VG name and LV name are matched exactly and selects the LV.
1251         #   @tag
1252         #     Selects an LV if the specified tag matches a tag set on the LV
1253         #     or VG.
1254         #   @*
1255         #     Selects an LV if a tag defined on the host is also set on the LV
1256         #     or VG. See tags/hosttags. If any host tags exist but volume_list
1257         #     is not defined, a default single-entry list containing '@*'
1258         #     is assumed.
1259         # 
1260         # Example
1261         # volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ]
1262         # 
1263         # This configuration option does not have a default value defined.
1264
1265         # Configuration option activation/auto_activation_volume_list.
1266         # Only LVs selected by this list are auto-activated.
1267         # This list works like volume_list, but it is used only by
1268         # auto-activation commands. It does not apply to direct activation
1269         # commands. If this list is defined, an LV is only auto-activated
1270         # if it matches an entry in this list. If this list is undefined, it
1271         # imposes no limits on LV auto-activation (all are allowed.) If this
1272         # list is defined and empty, i.e. "[]", then no LVs are selected for
1273         # auto-activation. An LV that is selected by this list for
1274         # auto-activation, must also be selected by volume_list (if defined)
1275         # before it is activated. Auto-activation is an activation command that
1276         # includes the 'a' argument: --activate ay or -a ay. The 'a' (auto)
1277         # argument for auto-activation is meant to be used by activation
1278         # commands that are run automatically by the system, as opposed to LVM
1279         # commands run directly by a user. A user may also use the 'a' flag
1280         # directly to perform auto-activation. Also see pvscan(8) for more
1281         # information about auto-activation.
1282         # 
1283         # Accepted values:
1284         #   vgname
1285         #     The VG name is matched exactly and selects all LVs in the VG.
1286         #   vgname/lvname
1287         #     The VG name and LV name are matched exactly and selects the LV.
1288         #   @tag
1289         #     Selects an LV if the specified tag matches a tag set on the LV
1290         #     or VG.
1291         #   @*
1292         #     Selects an LV if a tag defined on the host is also set on the LV
1293         #     or VG. See tags/hosttags. If any host tags exist but volume_list
1294         #     is not defined, a default single-entry list containing '@*'
1295         #     is assumed.
1296         # 
1297         # Example
1298         # auto_activation_volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ]
1299         # 
1300         # This configuration option does not have a default value defined.
1301
1302         # Configuration option activation/read_only_volume_list.
1303         # LVs in this list are activated in read-only mode.
1304         # If this list is defined, each LV that is to be activated is checked
1305         # against this list, and if it matches, it is activated in read-only
1306         # mode. This overrides the permission setting stored in the metadata,
1307         # e.g. from --permission rw.
1308         # 
1309         # Accepted values:
1310         #   vgname
1311         #     The VG name is matched exactly and selects all LVs in the VG.
1312         #   vgname/lvname
1313         #     The VG name and LV name are matched exactly and selects the LV.
1314         #   @tag
1315         #     Selects an LV if the specified tag matches a tag set on the LV
1316         #     or VG.
1317         #   @*
1318         #     Selects an LV if a tag defined on the host is also set on the LV
1319         #     or VG. See tags/hosttags. If any host tags exist but volume_list
1320         #     is not defined, a default single-entry list containing '@*'
1321         #     is assumed.
1322         # 
1323         # Example
1324         # read_only_volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ]
1325         # 
1326         # This configuration option does not have a default value defined.
1327
1328         # Configuration option activation/raid_region_size.
1329         # Size in KiB of each raid or mirror synchronization region.
1330         # The clean/dirty state of data is tracked for each region.
1331         # The value is rounded down to a power of two if necessary, and
1332         # is ignored if it is not a multiple of the machine memory page size.
1333         raid_region_size = 2048
1334
1335         # Configuration option activation/error_when_full.
1336         # Return errors if a thin pool runs out of space.
1337         # The --errorwhenfull option overrides this setting.
1338         # When enabled, writes to thin LVs immediately return an error if the
1339         # thin pool is out of data space. When disabled, writes to thin LVs
1340         # are queued if the thin pool is out of space, and processed when the
1341         # thin pool data space is extended. New thin pools are assigned the
1342         # behavior defined here.
1343         # This configuration option has an automatic default value.
1344         # error_when_full = 0
1345
1346         # Configuration option activation/readahead.
1347         # Setting to use when there is no readahead setting in metadata.
1348         # 
1349         # Accepted values:
1350         #   none
1351         #     Disable readahead.
1352         #   auto
1353         #     Use default value chosen by kernel.
1354         # 
1355         readahead = "auto"
1356
1357         # Configuration option activation/raid_fault_policy.
1358         # Defines how a device failure in a RAID LV is handled.
1359         # This includes LVs that have the following segment types:
1360         # raid1, raid4, raid5*, and raid6*.
1361         # If a device in the LV fails, the policy determines the steps
1362         # performed by dmeventd automatically, and the steps perfomed by the
1363         # manual command lvconvert --repair --use-policies.
1364         # Automatic handling requires dmeventd to be monitoring the LV.
1365         # 
1366         # Accepted values:
1367         #   warn
1368         #     Use the system log to warn the user that a device in the RAID LV
1369         #     has failed. It is left to the user to run lvconvert --repair
1370         #     manually to remove or replace the failed device. As long as the
1371         #     number of failed devices does not exceed the redundancy of the LV
1372         #     (1 device for raid4/5, 2 for raid6), the LV will remain usable.
1373         #   allocate
1374         #     Attempt to use any extra physical volumes in the VG as spares and
1375         #     replace faulty devices.
1376         # 
1377         raid_fault_policy = "warn"
1378
1379         # Configuration option activation/mirror_image_fault_policy.
1380         # Defines how a device failure in a 'mirror' LV is handled.
1381         # An LV with the 'mirror' segment type is composed of mirror images
1382         # (copies) and a mirror log. A disk log ensures that a mirror LV does
1383         # not need to be re-synced (all copies made the same) every time a
1384         # machine reboots or crashes. If a device in the LV fails, this policy
1385         # determines the steps perfomed by dmeventd automatically, and the steps
1386         # performed by the manual command lvconvert --repair --use-policies.
1387         # Automatic handling requires dmeventd to be monitoring the LV.
1388         # 
1389         # Accepted values:
1390         #   remove
1391         #     Simply remove the faulty device and run without it. If the log
1392         #     device fails, the mirror would convert to using an in-memory log.
1393         #     This means the mirror will not remember its sync status across
1394         #     crashes/reboots and the entire mirror will be re-synced. If a
1395         #     mirror image fails, the mirror will convert to a non-mirrored
1396         #     device if there is only one remaining good copy.
1397         #   allocate
1398         #     Remove the faulty device and try to allocate space on a new
1399         #     device to be a replacement for the failed device. Using this
1400         #     policy for the log is fast and maintains the ability to remember
1401         #     sync state through crashes/reboots. Using this policy for a
1402         #     mirror device is slow, as it requires the mirror to resynchronize
1403         #     the devices, but it will preserve the mirror characteristic of
1404         #     the device. This policy acts like 'remove' if no suitable device
1405         #     and space can be allocated for the replacement.
1406         #   allocate_anywhere
1407         #     Not yet implemented. Useful to place the log device temporarily
1408         #     on the same physical volume as one of the mirror images. This
1409         #     policy is not recommended for mirror devices since it would break
1410         #     the redundant nature of the mirror. This policy acts like
1411         #     'remove' if no suitable device and space can be allocated for the
1412         #     replacement.
1413         # 
1414         mirror_image_fault_policy = "remove"
1415
1416         # Configuration option activation/mirror_log_fault_policy.
1417         # Defines how a device failure in a 'mirror' log LV is handled.
1418         # The mirror_image_fault_policy description for mirrored LVs also
1419         # applies to mirrored log LVs.
1420         mirror_log_fault_policy = "allocate"
1421
1422         # Configuration option activation/snapshot_autoextend_threshold.
1423         # Auto-extend a snapshot when its usage exceeds this percent.
1424         # Setting this to 100 disables automatic extension.
1425         # The minimum value is 50 (a smaller value is treated as 50.)
1426         # Also see snapshot_autoextend_percent.
1427         # Automatic extension requires dmeventd to be monitoring the LV.
1428         # 
1429         # Example
1430         # Using 70% autoextend threshold and 20% autoextend size, when a 1G
1431         # snapshot exceeds 700M, it is extended to 1.2G, and when it exceeds
1432         # 840M, it is extended to 1.44G:
1433         # snapshot_autoextend_threshold = 70
1434         # 
1435         snapshot_autoextend_threshold = 100
1436
1437         # Configuration option activation/snapshot_autoextend_percent.
1438         # Auto-extending a snapshot adds this percent extra space.
1439         # The amount of additional space added to a snapshot is this
1440         # percent of its current size.
1441         # 
1442         # Example
1443         # Using 70% autoextend threshold and 20% autoextend size, when a 1G
1444         # snapshot exceeds 700M, it is extended to 1.2G, and when it exceeds
1445         # 840M, it is extended to 1.44G:
1446         # snapshot_autoextend_percent = 20
1447         # 
1448         snapshot_autoextend_percent = 20
1449
1450         # Configuration option activation/thin_pool_autoextend_threshold.
1451         # Auto-extend a thin pool when its usage exceeds this percent.
1452         # Setting this to 100 disables automatic extension.
1453         # The minimum value is 50 (a smaller value is treated as 50.)
1454         # Also see thin_pool_autoextend_percent.
1455         # Automatic extension requires dmeventd to be monitoring the LV.
1456         # 
1457         # Example
1458         # Using 70% autoextend threshold and 20% autoextend size, when a 1G
1459         # thin pool exceeds 700M, it is extended to 1.2G, and when it exceeds
1460         # 840M, it is extended to 1.44G:
1461         # thin_pool_autoextend_threshold = 70
1462         # 
1463         thin_pool_autoextend_threshold = 100
1464
1465         # Configuration option activation/thin_pool_autoextend_percent.
1466         # Auto-extending a thin pool adds this percent extra space.
1467         # The amount of additional space added to a thin pool is this
1468         # percent of its current size.
1469         # 
1470         # Example
1471         # Using 70% autoextend threshold and 20% autoextend size, when a 1G
1472         # thin pool exceeds 700M, it is extended to 1.2G, and when it exceeds
1473         # 840M, it is extended to 1.44G:
1474         # thin_pool_autoextend_percent = 20
1475         # 
1476         thin_pool_autoextend_percent = 20
1477
1478         # Configuration option activation/vdo_pool_autoextend_threshold.
1479         # Auto-extend a VDO pool when its usage exceeds this percent.
1480         # Setting this to 100 disables automatic extension.
1481         # The minimum value is 50 (a smaller value is treated as 50.)
1482         # Also see vdo_pool_autoextend_percent.
1483         # Automatic extension requires dmeventd to be monitoring the LV.
1484         # 
1485         # Example
1486         # Using 70% autoextend threshold and 20% autoextend size, when a 10G
1487         # VDO pool exceeds 7G, it is extended to 12G, and when it exceeds
1488         # 8.4G, it is extended to 14.4G:
1489         # vdo_pool_autoextend_threshold = 70
1490         # 
1491         vdo_pool_autoextend_threshold = 100
1492
1493         # Configuration option activation/vdo_pool_autoextend_percent.
1494         # Auto-extending a VDO pool adds this percent extra space.
1495         # The amount of additional space added to a VDO pool is this
1496         # percent of its current size.
1497         # 
1498         # Example
1499         # Using 70% autoextend threshold and 20% autoextend size, when a 10G
1500         # VDO pool exceeds 7G, it is extended to 12G, and when it exceeds
1501         # 8.4G, it is extended to 14.4G:
1502         # This configuration option has an automatic default value.
1503         # vdo_pool_autoextend_percent = 20
1504
1505         # Configuration option activation/mlock_filter.
1506         # Do not mlock these memory areas.
1507         # While activating devices, I/O to devices being (re)configured is
1508         # suspended. As a precaution against deadlocks, LVM pins memory it is
1509         # using so it is not paged out, and will not require I/O to reread.
1510         # Groups of pages that are known not to be accessed during activation
1511         # do not need to be pinned into memory. Each string listed in this
1512         # setting is compared against each line in /proc/self/maps, and the
1513         # pages corresponding to lines that match are not pinned. On some
1514         # systems, locale-archive was found to make up over 80% of the memory
1515         # used by the process.
1516         # 
1517         # Example
1518         # mlock_filter = [ "locale/locale-archive", "gconv/gconv-modules.cache" ]
1519         # 
1520         # This configuration option is advanced.
1521         # This configuration option does not have a default value defined.
1522
1523         # Configuration option activation/use_mlockall.
1524         # Use the old behavior of mlockall to pin all memory.
1525         # Prior to version 2.02.62, LVM used mlockall() to pin the whole
1526         # process's memory while activating devices.
1527         use_mlockall = 0
1528
1529         # Configuration option activation/monitoring.
1530         # Monitor LVs that are activated.
1531         # The --ignoremonitoring option overrides this setting.
1532         # When enabled, LVM will ask dmeventd to monitor activated LVs.
1533         monitoring = 1
1534
1535         # Configuration option activation/polling_interval.
1536         # Check pvmove or lvconvert progress at this interval (seconds).
1537         # When pvmove or lvconvert must wait for the kernel to finish
1538         # synchronising or merging data, they check and report progress at
1539         # intervals of this number of seconds. If this is set to 0 and there
1540         # is only one thing to wait for, there are no progress reports, but
1541         # the process is awoken immediately once the operation is complete.
1542         polling_interval = 15
1543
1544         # Configuration option activation/auto_set_activation_skip.
1545         # Set the activation skip flag on new thin snapshot LVs.
1546         # The --setactivationskip option overrides this setting.
1547         # An LV can have a persistent 'activation skip' flag. The flag causes
1548         # the LV to be skipped during normal activation. The lvchange/vgchange
1549         # -K option is required to activate LVs that have the activation skip
1550         # flag set. When this setting is enabled, the activation skip flag is
1551         # set on new thin snapshot LVs.
1552         # This configuration option has an automatic default value.
1553         # auto_set_activation_skip = 1
1554
1555         # Configuration option activation/activation_mode.
1556         # How LVs with missing devices are activated.
1557         # The --activationmode option overrides this setting.
1558         # 
1559         # Accepted values:
1560         #   complete
1561         #     Only allow activation of an LV if all of the Physical Volumes it
1562         #     uses are present. Other PVs in the Volume Group may be missing.
1563         #   degraded
1564         #     Like complete, but additionally RAID LVs of segment type raid1,
1565         #     raid4, raid5, radid6 and raid10 will be activated if there is no
1566         #     data loss, i.e. they have sufficient redundancy to present the
1567         #     entire addressable range of the Logical Volume.
1568         #   partial
1569         #     Allows the activation of any LV even if a missing or failed PV
1570         #     could cause data loss with a portion of the LV inaccessible.
1571         #     This setting should not normally be used, but may sometimes
1572         #     assist with data recovery.
1573         # 
1574         activation_mode = "degraded"
1575
1576         # Configuration option activation/lock_start_list.
1577         # Locking is started only for VGs selected by this list.
1578         # The rules are the same as those for volume_list.
1579         # This configuration option does not have a default value defined.
1580
1581         # Configuration option activation/auto_lock_start_list.
1582         # Locking is auto-started only for VGs selected by this list.
1583         # The rules are the same as those for auto_activation_volume_list.
1584         # This configuration option does not have a default value defined.
1585 }
1586
1587 # Configuration section metadata.
1588 # This configuration section has an automatic default value.
1589 # metadata {
1590
1591         # Configuration option metadata/check_pv_device_sizes.
1592         # Check device sizes are not smaller than corresponding PV sizes.
1593         # If device size is less than corresponding PV size found in metadata,
1594         # there is always a risk of data loss. If this option is set, then LVM
1595         # issues a warning message each time it finds that the device size is
1596         # less than corresponding PV size. You should not disable this unless
1597         # you are absolutely sure about what you are doing!
1598         # This configuration option is advanced.
1599         # This configuration option has an automatic default value.
1600         # check_pv_device_sizes = 1
1601
1602         # Configuration option metadata/record_lvs_history.
1603         # When enabled, LVM keeps history records about removed LVs in
1604         # metadata. The information that is recorded in metadata for
1605         # historical LVs is reduced when compared to original
1606         # information kept in metadata for live LVs. Currently, this
1607         # feature is supported for thin and thin snapshot LVs only.
1608         # This configuration option has an automatic default value.
1609         # record_lvs_history = 0
1610
1611         # Configuration option metadata/lvs_history_retention_time.
1612         # Retention time in seconds after which a record about individual
1613         # historical logical volume is automatically destroyed.
1614         # A value of 0 disables this feature.
1615         # This configuration option has an automatic default value.
1616         # lvs_history_retention_time = 0
1617
1618         # Configuration option metadata/pvmetadatacopies.
1619         # Number of copies of metadata to store on each PV.
1620         # The --pvmetadatacopies option overrides this setting.
1621         # 
1622         # Accepted values:
1623         #   2
1624         #     Two copies of the VG metadata are stored on the PV, one at the
1625         #     front of the PV, and one at the end.
1626         #   1
1627         #     One copy of VG metadata is stored at the front of the PV.
1628         #   0
1629         #     No copies of VG metadata are stored on the PV. This may be
1630         #     useful for VGs containing large numbers of PVs.
1631         # 
1632         # This configuration option is advanced.
1633         # This configuration option has an automatic default value.
1634         # pvmetadatacopies = 1
1635
1636         # Configuration option metadata/vgmetadatacopies.
1637         # Number of copies of metadata to maintain for each VG.
1638         # The --vgmetadatacopies option overrides this setting.
1639         # If set to a non-zero value, LVM automatically chooses which of the
1640         # available metadata areas to use to achieve the requested number of
1641         # copies of the VG metadata. If you set a value larger than the the
1642         # total number of metadata areas available, then metadata is stored in
1643         # them all. The value 0 (unmanaged) disables this automatic management
1644         # and allows you to control which metadata areas are used at the
1645         # individual PV level using pvchange --metadataignore y|n.
1646         # This configuration option has an automatic default value.
1647         # vgmetadatacopies = 0
1648
1649         # Configuration option metadata/pvmetadatasize.
1650         # The default size of the metadata area in units of 512 byte sectors.
1651         # The metadata area begins at an offset of the page size from the start
1652         # of the device. The first PE is by default at 1 MiB from the start of
1653         # the device. The space between these is the default metadata area size.
1654         # The actual size of the metadata area may be larger than what is set
1655         # here due to default_data_alignment making the first PE a MiB multiple.
1656         # The metadata area begins with a 512 byte header and is followed by a
1657         # circular buffer used for VG metadata text. The maximum size of the VG
1658         # metadata is about half the size of the metadata buffer. VGs with large
1659         # numbers of PVs or LVs, or VGs containing complex LV structures, may need
1660         # additional space for VG metadata. The --metadatasize option overrides
1661         # this setting.
1662         # This configuration option does not have a default value defined.
1663         # This configuration option has an automatic default value.
1664
1665         # Configuration option metadata/pvmetadataignore.
1666         # Ignore metadata areas on a new PV.
1667         # The --metadataignore option overrides this setting.
1668         # If metadata areas on a PV are ignored, LVM will not store metadata
1669         # in them.
1670         # This configuration option is advanced.
1671         # This configuration option has an automatic default value.
1672         # pvmetadataignore = 0
1673
1674         # Configuration option metadata/stripesize.
1675         # This configuration option is advanced.
1676         # This configuration option has an automatic default value.
1677         # stripesize = 64
1678 # }
1679
1680 # Configuration section report.
1681 # LVM report command output formatting.
1682 # This configuration section has an automatic default value.
1683 # report {
1684
1685         # Configuration option report/output_format.
1686         # Format of LVM command's report output.
1687         # If there is more than one report per command, then the format
1688         # is applied for all reports. You can also change output format
1689         # directly on command line using --reportformat option which
1690         # has precedence over log/output_format setting.
1691         # Accepted values:
1692         #   basic
1693         #     Original format with columns and rows. If there is more than
1694         #     one report per command, each report is prefixed with report's
1695         #     name for identification.
1696         #   json
1697         #     JSON format.
1698         # This configuration option has an automatic default value.
1699         # output_format = "basic"
1700
1701         # Configuration option report/compact_output.
1702         # Do not print empty values for all report fields.
1703         # If enabled, all fields that don't have a value set for any of the
1704         # rows reported are skipped and not printed. Compact output is
1705         # applicable only if report/buffered is enabled. If you need to
1706         # compact only specified fields, use compact_output=0 and define
1707         # report/compact_output_cols configuration setting instead.
1708         # This configuration option has an automatic default value.
1709         # compact_output = 0
1710
1711         # Configuration option report/compact_output_cols.
1712         # Do not print empty values for specified report fields.
1713         # If defined, specified fields that don't have a value set for any
1714         # of the rows reported are skipped and not printed. Compact output
1715         # is applicable only if report/buffered is enabled. If you need to
1716         # compact all fields, use compact_output=1 instead in which case
1717         # the compact_output_cols setting is then ignored.
1718         # This configuration option has an automatic default value.
1719         # compact_output_cols = ""
1720
1721         # Configuration option report/aligned.
1722         # Align columns in report output.
1723         # This configuration option has an automatic default value.
1724         # aligned = 1
1725
1726         # Configuration option report/buffered.
1727         # Buffer report output.
1728         # When buffered reporting is used, the report's content is appended
1729         # incrementally to include each object being reported until the report
1730         # is flushed to output which normally happens at the end of command
1731         # execution. Otherwise, if buffering is not used, each object is
1732         # reported as soon as its processing is finished.
1733         # This configuration option has an automatic default value.
1734         # buffered = 1
1735
1736         # Configuration option report/headings.
1737         # Show headings for columns on report.
1738         # This configuration option has an automatic default value.
1739         # headings = 1
1740
1741         # Configuration option report/separator.
1742         # A separator to use on report after each field.
1743         # This configuration option has an automatic default value.
1744         # separator = " "
1745
1746         # Configuration option report/list_item_separator.
1747         # A separator to use for list items when reported.
1748         # This configuration option has an automatic default value.
1749         # list_item_separator = ","
1750
1751         # Configuration option report/prefixes.
1752         # Use a field name prefix for each field reported.
1753         # This configuration option has an automatic default value.
1754         # prefixes = 0
1755
1756         # Configuration option report/quoted.
1757         # Quote field values when using field name prefixes.
1758         # This configuration option has an automatic default value.
1759         # quoted = 1
1760
1761         # Configuration option report/columns_as_rows.
1762         # Output each column as a row.
1763         # If set, this also implies report/prefixes=1.
1764         # This configuration option has an automatic default value.
1765         # columns_as_rows = 0
1766
1767         # Configuration option report/binary_values_as_numeric.
1768         # Use binary values 0 or 1 instead of descriptive literal values.
1769         # For columns that have exactly two valid values to report
1770         # (not counting the 'unknown' value which denotes that the
1771         # value could not be determined).
1772         # This configuration option has an automatic default value.
1773         # binary_values_as_numeric = 0
1774
1775         # Configuration option report/time_format.
1776         # Set time format for fields reporting time values.
1777         # Format specification is a string which may contain special character
1778         # sequences and ordinary character sequences. Ordinary character
1779         # sequences are copied verbatim. Each special character sequence is
1780         # introduced by the '%' character and such sequence is then
1781         # substituted with a value as described below.
1782         # 
1783         # Accepted values:
1784         #   %a
1785         #     The abbreviated name of the day of the week according to the
1786         #     current locale.
1787         #   %A
1788         #     The full name of the day of the week according to the current
1789         #     locale.
1790         #   %b
1791         #     The abbreviated month name according to the current locale.
1792         #   %B
1793         #     The full month name according to the current locale.
1794         #   %c
1795         #     The preferred date and time representation for the current
1796         #     locale (alt E)
1797         #   %C
1798         #     The century number (year/100) as a 2-digit integer. (alt E)
1799         #   %d
1800         #     The day of the month as a decimal number (range 01 to 31).
1801         #     (alt O)
1802         #   %D
1803         #     Equivalent to %m/%d/%y. (For Americans only. Americans should
1804         #     note that in other countries%d/%m/%y is rather common. This
1805         #     means that in international context this format is ambiguous and
1806         #     should not be used.
1807         #   %e
1808         #     Like %d, the day of the month as a decimal number, but a leading
1809         #     zero is replaced by a space. (alt O)
1810         #   %E
1811         #     Modifier: use alternative local-dependent representation if
1812         #     available.
1813         #   %F
1814         #     Equivalent to %Y-%m-%d (the ISO 8601 date format).
1815         #   %G
1816         #     The ISO 8601 week-based year with century as adecimal number.
1817         #     The 4-digit year corresponding to the ISO week number (see %V).
1818         #     This has the same format and value as %Y, except that if the
1819         #     ISO week number belongs to the previous or next year, that year
1820         #     is used instead.
1821         #   %g
1822         #     Like %G, but without century, that is, with a 2-digit year
1823         #     (00-99).
1824         #   %h
1825         #     Equivalent to %b.
1826         #   %H
1827         #     The hour as a decimal number using a 24-hour clock
1828         #     (range 00 to 23). (alt O)
1829         #   %I
1830         #     The hour as a decimal number using a 12-hour clock
1831         #     (range 01 to 12). (alt O)
1832         #   %j
1833         #     The day of the year as a decimal number (range 001 to 366).
1834         #   %k
1835         #     The hour (24-hour clock) as a decimal number (range 0 to 23);
1836         #     single digits are preceded by a blank. (See also %H.)
1837         #   %l
1838         #     The hour (12-hour clock) as a decimal number (range 1 to 12);
1839         #     single digits are preceded by a blank. (See also %I.)
1840         #   %m
1841         #     The month as a decimal number (range 01 to 12). (alt O)
1842         #   %M
1843         #     The minute as a decimal number (range 00 to 59). (alt O)
1844         #   %O
1845         #     Modifier: use alternative numeric symbols.
1846         #   %p
1847         #     Either "AM" or "PM" according to the given time value,
1848         #     or the corresponding strings for the current locale. Noon is
1849         #     treated as "PM" and midnight as "AM".
1850         #   %P
1851         #     Like %p but in lowercase: "am" or "pm" or a corresponding
1852         #     string for the current locale.
1853         #   %r
1854         #     The time in a.m. or p.m. notation. In the POSIX locale this is
1855         #     equivalent to %I:%M:%S %p.
1856         #   %R
1857         #     The time in 24-hour notation (%H:%M). For a version including
1858         #     the seconds, see %T below.
1859         #   %s
1860         #     The number of seconds since the Epoch,
1861         #     1970-01-01 00:00:00 +0000 (UTC)
1862         #   %S
1863         #     The second as a decimal number (range 00 to 60). (The range is
1864         #     up to 60 to allow for occasional leap seconds.) (alt O)
1865         #   %t
1866         #     A tab character.
1867         #   %T
1868         #     The time in 24-hour notation (%H:%M:%S).
1869         #   %u
1870         #     The day of the week as a decimal, range 1 to 7, Monday being 1.
1871         #     See also %w. (alt O)
1872         #   %U
1873         #     The week number of the current year as a decimal number,
1874         #     range 00 to 53, starting with the first Sunday as the first
1875         #     day of week 01. See also %V and %W. (alt O)
1876         #   %V
1877         #     The ISO 8601 week number of the current year as a decimal number,
1878         #     range 01 to 53, where week 1 is the first week that has at least
1879         #     4 days in the new year. See also %U and %W. (alt O)
1880         #   %w
1881         #     The day of the week as a decimal, range 0 to 6, Sunday being 0.
1882         #     See also %u. (alt O)
1883         #   %W
1884         #     The week number of the current year as a decimal number,
1885         #     range 00 to 53, starting with the first Monday as the first day
1886         #     of week 01. (alt O)
1887         #   %x
1888         #     The preferred date representation for the current locale without
1889         #     the time. (alt E)
1890         #   %X
1891         #     The preferred time representation for the current locale without
1892         #     the date. (alt E)
1893         #   %y
1894         #     The year as a decimal number without a century (range 00 to 99).
1895         #     (alt E, alt O)
1896         #   %Y
1897         #     The year as a decimal number including the century. (alt E)
1898         #   %z
1899         #     The +hhmm or -hhmm numeric timezone (that is, the hour and minute
1900         #     offset from UTC).
1901         #   %Z
1902         #     The timezone name or abbreviation.
1903         #   %%
1904         #     A literal '%' character.
1905         # 
1906         # This configuration option has an automatic default value.
1907         # time_format = "%Y-%m-%d %T %z"
1908
1909         # Configuration option report/devtypes_sort.
1910         # List of columns to sort by when reporting 'lvm devtypes' command.
1911         # See 'lvm devtypes -o help' for the list of possible fields.
1912         # This configuration option has an automatic default value.
1913         # devtypes_sort = "devtype_name"
1914
1915         # Configuration option report/devtypes_cols.
1916         # List of columns to report for 'lvm devtypes' command.
1917         # See 'lvm devtypes -o help' for the list of possible fields.
1918         # This configuration option has an automatic default value.
1919         # devtypes_cols = "devtype_name,devtype_max_partitions,devtype_description"
1920
1921         # Configuration option report/devtypes_cols_verbose.
1922         # List of columns to report for 'lvm devtypes' command in verbose mode.
1923         # See 'lvm devtypes -o help' for the list of possible fields.
1924         # This configuration option has an automatic default value.
1925         # devtypes_cols_verbose = "devtype_name,devtype_max_partitions,devtype_description"
1926
1927         # Configuration option report/lvs_sort.
1928         # List of columns to sort by when reporting 'lvs' command.
1929         # See 'lvs -o help' for the list of possible fields.
1930         # This configuration option has an automatic default value.
1931         # lvs_sort = "vg_name,lv_name"
1932
1933         # Configuration option report/lvs_cols.
1934         # List of columns to report for 'lvs' command.
1935         # See 'lvs -o help' for the list of possible fields.
1936         # This configuration option has an automatic default value.
1937         # lvs_cols = "lv_name,vg_name,lv_attr,lv_size,pool_lv,origin,data_percent,metadata_percent,move_pv,mirror_log,copy_percent,convert_lv"
1938
1939         # Configuration option report/lvs_cols_verbose.
1940         # List of columns to report for 'lvs' command in verbose mode.
1941         # See 'lvs -o help' for the list of possible fields.
1942         # This configuration option has an automatic default value.
1943         # lvs_cols_verbose = "lv_name,vg_name,seg_count,lv_attr,lv_size,lv_major,lv_minor,lv_kernel_major,lv_kernel_minor,pool_lv,origin,data_percent,metadata_percent,move_pv,copy_percent,mirror_log,convert_lv,lv_uuid,lv_profile"
1944
1945         # Configuration option report/vgs_sort.
1946         # List of columns to sort by when reporting 'vgs' command.
1947         # See 'vgs -o help' for the list of possible fields.
1948         # This configuration option has an automatic default value.
1949         # vgs_sort = "vg_name"
1950
1951         # Configuration option report/vgs_cols.
1952         # List of columns to report for 'vgs' command.
1953         # See 'vgs -o help' for the list of possible fields.
1954         # This configuration option has an automatic default value.
1955         # vgs_cols = "vg_name,pv_count,lv_count,snap_count,vg_attr,vg_size,vg_free"
1956
1957         # Configuration option report/vgs_cols_verbose.
1958         # List of columns to report for 'vgs' command in verbose mode.
1959         # See 'vgs -o help' for the list of possible fields.
1960         # This configuration option has an automatic default value.
1961         # vgs_cols_verbose = "vg_name,vg_attr,vg_extent_size,pv_count,lv_count,snap_count,vg_size,vg_free,vg_uuid,vg_profile"
1962
1963         # Configuration option report/pvs_sort.
1964         # List of columns to sort by when reporting 'pvs' command.
1965         # See 'pvs -o help' for the list of possible fields.
1966         # This configuration option has an automatic default value.
1967         # pvs_sort = "pv_name"
1968
1969         # Configuration option report/pvs_cols.
1970         # List of columns to report for 'pvs' command.
1971         # See 'pvs -o help' for the list of possible fields.
1972         # This configuration option has an automatic default value.
1973         # pvs_cols = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free"
1974
1975         # Configuration option report/pvs_cols_verbose.
1976         # List of columns to report for 'pvs' command in verbose mode.
1977         # See 'pvs -o help' for the list of possible fields.
1978         # This configuration option has an automatic default value.
1979         # pvs_cols_verbose = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,dev_size,pv_uuid"
1980
1981         # Configuration option report/segs_sort.
1982         # List of columns to sort by when reporting 'lvs --segments' command.
1983         # See 'lvs --segments -o help' for the list of possible fields.
1984         # This configuration option has an automatic default value.
1985         # segs_sort = "vg_name,lv_name,seg_start"
1986
1987         # Configuration option report/segs_cols.
1988         # List of columns to report for 'lvs --segments' command.
1989         # See 'lvs --segments -o help' for the list of possible fields.
1990         # This configuration option has an automatic default value.
1991         # segs_cols = "lv_name,vg_name,lv_attr,stripes,segtype,seg_size"
1992
1993         # Configuration option report/segs_cols_verbose.
1994         # List of columns to report for 'lvs --segments' command in verbose mode.
1995         # See 'lvs --segments -o help' for the list of possible fields.
1996         # This configuration option has an automatic default value.
1997         # segs_cols_verbose = "lv_name,vg_name,lv_attr,seg_start,seg_size,stripes,segtype,stripesize,chunksize"
1998
1999         # Configuration option report/pvsegs_sort.
2000         # List of columns to sort by when reporting 'pvs --segments' command.
2001         # See 'pvs --segments -o help' for the list of possible fields.
2002         # This configuration option has an automatic default value.
2003         # pvsegs_sort = "pv_name,pvseg_start"
2004
2005         # Configuration option report/pvsegs_cols.
2006         # List of columns to sort by when reporting 'pvs --segments' command.
2007         # See 'pvs --segments -o help' for the list of possible fields.
2008         # This configuration option has an automatic default value.
2009         # pvsegs_cols = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size"
2010
2011         # Configuration option report/pvsegs_cols_verbose.
2012         # List of columns to sort by when reporting 'pvs --segments' command in verbose mode.
2013         # See 'pvs --segments -o help' for the list of possible fields.
2014         # This configuration option has an automatic default value.
2015         # pvsegs_cols_verbose = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size,lv_name,seg_start_pe,segtype,seg_pe_ranges"
2016
2017         # Configuration option report/vgs_cols_full.
2018         # List of columns to report for lvm fullreport's 'vgs' subreport.
2019         # See 'vgs -o help' for the list of possible fields.
2020         # This configuration option has an automatic default value.
2021         # vgs_cols_full = "vg_all"
2022
2023         # Configuration option report/pvs_cols_full.
2024         # List of columns to report for lvm fullreport's 'vgs' subreport.
2025         # See 'pvs -o help' for the list of possible fields.
2026         # This configuration option has an automatic default value.
2027         # pvs_cols_full = "pv_all"
2028
2029         # Configuration option report/lvs_cols_full.
2030         # List of columns to report for lvm fullreport's 'lvs' subreport.
2031         # See 'lvs -o help' for the list of possible fields.
2032         # This configuration option has an automatic default value.
2033         # lvs_cols_full = "lv_all"
2034
2035         # Configuration option report/pvsegs_cols_full.
2036         # List of columns to report for lvm fullreport's 'pvseg' subreport.
2037         # See 'pvs --segments -o help' for the list of possible fields.
2038         # This configuration option has an automatic default value.
2039         # pvsegs_cols_full = "pvseg_all,pv_uuid,lv_uuid"
2040
2041         # Configuration option report/segs_cols_full.
2042         # List of columns to report for lvm fullreport's 'seg' subreport.
2043         # See 'lvs --segments -o help' for the list of possible fields.
2044         # This configuration option has an automatic default value.
2045         # segs_cols_full = "seg_all,lv_uuid"
2046
2047         # Configuration option report/vgs_sort_full.
2048         # List of columns to sort by when reporting lvm fullreport's 'vgs' subreport.
2049         # See 'vgs -o help' for the list of possible fields.
2050         # This configuration option has an automatic default value.
2051         # vgs_sort_full = "vg_name"
2052
2053         # Configuration option report/pvs_sort_full.
2054         # List of columns to sort by when reporting lvm fullreport's 'vgs' subreport.
2055         # See 'pvs -o help' for the list of possible fields.
2056         # This configuration option has an automatic default value.
2057         # pvs_sort_full = "pv_name"
2058
2059         # Configuration option report/lvs_sort_full.
2060         # List of columns to sort by when reporting lvm fullreport's 'lvs' subreport.
2061         # See 'lvs -o help' for the list of possible fields.
2062         # This configuration option has an automatic default value.
2063         # lvs_sort_full = "vg_name,lv_name"
2064
2065         # Configuration option report/pvsegs_sort_full.
2066         # List of columns to sort by when reporting for lvm fullreport's 'pvseg' subreport.
2067         # See 'pvs --segments -o help' for the list of possible fields.
2068         # This configuration option has an automatic default value.
2069         # pvsegs_sort_full = "pv_uuid,pvseg_start"
2070
2071         # Configuration option report/segs_sort_full.
2072         # List of columns to sort by when reporting lvm fullreport's 'seg' subreport.
2073         # See 'lvs --segments -o help' for the list of possible fields.
2074         # This configuration option has an automatic default value.
2075         # segs_sort_full = "lv_uuid,seg_start"
2076
2077         # Configuration option report/mark_hidden_devices.
2078         # Use brackets [] to mark hidden devices.
2079         # This configuration option has an automatic default value.
2080         # mark_hidden_devices = 1
2081
2082         # Configuration option report/two_word_unknown_device.
2083         # Use the two words 'unknown device' in place of '[unknown]'.
2084         # This is displayed when the device for a PV is not known.
2085         # This configuration option has an automatic default value.
2086         # two_word_unknown_device = 0
2087 # }
2088
2089 # Configuration section dmeventd.
2090 # Settings for the LVM event daemon.
2091 dmeventd {
2092
2093         # Configuration option dmeventd/mirror_library.
2094         # The library dmeventd uses when monitoring a mirror device.
2095         # libdevmapper-event-lvm2mirror.so attempts to recover from
2096         # failures. It removes failed devices from a volume group and
2097         # reconfigures a mirror as necessary. If no mirror library is
2098         # provided, mirrors are not monitored through dmeventd.
2099         mirror_library = "libdevmapper-event-lvm2mirror.so"
2100
2101         # Configuration option dmeventd/raid_library.
2102         # This configuration option has an automatic default value.
2103         # raid_library = "libdevmapper-event-lvm2raid.so"
2104
2105         # Configuration option dmeventd/snapshot_library.
2106         # The library dmeventd uses when monitoring a snapshot device.
2107         # libdevmapper-event-lvm2snapshot.so monitors the filling of snapshots
2108         # and emits a warning through syslog when the usage exceeds 80%. The
2109         # warning is repeated when 85%, 90% and 95% of the snapshot is filled.
2110         snapshot_library = "libdevmapper-event-lvm2snapshot.so"
2111
2112         # Configuration option dmeventd/thin_library.
2113         # The library dmeventd uses when monitoring a thin device.
2114         # libdevmapper-event-lvm2thin.so monitors the filling of a pool
2115         # and emits a warning through syslog when the usage exceeds 80%. The
2116         # warning is repeated when 85%, 90% and 95% of the pool is filled.
2117         thin_library = "libdevmapper-event-lvm2thin.so"
2118
2119         # Configuration option dmeventd/thin_command.
2120         # The plugin runs command with each 5% increment when thin-pool data volume
2121         # or metadata volume gets above 50%.
2122         # Command which starts with 'lvm ' prefix is internal lvm command.
2123         # You can write your own handler to customise behaviour in more details.
2124         # User handler is specified with the full path starting with '/'.
2125         # This configuration option has an automatic default value.
2126         # thin_command = "lvm lvextend --use-policies"
2127
2128         # Configuration option dmeventd/vdo_library.
2129         # The library dmeventd uses when monitoring a VDO pool device.
2130         # libdevmapper-event-lvm2vdo.so monitors the filling of a pool
2131         # and emits a warning through syslog when the usage exceeds 80%. The
2132         # warning is repeated when 85%, 90% and 95% of the pool is filled.
2133         # This configuration option has an automatic default value.
2134         # vdo_library = "libdevmapper-event-lvm2vdo.so"
2135
2136         # Configuration option dmeventd/vdo_command.
2137         # The plugin runs command with each 5% increment when VDO pool volume
2138         # gets above 50%.
2139         # Command which starts with 'lvm ' prefix is internal lvm command.
2140         # You can write your own handler to customise behaviour in more details.
2141         # User handler is specified with the full path starting with '/'.
2142         # This configuration option has an automatic default value.
2143         # vdo_command = "lvm lvextend --use-policies"
2144
2145         # Configuration option dmeventd/executable.
2146         # The full path to the dmeventd binary.
2147         # This configuration option has an automatic default value.
2148         # executable = "/sbin/dmeventd"
2149 }
2150
2151 # Configuration section tags.
2152 # Host tag settings.
2153 # This configuration section has an automatic default value.
2154 # tags {
2155
2156         # Configuration option tags/hosttags.
2157         # Create a host tag using the machine name.
2158         # The machine name is nodename returned by uname(2).
2159         # This configuration option has an automatic default value.
2160         # hosttags = 0
2161
2162         # Configuration section tags/<tag>.
2163         # Replace this subsection name with a custom tag name.
2164         # Multiple subsections like this can be created. The '@' prefix for
2165         # tags is optional. This subsection can contain host_list, which is a
2166         # list of machine names. If the name of the local machine is found in
2167         # host_list, then the name of this subsection is used as a tag and is
2168         # applied to the local machine as a 'host tag'. If this subsection is
2169         # empty (has no host_list), then the subsection name is always applied
2170         # as a 'host tag'.
2171         # 
2172         # Example
2173         # The host tag foo is given to all hosts, and the host tag
2174         # bar is given to the hosts named machine1 and machine2.
2175         # tags { foo { } bar { host_list = [ "machine1", "machine2" ] } }
2176         # 
2177         # This configuration section has variable name.
2178         # This configuration section has an automatic default value.
2179         # tag {
2180
2181                 # Configuration option tags/<tag>/host_list.
2182                 # A list of machine names.
2183                 # These machine names are compared to the nodename returned
2184                 # by uname(2). If the local machine name matches an entry in
2185                 # this list, the name of the subsection is applied to the
2186                 # machine as a 'host tag'.
2187                 # This configuration option does not have a default value defined.
2188         # }
2189 # }