虚拟化的本质:就是由位于下层的软件模块,根据上层的软件模块的期待,抽象(虚拟)出一个虚拟的软件或硬件模块,使上一层软件直接运行在这个与自己期待完全一致的虚拟环境上。
子专题:
- 虚拟化技术分类:
1,模拟,例如Qemu
2,完全虚拟化,例如vmware,virtualbox
3,半虚拟化,例如hyper-v
4,容器级虚拟化,例如docker
5,程序级虚拟化,例如wine 其中模拟,完全虚拟化,半虚拟化属于主机虚拟化范畴即VMM。
VMM虚拟化分类: Hypervisor 模型中 VMM 既是操作系统,也是虚拟化软件,也就是集成了虚拟化功能的操作系统,对上为 guest 提供虚拟化功能,对下管理着所有物理资源,它的优点就是效率高,虚拟机的安全性只依赖于 VMM,缺点就是管理所有的物理资源,意味着 VMM 要承担很多的开发工作,特别是驱动层面的开发,这些设备都要有对应的驱动来设配才能为虚拟机提供功能。
Hypervisor 模型(1 型) 宿主模型剥离了管理功能和虚拟化功能,虚拟化功能只是作为内核的一个模块来加载,比如 KVM 技术就是其中的佼佼者,KVM 技术可以说是云计算最核心的技术了。一般 KVM 只负责 CPU 和内存的虚拟化,I/O 的虚拟化则由另外一个技术来完成,即 Qemu。
宿主模型(2 型)
- 典型的虚拟化产品:
1,xen
Xen 是一款开源虚拟机软件,Xen 结合了 Hypervisor 模型和宿主模型,属于一种混合的虚拟化模型,基于 Xen 的虚拟化产品也有很多,比如 Ctrix、VirtualIron、RedHat 和 Novell 等都有相应的产品。(这是夕阳技术)
2,KVM
KVM 也是一款开源软件,于 2007 年 2 月被集成到了 Linux 2.6.20 内核中,成为了内核的一部分。KVM 采用的是基于 Intel VT 的硬件辅助虚拟化技术,以及结合 Qemu 来提供设备虚拟化,从实现上看,属于宿主模型。这也是常见的vps服务器常用的虚拟化方案。
3,vmware
VMware 可以说是虚拟化的鼻祖,现在很多公司都是在模仿 VMware 的产品,相应用过 VMware 虚拟机的朋友应该不陌生了,VMware 提供了很多的虚拟化产品,从服务器到桌面都有很多应用。主要有面向企业级应用的 ESX Server,面向服务端的入门级产品 VMware Server,面向桌面的主打产品 VMware Workstation(这个相信大家经常用),面向苹果系统的桌面产品 VMware Fusion,还有提供整套虚拟应用产品的 VMware vSphere,细分的话还有 VMware vStorage(虚拟存储),VMware vNet(虚拟网络)等。
4,hyper-v
Hyper-V是微软的一款虚拟化产品,是微软第一个采用类似Vmware和Citrix开源Xen一样的基于hypervisor的技术。这也意味着微软会更加直接地与市场先行者VMware展开竞争,但竞争的方式会有所不同。Hyper-V是微软提出的一种系统管理程序虚拟化技术,能够实现桌面虚拟化 。
- 虚拟化技术的比较
- 本站测试过的虚拟化方案
- win10原生虚拟化hyper-V
- opensuse15.2安装和使用vmware16
- opensuse安装和使用virtualbox
- opensuse安装和使用KVM
- proxmox-ve /pve的安装
- ESXI的安装和配置
- 黑群晖通过vmm安装openwrt的另外一种方式
- docker专题
- 基于虚拟化技术衍生的其他技术
此部分主要和操作系统和应用软件有关,详见:
- 认知的升级
参考资料:
- https://zhuanlan.zhihu.com/p/72483360
- https://www.jianshu.com/p/40b44441aeb5
- https://baike.baidu.com/item/Hyper-V