环境
CentOS Linux release 7.7.1908 (Core)
ip : 10.0.0.41

1、虚拟机的配置

kvm win7 kvmwin7网络连接_重启


2、检查CPU是否支持虚拟化

[root@c7 ~]# egrep -o '(vmx|svm)' /proc/cpuinfo
vmx
vmx
[root@c7 ~]# dmesg |grep kvm

3、安装kvm用户动态模块(libvirt用来管理kvm)

[root@c7 ~]# yum install qemu-kvm qemu-kvm-tools libvirt -y

4、启动livirt

[root@c7 ~]# systemctl start libvirtd.service
[root@c7 ~]# systemctl enable libvirtd.service

5、启动之后我们可以使用ifconfig进行查看,libvirtd已经为我们安装了一个桥接网卡

kvm win7 kvmwin7网络连接_linux_02


6、创建虚拟机

(1).准备虚拟机硬盘

(2).需要系统iso镜像

(3).需要安装一个vnc的客户端来连接

7、上传镜像

[root@c7 opt]# ls
CentOS-7-x86_64-Minimal-1810.iso

若rz上传不上去可用以下命令,
使用dd命令,复制系统的镜像。只需要挂载上光盘即可。

[root@c7 opt]# dd if=/dev/cdrom of=/opt/CentOS-7-x86_64-Minimal-1810.iso

8、创建磁盘 (qemu-img软件包是我们安装qemu-kvm-tools 依赖给安装上的)

[root@c7 opt]# qemu-img create -f qcow2 /opt/c73.qcow2 6G

qcow2为磁盘格式,
/c73 为自定义磁盘名
6G为磁盘的大小
ll命令可查看到新建的磁盘

[root@c7 opt]# ll
total 940228
-rw-r--r-- 1 root root    197120 May 17 16:13 c73.qcow2
-rw-r--r-- 1 root root 962592768 May 13 13:49 CentOS-7-x86_64-Minimal-1810.iso

9、安装虚拟机

[root@c7 opt]# yum -y install virt-install
[root@c7 opt]# virt-install --virt-type=kvm --name=c73 --vcpus=1 -r 1024 --cdrom=/opt/CentOS-7-x86_64-Minimal-1810.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7 --disk path=/opt/c73.qcow2,size=6,format=qcow2

成功创建如下:

[root@c7 opt]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     c73                            running

查看端口5900是否存在

[root@c7 opt]# netstat -lntup|grep 5900
tcp        0      0 0.0.0.0:5900            0.0.0.0:* LISTEN      12125/qemu-kvm

10、然后用vnc连接虚出来的机器,机器的ip是自己机子的ip加上5900端口

kvm win7 kvmwin7网络连接_重启_03


进入之后进行安装虚拟机的正常操作

kvm win7 kvmwin7网络连接_linux_04


到此为止kvm创建虚拟机就成功了,如果中途出现错误,很有可能是yum安装的相关插件,服务,软件,没装上,把yum命令都执行一遍做排除!!!

virsh相关管理命令 !!!!

列出所有的虚拟机 virsh list --all
显示虚拟机信息 virsh dominfo c73
列出ID为6的虚拟机名 virsh domname 6
显示虚拟机内存和cpu的使用情况 virt-top
关闭虚拟机 virsh shutdown c73
强制关闭虚拟机 virsh destroy c73
启动虚拟机 virsh start c73
设置虚拟机随系统自启 virsh autostart c73
关闭虚拟机随系统自启 virsh autostart --disable c73
删除虚拟机 virsh undefine c73
通过控制窗口登录虚拟机 virsh console c73
挂起$hostname虚拟机 virsh suspend c73
恢复挂起的虚拟机 virsh resume c73
查看网卡配置信息 virsh domiflist c73
查看该虚拟机的磁盘位置 virsh domblklist c73
查看KVM虚拟机当前配置 virsh dumpxml c73

虚拟机安装完成后是关闭了,我们需要启动

[root@c7 opt]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     c73                            shut off

[root@c7 opt]# virsh start c73
Domain c73 started

kvm桥接模式配置

1、先查看虚拟化组件是否生成virbr0桥接设备

[root@c7 opt]# brctl show
bridge name	bridge id		STP enabled	interfaces
virbr0		8000.525400b9a72e	yes		virbr0-nic
							vnet0

在查看物理机的网卡设备

[root@c7 opt]#  ifconfig virbr0
virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:b9:a7:2e  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2、配置桥接设备br0(两种方法,一种临时的,一种永久的,都是在宿主机上操作的!!!)

[root@c7 opt]# yum -y install bridge-utils

