1.虚拟化:计算机资源的抽象和模拟
平台虚拟化:针对计算机和操作系统的虚拟化
资源虚拟化:针对特定系统资源的虚拟化,比如内存、存储(ceph)、网络(sdn)资源等
应用程序虚拟化:应用程序和操作系统解耦,为应用程序提供一个虚拟的运行环境
2.平台虚拟化实现方式
全虚拟化
半虚拟化
硬件辅助虚拟化
3.cpu虚拟化
目标:让guestOS里面的指令能够正常执行,保证性能和效率,尽可能接近物理机
方式:
全虚拟化:
虚拟机模拟了完整的底层硬件,操作系统和软件不做任何修改就可以运行在虚拟机中
实现:特权级压缩和二进制翻译(BT)技术实现
Ring0-4指令权限
代表:VMware esxi
cpu全虚拟化 = 特权压缩+二进制翻译
半虚拟化
对虚拟机的操作系统进行内核改造,虚拟机有自己的特殊指令,和VMM一起配合工作
代表:Xen
性能很高,更加接近物理机速度,
缺点:无法虚拟windows系统(windows闭源,无法改造内核代码)
硬件辅助虚拟化
对cpu指令进行改造,让cpu从根本上支持虚拟化
Intel:VT-x
AMD:AMD-v
cat /proc/cpuinfo | grep vmx //intel
cat /proc/cpuinfo | grep svm //amd
效率和性能很高,接近物理机
代表:kvm
4.内存虚拟化
guestOS和物理机共用同一个物理内存,要做到相互不影响
物理内存划分:块、页、页表
方式:
全虚拟化:
影子页表技术
半虚拟化
页表写入法技术
硬件辅助虚拟化
引入EPT(Extended Page Table 扩展页表)技术
5.IO虚拟化
硬盘 or 网卡虚拟化
让虚拟化能够访问到它需要的IO资源,与宿主机相互隔离
方式:
全虚拟化:
模拟IO设备实现,虚拟出来的设备跟底层硬件无关
半虚拟化
采用前端驱动和后端驱动架构实现
硬件辅助虚拟化
让虚拟机直接使用物理设备
intel:VT-d
AMD:IOMMU
PCI-SIG:IOV
极大消除性能开销
网友评论