私は私のファイルサーバーでExt3 / 4 + lvm2 + mdadmファイルシステム設定を約5年間使用してきました。サイズが大きく(プロセッサを数回移動)、システム間でディスクを移動し(ボリュームグループのエクスポート/インポート)、物理ボリュームを新しいディスクに移動したので、かなり満足していますが、最近見つけ始めました。 mdadmの確認と再同期の時間が過剰になり、最新のシステムがこれを防ぐためにチェックサムと動的回復を使用しているように見えるため、代替ファイルシステムが必要です。
私の設定は、混合ディスクサイズを可能にするために、ディスク全体ではなくパーティションとして構築されたRAIDアレイを使用します。例えば、以前は4つのディスク(3TB 2個、2Tb 1個、1Tb 1個)を混合して9Tbアレイを作成し、6Tbの空き容量を提供していました。 。 4つのディスクが1Tbパーティションとしてフォーマットされていると仮定すると、mdadm / lvm2コマンドは次のようになります。
# mdadm /dev/md0 --create -lraid5 -n3 /dev/sda1 /dev/sdb1 /dev/sdc1
# mdadm /dev/md1 --create -lraid5 -n3 /dev/sda2 /dev/sdb2 /dev/sdc2
# mdadm /dev/md2 --create -lraid5 -n3 /dev/sda3 /dev/sdb3 /dev/sdd1
# pvcreate /dev/md0 /dev/md1 /dev/md2
# vgcreate grp /dev/md0 /dev/md1 /dev/md2
# lvcreate -l100%FREE --name vol grp
ZFSの場合、ログとキャッシュを無視し、コマンドは次のようになります。
# zpool create puddle raidz sda1 sdb2 sdc1 raidz sda2 sdb2 sdc2 raidz sda3 sdb3 sdd1
ただし、BTRFSの場合、最善のアプローチは3つのRAIDアレイを作成するようです。
# mkfs.btrfs -draid5 /dev/sda1 /dev/sdb1 /dev/sdc1
# mkfs.btrfs -draid5 /dev/sda2 /dev/sdb2 /dev/sdc2
# mkfs.btrfs -draid5 /dev/sda3 /dev/sdb3 /dev/sdd1
私が欠けているものがなければ、BTRFSはそれを単一のファイルシステムにマージする方法がないようです。 (また、多くの議論では、raid5の実装はかなり新しく、本番標準ではない可能性があることを示唆しています!)スペースの3分の2を確保するようにBTRFSを構成する方法はありますか?
それとも、私のオプションはZFSまたは既存のext / lvm / mdadmスタックに制限されていますか?
修正する: BTRFS RAID5が確実に宣言されるのを待っている間、BTRFS RAID1設定を作成しました。その後、BTRFS RAID5/6は非常に破損し、実験設定にのみ適していると宣言され、ZFS RAIDZ2(RAID6)アレイに切り替えました。
答え1
例ディスクサイズ(2 x 3TB、1 x 2TB、1 x 1TB)の場合、使用可能なスペースの正確に3分の2とドライブを失うのに十分なパリティを持つbtrfs raid5で正しく機能します。パーティショニングは必要ありません。すべてのデバイスをbtrfsに直接渡すだけです。
あなたはそれを使用することができますBtrfs空間アロケータウェブサイトのさまざまな構成を試して、どのくらいのスペースが浪費されているかを確認してください。
あなたの例では、次のようにして配列を作成します。
mkfs.btrfs -d raid5 -m raid5 /dev/sd[a-d]
しかし、raid0/1/10は非常に安定していますが(長い間カーネルにありました。たとえば、SuSE Linux Enterprise Server 12は正式にこれらのモードをサポートしています)、raid5/6コードはLinux 3.19でのみ完成しました。 、raid5は現在まだ「書き込み穴」に脆弱であるため、btrfs raid5を使用したい場合は、すべての重要なデータを正しくバックアップしていることを確認してください(ファイルシステムに関係なく、誰もがとにかくこれを行う必要があります)。
個人的には、実験的でない設定でbtrfs raid5 / 6を使用する前に、いくつかのカーネルリリースを待っています。
raid5/6の最新状態を理解するにはbtrfs raid56 wikiページ通常は最新バージョンでなければなりません。