はじめに

Vertica 7.2でvbr.pyを使ってデータベースをバックアップする際に、backup_manifestというファイルが作成されます。今回は、このbackup_manifestファイルの役割や扱い方をご紹介致します。
(このファイルはVertica 7.2で新しく登場したファイルです)


ファイルの役割

backup_manifestファイルは、バックアップしたデータの情報を管理する役割があります。
バックアップしたオブジェクトは何か、どのノードで取得したかといった情報をマッピングしています。そのため、バックアップを取得する度に内容が更新されます。

このファイルはバックアップの取得時、あるいはリストア時にvbr.pyによって参照されます。
そのため、バックアップやリストアを実行する際に必要となるファイルですので、誤って削除しないように注意が必要です。

また、Verticaデータベースのバックアップ運用で二次バックアップを取得するケースでは、
一次バックアップで取得したバックアップデータと一緒にbackup_manifestファイルも取得するようにしてください。

ファイルの場所

backup_manifestファイルは、バックアップデータが出力されるディレクトリのトップディレクトリに作成されます。
Vertica 7.2では、バックアップの初期設定で初回のバックアップを開始する前に、「vbr.py -t init」コマンドで初期化する事が必須ですが、この初期化のタイミングでbackup_manifestファイルが作成されます。

また、複数台構成のVerticaクラスタで各ノードのローカルディスクにバックアップを出力する場合は、backup_manifestファイルは各ノードのローカルディスクに保存されます。

ファイルの内容

このファイルの中には、2つのセクション(SnapshotsとObjects)に分類した状態でマッピング情報を持っています。
それぞれのセクションにどのような情報が記録されるのかを以下に記載します。

Snapshots

スナップショット名、バックアップ取得日、どのノードで取得したバックアップか、
といった情報が記録されます。


Objects

バックアップされたデータベースオブジェクトのリスト(テーブルやスキーマなど)、その形式(fdb、古いpidx、新しいpidx、bundle、DFSファイル、ライブラリ)と情報がユニークに識別されて記録されます。

backup_manifestファイルのサンプル


[Snapshots]
ssbm_db_full, 20160205_113739, v_ssbm_node0001
ssbm_db_full, 20160205_061717, v_ssbm_node0001
ssbm_db_full, 20160205_060908, v_ssbm_node0001
ssbm_db_full, 20160205_060541, v_ssbm_node0001
ssbm_db_full, 20160205_005458, v_ssbm_node0001
ssbm_db_full, 20160204_121325, v_ssbm_node0001

[Objects]
024860a85e6c4919c1a9f7bf79bdd33b00a0000000007f5a, lib, 6, 3585536, 0
024860a85e6c4919c1a9f7bf79bdd33b00a0000000007fcc, lib, 6, 11796992, 0
024860a85e6c4919c1a9f7bf79bdd33b00a000000000800a, lib, 6, 10653696, 0
024860a85e6c4919c1a9f7bf79bdd33b00a0000000008061, dfsblock, 6, 144, 28253caac6095
024860a85e6c4919c1a9f7bf79bdd33b00a000000000806d, dfsblock, 6, 33, a16fb53edc0
024860a85e6c4919c1a9f7bf79bdd33b00a0000000008097, dfsblock, 6, 144, 28253caac6095
024860a85e6c4919c1a9f7bf79bdd33b00a00000000080c7, dfsblock, 6, 132, 28253caac5933
024860a85e6c4919c1a9f7bf79bdd33b00a00000000080fd, dfsblock, 6, 114, 28253caaef906
024860a85e6c4919c1a9f7bf79bdd33b00a000000000813a, lib, 6, 2443264, 0
024860a85e6c4919c1a9f7bf79bdd33b00a00000000081a0, lib, 6, 9491456, 0
024860a85e6c4919c1a9f7bf79bdd33b00a00000000081d8, lib, 6, 12050432, 0
024860a85e6c4919c1a9f7bf79bdd33b00a00000000082ea, lib, 6, 10247168, 0
024860a85e6c4919c1a9f7bf79bdd33b00a000000000f289, bundle, 6, 567483, 0
024860a85e6c4919c1a9f7bf79bdd33b00a000000000f28f, bundle, 6, 2398466, 0
024860a85e6c4919c1a9f7bf79bdd33b00a000000000f293, bundle, 6, 1630450, 0
024860a85e6c4919c1a9f7bf79bdd33b00a000000000f295, bundle, 6, 4020124, 0
024860a85e6c4919c1a9f7bf79bdd33b00a000000000f299, bundle, 6, 24341, 0
024860a85e6c4919c1a9f7bf79bdd33b00a000000000f2bd, bundle, 6, 13412, 0

検証バージョンについて

この記事の内容はVertica 7.2で確認しています。


以上