[lvm-devel] master - man lvmsystemid: expanded limitations and warnings
David Teigland
teigland at fedoraproject.org
Fri Feb 20 18:22:41 UTC 2015
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=e0946dca69d631106c99edcef1221af78819e2c0
Commit: e0946dca69d631106c99edcef1221af78819e2c0
Parent: 6bc35a351ace5ff5da07280fda288027cf614a13
Author: David Teigland <teigland at redhat.com>
AuthorDate: Fri Feb 20 12:21:23 2015 -0600
Committer: David Teigland <teigland at redhat.com>
CommitterDate: Fri Feb 20 12:21:23 2015 -0600
man lvmsystemid: expanded limitations and warnings
---
man/lvmsystemid.7.in | 55 ++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 44 insertions(+), 11 deletions(-)
diff --git a/man/lvmsystemid.7.in b/man/lvmsystemid.7.in
index 15b69a2..9e3e6f8 100644
--- a/man/lvmsystemid.7.in
+++ b/man/lvmsystemid.7.in
@@ -23,23 +23,56 @@ set to a custom value or it can be assigned automatically by lvm using a
unique identifier already available on the host, e.g. machine-id or uname.
In vgcreate, the local system_id is saved in the new VG metadata. The
-local host owns the new VG, and other hosts will ignore it.
+local host owns the new VG, and other hosts cannot use it.
A VG without a system_id can be used by any host, and a VG with a
system_id can only be used by a host with a matching system_id. A
-"foreign VG" is a VG with a system_id as viewed by a host with a system_id
+.B foreign VG
+is a VG with a system_id as viewed by a host with a system_id
that does not match the VG's system_id. (Or from a host without a
system_id.)
-To benefit fully from system_id, all hosts must have system_id set, and
-VGs must have system_id set. Two hosts should not be assigned the same
-system_id. Doing so defeats the purpose of the system_id.
-
Valid system_id characters are the same as valid VG name characters. If a
system_id contains invalid characters, those characters are omitted and
remaining characters are used. If a system_id is longer than the maximum
name length, the characters up to the maximum length are used. The
-maximum length of a system_id is 128 characters.
+maximum length of a system_id is 127 characters.
+
+.SS Limitations and warnings
+
+To benefit fully from system_id, all hosts must have system_id set, and
+VGs must have system_id set. A VG on shared storage can be corrupted or
+destroyed in the following cases which the user must be careful to avoid:
+
+.IP \[bu] 2
+A host using an old version of lvm without the system_id feature will not
+recognize the system_id of other hosts' VGs and will not be stopped from
+using them.
+
+.IP \[bu] 2
+A VG without a system_id can be used without restriction from any host,
+even from hosts that have a system_id. Many VGs will not have a system_id
+and are unprotected. Verify that a VG has a system_id by running the
+command 'vgs -o+systemid'
+
+A VG will not have a system_id if it was created before this feature was
+added to lvm, or if it was created by a host that did not have a system_id
+defined. A system_id can be assigned to these VGs by using vgchange
+--systemid (see below).
+
+.IP \[bu] 2
+Two hosts should not be assigned the same system_id. Doing so defeats
+the purpose of the system_id which is to distinguish different hosts.
+
+.IP \[bu] 2
+Orphan PVs (or unused devices) on shared storage are completely
+unprotected by the system_id feature. Commands that use these PVs, such
+as vgcreate or vgextend, are not prevented from performing conflicting
+operations and corrupting the PVs. See the
+.B orphans
+section for more information.
+
+.P
.SS Types of VG access
A "local VG" is meant to be used by a single host.
@@ -267,10 +300,10 @@ The effects of this are especially evident when lvm uses lvmetad caching.
For example, if multiple hosts see an orphan PV, and one host creates a VG
using the orphan, the other hosts will continue to report the PV as an
orphan. Nothing would automatically prevent the other hosts from using
-the newly allocated PV. If the other hosts run a command to rescan
-devices, and update lvmetad, they would then recognize the PV has become
-used by another host. A command that rescans devices could be pvscan
---cache, or vgs --foreign.
+the newly allocated PV and corrupting it. If the other hosts run a
+command to rescan devices, and update lvmetad, they would then recognize
+the PV has been used by another host. A command that rescans devices
+could be pvscan --cache, or vgs --foreign.
.SH SEE ALSO
.BR vgcreate (8),
More information about the lvm-devel
mailing list