mdadm RAID - 成長(縮小)中の再起動 - 形状の変更 - 動作しない(停止)

mdadm RAID - 成長(縮小)中の再起動 - 形状の変更 - 動作しない(停止)

LinuxソフトウェアRaid6アレイ(mdadm)があります。 6x4TBディスク(16TB使用可能)から7x4TB(20TB使用可能)に増やしました。外観の変更はスムーズに行われましたが、resize2fsを実行すると、よく知られているEXT4 16TBファイルシステムの制限に直面しました。確認すると、ファイルシステムに64ビットフラグがありません。したがって、アレイに追加した追加のドライブをリサイクルするには、次の手順を実行します。

johnny@debian:~$ sudo resize2fs /dev/md0 16000G
johnny@debian:~$ sudo mdadm --grow /dev/md0 --array-size=16000G
johnny@debian:~$ sudo mdadm --grow /dev/md0 --raid-devices=6 --backup-file=/tmp/backup

バックアップファイルの場所をメモしてください。私はDebianを使用しているので、これはすぐに重要になります。

だから、すべてのことがスムーズに、遅いが効果的に行われています。進行率は3.7%に達し、クロール速度で遅くなりました。私は同時に別の配列を再構築していたからだと思いました。他の作業が完了し、この作業の速度が速くならない場合は本当に心配です。完了するまでに数年かかるとのことで、スピードが速くなるかどうかを確認するために再起動することを決め、システムを再起動しました。

この時から悪いことが起こり始めますが…

私はDebianを使用していますが、私が理解したところ、システムの起動時に/ tmpフォルダが消去されるため、再構成バックアップファイルが失われます。また、/etc/fstab ファイルが md0 をマウントしようとしましたが、今は組み立てられていないため、システムは数回起動できませんでした。ライブCDから起動してfstabファイルを修復し、システムを正常に戻しました。

この問題を解決した後、システムが起動し、初めてmd0が単にそれ自体で組み立てられ、形が変わり続けるのではないことがわかりました。パニックが始まる...

次のコマンドの出力はありませんが、入力したコマンドが見つかりました。次に何が起こったのか簡単な説明...

johnny@debian:~$ sudo mdadm --assemble /dev/md0
johnny@debian:~$ sudo mdadm --assemble --force /dev/md0
johnny@debian:~$ sudo mdadm --assemble --force /dev/md0 --backup-file=/tmp/backup

最初のコマンドが失敗して--forceオプションを試しましたが、やはり失敗しました。しかし、エラーメッセージには--backup-fileオプションが必要なため、失敗したというメッセージが表示され、3番目のコマンドを実行しました。バックアップファイルはまだそこにあると予想していましたが、/ tmpフォルダにはなく、削除されました。しかし、アレイを組み立てた結果には何の問題もないようです。

今md0の外観は次のとおりです。 「削除済み」とマークされたディスクを確認してください。削除されたディスクsdj1のようです。

johnny@debian:~$ sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Fri Jan 11 09:59:42 2013
     Raid Level : raid6
     Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
  Used Dev Size : 3906887168 (3725.90 GiB 4000.65 GB)
   Raid Devices : 6
  Total Devices : 6
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Sat Mar  5 20:45:56 2016
          State : clean, degraded, reshaping 
 Active Devices : 6
Working Devices : 6
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

 Reshape Status : 3% complete
  Delta Devices : -1, (7->6)

           Name : BigRaid6
           UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
         Events : 4339739

    Number   Major   Minor   RaidDevice State
      11       8      224        0      active sync   /dev/sdo
       2       0        0        2      removed
       6       8       80        2      active sync   /dev/sdf
       7       8      176        3      active sync   /dev/sdl
      12       8       16        4      active sync   /dev/sdb
       8       8       32        5      active sync   /dev/sdc

       9       8      128        6      active sync   /dev/sdi

現在リモデリングの進行状況です。正確に0K/秒で止まっています。

johnny@debian:~$ cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4] 
md0 : active raid6 sdo[11] sdi[9] sdc[8] sdb[12] sdl[7] sdf[6]
      15627548672 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/5] [U_UUUU]
      [>....................]  reshape =  3.7% (145572864/3906887168) finish=284022328345.0min speed=0K/sec
      bitmap: 5/30 pages [20KB], 65536KB chunk

unused devices: <none>

以下には、まだアレイにある個々のディスクがあります。

