1. 程式人生 > >【neutron】mitaka版本openstack網路之linux bridge

【neutron】mitaka版本openstack網路之linux bridge

作者:【吳業亮】雲端計算開發工程師
部落格:http://blog.csdn.net/wylfengyujiancheng
一、硬體配置及服務拓撲
1. controller節點:一塊網絡卡
2. 網路節點:四塊網絡卡。
3. 計算節點:三塊網絡卡
這裡寫圖片描述
這裡寫圖片描述
controller節點
1. 執行neutron資料庫和neutron-server
2. 執行訊息佇列服務
3. 執行OpenStack身份與合適的配置服務
4. 執行OpenStack計算nova相關網路,需配置nova.conf檔案。
5. 執行外掛ML2
網路節點
1. Neutron認證相關資訊需配置neutron.conf檔案。
2. Linux橋代理,L3代理,DHCP代理,元資料代理,和一些依賴項。
計算節點
1. 執行OpenStack身份與合適的配置服務 需配置neutron.conf檔案。
2. 執行OpenStack計算nova相關網路,需配置nova.conf檔案。
3. Linux橋代理和一些依賴項。
二、各個節點服務關係及說明
這裡寫圖片描述


這裡寫圖片描述
網路節點網路包含以下元件:
1. Linuxbridge-agent
2. DHCP agent
3. L3 agent
4. Metadata agent
這裡寫圖片描述
這裡寫圖片描述
計算節點網路包含以下元件:
1. Linux-bridge-agent
這裡寫圖片描述
這裡寫圖片描述
三、場景舉例
Note請注意
南北網路:虛擬機器內部資料到外部網路
東西網路:虛擬機器之間通訊
案例1:南北網路、例項對應一個固定的IP地址
這裡寫圖片描述
案例2:南北網路,例項對應一個浮動IP地址
這裡寫圖片描述
案例3:東西網路,例項在不同的網路上
這裡寫圖片描述
案例4:東西網路、例項在同一網路
這裡寫圖片描述
四、安裝配置
(一)controller節點
1、安裝元件

# yum install openstack-neutron openstack-neutron-ml2 \
  openstack-neutron-linuxbridge ebtables

2、配置伺服器元件
編輯 /etc/neutron/neutron.conf檔案,並完成以下動作:
在[資料庫]節中,配置資料庫訪問:

[database]
connection = mysql+pymysql://neutron:[email protected]/neutron

替換 NEUTRON_DBPASS為你自己的密碼
在[預設的]部分

[DEFAULT]
core_plugin = ml2
service_plugins = router allow_overlapping_ips = True

在[預設的]和[oslo_messaging_rabbit]部分,配置RabbitMQ訊息佇列訪問:

[DEFAULT]
rpc_backend = rabbit
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

替換RABBIT_PASS為你自己的密碼
在[預設的]和[keystone_authtoken]部分,配置身份服務訪問:

[DEFAULT]
auth_strategy = keystone
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

替換NEUTRON_PASS為你自己的密碼
Note請注意
註釋掉或刪除任何其他選項 [keystone_authtoken]部分。
在[預設的]和[nova]部分,配置網路通知計算網路拓撲變化:

[DEFAULT]
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
[nova]
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = NOVA_PASS

替換NOVA_PASS為你自己的密碼。
在[oslo_concurrency]節中,配置鎖路徑:

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

3、編輯/etc/neutron/plugins/ml2/ml2_conf.ini檔案
在[ml2]部分,使平、VLAN和VXLAN網路:

[ml2]
type_drivers = flat,vlan,vxlan

在[ml2]部分,使VXLAN自助服務網路:

[ml2]
tenant_network_types = vxlan

在[ml2]部分

[ml2]
mechanism_drivers = linuxbridge,l2population

在[ml2]部分,啟用埠安全

[ml2]
extension_drivers = port_security

在[ml2_type_flat]部分,虛擬網路配置提供者平面網路:

