我有一台运行 VMware ESXi 的相当强大的服务器,允许多个虚拟机处理不同的用途。目前我设置了 7 个虚拟机:
- PHP 开发
- PHP 暂存
- RoR 开发
- RoR 分期
- ASP.Net 开发
- ASP.Net 暂存
- 核心(Samba、OpenLDAP、DNS DHCP、git)
我的问题是:
哪些功能应该在自己的服务器上运行以及为什么?例如,我是否应该拆分核心服务器并添加另一台
DNS
仅运行的虚拟机,或者DHCP
添加DNS
另一台仅运行的虚拟机git
?网络中的一些常见设置是什么,以及运行适当的开发网络我缺少哪些主要功能......例如入侵检测?我知道这个问题对于正在进行的工作来说是主观的,但任何明显的问题都可能对操作、维护或安全有帮助。
笔记:如果有人可以编辑标签以使其更适合该问题,我们将不胜感激。
答案1
如今,虚拟机如此便宜又简单,我倾向于按功能进行虚拟化。这样可以实现最大灵活性(迁移、升级等),并最大程度地减少后期返工的需要(“哎呀,这些功能并不像我想象的那样完美结合”)。
答案2
虽然我总体上同意 Womble 的观点,但“每个功能”的定义可能比较模糊。除非您拥有庞大的环境(根据您的描述,您没有),否则我绝对会将 DNS 和 DHCP 放在一台服务器上。除非您有充分的理由不这样做(例如性能需求或不兼容的维护窗口等),否则我还会将 Samba 和 LDAP 放在同一台服务器上。
对于问题 2:您的描述中没有冗余。您所有的核心服务都应该具有一定的冗余或故障转移。DNS 是一个大问题,LDAP 也是一个大问题(如果它是您身份验证的一部分),Samba 也是一个可能的候选者。DHCP 很好,并且易于通过分割范围实现高可用性。这些核心服务中的许多(或所有)应该位于单独的硬件上;否则,您将面临巨大的单点故障。
您也没有列出备份基础设施:每个从事任何业务的 IT 商店都应该有备份。很少有不需要备份的情况。
至于其他常见的主要功能:这实际上取决于您的环境和需求,您还没有告诉我们。您必须管理桌面吗?它们是 Windows、Linux 还是 Mac?那么您可能需要可以管理这些机器的东西。Samba 可以为 Windows 完成很多 Windows Server 使用 AD 和 GPO 所做的事情,但并不那么容易(据我所知)。您构建了很多机器吗?那么您可能需要一个 PXE/Kickstart/其他类型的构建基础设施。您是否需要记录用户在网络上浏览的内容?可能需要一个 Squid 代理或类似的东西。IDS/IPS:也许您需要,也许不需要。我们怎么知道?