• 検索結果がありません。

自己紹介 元木顕弘 某電気系メーカの研究所に所属 IPルータ 広域 Ethernet 装置 迷惑メールフィルタなどの開発をやっていました 最近は OpenStack, OpenFlow 周りで活動しています Linux JM Project 皆さん日本語マニュア

N/A
N/A
Protected

Academic year: 2021

シェア "自己紹介 元木顕弘 某電気系メーカの研究所に所属 IPルータ 広域 Ethernet 装置 迷惑メールフィルタなどの開発をやっていました 最近は OpenStack, OpenFlow 周りで活動しています Linux JM Project 皆さん日本語マニュア"

Copied!
27
0
0

読み込み中.... (全文を見る)

全文

(1)

OpenStack が実現する仮想ネットワーク

OpenStack Quantum の紹介~

Akihiro Motoki (@ritchey98)

OpenStack Quantum Core Developer

Japan OpenStack Users Group

(2)

自己紹介

• 元木 顕弘

Twiter: @ritchey98

• 某電気系メーカの研究所に所属

IPルータ、広域Ethernet装置、迷惑メールフィルタなど

の開発をやっていました。

の開発をやっていました。

– 最近は

OpenStack, OpenFlow 周りで活動しています。

Linux JM Project

– 皆さん日本語マニュアル必要ですか。いつやめても

いいです

(^^;

(3)

OpenStack Project と Quantum

Compute

Nova

Swift (Objects)

*-as-a-Service Capability

OpenStack Service

Storage

Network

Glance (Images)

Quantum

Cinder (Block)

identity

Keystone

(4)

Quantum の目的 #1

Network-as-a-Service (NaaS) を提供する

– テナントが自由なネットワーク操作を提供

• 複数のプライベートなネットワークの作成

IPアドレスの制御

IPアドレスの制御

– 論理ネットワーク操作

API

• 論理操作と物理操作を分離

• 物理レイヤーは

Quantum (Plugin) が設定する

(5)

Quantum の目的 #2

• 複数のネットワーク技術に対応

– データセンタでは新たな要件が発生

multi tenancy, remote data center, VM mobility, advanced

network services, …

Nova は VLAN + Linux iptables のみが利用可能

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 と関連付けられる。

Net1

VM1 10.0.0.2

Nova

Quantum

L2 virtual network

VM2

10.0.0.3

virtual port

virtual server

virtual interface (VIF)

virtual subnet

10.0.0.0/24

IPv6

(7)

Quantum でできること

TenantA-VM1 10.0.0.2 TenantA-VM1 10.0.0.2 TenantA-VM3 TenantA-VM3 9.0.0.2 TenantA-VM2 10.0.0.3 TenantA-VM2 10.0.0.3

Tenant-A Net1

10.0.0.0/24

Tenant-A Net2

9.0.0.0/24

L2 virtual network

virtual port

virtual server

virtual interface (VIF)

virtual subnet

• ネットワークの自由な作成

IP overlapping Tenant Networks

External

88.0.0.0/18

External

Net

88.0.0.0/18

SNAT for external traffic

Floating IP

• 複数

NIC を持った VM の)作成

• ルータ経由で

Subnet 間通信

(8)

Tenant View vs Infra View

Tenant-A VM VM net2 VM VM net1 R Tenant-A VM VM net1 R

Internet

Infra (Provider) View

VM

Tenatn View

Data Center Network

Internet

GW

vSwitch

VM VM

vSwitch

VM VM

vSwitch

VM VM

SW

SW

(9)

Tenant View vs Infra View

Tenant-A VM VM net2 VM VM net1 R Tenant-A VM net1 R

Internet

User

Quantum は論理操作をユーザに提供

• 物理操作はプラグイン

or NW Controller が行う

REST API

Infra (Provider) View

VM

VM net1

R

Tenatn View

Data Center Network

Internet

GW

vSwitch

VM VM

vSwitch

VM VM

vSwitch

VM VM

Quantum

NW

Controller

SW

SW

Nova

Plugin

REST API

(10)

Quantum API

Network, Subnet, Port のそれぞれに対して

List, Create, Read, Update, Delete 操作を

REST API で行う。

net-create, net-update, net-delete,

net-list, net-show

net-list, net-show

subnet-create, subnet-update, subnet-delete,

subnet-list, subnet-show

port-create, port-update, port-delete,

(11)

Quantum API (network)

$ quantum net-create net1 Created a new network:

+---+---+ | Field | Value | +---+---+ | admin_state_up | True | | 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 | | | 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 | | 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 | +---+---+

