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
43
ソースコードを読むときの思考プロセスの例 ~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
Datadog On-Call と Cloud SIEM で作る SOC 基盤
kuriyosh
0
160
Flutterで実装する実践的な攻撃対策とセキュリティ向上
fujikinaga
1
320
CDKの魔法を少し解いてみる ― synth・build・diffで覗くIaCの裏側 ―
takahumi27
1
110
Claude Code 10連ガチャ
uhyo
3
650
機密情報の漏洩を防げ! Webフロントエンド開発で意識すべき漏洩パターンとその対策
mizdra
PRO
3
320
re:Invent完全攻略ガイド
junjikoide
1
260
ググるより、AIに聞こう - Don’t Google it, ask AI
oikon48
0
820
What's the recommended Flutter architecture
aakira
1
880
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
2
770
[JDDStudy #10] 社内Agent勉強会の取り組み紹介
yp_genzitsu
1
130
コード1ミリもわからないけど Claude CodeでFigjamプラグインを作った話
abokadotyann
1
160
どうなる Remix 3
tanakahisateru
2
350
Featured
See All Featured
How to Ace a Technical Interview
jacobian
280
24k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Automating Front-end Workflow
addyosmani
1371
200k
The Pragmatic Product Professional
lauravandoore
36
7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
How to train your dragon (web standard)
notwaldorf
97
6.4k
GraphQLとの向き合い方2022年版
quramy
49
14k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
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