多年来,VMware和微软都在提供虚拟化服务。其中,VMware的虚拟化历史已超过十年,而微软公司进入服务器虚拟化领域的时间则相对较短。
一个IT环境是由一系列物理IT组件构成的,其中包括托管Active Directory(活动目录)服务的服务器。Active Directory域控制器是顺利运行IT操作所必需的关键服务器。作为虚拟化路线的一部分,企业必须确保它的每个物理IT资源都处在被虚拟化的过程中,从而降低成本。这当然也包括了对物理域控制器进行虚拟化。
Active Directory域控制器不仅有助于IT业务的顺利运行,它还是提供验证和授权服务的关键组成部分。在如今的生产环境中,几乎所有的网络应用程序都采用Active Directory作为身份验证。在对这些关键服务实现虚拟化之前,我们需要考虑很多事情。
这也是本文要介绍虚拟化“最佳实践”法的用意,它能帮助你了解在VMware或Hyper-V上对活动目录域名控制器进行虚拟化时,哪些操作应该做,哪些不该做:
禁用时间同步功能
借助Windows的时间服务,Active Directory域控制器有一个内置机制可处理时间同步任务。虚拟化平台也为虚拟机(VM)提供了时间服务,不过建议对每一个虚拟域控制器都关闭时间同步选项并让Active Directory来管理虚拟域控制器之间的时间同步任务。
不要生成系统快照
快照功能是专为开发和测试目的而设计的。执行快照功能是为了可以恢复到之前作为快照过程一部分的配置状态。快照功能要求,在创建快照文件之前,虚拟机处于保存状态。
1. 第一步,把虚拟域控制器置于保存状态作为快照过程的一部分,并确保停机时间最短,如果不同的磁盘文件变得很大,由此会产生显著的影响。
2. 其次,我们从来不希望特别地为一个虚拟域控制器而恢复到之前的配置。如果你这样做的话,这可能会导致该域控制器上Active Directory数据库的副本不一致。
注:通过在Windows Server 2012中引入了一个新的Live快照融合功能,微软公司的Hyper-V解决了由快照功能引起的停机问题。
禁用域控制器上的磁盘缓存功能
对于“在虚拟域控制器的所有磁盘驱动器策略标签中,关闭磁盘写缓存功能”的设置,建议对所有使用可扩展引擎存储(ESE)技术的服务选择该项设置,以避免任何的数据丢失可能。
关闭磁盘缓存可确保数据实际上是被写入磁盘而不是被保存在非易失性内存中,后者在发生电源故障或主机服务器当机时有可能会造成数据的丢失。
不要暂停
不建议暂停虚拟域控制器,尤其是虚拟域控制器暂停时间超过Active Directory的Tombstone timeframe。暂停可能会导致虚拟域控制器的不同步,并在Active Directory环境中引入延迟对象。
当被删除对象没有在Active Directory的Tombstone timeframe时间(一般为80或160天,具体取决于所使用的操作系统)内被复制到所有的Active Directory域控制器时,就会出现延迟对象。
常对虚拟域名控制器设置固定或直通磁盘
建议为存储域控制器的数据库(NTDS.DIT)和日志文件配置固定或直通型磁盘,以便于域控制器能够更高效地运行。使用其他类型硬盘之一(例如有差异的磁盘虚拟硬盘)将降低虚拟域控制器的性能。
注:直通型磁盘是微软Hyper-V的一个功能,它与VMware虚拟化平台中的Raw磁盘可以相提并论。
不要复制域控制器虚拟机
大部分的虚拟化供应商都提供了虚拟机克隆功能以实现快速部署。但是,我们强烈建议不要克隆域控制器安装。如果你确有需要,我们建议使用SysPrep.exe工具,它通过删除重复的安全标识符(SID)来准备操作系统。
切勿使用虚拟化产品的导出功能
在导出程序导出相关文件之前,导出功能会把域控制器置于保存状态。然后,就会恢复虚拟机以提供服务。
由于显而易见的原因,我们强烈建议,除非绝对必要,请切勿暂停域控制器的服务。暂停这些服务可能会导致把Active Directory 作为其验证程序使用的网络应用程序的停机。
#p#
禁用或配置自动启动操作
在任何故障情况下,使用虚拟化主机可配置一个虚拟机自动重启。该功能由微软Hyper-V和VMware提供。
虽然一个自动启动操作的功能可避免人工干预,但这并不是Active Diretory域控制器的一个好选项/功能。在虚拟化主机出现故障的情况下,所有虚拟域控制器都不必配置为自动重启。
执行该选项将导致启动域控制器延迟。例如,一个子域控制器在root域控制器启动运行之前不应启动。因此,建议关闭该选项或对子域一部分的虚拟机域控制器启动初始化设置延时。
禁用虚拟域控制器的故障恢复策略
Active Directory是一个多主机复制技术。在Active Directory复制技术的支持下,所有域控制器都与Active Directory数据库的副本保持着一致。默认情况下,出厂设置中包括了容错和负载平衡机制的Active Directory域控制器可提供验证和授权服务。
因此,如果虚拟域控制器运行在集群环境中,最好是关闭所有的故障返回策略以阻止虚拟域控制器在集群内的自动移动。
在一个主机上至少保持运行一个DNS和域控制器
采取这一最佳实践的原因如下:
1. Active Directory和DNS是紧密集成的组件。运行在生产环境中的网络应用程序会要求DNS提供域名解析服务。DNS可托管在有或没有安装Active Directory服务的服务器上。如果DNS服务托管在一个域控制器上,那么我们建议在物理环境中应至少运行一台DNS服务器以避免为运行在虚拟基础设施以外的网络应用程序提供的域名解析服务中断。
2. 请记住,微软故障转移集群服务要求应用集中式Active Directory域控制器于认证目的。如果你对所有的域控制器都实现了虚拟化,那么故障转移集群可能就会无法正常工作或提供故障转移服务。因此,建议在物理环境中至少运行有一个域控制器以便于故障转移集群可以如预期那样的正常工作。
3. 虚拟化主机也要求使用DNS服务器的服务。建议在虚拟化主机上配置DNS设置,使用外部DNS服务器以便于在所有虚拟域控制器脱机时域名解析服务也能够正常工作。
在多个主机上托管虚拟域控制器
了解运行虚拟域控制器的虚拟主机是非常重要的,这是因为虚拟主机也是有可能发生硬件或软件故障的。虚拟化主机的损失不应导致所有虚拟Active Directory域控制器的损失。
在可能的情况下,最佳实践要求在多个虚拟主机上传播虚拟域控制器安装,以避免任何的服务中断。