dataのバックアップを行うsnapshot機能です
条件
- storage type: tokyocabinet
手順
コマンド
$ cpdb ${port No.}
- 全てのインスタンスでsnapshotを取りたい場合は、各インスタンス毎にcpdbを実行してください
例
data directory確認(snapshot前)
$ ls -l localhost_10001/roma/
total 204900
-rw-r--r-- 1 root root 20975936 Dec 15 01:15 0.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:15 1.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 2.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 3.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 4.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 5.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 6.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 7.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:17 8.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:17 9.tc
-rw-r--r-- 1 root root 0 Dec 15 01:15 lock
-rw-r--r-- 1 root root 0 Dec 14 01:15 status.log.1
snap shot実行
$ cpdb 10001
waiting for storages[roma][0] == safecopy_flushed .
copy file : /usr/local/roma/app/localhost_10001/roma/0.tc
waiting for storages[roma][0] == normal .
.
.
.
waiting for storages[roma][9] == safecopy_flushed .
copy file : /usr/local/roma/app/localhost_10001/roma/9.tc
waiting for storages[roma][9] == normal .
finished
data directory確認(snapshot後)
$ ls -l localhost_10001/roma/
total 409764
-rw-r--r-- 1 root root 20975936 Dec 15 01:15 0.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:15 0.tc.20151215011546 # snapshotファイル
-rw-r--r-- 1 root root 20975936 Dec 15 01:15 1.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:15 1.tc.20151215011556 # snapshotファイル
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 2.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 2.tc.20151215011606 # snapshotファイル
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 3.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 3.tc.20151215011616 # snapshotファイル
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 4.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 4.tc.20151215011627 # snapshotファイル
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 5.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 5.tc.20151215011637 # snapshotファイル
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 6.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 6.tc.20151215011647 # snapshotファイル
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 7.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:16 7.tc.20151215011657 # snapshotファイル
-rw-r--r-- 1 root root 20975936 Dec 15 01:17 8.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:17 8.tc.20151215011707 # snapshotファイル
-rw-r--r-- 1 root root 20975936 Dec 15 01:17 9.tc
-rw-r--r-- 1 root root 20975936 Dec 15 01:17 9.tc.20151215011717 # snapshotファイル
-rw-r--r-- 1 root root 0 Dec 15 01:15 lock
-rw-r--r-- 1 root root 1714 Dec 15 01:17 status.log.1 # snapshot statusファイル
- snapshotファイルはファイル名の末尾に実行日時がappendされています
- status.logは、snapshotの実行ログです
ロジック
snapshotの処理は4つのステータスに分けられます
- :normal
- :flushing
- :flushed
- :cache cleaning