(1)手动增加临时生效

临时方法一:临时热添加

virsh iface-bridge ens33 br0(不会造成网路中断)

kvm win7 kvmwin7网络连接_重启_05


临时方法二:会网络断开

[root@c7 opt]# brctl addbr br0
[root@c7 opt]# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.000000000000	no
virbr0		8000.525400b9a72e	yes		virbr0-nic
							vnet0
[root@c7 opt]# brctl  addif br0 ens33

(执行此命令时,会导致xshell与宿主机断开连接)
所以以下命令在宿主机上执行:(删除ens33上面的ip地址,将br0上面添加上固定ip地址)
ip addr del dev ens33 10.0.0.41/24 //删除ens33上的IP地址
ifconfig br0 10.0.0.41/24 up //配置br0的IP地址并启动设备
route add default gw 10.0.0.254 //重新加载默认网关

kvm win7 kvmwin7网络连接_桥接_06


连接xshell查看是否生效

[root@c7 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.254      0.0.0.0         UG    0      0        0 br0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 br0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 ens37
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 ens37
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
[root@c7 ~]# ifconfig br0
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.41  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::20c:29ff:feeb:6b9f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:eb:6b:9f  txqueuelen 1000  (Ethernet)
        RX packets 137  bytes 10055 (9.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 71  bytes 9288 (9.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

(临时配置下次重启时就会失效)

(2)永久生效桥接配置

[root@c7 ~]# cd /etc/sysconfig/network-scripts/
[root@c7 network-scripts]# cp ifcfg-ens33 ifcfg-ens33.bak
[root@c7 network-scripts]# vim ifcfg-ens33
DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=no

编写ifcfg-br0文件

[root@c7 network-scripts]# vim ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.0.0.41
NETMASK=255.255.255.0
GATEWAY=10.0.0.254
NM_CONTROLLED=no

重启网卡

[root@c7 network-scripts]# systemctl restart network

3、VNC连接KVM虚拟机修改网卡配置

我这里为网卡名为eth0,你的是ens33或eth0就修改成对应名称

kvm win7 kvmwin7网络连接_CentOS_07


kvm win7 kvmwin7网络连接_CentOS_08


重启eth0

kvm win7 kvmwin7网络连接_kvm win7_09


4、KVM图形化管理工具(在宿主机上完成接下来步骤才能完成桥接,否则无法ping外网)

查看ssh是否开启x11转发

[root@c7 opt]# grep X11Forwarding /etc/ssh/sshd_config --colour
X11Forwarding yes
#	X11Forwarding no

安装xorg-x11

[root@c7 opt]# yum install -y xorg-x11-font-utils.x86_64 xorg-x11-server-utils.x86_64 xorg-x11-utils.x86_64 xorg-x11-xauth.x86_64 xorg-x11-xinit.x86_64 xorg-x11-drv-ati-firmware

安装libvirt (libvirt是管理虚拟机的API库,不仅支持KVM虚拟机,也可以管理Xen等方案下的虚拟机)

[root@c7 opt]# yum install virt-manager libvirt libvirt-Python python-virtinst libvirt-client virt-viewer qemu-kvm mesa-libglapi  -y

安装virt-manager,x-window。图形化界面

[root@c7 opt]# yum install libXdmcp libXmu libxkbfile xkeyboard-config xorg-x11-xauth xorg-x11-xkb-utils -y

开启libvirt服务

[root@c7 opt]# systemctl start libvirtd.service
[root@c7 opt]# systemctl enable libvirtd.service

5、配置xshell(需要配合xming软件使用)

安装好xming不用管在后台挂起

打开xshell,执行以下步骤:

kvm win7 kvmwin7网络连接_重启_10


kvm win7 kvmwin7网络连接_linux_11


断开xshell会话,重新连接,输入命令:virt-manager,就可以自动弹出kvm管理软件 (前提是你的xming开启了)

kvm win7 kvmwin7网络连接_kvm win7_12


[root@c7 ~]# virt-manager

kvm win7 kvmwin7网络连接_桥接_13


kvm win7 kvmwin7网络连接_linux_14


kvm win7 kvmwin7网络连接_桥接_15


kvm win7 kvmwin7网络连接_kvm win7_16


kvm win7 kvmwin7网络连接_重启_17


kvm win7 kvmwin7网络连接_kvm win7_18


kvm win7 kvmwin7网络连接_桥接_19


kvm win7 kvmwin7网络连接_CentOS_20


用xshell也能连接

kvm win7 kvmwin7网络连接_linux_21


报错问题解决

kvm win7 kvmwin7网络连接_重启_22