1

I don't want to approach this in a trial-and-error manner as I know this is the best thing to do if I want to loose my data.

I have a server with 4*2TB disks in RAID5 (yes I know it's not wise) on a Ubuntu 14.04.

Most of my data is in /home on RAID 5 and / is on RAID1.

I booted the server in rescue mode, but I can't figure out :

  • if the problem is soft or hardware,
  • if there's a way to remount the raid to recover these data.

I had a carefull read of Recovering a failed software RAID (raid.wiki.kernel.org), but as I'm not really confident about my diagnosis, I'd like to have some mindful judgement about what's going on and how to proceed if there's anything to do…

The only thins I tried was to mount my mds devices that weren't mounted, that worked for md2 mount /dev/md2 /mnt/, but I couldn't mount neither md0 nor md3 as I'm told /dev/md3: can't read superblock.

So far, this is what I checked :

EDIT parted -l

root@rescue:/mnt# parted -l
Model: ATA ST2000DM001-1CH1 (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name     Flags
 1      20.5kB  1049kB  1029kB                  primary  bios_grub
 2      2097kB  10.5GB  10.5GB  ext4            primary  raid
 3      10.5GB  2000GB  1989GB                  primary  raid
 4      2000GB  2000GB  536MB   linux-swap(v1)  primary


Model: ATA ST2000DM001-1CH1 (scsi)
Disk /dev/sdb: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name     Flags
 1      20.5kB  1049kB  1029kB                  primary  bios_grub
 2      2097kB  10.5GB  10.5GB  ext4            primary  raid
 3      10.5GB  2000GB  1989GB                  primary  raid
 4      2000GB  2000GB  536MB   linux-swap(v1)  primary


Error: /dev/sdc: unrecognised disk label
Model: ATA ST2000DM001-1CH1 (scsi)                                        
Disk /dev/sdc: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: unknown
Disk Flags: 

Model: ATA ST2000DM001-1CH1 (scsi)
Disk /dev/sdd: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name     Flags
 1      20.5kB  1049kB  1029kB                  primary  bios_grub
 2      2097kB  10.5GB  10.5GB  ext4            primary  raid
 3      10.5GB  2000GB  1989GB                  primary  raid
 4      2000GB  2000GB  536MB   linux-swap(v1)  primary


Model: Linux Software RAID Array (md)
Disk /dev/md2: 10.5GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop
Disk Flags: 

Number  Start  End     Size    File system  Flags
 1      0.00B  10.5GB  10.5GB  ext4


Error: /dev/md127: unrecognised disk label
Model: Linux Software RAID Array (md)                                     
Disk /dev/md127: 10.5GB
Sector size (logical/physical): 512B/4096B
Partition Table: unknown
Disk Flags: 

smartctl

root@rescue:~# smartctl -a -d ata /dev/sdc
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.10.23-xxxx-std-ipv6-64-rescue] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

Smartctl: Device Read Identity Failed: Input/output error

A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.


root@rescue:~# smartctl -a -d ata /dev/sdd
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.10.23-xxxx-std-ipv6-64-rescue] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.14 (AF)
Device Model:     ST2000DM001-1CH164
Serial Number:    W1E1KX59
LU WWN Device Id: 5 000c50 05c821593
Firmware Version: CC43
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Tue Dec 30 16:04:49 2014 CET
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:  (0x00) Offline data collection activity
          was never started.
          Auto Offline Data Collection: Disabled.
Self-test execution status:      ( 121) The previous self-test completed having
          the read element of the test failed.
Total time to complete Offline 
data collection:        (  584) seconds.
Offline data collection
capabilities:            (0x73) SMART execute Offline immediate.
          Auto Offline data collection on/off support.
          Suspend Offline collection upon new
          command.
          No 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:    (   1) minutes.
