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
114-ファイルのshallow_copy.pdf
Search
Satoru Takeuchi
PRO
May 27, 2026
Technology
37
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
114-ファイルのshallow_copy.pdf
Satoru Takeuchi
PRO
May 27, 2026
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
Machine Check Exception
sat
PRO
1
13
バイナリダンプの模様を読む
sat
PRO
0
66
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
52
113-Btrfsのスナップショット.pdf
sat
PRO
0
15
システム強制終了時にファイルシステムの整合性を保つ~ コピーオンライト編 ~
sat
PRO
0
59
システム強制終了時に ファイルシステムの整合性を保つ ~ ジャーナリング編 ~
sat
PRO
2
62
ファイルシステムの整合性を回復するfsck
sat
PRO
1
64
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
5.2k
ファイルシステムの不整合
sat
PRO
2
160
Other Decks in Technology
See All in Technology
AI Agentをシステムに組み込む前にゆるく向き合ってみる
hayama17
0
200
依頼文化をやめる日 EM視点で語るPlatform EngineeringとInclusive SRE / Discussing Platform Engineering and Inclusive SRE from an EM's Perspective
shin1988
3
1.8k
AWS Summit 2026で見えたSIerにとっての Amazon Quickの位置づけ
maf_0521
0
160
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
0
170
知見・人・API・DB・予算 ─ ナイナイ尽くしだった人事データ整備 with dbt、5年間の学び
ken6377
1
150
AWS Blocks を触ってみた/first-tach-aws-blocks
fossamagna
2
140
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
250
CVE-2026-20833_脆弱性対応とAES 化について
jukishiya
0
360
初めてのDatabricks勉強会
taka_aki
2
230
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
260
“ID沼入口” - 基本とセキュリティから始める、考え続けるためのID管理技術勉強会 告知&イントロ
ritou
0
390
スタートアップにおけるアジャイルの実践について #shibuyagile
murabayashi
3
2.1k
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
720
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
330
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
200
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Context Engineering - Making Every Token Count
addyosmani
9
1k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
180
Measuring & Analyzing Core Web Vitals
bluesmoon
9
880
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
The Cult of Friendly URLs
andyhume
79
6.9k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
410
Transcript
ファイルのshallow copy May. 26th, 2026 Satoru Takeuchi X: satoru_takeuchi 1
• ファイルのデータそのものではなくデータの参照だけをコピーする機能 • snapshotをファイル単位で実現するようなもの • メジャーどころのファイルシステムではBtrfsとXFSがサポート • shallow copyが何かを実験によって説明 はなすこと
2
まずはデカいファイルを作る • VMではなく物理マシン上のシステムで実験 ◦ 📝 ホスト側のキャッシュメモリの影響を受けないようにするため ▪ そのうち別の動画で詳細を説明するかも • /mnt以下にXFSがマウントされているとする
• 1GiBのファイルを作ってキャッシュメモリを捨てる ◦ こうしないと後の実験でディスク上のデータではなくメモリ上のデータを読み書きするだけになってし まうので性能測定の意味が無くなる 3 # dd if=/dev/random of=/mnt/test.data bs=1M count=1024 oflag=sync … # echo 3 >/proc/sys/vm/drop_caches
普通のコピーの性能測定 • 以下の処理にかかる時間を測定 1. /mnt/test.dataを同じファイルシステム上の別のファイルにコピー 2. コピーするだけだとキャッシュメモリに書くだけなので、その後 fsyncシステムコールを発行してデー タをディスクに同期 4
# time (cp ––reflink=never /mnt/test.data /mnt/deep.data; xfs_io -c fsync /mnt/deep.data) real 0m9.496s user 0m0.006s sys 0m1.819s # echo 3 >/proc/sys/vm/drop_caches
shallow copyの性能測定 • 以下の処理にかかる時間を測定 1. /mnt/test.dataを同じファイルシステム上の別のファイルに shallow copy ▪ cpコマンドに--reflinkオプションを付ける
2. コピーするだけだとキャッシュメモリに書くだけなので、その後 fsyncシステムコールを発行してデー タをディスクに同期 5 # time (cp --reflink /mnt/test.data /mnt/shallow.data; xfs_io -c fsync /mnt/shallow.data) real 0m0.048s user 0m0.005s sys 0m0.009s # cmp /mnt/test.data /mnt/shallow.data # cmp /mnt/deep.data /mnt/shallow.data
それぞれの違い 6 test.dataの メタデータ test.dataの データ deep.dataの メタデータ deep.dataの データ
コピーする shallowコピー test.dataの メタデータ test.dataの データ shallow.dataの メタデータ 普通のコピー データはコピーせずリ ンクを張るだけ
その他 • shallow copyによって共有しているデータに書き込むと、更新した部分を別の場所 に保存して、その部分だけリンクを張り替える • 書き込みするたびにデータが断片化して性能劣化する ◦ 📝 そうなったときにデフラグすることもできる
• XFSはメタデータの書き換えはCoWではないのでsnapshotは作成できないが、 ファイル書き換えはCoWも使えるのでファイルのshallow copyができる 7
ext4、XFS、Btrfsの比較 • 8 ファイルシステム subvolumeなどファイルより 大きな単位の snapshot(shallow copy) ファイルのshallow copy
ext4 できない できない XFS できない できる Btrfs できる できる
まとめ • shallow copyはファイルを参照する別のファイルを作成する方法 ◦ 高速だがデータはコピーされないので冗長性は無い • XFSとBtrfsはサポートするが、ext4はサポートしない • コピーが高速といういいところばかりではなくデータ冗長度は上がらない、データが
断片化しやすいといった問題もある 9