web-dev-qa-db-ja.com

mdadm-raid5を再アセンブルします

私の友人は、9つのディスクを備えたmdadm-raid5を持っていますが、これはもう再構築されません。

Syslogを調べた後、ディスクsdiがアレイからキックされたことがわかりました。

Jul  6 08:43:25 nasty kernel: [   12.952194] md: bind<sdc>
Jul  6 08:43:25 nasty kernel: [   12.952577] md: bind<sdd>
Jul  6 08:43:25 nasty kernel: [   12.952683] md: bind<sde>
Jul  6 08:43:25 nasty kernel: [   12.952784] md: bind<sdf>
Jul  6 08:43:25 nasty kernel: [   12.952885] md: bind<sdg>
Jul  6 08:43:25 nasty kernel: [   12.952981] md: bind<sdh>
Jul  6 08:43:25 nasty kernel: [   12.953078] md: bind<sdi>
Jul  6 08:43:25 nasty kernel: [   12.953169] md: bind<sdj>
Jul  6 08:43:25 nasty kernel: [   12.953288] md: bind<sda>
Jul  6 08:43:25 nasty kernel: [   12.953308] md: kicking non-fresh sdi from array!
Jul  6 08:43:25 nasty kernel: [   12.953314] md: unbind<sdi>
Jul  6 08:43:25 nasty kernel: [   12.960603] md: export_rdev(sdi)
Jul  6 08:43:25 nasty kernel: [   12.969675] raid5: device sda operational as raid disk 0
Jul  6 08:43:25 nasty kernel: [   12.969679] raid5: device sdj operational as raid disk 8
Jul  6 08:43:25 nasty kernel: [   12.969682] raid5: device sdh operational as raid disk 6
Jul  6 08:43:25 nasty kernel: [   12.969684] raid5: device sdg operational as raid disk 5
Jul  6 08:43:25 nasty kernel: [   12.969687] raid5: device sdf operational as raid disk 4
Jul  6 08:43:25 nasty kernel: [   12.969689] raid5: device sde operational as raid disk 3
Jul  6 08:43:25 nasty kernel: [   12.969692] raid5: device sdd operational as raid disk 2
Jul  6 08:43:25 nasty kernel: [   12.969694] raid5: device sdc operational as raid disk 1
Jul  6 08:43:25 nasty kernel: [   12.970536] raid5: allocated 9542kB for md127
Jul  6 08:43:25 nasty kernel: [   12.973975] 0: w=1 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul  6 08:43:25 nasty kernel: [   12.973980] 8: w=2 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul  6 08:43:25 nasty kernel: [   12.973983] 6: w=3 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul  6 08:43:25 nasty kernel: [   12.973986] 5: w=4 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul  6 08:43:25 nasty kernel: [   12.973989] 4: w=5 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul  6 08:43:25 nasty kernel: [   12.973992] 3: w=6 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul  6 08:43:25 nasty kernel: [   12.973996] 2: w=7 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul  6 08:43:25 nasty kernel: [   12.973999] 1: w=8 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul  6 08:43:25 nasty kernel: [   12.974002] raid5: raid level 5 set md127 active with 8 out of 9 devices, algorithm 2

残念ながら、これは認識されず、別のドライブがキックされました(sde):

