eDirectoryツリーのマージ

eDirectoryツリーをマージするには、Novell iManagerのツリーのマージウィザードを使用します。このウィザードでは、2つのeDirectoryツリーのルートをマージできます。マージされるのはTreeオブジェクトだけです。コンテナオブジェクトとそのリーフオブジェクトは、マージ後のツリー上でもそれぞれ異なるオブジェクトとして存在します。

マージする2つのツリーはそれぞれソースツリーおよびターゲットツリーといいます。ソースツリーのマージ先ツリーがターゲットツリーです。

DSMergeを実行しても、コンテナ内のオブジェクトの名前は変わりません。オブジェクト権とプロパティ権はマージ後のツリーでも保持されます。


前提条件


ターゲットツリーの要件


スキーマの要件

マージ操作を実行する前に、2つのツリーのスキーマが正確に一致している必要があります。ツリーごとに[Root]パーティションのマスタレプリカを含むサーバでDSRepairを実行する必要があります。[リモートスキーマのインポート]オプションを使用して、各ツリーで他のツリーのスキーマがすべて認識されていることを確認します。

  1. Novell iManagerで、[役割およびタスク]ボタン[役割およびタスク]ボタンをクリックします。

  2. [eDirectoryの保守]>[スキーマの保守]の順にクリックします。

  3. スキーマメンテナンス操作を実行するサーバを指定し、[次へ]をクリックします。

  4. 指定したサーバへの認証を行い、[次へ]をクリックします。

  5. [リモートスキーマのインポート]>[次へ]の順にクリックします。

  6. スキーマのインポート元のツリー名を指定します。

  7. [開始]をクリックします。

    このオプションは、ソースツリーとターゲットツリーの両方でスキーマの違いが報告されなくなるまで実行する必要があります。そうでないとマージ操作は成功しません。

  8. スキーマメンテナンス操作から戻された情報とともに「完了」メッセージが表示されたら、[閉じる]をクリックして終了します。


ソースツリーをターゲットツリーへマージする

ツリーをマージすると、ソースツリー内のサーバがターゲットツリーに組み込まれます。

ターゲットツリーのTreeオブジェクトがソースツリー内のオブジェクトの新しいTreeオブジェクトになり、ソースツリーにあるすべてのサーバのツリー名がターゲットツリーのツリー名に変わります。

ターゲットツリー内のサーバのツリー名はマージ後も変わりません。

ソースツリーのTreeオブジェクトの下位オブジェクトは、ターゲットツリーのTreeオブジェクトの下位オブジェクトになります。


パーティションの変化

マージ実行時には、ソースツリーのTreeオブジェクトの下にあるオブジェクトがDSMergeによって複数のパーティションに分けられます。

続いて、ソースツリー内のサーバから、Treeパーティションのレプリカがマスタレプリカを除いてすべて削除されます。ソースツリーのマスタレプリカを保持していたサーバには、ターゲットツリーのTreeパーティションのレプリカが渡されます。

図 33および図 34は、2つのツリーをマージした場合のパーティションの変化を示します。

図 33
マージ前のeDirectoryツリー
図 34
マージ後のeDirectoryツリー


ソースツリーとターゲットツリーを準備する

マージ操作を開始する前に、そのマージ操作の影響を受けるすべてのサーバが安定した状態で同期していることを確認する必要があります。次の表で、マージ対象のソースツリーとターゲットツリーの準備に関する前提条件について説明します。

前提条件 必要な措置

ソースツリーまたはターゲットツリーのツリーパーティションのレプリカを保持しているすべてのサーバ上でWANMANがオフになっている。

WANMANポリシーを調べて、WAN通信の制約によるマージ操作への支障がないことを確認します。必要があれば、マージ操作を開始する前にWANMANをオフにします。

ソースツリーのツリーオブジェクトに別名またはリーフオブジェクトが存在しない。

ソースツリーのTreeオブジェクトに存在する別名またはリーフオブジェクトを削除します。

ソースツリーおよびターゲットツリーに同じ名前がない。

同じ名前がある場合には、ソースツリーまたはターゲットツリーのオブジェクト名を変更します。コンテナオブジェクト名を変更したくない場合は、コンテナの1つから同じツリー内の別のコンテナにオブジェクトを移動し、空になったコンテナをDSMerge実行前に削除します。詳細については、「オブジェクトの管理」を参照してください。

