dwww Home | Manual pages | Find package

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

NAME
       lvreduce — Reduce the size of a logical volume

SYNOPSIS
       lvreduce option_args position_args
           [ option_args ]

DESCRIPTION
       lvreduce  reduces  the  size of an LV. The freed logical extents are re-
       turned to the VG to be used by other LVs. A  copy-on-write  snapshot  LV
       can  also be reduced if less space is needed to hold COW blocks. Use lv-
       convert(8) to change the number of data images in a RAID or mirrored LV.

       Be careful when reducing an LV's size, because data in the reduced  area
       is lost. Ensure that any file system on the LV is resized before running
       lvreduce so that the removed extents are not in use by the file system.

       Sizes  will be rounded if necessary. For example, the LV size must be an
       exact number of extents, and the size of a striped  segment  must  be  a
       multiple of the number of stripes.

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

USAGE
       lvreduce -L|--size [-]Size[m|UNIT] LV
           [ -l|--extents [-]Number[PERCENT] ]
           [ -A|--autobackup y|n ]
           [ -f|--force ]
           [ -n|--nofsck ]
           [ -r|--resizefs ]
           [    --noudevsync ]
           [    --reportformat basic|json|json_std ]
           [    --fs String ]
           [    --fsmode String ]
           [ 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|--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 com-
              mand.   Devices not listed will appear to be missing. This option
              can be repeated, 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)  com-
              mand.  This overrides the lvm.conf(5) devices/devicesfile and de-
              vices/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 com-
              mand  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.

       --fs String
              Control  file  system  resizing  when resizing an LV.  checksize:
              Check the fs size and reduce the LV if the fs is  not  using  the
              reduced  space (fs reduce is not needed.) If the reduced space is
              used by the fs, then do not resize the fs or LV,  and  return  an
              error.   (checksize  only applies when reducing, and does nothing
              for extend.)  resize: Resize the fs by  calling  the  fs-specific
              resize  command.   This may also include mounting, unmounting, or
              running fsck. See --fsmode  to  control  mounting  behavior,  and
              --nofsck  to  disable  fsck.  resize_fsadm: Use the old method of
              calling fsadm to handle the fs (deprecated.) Warning: this option
              does not prevent lvreduce from destroying file systems  that  are
              unmounted  (or  mounted  if prompts are skipped.)  ignore: Resize
              the LV without checking for or handling a file system.   Warning:
              using  ignore when reducing the LV size may destroy the file sys-
              tem.

       --fsmode String
              Control file system mounting behavior  for  fs  resize.   manage:
              Mount  or  unmount the fs as needed to resize the fs, and attempt
              to restore the original mount state at the end.  nochange: Do not
              mount or unmount the fs. If mounting or unmounting is required to
              resize the fs, then do not resize the fs or the LV and  fail  the
              command.   offline:  Unmount  the fs if it is mounted, and resize
              the fs while it is unmounted. If mounting is required  to  resize
              the fs, then do not resize the fs or the LV and fail the command.

       -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.  output:
              record  the  default  command output.  debug: record full command
              debugging.

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

       --longhelp
              Display long help text.

       -n|--nofsck
              Do  not  perform  fsck  when  resizing the file system with --re-
              sizefs.

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

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

       --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|json_std
              Overrides current output format  for  reports  which  is  defined
              globally by the report/output_format setting in lvm.conf(5).  ba-
              sic  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. json_std produces report output  in  JSON  format
              which is more compliant with JSON standard.  See lvmreport(7) for
              more information.

       -r|--resizefs
              Resize  the fs using the fs-specific resize command.  May include
              mounting, unmounting, or running fsck. See  --fsmode  to  control
              mounting  behavior,  and  --nofsck  to disable fsck. See --fs for
              more options (--resizefs is equivalent to --fs resize.)

       -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 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 absolute size, but is relative and
              added or subtracted from the current size.

       -t|--test
              Run in test mode. Commands will not update metadata.  This is im-
              plemented by disabling all metadata writing but nevertheless  re-
              turning 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  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.

       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 in-
              put  unit is specified by letter, followed by |UNIT.  UNIT repre-
              sents 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 pa-
       rameter.

EXAMPLES
       Reduce the size of an LV by 3 logical extents:
       lvreduce -l -3 vg00/lvol1

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

Red Hat, Inc.          LVM TOOLS 2.03.31(2) (2025-02-27)            LVREDUCE(8)

Generated by dwww version 1.16 on Tue Dec 16 04:58:27 CET 2025.