mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
4fbde0143a
We want to keep this logic - when LV is extend - extend the LV by at least given amount, when LV is reduced - reduce the LV by at most given amount. So for this the rounding needs to be used. Current logic which seems to satisfy give rule is to round up all extent values for LV resize upward except for values with '-' sign that are round downward. This patch also fixes the problem when lvextend --use-polices tried to extend LV the by i.e. 20% - but the resulting 20% were smaller the extent size thus before this patch no extension happened.
102 lines
3.5 KiB
Groff
102 lines
3.5 KiB
Groff
.TH LVREDUCE 8 "LVM TOOLS #VERSION#" "Sistina Software UK" \" -*- nroff -*-
|
|
.SH NAME
|
|
lvreduce \- reduce the size of a logical volume
|
|
.SH SYNOPSIS
|
|
.B lvreduce
|
|
.RB [ \-A | \-\-autobackup
|
|
.RI { y | n }]
|
|
.RB [ \-d | \-\-debug ]
|
|
.RB [ \-h | \-\-help ]
|
|
.RB [ \-t | \-\-test ]
|
|
.RB [ \-v | \-\-verbose ]
|
|
.RB [ \-\-version ]
|
|
.RB [ \-f | \-\-force ]
|
|
.RB [ \-\-noudevsync ]
|
|
.RB { \-l | \-\-extents
|
|
.RI [ \- ] LogicalExtentsNumber [ % { VG | LV | FREE | ORIGIN "}] |"
|
|
.RB [ \-L | \-\-size
|
|
.RI [ \- ] LogicalVolumeSize [ bBsSkKmMgGtTpPeE ]}
|
|
.RB [ \-n | \-\-nofsck ]
|
|
.RB [ \-r | \-\-resizefs ]
|
|
.IR LogicalVolume { Name | Path }
|
|
.SH DESCRIPTION
|
|
lvreduce allows you to reduce the size of a logical volume.
|
|
Be careful when reducing a logical volume's size, because data in the
|
|
reduced part is lost!!!
|
|
.br
|
|
You should therefore ensure that any filesystem on the volume is
|
|
resized
|
|
.I before
|
|
running lvreduce so that the extents that are to be removed are not in use.
|
|
.br
|
|
Shrinking snapshot logical volumes (see
|
|
.BR lvcreate (8)
|
|
for information to create snapshots) is supported as well.
|
|
But to change the number of copies in a mirrored logical
|
|
volume use
|
|
.BR lvconvert (8).
|
|
.br
|
|
Sizes will be rounded if necessary - for example, the volume size must
|
|
be an exact number of extents and the size of a striped segment must
|
|
be a multiple of the number of stripes.
|
|
.br
|
|
.SH OPTIONS
|
|
See
|
|
.BR lvm (8)
|
|
for common options.
|
|
.TP
|
|
.BR \-f ", " \-\-force
|
|
Force size reduction without prompting even when it may cause data loss.
|
|
.TP
|
|
.BR \-\-noudevsync
|
|
Disable udev synchronisation. The
|
|
process will not wait for notification from udev.
|
|
It will continue irrespective of any possible udev processing
|
|
in the background. You should only use this if udev is not running
|
|
or has rules that ignore the devices LVM2 creates.
|
|
.TP
|
|
.IR \fB\-l ", " \fB\-\-extents " [" \- ] LogicalExtentsNumber [ % { VG | LV | FREE | ORIGIN }]
|
|
Reduce or set the logical volume size in units of logical extents.
|
|
With the \fI-\fP sign the value will be subtracted from
|
|
the logical volume's actual size and without it the value will be taken
|
|
as an absolute size.
|
|
The number can also be expressed as a percentage of the total space
|
|
in the Volume Group with the suffix \fI%VG\fP, relative to the existing
|
|
size of the Logical Volume with the suffix \fI%LV\fP, as a percentage of the
|
|
remaining free space in the Volume Group with the suffix \fI%FREE\fP, or (for
|
|
a snapshot) as a percentage of the total space in the Origin Logical
|
|
Volume with the suffix \fI%ORIGIN\fP.
|
|
The resulting value for the substraction is rounded downward, for the absolute
|
|
size it is rounded upward.
|
|
.TP
|
|
.IR \fB\-L ", " \fB\-\-size " [" \- ] LogicalVolumeSize [ bBsSkKmMgGtTpPeE ]
|
|
Reduce or set the logical volume size in units of megabytes.
|
|
A size suffix of \fIk\fP for kilobyte, \fIm\fP for megabyte,
|
|
\fIg\fP for gigabytes, \fIt\fP for terabytes, \fIp\fP for petabytes
|
|
or \fIe\fP for exabytes is optional.
|
|
With the \fI-\fP sign the value will be subtracted from
|
|
the logical volume's actual size and without it it will be taken as
|
|
an absolute size.
|
|
.TP
|
|
.BR \-n ", " \-\-nofsck
|
|
Do not perform fsck before resizing filesystem when filesystem
|
|
requires it. You may need to use \fB--force\fR to proceed with
|
|
this option.
|
|
.TP
|
|
.BR \-r ", " \-\-resizefs
|
|
Resize underlying filesystem together with the logical volume using
|
|
.BR fsadm (8).
|
|
.SH EXAMPLES
|
|
Reduce the size of logical volume lvol1 in volume group vg00 by 3 logical extents:
|
|
.sp
|
|
.B lvreduce -l -3 vg00/lvol1
|
|
.SH SEE ALSO
|
|
.BR fsadm (8),
|
|
.BR lvchange (8),
|
|
.BR lvconvert (8),
|
|
.BR lvcreate (8),
|
|
.BR lvextend (8),
|
|
.BR lvm (8),
|
|
.BR lvresize (8),
|
|
.BR vgreduce (8)
|