Btrfs は、Linux 用のオープンソースの汎用ファイル システムです。この名前は、B ツリーを使用して内部ファイル システム構造を格納することに由来します。ファイルシステムには、「Butter F S」や「B-tree F S」など、さまざまな名前が使用されています。 Btrfs の開発は 2007 年に Oracle で開始され、現在、多くの企業 (Red Hat、Fujitsu、Intel、SUSE など) が開発作業に貢献しています。 Btrfs はメインラインの Linux カーネルに含まれています。
Btrfs ファイル システムを作成してマウントする方法 (例で説明)btrfs ユーティリティ
btrfs コマンドを使用して、Btrfs ファイル システムに関する情報を管理および表示します。このコマンドにはサブコマンドが必要です。サブコマンドを一覧表示するには、引数なしで btrfs を入力してください:
# btrfs usage: btrfs [--help] [--version] [group] [[group]...] [command] [args] Command groups: subvolume manage subvolumes: create, delete, list, etc filesystem overall filesystem tasks and information balance balance data across devices, or change block groups using filters device manage and query devices in the filesystem scrub verify checksums of data and metadata rescue toolbox for specific rescue operations inspect-internal query various internal information property modify properties of filesystem objects quota manage filesystem quota settings qgroup manage quota groups replace replace a device in the filesystem Commands: check Check structural integrity of a filesystem (unmounted). restore Try to restore files from a damaged filesystem (unmounted) send Send the subvolume(s) to stdout. receive Receive subvolumes from a stream help Display help information version Display btrfs-progs version For an overview of a given command use 'btrfs command --help' or 'btrfs [command...] --help --full' to print all available options. Any command name can be shortened as far as it stays unambiguous, however it is recommended to use full command names in scripts. All command groups have their manual page named 'btrfs-[group]'.
btrfs サブボリューム ユーティリティ
btrfs subvolume コマンドを使用して、Btrfs サブボリュームを管理および報告します。以下は、btrfs サブボリュームを作成し、それらに関する情報を表示する例の一部です。
1. btrfs サブボリュームを作成する
サブボリュームを作成するには、btrfs subvolume create コマンドを使用します。次の例では、/btrfs にマウントされた Btrfs ファイル システムに SV1 という名前のサブボリュームを作成します。
# btrfs subvolume create /btrfs/SV1 Create subvolume '/btrfs/SV1'
2. btrfs サブボリュームを表示
次の例のように、btrfs subvolume list コマンドを使用して、Btrfs ファイル システム内のサブボリュームのみを表示します。
# btrfs subvolume list /btrfs ID 257 gen 12 top level 5 path SV1 ID 258 gen 9 top level 5 path SV1-snap
このコマンドは、サブボリューム ID (257)、B ツリーのルート ID 生成 (12)、および最上位 ID (5) も表示します。
2. btrfs サブボリュームのスナップショットを作成
サブボリュームの書き込み可能/読み取り可能スナップショットを作成するには、btrfs subvolume snapshot コマンドを使用します。次の例では、SV1 サブボリュームのスナップショットを作成します:
# btrfs subvolume snapshot /btrfs/SV1 /btrfs/SV1-snap Create a snapshot of ‘/btrfs/SV1’ in ‘/btrfs/SV1-snap’
btrfs サブボリューム スナップショットを使用 -r 読み取り専用スナップショットを作成するオプション:
# btrfs subvolume snapshot –r /btrfs/SV1 /btrfs/SV1-rosnap Create a readonly snapshot of ‘/btrfs/SV1’ in ‘/btrfs/SV1-rosnap’
btrfs ファイルシステム ユーティリティ
btrfs filesystem コマンドを使用して、Btrfs ファイル システムを管理およびレポートします。使用可能なコマンドのリストは次のとおりです:
- btrfs ファイルシステム df
- btrfs ファイルシステム ショー
- btrfs ファイルシステムの同期
- btrfs ファイルシステムの最適化
- btrfs ファイルシステムのサイズ変更
- btrfs ファイルシステムのバランス
- btrfs ファイルシステム ラベル
1. btrfs ファイルシステム df ユーティリティ
ファイル システムがマウントされ、そこにファイルがコピーされている場合、df コマンドの出力で、Btrfs ファイル システムに関する不正確な情報が生成される場合があります。 Btrfs ファイル システムの正確なスペース情報を取得するには、btrfs filesystem df コマンドを使用します。
# btrfs filesystem df /btrfs Data, single: total=8.00MiB, used=5.87MiB System, DUP: total=8.00MiB, used=16.00KiB Metadata, DUP: total=1.00GiB, used=144.00KiB GlobalReserve, single: total=16.00MiB, used=0.00B
2. btrfs filesystem show|sync ユーティリティ
btrfs filesystem show コマンドを使用して、ファイル システムの構造を表示します。構文は次のとおりです。
# btrfs filesystem show [options|[path]|[uuid]]1. If you omit the optional path and uuid, the command shows information about all the Btrfs file systems. The following example displays the structure of a Btrfs file system:# btrfs filesystem show Label: none uuid: 11fdc4b4-fe4f-4a73-9d7c-35859edbcecd Total devices 1 FS bytes used 6.03MiB devid 1 size 10.00GiB used 2.02GiB path /dev/sda2. btrfs filesystem sync コマンドを使用して、ファイル システムの同期を強制します。ファイルシステムがマウントされている必要があります。 /btrfs にマウントされたファイル システムの同期を強制するには:
# btrfs filesystem sync /btrfs FSSync '/btrfs'3. btrfs ファイルシステム デフラグ ユーティリティ
Btrfs は、ファイル システム、ファイル、またはディレクトリのオンライン デフラグを提供します。オンライン デフラグ機能は、可能な限りデータを連続したチャンクに再編成して、使用可能なディスク領域のより大きなセクションを作成し、読み取りおよび書き込みパフォーマンスを向上させます。 btrfs filesystem defragment コマンドを使用して、ファイルまたはディレクトリを最適化します。
# btrfs filesystem defragment [options] [file]|[dir] [...]利用可能なオプションは次のとおりです:
オプション | 説明 |
---|---|
-v | 詳細td> |
-c | 最適化中にファイルの内容を圧縮します。 |
-r | ファイルを再帰的に最適化します。 |
-f | 最適化後にファイル システムをフラッシュします。 |
-s スタート | バイト開始以降のみデフラグします。 |
-l len | 最大 len バイトまでしかデフラグしません。 |
-t サイズ | 少なくとも size バイトのファイルのみを最適化します。 |
「-o autodefrag」を指定すると、自動デフラグを設定できます " オプションを使用してファイル システムをマウントします。"cp --reflink" オプションを使用してスナップショットを作成した場合、またはファイルのスナップショットを作成した場合は、バージョン 2.6.37 までのカーネルで最適化しないでください。 " オプション。これらの以前のカーネルの Btrfs は、データのコピー オン ライト コピーのリンクを解除します。
4. btrfs ファイルシステムのサイズ変更ユーティリティ
Btrfs は、ファイル システムのオンライン サイズ変更を提供します。 「btrfs ファイルシステムのサイズ変更」を使用します " コマンドはファイル システムのサイズを変更します。このコマンドは基になるデバイスに影響を与えないため、サイズ変更に対応するための空き容量が必要です。構文は次のとおりです:
btrfs filesystem resize [devid:][+/-][newsize][gkm]|[devid:]max [path]
パラメータの説明:
- + ニューサイズ – ファイル システムのサイズを newsize だけ増やします
- - ニューサイズ – ファイル システムのサイズを newsize だけ減らします
- ニュースサイズ – ニューサイズの量を指定します
- g、k、または m – newsize の単位を指定します (GB、KB、または MB)。単位が指定されていない場合、パラメーターはデフォルトでバイトになります。
- 最大 – ファイル システムが使用可能なすべてのスペースを占有することを指定します
たとえば、ファイル システムのサイズを 2 GB 減らすには:
# btrfs filesystem resize -2G /btrfs Resize '/btrfs/'' of '-2G'
5. btrfs デバイス ユーティリティ
btrfs device コマンドを使用して、Btrfs ファイル システム上のデバイスを管理します。 「btrfs デバイス スキャン " コマンドは、物理デバイスをスキャンして Btrfs ボリュームのメンバーを探します。このコマンドを使用すると、mount コマンドですべてのディスクを指定しなくても、複数ディスクの Btrfs ファイル システムをマウントできます。コマンド ラインから btrfs デバイス スキャンを実行する必要はありません。 udev は起動時に btrfs デバイス スキャンを自動的に実行するためです。
1. 次の例のように、btrfs device add コマンドを使用して、マウントされたファイル システムにデバイスを追加します。
# btrfs device add /dev/sdd /btrfs
2. デバイスを追加した後、btrfs filesystem balance コマンドを使用します:
# btrfs filesystem balance /btrfs
3. btrfs device delete コマンドを使用して、ファイル システムからデバイスを削除します。
# btrfs device delete /dev/sdd /btrfs
6. btrfs スクラブ ユーティリティ
btrfs Scrub コマンドを使用して、Btrfs ファイル システムのスクラブを管理します。デフォルトでは、スクラブはバックグラウンドで実行されます。ファイル システム上の不良ブロックの報告と修復を試みます。使用可能なコマンドは次のとおりです:
- btrfs スクラブ開始
- btrfs スクラブ キャンセル
- btrfs スクラブの再開
- btrfs スクラブ ステータス
1. btrfs Scrub Start コマンドを使用して、ファイル システムのすべてのデバイスまたは 1 つのデバイスでスクラブを開始します。
# btrfs scrub start /btrfs
2. スクラブ ジョブのステータスを取得するには、btrfs スクラブ ステータス コマンドを使用します。次の例には、ファイル システム内の各デバイスに関する詳細なスクラブ情報が含まれています。
# btrfs scrub status –dR /btrfs
3. btrfs Scrub cancel コマンドを使用して、実行中のスクラブ ジョブをキャンセルします。
# btrfs scrub cancel /btrfs
4. btrfs Scrub Resume コマンドを使用して、以前にキャンセルまたは中断されたスクラブを再開します。
# btrfs scrub resume /btrfs
7. btrfs ファイルシートラベル
ファイルシステムのラベルを表示するには、「btrfs filesystem label」コマンドを使用します。例:
# btrfs filesystem label /btrfs Btrfs