Re: frequent disk error, need guidance

From: Gary Aitken <freebsd_at_dreamchaser.org>
Date: Sat, 15 Apr 2023 19:25:07 UTC
On 4/14/23 22:33, Polytropon wrote:
> On Fri, 14 Apr 2023 20:53:05 -0700, Gary Aitken wrote:
>> I'm seeing a boatload of the same error:
>>     (ada0:ata2:0:0:0): READ_DMA. ACB: c8 00 e2 c7 73 41 00 00 00 00 40 00
>>     (ada0:ata2:0:0:0): CAM status: ATA Status Error
>>     (ada0:ata2:0:0:0): ATA status: 51 (DRDY SERV ERR), error: 40 (UNC )
>>     (ada0:ata2:0:0:0): RES: 51 40 e7 c7 73 01 01 00 00 00 00
>>     (ada0:ata2:0:0:0): Retrying command, 3 more tries remain
>> repeated, with occasional:
>>     g_vfs_done():ada0p2[READ(offset=12474351616, length=32768)]error = 5
...
>> # smartctl --test=long /dev/ada0
>> # smartctl --log=selftest /dev/ada0
>> Num  Test_Description                          Remaining  LBA_of_1st_error
>>                          Status                        LifeTime(hours)
>>
>> # 1  Extended offline  Completed: read failure  90%  7482  24365031
>> # 2  Short offline     Completed: read failure  90%  7482  24365031
>> # 3  Short offline     Completed: read failure  90%  7482  24365031
>> # 4  Short offline     Completed without error  00%     0  -
>>
>> So I presume a bad block/sector on the disk.
> 
> Probably too many bad blocks. The disks's firmware will
> remap defective blocks to spare ones, and as soon as you
> receive errors on OS level, it ran out of spare blocks.
> This means it is not the beginning of a problem, but
> the problem now is significant, and the disk probably
> has arrived its end of life.
> 
> There is another option: Check all cables. Power to
> be sure, but data is most important. In worst case,
> try replacing the data cable. Check that it sits
> as inteded on both sides. Yes - sometimes it is
> that simple. ;-)
Thanks all who responded.
Replaced the cable and retried, no change.
Used different port with new cable, no change.
Brought up, tested (smartctl --test=long), set up a new disk.
Having never actually done this (I've always installed a newer version
of fbsd in such cases), wanted to see if the following is a good way
to copy the old disk to the new one.

mount /dev/ada1p2 /mnt/newsys
cd /mnt/newsys
dump -0 -f - /dev/ada0p2 | restore -r -Dv -f -

However... this is a running system, which seems unlikely to produce
a consistent result.

There are only 2 sata slots on the mobo, so I can't mount a third
system, although I might be able to build a memstick and use that.
Can I reboot in a read-only manner and do the above?
Never done that, not sure what's involved.
Is single-user mode sufficient?

Thanks,

Gary