(14)
(15)
(16)
(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

Quantum Nova Quantum Plugin Nova Compute Virtual Switch VM VM Nova Compute Virtual Switch VM VM HW Switch Physical Network agent agent

(19)

Quantum

OpenStack と OpenFlow の連携

Nova

NEC OpenFlow Plugin

Nova Compute

Nova Compute

CLI / Dashboard (Horizon) / Orchestration Tool

Quantum API

Nova API

Nova Compute

Virtual Switch

VM

VM

Nova Compute

Virtual Switch

VM

VM

HW Switch

OpenFlow Controller

Network

OFC API

OpenFlow Protocol

agent agent

(20)

Quantum Plugin

• 現在

Mainline に入っているもの

NW Controller なし

Open vSwitch Plugin (VLAN, GRE)

Linux Bridge Plugin (VLAN)

SDN/OpenFlow 系

Nicira NVP Plugin

Nicira NVP Plugin

Ryu Plugin

NEC OpenFlow Plugin

Trema SliceableSwitch (OSS)

ProgrammableFlow

Big Switch Plugin

• その他

(21)

Quantum の機能ブロック

Quantum Server

– 論理ネットワークの管理を行う

Plugin は Quantum Server の一部

Agent

Quantum Server 以外のサービスプロセス。Quantum Server 以外の

サーバでも動作可能。

Plugin

Plugin の実現方式に応じて、必要に応じて使用する。

実現方式次第では

Agent は不要。

Plugin Agent

vSwitch の情報取得、設定を行う

DHCP Agent

– 仮想

NW単位のDHCPサーバの管理を行う

L3 Agent

– 論理ルータの操作を行う。論理ルータは、

iptables を利用して実現

(22)

Nova(CC)

Quantum Server

Compute Node Compute Node eth0

eth0 eth0

Nova

Compute

Compute

Nova

Management Network

機能ブロックと配置

eth0 DHCP agent L3 agent OVS (br-ex) eth2 External network Server Data Network eth1 eth1 OVS

(br-int) (br-int)OVS

Compute

Compute

Plugin Agent Plugin Agent

Controller Node eth1 OVS (br-int) L3 agent Plugin Agent Network Node

(23)

機能ブロックと配置

Plugin Agent

– データトラフィックを扱うノードで動作させる必要あり

Nova-compute ノード

DHCP-agent が動作するノード

L3-agent が動作するノード

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 を打とうとした際に、

起動した

VMの動作確認に ping を打とうとした際に、

制御サーバから

Ping を打っても届きません。

Network Namespace 内からコマンドを実行する必要があります。

– 詳しくは

“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

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 確保

L3 forwarding 、DHCP機能の scalability 確保

• 負荷分散

, nova “multi_host” flag 相当

Advanced Services

Load-balancing (LBaaS)

(27)

最後に

Quantum を使うと、

– 仮想ネットワークを自由に作れるようになります。

自由なネットワークトポロジー。

SDN/OpenFlow といった新しいネットワーク技術と

組み合わせて、従来のネットワーク制限を克服で

組み合わせて、従来のネットワーク制限を克服で

きます。

• 情報不足、機能不足な点も多いです。

– 日本

OpenStackユーザ会の勉強会などもご利用

下さい。

参照

関連したドキュメント

近年の動機づ け理論では 、 Dörnyei ( 2005, 2009 ) の提唱する L2 動機づ け自己シス テム( L2 Motivational Self System )が注目されている。この理論では、理想 L2

機械物理研究室では,光などの自然現象を 活用した高速・知的情報処理の創成を目指 した研究に取り組んでいます。応用物理学 会の「光

方法 理論的妥当性および先行研究の結果に基づいて,日常生活動作を構成する7動作領域より

Jabra Talk 15 SE の操作は簡単です。ボタンを押す時間の長さ により、ヘッドセットの [ 応答 / 終了 ] ボタンはさまざまな機

* Windows 8.1 (32bit / 64bit)、Windows Server 2012、Windows 10 (32bit / 64bit) 、 Windows Server 2016、Windows Server 2019 / Windows 11.. 1.6.2

操作は前章と同じです。但し中継子機の ACSH は、親機では無く中継器が送信する電波を受信します。本機を 前章①の操作で

本マニュアルに対する著作権と知的所有権は RSUPPORT CO., Ltd.が所有し、この権利は国内の著作 権法と国際著作権条約によって保護されています。したがって RSUPPORT

8月9日, 10日にオープンキャンパスを開催 し, 本学類の企画に千名近い高校生が参 加しました。在学生が大学生活や学類で