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 虚拟设备(;vdsmdummy;
)、5 个绑定设备(bond0
、bond4
、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
设备和交换机连接来提供到主机以外的网络连接。