Jul 14 08:02:45 nasty kernel: [   12.918556] md: bind<sdc>
Jul 14 08:02:45 nasty kernel: [   12.919043] md: bind<sdd>
Jul 14 08:02:45 nasty kernel: [   12.919158] md: bind<sde>
Jul 14 08:02:45 nasty kernel: [   12.919260] md: bind<sdf>
Jul 14 08:02:45 nasty kernel: [   12.919361] md: bind<sdg>
Jul 14 08:02:45 nasty kernel: [   12.919461] md: bind<sdh>
Jul 14 08:02:45 nasty kernel: [   12.919556] md: bind<sdi>
Jul 14 08:02:45 nasty kernel: [   12.919641] md: bind<sdj>
Jul 14 08:02:45 nasty kernel: [   12.919756] md: bind<sda>
Jul 14 08:02:45 nasty kernel: [   12.919775] md: kicking non-fresh sdi from array!
Jul 14 08:02:45 nasty kernel: [   12.919781] md: unbind<sdi>
Jul 14 08:02:45 nasty kernel: [   12.928177] md: export_rdev(sdi)
Jul 14 08:02:45 nasty kernel: [   12.928187] md: kicking non-fresh sde from array!
Jul 14 08:02:45 nasty kernel: [   12.928198] md: unbind<sde>
Jul 14 08:02:45 nasty kernel: [   12.936064] md: export_rdev(sde)
Jul 14 08:02:45 nasty kernel: [   12.943900] raid5: device sda operational as raid disk 0
Jul 14 08:02:45 nasty kernel: [   12.943904] raid5: device sdj operational as raid disk 8
Jul 14 08:02:45 nasty kernel: [   12.943907] raid5: device sdh operational as raid disk 6
Jul 14 08:02:45 nasty kernel: [   12.943909] raid5: device sdg operational as raid disk 5
Jul 14 08:02:45 nasty kernel: [   12.943911] raid5: device sdf operational as raid disk 4
Jul 14 08:02:45 nasty kernel: [   12.943914] raid5: device sdd operational as raid disk 2
Jul 14 08:02:45 nasty kernel: [   12.943916] raid5: device sdc operational as raid disk 1
Jul 14 08:02:45 nasty kernel: [   12.944776] raid5: allocated 9542kB for md127
Jul 14 08:02:45 nasty kernel: [   12.944861] 0: w=1 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul 14 08:02:45 nasty kernel: [   12.944864] 8: w=2 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul 14 08:02:45 nasty kernel: [   12.944867] 6: w=3 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul 14 08:02:45 nasty kernel: [   12.944871] 5: w=4 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul 14 08:02:45 nasty kernel: [   12.944874] 4: w=5 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul 14 08:02:45 nasty kernel: [   12.944877] 2: w=6 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul 14 08:02:45 nasty kernel: [   12.944879] 1: w=7 pa=0 pr=9 m=1 a=2 r=9 op1=0 op2=0
Jul 14 08:02:45 nasty kernel: [   12.944882] raid5: not enough operational devices for md127 (2/9 failed)

そして今、アレイはもう起動しません。ただし、すべてのディスクにレイドメタデータが含まれているようです。

