VMware和微软提供虚拟化服务已经有很多年了。对于VMware,到现在已经超过十年了,而微软进入服务器虚拟化稍晚。
一个IT环境是由若干物理IT组件组成的,包括运行活动目录服务的服务器。活动目录域名控制器是顺利运营IT所必须的关键服务器。作为虚拟化路线的一部分,必须确保每个物理IT资源都处于被虚拟化的过程中,这样才能降低成本。这也包括对物理域名控制器进行虚拟化。
活动目录域名控制器不仅有助于IT运营顺利进行,它还是提供认证和授权服务的一个关键组成部分。在如今的生产环境中,几乎所有的网络应用都使用活动目录作为身份验证提供程序。在对这些关键服务进行虚拟化之前,我们要考虑很多事情。
这也就是本文的出发点,它能帮助你了解在VMware或Hyper-V上对活动目录域名控制器进行虚拟化时,哪些该做,哪些不该做。
禁用时间同步
借助于Windows时间服务,活动目录域名控制器有一个内建的机制来处理时间同步。虚拟化平台也为虚拟机提供了时间服务,但是建议禁用虚拟域名控制器上的时间同步服务,并让活动目录管理虚拟域名服务器之间的时间同步。
不要生成系统快照
快照功能是为开发和测试目的而设计的。作为快照过程的一部分,快照会恢复为生成时的配置。快照需要在快照文件生成前,虚拟机置为已保存状态。
1. 首先,将虚拟域名控制器置为已保存状态可以减少停机时间,如果差分磁盘文件很大,作用是很明显的。
2. 其次,尽量不要把一个虚拟域名控制器回复到以前的配置。如果你这么做了,这可能导致那台域名控制器的活动目录数据库的副本不一致。
注意:微软Hyper-V通过在Windows Server 2012中引入了一个新的Live Snapshot Merge功能解决了停机问题。
对域名控制器禁用磁盘缓存
关于“对虚拟域名控制器内的所有磁盘驱动器上的Policies选项卡禁用磁盘写缓存”,建议对所有使用 Extensible Engine Storage技术的服务应用此项设置,避免数据丢失。
禁用磁盘缓存确保数据真的写进了磁盘里,而不是在内存中保存,否则一旦断电或服务器崩溃,数据可能会丢失。
不要暂停
不建议暂停一个虚拟域名控制器,特别是虚拟域名控制器暂停的时间超出了活动目录的墓碑时间。暂停会导致虚拟域名控制器脱离同步,在活动目录环境中产生延迟对象。
延迟对象是在活动目录墓碑时间内,被删除的对象没有复制到所有活动目录域名控制器上时产生的。墓碑时间按所使用的操作系统为80天或160天。
一定要对虚拟域名控制器设置固定或直通磁盘
建议为存储域名控制器的数据库(NTDS.DIT)和日志文件设置固定或直通磁盘类型,这样域名控制器会更有效率。应用其他的磁盘类型(如差分磁盘虚拟硬盘)会降低虚拟域名控制器的性能。
注意:直通磁盘类型是微软Hyper-V的一个功能,相当于VMware虚拟化平台上的Raw磁盘。
不要复制域名控制器虚拟机
大多数虚拟化厂商为快速部署提供了复制虚拟机的功能。强烈建议不要对域名控制器进行复制。如果你需要这样做,我们建议使用SysPrep.exe这个工具,它可以移除安全标示符(SID)副本。
千万不要使用虚拟化产品的导出功能
在导出过程将相关文件导出之前,导出功能会把域名服务器置为已保存状态。然后虚拟机才能继续提供服务。
我们强烈建议除非万不得已,否则不要暂停域名控制器上的服务。停止这些服务可能会导致使用活动目录作为验证提供程序的网络应用程序停止。
禁用或设置Automatic Start Action
虚拟机可以设置为虚拟主机故障后自动启动。微软Hyper-V和VMware都提供此功能。
Automatic Start Action功能避免了人为操作,但对于活动目录域名控制器来说这不是一个很好的功能。假如虚拟主机停机,所有的虚拟域名控制器都不能设置为自动重启。
使用此功能会导致启动域名控制器的延迟。例如,子域名控制器不应该在根域名控制器运行前启动。因此,建议禁用此功能或为子域内的虚拟机域名控制器的初次启动设置延迟。
禁用虚拟域名控制器的故障恢复策略
活动目录是一种多主机同步技术。在活动目录备份技术的作用下,所有虚名控制器都会与活动目录数据库保持一致。默认情况下,活动目录域名控制器带有容错和负载平衡机制,来提供身份验证和授权服务。
因此,如果虚拟域名控制器运行在一个集群环境下,最好的做法就是禁用所有故障恢复策略,阻止集群间虚拟域名控制器的自动备份。
在一台主机上至少保证一个DNS和域名控制器运行
把它作为最佳做法,有很多理由:
1. 活动目录和DNS紧密结合的组件。DNS需要为生产环境中运行的网络应用程序解析域名。DNS可以在装有或未装有活动目录的服务器上运行。如果DNS服务在一台域名控制器上运行,那建议至少在该物理环境下保证一台DNS服务器运行,这样可以避免在虚拟化设备之外运行的网络应用程序破坏域名解析服务。
2. 记住,出于认证目的,微软故障转移集群服务需要使用集中管理的活动目录域名控制器。如果你将所有的域名控制器进行虚拟化,故障转移集群可能不会工作,或不提供故障转移服务。因此,建议在该物理环境下保证一台DNS服务器运行,这样可是故障转移集群如期工作。
3. 虚拟主机也需要使用DNS服务器服务。建议将虚拟主机上的DNS设置为使用外部DNS服务器,这样即便所有虚拟域名控制器下线,域名解析也能照常工作。
在多台主机上架设虚拟域名控制器
了解一台虚拟主机很重要,虚拟域名控制器在这里运行,它也会有硬件和软件故障。虚拟主机的损坏不应该 造成虚拟活动目录域名控制器的损坏。
如果可能的话,最好的做法就是将虚拟域名控制器分散在多个虚拟主机上,这样可以防止服务中断。