作者:hustjs | 来源:互联网 | 2014-05-27 21:08
kvm是基于linux内核的虚拟机,需要硬件(CPU)支持才能运行,目前较新的cpu都支持,且大多数较新的linux发行版的内核也都支持。它依附于linux下原有的qemu虚拟机软件,使用时就是用的qemu那一套命令,只不过由于启用了kvm虚拟化技术,虚拟机运行的速度有了很
kvm是基于linux内核的虚拟机,需要硬件(CPU)支持才能运行,目前较新的cpu都支持,且大多数较新的linux发行版的内核也都支持。它依附于linux下原有的qemu虚拟机软件,使用时就是用的qemu那一套命令,只不过由于启用了kvm虚拟化技术,虚拟机运行的速度有了很大的提升。如果由于某种原因kvm特性加载失败,那么就直接以qemu原有的方式运行。
一、准备工作
1. 首先检查CPU是否支持kvm,下面命令如果有输出则表示支持kvm虚拟技术,否则CPU不支持
grep 'vmx\|svm' /proc/cpuinfo --color
2. BIOS中打开虚拟技术支持(VT),否则 modprobe kvm_intel(对intelcpu)
时报错。
3. modprobe kvm_intel 成功后,/dev目录下将会多出一个设备文件
kvm,但默认只能root用户有写权限。为了让普通用户也能使用kvm,需要做些处理,那就是首先建立一个组,名为kvm,然后把使用kvm的普通用户加入kvm组;然后修改udev规则,使得/dev/kvm文件一建立时就属于kvm组,这样组内的普通用户才能对它有写权限。
groupadd kvm
usermod -aG kvm
然后在 /etc/udev/rules.d 中新建一个文件
99-myudev.rules,内容为如下一行即可
KERNEL=="kvm*", GROUP="kvm",
SYMLINK+="kvm"
(修改了用户所属的组后,用户必须注销重新登录才能使用户组的修改生效,不知直接打开新的shell是否可以。)
4. 注意:如果启用了kvm,则再想运行其它虚拟机软件比如vmware,VirtualBox的话,将无法运行。不过只要卸掉
kvm_intel 模块即可:rmmod kvm_intel,然后再运行 vmware 等即可。
二、创建虚拟机
1. 建立一个虚拟硬盘
qemu-img create -f qcow2
注:开始我用qcow的格式,发现写数据时奇慢无比。于是使用如下命令将虚拟磁盘镜像转为qcow2格式
qemu-img convert -O
qcow2 from.img to.img
2. 安装系统
qemu-kvm -hda
-m 512 -cdrom
-boot d -vga std
3. 运行系统
qemu-kvm -hda
-m 512 -vga std
注意:如果没有使用"-m"参数,KVM缺省内存为128M。
三、配置
1. 网络。对于Fedora11,我的kvm虚拟机装好xp后就直接能上网了,不错,没用我手动配置。
2. 声音。qemu-kvm -soundhw ? 列出可选的声卡选项,然后指定一个,我指定的是 -soundhw
es1370。
3. 显示。暂时用 -vga std,至于客户机的显卡驱动,使用的是
vbempG.zip,请参考
http://forum.ubuntu.org.cn/viewtopic.php?f=65&t=8528&view=next
4. 可以通过vnc方式后台运行,加上 -vnc :1 参数启动后没有输出。可以用 vncviewer :1
来显示。不过这时会发现鼠标光标有两个,这可以通过加上 -usbdevice tablet 选项启动来解决。
5. -localtime 使用本地时间,否则使用UTC时间,导致虚拟机系统与本地的时间相差8个小时。
附:启动命令(vnc方式)
qemu-kvm -hda ./kvmxp.img -m 512 -soundhw es1370 -vga std -cdrom
/dev/cdrom -vnc :1 -usbdevice tablet
-localtime