ロールフォワードログとは、他のデータベース製品でいう「ジャーナル」に相当する機能です。ロールフォワードログ(RFL)は、データベースの変更をすべて記録したものです。
ロールフォワードログを使用する利点は、最後のフル/インクリメンタルバックアップ以降の変更履歴が得られるため、障害で停止する直前の状態にまでeDirectoryを復元できることです。ロールフォワードログを使用しないと、最後のフル/インクリメンタルバックアップを取った時点までしかeDirectoryを復元できません。
eDirectoryは、トランザクションをデータベースに反映する前に、その操作内容をログファイルに記録するようになっています。デフォルトでは、ログファイルはディスク容量の節約のために次々に重ね書きされるようになっているため、eDirectoryの変更履歴は残りません。
継続的にロールフォワードログを取る設定にすると、変更履歴が連続したロールフォワードログファイルに保存されます。ロールフォワードログはサーバの性能には影響がありません。eDirectoryがすでに作成しているログファイルのエントリを単に保存するだけです。
レプリカリングに属するサーバは、ロールフォワードログ機能を有効にしておく必要があります。バックアップファイルがあっても、ロールフォワードログがなければ復元後の検証処理に失敗し、データベースを開けないことになります。他のサーバとレプリカを共有するデータベースは、停止直前の状態にまで復元しない限りデフォルトではオープンされません。ロールフォワードログがない場合は、復元後の検証処理に失敗した場合の対処方法で説明する手順で復旧してください。
ロールフォワードログの機能は、デフォルトでは無効になっています。サーバで必要に応じて有効に切り替えてください。ロールフォワードログは、サーバの復元作業を実行すると再び無効になり、設定がデフォルトに戻ります。このため復元後に再び有効にし、設定を再作成した上で、改めてフルバックアップを取ってください。フルバックアップが改めて必要となるのは、スケジュールに従って次に無人でのフルバックアップが取られるまでに、再び障害が起こる可能性があるためです。
単一サーバ環境ではロールフォワードログがなくても構いません。しかしロールフォワードログがあれば、最後のバックアップ時ではなくシステム停止直前の状態に復元できます。
ロールフォワードログをオンにする場合、ディスクの空き容量は常に監視している必要があります。詳細については、「ロールフォワードログのバックアップと削除」を参照してください。
このセクションでは、次のトピックについて説明します。
ロールフォワードログ機能の切り替えや設定には、iManagerまたはeMBox Clientを使います。iManagerによるロールフォワードログの設定またはeMBoxクライアントによるロールフォワードログの設定を参照してください。
継続的にロールフォワードログ機能を使用する場合、次のような点に注意してください。
バックアップ処理の実行前にロールフォワードログ機能を有効にしておかないと、 データベースの復元に利用することはできません。
障害に備えるため、eDirectoryとは別の記憶デバイスにロールフォワードログを保存するようにしてください。 セキュリティを考慮すれば、ログへのアクセス権も制限する必要があります。詳細については、「ロールフォワードログの保存先」を参照してください。
ロールフォワードログの保存先を文書に記録しておいてください。 詳細については、「ロールフォワードログの保存先」を参照してください。
ログの保存先のディスクの空き容量を常に監視している必要があります。 詳細については、「ロールフォワードログのバックアップと削除」を参照してください。
ロールフォワードログ機能が無効になっていたり、ログファイルを損失した場合は、有効に切り替えた後、改めてフルバックアップを取ってください。 そうしなければ完全に復元できなくなる恐れがあります。次のような状況の場合に必要です。
ストリームファイルのログ機能を有効にすると、ディスクの空き容量が急速に減少します。 ストリームファイル(ログインスクリプトなど)のログ出力を有効にすると、変更があるたびに、ストリームファイル全体がロールフォワードログに複写されるためです。ストリームファイルのログ出力を無効にし、フル/インクリメンタルバックアップの際にのみストリームファイルをバックアップすると、ログファイルが大きくなるのを遅らせられます。
データベースの復元で最も時間を要するのは、ロールフォワードログを参照する処理です。 ロールフォワードログの容量は、ツリー構造に対して施された更新の回数に応じて増え、ストリームファイル(ログインスクリプトなど)のログ出力を有効にするとさらに増えます。
データベースが頻繁に更新されるようであれば、バックアップの頻度を上げることも検討するとよいでしょう。こうすると、復元処理の過程でロールフォワードログを参照する処理が少なくなります。
ログファイル名を変更しないでください。 ログが作成されたときとファイル名が異なる場合、ログファイルは復元処理には使用できません。
eDirectoryを削除するとロールフォワードログもすべて消えてしまいます。 いったんデータベースを削除した後、ログファイルを使って復元するのであれば、eDirectoryを削除する前に、別の場所にコピーしておいてください。
復元が必要な場合は、復元処理の終了後にそのサーバのロールフォワードログ設定を再作成してください。 この機能を有効にし、ログの保存先を安全な場所に設定します。ロールフォワードログを有効にしてから、改めてフルバックアップも取る必要があります。
この手順が必要となるのは、復元処理の過程で、ロールフォワードログに関する設定はデフォルトに戻るためです。つまり、ロールフォワードログ機能は無効となり、保存先もデフォルトの場所になるからです。フルバックアップが改めて必要となるのは、スケジュールに従って次に無人でのフルバックアップが取られるまでに、再び障害が起こる可能性があるためです。
ロールフォワードログ機能を有効にした場合、その保存先を、eDirectoryとは別の記憶デバイスに変更します。
保存先を設定する上で、次の点に注意してください。
保存先をデフォルトの場所のままにはせず、eDirectoryとは別の記憶デバイス上に設定し直してください。 こうしておけば、デバイス障害のためにeDirectoryが失われても、復元のためにロールフォワードログにアクセスできます。
たとえばNetWareの場合、デフォルトの保存先はsys:_netware\nds.rfl\です。ただし、ロールフォワードログ機能を有効にしたら、デフォルトの保存先を使用しないでください。eDirectoryデータベースが保存されているsys:ボリュームにログを保存しないでください。
サーバに記憶デバイスがひとつしかない場合、デバイス障害が起こればロールフォワードログも消えてしまうので、障害対策としては役に立ちません。この機能はロールフォワードログを使用しないでおく方法もあります。
ロールフォワードログの保存先を変更するには、iManagerのバックアップ環境設定画面、またはeMBox Clientのsetconfigコマンドを使用してください。ロールフォワードログはサーバ上のローカルファイルとして保存する必要があります。
保存先を記録してください。 ロールフォワードログの保存先を記録して、サーバのデータベースの復元が必要なときに見つけられるようにしてください。これはサーバが正常で障害が発生する前に実行することが重要です。
サーバが正常に動作していれば、iManagerのバックアップ環境設定画面、またはeMBox Clientのgetconfigバックアップオプションで調べることができます。ただしハードウェア障害などでeDirectoryが使えない状態になると、この方法でロールフォワードログの場所を調べることはできません。
サーバに障害が発生し、それを復元する場合は、eDirectoryを新たにインストールすると、ロールフォワードログの保存先設定はデフォルトの場所に戻ります。このため、復元作業のためにeDirectoryを再インストールしたとしても、サーバの停止前にロールフォワードログをどこに保存していたか、eDirectoryで調べることはできません。その場合は記録を参照して位置を調べる必要があります。
ロールフォワードログの保存先設定は、_ndsdb.iniファイルにも記録されています。しかしこれはeDirectoryと同じディスクパーティション/ボリュームにあるため、eDirectoryがある記憶デバイスに障害が起これば、ログの保存先を調べるために_ndsdb.iniファイルを使用することはできません。
ロールフォワードログの保存先へのアクセス権を制限してください。 これはセキュリティ上の問題です。見ただけで中身がわかるような形式にはなっていませんが、デコードは可能なため、重要なデータが漏洩する恐れがあります。
ディスクの空き容量が充分かどうか、常に監視している必要があります。 「ロールフォワードログのバックアップと削除」を参照してください。
ロールフォワードログ専用のディスクパーティション/ボリュームを用意するのが最善です。 こうしておけば、ディスク容量やアクセス権を監視しやすくなります。
ログの保存先パスのうち、一番深い階層のディレクトリ名はeDirectoryによって作成されます。 この名前は現在のeDirectoryデータベース名に基づいて決まります。
たとえばログの保存先を「d\Novell\NDS\DIBFiles」と指定した場合、eDirectoryデータベース名が「NDS」であれば、実際の保存先ファイルは「d:\Novell\NDS\DIBFiles\nds.rfl」となります。データベースの名前をNDSからND1に変更した場合、ロールフォワードログのディレクトリはd:\Novell\NDS\DIBFiles\nd1.rflに変更されます。
保存先の設定を変えるとその時点で新しいディレクトリができますが、ログファイルは実際にトランザクションが発生するまで作成されません。
復元の際は、必要なロールフォワードログをすべて同じディレクトリに集めます。 詳細については、「復元処理の準備」を参照してください。
放置しておけばロールフォワードログは次々に蓄積され、ディスクパーティション/ボリュームがいっぱいになります。ディスク容量が不足してロールフォワードログを作成できない場合は、eDirectoryはそのサーバに対して応答しなくなります。定期的にログファイルをバックアップし、サーバからは削除するようにして、常に充分なディスク容量を確保するようお勧めします。
削除しても構わないロールフォワードログを判別し、バックアップを取った上で削除するには、次の手順に従います。
「最後に使用済みになった」ロールフォワードログ名を調べてください。
最後の使用済みロールフォワードログの名前は、次のような方法で調べることができます。
「最後に使用済みになった」ロールフォワードログとは、トランザクション履歴の記録が終わり、今は書き出しをしていないログファイルのうち、最新のものを表します。現在は別のもっと新しいログファイルに書き出しているため、オープンしておく必要がないので、「最後に使用済みになった」ロールフォワードログと呼ばれます。一方、現在でもトランザクション履歴を書き出しているログは「使用中」で、データベースに必要なものです。
ファイルシステムのバックアップ機能を使って、ロールフォワードログをテープに保存してください。
「最後に使用済みになった」ものよりも古いロールフォワードログを削除してください。
警告: ロールフォワードログを削除する際にはより注意を払い、削除しようとするファイルが確実にバックアップされているか、繰り返し確認してください。
「最後に使用済みになった」とは、既にクローズされており、今では履歴の記録をしていないことを表します。サーバから削除しても構わないという意味ではありません。まだテープにバックアップしていないファイルは削除しないようにしてください。
テープに保存してあるロールフォワードログを復元のために使う場合は、次の点に注意してください。