Software Raid 1 Array Failure - Detecting and Repairing
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Software Raid 1 Array Failure - Detecting and Repairing
Greetings,
It seems that my Raid-1 array is malfunctioning on my server PC!
I'm not sure if the drive has actually failed, or is just out of sync with the other. I'm using two identical 500 gigabyte hard drives in a Raid-1 software array.
cat /prov/mdstat outputs the following:
[root@localhost ~]# mdadm --add /dev/md0 /dev/sda1
mdadm: Cannot open /dev/sda1: Device or resource busy
Code:
[root@localhost ~]# smartctl -a /dev/sda
smartctl version 5.37 [i386-redhat-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.10 family
Device Model: ST3500630AS
Serial Number: 6QG0NC4H
Firmware Version: 3.AAK
User Capacity: 500,107,862,016 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 7
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Fri Apr 4 07:06:26 2008 CDT
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: ( 430) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No 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: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 163) minutes.
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 090 076 006 Pre-fail Always - 32457944
3 Spin_Up_Time 0x0003 093 093 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 18
5 Reallocated_Sector_Ct 0x0033 098 098 036 Pre-fail Always - 85
7 Seek_Error_Rate 0x000f 076 060 030 Pre-fail Always - 50012897
9 Power_On_Hours 0x0032 097 097 000 Old_age Always - 3257
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 18
187 Unknown_Attribute 0x0032 088 088 000 Old_age Always - 12
189 Unknown_Attribute 0x003a 098 098 000 Old_age Always - 2
190 Temperature_Celsius 0x0022 061 051 045 Old_age Always - 740556839
194 Temperature_Celsius 0x0022 039 049 000 Old_age Always - 39 (Lifetime Min/Max 0/16)
195 Hardware_ECC_Recovered 0x001a 063 053 000 Old_age Always - 51530649
197 Current_Pending_Sector 0x0012 097 096 000 Old_age Always - 77
198 Offline_Uncorrectable 0x0010 097 096 000 Old_age Offline - 77
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 5
200 Multi_Zone_Error_Rate 0x0000 100 253 000 Old_age Offline - 0
202 TA_Increase_Count 0x0032 090 243 000 Old_age Always - 10
SMART Error Log Version: 1
ATA Error Count: 12 (device log contains only the most recent five errors)
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 12 occurred at disk power-on lifetime: 2742 hours (114 days + 6 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 00 a9 6f 6c ea Error: UNC at LBA = 0x0a6c6fa9 = 174878633
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 08 a7 6f 6c ea 00 01:23:15.690 READ DMA
27 00 00 00 00 00 e0 00 01:23:15.689 READ NATIVE MAX ADDRESS EXT
ec 00 00 00 00 00 a0 00 01:23:13.462 IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00 01:23:20.211 SET FEATURES [Set transfer mode]
27 00 00 00 00 00 e0 00 01:23:20.154 READ NATIVE MAX ADDRESS EXT
Error 11 occurred at disk power-on lifetime: 2742 hours (114 days + 6 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 00 a8 6f 6c ea Error: UNC at LBA = 0x0a6c6fa8 = 174878632
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 08 a7 6f 6c ea 00 01:23:15.690 READ DMA
c8 00 08 9f 6f 6c ea 00 01:23:15.689 READ DMA
ca 00 08 9f 6f 6c ea 00 01:23:13.462 WRITE DMA
27 00 00 00 00 00 e0 00 01:23:13.404 READ NATIVE MAX ADDRESS EXT
ec 00 00 00 00 00 a0 00 01:23:13.403 IDENTIFY DEVICE
Error 10 occurred at disk power-on lifetime: 2742 hours (114 days + 6 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 00 a4 6f 6c ea Error: UNC at LBA = 0x0a6c6fa4 = 174878628
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 08 9f 6f 6c ea 00 01:23:08.657 READ DMA
27 00 00 00 00 00 e0 00 01:23:08.656 READ NATIVE MAX ADDRESS EXT
ec 00 00 00 00 00 a0 00 01:23:13.462 IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00 01:23:13.404 SET FEATURES [Set transfer mode]
27 00 00 00 00 00 e0 00 01:23:13.403 READ NATIVE MAX ADDRESS EXT
Error 9 occurred at disk power-on lifetime: 2742 hours (114 days + 6 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 00 a4 6f 6c ea Error: UNC at LBA = 0x0a6c6fa4 = 174878628
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 08 9f 6f 6c ea 00 01:23:08.657 READ DMA
27 00 00 00 00 00 e0 00 01:23:08.656 READ NATIVE MAX ADDRESS EXT
ec 00 00 00 00 00 a0 00 01:23:08.656 IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00 01:23:08.598 SET FEATURES [Set transfer mode]
27 00 00 00 00 00 e0 00 01:23:08.597 READ NATIVE MAX ADDRESS EXT
Error 8 occurred at disk power-on lifetime: 2742 hours (114 days + 6 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 00 a4 6f 6c ea Error: UNC at LBA = 0x0a6c6fa4 = 174878628
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 08 9f 6f 6c ea 00 01:23:08.657 READ DMA
27 00 00 00 00 00 e0 00 01:23:08.656 READ NATIVE MAX ADDRESS EXT
ec 00 00 00 00 00 a0 00 01:23:08.656 IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00 01:23:08.598 SET FEATURES [Set transfer mode]
27 00 00 00 00 00 e0 00 01:23:08.597 READ NATIVE MAX ADDRESS EXT
SMART Self-test log structure revision number 1
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.
Thanks for the help, much appreciated!
Yikes! You always want Reallocated_Sector_Ct and Offline_Uncorrectable to be 0. Basically the surface of the disk is bad in a few areas and causing bad blocks.
You might want to do a full format of the disk so that the "Offline_Uncorrectable" blocks will be read/written and either automatically brought back into service or remapped by the drive firmware. After that build the partition table back up to the way it should be for the raid. You could probably use dd if=/dev/sourcedrive of=dev/targetdrive for that if they are the same model. Then you can re-add it and see if it continues to get bad blocks. Also you will need to run e2fsck -c /dev/sda# so that the ext3 filesystem can map out the bad blocks and keep from writing to them. See bad blocks are remapped to special reserved good blocks by the driver firmware. But this effectively causes performance loss because it breaks the consistency and is similar to fragmentation.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.