Extended self-test routine
recommended polling time:    ( 230) minutes.
Conveyance self-test routine
recommended polling time:    (   2) minutes.
SCT capabilities:          (0x3085) SCT Status supported.

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   111   099   006    Pre-fail  Always       -       120551532
  3 Spin_Up_Time            0x0003   095   095   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       32
  5 Reallocated_Sector_Ct   0x0033   097   097   036    Pre-fail  Always       -       4008
  7 Seek_Error_Rate         0x000f   077   060   030    Pre-fail  Always       -       4351310995
  9 Power_On_Hours          0x0032   079   079   000    Old_age   Always       -       18725
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       32
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   089   089   000    Old_age   Always       -       11
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0 0 0
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   068   056   045    Old_age   Always       -       32 (Min/Max 26/35)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       31
193 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       46
194 Temperature_Celsius     0x0022   032   044   000    Old_age   Always       -       32 (0 16 0 0)
197 Current_Pending_Sector  0x0012   082   082   000    Old_age   Always       -       3056
198 Offline_Uncorrectable   0x0010   082   082   000    Old_age   Offline      -       3056
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       18708h+109m+27.415s
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       24242600022
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       112149279703

SMART Error Log Version: 1
ATA Error Count: 11 (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 11 occurred at disk power-on lifetime: 18520 hours (771 days + 16 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 ff ff ff 0f  Error: UNC at LBA = 0x0fffffff = 268435455

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 08 ff ff ff 4f 00      09:32:13.900  READ FPDMA QUEUED
  ef 10 02 00 00 00 a0 00      09:32:13.898  SET FEATURES [Reserved for Serial ATA]
  27 00 00 00 00 00 e0 00      09:32:13.898  READ NATIVE MAX ADDRESS EXT
  ec 00 00 00 00 00 a0 00      09:32:13.898  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 00      09:32:13.898  SET FEATURES [Set transfer mode]

Error 10 occurred at disk power-on lifetime: 18520 hours (771 days + 16 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 ff ff ff 0f  Error: UNC at LBA = 0x0fffffff = 268435455

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 08 ff ff ff 4f 00      09:32:10.764  READ FPDMA QUEUED
  60 00 08 ff ff ff 4f 00      09:32:10.763  READ FPDMA QUEUED
  60 00 38 ff ff ff 4f 00      09:32:10.763  READ FPDMA QUEUED
  ef 10 02 00 00 00 a0 00      09:32:10.763  SET FEATURES [Reserved for Serial ATA]
  27 00 00 00 00 00 e0 00      09:32:10.763  READ NATIVE MAX ADDRESS EXT

Error 9 occurred at disk power-on lifetime: 18520 hours (771 days + 16 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 ff ff ff 0f  Error: UNC at LBA = 0x0fffffff = 268435455

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 38 ff ff ff 4f 00      09:32:09.084  READ FPDMA QUEUED
  61 00 08 00 88 38 41 00      09:32:07.445  WRITE FPDMA QUEUED
  60 00 08 ff ff ff 4f 00      09:32:07.416  READ FPDMA QUEUED
  60 00 08 ff ff ff 4f 00      09:32:07.416  READ FPDMA QUEUED
  60 00 08 ff ff ff 4f 00      09:32:07.416  READ FPDMA QUEUED

Error 8 occurred at disk power-on lifetime: 18520 hours (771 days + 16 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 ff ff ff 0f  Error: WP at LBA = 0x0fffffff = 268435455

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  61 00 40 ff ff ff 4f 00      09:32:04.118  WRITE FPDMA QUEUED
  61 00 08 70 88 38 41 00      09:32:04.117  WRITE FPDMA QUEUED
  61 00 40 ff ff ff 4f 00      09:32:04.117  WRITE FPDMA QUEUED
  60 00 40 ff ff ff 4f 00      09:32:04.117  READ FPDMA QUEUED
  60 00 08 ff ff ff 4f 00      09:32:04.117  READ FPDMA QUEUED

Error 7 occurred at disk power-on lifetime: 17319 hours (721 days + 15 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 50 a9 59 02  Error: UNC at LBA = 0x0259a950 = 39430480

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 00 00 aa 59 42 00      01:31:02.054  READ FPDMA QUEUED
  60 00 00 00 a6 59 42 00      01:31:02.054  READ FPDMA QUEUED
  60 00 00 00 92 36 42 00      01:30:55.032  READ FPDMA QUEUED
  60 00 00 00 86 36 42 00      01:30:51.600  READ FPDMA QUEUED
  60 00 00 00 82 36 42 00      01:30:51.593  READ FPDMA QUEUED

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed: read failure       90%     18706         3848494344
# 2  Short offline       Completed without error       00%      3481         -
# 3  Short offline       Completed without error       00%      3472         -
# 4  Short offline       Completed without error       00%      3472         -
# 5  Short offline       Completed without error       00%        13         -
# 6  Short offline       Completed without error       00%         5         -
# 7  Short offline       Completed without error       00%         5         -
# 8  Short offline       Completed without error       00%         0         -

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.

ls /dev

ls /dev
MAKEDEV      md0              ptya0  ptyc5  ptyea  ptyqf  ptyt4  ptyv9  ptyxe  ram11   sg1     tty34  ttyS1  ttyc2  ttye7  ttyqc  ttyt1  ttyv6  ttyxb  urandom
aer_inject   md127            ptya1  ptyc6  ptyeb  ptyr0  ptyt5  ptyva  ptyxf  ram12   sg2     tty35  ttyS2  ttyc3  ttye8  ttyqd  ttyt2  ttyv7  ttyxc  vcs
autofs       md2              ptya2  ptyc7  ptyec  ptyr1  ptyt6  ptyvb  ptyy0  ram13   sg3     tty36  ttyS3  ttyc4  ttye9  ttyqe  ttyt3  ttyv8  ttyxd  vcs1
block        md3              ptya3  ptyc8  ptyed  ptyr2  ptyt7  ptyvc  ptyy1  ram14   shm     tty37  ttya0  ttyc5  ttyea  ttyqf  ttyt4  ttyv9  ttyxe  vcs2
[…]

cat /proc/mdstat

cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] 
md127 : active raid1 sdc2[2]
      10238912 blocks [4/1] [__U_]

md2 : active raid1 sdd2[3] sda2[0] sdb2[1]
      10238912 blocks [4/3] [UU_U]

mdadm --detail

root@rescue:~# mdadm --detail /dev/md2
/dev/md2:
        Version : 0.90
  Creation Time : Tue Sep  2 16:46:34 2014
     Raid Level : raid1
     Array Size : 10238912 (9.76 GiB 10.48 GB)
  Used Dev Size : 10238912 (9.76 GiB 10.48 GB)
   Raid Devices : 4
  Total Devices : 3
Preferred Minor : 2
    Persistence : Superblock is persistent

    Update Time : Sat Dec 27 17:31:03 2014
          State : clean, degraded 
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

           UUID : 5a33c710:006f668d:a4d2adc2:26fd5302 (local to host rescue.ovh.net)
         Events : 0.503145

    Number   Major   Minor   RaidDevice State
       0       8        2        0      active sync   /dev/sda2
       1       8       18        1      active sync   /dev/sdb2
       2       0        0        2      removed
       3       8       50        3      active sync   /dev/sdd2

root@rescue:~# mdadm --detail /dev/md127
/dev/md127:
        Version : 0.90
  Creation Time : Tue Sep  2 16:46:34 2014
     Raid Level : raid1
     Array Size : 10238912 (9.76 GiB 10.48 GB)
  Used Dev Size : 10238912 (9.76 GiB 10.48 GB)
   Raid Devices : 4
  Total Devices : 1
Preferred Minor : 127
    Persistence : Superblock is persistent

    Update Time : Sat Dec 27 17:31:16 2014
          State : clean, degraded 
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       0        0        1      removed
       2       8       34        2      active sync   /dev/sdc2
       3       0        0        3      removed

And at last mdadm --examine sd*

root@rescue:~# mdadm --examine /dev/sd*
/dev/sda:
   MBR Magic : aa55
Partition[0] :   3907029167 sectors at            1 (type ee)
mdadm: No md superblock detected on /dev/sda1.
/dev/sda2:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 5a33c710:006f668d:a4d2adc2:26fd5302 (local to host rescue.ovh.net)
  Creation Time : Tue Sep  2 16:46:34 2014
     Raid Level : raid1
  Used Dev Size : 10238912 (9.76 GiB 10.48 GB)
     Array Size : 10238912 (9.76 GiB 10.48 GB)
   Raid Devices : 4
  Total Devices : 3
Preferred Minor : 2

    Update Time : Sat Dec 27 18:20:56 2014
          State : clean
 Active Devices : 3
Working Devices : 3
 Failed Devices : 1
  Spare Devices : 0
       Checksum : 78eed7b8 - correct
         Events : 503147


      Number   Major   Minor   RaidDevice State
this     0       8        2        0      active sync   /dev/sda2

   0     0       8        2        0      active sync   /dev/sda2
   1     1       8       18        1      active sync   /dev/sdb2
   2     2       0        0        2      faulty removed
   3     3       8       50        3      active sync   /dev/sdd2
/dev/sda3:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 4a417350:7192f812:a4d2adc2:26fd5302 (local to host rescue.ovh.net)
  Creation Time : Tue Sep  2 16:46:35 2014
     Raid Level : raid5
  Used Dev Size : 1942745600 (1852.75 GiB 1989.37 GB)
     Array Size : 5828236800 (5558.24 GiB 5968.11 GB)
   Raid Devices : 4
  Total Devices : 3
Preferred Minor : 3

    Update Time : Mon Dec 22 10:33:05 2014
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 4d44c428 - correct
         Events : 109608

         Layout : left-symmetric
     Chunk Size : 512K

      Number   Major   Minor   RaidDevice State
this     0       8        3        0      active sync   /dev/sda3

   0     0       8        3        0      active sync   /dev/sda3
   1     1       8       19        1      active sync   /dev/sdb3
   2     2       0        0        2      faulty removed
   3     3       0        0        3      faulty removed
mdadm: No md superblock detected on /dev/sda4.
/dev/sdb:
   MBR Magic : aa55
Partition[0] :   3907029167 sectors at            1 (type ee)
mdadm: No md superblock detected on /dev/sdb1.
/dev/sdb2:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 5a33c710:006f668d:a4d2adc2:26fd5302 (local to host rescue.ovh.net)
  Creation Time : Tue Sep  2 16:46:34 2014
     Raid Level : raid1
  Used Dev Size : 10238912 (9.76 GiB 10.48 GB)
     Array Size : 10238912 (9.76 GiB 10.48 GB)
   Raid Devices : 4
  Total Devices : 3
Preferred Minor : 2

    Update Time : Sat Dec 27 18:20:56 2014
          State : clean
 Active Devices : 3
Working Devices : 3
 Failed Devices : 1
  Spare Devices : 0
       Checksum : 78eed7ca - correct
         Events : 503147


      Number   Major   Minor   RaidDevice State
this     1       8       18        1      active sync   /dev/sdb2

   0     0       8        2        0      active sync   /dev/sda2
   1     1       8       18        1      active sync   /dev/sdb2
   2     2       0        0        2      faulty removed
   3     3       8       50        3      active sync   /dev/sdd2
/dev/sdb3:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 4a417350:7192f812:a4d2adc2:26fd5302 (local to host rescue.ovh.net)
  Creation Time : Tue Sep  2 16:46:35 2014
     Raid Level : raid5
  Used Dev Size : 1942745600 (1852.75 GiB 1989.37 GB)
     Array Size : 5828236800 (5558.24 GiB 5968.11 GB)
   Raid Devices : 4
  Total Devices : 3
Preferred Minor : 3

    Update Time : Mon Dec 22 10:33:05 2014
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 4d44c43a - correct
         Events : 109608

         Layout : left-symmetric
     Chunk Size : 512K

      Number   Major   Minor   RaidDevice State
this     1       8       19        1      active sync   /dev/sdb3

   0     0       8        3        0      active sync   /dev/sda3
   1     1       8       19        1      active sync   /dev/sdb3
   2     2       0        0        2      faulty removed
   3     3       0        0        3      faulty removed
mdadm: No md superblock detected on /dev/sdb4.
mdadm: No md superblock detected on /dev/sdc.
mdadm: No md superblock detected on /dev/sdc1.
mdadm: No md superblock detected on /dev/sdc2.
mdadm: No md superblock detected on /dev/sdc3.
mdadm: No md superblock detected on /dev/sdc4.
/dev/sdd:
   MBR Magic : aa55
Partition[0] :   3907029167 sectors at            1 (type ee)
mdadm: No md superblock detected on /dev/sdd1.
/dev/sdd2:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 5a33c710:006f668d:a4d2adc2:26fd5302 (local to host rescue.ovh.net)
  Creation Time : Tue Sep  2 16:46:34 2014
     Raid Level : raid1
  Used Dev Size : 10238912 (9.76 GiB 10.48 GB)
     Array Size : 10238912 (9.76 GiB 10.48 GB)
   Raid Devices : 4
  Total Devices : 3
Preferred Minor : 2

    Update Time : Sat Dec 27 18:20:56 2014
          State : clean
 Active Devices : 3
Working Devices : 3
 Failed Devices : 1
  Spare Devices : 0
       Checksum : 78eed7ee - correct
         Events : 503147


      Number   Major   Minor   RaidDevice State
this     3       8       50        3      active sync   /dev/sdd2

   0     0       8        2        0      active sync   /dev/sda2
   1     1       8       18        1      active sync   /dev/sdb2
   2     2       0        0        2      faulty removed
   3     3       8       50        3      active sync   /dev/sdd2
/dev/sdd3:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 4a417350:7192f812:a4d2adc2:26fd5302 (local to host rescue.ovh.net)
  Creation Time : Tue Sep  2 16:46:35 2014
     Raid Level : raid5
  Used Dev Size : 1942745600 (1852.75 GiB 1989.37 GB)
     Array Size : 5828236800 (5558.24 GiB 5968.11 GB)
   Raid Devices : 4
  Total Devices : 3
Preferred Minor : 3

    Update Time : Mon Dec 22 01:55:55 2014
          State : active
 Active Devices : 3
Working Devices : 3
 Failed Devices : 1
  Spare Devices : 0
       Checksum : 4d429eeb - correct
         Events : 109599

         Layout : left-symmetric
     Chunk Size : 512K

      Number   Major   Minor   RaidDevice State
this     3       8       51        3      active sync   /dev/sdd3

   0     0       8        3        0      active sync   /dev/sda3
   1     1       8       19        1      active sync   /dev/sdb3
   2     2       0        0        2      faulty removed
   3     3       8       51        3      active sync   /dev/sdd3
mdadm: No md superblock detected on /dev/sdd4.

EDIT

In a last attempt, I unmounted /dev/md2 and stopped it with mdadm.

Then I was able to assemble /dev/md3:

mdadm --assemble --force /dev/md3 /dev/sd[abd]3
mdadm: forcing event count in /dev/sdd3(3) from 109599 upto 109608
mdadm: clearing FAULTY flag for device 2 in /dev/md3 for /dev/sdd3
mdadm: Marking array /dev/md3 as 'clean'
mdadm: /dev/md3 has been started with 3 drives (out of 4).

Syslog at the time:

md/raid:md3: device sda3 operational as raid disk 0
md/raid:md3: device sdd3 operational as raid disk 3
md/raid:md3: device sdb3 operational as raid disk 1
md/raid:md3: allocated 4338kB
md/raid:md3: raid level 5 active with 3 out of 4 devices, algorithm 2
RAID conf printout:
 --- level:5 rd:4 wd:3
 disk 0, o:1, dev:sda3
 disk 1, o:1, dev:sdb3
 disk 3, o:1, dev:sdd3
md3: detected capacity change from 0 to 5968114483200
 md3: unknown partition table

And the RAID seemed OK:

root@rescue:/mnt# cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] 
md3 : active raid5 sda3[0] sdd3[3] sdb3[1]
      5828236800 blocks level 5, 512k chunk, algorithm 2 [4/3] [UU_U]
[…]

But I couldn't mount it:

root@rescue:/mnt# mount /dev/md3 /mnt/home
mount: wrong fs type, bad option, bad superblock on /dev/md3,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

While doing that, many errors appeared in the syslog:

ata4.00: exception Emask 0x0 SAct 0xfe SErr 0x0 action 0x0
ata4.00: irq_stat 0x40000008
ata4.00: failed command: READ FPDMA QUEUED
ata4.00: cmd 60/18:08:18:34:63/00:00:e5:00:00/40 tag 1 ncq 12288 in
         res 41/40:18:18:34:63/00:00:e5:00:00/00 Emask 0x409 (media error) <F>
ata4.00: status: { DRDY ERR }
ata4.00: error: { UNC }
ata4.00: configured for UDMA/133
sd 3:0:0:0: [sdd] Unhandled sense code
sd 3:0:0:0: [sdd]  
Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 3:0:0:0: [sdd]  
Sense Key : Medium Error [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
        e5 63 34 18 
sd 3:0:0:0: [sdd]  
Add. Sense: Unrecovered read error - auto reallocate failed
sd 3:0:0:0: [sdd] CDB: 
Read(10): 28 00 e5 63 34 18 00 00 18 00
blk_update_request: 46 callbacks suppressed
end_request: I/O error, dev sdd, sector 3848483864
md/raid:md3: read error not correctable (sector 3828001816 on sdd3).
md/raid:md3: Disk failure on sdd3, disabling device.

I tried to correct them with hdparmbut there are too many of them and each time a bunch of new one appears.

Obviously, as mentionned in the syslog md/raid:md3: Disk failure on sdd3, disabling device. at the same time I tried to mount md3, the array's state changed to FAILED.

It seems that I have lost this battle…

  • 1
    You have GPT disks, so fdisk -l isn't useful. Do what it told you to do and use parted -l instead. – Michael Hampton Dec 27 '14 at 19:03
  • I edited my post accordingly – Buzut Dec 27 '14 at 19:17
  • Sorry, but 2 disk out of a RAID5=array lost. – yagmoth555 Dec 27 '14 at 23:51
  • Except if the disk went out because of a software issue and still works. mdadm --detail reveals that among mounted raid, there's at least a sda, sdb, sdc and sdd in sync. That's why I assume the disks are still physically readable. Or am I mistaken ? – Buzut Dec 28 '14 at 8:25
  • If the 2 disks are simply offline due to a bug, and if the data on the disks has not changed since the array failed, it might be possible to online the disks and recover the array. – Stefan Lasiewski Dec 30 '14 at 17:53
1

If I understand things right your /dev/md3 is raid5 and should consist of /dev/sda3, /dev/sdb3, /dev/sdc3 (which no longer exist) and /dev/sdd3.

So what do you get from mdadm --detail /dev/md3?

Why does /dev/sdc still seem to have a broken partition table?

Maybe it would be possible to restore your data even though the partitions from /dev/sdc are still missing, but I would try the following rescue operation:

1) Use some live CD to boot, do not mount any partitions or raid disks.

2) Make raw image copies of all disks, yes you will need more than 8 TB of free space somewhere, maybe on some network drive. If your disks are physically OK you can use dd to make the copies. If some disk is physically broken, you might have to use some ddrescue program instead.

3) Make working raw image copies of the original raw image copies, yes you will need another 8 TB of free space for that.

4) Use a virtual machine like qemu or virtualbox. Start by booting the virtual machine with some good live CD suitable for data rescue. Systemrescuecd might be a good choice.

5) From within the virtual machine, using your working raw disk image copies, try to fix your working raw disk image copies. One place to start might be to add a partition table to the working raw disk image copy of /dev/sdc. The partition table of /dev/sdc should probably look the same as the partition table of /dev/sdd.

6) When you think that you have fixed the problem, boot your virtual machine from your working disk image copies.

