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