mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
226 lines
7.1 KiB
Groff
226 lines
7.1 KiB
Groff
.TH LVCONVERT 8 "LVM TOOLS #VERSION#" "Red Hat, Inc" \" -*- nroff -*-
|
|
.SH NAME
|
|
lvconvert \- convert a logical volume from linear to mirror or snapshot
|
|
.SH SYNOPSIS
|
|
.B lvconvert
|
|
\-m|\-\-mirrors Mirrors [\-\-mirrorlog {disk|core|mirrored}] [\-\-corelog] [\-R|\-\-regionsize MirrorLogRegionSize]
|
|
[\-A|\-\-alloc AllocationPolicy]
|
|
[\-b|\-\-background] [\-f|\-\-force] [\-i|\-\-interval Seconds]
|
|
[\-h|\-?|\-\-help]
|
|
[\-\-stripes Stripes [\-I|\-\-stripesize StripeSize]]
|
|
[\-\-noudevsync]
|
|
[\-v|\-\-verbose] [\-y|\-\-yes]
|
|
[\-\-version]
|
|
.br
|
|
LogicalVolume[Path] [PhysicalVolume[Path][:PE[-PE]]...]
|
|
.br
|
|
|
|
.br
|
|
.B lvconvert
|
|
\-\-splitmirrors Images \-\-name SplitLogicalVolumeName
|
|
.br
|
|
MirrorLogicalVolume[Path] [SplittablePhysicalVolume[Path][:PE[-PE]]...]
|
|
.br
|
|
|
|
.br
|
|
.B lvconvert
|
|
\-s|\-\-snapshot [\-c|\-\-chunksize ChunkSize]
|
|
[\-h|\-?|\-\-help]
|
|
[\-\-noudevsync]
|
|
[\-v|\-\-verbose]
|
|
[\-Z|\-\-zero y|n]
|
|
[\-\-version]
|
|
.br
|
|
OriginalLogicalVolume[Path] SnapshotLogicalVolume[Path]
|
|
.br
|
|
|
|
.br
|
|
.B lvconvert
|
|
\-\-merge [\-b|\-\-background] [\-i|\-\-interval Seconds]
|
|
[\-h|\-?|\-\-help]
|
|
[\-v|\-\-verbose]
|
|
[\-\-version]
|
|
SnapshotLogicalVolume[Path]...
|
|
.br
|
|
|
|
.br
|
|
.B lvconvert
|
|
\-\-repair
|
|
[\-h|\-?|\-\-help]
|
|
[\-v|\-\-verbose]
|
|
[\-\-version]
|
|
LogicalVolume[Path] [PhysicalVolume[Path]...]
|
|
.SH DESCRIPTION
|
|
lvconvert is used to change the segment type (i.e. linear, mirror, etc) or
|
|
characteristics of a logical volume. For example, it can add or remove the
|
|
redundant images of a logical volume, change the log type of a mirror, or
|
|
designate a logical volume as a snapshot repository.
|
|
.br
|
|
If the conversion requires allocation of physical extents (for
|
|
example, when converting from linear to mirror) and you specify
|
|
one or more PhysicalVolumes (optionally with ranges of physical
|
|
extents), allocation of physical extents will be restricted to
|
|
these physical extents. If the conversion frees physical extents
|
|
(for example, when converting from a mirror to a linear, or reducing
|
|
mirror legs) and you specify one or more PhysicalVolumes,
|
|
the freed extents come first from the specified PhysicalVolumes.
|
|
.SH OPTIONS
|
|
See \fBlvm\fP for common options.
|
|
.br
|
|
Exactly one of \-\-splitmirrors, \-\-mirrors, \-\-repair, \-\-snapshot
|
|
or \-\-merge arguments is required.
|
|
.br
|
|
.TP
|
|
.I \-m, \-\-mirrors Mirrors
|
|
Specifies the degree of the mirror you wish to create.
|
|
For example, "-m 1" would convert the original logical
|
|
volume to a mirror volume with 2-sides; that is, a
|
|
linear volume plus one copy.
|
|
.TP
|
|
.I \-\-mirrorlog {disk|core|mirrored}
|
|
Specifies the type of log to use.
|
|
The default is disk, which is persistent and requires
|
|
a small amount of storage space, usually on a separate device
|
|
from the data being mirrored.
|
|
Core may be useful for short-lived mirrors: It means the mirror is
|
|
regenerated by copying the data from the first device again every
|
|
time the device is activated - perhaps, for example, after every reboot.
|
|
Using "mirrored" will create a persistent log that is itself mirrored.
|
|
.TP
|
|
.I \-\-corelog
|
|
The optional argument "--corelog" is the same as specifying "--mirrorlog core".
|
|
.TP
|
|
.I \-R, \-\-regionsize MirrorLogRegionSize
|
|
A mirror is divided into regions of this size (in MB), and the mirror log
|
|
uses this granularity to track which regions are in sync.
|
|
.TP
|
|
.I \-b, \-\-background
|
|
Run the daemon in the background.
|
|
.TP
|
|
.I \-i, \-\-interval Seconds
|
|
Report progress as a percentage at regular intervals.
|
|
.br
|
|
.TP
|
|
.I \-\-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.
|
|
.br
|
|
|
|
|
|
.TP
|
|
.I \-\-splitmirrors Images
|
|
The number of redundant Images of a mirror to be split off and used
|
|
to form a new logical volume. A name must be supplied for the
|
|
newly-split-off logical volume using the \-\-name argument.
|
|
|
|
.TP
|
|
.I \-n Name
|
|
The name to apply to a logical volume which has been split off from
|
|
a mirror logical volume.
|
|
.br
|
|
|
|
|
|
.TP
|
|
.I \-s, \-\-snapshot
|
|
Create a snapshot from existing logical volume using another
|
|
existing logical volume as its origin.
|
|
.TP
|
|
.I \-c, \-\-chunksize ChunkSize
|
|
Power of 2 chunk size for the snapshot logical volume between 4k and 512k.
|
|
.TP
|
|
.I \-Z, \-\-zero y|n
|
|
Controls zeroing of the first KB of data in the snapshot.
|
|
If the volume is read-only the snapshot will not be zeroed.
|
|
.TP
|
|
.I \-\-merge
|
|
Merges a snapshot into its origin volume. To check if your kernel
|
|
supports this feature, look for 'snapshot-merge' in the output
|
|
of 'dmsetup targets'. If both the origin and snapshot volume are not
|
|
open the merge will start immediately. Otherwise, the merge will start
|
|
the first time either the origin or snapshot are activated and both are closed.
|
|
Merging a snapshot into an origin that cannot be closed, for example a root
|
|
filesystem, is deferred until the next time the origin volume is activated.
|
|
When merging starts, the resulting logical volume will have the origin's name,
|
|
minor number and UUID. While the merge is in progress, reads or writes to the
|
|
origin appear as they were directed to the snapshot being merged. When the
|
|
merge finishes, the merged snapshot is removed. Multiple snapshots may
|
|
be specified on the commandline or a @tag may be used to specify
|
|
multiple snapshots be merged to their respective origin.
|
|
.br
|
|
|
|
|
|
.TP
|
|
.I \-\-repair
|
|
Repair a mirror after suffering a disk failure. The mirror will be brought back
|
|
into a consistent state. By default, the original number of mirrors will be
|
|
restored if possible. Specify \-y on the command line to skip the prompts.
|
|
Use \-f if you do not want any replacement. Additionally, you may use
|
|
\-\-use-policies to use the device replacement policy specified in lvm.conf,
|
|
viz. activation/mirror_log_fault_policy or
|
|
activation/mirror_device_fault_policy.
|
|
.br
|
|
.SH Examples
|
|
"lvconvert -m1 vg00/lvol1"
|
|
.br
|
|
converts the linear logical volume "vg00/lvol1" to
|
|
a two-way mirror logical volume.
|
|
|
|
"lvconvert --mirrorlog core vg00/lvol1"
|
|
.br
|
|
converts a mirror with a disk log to a
|
|
mirror with an in-memory log.
|
|
|
|
"lvconvert --mirrorlog disk vg00/lvol1"
|
|
.br
|
|
converts a mirror with an in-memory log
|
|
to a mirror with a disk log.
|
|
|
|
"lvconvert -m0 vg00/lvol1"
|
|
.br
|
|
converts a mirror logical volume to a linear logical
|
|
volume.
|
|
.br
|
|
|
|
.br
|
|
"lvconvert -s vg00/lvol1 vg00/lvol2"
|
|
.br
|
|
converts logical volume "vg00/lvol2" to snapshot of original volume "vg00/lvol1"
|
|
|
|
.br
|
|
"lvconvert -m1 vg00/lvol1 /dev/sda:0-15 /dev/sdb:0-15"
|
|
.br
|
|
converts linear logical volume "vg00/lvol1" to a two-way mirror, using physical
|
|
extents /dev/sda:0-15 and /dev/sdb:0-15 for allocation of new extents.
|
|
|
|
.br
|
|
"lvconvert -m0 vg00/lvmirror1 /dev/sda
|
|
.br
|
|
converts mirror logical volume "vg00/lvmirror1" to linear, freeing physical
|
|
extents from /dev/sda.
|
|
|
|
.br
|
|
"lvconvert --merge vg00/lvol1_snap"
|
|
.br
|
|
merges "vg00/lvol1_snap" into its origin.
|
|
|
|
.br
|
|
"lvconvert --merge @some_tag"
|
|
.br
|
|
If vg00/lvol1, vg00/lvol2, and vg00/lvol3 are all tagged with "some_tag"
|
|
each snapshot logical volume will be merged serially, e.g.: vg00/lvol1,
|
|
then vg00/lvol2, then vg00/lvol3. If --background were used it would start
|
|
all snapshot logical volume merges in parallel.
|
|
|
|
.SH SEE ALSO
|
|
.BR lvm (8),
|
|
.BR vgcreate (8),
|
|
.BR lvremove (8),
|
|
.BR lvrename (8),
|
|
.BR lvextend (8),
|
|
.BR lvreduce (8),
|
|
.BR lvdisplay (8),
|
|
.BR lvscan (8)
|