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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Satoru Takeuchi
PRO
April 30, 2026
Technology
69
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
119-多機能ファイルシステムBtrfs_のコピー.pdf
sat
PRO
1
42
Linuxカーネルの インタフェースは変わりうる?
sat
PRO
1
72
あなたの知らないバージョン命名規則
sat
PRO
2
840
Rook: Intro and Deep Dive with Ceph
sat
PRO
1
60
Machine Check Exception
sat
PRO
2
57
バイナリダンプの模様を読む
sat
PRO
0
84
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
76
114-ファイルのshallow_copy.pdf
sat
PRO
2
47
113-Btrfsのスナップショット.pdf
sat
PRO
0
34
Other Decks in Technology
See All in Technology
Kiro Crew で始める マルチエージェント開発
miu_crescent
PRO
0
200
dbt in Microsoft Fabric
ryomaru0825
0
290
Windows の互換機能 - 古いプログラムはなぜ動作できるのか
murachiakira
PRO
0
120
500名弱規模の組織のPythonプロジェクト(dbt) をどう管理するか?
hiracky16
0
330
atproto spaces概要
yamarten
0
110
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
4
970
Kiro WebとCloud Sessions
nagisa53
2
220
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
0
130
AI時代のアウトプット――変わったこと、変わらないこと / Devsumi 2026 Kansai #devsumi
jnchito
0
600
MCPを待つな、パスキーを拡げよう(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
320
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
780
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Ruling the World: When Life Gets Gamed
codingconduct
0
310
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Evolving SEO for Evolving Search Engines
ryanjones
0
260
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Automating Front-end Workflow
addyosmani
1369
210k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
390
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