dwww Home | Manual pages | Find package

LVEXTEND(8)                 System Manager's Manual                LVEXTEND(8)

NAME
       lvextend — Add space to a logical volume

SYNOPSIS
       lvextend option_args position_args
           [ option_args ]
           [ position_args ]

           --alloc contiguous|cling|cling_by_tags|normal|anywhere|inherit
        -A|--autobackup y|n
           --commandprofile String
           --config String
        -d|--debug
           --devices PV
           --devicesfile String
           --driverloaded y|n
        -l|--extents [+]Number[PERCENT]
        -f|--force
        -h|--help
           --journal String
           --lockopt String
           --longhelp
        -m|--mirrors Number
        -n|--nofsck
           --nohints
           --nolocking
           --nosync
           --noudevsync
           --poolmetadatasize [+]Size[m|UNIT]
           --profile String
        -q|--quiet
           --reportformat basic|json
        -r|--resizefs
        -L|--size [+]Size[m|UNIT]
        -i|--stripes Number
        -I|--stripesize Size[k|UNIT]
        -t|--test
           --type linear|striped|snapshot|raid|mirror|thin|thin-pool|vdo|
       vdo-pool|cache|cache-pool|writecache
           --usepolicies
        -v|--verbose
           --version
        -y|--yes

DESCRIPTION
       lvextend  extends  the  size of an LV. This requires allocating logical
       extents from the VG's free physical extents. If the  extension  adds  a
       new  LV  segment, the new segment will use the existing segment type of
       the LV.

       Extending a copy-on-write snapshot LV adds space for COW blocks.

       Use lvconvert(8) to change the number of data images in a RAID or  mir-
       rored LV.

       In  the usage section below, --size Size can be replaced with --extents
       Number.  See both descriptions the options section.

USAGE
       Extend an LV by a specified size.

       lvextend -L|--size [+]Size[m|UNIT] LV
           [ -l|--extents [+]Number[PERCENT] ]
           [ -r|--resizefs ]
           [ -i|--stripes Number ]
           [ -I|--stripesize Size[k|UNIT] ]
           [    --poolmetadatasize [+]Size[m|UNIT] ]
           [ COMMON_OPTIONS ]
           [ PV ... ]

       —

       Extend an LV by specified PV extents.

       lvextend LV PV ...
           [ -r|--resizefs ]
           [ -i|--stripes Number ]
           [ -I|--stripesize Size[k|UNIT] ]
           [ COMMON_OPTIONS ]

       —

       Extend a pool metadata SubLV by a specified size.

       lvextend --poolmetadatasize [+]Size[m|UNIT] LV1
           [ -i|--stripes Number ]
           [ -I|--stripesize Size[k|UNIT] ]
           [ COMMON_OPTIONS ]
           [ PV ... ]

           LV1 types: thinpool

       —

       Extend an LV according to a predefined policy.

       lvextend --usepolicies LV1
           [ -r|--resizefs ]
           [ COMMON_OPTIONS ]
           [ PV ... ]

           LV1 types: snapshot thinpool

       —

       Common options for command:
           [ -A|--autobackup y|n ]
           [ -f|--force ]
           [ -m|--mirrors Number ]
           [ -n|--nofsck ]
           [    --alloc contiguous|cling|cling_by_tags|normal|anywhere|inherit
           ]
           [    --nosync ]
           [    --noudevsync ]
           [    --reportformat basic|json ]
           [    --type linear|striped|snapshot|raid|mirror|thin|thin-pool|vdo|
           vdo-pool|cache|cache-pool|writecache ]

       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  allo-
              cate  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.  normal applies common sense
              rules such as not placing parallel stripes on the same PV.   in-
              herit  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 existing PEs in the same stripe of  the  LV.   If
              there  are sufficient PEs for an allocation, but normal does not
              use them, anywhere will use them even if it reduces performance,
              e.g. by placing two stripes on the same PV.  Optional 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 infor-
              mation about allocation.

       -A|--autobackup y|n
              Specifies  if metadata should be backed up automatically after 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) set-
              tings.  The String arg uses the same format as  lvm.conf(5),  or
              may use section/field syntax.  See lvm.conf(5) for more informa-
              tion 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
              Restricts the devices that are visible  and  accessible  to  the
              command.  Devices not listed will appear to be missing. This op-
              tion  can  be repeated, or accepts a comma separated list of de-
              vices. 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)  com-
              mand.   This  overrides  the lvm.conf(5) devices/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.

       -l|--extents [+]Number[PERCENT]
              Specifies the new size of the LV in logical extents.  The --size
              and --extents options are alternate methods of specifying  size.
              The  total  number of physical extents used will be greater when
              redundant data is needed for RAID levels.  An  alternate  syntax
              allows  the  size to be determined indirectly as a percentage of
              the size of a related VG, LV, or set of PVs. The suffix %VG  de-
              notes  the  total size of the VG, the suffix %FREE the remaining
              free space in the VG, and the suffix %PVS the free space in  the
              specified  PVs.   For a snapshot, the size can be expressed as a
              percentage of the total size of the origin LV  with  the  suffix
              %ORIGIN  (100%ORIGIN provides space for the whole origin).  When
              expressed as a percentage, the size defines an upper  limit  for
              the  number of logical extents in the new LV. The precise number
              of logical extents in the new LV is  not  determined  until  the
              command  has  completed.   When  the plus + or minus - prefix is
              used, the value is not an absolute size,  but  is  relative  and
              added or subtracted from the current size.

       -f|--force ...
              Override  various  checks,  confirmations  and protections.  Use
              with extreme caution.

       -h|--help
              Display help text.

       --journal String
              Record information in the systemd journal.  This information  is
              in  addition  to information enabled by the lvm.conf log/journal
              setting.  command: record information about the  command.   out-
              put: record the default command output.  debug: record full com-
              mand debugging.

       --lockopt String
              Used  to  pass  options for special cases to lvmlockd.  See lvm-
              lockd(8) for more information.

       --longhelp
              Display long help text.

       -m|--mirrors Number
              Not used.

       -n|--nofsck
              Do not perform fsck before resizing filesystem  when  filesystem
              requires  it.  You  may need to use --force to proceed with this
              option.

       --nohints
              Do not use the hints file to locate devices for PVs.  A  command
              may  read  more devices to find PVs when hints are not used. The
              command will still perform standard hint file invalidation where
              appropriate.

       --nolocking
              Disable locking. Use with caution, concurrent commands may  pro-
              duce incorrect results.

       --nosync
              Causes the creation of mirror, raid1, raid4, raid5 and raid10 to
              skip  the  initial synchronization. In case of mirror, raid1 and
              raid10, any data written afterwards will be  mirrored,  but  the
              original  contents  will  not  be  copied.  In case of raid4 and
              raid5, no parity blocks will be written, though any data written
              afterwards will cause parity blocks to be stored.  This is  use-
              ful  for skipping a potentially long and resource intensive ini-
              tial sync of an empty mirror/raid1/raid4/raid5  and  raid10  LV.
              This  option  is  not  valid  for raid6, because raid6 relies on
              proper parity (P and Q Syndromes) being created  during  initial
              synchronization in order to reconstruct proper user date in case
              of device failures.  raid0 and raid0_meta do not provide any da-
              ta copies or parity support and thus do not support initial syn-
              chronization.

       --noudevsync
              Disables udev synchronisation. The process will not wait for no-
              tification  from udev. It will continue irrespective of any pos-
              sible udev processing in the background. Only use this  if  udev
              is not running or has rules that ignore the devices LVM creates.

       --poolmetadatasize [+]Size[m|UNIT]
              Specifies the new size of the pool metadata LV.  The plus prefix
              +  can  be used, in which case the value is added to the current
              size.

       --profile String
              An alias for --commandprofile or --metadataprofile, depending on
              the command.

       -q|--quiet ...
              Suppress output and log messages. Overrides --debug  and  --ver-
              bose.   Repeat  once  to  also  suppress any prompts with answer
              'no'.

       --reportformat basic|json
              Overrides current output format for  reports  which  is  defined
              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.

       -r|--resizefs
              Resize  underlying  filesystem  together  with  the   LV   using
              fsadm(8).

       -L|--size [+]Size[m|UNIT]
              Specifies  the new size of the LV.  The --size and --extents op-
              tions are alternate methods of specifying size.  The total  num-
              ber of physical extents used will be greater when redundant data
              is needed for RAID levels.  When the plus + or minus - prefix is
              used,  the  value  is  not an absolute size, but is relative and
              added or subtracted from the current size.

       -i|--stripes Number
              Specifies the number of stripes in a striped  LV.  This  is  the
              number of PVs (devices) that a striped LV is spread across. Data
              that  appears sequential in the LV is spread across multiple de-
              vices in units of the stripe size (see --stripesize). This  does
              not  change  existing allocated space, but only applies to space
              being allocated by the command.  When creating a RAID 4/5/6  LV,
              this number does not include the extra devices that are required
              for  parity. The largest number depends on the RAID type (raid0:
              64, raid10: 32, raid4/5: 63, raid6: 62), and  when  unspecified,
              the  default  depends  on  the  RAID  type (raid0: 2, raid10: 2,
              raid4/5: 3, raid6: 5.)  To stripe a new raid LV across  all  PVs
              by  default, see lvm.conf(5) allocation/raid_stripe_all_devices.

       -I|--stripesize Size[k|UNIT]
              The amount of data that is written to one device  before  moving
              to the next in a striped LV.

       -t|--test
              Run  in  test  mode. Commands will not update metadata.  This is
              implemented by disabling all metadata writing  but  nevertheless
              returning  success to the calling function. This may lead to un-
              usual error messages in multi-stage operations if a tool  relies
              on reading back metadata it believes has changed but hasn't.

       --type linear|striped|snapshot|raid|mirror|thin|thin-pool|vdo|vdo-pool|
              cache|cache-pool|writecache
              The LV type, also known as "segment type" or "segtype".  See us-
              age  descriptions for the specific ways to use these types.  For
              more information about redundancy and performance (raid<N>, mir-
              ror, striped, linear) see  lvmraid(7).   For  thin  provisioning
              (thin,  thin-pool)  see  lvmthin(7).   For  performance  caching
              (cache, cache-pool) see lvmcache(7).   For  copy-on-write  snap-
              shots (snapshot) see usage definitions.  For VDO (vdo) see lvmv-
              do(7).   Several  commands  omit an explicit type option because
              the type is inferred  from  other  options  or  shortcuts  (e.g.
              --stripes,   --mirrors,   --snapshot,   --virtualsize,   --thin,
              --cache, --vdo).  Use inferred types with care  because  it  can
              lead to unexpected results.

       --usepolicies
              Perform  an  operation  according  to  the  policy configured in
              lvm.conf(5) or a profile.

       -v|--verbose ...
              Set verbose level. Repeat from 1 to 4 times to increase the  de-
              tail of messages sent to stdout and stderr.

       --version
              Display version information.

       -y|--yes
              Do  not  prompt for confirmation interactively but always assume
              the answer yes. Use with extreme caution.   (For  automatic  no,
              see -qq.)

