Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java™ System Directory Server 5 2004Q2 管理ガイド 

第 4 章
データのバックアップと復元

Directory Server で管理されるデータは、まとめてインポートされることがよくあります。Directory Server には、サフィックス全体のインポートとエクスポートを行うツールが用意されています。また、一度にすべてのサフィックスのバックアップを作成したり、すべてのデータをバックアップから復元したりするツールも用意されています。

プレーンテキスト形式の LDIF (LDAP Data Interchange Format) を使用して、データのバックアップと復元を行うことができます。

この章では、ディレクトリデータのバックアップと復元に関する次の手順について説明します。


複数の Directory Server のバージョンを実行している場合は、この章で示している例はすべて Directory Server 5.2 がデフォルトバージョンであることを前提としてください。これに該当しない場合は、次のコマンドを 1 度実行してデフォルトバージョンを 5.2 に設定します。

# /usr/sbin/directoryserver -d 5.2

または、directoryserver コマンドの実行時に常に -useversion オプションを追加して、バージョンを指定します。次の例のようになります。

# /usr/sbin/directoryserver -useversion 5.2 ldif2db ...



サフィックスの読み取り専用モードの設定

Directory Server 上でエクスポート操作またはバックアップ操作を実行する前に、任意のサフィックスに対して読み取り専用モードを有効にすると、その時点でのサフィックスの内容の正確なイメージを確保できます。また、インポート操作または復元操作を実行する前に、対象となるサフィックスが読み取り専用モードになっていないことを確認する必要があります。

Directory Server コンソールとコマンド行ユーティリティでは、エクスポート操作またはバックアップ操作の前に、ディレクトリが自動的に読み取り専用モードに設定されることはありません。これは、読み取り専用にしてしまうと、ディレクトリの更新ができなくなるためです。ただし、マルチマスター環境では、1 つのサーバーで読み取り専用モードを有効にし、ほかのマスターはデータの書き込みを可能にしておくことができます。

サフィックスを読み取り専用にするには、「アクセス権とリフェラルの設定」に記載されている手順を実行します。または、Directory Server 全体を書込み禁止にすることもできます。この手順については、「グローバルな読み取り専用モードの設定」を参照してください。


データのインポート

Directory Server では、次の 2 つの方法でデータをインポートできます。

どちらの方法も、Directory Server コンソールまたはコマンド行ユーティリティを使用して実行できます。


インポートする LDIF ファイルでは、UTF-8 文字セットエンコードが使用されている必要があります。

LDIF をインポートするときは、ディレクトリ内に親エントリが存在するか、ファイルから親エントリを最初にコピーする必要があります。サフィックスを初期化するときは、ルートエントリと、対応するサフィックスのすべてのディレクトリツリーノードが LDIF ファイルに含まれている必要があります。


次の表は、インポートと初期化の違いを示しています。

表 4-1 データのインポートとサフィックスの初期化の比較

比較ドメイン

データのインポート

サフィックスの初期化

内容の上書き

いいえ

はい

LDAP 処理

追加、変更、削除

追加のみ

パフォーマンス

低速

高速

サーバーの障害への対応

ベストエフォート (障害発生時までの変更内容はそのまま残る)

不可 (障害が発生するとすべての変更内容は失われる)

LDIF ファイルの位置

クライアントマシン上

クライアントまたはサーバーと同じマシン上

設定情報のインポート (cn=config)

はい

いいえ

LDIF ファイルのインポート

インポート操作を実行するとき、Directory Server コンソールでは、新しいエントリをディレクトリに追加するために ldapmodify 処理が実行されます。エントリは LDIF ファイルで指定されます。このファイルには、インポート処理の一部として既存のエントリの変更や削除を行う更新文が含まれている場合もあります。

エントリのインポート先は、Directory Server で管理されている任意のサフィックスか、設定に定義されている任意の連鎖サフィックスまたは連鎖サブサフィックスです。エントリを追加するほかの処理と同様に、インポートされた新しいエントリすべてにインデックスが付けられます。

コンソールからの LDIF のインポート

