服务器虚拟化是概念简单、对企业数据中心影响深远的技术之一。2020欧洲杯预赛
如果不为每台服务器运行一个操作系统实例和一个应用程序,而是添加一层软件(称为hypervisor),使您能够在单个物理服务器上运行多个操作系统实例和关联的工作负载,会怎么样呢?
这就是服务器虚拟化背后的理念,这一理念可以追溯到20世纪60年代的IBM大型机,并由VMware推广开来。VMware在21世纪初推出了x86服务器的虚拟化软件。从那时起,其他供应商开发了他们自己的服务器虚拟化平台,整个行业已经创建了先进的管理、自动化和编组工具,使部署、移动和管理虚拟机(VM)工作负载轻而易举。
在服务器虚拟化之前,企业处理的是服务器泛滥、计算能力未得到充分利用、能源费用飞涨、人工处理以及数据中心环境普遍缺乏效率和灵活性。
服务器虚拟化改变了这一切,并被广泛采用。事实上,现在很难找到一个企业没有在VM环境中运行大部分工作负载。
但是,正如我们所知,没有一项技术能够不被下一个大事件所取代。在服务器虚拟化的情况下,下一个重要的事情是变小。
服务器虚拟化将一个物理设备分割开来,允许多个操作系统和多个成熟的应用程序利用底层的计算能力。
在下一波计算中,开发人员正在将应用程序分割成运行在轻量级容器中的更小的微服务,并且还在试验无服务器计算(也称为函数即服务(FaaS))。
在这两种场景中,完全绕过VM,代码在裸机上运行。
服务器虚拟化的好处
服务器虚拟化的好处有很多,首先是基本的服务器整合。您可以在单个硬件上组合多个应用程序,从而减少数据中心中所需的服务器总数。2020欧洲杯预赛更少的服务器、机架和网络设备;这一切都转化为节省从物理空间到维护费用到空调的一切费用。
服务器虚拟化减少了对新硬件的资本支出,使您摆脱了硬件刷新的旋转木马。你可以重新部署那些突然闲置的服务器。
还记得数据中心管理员必须手动提供服务器的时候吗?服务器虚拟化带来了自动化方面的进步,允许您在几秒钟内启动VM,并通过触摸一个按钮来移动多个工作负载,以响应不断变化的业务需求。
服务器虚拟化还提供高可用性、故障转移、速度、可伸缩性、敏捷性、性能和灵活性,这些都是当今基于web的、高度连接的企业所需要的。服务器虚拟化是云计算供应商提供服务的基础技术。当客户从云服务提供商订购基础设施即服务(IaaS)时,他们从vm开始,并添加完成手头任务所需的相关存储、管理和安全特性。
不同类型的服务器虚拟化
在服务器虚拟化世界中,物理服务器被称为主机,并运行主机操作系统。每个VM都是一个客户机,运行一个客户机操作系统。客人之间是分开的。
- 在标准的基于管理程序的虚拟化中,管理程序或虚拟机监视器(VMM)位于主机操作系统和底层硬件层之间,为来宾操作系统提供必要的资源
- 准虚拟化和完全虚拟化在安装到虚拟机之前修改客户操作系统。这提高了性能,因为修改后的来宾操作系统直接与hypervisor通信,从而消除了模拟开销。
- 硬件辅助虚拟化也试图减少hypervisor的开销,但是是通过硬件扩展而不是软件修改来实现的。
- 在内核级虚拟化中,不使用hypervisor,而是运行Linux内核的单独版本。这使得在一台主机上运行多个虚拟机变得很容易,设备驱动程序用于主Linux内核和虚拟机之间的通信。
- 最后,使用系统级或OS虚拟化,您可以在操作系统内核的单个实例上运行多个逻辑上不同的环境。使用系统级虚拟化,所有vm必须共享操作系统的相同副本,而服务器虚拟化允许不同的vm拥有不同的操作系统。
虚拟机与容器
集装箱化运动的两个主要推动者是Docker(一种用于旋转容器的流行工具)和谷歌的Kubernetes(它有助于管理多个容器)。容器是共享主机操作系统内核的自包含代码执行环境。
容器比vm更精简、更轻量级,因为它们绕过了冗余的来宾操作系统和相关的启动开销。在相同的硬件上,开发人员可以运行多达6到8倍于vm的容器。
容器也有其缺点。作为一种相对较新的方法,它们没有成熟技术所拥有的丰富的管理工具,因此需要进行大量的设置和维护工作。还有对安全的担忧。
使用vm,您可以使用客户映像轻松地在主机之间移动工作负载,但是裸机很难升级或移动。对于裸机服务器,回滚机器状态是一项具有挑战性的任务。
虚拟机与无服务器计算
在传统的IaaS云环境中,客户首先提供vm、存储、数据库和相关的安全和管理工具,然后将应用程序加载到vm上。
使用无服务器计算,开发人员编写代码,云服务提供商处理其他一切。开发人员从不需要考虑服务器、操作系统、供应或管理。当然,有一个运行代码的物理服务器,但这是云服务提供商的责任。
代码被分解成特定的函数,而不是单一的应用程序。当触发该函数的事件发生时,无服务器服务—例如Amazon的Lambda—运行该函数。没有服务器的提供商按功能向客户收费。
与微服务/容器场景一样,无服务器计算绕过虚拟机层,函数在裸机上运行。在这一点上,没有服务器的计算是相对不成熟的,用例是有限的。
服务器虚拟化的未来
虽然容器很热门,对无服务器计算的兴趣也在增长,但现实是服务器虚拟化是一种坚固的技术,为绝大多数企业应用程序提供了动力——有人估计VM的饱和率高达90%。
很难想象企业会将在vm上平稳运行的任务关键型应用程序转移到容器或无服务器平台上。使用异构环境的用户可能仍然会使用vm,因为容器需要在相同的操作系统上运行,并且不能在Linux和Windows之间混合。
但对于使用最新DevOps和敏捷方法构建的新应用程序,开发人员现在有了选择。在未来,开发人员将根据具体情况决定是在传统VM、容器还是无服务器环境中运行新的工作负载。