Chyba při ruční replikaci doménových řadičů „The target principal name is incorrect“

Po ověření příkazem

 

dcdiag

 

také generuje chyby

 

[Replications Check, domenovy_radic] A recent replication attempt failed: From fsmo_radic to domenovy_radic
Naming Context: DC=ForestDnsZones, DC=domena, DC=cz
The replication generated an error (1256):

 

The KDC could not find the SPN for the server fsmo_radic.
This can be for several reasons:

 

 (1) – The SPN is not registered on the KDC (usually fsmo_radic). Check that the SPN is registered on at least one other server besides fsmo_radic, and that replication is progressing between this server and the KDC. The rool repadmin/syncall can be used for this purpose.

 

Příčiny (2) – deleted server, (3) – reclaim nebo (4) – nová IP adresa FSMO pro tuto chvíli nebudeme řešit.

 

A obecně výmluvná hláška z dcdiag výpisu:

 

REPLICATION-RECEIVED LATENCY WARNING

 

která upozorňuje na příliš dlouhou dobu od poslední synchronizace mezi doménovými řadiči.

 

Kontrola toho, který doménový řadič je role hlavního operačního serveru emulátoru primárního řadiče domény (česky a jednoduše, kdo drží roli FSMO)

 

netdom query fsmo

 

V případě, že FSMO je postižený řadič, je dobré před dalšími kroky přiřadit roli FSMO jinému doménovému řadiči (v „Active Directory Users and Computers“ pravý klik na doménu a z kontextové nabídky zvolit „Operations Masters“ a provést změnu RID, PDC a Infrastructure). Pokud FSMO již není dostupný, změna role nemůže být provedena – nelze migrovat odněkud, kam nelze navázat připojení. Co s tím? Viz níže sekce Underground.

Na serveru, který generuje tuto chybu je třeba zakázat službu Kerberos KDC. Průvodním jevem, který se může obejvit v souvislosti s chybovou hláškou, je neexistence DNS zóny na primárním DNS serveru.

Po zákazu služby Kerberos Key Distribution Center je třeba doménový řadič restartovat. Není snad třeba dodávat, že tohle řešení počítá s přítomností více doménových řadičů v doméně, jinak by, spolu se zákazem služby, došlo ke zhroucení ověřování doménových uživatelů a služeb.

Po restartu (který může trvat desítky minut i déle – „Preparing network connections…“ a může skončit vynuceným resetem Windows serveru) je třeba obnovit relace (secure communication channels) mezi FSMO a ostatními doménovými řadiči, a to na DC, které není držitelem FSMO.

 

netdom resetpwd /server:fsmo_radic /userd:domena\administrator /passwordd:heslo_admina

 

Ještě předtím ale kontroluji výpis z dcdiag, který zařve na selhání replikace. Příčinou je  vypnutá služba KDC a ztráta spojení přes secure channel s druhým doménovým řadičem.

 

Warning: fsmo_radic is not avertising as a Key Distribution Center

The account fsmo_radic is not trusted for delegation. It cannot replicate.

 

Tak, po spuštění předchozího příkazu můžete obdržet hlášku o neúspěšné operaci. Zkuste do přepínače /server napsat místo jména serveru jeho IP adresu. FSMO totiž zřejmě nevidí DNS. Nyní se pokuste manuálně vyžádat replikaci mezi řadiči (konzole „Active Directory Sites and Services“). Obdrželi jste hlášku „The following error occured during the attempt to synchronize naming context trcz.cz from domain controller domenovy_radic to domain controller fsmo_radic: Access is denied. This operation will not continue.“? Zrestartujeme fsmo_radic.

 

 

Underground:

V případě, že FSMO není nahozený nebo stagnuje při bootování ve fázi, kdy pokus o převzetí dominantní úlohy pro RID, PID a Schema selhává na hlášce „The transfer of the operations master role cannot be performed because: The requested FSMO operation failed. The current FSMO holder could not be contacted.“, nekončí svět ;-). Čeká nás operace, kterou amíci nazývají „Seizure of the RID master role“ resp. „Seizure of the FSMO roles“.

Předem upozorňuji, že tato operace je uváděna jako opravdu poslední možnost, kdy už není možné jiným způsobem donutit FSMO ke spolupráci. Tj. pokud FSMO není delší dobu k dispozici a nepočítá se s jeho znovuzprovozněním v síti (alespoň do přeformátování jeho systémového disku). Tomuto věnujte opravdu velkou pozornost. Zanedbáním tohoto pravidla může (a věřte, že bude) docházet k duplicitě rolí Operations Masters, což může vést (a věřte, že povede) k poškození datové struktury Active Directory – hovořím z vlastní zkušenosti, kdy starý ex-FSMO zůstal v racku a po výpadku proudu sám naběhl. Výsledkem byla ztráta DNS zóny na primárním DNS serveru a nefunkční Microsoft Exchange. Ale dost doomsayingu J pojďme se trochu pozitivně namotivovat. Čeká nás přece netradiční zážitek.

 

A jedna shrnující otázka a odpověď:

Jaký je rozdíl mezi operací „seizure“ a „transfer“? Transfer je migrace FSMO mezi řadiči, které jsou ok a online, seizure se užívá v případě, kdy FSMO je offline a druhý řadič online.

 