インポートを実行するには、Directory Manager または管理者としてログインする必要があります。

  1. Directory Server コンソールの最上位にある「タスク」タブで一番下までスクロールし、「LDIF からインポート」の隣にあるボタンをクリックします。
  2. 「LDIF のインポート」ダイアログボックスが表示されます。

  3. 「LDIF のインポート」ダイアログボックスで、インポートする LDIF ファイルの絶対パスを「LDIF ファイル」フィールドに入力するか、「参照」をクリックしてローカルファイルシステムからファイルを選択します。
  4. リモートマシン上のディレクトリにアクセスしている場合、このフィールド名は「LDIF ファイル (コンソールマシン上)」と表示されます。このラベルは、リモートの Directory Server マシンのファイルシステムではなく、ローカルファイルシステムを参照していることを示します。

  5. 必要に応じて、次のオプションを設定します。
    1. 追加のみ : LDIF ファイルには、デフォルトの追加命令のほかに、変更命令や削除命令が含まれている場合もあります。LDIF ファイル内の追加命令だけを実行し、そのほかの命令はすべて無視するように指定するには、このチェックボックスを選択します。
    2. エラー時に継続 : エラーが発生してもインポートを続行するように指定するには、このチェックボックスを選択します。たとえば、すでにサフィックス上に存在するエントリを含む LDIF ファイルをインポートする場合に、このオプションを使用できます。インポート処理の実行中、既存エントリなどのエラーが拒否エントリ用ファイルに記録されます。
    3. このチェックボックスが選択されていない場合、最初のエラー発生後にインポート処理は停止します。それ以前の LDIF ファイルのエントリはすべて正常にインポートされているので、ディレクトリ内に残ります。

  6. 「拒否エントリ用ファイル」フィールドには、コンソールがインポートできなかったすべてのエントリを記録するファイルの絶対パスを入力します。あるいは、「参照」をクリックして、ローカルファイルシステムからファイルを選択します。
  7. たとえば、サーバーはディレクトリにすでに存在するエントリや、親オブジェクトのないエントリをインポートできません。コンソールは、サーバーから送られたエラーメッセージを拒否ファイルに書き込みます。

    このフィールドに何も書き込まれないと、拒否されたエントリは記録されません。

  8. 「了解」をクリックして、インポート処理を開始します。
  9. Directory Server コンソールでは、処理の状態と発生したエラーを示すダイアログボックスが表示されます。「拒否エントリ用ファイル」フィールドに入力した場合は、そこに指定されたファイルにもすべてのエラーメッセージが書き込まれます。

コマンド行からの LDIF のインポート

LDAP から LDIF ファイルをインポートし、そこに含まれるすべての処理を実行するには、directoryserver ldif2ldap コマンドを使用します。このコマンドを使用すると、すべてのディレクトリサフィックスに対して同時にデータをインポートできます。ldif2ldap を使用してインポートを実行するには、サーバーを動作させておく必要があります。

このコマンドの完全パスは次のとおりです。

 

# /usr/sbin/directoryserver -s serverID ldif2ldap

次の例では、ldif2ldap コマンドを使用してインポートが実行されます。このコマンドを実行するために root 権限は必要ありませんが、Directory Manager などの root 権限を持つユーザーとして認証される必要があります。最後のパラメータは、インポートする LDIF ファイルの名前を指定するものです。

このコマンドの使用方法の詳細は、『Directory Server Administration Reference』の第 1 章にあるldif2ldapを参照してください。

サフィックスの初期化

サフィックスを初期化すると、サフィックスに含まれている既存のデータが、追加するエントリだけを含む LDIF ファイルの内容によって上書きされます。


警告

管理しているサーバーが Configuration Directory Server である場合に、LDIF ファイルからサフィックスを初期化するときは、データを復元する場合を除いて、o=NetscapeRoot サフィックスを上書きしないように注意してください。このサフィックスを上書きしてしまうと、重要な情報が削除されてしまい、すべての Sun Java System サーバーをインストールし直す必要があります。


サフィックスを初期化するユーザーは、Directory Manager または管理者としての認証を受けている必要があります。セキュリティ上の理由から、サフィックスのルートエントリ (たとえば、dc=example,dc=com.) にアクセスできるのは、Directory Manager および管理者だけに限定されます。このため、ルートエントリを含む LDIF ファイルをインポートできるのは、これらの ID でログインしたユーザーだけに限定されます。

