此文章由人工翻譯。 將光標移到文章的句子上,以查看原文。
|
譯文
原文
|
介紹 Active Directory 域服務 (AD DS) 虛擬化(級別 100)
適用對象:Windows Server 2012
Active Directory 域服務 (AD DS) 環境的虛擬化多年來一直在進行。 從 Windows Server® 2012 開始,通過引入虛擬化安全功能,並通過克隆啟用虛擬域控制器快速部署,AD DS 對虛擬化域控制器提供了更多的支持。 這些新的虛擬化功能對下列各項提供了更多的支持:公有雲和私有雲,內部部署和雲端都存在 AD DS 某些部分的混合環境,和完全位於內部部署的 AD DS 基礎結構。
本文檔內容
虛擬環境對取決於基於邏輯時鍾的復制方案的分布式工作負荷,提出了獨特的挑戰。 例如,AD DS 復制使用分配給每個域控制器上的事務的單調遞增的值(稱為 USN 或更新序列號)。 每個域控制器的數據庫實例亦有標識,稱為 InvocationID。 域控制器的 InvocationID 和其 USN 一起作為一個唯一標識符,該標識符與在每個域控制器上執行的每個寫入事務相關聯,並且在林中必須是唯一的。
AD DS 復制使用每個域控制器上的 InvocationID 和 USN 來確定需要復制到其他域控制器的更改。 如果一個域控制器在域控制器感知之外及時回滾,並且 USN 重復用於完全不同的事務,則復制將無法聚合,因為其他域控制器會認為他們已經收到了與該 InvocationID 環境下的重復使用的 USN 相關聯的更新。
例如,下圖顯示了當在 VDC2(在虛擬機上運行的目標域控制器)上檢測到 USN 回滾時在 Windows Server 2008 R2 和更早版本的操作系統上所發生事件的順序。 此圖中,在復制伙伴檢測到 VDC2 已發送最新 USN 值(以前由復制伙伴檢測到,表示 VDC2 的數據庫已及時不正確地回滾)時,VDC2 上將進行 USN 回滾的檢測。

例如,應用在域控制器感知之外的快照,虛擬機 (VM) 輕松地讓虛擬機監控程序管理員回滾域控制器的 USN(其邏輯時鍾)。 有關 USN 和 USN 回滾的詳細信息,包括演示未檢測到的 USN 回滾實例的另一個圖,請參閱 USN 和 USN 回滾。
以 Windows Server 2012 開始,如果虛擬機通過虛擬機快照應用程序及時回滾,則托管在虛擬機監控程序平台(顯示稱為虛擬機生成 ID 的標識符)的 AD DS 虛擬域控制器可以檢測和采取必要的安全措施保護 AD DS 環境。 因為虛擬機生成 ID 設計使用虛擬機監控程序供應商獨立機制在來賓虛擬機地址空間中顯示此標識符,所以安全虛擬化體驗對支持虛擬機生成 ID 的任何虛擬機監控程序來說始終可用。 如果虛擬機已及時回滾,則此標識符可以通過在虛擬機內運行的服務和應用程序進行采樣加以檢測。
在域控制器安裝期間,AD DS 最初將虛擬機生成 ID 標識符存儲為其數據庫(通常稱為目錄信息樹,或 DIT)中域控制器計算機對象上的 msDS -GenerationID 屬性的一部分。 虛擬機內的 Windows 驅動程序獨立地跟蹤虛擬機生成 ID。
當管理員從以前的快照還原虛擬機時,來自虛擬機驅動程序的虛擬機生成 ID 的當前值要與 DIT 中的值進行比較。
如果這兩個值不相同,則重置 invocationID 並放棄 RID 池,從而防止重復使用 USN。 如果這兩個值相同,則正常提交事務。
每次域控制器重新啟動時,AD DS 也將來自虛擬機的虛擬機生成 ID 的當前值與 DIT 中的值進行比較,如果這兩個值不相同,則它將重置 invocationID,放棄 RID 池,並使用新值更新 DIT。 它也非權威地同步 SYSVOL 文件夾,以完成安全還原。 這使安全措施擴展到關閉的虛擬機上快照的應用程序。Windows Server 2012 中引入的這些安全措施使 AD DS 管理員能夠受益於在虛擬化環境中部署和管理域控制器的獨特優勢。
下圖顯示了當在虛擬化域控制器(在支持虛擬機生成 ID 的虛擬機監控程序上運行 Windows Server 2012)上檢測到相同的 USN 回滾時,如何應用虛擬化安全措施。

