標籤:組策略 複製 活動目錄 ntfrs
故障現象:
情境中若干台域控伺服器的組策略檔案複製出現問題。由於是真實環境,浮水印較多見諒。
使用dcdiag的時候會有提示NTFRS複製問題,要求管理員查看Q312862
事件Event ID 13562,此nTFRSMember對象 cn=域控電腦名稱,cn=domain system volume (sysvol share),cn=file replication service,cn=system,dc=contoso,dc=com的屬性ServerReference有一個無效的值。
650) this.width=650;" height="414" title="image" style="border:0px;" alt="image" src="http://s3.51cto.com/wyfs02/M01/76/37/wKiom1ZNMF3himH3AAD4hummG-Q281.png" border="0" />
使用ntfrsutl ds進行ntfrs診斷會有如下現象:
warn: 某某DC lacks a settings reference
650) this.width=650;" height="412" title="image" style="border:0px;" alt="image" src="http://s3.51cto.com/wyfs02/M02/76/37/wKiom1ZNMF-BefjnAAEYVnMGbk8989.png" border="0" />
問題分析:
目前的環境是從Windows 2003升級起來的,所以組策略檔案的複製方式仍然沿用NTFRS,而非新版的DFSR(Distributed File System (DFS) Replication)。如果是基於原生的Windows Server 2008 及Windows Server 2008以上的Active Directory服務的話,會直接採用新版的DFSR複製機制。
目前的問題就出在這個基於NTFRS機制的活動目錄,在排除掉域內所有的Windows Server 2003,並且將林功能和域功能層級都提升到Windows Server 2012 R2之後,NTFRS服務並沒有完全替換至DFSR服務,相當一部分NTFRS服務的配置資訊丟失,導致檔案複製不正常,組策略數量在各個DC上均不統一,最多的一台有140多條,最少的一台只有8條…(驚了,這麼久才發現)
問題解決:
首先確保NTFRS服務在這些域控上正常運行,net share命令可以查看到sysvol共用。
其次確保AD網站(NTDSSettings)裡的DFS複製連結正確建立。
然後根據KB312862去檢查ADSI裡以下幾個地方的屬性,(KB連結:https://support.microsoft.com/zh-cn/kb/312862)
我就不了,直接寫路徑了。比方我現在是一台DC01.contoso.com出問題,其他域控以此類推照著改。
預設命名內容,CN=NTFRS Subscriptions,cn=DC01,ou=domain controllers,dc=contoso,dc=com (每一台DC下都有這個NTFRS Subscriptions)有一項CN=Domain System Volume (SYSVOL Share) 對象。
如果沒有該對象則手動建立,物件類型為nTFRSSubscriber。
如果有該對象,檢查其屬性fRSMemberReference,其值應為:CN=DC01,CN=Domain System Volume (SYSVOL Share),CN=File Replication Service,CN=System,DC=contoso,DC=com 。
預設命名內容,CN=Domain System Volume (SYSVOL Share),CN=File Replication Service,CN=System,DC=contoso,DC=com 下面
應該有所有的DC對象,作為複製成員。
如果缺少有DC對象,則進行手動建立,物件類型為nTFRSMember
檢查兩項屬性,還是以DC01為例子,按右鍵CN=DC01對象(網站為預設的default first site,按照實際情況修改),屬性:
frsComputerReference:CN=DC01,OU=Domain Controllers,DC=contoso,DC=com
serverReference:CN=NTDS Settings,CN=DC01,CN=Servers,CN=default-first-site-name,CN=Sites,CN=Configuration,DC=contoso,DC=com
如果在檢查過程中發現父類對象丟失,比如CN=Domain System Volume (SYSVOL Share),CN=NTFRS Subscriptions FRS訂戶、這樣的大類對象丟失,KB裡都有重建方法,包括屬性值配置。參照建立即可。
檢查完上述東西之後,重啟所有域控上的NTFRS服務
net stop ntfrs && net start ntfrs
然後再執行dcdiag 和 ntfrsutl ds進行檢查。確認無報錯之後可以先告一段落,等待域控之間相互開始進行NTFRS複製。
如果等不及複製,可以採用D4和D2大法強制複製。
以下是強制複製裡比較粗暴的做法,參考winOS論壇adrien0901文章的思路http://bbs.winos.cn/thread-36722-1-1.html,如果有把握可以效仿其中一二:
1、將所有的域控上的NTFRS服務停掉
2、做好備份,對比所有域控上SYSVOL檔案夾內容,找到組策略最多的一台,或者全部覆蓋複製到一台上面,保證這一台域控的組策略檔案最全,在Sysvol檔案夾的安全選項卡裡啟用
650) this.width=650;" height="86" title="image" style="border:0px;" alt="image" src="http://s3.51cto.com/wyfs02/M00/76/37/wKiom1ZNMF_THCw8AAAVhvspYtY902.png" border="0" />
3、修改這台最全的域控的註冊表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Backup/Restore\Process at Startup
BurFlags=D4
修改其他的域控的註冊表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Backup/Restore\Process at Startup
BurFlags=D2
4、重啟所有伺服器上的ntfrs服務
然後開啟幾台域控的sysvol檔案夾,對比數量,就會看到開始歡快的複製了。
本文出自 “卡斯特梅的雨季” 部落格,請務必保留此出處http://sodaxu.blog.51cto.com/8850288/1714579
2012 R2 Active Directory NTFRS複製問題排錯一例