适用于应用程序供应商的虚拟化域控制器克隆测试指南
本主题介绍应用程序供应商应考虑的注意事项,以帮助确保在虚拟化域控制器 (DC) 克隆过程完成后其应用程序继续按预期工作。 它涵盖了应用程序供应商感兴趣的克隆过程的那些方面,以及可能需要进行额外测试的场景。 鼓励应用程序供应商(已验证其应用程序可在已克隆的虚拟化域控制器上运行)在本主题底部的“社区内容”中列出应用程序的名称以及指向组织网站(用户可以在其中了解有关验证的详细信息)的链接。
虚拟化 DC 克隆概述
Active Directory 域服务 (AD DS) 虚拟化简介(级别 100)和虚拟化域控制器技术参考(级别 300)中详细介绍了虚拟化域控制器克隆过程。 从应用程序供应商的角度来看,在评估克隆对应用程序的影响时,需要考虑以下注意事项:
原始计算机没有被破坏。 它保留在网络上,并与客户端交互。 与删除原始计算机的 DNS 记录的重命名不同,源域控制器的原始记录将保留。
在克隆过程中,新计算机最初以旧计算机的身份运行一小段时间,直到克隆过程启动并进行必要的更改。 创建有关主机的记录的应用程序应确保克隆计算机在克隆过程中不会覆盖有关原始主机的记录。
克隆是仅针对虚拟化域控制器的特定部署功能,而不是用于克隆其他服务器角色的常规用途扩展。 克隆特别不支持某些服务器角色:
动态主机配置协议 (DHCP)
Active Directory 证书服务 (AD CS)
Active Directory 轻型目录服务 (AD LDS)
在克隆过程中,将复制代表原始 DC 的整个 VM,因此也将复制该 VM 上的任何应用程序状态。 验证应用程序是否适应克隆 DC 上的本地主机状态的此更改,或者是否需要任何干预(如服务重启)。
在克隆过程中,新的 DC 将获得一个新的计算机标识,并将其自身预配为拓扑中的副本 DC。 验证应用程序是否依赖于计算机标识,例如其名称、帐户、SID 等。 它是否会自动适应克隆上计算机标识的更改? 如果该应用程序缓存数据,请确保它不依赖于可能被缓存的计算机标识数据。
应用程序供应商对哪些内容感兴趣?
CustomDCCloneAllowList.xml
不能克隆运行应用程序或服务的域控制器,除非应用程序或服务满足以下任一条件:
- 使用 Get-ADDCCloningExcludedApplicationList Windows PowerShell cmdlet 添加到 CustomDCCloneAllowList.xml 文件
-或-
- 从域控制器中删除
用户第一次运行 Get-ADDCCloningExcludedApplicationList cmdlet 时,它会返回在域控制器上运行但不在支持克隆的默认服务和应用程序列表中的服务和应用程序列表。 默认情况下,不会列出服务或应用程序。 若要将服务或应用程序添加到可安全克隆的应用程序和服务列表中,用户可以使用 -GenerateXML 选项再次运行 Get-ADDCCloningExcludedApplicationList cmdlet,以便将其添加到 CustomDCCloneAllowList.xml 文件中。 有关详细信息,请参阅步骤 2:运行 Get-ADDCCloningExcludedApplicationList cmdlet。
分布式系统交互
通常,与本地计算机隔离的服务在参与克隆时要么通过,要么失败。 分布式服务必须考虑在短时间内同时在网络上拥有两个主机实例。 这可能表现为服务实例试图从合作伙伴系统中拉取信息,在该合作伙伴系统中克隆已注册为标识的新供应商。 或者,服务的两个实例可能同时将信息推送到 AD DS 数据库,并生成不同的结果。 例如,如果两台具有 Windows Testing Technologies (WTT) 服务的计算机在具有域控制器的网络上,则不能确定与哪台计算机通信。
对于分布式 DNS 服务器服务,当克隆域控制器使用新的 IP 地址启动时,克隆过程会小心地避免覆盖源域控制器的 DNS 记录。
在克隆结束之前,不应该依赖计算机删除所有旧标识。 在新上下文中提升新的域控制器后,选择运行 Sysprep 提供程序以清理计算机的其他状态。 例如,此时将删除计算机的旧证书,并且将更改计算机可访问的加密机密。
影响克隆时间的最大因素是要从 PDC 复制的对象数目。 较旧的介质会增加完成克隆所需的时间。
由于服务或应用程序是未知的,因此它仍在运行。 克隆过程不会更改非 Windows 服务的状态。
此外,新计算机的 IP 地址与原始计算机不同。 这些行为可能会对服务或应用程序造成意外结果,具体取决于服务或应用程序在此环境中的行为方式。
建议用于测试的其他场景
克隆失败
服务供应商应测试此场景,因为当克隆失败时,计算机将启动到目录服务修复模式 (DSRM),这是一种安全模式。 此时,计算机尚未完成克隆。 某些状态可能已更改,而原始域控制器的某些状态可能仍被保留。 测试此场景,以了解其会对应用程序产生怎样的影响。
若要导致克隆失败,请尝试在不授予域控制器克隆权限的情况下对其进行克隆。 在这种情况下,计算机仅更改了 IP 地址,且仍具有原始域控制器的大部分状态。 有关授予域控制器克隆权限的详细信息,请参阅步骤 1:授予源虚拟化域控制器克隆权限。
PDC 仿真器克隆
服务和应用程序供应商应测试此场景,因为在克隆 PDC 仿真器时会进行额外重启。 此外,大部分克隆都是以临时身份执行的,以便允许新克隆在克隆过程中与 PDC 仿真器进行交互。
可写域控制器与只读域控制器
服务和应用程序供应商应使用计划运行服务的相同类型的域控制器(即在可写域控制器或只读域控制器上)来测试克隆。