![]() |
iPlanet Directory Server 5.1 管理者ガイド |
第 4 章 ディレクトリデータベースへのデータの実装
データベースには、Directory Server によって管理されるディレクトリのデータが含まれます。この章では、次のディレクトリデータベースの実装手順について説明します。
読み取り専用モードの有効化と無効化
読み取り専用モードの有効化と無効化
Directory Server 上でエクスポート操作またはバックアップ操作を実行する前に、対象となるデータベースに対して読み取り専用モードを有効にすると、その時点でのデータベースの状態の正確なイメージを確保できます。Directory Server Console とコマンド行ユーティリティでは、エクスポートまたはバックアップ操作の前に、ディレクトリが自動的に読み取り専用モードに設定されることはありません。これは、読み取り専用にしてしまうと、ディレクトリの更新ができなくなるためです。ただし、システムが多重マスター構成になっている場合、この問題は発生しません。
Directory Server Consoleで「構成」タブを選択し、ナビゲーションツリーの Data フォルダを展開します。
インポートまたは復元の操作を実行する前に、操作対象のデータベースが読み取り専用モードになっていないことを確認してください。読み取り専用になっている場合は、次の手順に従ってデータベースを更新できるようにします。読み取り専用モードにするデータベースを選択し、右側の区画にある「データベースの設定」タブをクリックします。
「データベースは読み取り専用です」チェックボックスを選択します。
- 変更内容はすぐに有効になります。
Directory Server Console で「構成」タブを選択し、Data ツリーを展開します。
更新可能にするデータベースを選択し、右側の区画にある「データベースの設定」タブをクリックします。
「データベースは読み取り専用です」チェックボックスの選択を解除します。
- 変更内容はすぐに有効になります。
データのインポート
iPlanet Directory Server では、3 つの方法でデータをインポートできます。
Directory Server Consoleからインポートする
次の表に、データベースのインポートと初期化の違いを示します。
データベースを初期化する
- Directory Server Console を使用して、データベースリンクを含め、すべてのデータベースにデータを追加します。
コマンド行を使用してデータをインポートする
- Directory Server Console を使用して、1 つのデータベースにデータをインポートします。この方法では、データベース内のすべてのデータが上書きされます。
Console を使用したインポートの実行
Directory Server Console からインポート操作を実行する場合は、エントリの変更と削除を行うのと同様にデータの追加を行うために ldapmodify 処理が実行されます。この処理は、Directory Server によって管理されるすべてのデータベース、および Directory Server がデータベースリンクを保持しているリモートデータベースが対象になります。インポートを実行するには、ディレクトリマネージャ (Directory Manager) としてログインする必要があります。
Directory Server Console からデータをインポートするには、次の手順を実行します。
Directory Server Console で、「タスク」タブを選択します。画面の一番下までスクロールし、「データベースのインポート」を選択します。
インポートする LDIF ファイルの絶対パスを「LDIF ファイル」フィールドに入力するか、「参照」をクリックしてインポートするファイルを選択します。
- また、「構成」タブの「Console」メニューから「インポート」を選択してインポートすることもできます。
- 「データベースのインポート」ダイアログボックスが表示されます。
このボックスで、次のオプション (複数可) を選択します。
- そのディレクトリがあるマシンとは別のリモートマシン上で Console を実行している場合、フィールド名は「LDIF ファイル (Console を実行するマシン上)」と表示されます。これによって、参照しているディレクトリがカレントディレクトリではないことがわかります。ここで参照するファイルシステムは、コンソールを実行しているマシン上にあります。
「拒否エントリ用ファイル」フィールドには、サーバがインポートできなかったすべてのエントリを記録するファイルの絶対パスを入力します。あるいは、「参照」ボタンをクリックして拒否データを保存するファイルを選択します。
- 追加のみ : LDIF ファイルでは、デフォルトの追加命令に加えて、変更命令と削除命令を含むことがあります。サーバが追加以外の処理を無視するように設定する場合は、「追加のみ」チェックボックスを選択します。
- エラー時に続行 : エラーが発生してもサーバがインポートを続けるように設定する場合は、「エラー時に続行」チェックボックスを選択します。たとえば、新しいエントリとすでにデータベース上に存在するデータの両方を含む LDIF ファイルをインポートする場合に、このオプションを使用できます。既存エントリが拒否エントリ用ファイルに記録され、すべての新しいエントリが追加されます。
「OK」をクリックします。
- たとえば、サーバはデータベースにすでに存在するエントリや、親オブジェクトのないエントリをインポートできません。Console は、サーバから送られたエラーメッセージを拒否ファイルに書き込みます。
- このフィールドを空白のままにすると、拒否されたエントリは記録されません。
- インポートが実行され、さらにインデックスが作成されます。
Console を使用したデータベースの初期化
データベース上に存在するデータは上書きできます。次の節では、Console を使用したデータベースの初期化について説明します。データベースを初期化するには、ディレクトリマネージャ (Directory Manager) としてログインする必要があります。これは、ルートエントリを含む LDIF ファイルをインポートするには、ディレクトリマネージャ (root DN) としてディレクトリにバインドする必要があるためです。ルートエントリへのアクセス権が認められるのは、ディレクトリマネージャだけです (たとえば、dc=siroe,dc=com などがルートエントリです)。
LDIF ファイルからデータベースを初期化するときは、データを復元する場合を除いて、o=NetscapeRoot 接尾辞を上書きしないように注意してください。この接尾辞を上書きしてしまうと、重要な情報が削除されてしまい、iPlanet サーバの再インストールが必要になります。
Directory Server Console を使用してデータベースを初期化するには、次の手順を実行します。
Directory Server Console で、「構成」タブを選択します。
左側にあるナビゲーション区画の Data ツリーを展開します。初期化するデータベースの接尾辞で示されたディレクトリを展開してから、データベースをクリックします。
データベースをマウスの右ボタンでクリックし、「データベースの初期化」を選択します。
インポートする LDIF ファイルの絶対パスを「LDIF ファイル」フィールドに入力するか、「参照」をクリックしてマシン上のファイルを選択します。
- 「データベースの初期化」は、「オブジェクト」メニューから選択することもできます。
インポートするファイルが置かれているローカルマシンから Console を操作している場合は、手順 6 に進みます。LDIF ファイルがあるサーバのリモートマシンから Console を操作している場合は、次のどちらかのオプションを選択します。
「OK」をクリックします。
コマンド行からのインポート
コマンド行を使用してデータをインポートするには、3 つの方法があります。
ldif2db (Solaris 9 プラットフォームのdirectoryserver ldif2db) を使用する。
ldif2db.pl (Solaris 9 プラットフォームの directoryserver ldif2db-task) を使用する。
- この方法でインポートすると、データベースの内容は上書きされます。また、サーバをあらかじめ停止させておく必要があります。
ldif2ldap (Solaris 9 プラットフォームの directoryserver ldif2ldap) を使用する。
- この方法でインポートすると、データベースの内容は上書きされます。サーバを停止させておく必要はありません。
- この方法では、LDAP によって LDIF ファイルが追加されます。この方法を使用すると、すべてのデータベースにデータを追加できます。
ldif2db コマンドを使用したインポート
ldif2db コマンド (Solaris 9 プラットフォーム上のdirectoryserver ldif2db) は、指定したデータベースのデータを上書きします。このスクリプトでは、インポートを開始する前に、サーバの停止が要求されます。デフォルトでは、まず既存の o=NetscapeRoot 構成情報すべてが保存され、インポートされるファイル内の o=NetscapeRoot 構成情報と結合されます。
サーバを停止して LDIF をインポートするには、次の手順を実行します。
root としてコマンド行に次のコマンドを入力し、サーバを停止させます。
次の例では、ldif2db コマンドを使用して LDIF ファイルを 1 つのデータベースにインポートします。
# /usr/sbin/directoryserver stop # installDir/slapd-serverID/stop-slapd ldif2db コマンドを使用します。
# /usr/sbin/directoryserver ldif2db # installDir/slapd-serverID/ldif2db
- このスクリプトの使い方については、『iPlanet Directory Server 構成、コマンド、およびファイルのリファレンス』を参照してください。
-n オプションで、LDIF ファイルに含まれる接尾辞に対応しないデータベースを指定した場合は、データベースに含まれるすべてのデータが削除され、インポートは失敗します。データベース名を間違えないように注意してください。
ldif2db.bat -n Database1
-i c:¥iplanet¥servers¥slapd-siroe¥ldif¥demo.ldif
-i c:¥iplanet¥servers¥slapd-siroe¥ldif¥demo2.ldif# use 'ディレクトリサーバ ldif2db' on Solaris 9 plaforms
ldif2db -n Database1 \
-i /usr/iplanet/servers/slapd-siroe/ldif/demo.ldif \
-i /usr/iplanet/servers/slapd-siroe/ldif/demo2.ldif
-n
-i
インポートする LDIF ファイルの絶対パス名を指定する。このオプションは必須。一度に複数の LDIF ファイルをインポートする場合は、複数の -i 引数を使用できる。複数のファイルをインポートする場合、サーバはコマンド行で指定された順に LDIF ファイルをインポートする
ldif2db.pl Perl スクリプトを使用したインポート
ldif2db コマンドと同様に ldif2db.pl スクリプト (Solaris 9 プラットフォーム上の directoryserver ldif2db-task) は、指定したデータベースのデータを上書きします。このスクリプトを使用してインポートを実行する場合は、サーバを動作させておく必要があります。
このスクリプトのコマンドは、プラットフォームごとに異なります。
# /usr/sbin/directoryserver ldif2db-task installDir> bin¥slapd¥admin¥bin¥perl slapd-serverID¥ldif2db.pl # installDir/slapd-serverID/ldif2db.pl この Perl スクリプトの使い方については、『iPlanet Directory Server 構成、コマンド、およびファイルのリファレンス』を参照してください。
次の例では、ldif2db.pl スクリプトを使用して、LDIF ファイルをインポートします。このスクリプトの実行には、root 権限は必要ありませんが、ディレクトリマネージャとして認証する必要があります。
iPlanet¥Servers¥bin¥slapd¥admin¥bin¥perl.exe
iPlanet¥Servers¥slapd-siroe¥ldif2db.pl
-D "cn=Directory Manager" -w password -n Database1
-i iPlanet¥Servers¥slapd-siroe¥ldif¥demo.ldif# use 'ディレクトリサーバ ldif2db-task' on Solaris 9 plaforms
ldif2db.pl \
-D "cn=Directory Manager" -w password -n Database1 \
-i /usr/iplanet/servers/slapd-siroe/ldif/demo.ldif次の表に、これらの例で使用されている ldif2db.pl のオプションを示します。
表 4-3 例で使用した ldif2db.pl オプションの説明
-D
-w
-n
-i
インポートする LDIF ファイルの絶対パス名を指定する。このオプションは必須。一度に複数の LDIF ファイルをインポートする場合は、複数の -i 引数を使用できる。複数のファイルをインポートする場合、サーバはコマンド行で指定された順に LDIF ファイルをインポートする
ldif2ldap コマンドを使用したインポート
ldif2ldap コマンド (Solaris 9 プラットフォーム上の directoryserver ldif2ldap) を使うと、LDAP を通して LDIF ファイルが追加されます。このスクリプトを使用すると、すべてのディレクトリデータベースに対して同時にデータをインポートできます。ldif2ldap を使用してインポートを実行するには、サーバを動作させておく必要があります。ldif2ldap を使用して LDIF をインポートするには、次のコマンドを使用します。
# /usr/sbin/directoryserver ldif2ldap # installDir/slapd-serverID/ldif2ldap このスクリプトの使い方については、『iPlanet Directory Server 構成、コマンド、およびファイルのリファレンス』を参照してください。
次の例では、ldif2ldap コマンドを使ってインポートが実行されます。このコマンドを実行するために root 権限は必要ありませんが、コマンド行でディレクトリマネージャに資格を付与する必要があります。最後のパラメタは、インポートする 1 つ以上の LDIF ファイル名です。
ldif2ldap.bat "cn=Directory Manager" password
c:¥iplanet¥servers¥slapd-siroe¥ldif¥demo.ldif# use 'ディレクトリサーバ ldif2ldap' on Solaris 9 plaforms
ldif2ldap "cn=Directory Manager" password \
/usr/iplanet/servers/slapd-siroe/ldif/demo.ldif
データのエクスポート
LDIF (LDAP Data Interchange Format) を使用すると、データベースのエントリをデータベースからエクスポートできます。LDIF は、RFC 2849「The LDAP Data Interchange Format (LDIF) - Technical Specification」に記載されている標準形式です。たとえば、ディレクトリが 1 つのデータベース内に置かれている場合に、その内容を次のように 2 つのデータベースに分割するとします。
新しいデータベースにデータを実装するには、データベース 1 の内容をエクスポートして、それを新しいデータベース 1 および 2 にインポートする必要があります。
データをエクスポートするには、iPlanet Directory Server の Console か、コマンド行ユーティリティを使用します。次の節では、各方法の詳細について説明します。
「Console を使用した LDIF へのディレクトリデータのエクスポート」
エクスポート処理を実行しても、構成情報 (cn=config) はエクスポートされません。
Console を使用した LDIF へのディレクトリデータのエクスポート
エクスポートされるファイルの最終的な位置に応じて、ディレクトリデータの一部またはすべてを LDIF にエクスポートできます。LDIF ファイルがサーバ上にある場合は、サーバと同じマシン上にあるデータベースのデータしかエクスポートできません。LDIF ファイルがリモートマシン上にある場合は、データベースおよびデータベースリンクのすべてをエクスポートできます。サーバの動作中に、Directory Server Console から LDIF にディレクトリデータをエクスポートするには、次の手順を実行します。
Directory Server Console で、「タスク」タブを選択します。画面の一番下までスクロールし、「データベースのエクスポート」を選択します。
「LDIF ファイル」フィールドに LDIF ファイルの絶対パスとファイル名を入力するか、「参照」をクリックしてファイルを選択します。
- また、「構成」タブの「Console」メニューから「エクスポート」を選択してすべてのデータベースをエクスポートすることもできます。
- 「データベースのエクスポート」ダイアログボックスが表示されます。
サーバ以外のリモートマシン上で Console を実行している場合は、「LDIF ファイル」 フィールドの下に 2 つのラジオボタンが表示されます。Console の実行マシン上の LDIF ファイルにエクスポート先を指定する場合は、「ローカルマシンへ」を選択します。サーバのマシン上に置かれている LDIF ファイルにエクスポート先に指定する場合は、「サーバマシンへ」を選択します。
- リモートサーバ上で Console を実行している場合は、「参照」は無効になっています。「参照」ボタンが無効になっている場合は、ファイルがデフォルトで次のディレクトリに保存されています。
/var/ds5/slapd-serverID/ldif /usr/iplanet/servers/slapd-serverID/ldif
ディレクトリ全体をエクスポートする場合は、「データベース全体」ラジオボタンを選択します。
「OK」をクリックすると、ファイルがエクスポートされます。
- データベースに含まれる接尾辞の 1 つのサブツリーだけをエクスポートする場合は、「サブツリー」ラジオボタンを選択して、「サブツリー」テキストボックスに接尾辞の名前を入力します。これによって、複数のデータベースに含まれるサブツリーをエクスポートできます。
- 「参照」をクリックして接尾辞またはサブツリーを選択することもできます。
Console を使用した LDIF への単一のデータベースのエクスポート
サーバの動作中に、Directory Server Console から LDIF に単一のデータベースをエクスポートするには、次の手順を実行します。
Directory Server Console で、「構成」タブを選択します。
左側にあるナビゲーション区画の Data ツリーを展開します。エクスポートするデータベースによって維持される接尾辞で示されたディレクトリを展開します。接尾辞で示されたディレクトリの下から、エクスポートするデータベースを選択します。
データベースをマウスの右ボタンでクリックし、「データベースのエクスポート」を選択します。
LDIF ファイルの絶対パスを「LDIF ファイル」フィールドに入力するか、「参照」をクリックしてファイルを選択します。
- 「データベースのエクスポート」は、「オブジェクト」メニューから選択することもできます。
- 「パーティションのエクスポート」ダイアログボックスが表示されます。
「OK」をクリックすると、ファイルがエクスポートされます。
コマンド行からの LDIF へのエクスポート
db2ldif コマンド (Solaris 9 プラットフォームの directoryserver db2ldif) を使用すると、データベースを LDIF にエクスポートできます。このスクリプトは、サーバが動作中または停止中であるときに、データベースの内容のすべてまたは一部を LDIF ファイルにエクスポートします。データベースの内容を LDIF ファイルにエクスポートするには、次のコマンドを使用します。
# /usr/sbin/directoryserver db2ldif # installDir/slapd-serverID/db2ldif このスクリプトの使い方については、『iPlanet Directory Server 構成、コマンド、およびファイルのリファレンス』を参照してください。
次の例では、2 つの接尾辞のデータベースが 1 つの LDIF ファイルにエクスポートされます。
db2ldif -n database1 -a output.ldif \
-s "dc=siroe,dc=com" -s "o=NetscapeRoot"次の表に、これらの例で使用されている db2ldif のオプションを示します。
-n
-a
サーバがエクスポートした LDIF を保存する出力ファイル名を定義する。デフォルトでは、このファイルは installDir/slapd-serverID ディレクトリに格納される
-s
データのバックアップと復元
Directory Server Console やコマンド行スクリプトを使用して、データベースのバックアップと復元を行うことができます。次の節では、データのバックアップと復元の手順について説明します。
すべてのデータベースのバックアップ
次に、Directory Server Console を使って、あるいはコマンド行から、ディレクトリ内のすべてのデータベースをバックアップするための手順を示します。
注 データベースリンクによって連鎖させたリモートサーバ上にデータベースがある場合は、この方法でデータをバックアップすることはできません。
Server Console を使用したすべてのデータベースのバックアップ
Directory Server Console を使用してデータベースをバックアップする場合は、すべてのデータベースの内容と、関連するインデックスファイルがバックアップ位置にコピーされます。バックアップは、サーバが動作中でも実行できます。Server Console を使用してデータベースをバックアップするには、次の手順を実行します。
Directory Server Console で、「タスク」タブを選択します。
「Directory Server のバックアップ」をクリックします。
「ディレクトリ」テキストボックスに、バックアップの格納先ディレクトリへの絶対パスを入力します。ディレクトリと同じマシン上でコンソールを実行している場合は、「参照」をクリックしてローカルディレクトリを選択します。
- 「ディレクトリのバックアップ」ダイアログボックスが表示されます。
「OK」をクリックすると、バックアップが作成されます。
コマンド行からのすべてのデータベースのバックアップ
db2bak コマンド (Solaris 9 プラットフォームのdirectoryserver db2bak) を使用すると、コマンド行からデータベースをバックアップできます。このスクリプトは、サーバが動作中か動作中でないかにかかわらず実行できます。ただし、この方法では構成情報をバックアップできません。構成情報のバックアップについては、「dse.ldif 構成ファイルのバックアップ」を参照してください。
ディレクトリをバックアップするには、次のコマンドを使用します。
# /usr/sbin/directoryserver db2bak backupDir # installDir/slapd-serverID/db2bak backupDir backupDirパラメタにバックアップを格納するディレクトリを指定します。デフォルトでは、バックアップディレクトリ名は、現在の日付 YYYY_MM_DD_hh_mm_ss から生成されます。このスクリプトの使い方については、『iPlanet Directory Server 構成、コマンド、およびファイルのリファレンス』を参照してください。
次の例では、指定したディレクトリに、すべてのデータベースがバックアップされます。
# db2bak /usr/iplanet/servers/slapd-siroe/bak/checkpoint
単一のデータベースのバックアップ
次の条件を満たしている場合は、ここで説明する方法を使用できます。
ディレクトリサーバが停止中である
単一のデータベースをバックアップするには、次の手順を実行します。作成したバックアップを使って同じサーバにデータベースを復元する
注 このバックアップ方法は、リモートサーバ上のデータベース (データベースリンクによって連鎖されたデータベース) のデータのバックアップには使用できません。またそのバックアップデータを使ってコンシューマまたはハブのレプリカを初期化することはできません。
root としてコマンド行に次のコマンドを入力し、サーバを停止させます。
# /usr/sbin/directoryserver stop # installDir/slapd-serverID/stop-slapd バックアップするデータベースが置かれたディレクトリに移動します。
# cd /var/ds5/slapd-serverID/db # cd installDir/slapd-serverID/db このディレクトリ内のすべてのファイルを、作成したバックアップ用のディレクトリにコピーします。slapd-serverID/bak/ の下にディレクトリを作成しないでください。これは Directory Server Console が、このディレクトリ内のバックアップがグローバルなものであると認識してしまうためです。
dse.ldif 構成ファイルのバックアップ
Directory Server は、自動的に dse.ldif 構成ファイルをバックアップします。Directory Server を起動すると、dse.ldif ファイルのバックアップが、次のディレクトリの dse.ldif.startOKファイルに自動的に作成されます。
/var/ds5/slapd-serverID/config /usr/iplanet/servers/slapd-serverID/config dse.ldif ファイルの内容を変更する場合は、サーバが dse.ldif ファイルに変更を書き込む前に、config ディレクトリの dse.ldif.bak ファイルにバックアップされます。構成を保存する必要がある場合には、いずれかのファイルのコピーを作成してください。
すべてのデータベースの復元
次に、Directory Server Console を使って、あるいはコマンド行から、ディレクトリ内のすべてのデータベースを復元するための手順を示します。
注 データベースを復元するときは、サーバが動作している必要があります。ただし、復元中にデータベースの処理を行うことはできません。
Console を使用したすべてのデータベースの復元
データベースが壊れた場合、Directory Server Console を使用して、以前作成されたバックアップからデータを復元できます。このプロセスでは、まずサーバを停止してから、データベースおよび関連するインデックスファイルをバックアップファイルからデータベースのディレクトリにコピーします。
以前に作成したバックアップからデータベースを復元するには、次の手順を実行します。
Directory Server Console で、「タスク」タブを選択します。
「Directory Server の復元」をクリックします。
「使用可能なバックアップ」リストからバックアップを選択します。あるいは、「ディレクトリ」テキストボックスに、有効なバックアップファイルの絶対パスを入力します。
- 「ディレクトリの復元」ダイアログボックスが表示されます。
「OK」をクリックすると、データベースが復元されます。
コマンド行からのデータベースの復元
次に示すスクリプトを使用すると、コマンド行からデータベースを復元できます。
bak2db コマンド (プラットフォーム上の directoryserver bak2db) を使用する。このスクリプトを使用する場合は、サーバを停止させる必要がある
bak2db.pl Perl スクリプト (Solaris 9 プラットフォーム上の directoryserver bak2db-task) を使用する。このスクリプトは、サーバが動作中でも実行できる
bak2db コマンド行スクリプトの使用
サーバの停止中にコマンド行からディレクトリを復元するには、次の手順を実行します。
Root としてコマンド行に次のコマンドを入力し、サーバを停止させます。
次の例では、デフォルトのバックアップディレクトリからバックアップを復元します。
# /usr/sbin/directoryserver stop # installDir/slapd-serverID/stop-slapd バックアップディレクトリへの絶対パスを指定して bak2db コマンドを使用します。
# /usr/sbin/directoryserver bak2db backupDir # installDir/slapd-serverID/bak2db backupDir
# bak2db /usr/iplanet/servers/slapd-siroe/bak/2001_07_01_11_34_00
bak2db.pl Perl スクリプトの使用
サーバの実行時にコマンド行を使ってディレクトリを復元するには、次の Perl スクリプトを使用します。
# /usr/sbin/directoryserver bak2db-task installDir> bin¥slapd¥admin¥bin¥perl slapd-serverID¥bak2db.pl # installDir/slapd-serverID/bak2db.pl この Perl スクリプトの使い方については、『iPlanet Directory Server 構成、コマンド、およびファイルのリファレンス』を参照してください。
次の例では、ldif2db.pl スクリプトを使用して LDIF ファイルをインポートします。
iPlanet¥Servers¥bin¥slapd¥admin¥bin¥perl.exe
iPlanet¥Servers¥slapd-siroe¥bak2db.pl
-D "cn=Directory Manager" -w password
-a ¥iPlanet¥Servers¥slapd-siroe¥bak¥2001_07_01_1 1_34_00bak2db.pl -D "cn=Directory Manager" -w password \
-a /usr/iplanet/servers/slapd-siroe/bak/checkpoint次の表に、これらの例で使用されている bak2db.pl のオプションを示します。
表 4-5 例で使用した bak2db.pl オプションの説明
-D
-w
-a
単一のデータベースの復元
次の条件を満たしている場合は、ここで説明する方法を使用できます。単一のデータベースを復元するには、次の手順を実行します。
root としてコマンド行に次のコマンドを入力し、サーバを停止させます。
# /usr/sbin/directoryserver stop # installDir/slapd-serverID/stop-slapd バックアップ内容で上書きするデータベースが置かれたディレクトリに、すべてのファイルをコピーします。データベースのディレクトリの位置は、次のとおりです。
/var/ds5/slapd-serverID/db installDir/slapd-serverID/db
- たとえば、次のように入力します。
- cp backupDir/* /usr/iplanet/servers/slap-siroe/db/databaseDir
レプリケートされたエントリを含むデータベースの復元
ここでは、サプライヤサーバおよびコンシューマサーバ上のデータベースを復元させる方法、および復元後にサプライヤとコンシューマを同期させる方法について説明します。
サプライヤレプリカの復元
ほかのサーバ (サプライヤレプリカ) にデータを提供しているデータベースを復元する場合は、復元されたデータベースから更新を受け取るすべてのコンシューマレプリカ (コンシューマサーバ、ハブサーバ、マルチマスターレプリケーション環境ではほかのサプライヤサーバ) を初期化し直す必要があります。復元されたデータベースの更新履歴ログは、復元処理中に消去されます。再初期化が必要であることを示すメッセージが、サプライヤサーバのログファイルに記録されます。
コンシューマの初期化については、第 8 章「レプリケーションの管理」を参照してください。
コンシューマレプリカの復元
サプライヤサーバ (supplier server) から受け取ったデータを含むデータベースを復元する場合、次のいずれの状況が想定されます。
サプライヤサーバでは、更新履歴ログのエントリの期限が切れていない
レプリケーション管理については、第 8 章「レプリケーションの管理」を参照してください。
ローカルバックアップ後のサプライヤサーバでは、更新履歴ログのエントリの期限が過ぎている
- ただし、更新履歴ログの最大維持期間属性で設定された値よりも短い期間内にバックアップが作成された場合に限られます。この属性は nsslapd-changelogmaxage という名前で、cn=changelog5,cn=config エントリ内に置かれます。このオプションについては、『iPlanet Directory Server 構成、コマンド、およびファイルのリファレンス』を参照してください。
- ローカル コンシューマ (consumer) を復元して通常の操作を続けることができます。ただし、コンシューマレプリカを復元中は、コンシューマサーバを停止する必要があります。コンシューマレプリカの復元中にレプリケーションが行われると、レプリケーションプロセスで多くのエラーが発生します。
- コンシューマの初期化をやり直す必要があります。コンシューマの再初期化については、「コンシューマの初期化」を参照してください。
dse.ldif 構成ファイルの復元
dse.ldif 構成ファイルを復元するには、サーバを停止してから、「単一のデータベースの復元」の手順に従って、自分のディレクトリ内に dse.ldif ファイルのバックアップコピーを作成します。データのコピーが完了したら、サーバを再起動します。次のディレクトリ内に、dse.ldif ファイルのバックアップコピーが 2 つ作成されます。
/var/ds5/slapd-serverID/config installDir/slapd-serverID/config dse.ldif.startOK ファイルには、サーバ起動時に dse.ldif ファイルのコピーが記録されます。dse.ldif.bak ファイルは、dse.ldif ファイルに加えられた最新の変更内容のバックアップが含まれます。最新の変更内容を含むファイルを自分のディレクトリにコピーします。
前へ 目次 索引 DocHome 次へ
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.
Last Updated February 26, 2002