johnny@debian:~$ sudo mdadm --examine /dev/sd[oflbci]
/dev/sdb:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x5
     Array UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
           Name : BigRaid6
  Creation Time : Fri Jan 11 09:59:42 2013
     Raid Level : raid6
   Raid Devices : 6

 Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
     Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
  Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=688 sectors
          State : clean
    Device UUID : 99b0fbcc:46d619bb:9ae96eaf:840e21a4

Internal Bitmap : 8 sectors from superblock
  Reshape pos'n : 15045257216 (14348.28 GiB 15406.34 GB)
  Delta Devices : -1 (7->6)

    Update Time : Sat Mar  5 20:45:56 2016
       Checksum : fca445bd - correct
         Events : 4339739

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 4
   Array State : A.AAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x5
     Array UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
           Name : BigRaid6
  Creation Time : Fri Jan 11 09:59:42 2013
     Raid Level : raid6
   Raid Devices : 6

 Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
     Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
  Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=688 sectors
          State : clean
    Device UUID : b8d49170:06614f82:ad9a38a4:e9e06da5

Internal Bitmap : 8 sectors from superblock
  Reshape pos'n : 15045257216 (14348.28 GiB 15406.34 GB)
  Delta Devices : -1 (7->6)

    Update Time : Sat Mar  5 20:45:56 2016
       Checksum : 5d867810 - correct
         Events : 4339739

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 5
   Array State : A.AAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdf:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x5
     Array UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
           Name : BigRaid6
  Creation Time : Fri Jan 11 09:59:42 2013
     Raid Level : raid6
   Raid Devices : 6

 Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
     Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
  Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=688 sectors
          State : clean
    Device UUID : dd56062c:4b55bf16:6a468024:3ca6bfd0

Internal Bitmap : 8 sectors from superblock
  Reshape pos'n : 15045257216 (14348.28 GiB 15406.34 GB)
  Delta Devices : -1 (7->6)

    Update Time : Sat Mar  5 20:45:56 2016
       Checksum : 59045f87 - correct
         Events : 4339739

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : A.AAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdi:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x5
     Array UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
           Name : BigRaid6
  Creation Time : Fri Jan 11 09:59:42 2013
     Raid Level : raid6
   Raid Devices : 6

 Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
     Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
  Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=688 sectors
          State : clean
    Device UUID : 92831abe:86de117c:710c368e:8badcef3

Internal Bitmap : 8 sectors from superblock
  Reshape pos'n : 15045257216 (14348.28 GiB 15406.34 GB)
  Delta Devices : -1 (7->6)

    Update Time : Sat Mar  5 20:45:56 2016
       Checksum : dd2fe2d1 - correct
         Events : 4339739

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 6
   Array State : A.AAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdl:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x5
     Array UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
           Name : BigRaid6
  Creation Time : Fri Jan 11 09:59:42 2013
     Raid Level : raid6
   Raid Devices : 6

 Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
     Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
  Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=688 sectors
          State : clean
    Device UUID : 8404647a:b1922fed:acf71f64:18dfd448

Internal Bitmap : 8 sectors from superblock
  Reshape pos'n : 15045257216 (14348.28 GiB 15406.34 GB)
  Delta Devices : -1 (7->6)

    Update Time : Sat Mar  5 20:45:56 2016
       Checksum : 358734b4 - correct
         Events : 4339739

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : A.AAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdo:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x5
     Array UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
           Name : BigRaid6
  Creation Time : Fri Jan 11 09:59:42 2013
     Raid Level : raid6
   Raid Devices : 6

 Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
     Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
  Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=688 sectors
          State : clean
    Device UUID : d7e84765:86fb751a:466ab0de:c26afc43

