KVM 架构
一、KVM 架构介绍
1. 虚拟化(系统虚拟化)
-
定义: 虚拟化技术确实可以将一台物理计算机虚拟化为多台逻辑计算机(虚拟机),每个虚拟机可以运行不同的操作系统和应用程序,彼此之间相互独立,互不干扰。这种方式可以提高物理资源的利用率和灵活性。
-
优势: 通过虚拟化,可以实现资源的动态分配和管理,提高系统的灵活性和可扩展性,同时降低硬件成本和维护复杂度。
2. 名词解释
-
物理机或宿主机(Host): 这是指实际的物理计算机,承载虚拟化软件和多个虚拟机。
-
虚拟机(Guest OS): 这是指在宿主机上运行的虚拟操作系统。每个虚拟机都认为自己在独立的硬件上运行,但实际上是由宿主机提供虚拟资源。
3. 虚拟机管理程序(VMM/Hypervisor)
-
定义: VMM(Virtual Machine Monitor)或 Hypervisor 是虚拟化软件的核心,负责管理物理资源并将其分配给虚拟机。它在虚拟机和物理硬件之间充当中介。
-
类型:
-
Type 1 Hypervisor(裸金属虚拟化): 直接运行在物理硬件上,如 KVM、Xen、VMware ESXi。
-
Type 2 Hypervisor(托管虚拟化): 运行在现有的操作系统之上,如 VirtualBox、VMware Workstation。
-
4. KVM(Kernel-based Virtual Machine)
架构: KVM 是 Linux 内核的一部分,将 Linux 转变为 Hypervisor。它依赖于 CPU 的硬件虚拟化扩展(如 Intel VT-x 或 AMD-V)来实现高效的虚拟化。
-
组件:
- KVM 内核模块: 负责 CPU 和内存的虚拟化。
QEMU: 提供 I/O 设备的虚拟化,与 KVM 一起工作以实现完整的虚拟化解决方案。
虚拟机访问物理资源: 虚拟机确实需要通过 Hypervisor(KVM 和 QEMU)来访问物理资源。KVM 通过拦截虚拟机对 I/O 的请求,并将其转发给 QEMU 进行处理,从而实现对物理资源的访问。
虚拟化类型
| 全虚拟化(本地虚拟化、硬件辅助全虚拟化):虚拟机中运行的软件与系统不需经过任何修改,就好比运行在真实硬件一样;但依然使用虚拟硬件设备,并且需要硬件支持,物理机需支持虚拟化功能 | (grep -E ‘vmx svm’ /proc/cpuinfo,查询intel与AMD是否支持) |

- 半虚拟化:另一种类似于全虚拟化的热门技术,它使用Hypervisor(虚拟机管理程序)分享存取底层的硬件, 但是它的客户操作系统集成了虚拟化方面的代码,该方法无需重新编译或引起陷阱,因为操作系统自身能够与虚拟进程进行很好的协作;但半虚拟化需要客户操作系统做一些修改(配合VDSM),这是一个不足之处,但是半虚拟化提供了与原始系统相近的性能,与全虚拟化一样,半虚拟化可以同时能支持多个不同的操作系统

本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 NachoMao
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果