When we are working with Active Directory sometimes we are told to promote Domain Controller to Global Catalog (GC) server.
We all know how to promote DC to GC. Detailed procedure is given here.
If the Active directory database size is large then it will take many hours to replicate all the partitions to the newly designated Global Catalog server. For a database of around 13 GB it will take around 8-9 hrs to mark the server as Global Catalog Server. But big question is how do you know that replication is in progress and everything is running fine as per your plan? Short answer – Keep checking the size of NTDS.DIT file every 15 minutes or so which should keep increasing and finally completing the replication process.
Also you can keep checking Directory Service event log in event viewer. It will display couple of events with event ids – 1927,1110, 1128 and 1578. Once DC has promoted to GC you will see event id 1119 which will say that DC has become GC successfully.
Out of all events above there is a event id – 1578 which will keep popping up every 30 minutes which might scare you at first instant. This informational event id says that Promotion is delayed because occupancy requirements are not met. How do we know that everything is under control and there is no need to panic at this step?
Contents of event id 1578 are given below.
Promotion of the local domain controller to a global catalog has been delayed because the directory partition occupancy requirements have not been met. The occupancy requirement level and current domain controller level are as follows.
Occupancy requirement level:
Domain controller level:
The following registry key value defines the directory partition occupancy requirement level.
Registry key value:
HKeyLocalMachine\System\ CurrentControlSet\Services\NTDS\Parameters\Global Catalog Partition Occupancy
Higher occupancy requirement levels include the lower levels. The levels are defined as follows:
(0) Indicates no occupancy requirement.
(1) Indicates at least one read-only directory partition in the site has been added by the Knowledge Consistency Checker (KCC).
(2) Indicates at least one directory partition in the site has been fully synchronized.
(3) Indicates all read-only directory partitions in the site have been added by the KCC (at least one has been synchronized).
(4) Indicates all directory partitions in the site have been fully synchronized.
(5) Indicates all read-only directory partitions in the forest have been added by the KCC (at least one has been synchronized).
(6) Indicates all directory partitions in the forest have been fully synchronized.
This event id lists a registry value “Global Catalog Partition Occupancy” which specifies how many partitions must be fully replicated to the GC before it is considered ready.
Now comes another shock. You navigate to this registry path – HKLM\System\CurrentControlSet\Services\NTDS\Parameters\ , and you see that “Global Catalog Partition Occupancy” value is not available which again puts you in very very scary position when you initiate promoting DC to GC.
I have browsed couple of documentation for this behaviour and found out a Microsoft document (Understanding and Troubleshooting Directory Access) which says to add above registry value for Exchange 2000 environments in while promoting DC to GC. So do we have to manually add this registry value in case if it is not there ? Before performing this step of adding “Global Catalog Partition Occupancy” value in registry please make sure to check below 3 things.
1. Make sure that there are no replication errors by running “repadmin /replsum” command. Resolve all the replication errors if any.
2. Run command “dcdiag /s: DC Name /v /f:path of log file ” to check any issues with Domain Controller.
3. Verify size of NTDS.DIT at location C:\Windows\NTDS folder in case database is configured on C:\ or at location where it is configured. The size of AD database -NTDS.DIT should increase constantly.
If you have checked last step and size of database is growing continuously then there is no need of configuring “Global Catalog Partition Occupancy” value in registry. I have personally not added this registry value and I was able to successfully promote my Windows 2003 R2 DC to GC. Once DC is successfully promoted event id 1119 appears in DS event log confirming that DC has taken a role of GC.
Troubleshooting steps for this process are here.
Some commands which can be used when completing this activity are given below:
- nltest /dclist:Domain Name – List all the domain controllers in a domain with each name of site where each DC belongs to.
- nltest /dsgetdc:Domain Name /server:Domain Contoller Name – Lists all the roles which are assigned to Domain Controller. It will list GC as role under Flags section indicating that DC is Global Catalog server.
- Repadmin /kcc – To force KCC on DC to immediately recalculate replication topology.
- Repadmin /replsum – Check for any replication errors with replication partners basically replication summary.
You can learn more about Global Catalog here.