Co se vlastně během sejzůry děje?

Nový FSMO nebude kontrolovat stav meziřadičové replikace, takže aktuální změny nebudou zaznamenány. Řadiče spolu nekomunikují, nekooperují.

 

Co ještě raději zkontrolovat před sejzůrou?

Každopádně prověřte, co na dosavadním FSMO řadiči kromě AD, DNS jede. Např. DHCP, časová nebo certifikační autorita, nějaké sdílení dat nebo další služby. Máte podrobnou dokumentaci serverové infrastruktury?

 

Nyní vypněte fsmo_radic.

 

Co je zakázáno provozovat na původním serveru a co je nutné udělat jinak je popsáno v tabulkách na konci tohoto článku (http://www.petri.co.il/seizing_fsmo_roles.htm), nad nimiž je také tabulka rizik spojených s nedostupností jednotlivých rolí v doméně. Tato rizika popisuje také tento článek na Technetu (http://technet.microsoft.com/en-us/library/cc780487(WS.10).aspx#w2k3tr_adops_how_qomy), tabulka „Operations Master Role Functionality Risk Assessment“.

 

Takže, prostřednictvím GUI lze role PDC a Infrastructure seiznout snadno, pouze nás systém upozorní, že to není korektní postup. Ale co už, potřebujeme to. Co se týče převzetí RID, na to je GUI krátké a potřebujeme další ze sady CLI nástrojů – ntdsutil. GUI nám zahlásí „The transfer of the operations master role cannot be performed because: The requested FSMO operation failed. The current FSMO holder could not be contacted.“. Aby ne, když je jsme ho vypnuli.

 

Nyní si na druhém řadiči spustíme CLI a zadáme příkaz „ntdsutil“. Tím se dostaneme do rozhraní utility a zadáváme další informace, dle pokynů:

 

ntdsutil: roles 
fsmo maintenance: connections
server connections: connect to server domenovy_radic
Binding to domenovy_radic …
Connected to domenovy_radic using credentials of locally logged on user.
server connections: q
fsmo maintenance: transfer RID master

 

Hláška žádá o potvrzení operace převodu, jasné OK. Pokud se vyskytne chyba typu „ldap_modify_sW error 0x34(52 (Unavailable).“ atd. a transfer neproběhne, použijeme donucovací prostředek. Namísto „transfer“ použijeme „seize“. Ted:

 

fsmo maintenance: seize RID master

 

Výsledkem budou obdobné chybové hlášky ve výpisu okna (protože i přes silový příkaz „seize“ se utilita nejdříve pokouší o transfer, protože pro některé rolem např. „infrastructure master“ není nutná kooperace s vypnutým FSMO a proběhne pouze na základě příkazu „transfer“), nicméně převzetí role proběhne, opět viz výpis okna:

 

RID – CN=NTDS Settings, CN=domenovy_radic, CN=Servers, CN=Default-First-Site-Name, CN=Sites, CN=Configuration, DC=domena, DC=cz

 

Obdobně postupujeme u dalších „neposlušných“ rolí (Schema atp.). Pokaždé, když budete mít pochybnosti o tom, jestli jste nějakou roli nepřehlédli, vypište si možnosti příkazů „seize“ nebo „transfer“:

 

fsmo maintenance: ?

 

Pomocí ntdsutil lze převést všech pět rolí – ve výpise by měla být hláška:

 

Server „domenovy_radic“ knows about 5 roles

 

Nyní odeberte starý fsmo_radic z domény. A doporučení, nepřiřazujte FSMO řadiči roli globálního katalogu (GC). Pokud FSMO běží na serveru globálního katalogu, přestává aktualizovat informace o objektech, protože neobsahuje žádné odkazy na objekty, které neudržuje. Server globálního katalogu totiž udržuje částečné repliky všech objektů v doménové struktuře.

 

Otestovat přítomnost GC lze přes

 

Active directory Sites and Services > Sites > Default-First-Site-Name > Servers > domenovy_radic > NTDS Settings

 

Pravé tlačítko, „Properties“ a zkontrolovat zaškrtávací políčko „Global Catalog“.

 

Zdroje:

http://support.microsoft.com/kb/288167 – popis problematiky synchronizace DC

Windows Server 2003 Resource Kit

Windows Server 2003 Service Pack 2 Support Tools

http://technet.microsoft.com/en-us/library/cc780487(WS.10).aspx – před zásahem do FSMO struktury domény je dobré si přečíst, jak to celé vlastně funguje a co vše je tím ovlivněno

http://www.petri.co.il/understanding_fsmo_roles_in_ad.htm – a zde podobný popis FSMO, tentokrát psaný srozumitelnější lidštinou

http://www.petri.co.il/transferring_fsmo_roles.htm – konvenční přesun rolí FSMO

http://www.petri.co.il/seizing_fsmo_roles.htm – a nekonvenční přesun rolí FSMO (!)

http://technet.microsoft.com/en-us/library/cc961808.aspx – problémy při replikacích mezi doménovými řadiči

http://support.microsoft.com/kb/255504 – použití nástroje ntdsutil.exe

 

Použité aplikace:

adsiedit.msc
dcdiag
netdom
ntdsutil