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
98
様々なファイルシステム
以下動画のスライドです
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
82
ソースを読むプロセスの例
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
Digitization部 紹介資料
sansan33
PRO
1
5.6k
Copilot Studio ハンズオン - 生成オーケストレーションモード
tomoyasasakimskk
0
200
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
それでも私が品質保証プロセスを作り続ける理由 #テストラジオ / Why I still continue to create QA process
pineapplecandy
0
170
Claude Code Subagents 再入門 ~cc-sddの実装で学んだこと~
gotalab555
10
17k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
ヘンリー会社紹介資料(エンジニア向け) / company deck for engineer
henryofficial
0
320
[VPoE Global Summit] サービスレベル目標による信頼性への投資最適化
satos
0
210
OCIjp_Oracle AI World_Recap
shinpy
1
160
会社を支える Pythonという言語戦略 ~なぜPythonを主要言語にしているのか?~
curekoshimizu
3
560
QA業務を変える(!?)AIを併用した不具合分析の実践
ma2ri
0
110
「改善」ってこれでいいんだっけ?
ukigmo_hiro
0
410
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Code Review Best Practice
trishagee
72
19k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Scaling GitHub
holman
463
140k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Gamification - CAS2011
davidbonilla
81
5.5k
Rails Girls Zürich Keynote
gr2m
95
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Site-Speed That Sticks
csswizardry
13
920
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