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

Reply via email to