OpenStackネットワークの多種多様なプラグインとその対応方法 -...

  • View
    6.196

  • Download
    3

  • Category

    Software

Preview:

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:password@172.16.77.83/ovs_neutron↓connection = mysql://neutron:password@172.16.77.83/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:pass@192.168.100.14/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ポートを自動作成する。

Recommended