Upgrade to Pro — share decks privately, control downloads, hide ads and more …

様々なファイルシステム

 様々なファイルシステム

以下動画のスライドです
https://youtu.be/RVQRu_KD1Oc

Avatar for Satoru Takeuchi

Satoru Takeuchi PRO

October 26, 2025
Tweet

More Decks by Satoru Takeuchi

Other Decks in Technology

Transcript

  1. Linuxのファイルシステム • Linuxカーネルに同梱されているもの ◦ 数十個 • 本体とは別にベンダなどからカーネルモジュールとして提供されているもの ◦ たくさん ◦

    メンテが活発でないと新しいカーネルでビルドできなかったりする • Filesystem in Userspace(ユーザ空間でファイルシステムを作れる機能)でサポー トするもの ◦ たくさん ◦ 一発ネタのようなものがたくさんあるので面白い ◦ ユーザ空間で動かしているので基本的に遅いと考えてよい 2
  2. なんでこんなにたくさんあるのか • あらゆる要件を完璧に満たすものがないから ◦ 機能: quota, snapshot, クラッシュ耐性, 圧縮 ◦

    性能: 読み書き、ファイル作成 /削除 ◦ スケーラビリティ: 最大ファイルシステムサイズ、ファイルシステムサイズやファイル数が大きくなっ たときの性能 • 上記以外にも要件はたくさんある 3
  3. ネットワーク越しにアクセスできるものも 4 ローカルファイルシステム (例: ext4, XFS, Btrfs) ネットワークファイルシステム (例: NFS,

    CIFS) 分散ファイルシステム (例: CephFS) node remote node プロセス local node プロセス local node プロセス …
  4. その他ファイルシステム • メモリ上に存在する ◦ tmpfs • カーネル内の情報を読み書きする ◦ procfs, sysfs,

    debugfs • 様々なサービスをファイルシステムとして見せる ◦ httpfs ◦ sshfs 5
  5. 代表的なローカルファイルシステム • ext4 ◦ スタンダード ◦ ext2,ext3からファイルシステムを作りなおさず移行可能 • XFS ◦

    こちらもスタンダード ◦ 機能面ではだいたい ext4と同じ(reflinkなど一部先進的な機能も ) ◦ スケーラビリティに優れると言われている • Btrfs ◦ 機能が豊富 ◦ 構造上、性能面でどうしても不利なところがある (例: 小さいランダムI/O、fsync) 6
  6. 一体どれを使えばいいんだ… • 基本的にはdistroのデフォルトを使えばあまり困らない ◦ とくにデスクトップ用 • 要件を満たせなければ別のものを検討して評価 ◦ たとえばファイルシステムレベルの snapshotが必須な場合、ext4は使えない

    • 性能を知りたければPhoronix便利 ◦ https://www.phoronix.com/review/linux-617-filesystems ◦ あくまでマイクロベンチマークをとっているにすぎないので、多くの場合は自分でベンチマークプログ ラムを作って性能測定する必要がある 7