本文首發于爛泥行天下。
前幾篇文章介紹了有關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