Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
様々なファイルシステム
Search
Satoru Takeuchi
PRO
October 26, 2025
Technology
0
300
様々なファイルシステム
以下動画のスライドです
https://youtu.be/RVQRu_KD1Oc
Satoru Takeuchi
PRO
October 26, 2025
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
0
44
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
140
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
380
ソースを読むプロセスの例
sat
PRO
22
17k
メモリマップトファイル
sat
PRO
1
140
「Linux」という言葉が指すもの
sat
PRO
4
230
APIとABIの違い
sat
PRO
5
240
ファイルシステムへのアクセス方法
sat
PRO
0
94
ファイルシステム
sat
PRO
1
83
Other Decks in Technology
See All in Technology
Data & AIの未来とLakeHouse
ishikawa_satoru
0
720
マウントとるやつ、リリースするやつ
otsuki
1
110
フライトコントローラPX4の中身(制御器)を覗いてみた
santana_hammer
1
140
コード1ミリもわからないけど Claude CodeでFigjamプラグインを作った話
abokadotyann
1
160
Dart and Flutter MCP serverで実現する AI駆動E2Eテスト整備と自動操作
yukisakai1225
0
310
ソフトウェア開発現代史: 55%が変化に備えていない現実 ─ AI支援型開発時代のReboot Japan #agilejapan
takabow
1
1.7k
手を動かしながら学ぶデータモデリング - 論理設計から物理設計まで / Data modeling
soudai
PRO
11
3.3k
内部品質・フロー効率・コミュニケーションコストを悪化させ現場を苦しめかねない16の組織設計アンチパターン[超簡易版] / 16 Organization Design Anti-Patterns for Software Development
mtx2s
2
190
AI時代におけるドメイン駆動設計 入門 / Introduction to Domain-Driven Design in the AI Era
fendo181
0
660
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
1.3k
Claude Code 10連ガチャ
uhyo
3
650
エンジニア採用と 技術広報の取り組みと注力点/techpr1112
nishiuma
0
130
Featured
See All Featured
Designing for Performance
lara
610
69k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
BBQ
matthewcrist
89
9.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
24
1.5k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Scaling GitHub
holman
463
140k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Transcript
様々なファイルシステム Oct. 26th, 2025 Satoru Takeuchi X: satoru_takeuchi 1
Linuxのファイルシステム • Linuxカーネルに同梱されているもの ◦ 数十個 • 本体とは別にベンダなどからカーネルモジュールとして提供されているもの ◦ たくさん ◦
メンテが活発でないと新しいカーネルでビルドできなかったりする • Filesystem in Userspace(ユーザ空間でファイルシステムを作れる機能)でサポー トするもの ◦ たくさん ◦ 一発ネタのようなものがたくさんあるので面白い ◦ ユーザ空間で動かしているので基本的に遅いと考えてよい 2
なんでこんなにたくさんあるのか • あらゆる要件を完璧に満たすものがないから ◦ 機能: quota, snapshot, クラッシュ耐性, 圧縮 ◦
性能: 読み書き、ファイル作成 /削除 ◦ スケーラビリティ: 最大ファイルシステムサイズ、ファイルシステムサイズやファイル数が大きくなっ たときの性能 • 上記以外にも要件はたくさんある 3
ネットワーク越しにアクセスできるものも 4 ローカルファイルシステム (例: ext4, XFS, Btrfs) ネットワークファイルシステム (例: NFS,
CIFS) 分散ファイルシステム (例: CephFS) node remote node プロセス local node プロセス local node プロセス …
その他ファイルシステム • メモリ上に存在する ◦ tmpfs • カーネル内の情報を読み書きする ◦ procfs, sysfs,
debugfs • 様々なサービスをファイルシステムとして見せる ◦ httpfs ◦ sshfs 5
代表的なローカルファイルシステム • ext4 ◦ スタンダード ◦ ext2,ext3からファイルシステムを作りなおさず移行可能 • XFS ◦
こちらもスタンダード ◦ 機能面ではだいたい ext4と同じ(reflinkなど一部先進的な機能も ) ◦ スケーラビリティに優れると言われている • Btrfs ◦ 機能が豊富 ◦ 構造上、性能面でどうしても不利なところがある (例: 小さいランダムI/O、fsync) 6
一体どれを使えばいいんだ… • 基本的にはdistroのデフォルトを使えばあまり困らない ◦ とくにデスクトップ用 • 要件を満たせなければ別のものを検討して評価 ◦ たとえばファイルシステムレベルの snapshotが必須な場合、ext4は使えない
• 性能を知りたければPhoronix便利 ◦ https://www.phoronix.com/review/linux-617-filesystems ◦ あくまでマイクロベンチマークをとっているにすぎないので、多くの場合は自分でベンチマークプログ ラムを作って性能測定する必要がある 7
まとめ • Linuxにはたくさんファイルシステムがある • 完璧なものは存在せず、どれも一長一短 • 何を使うかは要件に照らし合わせて自分で評価して決める必要がある 8