SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
OpenStack が実現する仮想ネットワーク
  ~OpenStack Quantum の紹介~
      Akihiro Motoki (@ritchey98)
   OpenStack Quantum Core Developer
     Japan OpenStack Users Group
             Dec 16th, 2012
自己紹介
• 元木 顕弘 Twiter: @ritchey98

• 某電気系メーカの研究所に所属
  – IPルータ、広域Ethernet装置、迷惑メールフィルタなど
    の開発をやっていました。
  – 最近は OpenStack, OpenFlow 周りで活動しています。
• Linux JM Project
  – 皆さん日本語マニュアル必要ですか。いつやめても
    いいです (^^;
• OpenStack Quantum Core Developer
OpenStack Project と Quantum
*-as-a-Service Capability   OpenStack Service

       Compute                        Nova

                                 Swift (Objects)

        Storage                   Cinder (Block)

                                 Glance (Images)

        identity                    Keystone


       Network                      Quantum
Quantum の目的 #1

• Network-as-a-Service (NaaS) を提供する
  – テナントが自由なネットワーク操作を提供
    • 複数のプライベートなネットワークの作成
    • IPアドレスの制御
  – 論理ネットワーク操作API
    • 論理操作と物理操作を分離
    • 物理レイヤーは Quantum (Plugin) が設定する
Quantum の目的 #2

• 複数のネットワーク技術に対応
 – データセンタでは新たな要件が発生
   • multi tenancy, remote data center, VM mobility, advanced
     network services, …
 – Nova は VLAN + Linux iptables のみが利用可能
 – 新しいネットワーク技術に対応できるアーキテクチャ
   • SDN/OpenFlow-based network
   • Overlay tunneling (VXLAN, NVGRE, STT, …)
   • L2 Fabric (Fabric Path, QFabric, …)
Quantum 仮想NWモデル
• テナントは複数の Network を作成できる
• Network には Subnet (CIDR, GW等) を関連付ける。
     – 1つのNWに複数のSubnetを関連付けできる。IPv4+IPv6, IPv4 Address pool 等
     – IPアドレスの払い出し (IPAM)
     – テナント間での IP アドレス重複にも対応
•   Networkに複数のPort を作成できる。(L2SWのポートのイメージ)
     – VM の仮想NICはやルータのINF は Port と関連付けられる。

                      VM1                      VM2            virtual server
    Nova             10.0.0.2                 10.0.0.3
                                                           virtual interface (VIF)

                                                             virtual port

Quantum                         Net1                     L2 virtual network

                     10.0.0.0/24       IPv6              virtual subnet
Quantum でできること
TenantA-VM1        TenantA-VM2         TenantA-VM3
                                          9.0.0.2               virtual server
  10.0.0.2           10.0.0.3
                                                           virtual interface (VIF)
                                                                  virtual port
                Tenant-A Net1       Tenant-A Net2              L2 virtual network
                 10.0.0.0/24          9.0.0.0/24               virtual subnet



   External                        SNAT for external traffic
      Net                          Floating IP
  88.0.0.0/18

• ネットワークの自由な作成
• IP overlapping Tenant Networks
• 複数 NIC を持った VM の)作成
• ルータ経由で Subnet 間通信
• Floating IP での外部からの接続 (Elastic IP@AWS)
Tenant View vs Infra View
                 Tenant-A
 VM                 VM
          net2                net1       R
 VM                 VM


                                                          Internet
                         Tenant-A
                  VM
                            net1     R
                  VM


                                                          Tenatn View
                                                        Infra (Provider) View

VM    VM            VM       VM              VM    VM
vSwitch                vSwitch               vSwitch
                                                                 Internet
     SW      Data Center Network              SW          GW
Tenant View vs Infra View
  • Quantum は論理操作をユーザに提供
  • 物理操作はプラグイン or NW Controller が行う
                                         Tenant-A
  User                   VM                 VM
                                  net2                net1       R
                         VM                 VM

                                                                                  Internet
                                                 Tenant-A
      REST API                            VM
                                                    net1     R
                                          VM
                                                                                  Tenatn View
Quantum          Nova                                                           Infra (Provider) View
 Plugin


                        VM    VM            VM       VM              VM    VM
  NW
Controller              vSwitch                vSwitch               vSwitch
                                                                                         Internet
                             SW      Data Center Network              SW          GW
Quantum API
• Network, Subnet, Port のそれぞれに対して
  List, Create, Read, Update, Delete 操作を
  REST API で行う。
  – net-create, net-update, net-delete,
    net-list, net-show
  – subnet-create, subnet-update, subnet-delete,
    subnet-list, subnet-show
  – port-create, port-update, port-delete,
    port-list, port-show
Quantum API (network)