Treeオブジェクトの直下でないコンテナオブジェクトの場合は、両ツリーに同じコンテナオブジェクトがあってもかまいません。

ソースツリー上にログイン接続が存在しない。

ソースツリーのすべての接続を終了します。

ソースツリーのeDirectoryおよびターゲットツリーのeDirectoryのバージョンが同じである。

ルートパーティションのレプリカを持つ、eDirectory 8.8でないすべてのサーバをアップグレードします。

ターゲットツリー内のルートレプリカのコピーが1つである。

ターゲットツリー上の、マスタレプリカを除いたすべてのレプリカを削除します。

ソースツリーおよびターゲットツリーのスキーマが同じである。

DSMergeを実行します。出力されるレポートを見てスキーマに問題があることがわかった場合は、DSRepairを使用してスキーマを一致させます(詳細については、リモートスキーマをインポートするを参照してください)。DSMergeを再実行します。

単一のツリーだけが、ツリーのルートの下位にセキュリティコンテナを保持できる。

ソースツリーおよびターゲットツリーの両方がセキュリティコンテナを保持している場合は、NMASの注意事項で説明されている手順に従って、一方のコンテナを削除します。

マージ操作は単独のトランザクションなので、実行中に停電やハードウェアエラーが発生しても重大な障害にはつながりません。ただし、DSMergeを実行する前に、あらかじめeDirectoryデータベースの通常のバックアップをとっておくことをお勧めします。詳細については、「Novell eDirectoryのバックアップと復元」を参照してください。


マージする前の時刻の同期

重要:  時刻同期の正確な環境設定は複雑な作業です。ツリーをマージする前に、両ツリーを同期させるのに十分な時間があることを確認します。

時刻の異なる複数のタイムソースが使用されていたり、ツリー内のサーバの中に時刻が同期されていないものがあると、Novell eDirectoryは正しく機能しません。

マージを実行する前に、両ツリーにあるすべてのサーバの時刻が同期されていること、およびこれらのサーバがタイムソースとして同じタイムサーバを使用していることを確認します。ただし、ターゲットツリーの時刻は5分以内であればソースツリーの時刻より進んでいてもかまいません。

一般に、1つのツリー上に存在できるタイムサーバは、リファレンスタイムサーバまたはシングルタイムサーバのどちらか1つだけです。同様に、マージ後のツリー上に存在できるタイムサーバも、リファレンスタイムサーバまたはシングルタイムサーバのどちらか1つだけです。

マージする両ツリーのそれぞれにリファンレスタイムサーバまたはシングルタイムサーバがある場合は、どちらかのツリーの設定をもう一方のツリーにあるリファンレスタイムサーバまたはシングルタイムサーバに変更して、マージ後のツリー上でリファレンスタイムサーバまたはシングルタイムサーバが1つだけになるようにします。

タイムサーバの種類の詳細については、『Network Time Management管理ガイド』を参照してください。


2つのツリーのマージ

すべてのメニューオプションの機能を使用できるようにするには、Treeパーティションのマスタレプリカが格納されているサーバ上でDSMergeを実行します。

マスタレプリカが格納されている場所が不明な場合は、マスタレプリカを必要とする操作を実行すると、正確なサーバ名とともに表示されます。

マージ操作を実行するには、次のどちらかの方法を使用します。

大きなツリーをマージするときは、Treeオブジェクト直下にあるオブジェクトの数が少ないほうのツリーをソースツリーとして指定したほうが、処理速度が大幅に速くなります。Treeオブジェクトの直下にあるオブジェクトすべてに対して新しいパーティションが作成されるため、この方法をとると、マージ実行時に分割されるパーティションの数が少なくてすむためです。

ソースツリーの名前はマージ後には存在しなくなります。したがって、場合によっては、クライアントワークステーションの環境設定を変更する必要があります。Novell ClientTM for DOS/Windowsを使用している場合は、net.cfgファイルの優先ツリーステートメントおよび優先サーバステートメントを確認します。Novell Client for Windows NT/2000またはNovell Client for Windows 95/98を使用している場合は、クライアントのプロパティページにある優先ツリーステートメントおよび優先サーバステートメントを確認します。

