Restore DFS namespace

Restore DFS namespace via Active Directory Deleted Objects.

Wat te doen als iemand per ongeluk met de DFS Management MMC een Namespace verwijdert. Het betreft een domain-based DFS en deze “wijziging” is dus ook meteen in Active Directory opgeslagen en gerepliceerd naar de overige Domain Controllers in het netwerk.

Replicatie controleren

Domain-based DFS wil zeggen dat de DFS configuratie wordt opgeslagen in Active Directory en niet alleen in het lokale register van de server waarop een standalone DFS is geconfigureerd. De gegevens worden in blob bestanden onder CN=Dfs-Configuration,CN=System,DC=domain,DC=local . Om zeker te weten dat een restore van de DFS configuratie gaat lukken is het vereist dat de replicatie goed werkt, zodat ook de gegevens onder CN=Dfs-Configuration  worden gerepliceerd. Een handig commando daarvoor is repadmin /replsummary  (http://technet.microsoft.com/en-us/library/cc835092):

C:\Users\admin> repadmin /replsummary
Replication Summary Start time: 2013-09-20 15:54:50

Beginning data collection for replication summary, this may take awhile:
  ......


Source DSA          largest delta       fails/total %%     error
DC01                       58m:27s       0 /  10    0
DC02                       03m:47s       0 /  10    0
DC01                       58m:27s       0 /  10    0


Destination DSA     largest delta       fails/total %%     error
DC01                       03m:47s       0 /  10    0
DC02                       58m:27s       0 /  10    0
DC01                       01m:10s       0 /  10    0

Bij de klant waar de DFS Namespace verwijderd was, bleek dat de replicatie niet goed liep. Na onderzoek bleek dat op één Domain Controller kort daarvoor een snapshot was teruggezet. Als gevolg daarvan was de replicatie disabled:

C:\Users\admin> repadmin /options

Repadmin: running command /options against full DC DC01.domain.local
Current DSA Options: IS_GC DISABLE_INBOUND_REPL DISABLE_OUTBOUND_REPL

Tegelijkertijd bleek de Netlogon service gepauzeerd en stond in het register de waarde HKLM\System\CurrentControlSet\Services\NTDS\Parameters\DSA not writable op 4. De betekenis van deze waarde wordt uitgelegd in http://support.microsoft.com/kb/2023007 en de oorzaak hiervan bleek dus het terugzetten van een eerder gemaakt snapshot. Een veelgenoemde oplossing voor dit probleem zou het verwijderen van deze waarde uit het register zijn en via repadmin /options -DISABLE_INBOUND_REPL  en repadmin /options -DISABLE_OUTBOUND_REPL  de replicatie weer aan te zetten waarbij na een reboot de replicatie weer op gang zou moeten komen. Echter wordt in het eerder genoemde KB artikel aangegeven (laatste alinea onder “Cause”) dat dit niet de juiste weg is om te bewandelen:

Do not assume that any nonzero value for “DSA not writable” or that a source or destination server “is currently rejecting replication requests” during DCPROMO / AD Replication definitively means that a USN rollback has occurred and that such domain controllers implicitly have to be force-demoted or force-repromoted. Demotion may be the correct option. However, it may be excessive when the error is caused by insufficient free disk space.

Restore DFS configuratie vanuit back-up

Er is een uitgebreid KB artikel van Microsoft omtrent het restoren van DFS en hierin wordt ook ingegaan op de stappen die genomen dienen te worden indien de configuratie ook uit Active Directory is verwijderd. De benodigde stappen hiervoor zijn:

  • Een Domein Controller (bij voorkeur de DC met de PDC FSMO rol) in Directory Services Restore Mode (DSRM) starten (http://technet.microsoft.com/nl-nl/library/cc794729(v=ws.10).aspx)
  • De Active Directory database restoren vanuit een eerder gemaakte back-up, waarin de DFS configuratie nog intact was.
  • De DFS root directory object markeren als authoritative en deze door de DC weer in normale modus op te starten dit te repliceren naar de rest van het domein.

Restore DFS vanuit Deleted Objects

Bij de betreffende klant bleek het echter niet mogelijk met het aanwezige back-up pakket een restore te doen nadat de server was gestart in DSRM. Toen bleek de “prullenbak functie” aan te staan in Active Directory en de verwijderde DFS blob objecten bleken hieronder te staan. Deze zogeheten Tombstone objecten kunnen gemakkelijk gevonden worden met LDP, een handleiding hiervoor is hier te vinden: http://technet.microsoft.com/nl-nl/library/dd379509(v=ws.10).aspx#BKMK_2. Om echter tientallen of honderden DFS links weer terug te halen is veel handwerk nodig en erg veel risico op fouten.

Met de gratis te downloaden en te gebruiker PowerShell Snapin van Quest voor Active Directory (http://www.quest.com/powershell/activeroles-server.aspx) kan dit echter wel gemakkelijk worden teruggehaald:

PS C:\> Add-PSSnapin Quest.ActiveRoles.ADManagement
PS C:\> Get-QADObject -Type "msDFS-Namespacev2" -Tombstone `
           | Restore-QADDeletedObject -RestoreChildren

Met het uitvoeren van bovenstaande commando wordt in de CN=Deleted Objects container gezocht naar objecten van het type “msDFS-Namespacev2” en restored dit object met alle onderliggende objecten, ofwel alle Folder Targets.

Register bijwerken

Na een restore van de DFS configuratie in Active Directory moeten vervolgens op alle DFS Namespace servers de volgende stappen uitgevoerd worden om de DFS configuratie weer tevoorschijn te krijgen:

  • Open regedit en navigeer naar de volgende key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfs\Roots\Domainv2
  • Maak een nieuwe key aan onder “Domainv2” met de naam van de zojuist teruggehaalde namespace.
  • Maak onder deze key twee String waardes aan, namelijk “LogicalShare” en “RootShare” met beide als waarde de naam van de namespace.
  • Herstart vervolgende DFS service: de configuratie wordt nu uit Active Directory opgehaald en lokaal op de DFS Namespace server opgeslagen in het register.

Als nu de DFS Management MMC wordt opgestart zullen de DFS namespaces tevoorschijn komen.



Wilt u graag een afspraak maken? Dat kan!

Wij ontvangen u met plezier of komen graag bij u op locatie.

Heeft u een vraag?

Vul onderstaand formulier in en wij nemen zo snel mogelijk contact op!



X