$ quantum net-create net1
Created a new network:
+-----------------+--------------------------------------+
| Field           | Value                                |
+-----------------+--------------------------------------+
| admin_state_up | True                                  |
| id              | a5d04085-3a15-470f-adca-b67c0958a829 |
| name            | net1                                 |
| router:external | False                                |
| shared          | False                                |
| status          | ACTIVE                               |
| subnets         |                                      |
| tenant_id       | c3ed8c16308642de9b15647759d9e5e9     |
+-----------------+--------------------------------------+
Quantum API (subnet)
$ quantum subnet-create net1 172.16.1.0/24
Created a new subnet:
+------------------+------------------------------------------------+
| Field            | Value                                          |
+------------------+------------------------------------------------+
| allocation_pools | {"start": "172.16.1.2", "end": "172.16.1.254"} |
| cidr             | 172.16.1.0/24                                  |
| dns_nameservers |                                                 |
| enable_dhcp      | True                                           |
| gateway_ip       | 172.16.1.1                                     |
| host_routes      |                                                |
| id               | 736b30c1-5b83-4b52-b5ac-a397273cb240           |
| ip_version       | 4                                              |
| name             |                                                |
| network_id       | a5d04085-3a15-470f-adca-b67c0958a829           |
| tenant_id        | c3ed8c16308642de9b15647759d9e5e9               |
+------------------+------------------------------------------------+
Quantum API (port)

$ quantum port-show 332d3288-5d7a-4ea9-8af6-9b5c82615bb2
+----------------+--------------------------------------------------------+
| Field          | Value                                                  |
+----------------+--------------------------------------------------------+
| admin_state_up | True                                                   |
| device_id      | d8b5dc3c-f73c-44bf-9c04-13f986cf5e6b                   |
| device_owner   | compute:nova                                           |
| fixed_ips      | {"subnet_id": "d9054ffb-1a0d-41d1-835b-8758d11f0060", |
|                |               "ip_address": "10.0.0.3"}                |
| id             | 332d3288-5d7a-4ea9-8af6-9b5c82615bb2                   |
| mac_address    | fa:16:3e:20:b9:f6                                      |
| name           |                                                        |
| network_id     | 6d013e3f-7ea9-402c-9725-9cb693809988                   |
| status         | ACTIVE                                                 |
| tenant_id      | 34657b6768184444af7b5081213e6e73                       |
+----------------+--------------------------------------------------------+
Tenant Network Control (Horizon)
Tenant Network Control (Horizon)
VM Launching (1)
VM Launching (2)




nova boot --flavor 1 --image 58ba017b-dd22-492f-a826-b8c72a133be0
--nic net-id=45fe25eb-f5ef-43b1-b006-6878c1643111 server1
Quantum Architecture
• 物理ネットワークの制御は Quantum Plugin が行う。
• Plugin を切り替えることで、様々なネットワーク技術を利用
  できる。現在は同時には一種類のみ利用可。
                CLI / Dashboard (Horizon) / Orchestration Tool
  Quantum API
                                                                 Nova API

                                                             Nova

           Quantum                     Nova Compute                    Nova Compute
        Quantum Plugin
                                       VM            VM                VM         VM


                                          Virtual Switch               Virtual Switch
                                  agent                                            agent




                         Physical Network                  HW Switch
OpenStack と OpenFlow の連携
              CLI / Dashboard (Horizon) / Orchestration Tool
Quantum API
                                                               Nova API

         Quantum                                          Nova

   NEC OpenFlow Plugin
                                       Nova Compute                  Nova Compute

  OFC API                              VM         VM                 VM         VM

                               agent                         agent
    OpenFlow Controller                Virtual Switch                Virtual Switch



        OpenFlow Protocol

                   Network                              HW Switch
Quantum Plugin
• 現在 Mainline に入っているもの
• NW Controller なし
  – Open vSwitch Plugin (VLAN, GRE)
  – Linux Bridge Plugin (VLAN)
• SDN/OpenFlow 系
  – Nicira NVP Plugin
  – Ryu Plugin
  – NEC OpenFlow Plugin
     • Trema SliceableSwitch (OSS)
     • ProgrammableFlow
  – Big Switch Plugin
• その他
  – Cisco Plugin : Cisco UCS と Nexus スイッチを利用
Quantum の機能ブロック
• Quantum Server
   – 論理ネットワークの管理を行う
   – Plugin は Quantum Server の一部

• Agent
   – Quantum Server 以外のサービスプロセス。Quantum Server 以外の
     サーバでも動作可能。
   – Plugin の実現方式に応じて、必要に応じて使用する。
     実現方式次第では Agent は不要。

• Plugin Agent
   – vSwitch の情報取得、設定を行う
• DHCP Agent
   – 仮想NW単位のDHCPサーバの管理を行う
• L3 Agent
   – 論理ルータの操作を行う。論理ルータは、iptables を利用して実現
機能ブロックと配置
             External network
                                        Management Network

   eth0            eth2          eth0         eth0             eth0
                                         Compute Node    Compute Node
                       OVS
                      (br-ex)