[ml2_type_flat]
flat_networks = provider

在[ml2_type_vxlan]部分,配置VXLAN網路識別符號範圍自助服務網路:

[ml2_type_vxlan]
vni_ranges = 1:1000

在[securitygroup]部分,使ipset提高效率的安全組規則:

[securitygroup]
enable_ipset = True

編輯/etc/nova/nova.conf檔案和執行以下操作:
在[nova]節中,配置訪問引數,使元資料代理,並配置祕密:

[neutron]
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
service_metadata_proxy = True

4、建立連結

ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

5、同步資料庫

su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf   --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

6、重啟nova服務

systemctl restart openstack-nova-api.service

7、啟動neutron服務

# systemctl enable neutron-server.service
# systemctl start neutron-server.service

(二)網路節點
1.安裝軟體包

# yum install openstack-neutron openstack-neutron-ml2 \
  openstack-neutron-linuxbridge ebtables

2.配置元件
編輯/etc/neutron/neutron.conf檔案,並完成以下動作:
在[資料庫]節中,刪除配置資料庫訪問:
在[預設的]部分,使模組化層2)中開啟(名為ML2外掛,路由器的服務,和重疊的IP地址:

[DEFAULT]
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True

在[預設的]和[oslo_messaging_rabbit]部分,配置RabbitMQ訊息佇列訪問:

[DEFAULT]
rpc_backend = rabbit
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

替換RABBIT_PASS為你自己的密碼。
在[預設的]和[keystone_authtoken]部分,配置身份服務訪問:

[DEFAULT]
auth_strategy = keystone
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

替換NEUTRON_PASS為你自己的密碼
Note請注意
註釋掉或刪除任何其他選項 [keystone_authtoken]部分。
在[oslo_concurrency]節中,配置鎖路徑:

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

3、編輯/etc/neutron/plugins/ml2/ml2_conf.ini檔案
在[ml2]部分,使平、VLAN和VXLAN網路:

[ml2]
type_drivers = flat,vlan,vxlan

在[ml2]部分,使VXLAN自助服務網路:

[ml2]
tenant_network_types = vxlan

在[ml2]部分,使Linux橋和2層人口機制:

[ml2]
mechanism_drivers = linuxbridge,l2population

在[ml2]部分,啟用埠安全擴充套件司機:

[ml2]
extension_drivers = port_security

在[ml2_type_flat]部分,虛擬網路配置提供者平面網路:

[ml2_type_flat]
flat_networks = provider

在[ml2_type_vxlan]部分,配置VXLAN網路識別符號範圍自助服務網路:

[ml2_type_vxlan]
vni_ranges = 1:1000

在[securitygroup]部分,使ipset提高效率的安全組規則:

[securitygroup]
enable_ipset = True

6、編輯 /etc/neutron/plugins/ml2/linuxbridge_agent.inii檔案:

[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
[vxlan]
enable_vxlan = True
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = True
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

替換 OVERLAY_INTERFACE_IP_ADDRESS與為網絡卡I

  1. 配置L3代理。編輯 /etc/neutron/l3_agent.ini檔案:
[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge =

Note請注意
的 external_network_bridge選擇故意不包含值。
2. 配置DHCP代理。編輯 /etc/neutron/dhcp_agent.ini檔案:

[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True
  1. 配置元資料代理。編輯 /etc/neutron/metadata_agent.ini檔案:
[DEFAULT]
nova_metadata_ip=controller
metadata_proxy_shared_secret=METADATA_SECRET

替換METADATA_SECRET為合適的值。
4、建立連結

# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

5、啟動服務

# systemctl restart openstack-nova-api.service
# systemctl enable   neutron-linuxbridge-agent.service neutron-dhcp-agent.service \

neutron-metadata-agent.service

# systemctl start  neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
  neutron-metadata-agent.service

(三)計算節點
1.安裝軟體包

# yum install openstack-neutron-linuxbridge ebtables

2.編輯 /etc/neutron/neutron.conf檔案,並完成以下動作:
在 [資料庫]節中,註釋掉 連線選項,因為計算節點不直接訪問資料庫。
在 [預設的]和 [oslo_messaging_rabbit]部分,配置RabbitMQ訊息佇列訪問:

[DEFAULT]
rpc_backend = rabbit
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

替換 RABBIT_PASS你的密碼
在 [預設的]和 [keystone_authtoken]部分,配置身份服務訪問:

[DEFAULT]
auth_strategy = keystone
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS

替換NEUTRON_PASS為你的密碼
Note請注意
註釋掉或刪除任何其他選項 [keystone_authtoken]部分。
在 [oslo_concurrency]節中,配置鎖路徑:

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp

3.編輯 /etc/neutron/plugins/ml2/linuxbridge_agent.ini

[linux_bridge]
physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME
[vxlan]
enable_vxlan = True
local_ip = OVERLAY_INTERFACE_IP_ADDRESS
l2_population = True
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

4、配置nova配置檔案¶
編輯 /etc/nova/nova.conf檔案,並完成以下動作:
在 [neutron]節中,配置訪問引數:

[neutron]
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS

替換 NEUTRON_PASS為自己的密碼
5.啟動服務

# systemctl enable neutron-linuxbridge-agent.service
# systemctl start neutron-linuxbridge-agent.service
# systemctl restart openstack-nova-compute.service

相關推薦

neutronmitaka版本openstack網路linux bridge

作者:【吳業亮】雲端計算開發工程師 部落格:http://blog.csdn.net/wylfengyujiancheng 一、硬體配置及服務拓撲 1. controller節點:一塊網絡卡 2. 網路節點:四塊網絡卡。 3. 計算節點:三塊

novaliberty版本openstack線上調整雲主機大小

有時虛擬機器建立後發現虛擬機器規格太小,滿足不了業務需求。於是需要線上拉伸虛擬機器的規格。 1、用admin使用者登入dashboard,建立滿足需求的虛擬機器規格 2、輸入適當的引數

筆記計算機原理,網路Linux作業系統

一,計算機原理 1,化繁為簡的思想,產生二進位制,產生把所有計算歸結為加法運算   二,網路 1,分層思想,產生ISO七層協議,商用了TCP/IP的五層協議   三,Linux作業系統 1,分層思想,硬體->作業系統->應用軟體 2,Linux一切皆檔案的思想

UnityUnity5版本的AssetBundle打包方案資源打包

using UnityEngine; using System.Collections; using UnityEditor; /// <summary> /// 指令碼位置:Editor

javaitoo項目實戰hibernate 懶載入優化性能

bsp xtra extra pda 程序 前端框架 外連接 獲取 轉換成 在做itoo 3.0 的時候,考評系統想要上線,就開始導入數據了,僅僅導入學生2萬條數據,可是導入的速度特別的慢。這個慢的原因是由於導入的時候進行了過多的IO操作。可是導入成功之後,

javaitoo項目實戰hibernate 批量保存優化

新的 hibernate 缺點 try 實戰 lis 插入 entity man 在itoo中。基本上每一個系統都有一個導入功能,大量的數據填寫進入excel模板中。然後使用導入功能導入的數據庫中,這樣能夠大大的提高工作效率。那麽導入就涉及到了批量保存數據庫的

PythonSelenium元素定位錯誤解決辦法

tor log -m alt src 多個 common nbu invalid 當使用class定位元素時發現報錯: 錯誤信息:selenium.common.exceptions.InvalidSelectorException: Message: Compound

iOSUICollectionView自己定義Layout蜂窩布局

with top http reserve src 布局 step object .com 網上的UICollectionView的Layout布局,其cell的形狀多為矩形和圓形。 本篇博文將正六邊形作為cell的基本形狀,為您展現獨特的蜂窩布局效果及實現源代碼。 幫

轉載CSRF攻擊及其應對

詳細 訪問 選擇 nbsp tel appendto 局限 登陸 mail   在我最開始接觸JavaEE時,我工作的第一個內容就是解決項目中存在的CSRF漏洞,當時的解決方法是在Referer添加token的方法。我對CSRF攻擊的主要認知和解決的大部分思路都來自於這篇文

原創Zend Framework 2框架MVC

spa lov gef rst 當前 mage 匿名函數 skeleton 一個 ZendFramework 2框架之MVC作者:sys(360電商技術組)1.前言Zend Framework 2是zend官方推出的php開源框架,基於php5.3。他全然採用面向對象的代

pythonpython版本升級2.6.6到2.7.3(CentOS release 6.2)

configure pac packages 應該 zxvf 修改 figure oca nbsp 一、 升級python到2.7.3 wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz tar -z

Py西遊攻關基礎數據類型

為我 rest 開頭 浮點型 ssp 之間 href 都是 排序 【轉】Py西遊攻關之基礎數據類型 數據類型 計算機顧名思義就是可以做數學計算的機器,因此,計算機程序理所當然地可以處理各種數值。但是,計算機能處理的遠不止數值,還可以處理文本、圖形、音頻、視頻、網頁等各種各樣

前端CentOS 7 系列教程五: 安裝最新版 nginx 並設置 nginx 代理轉發 node 服務

con config get http ati sha cal 安裝 pre 轉載請註明出處:http://www.cnblogs.com/shamoyuu/p/linux_5.html 進入/usr/local目錄 cd /usr/local 下載最新

轉載Vue 2.x 實戰後臺管理系統開發(二)

null element asc 其他 就會 ans 目錄 asi all 2. 常見需求 01. 父子組件通信 a. 父 -> 子(父組件傳遞數據給子組件) 使用 props,具體查看文檔 - 使用 Prop 傳遞數據(cn.vuejs.org/v2/guide

ASP.NET Core開發HttpContext

tde ont req build tro use 如何使用 ram web ASP.NET Core中的HttpContext開發,在ASP.NET開發中我們總是會經常用到HttpContext。 那麽在ASP.NET Core中要如何使用HttpContext呢,下面

Kong 系列新增外掛---ip-restriction黑白名單

寫在前邊 本地postMan請求http://192.168.130.131:8000/test-route,可以正常訪問,本地IP:192.168.130.1 同樣在虛擬機器環境192.168.130.129也可以正常訪問。 新增ip-restriction外掛 將129

1pytorch torchvision原始碼解讀Alexnet

最近開始學習一個新的深度學習框架PyTorch。 框架中有一個非常重要且好用的包:torchvision,顧名思義這個包主要是關於計算機視覺cv的。這個包主要由3個子包組成,分別是:torchvision.datasets、torchvision.models、torchvision.trans

實踐如何獲得Rinkeby網路的測試以太幣

當把智慧合約部署到Rinkeby Test Network時,需要獲得測試以太幣。其網路獲取測試以太幣的方法同Ropsten Test Network有些不同,本文詳細講解一下。 1 訪問網站 訪問rinkeby網路(https://www.rinkeby.io/#f

LOJ2262「CTSC2017」網路

【題目連結】 點選開啟連結 【思路要點】 首先,本題一點重要的觀察是,新建的路徑的兩個端點必定在樹的直徑上,若一個方案新建路徑的兩個端點有一個不在直徑上,我們令其向直徑靠近,不會使答案變劣。 因此,我們可以將直徑拿出來

python不同版本python情況下的第三方包管理

    1、包管理工具 電腦裡同時安裝了anaconda  pycharm 和python的時候,可能使用anaconda時裝了一些第三方庫,有些簡單的程式只是用python自帶IDLE時需要重新再安裝一次庫,但是pip指令管理可能會比較混亂,再用pip安裝會裝到c