Red Hat Bugzilla – Bug 835893
cmirror does not support mirrored mirrorlogs
Last modified: 2014-09-24 13:12:53 EDT
Description of problem:
cmirror does not support mirrored mirrorlogs. This is a known issue, see bug #612221 comment 11:
"Mirrored log type for cluster mirrors will have to be deferred to a later release. I will soon commit the patch that disallows this. Reason from my patch:
Disallow mirrored logs in cluster mirrors.
The cluster log daemon (cmirrord) is not multi-threaded and
can handle only one request at a time. When a log is stacked
on top of a mirror (which itself contains a 'core' log), it
creates a situation that cannot be solved without threading.
When the top level mirror issues a "resume", the log daemon
attempts to read from the log device to retrieve the log
state. However, the log is a mirror which, before issuing
the read, attempts to determine the 'sync' status of the
region of the mirror which is to be read. This sync status
request cannot be completed by the daemon because it is
blocked on a read I/O to the very mirror requesting the
Mirrored mirrorlogs are required for a symmetrical host-based mirrored Storage setup.
See also bug #746792, where this was recently discussed (but more on making lvcreate properly exit on such requests)
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. lvcreate ... --mirrorlog mirrored ... on a clustered VG
The request is rejected due to cmirror not being able to handle it.
(clustered) mirrored mirrorlogs should be a feature of RHEL.
HA LVM will probably work with mirrored mirrorlogs, so for some applications this may be a viable workaround.
Development Management has reviewed and declined this request.
You may appeal this decision by reopening this request.