首页 > 技术文章 > CentOS7使用 KVM 部署 win10 虚拟环境及配置 VNC 远程连接

liuyim 2021-07-21 13:49 原文

1、验证CPU是否支持虚拟化,输入有vmx或svm就支持,支持虚拟化则就支持KVM

[root@localhost ~]# cat /proc/cpuinfo | egrep 'vmx|svm'

 

2、查看是否加载KVM

[root@localhost ~]# lsmod | grep kvm

 

3、若上面命令输出为空,则执行加载kvm

[root@localhost ~]# modprobe kvm

 

4、关闭selinux

[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/sysconfig/selinux

SELINUX=disabled

 

5、关闭防火墙

[root@localhost ~]# systemctl disable --now firewalld

 

6、安装相关包

yum install qemu-kvm qemu-img \
virt-manager libvirt libvirt-python virt-manager \
libvirt-client virt-install virt-viewer -y

#qemu-kvm: KVM模块
#libvirt: 虚拟管理模块
#virt-manager: 图形界面管理虚拟机
#virt-install: 虚拟机命令行安装工具

 

7、启动libvirt并设置开机自启动

[root@localhost ~]# systemctl start libvirtd
[root@localhost ~]# systemctl enable libvirtd

 

8、开启路由转发功能

[root@localhost ~]# sed -i '/net.ipv4.ip_forward/s/0/1/' /etc/sysctl.conf
[root@localhost ~]# sysctl -p

  

9、如果没报错 那么证明安装成功

[root@localhost ~]# virsh -c qemu:///system list

 

10、物理机上配置虚拟机ip桥接br0,使创建的虚拟机可以通过桥接方式通外网

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0

TYPE="Bridge"
BOOTPROTO="dhcp"
DEVICE="br0"
ONBOOT="yes"
GATEWAY=192.168.1.1
DNS1=192.168.1.1

 

11、备份原配置文件

[root@localhost ~]# rsync -av /etc/sysconfig/network-scripts/ifcfg-enp0s31f6 /etc/sysconfig/network-scripts/ifcfg-enp0s31f6_20210709.bak

  

12、在原文件末尾追加一行:BRIDGE=br0

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp0s31f6

#文件末尾
BRIDGE=br0

 

13、重启network,并查看桥接网卡

[root@localhost ~]# systemctl restart network
[root@localhost ~]# ip a

  

14、创建目录

[root@localhost ~]# mkdir /home/iso /home/images
[root@localhost ~]# ll /home/iso/
总用量 5316864
-rw-r--r-- 1 root root 5444462592 7月 10 00:00 cn_windows_10_business_editions_version_1809_updated_sept_2019_x64_dvd_f873d037.iso

  

15、创建虚拟机镜像文件

[root@localhost ~]# qemu-img create -f qcow2 /home/images/win10.qcow2 100G
#输出信息
Formatting '/home/images/win10.qcow2', fmt=qcow2 size=107374182400 encryption=off cluster_size=65536 lazy_refcounts=off

  

16、终端安装 win10虚拟环境

virt-install \
--virt-type kvm \
--name win10 \
--memory 4096 \
--vcpus 4 \
--disk path=/home/images/win10.qcow2 \
--cdrom /home/iso/cn_windows_10_business_editions_version_1809_updated_sept_2019_x64_dvd_f873d037.iso \
--network bridge=br0 \
--vnc --vnclisten=0.0.0.0 --vncport=5902 \
--noautoconsole --autostart --accelerate \
--os-type=windows --os-variant=win10

#输出信息
开始安装......
域安装仍在进行。您可以重新连接
到控制台以便完成安装进程。

 

#参数概述


--virt-type:指定虚拟机类型(kvm、qemu、xen)
--name:虚拟机的名字
--memory:虚拟机的内存
--vcpus:指定cpu的核数(默认为1)
--disk:指定虚拟机数据存储磁盘(存储磁盘类型有:qcow2(支持快照),raw(不支持快照))
--cdrom:指定虚拟机安装的ISO镜像
--network:指定虚拟机⽹络类型,默认nat,常用为bridge
--vnc:启用VNC管理
--vnclisten:指定VNC绑定IP,默认绑定127.0.0.1,这里改为0.0.0.0
--vncport:指定VNC监听端口(默认为5900),可以自行设置
--noautoconsole:不连接虚拟机图形界面控制台
--os-type=windows
--os-variant=win10: 针对特定操作系统变体(例如’rhel6’, ’winxp’,'win2k3')进一步优化虚拟机配置
--accelerate:加速, KVM或KQEMU内核加速,这个选项是推荐最好加上

 

#Virsh命令语法参考(centos为KVM名字)


virsh list --all 列出所有的虚拟机
virsh start centos 启动centos虚拟机
virsh shutdown centos 关闭centos虚拟机
virsh destroy centos 强制关闭centos虚拟机
virsh autostart centos 设置centos自动启动
virsh undefine centos 删除centos虚拟机
virsh suspend centos 暂停centos虚拟机
vrish resume centos 恢复centos虚拟机
virsh reboot centos 重启centos虚拟机
virsh edit centos 编辑centos虚拟机
virsh vncdisplay centos 显示, 查看vnc 端口
virsh dumpxml centos 查看 xml 配置

 

#现在可以尝试使用vnc远程连接win10虚拟环境
IP:端口
192.168.1.23:5902

推荐阅读