单 CPU 服务器可以吗?内存和网络连接呢?单 100MBit/S 还是更好的双 10GBit/S?要决定的参数有哪些?域中的用户数量或服务器类型(如 Web 服务器或数据库服务器,如 sql server 2008R2)?
答案1
这基本的从理论上讲,域控制器的要求与最初安装 Windows Server 的要求没有什么不同。也就是说,只需要安装并让它就位即可。
因此,来自微软Windows 2008r2 网站:
处理器最低要求:单处理器 1.4 GHz(x64 处理器)或 1.3GHz(双核)
最低内存:512 MB RAM
磁盘空间要求最低:32 GB 或更大
(网站上没有提到)
网络:根据我的经验,100Mb 是合理的最低网络连接。
(注意)Windows 2012r2 要求几乎完全相同)
但是,正如您在问题中所说的那样,要求可能会根据域中活动的规模和数量而改变。
Web 服务器、SQL 服务器等不增加任何域控制器要求仅仅因为它们存在于域中,从这个意义上来说,他们只是另一个成员服务器。然而,如果这些服务正在对域用户进行身份验证以访问其资源,那么它们将增加 DC 必须执行的工作量。Exchange 类似,但由于它与域紧密集成,它带来的额外工作量可能比 Web 服务器或 SQL 服务器更高。
如果您的服务明确绑定到某个特定域控制器而不是域,那么您应该监视该特定域控制器上生成的额外工作负载。我见过一些系统不仅绑定到特定 DC,而且还生成大量“噪音”查询,从而在其目标 DC 上生成大量 IO 和处理器负载。
提高 DC 性能的“廉价”方法包括提高 Windows 性能的常用方法:
更多 RAM:
可用于缓存的内存越多越好。就是这么简单。
磁盘:
将 AD 数据库 (ntds.dit) 放到单独的磁盘主轴上(理想情况下受 RAID 保护且速度尽可能快)。
允许至少为 AD 数据库分配磁盘空间时,每 1000 个用户分配 0.5Gb。考虑到目前 RAM 的价格,这对于增加 RAM 分配来说可能也不是一个坏主意。
网络连接:
更快的网络总是有助于响应,但只有当系统的其他部分没有成为瓶颈时,您才会看到在这里花费的资金的回报。
处理器:
多核为王;如今,拥有更多处理器核心可能比拥有更少但更快的单核更好(而且可能更容易购买!)。不过,我想说,如果不进行测试,在 DC 上使用双核以上处理器可能很难证明其合理性,但如果您计划拥有超过 10,000 名用户,您可能希望使用四核处理器。
其他服务器角色:
是小心关于如何混合服务器角色。
除了最大的网络(例如 DNS/DHCP/WINS/Cert 服务器)之外,有些角色通常与域控制器合并,而危害不大。
有些会被折叠到 DC 中,并且会导致除最小网络(例如文件服务器/内联网服务器/WDS 服务器)之外的所有网络出现性能问题,但这些问题大概根据负载进行管理。
只是更新答案说:如今(2013 年底),虚拟化比我第一次写这个答案时(2011 年初)要普遍得多。当您利用虚拟化时,在与 DC 相同的硬件上混合角色更易于管理且更强大。由于 HyperV 可用作 Windows 本身内的角色,并且 HyperV 服务器(以及许多其他替代方案)可用,您应该能够避免在同一服务器实例上过多地混合角色。
上述两类角色是平衡行为的一个例子,即您对 DC 性能的关注程度与您可用于配置网络的资源的关注程度。最好在 DC 上安装文件服务器,而不是拥有一个完全没有文件服务器的网络,因为您没有其他地方可以放置它。
有一些服务(在我看来)你应该尽量避免与 DC 角色混合,因为可能会出现严重的性能、灾难恢复和/或安全问题(Exchange 服务器、SQL 服务器、Internet 服务器和代理服务器)。
如果您遵循这些规则,您应该拥有性能良好且易于维护和排除故障的 DC。
答案2
在我最大的域中,有数千个用户对象,我仍在运行 Windows 2000 域控制器,但它们在虚拟客户机中运行,分配有 1 个 CPU 和 384 MB RAM。对于较小的域,我有以类似方式运行的 Server 2003 域。