ここでは、管理サーバのオンラインバックアップについて説明します。
管理サーバのオンラインバックアップでは、メータリングのデータベースのバックアップにPostgreSQLのPITR(Point In Time Recovery)の仕組みを利用しています。
PITRを使ったバックアップ・リストアでは、以下の2つの資産をバックアップおよびリストアします。
ベースバックアップ
ベースバックアップは、データベースクラスタ(データベースのデータが記録されるファイル群)全体をバックアップしたものです。
WALファイル
WAL(Write Ahead Logging)ファイルとは、データベースへの更新内容が記録されるファイルです。
上記2つの資産のバックアップは、対応する2つのバックアップ方式(ベースバックアップ・差分バックアップ)のコマンド実行時にそれぞれ取得されます。
PITRを使ったバックアップ・リストアの資産は、コマンド実行時に指定したバックアップ先とは関係なく、設定ファイルで指定しているディレクトリに保存されます。設定方法の詳細は、「10.1.5 メータリングのオンラインバックアップの設定」を参照してください。
管理サーバのオンラインバックアップの2つのバックアップ方式について、それぞれ以下に説明します。
ベースバックアップ
ベースバックアップとは、データベースクラスタ(データベースのデータが記録されるファイル群)全体をバックアップするものです。
以下のコマンドを実行します。
コマンドの詳細は、「リファレンスガイド (コマンド/XML編) CE」の「6.6 rcxmgrbackup」を参照してください。
>インストールフォルダー\SVROR\Manager\bin\rcxmgrbackup -dir directory -base [-cleanup] <RETURN>
# /opt/FJSVrcvmr/bin/rcxmgrbackup -dir directory -base [-cleanup] <RETURN>
注意
バックアップコマンドが正常終了しない場合がありますので、以下の操作は行わないでください。
バックアップコマンド実行中のCtrl+Cによる強制終了
バックアップコマンド実行中のマネージャーの停止
上記の操作を行った場合、状況に応じて、以下の対処が必要になります。
次回以降のベースバックアップが正常終了しない場合は、以下のコマンドを実行してください。
このコマンドを実行すると、ベースバックアップが正常終了するようになります。
コマンドの詳細は、「リファレンスガイド (コマンド/XML編) CE」の「13.3 ctmg_resetbackuperror (ベースバックアップエラーの復旧)」を参照してください。
インストールフォルダー\RCXCTMG\bin\ctmg_resetbackuperror.bat
処理結果は、標準出力に出力されます。
処理結果の内容とその意味を以下に示します。
処理結果 | 復帰値 | メッセージ |
---|---|---|
正常終了 | 0 | Successfully reset the base-backup error. |
エラー | 0以外 | Failed to reset the base-backup error. |
マネージャーの起動に失敗する場合
上記コマンド(ctmg_resetbackuperror)を実行しないでしばらく運用を続けてからマネージャーを停止すると、以降のマネージャーの起動に失敗する場合があります。このとき、以下のようにデータベースのログファイルにエラーメッセージが出力されます。
データベースのログファイル
インストールフォルダー\RCXCTMG\Charging\log\psql-nn.log (注)
注) "nn"部分は、ログが出力された日を表す2ケタの数字です。
エラーメッセージ
例) アクセス制御のデータベースの起動が失敗した場合
LOG: could not open file "pg_xlog/xxxxxxxx" (log file 0, segment xx): No such file or directory (注) LOG: invalid checkpoint record PANIC: could not locate required checkpoint record HINT: If you are not restoring from a backup, try removing the file "C:/Fujitsu/ROR/RCXCTMG/Charging/pgsql/data/backup_label".
注) ログの"xxxxxxxx"および"xx"部分は、不定です。
このような場合は、以下のファイルを削除してください。このファイルを削除すると、マネージャーの起動が正常終了するようになります。
インストールフォルダー\RCXCTMG\Charging\pgsql\data\backup_label
差分バックアップ
データベースへ更新内容は、16MBのサイズごとに複数のファイルに出力されます。
このファイルをWAL(Write Ahead Logging)ファイルと呼びます。
通常、16MB書き込まれるごとに、書込み対象のWALファイルが切り替わり、書込みが完了したWALファイルはバックアップディレクトリ配下の"wal"ディレクトリに退避されます。
rcxmgrbackupコマンドを実行します。
rcxmgrbackupコマンドを定期的に実行することで、退避されたWALファイルに記録されるデータベースの更新内容を一定期間維持できます。たとえば、1時間ごとにrcxmgrbackupコマンドを実行すると、最新の1時間以内の更新内容まで退避されます。
コマンドの詳細は、「リファレンスガイド (コマンド/XML編) CE」の「6.6 rcxmgrbackup」を参照してください。
>インストールフォルダー\SVROR\Manager\bin\rcxmgrbackup -dir directory [-cleanup] <RETURN>
# /opt/FJSVrcvmr/bin/rcxmgrbackup -dir directory [-cleanup] RETURN>
定期実行を実施する前に、以下の項目を決定する必要があります。
項目 | 決定事項 |
---|---|
ベースバックアップ頻度、タイミング | ベースバックアップの頻度を決めます。 |
差分バックアップの頻度、タイミング | 差分バックアップの頻度を決めます。 |
バックアップ場所 | バックアップ場所を設定します。製品をインストールしたディスクとは別ディスクを設定することを推奨します。 また、バックアップファイルを格納できる十分な容量が必要です。 |
バックアップ先の設定方法は、「10.1.5 メータリングのオンラインバックアップの設定」を参照してください。
バックアップの定期実行を行うためには、以下の2つの設定が必要です。
ベースバックアップの定期実行の設定
WALファイル退避の定期実行の設定
注意
本手順によりバッチファイルを、タスクスケジューラを使用して起動させた場合、バッチファイルが実行されている間、コマンドプロンプトが表示されます。このコマンドプロンプトは閉じないでください。
オンラインバックアップを定期実行している際にエラーが発生すると、エラーコード67198のメッセージがログファイルに出力されます。エラーの発生を監視する場合には、ログファイルを監視するソフトウェアで、このエラーメッセージを監視してください。エラーメッセージの詳細については、「メッセージ集」の「メッセージ番号 67198」を参照してください。
ベースバックアップの定期実行の設定
ベースバックアップを定期的に取得するように設定します。
コマンドを定期的に実行する仕組みとして、Windowsのタスクスケジューラを使用します。タスクスケジューラの設定方法の詳細は「Windowsのヘルプ」を参照してください。
ここでは、例として"毎月1日、3:00AM"にバックアップを実施する設定手順を説明します。
Windowsの[スタート]メニューから、[管理ツール] > [タスクスケジューラ]で、タスクスケジューラを起動します。
タスクを階層管理する場合、次の手順でフォルダーを作成します。
タスクスケジューラのメニューで、"タスクスケジューラライブラリ"を選択した後、[操作] > [新しいフォルダー]を選択し、表示されたダイアログで任意のフォルダー名を入力し、<OK>ボタンをクリックします。
作成されたフォルダーを選択し、タスクスケジューラのメニューで、[操作] > [新しいフォルダー]を選択し、フォルダーを作成することで、さらに深い階層とすることができます。
ポイント
タスクスケジューラ上でフォルダーを作成し、タスクを階層管理することができます。複数のタスクを登録する必要がある場合など、フォルダーを作成することでタスクの管理を効率よく行うことができます。
タスクスケジューラのメニューで、[操作] > [基本タスクの作成]を選択し、"基本タスクの作成ウィザード"を表示します。
ポイント
任意のフォルダーを選択してからこれ以降の操作を行うと、そのフォルダー配下にタスクが登録されます。フォルダーを選択しなければ、"タスク スケジューラ ライブラリ"に登録されます。
[名前]欄に任意のタスクの名前(例えば、"月次バックアップ")を入力し、<次へ>ボタンをクリックします。
タスクのトリガーとして"毎月"を選択し、<次へ>ボタンをクリックします。
[開始]欄に、定期バックアップを開始する日時を設定します。
例)翌月の"1日"の日付と"3:00:00"を設定します。
[月]欄で、"すべての月を選択"をチェックします。
[日]欄で、"1"をチェックします。
<次へ>ボタンをクリックします。
タスクの操作として[プログラムの開始]を選択し、<次へ>ボタンをクリックします。
<参照>ボタンをクリックし、[プログラム/スクリプト]欄に、ベースバックアップ用のバッチファイルを設定します。
例
C:\work\backupall.bat
@echo off
echo "Resource Manager Cloud Edition Resources backup Start"
call "{インストールフォルダー}\SVROR\Manager\bin\rcxmgrbackup" -directory {保存先フォルダー} -base
echo "Resource Manager Cloud Edition Resources backup End"
rcxmgrbackupコマンドの詳細は、「リファレンスガイド (コマンド/XML編) CE」の「6.6 rcxmgrbackup」を参照してください。
[引数の追加(オプション)]欄に、コマンドの出力をログファイルに出力するための文字列を設定します。
例: >>F:\backup\backupall.log 2>&1
<次へ>ボタンをクリックします。
タスクの設定を確認し問題なければ、<完了>ボタンをクリックします。
差分バックアップの定期実行の設定
差分バックアップを定期的に実施するよう設定します。
ここでは、例として"毎時間"差分バックアップを退避する設定手順を説明します。
ポイント
"基本タスクの作成ウィザード"での設定では、1日より短い時間間隔での実行設定が行えないため、一旦、別の頻度のタスクを登録し、後からプロパティを変更します。
Windowsの[スタート]メニューから、[管理ツール] > [タスクスケジューラ]で、タスクスケジューラを起動します。
タスクを階層管理する場合、次の手順でフォルダーを作成します。
タスクスケジューラのメニューで、"タスクスケジューラライブラリ"を選択した後、 [操作] > [新しいフォルダー]を選択し、表示されたダイアログで任意のフォルダー名を入力し、<OK>ボタンをクリックします。
作成されたフォルダーを選択し、タスクスケジューラのメニューで、[操作] > [新しいフォルダー]を選択し、フォルダーを作成することで、さらに深い階層とすることができます。
ポイント
タスクスケジューラ上でフォルダーを作成し、タスクを階層管理することができます。複数のタスクを登録する必要がある場合など、フォルダーを作成することでタスクの管理を効率よく行うことができます。
タスクスケジューラのメニューで[操作] > [基本タスクの作成]を選択し、"基本タスクの作成ウィザード"を表示します。
ポイント
任意のフォルダーを選択してからこれ以降の操作を行うと、そのフォルダー配下にタスクが登録されます。フォルダーを選択しなければ、"タスク スケジューラ ライブラリ"に登録されます。
[名前]欄に任意のタスクの名前(例えば、"定期WAL切替え")を入力し、<次へ>ボタンをクリックします。
タスクのトリガーとして"毎日"を選択し、<次へ>ボタンをクリックします。
[開始]欄に、オンラインバックアップ(WAL)を開始したい日時を設定します。
例)翌日の日付と"0:00:00"を設定します。
[間隔]欄は、"1"日を設定します。(デフォルトで設定されています。)
<次へ>ボタンをクリックします。
タスクの操作として[プログラムの開始]を選択し、<次へ>ボタンをクリックします。
<参照>ボタンをクリックし、[プログラム/スクリプト]欄に、オンラインバックアップ(WAL)用のバッチファイルを設定します。
例
C:\work\hourlybackup.bat
@echo off
echo "Resource Manager Cloud Edition Resources backup Start"
call "{インストールフォルダー}\SVROR\Manager\bin\rcxmgrbackup" -dir {保存先フォルダー}
echo "Resource Manager Cloud Edition Resources backup End"
rcxmgrbackupコマンドの詳細は、「リファレンスガイド (コマンド/XML編) CE」の「6.6 rcxmgrbackup」を参照してください。
[引数の追加(オプション)]欄に、コマンドの出力をログファイルに出力するための文字列を設定します。
例: >>F:\backup\hourlybackup.log 2>&1
<次へ>ボタンをクリックします。
タスクの設定を確認し問題なければ、<完了>ボタンをクリックします。
タスクの一覧から登録したタスクを選択し、[操作] > [プロパティ]でプロパティを開きます。
[トリガー]タブを開き、既存のトリガーを選択し、<編集>ボタンをクリックします。
[詳細設定]の[繰り返し間隔]チェックボックスをチェックし、"1時間"を選択します。(デフォルトで選択されています。)
[継続時間]は、"1日間"を選択します。(デフォルトで選択されています。)
<OK>ボタンをクリックし、タスクの編集を終了します。