「Bcachefs」の版間の差分
(→SSD キャッシングを備えた RAID0/1: 同期) |
(→デバイスの取り外し: 同期) |
||
86行目: | 86行目: | ||
{{Note|追加されたデバイス間でストライピングされるのは新しい書き込みのみです。ディスクのリバランスがトリガーされると、ディスク使用量が特定のしきい値に達するまで、既存のものは変更されません。現在、リバランス/リストライプを手動でトリガーすることはできません。}} |
{{Note|追加されたデバイス間でストライピングされるのは新しい書き込みのみです。ディスクのリバランスがトリガーされると、ディスク使用量が特定のしきい値に達するまで、既存のものは変更されません。現在、リバランス/リストライプを手動でトリガーすることはできません。}} |
||
− | === デバイスの |
+ | === デバイスの削除 === |
+ | |||
+ | まず、少なくとも 2 つのメタデータのレプリカがあることを確認します (Evacuate はメタデータに対して機能していないようです) データとメタデータがすでに複製されている場合は、この手順をスキップできます。 |
||
− | まず、少なくとも2つのメタデータレプリカがあることを確認します (Evacuate はメタデータに対して機能していないようです) データとメタデータがすでに複製されている場合は、この手順をスキップできます。 |
||
# echo 2 > /sys/fs/bcachefs/''UUID''/options/metadata_replicas |
# echo 2 > /sys/fs/bcachefs/''UUID''/options/metadata_replicas |
||
# bcachefs data rereplicate /mnt |
# bcachefs data rereplicate /mnt |
||
94行目: | 95行目: | ||
# bcachefs device evacuate ''device'' |
# bcachefs device evacuate ''device'' |
||
− | デバイスを削除します |
+ | デバイスを削除します: |
+ | |||
# bcachefs device remove ''device'' |
# bcachefs device remove ''device'' |
||
# bcachefs data rereplicate /mnt |
# bcachefs data rereplicate /mnt |
2024年1月8日 (月) 17:31時点における版
Bcachefs は、 Btrfs と ZFS の機能をよりクリーンなコードベース、より安定性、より高速、 GPL 互換のライセンスを提供することを目的とした次世代の CoW ファイルシステムです。
主に Kent Overstreet によって開発されています。
目次
インストール
カーネル 6.7 以降、Bcachefs は上流の カーネル にマージされているため、linux-mainlineAUR カーネルを インストール できるようになります。
Bcachefs ユーザースペースツールは bcachefs-tools-gitAUR から入手できます。
セットアップ
シングルドライブ
#bcachefs format /dev/sda #mount -t bcachefs /dev/sda/mnt
複数のドライブ
Bcachefs は、RAID0 と同様に、デフォルトでデータをストライプ化します。冗長性は replicas オプションを介して処理されます。--replicas=2
を備えた 2 台のドライブは RAID1 に相当し、--replicas=2
を備えた 4 台のドライブは RAID10 に相当します。
# bcachefs format /dev/sda /dev/sdb --replicas=n # mount -t bcachefs /dev/sda:/dev/sdb /mnt
異種ドライブがサポートされています。サイズが異なる場合は、一部に大きなストライプが使用され、すべてが同じ割合で埋められます。速度が異なる場合、複製されたデータの読み取りは、IO 遅延が最も短いデータに送信されます。一部が他よりも信頼性が高い場合 (ハードウェア RAID デバイスなど)、--durability=2 device
を設定して、そのデバイス上のデータの各コピーを 2 つの複製としてカウントできます。
SSD キャッシング
Bcachefs には、バックグラウンド、フォアグラウンド、プロモートの3つのストレージカテゴリがあります。ファイルシステムへの書き込みでは、フォアグラウンドドライブに優先順位が付けられ、その後、時間の経過とともにバックグラウンドに移動されます。読み取りはプロモートドライブにキャッシュされます。
推奨される設定は、フォアグラウンドとプロモートに ssd グループを使用し、バックグラウンド (ライトバックキャッシュ) に hdd グループを使用することです。
# bcachefs format \ --label=ssd.ssd1 /dev/sda \ --label=ssd.ssd2 /dev/sdb \ --label=hdd.hdd1 /dev/sdc \ --label=hdd.hdd2 /dev/sdd \ --label=hdd.hdd3 /dev/sde \ --label=hdd.hdd4 /dev/sdf \ --replicas=2 \ --foreground_target=ssd \ --promote_target=ssd \ --background_target=hdd # mount -t bcachefs /dev/sda:/dev/sdb:/dev/sdc:/dev/sdd:/dev/sde:/dev/sdf /mnt
ライトスルーキャッシュの場合は、上記と同じことを行いますが、各 SSD デバイスで --durability=0 device
を設定します。
ライトアラウンドキャッシュの場合、フォアグラウンドターゲットを hdd グループに、ターゲットを ssd グループにプロモートします。
設定
ほとんどのオプションは、 bcachefs format
中、マウント時 (mount -o option=value
)、またはsysfs (echo X > /sys/fs/bcachefs/UUID/options/option
) フォーマット中にオプションを設定するか、 sysfs を介してオプションを変更すると、ファイルシステムのスーパーブロックに保存され、それらのドライブのデフォルトになります。マウントオプションはこれらのデフォルトを上書きします。
- data_checksum、metadata_checksum(none、crc32c、crc64)
- (foreground)compression、background_compression(None、lz4、gzip、zstd)
- foreground_target、background_target、promote_target
以下は、 bcachefs setattr file --option=value
を使用して、ディレクトリごとまたはファイルごとに設定することもできます。
- data_replicas
- data_checksum
- compression, background_compression
- foreground_target, background_target, promote_target
デバイスのグループの変更
# echo group > /sys/fs/bcachefs/filesystem_uuid/dev-X/label
デバイスの追加
# bcachefs device add --group=group /mnt /dev/device
これがグループ内の最初のドライブである場合は、それを使用するためにターゲット設定を変更する必要があります。この例は、キャッシュドライブを追加するためのものです。
# echo new_group > /sys/fs/bcachefs/filesystem_uuid/options/promote_target # echo new_group > /sys/fs/bcachefs/filesystem_uuid/options/foreground_target # echo old_group > /sys/fs/bcachefs/filesystem_uuid/options/background_target
デバイスの削除
まず、少なくとも 2 つのメタデータのレプリカがあることを確認します (Evacuate はメタデータに対して機能していないようです) データとメタデータがすでに複製されている場合は、この手順をスキップできます。
# echo 2 > /sys/fs/bcachefs/UUID/options/metadata_replicas # bcachefs data rereplicate /mnt # bcachefs device set-state device readonly # bcachefs device evacuate device
デバイスを削除します:
# bcachefs device remove device # bcachefs data rereplicate /mnt
ヒントとテクニック
ドキュメント
最新のドキュメントは、 bcachefs--help
からのみ入手できます。 たとえば、マニュアルページには、今では役に立たない --tier
オプションが含まれています。
より有用なエラーメッセージについては、dmesgを確認してください。