lvm.conf man page on LinuxMint

Man page or keyword search:  
man Server   4994 pages
apropos Keyword Search (all sections)
Output format
LinuxMint logo
[printable version]

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 white‐
       space.

       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 the first matching pattern in the list for any of  the
	      names  is an a pattern, the device is accepted; otherwise if the
	      first matching pattern in the list for any of the names is an  r
	      pattern  it  is rejected; otherwise it is accepted.  As an exam‐
	      ple, 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-mapper
	      volumes created outside LVM2, perhaps encrypted ones from crypt‐
	      setup, 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  —  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  —	 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.

	      md_chunk_alignment  —  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.

	      data_alignment_detection — 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 ’mini‐
	      mum_io_size’  or	’optimal_io_size’  exposed  in	sysfs.	 mini‐
	      mum_io_size is the smallest request the device can perform with‐
	      out 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 md_chunk_alignment
	      and  data_alignment_detection  are   enabled   the   result   of
	      data_alignment_detection is used.

	      data_alignment — Default alignment (in KB) of start of data area
	      when creating a new Physical Volume using the lvm2 format.  If a
	      Physical	Volume	is  placed  directly  upon  an	md  device and
	      md_chunk_alignment or data_alignment_detection is	 enabled  this
	      parameter	 is ignored.  Set to 0 to use the default alignment of
	      64KB or the page size, if larger.

	      data_alignment_offset_detection — 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.

	      To  see the location of the first Physical Extent of an existing
	      Physical Volume use pvs -o +pe_start .  It will be a multiple of
	      the  requested  data_alignment  plus  the	 alignment_offset from
	      data_alignment_offset_detection (if  enabled)  or	 the  pvcreate
	      commandline.

	      disable_after_error_count	 —  During  each  LVM operation errors
	      received from each device are counted.  If the counter of a par‐
	      ticular  device  exceeds	the  limit set here, no further I/O is
	      sent to that device for the remainder of the  respective	opera‐
	      tion.  Setting  the  parameter  to 0 disables the counters alto‐
	      gether.

	      pv_min_size — 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.

	      issue_discards — Issue discards to a logical volumes's  underly‐
	      ing  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 spe‐
	      cific  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.

       allocation — Space allocation policies

	      cling_tag_list — List of PV tags matched by the cling allocation
	      policy.

	      When searching for free space to extend an LV, the cling alloca‐
	      tion  policy  will choose space on the same PVs as the last seg‐
	      ment 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.

	      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.

	      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:

	      cling_tag_list = [ "@site1", "@site2" ]

       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.

	      silent  —	 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.

	      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 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
	      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 communi‐
	      cate with device-mapper, it will automatically invoke the equiv‐
	      alent 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 example,
	      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-cluster=inter‐
	      nal (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.

	      wait_for_locks — 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.

	      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 configura‐
	      tion 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 con‐
	      fig 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 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 lvcreate (8).

	      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 log‐
	      ical 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.

	      auto_activation_volume_list  —  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  vol‐
	      ume_list	filter, if present. Tags must be preceded by @ and are
	      checked against all tags defined in the logical volume and  vol‐
	      ume  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.

	      read_only_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	activated  in  read-only  mode
	      (instead of read-write) if it matches an item in the list.  Vol‐
	      umes must first pass the volume_list 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
	      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
	      --pvmetadatacopies  (see	pvcreate).  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	suffi‐
	      cient,  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 hav‐
	      ing  lots of copies is that every time the tools access the vol‐
	      ume 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 buf‐
	      fers, so unused space becomes filled with an archive of the most
	      recent previous versions of the metadata.

	      pvmetadataignore	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 meta‐
	      data  areas  present  on	newly  created	Physical Volumes.  The
	      option can be overridden on the command line with	 --metadataig‐
	      nore (See pvcreate and pvchange).	 Metadata areas cannot be cre‐
	      ated 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 --pvmetadatacopies) in case you need it in
	      the future and to use this option to instruct LVM2 to ignore it.

	      vgmetadatacopies — When creating a volume group using  the  LVM2
	      metadata	format,	 this is the default number of copies of meta‐
	      data 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
	      pvcreate	and pvchange --metadataignore) in order to achieve the
	      desired number of metadata copies.  An LVM command that adds  or
	      removes  physical	 volumes  (for	example,  vgextend,  vgreduce,
	      vgsplit, or vgmerge), 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  vgchange  --vgmetadatacopies),  LVM	 may  adjust the meta‐
	      dataignore flags.	 Set vgmetadatacopies 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 --vgmetadatacopies for various commands (for  example,
	      vgcreate	 and   vgchange),   and	  can  be  queryied  with  the
	      vg_mda_copies field of vgs.  This option is  useful  for	volume
	      groups  containing  large numbers of physical volumes with meta‐
	      data as it may be used to minimize metadata read and write over‐
	      head.

	      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 devel‐
	      opment of the LVM2 metadata  before  the	new  on-disk  metadata
	      areas  were  designed and no longer gets tested.	It is not sup‐
	      ported 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.

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

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

Sistina Software UK    LVM TOOLS 2.02.98(2) (2012-10-15)	   LVM.CONF(5)
[top]

List of man pages available for LinuxMint

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net