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
エラーはすでに最初のコマンドにあります。16000GiB
6x4TBディスクではまったくエラーではなく、メタデータなどのための16000GB
一部のスペースを失ったため、ストレッチになることもあります。mdadm
最後のエラーメッセージはこの場合とよく似ています(bad geometry
ファイルシステムはデバイスがより大きなデバイスを提供すると考え、ファイルシステムは絶対に嫌いそれ)。
だからあなたは今多くの問題に直面しました:
- ファイルシステムが大きすぎます。
- あなたの精神科医が閉じ込められています
- 1つ以上のディスクにエラーが発生しました(
/dev/sdk
)。 - バックアップファイルが失われました
- 可能なファイルシステムの不一致(明らかに)
問題の解決策は、収縮が何とか終わるようにするのではなく、損傷なしに以前の状態に復元することです...これは可能幸いなことに、収縮が大幅に進んでいないので、まだ可能です。
この場合、
- RAIDを停止し、他の項目が起動しないことを確認します(
udev
自動組み立てルールの無効化など)。 - オーバーレイファイルを使用してハードドライブを読み取り専用にする (一時保存には追加のスペアディスクが必要)
- その上書きを使用してRAIDを再作成してみてください。
一般に、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
があり、使用している場合は紛失しないように注意してください。