how to get rid of bad blocks in a file on PERC 5/I?
adam.nielsen at uq.edu.au
Thu Apr 29 23:05:10 CDT 2010
> I could use some help trying to get rid of some bad blocks on a RAID-5 on
> PERC 5/I controller.
I'm certainly no expert with this but just have a few thoughts I'd
mention. I believe that when hard disks discover they have a bad sector
they attempt to remap it themselves, but it may not always happen right
away. So it's possible that by the time you rebuilt the array the
sectors had been relocated.
However given the subsequent failures I would think that the drive may
actually be fine - maybe you can run a self test on it without going
through a RAID controller.
It's also my experience (albeit with older RAID controllers) that when
the controller reports the array as OK, it means it can communicate with
all the disks in it. It's not a comment on whether any of the disks are
working properly or not. In fact the controllers I have used (old
MegaRAID cards) work great if a disk dies, but they are a bit
unpredictable when a disk works but has read problems. They don't seem
to be designed to cope with dodgy disks, only flat out broken ones.
I don't know whether the situation has improved in recent years, the
experiences were enough to persuade me to switch to software RAID which
I have stuck with ever since.
> But, after the
> xfs_repair, xfs_check says /data is in good condition.
I also don't know whether xfs_repair actually repairs the *data* in the
filesystem. I suspect it only checks the filesystem structure, and
assumes the data itself is correct. If there is no XFS metadata stored
in a bad block, it wouldn't surprise me that the tools never detect it.
You could try removing each disk one at a time and trying to create an
image of it, that will attempt a read from every block on the disk.
Presumably at some point you will hit a disk that fails half way through
the procedure, unless the disks really are all fine.
More information about the Linux-PowerEdge