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