# vgchange

## NAME



           vgchange — Change volume group attributes
    


## SYNOPSIS



           **vgchange** _option_args position_args_
               [ _option_args_ ]
               [ _position_args_ ]
    
            **-a** |**--activate y** |**n** |**ay**
               **--activationmode partial** |**degraded** |**complete**
               **--addtag** _Tag_
               **--alloc contiguous** |**cling** |**cling_by_tags** |**normal** |**anywhere** |**inherit**
               **--autoactivation** _String_
            **-A** |**--autobackup y** |**n**
               **--commandprofile** _String_
               **--config** _String_
            **-d** |**--debug**
               **--deltag** _Tag_
               **--detachprofile**
               **--devices** _PV_
               **--devicesfile** _String_
               **--driverloaded y** |**n**
            **-f** |**--force**
            **-h** |**--help**
            **-K** |**--ignoreactivationskip**
               **--ignorelockingfailure**
               **--ignoremonitoring**
               **--journal** _String_
               **--lockopt** _String_
               **--lockstart**
               **--lockstop**
               **--locktype sanlock** |**dlm** |**none**
            **-l** |**--logicalvolume** _Number_
               **--longhelp**
            **-p** |**--maxphysicalvolumes** _Number_
               **--metadataprofile** _String_
               **--monitor y** |**n**
               **--nohints**
               **--nolocking**
               **--noudevsync**
            **-P** |**--partial**
            **-s** |**--physicalextentsize** _Size_[m|UNIT]
               **--poll y** |**n**
               **--profile** _String_
               **--pvmetadatacopies 0** |**1** |**2**
            **-q** |**--quiet**
               **--readonly**
               **--refresh**
               **--reportformat basic** |**json**
            **-x** |**--resizeable y** |**n**
            **-S** |**--select** _String_
               **--setautoactivation y** |**n**
               **--sysinit**
               **--systemid** _String_
            **-t** |**--test**
            **-u** |**--uuid**
            **-v** |**--verbose**
               **--version**
               **--**[**vg**]**metadatacopies all** |**unmanaged** |_Number_
            **-y** |**--yes**
    


## DESCRIPTION



           vgchange  changes VG attributes, changes LV activation in the ker‐
           nel, and includes other utilities for VG maintenance.
    


