OpenStack實踐(二):Linux Bridge方式實現Local Network

版本信息
linux

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



ubuntu安裝詳見Ubuntu16.04.5以lvm方式安裝全記錄ubuntu

openstack安裝詳見OpenStack實踐(一):Ubuntu16.04下DevStack方式搭建p版OpenStackbash


local網絡網絡

local網絡與其餘網絡和節點隔離。不會與宿主機的任何物理網卡相連,也不關聯任何的 VLAN ID,local網絡中的instance只能與位於同一節點上同一網絡的instance通訊,local網絡主要用於單機測試。ide


目標:cirros01和cirros02互通,cirros03與cirros0一、cirros02不通,三個虛擬機都與宿主機不通。網絡拓撲以下:測試

圖片.png


1、製做鏡像
.net

上傳介質cirros-0.3.3-x86_64-disk.img至/tmp目錄,鏡像下載地址:http://download.cirros-cloud.net/
rest

製做鏡像:orm

root@openstack-controller:~# su - stack
stack@openstack-controller:~$ source devstack/openrc admin admin
stack@openstack-controller:~$ 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:blog

圖片.png

圖片.png



2、在ML2中配置local network
1.Neutron默認使用ML2做爲core plugin,控制節點和計算節點分別編輯ML2的配置文件/etc/neutron/plugins/ml2/ml2_conf.ini

tenant_network_types = local 
mechanism_drivers = linuxbridge
type_drivers = local,flat,vlan,gre,vxlan,geneve

2.重啓neutron服務

stack@openstack-controller:~$ sudo systemctl restart devstack@q*


3、建立local network

1.建立local-network01

圖片.png


圖片.png

下一步,配置子網

圖片.png

子網爲172.16.1.0/24

圖片.png

子網網段爲172.16.1.2至172.16.1.50

圖片.png

2.建立localnetwork02

localnetwork01建立完成,同理建立localnetwork02,網段爲172.16.1.51至172.16.1.100

圖片.png



4、建立instance

由於DHCP agent在控制節點上運行,local網絡的流量只能侷限在本節點以內,故計算節點部署的instance發送的DHCP請求沒法到達控制節點,沒法獲取到ip地址。

本文的instance都位於控制節點

1.查看實例類型

stack@openstack-controller:~$ nova flavor-list

圖片.png

本文選擇m1.tiny


2.查看主機名和zone

stack@openstack-controller:~$ nova service-list

圖片.png


3.指定控制節點啓動虛擬機cirros01和cirros02,網絡爲localnetwork01

stack@openstack-controller:~$ nova boot --flavor m1.tiny --image cirros-cli  --availability-zone nova:openstack-controller --nic net-name=localnetwork01 cirros01

圖片.png

stack@openstack-controller:~$ nova boot --flavor m1.tiny --image 
cirros-cli  --availability-zone nova:openstack-controller --nic 
net-name=localnetwork01 cirros02

圖片.png


4.新建虛擬機cirros03,網絡爲localnetwork02

stack@openstack-controller:~$ nova boot --flavor m1.tiny --image cirros-cli  --availability-zone nova:openstack-controller --nic net-name=localnetwork02 cirros03

圖片.png


5.控制檯查看新建實例

圖片.png


6.查看虛擬網卡

命令查看tap

root@openstack-controller:~# brctl show

圖片.png

控制面板查看

圖片.png

圖片.png

能夠看到Linux bridge01 brq91c5618d-18包含的虛擬網卡爲tap08d6746a-10和tap4909a73b-da,Linux bridge02 brq7bd9076e-84包含的虛擬網卡爲tap3efd4160-79。


5、測試

分別登錄cirros0一、cirros0二、cirros03,互ping和ping宿主機

1.cirros01

圖片.png

獲取的ip爲172.16.1.19

圖片.png

ping cirros02通的,ping cirros03和宿主機不通。


2.cirros02

圖片.png

獲取的ip爲172.16.1.12

圖片.png

ping cirros01通的,ping cirros03和宿主機不通。


3.cirros03

圖片.png

獲取的ip爲172.16.1.52

圖片.png

ping cirros0一、cirros02和宿主機都不通。


測試結果符合預期

相關文章
相關標籤/搜索