导读

服务器虚拟化可以帮助战胜服务器资源缺失、更好地利用计算机电源、控制能源成本、并提供数据中心灵活性和灵活性。

有这样的技术,一方面它们在概念上非常简单,但另一方面它们对企业数据中心有深远的影响。服务器虚拟化就是这样一种技术

想象一下,如果您可以添加一层软件(虚拟机管理程序)来在单个物理服务器上运行多个操作系统实例和相关工作负载,而不是在单个服务器上运行操作系统实例和应用程序。什么?

这是服务器虚拟化的概念。这个概念可以追溯到20世纪60年代的IBM大型机,后来由VMware推出,后者在21世纪初为x86系列服务器引入了虚拟化软件的概念。从那时起,其他供应商开发了自己的服务器虚拟化平台,业界已经创建了高级管理、自动化和编排工具,以便更容易部署、移动和管理虚拟机(VM)工作负载。 。

在服务器虚拟化出现之前,组织需要解决服务器在其数据中心环境中消耗过多资源,处理未充分利用的计算能力,处理不断增加的能源成本,处理手动流程以及解决整体低效率和不灵活系统的问题。

服务器虚拟化已经改变了所有这一切,并且已被广泛采用。事实上,很难找到一个没有在VM环境中运行大部分工作负载的公司。

但是,正如我们所知,任何技术都将被下一个重大事件所取代。在服务器虚拟化的情况下,下一个重要的事情是变小。

服务器虚拟化对物理设备进行分区,以便多个操作系统和成熟应用程序可以利用底层计算能力。

在下一波云计算浪潮中,开发人员将应用程序拆分为以轻量级容器运行的较小的、微服务,以及无服务器计算(也称为功能即服务(FaaS))。 。

在这两种情况下,VM都被绕过,代码在裸机上运行。

服务器虚拟化的好处

从基本服务器整合开始,服务器虚拟化有许多好处。您可以在单个硬件上组合多个应用程序,从而减少数据中心所需的服务器总数。服务器越少,帧和网络设备越少;修理从物理空间到空调的一切费用,所有这些都有助于省钱。

服务器虚拟化减少了对新硬件的资本支出需求,因此您不必再更新这些硬件。您可以重新部署突然发布的服务器。还记得数据中心管理员必须手动配置服务器的日子吗?自服务器虚拟化问世以来,自动化取得了很大进展,因此用户可以在几秒钟内运行虚拟机,只需点击它们即可。只需点击几下鼠标即可迁移多个工作负载,以满足业务变更需求。

服务器虚拟化还提供了当今基于Web的、高连接性业务所需的高可用性。、故障转移、可扩展性、 Agility、高性能和灵活性。服务器虚拟化是使云计算供应商能够提供服务的基础技术。当客户从云服务提供商处购买基础架构即服务(IaaS)时,他们会购买VM,然后添加完成任务所需的相关存储、管理和安全功能。

不同类型的服务器虚拟化

在服务器虚拟化领域,物理服务器称为主机,它运行主机操作系统。每个VM都是客户端并运行客户操作系统。客户将彼此隔离。

通过基于管理程序的虚拟化,可以在主机操作系统和底层硬件层之间放置管理程序或虚拟机监视器(VMM),从而为客户机操作系统提供必要的资源。

半虚拟化和完全虚拟化可以在将客户机操作系统安装到虚拟机之前对其进行修改。这可以提高性能,因为修改后的客户操作系统可以直接与管理程序通信,从而减少模拟开销。

使用硬件进行虚拟化也会尝试减少虚拟机管理程序的开销,但需要通过硬件扩展而不是软件修改。

通过使用内核级虚拟化而不是虚拟机管理程序,您可以运行单独的Linux内核版本。这使得在单个主机上运行多个虚拟机变得容易,因为设备驱动程序可用于主Linux内核和虚拟机之间的通信。

最后,通过系统级或操作系统虚拟化,您可以在操作系统内核的单个实例上运行多个但逻辑上不同的环境。在系统级虚拟化中,所有VM必须共享操作系统的相同副本,并且服务器虚拟化可以允许不同的VM具有不同的操作系统。

虚拟机与容器

容器化运动的两个主要贡献者是Docker,一种用于启动容器的流行工具,以及Google的Kubernetes,它可以帮助管理多个容器。容器是共享主机操作系统内核的独立代码执行环境。

容器比VM更有效、更轻,因为它们绕过冗余客户操作系统并削减相关的启动开销。开发人员可以在与VM相同的硬件上运行多达6到8倍的容器。容器确实有其自身的缺点。作为一种相对较新的方法,它们没有成熟技术所拥有的大量管理工具,因此需要大量的设置和维护。此外,人们仍然担心安全问题。

使用VM,您可以使用访客映像轻松地在主机之间移动工作负载,但裸机更难升级或移动。使用裸机服务器回滚机器状态可能是一项具有挑战性的任务。

虚拟机与无服务器计算

在传统的IaaS云环境中,客户首先提供VM、存储、数据库以及相关的安全和管理工具,然后再将应用程序上载到VM。

通过无服务器计算,开发人员可以编写代码,然后让云服务提供商处理其他所有事情。开发人员永远不需要考虑服务器、操作系统、配置或管理。当然,您需要有一台物理服务器来运行代码,但这是云服务提供商的责任。

系统将代码分解为特定功能而不是单个应用程序。无事件服务——(例如Amazon的Lambda——)在事件触发此功能时运行此功能。无服务器提供商按功能向客户收费。

与微服务/容器方案一样,无服务器计算绕过虚拟机层和在裸机上运行的功能。此时,无服务器计算相对不成熟并且用例有限。

服务器虚拟化的未来

虽然目前的容器很热,但人们对无服务器计算的兴趣正在增长,但实际情况是服务器虚拟化是一种坚如磐石的技术,因为它为大多数企业应用程序提供了动力。据某些人估计,虚拟机的饱和率高达90%。

很难想象将关键应用程序在VM上平稳运行到容器或无服务器平台。异构环境中的用户可能仍然使用VM,因为他们需要在同一操作系统上运行,并且不能在Linux和Windows之间混合使用。

但是,开发人员现在可以使用最新的DevOps和敏捷方法为新应用程序提供不同的选项。展望未来,开发人员将根据他们是否在传统VM、容器或无服务器环境中运行新工作负载来做出具体决策。