物理独立服务器与托管多个逻辑服务器的服务器的用途是什么?
我从事开发工作,经常构建服务器客户端 - 服务器系统。但是,我从未深入研究物理方面...
通常,我会通过 IP 地址将 Web 服务指向数据库应用程序,即数据库应用程序所在的地址.....
现在,物理与虚拟的概念一直困扰着我 - 我指的是虚拟服务器还是物理服务器?物理服务器是否有特定的用途 - 即仅用于存储等,还是在实践中也用于托管应用程序?
答案1
那么,虚拟机必须在某些东西上运行,对吗?
但更严重的是,服务器负载通常大于虚拟机的处理能力,您需要一个或多个系统来处理它。当您有许多轻负载应用程序时,虚拟机是很好的选择。当您有一些需要更多功能的应用程序时,让服务器来做这项工作是有意义的。即使服务器没有得到充分利用,您也有增长的空间。
至于你问题的第二部分,我想借用一下SE 自己的架构
它有很多服务器——有专门的服务器提供数据库(以及数据库的备份),有多个 Web 服务器(和备份),有负载平衡器,所有这些都协同工作以确保运行速度快。所以,是的,有应用服务器、备份服务器和负载平衡器,所有这些都是为执行特定任务而设置的。即使使用共享主机或虚拟机,您也会有不同的系统执行不同的任务——存储、Web 服务器、数据库、主机等。它可能异常在小型工作场所或开发/测试/家庭服务器设置之外拥有通用机器
来自用户/开发人员(在本例中是开发人员是但是从用户的角度来看,虚拟机和正常运行的物理机之间的区别非常模糊。它只是一台机器,你可以像使用物理系统一样使用它。当然,虚拟机的优势在于整合(你可以在一台机器上运行许多虚拟机),以及在突然需要适应更高流量时能够适应负载的能力。如果你需要相当大的基础设施设置,并且可以将一台或多台机器专用于一个角色,那么物理机是更好的选择。
答案2
简单的答案是“是的,需要物理服务器,即使只是为了托管所有这些虚拟服务器”。但我怀疑你会问“为什么有人会选择物理而不是虚拟,反之亦然”。
你问得真好笑。我只是苦恼于是否要虚拟化我的托管机箱,最后决定不这样做。优点很明显:它更便宜、更灵活、其他人负责硬件、我获得虚拟化“控制台”访问,而不必为基于 IP 的 KVM(或驱动器到托管机箱)付费,等等。
最终,我决定坚持身体锻炼。
第一个困难的原因是我想使用一个叫做熵密钥来增加我服务器的熵池。我知道大多数虚拟化技术确实允许将物理 (USB) 设备路由到特定的 VPS,但这不是大多数虚拟化软件包的标准功能。
第二个困难的原因是,我希望对谁在使用我的硬件有一定程度的控制,而虚拟化无法做到这一点。物理访问始终是一个问题,但我的托管服务器在物理上非常安全,在 DC 楼层到处都有摄像头,等等:即使是员工也很难访问它而不留下任何痕迹。如果他只是坐在 dom0 硬件上,他可以监视我的服务器所做的一切,而且很可能不会留下任何痕迹。我能说什么呢,我很偏执。
最后一个原因是,我可以非常清楚我的限制是什么。我知道我的磁盘有多少带宽,因为它们是我的,而不是某个过度分配的背板上所谓的保留通道。同样,我的内存也是我的,我为它付了钱,当我的内核需要它时,它就在那里。
我想最终还是要看控制还是便利。如果你喜欢前者,那就保持实体化;如果你喜欢后者,那就虚拟化。
答案3
好吧,除了已经说过的之外,我想补充一点,在托管高硬盘利用率的重负载应用程序(数据库和集群计算系统,包括越来越流行的 NoSQL 分布式数据库)方面,物理服务器总体上仍然比虚拟服务器更好。主要是因为虚拟服务器通常在使用 RAID(尤其是 Hyper-V 系统)时会出现问题。但是,使用虚拟机,您通常会获得稍微容易一些的部署和高可用性,因为机器可以从一个物理机箱迁移到另一个物理机箱,而无需或只需进行很少的配置更改。VM 在托管防火墙机箱和终端服务器/远程应用程序方面也表现良好,因为出于安全或性能原因,您通常希望将它们保存在单独的机器上。
因此,最终我的答案如下:如果您有兴趣托管客户端应用程序,那么虚拟机是不错的选择,它们将为您提供良好的冗余、可扩展性和负载平衡。但对于服务器端,物理机器可能是一个更好的选择,这样管理和维护起来会容易得多,因为您需要关心的软件层会少一层(这来自我的个人经验:尝试解决虚拟 SQL 服务器上的性能问题真的非常非常痛苦)。