一、相关知识
- 开源虚拟化
- XEN
- KVM
FusionCompute6.3之前虚拟化使用的是XEN,FusionCompute6.3之后包括6.3虚拟化使用的是KVM;
FusionCompute6.1使用的SUSE11,FusionCompute6.1以后,包括6.1使用EulerOS
二、XEN虚拟化
- Domain0特权虚拟机,数据流经过Domain0转交其他虚拟机
- Xen可以半虚拟化也可以全虚拟化,当CPU没有VT-X或AMD-V时只可以半虚拟化;KVM只有全虚拟化
- Xen需要升级内核才可以跑虚拟化
三、虚拟化类型
- 半虚拟化(软件不支持,硬件不支持)
半虚拟化只可以安装Linux,因为半虚拟化需要修改内核(当时CPU不支持),Guest OS知道自己是虚拟机,指令通过Host OS直接交CPU执行(但是需要修改内核) - 完全虚拟化(软件支持)
Guest OS的操作靠虚拟化软件做它与CPU的转换 - 硬件辅助虚拟化
AT-X和AMD-V,CPU会自己捕获Guest OS除敏感指令的其他指令,直接执行
四、半虚拟化在IO设备上的应用
给硬件辅助虚拟化安装半虚拟化驱动 PV Driver
安装半虚拟化驱动,让虚拟机自己知道自己是虚拟机,数据直接在OVS里面交换(相当于在内存中直接交换)。
如果没有安装半虚拟化驱动,虚拟机以为自己是物理机,VM1数据将经过OVS到达物理交换机再回来OVS最后交给VM2
(Linux自带VirtIO驱动,Windows系统盘不建议使用VirtIO)