3.2. Directory Server の復元


ハードウェア障害の後などの特定の状況では、Directory Server を復元する必要があります。これは、コマンドラインまたは Web コンソールを使用して実行できます。Directory Server は個別のデータベースの復元をサポートしない点に注意してください。

データベースにカスタムデータを入力する場合は、インポート機能を使用します。サーバーから特定のデータを LDIF 形式でインポートできます。詳細は、Directory Server へのデータのインポート を参照してください。

3.2.1. インスタンスの実行中にコマンドラインを使用した全データベースの復元

実行中の Directory Server インスタンスにすべてのデータベースを復元するには、dsconf backup restore コマンドを使用します。

前提条件

  • Directory Server のバックアップがある。
  • dirsrv ユーザーに、バックアップディレクトリーの読み取りパーミッションがある。
  • Directory Server インスタンスが実行している。

手順

  1. /var/lib/dirsrv/slapd-<instance_name>/bak/<instance_name>-YYYY_MM_DD_hh_mm_ss ディレクトリーに保存されているバックアップから、すべてのデータベースを復元します。

    # dsconf <instance_name> backup restore /var/lib/dirsrv/slapd-<instance_name>/bak/<instance_name>-YYYY_MM_DD_hh_mm_ss
    The backup restore task has finished successfully

    データの復元に使用できるすべての追加設定を表示するには、dsconf <instance_name> backup restore --help コマンドの出力を参照してください。

  2. 復元中の問題は、/var/log/dirsrv/slapd-<instance_name>/errors ログを検索します。

3.2.2. インスタンスのオフライン時コマンドラインを使用した全データベースの復元

インスタンスのオフライン時にすべてのデータベースを復元するには、dsctl bak2db コマンドを使用します。

前提条件

  • Directory Server のバックアップがある。
  • dirsrv ユーザーに、バックアップディレクトリーの読み取りパーミッションがある。
  • Directory Server インスタンスが実行していない。

手順

  1. /var/lib/dirsrv/slapd-<instance_name>/bak/<instance_name>-YYYY_MM_DD_hh_mm_ss ディレクトリーに保存されているバックアップから、すべてのデータベースを復元します。

    # dsctl <instance_name> bak2db /var/lib/dirsrv/slapd-<instance_name>/bak/<instance_name>-YYYY_MM_DD_hh_mm_ss/
    bak2db successful

    必要に応じて、コマンドに -v オプションを指定して詳細な出力を表示します。

    # dsctl -v <instance_name> bak2db /var/lib/dirsrv/slapd-<instance_name>/bak/<instance_name>-YYYY_MM_DD_hh_mm_ss/
    ...
    DEBUG: Instance allocated
    DEBUG: OK group dirsrv exists
    DEBUG: OK user dirsrv exists
    DEBUG: systemd status -> True
    ...
    INFO: bak2db successful
  2. 復元中の問題は、/var/log/dirsrv/slapd-<instance_name>/errors ログを検索します。
  3. オプション: インスタンスを起動します。

    # *dsctl <instance_name> start`

3.2.3. Web コンソールを使用した全データベースの復元

Directory Server は、Web コンソールを使用したデータの復元をサポートします。

前提条件

  • バックアップが、/var/lib/dirsrv/slapd-<instance_name>/bak/ ディレクトリーに保存されている。
  • dirsrv ユーザーに、バックアップディレクトリーの読み取りパーミッションがある。
  • Web コンソールでインスタンスにログインしている。

手順

  1. Actions メニューをクリックして、Manage Backups を選択します。表示されるウィンドウには、/var/lib/dirsrv/slapd-<instance_name>/bak/ ディレクトリーで利用可能なバックアップが表示されます。
  2. 復元するバックアップの横にある Actions メニューを開き、Restore Backup を選択します。
  3. Yes をクリックして確定します。
  4. 復元中の問題についてログを確認するには、Monitoring Logging Errors Log メニューを開きます。

3.2.4. 複製されたエントリーが含まれるデータベースの復元

サプライヤーサーバーを復元すると、いくつかの状況が発生する可能性があります。

  • コンシューマーサーバーも復元される。

    (データが同期されるように) 全く同じ時間に作成されたバックアップからすべてのデータベースを復元するような非常にまれな状況においては、コンシューマーはサプライヤーと同期が取れた状態のままであるため、特に何もする必要はありません。レプリケーションは中断せずに再開します。

  • サプライヤーだけが復元される。

    サプライヤーのみが復元された場合や、コンシューマーが別のバックアップから復元された場合は、サプライヤーがコンシューマーを再初期化して、データベースのデータを更新します。

  • サプライヤーサーバーで変更ログエントリーの有効期限がまだ切れていない。

    データベースのバックアップの取得後にサプライヤーの変更ログが期限切れになっていない場合は、ローカルコンシューマーを復元し、通常の操作を継続します。この状態は、cn=changelog,cn=<database_name>,cn=ldbm database,cn=plugins,cn=config エントリーで、changelog の最大有効期限属性 nsslapd-changelogmaxage に設定された値よりも短い期間内にバックアップを作成した場合に限り発生します。

    Directory Server は、レプリカとその変更ログの間の互換性を自動的に検出します。不一致が検出されると、サーバーは古い変更ログファイルを削除し、空のファイルを新たに作成します。

  • 変更ログエントリーが、ローカルバックアップを作成した後にサプライヤーサーバー上で期限切れになる。

    変更ログエントリーの有効期限が切れている場合は、コンシューマーが再初期化される。

例3.1 Directory Server のレプリケーショントポロジーの復元

2 つのサプライヤーと 2 つのコンシューマーサーバーで構成されるレプリケーション環境のサーバーをすべて復元するには、以下を実行します。

  1. restore または import のいずれかを使用して、最初のサプライヤーを再初期化します。
  2. レプリケーションを使用して残りのサーバーをオンラインに初期化します。

    1. 最初のサプライヤーから 2 番目のサプライヤーを初期化します。
    2. サプライヤーからコンシューマーを初期化します。
  3. 各サーバーでレプリケーションのステータスを表示し、レプリケーションが正しく機能していることを確認します。

復元操作中に、復元されたデータベースに関連する変更ログが削除されます。再初期化が必要であることを示すメッセージが、サプライヤーサーバーのログファイルに記録されます。

3.2.5. 設定ファイル、証明書データベース、およびカスタムスキーマファイルの復元

設定ファイル、証明書データベース、カスタムスキーマファイルをバックアップから手動で復元できます。

前提条件

  • Directory Server のバックアップがある。
  • dirsrv ユーザーには、/var/lib/dirsrv/slapd-<instance_name>/bak/ バックアップディレクトリーの読み取りパーミッションがある。
  • Directory Server インスタンスが実行していない。

手順

  1. バックアップディレクトリーから Directory Server 設定ディレクトリーに、復元するファイルをコピーします。たとえば、dse.ldif 設定ファイルを復元するには、次のように入力します。

    # cp /var/lib/dirsrv/slapd-<instance_name>/bak/<example_backup>/config_files/dse.ldif /etc/dirsrv/slapd-<instance_name>/
  2. インスタンスを起動します。

    # dsctl <instance_name> start

検証

  • サーバーがサーバー設定を復元したことを確認します。

    # dsconf <instance_name> config get
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る