kvm虚拟化个人笔记
平台虚拟化
将 X86的CPU 内存 外设 作为资源
如:
- QEMU(Platform Virtualization)
- KVM(Redhat)
- XEN Server(Critix 思杰)
- ESXI(Vmware)
- VSphere(Vmware)
- Hyper-V(Microsoft)
其中 KVM XEN Hyper-V 不仅需要硬件的支持,还必须依赖于操作系统才能运行(称为:寄居)
而其余虚拟化技术只依赖于硬件(称为: 原生虚拟化)
操作系统虚拟化
将 操作系统以及其提供的系统调用 作为资源
如:
- LXC
- Docker
因为全虚拟化(QEMU)已经被淘汰的原理,这里不做解释
1. 半虚拟化 ---para-virtulization
原理: 跳过自己的虚拟硬件,直接调用物理机的硬件设备, 如:XEN
效率: 效率上 半虚拟化 最高
简单原理如图所示:
缺点: 使用半虚拟化技术,就必须使用 C语言 修改系统内核,并且无法在 windows 服务器上运行
2. 硬件辅助的全虚拟化
原理:
对 CPU 的指令集做了修改,用户操作系统直接调用指令集 Ring0
物理机的 cpu 加入了虚拟化技术的支持
虚拟机调用物理机的硬件时,不再需要 hypervisor 中间媒介的参与
完全由 cpu 来完成其所需资源的调用
如: KVM, VMware(ESXI,VSphere)
要求: 物理机的 cpu 支持虚拟化的特性
Inter: VT-x
AMD: AMD-v