[Bug 1088532] Re: pluging in a missing raid member does not (re)add it to array
ceg
1088532 at bugs.launchpad.net
Mon Apr 8 09:14:42 UTC 2013
** Description changed:
12.04.1 regression (worked before, maybe without the mentioned safety
check, but it worked)
+
+ Depends on: Bug #1166086
(re-add refers to speeding up the sync using a bitmap)
The --incremental (udev) call refuses to (re)add a temporarily
diconnected member back to an already restarted (active) raid. (Even
thought the event count clearly shows its state is equal or older than
at the time the array was started (run) degraded.)
This seems to have come by an attempt to "fix" bug #557429, without considering the discussion bejond comment 68
https://bugs.launchpad.net/mdadm/+bug/557429/comments/68
And when attempting to do it manually:
# mdadm /dev/md2 --re-add /dev/sda6
mdadm: --re-add for /dev/sda6 to /dev/md2 is not possible
(missing info: "bacause the array has no write intent bitmap")
# mdadm /dev/md2 --add /dev/sda6
mdadm: /dev/sda6 reports being an active member for /dev/md2, but a --re-add fails.
mdadm: not performing --add as that would convert /dev/sda6 in to a spare.
mdadm: To make this a spare, use "mdadm --zero-superblock /dev/sda6" first.
This is not how things are supposed to work in times of hotpluging.
A warning/question if the device that is to be added contains newer data
- than at its time of failure is appropriate, but otherwise, get the job
- of adding that device back to its raid done!
+ than at its time of failure is appropriate and very important Bug
+ #1166086, but otherwise, get the job of adding that device back to its
+ raid done!
To avoid regression:
- Let the "mdadm --incremental" command (re)add members to running arrays automatically again. Not doing so does not guard against running from alternating (diverging) parts of an array anyway (if the devices come up in random order, the both parts get started degraded, when they come up first).
-
- True fix to prevent diverging array parts:
- Store the state of the event counter at the time of the degradation for each missing device in the superblocks on the remaining member devices.
- --incremental should continue to (re)add a device automatically (only) if the event count shows the state of the member device that is to be (re)added is equal or older than at the time the device failed. (Otherwise, abort and print an error message that the device contains conflicting changes.)
+ Let the "mdadm --incremental" command (re)add members to running arrays automatically again. Not doing so does not guard against running from alternating (diverging) parts of an array anyway (if the devices come up in random order, the both parts get started degraded, when they come up first Bug #1166086), but at least it prevents overwriting on version with the other.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to mdadm in Ubuntu.
https://bugs.launchpad.net/bugs/1088532
Title:
pluging in a missing raid member does not (re)add it to array
Status in “mdadm” package in Ubuntu:
Confirmed
Bug description:
12.04.1 regression (worked before, maybe without the mentioned safety
check, but it worked)
Depends on: Bug #1166086
(re-add refers to speeding up the sync using a bitmap)
The --incremental (udev) call refuses to (re)add a temporarily
diconnected member back to an already restarted (active) raid. (Even
thought the event count clearly shows its state is equal or older than
at the time the array was started (run) degraded.)
This seems to have come by an attempt to "fix" bug #557429, without considering the discussion bejond comment 68
https://bugs.launchpad.net/mdadm/+bug/557429/comments/68
And when attempting to do it manually:
# mdadm /dev/md2 --re-add /dev/sda6
mdadm: --re-add for /dev/sda6 to /dev/md2 is not possible
(missing info: "bacause the array has no write intent bitmap")
# mdadm /dev/md2 --add /dev/sda6
mdadm: /dev/sda6 reports being an active member for /dev/md2, but a --re-add fails.
mdadm: not performing --add as that would convert /dev/sda6 in to a spare.
mdadm: To make this a spare, use "mdadm --zero-superblock /dev/sda6" first.
This is not how things are supposed to work in times of hotpluging.
A warning/question if the device that is to be added contains newer
data than at its time of failure is appropriate and very important Bug
#1166086, but otherwise, get the job of adding that device back to its
raid done!
To avoid regression:
Let the "mdadm --incremental" command (re)add members to running arrays automatically again. Not doing so does not guard against running from alternating (diverging) parts of an array anyway (if the devices come up in random order, the both parts get started degraded, when they come up first Bug #1166086), but at least it prevents overwriting on version with the other.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1088532/+subscriptions
More information about the foundations-bugs
mailing list