移行の競合を解決する
移行中、NIS サーバーが受信したユーザー アカウント、グループ、およびコンピューター名を、Active Directory ドメイン サービス (AD DS) の既存のクラスにマージしようとしたときに競合が発生する可能性があります。さらに NIS サーバーでは、ある 1 つの NIS (ネットワーク情報サービス) ドメインが、既に NIS サーバーに移行済みの別の NIS ドメインとマージできるため、競合が起きる可能性もあります。
たとえば、passwd マップ ソース ファイルを NIS サーバーに移行するとします。UNIX ユーザー名 johnwood が、移行するマップにあります。johnwood というユーザー名を持つ既存のユーザーがいない場合、このユーザーの NIS サーバーへの移行は簡単です。しかし、そのユーザー名を持つユーザーが、既に別の NIS ドメインから移行している場合は、競合が起きます。
NIS データ移行ウィザードでは、移行時に名前の競合の可能性が生じると、移行中の名前にプレフィックスを付けることでこの競合を解決します。移行中の名前がユーザー名である場合、プレフィックスは NIS ドメイン名と文字 _u_ で構成されます。移行中の名前がグループ名である場合、プレフィックスは NIS ドメインと文字 _g_ で構成されます。これにより、競合があっても移行は完了できます。
たとえば、mktg という名前の NIS ドメインにある johnwood という名前のユーザーを移行する場合、既に同じ名前のユーザーが別のドメインから移行されている場合は、移行時に mktg ドメインのユーザー名 johnwood は mktg_u_johnwood に変更されます。
競合が発生した場合、移行ログを調べて個別の競合をどのように処理するかを判断します。競合している名前が、両方のドメインにある同じユーザーやグループを表すのか、それとも別のユーザーやグループを表すのかを考慮します。別のユーザーやグループの場合、どちらか一方または両方の名前を変更することをお勧めします。それらの名前が実際に同一のユーザーまたはグループを表している場合、そのユーザーやグループが両方のドメインに存在する必要があるのか (この場合、少なくともそれらのうちの 1 つの名前を変更する必要があります)、またはどちらか一方のドメインにあるユーザーやグループを削除できるのかを判断する必要があります。
ドメインの移行が発生してから競合に対処するのではなく、競合が起こらないようにすることができます (たとえば、NIS ドメインのユーザーまたはグループの名前を変更するなど)。
NIS データ移行ウィザードの既定では、テスト移行が実行されます。この処理中には、NIS ドメインを AD DS に移行するために必要な手順がすべて実行されますが、実際には AD DS は変更されません。予想される移行結果はログ ファイルに記録されます。競合の可能性が見つかった場合は、実際に移行する前に競合を解決することができます。
テスト移行または実際の移行中に同一名が検出されたときは、その競合を conflicts ファイルに記録することができます。このファイルには、マップの移行中に発生する競合の一覧が記録されます。競合が発生した場合、conflicts ファイルには移行対象の NIS エントリおよび AD DS にある既存のエントリがリストされます。次の例では、conflicts ログ ファイルは、passwd ファイルの移行中に競合が発生しなかったことを示しています。
-------------- ## Tue Jun 1 16:22:47 1999 : Conflicts between entries from map file 'passwd' and existing entries in Active Directory. ## -------------
次の例で、conflicts ログ ファイルは、マップの移行中に競合が発生したことを示しています。AD DS 中の既存のエントリと、既存のエントリと競合する移行対象の新しいエントリが出力されています。
------------- ## Tue Jun 1 16:22:52 1999 : Conflicts between entries from map file 'aliases' and existing entries in Active Directory. ## EXISTS : having DN = 'CN=al1,CN=nisadmin,CN=DefaultMigrationContainer,DC=nis, DC=sfu,DC=nttest,DC=microsoft,DC=com' OLD : staff:wnj,mosher,sam NEW : staff:pradeep,peter,wjs -------------
ファイルによると、staff マップが既に AD DS に存在しています。AD DS のエントリは、追加する新しいエントリとは異なります。エイリアス staff の名前を、 AD DS またはマップ ソース ファイル (NIS マップ データベースのコンパイル元であるテキスト形式のファイル) のいずれかで変更できます。さらに、NIS データ移行ウィザードを使用して、既存のエントリを強制的に保持または置換できます。
conflicts ファイルに加えて、すべての移行操作が記録されるログ ファイルを指定することができます。以下に、移行操作ログ ファイルの出力例を示します。
## Start of NIS to Active Directory migration of 'passwd' @ Tue Jun 1 16:26:21 1999 ## MESSAGE : Migrating 'passwd' entries from UNIX NIS domain 'nis01' to Active Directory domain 'CorpDomain.' SUCCESS : Migration of object 'nis0101' of class 'User' into 'LDAP://localhost/CN=Users,DC=nis,DC=sfu,DC=nttest,DC=microsoft,DC=com'. SUCCESS : Migration of object 'nis0102' of class 'User' into 'LDAP://localhost/CN=Users,DC=nis,DC=sfu,DC=nttest,DC=microsoft,DC=com'. ## Start of NIS to Active Directory migration of 'passwd' @ Tue Jun 1 16:41:46 1999 ## MESSAGE : Migrating 'passwd' entries from UNIX NIS domain 'conflicts' to Active Directory domain 'conflicts'. CONFLICT : Can't migrate 'nis0101' to 'LDAP://localhost/CN=Users,DC=nis,DC=sfu,DC=nttest,DC=microsoft,DC=com'. An object having same attributes(name/uidNumber/gidNumber) exists at 'CN=nis0101,CN=Users,DC=nis,DC=sfu,DC=nttest,DC=microsoft,DC=com'.