## USAGE



           Change a general VG attribute.
           For options listed in parentheses, any one is
           required, after which the others are optional.
    
           **vgchange**
               ( **-l** |**--logicalvolume** _Number_
                 **-p** |**--maxphysicalvolumes** _Number_
                 **-u** |**--uuid**
                 **-s** |**--physicalextentsize** _Size_[m|UNIT]
                 **-x** |**--resizeable y** |**n**
                    **--addtag** _Tag_
                    **--deltag** _Tag_
                    **--alloc   contiguous** |**cling** |**cling_by_tags** |**normal** |**anywhere** |
               **inherit**
                    **--pvmetadatacopies 0** |**1** |**2**
                    **--**[**vg**]**metadatacopies all** |**unmanaged** |_Number_
                    **--profile** _String_
                    **--detachprofile**
                    **--metadataprofile** _String_
                    **--setautoactivation y** |**n**)
               [ **-A** |**--autobackup y** |**n**]
               [ **-S** |**--select** _String_ ]
               [ **-f** |**--force**]
               [    **--poll y** |**n**]
               [    **--ignoremonitoring**]
               [    **--noudevsync**]
               [    **--reportformat basic** |**json**]
               [ COMMON_OPTIONS ]
               [ _VG_ |_Tag_ |_Select_ ... ]
    
           —
    
           Start or stop monitoring LVs from dmeventd.
    
           **vgchange --monitor y** |**n**
               [ **-A** |**--autobackup y** |**n**]
               [ **-S** |**--select** _String_ ]
               [ **-f** |**--force**]
               [    **--sysinit**]
               [    **--ignorelockingfailure**]
               [    **--poll y** |**n**]
               [    **--ignoremonitoring**]
               [    **--noudevsync**]
               [    **--reportformat basic** |**json**]
               [ COMMON_OPTIONS ]
               [ _VG_ |_Tag_ |_Select_ ... ]
    
           —
    
           Start or stop processing LV conversions.
    
           **vgchange --poll y** |**n**
               [ **-A** |**--autobackup y** |**n**]
               [ **-S** |**--select** _String_ ]
               [ **-f** |**--force**]
               [    **--ignorelockingfailure**]
               [    **--ignoremonitoring**]
               [    **--noudevsync**]
               [    **--reportformat basic** |**json**]
               [ COMMON_OPTIONS ]
               [ _VG_ |_Tag_ |_Select_ ... ]
    
           —
    
           Activate or deactivate LVs.
    
           **vgchange -a** |**--activate y** |**n** |**ay**
               [ **-K** |**--ignoreactivationskip**]
               [ **-P** |**--partial**]
               [ **-A** |**--autobackup y** |**n**]
               [ **-S** |**--select** _String_ ]
               [ **-f** |**--force**]
               [    **--activationmode partial** |**degraded** |**complete**]
               [    **--sysinit**]
               [    **--readonly**]
               [    **--ignorelockingfailure**]
               [    **--monitor y** |**n**]
               [    **--poll y** |**n**]
               [    **--autoactivation** _String_ ]
               [    **--ignoremonitoring**]
               [    **--noudevsync**]
               [    **--reportformat basic** |**json**]
               [ COMMON_OPTIONS ]
               [ _VG_ |_Tag_ |_Select_ ... ]
    
           —
    
           Reactivate LVs using the latest metadata.
    
           **vgchange --refresh**
               [ **-A** |**--autobackup y** |**n**]
               [ **-S** |**--select** _String_ ]
               [ **-f** |**--force**]
               [    **--sysinit**]
               [    **--ignorelockingfailure**]
               [    **--poll y** |**n**]
               [    **--ignoremonitoring**]
               [    **--noudevsync**]
               [    **--reportformat basic** |**json**]
               [ COMMON_OPTIONS ]
               [ _VG_ |_Tag_ |_Select_ ... ]
    
           —
    
           Change the system ID of a VG.
    
           **vgchange --systemid** _String VG_
               [ COMMON_OPTIONS ]
    
           —
    
           Start the lockspace of a shared VG in lvmlockd.
    
           **vgchange --lockstart**
               [ **-S** |**--select** _String_ ]
               [ COMMON_OPTIONS ]
               [ _VG_ |_Tag_ |_Select_ ... ]
    
           —
    
           Stop the lockspace of a shared VG in lvmlockd.
    
           **vgchange --lockstop**
               [ **-S** |**--select** _String_ ]
               [ COMMON_OPTIONS ]
               [ _VG_ |_Tag_ |_Select_ ... ]
    
           —
    
           Change the lock type for a shared VG.
    
           **vgchange --locktype sanlock** |**dlm** |**none** _VG_
               [ COMMON_OPTIONS ]
    
           —
    
           Common options for lvm:
               [ **-d** |**--debug**]
               [ **-h** |**--help**]
               [ **-q** |**--quiet**]
               [ **-t** |**--test**]
               [ **-v** |**--verbose**]
               [ **-y** |**--yes**]
               [    **--commandprofile** _String_ ]
               [    **--config** _String_ ]
               [    **--devices** _PV_ ]
               [    **--devicesfile** _String_ ]
               [    **--driverloaded y** |**n**]
               [    **--journal** _String_ ]
               [    **--lockopt** _String_ ]
               [    **--longhelp**]
               [    **--nohints**]
               [    **--nolocking**]
               [    **--profile** _String_ ]
               [    **--version**]
    