優先サーバが使用されている場合は、ツリーのマージやツリー名の変更を行っても、そのクライアントは名前によってサーバにログインした状態のままなので操作による影響はクライアント側にはありません。優先ツリーが使用されている場合は、ツリーのマージやツリー名の変更を行うと、元のツリー名はなくなります。マージを行った後にはターゲットツリーの名前だけが残ります。優先ツリーの名前を新しいツリー名に変更します。

ヒント:  ターゲットツリーの名前はマージの結果作成されるツリーの名前としてそのまま残るので、アップデートする必要のあるクライアントワークステーションの数を少なくするには、クライアントワークステーションの数が多い方のツリーをターゲットツリーとして指定します。または、マージ操作の後でツリー名を変更して、最終的なツリー名が接続されているクライアントワークステーションの数が多い方のツリーに一致するようにします。詳細については、「ツリー名の変更」を参照してください。

次の前提条件の一覧を使用して、マージ操作の準備ができているか確認します。

マージプロセス自体には2、3分しかかかりませんが、次のような場合は、付随的な作業が必要になるため、マージ操作が完了するまでに要する時間が長くなります。

2つのツリーをマージするには、次を実行します。

  1. Novell iManagerで、[役割およびタスク]ボタン[役割およびタスク]ボタンをクリックします。

  2. [eDirectoryの保守]>[ツリーのマージ]の順にクリックします。

  3. ソースツリーとしてマージを実行するサーバを指定し、[次へ]をクリックします。

  4. サーバへの認証を行ってから、[次へ]をクリックします。

  5. ソースツリーの管理者ユーザ名とパスワードを指定します。

  6. ターゲットツリー名、管理者ユーザ名、およびパスワードを指定して[開始]をクリックします。

    ツリーのマージウィザードのステータスウィンドウが表示され、マージの進行状況が表示されます。

  7. マージプロセスから戻された情報とともに「完了」メッセージが表示されたら、[閉じる]をクリックして終了します。


マージ後の作業

2つのツリーをマージした後は、状況に応じて次の手順を行ってください。

  1. すべてのツリー名が正しく変更されたことを確認します。

  2. マージ操作によって作成された新しいパーティションを確認します。

    新しいツリーに小さいパーティションが多数存在する場合や、関連する情報が格納されたパーティションが複数存在する場合は、これらのパーティションをマージすることもできます。詳細については、「パーティションのマージ」を参照してください。

  3. DSMergeを実行する前にサーバをNetWare 5にアップグレードしなかった場合は、NetWare 5以外を実行しているすべてのサーバに新しいレプリカをコピーします。

  4. DSMerge実行前にリーフオブジェクトや別名をツリーから削除した場合は、ツリーにそれらのリーフオブジェクトや別名を再作成します。

  5. eDirectoryツリーのパーティション構成を調べます。

    マージ後のツリー内でのレプリカの位置はソースツリー内での位置と異なる場合があります。パーティション構成の変更や検査は慎重に行ってください。

  6. クライアントワークステーションの環境設定を更新します。

    Novell Client for DOS/Windowsを使用している場合は、net.cfgファイルの優先ツリーステートメントおよび優先サーバステートメントを確認します。Novell Client for Windows NT/2000またはNovell Client for Windows 95/98を使用している場合は、クライアントのプロパティページの優先ツリーステートメントおよび優先サーバステートメントを確認するか、またはターゲットツリーの名前を変更します。

    優先サーバが使用されている場合は、ツリーのマージやツリー名の変更を行っても、そのクライアントは名前によってサーバにログインした状態のままなので操作による影響はクライアント側にはありません。優先ツリーが使用されている場合は、ツリーのマージやツリー名の変更を行うと、元のツリー名はなくなります。マージを行った後にはターゲットツリーの名前だけが残ります。優先ツリーの名前を新しいツリー名に変更します。

ソースツリーのTreeオブジェクトのACL(アクセス制御リスト)は保持されます。したがって、このTreeオブジェクトに対してソースツリーの管理者ユーザが持つ権利は、操作後も有効です。

マージ後も、両ツリーの管理者ユーザは存在したままで、それぞれのコンテナオブジェクトによって固有のものとして識別されます。

セキュリティ上必要であれば、2つの管理者ユーザオブジェクトの一方を削除するか、両オブジェクトの権利を制限することもできます。