Nova(CC)
Quantum            DHCP agent                Nova              Nova
 Server              L3 agent              Compute           Compute
                   Plugin Agent           Plugin Agent   Plugin Agent
                  Network Node
                       OVS                    OVS               OVS
                     (br-int)               (br-int)          (br-int)
Controller
  Node
                          eth1                eth1             eth1


                             Data Network
機能ブロックと配置
• Plugin Agent
  – データトラフィックを扱うノードで動作させる必要あり
     • Nova-compute ノード
     • DHCP-agent が動作するノード
     • L3-agent が動作するノード
• DHCP-agent, L3-agent
  – いずれか一つのノードで動作させる必要あり
  – L3-agent は外部ネットワークとの通信を行うため、
    Nova-Compute ノードとは別ノードにするのが望まし
    い。
  – 現状、Nova-network の multi_host 構成は未対応
Quantum を使う上での注意点 (1)
• Network Namespace
   – Linuxが持つネットワーク仮想化の機能で、1つの物理ホスト上に、
     複数の独立したネットワーク機能を構成できる。
     他の Namespace の影響を受けない。
   – Quantumでは、IPアドレスが重複したネットワークを扱うために、
     Network Namespace を利用しています。

   起動したVMの動作確認に ping を打とうとした際に、
    制御サーバから Ping を打っても届きません。
    Network Namespace 内からコマンドを実行する必要があります。
       ip netns exec <netns-name> ping 192.168.1.10
   – 詳しくは “network namespace” で検索してください。

   – 最近のUbuntu(12.04など)では問題なく動作しますが、
     RHEL6/CentOS6系では現状は動作しません。
      • Quantumの設定で Network Namespace を使用しないようにすることもできま
        す。
Quantum を使う上での注意点 (2)
• ネットワークの操作は quantum コマンドで。
  – nova-manage network は使わないで下さい。
    create コマンド自体は成功して、list でも表示されますが、何の
    意味もありません。Nova DBに書き込んでいるだけなので。
  – Grizzly で、Quantum が有効になっていると、nova-manage
    network でエラーが出るようになるかもしれません。
• KVM
  – /etc/libvirt/qemu.conf に設定が必要です。
  – Quantum では作成済みの tap device を指定してVMを起動しま
    す。そのため、QEMU が tap device を操作できるように設定が
    必要。

               cgroup_device_acl = [
               "/dev/null", "/dev/full", "/dev/zero",
               "/dev/random", "/dev/urandom",
               "/dev/ptmx", "/dev/kvm", "/dev/kqemu",
               "/dev/rtc", "/dev/hpet", "/dev/net/tun",
               ]
次期リリース Grizzly に向けて
• Closing gaps
  – Nova との連携が十分でない機能の実現
  – Quantum Security groups & metadata service
    with overlapping IPs
  – L3 forwarding 、DHCP機能の scalability 確保
     • 負荷分散, nova “multi_host” flag 相当
• Advanced Services
  – Load-balancing (LBaaS)
  – VPN
最後に
• Quantum を使うと、
 – 仮想ネットワークを自由に作れるようになります。
   自由なネットワークトポロジー。
 – SDN/OpenFlow といった新しいネットワーク技術と
   組み合わせて、従来のネットワーク制限を克服で
   きます。

• 情報不足、機能不足な点も多いです。
 – 日本OpenStackユーザ会の勉強会などもご利用
   下さい。

Weitere ähnliche Inhalte

Was ist angesagt?

自宅ラック勉強会 4.0/2014 LT資料
自宅ラック勉強会 4.0/2014 LT資料自宅ラック勉強会 4.0/2014 LT資料
自宅ラック勉強会 4.0/2014 LT資料mempad
 
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...VirtualTech Japan Inc.
 
Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514samemoon
 
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)axsh co., LTD.
 
MQTT と Quickstart と NodeRED
MQTT と Quickstart と NodeREDMQTT と Quickstart と NodeRED
MQTT と Quickstart と NodeREDK Kimura
 
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...Juniper Networks (日本)
 
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@KyotoOpencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@KyotoDaisuke Nakajima
 
Open contrailmeetup 20161207
Open contrailmeetup 20161207Open contrailmeetup 20161207
Open contrailmeetup 20161207Daisuke Nakajima
 
Contrail overview open stack days tokyo-feb2015
Contrail overview open stack days tokyo-feb2015Contrail overview open stack days tokyo-feb2015
Contrail overview open stack days tokyo-feb2015Nachi Ueno
 
Contrail deploy by Juju/MAAS
Contrail deploy by Juju/MAASContrail deploy by Juju/MAAS
Contrail deploy by Juju/MAASIkuo Kumagai
 
20161129 neutron recent topic
20161129 neutron recent topic20161129 neutron recent topic
20161129 neutron recent topicAkihiro Motoki
 
