GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu – Raid5リカバリを「mdadm–create…Missing」で試してみませんか?

最初に私がこの状況に陥った方法:

各2TBのディスク(外部USBディスク)を備えたRAID5アレイがあったので、より大きな暗号化アレイを作成したいと思いました。したがって、2つの追加ディスク(それぞれ2 TB)を入手し、元のアレイを劣化モードで実行し、新しい暗号化アレイをセットアップし、データの一部をコピーした後、元のアレイを2つのディスク劣化モードに縮小する計画でした。新しいものを拡大し、残りのデータをコピーして、最後に劣化していないRAID5の7つのディスクに拡大します。 /dev/loopXを使用して手順全体を実行しました 計画に注意事項があるかどうかをテストするために、各2GBのデバイス。

新しいディスクの1つに障害が発生するまで、すべてが実際のアレイでうまくいきました。これを交換すると、次回の再起動後にディスクがカーネルによって認識される順序が変更されました(/dev/sdb/dev/sdc 、…すべて以前とは異なるディスクでした)。すべてが台無しになり、ディスクの1つが間違ったアレイのメンバーとして再同期されるまで気づきませんでした。私はこの話の詳細を惜しまず、要点をまっすぐに説明します:

/dev/sdc1で劣化した暗号化アレイが1つ、3ディスクRAID5になりました。 および/dev/sdd1 、完全に正常に実行され、そこにあるすべてのデータとfsck -fによる正常なファイルシステム 。
これまでのところとても良いです。

現在、問題全体は3つのディスクにまで及びます。この暗号化されていないアレイを再び機能させることはできません。データはHAS /dev/sdf1にあります 、/dev/sdg1/dev/sdh1 、これは、ディスクの1つが混乱する直前に機能していたアレイであったため(前述のように、誤って他の暗号化されたアレイのメンバーとして再同期されました)。したがって、これら3つのディスクの1つに誤ったアレイデータが含まれている可能性がありますが、どれを使用しますか?そして、そのうちの2つは優れている必要がありますが、どうすればそれを理解できますか?

mdadm --createのすべての順列を試しました …with/dev/sdf1/dev/sdg1/dev/sdh1 と「行方不明」のように:

mdadm --create /dev/md0 --level=5 --raid-devices=3  /dev/sdf1 /dev/sdg1 missing

mdadm --create /dev/md0 --level=5 --raid-devices=3  /dev/sdf1 missing /dev/sdg1

...

もちろん、毎回チェックします

fsck /dev/md0

無効なスーパーブロックについて不平を言った。

mdadmが配列を作成するたびに、読み取り可能なファイルシステムがなく、ガベージが含まれているだけで、mdadmで使用される順列は最終的に機能しませんでした。
それで、私の質問は次のとおりです。もちろん、データを失い、アレイを最初から再構築します。

ここにいくつかの追加情報(すべてのディスク):

mdadm --examine /dev/sdb1
/dev/sdb1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : cfee26c0:414eee94:e470810c:17141589
           Name : merlin:0  (local to host merlin)
  Creation Time : Sun Oct 28 11:38:32 2012
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 3906760704 (1862.89 GiB 2000.26 GB)
     Array Size : 3906759680 (3725.78 GiB 4000.52 GB)
  Used Dev Size : 3906759680 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : f4f0753e:56b8d6a5:84ec2ce8:dbc933f0

    Update Time : Sun Oct 28 11:38:32 2012
       Checksum : 60093b72 - correct
         Events : 0

         Layout : left-symmetric
     Chunk Size : 512K

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


