- 服务器虚拟化允许多个虚拟服务器在单个物理服务器上运行,最大限度地提高资源利用率并降低成本。
- 服务器虚拟化的主要类型包括完全虚拟化、半虚拟化和操作系统级虚拟化。
什么是服务器虚拟化?
服务器虚拟化是一种技术,允许单个物理服务器托管多个虚拟服务器,每个虚拟服务器都像独立的物理服务器一样运行。这一过程通过一种称为管理程序(hypervisor)的软件实现,它将物理服务器的资源(例如 CPU、内存和存储)划分为独立的隔离环境,称为虚拟机(VM)。每个 VM 都可以运行自己的操作系统和应用程序,互不干扰。
1. 管理程序的作用:管理程序充当物理硬件与虚拟服务器之间的桥梁,管理资源分配并确保每个 VM 高效运行而互不干扰。管理程序有两种类型:类型 1,即裸机管理程序,直接运行在硬件之上;类型 2,即托管管理程序,运行在宿主操作系统之上。
2. 资源优化:通过在单个物理服务器上创建多个 VM,组织可以优化其硬件使用。与拥有多个利用率不足的服务器相比,他们可以最大化单个服务器的容量,从而提高资源利用率并降低硬件成本。
另请阅读:如何搭建互联网服务器?
另请阅读:Kaldera:印度洋数字解决方案的先驱
服务器虚拟化的类型
服务器虚拟化主要有三种类型:完全虚拟化、半虚拟化和操作系统级虚拟化。这些类型之间的主要区别在于每个虚拟机(VM)与其他虚拟机的隔离程度,以及它们如何与宿主服务器交互。
1. 完全虚拟化:这种服务器虚拟化类型创建了多个完全相互隔离的 VM。每个 VM 独立运行,对宿主服务器上的其他 VM 毫不知情。管理程序(即裸机管理程序)直接安装在物理硬件上,充当硬件与 VM 之间的层,每个 VM 拥有自己独特的操作系统。这种设置提供了高度的隔离性和安全性,但有时会因管理程序的资源需求而导致性能下降。
2. 半虚拟化:与完全虚拟化不同,半虚拟化允许 VM 在一定程度上相互感知,并通过网络协同工作。这种虚拟化类型减少了管理程序的工作负载,因为 VM 本身有助于管理资源分配。半虚拟化要求宿主服务器拥有一个通过超级调用(hypercall)命令与管理程序协作的操作系统。这种设置最初是为了解决早期裸机管理程序的性能问题而开发的,但由于现代服务器对完全虚拟化的支持有所改进,如今已不太常见。
3. 操作系统级虚拟化:也称为托管虚拟化,这种类型消除了传统管理程序的需求。相反,宿主服务器的操作系统处理虚拟化任务。所有 VM 必须使用与宿主相同的操作系统,共享其通用二进制文件和库。操作系统级虚拟化可以在单个服务器上支持大量 VM,且资源占用较少,是一种高效的选择。然而,它有一个显著的缺点:它创建了单点故障。如果宿主操作系统发生故障或被攻破,所有 VM 都会受到影响,可能导致大范围的停机。