## OPTIONS



    
           **-a** |**--activate y** |**n** |**ay**
                  Change  the  active state of LVs.  An active LV can be used
                  through a block device, allowing data on the LV to  be  ac‐
                  cessed.  **y** makes LVs active, or available.  **n** makes LVs in‐
                  active,  or  unavailable.   The  block device for the LV is
                  added or removed from the system using device-mapper in the
                  kernel.  A symbolic link /dev/VGName/LVName pointing to the
                  device  node  is  also  added/removed.   All  software  and
                  scripts  should access the device through the symbolic link
                  and present this as the name of the device.   The  location
                  and  name  of  the underlying device node may depend on the
                  distribution, configuration (e.g. udev),  or  release  ver‐
                  sion.   **ay** specifies autoactivation, which is used by sys‐
                  tem-generated activation commands.  By default, LVs are au‐
                  toactivated.  An autoactivation property can be set on a VG
                  or LV to disable  autoactivation,  see  --setautoactivation
                  y|n in vgchange, lvchange, vgcreate, and lvcreate.  Display
                  the  property  with  vgs  or  lvs "-o autoactivation".  The
                  lvm.conf(5) auto_activation_volume_list includes  names  of
                  VGs  or  LVs that should be autoactivated, and anything not
                  listed is  not  autoactivated.   When  auto_activation_vol‐
                  ume_list  is undefined (the default), it has no effect.  If
                  auto_activation_volume_list is defined and  empty,  no  LVs
                  are  autoactivated.  Items included by auto_activation_vol‐
                  ume_list will not be autoactivated  if  the  autoactivation
                  property  has  been disabled.  See lvmlockd(8) for more in‐
                  formation about activation options **ey** and  **sy** for  shared
                  VGs.
    
           **--activationmode partial** |**degraded** |**complete**
                  Determines  if  LV activation is allowed when PVs are miss‐
                  ing, e.g. because of a device failure.  **complete** only  al‐
                  lows  LVs  with  no missing PVs to be activated, and is the
                  most restrictive mode.  **degraded** allows RAID LVs with miss‐
                  ing PVs to be activated.  (This does not include the  "mir‐
                  ror"  type,  see  "raid1"  instead.)  **partial** allows any LV
                  with missing PVs to be activated, and should only  be  used
                  for recovery or repair.  For default, see lvm.conf(5) acti‐
                  vation_mode.  See lvmraid(7) for more information.
    
           **--addtag** _Tag_
                  Adds  a  tag to a PV, VG or LV. This option can be repeated
                  to add multiple tags at once. See  lvm(8)  for  information
                  about tags.
    
           **--alloc contiguous** |**cling** |**cling_by_tags** |**normal** |**anywhere** |**inherit**
                  Determines  the  allocation  policy when a command needs to
                  allocate Physical Extents (PEs) from the VG. Each VG and LV
                  has  an  allocation  policy  which  can  be  changed   with
                  vgchange/lvchange, or overridden on the command line.  **nor‐**
                  **mal** applies common sense rules such as not placing parallel
                  stripes  on  the same PV.  **inherit** applies the VG policy to
                  an LV.  **contiguous** requires new PEs be placed  adjacent  to
                  existing  PEs.   **cling** places new PEs on the same PV as ex‐
                  isting PEs in the same stripe of the LV.  If there are suf‐
                  ficient PEs for an allocation,  but  normal  does  not  use
                  them,  **anywhere** will  use  them even if it reduces perfor‐
                  mance, e.g. by placing two stripes on the same PV.  Option‐
                  al positional PV args on the command line can also be  used
                  to  limit  which  PVs  the command will use for allocation.
                  See lvm(8) for more information about allocation.
    
           **--autoactivation** _String_
                  Specify if autoactivation is  being  used  from  an  event.
                  This allows the command to apply settings that are specific
                  to  event activation, such as device scanning optimizations
                  using pvs_online files created by event-based pvscans.
    
           **-A** |**--autobackup y** |**n**
                  Specifies if metadata should be backed up automatically af‐
                  ter a change.   Enabling  this  is  strongly  advised!  See
                  vgcfgbackup(8) for more information.
    
           **--commandprofile** _String_
                  The  command profile to use for command configuration.  See
                  lvm.conf(5) for more information about profiles.
    
           **--config** _String_
                  Config settings for the command. These override lvm.conf(5)
                  settings.   The  String  arg  uses  the  same   format   as
                  lvm.conf(5),   or   may   use  section/field  syntax.   See
                  lvm.conf(5) for more information about config.
    
           **-d** |**--debug**...
                  Set debug level. Repeat from 1 to 6 times to  increase  the
                  detail  of  messages sent to the log file and/or syslog (if
                  configured).
    
           **--deltag** _Tag_
                  Deletes a tag from a PV, VG or LV. This option can  be  re‐
                  peated  to delete multiple tags at once. See lvm(8) for in‐
                  formation about tags.
    
           **--detachprofile**
                  Detaches  a  metadata  profile  from  a  VG  or  LV.    See
                  lvm.conf(5) for more information about profiles.
    
           **--devices** _PV_
                  Devices  that  the  command can use. This option can be re‐
                  peated or accepts a comma separated list of  devices.  This
                  overrides the devices file.
    
           **--devicesfile** _String_
                  A  file listing devices that LVM should use.  The file must
                  exist  in  _/etc/lvm/devices/_  and  is  managed   with   the
                  lvmdevices(8)  command.  This overrides the lvm.conf(5) **de‐**
                  **vices/devicesfile** and **devices/use_devicesfile** settings.
    
           **--driverloaded y** |**n**
                  If set to no, the command will not attempt to  use  device-
                  mapper.  For testing and debugging.
    
           **-f** |**--force**...
                  Override  various  checks,  confirmations  and protections.
                  Use with extreme caution.
    
           **-h** |**--help**
                  Display help text.
    
           **-K** |**--ignoreactivationskip**
                  Ignore the "activation skip" LV flag during  activation  to
                  allow LVs with the flag set to be activated.
    
           **--ignorelockingfailure**
                  Allows a command to continue with read-only metadata opera‐
                  tions after locking failures.
    
           **--ignoremonitoring**
                  Do  not  interact  with dmeventd unless --monitor is speci‐
                  fied.  Do not use this if dmeventd is already monitoring  a
                  device.
    
           **--journal** _String_
                  Record  information  in the systemd journal.  This informa‐
                  tion is in addition to information enabled by the  lvm.conf
                  log/journal setting.  command: record information about the
                  command.   output:  record the default command output.  de‐
                  bug: record full command debugging.
    
           **--lockopt** _String_
                  Used to pass options for special cases  to  lvmlockd.   See
                  lvmlockd(8) for more information.
    
           **--lockstart**
                  Start  the  lockspace of a shared VG in lvmlockd.  lvmlockd
                  locks becomes available for the VG, allowing LVM to use the
                  VG.  See lvmlockd(8) for more information.
    
           **--lockstop**
                  Stop the lockspace of a shared VG  in  lvmlockd.   lvmlockd
                  locks  become  unavailable  for the VG, preventing LVM from
                  using the VG.  See lvmlockd(8) for more information.
    
           **--locktype sanlock** |**dlm** |**none**
                  Change the VG lock type to or from a shared lock type  used
                  with lvmlockd.  See lvmlockd(8) for more information.
    
           **-l** |**--logicalvolume** _Number_
                  Sets the maximum number of LVs allowed in a VG.
    
           **--longhelp**
                  Display long help text.
    
           **-p** |**--maxphysicalvolumes** _Number_
                  Sets  the  maximum number of PVs that can belong to the VG.
                  The value 0 removes any limitation.  For large  numbers  of
                  PVs, also see options --pvmetadatacopies, and --vgmetadata‐
                  copies for improving performance.
    
           **--metadataprofile** _String_
                  The metadata profile to use for command configuration.  See
                  lvm.conf(5) for more information about profiles.
    
           **--monitor y** |**n**
                  Start  (yes)  or  stop (no) monitoring an LV with dmeventd.
                  dmeventd monitors kernel events for an LV, and performs au‐
                  tomated maintenance for  the  LV  in  reponse  to  specific
                  events.  See dmeventd(8) for more information.
    
           **--nohints**
                  Do not use the hints file to locate devices for PVs. A com‐
                  mand  may  read more devices to find PVs when hints are not
                  used. The command will still perform standard hint file in‐
                  validation where appropriate.
    
           **--nolocking**
                  Disable locking.
    
           **--noudevsync**
                  Disables udev synchronisation. The process  will  not  wait
                  for  notification  from udev. It will continue irrespective
                  of any possible udev processing in the background. Only use
                  this if udev is not running or has rules  that  ignore  the
                  devices LVM creates.
    
           **-P** |**--partial**
                  Commands will do their best to activate LVs with missing PV
                  extents.  Missing extents may be replaced with error or ze‐
                  ro  segments  according  to the  missing_stripe_filler set‐
                  ting.  Metadata may not be changed with this option.
    
           **-s** |**--physicalextentsize** _Size_[m|UNIT]
                  Sets the physical extent size of PVs in the VG.  The  value
                  must be either a power of 2 of at least 1 sector (where the
                  sector size is the largest sector size of the PVs currently
                  used  in  the VG), or at least 128KiB.  Once this value has
                  been set, it is difficult to change without recreating  the
                  VG,  unless  no extents need moving.  Before increasing the
                  physical extent size, you might need to use lvresize, pvre‐
                  size and/or pvmove so that everything  fits.  For  example,
                  every  contiguous  range of extents used in a LV must start
                  and end on an extent boundary.
    
           **--poll y** |**n**
                  When yes, start the background transformation of an LV.  An
                  incomplete transformation, e.g. pvmove or lvconvert  inter‐
                  rupted  by  reboot or crash, can be restarted from the last
                  checkpoint with --poll y.  When no, background  transforma‐
                  tion  of  an LV will not occur, and the transformation will
                  not complete. It may not be appropriate to immediately poll
                  an LV after activation, in which case --poll n can be  used
                  to defer polling until a later --poll y command.
    
           **--profile** _String_
                  An alias for --commandprofile or --metadataprofile, depend‐
                  ing on the command.
    
           **--pvmetadatacopies 0** |**1** |**2**
                  The number of metadata areas to set aside on a PV for stor‐
                  ing  VG  metadata.   When 2, one copy of the VG metadata is
                  stored at the front of the PV and a second copy  is  stored
                  at  the end.  When 1, one copy of the VG metadata is stored
                  at the front of the PV.  When 0, no copies of the VG  meta‐
                  data are stored on the given PV.  This may be useful in VGs
                  containing many PVs (this places limitations on the ability
                  to use vgsplit later.)
    
           **-q** |**--quiet**...
                  Suppress  output  and  log  messages. Overrides --debug and
                  --verbose.  Repeat once to also suppress any  prompts  with
                  answer 'no'.
    
           **--readonly**
                  Run the command in a special read-only mode which will read
                  on-disk  metadata  without  needing to take any locks. This
                  can be used to peek inside metadata used by a  virtual  ma‐
                  chine  image  while  the virtual machine is running. No at‐
                  tempt will be made to communicate  with  the  device-mapper
                  kernel  driver,  so this option is unable to report whether
                  or not LVs are actually in use.
    
           **--refresh**
                  If the LV is active, reload its metadata.  This is not nec‐
                  essary in normal operation, but may be useful if  something
                  has gone wrong, or if some form of manual LV sharing is be‐
                  ing used.
    
           **--reportformat basic** |**json**
                  Overrides  current  output  format for reports which is de‐
                  fined  globally  by  the  report/output_format  setting  in
                  lvm.conf(5).  **basic** is the original format with columns and
                  rows.   If  there is more than one report per command, each
                  report is prefixed with the report name for identification.
                  **json** produces  report   output   in   JSON   format.   See
                  lvmreport(7) for more information.
    
           **-x** |**--resizeable y** |**n**
                  Enables  or disables the addition or removal of PVs to/from
                  a VG (by vgextend/vgreduce).
    
           **-S** |**--select** _String_
                  Select objects for processing and reporting based on speci‐
                  fied criteria.  The criteria syntax is described  by  **--se‐**
                  **lect  help** and  lvmreport(7).  For reporting commands, one
                  row is displayed for each  object  matching  the  criteria.
                  See  **--options help** for selectable object fields.  Rows can
                  be displayed with an additional "selected"  field  (-o  se‐
                  lected)  showing  1  if the row matches the selection and 0
                  otherwise.  For non-reporting commands  which  process  LVM
                  entities, the selection is used to choose items to process.
    
           **--setautoactivation y** |**n**
                  Set the autoactivation property on a VG or LV.  Display the
                  property with vgs or lvs "-o autoactivation".  When the au‐
                  toactivation property is disabled, the VG or LV will not be
                  activated  by  a  command  doing  autoactivation (vgchange,
                  lvchange, or pvscan using -aay.)  If autoactivation is dis‐
                  abled on a VG, no LVs will be autoactivated in that VG, and
                  the LV autoactivation property has no effect.  If autoacti‐
                  vation is enabled on a VG, autoactivation can  be  disabled
                  for individual LVs.
    
           **--sysinit**
                  Indicates that vgchange/lvchange is being invoked from ear‐
                  ly  system  initialisation  scripts  (e.g. rc.sysinit or an
                  initrd), before  writable  filesystems  are  available.  As
                  such,  some functionality needs to be disabled and this op‐
                  tion acts as a shortcut which selects an appropriate set of
                  options. Currently, this is equivalent to  using  --ignore‐
                  lockingfailure,  --ignoremonitoring,  --poll n, and setting
                  env       var        LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES.
                  vgchange/lvchange  skip autoactivation, and defer to pvscan
                  autoactivation.
    
           **--systemid** _String_
                  Changes the system ID of the VG.   Using  this  option  re‐
                  quires  caution  because  the  VG may become foreign to the
                  host running the command, leaving the host unable to access
                  it.  See lvmsystemid(7) for more information.
    
           **-t** |**--test**
                  Run in test mode. Commands will not update metadata.   This
                  is implemented by disabling all metadata writing but never‐
                  theless returning success to the calling function. This may
                  lead to unusual error messages in multi-stage operations if
                  a  tool  relies  on  reading  back metadata it believes has
                  changed but hasn't.
    
           **-u** |**--uuid**
                  Generate new random UUID for specified VGs.
    
           **-v** |**--verbose**...
                  Set verbose level. Repeat from 1 to 4 times to increase the
                  detail of messages sent to stdout and stderr.
    
           **--version**
                  Display version information.
    
           **--**[**vg**]**metadatacopies all** |**unmanaged** |_Number_
                  Number of copies of the VG  metadata  that  are  kept.   VG
                  metadata  is  kept  in  VG metadata areas on PVs in the VG,
                  i.e. reserved space at the start and/or  end  of  the  PVs.
                  Keeping  a  copy  of the VG metadata on every PV can reduce
                  performance in VGs containing a large number of PVs.   When
                  this  number is set to a non-zero value, LVM will automati‐
                  cally choose PVs on which  to  store  metadata,  using  the
                  metadataignore  flags  on PVs to achieve the specified num‐
                  ber.  The number can also be replaced with  special  string
                  values:  **unmanaged** causes  LVM to not automatically manage
                  the PV metadataignore flags.  **all** causes LVM to first clear
                  the metadataignore flags on all PVs, and then to become un‐
                  managed.
    
           **-y** |**--yes**
                  Do not prompt for confirmation interactively but always as‐
                  sume the answer yes. Use with extreme caution.  (For  auto‐
                  matic no, see -qq.)
    


## VARIABLES



           _VG_     Volume Group name.  See lvm(8) for valid names.
    
           _Tag_    Tag name.  See lvm(8) for information about tag names and
                  using tags in place of a VG, LV or PV.
    
           _Select_ Select indicates that a required positional parameter can
                  be omitted if the **--select** option is used.  No arg appears
                  in this position.
    
           _String_ See the option description for information about the string
                  content.
    
           _Size_[UNIT]
                  Size is an input number that accepts an optional unit.  In‐
                  put units are always treated as base two values, regardless
                  of capitalization, e.g. 'k' and 'K' both refer to 1024.
                  The default input unit is specified by letter, followed by
                  |UNIT.  UNIT represents other possible input units: **b** |**B** is
                  bytes, **s** |**S** is sectors of 512 bytes, **k** |**K** is KiB, **m** |**M** is MiB,
                  **g** |**G** is GiB, **t** |**T** is TiB, **p** |**P** is PiB, **e** |**E** is EiB.  (This
                  should not be confused with the output control --units,
                  where capital letters mean multiple of 1000.)
    


## ENVIRONMENT VARIABLES



           See lvm(8) for information about environment variables used by
           lvm.  For example, LVM_VG_NAME can generally be substituted for a
           required VG parameter.
    


## NOTES



           If vgchange recognizes COW snapshot LVs that were dropped because
           they ran out of space, it displays a message informing the admin‐
           istrator that the snapshots should be removed.
    


## EXAMPLES



           Activate all LVs in all VGs on all existing devices.
           **vgchange -a y**
    
           Change the maximum number of LVs for an inactive VG.
           **vgchange -l 128 vg00**
    


* * *