2007-03-05
Some useful new Linux software RAID features
Courtesy of a pointer from the linux-kernel mailing list to the Gentoo wiki entry, here's two useful (relatively) new software RAID features:
- Normally, if a RAID array goes out of sync the kernel assumes everything
on the out of date drive(s) has to be rewritten. With write-intent bitmaps
the kernel keeps track of what areas actually got written to and only
resyncs them.
(This brings Linux up to more or less parity with an equivalent Solaris DiskSuite feature.)
- 'data scrubbing' reads the entire RAID array to check that all of the
sectors are still good and, if one disk has a flaw somewhere, attempts
to rewrite the sector using the good data from another disk.
(This is superior to trying to
dump
the filesystem to/dev/null
every so often because it scans all of the mirrors in a RAID-1 array, not just one of them.)
Both features need a modern kernel (according to the Gentoo wiki, at
least 2.6.16); enabling and disabling write-intent bitmaps also needs
a modern version of mdadm
. Unfortunately, this means that our Ubuntu
6.06 and Red Hat Enterprise 4 machines are out of luck; the Ubuntu LTS
kernel is at 2.6.15 or so , and the RHEL 4 kernel is all the way
back at some version derived from 2.6.9. My Fedora Core 6 machines are
good, though, which makes me happy.
(You can do data checking by hand by dd
'ing from the raw devices every
so often, and you probably should. And I'm not sure if the software RAID
data scrubbing will give a clear and easily found report if it finds
a bad sector it can't rewrite, although possibly your SMART drive
monitoring will give you an alert.)