烂泥:为KVM虚拟机添加网卡
前几篇文章介绍了有关KVM安装虚拟机以及如何给虚拟机添加硬盘,今天我们再来介绍下有关如何给KVM虚拟机添加网卡。
给KVM虚拟机添加网卡,可以分为两种形式:图形界面的和virsh attach-interface命令的。
图形界面的很简单,现在已虚拟机centos2为例:如下图操作:
注意该图中的MAC地址
more /etc/udev/rules.d/70-persistent-net.rules
现在上图,我们可以看到新增加的网卡,在系统中显示的是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服务器的那个网卡。
使用virsh dumpxml命令可以查看虚拟机Server2008已经存在和新添加的网卡机器MAC地址,如下:
virsh dumpxml server2008
注意上图中黄色部分标记出来的是原来虚拟机已经存在的网卡,红色部分比较出来的是新添加的网卡。
现在我们启动虚拟机server2008,看看实际的情况。
通过上图我们可以很明显的看到,新增加的网卡在系统中的显示为“本地连接2”。
注意通过virsh attach-interface命令增加的网卡时及时生效的,但是在虚拟机重启后新增加的网卡会消失。
那是因为该命令新增加的网卡,没有更新到虚拟机的配置文件中。要使该网卡永久生效,我们可以使用virsh dumpxml命令把该配置保存到虚拟机配置文件中。如下:
virsh dumpxml server2008 >server2008.xml
使用virsh domiflist命令可以查看虚拟机目前拥有的网卡,如下:
virsh domiflist server2008
也可以通过查看配置文件,如下:
more /etc/libvirt/qemu/server2008.xml|grep mac
以上是为windows系统虚拟机增加网卡。为linux系统增加网卡和这个操作差不多,就是在新增加完毕后,还要进行其他操作网卡才能正常使用。
继续使用virsh attach-interface命令。如下:
virsh attach-interface centos --type bridge --source br0
我们先来查看为新加网卡之前,centos虚拟机的网卡个数,使用如下命令:more /etc/udev/rules.d/70-persistent-net.rules
增加网卡之后的centos虚拟机的网卡个数,使用如下命令:
more /etc/udev/rules.d/70-persistent-net.rules
通过上图我们可以很明显的看到,现在系统中行增加了一块网卡eth3。
现在我们开始设置网卡eth3使之在系统中可以使用,我们先把网卡eth0的配置文件复制一份并命令为eth3,如下:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth3
接下来我们开始配置网卡eth3,其中网卡eth3的MAC地址,我们可以在70-persistent-net.rules文件中查看,如下图:
网卡eth3配置完毕后,重启网络服务,使网卡生效。如下图:
以上就是有关如何为KVM虚拟机添加网卡的相关配置,当然最后我们别忘记把以上的操作写到虚拟机的配置文件中,使用如下命令:
virsh dumpxml centos>centos.xml