mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
be75076dfc
Currently, we have two modes of activation, an unnamed nominal mode (which I will refer to as "complete") and "partial" mode. The "complete" mode requires that a volume group be 'complete' - that is, no missing PVs. If there are any missing PVs, no affected LVs are allowed to activate - even RAID LVs which might be able to tolerate a failure. The "partial" mode allows anything to be activated (or at least attempted). If a non-redundant LV is missing a portion of its addressable space due to a device failure, it will be replaced with an error target. RAID LVs will either activate or fail to activate depending on how badly their redundancy is compromised. This patch adds a third option, "degraded" mode. This mode can be selected via the '--activationmode {complete|degraded|partial}' option to lvchange/vgchange. It can also be set in lvm.conf. The "degraded" activation mode allows RAID LVs with a sufficient level of redundancy to activate (e.g. a RAID5 LV with one device failure, a RAID6 with two device failures, or RAID1 with n-1 failures). RAID LVs with too many device failures are not allowed to activate - nor are any non-redundant LVs that may have been affected. This patch also makes the "degraded" mode the default activation mode. The degraded activation mode does not yet work in a cluster. A new cluster lock flag (LCK_DEGRADED_MODE) will need to be created to make that work. Currently, there is limited space for this extra flag and I am looking for possible solutions. One possible solution is to usurp LCK_CONVERT, as it is not used. When the locking_type is 3, the degraded mode flag simply gets dropped and the old ("complete") behavior is exhibited. |
||
---|---|---|
.. | ||
blkdeactivate.8.in | ||
clvmd.8.in | ||
cmirrord.8.in | ||
dmeventd.8.in | ||
dmsetup.8.in | ||
fsadm.8.in | ||
lvchange.8.in | ||
lvconvert.8.in | ||
lvcreate.8.in | ||
lvdisplay.8.in | ||
lvextend.8.in | ||
lvm2-activation-generator.8.in | ||
lvm-dumpconfig.8.in | ||
lvm.8.in | ||
lvm.conf.5.in | ||
lvmcache.7.in | ||
lvmchange.8.in | ||
lvmconf.8.in | ||
lvmdiskscan.8.in | ||
lvmdump.8.in | ||
lvmetad.8.in | ||
lvmsadc.8.in | ||
lvmsar.8.in | ||
lvmthin.7.in | ||
lvreduce.8.in | ||
lvremove.8.in | ||
lvrename.8.in | ||
lvresize.8.in | ||
lvs.8.in | ||
lvscan.8.in | ||
Makefile.in | ||
pvchange.8.in | ||
pvck.8.in | ||
pvcreate.8.in | ||
pvdisplay.8.in | ||
pvmove.8.in | ||
pvremove.8.in | ||
pvresize.8.in | ||
pvs.8.in | ||
pvscan.8.in | ||
vgcfgbackup.8.in | ||
vgcfgrestore.8.in | ||
vgchange.8.in | ||
vgck.8.in | ||
vgconvert.8.in | ||
vgcreate.8.in | ||
vgdisplay.8.in | ||
vgexport.8.in | ||
vgextend.8.in | ||
vgimport.8.in | ||
vgimportclone.8.in | ||
vgmerge.8.in | ||
vgmknodes.8.in | ||
vgreduce.8.in | ||
vgremove.8.in | ||
vgrename.8.in | ||
vgs.8.in | ||
vgscan.8.in | ||
vgsplit.8.in |