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


21

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

回答:


5

GRUBのwikiの確認:

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

奇妙なことに、mdadmmanページに

-e、--metadata =

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

念のmdadm -Q -D <device>ため、よく確認してください。

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

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

...しかし、これを必ず実行する必要があることを確認してください!


ずっと前に確認しました raid10、f2を実行しています。明らかに、配列の再作成は私が避けようとしていたことです。
xenoterracide

linux-raid at vger.kernel.orgメーリングリストを試しましたか?
アンドリュー

奇妙なことに、私はこれについて通知を受け取らなかった。いいえ、私は試しませんでした。私はそれを拭いて、アレイを再作成しました。私はこの答えを、NOまたは恐らく(とんでもない
くらい

16

この情報はおそらく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

1
おそらくOPには遅すぎますが、あなたは私を救ってくれました、あなたの答えを
ありがとう-neofutur

7

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

0.90 <-> 1.0で動作する場合がありますが、これは例外です。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.