lvm.conf

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
LVM.CONF(5)							  LVM.CONF(5)



NAME
       lvm.conf - Configuration file for LVM2

SYNOPSIS
       /etc/lvm/lvm.conf

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

SYNTAX
       This section describes the configuration file syntax.

       Whitespace is not significant unless it is within quotes.   This	 pro-
       vides  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 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.


SECTIONS
       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".

	      preferred_names — 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:
	      devices { preferred_names = [ "^/dev/mapper/mpath" ] }

	      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 tra-
	      versed 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_dir	 —  Persistent filter cache file directory.  Defaults
	      to "/etc/lvm/cache".

	      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-map-
	      per 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  satisfac-
	      torily  e.g.  if a device has been reused without wiping the md
	      superblocks first.

       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 out-
	      put.

	      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 sus-
	      pended during activation.	  Only	set  this  temporarily	while
	      debugging	 a problem because in low memory situations this set-
	      ting 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.	 Dis-
	      abling  this might make metadata recovery difficult or impossi-
	      ble 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 wrong.

	      retain_min — Minimum number of archives to keep.	 Defaults  to
	      10.

	      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 cre-
	      ated.  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 vol-
	      umes 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  commu-
	      nicate  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 con-
	      tain code to process different formats of metadata.  For	exam-
	      ple,  liblvm2formatpool.so  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-clus-
	      ter=internal (the default) then 3 means to use  built-in	clus-
	      ter-wide	locking.   All	changes	 to logical volumes and their
	      states are communicated using locks.

	      locking_dir — The directory LVM2 places its file locks if lock-
	      ing_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	 liblvm2clus-
	      terlock.so.   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 subsec-
	      tions.  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 ear-
	      lier files.  Any additional host tags defined get	 appended  to
	      the search list, so in turn they can lead to further configura-
	      tion 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 vol-
	      umes 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
	      mirroring.

	      readahead — Used when there is no readahead value stored in the
	      volume  group  metadata.	 Set  to none to disable readahead in
	      these circumstances or auto to use the default value chosen  by
	      the kernel.

	      reserved_memory,	reserved_stack	—  How many KB to reserve for
	      LVM2 to use while logical volumes are suspended.	 If  insuffi-
	      cient  memory is reserved before suspension, there is a risk of
	      machine deadlock.

	      process_priority — The nice value to use while devices are sus-
	      pended.  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.

	      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 --meta-
	      datacopies.  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 com-
	      plex 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	 vol-
	      umes.   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	meta-
	      data  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, vgcfgre-
	      store.

FILES
       /etc/lvm/lvm.conf	   /etc/lvm/archive	      /etc/lvm/backup
       /etc/lvm/cache/.cache /var/lock/lvm

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



Sistina Software UK		  LVM TOOLS			  LVM.CONF(5)