KVM-4、KVM 高级功能详解

本文详细介绍了KVM中的高级特性,包括半虚拟化驱动Virtio的原理、优势及安装,动态迁移的概念、应用场景与实践,以及KSM(Kernel SamePage Merging)技术的内存合并与性能优化。通过Virtio,可以提高I/O性能,减少客户机与hypervisor之间的交互成本。动态迁移则允许在不中断服务的情况下,将虚拟机从一台宿主机迁移到另一台,实现负载均衡和容错。KSM通过合并相同内存页,有效节省内存,提高内存利用率。
摘要由CSDN通过智能技术生成

1. 半虚拟化驱动

1.1 virtio 概述

KVM 是必须使用硬件虚拟化辅助技术(如 Intel VT-x 、AMD-V)的 Hypervisor,在CPU 运行效率方面有硬件支持,其效率是比较高的;在有 Intel EPT 特性支持的平台上,内存虚拟化的效率也较高。 QEMU/KVM 提供了全虚拟化环境,可以让客户机不经过任何修改就能运行在 KVM 环境中。不过 KVM 在 I/O虚拟化方面,传统的方式是使用 QEMU 纯软件的方式来模拟 I/O 设备(如网卡、磁盘、显卡等),其效率并不非常高。

CPU 和 内存的虚拟化由KVM内核模块提供,I/O设备虚拟化由QEMU负责实现。

在KVM中,可以在客户机中使用半虚拟化驱动的方式是采用 Virtio 这个 Linux 上的设备驱动标准框架。

完全虚拟化:GuestOS 运行在物理机上的 Hypervisor 之上,GuestOS 并不知道它已经被虚拟化,并不需要任何修改就能工作;

半虚拟化:GuestOS 不仅知道它运行在 Hypervisor 之上,还包括让 GuestOS 更高效的过度到 Hypervisor 的代码。

在完全虚拟化模式中,hypervisor 必须模拟设备硬件,它是在会话的最低级别进行模拟的,尽管在该抽象中模拟很干净,但它同时也是最低效的,最复杂的。

在半虚拟化中,GuestOS 和 hypervisor 能够共同合作,让模拟更加高效,缺点是操作系统知道它被虚拟化,并且需要修改才能工作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沧海之巅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值