Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

6.4. 複数デバイスのボリューム統合管理

btrfs ファイルシステムは、多くのデバイス上に作成でき、ファイルシステムの作成後にデバイスを追加できます。デフォルトでは、メタデータは 2 つのデバイスにミラーリングされ、データがすべてのデバイス全体にストライプ化されます。ただし、1 つのデバイスしか存在しない場合には、そのデバイスにメタデータの複製が行われます。

6.4.1. 複数デバイスを使用したファイルシステムの作成

mkfs.btrfs 「btrfs ファイルシステムの作成」、データ用のオプション -d オプション、およびメタデータの場合は -m を受け入れます。有効な仕様は以下のとおりです。
  • raid0
  • raid1
  • raid10
  • dup
  • single
-m single オプションは、メタデータの重複が発生しないように指示します。これは、ハードウェア RAID を使用する場合は必要になる場合があります。
注記
RAID 10 では、正常に実行するには 4 つ以上のデバイスが必要です。

例6.1 RAID 10 btrfs ファイルシステムの作成

4 つのデバイス(メタデータミラーリング、データのストライプ化)でファイルシステムを作成します。
# mkfs.btrfs /dev/device1 /dev/device2 /dev/device3 /dev/device4
ミラーリングなしでメタデータをストライプします。
# mkfs.btrfs -m raid0 /dev/device1 /dev/device2
データとメタデータの両方に raid10 を使用します。
# mkfs.btrfs -m raid10 -d raid10 /dev/device1 /dev/device2 /dev/device3 /dev/device4
1 つのドライブでメタデータを複製しないでください。
# mkfs.btrfs -m single /dev/device
ドライブのサイズが異なる場合は、各ドライブの全容量を使用するには、1 つのオプションを使用します。
# mkfs.btrfs -d single /dev/device1 /dev/device2 /dev/device3
作成したマルチデバイスファイルシステムに新規デバイスを追加するには、次のコマンドを実行します。
# btrfs device add /dev/device1 /mount-point
btrfs モジュールを再起動または再読み込みしたら、btrfs デバイス scan コマンドを使用して、すべてのマルチデバイスファイルシステムを検出します。詳細は 「btrfs デバイスのスキャン」 を参照してください。

6.4.2. btrfs デバイスのスキャン

btrfs デバイススキャンを使用して 、/dev の下にあるすべてのブロックデバイスをスキャンし、btrfs ボリュームのプローブを行います。ファイルシステム内に複数のデバイスで実行している場合は、btrfs モジュールの読み込み後に実行する必要があります。
すべてのデバイスをスキャンするには、次のコマンドを使用します。
# btrfs device scan
単一デバイスをスキャンするには、以下のコマンドを使用します。
# btrfs device scan /dev/device

6.4.3. btrfs ファイルシステムへの新規デバイスの追加

btrfs filesystem show コマンドを使用して、btrfs ファイルシステム、およびそれに含まれるデバイスの一覧を表示します。
btrfs device add コマンドを使用して、マウントされたファイルシステムに新しいデバイスを追加します。
btrfs ファイルシステムのバランスコマンドは、割り当てられたエクステントをすべての既存デバイスに分散(トリップ)します。
新しいデバイスを追加するすべてのコマンドの例を以下に示します。

例6.2 新しいデバイスを btrfs ファイルシステムに追加

まず、btrfs ファイルシステムを作成してマウントします。btrfs 「btrfs ファイルシステムの作成」、btrfs 「btrfs ファイルシステムのマウント」
# mkfs.btrfs /dev/device1
# mount /dev/device1
次に、2 番目のデバイスを、マウントされた btrfs ファイルシステムに追加します。
# btrfs device add /dev/device2 /mount-point
このデバイスのメタデータとデータは、/dev/デバイス1 にのみ保存されます。すべてのデバイスを分散するためにバランスを取る必要があります。
# btrfs filesystem balance /mount-point
ファイルシステムのデータとメタデータをすべて読み取り、新しいデバイス全体で書き換えるため、ファイルシステムを調整するにはしばらく時間がかかります。

6.4.4. btrfs ファイルシステムの変換

RAID 以外のファイルシステムを raid に変換するには、デバイスを追加し、チャンク割り当てプロファイルを変更するバランスフィルターを実行します。

例6.3 btrfs ファイルシステムの変換

この場合は、既存のシングルデバイスシステム(/dev/sdb1) を 2 つのデバイス(raid1 システム)に変換して、1 つのディスク障害から保護するには、次のコマンドを実行します。
# mount /dev/sdb1 /mnt
# btrfs device add /dev/sdc1 /mnt
# btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt
重要
メタデータがシングルデバイスのデフォルトから変換されない場合、DUP のままになります。これは、ブロックのコピーが別のデバイスにあることを保証する訳ではありません。データが変換されていない場合は、冗長コピーがありません。

6.4.5. btrfs デバイスの削除

btrfs device delete コマンドを使用して、オンラインデバイスを削除します。ファイルシステム内の他のデバイスに使用するエクステントは、安全に削除できるようにします。

例6.4 btrfs ファイルシステムにおけるデバイスの削除

まず、btrfs ファイルシステムを作成してマウントします。
# mkfs.btrfs /dev/sdb /dev/sdc /dev/sdd /dev/sde
# mount /dev/sdb /mnt
ファイルシステムにデータを追加します。
最後に、必要なデバイスを削除します。
# btrfs device delete /dev/sdc /mnt

6.4.6. btrfs ファイルシステムでの障害のあるデバイスの置き換え

「btrfs デバイスの削除」 スーパーブロックが読み取ることができない、障害のあるデバイスの削除に使用できます。ただし、デバイスが見つからないか、スーパーブロックが破損している場合は、ファイルシステムを degraded モードでマウントする必要があります。
# mkfs.btrfs -m raid1 /dev/sdb /dev/sdc /dev/sdd /dev/sde


  ssd is destroyed or removed, use -o degraded to force the mount
  to ignore missing devices


# mount -o degraded /dev/sdb /mnt


  'missing' is a special device name


# btrfs device delete missing /mnt
コマンド btrfs デバイスの削除では、ファイルシステムメタデータが説明した最初のデバイスが削除されますが、ファイルシステムがマウントされたときには存在しないデバイスが削除されます。
重要
特定の raid レイアウトに必要なデバイスの最小数を下回ることは、欠落しているデバイスを含めないことです。障害が発生したデバイスを削除するために、新規デバイスを追加する必要がある場合があります。
たとえば、デバイスに障害が発生した場合に、2 つのデバイスが含まれる raid1 レイアウトの場合は、以下を行う必要があります。
  1. 低下モードでのマウント
  2. 新規デバイスの追加
  3. 不足しているデバイスを削除します。

6.4.7. /etc/fstabでの btrfs ファイルシステムの登録

initrd がない場合や、btrfs デバイススキャンを実行していない場合は、ファイルシステムのすべてのデバイスを mount コマンドを明示的に渡すことで、マルチボリューム btrfs ファイルシステムをマウントできます

例6.5 例 /etc/fstab エントリー

適切な /etc/fstab エントリーの例を以下に示します。
/dev/sdb    /mnt    btrfs    device=/dev/sdb,device=/dev/sdc,device=/dev/sdd,device=/dev/sde    0
UUID(Universally Unique Identifier)を使用するとも機能し、デバイスパスを使用するよりも安定していることに注意してください。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。