コンソールからのサフィックスの初期化


警告

次の手順で、サフィックスのデータを上書きします。


  1. Directory Server コンソールの最上位の「設定」タブで「データ」ノードを展開し、初期化するサフィックスを表示します。
  2. このサフィックスノードをマウスの右ボタンでクリックし、ポップアップメニューから「初期化」を選択します。または、サフィックスノードを選択し、「オブジェクト」メニューから「初期化」を選択します。「サフィックスを初期化」ダイアログが表示されます。
  3. 初期化に使用する LDIF ファイルの絶対パスを「LDIF ファイル」フィールドに入力するか、「参照」をクリックしてマシン上のファイルを選択します。
  4. インポートするファイルが置かれているローカルマシンからコンソールを操作している場合は、手順 6 に進みます。LDIF ファイルがあるサーバーのリモートマシンからコンソールを操作している場合は、次のどちらかのオプションを選択します。
  5. コンソール上 : LDIF ファイルがコンソールを実行しているマシン上にあることを示します。この場合、ファイルを表示できます。

    サーバー上 : LDIF ファイルがリモートサーバー上にあることを示します。この場合、「参照」ボタンは無効になります。デフォルトでは、コンソールは次のディレクトリ内でファイルを検索します。

    ServerRoot/slapd-serverID/ldif

  6. 「了解」をクリックします。
  7. サフィックスに含まれるデータを上書きしてよいか確認します。サフィックスの初期化が開始され、エラーが発生した場合はダイアログに表示されます。

ldif2db コマンドによるサフィックスの初期化

サフィックスを初期化し、既存のデータを上書きするには、directoryserver ldif2db コマンドを使用します。このコマンドでは、インポートを開始する前に、サーバーを停止する必要があります。

デフォルトでは、まず既存の o=NetscapeRoot 設定情報すべてが保存され、インポートされるファイル内の o=NetscapeRoot 設定情報と結合されます。


警告

次のコマンドで、サフィックスのデータを上書きします。


サーバーを停止して LDIF をインポートするには、次の手順を実行します。

  1. root としてコマンド行に次のコマンドを入力し、サーバーを停止させます。

     

    # /usr/sbin/directoryserver -s serverID stop

  2. インポートコマンドを実行します。

     

    # /usr/sbin/directoryserver -s serverID ldif2db ...

  3. 次のようにサーバーを起動します。

     

    # /usr/sbin/directoryserver -s serverID start

次の例では、ldif2db コマンドを使用して、LDIF ファイルを 1 つのサフィックスにインポートします。

このコマンドの使用方法の詳細は、『Directory Server Administration Reference』の第 1 章にある「ldif2db」を参照してください。

ldif2db-task によるサフィックスの初期化

ldif2db コマンドと同様に、directoryserver ldif2db-task コマンドは、指定したサフィックスのデータを上書きします。このスクリプトを使用してインポートを実行する場合は、サーバーを動作させておく必要があります。

このスクリプトのコマンドは次のようになります。

 

# /usr/sbin/directoryserver -s serverID ldif2db-task ...

次の例では、ldif2db-task を使用して LDIF ファイルをインポートします。このコマンドを実行するために root 権限は必要ありませんが、Directory Manager などの root 権限を持つユーザーとして認証される必要があります。

次の表に、これらの例で使用されている ldif2db-task オプションを示します。

表 4-3 例で使用した ldif2db-task オプションの説明

オプション

内容

-D

root 権限を持つユーザー DN を指定する (Directory Manager など)

-w

ユーザーのパスワードを指定する

-n

データのインポート先となるデータベースの名前を指定する

注意 : LDIF ファイルに含まれるサフィックスに対応しないデータベースを指定した場合は、データベースに含まれるすべてのデータが削除され、インポートは失敗します。データベース名を間違えないように注意してください。

-i

インポートする LDIF ファイルの絶対パス名を指定する。このオプションは必須。一度に複数の LDIF ファイルをインポートする場合は、複数の -i 引数を指定できる。複数のファイルをインポートする場合、サーバーはコマンド行で指定された順に LDIF ファイルをインポートする

このコマンドの使用方法の詳細は、『Directory Server Administration Reference』の第 1 章にあるldif2db-taskを参照してください。


