本文將講述一個問題:kvm guest使用libvirt xml定義如何使用virtual network?
創(chuàng)新互聯(lián)主營墨玉網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app開發(fā),墨玉h5微信小程序定制開發(fā)搭建,墨玉網(wǎng)站營銷推廣歡迎墨玉等地區(qū)企業(yè)咨詢
1)nat, route ,isolated, open類型
在host中定義virtual network會創(chuàng)建一個虛擬的bridge,相當于一個交換機。guest只需要連接到這個交換機上就可以了。
在guest的xml中添加:
# virsh edit vm ...====>net1是已經(jīng)定義好的一個虛擬網(wǎng)絡(luò) ...
上述是最簡單的xml,保存后會自動添加一些必要信息,如mac,pci address, model type等信息。當然也可以手動指定。
2)user(Userspace SLIRP stack),vhost-user,Multicast tunnel, TCP tunnel,UDP unicast tunnel等類型
只能在guest中以interface來引用。如user是qemu提供的非特權(quán)用戶可以使用的類型,可以這樣引用:
(mac,pci地址,model type如果哦不指定,會自動生成)
3)bridge(use an exsiting host linux bridge)
本身存在一個linux bridge,可以定義成網(wǎng)絡(luò)給guest用(不會再創(chuàng)建bridge),也可以直接給guest用。兩種方式本質(zhì)是一樣的。
# virsh net-dumpxml birdge-net# virsh edit vm ... bridge-net ...
直接給guest用( 1)中由libvirt創(chuàng)建的bridge也可以這樣引用 ):
4)macvtap(包括bridge,vepa,private,passthrough四種), hostdev
可以定義一個network作為interface pool, 以network的形式引用,也可以直接引用。同 3),兩種方式本質(zhì)是一樣的。
定義interface pool
direct-macvtap
hostdev-net
guest中直接引用
# virsh edit vm ......
# virsh edit vm ......