Internal Bitmap : 8 sectors from superblock
  Reshape pos'n : 15045257216 (14348.28 GiB 15406.34 GB)
  Delta Devices : -1 (7->6)

    Update Time : Sat Mar  5 20:45:56 2016
       Checksum : c3698023 - correct
         Events : 4339739

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : A.AAAAA ('A' == active, '.' == missing, 'R' == replacing

これには、「フルディスク」メンバーではなくアレイの唯一のメンバーであった/ dev / sdj1があります。これは、形状変更プロセス中に配列から削除されます。再構成前のデータがあるので、現在の配列のメンバーでなくても再構成を継続しなければならないと思います。

johnny@debian:~$ sudo mdadm --examine /dev/sdj1
mdadm: No md superblock detected on /dev/sdj1.

私の質問は次のとおりです。1.
図形の変更を完了できません。
2. アレイをマウントできません。試してみたら、手に入れました。

johnny@debian:~$ sudo mount /dev/md0 /media/BigRaid6
mount: wrong fs type, bad option, bad superblock on /dev/md0,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.
johnny@debian:~$ sudo dmesg | tail
[42446.268089] sd 15:0:0:0: [sdk]  
[42446.268091] Add. Sense: Unrecovered read error - auto reallocate failed
[42446.268092] sd 15:0:0:0: [sdk] CDB: 
[42446.268093] Read(10): 28 00 89 10 bb 00 00 04 00 00
[42446.268099] end_request: I/O error, dev sdk, sector 2299575040
[42446.268131] ata16: EH complete
[61123.788170] md: md1: data-check done.
[77423.597923] EXT4-fs (md0): bad geometry: block count 4194304000 exceeds size of device (3906887168 blocks)
[77839.250590] EXT4-fs (md0): bad geometry: block count 4194304000 exceeds size of device (3906887168 blocks)
[78525.085343] EXT4-fs (md0): bad geometry: block count 4194304000 exceeds size of device (3906887168 blocks)

リモデリングが完了したら、インストールが成功すると確信しているので、それが最も重要です。参考までに、このアレイのデータは大きすぎてバックアップできないため、失われるとデータは消えます。助けてください!

編集1:

1000ドル(またはそれ以上)を費やしてすべてをコピーするのに十分なディスクを入手できますが、機能するにはアレイをマウントできる必要があります。

さらに、アレイをマウントしようとしたときに表示される「誤った形状」エラーメッセージにいくつかの興味深い情報が含まれていることを確認しました。

[146181.331566] EXT4-fs (md0): bad geometry: block count 4194304000 exceeds size of device (3906887168 blocks)

デバイス3906887168のサイズは、正確にmd0配列サイズ15627548672の1/4です。 「mdadm --detail /dev/md0」から

Array Size : 15627548672 (14903.59 GiB 16002.61 GB)

4194304000番号がどこから来たのかわかりませんが...これは、アレイのサイズがこれらのディスクに適しているという意味ですか?それとも、これらのサイズにmdadmメタデータは考慮されませんか? 4194304000メタデータが含まれていますか?

変形が始まる直前にサイズを合わせるのに数回の試みが必要だったので、すべてが大丈夫だと思いました。たぶん私が間違っているかもしれません。

答え1

エラーはすでに最初のコマンドにあります。16000GiB6x4TBディスクではまったくエラーではなく、メタデータなどのための16000GB一部のスペースを失ったため、ストレッチになることもあります。mdadm最後のエラーメッセージはこの場合とよく似ています(bad geometryファイルシステムはデバイスがより大きなデバイスを提供すると考え、ファイルシステムは絶対に嫌いそれ)。

だからあなたは今多くの問題に直面しました:

  • ファイルシステムが大きすぎます。
  • あなたの精神科医が閉じ込められています
  • 1つ以上のディスクにエラーが発生しました(/dev/sdk)。
  • バックアップファイルが失われました
  • 可能なファイルシステムの不一致(明らかに)

問題の解決策は、収縮が何とか終わるようにするのではなく、損傷なしに以前の状態に復元することです...これは可能幸いなことに、収縮が大幅に進んでいないので、まだ可能です。

この場合、

一般に、RAIDを再作成することはほとんど常に間違っているので、非常に悪い考えです。しかし、あなたの場合は、他の方法で収縮プロセスを元に戻すよりも損傷が少ない可能性があると思います。 7-ディスクRAID 6では、この16GiB領域はまだ影響を受けない可能性があります... RAIDが縮小されたときにファイルシステムがアイドル状態であると仮定します。そうしないと、ファイルシステムの不一致がより多く発生します。

RAID を再作成するときは、次のことが必要です。みんな正しい変数:メタデータバージョン、データオフセット、レイドレベル、レイドレイアウト、ブロックサイズ、ディスクの順番...そして、冗長ディスクを欠落したままにして再同期を防ぐ必要があります。

次のように見えます。

mdadm --create /dev/md0 --assume-clean \
    --metadata=1.2 --data-offset=128M --level=6 --layout=ls --chunk=512 \
    --raid-devices=7 missing missing /dev/mapper/overlay-{sdf,sdl,sdb,sdc,sdi}

保証することはできません。明らかに自分で試したことはありません。


動作していることを確認したら、変更内容をディスクにコミットできます(上書きせずに動作していることが確認された手順を適用します)。その後、今回はresize2fsファイルシステムが正しく(14G動作する必要があります)、RAIDを縮小して再び停止しないことを願っています。バックアップファイルは不要な場合mdadm --growがあり、使用している場合は紛失しないように注意してください。

関連情報