Kcb 3 wl manual
Kcb 3 wl manualKcb 3 wl manual
Kcb 3 wl manualpacomms
 
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~Juniper Networks (日本)
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介Takashi Sogabe
 
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例erakazu
 
Hydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違いHydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違いMasakazu Asama
 

Was ist angesagt? (20)

自宅ラック勉強会 4.0/2014 LT資料
自宅ラック勉強会 4.0/2014 LT資料自宅ラック勉強会 4.0/2014 LT資料
自宅ラック勉強会 4.0/2014 LT資料
 
OpenContrailとnfv
OpenContrailとnfvOpenContrailとnfv
OpenContrailとnfv
 
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
 
Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514
 
Open contrailのご紹介
Open contrailのご紹介Open contrailのご紹介
Open contrailのご紹介
 
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
 
MQTT と Quickstart と NodeRED
MQTT と Quickstart と NodeREDMQTT と Quickstart と NodeRED
MQTT と Quickstart と NodeRED
 
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
【Interop Tokyo 2015】 真のビジネスアジリティを実現するSDNソリューションとは? Contrail SDN controller 最新...
 
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@KyotoOpencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
Opencontrailの基本 for オープンソースカンファレンス2014 Kansai@Kyoto
 
Open contrailmeetup 20161207
Open contrailmeetup 20161207Open contrailmeetup 20161207
Open contrailmeetup 20161207
 
Contrail overview open stack days tokyo-feb2015
Contrail overview open stack days tokyo-feb2015Contrail overview open stack days tokyo-feb2015
Contrail overview open stack days tokyo-feb2015
 
EVPN & VXLAN for Cloud Builders
EVPN & VXLAN for Cloud BuildersEVPN & VXLAN for Cloud Builders
EVPN & VXLAN for Cloud Builders
 
Contrail deploy by Juju/MAAS
Contrail deploy by Juju/MAASContrail deploy by Juju/MAAS
Contrail deploy by Juju/MAAS
 
20161129 neutron recent topic
20161129 neutron recent topic20161129 neutron recent topic
20161129 neutron recent topic
 
Kcb 3 wl manual
Kcb 3 wl manualKcb 3 wl manual
Kcb 3 wl manual
 
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
 
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
 
Multi Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud buildersMulti Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud builders
 
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
 
Hydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違いHydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違い
 

Andere mochten auch

Horizon Quantum Integration grizzly
Horizon Quantum Integration grizzlyHorizon Quantum Integration grizzly
Horizon Quantum Integration grizzlyAkihiro Motoki
 
OpenStack Contribution Howto
OpenStack Contribution HowtoOpenStack Contribution Howto
OpenStack Contribution HowtoAkihiro Motoki
 
20131011_openstack-neutron-vyattameeting
20131011_openstack-neutron-vyattameeting20131011_openstack-neutron-vyattameeting
20131011_openstack-neutron-vyattameetingAkihiro Motoki
 
Horizon quantum-integration-grizzly
Horizon quantum-integration-grizzlyHorizon quantum-integration-grizzly
Horizon quantum-integration-grizzlyAkihiro Motoki
 
Quantum-grizzly-packet-filtering
Quantum-grizzly-packet-filteringQuantum-grizzly-packet-filtering
Quantum-grizzly-packet-filteringAkihiro Motoki
 
【Cisco OpenStack Seminar 2015.10.26】 OpenStack as Strategy for future growth
【Cisco OpenStack Seminar 2015.10.26】 OpenStack as Strategy for future growth【Cisco OpenStack Seminar 2015.10.26】 OpenStack as Strategy for future growth
【Cisco OpenStack Seminar 2015.10.26】 OpenStack as Strategy for future growthシスコシステムズ合同会社
 
2012/09/27 #ssmjp おうちOpenStack
2012/09/27 #ssmjp おうちOpenStack2012/09/27 #ssmjp おうちOpenStack
2012/09/27 #ssmjp おうちOpenStackth0x0472
 
20130724 openstack-3rd-anniversary-amotoki
20130724 openstack-3rd-anniversary-amotoki20130724 openstack-3rd-anniversary-amotoki
20130724 openstack-3rd-anniversary-amotokiAkihiro Motoki
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2Etsuji Nakai
 
20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStack20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStackAkihiro Motoki
 
OpenStack最新動向 2016/2
OpenStack最新動向 2016/2OpenStack最新動向 2016/2
OpenStack最新動向 2016/2Akira Yoshiyama
 
20131211 Neutron Havana
20131211 Neutron Havana20131211 Neutron Havana
20131211 Neutron HavanaAkihiro Motoki
 
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towardsAkihiro Motoki
 
Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Akihiro Motoki
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_updateAkihiro Motoki
 
20150713 OpenStack Translation in Japan
20150713 OpenStack Translation in Japan20150713 OpenStack Translation in Japan
20150713 OpenStack Translation in JapanAkihiro Motoki
 
Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?Akihiro Motoki
 
Ansibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStackAnsibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStackMasataka Tsukamoto
 

Andere mochten auch (20)

Horizon Quantum Integration grizzly
Horizon Quantum Integration grizzlyHorizon Quantum Integration grizzly
Horizon Quantum Integration grizzly
 
OpenStack Contribution Howto
OpenStack Contribution HowtoOpenStack Contribution Howto
OpenStack Contribution Howto
 
20131011_openstack-neutron-vyattameeting
20131011_openstack-neutron-vyattameeting20131011_openstack-neutron-vyattameeting
20131011_openstack-neutron-vyattameeting
 
Horizon quantum-integration-grizzly
Horizon quantum-integration-grizzlyHorizon quantum-integration-grizzly
Horizon quantum-integration-grizzly
 
Quantum-grizzly-packet-filtering
Quantum-grizzly-packet-filteringQuantum-grizzly-packet-filtering
Quantum-grizzly-packet-filtering
 
【Cisco OpenStack Seminar 2015.10.26】 OpenStack as Strategy for future growth
【Cisco OpenStack Seminar 2015.10.26】 OpenStack as Strategy for future growth【Cisco OpenStack Seminar 2015.10.26】 OpenStack as Strategy for future growth
【Cisco OpenStack Seminar 2015.10.26】 OpenStack as Strategy for future growth
 
2012/09/27 #ssmjp おうちOpenStack
2012/09/27 #ssmjp おうちOpenStack2012/09/27 #ssmjp おうちOpenStack
2012/09/27 #ssmjp おうちOpenStack
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
 
20130724 openstack-3rd-anniversary-amotoki
20130724 openstack-3rd-anniversary-amotoki20130724 openstack-3rd-anniversary-amotoki
20130724 openstack-3rd-anniversary-amotoki
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
 
20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStack20131212 Okinawa OpenDays OpenStack
20131212 Okinawa OpenDays OpenStack
 
OpenStack概要
OpenStack概要OpenStack概要
OpenStack概要
 
OpenStack最新動向 2016/2
OpenStack最新動向 2016/2OpenStack最新動向 2016/2
OpenStack最新動向 2016/2
 
20131211 Neutron Havana
20131211 Neutron Havana20131211 Neutron Havana
20131211 Neutron Havana
 
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
20150713-OpenStack-5thbirthday-kilo-liberty-and-towards
 
Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)Neutron Icehouse Update (Japanese)
Neutron Icehouse Update (Japanese)
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_update
 
20150713 OpenStack Translation in Japan
20150713 OpenStack Translation in Japan20150713 OpenStack Translation in Japan
20150713 OpenStack Translation in Japan
 
Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?
 
Ansibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStackAnsibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStack
 

Ähnlich wie 20121216 OSC Cloud OpenStack Quantum

JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Studyirix_jp
 
openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019Takehiro Kudou
 
Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Daisuke Nakajima
 
OpenIndiana+KVMによる仮想マシン
OpenIndiana+KVMによる仮想マシンOpenIndiana+KVMによる仮想マシン
OpenIndiana+KVMによる仮想マシン悟 宮崎
 
OpenStack - SDNとオープンネットワーキングのすべて
OpenStack - SDNとオープンネットワーキングのすべてOpenStack - SDNとオープンネットワーキングのすべて
OpenStack - SDNとオープンネットワーキングのすべてmizumotoda
 
OpenFlow in IaaS - Wakame
OpenFlow in IaaS - WakameOpenFlow in IaaS - Wakame
OpenFlow in IaaS - Wakameaxsh co., LTD.
 
Hyper-V ネットワークの基本
Hyper-V ネットワークの基本Hyper-V ネットワークの基本
Hyper-V ネットワークの基本Syuichi Murashima
 
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料Etsuji Nakai
 
統合分散仮想ルータ - オープンルータ コンペティション2012
統合分散仮想ルータ - オープンルータ コンペティション2012統合分散仮想ルータ - オープンルータ コンペティション2012
統合分散仮想ルータ - オープンルータ コンペティション2012TED BDD
 
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月VirtualTech Japan Inc.
 
NSX-Tから見たvSphere with Kubernetesのネットワーキング
NSX-Tから見たvSphere with KubernetesのネットワーキングNSX-Tから見たvSphere with Kubernetesのネットワーキング
NSX-Tから見たvSphere with KubernetesのネットワーキングTomoyuki Tanigaki
 
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~ データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~ Brocade
 
Brocade SDN Controller -Sample Code for Brocade vRouter-
Brocade SDN Controller -Sample Code for Brocade vRouter-Brocade SDN Controller -Sample Code for Brocade vRouter-
Brocade SDN Controller -Sample Code for Brocade vRouter-Brocade
 
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月VirtualTech Japan Inc.
 
