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
|
||||
$(MAKE) -C test $(@)
|
||||
|
||||
conf.generate: tools
|
||||
|
||||
generate: conf.generate
|
||||
$(MAKE) -C conf generate
|
||||
|
||||
install_system_dirs:
|
||||
$(INSTALL_DIR) $(DESTDIR)$(DEFAULT_SYS_DIR)
|
||||
$(INSTALL_ROOT_DIR) $(DESTDIR)$(DEFAULT_ARCHIVE_DIR)
|
||||
|
@ -26,6 +26,14 @@ include $(top_builddir)/make.tmpl
|
||||
|
||||
.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)
|
||||
@if [ ! -e $(confdir)/$(CONFDEST) ]; then \
|
||||
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.pofile) $(SUBDIRS.install_cluster) $(SUBDIRS.cflow)
|
||||
.PHONY: $(SUBDIRS.device-mapper) $(SUBDIRS.install-device-mapper)
|
||||
.PHONY: $(SUBDIRS.generate) generate
|
||||
|
||||
SUBDIRS.device-mapper := $(SUBDIRS:=.device-mapper)
|
||||
SUBDIRS.install := $(SUBDIRS:=.install)
|
||||
@ -342,6 +343,9 @@ $(SUBDIRS.pofile):
|
||||
$(MAKE) -C $(@:.pofile=) pofile
|
||||
endif
|
||||
|
||||
$(SUBDIRS.generate):
|
||||
$(MAKE) -C $(@:.generate=) generate
|
||||
|
||||
ifneq ("$(CFLOW_LIST_TARGET)", "")
|
||||
CLEAN_CFLOW += $(CFLOW_LIST_TARGET)
|
||||
$(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
|
||||
with a letter can be left unquoted.
|
||||
|
||||
.SH SECTIONS
|
||||
.LP
|
||||
The sections that may be present in the file are:
|
||||
.TP
|
||||
\fBdevices\fP \(em Device settings
|
||||
.IP
|
||||
\fBdir\fP \(em Directory in which to create volume group device nodes.
|
||||
Defaults to "/dev". Commands also accept this as a prefix on volume
|
||||
group names.
|
||||
.IP
|
||||
\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:
|
||||
.SH SETTINGS
|
||||
|
||||
The
|
||||
.B lvm dumpconfig
|
||||
command prints the LVM configuration settings in various ways.
|
||||
See the man page
|
||||
.BR lvm-dumpconfig (8).
|
||||
|
||||
Command to print a list of all possible config settings, with their
|
||||
default values:
|
||||
.br
|
||||
\fBdevices { preferred_names = [ "^/dev/mapper/mpath" ] }\fP
|
||||
.IP
|
||||
\fBfilter\fP \(em List of patterns to apply to devices found by a scan.
|
||||
Patterns are regular expressions delimited by any character and preceded
|
||||
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:
|
||||
.B lvm dumpconfig \-\-type default
|
||||
|
||||
Command to print a list of all possible config settings, with their
|
||||
default values, and a full description of each as a comment:
|
||||
.br
|
||||
\fBdevices { filter=["r|cdrom|"] }\fP
|
||||
.IP
|
||||
\fBglobal_filter\fP \(em Since "filter" might get overridden from the command line, it
|
||||
is not suitable for system-wide device filtering (udev rules, lvmetad). To hide
|
||||
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.
|
||||
.B lvm dumpconfig \-\-type default --withfullcomments
|
||||
|
||||
Command to print a list of all possible config settings, with their
|
||||
current values (configured, non-default values are shown):
|
||||
.br
|
||||
If lvmetad has been running while use_lvmetad was 0, it \fBMUST\fP be stopped before
|
||||
changing use_lvmetad to 1 and started again afterwards.
|
||||
.TP
|
||||
\fBtags\fP \(em Host tag settings
|
||||
.IP
|
||||
\fBhosttags\fP \(em If set to 1, create a host tag with the machine name.
|
||||
Setting this to 0 does nothing, neither creating nor destroying any tag.
|
||||
The machine name used is the nodename as returned by \fBuname\fP (2).
|
||||
.IP
|
||||
Additional host tags to be set can be listed here as subsections.
|
||||
The @ prefix for tags is optional.
|
||||
Each of these host tag subsections can contain a \fBhost_list\fP
|
||||
array of host names. If any one of these entries matches the machine
|
||||
name exactly then the host tag gets defined on this particular host,
|
||||
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.
|
||||
.B lvm dumpconfig \-\-type current
|
||||
|
||||
Command to print all config settings that have been configured with a
|
||||
different value than the default (configured, non-default values are
|
||||
shown):
|
||||
.br
|
||||
.B lvm dumpconfig \-\-type diff
|
||||
|
||||
Command to print a single config setting, with its default value,
|
||||
and a full description, where "Section" refers to the config section,
|
||||
e.g. global, and "Setting" refers to the name of the specific setting,
|
||||
e.g. umask:
|
||||
.br
|
||||
.B lvm dumpconfig \-\-type default --withfullcomments Section/Setting
|
||||
|
||||
|
||||
.SH FILES
|
||||
.I #DEFAULT_SYS_DIR#/lvm.conf
|
||||
.br
|
||||
.I #DEFAULT_SYS_DIR#/lvmlocal.conf
|
||||
.br
|
||||
.I #DEFAULT_ARCHIVE_DIR#
|
||||
.br
|
||||
.I #DEFAULT_BACKUP_DIR#
|
||||
@ -658,10 +204,10 @@ the tools as normal, or else vgcfgbackup, edit backup, vgcfgrestore.
|
||||
.I #DEFAULT_CACHE_DIR#/.cache
|
||||
.br
|
||||
.I #DEFAULT_LOCK_DIR#
|
||||
.br
|
||||
.I #DEFAULT_PROFILE_DIR#
|
||||
|
||||
.SH SEE ALSO
|
||||
.BR lvm (8),
|
||||
.BR umask (2),
|
||||
.BR uname (2),
|
||||
.BR dlopen (3),
|
||||
.BR syslog (3),
|
||||
.BR syslog.conf (5)
|
||||
.BR lvm (8)
|
||||
.BR lvm-dumpconfig (8)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user