データのエクスポート

LDIF を使用してディレクトリの内容をエクスポートできます。データのエクスポートは、次のような場合に便利です。

エクスポート処理を実行しても、設定情報 (cn=config) はエクスポートされません。


警告

エクスポート処理の実行中には、サーバーを停止しないでください。


コンソールを使用した LDIF へのディレクトリ全体のエクスポート

エクスポートされるファイルの最終的な位置に応じて、ディレクトリデータの一部またはすべてを LDIF にエクスポートできます。LDIF ファイルがサーバー上にある場合は、サーバー上のローカルサフィックスにあるデータしかエクスポートできません。LDIF ファイルがリモートマシン上にある場合は、すべてのサフィックスと連鎖サフィックスをエクスポートできます。

サーバーの動作中に、Directory Server コンソールから LDIF にディレクトリデータをエクスポートするには、次の手順を実行します。

  1. Directory Server コンソールの最上位にある「タスク」タブで一番下までスクロールし、「LDIF にエクスポート」の隣にあるボタンをクリックします。
  2. 「エクスポート」ダイアログが表示されます。

  3. サーバー以外のリモートマシン上でコンソールを実行している場合は、「LDIF ファイル」フィールドの下に 2 つのラジオボタンが表示されます。コンソールの実行マシン上の LDIF ファイルをエクスポート先として指定する場合は、「Console マシン上」を選択します。サーバーのマシン上に置かれている LDIF ファイルをエクスポート先として指定する場合は、「サーバーマシン上」を選択します。
  4. 「LDIF ファイル」フィールドに LDIF ファイルの絶対パスとファイル名を入力するか、「参照」をクリックしてファイルを選択します。
  5. 「サーバーマシン上」を選択した場合、「参照」ボタンは無効になります。「参照」ボタンが無効になっている場合は、ファイルがデフォルトで次のディレクトリに格納されています。

    ServerRoot/slapd-serverID/ldif

  6. ディレクトリ全体をエクスポートする場合は、「すべてのサフィックス」ラジオボタンを選択します。
  7. ディレクトリのサブツリーだけをエクスポートするときは、「サブツリー」ラジオボタンを選択し、テキストボックスにサブツリーのベースとして DN を入力します。

    「参照」をクリックしてサブツリーを選択することもできます。

  8. 「了解」をクリックして、ディレクトリの内容をファイルにエクスポートします。

コンソールを使用した LDIF への単一サフィックスのエクスポート

サーバーの動作中に、Directory Server コンソールから LDIF に単一のサフィックスをエクスポートするには、次の手順を実行します。

  1. Directory Server コンソールの最上位の「設定」タブで「データ」ノードを展開し、エクスポートするサフィックスを表示します。
  2. このサフィックスノードをマウスの右ボタンでクリックし、ポップアップメニューから「エクスポート」を選択します。または、サフィックスノードを選択し、「オブジェクト」メニューから「エクスポート」を選択します。
  3. 「サフィックスをエクスポート」ダイアログが表示されます。

  4. LDIF ファイルの絶対パスを「LDIF ファイル」フィールドに入力するか、「参照」をクリックしてマシン上のファイルを選択します。
  5. 「参照」ボタンが有効でない場合、デフォルトではファイルが次のディレクトリに格納されます。

    ServerRoot/slapd-serverID/ldif

  6. レプリケートされたサフィックスでは、「レプリケーション情報のエクスポート」チェックボックスを選択することもできます。この機能は、エクスポートした LDIF を使用してこのサフィックスの別のレプリカを初期化する場合にだけ必要です。
  7. このサフィックスで属性の暗号化が有効に設定されているときは、「属性の復号化」チェックボックスを選択できます。この場合は、サーバーの証明書データベースを保護しているパスワードを指定する必要があります。オプションを選択してパスワードを入力するか、パスワードを記録したファイルの名前を入力します。属性値を復号化するためのパスワードを指定しない場合、暗号化された値が LDIF に出力されます。
  8. 「了解」をクリックして、サフィックスの内容をファイルにエクスポートします。

コマンド行からの LDIF へのエクスポート

