| DMMP: Write issued on standby server can hang
If a write is issued to a DMMP device that is reserved on another server, then the IO can hang indefinitely (or until the device is no longer reserved on the other server). If/when the device is released on the other server and the write is issued, this can cause data corruption.
The problem is due to the way the path checking is done along with the IO retries in DMMP. When “no_path_retry” is set to 0 (fail), this hang will not occur. When the path_checker for a device fails when the path is reserved by another server (MSA1000), then this also will not occur.
Workaround: Set “no_path_retry” to 0 (fail). However, this can cause IO failures due to transient path failures.
| DMMP: Multiple initiators are not registered properly for SAS arrays that support ATP_C
LifeKeeper does not natively support configurations where there are multiple SAS initiators connected to a SAS array. In these configurations, LifeKeeper will not register each initiator correctly, so only one initiator will be able to issue IOs. Errors will occur if the multipath driver (DMMP for example) tries to issue IOs to an unregistered initiator.
Solution: Set the following tunable in /etc/default/LifeKeeper to allow path IDs to be set based on SAS storage information:
| Two or more different storage can not be used concurrently in case of the parameter configuration of DMMP recovery kit is required for some storage model.
| DMMP RK doesn’t function correctly if the disk name ends with “p<number>”.
The DMMP RK doesn’t function correctly if the disk name ends with “p<number>”.
Workaround: Do not create disk names ending in “p<number>”.
Thanks for your feedback.