Hi,
I'm hoping someone can help me debug some intermittent read errors I'm seeing? If I read a 2Gb file from disk multiple times I see a corrupt block about once every 10Gb - damned if I can figure out why.
My setup:
11 x 500Gb drives in a hardware RAID-5 array
U160 SCSI connection from the RAID to an Adaptec 39160 HBA
The RAID array appears in 2Tb slices across SCSI, so gvinum to glue it back together:
Code:
# gvinum l
3 drives:
D d1 State: up /dev/da0s1a A: 0/2097141 MB (0%)
D d2 State: up /dev/da1s1a A: 0/2097141 MB (0%)
D d3 State: up /dev/da2s1a A: 0/575053 MB (0%)
1 volume:
V storage State: up Plexes: 1 Size: 4657 GB
1 plex:
P storage.p0 C State: up Subdisks: 3 Size: 4657 GB
3 subdisks:
S storage.p0.s0 State: up D: d1 Size: 2047 GB
S storage.p0.s1 State: up D: d2 Size: 2047 GB
S storage.p0.s2 State: up D: d3 Size: 561 GB
#
Have to admit it took me a while to get all this working (I'm far from a BSD guru), so I'm kinda lost how to debug it - how do I go about figuring out which side of the SCSI cable the fault is on?
As a (possibly) simpler solution, is there a way I can tell the filesystem to validate checksums when it reads a block from disk and re-read if the checksum fails?
Cheers!