directoryserver db2ldif コマンドを使用すると、ディレクトリの任意のサフィックスまたはサブツリーを LDIF にエクスポートできます。このスクリプトは、サーバーが動作中または停止中に、サフィックスの内容のすべてまたは一部を LDIF ファイルにエクスポートします。

データベースの内容を LDIF ファイルにエクスポートするには、次のコマンドを使用します。

 

# /usr/sbin/directoryserver -s serverID db2ldif ...

次の例では、2 つのサフィックスが 1 つの LDIF ファイルにエクスポートされます。

次の表に、これらの例で使用されている db2ldif のオプションを示します。

表 4-4 例で使用した db2ldif オプションの説明

オプション

内容

-a

サーバーがエクスポートした LDIF を保存する出力ファイル名を定義する。デフォルトでは、このファイルは ServerRoot/slapd-serverID ディレクトリに格納される

-s

エクスポートに取り込むサフィックスまたはサブツリーを指定する。複数の -s 引数を指定すると、複数のサフィックスまたはサブツリーを指定できる

db2ldif コマンドに -r オプションを指定して、レプリケートされたサフィックスを LDIF ファイルにエクスポートすることもできます。結果として作成される LDIF ファイルには、レプリケーションメカニズムで使用される属性サブタイプが含まれています。あとでこの LDIF ファイルをコンシューマサーバーにインポートして、コンシューマレプリカを初期化できます。この手順については、「レプリカの初期化」を参照してください。

db2ldif コマンドに -r オプションを指定して実行する場合、サーバーは停止している必要があります。サーバーをあらかじめ停止し、コマンドの終了後に起動してください。または、db2ldif.pl スクリプトに -r オプションを指定します。この場合、サーバーを停止する必要はありません。

このスクリプトの使用方法の詳細は、『Directory Server Administration Reference』の第 1 章にある「db2lidf」を参照してください。


データのバックアップ

データのバックアップでは、データベースファイルが破損したり削除されたりする場合に備えて、ディレクトリの内容のスナップショットを保存できます。Directory Server コンソールやコマンド行スクリプトを使用して、サフィックスのバックアップを行うことができます。


警告

バックアップの処理中には、サーバーを停止しないでください。


ここで説明するバックアップ手順では、サーバーファイルのコピーがデフォルトで同じホスト上に格納されます。セキュリティ強化のために、このバックアップを別のマシンや別のファイルシステムにコピーして格納してください。


これらの方法では、リモートサーバー上にある連鎖サフィックスをバックアップすることはできません。独立したサーバーは個別にバックアップする必要があります。


コンソールを使用したサーバーのバックアップ

Directory Server コンソールを使用してサーバーをバックアップする場合は、サーバーのすべての内容と、関連するインデックスファイルがバックアップ位置にコピーされます。バックアップは、サーバーが動作中でも実行できます。

コンソールを使用してサーバーをバックアップするには、次の手順を実行します。

  1. Directory Server コンソールの最上位にある「タスク」タブで、「Directory Server のバックアップ」の隣にあるボタンをクリックします。
  2. 「Directory Server のバックアップ」ダイアログボックスが表示されます。

  3. 「ディレクトリ」テキストボックスに、バックアップの格納先ディレクトリへの絶対パスを入力します。ディレクトリと同じマシン上でコンソールを実行している場合は、「参照」をクリックしてローカルディレクトリを選択します。
  4. または、「デフォルトの使用」をクリックして、バックアップを次のディレクトリに格納します。

    ServerRoot/slapd-serverID/bak/YYYY_MM_DD_hh_mm_ss

    ここで、serverID はディレクトリサーバーの名前です。ディレクトリ名は、バックアップが作成された日時を表わす形式で生成されます。

  5. 「了解」をクリックすると、バックアップが作成されます。

コマンド行からのサーバーのバックアップ

directoryserver db2bak コマンドを使用すると、コマンド行からサーバーをバックアップできます。このコマンドは、サーバーが動作中か動作中でないかにかかわらず実行できます。

ただし、この方法では設定情報をバックアップできません。設定情報のバックアップについては、「dse.ldif 設定ファイルのバックアップ」を参照してください。

ディレクトリをバックアップするには、次のコマンドを使用します。

 

# /usr/sbin/directoryserver -s serverID db2bak backupDir