/dev/sda:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : b8a04dbb:0b5dffda:601eb40d:d2dc37c9
           Name : nasty:stuff  (local to Host nasty)
  Creation Time : Sun Mar 16 02:37:47 2014
     Raid Level : raid5
   Raid Devices : 9

 Avail Dev Size : 7814035120 (3726.02 GiB 4000.79 GB)
     Array Size : 62512275456 (29808.18 GiB 32006.29 GB)
  Used Dev Size : 7814034432 (3726.02 GiB 4000.79 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 8600bda9:18845be8:02187ecc:1bfad83a

    Update Time : Mon Jul 14 00:45:35 2014
       Checksum : e38d46e8 - correct
         Events : 123132

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AAA.AAA.A ('A' == active, '.' == missing)


/dev/sdc:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : b8a04dbb:0b5dffda:601eb40d:d2dc37c9
           Name : nasty:stuff  (local to Host nasty)
  Creation Time : Sun Mar 16 02:37:47 2014
     Raid Level : raid5
   Raid Devices : 9

 Avail Dev Size : 7814035120 (3726.02 GiB 4000.79 GB)
     Array Size : 62512275456 (29808.18 GiB 32006.29 GB)
  Used Dev Size : 7814034432 (3726.02 GiB 4000.79 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : fe612c05:f7a45b0a:e28feafe:891b2bda

    Update Time : Mon Jul 14 00:45:35 2014
       Checksum : 32bb628e - correct
         Events : 123132

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AAA.AAA.A ('A' == active, '.' == missing)


/dev/sdd:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : b8a04dbb:0b5dffda:601eb40d:d2dc37c9
           Name : nasty:stuff  (local to Host nasty)
  Creation Time : Sun Mar 16 02:37:47 2014
     Raid Level : raid5
   Raid Devices : 9

 Avail Dev Size : 7814035120 (3726.02 GiB 4000.79 GB)
     Array Size : 62512275456 (29808.18 GiB 32006.29 GB)
  Used Dev Size : 7814034432 (3726.02 GiB 4000.79 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 1d14616c:d30cadc7:6d042bb3:0d7f6631

    Update Time : Mon Jul 14 00:45:35 2014
       Checksum : 62bd5499 - correct
         Events : 123132

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : AAA.AAA.A ('A' == active, '.' == missing)


/dev/sde:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : b8a04dbb:0b5dffda:601eb40d:d2dc37c9
           Name : nasty:stuff  (local to Host nasty)
  Creation Time : Sun Mar 16 02:37:47 2014
     Raid Level : raid5
   Raid Devices : 9

 Avail Dev Size : 7814035120 (3726.02 GiB 4000.79 GB)
     Array Size : 62512275456 (29808.18 GiB 32006.29 GB)
  Used Dev Size : 7814034432 (3726.02 GiB 4000.79 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
          State : active
    Device UUID : a2babca3:1283654a:ef8075b5:aaf5d209

    Update Time : Mon Jul 14 00:45:07 2014
       Checksum : f78d6456 - correct
         Events : 123123

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : AAAAAAA.A ('A' == active, '.' == missing)


/dev/sdf:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : b8a04dbb:0b5dffda:601eb40d:d2dc37c9
           Name : nasty:stuff  (local to Host nasty)
  Creation Time : Sun Mar 16 02:37:47 2014
     Raid Level : raid5
   Raid Devices : 9

 Avail Dev Size : 7814035120 (3726.02 GiB 4000.79 GB)
     Array Size : 62512275456 (29808.18 GiB 32006.29 GB)
  Used Dev Size : 7814034432 (3726.02 GiB 4000.79 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : e67d566d:92aaafb4:24f5f16e:5ceb0db7

    Update Time : Mon Jul 14 00:45:35 2014
       Checksum : 9223b929 - correct
         Events : 123132

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 4
   Array State : AAA.AAA.A ('A' == active, '.' == missing)


/dev/sdg:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : b8a04dbb:0b5dffda:601eb40d:d2dc37c9
           Name : nasty:stuff  (local to Host nasty)
  Creation Time : Sun Mar 16 02:37:47 2014
     Raid Level : raid5
   Raid Devices : 9

 Avail Dev Size : 7814035120 (3726.02 GiB 4000.79 GB)
     Array Size : 62512275456 (29808.18 GiB 32006.29 GB)
  Used Dev Size : 7814034432 (3726.02 GiB 4000.79 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 2cee1d71:16c27acc:43e80d02:1da74eeb

    Update Time : Mon Jul 14 00:45:35 2014
       Checksum : 7512efd4 - correct
         Events : 123132

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 5
   Array State : AAA.AAA.A ('A' == active, '.' == missing)


/dev/sdh:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : b8a04dbb:0b5dffda:601eb40d:d2dc37c9
           Name : nasty:stuff  (local to Host nasty)
  Creation Time : Sun Mar 16 02:37:47 2014
     Raid Level : raid5
   Raid Devices : 9

 Avail Dev Size : 7814035120 (3726.02 GiB 4000.79 GB)
     Array Size : 62512275456 (29808.18 GiB 32006.29 GB)
  Used Dev Size : 7814034432 (3726.02 GiB 4000.79 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : c239f0ad:336cdb88:62c5ff46:c36ea5f8

    Update Time : Mon Jul 14 00:45:35 2014
       Checksum : c08e8a4d - correct
         Events : 123132

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 6
   Array State : AAA.AAA.A ('A' == active, '.' == missing)


/dev/sdi:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : b8a04dbb:0b5dffda:601eb40d:d2dc37c9
           Name : nasty:stuff  (local to Host nasty)
  Creation Time : Sun Mar 16 02:37:47 2014
     Raid Level : raid5
   Raid Devices : 9

 Avail Dev Size : 7814035120 (3726.02 GiB 4000.79 GB)
     Array Size : 62512275456 (29808.18 GiB 32006.29 GB)
  Used Dev Size : 7814034432 (3726.02 GiB 4000.79 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
          State : active
    Device UUID : d06c58f8:370a0535:b7e51073:f121f58c

    Update Time : Mon Jul 14 00:45:07 2014
       Checksum : 77844dcc - correct
         Events : 0

         Layout : left-symmetric
     Chunk Size : 512K

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


/dev/sdj:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : b8a04dbb:0b5dffda:601eb40d:d2dc37c9
           Name : nasty:stuff  (local to Host nasty)
  Creation Time : Sun Mar 16 02:37:47 2014
     Raid Level : raid5
   Raid Devices : 9

 Avail Dev Size : 7814035120 (3726.02 GiB 4000.79 GB)
     Array Size : 62512275456 (29808.18 GiB 32006.29 GB)
  Used Dev Size : 7814034432 (3726.02 GiB 4000.79 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : f2de262f:49d17fea:b9a475c1:b0cad0b7

    Update Time : Mon Jul 14 00:45:35 2014
       Checksum : dd0acfd9 - correct
         Events : 123132

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 8
   Array State : AAA.AAA.A ('A' == active, '.' == missing)

ただし、ご覧のとおり、2つのドライブ(sde、sdi)はアクティブ状態(ただし、RAIDは停止しています)であり、sdiはスペアです。 sdeのイベント数は他のほとんどのドライブ(123132ではなく123123)よりもわずかに少ないですが、sdiのイベント数は0です。したがって、sdeはほぼ最新であると思います。しかし、sdiは...

今、私たちはオンラインで、ハードパワーオフがこれらの「新鮮ではないキック」メッセージを引き起こす可能性があることを読みました。そして実際、私の友人は1、2回ハードパワーオフを引き起こしました。そこで、オンラインで見つけた指示に従い、アレイにsdeを再度追加しようとしました。

$ mdadm /dev/md127 --add /dev/sde
mdadm: add new device failed for /dev/sde as 9: Invalid argument

しかし、それは失敗し、今ではmdadm --examine /dev/sdeはイベントを示します-sdeのカウントも0です(+これはsdiのようにスペアになりました):

/dev/sde:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : b8a04dbb:0b5dffda:601eb40d:d2dc37c9
           Name : nasty:stuff  (local to Host nasty)
  Creation Time : Sun Mar 16 02:37:47 2014
     Raid Level : raid5
   Raid Devices : 9

 Avail Dev Size : 7814035120 (3726.02 GiB 4000.79 GB)
     Array Size : 62512275456 (29808.18 GiB 32006.29 GB)
  Used Dev Size : 7814034432 (3726.02 GiB 4000.79 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 689e0030:142122ae:7ab37935:c80ab400

    Update Time : Mon Jul 14 00:45:35 2014
       Checksum : 5e6c4cf7 - correct
         Events : 0

         Layout : left-symmetric
     Chunk Size : 512K

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

ドライブが2つ故障すると、通常、RAID5の死を意味することがわかっています。しかし、データを保存できるように、レイドに少なくともsdeを追加する方法はありますか?

4
Biggie

OK、レイドにアクセスできるようになりました。少なくとも最初にチェックしたファイルは良さそうだった。これが私たちが行ったことです:


Kernel.org wikiの レイドリカバリの記事 は、私たちの問題に対する2つの可能な解決策を提案しています。

  1. --assemble --forceを使用(derobertも言及)
    記事の内容:

    [...]イベント数の差が50未満の場合、ドライブの情報はおそらく問題ありません。 [...]イベント数が厳密に一致するが正確に一致しない場合は、「mdadm --assemble --force/dev/mdX」を使用して、mdadmに配列をアセンブルさせます[...]。ドライブのイベントカウントが大幅にずれている場合[...]、そのドライブ[...]をアセンブリに含めるべきではありません。

    この場合、ドライブsdeのイベント差は9でした。したがって、--forceが機能する可能性は十分にありました。ただし、--addコマンドを実行した後、イベント数は0に減少し、ドライブはスペアとしてマークされました。

    したがって、--forceの使用はやめたほうがよいでしょう。

  2. 配列を再作成します
    何か間違ったことをするとデータが失われる可能性があるため、このソリューションは明示的に危険としてマークされています。しかし、これが私たちが持っていた唯一の選択肢のようでした。

    アイデアは、古いRAIDと同じ構成で既存のRAIDデバイスに新しいRAIDを作成し(つまり、デバイスのスーパーブロックを上書きし)、そのRAIDがすでに存在し、クリーンであると見なす必要があることをmdadmに明示的に通知することです。

    イベント数の差はわずか9であり、唯一の問題はsdeのスーパーブロックを失ったことだったので、新しいスーパーブロックを作成するとデータにアクセスできる可能性が高くなりました...そしてそれは機能しました:-)


私たちのソリューション

注:このソリューションは、私たちの問題に合わせて特別に調整されたものであり、セットアップで機能しない場合があります。これらのメモをとって、物事をどのように行うことができるかについてのアイデアを得る必要があります。しかし、あなたはあなたのケースで何が最善かを研究する必要があります。

バックアップ
すでにスーパーブロックを失いました。そのため、今回は、RAIDに取り組む前に、ddを使用して各RAIDデバイス(sd[acdefghij])の最初と最後のギガバイトを保存しました。 RAIDデバイスごとにこれを行いました。

# save the first gigabyte of sda
dd if=/dev/sda of=bak_sda_start bs=4096 count=262144

# determine the size of the device
fdisk -l /dev/sda
# In this case the size was 4000787030016 byte.

# To get the last gigabyte we need to skip everything except the last gigabyte.
# So we need to skip: 4000787030016 byte - 1073741824 byte = 3999713288000 byte
# Since we read blocks auf 4096 byte we need to skip 3999713288000/4096=976492502 blocks.
dd if=/dev/sda of=bak_sda_end bs=4096 skip=976492502

情報を収集する
レイドを再作成するときは、古いレイドと同じ構成を使用することが重要です。これは、別のmdadmバージョンを使用して別のマシンでアレイを再作成する場合に特に重要です。この場合、mdadmのデフォルト値は異なる可能性があり、既存のレイドに適合しないスーパーブロックを作成する可能性があります(wikiの記事を参照)。

この場合、同じマシン(したがって同じmdadm-version)を使用してアレイを再作成します。ただし、アレイはそもそもサードパーティのツールによって作成されました。そのため、ここではデフォルト値に依存したくなく、既存のレイドに関する情報を収集する必要がありました。

mdadm --examine /dev/sd[acdefghij]の出力から、レイドに関する次の情報が得られます(注:sdbはOSを含むssdであり、レイドの一部ではありませんでした)。

     Raid Level : raid5
   Raid Devices : 9
  Used Dev Size : 7814034432 (3726.02 GiB 4000.79 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
         Layout : left-symmetric
     Chunk Size : 512K
   Device Role : Active device 0

Used Dev Sizeは、512バイトのブロックで表されます。あなたはこれをチェックすることができます:
7814034432*512/1000000000 ~= 4000.79
ただし、mdadmにはキビバイト単位のサイズが必要です:7814034432*512/1024 = 3907017216

重要なのはDevice Roleです。新しいレイドでは、各デバイスは以前と同じ役割を持つ必要があります。私たちの場合には:

device  role
------  ----
sda     0
sdc     1
sdd     2
sde     3
sdf     4
sdg     5
sdh     6
sdi     spare
sdj     8

注:ドライブ文字(および順序)は、再起動後に変更される可能性があります。

次のステップでは、レイアウトとチャンクサイズも必要です。

レイドを再作成
これで、最後のステップの情報を使用してアレイを再作成できます。

mdadm --create --assume-clean --level=5 --raid-devices=9 --size=3907017216 \
    --chunk=512 --layout=left-symmetric /dev/md127 /dev/sda /dev/sdc /dev/sdd \
    /dev/sde /dev/sdf /dev/sdg /dev/sdh missing /dev/sdj

デバイスを正しい順序で渡すことが重要です。
さらに、イベント数が少なすぎるため、sdiを追加しませんでした。したがって、7番目のレイドスロットをmissingに設定します。したがって、raid5には9つのデバイスのうち8つが含まれ、劣化モードで組み立てられます。また、スペアデバイスがないため、再構築は自動的に開始されません。

次に、--examineを使用して、新しいスーパーブロックが古いスーパーブロックに適合するかどうかを確認しました。そしてそれはしました:-)ファイルシステムをマウントしてデータを読み取ることができました。次のステップは、データをバックアップしてからsdiを追加し直して、再構築を開始することです。

6
Biggie

ドライブをスペアにしてメタデータを失ったため、ここでの唯一のオプションは、RAIDを再作成することです。これは非常に危険です。間違いがあるとデータが消去されます。

RAIDを再作成するときは、考慮すべきことがいくつかあります。同期しないように--assume-cleanを使用する必要があります。ドライブをmissingとして指定して、1つのドライブ(できれば最悪の状態にあるドライブ)を除外する必要があります。大事なことを言い忘れましたが、ドライブの順序、メタデータバージョン、RAIDレベル、チャンクサイズ、レイアウト、データオフセットなど、すべての変数を正しく取得する必要があります。

デフォルトはmdadmで大きく変化する傾向があるため、ここではデフォルトに依存することはできません。レスキュー環境が最初にRAIDを作成した環境と同じmdadmバージョンを使用しておらず、まったく同じパラメーターを使用していない場合など、デフォルトに依存していると問題が発生します。 。

少なくともmdadmの実験を元に戻すことができるように、少なくとも各ドライブの最初と最後のギガバイト程度のバックアップを作成する必要があります。理想的には、これらすべてをフルコピーで実行するか、コピーオンライトモードでdm-snapshotsまたはnbd-serverを使用して、読み取り専用のビューを表示します。これを参照してください オーバーレイハウツー

ドライブ文字が変更されていなければ、投稿した--examine出力を正しく解釈すると、これは再作成する正しいコマンドである可能性がありますが、何も保証できません。

mdadm --create /dev/md42 --assume-clean --metadata=1.2 --data-offset=1M \
      --level=5 --chunk=512 --layout=ls --raid-devices=9 \
      /dev/sda /dev/sdc /dev/sdd /dev/sde /dev/sdf \
      /dev/sdg /dev/sdh missing /dev/sdj

https://raid.wiki.kernel.org/index.php/RAID_Recovery も参照してください。ただし、アドバイスは慎重に行ってください。レクリエーションは恐ろしいビジネスであり、間違いを犯しやすいです。

RAIDを作成したら、読み取り専用モードでチェックアウトする必要があります。

mdadm --readonly /dev/md42
file -s /dev/md42
fsck -n /dev/md42
mount -o ro /dev/md42 /mnt/md42

これまでのところうまくいく場合は、大きなファイル(chunksize * drive)を見つけて、すべて問題がないかどうかを確認する必要があります。間違った2つのドライブが場所を切り替えた場合、ファイルシステムを正常にマウントできても、ファイルが破損している可能性があります。

また、新しいuuidなどを使用した新しいレイドになるため、mdadm.confなども更新する必要があります。

2
frostschutz