VARIABLES
       LV     Logical  Volume  name.  See lvm(8) for valid names.  An LV posi-
              tional arg generally includes the VG  name  and  LV  name,  e.g.
              VG/LV.   LV1  indicates  the LV must have a specific type, where
              the accepted LV  types  are  listed.  (raid  represents  raid<N>
              type).

       PV     Physical  Volume  name,  a device path under /dev.  For commands
              managing physical extents, a PV positional arg generally accepts
              a suffix indicating a range (or multiple ranges) of physical ex-
              tents (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 con-
              tent.

       Size[UNIT]
              Size is an input number that accepts an  optional  unit.   Input
              units are always treated as base two values, regardless of capi-
              talization,  e.g.  'k'  and 'K' both refer to 1024.  The default
              input unit is specified by letter, followed by |UNIT.  UNIT rep-
              resents 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.

EXAMPLES
       Extend the size of an LV by 54MiB, using a specific PV.
       lvextend -L +54 vg01/lvol10 /dev/sdk3

       Extend the size of an LV by the amount of free space on  PV  /dev/sdk3.
       This is equivalent to specifying "-l +100%PVS" on the command line.
       lvextend vg01/lvol01 /dev/sdk3

       Extend an LV by 16MiB using specific physical extents.
       lvextend -L+16m vg01/lvol01 /dev/sda:8-9 /dev/sdb:8-9

       Extend  an  LV  to use all remaining free space in volume group and all
       resize its filesystem with fsadm(8).
       lvextend -l+100%FREE -r vg01/lvol01

SEE ALSO
       lvm(8), lvm.conf(5), lvmconfig(8), lvmdevices(8),

       pvchange(8), pvck(8), pvcreate(8), pvdisplay(8), pvmove(8),
       pvremove(8), pvresize(8), pvs(8), pvscan(8),

       vgcfgbackup(8), vgcfgrestore(8), vgchange(8), vgck(8), vgcreate(8),
       vgconvert(8), vgdisplay(8), vgexport(8), vgextend(8), vgimport(8),
       vgimportclone(8), vgimportdevices(8), vgmerge(8), vgmknodes(8),
       vgreduce(8), vgremove(8), vgrename(8), vgs(8), vgscan(8), vgsplit(8),

       lvcreate(8), lvchange(8), lvconvert(8), lvdisplay(8), lvextend(8),
       lvreduce(8), lvremove(8), lvrename(8), lvresize(8), lvs(8), lvscan(8),

       lvm-fullreport(8), lvm-lvpoll(8), blkdeactivate(8), lvmdump(8),

       dmeventd(8), lvmpolld(8), lvmlockd(8), lvmlockctl(8), cmirrord(8),
       lvmdbusd(8), fsadm(8),

       lvmsystemid(7), lvmreport(7), lvmraid(7), lvmthin(7), lvmcache(7)

Red Hat, Inc.          LVM TOOLS 2.03.16(2) (2022-05-18)           LVEXTEND(8)

Generated by dwww version 1.16 on Tue Dec 16 14:53:31 CET 2025.