本文基于以下软硬件假定:
架构:AARCH64
内核版本:5.14.0-rc5
1 什么是虚拟化
虚拟化就是把一台物理计算机虚拟成多台逻辑计算机,每台逻辑计算机里面可以运行不同操作系统,而相互之间不受影响,其典型架构如下:
其中hypervisor又被称为VMM(virtual machine monitor),它被用于管理系统全局资源。guest os为运行在虚拟机(VM)上的操作系统,每个guest os之间都无法感知对方的存在,而认为其可以独占系统资源。
理想的虚拟化方案通常包含以下几个条件:
(1)等价性:VMM需要在宿主机上为虚拟机模拟出一个本质上与物理机一致的环境
(2)高效性:虚拟机指令执行的性能与其在物理机上运行相比没有明显的损耗
(3)资源控制:VMM可以完全控制系统资源,并且协调和分配给虚拟机
通过将业务划分到不同的VM中,可以提高系统的资源利用率、安全性和可扩展性等。如对于硬件资源有富余的物理机,通过在上面运行多个虚拟机可充分利用其空闲资源,从而提高了资源的利用率。由于虚拟机之间的资源隔离作用,通过将不同安全等级的应用运行在不同虚拟机中,可以避免其互相干扰,以提高系统的安全性。在不改变物理机资源的前提下,可以动态地调整虚拟机资源,为系统配置带来了更多的灵活性和可扩展性
<