Upload
virtualtech-japan-inc
View
6.196
Download
3
Embed Size (px)
DESCRIPTION
講師:ミドクラ 鈴木 日時:2014/04/10 タイトル:OpenStackネットワークの多種多様なプラグインとその対応方法 -MidoNet版- 概要: OpenStack NetworkiのデフォルトであるOVSバージョンと、様々なベンダーから出ているプラグインについて、全体像に軽く触れ、特にMidoNetプラグインについての設定方法の差異や、導入方法を紹介いたします。また、OVSでできることや限界点、MidoNetにしかできない機能についても説明いたします。
Citation preview
Confidential
OpenStackネットワークの多種多様なプラグインとその対応方法
Confidential
目次
2
• 簡単に OpenStackコンポーネントのおさらい• OpenStack Neutronとは• Neutron Pluginについて紹介• OpenvSwitchとMidoNetを比較• OpenvSwitchからMidoNetへ設定変更• Q&A
Copyright ©2013 Midokura All rights reserved
OpenStackコンポーネントおさらい
3
Nova
Neutron
Glance
Keytsonte
Swift
Cinder
- ハイパーバイザー制御 , 仮想サーバの作成 /削除- 仮想ネットワーク制御
- イメージ , スナップショットの制御
- 認証制御 , テナントまたはユーザの作成 /削除
- オブジェクトストレージ制御
- ブロックストレージ制御
Copyright ©2013 Midokura All rights reserved
OpenStackコンポーネントおさらい
4
Nova
Neutron
Glance
Keytsonte
Swift
Cinder
- ハイパーバイザー制御 , 仮想サーバの作成 /削除- 仮想ネットワーク制御
- イメージ , スナップショットの制御
- 認証制御 , テナントまたはユーザの作成 /削除
- オブジェクトストレージ制御
- ブロックストレージ制御
Copyright ©2013 Midokura All rights reserved
OpenStack Neutronとは
5
仮想ネットワーク制御を行う .- Neutron APIからリソースの追加 /読込 /更新 /削除を行える。- 主リソースは 4つ . (ネットワーク、サブネット、ポート、ルータ )- 付加機能 - Security Group - 仮想 FW, 仮想 LB, 仮想 L3/L2- データはMySQLまたは sqliteに保存される .
Neutron API Server
(Network, Subnet
Router, Port)
OpenStackNova/Dashboard
NeutronCLI
Neutron DB
Neutron API
MyS
QL
Copyright ©2013 Midokura All rights reserved
Neutron Plugin
6
Plugin形式により様々なネットワーク機器やソフトウェアを選択し利用できます。
- 標準では OpenvSwitch
OVS
Neutron API ServerPlugin
OpenStackNova/
Dashboard
NeutronCLI
Neutron DB
Neutron API
MyS
QL
Plugin
OpenvSwitchMidokuraVMwareNECCiscoJuniper
MidoNet
VMware NSX
NEC OpenFlow
Cisco Nexus
Juniper EX/QFX
Copyright ©2013 Midokura All rights reserved
標準 OpenvSwitchとMidokura MidoNetの違い
7
OpenvSwitch MidoNet
自社 GlobaIP利用 ◎ ◎
拡張性がある ? △(基本 SPoF, 冗長難易度高め )
◎(分散システム構成 )
付加機能が使える ?(SG, L3/L2, L4LB)
○(様々な Agentを設定 )
◎(MidoNet Agnetのみで利用可 )
既存環境接続 ,冗長構成はとれる ?
○(VLAN Trunk)
◎(VLAN Trunk, BGP)
新しく機器の購入が必要 ?
◎(必要無し )
◎(必要無し )
トラフィック処理 ○(Network nodeを必ず経由 )
◎(パケット転送最適化 )
サポート ○(Community)
◎(US,JP,EUからサポート )
Copyright ©2013 Midokura All rights reserved
標準 OpenvSwitchとMidokura MidoNetの違い
8
NetworkNode
OpenvSwitch
MidoNet
NetworkAgent
NetworkAgent
Copyright ©2013 Midokura All rights reserved
MidoNetに変更してみましょう!
9
OVS
Neutron API Server
OpenvSwitch Plugin
OpenStackNova/
Dashboard
NeutronCLI
Neutron DB
Neutron API
MyS
QL
MidoNetAPI server
MN API
MidoNetOpenvSwitch
Neutron API Server
MidoNet Plugin
OpenStackNova/
Dashboard
NeutronCLI
Neutron DB
Neutron API
MyS
QL
1
6
4
5
2 3
(*Neutronノード )
Copyright ©2013 Midokura All rights reserved
Neutron Server設定ファイル( OpenvSwitch)
10
・ OpenvSwitchプラグインを指定設定するファイル
neutorn-server
/etc/neutron/neutron.conf
/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
/etc/neutron/plugin.ini
・ OpenvSwitch詳細設定ファイル
・ OpenvSwitch詳細設定ファイルのエイリアス
/etc/neutron/*.agent
・ L3/L2/DHCP/MetaData/LB/Firwall機能利用設定
mysql ・ ovs_neutronデータベース
(*Neutronノード )
Copyright ©2013 Midokura All rights reserved
Neutron Server設定ファイル(MidoNet)
11
・MidoNetプラグインを指定設定するファイル
neutorn-server
/etc/neutron/neutron.conf
/etc/neutron/plugins/midonet/midonet_plugin.ini
/etc/neutron/plugin.ini
・MidoNet詳細設定ファイル
・MidoNet詳細設定ファイルのエイリアス
mysql ・midonetデータベース1
2
3
4
5
(*Neutronノード )
Copyright ©2013 Midokura All rights reserved
Neutron Server設定ファイル( OVS→MidoNet)
12
mysql ・midonetデータベース
[root@localhost neutron]# mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 10672Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database midonet;mysql> GRANT ALL PRIVILEGES ON midonet.* To ‘neutron’@’%’ IDENTIFIED BY ‘password’;
1
(*Controllerノード )
Copyright ©2013 Midokura All rights reserved
Neutron Server設定ファイル( OVS→MidoNet)
13
※プラグインを指定するパラメータcore_plugin=neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2↓core_plugin = neutron.plugins.midonet.plugin.MidonetPluginV2
/etc/neutron/neutron.conf
connection = mysql://neutron:[email protected]/ovs_neutron↓connection = mysql://neutron:[email protected]/midonet
※mysqlパラメータ
2(*Networkノード )
Copyright ©2013 Midokura All rights reserved
Neutron Pluginファイルの場所
14
/usr/lib/python2.6/site-packages/neutron/plugins/
openvswitch/
midonet/
__init__.pyc ovs_db_v2.pyc ovs_models_v2.pyc ovs_neutron_plugin.pyccommon __init__.pyo ovs_db_v2.pyo ovs_models_v2.pyo ovs_neutron_plugin.pyo __init__.py ovs_db_v2.py ovs_models_v2.py ovs_neutron_plugin.py README
agent common __init__.pyc midonet midonet_lib.pyc plugin.pyc plugin.pyc.orig plugin.py.orig
(*Networkノード )
Copyright ©2013 Midokura All rights reserved
Neutron Server設定ファイル( OVS→MidoNet)
15
/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
[OVS]tenant_network_type=localenable_tunneling=Falseintegration_bridge=br-int
[AGENT]polling_interval=2
[SECURITYGROUP]firewall_driver=neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
/etc/neutron/plugins/midonet/midonet_plugin.ini
[DATABASE]sql_connection = mysql://neutron:[email protected]/neutronsql_max_retries = 100
[MIDONET]midonet_uri = http://192.168.100.14:8080/midonet-apiprovider_router_id = 04480326-f419-4c8a-8a6e-c9d8e62d9159username = adminpassword = edb9c193e8234233project_id = adminauth_url = http://192.168.100.14:35357/v2.0
3
(*Networkノード )
Copyright ©2013 Midokura All rights reserved
Neutron Server設定ファイル( OVS→MidoNet)
16
neutron-db-manage --config-file /etc/neutron/neutron.conf stamp havana
新データベースに特殊なテーブルを作成
Neutronサーバの再起動
service neutron-server restart
正常動作チェック
• /var/log/neutron/server.logの確認。• neutron net-list コマンド等を実行。
4
5
(*Networkノード )
Copyright ©2013 Midokura All rights reserved
nova compute設定ファイル( OVS→MidoNet)
17
libvirt_vif_driver = midonet.nova.virt.libvirt.vif.MidonetVifDriver
/etc/nova/nova.conf
nova-computeの再起動
service nova-compute restart
正常動作チェック
• /var/log/nova/compute.logの確認 .• VMを起動 .• neutron側で VM用 Port作成され VMが起動すれば問題無し .
6(*Computeノード )
Copyright ©2013 Midokura All rights reserved
まとめ
18
Neutronは様々なプラグインにより各社製品を共有 APIを利用して使用することができる .
使用するには新規データベースと設定ファイル編集が必要 .
標準 OpenvSwitchより優れた機能を持つMidoNetを是非使ってみませんか .
Confidential
Thank you!
Copyright ©2013 Midokura All rights reserved
Neutronのネットワークリソース
20
Network Subnet
・ネットワークを複数定義することができる・サブネットはネットワークに登録することができる。
Copyright ©2013 Midokura All rights reserved
Neutronのネットワークリソース
21
Network Subnet
・ネットワークを複数定義することができる・サブネットはネットワークに登録することができる。
Network SubnetNetwork Subnet
Copyright ©2013 Midokura All rights reserved
Neutronのネットワークリソース
22
・ルータを複数定義することができる
Router
Copyright ©2013 Midokura All rights reserved
Neutronのネットワークリソース
23
・ルータを複数定義することができる。・ルータにネットワークを所属させることができる。 (neutron router-interface-add [router-id] [network-id])
Router Network Subnet
Copyright ©2013 Midokura All rights reserved
Neutronのネットワークリソース
24
ExtearnalNetwork
・外部ネットワークを作成することができる。( Admin権限のみ)( VMを外部環境からアクセスをする為に利用)
Copyright ©2013 Midokura All rights reserved
Neutronのネットワークリソース
25
Router Network SubnetExtearnalNetwork
※ルータと外部ネットワークを設定する。
Copyright ©2013 Midokura All rights reserved
Neutronのネットワークリソース
26
Router Network SubnetExtearnalNetwork Port
※VMを起動するときに Novaが Neutronポートを自動作成する。