OpenStackネットワークの多種多様なプラグインとその対応方法 - OpenStack最新情報セミナー2014年4月

11,706 views

Published on

講師:ミドクラ 鈴木
日時:2014/04/10
タイトル:OpenStackネットワークの多種多様なプラグインとその対応方法 -MidoNet版-
概要:
OpenStack NetworkiのデフォルトであるOVSバージョンと、様々なベンダーから出ているプラグインについて、全体像に軽く触れ、特にMidoNetプラグインについての設定方法の差異や、導入方法を紹介いたします。また、OVSでできることや限界点、MidoNetにしかできない機能についても説明いたします。

Published in: Software
1 Comment
12 Likes
Statistics
Notes
  • スライド8枚目の上段ですが、HavanaからはNetworkNode(L3Agent)をComputeノードにインストールすれば、MidoNetと同じことができませんか。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
11,706
On SlideShare
0
From Embeds
0
Number of Embeds
5,960
Actions
Shares
0
Downloads
218
Comments
1
Likes
12
Embeds 0
No embeds

No notes for slide

OpenStackネットワークの多種多様なプラグインとその対応方法 - OpenStack最新情報セミナー2014年4月

  1. 1. Confidential OpenStackネットワークの多種多様 なプラグインとその対応方法
  2. 2. Confidential 目次 1 • 簡単にOpenStackコンポーネントのおさらい • OpenStack Neutronとは • Neutron Pluginについて紹介 • OpenvSwitchとMidoNetを比較 • OpenvSwitchからMidoNetへ設定変更 • Q&A
  3. 3. Copyright ©2013 Midokura All rights reserved OpenStackコンポーネントおさらい 2 Nova Neutron Glance Keytsonte Swift Cinder - ハイパーバイザー制御, 仮想サーバの作成/削 除 - 仮想ネットワーク制御 - イメージ, スナップショットの制御 - 認証制御, テナントまたはユーザの作成/削除 - オブジェクトストレージ制御 - ブロックストレージ制御
  4. 4. Copyright ©2013 Midokura All rights reserved OpenStackコンポーネントおさらい 3 Nova Neutron Glance Keytsonte Swift Cinder - ハイパーバイザー制御, 仮想サーバの作成/削 除 - 仮想ネットワーク制御 - イメージ, スナップショットの制御 - 認証制御, テナントまたはユーザの作成/削除 - オブジェクトストレージ制御 - ブロックストレージ制御
  5. 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. 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. 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. 8. Copyright ©2013 Midokura All rights reserved 標準OpenvSwitchとMidokura MidoNetの違い 7 Network Node OpenvSwitch MidoNet Network Agent Network Agent
  9. 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. 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. 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. 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. 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. 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. 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. 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. 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. 18. Copyright ©2013 Midokura All rights reserved まとめ 17 Neutronは様々なプラグインにより各社製品を 共有APIを利用して使用することができる. 使用するには新規データベースと設定ファイル編集が必要 標準OpenvSwitchより優れた機能を持つMidoNetを 是非使ってみませんか.
  19. 19. Confidential Thank you!
  20. 20. Copyright ©2013 Midokura All rights reserved Neutronのネットワークリソース 19 Network Subnet ・ネットワークを複数定義することができる ・サブネットはネットワークに登録することが できる。
  21. 21. Copyright ©2013 Midokura All rights reserved Neutronのネットワークリソース 20 Network Subnet ・ネットワークを複数定義することができる ・サブネットはネットワークに登録することが できる。 Network Subnet Network Subnet
  22. 22. Copyright ©2013 Midokura All rights reserved Neutronのネットワークリソース 21 ・ルータを複数定義することができる Router
  23. 23. Copyright ©2013 Midokura All rights reserved Neutronのネットワークリソース 22 ・ルータを複数定義することができる。 ・ルータにネットワークを所属させることができる。 (neutron router-interface-add [router-id] [network-id]) Router Network Subnet
  24. 24. Copyright ©2013 Midokura All rights reserved Neutronのネットワークリソース 23 Extearnal Network ・外部ネットワークを作成することができる。(Admin権限のみ) (VMを外部環境からアクセスをする為に利用)
  25. 25. Copyright ©2013 Midokura All rights reserved Neutronのネットワークリソース 24 Router Network Subnet Extearnal Network ※ルータと外部ネットワークを設定 する。
  26. 26. Copyright ©2013 Midokura All rights reserved Neutronのネットワークリソース 25 Router Network Subnet Extearnal Network Port ※VMを起動するときにNovaがNeutronポートを自動作成

×