前几篇文章介绍了有关KVM安装虚拟机以及如何给虚拟机添加硬盘,今天我们再来介绍下有关如何给KVM虚拟机添加网卡。

给KVM虚拟机添加网卡,可以分为两种形式:图形界面的和virsh attach-interface命令的。

图形界面的很简单,现在已虚拟机centos2为例:如下图操作:

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_运维

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_kvm 虚拟机 连接 物理机_02

注意该图中的MAC地址

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_kvm 虚拟机 连接 物理机_03

more /etc/udev/rules.d/70-persistent-net.rules

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_运维_04

现在上图,我们可以看到新增加的网卡,在系统中显示的是eth1,并且MAC地址为52:54:00:c7:3b:42。

以上是通过图形界面为KVM虚拟机添加网卡,如果是windows系统虚拟机的话,我们现在就可以直接使用网卡,然后给网卡一个IP地址即可使用。如果是linux系统的话,还需要进行其他操作才能使用网卡。具体的操作,详见下面有关命令行下添加网卡。

现在我们开始通过virsh attach-interface命令来添加网卡,先以虚拟机为windows 系统为例,注意此时虚拟机为正常运行状态下。使用如下命令,为虚拟机Server008添加网卡:

virsh attach-interface server2008 –type bridge –source br0

其中server2008为要添加网卡的虚拟机,–type为要添加网卡的类型,–source为使用KVM服务器的那个网卡。

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_kvm 虚拟机 连接 物理机_05

使用virsh dumpxml命令可以查看虚拟机Server2008已经存在和新添加的网卡机器MAC地址,如下:

virsh dumpxml server2008

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_配置文件_06

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_配置文件_07

注意上图中黄色部分标记出来的是原来虚拟机已经存在的网卡,红色部分比较出来的是新添加的网卡。

现在我们启动虚拟机server2008,看看实际的情况。

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_配置文件_08

通过上图我们可以很明显的看到,新增加的网卡在系统中的显示为“本地连接2”。

注意通过virsh attach-interface命令增加的网卡时及时生效的,但是在虚拟机重启后新增加的网卡会消失。

那是因为该命令新增加的网卡,没有更新到虚拟机的配置文件中。要使该网卡永久生效,我们可以使用virsh dumpxml命令把该配置保存到虚拟机配置文件中。如下:

virsh dumpxml server2008 >server2008.xml

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_kvm 虚拟机 连接 物理机_09

使用virsh domiflist命令可以查看虚拟机目前拥有的网卡,如下:

virsh domiflist server2008

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_kvm 虚拟机 连接 物理机_10

也可以通过查看配置文件,如下:

more /etc/libvirt/qemu/server2008.xml|grep mac

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_kvm 虚拟机 连接 物理机_11

以上是为windows系统虚拟机增加网卡。为linux系统增加网卡和这个操作差不多,就是在新增加完毕后,还要进行其他操作网卡才能正常使用。

继续使用virsh attach-interface命令。如下:

virsh attach-interface centos –type bridge –source br0

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_kvm 虚拟机 连接 物理机_12

我们先来查看为新加网卡之前,centos虚拟机的网卡个数,使用如下命令:more /etc/udev/rules.d/70-persistent-net.rules

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_操作系统_13

增加网卡之后的centos虚拟机的网卡个数,使用如下命令:

more /etc/udev/rules.d/70-persistent-net.rules

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_kvm 虚拟机 连接 物理机_14

通过上图我们可以很明显的看到,现在系统中行增加了一块网卡eth3。

现在我们开始设置网卡eth3使之在系统中可以使用,我们先把网卡eth0的配置文件复制一份并命令为eth3,如下:

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth3

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_centos_15

接下来我们开始配置网卡eth3,其中网卡eth3的MAC地址,我们可以在70-persistent-net.rules文件中查看,如下图:

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_配置文件_16

网卡eth3配置完毕后,重启网络服务,使网卡生效。如下图:

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_运维_17

以上就是有关如何为KVM虚拟机添加网卡的相关配置,当然最后我们别忘记把以上的操作写到虚拟机的配置文件中,使用如下命令:

virsh dumpxml centos>centos.xml

kvm 虚拟机 连接 物理机 kvm虚拟机添加网卡_配置文件_18