前提条件:DC1是使用Hyper-v创建的域控制器
所有的实验步骤都是在Hyper-v管理器中的DC1域控中完成的。
1.检查与控制器复制的必要条件
在DC1的域控制器中,打开服务器管理器,打开Active Directory管理中心,将DC1添加到Cloneable Domain Controllers组中
这里确认有Cloneable Domain Controllers这个组
将DC1添加到组中
使用命令 netdom query fsmo 来检查PDC主机所在的域控
添加完成后,使用Power Shell打开,键入 Get-ADDCCloningExcludedApplicationList,来验证DC1上的程序与服务支持克隆
注;有些应用程序和服务不支持克隆,比如DHCP,AD证书服务(AD CS)AD轻型目录服务(AD LDS)这些不支持克隆
详细请参考:适用于应用程序供应商的虚拟化域控制器克隆测试指南 | Microsoft Learn
使用Get-ADDCCloningExcludedApplicationList -GenerateXML和New-ADDCCloneConfig cmdlet创建一个DCCloneConfig.xml文件
2.创建目标克隆域控所需的配置文件
在C:\WINDOWS\SYSTEM32这个目录下找到SampleDcCloneConfig这个文件
把它复制到C:\windows\ntds目录下,并改名为DcCloneConfig.xml
填写自己克隆域控的信息,比如ComputerName,SiteName,Address,SubnetMask,DNSResolve。
3.导出源DC并创建目标DC的vm
//这里使用“测试”(测试的虚拟机是没有任何东西的)
其中这个测试的虚拟机是一台域控制器,域控的配置如上所示。
将这个虚拟机导出到一个目录中,为了测试,我导入到C:盘下
此时我们在DC1中所更改的配置信息,就都在我们导出的这个vhdx上,也就是我们需要克隆的这个域控的所有信息,都在这里面。
此时我们返回Hyper-V管理器中。新建虚拟机
克隆DC1的,命名为DC2-clone // 用于测试,直接简单点
在选择指定代数的时候,通常选择第二代
在Hyper-V中,第一代虚拟机和第二代虚拟机是两种不同的虚拟机生成方式。它们之间有一些重要的区别,如下所示:
综上所述,如果要在Hyper-V中创建虚拟机,通常建议使用第二代虚拟机,特别是对于较新的操作系统和较新的硬件。但如果您需要支持旧版的操作系统或特定的虚拟硬件功能,那么第一代虚拟机可能更适合。
内存分配和配置网络按照需求合理分配即可
分配内存的时候,同样的也建议勾选为此虚拟机分配动态内存
动态内存的优点:
在链接虚拟硬盘时,选择使用现有的虚拟硬盘(就是我们要克隆的那一台域控)
点击创建完成
如果启动的话,先启动DC1,等待DC1启动完成,在启动DC2-Clone。打开后会显示,正在克隆
等待克隆完成,此时域控中有两台域控
- 节省资源:动态内存允许虚拟机根据需要动态分配和释放内存。这意味着虚拟机只会使用实际需要的内存,而不会浪费未使用的内存。这可以节省物理服务器上的内存资源。
- 弹性扩展:动态内存使虚拟机能够根据工作负载的需求自动调整其内存大小。当虚拟机的负载增加时,它可以动态获取更多的内存以满足需求;而当负载减少时,它可以释放多余的内存以提供给其他虚拟机使用。
- 性能优化:通过动态内存分配,虚拟机可以更好地管理内存资源,避免过度分配或过度使用内存。这有助于提高整体系统的性能和效率。
- 多虚拟机共享资源:在一个物理服务器上运行多个虚拟机时,动态内存分配可以确保每个虚拟机都能获得所需的内存资源,同时避免资源争用和冲突。
- 启动方式:第一代虚拟机使用传统的BIOS(Basic Input/Output System)启动方式,而第二代虚拟机使用UEFI(Unified Extensible Firmware Interface)启动方式。UEFI提供了更现代化和可扩展的引导环境。
- 操作系统支持:第一代虚拟机可以安装几乎所有的32位和64位操作系统,包括旧版的Windows、Linux等。而第二代虚拟机仅支持较新的64位操作系统,如Windows Server 2012及更高版本、Windows 8及更高版本以及某些Linux发行版。
- 虚拟硬件支持:第二代虚拟机支持更多的虚拟硬件功能,包括UEFI启动、Secure Boot、PXE(Preboot Execution Environment)启动、VHDX格式的虚拟硬盘等。第一代虚拟机的虚拟硬件功能相对较少。
- 快照支持:第一代虚拟机可以创建和恢复快照(Snapshot),而第二代虚拟机仅支持检查点(Checkpoint)。虽然检查点与快照在某种程度上具有相似的功能,但它们在实现方式上存在一些区别。