22.3. 障害復旧における便利な Directory Server 機能の特定

復旧で最も難しいのはハードウェアではなく、サーバー内のデータの信頼できるコピーを得ることです。障害復旧用にデータコピーを準備する優れたツールとして、Directory Server には 3 つの機能があります。
  • データベースのバックアップおよびバックアップの定期的な検証
  • マルチサプライヤーのレプリケーション、チェーン、データベースのバックアップ、および名前付きパイプスクリプトでサーバーの監視
  • チェーン
また、名前付きパイプスクリプトや他の Directory Server のパフォーマンスカウンターを使用してサーバーを監視することで、特定の重要なイベントを発見し、迅速に対応することができます。

22.3.1. 災害リカバリー用のディレクトリーデータのバックアップ

障害復旧で最も便利なツールは、ディレクトリーインスタンスのバックアップを頻繁に行うことです。アーカイブは、プライマリーデータセンターとは異なる場所で、コールドバックアップの場所で物理メディアに保存できます。
バックアップは、cron ジョブを使用して定期的に実行するように自動化できます。たとえば、ldap://server.example.com インスタンスを毎日 22:00 (10pm) に作成するには、以下のコマンドを実行します。
0 22 * * 1    /usr/sbin/dsconf -D "cn=Directory Manager" ldap://server.example.com backup create
dsconf backup create コマンドは、最初にサーバーを停止せずにディレクトリーデータをバックアップします。
注記
Red Hat は、マルチサプライヤーレプリケーション環境のすべてのサーバー上でデータのバックアップを行うことを推奨します。
「Directory Server のバックアップ」では、ディレクトリーデータベースとディレクトリー設定 (dse.ldif ファイル) の両方のバックアップが対象です。

22.3.2. 高可用性のためのマルチサプライヤーレプリケーション

マルチサプライヤーレプリケーションは、1 台のサーバーや、場合によってはオフィスや部門全体における損失に関する最善の防御策です。少数のサーバーがデータサプライヤーとなる一方で、複数のサーバーがすべて同じデータを保持しており、1 つのレプリケーション環境に数十台のサプライヤーとハブが存在する可能性があります。これにより、複数のサーバーがオフラインであっても、クライアントが情報にアクセスできる状態を維持します。
レプリケーションは、データをサーバーにコピーしたり、より迅速に交換するのに使用できます。
注記
レプリケーションを介して伝播されるデータの破損を保護するには、データベースを頻繁にバックアップします。
レプリケーション設定により、プライマリーサプライヤーがアクセスできない場合に、書き込み操作はフェイルオーバーサーバーと呼ばれます。つまり、サーバーがオフラインであっても、書き込み操作はクライアントの観点から通常通り続行できます。

例22.1 マルチサプライヤーレプリケーションのシナリオ

レプリケーションは、いくつかのシナリオで障害復旧のための汎用的なツールです。
  • 単一のサーバー障害の場合、そのインスタンスに保存されているすべてのデータには、他のサーバーからアクセスと取得が可能です。
  • オフィス全体やコロケーション施設が失われた場合は、まったく別の物理的な場所にサーバーをミラーリングすることができます (Directory Server の広域レプリケーションの性能が役立ちます)。最低限の努力で、新しいサーバーをオンラインにすることなく、トラフィックは複製されたサイトにリダイレクトされます。
レプリケーションの設定については、15章レプリケーションの管理で説明しています。

22.3.3. 高可用性のデータベースチェーン

チェーン は、クライアントが要求を 1 台のサーバーに送信し、その要求が自動的に別のサーバーに転送されて処理されるという設定です。データベースリンク (またはチェーン) に複数のサーバーを設定して、1 つのサーバーが利用できない場合に自動フェイルオーバーを行うことができます。

例22.2 連鎖のシナリオ

チェーンがフェイルオーバーサーバーのリストと組み合わせると、クライアントトラフィックはオフライン時に単一サーバー (またはサーバーのグループも) から自動的にリダイレクトできます。これは復旧には役立ちませんが、プライマリーサーバーからバックアップサーバーへの移行を管理するのに役立ちます。
チェーンデータベースについては、「データベースリンクの作成および維持」で説明しています。