[lvm-devel] master - man: lvmthin cover snapshot merge and xfs
David Teigland
teigland at fedoraproject.org
Wed May 14 20:15:49 UTC 2014
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=42d7409da2761198781e067b81a4dca86ba27ee9
Commit: 42d7409da2761198781e067b81a4dca86ba27ee9
Parent: 044b7968005a23e52a78c26eb56a7f74a973312f
Author: David Teigland <teigland at redhat.com>
AuthorDate: Wed May 14 14:05:21 2014 -0500
Committer: David Teigland <teigland at redhat.com>
CommitterDate: Wed May 14 15:15:35 2014 -0500
man: lvmthin cover snapshot merge and xfs
also fix a couple inconsistent example values.
---
man/lvmthin.7.in | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 112 insertions(+), 3 deletions(-)
diff --git a/man/lvmthin.7.in b/man/lvmthin.7.in
index 5a4ee87..030745b 100644
--- a/man/lvmthin.7.in
+++ b/man/lvmthin.7.in
@@ -104,7 +104,7 @@ The primary method for using lvm thin provisioning:
lvcreate -n ThinDataLV -L LargeSize VG
Example
- # lvcreate -n pool0 -L 100G vg
+ # lvcreate -n pool0 -L 10G vg
2. create ThinMetaLV
@@ -251,6 +251,10 @@ Single step thin pool LV creation
.br
Single step thin pool LV and thin LV creation
.br
+Merge thin snapshots
+.br
+XFS on snapshots
+.br
\&
@@ -269,7 +273,7 @@ lvcreate -n ThinMetaLV -L SmallSize VG SmallPV
lvconvert --thinpool VG/ThinDataLV --poolmetadata VG/ThinMetaLV
Example
-# lvcreate -n pool0 -L 100G vg /dev/sdA
+# lvcreate -n pool0 -L 10G vg /dev/sdA
# lvcreate -n pool0meta -L 1G vg /dev/sdB
# lvconvert --thinpool vg/pool0 --poolmetadata vg/pool0meta
.fi
@@ -293,7 +297,7 @@ lvcreate --type raid1 -m 1 -n ThinDataLV -L LargeSize VG PVC PVD
lvconvert --thinpool VG/ThinDataLV --poolmetadata VG/ThinMetaLV
Example
-# lvcreate --type raid1 -m 1 -n pool0 -L 100G vg /dev/sdA /dev/sdB
+# lvcreate --type raid1 -m 1 -n pool0 -L 10G vg /dev/sdA /dev/sdB
# lvcreate --type raid1 -m 1 -n pool0meta -L 1G vg /dev/sdC /dev/sdD
# lvconvert --thinpool vg/pool0 --poolmetadata vg/pool0meta
.fi
@@ -981,6 +985,111 @@ pool0 vg twi-a-tz-- 8.00m
thin1 vg Vwi-a-tz-- 2.00g pool0
.fi
+
+.SS Merge thin snapshots
+
+\&
+
+A thin snapshot can be merged into its origin thin LV using the lvconvert
+--merge command. The result of a snapshot merge is that the origin thin
+LV takes the content of the snapshot LV, and the snapshot LV is removed.
+Any content that was unique to the origin thin LV is lost after the merge.
+
+Because a merge changes the content of an LV, it cannot be done while the
+LVs are open, e.g. mounted. If a merge is initiated while the LVs are open,
+the effect of the merge is delayed until the origin thin LV is next
+activated.
+
+.nf
+lvconvert --merge VG/SnapLV
+
+Example
+# lvs vg
+LV VG Attr LSize Pool Origin
+pool0 vg twi-a-tz-- 10.00g
+thin1 vg Vwi-a-tz-- 100.00g pool0
+thin1s1 vg Vwi-a-tz-k 100.00g pool0 thin1
+
+# lvconvert --merge vg/thin1s1
+
+# lvs vg
+LV VG Attr LSize Pool Origin
+pool0 vg twi-a-tz-- 10.00g
+thin1 vg Vwi-a-tz-- 100.00g pool0
+.fi
+
+.nf
+Example
+
+Delayed merging of open LVs.
+
+# lvs vg
+LV VG Attr LSize Pool Origin
+pool0 vg twi-a-tz-- 10.00g
+thin1 vg Vwi-aotz-- 100.00g pool0
+thin1s1 vg Vwi-aotz-k 100.00g pool0 thin1
+
+# df
+/dev/mapper/vg-thin1 100G 33M 100G 1% /mnt/X
+/dev/mapper/vg-thin1s1 100G 33M 100G 1% /mnt/Xs
+
+# ls /mnt/X
+file1 file2 file3
+# ls /mnt/Xs
+file3 file4 file5
+
+# lvconvert --merge vg/thin1s1
+Logical volume vg/thin1s1 contains a filesystem in use.
+Delaying merge since snapshot is open.
+Merging of thin snapshot thin1s1 will occur on next activation.
+
+# umount /mnt/X
+# umount /mnt/Xs
+
+# lvs -a vg
+LV VG Attr LSize Pool Origin
+pool0 vg twi-a-tz-- 10.00g
+[pool0_tdata] vg Twi-ao---- 10.00g
+[pool0_tmeta] vg ewi-ao---- 1.00g
+thin1 vg Owi-a-tz-- 100.00g pool0
+[thin1s1] vg Swi-a-tz-k 100.00g pool0 thin1
+
+# lvchange -an vg/thin1
+# lvchange -ay vg/thin1
+
+# mount /dev/vg/thin1 /mnt/X
+
+# ls /mnt/X
+file3 file4 file5
+.fi
+
+
+.SS XFS on snapshots
+
+\&
+
+Mounting an XFS file system on a new snapshot LV requires attention to the
+file system's log state and uuid. On the snapshot LV, the xfs log will
+contain a dummy transaction, and the xfs uuid will match the uuid from the
+file system on the origin LV.
+
+If the snapshot LV is writable, mounting will recover the log to clear the
+dummy transaction, but will require skipping the uuid check:
+
+mount /dev/VG/SnapLV /mnt -o nouuid
+
+Or, the uuid can be changed on disk before mounting:
+
+xfs_admin -U generate /dev/VG/SnapLV
+.br
+mount /dev/VG/SnapLV /mnt
+
+If the snapshot LV is readonly, the log recovery and uuid check need to be
+skipped while mounting readonly:
+
+mount /dev/VG/SnapLV /mnt -o ro,nouuid,norecovery
+
+
.SH SEE ALSO
.BR lvm (8),
.BR lvm.conf (5),
More information about the lvm-devel
mailing list