ファイルシステム
CachyOS は5種類のファイルシステムに対応しており、自分の用途に合ったものをえらぶことができます。ここではそれぞれのファイルシステムのメリットやデメリット、そしてどんな人におすすめかを説明します。各ファイルシステムに必要なツールは CachyOS にプリインストールされています。
XFS は Silicon Graphics, Inc. が開発したジャーナリングファイルシステムです。1993 年に開発、2001 年に Linux に移植され、現在ほとんどの Linux ディストリビューションで広くサポートされています。
- 速度と極限のスケーラビリティを考えて設計
- 信頼性が高く、データの破損を防ぐためにさまざまな技術を搭載
- エクステントベースの設計と遅延アロケーション手法により、断片化に強い
- サイズの縮小不可
ユーザー空間ツール
Section titled “ユーザー空間ツール”XFS ファイルシステムを管理するユーザー空間ツールを含むパッケージは xfsprogs です。
どんな人におすすめ?
Section titled “どんな人におすすめ?”XFS は高度な機能を必要とせず、シンプルで高速かつ信頼性の高いファイルシステムを求めるユーザーにおすすめです。
BTRFS は 2007 年に作られ、2013 年に Linux カーネルで安定したと宣言されたモダンなコピーオンライト (COW) ファイルシステムです。広くサポートされており、たくさんの高度な機能があることで知られています。
- 透過的な圧縮あり
- BTRFS はユーザーの操作なしにファイルを透過的に圧縮し、大幅な容量節約を実現します。CachyOS ではデフォルトで ZSTD 圧縮レベル 3 が適用されています。
- スナップショット機能あり
- BTRFS は COW の特性を活かし、ディスク容量をほとんど消費することなくサブボリュームのスナップショットを作成できます。
- サブボリューム機能によってファイルシステムを細かく管理可能
- 拡張・縮小が可能
- 開発が活発につづいている
- デフラグやバランシングが必要な場合あり
- 前述の断片化により、回転式ドライブでの性能低下あり
ユーザー空間ツール
Section titled “ユーザー空間ツール”Btrfs のユーザー空間ツールパッケージは btrfs-progs です。
サブボリューム構成
Section titled “サブボリューム構成”CachyOS ではスナップショット機能をすぐに使えるように、標準でサブボリューム構成を提供しています。
- Subvol @ = /
- Subvol @home = /home
- Subvol @root = /root
- Subvol @srv = /srv
- Subvol @cache = /var/cache
- Subvol @tmp = /var/tmp
- Subvol @log = /var/log
どんな人におすすめ?
Section titled “どんな人におすすめ?”BTRFS はスナップショット/バックアップ機能と透過的な圧縮を必要とするユーザーにおすすめです。
EXT4 (第4拡張ファイルシステム) は最も広く使われている Linux ファイルシステムです。EXT4 は 2008 年に Linux カーネルで安定となりました。
- 状況によって XFS と同等以上の速度を発揮
- たくさんの人にえらばれており、豊富なリソースへのアクセスが容易
- 本当に信頼性が高く、長年にわたる実績あり
- 拡張・縮小が可能
- 縮小はオフラインでのみサポートされており、ファイルシステムのアンマウントが必要です。
- ほかのファイルシステムにはある高度な機能が少ない
ユーザー空間ツール
Section titled “ユーザー空間ツール”ext4 を管理するパッケージは e2fsprogs です。
どんな人におすすめ?
Section titled “どんな人におすすめ?”EXT4 はもっともシンプルで一般的なファイルシステムを求めるユーザーにおすすめです。
ZFS は 2005 年に Sun Microsystems によって開発された高機能なファイルシステムです。多くの機能がありますが、CDDL ライセンスのため Linux カーネルに含めることができず、別途モジュールのインストールが必要です。
- プールストレージ (zpool)
- COW によるスナップショット
- 圧縮
- Raid-Z 対応
- ARC キャッシュにより、頻繁にアクセスするファイルの読み取りがとても高速
- zpool や ARC などの機能により、使いこなすのが大変
- ARC を効果的に使うには大量の RAM が必要
- Linux カーネルに含まれていないため、サードパーティのカーネルモジュール (OpenZFS) に依存
- リアルタイムプリエンプションと互換性なし
必要なツール
Section titled “必要なツール”CachyOS は各カーネルバージョン向けにコンパイル済みの ZFS モジュールを提供しています。
ユーザー空間ツールとして zfs-utils が必要です。
どんな人におすすめ?
Section titled “どんな人におすすめ?”ZFS はプールストレージや ARC キャッシュなどの高度な機能を活用したい上級者向けです。
F2FS (Flash-Friendly File System) は Samsung が Linux カーネル向けに開発したフラッシュファイルシステムです。現代のストレージに使われている NAND フラッシュに特化して設計されています。
- フラッシュフレンドリーな設計
- 透過的な圧縮によりディスク書き込みを削減 (現時点ではユーザーが容量節約の恩恵を受けることはできない)
- ウェアレベリングが優秀なため、NAND フラッシュの寿命を保てる
- サイズの縮小不可
- 現時点で圧縮による容量節約はユーザーは利用不可、将来的に追加される可能性あり
- fsck (ファイルシステムチェック) が比較的弱い
- ファイルシステムを作成したカーネルより古いバージョンにダウングレードすると問題が発生する場合あり
- MBR/BIOS システムで GRUB と併用する場合に回避策が必要
ユーザー空間ツール
Section titled “ユーザー空間ツール”F2FS の主なツールは f2fs-tools です。
どんな人におすすめ?
Section titled “どんな人におすすめ?”- F2FS は NAND フラッシュデバイスの寿命をできるだけ伸ばしたいユーザーにおすすめです。
- MBR/BIOS システムで F2FS を使う場合は、GRUB のような回避策が不要な Limine を推奨します。
安定していてスナップショットや圧縮など便利な機能が充実しているデフォルトの BTRFS を使ってください。シンプルで高速なファイルシステムが必要なら XFS または EXT4 をえらんでください。