Hamのリモートシャックの実践
Hamのリモートシャックの実践Hamのリモートシャックの実践
Hamのリモートシャックの実践yukutomi
 

Ähnlich wie 20121216 OSC Cloud OpenStack Quantum (20)

JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Study
 
openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019
 
OpenFlow Controller lily
OpenFlow Controller lilyOpenFlow Controller lily
OpenFlow Controller lily
 
Openvswitch vps 20120429資料
Openvswitch vps 20120429資料Openvswitch vps 20120429資料
Openvswitch vps 20120429資料
 
OpenIndiana+KVMによる仮想マシン
OpenIndiana+KVMによる仮想マシンOpenIndiana+KVMによる仮想マシン
OpenIndiana+KVMによる仮想マシン
 
OpenStack - SDNとオープンネットワーキングのすべて
OpenStack - SDNとオープンネットワーキングのすべてOpenStack - SDNとオープンネットワーキングのすべて
OpenStack - SDNとオープンネットワーキングのすべて
 
OpenFlow in IaaS - Wakame
OpenFlow in IaaS - WakameOpenFlow in IaaS - Wakame
OpenFlow in IaaS - Wakame
 
Hyper-V ネットワークの基本
Hyper-V ネットワークの基本Hyper-V ネットワークの基本
Hyper-V ネットワークの基本
 
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
 
P2Pって何?
P2Pって何?P2Pって何?
P2Pって何?
 
統合分散仮想ルータ - オープンルータ コンペティション2012
統合分散仮想ルータ - オープンルータ コンペティション2012統合分散仮想ルータ - オープンルータ コンペティション2012
統合分散仮想ルータ - オープンルータ コンペティション2012
 
EVPN for Cloud Builders
EVPN for Cloud BuildersEVPN for Cloud Builders
EVPN for Cloud Builders
 
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
OpenStackネットワーキング管理者入門 - OpenStack最新情報セミナー 2014年8月
 
NSX-Tから見たvSphere with Kubernetesのネットワーキング
NSX-Tから見たvSphere with KubernetesのネットワーキングNSX-Tから見たvSphere with Kubernetesのネットワーキング
NSX-Tから見たvSphere with Kubernetesのネットワーキング
 
Nsx t alb-integration_202108
Nsx t alb-integration_202108Nsx t alb-integration_202108
Nsx t alb-integration_202108
 
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~ データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
 
仮想化技術の今後の動向
仮想化技術の今後の動向仮想化技術の今後の動向
仮想化技術の今後の動向
 
Brocade SDN Controller -Sample Code for Brocade vRouter-
Brocade SDN Controller -Sample Code for Brocade vRouter-Brocade SDN Controller -Sample Code for Brocade vRouter-
Brocade SDN Controller -Sample Code for Brocade vRouter-
 
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
 
Hamのリモートシャックの実践
Hamのリモートシャックの実践Hamのリモートシャックの実践
Hamのリモートシャックの実践
 

