我认为我了解将生产数据库与使用它的 Web 服务器托管在同一台机器上的缺点。因此,当涉及到专用机器时,我总是分别托管数据库和 Web。但是,我正在考虑在 ubuntu 主机上运行 Windows Server 2008 虚拟机。在同一物理主机上运行数据库 VM 和 Web VM 的优缺点是什么?
Web 服务器始终依赖于数据库服务器,因此两台机器同时宕机也没关系。
理想情况下,我们的备份方案应该与一次性备份整个虚拟机有关。本着同样的精神,我们设想能够在其他主机上复制虚拟机,以提供一些故障转移功能。
我们预计流量会很低,但同时我们也不想把自己逼到绝境。我想,既然虚拟机可以轻松移动,绝境几乎不存在。
答案1
如果主机出现故障,您将失去两台机器;这是一个单点故障。
但实际上,这个问题很难回答。如果组件的使用率不高,那么假设的缺点实际上并不多。如果您在生产环境中使用它,人们依赖于服务的可用性,您需要制定备份、硬件故障转移或更换等计划……您没有提到这些事情有多重要。
这是一个测试系统吗?使用频率高吗?...
从好的方面来说,一开始就将它们分开意味着如果有必要的话你应该能够将它们分离到不同的主机上,而无需从头开始重新设计一切。
答案2
优点:成本。当然。所有硬件都是共享的。NIC、CPU、内存等。
缺点:如果需要重启,两台机器将同时停机。不过,这也是优点。数据库可能需要先启动,然后启动 Web 应用。您可以安排确保数据库先启动,然后启动 Web,以减少应用停机时间。
答案3
根据负载以及您的写入是否需要事务安全,如果您使用相同的底层存储,您可能会遇到磁盘 I/O 瓶颈。不过,您可以使用 sysbench 之类的工具对 MySQL 进行压力测试,看看在这种情况下情况如何。