服务器虚拟化一看究竟,跟云又是什么关系
服务器虚拟化对于任何数据中心的高效运行至关重要。但是,服务器虚拟化到底是什么?它是否适合您的业务?
什么是服务器虚拟化?
物理服务器是一种数据中心硬件,包括计算、内存、存储和网络接口组件。这些服务器部署在本地,并且具有多种外形,包括刀片服务器、塔式服务器等等。虚拟化采用物理服务器的属性,并将它们抽象为多个虚拟资产,它使用基于软件的抽象层来模拟物理基础结构的功能和性能。
使用传统的物理服务器(有时专用于单个客户时称为裸机服务器),所有组件都绑定到单个硬件上,并且常常效率低下。许多企业的服务器空间超出他们实际使用的空间,并且这些系统上的工作负载很少利用处理器的全部容量和吞吐量。
而虚拟化可以使单个工作负载和任务更有效地运行,因为它们没有直接绑定到任何特定的硬件上。虚拟服务器仍然需要存在硬件,不过可用性/容量要灵活得多,通常由企业的需求而不是硬件限制来定义。
当抽象所有服务器以创建完全虚拟化的生态系统时,就会发生数据中心虚拟化。这使企业能够完全独立于基础物理服务器硬件在服务器资产群集中运行应用程序工作负载。良好的虚拟化基础架构可最大程度地提高处理器利用率和正在运行的工作负载的可靠性。
服务器虚拟化组件有哪些?
服务器虚拟化使用许多不同的组件,包括:
- 主服务器,这是支援虚拟化进行的物理服务器硬件。
- 虚拟机(VMs),其中包含从传统服务器环境中提取的资源。
- 系统管理程序,它是创建和维护虚拟机的专用软件,可以在裸机服务器上本地运行,也可以在现有操作系统之上托管。
- Hypercalls,这是使用API半虚拟化管理程序和操作系统共享资源之间传输的信息。
- 容器,是在虚拟化操作系统中创建的唯一用户环境。借助容器引擎,多个容器可以使用基础主机操作系统的相同接口和共享库。容器通常部署在管理程序或虚拟机内部,以提供与服务器核心主机操作系统的额外隔离层。
服务器虚拟化方法?
在较高的级别上,所有虚拟化技术都旨在实现相同的目标:通过划分资源并使物理资源以更高的敏捷性进行配置来优化物理服务器的可用性。虚拟化的特定方法取决于希望进行虚拟化的企业的需求和局限性:
完全虚拟化利用虚拟机管理程序创建和维护完全自主的VM,无需修改即可与不同的操作系统一起使用。这可以通过软件辅助的方法来完成,但是自从英特尔和AMD在2000年代中期创建新的x86 CPU扩展以来,硬件辅助的完全虚拟化已成为主流方法。Microsoft Hyper-V、Oracle VM VirtualBox和VMware vSphere是领先的完整虚拟化产品。
准虚拟化使用应用程序编程接口(API)在系统管理程序和操作系统之间发送超级调用。这意味着每个VM都知道并且可以彼此通信以共享资源。半虚拟化(有时简称为PV)可以在没有硬件辅助虚拟化支持的系统架构上运行。大多数支持完全虚拟化的产品也支持半虚拟化。
操作系统级虚拟化在没有管理程序的情况下发生。相反,物理服务器的操作系统包含虚拟化功能,该功能像虚拟机监控程序一样,可以创建称为容器的多个用户环境。Oracle Solaris是最杰出的OS级虚拟化产品之一。
虚拟化与云的关系?
虚拟化和云是经常相互关联的两种技术。云技术在弹性模型上提供服务器计算资源,该模型可以根据需要扩展或缩减。物理服务器不是弹性的,并且具有固定的容量,这就是为什么云是建立在服务器虚拟化之上的原因。
借助云服务器虚拟化,云供应商可以使用服务器虚拟化来抽象化数据中心内的大量计算资源,供最终用户使用。云服务向用户提供对虚拟服务器容量的访问权,但不能访问物理硬件本身。例如Amazon Web Services(AWS)在数据中心中可能有成千上万台物理服务器,但是最终用户无法访问实际的物理服务器硬件。相反,EC2(弹性计算云)服务提供具有不同大小和配置的虚拟机云实例的云服务器虚拟化。
服务器虚拟化好处?
服务器虚拟化有很多好处,尤其是在企业的创新和效率方面,包括:
运营成本较低。与传统基础架构相比,虚拟化服务器通常需要更少的物理空间并消耗更少的能源。它们还具有更少的硬件而具有更高的可用性,因此维护服务器硬件的持续成本大大低于传统环境中相同可用性所需的成本。
工作负载部署更快。与传统环境相比,IT管理员可以更快地设置或复制VM,这意味着服务器和管理团队都可以提高工作效率。
灾难恢复和弹性更好。作为灾难恢复的预防措施,将数据备份和复制到其他虚拟机要容易得多。当灾难不可避免地来袭时,虚拟机可以快速恢复任何丢失的数据,并避免了漫长而昂贵的停机时间。
服务器虚拟化缺点?
服务器虚拟化也有一些缺点:
性能不太可靠。与关键虚拟机相比,业务关键型应用程序在裸机服务器上通常具有更好的性能,尽管随着虚拟化技术的进步,这种性能差距已经缩小。
资本投资更昂贵。虚拟服务器的初始成本通常比其裸机成本高,但是如上所述,持续的成本会随着时间的推移平衡此投资。
并非所有应用程序都可以虚拟化。因此,某些虚拟环境必须维持某些传统服务器容量并适应混合生态系统。