On Monday April 17, [EMAIL PROTECTED] wrote:
> Neil Brown wrote:
> > use --assemble --force
>
> # mdadm --assemble --force /dev/md1
> mdadm: forcing event count in /dev/sda1(0) from 163362 upto 163368
> mdadm: /dev/md1 has been started with 5 drives (out of 6).
>
> Oops, only 5 drives, but I know data is OK on all 6 drives.
>
> I also know that there are bad blocks on more than 1 drive. So I want
> MD to recover from the other drives in those cases, which I won't be
> able to with only 5 drives.
>
> In other words, checking/repairing with only 5 drives will lead to
> data corruption.
>
> I'll stop and try again, listing all 6 drives by hand:
>
> # mdadm --stop /dev/md1
> # mdadm --assemble /dev/md1 --force /dev/sda1 /dev/sdb1 /dev/sdc1
> /dev/sdd1 /dev/sde1 /dev/sdf1
> mdadm: /dev/md1 has been started with 5 drives (out of 6).
>
> Ugh. Didn't work. Bug?
>
> How do I force MD to raise the event counter on sdb1 and accept it
> into the array as-is, so I can avoid bad-block induced data
> corruption?
For that, you have to recreate the array. Make sure you get the
chunksize, parity algorithm, and order correct, but something like
mdadm -C /dev/md1 --assume-clean /dev/sda1 /dev/sdb1 /dev/sdc1 \
/dev/sdd1 /dev/sde1 /dev/sdf1
and then
echo check > /sys/block/md1/md/sync_action
and see what
cat /sys/block/md1/md/mismatch_count
reports at the end.
Then maybe 'echo repair > ....'
NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html