Stefan G. Weichinger writes:
> Would someone help me out on this issue?
>
> I have a flaky disk in a server, and dmesg says:
>
> end_request: I/O error, dev sdb, sector 1835240116
Uh-oh. I suggest emerging badblocks, and then do a 'badblocks /dev/sdb' to
see which and how many blocks are defective. You can also replace sdb by
sdb6 or whatever partition you are specifically interested in.
You also might want to use the -n option (non-destructive write mode), but
only on partitions that are not mounted / used.
smartmontools also offer some diagnostic features. Including a full surface
check, but it stops at the first error. At least you know then until which
sectory the drivs is still okay:
smartctl -tlong /dev/sdb
wait...
smartctl -l selftest /dev/sda
smartctl -a /dev/sdb also shows lots of info, including the number of bad
and reallocated sectors.
If cou can, make a copy of the partiton(s) drive with ddrescue (or dd-
rescue, don't know which one is better, but both are more tolerable to
errors than dd is).
I had drives with single errors that seems to work fine for years after
this, but I do nto put important data on them. And it is also possible that
you had a head crash and more and more sectors become defective. So do the
backup fast, or do not use the drive until you do. Good luck!
> Now i have this layout:
>
> # fdisk -l /dev/sdb
>
> Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
> 255 heads, 63 sectors/track, 121601 cylinders
> Units = cylinders of 16065 * 512 = 8225280 bytes
> Sector size (logical/physical): 512 bytes / 512 bytes
> I/O size (minimum/optimal): 512 bytes / 512 bytes
> Disk identifier: 0x00000000
>
> Device Boot Start End Blocks Id System
> /dev/sdb1 1 13 104391 fd Linux raid
> autodetect
> /dev/sdb2 14 50 297202+ 82 Linux swap /
> Solaris /dev/sdb3 51 2483 19543072+ fd Linux
> raid autodetect
> /dev/sdb4 2484 121601 956815335 5 Extended
> /dev/sdb5 2484 106917 838866073+ 8e Linux LVM
> /dev/sdb6 106918 121601 117949198+ fd Linux raid
> autodetect
>
>
> My question (apart from the fact that I evacuate all on that
> non-raid-LVM-partition right now!):
>
> In which partition is that "sector 1835240116" ?
sdb6 I think. Your fdisk uses units of 16065 * 512 bytes, while a sector has
512 bytes. 1835240116 / 16065 = 114238, this gives sdb6.
Or change fdisk's units to sectors:
fdisk /dev/sdb
u
u
p
Wonko