我是一名 ASP.NET Web 开发人员和小企业主。我将维护网络作为一种爱好,并让自己对服务器技术保持敏锐,因为我一直与他们互动是我工作的一部分。我也喜欢运行我自己的 Exchange 服务器的灵活性。我有一个 MSDN 订阅,所以这是我的许可证的来源。
目前我有 3 台物理服务器计算机。
一种是 Windows Server 2k3 ISA Server 2006 机器。它完成了我所有的防火墙/路由。
另外两个物理服务器是虚拟机主机。我正在从 VMWare Server 2.0 切换到 Hyper-V。我正在 Hyper-V 环境中从头开始重建我的所有服务器,我想借此机会修复我的基础架构中的一些缺陷。我将描述的其余服务器是虚拟机。这是我目前的设置:
- Windows 2k3 标准 Exchange 2003 服务器和域控制器(相同的 VM)。我的 DHCP 和 DNS。还运行 RADIUS 服务器。我使用 RADIUS 来验证 VPN 用户。最多需要一个小时才能重新启动!
- Windows 2k3 标准备用域控制器,也是我的证书颁发机构。做DNS。
- Windows 2k3 标准网络/SQL Server 2005。
- Windows 2k8 Standard Web / SQL Server 2008。我更喜欢使用它来托管我的大多数应用程序,因为我喜欢 IIS 7,但我有服务器 #3 作为只有 IIS 6 和/或的客户端的暂存环境SQL 服务器 2005。
我了解到,通常不建议在域控制器上使用 Exchange。存在奇怪的依赖问题,我必须在重新启动之前运行一个批处理文件来关闭 Exchange 服务器服务,否则重新启动将需要一个小时!
我的虚拟机主机都是双核 3GHz,具有 16 GB 的内存和 300 GB 的 RAID 1 存储。我对硬件非常满意。这个网络主要是一种爱好,但支持少数客户,他们偶尔会来检查我为他们构建的网络应用程序。
我寻求帮助的地方是我应该拥有的虚拟机数量,以及每个虚拟机应该扮演的角色。
我在想这个(除非另有说明,所有虚拟机都是 64 位的):
- Windows 2k8R2 企业主 Active Directory 服务器。执行 DHCP、DNS 和 RADIUS。768 MB 内存够吗?
- Windows 2k8R2 企业备份活动目录服务器。DHCP、DNS 和 RADIUS 也是如此。如果服务器 #1 关闭,我希望它始终运行并处理 DHCP、DNS 等。
- Windows 2k8R2 企业 Exchange 2k7 服务器。我认为它应该独自一人,而不是扮演任何其他角色。
- Windows 2k8R2 Enterprise Web / SQL Server 2008(就像以前一样,但更新了操作系统)。
- Windows 2k3 标准 Web / SQL Server 2005 / 32 位(就像以前一样)。
- 证书颁发机构。哪个服务器应该这样做?它应该是自己的服务器吗?
- (及其他)有没有我没有提到的流行服务?
每台主机将运行 3-5 台虚拟机,我会确保 1) 和 2) 不在同一台主机上,以防整个主机因硬件故障而停机。
此配置是否涵盖所有基础?我是否适当地分配了角色?例如,在同一个机器上安装 DHCP 和 DNS 是不是一个坏主意?
我意识到这在很大程度上取决于我计划使用服务器的目的。我基本上想用所有最流行的服务运行一个简单的 Windows 环境,所以我可以练习使用它们。我想很多人会认为我的设置矫枉过正。但我喜欢把维护环境作为一种爱好,它让我有很多机会接触到我原本不会拥有的 Windows 基础设施。当我在客户站点部署我的应用程序时,这些知识会派上用场。
我很乐意提供更多信息。谢谢!
您希望将域控制器与其他任何东西分开是正确的,这是安全的最佳实践;此外,正如您已经发现的那样,Exchange在DC 上运行时表现不佳。
DC 可以安全地运行 DNS(确实推荐)和 DHCP;我当然建议将两个虚拟机拆分在不同的物理主机上,以实现尽可能多的可用性。
您不需要运行 Windows Server 2008 R2 的企业版,因为您没有进行任何故障转移群集,而且 x64 版本的可用 RAM 不受 x86 版本的限制;我知道您有“免费”许可证,但最好使用最适合您环境的 Windows 版本,而不是可用的最强大的版本。
关于虚拟化:如果您的主机只打算运行虚拟机(而且它们确实应该),我建议运行“纯”虚拟机管理程序产品,而不是成熟的操作系统;因此,如果您想使用 Microsoft,最好的选择是 Hyper-V Server;如果您想继续使用 VMWare,最好选择 VMWare ESXi(免费版);我不知道您是否有任何使用 ESX/ESXi 的经验,但我可以向您保证,这与 Workstation/Server 完全不同;我个人认为它比 Hyper-V 好很多,但这主要是个人问题。无论如何,我会避免在启用 Hyper-V 角色的情况下运行完整的 Windows Server 2008 R2。
关于证书颁发机构:这确实应该在它自己的(虚拟)服务器上运行,它不应该做任何其他事情。由于您要进行虚拟化,因此这应该不是什么特别的问题,它会为您省去一些麻烦。
这个设置听起来很对。CA 可以只在域控制器上运行。您说交换服务器应该自行运行以便于管理是正确的。您唯一缺少的产品是 CRM、sharepoint 和 OCS。