关于qemu-kvm介绍不在阐述,本文以实际工作项目中所遇问题总结下qemu-kvm的创建过程,期间融合了各种实际碰到的问题,以此记录并给后来者提供一定参考。
直接进入主题:
1.首先我们需要检查一下我们的当前主机是否支持cpu虚拟化:
(若没有请#modprobe kvm,或者某些内核需安装kernel-**-kvm.rpm)
| # lsmod | grep kvm kvm_intel 253952 6 kvm 811008 1 kvm_intel irqbypass 16384 3 kvm |
安装qemu-kvm包
| # yum -y install qemu-kvm |
2.安装kvm虚拟机要提前做好准备工作,包括iso文件(提前下载好),硬盘文件linux.qcow2,虚拟机配置文件linux.xml(也可参考网上某些模板)
linux 8 4 hvm shutdown restart destroy /usr/libexec/qemu-kvm
首先我们需要创建一个虚拟磁盘,相当于我们的系统盘:
| # qemu-img create -f qcow2 /root/linux.qcow2 40G Formatting 'linux.qcow2', fmt=qcow2 size=42949672960 cluster_size=65536 lazy_refcounts=off refcount_bits=16 |
执行 virsh 命令定义一台虚机(保证光盘、硬盘都在root用户目录下以获得权限)
| # virsh define linux.xml |
(若define有qemu:x:107:107报错可参考,没有则跳过此步骤):
| # vim /etc/libvirt/qemu.conf …… user="root" group="root" # systemctl restart libvirt |
执行 virsh 命令启动一台虚机
| # virsh start linux.xml |
查看虚拟机状态
| # virsh list --all Id 名称 状态 ---------------------------------------------------- 17 linux running |
3.虚拟机启动后,用VNC新建链接session查看,连接的 ip 地址为宿主机的 ip 地址,可以通过 ip a进行查看
此时若vnc链接不到虚拟机,请考虑如下排查手段:
A.如果系统是最小化安装的,要安装xorg-x11-xauth.rpm包 ,不然在使用ssh连接主机时图形无法支持
| # yum -y install xorg-x11-xauth |
B.关闭防火墙,关闭SELINUX
| #systemctl status firewalld #systemctl stop firewalld #systemctl disable firewalld #getenforce #setenforce 0 #vim /etc/selinux/config …… SELINUX=disable |
4.由于第一次进入系统,显示出安装系统的界面,我们正常进行安装就可以了。
安装完成后,系统就写入对应的虚拟磁盘中了,这时重启后会依然进行安装,原因在于linux.xml中配置启动顺序为先iso,后qcow2; 所以需要更改配置文件(xml) 中的启动项,将其从 cdrom 启动改为从磁盘启动。
执行 virsh 命令关闭虚机(shutdown命令失效就用destroy),编辑虚机,重启虚机
| # virsh shutdown linux.xml # virsh edit linux.xml # virsh start linux.xml |
(其中第二步edit只需将iso和qcow2的
之后便可正常启动虚拟机,进行后续工作。



