From: Salyzyn, Mark <hidden> Date: 2004-08-06 19:24:23
We have two RAID cards of different heritage over here with differing
definitions. One defines scrub as a means of erasing any content and
ensuring all blocks have correct parity or redundancy information; the
other defines it solely for RAID-5 to rebuild all the parity blocks. The
action in the second case resolves itself as a result of reading the bad
block.
Just reading the entire array should correct the bad blocks, so reverse
the sense of the dd:
dd if=/dev/md0 of=/dev/null bs=200b
to find and replace the bad blocks (making the assumption that md works
like the H/W RAID cards).
Sincerely -- Mark Salyzyn
-----Original Message-----
From: Kanoa Withington [mailto:kanoa@cfht.hawaii.edu]
Sent: Friday, August 06, 2004 3:03 PM
To: Salyzyn, Mark
Cc: Derek Listmail Acct; linux-raid@vger.kernel.org
Subject: RE: Scrub?
Eh, that would delete the contents of the array, including the
filesystem. Is that what you meant by "scrub"? I thought "scrubbing"
meant looking for unreadable blocks and pro-actively replacing them
from parity. The latter would be very useful for a software raid 5
array since there is currently no facility in software raid for doing
this on-the-fly. I imagine it would be possible to write such a
utility in user space. I, too, wonder if anyone out there has
something that works.
-Kanoa
On Fri, 6 Aug 2004, Salyzyn, Mark wrote:
dd if=/dev/zero of=/dev/md0 bs=200b
-----Original Message-----
From: linux-raid-owner@vger.kernel.org
[mailto:linux-raid-owner@vger.kernel.org] On Behalf Of Derek Listmail
Acct
Sent: Friday, August 06, 2004 2:07 PM
To: linux-raid@vger.kernel.org
Subject: Scrub?
Many of the hardware raid controllers I've used have the ability to
run
a
'scrub' on an array. Is there a way to do this on a linux software
raid
5
array?
-
To unsubscribe from this list: send the line "unsubscribe linux-raid"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
-
To unsubscribe from this list: send the line "unsubscribe linux-raid"
From: Mark Watts <hidden> Date: 2004-08-06 19:41:35
On Friday 06 Aug 2004 8:24 pm, Salyzyn, Mark wrote:
We have two RAID cards of different heritage over here with differing
definitions. One defines scrub as a means of erasing any content and
ensuring all blocks have correct parity or redundancy information; the
other defines it solely for RAID-5 to rebuild all the parity blocks. The
action in the second case resolves itself as a result of reading the bad
block.
Well I've only ever seen the phrase 'scrub' used when refering to wiping
disks, usually in a secure way (multiple passes with different bit paterns).
Thats on this side of the pond anyway...
Just reading the entire array should correct the bad blocks, so reverse
the sense of the dd:
dd if=/dev/md0 of=/dev/null bs=200b
to find and replace the bad blocks (making the assumption that md works
like the H/W RAID cards).
In this case software RAID does not work like the H/W cards. Finding
an unreadable block that way in a software array would cause it to go
into a degraded state.
-Kanoa
From: Mikael Abrahamsson <hidden> Date: 2004-08-06 20:03:33
On Fri, 6 Aug 2004, Mark Watts wrote:
Well I've only ever seen the phrase 'scrub' used when refering to wiping
disks, usually in a secure way (multiple passes with different bit paterns).
Thats on this side of the pond anyway...
http://www.nexsan.com/products/FAQATAboy.pdf
There is a sentense:
"Array is verified before being put into production; automatic "parity
scrub" (array verify) is performed as a background task every 24 hours
after"
So some use it in the sense of "verify" anyway. I prefer verify as well,
it seems a more adequate word. There are numerous referrals to the word
"scrub" as verify when doing a google search for "+raid +scrub".
I set my 3ware volumes to verify every week, it makes me more comfortable
with the volumes being checked and excercised on a regular basis so I know
all blocks can be read from all drives.
--
Mikael Abrahamsson email: swmike@swm.pp.se
From: dean gaudet <hidden> Date: 2004-08-06 21:58:56
On Fri, 6 Aug 2004, Kanoa Withington wrote:
On Fri, 6 Aug 2004, Salyzyn, Mark wrote:
quoted
Just reading the entire array should correct the bad blocks, so reverse
the sense of the dd:
dd if=/dev/md0 of=/dev/null bs=200b
to find and replace the bad blocks (making the assumption that md works
like the H/W RAID cards).
In this case software RAID does not work like the H/W cards. Finding
an unreadable block that way in a software array would cause it to go
into a degraded state.
if the disks support SMART (i.e. they're less than a few years old) then
try running the smart long selftest... it can be done online and on many
disks it will force sector reallocation (and produce a SMART log event so
you know it happenned).
get smartmontools and run "smartctl -a" to see info on your drive, and
"smartctl -t long" to launch the long test. man page has more examples.
i run smart long tests on each my disks once a week (staggerred over many
nights)... see /etc/smartd.conf.
-dean