More Related Content
Similar to OpenStackネットワークの多種多様なプラグインとその対応方法 - OpenStack最新情報セミナー2014年4月 (20)
More from VirtualTech Japan Inc. (20)
OpenStackネットワークの多種多様なプラグインとその対応方法 - OpenStack最新情報セミナー2014年4月
- 3. Copyright ©2013 Midokura All rights reserved
OpenStackコンポーネントおさらい
2
Nova
Neutron
Glance
Keytsonte
Swift
Cinder
- ハイパーバイザー制御, 仮想サーバの作成/削
除
- 仮想ネットワーク制御
- イメージ, スナップショットの制御
- 認証制御, テナントまたはユーザの作成/削除
- オブジェクトストレージ制御
- ブロックストレージ制御
- 4. Copyright ©2013 Midokura All rights reserved
OpenStackコンポーネントおさらい
3
Nova
Neutron
Glance
Keytsonte
Swift
Cinder
- ハイパーバイザー制御, 仮想サーバの作成/削
除
- 仮想ネットワーク制御
- イメージ, スナップショットの制御
- 認証制御, テナントまたはユーザの作成/削除
- オブジェクトストレージ制御
- ブロックストレージ制御
- 5. Copyright ©2013 Midokura All rights reserved
OpenStack Neutronとは
4
仮想ネットワーク制御を行う.
- Neutron APIからリソースの追加/読込/更新/削除を行える。
- 主リソースは4つ.
(ネットワーク、サブネット、ポート、ルータ)
- 付加機能
- Security Group
- 仮想FW, 仮想LB, 仮想L3/L2
- データはMySQLまたはsqliteに保存される.
Neutron API Server
(Network, Subnet
Router, Port)
OpenStack
Nova/Dashboard
Neutron
CLI
Neutron
DB
Neutron API
MySQL
- 6. Copyright ©2013 Midokura All rights reserved
Neutron Plugin
5
Plugin形式により様々なネットワーク機器や
ソフトウェアを選択し利用できます。
- 標準ではOpenvSwitch
OVS
Neutron API
Server
Plugin
OpenStack
Nova/Dashboard
Neutron
CLI
Neutron
DB
Neutron API
MySQL
Plugin
OpenvSwitch
Midokura
VMware
NEC
Cisco
Juniper
MidoNet
VMware NSX
NEC OpenFlow
Cisco Nexus
Juniper
EX/QFX
- 7. Copyright ©2013 Midokura All rights reserved
標準OpenvSwitchとMidokura MidoNetの違い
6
OpenvSwitch MidoNet
自社GlobaIP利用 ◎ ◎
拡張性がある? △
(基本SPoF, 冗長難易度高め)
◎
(分散システム構成)
付加機能が使える?
(SG, L3/L2, L4LB)
○
(様々なAgentを設定)
◎
(MidoNet Agnetのみで利用可)
既存環境接続,冗長構成
はとれる?
○
(VLAN Trunk)
◎
(VLAN Trunk, BGP)
新しく機器の購入が必
要?
◎
(必要無し)
◎
(必要無し)
トラフィック処理 ○
(Network nodeを必ず経由)
◎
(パケット転送最適化)
サポート ○
(Community)
◎
(US,JP,EUからサポート)
- 8. Copyright ©2013 Midokura All rights reserved
標準OpenvSwitchとMidokura MidoNetの違い
7
Network
Node
OpenvSwitch
MidoNet
Network
Agent
Network
Agent
- 9. Copyright ©2013 Midokura All rights reserved
MidoNetに変更してみましょう!
8
OVS
Neutron API
Server
OpenvSwitch
Plugin
OpenStack
Nova/Dashboard
Neutron
CLI
Neutron
DB
Neutron API
MySQL
MidoNet
API server
MN API
MidoNetOpenvSwitch
Neutron API
Server
MidoNet
Plugin
OpenStack
Nova/Dashboard
Neutron
CLI
Neutron
DB
Neutron API
MySQL
1
6
4
5
2 3
(*Neutronノード)
- 10. Copyright ©2013 Midokura All rights reserved
Neutron Server設定ファイル(OpenvSwitch)
9
・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ノード)
- 11. Copyright ©2013 Midokura All rights reserved
Neutron Server設定ファイル(MidoNet)
10
・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ノード)
- 12. Copyright ©2013 Midokura All rights reserved
Neutron Server設定ファイル(OVS→MidoNet)
11
mysql ・midonetデータベース
[root@localhost neutron]# mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 10672
Server 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 its
affiliates. Other names may be trademarks of their respective
owners.
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ノード)
- 13. Copyright ©2013 Midokura All rights reserved
Neutron Server設定ファイル(OVS→MidoNet)
12
※プラグインを指定するパラメータ
core_plugin=neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2
↓
core_plugin = neutron.plugins.midonet.plugin.MidonetPluginV2
/etc/neutron/neutron.conf
connection = mysql://neutron:password@172.16.77.83/ovs_neutron
↓
connection = mysql://neutron:password@172.16.77.83/midonet
※mysqlパラメータ
2
(*Networkノード)
- 14. Copyright ©2013 Midokura All rights reserved
Neutron Pluginファイルの場所
13
/usr/lib/python2.6/site-packages/neutron/plugins/
openvswitch/
midonet/
__init__.pyc ovs_db_v2.pyc ovs_models_v2.pyc ovs_neutron_plugin.pyc
common __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ノード)
- 15. Copyright ©2013 Midokura All rights reserved
Neutron Server設定ファイル(OVS→MidoNet)
14
/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
[OVS]
tenant_network_type=local
enable_tunneling=False
integration_bridge=br-int
[AGENT]
polling_interval=2
[SECURITYGROUP]
firewall_driver=neutron.agent.linux.iptables_firewall.OVSHybridIptablesFir
ewallDriver
/etc/neutron/plugins/midonet/midonet_plugin.ini
[DATABASE]
sql_connection = mysql://neutron:pass@192.168.100.14/neutron
sql_max_retries = 100
[MIDONET]
midonet_uri = http://192.168.100.14:8080/midonet-api
provider_router_id = 04480326-f419-4c8a-8a6e-c9d8e62d9159
username = admin
password = edb9c193e8234233
project_id = admin
auth_url = http://192.168.100.14:35357/v2.0
3
(*Networkノード)
- 16. Copyright ©2013 Midokura All rights reserved
Neutron Server設定ファイル(OVS→MidoNet)
15
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ノード)
- 17. Copyright ©2013 Midokura All rights reserved
nova compute設定ファイル(OVS→MidoNet)
16
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ノード)
- 18. Copyright ©2013 Midokura All rights reserved
まとめ
17
Neutronは様々なプラグインにより各社製品を
共有APIを利用して使用することができる.
使用するには新規データベースと設定ファイル編集が必要
標準OpenvSwitchより優れた機能を持つMidoNetを
是非使ってみませんか.
- 20. Copyright ©2013 Midokura All rights reserved
Neutronのネットワークリソース
19
Network Subnet
・ネットワークを複数定義することができる
・サブネットはネットワークに登録することが
できる。
- 21. Copyright ©2013 Midokura All rights reserved
Neutronのネットワークリソース
20
Network Subnet
・ネットワークを複数定義することができる
・サブネットはネットワークに登録することが
できる。
Network Subnet
Network Subnet
- 23. Copyright ©2013 Midokura All rights reserved
Neutronのネットワークリソース
22
・ルータを複数定義することができる。
・ルータにネットワークを所属させることができる。
(neutron router-interface-add [router-id] [network-id])
Router Network Subnet
- 24. Copyright ©2013 Midokura All rights reserved
Neutronのネットワークリソース
23
Extearnal
Network
・外部ネットワークを作成することができる。(Admin権限のみ)
(VMを外部環境からアクセスをする為に利用)
- 25. Copyright ©2013 Midokura All rights reserved
Neutronのネットワークリソース
24
Router Network Subnet
Extearnal
Network
※ルータと外部ネットワークを設定
する。
- 26. Copyright ©2013 Midokura All rights reserved
Neutronのネットワークリソース
25
Router Network Subnet
Extearnal
Network
Port
※VMを起動するときにNovaがNeutronポートを自動作成