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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Satoru Takeuchi
PRO
April 30, 2026
Technology
63
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
システム強制終了時にファイルシステムの整合性を保つ~ コピーオンライト編 ~
以下動画のスライドです
https://youtu.be/obBPGqSfbLU
Satoru Takeuchi
PRO
April 30, 2026
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
Rook: Intro and Deep Dive with Ceph
sat
PRO
1
43
Machine Check Exception
sat
PRO
2
51
バイナリダンプの模様を読む
sat
PRO
0
71
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
58
114-ファイルのshallow_copy.pdf
sat
PRO
2
42
113-Btrfsのスナップショット.pdf
sat
PRO
0
23
システム強制終了時に ファイルシステムの整合性を保つ ~ ジャーナリング編 ~
sat
PRO
2
69
ファイルシステムの整合性を回復するfsck
sat
PRO
1
75
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
5.8k
Other Decks in Technology
See All in Technology
Webアクセシビリティ入門 2026
recruitengineers
PRO
2
460
【CEDEC2026】『ウマ娘 プリティーダービー』 英語版のキャラクターの方言や口調をローカライズするための創造的アプローチ
cygames
PRO
1
200
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.7k
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
150
Cursor Meetup Sapporo - Cursor物語 続編
cocacola917
0
140
GitHub CopilotのFinOps- AI CreditのObservabilityと価値を生むためのエージェント設計
yuriemori
0
140
TypeScript入門 2026
recruitengineers
PRO
2
490
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
330
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
2
210
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
Forza Horizon 6 のテレメトリ機能で 自動運転に使えそうな学習データを集める話
henjin0
0
150
事業価値と Engineering 2026年度版
recruitengineers
PRO
43
22k
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
1
480
Code Review Best Practice
trishagee
74
20k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Designing Experiences People Love
moore
143
24k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
400
Crafting Experiences
bethany
1
240
Transcript
システム強制終了時に ファイルシステムの整合性を保つ ~ コピーオンライト編 ~ May. 1st, 2026 Satoru Takeuchi
X: satoru_takeuchi 1
• CoW(Copy-on-Write)とも表記される • システムの異常終了時に発生するファイルシステムの不整合状態から回復する ファイルシステムの機能の一つ ◦ モダンなファイルシステムでは Btrfsがサポート ◦ 📝
XFSもファイル単位だけではコピーオンライトをサポート コピーオンライト 2
コピーオンライトの流れ 1. ユーザから変更要求が来る 2. 変更後のデータを変更前のデータとは別の場所に書き込む 3. データへのリンクを古いデータから新しいデータへ張り替える 4. 変更前のデータを捨てる 3
コピーオンライトの流れ: 通常のケース • 以下の状況で”mv bar foo”コマンドを実行する ◦ ファイルシステムはコピーオンライト機能をサポート / foo
bar huga hoge 見える
更新後のリンクを持つディレクトリを作る / foo bar huga hoge foo / 見える 見えない
データはあるが ユーザからは見えない
ユーザから見えるルートディレクトリを変更 / foo bar huga hoge foo / 見えない データはあるが
ユーザからは見えない 見える
古いデータを削除 • 📝 非同期で消すこともある / foo bar huga hoge foo
/ 見える
これで完了 • ちょっと見づらいが期待通りのリンク関係になっていることがわかる bar huga hoge foo / 見える
コピーオンライトの流れ: システムが異常終了する場合 • 以下の状況で”mv bar foo”コマンドを実行する ◦ ファイルシステムはコピーオンライト機能をサポート / foo
bar huga hoge 見える
更新後のリンクを持つディレクトリを作る / foo bar huga hoge foo / 見える 見えない
データはあるが ユーザからは見えない
ここでシステムが異常終了 / foo bar huga hoge foo / 見える 見えない
データはあるが ユーザからは見えない 異常終了
再起動後 / foo bar huga hoge foo / 見える 見えない
データはあるが ユーザからは見えない
誰からも参照されていないデータを捨てる • 📝 非同期で消すこともある / foo bar huga hoge foo
/ 見える 見えない
整合性のある状態が保たれている / foo bar huga hoge 見える
その他諸々 • 一瞬でとれるスナップショットなどの様々な機能を実装しやすい ◦ そのうち別の動画で紹介するかも • 細かい書き込みが続くとデータが断片化して性能が落ちがち ◦ とくにランダムI/Oに弱いHDD •
ジャーナリングとどちらが優れているかは一概には言えない 15
まとめ • コピーオンライトはシステムの強制終了時にファイルシステムの整合性を保つ機能 の一つ • データの変更は元のデータを更新するのではなく、新しいデータを作った後にデー タへのリンクを張り替える • ジャーナリングとコピーオンライトは一長一短あり、一概にどちらが良いとは言えな い
16