lvresize(8) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | USAGE | OPTIONS | VARIABLES | ENVIRONMENT VARIABLES | EXAMPLES | SEE ALSO | COLOPHON

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

NAME         top

       lvresize — Resize a logical volume

SYNOPSIS         top

       lvresize 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
        -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
        -v|--verbose
           --version
        -y|--yes

DESCRIPTION         top

       lvresize  resizes an LV in the same way as lvextend and lvreduce.
       See lvextend(8) and lvreduce(8) for more information.

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

USAGE         top

       Resize an LV by a specified size.

       lvresize -L|--size [+|-]Size[m|UNIT] LV
           [ -l|--extents [+|-]Number[PERCENT] ]
           [ -r|--resizefs ]
           [    --poolmetadatasize [+]Size[m|UNIT] ]
           [ COMMON_OPTIONS ]
           [ PV ... ]

       —

       Resize an LV by specified PV extents.

       lvresize LV PV ...
           [ -r|--resizefs ]
           [ COMMON_OPTIONS ]

       —

       Resize a pool metadata SubLV by a specified size.

       lvresize --poolmetadatasize [+]Size[m|UNIT] LV1
           [ COMMON_OPTIONS ]
           [ PV ... ]

           LV1 types: thinpool

       —

       Common options for command:
           [ -A|--autobackup y|n ]
           [ -f|--force ]
           [ -n|--nofsck ]
           [ -i|--stripes Number ]
           [ -I|--stripesize Size[k|UNIT] ]
           [    --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         top


       --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.
              normal applies common sense rules such as not placing par‐
              allel stripes on the same PV.  inherit applies the VG pol‐
              icy to an LV.  contiguous requires new PEs be placed adja‐
              cent 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 per‐
              formance, e.g. by placing two stripes on the same PV.  Op‐
              tional positional PV args on the command line can also  be
              used  to  limit which PVs the command will use for alloca‐
              tion.  See lvm(8) for more information 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) 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.

       -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 re‐
              lated  VG,  LV,  or set of PVs. The suffix %VG denotes 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 com‐
              pleted.  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 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.
              debug: 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.

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

       --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 writ‐
              ten, though any data written afterwards will cause  parity
              blocks to be stored.  This is useful for skipping a poten‐
              tially long and resource intensive initial sync of an emp‐
              ty 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 synchro‐
              nization in order to reconstruct proper user date in  case
              of  device  failures.  raid0 and raid0_meta do not provide
              any data copies or parity support and thus do not  support
              initial synchronization.

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

       --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, de‐
              pending on the command.

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

       --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 identifi‐
              cation. 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  --ex‐
              tents  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.  When the
              plus + or minus - prefix is used, the value is not an  ab‐
              solute  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  devices 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 pari‐
              ty. The largest number depends on the  RAID  type  (raid0:
              64, raid10: 32, raid4/5: 63, raid6: 62), and when unspeci‐
              fied,  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)   alloca‐
              tion/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  nev‐
              ertheless  returning success to the calling function. This
              may lead to unusual error messages in  multi-stage  opera‐
              tions  if  a  tool  relies on reading back metadata it be‐
              lieves 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  usage descriptions for the specific ways to use these
              types.  For more information about redundancy and  perfor‐
              mance  (raid<N>,  mirror, 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 snapshots  (snapshot)  see
              usage  definitions.  For VDO (vdo) see lvmvdo(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.

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

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

VARIABLES         top

       LV     Logical Volume name.  See lvm(8) for valid names.  An LV
              positional 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 repre‐
              sents raid<N> type).

       PV     Physical Volume name, a device path under /dev.  For com‐
              mands managing physical extents, a PV positional arg gen‐
              erally 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.
              Input units are always treated as base two values, regard‐
              less of capitalization, e.g. 'k' and 'K' both refer to
              1024.  The default input unit is specified by letter, fol‐
              lowed 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 con‐
              trol --units, where capital letters mean multiple of
              1000.)

ENVIRONMENT VARIABLES         top

       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         top

       Extend an LV by 16MB using specific physical extents.
       lvresize -L+16M vg1/lv1 /dev/sda:0-1 /dev/sdb:0-1

       Resize an LV to use 50% of the size volume group.
       lvresize -l50%VG vg1/lv1

SEE ALSO         top

       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), lvmcache(7), lvmraid(7),
       lvmthin(7), lvmvdo(7), lvmautoactivation(7)

COLOPHON         top

       This page is part of the lvm2 (Logical Volume Manager 2) project.
       Information about the project can be found at 
       ⟨http://www.sourceware.org/lvm2/⟩.  If you have a bug report for
       this manual page, see ⟨https://github.com/lvmteam/lvm2/issues⟩.
       This page was obtained from the project's upstream Git repository
       ⟨git://sourceware.org/git/lvm2.git⟩ on 2024-06-14.  (At that
       time, the date of the most recent commit that was found in the
       repository was 2024-06-11.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

Red Hat, Inc.     LVM TOOLS 2.03.25(2)-git (2024-05-16)      LVRESIZE(8)

Pages that refer to this page: lvmcache(7)lvmvdo(7)fsadm(8)lvchange(8)lvconvert(8)lvcreate(8)lvdisplay(8)lvextend(8)lvm(8)lvmconfig(8)lvmdevices(8)lvmdiskscan(8)lvm-fullreport(8)lvm-lvpoll(8)lvreduce(8)lvremove(8)lvrename(8)lvresize(8)lvs(8)lvscan(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)vgconvert(8)vgcreate(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)