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
April 30, 2026
Technology
59
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
Machine Check Exception
sat
PRO
2
35
バイナリダンプの模様を読む
sat
PRO
0
68
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
54
114-ファイルのshallow_copy.pdf
sat
PRO
2
38
113-Btrfsのスナップショット.pdf
sat
PRO
0
16
システム強制終了時に ファイルシステムの整合性を保つ ~ ジャーナリング編 ~
sat
PRO
2
63
ファイルシステムの整合性を回復するfsck
sat
PRO
1
65
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
5.3k
ファイルシステムの不整合
sat
PRO
2
160
Other Decks in Technology
See All in Technology
知らん間に、回ってる
ming_ayami
0
690
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
2
750
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
160
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
240
Genie Ontologyは銀の弾丸かを考える / Is Genie Ontology a Silver Bullet?
nttcom
0
370
タスクの複雑さでモデルを選ぶ ── Thompson Samplingで動かす“トークン/コスト最適化
satohy0323
0
530
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
650
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
470
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
3.4k
Foxgloveについて 実際にExtensionを開発して公開するまでの話 / About Foxglove: The Story of Developing and Releasing an Extension
ry0_ka
0
290
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
14
2.1k
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
150
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
290
Statistics for Hackers
jakevdp
799
230k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.6k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
BBQ
matthewcrist
89
10k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
770
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
180
Designing for Performance
lara
611
70k
Bash Introduction
62gerente
615
220k
My Coaching Mixtape
mlcsv
0
170
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