在這種情況下,當虛擬機監控程序檢測到虛擬機生成 ID 值更改時,將觸發虛擬化安全措施,包括重置虛擬化 DC 的 InvocationID(在前面的示例中從 A 到 B),更新保存在虛擬機上的虛擬機生成 ID 值以匹配虛擬機監控程序存儲的新值 (G2)。 安全措施確保兩個域控制器的復制聚合。
在 中 Windows Server 2012,AD DS 使用(托管在虛擬機生成 ID 感知的虛擬機監控程序上的)虛擬域控制器上的安全措施,並確保意外的快照應用程序和其他此類虛擬機監控程序啟用的機制(可以‘回滾’虛擬機狀態)不會中斷 AD DS 環境(通過防止 USN 泡沫或延遲對象等復制問題)。 但是,不建議將通過應用虛擬機快照還原域控制器作為備份域控制器為一種替代機制。 建議你繼續使用 Windows Server Backup 或其他基於 VSS 書寫器的備份解決方案。
![]() |
---|
如果生產環境中的域控制器意外地還原到快照,建議你向供應商咨詢應用程序、托管在該虛擬機上的服務、以及快照還原后驗證這些程序狀態的指南。 |
有關詳細信息,請參閱 虛擬化域控制器安全還原體系結構。
以 Windows Server 2012 開始,管理員可以通過復制現有的虛擬域控制器輕松安全地部署副本域控制器。 在虛擬環境中,管理員不再需要重復部署使用 Sysprep.exe 准備的服務器映像,將服務器提升為域控制器,然后完成附加配置要求來部署每個副本域控制器。
![]() |
---|
管理員需要遵循現有的流程來部署域中的第一個域控制器,如使用 sysprep.exe 來准備服務器虛擬硬盤 (VHD),將服務器提升為域控制器,然后完成所有附加的配置要求。 在災難恢復方案中,使用最新的服務器備份來還原域中的第一個域控制器。 |
-
在新域中快速部署其他域控制器
-
通過使用克隆快速部署域控制器,還原 AD DS 功能,在災難恢復過程中快速還原業務連續性
-
利用域控制器的彈性配置優化私有雲部署,以適應增加的縮放要求
-
在生產部署之前,啟用部署和測試新特性和功能來快速設置測試環境
-
通過克隆分支機構中現有的域控制器,迅速滿足分支機構中不斷增長的容量需求
迅速部署大量域控制器時,要繼續遵循現有的程序,在安裝完成后驗證每個域控制器的運行狀況。 以合理的規模批次部署域控制器,以便在每批安裝完成后,你可以驗證它們的運行狀況。 推薦的批次大小為 10 個。 有關詳細信息,請參閱 部署克隆虛擬化域控制器的步驟。
要在 AD DS 管理員控制之下授權克隆虛擬化域控制器。 為了讓虛擬機監控程序管理員通過復制虛擬域控制器來部署其他域控制器,AD DS 管理員必須選擇和授權一個域控制器,然后運行准備步驟,使它作為克隆源。
由於通常在虛擬機監控程序管理員的權限下配置虛擬機,所以虛擬機監控程序管理員可以通過復制已由 AD DS 管理員授權並准備進行克隆的虛擬化域控制器來配置副本域控制器虛擬機。
![]() |
---|
允許管理托管虛擬域控制器的虛擬機監控程序的任何人都必須在環境中高度受信任且要進行審核。 |
克隆過程涉及復制現有的虛擬域控制器的 VHD(或者對於更復雜的配置而言是域控制器虛擬機),在 AD DS 中授權它進行克隆以及創建克隆配置文件。 通過消除其它重復部署任務,這將減少部署副本虛擬域控制器中包含的步驟數和時間。
克隆域控制器使用以下條件來檢測它是另一個域控制器的副本:
-
虛擬機提供的虛擬機生成 ID 值與存儲在 DIT 中虛擬機生成 ID 值不同。
注意
虛擬機監控程序平台必須支持虛擬機生成 ID (Windows Server 2012 Hyper-V 支持虛擬機生成 ID)。
-
在下列位置之一存在稱為 DCCloneConfig.xml 的文件:
-
DIT 所在的目錄
-
%windir%\NTDS
-
可移動媒體驅動器的根目錄
-
一旦滿足條件,它就會進行克隆以將其本身配置為副本域控制器。
克隆域控制器使用源域控制器(克隆域控制器表示其副本的域控制器)的安全性上下文聯系 Windows Server 2012 主域控制器 (PDC) 仿真器操作主機角色擔任者(也稱為靈活單主機操作或 FSMO)。 PDC 仿真器必須要運行 Windows Server 2012,但它不必在虛擬機監控程序上運行。
![]() |
---|
如果你有一個引用源域控制器屬性的架構擴展,且該屬性是在上一個對象(計算機對象,NTDS 設置對象)上,可以通過復制該對象來創建克隆,則該屬性將不復制和不更新,以引用克隆域控制器。 |
在驗證請求的域控制器得到克隆授權之后,PDC 仿真器將創建新機標識,包括新帳戶、SID、名稱和密碼,用於標識此機為副本域控制器,並將此信息發送回克隆。 然后,克隆域控制器將准備 AD DS 數據庫文件,將其用作副本,它還將清理計算機狀態。
有關詳細信息,請參閱 虛擬化域控制器克隆體系結構。
克隆組件包括用於 Windows PowerShell 的 Active Directory 模塊中的新 cmdlet 和相關的 XML 文件:
-
New-ADDCCloneConfigFile – 此 cmdlet 會創建 DCCloneConfig.xml 文件並將其放在適當的位置,以確保它可用來觸發克隆。 它還執行先決條件檢查,以確保成功克隆。 它包括在用於 Windows PowerShell 的 Active Directory 模塊中。 你可以在准備進行克隆的虛擬化域控制器上本地運行它,你也可以使用 –offline 選項遠程運行它。 你可以指定克隆域控制器的設置,如其名稱、站點和 IP 地址。
執行的先決條件檢查是:
注意
使用 –offline 選項時,不執行先決條件檢查。 有關詳細信息,請參閱 在脫機模式下運行 New-ADDCCloneConfigFile。
-
正准備的 DC 得到克隆授權(是Cloneable Domain Controllers組的成員)
-
PDC 仿真器運行 Windows Server 2012。
-
從運行的 Get-ADDCCloningExcludedApplicationList 列出的任何程序或服務都包含在 CustomDCCloneAllowList.xml 中(在此克隆組件列表的末尾有更詳細的解釋)。
-
-
DCCloneConfig.xml – 若要成功克隆虛擬化域控制器,此文件必須存在於 DIT 所在的目錄(% windir %\NTDS)中或可移動媒體驅動器的根目錄中。除了用作一個觸發器以檢測和啟動克隆外,它還提供指定克隆域控制器的配置設置的方法。
在所有 Windows Server 2012 計算機上存儲 DCCloneConfig.xml 文件的架構和示例文件,位置是:
-
%windir%\system32\DCCloneConfigSchema.xsd
-
%windir%\system32\SampleDCCloneConfig.xml
建議使用 New-ADDCCloneConfigFile cmdlet 來創建 DCCloneConfig.xml 文件。 雖然你也可以在 XML 感知的編輯器中使用架構文件來創建此文件,但手動編輯該文件會增加出錯的可能性。 如果你要編輯該文件,那么你必須使用 XML 感知的編輯器,如 Visual Studio、XML 記事本或第三方應用程序(不使用記事本)。
-
-
Get-ADDCCloningExcludedApplicationList – 此 cmdlet 在源域控制器上運行,在開始克隆之前,要確定哪些服務或已安裝的程序不在默認支持的列表 (DefaultDCCloneAllowList.xml) 或用戶定義的名為 CustomDCCloneAllowList.xml 文件的包含列表中,從而未被用於克隆的影響評估。
此 cmdlet 搜索源域控制器,查找服務控制管理器中的服務和在 HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall 下列出的已安裝的程序,它們未指定在默認列表 (DefaultDCCloneAllowList.xml) 或者用戶定義的包含列表(CustomDCCloneAllowList.xml 文件)(若有)中。運行該 cmdlet 會返回應用程序和服務列表,該列表反映了在 DefaultDCCloneAllowList.xml 或 CustomDCCloneAllowList.xml 文件中已提供內容和根據在源域控制器上安裝的內容在運行時構造的列表之間的差異。 如果你確定可以安全地克隆服務和程序,則可以將來自 Get-ADDCCloningExcludedApplicationList 的服務和程序輸出添加到 CustomDCCloneAllowList.xml 文件中。 若要確定是否可以安全地克隆某個服務或已安裝的程序,請評估下列條件:
-
服務或已安裝的程序是否受計算機標識(如名稱、SID、密碼等等)影響?
-
在本地計算機上,該服務或已安裝的程序是否存儲了可能影響其克隆功能的任何狀態?
你必須與應用程序的軟件供應商合作,以確定是否可以安全地克隆服務和程序。
注意
在 CustomDCCloneAllowList.xml 文件中配置其他服務或程序之前,請驗證你是否具有復制該虛擬機包含的軟件的必需許可證。
如果應用程序不可以克隆,則應在創建克隆媒體之前,從源域控制器中將其刪除。 如果應用程序出現在 cmdlet 輸出中,但不包含在 CustomDCCloneAllowList.xml 文件中,則克隆將會失敗。 為成功克隆,cmdlet 輸出不應列出任何服務或程序。 換句話說,應用程序應要么包含在 CustomDCCloneAllowList.xml 文件中,要么從源域控制器中刪除。
下表說明了運行 Get-ADDCCloningExcludedApplicationList 的選項。
參數
說明
<未指定參數>
在控制台上顯示還沒有考慮克隆的服務或程序列表。 如果在任何允許的位置已存在 CustomDCCloneAllowList.XML,則將使用該文件來顯示剩余的服務和程序(如果列表匹配,則可能沒有剩余)。
-GenerateXml
創建 CustomDCCloneAllowList.XML 文件,並填寫控制台上列出的服務和程序。
-Force
覆蓋現有的 CustomDCCloneAllowList.XML 文件。
-Path
創建 CustomDCCloneAllowList.XML 的文件夾路徑。
-
-
DefaultDCCloneAllowList.xml – 在默認情況下,%windir%\system32 中每個 Windows Server 2012 域控制器上都存在此文件。 在默認情況下,此文件會列出可以安全克隆的服務和已安裝的程序。 你不得更改此文件的位置和內容,否則克隆將會失敗。
-
CustomDCCloneAllowList.xml – 如果服務或已安裝的程序位於你的源域控制器上,並且在 DefaultDCCloneAllowList.xml 文件所列出的那些內容之外,則那些服務和程序必須包含在此文件中。 若要查找沒有在 DefaultDCCloneAllowList.xml 文件中列出的服務或已安裝的程序,請運行 Get -ADDCCloningExcludedApplicationList cmdlet。 你應該使用 –GenerateXml 參數來生成 XML 文件。
克隆過程會檢查以下位置來查找此文件,並使用最先找到的 XML 文件,不管其他文件夾中的內容:
-
以下注冊表項:
HKey_Local_Machine\System\CurrentControlSet\Services\NTDS\Parameters AllowListFolder (REG_SZ)
-
DSA 工作目錄
-
%systemroot%\NTDS
-
按照驅動器號順序排列的可移動讀/寫媒體,位於驅動器根目錄下
-
以下部署方案支持虛擬域控制器克隆:
-
通過復制源域控制器的虛擬硬盤 (VHD) 文件來部署克隆域控制器。
-
通過使用虛擬機監控程序的導出/導入語義,復制源域控制器虛擬機,部署克隆域控制器。
![]() |
---|
部署克隆虛擬化域控制器的步驟部分中的步驟演示了如何使用 Windows Server 2012 Hyper-V 的導出/導入功能復制虛擬機。 |
-
若要完成以下過程中的步驟,你必須是 Domain Admins 組的成員,或者擁有與分配給 Domain Admins 組成員的權限同等的權限。
-
本指南中使用的 Windows PowerShell 命令必須從提升的命令提示符運行。 為此,請右鍵單擊 Windows PowerShell圖標,然后單擊“以管理員身份運行”。
-
安裝了 Hyper-V 服務器角色的 Windows Server 2012 服務器(HyperV1)。
-
安裝了 Hyper-V 服務器角色的第二台 Windows Server 2012 服務器(HyperV2)。
注意
-
如果正使用另一個虛擬機監控程序,應該聯系該虛擬機監控程序的供應商,驗證虛擬機監控程序是否支持虛擬機生成 ID。 如果虛擬機管理程序不支持虛擬機生成 ID,並且你已經提供了 DCCloneConfig.xml,則新的 VM 將引導到目錄服務還原模式 (DSRM)。
-
為了提高 AD DS 服務的可用性,本指南建議使用兩種不同的 HYPER-V 主機(這有助於防止潛在的單點故障)並提供了相應指導。 但是,你不需要兩個 HYPER-V 主機來執行虛擬域控制器克隆。
-
在每個 Hyper-V 服務器(HyperV1 和 HyperV2)上,你必須是本地管理員組成員。
-
為了使用 Hyper-V 成功地導入和導出 VHD 文件,這兩台 HYPER-V 主機上的虛擬網絡交換機應同名。 例如,如果你在名為 VNet 的HyperV1 上有一個虛擬網絡交換機,那么,在名為 VNet 的 HyperV2 上就需要有一個虛擬網絡交換機。
-
如果兩個 HYPER-V 主機(HyperV1 和 HyperV2)具有不同的處理器,關閉計划要導出的虛擬機(VirtualDC1),那么,請用鼠標右鍵單擊虛擬機,單擊設置以及處理器,然后在處理器兼容性下,選擇遷移到具有不同處理器版本的物理計算機,最后單擊確定。
-
-
承載 PDC仿真器角色 (DC1) 的 Windows Server 2012 已部署域控制器(虛擬或物理)。 要驗證 Windows Server 2012 域控制器上是否承載 PDC仿真器角色,要運行以下 Windows PowerShell 命令:
Get-ADComputer (Get-ADDomainController –Discover –Service "PrimaryDC").name –Property operatingsystemversion | fl
OperatingSystemVersion 的值應返回為 6.2 版本。 如有必要,你可以將 PDC 仿真器角色傳輸到運行 Windows Server 2012 的域控制器。 有關詳細信息,請參閱使用 Ntdsutil.exe 轉移或占用FSMO 角色到域控制器。
-
已部署的 Windows Server 2012 來賓虛擬化域控制器 (VirtualDC1),它與托管 PDC 仿真器角色 (DC1) 的 Windows Server 2012 域控制器處於同一域中。 這將是用於克隆的源域控制器。 將在 Windows Server 2012 HYPER-V 服務器 (HyperV1) 上托管來賓虛擬域控制器。
注意
-
為了成功克隆,對於用來創建克隆的源域控制器,不能來自已降級的 DC,因為已創建了源 VHD 媒體。
-
在復制 VM 或其 VHD 之前關閉源域控制器。
-
不應克隆 VHD 或還原超過邏輯刪除生存期值或已刪除對象的生存期值(在啟用 Active Directory 回收站情況下)的快照。 如果正在復制現有域控制器的 VHD,則請確定 VHD 文件不會超過邏輯刪除生存期值(默認情況下為 60 天)。 對於正在運行的域控制器的 VHD,不應復制它來創建克隆媒體。
彈出源 DC 可能有的任何虛擬軟盤驅動器 (VFD)。 當嘗試導入新的 VM 時,這會導致共享問題。
只有虛擬機生成 ID 虛擬機監控程序托管的 Windows Server 2012 域控制器才可以用作克隆源。 用於克隆的源 Windows Server 2012 域控制器應處於健康狀態。 若要確定源域控制器的狀態,請運行 dcdiag。 為了更好地了解由 dcdiag 返回的輸出,請參閱 DCDIAG 到底做什么......?。
如果源域控制器是 DNS 服務器,那么克隆的域控制器也將是 DNS 服務器。 你應選擇只托管 Active Directory 集成區域的 DNS 服務器。
不會克隆 DNS 客戶端設置,但會在 DCCloneConfig.xml 文件中指定它。 如果沒有指定它們,則在默認情況下,克隆的域控制器將指定自身作為首選的 DNS 服務器。 克隆的域控制器不會有 DNS 委派。 父 DNS 區域的管理員應該按需要更新已克隆域控制器的 DNS 委派。
警告
虛擬化安全措施並不會擴展到 Active Directory 輕型目錄服務 (AD LDS)。 因此,對於托管 AD LDS 實例的 AD DS 域控制器,不應嘗試通過將此 AD LDS 實例添加到 CustomDCCloneAllowList.xml 來克隆它。 因為 AD LDS 不能感知虛擬機生成 ID,所以克隆含 AD LDS 的域控制器可能會在 AD LDS 配置集上導致 USN 回滾引起的分歧。
以下服務器角色不支持克隆:
-
動態主機配置協議 (DHCP)
-
Active Directory 證書服務 (AD CS)
-
Active Directory 輕型目錄服務 (AD LDS)
-
在此過程中,你通過使用 Active Directory 管理中心將源域控制器添加到Cloneable Domain Controllers組中,來授予源域控制器克隆權限。
授予源虛擬化域控制器克隆權限
-
在正在准備克隆域控制器的同域中的任何域控制器 (VirtualDC1) 上,打開“Active Directory 管理中心”(ADAC)、查找虛擬化域控制器對象(域控制器通常位於 ADAC 中的“域控制器”容器中)、右鍵單擊它、選擇“添加到組”並在“輸入要選擇的對象名稱”下面鍵入 Cloneable Domain Controllers,然后單擊“確定”。
在可以執行克隆之前,在此步驟中執行的組成員身份更新必須復制到 PDC 仿真器。 如果沒有找到Cloneable Domain Controllers組,則 PDC 仿真器角色不可能托管在運行 Windows Server 2012 的域控制器上。
注意
在 Windows Server 2012 域控制器上打開 ADAC,打開 Windows PowerShell 並鍵入 dsac.exe。
Windows PowerShell 等效命令
以下 Windows PowerShell cmdlet 執行與上述步驟中相同的功能:
Add-ADGroupMember –Identity "CN=Cloneable Domain Controllers,CN=Users, DC=Fabrikam,DC=Com" –Member "CN=VirtualDC1,OU=Domain Controllers,DC=Fabrikam,DC=com"
在此過程中,在源虛擬域控制器上運行 Get-ADDCCloningExcludedApplicationList cmdlet來確定不評估克隆的任何程序或服務。 你需要在 New-ADDCCloneConfigFile cmdlet 之前運行 Get-ADDCCloningExcludedApplicationList cmdlet,因為如果 New-ADDCCloneConfigFile cmdlet 檢測到已排除的應用程序,則它將不會創建 DCCloneConfig.xml 文件。
確定運行在不評估克隆的源域控制器上的應用程序或服務的步驟
-
在源域控制器 (VirtualDC1) 上,依次單擊“服務器管理器”、“工具”和“用於 Windows PowerShell 的 Active Directory 模塊”,然后鍵入以下命令:
Get-ADDCCloningExcludedApplicationList
-
與軟件供應商聯系,檢查返回的服務和已安裝的程序列表,以確定他們是否可以安全地克隆。 如果不能安全地克隆列表中的應用程序或服務,則必須從源域控制器中刪除它們,否則克隆將會失敗。
-
對於確定可以安全克隆的服務和已安裝程序集合,再次使用 –GenerateXML 開關運行該命令,以便在 CustomDCCloneAllowList.xml 文件中配置這些服務和方案。
Get-ADDCCloningExcludedApplicationList -GenerateXml
在源域控制器上運行 New-ADDCCloneConfigFile,同時可以選擇為克隆域控制器指定配置設置(如名稱、IP 地址和 DNS 解析程序)。
例如,要用靜態 IPv4 地址創建名為 VirtualDC2 的克隆域控制器,請鍵入:
New-ADDCCloneConfigFile –Static -IPv4Address "10.0.0.2" -IPv4DNSResolver "10.0.0.1" -IPv4SubnetMask "255.255.255.0" -CloneComputerName "VirtualDC2" -IPv4DefaultGateway "10.0.0.3" -SiteName "REDMOND"
![]() |
---|
克隆域控制器將位於與源域控制器相同的站點中,除非在 DCCloneConfig.xml 文件中指定了不同的站點。 建議在 DCCloneConfig.xml 文件中指定合適的站點作為基於其 IP 地址的克隆域控制器。 |
計算機名為可選項。 如果你沒有指定名稱,則將基於下面的算法生成一個唯一的名稱:
-
前綴是源域控制器計算機名稱的前 8 個字符。 例如,如源計算機名為 SourceComputer,則將截斷為前綴字符串 SourceCo。
-
前綴字符串會添加獨特的命名后綴格式“–CLnnnn”,其中 nnnn 是 PDC 確定當前未使用的、處於 0001-9999 之間的下一個可用值。 例如,如果 0047 是在允許的范圍內的下一個可用編號,則利用前面示例中的計算機名稱前綴 SourceCo,會將用於克隆計算機的派生名稱設置為 SourceCo-CL0047。
![]() |
---|
對於 New-ADDCCloneConfigFile cmdlet,需要使用全局編錄 (GC) 服務器才能順利運行。 對於Cloneable Domain Controllers組中源域控制器的成員,必須映射到 GC 上。 GC 不必是與 PDC 仿真器相同的域控制器,但它最好處於同一站點中。 如果 GC不可用,則該命令將失敗並出現“服務器無法運行”錯誤。 有關詳細信息,請參閱 虛擬化域控制器疑難解答。 |
要創建名為 Clone1 的、使用靜態 IPv4 設置的克隆域控制器,同時指定首選和備用 WINS 服務器,則請鍵入:
New-ADDCCloneConfigFile –CloneComputerName "Clone1" –Static -IPv4Address "10.0.0.5" –IPv4DNSResolver "10.0.0.1" –IPv4SubnetMask "255.255.0.0" –PreferredWinsServer "10.0.0.1" –AlternateWinsServer "10.0.0.2"
![]() |
---|
如果指定了 WINS 服務器,則必須同時指定 - PreferredWINSServer 和 - AlternateWINSServer。 如果僅指定上述參數之一,則克隆將失敗,並在 dcpromo.log 中記錄錯誤代碼 0x80041005。 |
若要創建名為 Clone2 的、使用動態 IPv4 設置的克隆域控制器,則請鍵入:
New-ADDCCloneConfigFile -CloneComputerName "Clone2" -IPv4DNSResolver "10.0.0.1"
![]() |
---|
在此情況下,在環境中應該有 DHCP 服務器,這樣克隆才可以訪問和獲得 IP 地址和其他相關網絡設置。 |
要創建名為 Clone2 的、使用動態 IPv4 設置的克隆域控制器,同時指定首選和備用 WINS 服務器,請鍵入:
New-ADDCCloneConfigFile -CloneComputerName "Clone2" -IPv4DNSResolver "10.0.0.1" -SiteName "REDMOND" –PreferredWinsServer "10.0.0.1" –AlternateWinsServer "10.0.0.2"
要創建使用動態 IPv6 設置的克隆域控制器,請鍵入:
New-ADDCCloneConfigFile -IPv6DNSResolver "2002:4898:e0:31fc:d61:2b0a:c9c9:2ccc"
要創建使用靜態 IPv6 設置的克隆域控制器,請鍵入:
New-ADDCCloneConfigFile –Static -IPv6DNSResolver "2002:4898:e0:31fc:d61:2b0a:c9c9:2ccc"
![]() |
---|
指定 IPv6 設置時,靜態與動態設置之間的唯一區別是包含 –Static 開關。 如包含 –Static 開關,則必須至少指定一個 IPv6DNSResolver。配置靜態 IPv6 地址應使用無狀態地址自動配置 (SLAAC) 與路由器分配的前綴。 如使用動態 IPv6,則 DNS 解析程序是可選的,但克隆應能夠訪問子網上啟用了 IPv6 的 DHCP 服務器,以獲取 IPv6 地址和 DNS 配置信息。 |
如果擁有已准備克隆 (意味着源域控制器得到克隆授權,且 Get-ADDCCloningExcludedApplicationList cmdlet 已經運行等等) 源域控制器媒體的多個副本,並且要為每個媒體副本指定不同的設置,則可以在脫機模式下運行 New-ADDCCloneConfigFile。 這比單獨准備每個 VM(例如,通過導入每個副本)效率更高。
在此情況下,域管理員可以裝入脫機磁盤,並使用遠程服務器管理工具 (RSAT) 以及 –offline 參數運行 New-ADDCCloneConfigFile cmdlet,以添加 XML 文件,這樣,通過使用 Windows Server 2012 含有的新 Windows PowerShell 選項,實現了工廠式的自動化。 有關如何裝入脫機磁盤以便在脫機模式下運行 New-ADDCCloneConfigFile cmdlet 的詳細信息,請參閱將 XML 添加到脫機系統盤。
在源媒體上,應首先以本地模式運行 cmdlet,確保該先決條件檢查通過。 不能在脫機模式下執行先決條件檢查,因為對於非來自同域或已加入域的計算機,均可從中運行此 cmdlet。 在以本地方式運行 cmdlet 后,它將創建 DCCloneConfig.xml 文件。 如果隨后計划使用脫機模式,則可以刪除在本地創建的 DCCloneConfig.xml。
要在脫機模式下創建名為 CloneDC1的克隆域控制器,則應在帶有靜態 IPv4 地址、名為“REDMOND”的站點中鍵入:
New-ADDCCloneConfigFile –Offline –CloneComputerName CloneDC1 –SiteName REDMOND -IPv4Address "10.0.0.2" -IPv4DNSResolver "10.0.0.1" -IPv4SubnetMask "255.255.0.0" -IPv4DefaultGateway "10.0.0.1" –Static –Path F:\Windows\NTDS
要在脫機模式下,使用靜態 IPv4 和 IPv6 的靜態設置創建名為 Clone2 的克隆域控制器,請鍵入:
New-ADDCCloneConfigFile –Offline -IPv4Address "10.0.0.2" -IPv4DNSResolver "10.0.0.1" -IPv4SubnetMask "255.255.0.0" –Static -IPv6DNSResolver "2002:4898:e0:31fc:d61:2b0a:c9c9:2ccc" -CloneComputerName "Clone2" -PreferredWINSServer "10.0.0.1" -AlternateWINSServer "10.0.0.3" –Path F:\Windows\NTDS
要在脫機模式下,使用靜態 IPv4 和 動態 IPv6 設置創建克隆域控制器,同時指定針對 DNS 解析程序設置的 DNS 服務器,請鍵入:
New-ADDCCloneConfigFile –Offline -IPv4Address "10.0.0.10" -IPv4SubnetMask "255.255.0.0" -IPv4DefaultGateway "10.0.0.1" -IPv4DNSResolver @( "10.0.0.1","10.0.0.2" ) –Static -IPv6DNSResolver "2002:4898:e0:31fc:d61:2b0a:c9c9:2ccc" –Path F:\Windows\NTDS
要在脫機模式下用動態 IPv4 和靜態 IPv6 設置創建名為 Clone1克隆域控制器,請鍵入:
New-ADDCCloneConfigFile –Offline -Static -IPv6DNSResolver "2002:4898:e0:31fc:d61:2b0a:c9c9:2ccc" -CloneComputerName "Clone1" -PreferredWINSServer "10.0.0.1" -AlternateWINSServer "10.0.0.3" -SiteName "REDMOND" –Path F:\Windows\NTDS
要在脫機模式下用動態 IPv4 和動態 IPv6 設置創建克隆域控制器,請鍵入:
New-ADDCCloneConfigFile –Offline -IPv4DNSResolver "10.0.0.1" -IPv6DNSResolver "2002:4898:e0:31fc:d61:2b0a:c9c9:2ccc" –Path F:\Windows\NTDS
在這一過程中,導出源虛擬域控制器的虛擬機,然后導入虛擬機。 此操作可在域中創建克隆虛擬域控制器。
需要成為每個 Hyper-V 主機上本地管理員組的成員才能操作。 如果為每個服務器使用不同的憑據,請運行 Windows PowerShell cmdlet 來在不同的 Windows PowerShell 會話中導出和導入 VM。
如果源域控制器上有快照,應該在源域控制器被導出之前刪除它們,因為如果快照帶有與目標 hyper-v 主機不兼容的處理器設置,則 VM 將不會導入。 如果源和目標 hyper-v 主機之間的處理器設置能夠兼容,那么無需事先刪除快照即可導出並復制來源。 然而導入后,在克隆 VM 啟動前必須從中刪除快照。
通過導出然后導入虛擬源域控制器來復制虛擬域控制器
-
在 HyperV1 上,關閉源域控制器 (VirtualDC1)。
Windows PowerShell 等效命令
Stop-VM –Name VirtualDC1 –ComputerName HyperV1
-
在 HyperV1 上,刪除快照然后將源域控制器 (VirtualDC1) 導出到 c:\CloneDCs 目錄。
注意
你應該刪除所有相關快照,因為每次拍攝快照時,會創建一個新的 AVHD 文件作為不同的磁盤。 這樣可創建一個連鎖效應。 如果你已經拍攝了快照並將 DCCLoneConfig.xml 文件插入 VHD,你可以結束從舊版 DIT 創建一個克隆或者將配置文件插入錯誤的 VHD 文件中。 刪除該快照會將這些 AVHD 全部合並到基本 VHD 中。
Windows PowerShell 等效命令
Get-VMSnapshot VirtualDC1 | Remove-VMSnapshot –IncludeAllChildSnapshots Export-VM –Name VirtualDC1 –ComputerName HyperV1 -Path c:\CloneDCs\VirtualDC1
-
將 virtualdc1 文件夾復制到 HyperV2 的 c:\Import 目錄。
-
在 HyperV2 上,使用 Hyper-V 管理器,從文件夾 c:\Import\virtualdc1 導入虛擬機(使用 Hyper-V 管理器中的導入虛擬機向導)並刪除所有相關的快照。
導入虛擬機時,使用復制虛擬機(創建新的唯一 ID)選項。
Windows PowerShell 等效命令
$path = Get-ChildItem "C:\CloneDCs\VirtualDC1\VirtualDC1\Virtual Machines" $vm = Import-VM –Path $path.fullname –Copy -GenerateNewId Rename-VM $vm VirtualDC2
從同一源域控制器創建多個克隆域控制器:
-
UI:在導入虛擬機向導中,為虛擬機配置文件夾、快照存儲、智能分頁文件夾指定新位置,以及一個面向虛擬硬盤虛擬機的不同的位置。
-
Windows PowerShell:使用面向 Import-VM cmdlet 的下列參數為虛擬機指定新位置:
$path = Get-ChildItem "C:\CloneDCs\VirtualDC1\VirtualDC1\Virtual Machines" Import-VM –Path $path.fullname –Copy –GenerateNewId –ComputerName HyperV2 –VhdDestinationPath "path" –SnapshotFilePath "path" –SmartPagingFilePath "path" –VirtualMachinePath "path"
注意
推薦使用 10 作為同時創建多個克隆域控制器的批處理大小。 最大數量受到出站復制連接最大數量的限制,后者的默認設置是分布式文件系統復制 (DFSR) 為 16,而文件復制服務 (FRS) 為 10。 應該部署不超過推薦數量的同時克隆域控制器,除非已經全面測試過該數量適合你的環境。
-
-
在 HyperV1 上,重啟源域控制器 ((VirtualDC1) 使其重新上線。
Windows PowerShell 等效命令
Start-VM –Name VirtualDC1 –ComputerName HyperV1
-
在 HyperV2 上,啟動虛擬機 (VirtualDC2) 將其作為域中的克隆域控制器上線。
Windows PowerShell 等效命令
Start-VM –Name VirtualDC2 –ComputerName HyperV2
注意
PDC 仿真器必須一直運行,保證克隆成功。 如果關機,要確保它已經啟動並執行初始同步,以便它能夠認識到承擔着 PDC 仿真器角色。 有關詳細信息,請參閱 Microsoft 知識庫文章 305476。
克隆完成后,驗證克隆計算機的名稱以確保克隆操作的成功。 驗證 VM 沒有在目錄服務還原模式 (DSRM) 中啟動。 如果你嘗試登錄並接收到一個說明無登錄服務器可用的錯誤,請嘗試在 DSRM 中登錄。 如果 DC 沒有成功克隆而且已經在 DSRM 中啟動,請檢查 “事件查看器” 中的日志和 %systemroot%/debug 文件夾中的 dcpromo 日志。
克隆的域控制器將成為Cloneable Domain Controllers組的成員,因為它從源域控制器復制了成員資格。 作為最佳實踐,你應該使Cloneable Domain Controllers組保持空白,直到你准備執行克隆操作為止,而且你應該在克隆操作完成之后刪除成員。
如果源域控制器可以存儲備份媒體,那么克隆的域控制器也能夠存儲。 你可以運行 wbadmin get versions 來在克隆的域控制器上顯示備份媒體。 Domain Admins 組的成員應該在克隆的域控制器上刪除備份媒體,以防止其被意外恢復。 有關如何使用 wbadmin.exe 刪除系統狀態備份的詳細信息,請參閱Wbadmin delete systemstatebackup。
如果克隆域控制器 (VirtualDC2) 在目錄服務恢復模式 (DSRM) 中啟動,那么在下次重啟時它不會自行返回正常模式。 若要登錄在 DSRM 中啟動的域控制器,使用 .\Administrator 並指定 DSRM 密碼。
修改克隆錯誤的原因,驗證 dcpromo.log 沒有表明不能再次運行克隆。 如果克隆不能被再次運行,請安全丟棄媒介。 如果克隆可以被再次運行,為了再次嘗試克隆,你必須刪除 DS 恢復模式標記。
-
使用提升的命令(右鍵單擊 Windows Server 2012 並選擇“以管理員身份運行”)打開 Windows Server 2012,然后輸入 msconfig。
-
在啟動選項卡的啟動選項中,清除安全啟動(已經選擇 Active Directory 修復已啟用選項)。
-
得到提示后點擊確定然后重新啟動。
有關虛擬域控制器的詳細疑難解答信息,請參閱虛擬化域控制器疑難解答。