A tool for remapping bad sectors in CURRENT?

Miroslav Lachman 000.fbsd at quip.cz
Mon Mar 8 13:29:15 UTC 2010


Eugene Dzhurinsky wrote:
> On Mon, Mar 08, 2010 at 12:21:44PM +0100, Miroslav Lachman wrote:
>> Eugeny N Dzhurinsky wrote:
>> We have this problem from time to time on bunch of machines. As we are
>> using gmirror, the easiest way is to force re-synchronization (rewrite)
>> of the whole drive. The problem is when there are Pending unreadable
>> sectors on both drives - it ends up with read error and some file(s) are
>> corrupted, but there is no easy way (on FreeBSD) to find what file.
>>
>> I tried it in the past with fsdb / findblk, but it does not work as I
>> expect or I do not fully understand the needed calculations with slices
>> + partitions offsets / LBAs and right meaning of the term "block". It
>> seems there are several meaning in different contexts.
>>
>> It would be nice if somebody with enough FS / GEOM knowledge can write
>> some HowTo or shell script to do the calculations and operations to find
>> file containing bad sector(s) and put it in FAQ, Handbook, or Wiki.
>
>
> Miroslav, thank you for the suggestion - but I am not using gmirror, that HDD
> is the one on my laptop. However suggestions about using dd to write something
> into bad block to force IDE controller do it's service stuff about remapping
> seems did the trick. And I was able to not calculate LBA but use it as block
> offset, which seemed to be correct way :)

Yes, rewriting by dd or any other way works for reallocating or clearing 
pending sectors counter, but in server environment I need to know the 
affected file, as it can be for example database file and then it is a 
big problem! Rewriting the sector inside InnoDB ib_data file can cause 
DB crash, data loss etc.

Miroslav Lachman


More information about the freebsd-current mailing list