1. 程式人生 > >openstack使用linux bridge實現flat network

openstack使用linux bridge實現flat network


版本資訊

openstack版本 pike
控制節點主機 openstack-controller(ubuntu 16.04.5) 172.27.34.37
計算節點主機 openstack-computer(ubuntu 16.04.5) 172.27.34.38
映象 cirros-0.3.3-x86_64-disk.img
宿主機環境
esxi 6.5.0


ubuntu安裝詳見:Ubuntu16.04.5 lvm方式安裝

openstack安裝詳見:Ubuntu16.04.5下DevStack方式搭建p版OpenStack


目標:cirros01和cirros02互通。網路拓撲如下:

圖片.png



一、製作映象

上傳介質cirros-0.3.3-x86_64-disk.img至/tmp目錄,製作映象:

[email protected]:~# su - [email protected]:~$ source devstack/openrc admin admin
[email protected]:~$ glance image-create --name cirros-cli --file /tmp/cirros-0.3.3-x86_64-disk.img --disk-format qcow2 --container-format bare --progress

圖片.png

檢視新建的image:

圖片.png

圖片.png


二、在ML2中配置flat network
1.Neutron預設使用ML2作為core plugin,控制節點和計算節點分別編輯ML2的配置檔案/etc/neutron/plugins/ml2/ml2_conf.ini

tenant_network_types = flat
mechanism_drivers = linuxbridge
type_drivers = local,flat,vlan,gre,vxlan,geneve
flat_networks = default
physical_interface_mappings = default:ens192

如果要配置兩個flat network,可以做如下設定

flat_networks = default,flat02
physical_interface_mappings = default:ens192,flat02:ens224


2.重啟neutron服務

[email protected]:~$ sudo systemctl restart [email protected]*



三、建立flat network

建立flat-network01

圖片.png

建立flatnetwork01

圖片.png

物理網路為default,與ml2_conf.ini中的引數flat_networks保持一致。

圖片.png

子網為172.16.2.0/24

圖片.png

地址段為172.16.2.50~172.16.2.100

圖片.png

建立完成

圖片.png



四、建立instance

1.檢視例項型別

[email protected]:~$ nova flavor-list

圖片.png

本文選擇m1.tiny


2.檢視主機名和zone

[email protected]:~$ nova service-list

圖片.png


3.新建cirros01

啟動cirros01,節點為openstack-controller,網路為flatnetwork01

[email protected]:~$ nova boot --flavor m1.tiny --image cirros-cli  --availability-zone nova:openstack-controller --nic net-name=flatnetwork01 cirros01

圖片.png


4.新建cirros02

啟動cirros02,節點為openstack-computer,網路為flatnetwork01

[email protected]:~$ nova boot --flavor m1.tiny --image cirros-cli  --availability-zone nova:openstack-computer --nic net-name=flatnetwork01 cirros02

圖片.png


5.控制檯檢視新建例項

圖片.png


6.檢視虛擬網絡卡

控制節點:

[email protected]:~# brctl show

圖片.png

計算節點:

圖片.png

控制面板檢視埠資訊

圖片.png

可以看到Linux bridge01 brq9a198413-3b包含的虛擬網絡卡為cirros01的tap7d88a7f4-a7和cirros02的tap79e963af-dd。


五、測試

分別登陸cirros01、cirros02互ping

1.開啟宿主機網絡卡混雜模式

由於是在esxi虛擬機器上做的測試,網絡卡需開啟混雜模式

圖片.png

圖片.png預設不支援混雜模式

圖片.png

編輯網絡卡資訊

圖片.png

開啟混著模式


2.cirros01

圖片.png

獲取的ip為172.16.2.63

圖片.png

ping cirros02通的。


3.cirros02

圖片.png

獲取的ip為172.16.2.56

圖片.png

ping cirros01通的。


另外,由於虛擬機器網絡卡開啟了混雜模式,當新建同一網段的flat網路flatnetwork02並和flatnetwork01同一網段時,即都是172.16.2.0/24,則flatnetwork01和flatnetwork02下的vm能互通,若flatnetwork02的subnet與flatnetwork01不同,比如為172.16.3.0/24,則兩個網路下的vm例項不同。




測試結果符合預期。