7) Once your virtual machine has proven that your disk image files have been fixed, copy the fixed images back to your physical disks. If some physical disk is broken you might want to replace it first.

If you at some stage find that your attempts to fix the broken raid only have made things worse, overwrite your working raw disk images with the original raw disk images and restart.

  • I don't have physical access to the server, it's currently booted from network with a debian (rescue mode) and thus, its internal disks aren't used if I don't mount them. I added result from smartctl. It seems that sdc has serious issues because nothing can be read from it and Smartctl: Device Read Identity Failed: Input/output error. Also, although sdd's SMART self test is passes, it seems to have serious issues with a lot of bad sectors and aReallocated_Sector_Ct of 4008. – Buzut Dec 30 '14 at 18:52
  • So with sdc totally lost and bad sectors on sdd you have two disks with hardware errors. Raid6 is able to handle two bad disks, Raid5 is only able to handle one bad disk. Prepare to buy new disks and restore your data from backup. – Henrik Carlqvist Dec 31 '14 at 1:19
  • 1
    If you still don't have any backup, I would try to read images of the two working disks (sda and sdb) with dd and also create an image from sdd with ddrescue. If you are lucky those 3 images might be enough to read your raid5 data even though some data will be broken and you might have to do fsck to recover logical errors from sdd. All fsck operations should be done on copies of the original disks. If the fsck approach fails you might want to try other tools like photorec to recover important files. – Henrik Carlqvist Dec 31 '14 at 1:23
  • Thank you for your comprehensive answer. I'll give that a try! – Buzut Dec 31 '14 at 9:44
  • 1
    @user1717735, indeed, you may be able to still recover most of your data by cloning sdd using dd_rescue, but let this be a lesson to you that raid is no substitute for backups! You also need to monitor the health of the disks so you don't notice something is wrong until it is too late. – psusi Jan 1 '15 at 23:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.