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
48
0
Share
システム強制終了時にファイルシステムの整合性を保つ~ コピーオンライト編 ~
以下動画のスライドです
https://youtu.be/obBPGqSfbLU
Satoru Takeuchi
PRO
April 30, 2026
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
システム強制終了時に ファイルシステムの整合性を保つ ~ ジャーナリング編 ~
sat
PRO
1
54
ファイルシステムの整合性を回復するfsck
sat
PRO
1
55
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
4.5k
ファイルシステムの不整合
sat
PRO
2
150
書籍執筆での生成AIの活用
sat
PRO
2
490
ChatGPTに従って体調管理2026
sat
PRO
0
180
eBPF
sat
PRO
1
150
waruiBPF
sat
PRO
0
140
eBPFとwaruiBPF
sat
PRO
5
5.3k
Other Decks in Technology
See All in Technology
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
540
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
350
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
0
150
OpenID Connectによるサービス間連携
takesection
0
140
食べログのサーキットブレーカー導入を振り返って
atpons
1
150
組織の中で自分を経営する技術
shoota
0
230
Databricks 月刊サービスアップデート 2026年05月号
tyosi1212
0
120
なぜハノーバーメッセに行くべきなのか 〜初参加だから語れること〜
tanakaseiya
0
180
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
370
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
490
コードレビューを制するチームがソフトウェアデリバリーのフローを制す / Beyond Code Review: Distributing Its Responsibilities Across the SDLC
mtx2s
3
470
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
190
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
350
The Pragmatic Product Professional
lauravandoore
37
7.3k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
330
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
850
It's Worth the Effort
3n
188
29k
Navigating Team Friction
lara
192
16k
Documentation Writing (for coders)
carmenintech
77
5.4k
Ruling the World: When Life Gets Gamed
codingconduct
0
240
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Technical Leadership for Architectural Decision Making
baasie
3
380
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