KVM 网络管理

1、Linux 网桥实现

# 创建网桥
[root@kvm ~]# nmcli con add type bridge con-name br0 ifname br0
[root@kvm ~]# nmcli connection modify br0 ipv4.addresses 192.168.1.100/24 ipv4.method manual
[root@kvm ~]# nmcli con up br0

# 加入物理网卡
[root@kvm ~]# nmcli con add type bridge-slave con-name br0-port0 ifname eth0 master br0
[root@kvm ~]# nmcli con add type bridge-slave con-name br0-port1 ifname eth1 master br0
[root@kvm ~]# nmcli con up br0-port0
[root@kvm ~]# nmcli con up br0-port1

# 查看网桥配置文件
[root@kvm ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
STP=yes
BRIDGING_OPTS=priority=32768
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
UUID=d1bbe470-419f-46d5-9ccb-ae8250dc6714
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.1.11
PREFIX=24
[root@kvm ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0-port0
TYPE=Ethernet
NAME=br0-port0
UUID=9430ce8c-f08b-41c3-8e34-bb8778cd755d
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
[root@kvm ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0-port1
TYPE=Ethernet
NAME=br0-port1
UUID=fef195b7-90a4-4745-842e-f51d29753832
DEVICE=eth1
ONBOOT=yes
BRIDGE=br0

# 安装管理软件包,注意:CentOS8取消了此包
[root@kvm ~]# yum install -y bridge-utils

# 查看网桥
[root@kvm ~]# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.000c2933e325	yes		eth0
							eth1
virbr0		8000.52540064e9a8	yes		virbr0-nic
							vnet0
							vnet1
[root@kvm ~]# ip link show master br0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:33:e3:25 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:33:e3:2f brd ff:ff:ff:ff:ff:ff

[root@kvm ~]# bridge link show
2: eth0 state UP : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state blocking priority 32 cost 100
3: eth1 state UP : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
6: virbr0-nic state DOWN : <BROADCAST,MULTICAST> mtu 1500 master virbr0 state disabled priority 32 cost 100
7: vnet0 state UNKNOWN : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master virbr0 state forwarding priority 32 cost 100
8: vnet1 state UNKNOWN : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master virbr0 state forwarding priority 32 cost 100

# 删除br0
[root@kvm ~]# nmcli con down br0
[root@kvm ~]# rm /etc/sysconfig/network-scripts/ifcfg-br0*
[root@kvm ~]# nmcli con reload

2、qemu-kvm支持的网络

虚拟机的网络模式

  • 基于NAT ( Network Addresss Translation)的虚拟网络,此为virt-install的默认模式
  • 基于自定义网桥(Bridge )的虚拟网络
  • 用户自定义的隔离的虚拟网络
  • 直接分配物理网络设备(包括VT-d和SR-IOV),性能最好

虚拟机的网卡设备

  • RTL8139、e1000、….
  • virtio 生产建议使用

查看qemu-kvm支持的网卡型号

[root@kvm ~]# /usr/libexec/qemu-kvm -net nic,model=?
qemu: Supported NIC models: ne2k_pci,i82551,i82557b,i82559er,rtl8139,e1000,pcnet,virtio

3、默认的网络配置NAT模式

3.1、默认网络连接的架构图

默认虚拟机网络配置为NAT模式,相当于vmware的NAT模式的Vmnet8

图片[1]-KVM 网络管理-李佳程的个人主页

3.2、宿主机默认网络相关服务和信息

默认宿主机安装dnsmasq包提供DHCP服务

[root@kvm ~]# rpm -q dnsmasq
dnsmasq-2.76-17.el7_9.3.x86_64

[root@kvm ~]# cat /var/lib/libvirt/dnsmasq/default.conf
##WARNING:  THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
##OVERWRITTEN AND LOST.  Changes to this configuration should be made using:
##    virsh net-edit default
## or other application using the libvirt API.
##
## dnsmasq conf file created by libvirt
strict-order
pid-file=/var/run/libvirt/network/default.pid
except-interface=lo
bind-dynamic
interface=virbr0
dhcp-range=192.168.122.2,192.168.122.254
dhcp-no-override
dhcp-authoritative
dhcp-lease-max=253
dhcp-hostsfile=/var/lib/libvirt/dnsmasq/default.hostsfile
addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts

查看宿主机的网桥信息

[root@kvm ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     Win2008                        running
 2     centos7-vm1                    running

[root@kvm ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
    link/ether 00:0c:29:33:e3:25 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
    link/ether 00:0c:29:33:e3:2f brd ff:ff:ff:ff:ff:ff
5: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:64:e9:a8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
6: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:64:e9:a8 brd ff:ff:ff:ff:ff:ff
7: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:98:9e:a2 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fe98:9ea2/64 scope link
       valid_lft forever preferred_lft forever
8: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:85:1a:5c brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fe85:1a5c/64 scope link
       valid_lft forever preferred_lft forever
9: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:0c:29:33:e3:25 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.11/24 brd 192.168.1.255 scope global noprefixroute br0
       valid_lft forever preferred_lft forever
    inet6 fe80::6c7d:9d35:fbe4:45f3/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
# 查看virbr0网络的情况
[root@kvm ~]# ip link show master virbr0
6: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:64:e9:a8 brd ff:ff:ff:ff:ff:ff
7: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether fe:54:00:98:9e:a2 brd ff:ff:ff:ff:ff:ff
8: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether fe:54:00:85:1a:5c brd ff:ff:ff:ff:ff:ff

# 查看所有桥接网卡信息及对应网桥
[root@kvm ~]# bridge link show
2: eth0 state UP : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
3: eth1 state UP : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state blocking priority 32 cost 100
6: virbr0-nic state DOWN : <BROADCAST,MULTICAST> mtu 1500 master virbr0 state disabled priority 32 cost 100
7: vnet0 state UNKNOWN : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master virbr0 state forwarding priority 32 cost 100
8: vnet1 state UNKNOWN : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master virbr0 state forwarding priority 32 cost 100

[root@kvm ~]# nmtui
图片[2]-KVM 网络管理-李佳程的个人主页
图片[3]-KVM 网络管理-李佳程的个人主页
图片[4]-KVM 网络管理-李佳程的个人主页

export DISPLAY=192.168.1.1:0.0
virt-manager
图片[5]-KVM 网络管理-李佳程的个人主页
图片[6]-KVM 网络管理-李佳程的个人主页
图片[7]-KVM 网络管理-李佳程的个人主页

[root@kvm ~]# virsh net-list
 Name                 State      Autostart     Persistent
----------------------------------------------------------
 default              active     yes           yes

[root@kvm ~]# cat /etc/libvirt/qemu/networks/default.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh net-edit default
or other application using the libvirt API.
-->

<network>
  <name>default</name>
  <uuid>f8456f2f-628e-4593-8a0e-e41eaeba6449</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:64:e9:a8'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

[root@kvm ~]# virsh net-dumpxml default
<network connections='1'>
  <name>default</name>
  <uuid>f8456f2f-628e-4593-8a0e-e41eaeba6449</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:64:e9:a8'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

# 查看NAT策略实现从虚拟机可以访问外部网络,反之不通,此策略由libvirtd服务启动时自动加载到NAT表
[root@kvm ~]# iptables -vnL -t nat
Chain PREROUTING (policy ACCEPT 99 packets, 13167 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT (policy ACCEPT 26 packets, 2632 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 40 packets, 3358 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 40 packets, 3358 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 RETURN     all  --  *      *       192.168.122.0/24     224.0.0.0/24
    0     0 RETURN     all  --  *      *       192.168.122.0/24     255.255.255.255
    1    52 MASQUERADE  tcp  --  *      *       192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
    0     0 MASQUERADE  udp  --  *      *       192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
    0     0 MASQUERADE  all  --  *      *       192.168.122.0/24    !192.168.122.0/24

3.3、虚拟机网卡默认设置

图片[8]-KVM 网络管理-李佳程的个人主页
图片[9]-KVM 网络管理-李佳程的个人主页
图片[10]-KVM 网络管理-李佳程的个人主页
[root@kvm ~]# virsh dumpxml centos7-vm1 | sed -n '/interface/,/interface/p'
    <interface type='network'>
      <mac address='52:54:00:85:1a:5c'/>
      <source network='default' bridge='virbr0'/>
      <target dev='vnet1'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

3.4、virsh 查看虚拟机网络配置

# 查看虚拟机的网卡配置
[root@kvm ~]# virsh domiflist centos7-vm1
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet1      network    default    virtio      52:54:00:85:1a:5c

# 查看虚拟机的网卡地址信息
[root@kvm ~]# virsh domifaddr centos7-vm1
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
 vnet1      52:54:00:85:1a:5c    ipv4         192.168.122.119/24

[root@kvm ~]# virsh domifstat centos7-vm1 vnet1
vnet1 rx_bytes 71757
vnet1 rx_packets 1204
vnet1 rx_errs 0
vnet1 rx_drop 0
vnet1 tx_bytes 2438
vnet1 tx_packets 22
vnet1 tx_errs 0
vnet1 tx_drop 0

4、配置虚拟机网卡桥接到宿主机的物理网卡

相当于vmware的桥接模式的Vmnet0

图片[11]-KVM 网络管理-李佳程的个人主页
图片[12]-KVM 网络管理-李佳程的个人主页
[root@kvm iso]# virsh domiflist centos7
Interface  Type       Source     Model       MAC
-------------------------------------------------------
macvtap0   direct     eth1       virtio      52:54:00:10:d2:ae

[root@kvm iso]# virsh domifaddr centos7
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
[root@kvm iso]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:33:e3:25 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.11/24 brd 192.168.1.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe33:e325/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:33:e3:2f brd ff:ff:ff:ff:ff:ff
    inet 192.168.124.134/24 brd 192.168.124.255 scope global noprefixroute dynamic eth1
       valid_lft 81288sec preferred_lft 81288sec
    inet6 fe80::b381:b5ef:1406:cd7c/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:eb:09:f9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:eb:09:f9 brd ff:ff:ff:ff:ff:ff
8: macvtap0@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 500
    link/ether 52:54:00:10:d2:ae brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5054:ff:fe10:d2ae/64 scope link
       valid_lft forever preferred_lft forever

5、基于自定义网桥的虚拟网络

5.1、自定义网桥架构

桥接网络可以让运行在宿主机上的虚拟机使用和宿主机相同网段的IP,并且可以从外部直接访问到虚拟机,目前企业中大部分场景都使用桥接网络。

图片[13]-KVM 网络管理-李佳程的个人主页

5.2、在宿主机创建网桥

[root@kvm network-scripts]# pwd
/etc/sysconfig/network-scripts

# 创建网桥配置文件
[root@kvm network-scripts]# cat ifcfg-virbr1
TYPE=Bridge
NAME=virbr1
DEVICE=virbr1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.124.55
NETMASK=255.255.255.0
GATEWAY=192.168.124.1
DNS1=192.168.124.1

# 将物理网卡eth1加入网桥
[root@kvm network-scripts]# cat ifcfg-eth1
TYPE=Ethernet
NAME=eth1
DEVICE=eth1
ONBOOT=yes
BRIDGE=virbr1

[root@kvm network-scripts]# nmcli connection up eth1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/12)
[root@kvm network-scripts]# nmcli connection up virbr1
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/13)
[root@kvm network-scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:33:e3:25 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.11/24 brd 192.168.1.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe33:e325/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr1 state UP group default qlen 1000
    link/ether 00:0c:29:33:e3:2f brd ff:ff:ff:ff:ff:ff
4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:eb:09:f9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:eb:09:f9 brd ff:ff:ff:ff:ff:ff
9: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:10:d2:ae brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fe10:d2ae/64 scope link
       valid_lft forever preferred_lft forever
10: virbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:0c:29:33:e3:2f brd ff:ff:ff:ff:ff:ff
    inet 192.168.124.55/24 brd 192.168.124.255 scope global noprefixroute virbr1
       valid_lft forever preferred_lft forever

[root@kvm network-scripts]# bridge link show
3: eth1 state UP : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master virbr1 state forwarding priority 32 cost 100
5: virbr0-nic state DOWN : <BROADCAST,MULTICAST> mtu 1500 master virbr0 state disabled priority 32 cost 100
9: vnet0 state UNKNOWN : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master virbr0 state forwarding priority 32 cost 100

[root@kvm network-scripts]# ip link show master virbr1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr1 state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:33:e3:2f brd ff:ff:ff:ff:ff:ff
# Ubuntu 创建桥接网卡
network:
 version: 2
 renderer: networkd
 ethernets:
   eth0:
     dhcp4: no
     dhcp6: no
   bridges:
     br0:
     dhcp4: no
     dhcp6: no
     addresses: [192.168.124.55/24]
     gateway4: 192.168.124.1
     nameservers:
       addresses: [192.168.124.1]
     interfaces:
       - eth0

5.3、基于现有虚拟机镜像批量创建新虚拟机

将前面生成的虚拟机做为模版,生成新的虚拟机

注意:先在前面的模版虚拟机修改配置,如:关闭firewalld和SELinux,禁用NetworkManager(CentOS 7)等,安装常用包等;

[root@kvm network-scripts]# cd /var/lib/libvirt/images/

[root@kvm images]# ll
total 1693252
-rw-r--r-- 1 qemu qemu 1733885952 Dec 18 08:46 centos7.qcow2

[root@kvm images]# cp centos7.qcow2 centos7-2.qcow2

[root@kvm images]# ll
total 3386500
-rw-r--r-- 1 root root 1733885952 Dec 18 08:47 centos7-2.qcow2
-rw-r--r-- 1 qemu qemu 1733885952 Dec 18 08:47 centos7.qcow2

[root@kvm images]# virt-install --virt-type kvm --name centos7-2 --ram 2048 --vcpus 2 --disk bus=virtio,path=/var/lib/libvirt/images/centos7-2.qcow2 --network bridge=virbr1,model=virtio --graphics vnc,listen=0.0.0.0 --noautoconsole --autostart --boot hd
WARNING  No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results.

Starting install...
Domain creation completed.
图片[14]-KVM 网络管理-李佳程的个人主页
图片[15]-KVM 网络管理-李佳程的个人主页
[root@kvm images]# ll
total 5483652
-rw-r--r-- 1 qemu qemu 1736310784 Dec 18 08:49 centos7-2.qcow2
-rw-r--r-- 1 qemu qemu 1733885952 Dec 18 08:49 centos7.qcow2
[root@kvm images]# virsh list
 Id    Name                           State
----------------------------------------------------
 7     centos7                        running
 8     centos7-2                      running

[root@kvm images]# virsh shutdown centos7
Domain centos7 is being shutdown

[root@kvm images]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 8     centos7-2                      running
 -     centos7                        shut off

# 开启的虚拟机磁盘文件所有者为qemu,关闭后为root
[root@kvm images]# ll
total 5483652
-rw-r--r-- 1 qemu qemu 1736310784 Dec 18 08:49 centos7-2.qcow2
-rw-r--r-- 1 root root 1733885952 Dec 18 08:49 centos7.qcow2

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享