对KVM、qemu、qemu-kvm的理解

本文解释了KVM、QEMU及QEMU-KVM之间的区别与联系,详细介绍了硬件虚拟化概念,KVM作为内核模块如何利用硬件虚拟化特性,QEMU作为一个独立的虚拟化软件如何工作,以及QEMU-KVM如何结合两者的优点提供高性能的虚拟化解决方案。

最近研究虚拟化,对kvm、qemu、qemu-kvm有点迷惑,搞不明白他们之间的关系,于是查了下资料,用自己的理解总结了一下:


硬件虚拟化

所谓硬件虚拟化就是cpu本身提供的虚拟化功能,提供可以让虚拟机中的部分指令能直接在真实cpu中执行等类似的优化特性,如Intel VT、AMD-V


KVM

KVM是一个实现硬件虚拟化的 内核模块,目前作为原生内核模块继承到linux内核中。硬件提供的功能需要驱动或者内核模块去使用它,KVM就是这样的一个内核模块。


qemu

qemu是一个虚拟化软件,它是一个完整的仿真器,可以独立的运行,他的特点是可以虚拟不同的CPU,是一个用户态的程序。跟kvm不同的是它不支持硬件虚拟化。


qemu-kvm

qemu-kvm是kvm内核模块结合qemu仿真的虚拟化软件,它修改了qumu的代码,使其具备了kvm硬件虚拟化的特效,又有了qemu的用户态程序。说白了就是kvm提供的内核功能让用户态的qemu使用,kvm使qemu的性能大幅度提高。


总结

kvm作为一个使用了实现了硬件虚拟化(需要硬件支持)的内核模块,他不能独立执行,需要一个用户态程序来使用它,于是它选择了qemu这个比较成熟的用户态仿真程序,对其cpu仿真部分进行了修改,这样就出现了qemu-kvm,qemu-kvm其实就是实现了硬件虚拟化qemu。


描述可能不太准确,有待修改。。

### 正确安装 `libvirt`、`libvirt-python`、`qemu-kvm` 及其相关工具 为了正确安装 `libvirt`、`libvirt-python`、`qemu-kvm` 和其他相关工具,可以通过以下方法完成: #### 1. 安装基础组件 在 CentOS 或 RHEL 类似系统上,可以直接使用 `yum` 命令安装所需的软件包。以下是具体的命令集合: ```bash yum install -y qemu-kvm qemu-img libvirt libvirt-python virt-manager virt-install virt-viewer ``` 此命令将一次性安装多个必要的组件[^1]。 #### 2. 验证 KVM 支持 确保硬件支持虚拟化技术,并已启用 BIOS 中的虚拟化选项。运行以下命令验证是否启用了 KVM 模块: ```bash lsmod | grep kvm ``` 如果返回结果为空,则可能未加载模块或硬件不支持虚拟化功能[^4]。 #### 3. 启动并配置服务 安装完成后,需启动 `libvirtd` 服务并将它设置为随系统启动自动运行: ```bash systemctl start libvirtd systemctl enable libvirtd ``` #### 4. 测试虚拟机创建能力 可以尝试通过 `virt-manager` 图形界面或者命令行工具 `virt-install` 来创建一台简单的虚拟机以确认环境正常工作[^2]。 对于 Rocky Linux 9 用户而言,除了上述提到的基础依赖外还需要额外增加一些特定于版本的支持库,例如 `bridge-utils`, `libguestfs-tools` 等[^3]: ```bash yum install -y qemu-kvm virt-manager libvirt virt-install virt-viewer \ bridge-utils libguestfs-tools ``` 以上步骤涵盖了从基本需求到高级扩展的所有必要操作说明. ```python print("Libvirt and related tools have been successfully installed.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值