backupDir パラメータには、バックアップを格納するディレクトリを指定します。デフォルトでは、バックアップディレクトリ名は、現在の日付 YYYY_MM_DD_hh_mm_ss で生成されます。このコマンドの使用方法の詳細は、『Directory Server Administration Reference』の第 1 章にある「db2bak」を参照してください。配備のためのバックアップ戦略の設計については、『Directory Server 配備計画ガイド』の第 9 章にある「バックアップ戦略の策定」を参照してください。

dse.ldif 設定ファイルのバックアップ

Directory Server は、自動的に dse.ldif 設定ファイルをバックアップします。Directory Server を起動すると、dse.ldif ファイルのバックアップが、次のディレクトリの dse.ldif.startOKファイルに自動的に作成されます。

cn=config ブランチの内容を変更する場合は、サーバーが dse.ldif ファイルに変更を書き込む前に、ファイルが config ディレクトリの dse.ldif.bak ファイルにバックアップされます。設定を保存する必要がある場合には、どちらかのファイルのコピーを作成してください。


バックアップからのデータの復元

次に、Directory Server コンソールまたはコマンド行を使用して、ディレクトリ内のサフィックスを復元する手順について説明します。「データのバックアップ」の手順に従って、サーバーのバックアップが作成されている必要があります。レプリケーションアグリーメントに関係しているサフィックスを復元する場合は、その前に 「レプリケートされたサフィックスの復元」をお読みください。


警告

バックアップや復元の処理中には、サーバーを停止しないでください。

サーバーを復元すると、既存のデータベースファイルが上書きされます。したがって、バックアップの作成時以降にデータに加えられた変更内容はすべて失われます。


レプリケートされたサフィックスの復元

サプライヤサーバーとコンシューマサーバーの間でレプリケートされるサフィックスを復元する場合は、特別な注意が必要です。可能な場合は、サフィックスをバックアップから復元するのではなく、レプリケーションメカニズムにより更新するようにしてください。ここでは、レプリカを復元すべき場合とその方法、および復元後にほかのレプリカとの同期を確保する方法について説明します。バックアップと復元を使用してレプリカを初期化する方法については、「レプリカの初期化」を参照してください。

シングルマスターモデルでのサプライヤの復元

シングルマスターサプライヤであるサフィックスには、レプリケーショントポロジ全体に対して権限のあるデータが含まれています。したがって、このサフィックスを復元することは、トポロジ全体のすべてのデータを初期化し直すことと同じです。シングルマスターを復元するのは、復元するバックアップの内容ですべてのデータを初期化し直す場合に限定してください。

エラーのためにシングルマスターのデータを復旧できない場合は、コンシューマ上のデータを使用することも検討してください。これは、バックアップされたデータより新しい更新がコンシューマ上のデータに含まれている可能性があるためです。この場合は、コンシューマレプリカから LDIF ファイルにデータをエクスポートし、この LDIF ファイルを使用してマスターを初期化し直します。

バックアップから復元する場合でも、LDIF ファイルをインポートする場合でも、このマスターレプリカから更新を受け取るすべてのハブレプリカとコンシューマレプリカをあとで初期化し直す必要があります。コンシューマの再初期化が必要であることを示すメッセージが、サプライヤサーバーのログファイルに記録されます。

マルチマスターモデルでのサプライヤの復元

マルチマスターレプリケーションでは、ほかの各マスターも、レプリケートされるデータに対してコピーする権限を持っています。現在のレプリカの内容が反映されていない可能性があるため、古いバックアップを復元することはできません。可能な場合は、レプリケーションメカニズムにより、ほかのマスターの内容を使用してマスターを更新するようにしてください。

それが不可能な場合は、次のどちらかの方法でマルチマスターレプリカを復元する必要があります。

復元や再初期化の方法にかかわらず、初期化後のマスターレプリカは読み取り専用モードになります。この動作により、このレプリカとほかのマスターとの同期をとったあとに、書込み操作を許可できます。詳細は、「マルチマスター初期化後のマスター間の一致」を参照してください。

復元または初期化し直したマスターに書き込み操作を許可する前に、すべてのレプリカを反映させることができるので、ハブサーバーやコンシューマサーバーを初期化し直すことが不要になるという利点があります。

