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
July 01, 2021
Technology
0
110
バックアップと静止状態
以下動画のテキストです
https://youtu.be/SIlS8pQWfnc
Satoru Takeuchi
PRO
July 01, 2021
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
「Linux」という言葉が指すもの
sat
PRO
4
130
APIとABIの違い
sat
PRO
5
62
ファイルシステムへのアクセス方法
sat
PRO
0
26
ファイルシステム
sat
PRO
1
34
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.1k
ポーリングと割り込み
sat
PRO
1
81
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
140
会社員しながら本を書いてきた知見の共有
sat
PRO
3
880
デバイスにアクセスするデバイスファイル
sat
PRO
1
62
Other Decks in Technology
See All in Technology
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
280
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
240
2025年夏 コーディングエージェントを統べる者
nwiizo
0
140
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
160
生成AIでセキュリティ運用を効率化する話
sakaitakeshi
0
660
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
270
サンドボックス技術でAI利活用を促進する
koh_naga
0
200
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
170
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.7k
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
110
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
220
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Code Reviewing Like a Champion
maltzj
525
40k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Navigating Team Friction
lara
189
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
KATA
mclloyd
32
14k
4 Signs Your Business is Dying
shpigford
184
22k
Transcript
バックアップと静止点 Jul. 1st, 2021 Satoru Takeuchi twitter: satoru_takeuchi, EnSatoru 1
バックアップの課題 • バックアップはいつでも取っていいというわけではない ◦ バックアップ中のデータは変化しうる • 例: 以下ディレクトリdir0のバックアップをとる 2 foo
bar dir0 file0 file1
理想的なケース 3 foo bar dir0 file0 file1 foo bar dir0
file0 file1 foo bar dir0 file0 file1 foo dir0.bak file0 foo bar dir0.bak file0 file1 コピー開始 file0をコピー file1をコピー
まずいケース 4 foo bar dir0 file0 file1 foo bar dir0
file0 file1 foo baz dir0 file0 file1 dir0.bak foo baz dir0.bak file0 file1 バックアップ開始 file0をコピー file1をコピー foo baz dir0 file0 file1 foo dir0.bak file0 別のプロセスが file1を更新 foo file0
まずいケース 5 foo bar dir0 file0 file1 foo bar dir0
file0 file1 foo baz dir0 file0 file1 dir0.bak foo baz dir0.bak file0 file1 バックアップ開始 file0をコピー file1をコピー foo baz dir0 file0 file1 foo dir0.bak file0 別のプロセスが file1を更新 foo file0 • 正しいデータをバックアップでき ていない
もっとまずいケース 6 foo bar dir0 file0 file1 コピー開始 file0を途中(“fo”)ま でコピー
file0の残りとfile1をコピー foo bar dir0 file0 file1 fo dir0.bak file0 別のプロセスがfile0 を”baz”に書き換え baz bar dir0 file0 file1 fo dir0.bak file0 baz bar dir0 file0 file1 foz dir0.bak file0 bar file1
もっとまずいケース 7 foo bar dir0 file0 file1 コピー開始 file0を途中(“fo”)ま でコピー
file0の残りとfile1をコピー foo bar dir0 file0 file1 fo dir0.bak file0 別のプロセスがfile0 を”baz”に書き換え baz bar dir0 file0 file1 fo dir0.bak file0 baz bar dir0 file0 file1 foz dir0.bak file0 • 正しいデータをバックアップでき ていない • file0の中身に不整合発生 bar file1
解決策 • バックアップ時にはデータを誰も更新しない状態にする ◦ 静止点(quiescent point)、静止状態(quiescent state)などと呼ぶ • バックアップが終われば更新再開 •
静止点を作るための機能もある ◦ 例: Linuxのファイルシステムにおける fsfreezeコマンド 1. fsfreeze -f <mount point> # 静止点を作る(freeze)。以後のwriteはブロックされる 2. cp -a <mount point> backup # バックアップをとる 3. fsfreeze -u <mount point> # データ更新再開 8 時間 データ更新可 不可 可 バックアップ開始! 終了!
さらなる課題 • データ量が増えるほど静止点を保持しなければならない時間が長くなる ◦ その間データの更新ができない 9 時間 データ更新可 小さなデータの場合 不可
可 大きなデータの場合 データ更新可 不可 可 バックアップ開始! 終了!ちょっと辛かった! バックアップ開始! 終了!すげえ辛かった!
まとめ • バックアップはいつ取ってもいいというわけではない • データを更新しない静止点を作った上で採取する必要がある • データ量が多いほど静止点を保持する時間が長くなるので辛い ◦ 📝 解決策は今後の動画で
! 10