Bad block on MyBook World Edition

Hi,

I’ve a bad block on my WD MyBook World Edition (white light, single drive, FW 01.01.18) since Saturday morning. I’m monitoring this drive with Nagios3 and got a ‘Sectors pending re-allocation’-warning. Log and ‘Drive status’ in the web-access doesn’t show any error.

Here is the output of smartctl:

$ smartctl -d ata -t long /dev/sda
...

$ smartctl -d ata -l selftest /dev/sda 
smartctl 5.40 2010-10-16 r3189 [arm-none-linux-gnueabi] (local build)
Copyright (C) 2002-10 by Bruce Allen, 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 Extended offline Completed without error 00% 16395 -

$ 
$ smartctl -d ata -a /dev/sda 
smartctl 5.40 2010-10-16 r3189 [arm-none-linux-gnueabi] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family: Western Digital Caviar Green family
Device Model: WDC WD10EADS-11M2B2
Serial Number: WD-WCAV59095523
Firmware Version: 80.00A80
User Capacity: 1,000,204,886,016 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Sun May 13 04:42:58 2012 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x82)	Offline data collection activity
					was completed without error.
					Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: (18960) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities: (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability: (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 219) minutes.
Conveyance self-test routine
recommended polling time: ( 5) minutes.
SCT capabilities: (0x3031)	SCT Status supported.
					SCT Feature Control supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
  3 Spin_Up_Time 0x0027 128 126 021 Pre-fail Always - 6600
  4 Start_Stop_Count 0x0032 089 089 000 Old_age Always - 11901
  5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
  7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
  9 Power_On_Hours 0x0032 078 078 000 Old_age Always - 16409
 10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
 11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 20
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 11
193 Load_Cycle_Count 0x0032 001 001 000 Old_age Always - 986214
194 Temperature_Celsius 0x0022 096 090 000 Old_age Always - 51
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 1
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 1
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 1

SMART Error Log Version: 1
ATA Error Count: 1
	CR = Command Register [HEX]
	FR = Features Register [HEX]
	SC = Sector Count Register [HEX]
	SN = Sector Number Register [HEX]
	CL = Cylinder Low Register [HEX]
	CH = Cylinder High Register [HEX]
	DH = Device/Head Register [HEX]
	DC = Device Command Register [HEX]
	ER = Error register [HEX]
	ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 1 occurred at disk power-on lifetime: 15791 hours (657 days + 23 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 10 28 3c 57 eb Error: UNC 16 sectors at LBA = 0x0b573c28 = 190266408

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
  -- -- -- -- -- -- -- -- ---------------- --------------------
  c8 00 10 28 3c 57 eb 00 20d+00:25:36.876 READ DMA

SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed without error 00% 16395 -

SMART Selective self-test log data structure revision number 1
 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
    1 0 0 Not_testing
    2 0 0 Not_testing
    3 0 0 Not_testing
    4 0 0 Not_testing
    5 0 0 Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

I know how to fix this on a normal drive with ext2/3 (e.g. like this) but how to deal with the pseudo software-raid (/dev/mdX) and xfs? Does someone has a hint for me please?

$ mount
securityfs on /sys/kernel/security type securityfs (rw)
/dev/md2 on /DataVolume type xfs (rw,usrquota)
/dev/md4 on /ExtendVolume type xfs (rw,usrquota)

PS: I already posted this in MBWE board. But got the advise to ask here.

I believe the format of the internal HDDs in the MBW drives is ext3. You might try to connect the internal hard drives directly to the computer and try to fix it from there. 

No. There is a raid-fs on the drive. Inside the raid there is xfs. I believe this is because you can have this NAS with two drives witch comes with the same firmware. So they put the sw-raid also on the single-drive and don’t need to support two different firmwares.

Problem is that I don’t have any SATA hardware except a netbook. All my computers are a bit old and just come with IDE and SCSI. But I think this must be fixable via ssh if I only would know how to identify the inode of this block inside the raid.

$ 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

   Device Boot Start End Blocks Id System
/dev/sda1 64320 3984191 1959936 fd Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sda2 3984192 4498175 256992 fd Linux raid autodetect
Partition 2 does not end on cylinder boundary.
/dev/sda3 4498176 6474175 988000 fd Linux raid autodetect
Partition 3 does not end on cylinder boundary.
/dev/sda4 6474176 1953520064 973522944+ fd Linux raid autodetect
$$ mountsecurityfs on /sys/kernel/security type securityfs (rw)/dev/md2 on /DataVolume type xfs (rw,usrquota)/dev/md4 on /ExtendVolume type xfs (rw,usrquota)