From: Juergen B. <Jue...@we...> - 2009-06-27 20:26:17
|
I use debian lenny on my system and have enabled smartmon testing. For some days now I receive emails telling me that there are pending sectors: Device: /dev/sda, 1 Offline uncorrectable sectors Thus, I read the 'Bad block HOWTO for smartmontools' and tried to correct the problem. However, it does not work. Here is what I did: I listed the selftest errors inorder to find out the bad block: > lisa:/home/jba/comp/hardware/harddisks/HD103UI# smartctl -l selftest /dev/sda > smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen > Home page is http://smartmontools.sourceforge.net/ > > === START OF READ SMART DATA SECTION === > SMART Self-test log structure revision number 1 > Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error > # 1 Short offline Completed: read failure 20% 2363 1116720298 > # 2 Short offline Completed: read failure 20% 2351 1116720298 > # 3 Short offline Completed without error 00% 2329 - > ... Ok, error is on LBA 1116720298. I then looked into fdisk to find out, to which partition the LBA belongs: > lisa:/home/jba/comp/hardware/harddisks/HD103UI# fdisk -lu /dev/sda > > Disk /dev/sda: 1000.2 GB, 1000204886016 bytes > 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors > Units = sectors of 1 * 512 = 512 bytes > Disk identifier: 0x000da0a1 > > Device Boot Start End Blocks Id System > /dev/sda1 * 63 78140159 39070048+ c W95 FAT32 (LBA) > /dev/sda2 78140160 82060019 1959930 82 Linux swap / Solaris > /dev/sda3 82060020 199270259 58605120 83 Linux > /dev/sda4 199270260 1953520064 877124902+ 5 Extended > /dev/sda5 199270323 1566466019 683597848+ 83 Linux > /dev/sda6 1566466083 1953520064 193526991 83 Linux The bad LBA is in sda5. The I looked for the block size: > lisa:/home/jba/comp/hardware/harddisks/HD103UI# tune2fs -l /dev/sda5 | grep Block > Block count: 170899462 > Block size: 4096 > Blocks per group: 32768 Block size is 4096. Thus, the bad block calulates as b = (int)((L-S)*512/B) = (int) (1116720298 - 199270323) * 512 / 4096 = (int) 114681246.88 = 114681246 This should be the block number. > lisa:/home/jba/comp/hardware/harddisks/HD103UI# debugfs > debugfs 1.41.3 (12-Oct-2008) > debugfs: open /dev/sda5 > debugfs: icheck 114681246 > Block Inode number > 114681246 <block not found> But debugfs does not find a corresponding Inode for this block. What does this mean? It seems that the buggy sector isnt used at all. But why does smart report an error then? Could it be, that the block was used before for, but the file was erased in the meantime? What shoul I do? just overwriting the block with dd (dd if=/dev/zero of=/dev/hda3 bs=4096 count=1 seek=114681246)? Juergen ______________________________________________________ GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT! Jetzt freischalten unter http://movieflat.web.de |