Provided by: lvm2_2.02.02-1ubuntu1_i386 bug


       lvm.conf - Configuration file for LVM2




       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.

       Use lvm dumpconfig to check what settings are in use.


       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

       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 is groups associated values together.
              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.
              e.g. max_archives = 42

       array = β€β€™[β€β€™ (type β€β€™,β€β€™)* type β€β€™]β€β€™ | β€β€™[β€β€™ β€β€™]β€β€™
              Inhomogeneous arrays are supported.
              Elements must be separated by commas.
              An empty array is acceptable.

       type = integer | float | string
              integer = [0-9]*
              float = [0-9]*.[0-9]*
              string = β€β€™"β€β€™ .* β€β€™"β€β€™

              Strings must be enclosed in double quotes.


       The sections that may be present in the file are:

       devices β€” Device settings

              dir  β€”  Directory  in which to create volume group device nodes.
              Defaults to "/dev".  Commands also accept this as  a  prefix  on
              volume group names.

              scan  β€” List of directories to scan recursively for LVM physical
              volumes.  Devices in directories outside this hierarchy will  be
              ignored.  Defaults to "/dev".

              filter  β€”  List of patterns to apply to devices found by a scan.
              Patterns are regular expressions delimited by any character  and
              preceded  by  a  (for  accept)  or  r (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  any  name  matches  any a pattern, the device is
              accepted; otherwise if any name matches  any  r  pattern  it  is
              rejected;  otherwise  it  is accepted.  As an example, to ignore
              /dev/cdrom you could use: devices { filter=["r|cdrom|"] }

              cache   β€”   Persistent   filter   cache   file.    Defaults   to

              write_cache_state  β€”  Set to 0 to disable the writing out of the
              persistent filter cache file when lvm exits.  Defaults to 1.

              types β€” 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:
              types = ["fd", 16].  To create physical volumes on device-mapper
              volumes  created  outside  LVM2,  perhaps  encrypted  ones  from
              cryptsetup, you’ll need types = ["device-mapper", 16].   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.

              sysfs_scan (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.

              md_component_detection (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

       log β€” Default log settings

              file  β€”  Location of log file.  If this entry is not present, no
              log file is written.

              overwrite β€” Set to 1 to overwrite the log file each time a  tool
              is invoked.  By default tools append messages to the log file.

              level  β€” Log level (0-9) of messages to write to the file.  9 is
              the most verbose; 0 should produce no output.

              verbose β€” Default level (0-3) of  messages  sent  to  stdout  or
              stderr.   3  is  the  most  verbose;  0 should produce the least

              syslog β€” 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.

              indent β€” When set to  1  (the  default)  messages  are  indented
              according  to their severity, two spaces per level.  Set to 0 to
              turn off indentation.

              command_names β€” When set to 1, the command name  is  used  as  a
              prefix for each message.  Default is 0 (off).

              prefix  β€” Prefix used for all messages (after the command name).
              Default is two spaces.

              activation β€”  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.

       backup β€” Configuration for metadata backups.

              archive_dir  β€”  Directory  used for automatic metadata archives.
              Backup copies of former  metadata  for  each  volume  group  are
              archived here.  Defaults to "/etc/lvm/archive".

              backup_dir  β€”  Directory used for automatic metadata backups.  A
              single backup copy of the current metadata for each volume group
              is stored here.  Defaults to "/etc/lvm/backup".

              archive  β€”  Whether  or not tools automatically archive existing
              metadata into archive_dir 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.

              backup  β€”  Whether  or  not  tools make an automatic backup into
              backup_dir 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

              retain_min  β€”  Minimum  number of archives to keep.  Defaults to

              retain_days β€” Minimum number of  days  to  keep  archive  files.
              Defaults to 30.

       shell β€” LVM2 built-in readline shell settings

              history_size  β€”  Maximum  number  of  lines  of shell history to
              retain (default 100) in $HOME/.lvm_history

       global β€” Global settings

              test β€” 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.

              activation β€” 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.

              proc β€” Mount point of proc filesystem.  Defaults to /proc.

              umask β€”  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.

              format  β€”  The default value of --metadatatype used to determine
              which format of metadata  to  use  when  creating  new  physical
              volumes and volume groups. lvm1 or lvm2.

              fallback_to_lvm1  β€”  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 --metadataformat lvm1 when creating them.

              library_dir  β€”  A directory searched for LVM2’s shared libraries
              ahead of the places dlopen (3) searches.

              format_libraries β€” A list  of  shared  libraries  to  load  that
              contain  code  to  process  different  formats  of metadata. For
              example,  is  needed  to  read  GFS   pool
              metadata if LVM2 was configured --with-pool=shared.

              locking_type  β€”  What type of locking to use.  1 is the default,
              which use flocks on files in locking_dir (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 locking_library
              (see   below).    If   the   tools   were   configured   --with-
              cluster=internal  (the  default)  then  3  means to use built-in
              cluster-wide locking.  All changes to logical volumes and  their
              states are communicated using locks.

              locking_dir  β€”  The  directory  LVM2  places  its  file locks if
              locking_type is set to 1.  The default is /var/lock/lvm.

              locking_library β€” The name of the external  locking  library  to
              load   if   locking_type   is   set   to   2.   The  default  is
      If you need to write such a library,  look  at
              the lib/locking source code directory.

       tags β€” Host tag settings

              hosttags β€” 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
              uname (2).

              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  host_list  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.

              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_<host_tag>.conf  it attempts to
              load it.  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  lvm dumpconfig to
              check the result of config file processing.

              The following example always sets host tags tag1 and  sets  tag2
              on machines fs1 and fs2:

              tags { tag1 { } tag2 { host_list = [ "fs1", "fs2" ] } }

              These  options  are  useful if you are replicating configuration
              files around a cluster.  Use of hosttags = 1 means every machine
              can  have static and identical local configuration files yet use
              different settings and activate  different  logical  volumes  by
              default.  See also volume_list below and --addtag in lvm (8).

       activation β€” Settings affecting device-mapper activation

              missing_stripe_filler  β€”  When  activating an incomplete logical
              volume in partial mode, this missing data is replaced with  this
              device.   It could perhaps be a block device that always returns
              an error when it is accessed, or one that always returns  zeros.
              See lvcreate (8) for how to create such devices.

              mirror_region_size  β€”  Unit  size in KB for copy operations when

              reserved_memory, reserved_stack β€” 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.

              process_priority  β€”  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

              volume_list  β€”  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 tags above).  Logical volume and volume groups can
              also be included in the list by name e.g. vg00, vg00/lvol1.

       metadata β€” Advanced metadata settings

              pvmetadatacopies β€” 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
              --metadatacopies.  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.

              pvmetadatasize β€” 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.

              dirs β€” 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, pvmetadatacopies
              =  0.  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.


       /etc/lvm/lvm.conf  /etc/lvm/.cache   /etc/lvm/archive   /etc/lvm/backup


       lvm(8), umask(2), uname(2), dlopen(3), syslog(3), syslog.conf(5)