web-dev-qa-db-ja.com

データを失うことなく、btrfs RAID5を同じディスクでRAID6に変換することは可能ですか?

データを交換せずに、同じディスクを使用して、十分な空きディスク容量があれば、既存のRAID5(シングルパリティ)btrfsセットアップをデュアルパリティRAID6構成に変換するにはどうすればよいですか?

基本的には、ディスクを取り外して冗長ドライブを保持し、btrfsが残りのドライブのすべてを再配布し、取り外したディスクを再度追加する必要がありますか?

では、推奨されるプロセスは何ですか?

私は線に沿って何かを考えていました

btrfs device delete /dev/sdx /mnt/fs
btrfs balance start -dconvert=raid6 -mconvert=raid6 /mnt/fs
btrfs device add /dev/sdx /mnt/fs

ディスクを削除して追加する必要がありますか、それともセットアップを直接変換するだけですか?つまり.

btrfs balance start -dconvert=raid6 -mconvert=raid6 /mnt/fs
2
Archimedix

https://www.howtoforge.com/a-beginners-guide-to-btrfs-p2

これは、十分な空き領域があることを前提として、実行中のアレイのRAIDレベルを変更できることを示しています。最新の安定したLinuxカーネルを実行していることを確認してください。

例(リンクから):btrfs balance start -dconvert = raid1 -mconvert = raid1/mnt

-dconvertはデータ用です

-mconvertはメタファイル用です(これを複製したいのですが、私を信じてください)

/ mntは、BTRFSボリュームがマウントされる場所です。これはマウントせずに行うことができますが、私は試したことがないので、正直であり続けたいと思います。

Raid0、raid1、raid5、およびraid6があります。十分な空き容量がある場合は、n-2またはドライブ数[空き容量]からraid6の2を引いたものだと思います。ただし、BTRFSを使用すると、少ないコストで回避でき、代わりにデータを使用して測定を行うことができます。少量のデータを保存している場合は、許容可能なドライブ数より少ないドライブでraid6のような機能を使用することができます。可能ですが、お勧めしません。

また、ドライブにあるデータの量によっては、これにはしばらく時間がかかることに注意してください。バランスが失敗し、アレイが完全に強制終了されるか、不安定な読み取り専用モードになる可能性もわずかにあります。いつものように、バックアップを保管してください。

1
Kayot

RAID6-ウィキペディア

  • RAID5には、1〜1/nのスペース効率で3台以上のドライブ(n)が必要です
  • RAID6には、1〜2/nのスペース効率で4台以上のドライブ(n)が必要です

1 TiBアレイの合計スペース(概算)とRAID5-> RAID6からの変更(%):

  • 4 x 250GiB〜1 TiB-> RAID5〜768 ​​GiB-> RAID6〜512 GiB-> -50%
  • 5 x 200GiB〜1 TiB-> RAID5〜819.2 GiB-> RAID6〜614.4 GiB-> -25%
  • 6 x 170GiB〜1 TiB-> RAID5〜853.3 GiB-> RAID6〜682.6 GiB-> -20%

十分な空き容量とドライブがある場合は、実行中のアレイのRAIDレベルを変更できます。

  • 最終的なアレイで必要なドライブを削除または削除しないでください
  • 削除->追加->変換すると、「ダブル」バランシングになります
    • 削除/削除中に、メタデータとデータチャンクが残りのドライブに再配布されてから、ドライブを追加します。これは、RAID6に変換するときに再度バランスを取る必要があります。

ドライブを追加する必要がある場合は、バランス/変換の前にすべて追加してください。

btrfs device add /dev/sdc /mnt
btrfs device add /dev/sdd /mnt

バランスフィルター-btrfs.wiki.kernel.org

リンクからのbtrfsバランス「変換」の例(更新):

btrfs balance start -dusage=90 -dconvert=raid6 -mconvert=raid6 /mnt

-dusageは、データチャンクバランシングの使用しきい値です。

-dconvertはデータ用です

-mconvertはメタデータ用です

/ mntは、BTRFSボリュームがマウントされる場所です。これをマウント解除して行うことはできません。

btrfsデータおよび/またはメタデータは次のようになります。

  1. シングル
  2. raid0
  3. raid01
  4. raid1
  5. raid5
  6. raid6
  7. raid1c3
  8. raid1c4

一時停止、再開、キャンセル、またはステータスを取得するコマンドを使用できます。

btrfs balance pause /mnt
btrfs balance resume /mnt
btrfs balance cancel /mnt
btrfs balance status -v /mnt

警告

  1. ドライブにあるデータの量によっては、バランスに時間がかかります。
  2. 天びんが故障してアレイが破損したり、不安定な読み取り専用モードになる可能性があります。
  3. 変換する前にデータをバックアップしてください。
  4. 最新の安定したLinuxカーネルを実行していることを確認してください。
0
Stef