qemu+kvm的基本用法

1. KVMQEMU的关系

首先KVMKernel Virtual Machine)是Linux的一个内核驱动模块,它能够让Linux主机成为一个Hypervisor(虚拟机监控器)。在支持VMX(Virtual Machine Extension)功能的x86处理器中,Linux在原有的用户模式和内核模式中新增加了客户模式,并且客户模式也拥有自己的内核模式和用户模式,虚拟机就是运行在客户模式中。KVM模块的职责就是打开并初始化VMX功能,提供相应的接口以支持虚拟机的运行。
QEMUquick emulator)本身并不包含或依赖KVM模块,而是一套由Fabrice Bellard编写的模拟计算机的自由软件。QEMU虚拟机是一个纯软件的实现,可以在没有KVM模块的情况下独立运行,但是性能比较低。QEMU有整套的虚拟机实现,包括处理器虚拟化、内存虚拟化以及I/O设备的虚拟化。QEMU是一个用户空间的进程,需要通过特定的接口才能调用到KVM模块提供的功能。从QEMU角度来看,虚拟机运行期间,QEMU通过KVM模块提供的系统调用接口进行内核设置,由KVM模块负责将虚拟机置于处理器的特殊模式运行。QEMU使用了KVM模块的虚拟化功能,为自己的虚拟机提供硬件虚拟化加速以提高虚拟机的性能。
KVM只模拟CPU和内存,因此一个客户机操作系统可以在宿主机上跑起来,但是你看不到它,无法和它沟通。于是,有人修改了QEMU代码,把他模拟CPU、内存的代码换成KVM,而网卡、显示器等留着,因此QEMU+KVM就成了一个完整的虚拟化平台
KVM只是内核模块,用户并没法直接跟内核模块交互,需要借助用户空间的管理工具,而这个工具就是QEMU。KVM和QEMU相辅相成,QEMU通过KVM达到了硬件虚拟化的速度,而KVM则通过QEMU来模拟设备。对于KVM来说,其匹配的用户空间工具并不仅仅只有QEMU,还有其他的,比如RedHat开发的libvirt、virsh、virt-manager等,QEMU并不是KVM的唯一选择。
所以简单直接的理解就是:QEMU是个计算机模拟器,而KVM为计算机的模拟提供加速功能

2 QEMU的安装

Slackware下,用SlackBuilds网站下载安装脚本,从qemu官网下载最新的qemu源码包。

3 使用QEMU

3.1 创建虚拟镜像文件

$ qemu-img create -f qcow2 image_file.cow 40G

这样就产生了一个image_file.cow的镜像文件。大小会随着使用的变化而增大。

3.2 创建虚拟机

$ qemu-system-x86_64  -enable-kvm -cdrom en_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-73974.iso  -boot menu=on -drive file=image_file.cow  -m 4G

使用虚拟机

3.3 使用虚拟机

$ qemu-system-x86_64 -enable-kvm -boot menu=on -drive file=image_file.cow  -m 4G

在3.2 和3.3中,命令qemu-system-x86_64都可以使用qemu-kvm来代替。
事实上,qemu-kvm就是指向qemu-system-x86_64的一个链接。
qemu中使用menuetOS

4 关于kvm用户权限问题

如果在3.2和3.3中有用户组权限不足问题,请参考
Slackbuids官网qemu安装脚本说明,脚本中We patch the installed udev rules to require membership in "users" group instead of a custom "kvm" group to use /dev/kvm.
所以我们可以切换到root用户,

$ su
# vigr
# vigr -s

users用户组后面添加你所在的用户组。
或者使用

$ su
# usermod --append  ${你所在的用户组} --groups users 

至此,kvm用户权限问题解决。

附:添加你所在的用户组kvm

# usermod --append  ${你所在的用户组} --groups kvm
  • 16
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值