「Bcachefs」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎Setup: 翻訳)
42行目: 42行目:
 
# mount -t bcachefs /dev/sda:/dev/sdb:/dev/sdc:/dev/sdd/dev/sde:/dev/sdf /mnt
 
# mount -t bcachefs /dev/sda:/dev/sdb:/dev/sdc:/dev/sdd/dev/sde:/dev/sdf /mnt
   
== Configuration ==
+
== 設定 ==
{{Expansion|Missing details on which options should be used}}
 
   
Most options can be set at either during {{ic|bcachefs format}}, at mount time ({{ic|1=mount -o option=value}}), or through sysfs ({{ic|echo X > /sys/fs/bcachefs/''UUID''/options/''option''}}). Setting the option during format or changing it through sysfs saves it in the filesystem's superblock, making it the default for those drives. Mount options override those defaults.
+
ほとんどのオプションは、 {{ic|bcachefs format}} 中、マウント時 ({{ic|1=mount -o option=value}})、またはsysfs ({{ic|echo X > /sys/fs/bcachefs/''UUID''/options/''option''}}) フォーマット中にオプションを設定するか、 sysfs を介してオプションを変更すると、ファイルシステムのスーパーブロックに保存され、それらのドライブのデフォルトになります。マウントオプションはこれらのデフォルトを上書きします。
  +
{{Note|sysfs を使用できるようにするには、ファイルシステムをマウントする必要があります。 fsck を除くすべての操作はライブファイルシステムで可能です}}
{{Note|The filesystem must be mounted for sysfs to be available. All operations except fsck are possible on a live filesystem}}
 
   
* data_checksum, metadata_checksum (none, crc32c, crc64)
+
* data_checksummetadata_checksum(nonecrc32ccrc64)
* (foreground) compression, background_compression (none, lz4, gzip, zstd)
+
*(foreground)compressionbackground_compression(None、lz4gzipzstd)
* foreground_target, background_target, promote_target
+
* foreground_targetbackground_targetpromote_target
   
The following can also be set on a per directory or per file basis with {{ic|1=bcachefs setattr ''file'' --option=value}}
+
以下は、 {{ic|1=bcachefs setattr ''file'' --option=value}} を使用して、ディレクトリごとまたはファイルごとに設定することもできます。
 
* data_replicas
 
* data_replicas
 
* data_checksum
 
* data_checksum
58行目: 57行目:
 
* foreground_target, background_target, promote_target
 
* foreground_target, background_target, promote_target
   
  +
{{Note|現在、ディスク使用量レポートには非圧縮サイズが表示されています。それ以外の場合、圧縮は完了しています。}}
{{Note|Disk usage reporting currently shows uncompressed size. Compression is otherwise complete.}}
 
   
  +
=== デバイスのグループの変更 ===
=== Changing a device's group ===
 
   
 
# echo ''group'' > /sys/fs/bcachefs/''filesystem_uuid''/dev-''X''/label
 
# echo ''group'' > /sys/fs/bcachefs/''filesystem_uuid''/dev-''X''/label
   
  +
{{Note|これを有効にするには、再マウントが必要です。}}
{{Note|This requires a remount to take effect.}}
 
   
=== Adding a device ===
+
=== デバイスの追加 ===
   
 
# bcachefs device add --group=''group'' /mnt /dev/''device''
 
# bcachefs device add --group=''group'' /mnt /dev/''device''
   
  +
これがグループ内の最初のドライブである場合は、それを使用するためにターゲット設定を変更する必要があります。この例は、キャッシュドライブを追加するためのものです。
If this is the first drive in a group, you'll need to change the target settings to make use of it. This example is for adding a cache drive.
 
   
 
# echo ''new_group'' > /sys/fs/bcachefs/''filesystem_uuid''/options/promote_target
 
# echo ''new_group'' > /sys/fs/bcachefs/''filesystem_uuid''/options/promote_target
76行目: 75行目:
 
# echo ''old_group'' > /sys/fs/bcachefs/''filesystem_uuid''/options/background_target
 
# echo ''old_group'' > /sys/fs/bcachefs/''filesystem_uuid''/options/background_target
   
  +
{{Note|追加されたデバイス間でストライピングされるのは新しい書き込みのみです。ディスクのリバランスがトリガーされると、ディスク使用量が特定のしきい値に達するまで、既存のものは変更されません。現在、リバランス/リストライプを手動でトリガーすることはできません。}}
{{Note|Only new writes will be striped across added devices. Existing ones will be unchanged until disk usage reaches a certain threshold, when the disk rebalance is triggered. It is not currently possible to manually trigger a rebalance/restripe.}}
 
   
=== Removing a device ===
+
=== デバイスの取り外し ===
   
  +
