From: Filipe Maia <hidden> Date: 2006-01-19 12:02:36
Is it easy to port the "readerrors rewrite" patch to RAID6?
Are there any plans to do it?
If there are are they short or long term?
(I have some stuff in a RAID6 that has more than 2 disks with
bad sectors and i would like to see if it would be possible to
recover them without going through all the dd stuff).
Thanks for the help.
--
All generalizations are false, including this one.
-- Mark Twain
OK, I was a bit stupid...
I changed a drive today, so I rebuilt a software RAID1.
I have a RAID1 in degraded mode (1 out of 2 drives), and I added a new
partition to it. When I say I was stupid, I mean the partition I added was
a tiny little bit smaller than what it should have been.
md happily added it, synced, then at the very end :
Jan 19 21:33:27 apollo13 attempt to access beyond end of device
Jan 19 21:33:27 apollo13 sda7: rw=1, want=12498560, limit=12498507
Jan 19 21:33:27 apollo13 raid1: Disk failure on sda7, disabling device.
Jan 19 21:33:27 apollo13 Operation continuing on 1 devices
Of course, "attempt to access beyond end of device", I made the device
too small. Duh.
No problem, I'll just fix my partition, but a warning message on the
mdadm --add would have avoided losing time doing the sync, and at the end,
a few seconds of "WTF ? it failed ? ah, ok..."
Have a nice day !
mdadm --version
mdadm - v2.1 - 12 September 2005
Sorry for flooding ;)
I have the following configuration :
- two disks (hda and sda)
- each disk has 2 partitions (hda1/sda1) and (hda2/sda2)
- two raid1 md devices are made :
md0 = sda1 + hda1, contains the OS
md1 = sda2 + hda2, contains a database
I made 2 devices because I wanted to use different FS's.
When rebuilding md1, it does not realize accesses to md0 wait for the
same disks. Thus reconstruction of md1 runs happily at full speed, and the
machine is dog slow, because the OS and everything is on md0.
(I cat /dev/zero to a file on md1 to slow the rebuild so it would let me
start a web browser so I don't get bored to death)
When rebuilding md0, the rebuild process detects accesses to md0 and
behaves nicely (the machine is responsive). However, it does not realize
that md1 is on the same disks, thus the databases are dog slow.
Fortunately, as the rebuild runs ar full speed, the pain does not last
long. It took 5 minutes to start this email client though.
Thought you might wanna know ;)
Regards,
Pierre Caillaud
From: Mike Hardy <hidden> Date: 2006-01-19 22:10:02
PFC wrote:
When rebuilding md1, it does not realize accesses to md0 wait for
the same disks. Thus reconstruction of md1 runs happily at full speed,
and the machine is dog slow, because the OS and everything is on md0.
(I cat /dev/zero to a file on md1 to slow the rebuild so it would
let me start a web browser so I don't get bored to death)
echo "10000" > /proc/sys/dev/raid/speed-limit-max (or similar?)
You can do that in /etc/rc.local or something to make sure it sticks,
then you'll be able to use your machine while any array rebuilds.
I guess the feature you're asking for is for md to guess that accessing
any partition component on a disk that has a partition being rebuilt
should throttle the rebuild, right?
Can that heuristic be successful at all times? I think it might.
Does md have enough information to do that? I don't know...
-Mike