mitaka版本openstack網絡之open vSwitch

作者:【吳業亮】

博客:http://blog.csdn.net/wylfengyujiancheng

一、硬件配置及服務拓撲
1. controller節點:一塊網卡
2. 網絡節點:四塊網卡。
3. 計算節點:三塊網卡
這里寫圖片描述
這里寫圖片描述

controller節點
1. 運行 neutron數據庫
2. 運行消息隊列服務
3. 運行認證。
4. 運行OpenStack計算nova相關網絡,需配置nova.conf文件。
5. 運行插件ML2 。
網絡節點
1. Neutron認證相關信息需配置neutron.conf文件。
2. Open vSwitch服務,Open vSwitch代理,L3代理,DHCP代理,元數據代理,一些依賴項。
計算節點
1. 運行OpenStack身份與合適的配置服務 需配置neutron.conf文件。
2. 運行OpenStack計算nova相關網絡,需配置nova.conf文件。
3. Open vSwitch服務,Open vSwitch代理,一些依賴項。
二、各個節點服務關系及說明
這里寫圖片描述
網絡節點網絡包含以下組件:
1. open vswitch-agent
2. l3-agent
3. dhcp-aent
4. Metadata-agent
這里寫圖片描述
這里寫圖片描述
計算節點網絡包含以下組件:
1. Open vSwitch-agent。
2. 網橋。
這里寫圖片描述
這里寫圖片描述
三、場景舉例
Note請注意
南北網絡:虛擬機內部數據到外部網絡
東西網絡:虛擬機之間通信
案例1:南北網絡、實例對應一個固定的IP地址
這里寫圖片描述
案例2:南北網絡,實例對應一個浮動IP地址
這里寫圖片描述
案例3:東西網絡,實例在不同的網絡上
這里寫圖片描述
案例4:東西網絡、實例在同一網絡
這里寫圖片描述
四、安裝配置
(一)controller節點
1、安裝組件

# yum install openstack-neutron openstack-neutron-ml2 python-neutronclient which 

2、配置服務器組件
編輯 /etc/neutron/neutron.conf文件,并完成以下動作:
在[數據庫]節中,配置數據庫訪問:

[database]
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/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 = openvswitch,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. 編輯 /etc/sysctl.conf

net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0

2.執行下列命令,立即生效

# sysctl -p

3.安裝軟件包

# yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch

4.配置組件
編輯/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

5、編輯/etc/neutron/plugins/ml2/ml2_conf.ini文件
在[ml2]部分,使平、VLAN和VXLAN網絡:

[ml2]
type_drivers = flat,vlan,vxlan

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

[ml2]
tenant_network_types = vxlan
mechanism_drivers = openvswitch,l2population
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/openvswitch_agent.ini文件:

[ovs]
local_ip=TUNNEL_INTERFACE_IP_ADDRESS
bridge_mappings=vlan:br-vlan,external:br-ex
[agent]
tunnel_types=gre,vxlan
l2_population=True
prevent_arp_spoofing=True
[securitygroup]
firewall_driver=neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
enable_security_group=True

取代 TUNNEL_INTERFACE_IP_ADDRESS與接口的IP地址處理GRE / VXLAN項目網絡。
1. 配置L3代理。編輯 /etc/neutron/l3_agent.ini文件:

[DEFAULT]
interface_driver=neutron.agent.linux.interface.OVSInterfaceDriver
external_network_bridge=

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

[DEFAULT]
interface_driver=neutron.agent.linux.interface.OVSInterfaceDriver
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

6、創建鏈接

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

7、啟動服務
創建網橋

# ovs-vsctl add-br br-ex

將網卡加入到網橋中

# ovs-vsctl add-port br-ex INTERFACE_NAME
# systemctl restart openstack-nova-api.service
# systemctl start neutron-openvswitch-agent.service neutron-l3-agent.
service neutron-dhcp-agent.service neutron-metadata-agent.service
# systemctl enable neutron-openvswitch-agent.service neutron-l3-agent.
service neutron-dhcp-agent.service neutron-metadata-agent.service

(三)計算節點
1. 編輯 /etc/sysctl.conf

net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1

2.執行下列命令,立即生效

# sysctl -p

3.安裝軟件包

# yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch

4.編輯 /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

1

替換 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

5.編輯 /etc/neutron/plugins/ml2/openvswitch_agent.ini

[ovs]
local_ip = TUNNEL_INTERFACE_IP_ADDRESS
bridge_mappings = vlan:br-vlan
[agent]
tunnel_types = gre,vxlan
l2_population = True
prevent_arp_spoofing = True
[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
enable_security_group = True

6.編輯/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 = openvswitch,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

配置nova配置文件
?7編輯 /etc/nova/nova.conf文件,并完成以下動作:
o 在 [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為你的密碼
8.啟動服務

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

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91212

(0)
N27_DanryN27_Danry
上一篇 2018-01-22 14:27
下一篇 2018-01-22

相關推薦

  • vim的總結、練習和周期性任務

    vim:VI的增強版,是一款可視化功能非常強大的文本編輯器,屬于全屏編輯器。 vim:使用方法: 命令格式:    ~]#vim [options] [file ..]      選項:        +#:打開文件后,直接讓光標處于第#行首;   …

    Linux干貨 2017-08-14
  • 把編譯安裝的httpd 實現服務腳本,通過service和chkconfig 進行管理

    把編譯安裝的httpd 實現服務腳本,通過service和chkconfig 進行管理 1 編譯安裝httpd 把httpd編譯安裝在/app/httpd/目錄下。 2 在/etc/rc.d/init.d/目錄下新建一個文件httpd 這個文件的目的在于讓service 命令可以管理編譯安裝的httpd服務。 文件內容如下: [root@CentOS68 ~…

    Linux干貨 2017-05-15
  • VMware虛擬機三種連網原理簡介

    一、前言         虛擬機(Virtual Machine),在計算機科學中的體系結構里,是指一種特殊的軟件,可以在計算機平臺和終端用戶之間創建一種環境,而終端用戶則是基于這個軟件所創建的環境來操作系統軟件。虛擬機根據它們運用和與直接機器的相關性分為兩大類。系統虛擬機和程序虛擬機,系…

    Linux干貨 2015-08-03
  • 學習筆記–文本處理工具

    Linux下有很多文本處理工具,本文將介紹幾款比較常用的文本處理工具,比如對文本查看的工具:cat和less,文本截取工具:head和tail,按列抽取文本工具:cut,按關鍵字查詢文本工具:grep,下面將具體介紹各種工具的使用。 1、文本查看命令cat 用法: cat [OPTION]… [FILE]… cat命令一次性…

    Linux干貨 2016-08-07
  • linux終端類型

    終端分為:             ∟  物理終端         定義:可將顯示器,鍵盤,鼠標直接接入主機接口的終端;     &nbsp…

    Linux干貨 2016-10-18
  • N26—第二周博客作業

    一、Linux常用管理命令     1、cp命令:復制         cp 源文件 目標文件 [root@localhost ~]# cp /etc/fstab /tmp cp: overwrite&nbsp…

    Linux干貨 2017-01-06
欧美性久久久久