RAID1 btrfsがある場合は、時々「btrfs Balance」を実行する必要がありますか?

RAID1 btrfsがある場合は、時々「btrfs Balance」を実行する必要がありますか?

2つのデバイス設定があり、RAID1データ(およびメタデータ)が常に両方のデバイスにミラーリングされているとします。

$ sudo btrfs filesystem show 
Label: none  uuid: eaf30e64-0a90-447f-b53d-1598fe46a8a9
    Total devices 2 FS bytes used 751.55GiB
    devid    1 size 931.51GiB used 763.03GiB path /dev/sda
    devid    2 size 931.51GiB used 763.03GiB path /dev/sdb

$ sudo btrfs filesystem df /
Data, RAID1: total=758.00GiB, used=748.13GiB
System, RAID1: total=32.00MiB, used=144.00KiB
Metadata, RAID1: total=5.00GiB, used=3.42GiB
GlobalReserve, single: total=512.00MiB, used=0.00B

btrfs balanceこの設定で実行する必要がありますか?

それでは、どのくらいの頻度で?

ベストアンサー1

WikiでEmmanuel Rosaが引用した内容は技術的に正確ですが(彼の言葉が合うこともあります。[Eメール保護]メーリングリストにも便利な情報がたくさんあります。 (残念ながら)コメントに入れるには、あまりにも大きな2つのことを指摘したいと思います。

  1. ウィキペディアの特定のFAQエントリは少し古いです。現在、メインラインLinuxカーネル(この回答では4.14)にはある程度自動クリーニング機能がありますが、どのディストリビューションにこの機能を提供するのに十分な新しいカーネルがあるかはわかりません。

  2. ファイルシステムのアクティビティが多い場合(多数のファイルが定期的に作成、削除、および/またはコピーされている場合)、定期的に少量の部分的なバランスを取ることが役に立ちます。 BTRFS が使用する最初の割り当てステップで割り当てられていないデータをリサイクルします。スペースを使用します(最初のステップのスペースが不足すると、通常はファイルシステムが破損します)。たとえば、私はほとんどのシステムで毎日次のコマンドを実行します。

     btrfs balance start -dusage=50 -dlimit=4 -musage=50 -mlimit=16
    

    これは、50%以下で完了したディスクの最初の4つのデータブロックと50%以下で完了したディスクの最初の16個のメタデータブロックのバランスをとります。つまり、最大4GBのデータをすばやく移動でき、システムの定期的な変更がファイルシステムに悪影響を及ぼすのを防ぐのに役立ちます。

おすすめ記事