lvm.conf(5) — Linux manual page


LVM.CONF(5)                File Formats Manual               LVM.CONF(5)

NAME         top

       lvm.conf — Configuration file for LVM2

SYNOPSIS         top


DESCRIPTION         top

       lvm.conf is loaded during the initialisation phase of lvm(8).
       This file can in turn lead to other files being loaded - settings
       read in later override earlier settings.  File timestamps are
       checked between commands and if any have changed, all the files
       are reloaded.

       For a description of each lvm.conf(5) setting, run:

       lvmconfig --typeconfig default --withcomments --withspaces

       The settings defined in lvm.conf can be overridden by any of
       these extended configuration methods:

       direct config override on command line
              The --config ConfigurationString command line option takes
              the ConfigurationString as direct string representation of
              the configuration to override the existing configuration.
              The ConfigurationString is of exactly the same format as
              used in any LVM configuration file.

       profile config
              A profile is a set of selected customizable configuration
              settings that are aimed to achieve a certain
              characteristics in various environments or uses. It's used
              to override existing configuration.  Normally, the name of
              the profile should reflect that environment or use.

       There are two groups of profiles recognised: command profiles and
       metadata profiles.

       The command profile is used to override selected configuration
       settings at global LVM command level - it is applied at the very
       beginning of LVM command execution and it is used throughout the
       whole time of LVM command execution. The command profile is
       applied by using the --commandprofile ProfileName command line
       option that is recognised by all LVM2 commands.

       The metadata profile is used to override selected configuration
       settings at Volume Group/Logical Volume level - it is applied
       independently for each Volume Group/Logical Volume that is being
       processed. As such, each Volume Group/Logical Volume can store
       the profile name used in its metadata so next time the Volume
       Group/Logical Volume is processed, the profile is applied
       automatically. If Volume Group and any of its Logical Volumes
       have different profiles defined, the profile defined for the
       Logical Volume is preferred. The metadata profile can be
       attached/detached by using the lvchange and vgchange commands and
       their --metadataprofile ProfileName and --detachprofile options
       or the --metadataprofile option during creation when using
       vgcreate or lvcreate command.  The vgs and lvs reporting commands
       provide -o vg_profile and -o lv_profile output options to show
       the metadata profile currently attached to a Volume Group or a
       Logical Volume.

       The set of options allowed for command profiles is mutually
       exclusive when compared to the set of options allowed for
       metadata profiles. The settings that belong to either of these
       two sets can't be mixed together and LVM tools will reject such

       LVM itself provides a few predefined configuration profiles.
       Users are allowed to add more profiles with different values if
       needed.  For this purpose, there's the
       command_profile_template.profile (for command profiles) and
       metadata_profile_template.profile (for metadata profiles) which
       contain all settings that are customizable by profiles of certain
       type. Users are encouraged to copy these template profiles and
       edit them as needed. Alternatively, the lvmconfig --file
       <ProfileName.profile> --type profilable-command <section> or
       lvmconfig --file <ProfileName.profile> --type profilable-metadata
       <section> can be used to generate a configuration with profilable
       settings in either of the type for given section and save it to
       new ProfileName.profile (if the section is not specified, all
       profilable settings are reported).

       The profiles are stored in /etc/lvm/profile directory by default.
       This location can be changed by using the config/profile_dir
       setting.  Each profile configuration is stored in
       ProfileName.profile file in the profile directory. When
       referencing the profile, the .profile suffix is left out.

       tag config
              See tags configuration setting description below.

       When several configuration methods are used at the same time and
       when LVM looks for the value of a particular setting, it
       traverses this config cascade from left to right:

       direct config override on command line command profile config metadata profile config tag config lvmlocal.conf lvm.conf

       No part of this cascade is compulsory. If there's no setting
       value found at the end of the cascade, a default value is used
       for that setting.  Use lvmconfig to check what settings are in
       use and what the default values are.

SYNTAX         top

       This section describes the configuration file syntax.

       Whitespace is not significant unless it is within quotes.  This
       provides a wide choice of acceptable indentation styles.
       Comments begin with # and continue to the end of the line.  They
       are treated as whitespace.

       Here is an informal grammar:

       file = value*
              A configuration file consists of a set of values.

       value = section | assignment
              A value can either be a new section, or an assignment.

       section = identifier '{' value* '}'
              A section groups associated values together. If the same
              section is encountered multiple times, the contents of all
              instances are concatenated together in the order of
              It is denoted by a name and delimited by curly brackets.
              e.g. backup {

       assignment = identifier '=' ( array | type )
              An assignment associates a type with an identifier. If the
              identifier contains forward slashes, those are interpreted
              as path delimiters. The statement section/key = value is
              equivalent to section { key = value }. If multiple
              instances of the same key are encountered, only the last
              value is used (and a warning is issued).
              e.g. level = 7

       array =  '[' ( type ',')* type ']' | '[' ']'
              Inhomogeneous arrays are supported.
              Elements must be separated by commas.
              An empty array is acceptable.
              An array with one element will be correctly interpreted if
              the array brackets are missing.

       type = integer|float|string
              integer = [0-9]*
              float = [0-9]*'.'[0-9]*
              string = '"' .* '"'

              Strings with spaces must be enclosed in double quotes,
              single words that start with a letter can be left

SETTINGS         top

       The lvmconfig command prints the LVM configuration settings in
       various ways.  See the man page lvmconfig(8).

       Command to print a list of all possible config settings, with
       their default values:
       lvmconfig --type default

       Command to print a list of all possible config settings, with
       their default values, and a full description of each as a
       lvmconfig --type default --withcomments

       Command to print a list of all possible config settings, with
       their current values (configured, non-default values are shown):
       lvmconfig --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):
       lvmconfig --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:
       lvmconfig --type default --withcomments Section/Setting

FILES         top


SEE ALSO         top

       lvm(8), lvmconfig(8)

COLOPHON         top

       This page is part of the lvm2 (Logical Volume Manager 2) project.
       Information about the project can be found at 
       ⟨⟩.  If you have a bug report for
       this manual page, see ⟨⟩.
       This page was obtained from the project's upstream Git repository
       ⟨git://⟩ on 2024-06-14.  (At that
       time, the date of the most recent commit that was found in the
       repository was 2024-06-11.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to

Red Hat, Inc.     LVM TOOLS 2.03.25(2)-git (2024-05-16)      LVM.CONF(5)

Pages that refer to this page: lvm.conf(5)lvmcache(7)lvmraid(7)lvmsystemid(7)lvmthin(7)lvmvdo(7)dmeventd(8)fsadm(8)lvchange(8)lvconvert(8)lvcreate(8)lvdisplay(8)lvextend(8)lvm(8)lvmconfig(8)lvmdevices(8)lvmdiskscan(8)lvm-fullreport(8)lvm_import_vdo(8)lvm-lvpoll(8)lvmpolld(8)lvreduce(8)lvremove(8)lvrename(8)lvresize(8)lvs(8)lvscan(8)pvchange(8)pvck(8)pvcreate(8)pvdisplay(8)pvmove(8)pvremove(8)pvresize(8)pvs(8)pvscan(8)vgcfgbackup(8)vgcfgrestore(8)vgchange(8)vgck(8)vgconvert(8)vgcreate(8)vgdisplay(8)vgexport(8)vgextend(8)vgimport(8)vgimportclone(8)vgimportdevices(8)vgmerge(8)vgmknodes(8)vgreduce(8)vgremove(8)vgrename(8)vgs(8)vgscan(8)vgsplit(8)