美文网首页
7.虚拟化(不全

7.虚拟化(不全

作者: 西山薄凉 | 来源:发表于2020-03-29 23:06 被阅读0次

    概述

    • 大机器不灵活, 因此诞生在物理机上搭建虚拟机的方法.
      • 资源大小不灵活
      • 资源申请不灵活
      • 资源共享不灵活
    • 搭建虚拟机的问题是: 虚拟机软件必定是运行在用户态, 虚拟机中的内核无法运行内核指令.
    • 在虚拟化层, 例如桌面应用 VritualBox 中有三种虚拟化方式:
      • 完全虚拟化
        由虚拟化软件(例如 VirtualBox) 模拟假的 CPU, 内存, 硬盘等待资源, 将虚拟机的内核指令转发给外部系统运行, 将结果返还给虚拟机.
        缺点: 执行速度很慢.
      • 硬件虚拟化
        为了提高运行速率, 让虚拟机大部分内核指令都能直接在 CPU 上执行, 部分敏感指令还是通过中转的方式执行. Intel VT-X 和 AMD AMD-V 提供硬件支持. 通过添加标志位来标识当前虚拟机的指令是否直接在 CPU 上执行.
      • 半虚拟化
        网络/硬盘可以加载针对虚拟机特殊优化的驱动, 通过内存缓存等方式优化资源的访问.


        image.png
    • 虚拟化工具
      • 桌面虚拟化软件用 VirtualBox, 服务器上用 qemu
      • qemu 采用完全虚拟化的模式. 可在 BIOS 中打开硬件辅助虚拟化, 虚拟机 CPU 指令通过 KVM 直接运行, 提高运行速率.
      • KVM 是一个内核模块. 通过 /dev/kvm 暴露接口, 用户态程序可以通过 ioctl 访问这个接口直接运行 CPU 指令.
      • Qemu 整合 KVM, 将 CPU 指令交由 KVM 运行. 即 qemu-kvm (或 qemu-system-XXX)
      • Qemu-kvm 只解决 CPU 性能问题, qemu 让虚拟机加载特殊驱动, 实现半虚拟化. 例如网络驱动 virtio_net, 存储驱动 virtio_blk.

    相关文章

      网友评论

          本文标题:7.虚拟化(不全

          本文链接:https://www.haomeiwen.com/subject/zsbpuhtx.html