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
95
様々なファイルシステム
以下動画のスライドです
https://youtu.be/RVQRu_KD1Oc
Satoru Takeuchi
PRO
October 26, 2025
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
79
ソースを読むプロセスの例
sat
PRO
15
9.8k
メモリマップトファイル
sat
PRO
1
120
「Linux」という言葉が指すもの
sat
PRO
4
210
APIとABIの違い
sat
PRO
5
180
ファイルシステムへのアクセス方法
sat
PRO
0
76
ファイルシステム
sat
PRO
1
69
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.2k
ポーリングと割り込み
sat
PRO
1
130
Other Decks in Technology
See All in Technology
Zephyr(RTOS)にEdge AIを組み込んでみた話
iotengineer22
1
280
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
クラウドとリアルの融合により、製造業はどう変わるのか?〜クラスメソッドの製造業への取組と共に〜
hamadakoji
0
360
AI-Readyを目指した非構造化データのメダリオンアーキテクチャ
r_miura
1
280
AI時代の開発を加速する組織づくり - ブログでは書けなかったリアル
hiro8ma
1
260
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
2
1.9k
OCIjp_Oracle AI World_Recap
shinpy
1
160
GraphRAG グラフDBを使ったLLM生成(自作漫画DBを用いた具体例を用いて)
seaturt1e
1
110
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
9k
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
2
3.7k
「魔法少女まどか☆マギカ Magia Exedra」におけるバックエンドの技術選定
gree_tech
PRO
0
110
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
190
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
930
Documentation Writing (for coders)
carmenintech
75
5.1k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Navigating Team Friction
lara
190
15k
Rails Girls Zürich Keynote
gr2m
95
14k
Thoughts on Productivity
jonyablonski
70
4.9k
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