mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-02 01:18:26 +03:00
config: remove duplication of settings
The specific config settings have been removed from the lvm.conf(5) man page, and replaced with a description of how to use lvm dumpconfig to view the settings. The sample lvm.conf and lvmlocal.conf files are now generated: example.conf.base - initial ungenerated part of the file example.conf.gen - generated portion from dumpconfig example.conf.in - combination of .base and .gen files example.conf - result of configure processing .in file lvmlocal.conf.base - initial ungenerated part of the file lvmlocal.conf.gen - generated portion from dumpconfig lvmlocal.conf.in - combination of .base and .gen files lvmlocal.conf - result of configure processing .in file Do not edit the .in files, but edit config_settings.h or the .base files, and then use 'make generate' to create the new .in files. - configure with options - make creates tools/lvm - make generate uses tools/lvm to create example.conf.in and lvmlocal.conf.in by combining .base files with dumpconfig output. - configure with same options as above creates example.conf and lvmlocal.conf from .in files
This commit is contained in:
parent
9b86e8e8f4
commit
47ed4cdc35
@ -95,6 +95,11 @@ DISTCLEAN_TARGETS += cscope.out
|
|||||||
check check_system check_cluster check_local check_lvmetad unit: all
|
check check_system check_cluster check_local check_lvmetad unit: all
|
||||||
$(MAKE) -C test $(@)
|
$(MAKE) -C test $(@)
|
||||||
|
|
||||||
|
conf.generate: tools
|
||||||
|
|
||||||
|
generate: conf.generate
|
||||||
|
$(MAKE) -C conf generate
|
||||||
|
|
||||||
install_system_dirs:
|
install_system_dirs:
|
||||||
$(INSTALL_DIR) $(DESTDIR)$(DEFAULT_SYS_DIR)
|
$(INSTALL_DIR) $(DESTDIR)$(DEFAULT_SYS_DIR)
|
||||||
$(INSTALL_ROOT_DIR) $(DESTDIR)$(DEFAULT_ARCHIVE_DIR)
|
$(INSTALL_ROOT_DIR) $(DESTDIR)$(DEFAULT_ARCHIVE_DIR)
|
||||||
|
@ -26,6 +26,14 @@ include $(top_builddir)/make.tmpl
|
|||||||
|
|
||||||
.PHONY: install_conf install_localconf install_profiles
|
.PHONY: install_conf install_localconf install_profiles
|
||||||
|
|
||||||
|
generate:
|
||||||
|
$(top_builddir)/tools/lvm dumpconfig --type default --unconfigured --withfullcomments --ignorelocal > example.conf.gen
|
||||||
|
cat example.conf.base example.conf.gen > example.conf.in
|
||||||
|
rm example.conf.gen
|
||||||
|
$(top_builddir)/tools/lvm dumpconfig --type default --unconfigured --withfullcomments local > lvmlocal.conf.gen
|
||||||
|
cat lvmlocal.conf.base lvmlocal.conf.gen > lvmlocal.conf.in
|
||||||
|
rm lvmlocal.conf.gen
|
||||||
|
|
||||||
install_conf: $(CONFSRC)
|
install_conf: $(CONFSRC)
|
||||||
@if [ ! -e $(confdir)/$(CONFDEST) ]; then \
|
@if [ ! -e $(confdir)/$(CONFDEST) ]; then \
|
||||||
echo "$(INSTALL_WDATA) -D $< $(confdir)/$(CONFDEST)"; \
|
echo "$(INSTALL_WDATA) -D $< $(confdir)/$(CONFDEST)"; \
|
||||||
|
12
conf/example.conf.base
Normal file
12
conf/example.conf.base
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# This is an example configuration file for the LVM2 system.
|
||||||
|
# It contains the default settings that would be used if there was no
|
||||||
|
# @DEFAULT_SYS_DIR@/lvm.conf file.
|
||||||
|
#
|
||||||
|
# Refer to 'man lvm.conf' for further information including the file layout.
|
||||||
|
#
|
||||||
|
# To put this file in a different directory and override @DEFAULT_SYS_DIR@ set
|
||||||
|
# the environment variable LVM_SYSTEM_DIR before running the tools.
|
||||||
|
#
|
||||||
|
# N.B. Take care that each setting only appears once if uncommenting
|
||||||
|
# example settings in this file.
|
||||||
|
|
1384
conf/example.conf.in
1384
conf/example.conf.in
File diff suppressed because it is too large
Load Diff
19
conf/lvmlocal.conf.base
Normal file
19
conf/lvmlocal.conf.base
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# This is a local configuration file template for the LVM2 system
|
||||||
|
# which should be installed as @DEFAULT_SYS_DIR@/lvmlocal.conf .
|
||||||
|
#
|
||||||
|
# Refer to 'man lvm.conf' for information about the file layout.
|
||||||
|
#
|
||||||
|
# To put this file in a different directory and override
|
||||||
|
# @DEFAULT_SYS_DIR@ set the environment variable LVM_SYSTEM_DIR before
|
||||||
|
# running the tools.
|
||||||
|
#
|
||||||
|
# The lvmlocal.conf file is normally expected to contain only the
|
||||||
|
# "local" section which contains settings that should not be shared or
|
||||||
|
# repeated among different hosts. (But if other sections are present,
|
||||||
|
# they *will* get processed. Settings in this file override equivalent
|
||||||
|
# ones in lvm.conf and are in turn overridden by ones in any enabled
|
||||||
|
# lvm_<tag>.conf files.)
|
||||||
|
#
|
||||||
|
# Please take care that each setting only appears once if uncommenting
|
||||||
|
# example settings in this file and never copy this file between hosts.
|
||||||
|
|
@ -1,54 +0,0 @@
|
|||||||
# This is a local configuration file template for the LVM2 system
|
|
||||||
# which should be installed as @DEFAULT_SYS_DIR@/lvmlocal.conf .
|
|
||||||
#
|
|
||||||
# This file allows you to assign a unique identity to a host running
|
|
||||||
# LVM2 that is permitted to access storage devices visible to more than
|
|
||||||
# one machine simultaneously.
|
|
||||||
#
|
|
||||||
# You must ensure that every such host uses a different system_id
|
|
||||||
# identifier, otherwise LVM2 cannot protect you from simultaneous
|
|
||||||
# access from multiple hosts and possible data corruption.
|
|
||||||
#
|
|
||||||
# Refer to 'man lvmsystemid' for information about the correct ways
|
|
||||||
# to use this and its limitations.
|
|
||||||
#
|
|
||||||
# Refer to 'man lvm.conf' for information about the file layout.
|
|
||||||
#
|
|
||||||
# To put this file in a different directory and override
|
|
||||||
# @DEFAULT_SYS_DIR@ set the environment variable LVM_SYSTEM_DIR before
|
|
||||||
# running the tools.
|
|
||||||
#
|
|
||||||
# The lvmlocal.conf file is normally expected to contain only the
|
|
||||||
# "local" section which contains settings that should not be shared or
|
|
||||||
# repeated among different hosts. (But if other sections are present,
|
|
||||||
# they *will* get processed. Settings in this file override equivalent
|
|
||||||
# ones in lvm.conf and are in turn overridden by ones in any enabled
|
|
||||||
# lvm_<tag>.conf files.)
|
|
||||||
#
|
|
||||||
# Please take care that each setting only appears once if uncommenting
|
|
||||||
# example settings in this file and never copy this file between
|
|
||||||
# hosts to avoid accidentally assigning the same system ID to
|
|
||||||
# more than one host!
|
|
||||||
|
|
||||||
local {
|
|
||||||
# This defines the system ID of the local host. This is used
|
|
||||||
# when global/system_id_source is set to "lvmlocal" in the main
|
|
||||||
# configuration file, conventionally @DEFAULT_SYS_DIR@/lvm.conf.
|
|
||||||
# When used, it must be set to a unique value - often a hostname -
|
|
||||||
# across all the hosts sharing access to the storage.
|
|
||||||
#
|
|
||||||
# By default, no system_id is set.
|
|
||||||
# system_id = ""
|
|
||||||
#
|
|
||||||
# Set the system_id to the string "host1".
|
|
||||||
# system_id = "host1"
|
|
||||||
|
|
||||||
# This defines a list of extra system_ids other than the local
|
|
||||||
# system_id that the local host is allowed to access. These are
|
|
||||||
# used for all values of global/system_id_source except "none".
|
|
||||||
#
|
|
||||||
# Only use this if you have read 'man lvmsystemid' and you are sure
|
|
||||||
# you understand why you need to use it!
|
|
||||||
#
|
|
||||||
# extra_system_ids = []
|
|
||||||
}
|
|
@ -282,6 +282,7 @@ POTFILES = $(SOURCES:%.c=%.pot)
|
|||||||
.PHONY: $(SUBDIRS) $(SUBDIRS.install) $(SUBDIRS.clean) $(SUBDIRS.distclean)
|
.PHONY: $(SUBDIRS) $(SUBDIRS.install) $(SUBDIRS.clean) $(SUBDIRS.distclean)
|
||||||
.PHONY: $(SUBDIRS.pofile) $(SUBDIRS.install_cluster) $(SUBDIRS.cflow)
|
.PHONY: $(SUBDIRS.pofile) $(SUBDIRS.install_cluster) $(SUBDIRS.cflow)
|
||||||
.PHONY: $(SUBDIRS.device-mapper) $(SUBDIRS.install-device-mapper)
|
.PHONY: $(SUBDIRS.device-mapper) $(SUBDIRS.install-device-mapper)
|
||||||
|
.PHONY: $(SUBDIRS.generate) generate
|
||||||
|
|
||||||
SUBDIRS.device-mapper := $(SUBDIRS:=.device-mapper)
|
SUBDIRS.device-mapper := $(SUBDIRS:=.device-mapper)
|
||||||
SUBDIRS.install := $(SUBDIRS:=.install)
|
SUBDIRS.install := $(SUBDIRS:=.install)
|
||||||
@ -342,6 +343,9 @@ $(SUBDIRS.pofile):
|
|||||||
$(MAKE) -C $(@:.pofile=) pofile
|
$(MAKE) -C $(@:.pofile=) pofile
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
$(SUBDIRS.generate):
|
||||||
|
$(MAKE) -C $(@:.generate=) generate
|
||||||
|
|
||||||
ifneq ("$(CFLOW_LIST_TARGET)", "")
|
ifneq ("$(CFLOW_LIST_TARGET)", "")
|
||||||
CLEAN_CFLOW += $(CFLOW_LIST_TARGET)
|
CLEAN_CFLOW += $(CFLOW_LIST_TARGET)
|
||||||
$(CFLOW_LIST_TARGET): $(CFLOW_LIST)
|
$(CFLOW_LIST_TARGET): $(CFLOW_LIST)
|
||||||
|
@ -155,502 +155,48 @@ An empty array is acceptable.
|
|||||||
Strings with spaces must be enclosed in double quotes, single words that start
|
Strings with spaces must be enclosed in double quotes, single words that start
|
||||||
with a letter can be left unquoted.
|
with a letter can be left unquoted.
|
||||||
|
|
||||||
.SH SECTIONS
|
.SH SETTINGS
|
||||||
.LP
|
|
||||||
The sections that may be present in the file are:
|
The
|
||||||
.TP
|
.B lvm dumpconfig
|
||||||
\fBdevices\fP \(em Device settings
|
command prints the LVM configuration settings in various ways.
|
||||||
.IP
|
See the man page
|
||||||
\fBdir\fP \(em Directory in which to create volume group device nodes.
|
.BR lvm-dumpconfig (8).
|
||||||
Defaults to "/dev". Commands also accept this as a prefix on volume
|
|
||||||
group names.
|
Command to print a list of all possible config settings, with their
|
||||||
.IP
|
default values:
|
||||||
\fBscan\fP \(em List of directories to scan recursively for
|
|
||||||
LVM physical volumes.
|
|
||||||
Devices in directories outside this hierarchy will be ignored.
|
|
||||||
Defaults to "/dev".
|
|
||||||
.IP
|
|
||||||
\fBpreferred_names\fP \(em List of patterns compared in turn against
|
|
||||||
all the pathnames referencing the same device in in the scanned directories.
|
|
||||||
The pathname that matches the earliest pattern in the list is the
|
|
||||||
one used in any output. As an example, if device-mapper multipathing
|
|
||||||
is used, the following will select multipath device names:
|
|
||||||
.br
|
.br
|
||||||
\fBdevices { preferred_names = [ "^/dev/mapper/mpath" ] }\fP
|
.B lvm dumpconfig \-\-type default
|
||||||
.IP
|
|
||||||
\fBfilter\fP \(em List of patterns to apply to devices found by a scan.
|
Command to print a list of all possible config settings, with their
|
||||||
Patterns are regular expressions delimited by any character and preceded
|
default values, and a full description of each as a comment:
|
||||||
by \fBa\fP (for accept) or \fBr\fP (for reject). The list is traversed
|
|
||||||
in order, and the first regex that matches determines if the device
|
|
||||||
will be accepted or rejected (ignored). Devices that don't match
|
|
||||||
any patterns are accepted. If you want to reject patterns that
|
|
||||||
don't match, end the list with "r/.*/".
|
|
||||||
If there are several names for the same device (e.g. symbolic links
|
|
||||||
in /dev), if the first matching pattern in the list for any of the names is an
|
|
||||||
\fBa\fP pattern, the device is accepted; otherwise if the first matching
|
|
||||||
pattern in the list for any of the names is an \fBr\fP pattern it is rejected;
|
|
||||||
otherwise it is accepted. As an example, to ignore /dev/cdrom you could use:
|
|
||||||
.br
|
.br
|
||||||
\fBdevices { filter=["r|cdrom|"] }\fP
|
.B lvm dumpconfig \-\-type default --withfullcomments
|
||||||
.IP
|
|
||||||
\fBglobal_filter\fP \(em Since "filter" might get overridden from the command line, it
|
Command to print a list of all possible config settings, with their
|
||||||
is not suitable for system-wide device filtering (udev rules, lvmetad). To hide
|
current values (configured, non-default values are shown):
|
||||||
devices from LVM-specific udev processing and/or from lvmetad, you need to set
|
|
||||||
global_filter. The syntax is the same as for normal "filter" above. Devices that
|
|
||||||
fail the global_filter are not even opened by LVM.
|
|
||||||
.IP
|
|
||||||
\fBcache_dir\fP \(em Persistent filter cache file directory.
|
|
||||||
Defaults to "#DEFAULT_CACHE_DIR#".
|
|
||||||
.IP
|
|
||||||
\fBwrite_cache_state\fP \(em Set to 0 to disable the writing out of the
|
|
||||||
persistent filter cache file when \fBlvm\fP exits.
|
|
||||||
Defaults to 1.
|
|
||||||
.IP
|
|
||||||
\fBtypes\fP \(em List of pairs of additional acceptable block device types
|
|
||||||
found in /proc/devices together with maximum (non-zero) number of
|
|
||||||
partitions (normally 16). By default, LVM2 supports ide, sd, md, loop,
|
|
||||||
dasd, dac960, nbd, ida, cciss, ubd, ataraid, drbd, power2, i2o_block
|
|
||||||
and iseries/vd. Block devices with major
|
|
||||||
numbers of different types are ignored by LVM2.
|
|
||||||
Example: \fBtypes = ["fd", 16]\fP.
|
|
||||||
To create physical volumes on device-mapper volumes
|
|
||||||
created outside LVM2, perhaps encrypted ones from \fBcryptsetup\fP,
|
|
||||||
you'll need \fBtypes = ["device-mapper", 16]\fP. But if you do this,
|
|
||||||
be careful to avoid recursion within LVM2. The figure for number
|
|
||||||
of partitions is not currently used in LVM2 - and might never be.
|
|
||||||
.IP
|
|
||||||
\fBsysfs_scan\fP \(em If set to 1 and your kernel supports sysfs and
|
|
||||||
it is mounted, sysfs will be used as a quick way of filtering out
|
|
||||||
block devices that are not present.
|
|
||||||
.IP
|
|
||||||
\fBmd_component_detection\fP \(em If set to 1, LVM2 will ignore devices
|
|
||||||
used as components of software RAID (md) devices by looking for md
|
|
||||||
superblocks. This doesn't always work satisfactorily e.g. if a device
|
|
||||||
has been reused without wiping the md superblocks first.
|
|
||||||
.IP
|
|
||||||
\fBmd_chunk_alignment\fP \(em If set to 1, and a Physical Volume is placed
|
|
||||||
directly upon an md device, LVM2 will align its data blocks with the
|
|
||||||
md device's stripe-width.
|
|
||||||
.IP
|
|
||||||
\fBdata_alignment_detection\fP \(em If set to 1, and your kernel provides
|
|
||||||
topology information in sysfs for the Physical Volume, the start of data
|
|
||||||
area will be aligned on a multiple of the ’minimum_io_size’ or
|
|
||||||
’optimal_io_size’ exposed in sysfs. minimum_io_size is the smallest
|
|
||||||
request the device can perform without incurring a read-modify-write
|
|
||||||
penalty (e.g. MD's chunk size). optimal_io_size is the device's
|
|
||||||
preferred unit of receiving I/O (e.g. MD's stripe width). minimum_io_size
|
|
||||||
is used if optimal_io_size is undefined (0). If both \fBmd_chunk_alignment\fP
|
|
||||||
and \fBdata_alignment_detection\fP are enabled the result of
|
|
||||||
\fBdata_alignment_detection\fP is used.
|
|
||||||
.IP
|
|
||||||
\fBdata_alignment\fP \(em Default alignment (in KB) of start of data area
|
|
||||||
when creating a new Physical Volume using the \fBlvm2\fP format.
|
|
||||||
If a Physical Volume is placed directly upon an md device and
|
|
||||||
\fBmd_chunk_alignment\fP or \fBdata_alignment_detection\fP is enabled
|
|
||||||
this parameter is ignored. Set to 0 to use the default alignment of
|
|
||||||
64KB or the page size, if larger.
|
|
||||||
.IP
|
|
||||||
\fBdata_alignment_offset_detection\fP \(em If set to 1, and your kernel
|
|
||||||
provides topology information in sysfs for the Physical Volume, the
|
|
||||||
start of the aligned data area of the Physical Volume will be shifted
|
|
||||||
by the alignment_offset exposed in sysfs.
|
|
||||||
.sp
|
|
||||||
To see the location of the first Physical Extent of an existing Physical Volume
|
|
||||||
use \fBpvs \-o +pe_start\fP . It will be a multiple of the requested
|
|
||||||
\fBdata_alignment\fP plus the alignment_offset from
|
|
||||||
\fBdata_alignment_offset_detection\fP (if enabled) or the pvcreate
|
|
||||||
commandline.
|
|
||||||
.IP
|
|
||||||
\fBdisable_after_error_count\fP \(em During each LVM operation errors received
|
|
||||||
from each device are counted. If the counter of a particular device exceeds
|
|
||||||
the limit set here, no further I/O is sent to that device for the remainder of
|
|
||||||
the respective operation. Setting the parameter to 0 disables the counters
|
|
||||||
altogether.
|
|
||||||
.IP
|
|
||||||
\fBpv_min_size\fP \(em
|
|
||||||
Minimal size (in KB) of the block device which can be used as a PV.
|
|
||||||
In clustered environment all nodes have to use the same value.
|
|
||||||
Any value smaller than 512KB is ignored. Up to and include version 2.02.84
|
|
||||||
the default was 512KB. From 2.02.85 onwards it was changed to 2MB to
|
|
||||||
avoid floppy drives by default.
|
|
||||||
.IP
|
|
||||||
\fBissue_discards\fP \(em
|
|
||||||
Issue discards to a logical volumes's underlying physical volume(s) when the
|
|
||||||
logical volume is no longer using the physical volumes' space (e.g. lvremove,
|
|
||||||
lvreduce, etc). Discards inform the storage that a region is no longer in use.
|
|
||||||
Storage that supports discards advertise the protocol specific way discards
|
|
||||||
should be issued by the kernel (TRIM, UNMAP, or WRITE SAME with UNMAP bit set).
|
|
||||||
Not all storage will support or benefit from discards but SSDs and thinly
|
|
||||||
provisioned LUNs generally do. If set to 1, discards will only be issued if
|
|
||||||
both the storage and kernel provide support.
|
|
||||||
.IP
|
|
||||||
.TP
|
|
||||||
\fBallocation\fP \(em Space allocation policies
|
|
||||||
.IP
|
|
||||||
\fBcling_tag_list\fP \(em List of PV tags matched by the \fBcling\fP allocation policy.
|
|
||||||
.IP
|
|
||||||
When searching for free space to extend an LV, the \fBcling\fP
|
|
||||||
allocation policy will choose space on the same PVs as the last
|
|
||||||
segment of the existing LV. If there is insufficient space and a
|
|
||||||
list of tags is defined here, it will check whether any of them are
|
|
||||||
attached to the PVs concerned and then seek to match those PV tags
|
|
||||||
between existing extents and new extents.
|
|
||||||
.IP
|
|
||||||
The @ prefix for tags is required.
|
|
||||||
Use the special tag "@*" as a wildcard to match any PV tag and so use
|
|
||||||
all PV tags for this purpose.
|
|
||||||
.IP
|
|
||||||
For example, LVs are mirrored between two sites within a single VG.
|
|
||||||
PVs are tagged with either @site1 or @site2 to indicate where
|
|
||||||
they are situated and these two PV tags are selected for use with this
|
|
||||||
allocation policy:
|
|
||||||
.IP
|
|
||||||
cling_tag_list = [ "@site1", "@site2" ]
|
|
||||||
.IP
|
|
||||||
\fBcache_pool_cachemode\fP \(em Cache mode for new cache pools.
|
|
||||||
.IP
|
|
||||||
This is the default cache mode a new cache pool will be given.
|
|
||||||
Valid cache modes are:
|
|
||||||
\fBwritethrough\fP - Data blocks are immediately written from the
|
|
||||||
cache to disk.
|
|
||||||
\fBwriteback\fP - Data blocks are written from the cache
|
|
||||||
back to disk after some delay to improve performance.
|
|
||||||
.TP
|
|
||||||
\fBlog\fP \(em Default log settings
|
|
||||||
.IP
|
|
||||||
\fBfile\fP \(em Location of log file. If this entry is not present, no
|
|
||||||
log file is written.
|
|
||||||
.IP
|
|
||||||
\fBoverwrite\fP \(em Set to 1 to overwrite the log file each time a tool
|
|
||||||
is invoked. By default tools append messages to the log file.
|
|
||||||
.IP
|
|
||||||
\fBlevel\fP \(em Log level (0-9) of messages to write to the file.
|
|
||||||
9 is the most verbose; 0 should produce no output.
|
|
||||||
.IP
|
|
||||||
\fBverbose\fP \(em Default level (0-3) of messages sent to stdout or stderr.
|
|
||||||
3 is the most verbose; 0 should produce the least output.
|
|
||||||
.IP
|
|
||||||
\fBsilent\fP \(em Set to 1 to suppress all non-essential tool output.
|
|
||||||
When set, display and reporting tools will still write the requested
|
|
||||||
device properties to standard output, but messages confirming that
|
|
||||||
something was or wasn't changed will be reduced to the 'verbose' level
|
|
||||||
and not appear unless \-v is supplied.
|
|
||||||
.IP
|
|
||||||
\fBsyslog\fP \(em Set to 1 (the default) to send log messages through syslog.
|
|
||||||
Turn off by setting to 0. If you set to an integer greater than one,
|
|
||||||
this is used - unvalidated - as the facility. The default is LOG_USER.
|
|
||||||
See /usr/include/sys/syslog.h for safe facility values to use.
|
|
||||||
For example, LOG_LOCAL0 might be 128.
|
|
||||||
.IP
|
|
||||||
\fBindent\fP \(em When set to 1 (the default) messages are indented
|
|
||||||
according to their severity, two spaces per level.
|
|
||||||
Set to 0 to turn off indentation.
|
|
||||||
.IP
|
|
||||||
\fBcommand_names\fP \(em When set to 1, the command name is used as a
|
|
||||||
prefix for each message.
|
|
||||||
Default is 0 (off).
|
|
||||||
.IP
|
|
||||||
\fBprefix\fP \(em Prefix used for all messages (after the command name).
|
|
||||||
Default is two spaces.
|
|
||||||
.IP
|
|
||||||
\fBactivation\fP \(em Set to 1 to log messages while
|
|
||||||
devices are suspended during activation.
|
|
||||||
Only set this temporarily while debugging a problem because
|
|
||||||
in low memory situations this setting can cause your machine to lock up.
|
|
||||||
.TP
|
|
||||||
\fBbackup\fP \(em Configuration for metadata backups.
|
|
||||||
.IP
|
|
||||||
\fBarchive_dir\fP \(em Directory used for automatic metadata archives.
|
|
||||||
Backup copies of former metadata for each volume group are archived here.
|
|
||||||
Defaults to "#DEFAULT_ARCHIVE_DIR#".
|
|
||||||
.IP
|
|
||||||
\fBbackup_dir\fP \(em Directory used for automatic metadata backups.
|
|
||||||
A single backup copy of the current metadata for each volume group
|
|
||||||
is stored here.
|
|
||||||
Defaults to "#DEFAULT_BACKUP_DIR#".
|
|
||||||
.IP
|
|
||||||
\fBarchive\fP \(em Whether or not tools automatically archive existing
|
|
||||||
metadata into \fBarchive_dir\fP before making changes to it.
|
|
||||||
Default is 1 (automatic archives enabled).
|
|
||||||
Set to 0 to disable.
|
|
||||||
Disabling this might make metadata recovery difficult or impossible
|
|
||||||
if something goes wrong.
|
|
||||||
.IP
|
|
||||||
\fBbackup\fP \(em Whether or not tools make an automatic backup
|
|
||||||
into \fBbackup_dir\fP after changing metadata.
|
|
||||||
Default is 1 (automatic backups enabled). Set to 0 to disable.
|
|
||||||
Disabling this might make metadata recovery difficult or impossible
|
|
||||||
if something goes wrong.
|
|
||||||
.IP
|
|
||||||
\fBretain_min\fP \(em Minimum number of archives to keep.
|
|
||||||
Defaults to 10.
|
|
||||||
.IP
|
|
||||||
\fBretain_days\fP \(em Minimum number of days to keep archive files.
|
|
||||||
Defaults to 30.
|
|
||||||
.TP
|
|
||||||
\fBshell\fP \(em LVM2 built-in readline shell settings
|
|
||||||
.IP
|
|
||||||
\fBhistory_size\fP \(em Maximum number of lines of shell history to retain (default 100) in $HOME/.lvm_history
|
|
||||||
.TP
|
|
||||||
\fBglobal\fP \(em Global settings
|
|
||||||
.IP
|
|
||||||
\fBtest\fP \(em If set to 1, run tools in test mode i.e. no changes to
|
|
||||||
the on-disk metadata will get made. It's equivalent to having the
|
|
||||||
-t option on every command.
|
|
||||||
.IP
|
|
||||||
\fBactivation\fP \(em Set to 0 to turn off all communication with
|
|
||||||
the device-mapper driver. Useful if you want to manipulate logical
|
|
||||||
volumes while device-mapper is not present in your kernel.
|
|
||||||
.IP
|
|
||||||
\fBproc\fP \(em Mount point of proc filesystem.
|
|
||||||
Defaults to /proc.
|
|
||||||
.IP
|
|
||||||
\fBumask\fP \(em File creation mask for any files and directories created.
|
|
||||||
Interpreted as octal if the first digit is zero.
|
|
||||||
Defaults to 077.
|
|
||||||
Use 022 to allow other users to read the files by default.
|
|
||||||
.IP
|
|
||||||
\fBformat\fP \(em The default value of \fB\-\-metadatatype\fP used
|
|
||||||
to determine which format of metadata to use when creating new
|
|
||||||
physical volumes and volume groups. \fBlvm1\fP or \fBlvm2\fP.
|
|
||||||
.IP
|
|
||||||
\fBfallback_to_lvm1\fP \(em Set this to 1 if you need to
|
|
||||||
be able to switch between 2.4 kernels using LVM1 and kernels
|
|
||||||
including device-mapper.
|
|
||||||
The LVM2 tools should be installed as normal and
|
|
||||||
the LVM1 tools should be installed with a .lvm1 suffix e.g.
|
|
||||||
vgscan.lvm1.
|
|
||||||
If an LVM2 tool is then run but unable to communicate
|
|
||||||
with device-mapper, it will automatically invoke the equivalent LVM1
|
|
||||||
version of the tool. Note that for LVM1 tools to
|
|
||||||
manipulate physical volumes and volume groups created by LVM2 you
|
|
||||||
must use \fB\-\-metadataformat lvm1\fP when creating them.
|
|
||||||
.IP
|
|
||||||
\fBlibrary_dir\fP \(em A directory searched for LVM2's shared libraries
|
|
||||||
ahead of the places \fBdlopen\fP (3) searches.
|
|
||||||
.IP
|
|
||||||
\fBformat_libraries\fP \(em A list of shared libraries to load that contain
|
|
||||||
code to process different formats of metadata. For example, liblvm2formatpool.so
|
|
||||||
is needed to read GFS pool metadata if LVM2 was configured \fB\-\-with-pool=shared\fP.
|
|
||||||
.IP
|
|
||||||
\fBlocking_type\fP \(em What type of locking to use.
|
|
||||||
1 is the default, which use flocks on files in \fBlocking_dir\fP
|
|
||||||
(see below) to
|
|
||||||
avoid conflicting LVM2 commands running concurrently on a single
|
|
||||||
machine. 0 disables locking and risks corrupting your metadata.
|
|
||||||
If set to 2, the tools will load the external \fBlocking_library\fP
|
|
||||||
(see below).
|
|
||||||
If the tools were configured \fB\-\-with-cluster=internal\fP
|
|
||||||
(the default) then 3 means to use built-in cluster-wide locking.
|
|
||||||
Type 4 enforces read-only metadata and forbids any operations that
|
|
||||||
might want to modify Volume Group metadata.
|
|
||||||
All changes to logical volumes and their states are communicated
|
|
||||||
using locks.
|
|
||||||
.IP
|
|
||||||
\fBwait_for_locks\fP \(em When set to 1, the default, the tools
|
|
||||||
wait if a lock request cannot be satisfied immediately.
|
|
||||||
When set to 0, the operation is aborted instead.
|
|
||||||
.IP
|
|
||||||
\fBlocking_dir\fP \(em The directory LVM2 places its file locks
|
|
||||||
if \fBlocking_type\fP is set to 1. The default is \fB/var/lock/lvm\fP.
|
|
||||||
.IP
|
|
||||||
\fBlocking_library\fP \(em The name of the external locking
|
|
||||||
library to load if \fBlocking_type\fP is set to 2.
|
|
||||||
The default is \fBliblvm2clusterlock.so\fP. If you need to write
|
|
||||||
such a library, look at the lib/locking source code directory.
|
|
||||||
.IP
|
|
||||||
\fBuse_lvmetad\fP \(em Whether to use (trust) a running instance of lvmetad. If
|
|
||||||
this is set to 0, all commands fall back to the usual scanning mechanisms. When
|
|
||||||
set to 1 \fBand\fP when lvmetad is running (it is not auto-started), the volume
|
|
||||||
group metadata and PV state flags are obtained from the lvmetad instance and no
|
|
||||||
scanning is done by the individual commands. In a setup with lvmetad, lvmetad
|
|
||||||
udev rules \fBmust\fP be set up for LVM to work correctly. Without proper udev
|
|
||||||
rules, all changes in block device configuration will be \fBignored\fP until a
|
|
||||||
manual 'pvscan \-\-cache' is performed.
|
|
||||||
.br
|
.br
|
||||||
If lvmetad has been running while use_lvmetad was 0, it \fBMUST\fP be stopped before
|
.B lvm dumpconfig \-\-type current
|
||||||
changing use_lvmetad to 1 and started again afterwards.
|
|
||||||
.TP
|
Command to print all config settings that have been configured with a
|
||||||
\fBtags\fP \(em Host tag settings
|
different value than the default (configured, non-default values are
|
||||||
.IP
|
shown):
|
||||||
\fBhosttags\fP \(em If set to 1, create a host tag with the machine name.
|
.br
|
||||||
Setting this to 0 does nothing, neither creating nor destroying any tag.
|
.B lvm dumpconfig \-\-type diff
|
||||||
The machine name used is the nodename as returned by \fBuname\fP (2).
|
|
||||||
.IP
|
Command to print a single config setting, with its default value,
|
||||||
Additional host tags to be set can be listed here as subsections.
|
and a full description, where "Section" refers to the config section,
|
||||||
The @ prefix for tags is optional.
|
e.g. global, and "Setting" refers to the name of the specific setting,
|
||||||
Each of these host tag subsections can contain a \fBhost_list\fP
|
e.g. umask:
|
||||||
array of host names. If any one of these entries matches the machine
|
.br
|
||||||
name exactly then the host tag gets defined on this particular host,
|
.B lvm dumpconfig \-\-type default --withfullcomments Section/Setting
|
||||||
otherwise it doesn't.
|
|
||||||
.IP
|
|
||||||
After lvm.conf has been processed, LVM2 works through each host
|
|
||||||
tag that has been defined in turn, and if there is a configuration
|
|
||||||
file called lvm_\fB<host_tag>\fP.conf it attempts to load it.
|
|
||||||
The activation/volume_list, devices/filter and devices/types settings are merged
|
|
||||||
(these all are lists), otherwise any settings read in override settings found in
|
|
||||||
earlier files. Any additional host tags defined get appended to the search list,
|
|
||||||
so in turn they can lead to further configuration files being processed.
|
|
||||||
Use \fBlvm dumpconfig\fP to check the result of config
|
|
||||||
file processing.
|
|
||||||
.IP
|
|
||||||
The following example always sets host tags \fBtag1\fP and
|
|
||||||
sets \fBtag2\fP on machines fs1 and fs2:
|
|
||||||
.IP
|
|
||||||
tags { tag1 { } tag2 { host_list = [ "fs1", "fs2" ] } }
|
|
||||||
.IP
|
|
||||||
These options are useful if you are replicating configuration files
|
|
||||||
around a cluster. Use of \fBhosttags = 1\fP means every machine
|
|
||||||
can have static and identical local configuration files yet use
|
|
||||||
different settings and activate different logical volumes by
|
|
||||||
default. See also \fBvolume_list\fP below and \fB\-\-addtag\fP
|
|
||||||
in \fBlvm\fP (8).
|
|
||||||
.TP
|
|
||||||
\fBactivation\fP \(em Settings affecting device-mapper activation
|
|
||||||
.IP
|
|
||||||
\fBmissing_stripe_filler\fP \(em When activating an incomplete logical
|
|
||||||
volume in partial mode, this option dictates how the missing data is
|
|
||||||
replaced. A value of "error" will cause activation to create error
|
|
||||||
mappings for the missing data, meaning that read access to missing
|
|
||||||
portions of the volume will result in I/O errors. You can instead also
|
|
||||||
use a device path, and in that case this device will be used in place of
|
|
||||||
missing stripes. However, note that using anything other than
|
|
||||||
"error" with mirrored or snapshotted volumes is likely to result in data
|
|
||||||
corruption. For instructions on how to create a device that always
|
|
||||||
returns zeros, see \fBlvcreate\fP (8).
|
|
||||||
.IP
|
|
||||||
\fBmirror_region_size\fP \(em Unit size in KB for copy operations
|
|
||||||
when mirroring.
|
|
||||||
.IP
|
|
||||||
\fBreadahead\fP \(em Used when there is no readahead value stored
|
|
||||||
in the volume group metadata. Set to \fBnone\fP to disable
|
|
||||||
readahead in these circumstances or \fBauto\fP to use the default
|
|
||||||
value chosen by the kernel.
|
|
||||||
.IP
|
|
||||||
\fBreserved_memory\fP, \fBreserved_stack\fP \(em How many KB to reserve
|
|
||||||
for LVM2 to use while logical volumes are suspended. If insufficient
|
|
||||||
memory is reserved before suspension, there is a risk of machine deadlock.
|
|
||||||
.IP
|
|
||||||
\fBprocess_priority\fP \(em The nice value to use while devices are
|
|
||||||
suspended. This is set to a high priority so that logical volumes
|
|
||||||
are suspended (with I/O generated by other processes to those
|
|
||||||
logical volumes getting queued) for the shortest possible time.
|
|
||||||
.IP
|
|
||||||
\fBvolume_list\fP \(em This acts as a filter through which
|
|
||||||
all requests to activate a logical volume on this machine
|
|
||||||
are passed. A logical volume is only activated if it matches
|
|
||||||
an item in the list. Tags must be preceded by @ and are checked
|
|
||||||
against all tags defined in the logical volume and volume group
|
|
||||||
metadata for a match.
|
|
||||||
@* is short-hand to check every tag set on the host machine (see
|
|
||||||
\fBtags\fP above).
|
|
||||||
Logical volume and volume groups can also be included in the list
|
|
||||||
by name e.g. vg00, vg00/lvol1.
|
|
||||||
If this setting is not present but at least one host tag is defined
|
|
||||||
then a default single-entry list containing @* is assumed.
|
|
||||||
.IP
|
|
||||||
\fBauto_activation_volume_list\fP \(em This acts as a filter through
|
|
||||||
which all requests to autoactivate a logical volume on this machine
|
|
||||||
are passed. A logical volume is autoactivated if it matches
|
|
||||||
an item in the list. Volumes must also pass the \fBvolume_list\fP
|
|
||||||
filter, if present. Tags must be preceded by @ and are checked against
|
|
||||||
all tags defined in the logical volume and volume group metadata for
|
|
||||||
a match. @* is short-hand to check every tag set on the host machine
|
|
||||||
(see \fBtags\fP above).
|
|
||||||
Logical volume and volume groups can also be included in the list
|
|
||||||
by name e.g. vg00, vg00/lvol1.
|
|
||||||
.IP
|
|
||||||
\fBread_only_volume_list\fP \(em This acts as a filter through
|
|
||||||
which all requests to activate a logical volume on this machine
|
|
||||||
are passed. A logical volume is activated in read-only mode (instead
|
|
||||||
of read-write) if it matches an item in the list. Volumes must first
|
|
||||||
pass the \fBvolume_list\fP filter, if present. Tags must be preceded
|
|
||||||
by @ and are checked against all tags defined in the logical volume
|
|
||||||
and volume group metadata for a match.
|
|
||||||
@* is short-hand to check every tag set on the host machine (see
|
|
||||||
\fBtags\fP above).
|
|
||||||
Logical volume and volume groups can also be included in the list
|
|
||||||
by name e.g. vg00, vg00/lvol1.
|
|
||||||
.TP
|
|
||||||
\fBmetadata\fP \(em Advanced metadata settings
|
|
||||||
.IP
|
|
||||||
\fBpvmetadatacopies\fP \(em When creating a physical volume using the
|
|
||||||
LVM2 metadata format, this is the default number of copies of metadata
|
|
||||||
to store on each physical volume.
|
|
||||||
Currently it can be set to 0, 1 or 2. The default is 1.
|
|
||||||
If set to 2, one copy is placed at the beginning of the disk
|
|
||||||
and the other is placed at the end.
|
|
||||||
It can be overridden on the command line with \fB\-\-pvmetadatacopies\fP
|
|
||||||
(see \fBpvcreate\fP).
|
|
||||||
If creating a volume group with just one physical volume, it's a
|
|
||||||
good idea to have 2 copies. If creating a large volume group with
|
|
||||||
many physical volumes, you may decide that 3 copies of the metadata
|
|
||||||
is sufficient, i.e. setting it to 1 on three of the physical volumes,
|
|
||||||
and 0 on the rest. Every volume group must contain at least one
|
|
||||||
physical volume with at least 1 copy of the metadata (unless using
|
|
||||||
the text files described below). The disadvantage of having lots
|
|
||||||
of copies is that every time the tools access the volume group, every
|
|
||||||
copy of the metadata has to be accessed, and this slows down the
|
|
||||||
tools.
|
|
||||||
.IP
|
|
||||||
\fBpvmetadatasize\fP \(em Approximate number of sectors to set aside
|
|
||||||
for each copy of the metadata. Volume groups with large numbers of
|
|
||||||
physical or logical volumes, or volumes groups containing complex
|
|
||||||
logical volume structures will need additional space for their metadata.
|
|
||||||
The metadata areas are treated as circular buffers, so
|
|
||||||
unused space becomes filled with an archive of the most recent
|
|
||||||
previous versions of the metadata.
|
|
||||||
.IP
|
|
||||||
\fBpvmetadataignore\fP When creating a physical volume using the LVM2
|
|
||||||
metadata format, this states whether metadata areas should be ignored.
|
|
||||||
The default is "n". If metadata areas on a physical volume are ignored,
|
|
||||||
LVM will not not store metadata in the metadata areas present on newly
|
|
||||||
created Physical Volumes. The option can be overridden on the command
|
|
||||||
line with \fB\-\-metadataignore\fP (See \fBpvcreate\fP and \fBpvchange\fP).
|
|
||||||
Metadata areas cannot be created or extended after Logical Volumes have
|
|
||||||
been allocated on the device.
|
|
||||||
If you do not want to store metadata on this device, it is still wise
|
|
||||||
always to allocate a metadata area (use a non-zero value for
|
|
||||||
\fB\-\-pvmetadatacopies\fP) in case you need it in the future and to use
|
|
||||||
this option to instruct LVM2 to ignore it.
|
|
||||||
.IP
|
|
||||||
\fBvgmetadatacopies\fP \(em When creating a volume group using the
|
|
||||||
LVM2 metadata format, this is the default number of copies of metadata
|
|
||||||
desired across all the physical volumes in the volume group. If set to
|
|
||||||
a non-zero value, LVM will automatically set or clear the metadataignore
|
|
||||||
flag on the physical volumes (see \fBpvcreate\fP and \fBpvchange\fP
|
|
||||||
\fB\-\-metadataignore\fP) in order to achieve the desired number of metadata
|
|
||||||
copies. An LVM command that adds or removes physical volumes (for example,
|
|
||||||
\fBvgextend\fP, \fBvgreduce\fP, \fBvgsplit\fP, or \fBvgmerge\fP), may cause
|
|
||||||
LVM to automatically set or clear the metadataignore flags. Also, if
|
|
||||||
physical volumes go missing or reappear, or a new number of copies is
|
|
||||||
explicitly set (see \fBvgchange \-\-vgmetadatacopies\fP), LVM may adjust
|
|
||||||
the metadataignore flags.
|
|
||||||
Set \fBvgmetadatacopies\fP to 0 instructs LVM not to set or clear the
|
|
||||||
metadataignore flags automatically. You may set a value larger than the
|
|
||||||
sum of all metadata areas on all physical volumes. The value can
|
|
||||||
be overridden on the command line with \fB\-\-vgmetadatacopies\fP for various
|
|
||||||
commands (for example, \fBvgcreate\fP and \fBvgchange\fP), and can be
|
|
||||||
queryied with the \fBvg_mda_copies\fP field of \fBvgs\fP. This option
|
|
||||||
is useful for volume groups containing large numbers of physical volumes
|
|
||||||
with metadata as it may be used to minimize metadata read and write overhead.
|
|
||||||
.IP
|
|
||||||
\fBdirs\fP \(em List of directories holding live copies of LVM2
|
|
||||||
metadata as text files. These directories must not be on logical
|
|
||||||
volumes. It is possible to use LVM2 with a couple of directories
|
|
||||||
here, preferably on different (non-logical-volume) filesystems
|
|
||||||
and with no other on-disk metadata, \fBpvmetadatacopies = 0\fP.
|
|
||||||
Alternatively these directories can be in addition to the
|
|
||||||
on-disk metadata areas. This feature was created during the
|
|
||||||
development of the LVM2 metadata before the new on-disk metadata
|
|
||||||
areas were designed and no longer gets tested.
|
|
||||||
It is not supported under low-memory conditions, and it is
|
|
||||||
important never to edit these metadata files unless you fully
|
|
||||||
understand how things work: to make changes you should always use
|
|
||||||
the tools as normal, or else vgcfgbackup, edit backup, vgcfgrestore.
|
|
||||||
.SH FILES
|
.SH FILES
|
||||||
.I #DEFAULT_SYS_DIR#/lvm.conf
|
.I #DEFAULT_SYS_DIR#/lvm.conf
|
||||||
.br
|
.br
|
||||||
|
.I #DEFAULT_SYS_DIR#/lvmlocal.conf
|
||||||
|
.br
|
||||||
.I #DEFAULT_ARCHIVE_DIR#
|
.I #DEFAULT_ARCHIVE_DIR#
|
||||||
.br
|
.br
|
||||||
.I #DEFAULT_BACKUP_DIR#
|
.I #DEFAULT_BACKUP_DIR#
|
||||||
@ -658,10 +204,10 @@ the tools as normal, or else vgcfgbackup, edit backup, vgcfgrestore.
|
|||||||
.I #DEFAULT_CACHE_DIR#/.cache
|
.I #DEFAULT_CACHE_DIR#/.cache
|
||||||
.br
|
.br
|
||||||
.I #DEFAULT_LOCK_DIR#
|
.I #DEFAULT_LOCK_DIR#
|
||||||
|
.br
|
||||||
|
.I #DEFAULT_PROFILE_DIR#
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR lvm (8),
|
.BR lvm (8)
|
||||||
.BR umask (2),
|
.BR lvm-dumpconfig (8)
|
||||||
.BR uname (2),
|
|
||||||
.BR dlopen (3),
|
|
||||||
.BR syslog (3),
|
|
||||||
.BR syslog.conf (5)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user