はじめに
Vertica7.2より、バックアップの正常性をチェックすることができます。有事に備えて取得した筈のバックアップが破損していると、データベースの復旧ができない事態に陥いるのでバックアップに問題がないか、チェックすることをお勧めします。
正常性の確認方法
バックアップの正常性を確認する方法には「quickモード」と「fullモード」の2つがあります。
quickモード
backup_manifestファイルの内容とバックアップディレクトリ構成を比較します。quickモードは、オブジェクト自体のチェックはしません。
■構文
$ vbr -t quick-check -c config.ini
オプション | 説明 |
|---|---|
-t quick-check | quickモードでバックアップのチェックを実行 |
-c config.ini | バックアップの設定ファイルを指定 |
■実行例
//正常時
$ vbr -t quick-check -c backup_snapshot.ini
Checking backup consistency.
List all snapshots in backup location:
Snapshot name and restore point: backup_snapshot_20170208_084939, nodes:['v_testdb_node0001'].
Backup consistency check complete.fullモード
quickモードの内容にくわえて、backup_manifestファイルに記載されている全オブジェクトの状態をチェックします。fullモードは、以下の内容をチェックします。
・不完全な復元ポイント
・復元ポイントの損傷
・不足しているバックアップファイル
・参照されていないファイル
■構文
$ vbr -t full-check -c configfile.ini --report-file=path/filename
オプション | 説明 |
|---|---|
-t full-check | fullモードでバックアップのチェックを実行 |
-c configfile.ini | バックアップの設定ファイルを指定 |
--report-file=path/filename | full-checkのみ有効。実行結果を出力先するファイルを指定 |
■実行例
//正常時
$ vbr -t full-check -c backup_snapshot.ini --report-file=/data/bkup/full_check.log
Checking backup consistency.
List all snapshots in backup location:
Snapshot name and restore point: backup_snapshot_20181105_092433, nodes:['v_ssbm_node0001'].
Regenerating backup manifest for location rsync://[srv1]:50000/data/dbadmin/bkup
Snapshots that have missing objects(hint: use 'vbr --task remove' to delete these snapshots):
Backup locations have 0 unreferenced objects
Backup locations have 0 missing objects
Backup consistency check complete.
//異常時
$ cd /data/bkup/
$ ls -l
合計 20
drwxr-xr-x 30 dbadmin verticadba 4096 2月 9 13:15 2017 Objects
drwxr-xr-x 3 dbadmin verticadba 4096 2月 8 17:49 2017 Snapshots
-rw-r--r-- 1 dbadmin verticadba 2909 2月 9 12:43 2017 backup_manifest
-rw-r--r-- 1 dbadmin verticadba 502 2月 8 17:48 2017 backup_snapshot.ini
-rw------- 1 dbadmin verticadba 33 2月 8 17:48 2017 backup_snapshot.pass
$ cd Objects
$ mv 997 _997 //★オブジェクトが格納されているディレクトリ名を変更
$ ls -l Objects
合計 213352
-rw-r--r-- 1 dbadmin verticadba 41191424 2月 8 17:49 2017 021238994088ac9c0d51e7b1350a97be00a000000000421e.tar
-rw-r--r-- 1 dbadmin verticadba 2711552 2月 8 17:49 2017 021238994088ac9c0d51e7b1350a97be00a0000000004362.tar
-rw-r--r-- 1 dbadmin verticadba 49608192 2月 8 17:49 2017 021238994088ac9c0d51e7b1350a97be00a00000000043c8.tar
-rw-r--r-- 1 dbadmin verticadba 7261696 2月 8 17:49 2017 021238994088ac9c0d51e7b1350a97be00a00000000044a0.tar
-rw-r--r-- 1 dbadmin verticadba 3972096 2月 8 17:49 2017 021238994088ac9c0d51e7b1350a97be00a00000000044de.tar
-rw-r--r-- 1 dbadmin verticadba 67152896 2月 8 17:49 2017 021238994088ac9c0d51e7b1350a97be00a0000000004550.tar
-rw-r--r-- 1 dbadmin verticadba 17380352 2月 8 17:49 2017 021238994088ac9c0d51e7b1350a97be00a000000000491a.tar
-rw-r--r-- 1 dbadmin verticadba 15113728 2月 8 17:49 2017 021238994088ac9c0d51e7b1350a97be00a000000000495e.tar
-rw-r--r-- 1 dbadmin verticadba 10679808 2月 8 17:49 2017 021238994088ac9c0d51e7b1350a97be00a0000000004a9e.tar
-rw-r--r-- 1 dbadmin verticadba 3271168 2月 8 17:49 2017 021238994088ac9c0d51e7b1350a97be00a0000000004ade.tar
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 033
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 035
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 037
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 039
drwxr-x--- 3 dbadmin verticadba 4096 2月 8 17:49 2017 041
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 043
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 045
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 047
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 049
drwxr-x--- 3 dbadmin verticadba 4096 2月 8 17:49 2017 091
drwxr-x--- 3 dbadmin verticadba 4096 2月 8 17:49 2017 147
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 499
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 501
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 503
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 505
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 507
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 509
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 511
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 513
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 515
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 517
drwxr-x--- 3 dbadmin verticadba 4096 2月 8 17:49 2017 973
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 977
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 981
drwxr-x--- 3 dbadmin verticadba 4096 2月 8 17:49 2017 985
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 989
drwxr-x--- 2 dbadmin verticadba 4096 2月 8 17:49 2017 995
drwxr-x--- 3 dbadmin verticadba 4096 2月 8 17:49 2017 _997 //★ディレクトリ名の変更を確認
//full checkコマンドの実行
$ vbr -t full-check -c backup_snapshot.ini --report-file=/data/bkup/full_check.log
Checking backup consistency.
List all snapshots in backup location:
Snapshot name and restore point: backup_snapshot_20181105_092433, nodes:['v_ssbm_node0001'].
Regenerating backup manifest for location rsync://[srv1]:50000/data/dbadmin/bkup
Snapshots that have missing objects(hint: use 'vbr --task remove' to delete these snapshots):
Snapshot name: backup_snapshot, restore point: 20181105_092433
Backup locations have 0 unreferenced objects
Backup locations have 1 missing objects //★オブジェクトのチェックで失敗
Backup consistency check complete.
$ more full_check.log
{"kind": "bad_restore_point", "snapshot_name": "backup_snapshot", "archive": "20181105_092433", "missing_file_counts": {"rsync://[kurasrv1]:50000/data/dbadmin/bkup": 1}}
{"file_name": "['457/024cd5e970db96983259c0a1b437b1f400a00000000001f1/024cd5e970db96983259c0a1b437b1f400a00000000001f1_0_0.dfs']", "kind": "missing_file", "backup_location": "rsync://[kurasrv1]:50000/data/dbadmin/bkup", "restore_points": [{"snapshot_name": "backup_snapshot", "archive": "20181105_092433", "node_name": "v_ssbm_node0001"}]}参考情報
バックアップ・リストアのまとめ記事
https://www.ashisuto.co.jp/cm/analytics-database/backup-restore-summary.html
検証バージョンについて
この記事の内容はVertica 9.1で確認しています。