【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
- 配置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
- 配置元資料代理。編輯 /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
相關推薦
【neutron】mitaka版本openstack網路之linux bridge
作者:【吳業亮】雲端計算開發工程師 部落格:http://blog.csdn.net/wylfengyujiancheng 一、硬體配置及服務拓撲 1. controller節點:一塊網絡卡 2. 網路節點:四塊網絡卡。 3. 計算節點:三塊
【nova】liberty版本openstack線上調整雲主機大小
有時虛擬機器建立後發現虛擬機器規格太小,滿足不了業務需求。於是需要線上拉伸虛擬機器的規格。 1、用admin使用者登入dashboard,建立滿足需求的虛擬機器規格 2、輸入適當的引數
【筆記】計算機原理,網路,Linux作業系統
一,計算機原理 1,化繁為簡的思想,產生二進位制,產生把所有計算歸結為加法運算 二,網路 1,分層思想,產生ISO七層協議,商用了TCP/IP的五層協議 三,Linux作業系統 1,分層思想,硬體->作業系統->應用軟體 2,Linux一切皆檔案的思想
【Unity】Unity5版本的AssetBundle打包方案之資源打包
using UnityEngine; using System.Collections; using UnityEditor; /// <summary> /// 指令碼位置:Editor
【java】itoo項目實戰之hibernate 懶載入優化性能
bsp xtra extra pda 程序 前端框架 外連接 獲取 轉換成 在做itoo 3.0 的時候,考評系統想要上線,就開始導入數據了,僅僅導入學生2萬條數據,可是導入的速度特別的慢。這個慢的原因是由於導入的時候進行了過多的IO操作。可是導入成功之後,
【java】itoo項目實戰之hibernate 批量保存優化
新的 hibernate 缺點 try 實戰 lis 插入 entity man 在itoo中。基本上每一個系統都有一個導入功能,大量的數據填寫進入excel模板中。然後使用導入功能導入的數據庫中,這樣能夠大大的提高工作效率。那麽導入就涉及到了批量保存數據庫的
【Python】Selenium元素定位錯誤之解決辦法
tor log -m alt src 多個 common nbu invalid 當使用class定位元素時發現報錯: 錯誤信息:selenium.common.exceptions.InvalidSelectorException: Message: Compound
【iOS】UICollectionView自己定義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。他全然採用面向對象的代
【python】python版本升級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
【1】pytorch 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