db_hotbackupコマンドを利用してバックアップしたデータファイルにトランザクションログファイルが正しく適用され、リストア可能な状態となっているかどうかの確認には、db_verifyコマンドを利用することができます。
次のコマンド例は、先ほどバックアップした先のディレクトリへ移動した後、明示的に-hオプションを指定してカレントディレクトリのファイルを対象に、db_verifyコマンドを実行しています。
# cd /tmp/hotbackup/ |
db_verifyコマンドから特に何も出力されなければ、データファイルの正常性の確認は成功です。失敗した場合は、障害が検知されたファイル名に続いて「Database verification failed」というメッセージが出力されます。
db_verifyコマンドの詳細は、次のURLを参考にしてください。
db_hotbackupコマンドは、バックアップ先ディレクトリにてトランザクションログを利用したデータファイルのリカバリ処理までを行います。このため、ユーザーが行う実際のリストア処理は、単純にバックアップ先ディレクトリに存在するデータベース関連ファイルをOpenLDAPのバックエンドデータベースディレクトリへと戻すだけで済みます。
次のコマンド例は、OpenLDAPを停止し、バックアップ先ディレクトリからデータベース関連ファイルを戻すリカバリ処理を行っています。
# cd /usr/local/openldap-2.4.16 |
ここでは、元のバックエンドデータベースディレクトリである「/usr/local/openldap-2.4.16/var/openldap-data」にあるファイルを一時退避させた後、バックアップファイルをバックエンドデータベースディレクトリへリストアし、OpenLDAPを起動させています。
# mkdir /tmp/openldap-data.`date +%Y%m%d_%H%M` |
次に紹介するコマンドは、db_archiveコマンドです。このコマンドは、運用を重ねるたびに出力され続けていくトランザクションログファイルを確認し、Berkeley DBが利用していない削除可能な(または退避可能な)ファイルとそうでないファイルを識別し、表示させることができます。
db_archiveコマンドは、db_hotbackupコマンドのような、コマンド実行時にデータファイルやトランザクションログファイルをコピーしリカバリ処理までを実行するコマンドとは異なります。管理者が必要なトランザクションログファイルと不必要なものとを識別し、別途、バックアップを行うことを主目的としたコマンドです。
次のコマンド例では、OpenLDAPへの更新を行い、十分なトランザクションログが出力された後、db_checkpointコマンドに「-1」(英字「L」の小文字ではなく数字の「1」)オプションを指定し、1度だけチェックポイントを実行させています。このように、明示的に発生させたチェックポイントにて更新データをデータファイルに書き戻した後、db_archiveコマンドを実行し、退避可能となったトランザクションログファイルを表示させています。
# PATH=$PATH:/usr/local/BerkeleyDB.4.6/bin |
次のコマンド例では、db_archiveコマンドに-sオプションを用い、ある時点でのデータファイルのスナップショットを取得しています。その後は、例えば数時間置きに、リカバリ処理でのトランザクションログファイルの適用を目的に、Berkeley DBが利用中かそうでないかにかかわらず、db_archiveコマンドに-l(「L」の小文字)オプションを付与することですべてのトランザクションログファイルを列挙し、バックアップディレクトリへとコピーしています。
# cd /usr/local/openldap-2.4.16/var/openldap-data |
db_ archiveコマンド、db_checkpointコマンドの詳細は、次のURLを参考にしてください。
Copyright © ITmedia, Inc. All Rights Reserved.