虚拟化笔记

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
        极大消除性能开销

你可能感兴趣的:(虚拟化笔记)