web-dev-qa-db-ja.com

mdadmアレイを削除し、データを保存しながら通常のディスクに変換する

Ubuntu 12.04サーバーで作成された6個のディスク(各2TB)mdadm RAID 5ボリュームがあります。しかし、私は別のソリューションに移行しており、ディスクを「レイド解除」したいが、データは保持したい。使用されているのは50%のみです。

推測できることから、基本的に各物理ディスクに対してこれを再帰的に実行する必要があります。

  1. ディスクを故障させる
  2. 故障したディスクをフォーマットします
  3. ファイルの一部を新しいディスクに移動します。
  4. 配列の形状を変更します
  5. 論理ボリュームmd0を縮小する

これは非常に時間がかかるプロセスのようです。データを一時的に保持するために新しいディスクを購入することなく、これを(自動的に)簡単に行う方法はありますか

また、この処理中にRAIDボリュームが劣化し、常に脆弱になることも認識しています。私はこれについてあまり心配しておらず、バッテリーバックアップを使用して、最も重要なファイルを最初に移動します。

ご協力ありがとうございました!

5

私がやったことは、すべてのファイルをオフにするまでこの手順を繰り返すことでした。

  1. mdadm/dev/md0 --fail/dev/sd ... --remove/dev/sd ...
  2. mdadm --zero-superblock/dev/sd ...
  3. mkfs.ext4/dev/sd ...
  4. resize2fs/dev/md0(ディスクサイズ)
  5. 2TBのデータを/ dev/sdにコピーしています...
  6. すべてのデータがmd0からオフになるまで、ステップ1に進みます。

これがすべて完了したら、次のことを行いました。

  1. mdadm --stop/dev/md0
  2. mdadm --remove/dev/md0

すべてうまくいったし、データを失うことすらしなかった。明らかにデータをバックアップする必要がありますが、私の場合、6TBのバックアップは実際には実行できません。したがって、私はリスクを取ることをいとわなかった。このプロセスには多くの脆弱点があり、時間がかかります。バックアップしたデータまたは簡単に再作成できるデータでのみこれを行うことをお勧めします。

3

まあ、6つの2TBディスクにRAID5があり、10TBの使用可能スペースを提供します。その50%はデータによって使用されます。つまり、5TBをどこかに置く必要があります。ディスクを追加せずにこれを他の方法で行うことはできないと思います。それは本当にあなたを助けません。

ただし、このデータセットの一部を単一のディスクに移動することになるため、冗長性がなくなり、その後raid5セットのサイズを変更して、プロセスで破損する可能性があります。

あなたが計画していることとあなたが説明した制約から、私はあなたがこのデータセットのバックアップを持っていないことを理解しました。最初にデータを別の場所に移動せずに、この方法で実行してもよろしいですか?これは過度に楽観的なアプローチのように聞こえます:)

1
Marcin Kaminski