20121216 OSC Cloud OpenStack Quantum

  • 1. OpenStack が実現する仮想ネットワーク ~OpenStack Quantum の紹介~ Akihiro Motoki (@ritchey98) OpenStack Quantum Core Developer Japan OpenStack Users Group Dec 16th, 2012
  • 2. 自己紹介 • 元木 顕弘 Twiter: @ritchey98 • 某電気系メーカの研究所に所属 – IPルータ、広域Ethernet装置、迷惑メールフィルタなど の開発をやっていました。 – 最近は OpenStack, OpenFlow 周りで活動しています。 • Linux JM Project – 皆さん日本語マニュアル必要ですか。いつやめても いいです (^^; • OpenStack Quantum Core Developer
  • 3. OpenStack Project と Quantum *-as-a-Service Capability OpenStack Service Compute Nova Swift (Objects) Storage Cinder (Block) Glance (Images) identity Keystone Network Quantum
  • 4. Quantum の目的 #1 • Network-as-a-Service (NaaS) を提供する – テナントが自由なネットワーク操作を提供 • 複数のプライベートなネットワークの作成 • IPアドレスの制御 – 論理ネットワーク操作API • 論理操作と物理操作を分離 • 物理レイヤーは Quantum (Plugin) が設定する
  • 5. Quantum の目的 #2 • 複数のネットワーク技術に対応 – データセンタでは新たな要件が発生 • multi tenancy, remote data center, VM mobility, advanced network services, … – Nova は VLAN + Linux iptables のみが利用可能 – 新しいネットワーク技術に対応できるアーキテクチャ • SDN/OpenFlow-based network • Overlay tunneling (VXLAN, NVGRE, STT, …) • L2 Fabric (Fabric Path, QFabric, …)
  • 6. Quantum 仮想NWモデル • テナントは複数の Network を作成できる • Network には Subnet (CIDR, GW等) を関連付ける。 – 1つのNWに複数のSubnetを関連付けできる。IPv4+IPv6, IPv4 Address pool 等 – IPアドレスの払い出し (IPAM) – テナント間での IP アドレス重複にも対応 • Networkに複数のPort を作成できる。(L2SWのポートのイメージ) – VM の仮想NICはやルータのINF は Port と関連付けられる。 VM1 VM2 virtual server Nova 10.0.0.2 10.0.0.3 virtual interface (VIF) virtual port Quantum Net1 L2 virtual network 10.0.0.0/24 IPv6 virtual subnet
  • 7. Quantum でできること TenantA-VM1 TenantA-VM2 TenantA-VM3 9.0.0.2 virtual server 10.0.0.2 10.0.0.3 virtual interface (VIF) virtual port Tenant-A Net1 Tenant-A Net2 L2 virtual network 10.0.0.0/24 9.0.0.0/24 virtual subnet External SNAT for external traffic Net Floating IP 88.0.0.0/18 • ネットワークの自由な作成 • IP overlapping Tenant Networks • 複数 NIC を持った VM の)作成 • ルータ経由で Subnet 間通信 • Floating IP での外部からの接続 (Elastic IP@AWS)
  • 8. Tenant View vs Infra View Tenant-A VM VM net2 net1 R VM VM Internet Tenant-A VM net1 R VM Tenatn View Infra (Provider) View VM VM VM VM VM VM vSwitch vSwitch vSwitch Internet SW Data Center Network SW GW
  • 9. Tenant View vs Infra View • Quantum は論理操作をユーザに提供 • 物理操作はプラグイン or NW Controller が行う Tenant-A User VM VM net2 net1 R VM VM Internet Tenant-A REST API VM net1 R VM Tenatn View Quantum Nova Infra (Provider) View Plugin VM VM VM VM VM VM NW Controller vSwitch vSwitch vSwitch Internet SW Data Center Network SW GW
  • 10. Quantum API • Network, Subnet, Port のそれぞれに対して List, Create, Read, Update, Delete 操作を REST API で行う。 – net-create, net-update, net-delete, net-list, net-show – subnet-create, subnet-update, subnet-delete, subnet-list, subnet-show – port-create, port-update, port-delete, port-list, port-show
  • 11. Quantum API (network) $ quantum net-create net1 Created a new network: +-----------------+--------------------------------------+ | Field | Value | +-----------------+--------------------------------------+ | admin_state_up | True | | id | a5d04085-3a15-470f-adca-b67c0958a829 | | name | net1 | | router:external | False | | shared | False | | status | ACTIVE | | subnets | | | tenant_id | c3ed8c16308642de9b15647759d9e5e9 | +-----------------+--------------------------------------+
  • 12. Quantum API (subnet) $ quantum subnet-create net1 172.16.1.0/24 Created a new subnet: +------------------+------------------------------------------------+ | Field | Value | +------------------+------------------------------------------------+ | allocation_pools | {"start": "172.16.1.2", "end": "172.16.1.254"} | | cidr | 172.16.1.0/24 | | dns_nameservers | | | enable_dhcp | True | | gateway_ip | 172.16.1.1 | | host_routes | | | id | 736b30c1-5b83-4b52-b5ac-a397273cb240 | | ip_version | 4 | | name | | | network_id | a5d04085-3a15-470f-adca-b67c0958a829 | | tenant_id | c3ed8c16308642de9b15647759d9e5e9 | +------------------+------------------------------------------------+
  • 13. Quantum API (port) $ quantum port-show 332d3288-5d7a-4ea9-8af6-9b5c82615bb2 +----------------+--------------------------------------------------------+ | Field | Value | +----------------+--------------------------------------------------------+ | admin_state_up | True | | device_id | d8b5dc3c-f73c-44bf-9c04-13f986cf5e6b | | device_owner | compute:nova | | fixed_ips | {"subnet_id": "d9054ffb-1a0d-41d1-835b-8758d11f0060", | | | "ip_address": "10.0.0.3"} | | id | 332d3288-5d7a-4ea9-8af6-9b5c82615bb2 | | mac_address | fa:16:3e:20:b9:f6 | | name | | | network_id | 6d013e3f-7ea9-402c-9725-9cb693809988 | | status | ACTIVE | | tenant_id | 34657b6768184444af7b5081213e6e73 | +----------------+--------------------------------------------------------+
  • 17. VM Launching (2) nova boot --flavor 1 --image 58ba017b-dd22-492f-a826-b8c72a133be0 --nic net-id=45fe25eb-f5ef-43b1-b006-6878c1643111 server1
  • 18. Quantum Architecture • 物理ネットワークの制御は Quantum Plugin が行う。 • Plugin を切り替えることで、様々なネットワーク技術を利用 できる。現在は同時には一種類のみ利用可。 CLI / Dashboard (Horizon) / Orchestration Tool Quantum API Nova API Nova Quantum Nova Compute Nova Compute Quantum Plugin VM VM VM VM Virtual Switch Virtual Switch agent agent Physical Network HW Switch
  • 19. OpenStack と OpenFlow の連携 CLI / Dashboard (Horizon) / Orchestration Tool Quantum API Nova API Quantum Nova NEC OpenFlow Plugin Nova Compute Nova Compute OFC API VM VM VM VM agent agent OpenFlow Controller Virtual Switch Virtual Switch OpenFlow Protocol Network HW Switch
  • 20. Quantum Plugin • 現在 Mainline に入っているもの • NW Controller なし – Open vSwitch Plugin (VLAN, GRE) – Linux Bridge Plugin (VLAN) • SDN/OpenFlow 系 – Nicira NVP Plugin – Ryu Plugin – NEC OpenFlow Plugin • Trema SliceableSwitch (OSS) • ProgrammableFlow – Big Switch Plugin • その他 – Cisco Plugin : Cisco UCS と Nexus スイッチを利用
  • 21. Quantum の機能ブロック • Quantum Server – 論理ネットワークの管理を行う – Plugin は Quantum Server の一部 • Agent – Quantum Server 以外のサービスプロセス。Quantum Server 以外の サーバでも動作可能。 – Plugin の実現方式に応じて、必要に応じて使用する。 実現方式次第では Agent は不要。 • Plugin Agent – vSwitch の情報取得、設定を行う • DHCP Agent – 仮想NW単位のDHCPサーバの管理を行う • L3 Agent – 論理ルータの操作を行う。論理ルータは、iptables を利用して実現
  • 22. 機能ブロックと配置 External network Management Network eth0 eth2 eth0 eth0 eth0 Compute Node Compute Node OVS (br-ex) Nova(CC) Quantum DHCP agent Nova Nova Server L3 agent Compute Compute Plugin Agent Plugin Agent Plugin Agent Network Node OVS OVS OVS (br-int) (br-int) (br-int) Controller Node eth1 eth1 eth1 Data Network
  • 23. 機能ブロックと配置 • Plugin Agent – データトラフィックを扱うノードで動作させる必要あり • Nova-compute ノード • DHCP-agent が動作するノード • L3-agent が動作するノード • DHCP-agent, L3-agent – いずれか一つのノードで動作させる必要あり – L3-agent は外部ネットワークとの通信を行うため、 Nova-Compute ノードとは別ノードにするのが望まし い。 – 現状、Nova-network の multi_host 構成は未対応
  • 24. Quantum を使う上での注意点 (1) • Network Namespace – Linuxが持つネットワーク仮想化の機能で、1つの物理ホスト上に、 複数の独立したネットワーク機能を構成できる。 他の Namespace の影響を受けない。 – Quantumでは、IPアドレスが重複したネットワークを扱うために、 Network Namespace を利用しています。 起動したVMの動作確認に ping を打とうとした際に、 制御サーバから Ping を打っても届きません。  Network Namespace 内からコマンドを実行する必要があります。 ip netns exec <netns-name> ping 192.168.1.10 – 詳しくは “network namespace” で検索してください。 – 最近のUbuntu(12.04など)では問題なく動作しますが、 RHEL6/CentOS6系では現状は動作しません。 • Quantumの設定で Network Namespace を使用しないようにすることもできま す。
  • 25. Quantum を使う上での注意点 (2) • ネットワークの操作は quantum コマンドで。 – nova-manage network は使わないで下さい。 create コマンド自体は成功して、list でも表示されますが、何の 意味もありません。Nova DBに書き込んでいるだけなので。 – Grizzly で、Quantum が有効になっていると、nova-manage network でエラーが出るようになるかもしれません。 • KVM – /etc/libvirt/qemu.conf に設定が必要です。 – Quantum では作成済みの tap device を指定してVMを起動しま す。そのため、QEMU が tap device を操作できるように設定が 必要。 cgroup_device_acl = [ "/dev/null", "/dev/full", "/dev/zero", "/dev/random", "/dev/urandom", "/dev/ptmx", "/dev/kvm", "/dev/kqemu", "/dev/rtc", "/dev/hpet", "/dev/net/tun", ]
  • 26. 次期リリース Grizzly に向けて • Closing gaps – Nova との連携が十分でない機能の実現 – Quantum Security groups & metadata service with overlapping IPs – L3 forwarding 、DHCP機能の scalability 確保 • 負荷分散, nova “multi_host” flag 相当 • Advanced Services – Load-balancing (LBaaS) – VPN
  • 27. 最後に • Quantum を使うと、 – 仮想ネットワークを自由に作れるようになります。 自由なネットワークトポロジー。 – SDN/OpenFlow といった新しいネットワーク技術と 組み合わせて、従来のネットワーク制限を克服で きます。 • 情報不足、機能不足な点も多いです。 – 日本OpenStackユーザ会の勉強会などもご利用 下さい。