summaryrefslogtreecommitdiff
path: root/man/pvmove.8_end
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2021-04-16 15:57:01 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2021-04-19 14:54:37 +0200
commitd1f8978ac5adbe7274faa62011dbb30a95719191 (patch)
treed5bd42f21a61710f760d356fdf445a80e49c314f /man/pvmove.8_end
parent5f75f5e2bc0f10c74151914aa59264d29815d9ba (diff)
downloadlvm2-d1f8978ac5adbe7274faa62011dbb30a95719191.tar.gz
man: replace empty lines
Diffstat (limited to 'man/pvmove.8_end')
-rw-r--r--man/pvmove.8_end38
1 files changed, 20 insertions, 18 deletions
diff --git a/man/pvmove.8_end b/man/pvmove.8_end
index 8259b3f93..02f746b4b 100644
--- a/man/pvmove.8_end
+++ b/man/pvmove.8_end
@@ -1,9 +1,11 @@
+.
.SH NOTES
+.
pvmove works as follows:
-
+.P
1. A temporary 'pvmove' LV is created to store details of all the data
movements required.
-
+.P
2. Every LV in the VG is searched for contiguous data that need moving
according to the command line arguments.
For each piece of data found, a new segment is added to the end of the
@@ -12,27 +14,27 @@ This segment takes the form of a temporary mirror to copy the data
from the original location to a newly allocated location.
The original LV is updated to use the new temporary mirror segment
in the pvmove LV instead of accessing the data directly.
-
+.P
3. The VG metadata is updated on disk.
-
+.P
4. The first segment of the pvmove LV is activated and starts to mirror
the first part of the data. Only one segment is mirrored at once as this
is usually more efficient.
-
+.P
5. A daemon repeatedly checks progress at the specified time interval.
When it detects that the first temporary mirror is in sync, it breaks that
mirror so that only the new location for that data gets used and writes a
checkpoint into the VG metadata on disk. Then it activates the mirror for
the next segment of the pvmove LV.
-
+.P
6. When there are no more segments left to be mirrored, the temporary LV
is removed and the VG metadata is updated so that the LVs reflect the new
data locations.
-
+.P
Note that this new process cannot support the original LVM1
type of on-disk metadata. Metadata can be converted using
\fBvgconvert\fP(8).
-
+.P
If the \fB--atomic\fP option is used, a slightly different approach is
used for the move. Again, a temporary 'pvmove' LV is created to store the
details of all the data movements required. This temporary LV contains
@@ -43,48 +45,48 @@ temporary LV to the second. After a complete copy is made, the temporary
LVs are removed, leaving behind the segments on the destination PV. If an
abort is issued during the move, all LVs being moved will remain on the
source PV.
-
+.
.SH EXAMPLES
-
+.
Move all physical extents that are used by simple LVs on the specified PV to
free physical extents elsewhere in the VG.
.br
.B pvmove /dev/sdb1
-
+.P
Use a specific destination PV when moving physical extents.
.br
.B pvmove /dev/sdb1 /dev/sdc1
-
+.P
Move extents belonging to a single LV.
.br
.B pvmove -n lvol1 /dev/sdb1 /dev/sdc1
-
+.P
Rather than moving the contents of an entire device, it is possible to
move a range of physical extents, for example numbers 1000 to 1999
inclusive on the specified PV.
.br
.B pvmove /dev/sdb1:1000-1999
-
+.P
A range of physical extents to move can be specified as start+length. For
example, starting from PE 1000. (Counting starts from 0, so this refers to the
1001st to the 2000th PE inclusive.)
.br
.B pvmove /dev/sdb1:1000+1000
-
+.P
Move a range of physical extents to a specific PV (which must have
sufficient free extents).
.br
.B pvmove /dev/sdb1:1000-1999 /dev/sdc1
-
+.P
Move a range of physical extents to specific new extents on a new PV.
.br
.B pvmove /dev/sdb1:1000-1999 /dev/sdc1:0-999
-
+.P
If the source and destination are on the same disk, the
\fBanywhere\fP allocation policy is needed.
.br
.B pvmove --alloc anywhere /dev/sdb1:1000-1999 /dev/sdb1:0-999
-
+.P
The part of a specific LV present within in a range of physical
extents can also be picked out and moved.
.br