mdadm --examine /dev/sdc1
/dev/sdc1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 5cb45bae:7a4843ba:4ad7dbfb:5c129d2a
           Name : merlin:1  (local to host merlin)
  Creation Time : Wed Sep 26 07:32:32 2012
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 3906760704 (1862.89 GiB 2000.26 GB)
     Array Size : 3905299456 (3724.38 GiB 3999.03 GB)
  Used Dev Size : 3905299456 (1862.19 GiB 1999.51 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 9e2f9ae6:6c95d05e:8d83970b:f1308de0

    Update Time : Fri Oct 26 03:26:37 2012
       Checksum : 79d4964b - correct
         Events : 220

         Layout : left-symmetric
     Chunk Size : 512K

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


mdadm --examine /dev/sdd1
/dev/sdd1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 5cb45bae:7a4843ba:4ad7dbfb:5c129d2a
           Name : merlin:1  (local to host merlin)
  Creation Time : Wed Sep 26 07:32:32 2012
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 3906760704 (1862.89 GiB 2000.26 GB)
     Array Size : 3905299456 (3724.38 GiB 3999.03 GB)
  Used Dev Size : 3905299456 (1862.19 GiB 1999.51 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 98b07c41:ff4bea98:2a765a6b:63d820e0

    Update Time : Fri Oct 26 03:26:37 2012
       Checksum : 6e2767e8 - correct
         Events : 220

         Layout : left-symmetric
     Chunk Size : 512K

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


mdadm --examine /dev/sde1
/dev/sde1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 6db9959d:3cdd4bc3:32a241ad:a9f37a0c
           Name : merlin:0  (local to host merlin)
  Creation Time : Sun Oct 28 12:12:59 2012
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 3905299943 (1862.19 GiB 1999.51 GB)
     Array Size : 3905299456 (3724.38 GiB 3999.03 GB)
  Used Dev Size : 3905299456 (1862.19 GiB 1999.51 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 677a4410:8931e239:2c789f83:e130e6f7

    Update Time : Sun Oct 28 12:12:59 2012
       Checksum : 98cb1950 - correct
         Events : 0

         Layout : left-symmetric
     Chunk Size : 512K

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


mdadm --examine /dev/sdf1
/dev/sdf1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 3700a0a6:3fadfd73:bc74b618:a5526767
           Name : merlin:0  (local to host merlin)
  Creation Time : Sun Oct 28 11:28:30 2012
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 3905392640 (1862.24 GiB 1999.56 GB)
     Array Size : 3905391616 (3724.47 GiB 3999.12 GB)
  Used Dev Size : 3905391616 (1862.24 GiB 1999.56 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 5a8a5423:10b7a542:26b5e2b3:f0887121

    Update Time : Sun Oct 28 11:28:30 2012
       Checksum : 8e90495f - correct
         Events : 0

         Layout : left-symmetric
     Chunk Size : 512K

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


mdadm --examine /dev/sdg1
/dev/sdg1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 202255c9:786f474d:ba928527:68425dd6
           Name : merlin:0  (local to host merlin)
  Creation Time : Sun Oct 28 11:24:36 2012
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 3905299943 (1862.19 GiB 1999.51 GB)
     Array Size : 3905299456 (3724.38 GiB 3999.03 GB)
  Used Dev Size : 3905299456 (1862.19 GiB 1999.51 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 4605c729:c290febb:92901971:9a3ed814

    Update Time : Sun Oct 28 11:24:36 2012
       Checksum : 38ba4d0a - correct
         Events : 0

         Layout : left-symmetric
     Chunk Size : 512K

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


mdadm --examine /dev/sdh1
/dev/sdh1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 682356f5:da2c442e:7bfc85f7:53aa9ea7
           Name : merlin:0  (local to host merlin)
  Creation Time : Sun Oct 28 12:13:44 2012
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 3906761858 (1862.89 GiB 2000.26 GB)
     Array Size : 3906760704 (3725.78 GiB 4000.52 GB)
  Used Dev Size : 3906760704 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 489943b3:d5e35022:f52c917a:9ca6ff2a

    Update Time : Sun Oct 28 12:13:44 2012
       Checksum : f6947a7d - correct
         Events : 0

         Layout : left-symmetric
     Chunk Size : 512K

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



cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid5 sdc1[0] sdd1[1]
      3905299456 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]

unused devices: <none>

どんな助けでも大歓迎です!

関連:rsyncがブロックサイズ> 128Kを許可しないのはなぜですか?

承認された回答:

ディスクを1つだけ紛失した場合は、する必要があります。 非常に安全な--assembleを使用してそれから回復することができました 。

これでcreateを実行したので、すべてのUUIDが異なります。 sdc1 およびsdd1 UUIDを共有します(これが作業アレイであると予想されます)…残りのディスクは名前を共有しますが、すべて異なるUUIDを持っています。ですから、これらはどれも元のスーパーブロックではないと思います。ひどい…

関連:Ubuntuに最新バージョンのBlenderをインストールして更新し続ける方法は??

とにかく、あなたは間違ったディスクを使おうとしているのか、間違ったチャンクサイズを使おうとしているのだと思います(デフォルトは時間とともに変化していると思います)。古いアレイが別のスーパーブロックバージョンを使用している可能性があります(デフォルトは確実に変更されています)。これにより、すべてのセクターがオフセットされる可能性があります(また、一部のデータが破壊される可能性があります)。最後に、間違ったレイアウトを使用している可能性がありますが、その可能性は低くなります。

また、テストアレイが(mdの観点から)読み取り/書き込みであり、ext3を使用しようとして実際にいくつかの書き込みが行われた可能性もあります。例:ジャーナルのリプレイ。しかし、それはある時点でスーパーブロックが見つかった場合のみだと思います。

ところで:あなたは本当に--assume-cleanを使うべきだと思います 、もちろん、劣化したアレイは再構築を開始しようとしません。次に、すぐに読み取り専用に設定することをお勧めします。


Ubuntu
  1. Ubuntu/CentOSにApacheを使用してmod_pagespeedをインストールする

  2. Ubuntu14.04でのサーバーの初期設定

  3. Ubuntu 18.04でのスワップの問題?

  1. Ubuntu 15.04での起動が非常に遅い?

  2. Ubuntu 13.04にKikをインストールしようとしていますか?

  3. 少ないディスクで mdadm RAID5 アレイを再構築する

  1. Ubuntu 20.04:NginxがインストールされたWordPress

  2. Ubuntu20.04WordPressとApacheのインストール

  3. Conkyウィジェットを使用したUbuntu20.04システムモニタリング