半虚拟化如何提高服务器性能

半虚拟化技术在高效的系统利用率和可扩展性、节能和易于备份方面表现突出 。半虚拟化最普遍的用途之一是将环境从测试系统中分离出来 。
半虚拟化是一种重新编译客户机操作系统(OS)将其安装在虚拟机(VM)上的一种虚拟化类型 , 并在主机操作系统(OS)运行的管理程序上运行 。与传统的完全虚拟化相比 , 半虚拟化可以减少开销 , 并提高系统性能 。
虚拟化这一术语指的是创建资源的虚拟化而非实际(物理)版本 , 如操作系统(OS)、服务器、桌面、存储设备或网络 。半虚拟化、完全虚拟化和部分虚拟化分别是三种类型的虚拟化 。
虚拟化通过采用包括仿真、机器仿真、硬件和软件分区等技术将资源划分为多个执行环境 。
在企业中 , 虚拟化通常用于以下目的:

  • 在计算机上同时运行多个操作系统(OS) 。
  • 将大型系统分成更小的部分 , 以更有效地使用物理硬件 。
  • 隔离在虚拟机(VM)中运行的程序 , 以使它们免受同一主机上另一虚拟机(VM)中发生进程的影响 。例如 , 如果一个虚拟机(VM)发生故障 , 则其他虚拟机(VM)可以保持正常运行 。
  • 虚拟机(VM)等效于在另一个系统之上运行的计算机系统 。虚拟机(VM)通过名为管理程序的软件程序创建和运行 。
虚拟机监控程序分为两类:第一类是“裸机”虚拟机管理程序 , 其行为类似于操作系统(OS) , 并直接在系统的硬件上操作客户机虚拟机 。第二类是“托管”虚拟机管理程序 , 其行为更像传统的软件应用程序 。
什么是半虚拟化?
通过允许操作系统识别虚拟机管理程序的存在 , 并直接与虚拟机管理程序通信 , 半虚拟化提供了比软件辅助的完全虚拟化更好的性能 。半虚拟化还可以确保在将客户机操作系统(OS)安装到虚拟机中之前对其进行重新编译 。但是一般来说 , 半虚拟化要求修改客户机操作系统(OS) , 以实现API , 用于将虚拟机管理程序发送的命令交换到服务器 。
Xen/Xenserver可能是最知名的半虚拟化管理程序软件之一 。在3.0版本中 , Xen还开始在启用的Intel和AMD处理器上支持硬件辅助的完全虚拟化 , 以实现与不可修改的操作系统(OS)(例如Windows)的可操作性 。Xen在4.7版中引入了实时补丁 。而在4.10版本中 , Xen增加了对半虚拟化硬件(PVH)的初始支持 , 并在2018年年中发布的4.11更新中增加了对半虚拟化硬件(PVH)的支持 。
半虚拟化硬件(PVH)致力于将最佳的半虚拟化技术与硬件虚拟机(HVM)方法相结合 。在半虚拟化硬件系统的某些元素(包括网络和磁盘接口)的情况下 , 原生/硬件虚拟机(HVM)虚拟化遵循不同的过程 , 并为虚拟化访问系统硬件接口提供有限形式的硬件仿真 。硬件虚拟机(HVM)接口现在可用于大多数系统硬件 。
广泛的支持:IBM LPAR、用于SPARC的Oracle VM(LDOM)和用于X86的Oracle VM(ODM)支持半虚拟化 。
半虚拟化接口
与完全虚拟化不同 , 半虚拟化不需要模拟虚拟机的硬件 。与其相反 , 它提供了到虚拟机的接口 , 该接口有点类似于基础硬件 。其中包括Linux和Windows在内的大多数现代操作系统(OS)都支持一个或多个半虚拟化接口 。
VirtualBox半虚拟化接口
VirtualBox可以公开半虚拟化接口 , 以在虚拟机中更准确、更高效地执行软件 。并提供了三个半虚拟化接口:
Minimal(对于运行Apple Mac OS X客户机是必需的)、KVM(建议用于Linux客户机)、Hyper-V(建议用于Windows客户机) 。

推荐阅读