最初に私がこの状況に陥った方法:
各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を持っています。ですから、これらはどれも元のスーパーブロックではないと思います。ひどい…
とにかく、あなたは間違ったディスクを使おうとしているのか、間違ったチャンクサイズを使おうとしているのだと思います(デフォルトは時間とともに変化していると思います)。古いアレイが別のスーパーブロックバージョンを使用している可能性があります(デフォルトは確実に変更されています)。これにより、すべてのセクターがオフセットされる可能性があります(また、一部のデータが破壊される可能性があります)。最後に、間違ったレイアウトを使用している可能性がありますが、その可能性は低くなります。
また、テストアレイが(mdの観点から)読み取り/書き込みであり、ext3を使用しようとして実際にいくつかの書き込みが行われた可能性もあります。例:ジャーナルのリプレイ。しかし、それはある時点でスーパーブロックが見つかった場合のみだと思います。
ところで:あなたは本当に--assume-clean
を使うべきだと思います 、もちろん、劣化したアレイは再構築を開始しようとしません。次に、すぐに読み取り専用に設定することをお勧めします。