)
簡介圍繞主域控制器與輔助域控制器的部署及遷移這份文檔面向正在學(xué)習(xí) Windows Server 活動目錄、需要完成域控實驗或運維交接的初中級技術(shù)人員重點解決主域搭建、額外域控加入以及 FSMO 角色與全局編錄轉(zhuǎn)移等實操問題。資源包僅含 1 個 docx 文件約 566KB以步驟說明和命令清單形式組織便于按章節(jié)查閱與對照練習(xí)。內(nèi)容從 Windows Server 2003 環(huán)境下使用 dcpromo 新建 Jiajie.com 域講起依次覆蓋輔助域控的 IP/DNS 設(shè)置與額外域控安裝、系統(tǒng)狀態(tài)備份、RID/PDC/基礎(chǔ)結(jié)構(gòu)/域命名/架構(gòu)五大主機角色遷移并給出 ntdsutil 的 transfer 與 seize 命令及全局編錄調(diào)整方法。已有 2064 人學(xué)習(xí)適合用作域控遷移的實驗手冊和排錯參考能幫助讀者理清操作順序、理解角色轉(zhuǎn)移與強制奪取的適用場景。1. 接手一臺 Windows Server 2003最怕的不是藍(lán)屏接手一套 Microsoft Windows Server 2003 Enterprise Edition 的老域時最怕的往往不是開機藍(lán)屏而是域還在跑、卻沒人說得清當(dāng)初是怎么搭起來的。主域控和輔助域控這種雙機結(jié)構(gòu)當(dāng)年在機房里幾乎人手一套真到了要加一臺額外域控或者把主域控整體遷到新機器上dcpromo 會停在哪一頁、輔助域控的 DNS 該指向誰、五個 FSMO 角色用界面點還是用 ntdsutil 搶沒親手走過一遍的人是真不敢按下一步。這篇不打算先講活動目錄的原理直接按我搭過的那一輪順序走兩臺 Server 2003 從 IP 和主機名規(guī)劃開始裝主域控、加輔助域控、再做主域控制器的遷移中間哪幾個參數(shù)不能隨手改、哪幾個坑能讓人折騰到后半夜都寫在下面。2. 主域控搭建從 IP 規(guī)劃到 dcpromo 跑完重啟動手之前先把兩臺機器的身份信息固定下來。這一步很多人圖快直接開虛擬機裝完就敲 dcpromo結(jié)果裝到一半發(fā)現(xiàn)主機名跟后面要用的域控名對不上改主機名又要重啟前面填的東西白填。先把表填好后面每一步都有對照。2.1 兩臺機器的 IP、掩碼、DNS 對照表項目主域控A輔助域控B操作系統(tǒng)Windows Server 2003 Enterprise Edition同左計算機名ABIP 地址1.1.1.11.1.1.2子網(wǎng)掩碼255.0.0.0255.0.0.0默認(rèn)網(wǎng)關(guān)同網(wǎng)段不填同網(wǎng)段不填首選 DNS1.1.1.1自身實際 IP1.1.1.1域全名Jiajie.comJiajie.comNetBIOS 名JIAJIEJIAJIE目錄服務(wù)還原密碼adchinaadchina255.0.0.0 是 A 類掩碼配上去之后 1.1.1.1 和 1.1.1.2 落在同一個子網(wǎng)里做實驗最省事。注意這是實驗環(huán)境的取法1.1.1.0/8 是公網(wǎng)地址段搬到真實內(nèi)網(wǎng)一定要換成規(guī)劃過的私網(wǎng)段否則以后接路由器會出亂子。首選 DNS 這里有個細(xì)節(jié)值得說主域控裝完活動目錄之后首選 DNS 指 127.0.0.1 也能跑但我更習(xí)慣填自身實際 IP 1.1.1.1。原因是某些老版本網(wǎng)卡驅(qū)動在回環(huán)地址上注冊 SRV 記錄會漏項用實際 IP 少一層玄學(xué)。輔助域控 B 的首選 DNS 必須填 1.1.1.1不能填自己這一點后面加域時會反復(fù)用到。2.2 dcpromo 之前必須驗的三件事在 A 上執(zhí)行 dcpromo 之前先花兩分鐘做三項檢查比事后翻日志省事得多。:: 1. 確認(rèn)主機名、IP、DNS 都已經(jīng)是規(guī)劃好的值 ipconfig /all hostname :: 2. 確認(rèn) DNS 解析鏈路正常裝之前沒有域記錄返回失敗是正常的 ping 1.1.1.1 :: 3. 確認(rèn)系統(tǒng)盤以外還有可用空間目錄數(shù)據(jù)庫和日志別全堆在 C 盤 dir c:\ipconfig /all輸出里重點看三項Host Name 是不是 A、IP Address 是不是 1.1.1.1、DNS Servers 是不是 1.1.1.1。hostname再確認(rèn)一次短名因為 dcpromo 會拿這個短名去拼 FQDN短名寫錯了后面生成的 A.jiajie.com 對不上SRV 記錄也會跟著歪。磁盤這一項是血淚經(jīng)驗。Server 2003 默認(rèn)把 NTDS 數(shù)據(jù)庫、事務(wù)日志和 SYSVOL 全放在 C:\WINDOWS 下實驗環(huán)境跑跑沒問題但一旦域里有幾百個對象日志寫滿系統(tǒng)盤是很常見的翻車現(xiàn)場。如果虛擬機掛了第二塊盤向?qū)Ю锬莾身摯鎯ξ恢镁透牡?D 盤去只有一塊盤就老實接受默認(rèn)值別為了「規(guī)范」把 C 盤切得太小。注意主機名改完必須重啟才生效別在同一會話里改完名字直接敲 dcpromo。我踩過一次向?qū)ёx到的還是舊名裝完的域控 FQDN 跟規(guī)劃差一截最后只能 dcpromo /forceremoval 拆掉重來。2.3 向?qū)豁撝痦撜f清楚填什么準(zhǔn)備就緒后在 A 上打開運行框輸入 dcpromo剩下的是十一頁向?qū)?。這一節(jié)把每頁的選擇和背后的理由一次講透照著填就行。:: 開始 - 運行或者直接 WinR dcpromo向?qū)Ц黜摰奶顚憙?nèi)容與判斷依據(jù)如下歡迎頁與操作系統(tǒng)兼容性直接下一步。Server 2003 會提示跟 Windows 95、NT 4.0 早期版本的兼容性問題實驗環(huán)境不用管。域控制器類型選「新域的域控制器」。這一頁決定這臺機器是新建域還是加入已有域選錯了后面整套流程都不一樣只能重來。創(chuàng)建一個新域選「在新林中的域」。這是林里的第一臺域控沒有上級域可選。新的域名填Jiajie.com。這個就是 DNS 全名后面所有 SRV 記錄都掛在這下面一旦定下來再改就要走域重命名2003 時代基本等于重裝。新的 NetBIOS 域名自動帶出JIAJIE保持默認(rèn)。老客戶端和部分只認(rèn)短名的應(yīng)用靠它登錄。數(shù)據(jù)庫和日志文件文件夾默認(rèn)C:\WINDOWS\NTDS。有兩塊盤就分別指向 D 盤的兩個不同目錄日志和數(shù)據(jù)分盤能減少 I/O 爭搶。共享的系統(tǒng)卷默認(rèn)C:\WINDOWS\SYSVOL。這一份會被復(fù)制到所有域控上裝完會自動共享成 SYSVOL 和 NETLOGON。DNS 注冊診斷選第二項讓向?qū)А冈谶@臺計算機上安裝并配置 DNS 服務(wù)器使它與該域一起使用」。這是整套流程里最關(guān)鍵的一頁選錯會得到一個裝好了 AD 但解析不了自己的域控。權(quán)限選「只與 Windows 2000 或 Windows Server 2003 兼容」。除非域里真有 NT 4.0 的成員服務(wù)器要加進來否則不要選兼容早期版本那一項它會放寬匿名訪問的權(quán)限。目錄服務(wù)還原模式的管理員密碼填adchina。這一頁的彈窗標(biāo)題是 Restore Mode Password指的是目錄服務(wù)還原模式密碼跟 Administrator 的登錄密碼是兩回事別混。摘要核對一遍域名、NetBIOS 名和路徑點下一步開始安裝裝完提示重啟。第 8 頁值得單獨展開。DNS 注冊診斷頁在裝之前會報一個「無法聯(lián)系到處理該名稱的 DNS 服務(wù)器」的警告這是正常的因為此刻還沒有 DNS。頁面下方給出兩個選項第一項是「在這臺計算機上安裝并配置 DNS 服務(wù)器使它與該域一起使用」第二項是同樣的描述但明確標(biāo)注推薦。區(qū)別在于第一項裝完后 DNS 只做基礎(chǔ)配置第二項會把正向查找區(qū)域和 SRV 記錄一并建好。選第二項裝完直接在 DNS 控制臺里能看到_msdcs、_sites、_tcp、_udp四個文件夾說明記錄注冊成功。第 10 頁的密碼也有講究。adchina只有七位、全小寫、不含數(shù)字和符號按域級別的密碼策略是過不了的。之所以能填進去是因為此刻域還不存在校驗用的是本機的本地安全策略而 Server 2003 的本地策略默認(rèn)沒開密碼復(fù)雜度。裝完之后域默認(rèn)策略一啟用這個密碼就成了歷史遺留問題。常見做法是裝完立刻把目錄服務(wù)還原密碼改成一個符合復(fù)雜度的值用ntdsutil里的set dsrm password命令改別等到真要還原的時候才發(fā)現(xiàn)密碼登不進去。2.4 重啟之后先別急著加第二臺主域控重啟完很多人第一反應(yīng)是趕緊去配 B。先停一下在 A 上把這三項驗完不然后面加域控出問題你分不清是主域控本身沒裝好還是網(wǎng)絡(luò)沒通。:: 1. 目錄服務(wù)健康檢查把詳細(xì)輸出落到文件里慢慢看 dcdiag /v c:\dcdiag_after_dcpromo.txt :: 2. 確認(rèn) SYSVOL 和 NETLOGON 兩個共享已經(jīng)自動建好 net share :: 3. 確認(rèn)域控的 SRV 記錄已經(jīng)注冊到 DNS 里 nslookup -typesrv _ldap._tcp.dc._msdcs.jiajie.com 1.1.1.1dcdiag /v的輸出里重點看 Connectivity、Advertising、NetLogons、Replications 這幾項的結(jié)論是不是 passed。net share輸出里必須有 SYSVOL 和 NETLOGON 兩行缺任何一個都說明 sysvol 還沒共享出來通常是文件復(fù)制服務(wù)還沒跑完等幾分鐘再查實在不行重啟一次 Netlogon 服務(wù)。nslookup那條查詢?nèi)绻芊祷?A.jiajie.com 和 1.1.1.1說明 SRV 記錄注冊正常輔助域控加域時才能靠 DNS 找到主域控。三項都過了再往下走。這一步花的時間比后面加域控失敗回頭排查要少得多。3. 輔助域控搭建額外域控怎么加、復(fù)制怎么驗輔助域控在活動目錄里的正式叫法是「現(xiàn)有域的額外域控制器」它不是備份域控BDC那一套老機制而是多主復(fù)制里的另一臺 DC。裝對了主域控上的用戶、組、組策略會自動復(fù)制過來裝錯了最常見的結(jié)果是兩臺機器各說各話事件日志里刷復(fù)制錯誤。3.1 加域前先把 IP 和 DNS 指到主域控在 B 上先改網(wǎng)絡(luò)配置這一步做錯后面 dcpromo 一定會卡在「找不到域」那一頁。:: 在 B 上配置靜態(tài) IPDNS 必須指向主域控 netsh interface ip set address name本地連接 static 1.1.1.2 255.0.0.0 netsh interface ip set dns name本地連接 static 1.1.1.1 :: 驗證連通性和域名解析 ping 1.1.1.1 nslookup jiajie.com 1.1.1.1 nslookup -typesrv _ldap._tcp.dc._msdcs.jiajie.com 1.1.1.1ping 1.1.1.1只證明三層通不證明 AD 能用。真正要看的是后面兩條 nslookupnslookup jiajie.com 1.1.1.1應(yīng)該返回主域控的 IP-typesrv那條應(yīng)該返回 A.jiajie.com 和 389 端口。如果 ping 通但 nslookup 超時問題一定在 DNS 上可能是 B 的首選 DNS 沒改、也可能是 A 上的 DNS 服務(wù)沒監(jiān)聽 1.1.1.1先解決這個再談 dcpromo。端口層面也順手看一眼。AD 認(rèn)證依賴 389LDAP、445SMB、135RPC 端點映射、53DNS可以用 telnet 直接探telnet 1.1.1.1 389 telnet 1.1.1.1 445能連上會看到黑屏或者直接斷開連不上會提示連接失敗。Server 2003 默認(rèn)沒裝 telnet 客戶端的話用portqry -n 1.1.1.1 -p tcp -o 389,445,135,53也行portqry 在 Support Tools 里。這一招在排查「網(wǎng)絡(luò)通但加不了域」時特別管用比抓包快得多。還有一件事容易被忽略把 B 的計算機名確認(rèn)成 B并且不要提前把 B 手動加入域。很多人習(xí)慣先在「我的電腦 → 屬性 → 計算機名」里把機器加入 jiajie.com然后再跑 dcpromo多這一步不但沒必要還經(jīng)常因為 DNS 配錯卡在「找不到域控制器」。dcpromo 在額外域控流程里會自己完成加入動作前提是網(wǎng)絡(luò)憑據(jù)頁給的賬號有權(quán)限。3.2 dcpromo 選「現(xiàn)有域的額外域控制器」的完整頁序在 B 上打開運行框同樣是 dcpromo但向?qū)ё叩氖橇硪粭l分支。:: 在 B 上執(zhí)行跟主域控是同一個命令分支由第二頁決定 dcpromo各頁的填法歡迎頁與兼容性提示下一步。域控制器類型選「現(xiàn)有域的額外域控制器」。這一頁選錯成「新域的域控制器」就會在一臺已經(jīng)有域的機器上再建一個新林兩臺 DC 從此互不相干。網(wǎng)絡(luò)憑據(jù)用戶名填JIAJIE\Administrator密碼填主域控的本地管理員密碼域填JIAJIE。這里的賬號必須在目標(biāo)域里有「域管理員」或至少「企業(yè)管理員」權(quán)限普通域用戶過不去。額外域控制器域名填Jiajie.com。注意這里填的是 DNS 全名不是 NetBIOS 名填 JIAJIE 會報「無法聯(lián)系到域」。數(shù)據(jù)庫和日志文件文件夾跟主域控保持一致的規(guī)劃有兩塊盤就分開放。共享的系統(tǒng)卷默認(rèn)路徑裝完后 B 上也會有 SYSVOL 和 NETLOGON 共享。目錄服務(wù)還原密碼填adchina跟主域控保持一致。兩臺機器的還原密碼不同并不是錯誤但運維時容易記混統(tǒng)一更省心。復(fù)制來源選「通過網(wǎng)絡(luò)從下列服務(wù)器復(fù)制」服務(wù)器列表里選A.jiajie.com。如果這一步留空向?qū)约禾粢慌_可用的 DC在只有兩臺機器的環(huán)境里結(jié)果一樣但顯式指定能避免以后加第三臺時搞不清初始數(shù)據(jù)是從誰那兒來的。摘要核對后點下一步開始復(fù)制初始數(shù)據(jù)完成后重啟。第 3 頁的網(wǎng)絡(luò)憑據(jù)是最容易翻車的地方。填jiajie\administrator時要注意反斜杠方向填成jiajie/administrator會直接報憑據(jù)無效另外如果主域控的 Administrator 賬號被改過名這里必須用改后的名字用 Administrator 會提示「用戶名或密碼不正確」明知密碼沒錯也會卡住。3.3 復(fù)制驗收到事件日志為止B 重啟之后兩臺域控之間的復(fù)制是自動的默認(rèn)間隔 15 分鐘。但「能自動復(fù)制」和「現(xiàn)在就復(fù)制成功」是兩件事加完域控立刻做一次手動觸發(fā)能提前發(fā)現(xiàn)問題。在輔助域控 B 上打開「Active Directory 站點和服務(wù)」展開 Sites → Default-First-Site-Name → Servers → A → NTDS Settings右鍵選「立即復(fù)制」然后在 B 自己的 NTDS Settings 上做同樣的操作往反方向推一次。圖形界面之外用命令行更直接:: 查看復(fù)制伙伴和最近一次復(fù)制結(jié)果 repadmin /showrepl :: 生成一份復(fù)制健康摘要重點看 error 數(shù)量 repadmin /replsummary :: 手動觸發(fā)一次從 A 到 B 的復(fù)制 repadmin /replicate B.jiajie.com A.jiajie.com DCjiajie,DCcom :: 只測復(fù)制這一項 dcdiag /test:replications /vrepadmin /showrepl的輸出會按分區(qū)列出每個復(fù)制伙伴重點看「Last replication was ... ago」和失敗計數(shù)正常情況下最近一次同步應(yīng)該在一刻鐘以內(nèi)。repadmin /replsummary更直觀直接給出最大延遲和錯誤數(shù)兩臺的錯誤數(shù)都應(yīng)該是 0。repadmin /replicate那條命令的參數(shù)順序要記清楚第一個是目標(biāo) DC把數(shù)據(jù)寫到誰那兒第二個是源 DC數(shù)據(jù)從誰那兒來第三個是要復(fù)制的命名上下文。寫反了不會報錯只是方向相反容易在排查時誤判。最土也最有效的驗收方法是在主域控上新建一個測試用戶然后到輔助域控上打開「Active Directory 用戶和計算機」找這個用戶。命令行觸發(fā)完復(fù)制后如果 B 上立刻能看到說明整條鏈路是通的如果看不到先看事件查看器里「目錄服務(wù)」日志有沒有 1869、1311 這類復(fù)制錯誤碼1311 通常意味著兩臺機器的 DNS 后綴或者站點配置不一致。原文里那句「經(jīng)測試主域控制器的數(shù)據(jù)能及時復(fù)制到輔助域控上面」靠的就是這一套驗證。別只看 dcpromo 最后那頁打了個勾就完事復(fù)制是會中途出問題的。4. FSMO 五角色遷移界面點選與 ntdsutil 命令對照演練到這一步兩臺域控都在跑數(shù)據(jù)也在互相復(fù)制接下來才是真正的主域控制器遷移?;顒幽夸浝镉形鍌€操作主機角色也就是常說的 FSMO分布在林的根域和各個域里架構(gòu)主機和域命名主機是林級別的各只有一臺RID 主機、PDC 仿真主機、基礎(chǔ)結(jié)構(gòu)主機是域級別的每個域各一臺。遷移的目標(biāo)是把這五個角色從 A 挪到 B再配合全局編錄的調(diào)整讓 B 成為實際的主力。4.1 動手前先 ntbackup 備份 system state遷移本身不算高風(fēng)險操作但遷移過程中如果出意外沒有備份就只能靠 seize 硬搶搶完老域控基本報廢。所以第一步永遠(yuǎn)是備份。:: 開始 - 運行打開自帶的備份工具 ntbackup打開后切到「備份」選項卡在左側(cè)樹里勾選「System State」這是系統(tǒng)狀態(tài)包含注冊表、SYSVOL、活動目錄數(shù)據(jù)庫、證書服務(wù)等關(guān)鍵內(nèi)容。目標(biāo)位置選一塊空閑空間夠大的盤生成的 .bkf 文件大小通常在兩三百兆到一兩個 G 之間視域規(guī)模而定。命令行也能做適合寫進計劃任務(wù):: 用命令行做一次系統(tǒng)狀態(tài)備份/j 指定任務(wù)名/f 指定輸出文件 ntbackup backup systemstate /j FSMO遷移前備份 /f D:\backup\sysstate_pre_fsmo.bak /l D:\backup\backup.log參數(shù)里/j是這次備份的任務(wù)標(biāo)識后續(xù)在備份工具的還原界面里能按這個名字找回/f是備份文件路徑注意目錄必須事先存在ntbackup 不會自己建目錄/l是日志文件出問題時靠它定位。備份做完一定要做一次「還原驗證」哪怕只是打開備份工具點「還原和管理媒體」確認(rèn)文件能被識別。我見過備份文件因為磁盤寫滿只寫了一半的情況等到真要還原才發(fā)現(xiàn)文件損壞那時候已經(jīng)沒有后悔藥了。4.2 RID、PDC、基礎(chǔ)結(jié)構(gòu)在「AD 用戶和計算機」里轉(zhuǎn)移三個域級別角色的轉(zhuǎn)移路徑是一樣的都在「Active Directory 用戶和計算機」里操作。第一步是讓控制臺連到目標(biāo)域控 B而不是默認(rèn)的 A打開「Active Directory 用戶和計算機」在域名jiajie.com上右鍵點「連接到域控制器」。在彈出的列表里選中B.jiajie.com確定。這一步不做后面所有的「更改」都是把角色在 A 內(nèi)部轉(zhuǎn)來轉(zhuǎn)去等于沒做。第二步是逐個轉(zhuǎn)移在域名上右鍵點「操作主機」彈出三個選項卡RID、PDC、基礎(chǔ)結(jié)構(gòu)。當(dāng)前持有者會顯示成A.jiajie.com點「更改」確認(rèn)后變成B.jiajie.com。PDC 和基礎(chǔ)結(jié)構(gòu)兩個頁簽重復(fù)同樣的動作。三個頁簽里PDC 仿真主機的意義最實在它承擔(dān)密碼修改的最終裁決、時間同步源、以及組策略編輯時的默認(rèn)連接點。RID 主機負(fù)責(zé)給新創(chuàng)建的安全主體分配 RID 池短期內(nèi)分配完了會影響新用戶創(chuàng)建。基礎(chǔ)結(jié)構(gòu)主機負(fù)責(zé)跨域引用對象的更新在只有一個域的環(huán)境里它幾乎不干活但角色還是得轉(zhuǎn)否則單點故障依然存在。注意「操作主機」對話框里的「更改」按鈕是灰色的九成是因為當(dāng)前控制臺連的還是原域控或者登錄賬號不是企業(yè)管理員/域管理員。先回到「連接到域控制器」那一步確認(rèn)連接目標(biāo)。4.3 域命名主機換個控制臺域命名主機管的是林里新增、刪除、重命名域的操作路徑不在「AD 用戶和計算機」里而在「Active Directory 域和信任關(guān)系」。打開「Active Directory 域和信任關(guān)系」在根節(jié)點上右鍵點「連接到域控制器」選B.jiajie.com。再次在根節(jié)點上右鍵點「操作主機」這一頁只有一個域命名主機選項卡。點「更改」確認(rèn)后角色轉(zhuǎn)到 B。這一步的坑在于控制臺連接狀態(tài)不共享。你在「AD 用戶和計算機」里連到 B不代表「AD 域和信任關(guān)系」也連到了 B兩個控制臺各管各的。所以每換一個控制臺都要重新做一次「連接到域控制器」。4.4 架構(gòu)主機先 regsvr32 schmmgmt.dll 再開 MMC架構(gòu)主機是五個角色里最麻煩的一個因為它默認(rèn)在管理工具里根本沒有對應(yīng)的入口必須先注冊一個 DLL再手工往 MMC 控制臺里添加管理單元。:: 注冊架構(gòu)管理單元的動態(tài)鏈接庫 regsvr32 schmmgmt.dll執(zhí)行成功會彈一個「DllRegisterServer in schmmgmt.dll succeeded」的對話框。如果提示找不到模塊說明這個文件不在系統(tǒng)里Server 2003 上它一般在C:\WINDOWS\System32下確認(rèn)路徑后可以用完整路徑注冊。注冊完之后手工搭控制臺運行框輸入mmc打開一個空白控制臺。按 CtrlM 或者點「文件 → 添加/刪除管理單元」。在列表里找到「Active Directory 架構(gòu)」點「添加」再點「關(guān)閉」最后「確定」?;氐娇刂婆_在「Active Directory 架構(gòu)」節(jié)點上右鍵點「更改域控制器」。選「指定名稱」輸入B.jiajie.com確定。再次右鍵點「操作主機」點「更改」。第 5 步是很多人漏掉的。如果直接用默認(rèn)連接控制臺連的是 A點「更改」就是把架構(gòu)主機從 A 改到 A走完一圈發(fā)現(xiàn)角色沒動還以為是權(quán)限問題。判定方法很簡單改完之后看「操作主機」對話框里顯示的當(dāng)前持有者必須是 B.jiajie.com 才算成功。還有一個隱性前提操作架構(gòu)主機需要當(dāng)前賬號在 Schema Admins 組里。這個組默認(rèn)只有 Administrator如果用的是別的管理員賬號先把賬號加進去重新登錄一次讓組成員身份生效否則「更改」按鈕會一直是灰的。4.5 全局編錄站點和服務(wù)里的一勾一取消全局編錄不是 FSMO 角色但它在多域控環(huán)境里的作用跟角色遷移同樣關(guān)鍵。全局編錄服務(wù)器保存了林里所有域的部分屬性副本登錄認(rèn)證、Exchange 地址簿查詢、跨域組嵌套解析都要找它。默認(rèn)情況下林里的第一臺域控就是全局編錄服務(wù)器如果 A 要下線這個身份必須交給 B。操作在「Active Directory 站點和服務(wù)」里打開控制臺在根節(jié)點上右鍵點「連接到域控制器」選B.jiajie.com。依次展開 Sites → Default-First-Site-Name → Servers → A → NTDS Settings。右鍵 NTDS Settings點「屬性」把「全局編錄」前面的勾去掉。再展開 Servers → B → NTDS Settings同樣右鍵屬性把「全局編錄」勾上。順序不能反。先給 B 勾上等復(fù)制完成后再給 A 取消中間這段兩臺都是全局編錄屬于正常狀態(tài)。反過來先取消 A 再勾 B中間會有一段時間林里沒有全局編錄服務(wù)器用戶登錄會報「目前沒有可用的登錄服務(wù)器」排查起來很費勁。勾選之后建議留出至少一輪復(fù)制間隔再驗證。在 B 上打開事件查看器看「目錄服務(wù)」日志里有沒有 1126 事件它表示全局編錄已經(jīng)啟動完成用nltest /dsgetdc:jiajie.com /gc也能直接查出當(dāng)前響應(yīng)全局編錄請求的是哪臺機器。4.6 ntdsutiltransfer 和 seize 的分界線圖形界面適合角色都健康、兩臺機器都在線的場景。如果原域控已經(jīng)徹底起不來了圖形界面根本連不上它「更改」按鈕永遠(yuǎn)點不動這時候只能用命令行。ntdsutil 提供兩組動詞transfer 是「轉(zhuǎn)移」要求原持有者還活著并且能通信seize 是「占用」直接把角色搶過來不管原持有者在不在。先看轉(zhuǎn)移的完整流程以 RID 主機為例:: 進入 ntdsutil 交互環(huán)境 ntdsutil :: 進入角色維護模式 roles :: 建立到目標(biāo)域控的連接 connections connect to server B.jiajie.com quit :: 執(zhí)行轉(zhuǎn)移 transfer RID master逐段解釋ntdsutil是入口進去之后提示符變成ntdsutil:輸入roles進入 FSMO 維護模式提示符變成fsmo maintenance:connections進入連接子模式提示符變成server connections:這時候才可以用connect to server指定要連哪臺 DCquit退回上一級最后transfer RID master執(zhí)行轉(zhuǎn)移成功會提示「正在將 RID 主機角色從 A.jiajie.com 轉(zhuǎn)移到 B.jiajie.com」。把所有轉(zhuǎn)移命令列出來對照命令行作用transfer PDC轉(zhuǎn)移 PDC 仿真主機transfer RID master轉(zhuǎn)移 RID 主機transfer infrastructure master轉(zhuǎn)移基礎(chǔ)結(jié)構(gòu)主機transfer domain naming master轉(zhuǎn)移域命名主機transfer schema master轉(zhuǎn)移架構(gòu)主機原域控徹底損壞、無法開機時把transfer換成seizentdsutil roles connections connect to server B.jiajie.com quit seize RID master seize PDC seize infrastructure master seize domain naming master seize schema master quit quit這五條對應(yīng)的就是上面那張表的五個角色動詞換成 seize。執(zhí)行前必須確認(rèn)一件事原域控 A 以后絕對不會再以任何形式接入網(wǎng)絡(luò)。因為 seize 之后A 的數(shù)據(jù)庫里仍然認(rèn)為自己是這五個角色的持有者一旦它重新上線就會出現(xiàn)兩個 RID 主機同時分配 RID 池的情況產(chǎn)生的安全標(biāo)識符沖突是不可逆的只能做元數(shù)據(jù)清理ntdsutil里的metadata cleanup把 A 的記錄徹底刪掉。5. 避坑排查主域控遷移里五個最容易翻車的點5.1 ping 得通dcpromo 卻報「找不到域」現(xiàn)象輔助域控 B 上能 ping 通 1.1.1.1資源共享也能訪問但 dcpromo 走到「額外域控制器域名」那一頁填入 Jiajie.com 之后報「無法聯(lián)系到域 jiajie.com 的域控制器」。原因dcpromo 找域控靠的不是 ICMP是 DNS 里的 SRV 記錄。ping 通只說明三層可達(dá)如果 B 的首選 DNS 沒有指向 1.1.1.1或者主域控的 DNS 服務(wù)沒起來、SRV 記錄沒注冊dcpromo 就找不到入口。解決先在 B 上執(zhí)行nslookup -typesrv _ldap._tcp.dc._msdcs.jiajie.com 1.1.1.1能返回 A.jiajie.com 和 389 端口才叫正常。返回不了就回主域控查 DNS 控制臺看_msdcs、_sites、_tcp這幾個文件夾在不在不在的話重啟主域控的 Netlogon 服務(wù)讓它重新注冊注冊完再回來跑 dcpromo。5.2 「操作主機」里更改按鈕是灰的現(xiàn)象打開「AD 用戶和計算機」右鍵域名點「操作主機」對話框能彈出來但「更改」按鈕點不動或者點了之后當(dāng)前持有者還是 A。原因兩個可能。一是控制臺沒有連接到目標(biāo)域控 B所有操作都還在 A 上打轉(zhuǎn)二是當(dāng)前登錄賬號權(quán)限不夠不在 Domain Admins 或 Enterprise Admins 組里。解決先在域名上右鍵點「連接到域控制器」把目標(biāo)改成 B.jiajie.com 再操作。權(quán)限問題用whoami /groups確認(rèn)當(dāng)前賬號的組成員身份如果剛把賬號加進管理員組必須注銷重新登錄才生效光刷新沒用。5.3 架構(gòu)主機頁面根本找不到現(xiàn)象打開 MMC 想添加「Active Directory 架構(gòu)」管理單元列表里翻遍了也沒有這一項。原因schmmgmt.dll沒有注冊管理單元沒在系統(tǒng)里登記自然列不出來。解決運行regsvr32 schmmgmt.dll看到成功提示后重新打開 mmc再按 CtrlM 添加。如果提示模塊找不到用完整路徑regsvr32 C:\WINDOWS\System32\schmmgmt.dll再試一次。注冊完不需要重啟。5.4 取消全局編錄之后登錄突然變慢現(xiàn)象在 A 上把全局編錄的勾去掉之后域用戶登錄時間從幾秒變成幾十秒偶爾報「目前沒有可用的登錄服務(wù)器」。原因站點里沒有其他全局編錄服務(wù)器或者 B 上的全局編錄還沒完成初始同步??蛻舳说卿洉r會去查全局編錄找不到就一路超時重試。解決先在 B 上把全局編錄勾上等事件日志里出現(xiàn) 1126 事件確認(rèn)啟動完成再回頭取消 A 的勾選。如果已經(jīng)取消了臨時把 A 的勾加回去恢復(fù)服務(wù)等 B 完全就緒后再操作一次。判定 B 是否就緒可以用nltest /dsgetdc:jiajie.com /gc。5.5 用 seize 搶完角色老域控又開機了現(xiàn)象原主域控硬件故障用 seize 把五個角色搶到 B 上一周后 A 修好被接回網(wǎng)絡(luò)域里開始出現(xiàn)各種奇怪現(xiàn)象新建用戶偶爾登錄不上、組策略應(yīng)用不一致、事件日志里刷 1353 和 1863。原因A 的數(shù)據(jù)庫里仍然認(rèn)為自己是 FSMO 持有者重新上線后兩臺機器各自為政RID 池重復(fù)分配導(dǎo)致 SID 沖突這種損壞是不可逆的。解決seize 之前就要把 A 的硬盤拆掉或者徹底格式化確保它不可能再以原身份上線。如果已經(jīng)接回來了立刻斷網(wǎng)在 B 上執(zhí)行ntdsutil的metadata cleanup把 A 的服務(wù)器對象、NTDS 設(shè)置、復(fù)制連接全部刪干凈然后檢查有沒有產(chǎn)生重復(fù) SID 的對象把有問題的用戶重建。6. 驗證裝完之后怎么確認(rèn)這套域真的跑通了遷移做完不等于結(jié)束還得有一套固定的收尾檢查。我一般按下面這張表走一遍全部通過才算交付。檢查項命令或位置期望結(jié)果五個角色落在哪臺netdom query fsmo五項全部顯示 B.jiajie.com域控清單netdom query dc列出 A 和 B 兩臺復(fù)制健康度repadmin /replsummary兩臺的錯誤數(shù)為 0最大延遲小于 15 分鐘目錄服務(wù)整體dcdiag /test:replications /test:fsmocheck全部 passed全局編錄nltest /dsgetdc:jiajie.com /gc返回 B.jiajie.com共享卷net shareSYSVOL、NETLOGON 都在netdom在 Server 2003 的 Support Tools 里裝完光盤里的support\tools\suptools.msi就有。它比翻三個圖形界面快得多一條命令直接列出五個角色的當(dāng)前持有者是遷移收尾最省事的驗證手段。用 ntdsutil 也能看適合沒裝 Support Tools 的機器ntdsutil roles connections connect to server B.jiajie.com quit ?最后那個問號會列出所有角色命令以及當(dāng)前的持有者輸出里能看到五行都是 B.jiajie.com 就對了。除了命令還有兩個體感驗證值得做。一是在輔助域控 B 上新建一個用戶然后到 A 上此時 A 已經(jīng)不是主力確認(rèn)能看到說明復(fù)制是雙向的二是找一臺成員機把 DNS 指向 B用域賬號登錄一次能登進去說明認(rèn)證鏈路完整。這兩步比任何命令都更接近真實使用場景。從那以后我每次動 FSMO 之前都強制自己先跑一遍netdom query fsmo把結(jié)果存成文本快照遷移完再跑一遍做對比。這個習(xí)慣救過我兩次一次是架構(gòu)主機根本沒轉(zhuǎn)成功但沒人發(fā)現(xiàn)一次是全局編錄提前取消了導(dǎo)致第二天早上一片登錄失敗。慢一步做記錄比事后通宵排查劃算得多。希望幫到你。本文還有配套的精品資源點擊獲取