美文网首页
KVM 高级功能

KVM 高级功能

作者: jeepshen | 来源:发表于2017-01-06 21:28 被阅读0次

半虚拟化驱动

  1. VirtIO

    • qemu纯软件模拟的I/O设备:回路长,效率低
    • virtio半虚拟化驱动可以获得更好的I/O性能,需要在客户机中安装virtio驱动(linux,windows等)
  2. 直接分配设备
    在kvm/qemu中,虚拟机可以使用的设备分为三种:

    • 纯软件模拟的设备:软驱什么的
    • 半虚拟化设备:virtio的驱动
    • 硬件直通:pci设备直接分配 (intel VT-d的支持)网卡,硬盘,USB设备,VGA显卡,设备直通,但是只允许一个客户机使用。
  3. 热插拔需要

    • BIOS: qemu/kvm默认使用seaBIOS作为虚拟机的BIOS,支持pci的热插拔
    • PCI总线:需要CPU的VT-d支持
    • 操作系统
    • 虚拟机中的驱动程序
  4. 动态迁移

    分为静态迁移和动态迁移,也有人说冷迁移和热迁移。

    静态迁移:
    1. 关闭客户机后复制镜像。问题:不能保存客户机中运行的工作负载,就是内存中的数据。
    2. 暂停客户机后,复制内存镜像到另外的机器中运行,可以保存迁移之前的内存状态和工作负载。
    动态迁移

    动态迁移是指在保证客户机服务的正常运行的同时,让虚拟机在不同的宿主机见迁移。一个成功的动态迁移,需要保证客户机的内存,硬盘,网络迁移之后保持不变,而且迁移过程的服务暂停时候应该很短或者没有。

    动态迁移效率的衡量标准:
    1. 整体的迁移时间
    2. 服务暂停的时间
    3. 对运行中服务的影响
    动态迁移的应用场景:
    1. 负载均衡:一台服务器过载时,将正在运行的虚拟机迁移负载较低的服务器上;
    2. 解除硬件依赖: 服务器需要升级的时候,将该服务器上的虚拟机迁移到别的机器以便升级;
    3. 节约能源:负载普遍过低的时候,集中服务以节省能源;
    4. 远程的迁移。
  5. 动态迁移的例子:基于共享存储的动态迁移。
    如果源宿主机和迁移的目的宿主机共享存储,则只需传输vcpu状态,内存和虚拟内存中的设备状态到目的主机就可以,否则还需要传输存储。
    考虑到平台:后备镜像使用的是共享存储,但是增量镜像不是共享的,因为这是由业务性质决定的,实验教学用的虚拟机不是提供长期和稳定的服务,将网络I/O替换为磁盘I/O提高了性能。
    基于共享存储的动态迁移流程:

    1. 虚拟机在源宿主机上正常运行,迁移开始;
    2. 虚拟机的内存页传输到目的宿主机上,同时QEMU/KVM记录下期间对已传输内存页的所有修改操作;
    3. 估计传输速度,当剩余内存可在一定时间周期内传输完成时(30s?),关闭源宿主机上的虚拟机,完成传输;
    4. 传输保存的内存页修改操作;
    5. 在目的宿主机上恢复虚拟机的运行状态。
      服务暂停的时间:内存页传输时间+虚拟机临时停机时间+修改操作传输的时间+恢复启动的时间?
      这个时间和网络带宽有很大关系,如果虚拟机内存页频繁修改,内存I/O速率大于网络I/O则动态迁移不可能完成。
  6. KSM(共享内存) Kernel Samepage Merging 内存同页合并
    KSM让内核检查正在运行的应用程序,并比较他们的内存,如果多个进程之间共享完全相同的内存页,就合并成一个单一的内存页,并标记为"copy on write",当由进程试图修改cow的内存页的时候,在复制出一个新的内存页。
    在KVM/QEMU中,一个客户机就是一个QEMU进程,当多个虚拟机运行的是一个操作系统的时候,KSM的作用就会很显著。主要由两个方面:

    1. 相同的内存合并,减少了客户机的内存使用量。
    2. 是内存过载使用的一种很好的实现方式。
      但是,KSM需要由进程检测可以合并的内存页,虽然内存使用量降低,但是CPU的使用量会提高。
  7. 其他特性:
    。。。。

相关文章

  • KVM 高级功能

    半虚拟化驱动 VirtIOqemu纯软件模拟的I/O设备:回路长,效率低virtio半虚拟化驱动可以获得更好的I/...

  • kvm快照功能

    1.创建快照 2.查看快照列表 3.恢复快照 4.查看当前快照 5.快照存储目录 6.删除快照

  • 【01】KVM中小企业实践-概述

    KVM与QEMUQEMU做上层虚拟化:1、设备驱动 2、针对模拟PC硬件的用户空间组件KVM需要CPU中虚拟化功能...

  • kvm基本命令

    kvm常用管理命令 kvm连接方式 kvm磁盘磁盘 kvm快照管理 kvm克隆虚拟机 kvm桥接网络 kvm虚拟机...

  • KVM入门

    第1章 KVM介绍 第2章 创建一个KVM虚拟机 1.VM虚拟机开启CPU虚拟化功能 设置-处理器-虚拟化 2.安...

  • KVM 使用

    1. 檢查 kvm-ok cef@P5:~$ kvm-ok INFO: /dev/kvm exists KVM a...

  • ubuntu xenial 安装 KVM

    KVM 官网 http://www.linux-kvm.org/page/Main_Pageubuntu KVM ...

  • 高级功能

    所有QQ可用@代替 所有指令自定义,多条指令用|间隔,如踢人指令:T|踢|去死 以下为高级管理可用指令: 停用群管...

  • 高级功能

    所有QQ可用@代替 所有指令自定义,多条指令用|间隔,如踢人指令:T|踢|去死 以下为高级管理可用指令: 停用群管...

  • 高级功能

    所有QQ可用@代替 所有指令自定义,多条指令用|间隔,如踢人指令:T|踢|去死 以下为高级管理可用指令: 停用群管...

网友评论

      本文标题:KVM 高级功能

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