Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

3.7. 虚拟网络接口卡

虚拟网络接口卡是基于主机物理网络接口卡的虚拟网络接口。每个主机可以有多个网络接口卡,每个网卡可以是多个虚拟网络接口卡的基础。
当您将虚拟网卡附加到虚拟机时,Red Hat Virtualization Manager 会在要附加虚拟网络接口卡的虚拟机之间创建多个关联、虚拟网络接口卡本身、虚拟网络接口卡本身,以及虚拟网络接口卡所基于的物理主机网卡。特别是,当将虚拟网络接口卡附加到虚拟机时,会在基于虚拟网络接口卡的物理主机网络接口卡上创建一个新的虚拟网络接口卡和 MAC 地址。然后,虚拟机在附加了虚拟网络接口卡后第一次启动时,libvirt 会为虚拟网络接口卡分配 PCI 地址。然后,使用 MAC 地址和 PCI 地址来获取虚拟机中的虚拟网络接口卡(如 eth0)的名称。
分配 MAC 地址并将这些 MAC 地址与 PCI 地址相关联的过程在基于模板或快照创建虚拟机时略有不同。为模板或快照创建 PCI 地址后,根据按照该模板或快照创建的虚拟机上的虚拟网络接口卡按照该顺序分配的 PCI 地址和 MAC 地址排序。如果还没有为模板创建 PCI 地址,则基于该模板创建的虚拟机上的虚拟网络接口卡按照虚拟网络接口卡的命名顺序分配。如果尚未为快照创建 PCI 地址,Red Hat Virtualization Manager 会为基于该快照的虚拟机上的虚拟网络接口卡分配新的 MAC 地址。
创建后,虚拟网络接口卡将添加到网桥设备中。网桥设备是虚拟机如何连接到虚拟机逻辑网络。
在虚拟化主机上运行 ip addr show 命令可显示与该主机上虚拟机关联的所有虚拟网络接口卡。也可查看为支持逻辑网络创建的任何网桥,以及主机使用的任何网络接口卡。
[root@rhev-host-01 ~]# ip addr show 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    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 qlen 1000
    link/ether 00:21:86:a2:85:cd brd ff:ff:ff:ff:ff:ff
    inet6 fe80::221:86ff:fea2:85cd/64 scope link 
       valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 00:21:6b:cc:14:6c brd ff:ff:ff:ff:ff:ff
5: ;vdsmdummy;: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
    link/ether 4a:d5:52:c2:7f:4b brd ff:ff:ff:ff:ff:ff
6: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
7: bond4: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
8: bond1: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
9: bond2: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
10: bond3: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
11: ovirtmgmt: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 00:21:86:a2:85:cd brd ff:ff:ff:ff:ff:ff
    inet 10.64.32.134/23 brd 10.64.33.255 scope global ovirtmgmt
    inet6 fe80::221:86ff:fea2:85cd/64 scope link 
       valid_lft forever preferred_lft forever
命令的控制台输出显示多个设备:一个循环设备(lo)、一个以太网设备(eth0)、一个无线设备(wlan0)、一个 VDSM dummy 设备(;vdsmdummy;)、五个绑定设备(bond0bond4、 bond1、 bond2、 bond3)和一个网桥(ovirtmgmt)。
虚拟网络接口卡是网桥设备和逻辑网络的所有成员。使用 brctl show 命令可以显示网桥成员资格:
[root@rhev-host-01 ~]# brctl show
bridge name	bridge id		STP enabled	interfaces
ovirtmgmt		8000.e41f13b7fdd4	no		vnet002
							vnet001
							vnet000
							eth0
brctl show 命令的控制台输出显示 virtio 虚拟网络接口卡是 ovirtmgmt 网桥的成员。虚拟网络接口卡关联的所有虚拟机都连接到 ovirtmgmt 逻辑网络。eth0 网络接口卡也是 ovirtmgmt 网桥的成员。eth0 设备将电缆连接到提供主机外连接的交换机。