FSMOの役割を他のドメインコントローラに強制する – Active Directory on AWS(5)

はじめに

前回まではこちらです。

さて前回、最初のドメインコントローラ(dc1)から2台目のドメインコントローラ(dc2)に、FSMOの役割を移行しました。現時点での構成は以下の通りです。

AWS_Simple_Icons_2_2_light_edition_pptx

ここでちょっと、dc2がいる右のAZに隕石を当ててみましょう(参考)

ad_txt_と_AWS_Simple_Icons_2_2_light_edition_pptx

さぁ大変です。FSMOが無くなってしまいました!こんな時どうしたらいいのでしょうか。

と、いうことで。今回はFSMOの役割を持ったDCに障害が発生してしまったと想定し、dc1にFSMOの役割を強制します。

やったこと

事前確認

さて、再確認です。PowerSchellntdsutilで確認すると、dc2がFSMOの各役割を持っていることが分かります。

PS C:\Users\Administrator> ntdsutil
C:\Windows\system32\ntdsutil.exe: roles
fsmo maintenance: select operation target
select operation target: connections
server connections: connect to domain smokeymonkey.local
Binding to \\DC1.smokeymonkey.local ...
Connected to \\DC1.smokeymonkey.local using credentials of locally logged on user.
server connections: quit
select operation target: list roles for connected server
Server "\\DC1.smokeymonkey.local" knows about 5 roles
Schema - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Naming Master - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
PDC - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
RID - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Infrastructure - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
select operation target: quit
fsmo maintenance:

FSMOの役割を強制してみる

ではやってみます。FSMOの役割を強制するにはntdsutilで「seize」コマンドを実行します。まずはスキーママスタからやってみましょう。

fsmo maintenance: seize schema master

すると以下のように、役割を奪い取って良いかという確認画面が表示されます。[はい]をクリックします。

Windows_7_x64

すると以下のように処理が行われます。「Transfer of schema FSMO failed, proceeding with seizure」と出力された通り、まずは普通に役割を転送しようとするのですが、dc2は隕石の下敷きになってしまったので転送出来ません。このため役割を強奪(seizure)しています。"Schema"行のCNがDC1に変わったことが確認出来ます。これでスキーママスタがdc1に強制されました。

Attempting safe transfer of schema FSMO before seizure.
ldap_modify_sW error 0x34(52 (Unavailable).
Ldap extended error message is 000020AF: SvcErr: DSID-0321040C, problem 5002 (UNAVAILABLE), data 1722

Win32 error returned is 0x20af(The requested FSMO operation failed. The current FSMO holder could not be contacted.)
)
Depending on the error code this may indicate a connection,
ldap, or role transfer error.
Transfer of schema FSMO failed, proceeding with seizure ...
Server "\\DC1.smokeymonkey.local" knows about 5 roles
Schema - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Naming Master - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
PDC - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
RID - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Infrastructure - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
fsmo maintenance:

それでは同じように、他のFSMO役割も強制していきましょう。ドメイン名前付けマスタ(naming master)を強制します。

fsmo maintenance: seize naming master

Windows_7_x64 3

Attempting safe transfer of domain naming FSMO before seizure.
ldap_modify_sW error 0x34(52 (Unavailable).
Ldap extended error message is 000020AF: SvcErr: DSID-0321040C, problem 5002 (UNAVAILABLE), data 1722

Win32 error returned is 0x20af(The requested FSMO operation failed. The current FSMO holder could not be contacted.)
)
Depending on the error code this may indicate a connection,
ldap, or role transfer error.
Transfer of domain naming FSMO failed, proceeding with seizure ...
Server "\\DC1.smokeymonkey.local" knows about 5 roles
Schema - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Naming Master - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
PDC - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
RID - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Infrastructure - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
fsmo maintenance:

PDCエミュレータ(pdc)を強制します。

fsmo maintenance: seize pdc

Windows_7_x64 2

Attempting safe transfer of PDC FSMO before seizure.
ldap_modify_sW error 0x34(52 (Unavailable).
Ldap extended error message is 000020AF: SvcErr: DSID-03210604, problem 5002 (UNAVAILABLE), data 1722

Win32 error returned is 0x20af(The requested FSMO operation failed. The current FSMO holder could not be contacted.)
)
Depending on the error code this may indicate a connection,
ldap, or role transfer error.
Transfer of PDC FSMO failed, proceeding with seizure ...
Server "\\DC1.smokeymonkey.local" knows about 5 roles
Schema - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Naming Master - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
PDC - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
RID - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Infrastructure - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
fsmo maintenance:

RIDマスタ(pdc)を強制します。

fsmo maintenance: seize rid master

Windows_7_x64 4

Attempting safe transfer of RID FSMO before seizure.
ldap_modify_sW error 0x34(52 (Unavailable).
Ldap extended error message is 000020AF: SvcErr: DSID-03210EC0, problem 5002 (UNAVAILABLE), data 1722

Win32 error returned is 0x20af(The requested FSMO operation failed. The current FSMO holder could not be contacted.)
)
Depending on the error code this may indicate a connection,
ldap, or role transfer error.
Transfer of RID FSMO failed, proceeding with seizure ...
Searching for highest rid pool in domain
Server "\\DC1.smokeymonkey.local" knows about 5 roles
Schema - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Naming Master - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
PDC - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
RID - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Infrastructure - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
fsmo maintenance:

インフラストラクチャマスタ(pdc)を強制します。

fsmo maintenance: seize infrastructure master

Windows_7_x64 5

Attempting safe transfer of infrastructure FSMO before seizure.
ldap_modify_sW error 0x34(52 (Unavailable).
Ldap extended error message is 000020AF: SvcErr: DSID-0321040C, problem 5002 (UNAVAILABLE), data 1722

Win32 error returned is 0x20af(The requested FSMO operation failed. The current FSMO holder could not be contacted.)
)
Depending on the error code this may indicate a connection,
ldap, or role transfer error.
Transfer of infrastructure FSMO failed, proceeding with seizure ...
Server "\\DC1.smokeymonkey.local" knows about 5 roles
Schema - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Naming Master - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
PDC - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
RID - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
Infrastructure - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local
fsmo maintenance:

これで全てのFSMOの役割がdc1に強制されました!

さいごに

さて、これで終わりではありません。Active Directoryのデータベースの中にはまだdc2の情報が残ってしまっていますので削除する必要があります。次回は障害が発生したドメインコントローラの情報をActive Directoryから削除したいと思います。