1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/man/lvresize.8.in
Zhiqing Zhang 014ba37cb1 lvresize: fix stripe size validation
While stripe size is twice the physical extent size,
the original code will not reduce stripe size to maximum
(physical extent size).

Signed-off-by: Zhiqing Zhang <zhangzq.fnst@cn.fujitsu.com>
2014-02-26 13:25:50 +01:00

121 lines
5.1 KiB
Groff

.TH LVRESIZE 8 "LVM TOOLS #VERSION#" "Sistina Software UK" \" -*- nroff -*-
.SH NAME
lvresize \- resize a logical volume
.SH SYNOPSIS
.B lvresize
.RB [ \-\-alloc " " \fIAllocationPolicy ]
.RB [ \-\-noudevsync ]
.RB [ \-i | \-\-stripes " " \fIStripes
.RB [ \-I | \-\-stripesize " " \fIStripeSize ]]
.RB {[ \-l | \-\-extents
.RI [ + | \- ] LogicalExtentsNumber [ % { VG | LV | PVS | FREE | ORIGIN "}] |"
.RB [ \-L | \-\-size
.RI [ + | \- ] LogicalVolumeSize [ bBsSkKmMgGtTpPeE ]}
.RB [ \-\-poolmetadatasize
.RI [ + ] MetadataVolumeSize [ bBsSkKmMgG ]
.RB [ \-f | \-\-force ]
.RB [ \-n | \-\-nofsck ]
.RB [ \-r | \-\-resizefs ]
.IR LogicalVolume { Name | Path }
.RI [ PhysicalVolumePath [ :PE [ -PE ]]...]
.SH DESCRIPTION
lvresize allows you to resize a logical volume.
Be careful when reducing a logical volume's size, because data in the reduced
part is lost!!!
You should therefore ensure that any filesystem on the volume is
shrunk first so that the extents that are to be removed are not in use.
Resizing snapshot logical volumes (see
.BR lvcreate (8)
for information about creating snapshots) is supported as well.
But to change the number of copies in a mirrored logical
volume use
.BR lvconvert (8).
.SH OPTIONS
See \fBlvm\fP(8) for common options.
.TP
.BR \-f ", " \-\-force
Force resize without prompting even when it may cause data loss.
.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
\fBfsadm\fR(8).
.TP
.IR \fB\-l ", " \fB\-\-extents " [" + | - ] LogicalExtentsNumber [ % { VG | LV | PVS | FREE | ORIGIN }]
Change or set the logical volume size in units of logical extents.
With the \fI+\fP or \fI-\fP sign the value is added to or subtracted from the actual size
of the logical volume and without it, the value is taken as an absolute one.
The total number of physical extents affected will be
greater than this if, for example, the volume is mirrored.
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 of the PhysicalVolumes on the command line with the
suffix \fI%PVS\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 is rounded downward for the subtraction otherwise
it is rounded upward.
N.B. In a future release, when expressed as a percentage with PVS, VG or FREE,
the number will be treated as an approximate total number of physical extents
to be allocated or freed (including extents used by any mirrors, for example).
The code may currently allocate or remove more space than you might otherwise
expect.
.TP
.IR \fB\-L ", " \fB\-\-size " [" + | - ] LogicalVolumeSize [ bBsSkKmMgGtTpPeE ]
Change or set the logical volume size in units of megabytes.
A size suffix of \fIM\fP for megabytes,
\fIG\fP for gigabytes, \fIT\fP for terabytes, \fIP\fP for petabytes
or \fIE\fP for exabytes is optional.
With the \fI+\fP or \fI-\fP sign the value is added or subtracted
from the actual size of the logical volume and rounded
to the full extent size and without it,
the value is taken as an absolute one.
.TP
.BR \-i ", " \-\-stripes " " \fIStripes
Gives the number of stripes to use when extending a Logical Volume.
Defaults to whatever the last segment of the Logical Volume uses.
Not applicable to LVs using the original metadata LVM format, which must
use a single value throughout.
.TP
.IR \fB\-\-poolmetadatasize " [" + ] MetadataVolumeSize [ bBsSkKmMgG ]
Change or set the thin pool metadata logical volume size.
With the \fI+\fP sign the value is added to the actual size
of the metadata volume and rounded to the full extent size
and without it, the value is taken as an absolute one.
Maximal size is 16GiB. Default unit is megabytes.
.TP
.BR \-I ", " \-\-stripesize " " \fIStripeSize
Gives the number of kilobytes for the granularity of the stripes.
Defaults to whatever the last segment of the Logical Volume uses.
Not applicable to LVs using the original metadata LVM format, which
must use a single value throughout.
.br
StripeSize must be 2^n (n = 2 to 9) for metadata in LVM1 format.
For metadata in LVM2 format, the stripe size may be a larger
power of 2 but must not exceed the physical extent size.
.TP
.B \-\-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.
.SH EXAMPLES
.br
Extend a logical volume vg1/lv1 by 16MB using physical extents
/dev/sda:0-1 and /dev/sdb:0-1 for allocation of extents:
.sp
.B lvresize -L+16M vg1/lv1 /dev/sda:0-1 /dev/sdb:0-1
.SH SEE ALSO
.BR fsadm (8),
.BR lvm (8),
.BR lvconvert (8),
.BR lvcreate (8),
.BR lvreduce (8),
.BR lvchange (8)