web-dev-qa-db-ja.com

既存のアレイのメタデータバージョンを変更できますか?

したがって、grubにはメタデータバージョン0.90が必要です。既存の配列を変更して、デフォルトの1.2ではなくそれを使用できるかどうか疑問に思っています。そうすれば、再インストールする必要はありません。はいの場合、どうすればよいですか?

21
xenoterracide

GRUB wiki で確認:

また、(1.96 + 20080724現在)GRUBは、バージョン0.90メタデータスーパーブロック(つまり、mdadmの--metadata = 0.90オプションで作成されたもの)を使用するRAIDからのみ起動できます。

奇妙なことに mdadmのmanページ は言う

-e、--metadata =

使用するスーパーブロック(raidメタデータ)のスタイルを宣言します。 --createのデフォルトは0.90で、他の操作の場合は推測します。

確実にmdadm -Q -D <device>で再確認します。

その後、どのRAIDレベルを実行していますか?ミラー(RAID 1)について考えることができる最良のシナリオは、

  1. バックアップを取る
  2. アレイ0のマウントを解除します
  3. nデバイスのアレイ0からデバイスAを削除します
  4. デバイスAのスーパーブロックがゼロ
  5. 古いスーパーブロック形式を明示的に使用して、デバイスAとn-1スペアを使用してアレイ1を作成します
  6. 残りのBからn-1デバイスまで繰り返します
  7. (オプション)アレイの番号を付け直します

...しかし、絶対にこれを実行する必要があることを非常に確実にチェックしてください!

5
Andrew

この情報は、おそらくOPを支援するには遅すぎますが、おそらく他の誰かを支援するでしょう。

最初のコマンドはスーパーブロックをワイプし、2番目のコマンドは新しいアレイを作成しますが、デバイスがクリーンであることを前提としています。私はこれを実行したばかりで、すべてが問題ないようです。これを行う前に、バックアップをお勧めします。失うデータがなかったため、整合性を確認できませんでした。さらに4時間の再同期を避けたかっただけです。

$ mdadm --zero-superblock /dev/sd[a-z]1
$ mdadm --create /dev/md0 --assume-clean \
    --level=10 --raid-devices=10 /dev/sd[a-z]1 --metadata=0.90
16
Vex Mage

0.90と1.2のメタデータブロックはサイズだけでなく場所も異なるため、上記で提案されているように、クリーンで一貫性のないメタデータを含む配列を作成すると、既存のデータが損傷する可能性があります。

例外として、0.90 <-> 1.0でも機能する可能性があります。

https://raid.wiki.kernel.org/index.php/RAID_superblock_formats

7
masc