# vgsplit

## NAME



           vgsplit — Move physical volumes into a new or existing volume
           group
    


## SYNOPSIS



           **vgsplit** _option_args position_args_
               [ _option_args_ ]
    


## DESCRIPTION



           vgsplit moves one or more PVs from a source VG (the first VG arg)
           to a destination VG (the second VG arg).  The PV(s) to move are
           named after the source and destination VGs, or an LV is named, in
           which case the PVs underlying the LV are moved.
    
           If the destination VG does not exist, a new VG is created (command
           options can be used to specify properties of the new VG, also see
           vgcreate(8)).
    
           LVs cannot be split between VGs; each LV must be entirely on the
           PVs in the source or destination VG.
    
           vgsplit can only move complete PVs. (See pvmove(8) for moving part
           of a PV.)
    


## USAGE



           Split a VG by specified PVs.
    
           **vgsplit** _VG VG PV_ ...
               [ COMMON_OPTIONS ]
    
           Split a VG by PVs in a specified LV.
    
           **vgsplit -n** |**--name** _LV VG VG_
               [ COMMON_OPTIONS ]
    
           Common options for command:
               [ **-A** |**--autobackup y** |**n**]
               [ **-l** |**--maxlogicalvolumes** _Number_ ]
               [ **-p** |**--maxphysicalvolumes** _Number_ ]
               [ **-M** |**--metadatatype lvm2**]
               [    **--alloc contiguous** |**cling** |**cling_by_tags** |**normal** |**anywhere** |
               **inherit**]
               [    **--poolmetadataspare y** |**n**]
               [    **--**[**vg**]**metadatacopies all** |**unmanaged** |_Number_ ]
    
           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



    
           **--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.
    
           **-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).
    
           **--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.
    
           **-h** |**--help**
                  Display help text.
    
           **--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.
    
           **--longhelp**
                  Display long help text.
    
           **-l** |**--maxlogicalvolumes** _Number_
                  Sets the maximum number of LVs allowed in a VG.
    
           **-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.
    
           **-M** |**--metadatatype lvm2**
                  Specifies the type of on-disk metadata to  use.   **lvm2**(or
                  just  **2**) is the current, standard format.  **lvm1**(or just **1**)
                  is no longer used.
    
           **-n** |**--name** _String_
                  Move only PVs used by the named LV.
    
           **--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.
    
           **--poolmetadataspare y** |**n**
                  Enable  or disable the automatic creation and management of
                  a spare pool metadata LV in the VG. A spare metadata LV  is
                  reserved space that can be used when repairing a pool.
    
           **--profile** _String_
                  An alias for --commandprofile or --metadataprofile, depend‐
                  ing on the command.
    
           **-q** |**--quiet**...
                  Suppress  output  and  log  messages. Overrides --debug and
                  --verbose.  Repeat once to also suppress any  prompts  with
                  answer 'no'.
    
           **-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.
    
           **-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.
    
           _PV_     Physical Volume name, a device path under /dev.  For com‐
                  mands managing physical extents, a PV positional arg gener‐
                  ally accepts a suffix indicating a range (or multiple
                  ranges) of physical extents (PEs). When the first PE is
                  omitted, it defaults to the start of the device, and when
                  the last PE is omitted it defaults to end.  Start and end
                  range (inclusive): _PV_[**:**_PE_**-**_PE_]...  Start and length range
                  (counting from 0): _PV_[**:**_PE_**+**_PE_]...
    
           _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.
    


* * *