ハブの復元

この節の内容は、レプリケーションメカニズムで自動的にハブレプリカを更新できない場合だけに適用されます。たとえば、データベースファイルが破損した場合や、レプリケーションが長時間にわたって中断された場合などに適用されます。このような場合は、次のどちらかの方法で、ハブレプリカを復元または初期化し直す必要があります。

専用コンシューマの復元

この節の内容は、レプリケーションメカニズムで自動的に専用コンシューマレプリカを更新できない場合だけに適用されます。たとえば、データベースファイルが破損した場合や、レプリケーションが長時間にわたって中断された場合などに適用されます。このような場合は、次のどちらかの方法で、コンシューマを復元または初期化し直す必要があります。

コンソールからのサーバーの復元

ディレクトリデータが壊れた場合、Directory Server コンソールを使用すると、以前作成されたバックアップからデータを復元できます。コンソールを使用してデータを復元するには、Directory Server を動作させておく必要があります。ただし、復元中に対応するサフィックスの処理を行うことはできません。

以前に作成したバックアップからサーバーを復元するには、次の手順を実行します。

  1. Directory Server コンソールの最上位にある「タスク」タブで、「Directory Server の復元」の隣にあるボタンをクリックします。
  2. 「Directory Server の復元」ダイアログボックスが表示されます。

  3. 「使用可能なバックアップ」リストからバックアップを選択します。あるいは、「ディレクトリ」テキストボックスに、有効なバックアップファイルの絶対パスを入力します。
  4. 「使用可能なバックアップ」リストには、デフォルトディレクトリに置かれているすべてのバックアップが表示されます

    ServerRoot/slapd-serverID/bak

  5. 「了解」をクリックすると、サーバーが復元されます。

コマンド行からのサーバーの復元

次に示すスクリプトを使用すると、コマンド行からサーバーを復元できます。

bak2db コマンドの使用

サーバーの停止中にコマンド行からディレクトリを復元するには、次の手順を実行します。

  1. root としてコマンド行に次のコマンドを入力し、サーバーを停止させます。

     

    # /usr/sbin/directoryserver -s serverID stop

  2. バックアップディレクトリへの絶対パスを指定して bak2db コマンドを使用します。

     

    # /usr/sbin/directoryserver -s serverID bak2db backupDir

  3. 次のようにサーバーを起動します。

     

    # /usr/sbin/directoryserver -s serverID start

次の例では、デフォルトのバックアップディレクトリからバックアップを復元します。

詳細については、『Directory Server Administration Reference』の第 1 章にある「bak2db」を参照してください。

bak2db-task の使用

サーバーの動作中にコマンド行を使用してディレクトリを復元するには、次のコマンドを使用します。

 

# /usr/sbin/directoryserver -s serverID bak2db-task ...

次の例では、bak2db-task コマンドを使用してバックアップを復元します。-a オプションを指定すると、バックアップディレクトリの完全パスが表示されます。

詳細については、『Directory Server Administration Reference』の第 1 章にある「bak2db-task」を参照してください。

dse.ldif 設定ファイルの復元

次のディレクトリ内に、dse.ldif ファイルのバックアップコピーが 2 つ作成されます。

dse.ldif.startOK ファイルには、サーバー起動時に dse.ldif ファイルのコピーが記録されます。dse.ldif.bak ファイルは、dse.ldif ファイルに加えられた最新の変更内容のバックアップが含まれます。最新の変更内容を含むファイルを自分のディレクトリにコピーします。

dse.ldif 設定ファイルを復元するには、次の手順を実行します。

  1. root としてコマンド行に次のコマンドを入力し、サーバーを停止させます。

     

    # /usr/sbin/directoryserver -s serverID stop

  2. たとえば次のように、設定ファイルを含むディレクトリに移動します。
  3. # cd /var/mps/serverrot/slapd-serverID/config

  4. 正常であると考えられるバックアップ設定ファイルで dse.ldif ファイルを上書きします。たとえば、次のように入力します。
  5. cp dse.ldif.startOK dse.ldif

  6. 次のコマンドでサーバーを起動します。

     

    # /usr/sbin/directoryserver -s serverID start



前へ      目次      索引      次へ     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.