Re: RAID wiped superblock recovery

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Phil,

On 11/05/2020 15:18, Phil Turmel wrote:
So I've come to the conclusion that the only way forward is to use `mdadm --create` and hope I get the array back that way, with new superblocks.

Yes.  Be sure to always include --assume-clean in these trials.

However, it's my understanding that you need to add these disks in the correct order - and given I have 7 disks, that's 5040 possible permutations! The original four disks show their device roles, so I'm /assuming/ that's the order in which they need adding:

Yes, existing superblocks can be trusted.  You should show the complete "mdadm -E" output for each of these member devices for our reference.

My complete mdadm -E output:

sosh@toothless:/$ sudo mdadm -E /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sdf /dev/sdg /dev/sdh
/dev/sda:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : f3667bf3:e2b718c2:22cbea68:428ea6ca
           Name : toothless:WDRAID
  Creation Time : Sat Oct 22 10:52:47 2016
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 5860271024 (2794.39 GiB 3000.46 GB)
     Array Size : 14650675200 (13971.97 GiB 15002.29 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=944 sectors
          State : clean
    Device UUID : 08c24be4:d352cbb0:edd50ba7:3a70e02e

Internal Bitmap : 8 sectors from superblock
    Update Time : Sat May  2 09:49:27 2020
  Bad Block Log : 512 entries available at offset 24 sectors
       Checksum : b1df527c - correct
         Events : 2687251

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AAAAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdb:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : f3667bf3:e2b718c2:22cbea68:428ea6ca
           Name : toothless:WDRAID
  Creation Time : Sat Oct 22 10:52:47 2016
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 5860271024 (2794.39 GiB 3000.46 GB)
     Array Size : 14650675200 (13971.97 GiB 15002.29 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262056 sectors, after=944 sectors
          State : clean
    Device UUID : 80d493f1:9649882b:bdcdeceb:cb61f937

Internal Bitmap : 8 sectors from superblock
    Update Time : Sat May  2 09:49:27 2020
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : 87de4546 - correct
         Events : 2687251

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : AAAAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : f3667bf3:e2b718c2:22cbea68:428ea6ca
           Name : toothless:WDRAID
  Creation Time : Sat Oct 22 10:52:47 2016
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 5860271024 (2794.39 GiB 3000.46 GB)
     Array Size : 14650675200 (13971.97 GiB 15002.29 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262056 sectors, after=944 sectors
          State : clean
    Device UUID : 078aa94c:de9ad5e8:dcb5b43c:bf12292f

Internal Bitmap : 8 sectors from superblock
    Update Time : Sat May  2 09:49:27 2020
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : e838e526 - correct
         Events : 2687251

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AAAAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : f3667bf3:e2b718c2:22cbea68:428ea6ca
           Name : toothless:WDRAID
  Creation Time : Sat Oct 22 10:52:47 2016
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 5860271024 (2794.39 GiB 3000.46 GB)
     Array Size : 14650675200 (13971.97 GiB 15002.29 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262056 sectors, after=944 sectors
          State : clean
    Device UUID : 47eb651d:9d5eb96b:3b8e9d78:882f5f49

Internal Bitmap : 8 sectors from superblock
    Update Time : Sat May  2 09:49:27 2020
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : 91f7ff4f - correct
         Events : 2687251

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : AAAAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdf:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : f3667bf3:e2b718c2:22cbea68:428ea6ca
           Name : toothless:WDRAID
  Creation Time : Sat Oct 22 10:52:47 2016
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 5860271024 (2794.39 GiB 3000.46 GB)
     Array Size : 14650675200 (13971.97 GiB 15002.29 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=944 sectors
          State : clean
    Device UUID : 00000000:00000000:00000000:00000000

Internal Bitmap : 8 sectors from superblock
    Update Time : Sat May  2 09:49:27 2020
  Bad Block Log : 512 entries available at offset 24 sectors
       Checksum : b1df527c - expected 46dbf779
         Events : 2687251

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : spare
   Array State : ....... ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdg:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : f3667bf3:e2b718c2:22cbea68:428ea6ca
           Name : toothless:WDRAID
  Creation Time : Sat Oct 22 10:52:47 2016
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 5860271024 (2794.39 GiB 3000.46 GB)
     Array Size : 14650675200 (13971.97 GiB 15002.29 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=944 sectors
          State : active
    Device UUID : 00000000:00000000:00000000:00000000

    Update Time : Thu Jan  1 01:00:00 1970
       Checksum : 0 - expected e7edc1ab
         Events : 0

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : spare
   Array State : ....... ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdh:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : f3667bf3:e2b718c2:22cbea68:428ea6ca
           Name : toothless:WDRAID
  Creation Time : Sat Oct 22 10:52:47 2016
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 5860271024 (2794.39 GiB 3000.46 GB)
     Array Size : 14650675200 (13971.97 GiB 15002.29 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=944 sectors
          State : active
    Device UUID : 00000000:00000000:00000000:00000000

    Update Time : Thu Jan  1 01:00:00 1970
       Checksum : 0 - expected e7edc1ab
         Events : 0

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : spare
   Array State : ....... ('A' == active, '.' == missing, 'R' == replacing)

So I've tried all six permutations of the devices showing as "spare" at the end and I can never get a sensible filesystem out when I do a --create.

Does anyone have any other ideas, or can offer some wisdom into what to do next? Otherwise I'm writing a shell script to test all 5040 permutations...

It isn't just order that matters.   You must get the right data offset and chunk size.  Defaults have changed over the years, and offsets typically change (+/- 1 chunk) during reshapes.

You'll probably have to manually specify this stuff.  Be sure to use the latest released version of mdadm, even if you have to compile it yourself.

If your data offsets are at least a couple megabytes, consider partitioning these disks at the same time as you reconstruct--simply adjust the data offset for the start sector of the partition.  This will avoid future issues with stupid mobos.  (You aren't the first to suffer from this.)

So I've now tried doing this and sadly haven't really gotten anywhere. Given the output of mdadm -E, I've specified the chunk size as 512K, and the data offset as 134MB (given the reported offset of 262144 sectors * sector size of 512 bytes on the devices).

Given your statement that I could trust the existing superblocks, I haven't messed around with the order of those and instead I've just been messing around with the order of the three disks which are unhappy. So I've been putting sda first (active 0), then sdc (active 1), sdb (active 2), and sdd (active 3). As I said last time, I'm using overlay images to avoid screwing up the disks. My create command line is as below:

mdadm --create /dev/md1 --chunk=512 --level=6 --assume-clean --data-offset=134M --raid-devices=7 /dev/mapper/sda /dev/mapper/sdc /dev/mapper/sdb /dev/mapper/sdd ${UNHAPPY_DISK1} ${UNHAPPY_DISK2} ${UNHAPPY_DISK3}

Apologies that it's taken a while to respond to your mail, I just haven't had much time to look at this during the week.


Best Regards,
Sam



[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux