KVM+SPICE安装配置文档

CentOS7.2部署KVM虚拟机

一、安装KVM

#####1. 验证CPU是否支持KVM;如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的

1
egrep '(vmx|svm)' /proc/cpuinfo

#####2. 关闭SELinux,将 /etc/sysconfig/selinux 中的 SELinux=enforcing 修改为 SELinux=disabled【非必须】

1
2
vim /etc/sysconfig/selinux
然后修改SELinux=enforcing 修改为 SELinux=disabled,重启后生效,不重启不影响后续安装配置

#####3. 最小安装的CentOS安装一些最基本的包(可选项,因为我是刚安装好的CentOS,所以为了下面方便点,先把一些必要的工具安装下)

yum install epel-release net-tools vim unzip zip wget ftp -y

#####4. 安装KVM及其依赖项

yum install qemu-kvm libvirt virt-install bridge-utils -y

#####5. 验证安装结果,下图说明已经成功安装了
lsmod | grep kvm

#####6. 开启kvm服务,并且设置其开机自动启动
systemctl start libvirtd

systemctl enable libvirtd

#####7. 查看状态操作结果,如下图所示,说明运行情况良好
systemctl status libvirtd

systemctl is-enabled libvirtd

#####8. 配置网桥模式,先将 /etc/sysconfig/network-scripts/ 目录下的网卡配置文件备份一份(不要备在当前目录以及子目录下,其他目录随意)

a. 创建 ifcfg-br0 文件,内容如下:

BOOTPROTO=static   
DEVICE=br0   
TYPE=Bridge   
NM_CONTROLLED=no   
IPADDR=192.168.1.95   
NETMASK=255.255.255.0   
GATEWAY=192.168.1.1  
DNS1=61.177.7.1  
DNS2=8.8.8.8  
b. 移除掉原来的 ifcfg-enp0s25 ,重新创建该文件,内容如下:

BOOTPROTO=none   
DEVICE=enp0s25   
NM_CONTROLLED=no   
ONBOOT=yes   
BRIDGE=br0   
c. 重启网络服务   
systemctl restart network   
使用 ifconfig 验证操作结果,多了一块网卡br0,现在访问 think8848-srv02 使用 192.168.1.95 就可以了。

二、KVM安装虚拟机

安装前提
创建目录   
mkdir -p /home/iso

下载服务器镜像文件到虚拟主机上   
cd /homg/iso
wget http://192.168.6.101/static/system/cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso

wget http://192.168.6.101/static/system/cn_windows_10_enterprise_2016_ltsb_x64_dvd_9060409.iso

创建虚拟机文件存放的目录
mkdir -p /home/kvm-bak

本地【自己】电脑上安装virt-viewer(自行网上下载)[]([下载](https://releases.pagure.org/virt-viewer/virt-viewer-x64-1.0.msi "Download"))
win10安装
qemu-img create -f raw /home/iso/kvm-0.raw 100G

qemu-img info /home/iso/kvm-0.raw 

virt-install --virt-type kvm --name win10-10 --ram 4096 --cdrom=/home/iso/cn_windows_10_enterprise_2016_ltsb_x64_dvd_9060409.iso --boot cdrom --cpu core2duo --network bridge=br0,model='e1000' --graphics vnc,listen=0.0.0.0 --disk path=/home/iso/kvm-0.raw,bus='ide' --noautoconsole --os-type=windows  --force --autostart
win7安装
qemu-img create -f raw /home/iso/kvm-1.raw 100G

qemu-img info /home/iso/kvm-1.raw 

virt-install --virt-type kvm --name win7-0 --ram 4096 --cdrom=/home/iso/cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso --boot cdrom --cpu core2duo --network bridge=br0,model='e1000' --graphics vnc,listen=0.0.0.0 --disk path=/home/iso/kvm-1.raw,bus='ide' --noautoconsole --os-type=windows  --force --autostart

可以参考下一下几篇文章
https://www.cnblogs.com/yang-ning/p/7111649.html?utm_source=debugrun&utm_medium=referral
https://www.linuxidc.com/Linux/2017-01/140007.htm

KVM中系统配置SPICE协议

使用命令关闭虚拟机

virsh shutdown win7-0    
virsh shutdown win10-10    

注:这个过程要等一会儿

配置spice远程连接

修改虚拟机的配置文件 
win7-0 

cd /etc/libvirt/qemu/

vim win7-0.xml

virsh edit win7-0[这个命令比较坑爹,用上面命令替代]

<!-- 首先virsh命令关闭虚拟机,使用`virsh edit domain`编辑 -->
<!--  添加 -->  
<channel type='spicevmc'>
    <target type='virtio' name='com.redhat.spice.0'/>
</channel>
<!--  修改 -->
<graphics type='spice' port='-1' autoport='yes' listen='0.0.0.0'>
  <listen type='address' address='0.0.0.0'/>
</graphics>

<video>
    <model type='qxl' heads='1'/>
    <alias name='video0'/>
</video>

保存重启

virsh start win7-0

使用virt-viewer连接【spice://192.168.6.100:5900】

参考文献
https://opengers.github.io/virtualization/spice-kvm-usbredir-qxl-1/

实例地址:
spice://192.168.6.100:5900
spice://192.168.6.100:5901