まず、少なくとも2つのメタデータレプリカがあることを確認します (Evacuate はメタデータに対して機能していないようです) データとメタデータがすでに複製されている場合は、この手順をスキップできます。
First make sure there are at least 2 metadata replicas (Evacuate does not appear to work for metadata). If your data and metadata are already replicated, you may skip this step.
 
 
# 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
86行目: 85行目:
 
# bcachefs device evacuate ''device''
 
# bcachefs device evacuate ''device''
   
  +
デバイスを削除します。
To remove the device.
 
# bcachefs device remove ''device''
+
#bcachefs device remove ''device''
# bcachefs data rereplicate /mnt
+
#bcachefs データは /mnt を再複製します
   
 
== Tips and tricks ==
 
== Tips and tricks ==

2020年12月14日 (月) 13:00時点における版

Bcachefs は、 BtrfsZFS の機能をよりクリーンなコードベース、より安定性、より高速、 GPL 互換のライセンスを提供することを目的とした次世代の CoW ファイルシステムです。

主に Kent Overstreet によって開発されています。

インストール

Bcachefs はまだアップストリーム カーネル にありませんが、 linux-bcachefs-gitAUR カーネルは AURからインストールできます。

Bcachefs ユーザースペースツールは bcachefs-tools-gitAUR から入手できます。

セットアップ

シングルドライブ

#bcachefs format /dev/sda
#mount -t bcachefs /dev/sda/mnt

RAID0/1 の複数のドライブ

Bcachefs はレプリカをデータの任意のインスタンスとして定義するため、2つのドライブを備えた1つのレプリカは RAID0 に相当し、2つのドライブを備えた2つのレプリカは RAID1 に相当します。

# bcachefs format /dev/sda /dev/sdb --replicas=n
# mount -t bcachefs /dev/sda1:/dev/sdb1 /mnt

SSD キャッシングを備えた RAID0/1

Bcachefs には、バックグラウンド、フォアグラウンド、プロモートの3つのストレージカテゴリがあります。ファイルシステムへの書き込みでは、フォアグラウンドドライブに優先順位が付けられ、その後、時間の経過とともにバックグラウンドに移動されます。読み取りはプロモートドライブにキャッシュされます。

次の例のように、推奨される構成は、フォアグラウンドとプロモートに ssd グループを使用し、バックグラウンドに hdd グループを使用することです。

ノート: これらはストレージの分離された「層」ではありません。これらは、単一の大きなプールのガイドラインにすぎません。フォアグラウンドがいっぱいの場合はバックグラウンドに書き込み、両方がいっぱいの場合はプロモートします。メタデータはそれらのいずれにも書き込むことができます。この構成では、データを失うことなくキャッシュドライブに障害が発生する可能性があるため、 metadata_replicas は少なくとも2である必要があります。
# bcachefs format \
    --group=ssd /dev/sda /dev/sdb 
    --group=hdd /dev/sdc /dev/sdd /dev/sde /dev/sdf \
    --data_replicas=1 --metadata_replicas=2 \
    --foreground_target=ssd \
    --background_target=hdd \
    --promote_target=ssd
# mount -t bcachefs /dev/sda:/dev/sdb:/dev/sdc:/dev/sdd/dev/sde:/dev/sdf /mnt

設定

ほとんどのオプションは、 bcachefs format 中、マウント時 (mount -o option=value)、またはsysfs (echo X > /sys/fs/bcachefs/UUID/options/option) フォーマット中にオプションを設定するか、 sysfs を介してオプションを変更すると、ファイルシステムのスーパーブロックに保存され、それらのドライブのデフォルトになります。マウントオプションはこれらのデフォルトを上書きします。

ノート: sysfs を使用できるようにするには、ファイルシステムをマウントする必要があります。 fsck を除くすべての操作はライブファイルシステムで可能です
  • 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 データは /mnt を再複製します

Tips and tricks

この記事またはセクションは加筆を必要としています。
理由: Information on auto-mounting would be useful (議論: トーク:Bcachefs#)

Documentation

Up-to-date documentation is only available via bcachefs --help. The man page, for instance, includes the now-useless --tier option.

Check dmesg for more useful error messages.

See also