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

No10 Multinode and Resource Control

N/A
N/A
Protected

Academic year: 2018

シェア "No10 Multinode and Resource Control"

Copied!
45
0
0

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

全文

(1)

ク ウ 基盤構築演習

Cloud Infrastructure Design and Deployment

10. 複数 ー 環境の構築 資源管理

2017.v1

(2)

Table of contents

 複数 ー 構成 機能分散

 並列化さ セ 管理

 ン ッ ワー 分離

 Region & Availability Zone

 ー 問題 解決

 ー ー ー

(3)

複数 ー の構成 よ 機能分散

(4)

OpenStack の ーキテクチャ

 実際 環境 OpenStack セ 各 ー ー 分散配置し 動作させ す

(5)

分散配置の例

nova-api schedulernova-

nova- consoleauth

nova- novncproxy

glance-api registryglance- keystone-all nova- compute

nova- conductor

cinder-api schedulercinder- cinder-volume

neutron-server neutron-l2-agent neutron-l3-agent

neutron- dhcp-agent

neutron- metadata-agent

neutron-ns- metadata-proxy

horizon MySQL RabbitMQ

nova-api schedulernova-

nova- consoleauth

nova- novncproxy

glance-api glance-

registry keystone-all nova- compute

cinder-api cinder-

scheduler cinder-volume

neutron-server neutron- l2-agent

neutron- l3-agent

nova-conductor

neutron-l2-agent

All-in-One

ン を分離

し 並列化 次 演習 こ 環

境構築し

ン ー ー 兼 ン ー 兼 ッ ワー 兼 ー ー

ン ー ー

Note

OpenStack 稼働し い 種類 っ ホ

(api や 他)

ン (nova-compute)

ッ ワ (neutron-l3,dhcp)

(cinder-volume)

等 呼称 場合 あ

ン ー ー 兼 ッ ワー 兼 ー ー

(6)

分散配置の例

ッ ワー ン

ー 分離

ッ ワー ン

ー 分離し

ー 機能 分

離 さ ン

ー ー 2重化

nova-api schedulernova-

nova- consoleauth

nova- novncproxy

glance-api glance-

registry keystone-all nova- compute

cinder-api cinder-

scheduler cinder-volume

neutron-server

horizon MySQL RabbitMQ

nova-conductor

neutron-l2-agent

neutron-l2-agent

neutron-l3-agent

neutron-dhcp-agent

neutron- metadata-agent

neutron-ns- metadata-proxy

nova-api schedulernova-

nova- consoleauth

nova- novncproxy

glance-api glance-

registry keystone-all nova- compute

cinder-api cinder- scheduler

neutron-server

nova-conductor

neutron-l2-agent

neutron-l2-agent

neutron-l3-agent

neutron-dhcp-agent

neutron- metadata-agent

neutron-ns- metadata-proxy

cinder-volume

ン ー ー ー ー ー ン ー ー ッ ワー ー

ン ー ー ー ッ ワー

(7)

ッ ワーク配置

 セ 配置 共 ッ ワー 構成 気 配 必要 あ す

 特定 セ 間 大量 ー や 取 さ ー ン 保 分離させ

必要 す

 以下 ッ ワー 構成例 す

nova-api nova-

scheduler

nova- novncproxy

glance-api registryglance- keystone-all nova- compute

cinder-api schedulercinder- neutron-server

horizon MySQL RabbitMQ

nova-conductor

neutron-l2-agent

neutron-l2-agent

neutron-l3-agent

neutron-dhcp-agent

neutron- metadata-agent

neutron-ns- metadata-proxy

cinder-volume nova-

consoleauth

ン 接続

必須

外部 ッ 流

ッ ワ

ン 通信 流

ッ ワ

(8)

並列化さ たプ セ の管理

(9)

ー オ ー ー系の配置

 nova-compute や neutron-xx-agent 実体 ー 操作す セ 複数 並列し

配置し す

 ー ー 分散配置 行う セ 稼働させ ー 増やすほ 全体 性能 あ

o 注意 必要 点 し 性能 向上させ 可用性 向上し い いう点 す

o OpenStack ンし 際 自動 復旧す 機能 持 い せ

nova-compute nova-compute nova-compute nova-compute nova-compute

neutron-l3-agent

neutron-l2-agent

neutron-l3-agent

neutron-l2-agent

neutron-dhcp-agent neutron-dhcp-agent

台数を増やし 拡張可能

AMQP

neutron-l3-agent

neutron-l2-agent

neutron-dhcp-agent

(10)

API サー ーの配置

 API系 セ 並列 配置す 可用性 性能 向上させ

 受 取 命令 AMQP経由 他 セ 渡さ す

 し API ン ン ー ーへ提供す 必要 あ 通

常 ー ン ー配下へ収 Keystone 登録す

し す

nova-api nova-api

台数を増やし 拡張可能

AMQP

nova-api

ー ン ー

keystone

keystone

ン 仮想IPを登録

(11)

コン ー ー系プ セ の配置

 ン ー ー系 セ 単純 異 へ並列配置す 可用性 性能

向上 行え す

 AMQP 経由し 命令 や 取 さ す

 し 1部 セ ー 共有 Memcached 配置す 必要 あ

o 具体的 nova-consoleauth 管理す 一時 ー ン ー 等 す

AMQP

nova-scheduler

nova-conductor

nova-consoleauth

台数 増やし 拡張可能

memcached

nova-scheduler

nova-conductor

nova-consoleauth

nova-scheduler

nova-conductor

nova-consoleauth

(12)

DB/AMQP の配置

 DB/AMQP 全 ー 保存 全 命令 中

継 行う重要 セ す

 ン 如何 高性能 高可用 保

複数 ー OpenStack 構成す 際 ン

OpenStack 分離さ す

簡単 概要 紹介し す

 DB

o MySQL/MariaDB Galera Cluster 一般的 す

 AMQP

o RabbitMQ ー ン HA 構成 組 一般的 す

(13)

テ ン ッ ワークの分離

(14)

マ チ ー 環境 の ッ ワーク隔離

 OpenStack上 ッ ワー 隔離機能 い 見 い す

外部 ッ ワ

Ext-Router

ン ー ン

openstack-cc

( ー ー)

eth0 eth1

論理 Port

work-net(192.168.100.0/24)

floating-net(172.168.100.0/24)

論理 Port

openstack-

node-2

openstack-

node-1

eth0

論理 Port

eth0

論理 Port

図 う ー

構成さ 環境上 複数

ン 作成し 際

ン 複数 ン

ー ー 場

合 ン ー 間 ッ

ワー 隔離 う 行わ

い 見 い す

(15)

All-in-One の ッ ワーク構成

 単一 ン内 仮想 ッ ワー 分離 OVS 上 VLAN 行わ い す

 仮想 ッ ワー 間 接続 ー ー 内 ー ン 行わ い す

 し 他 ン ー 上 仮想 ン 通信 br-tun 経由し vxlan

用い ン 行わ い す

ここ 先 別 ン

接続さ い

(16)

マ チ ー の ッ ワーク構成

 ン ー ー 間 接続 vxlan, OpenFlow 実現さ い す

o LM2/OVS ン 採用し ン 利用す 全く異 構成

コン ローラーノー のNIC

コンピュー のNIC

コンピュー のNIC

こ 部分 OpenFlow

vxlan を使っ 仮想 ッ ワ

分離 行わ い

(17)

OpenFlow

 従来 L2, L3 ー 柔軟 ー ー し

ッ 制御 行う 可能

 ー 記述可能 柔軟 ッ ワー 構

成 自動制御さ 大規模 ッ ワー 環境 構築

(18)

VXLAN

 従来 ッ ワー 隔離技術VLAN 識別 ッ 12 ッ あ

利用 ID 数 4,000程度 し

 人間 管理す 範囲 あ ID 数 十分 管理 工数等

問題 し Neutron う 自動的

ッ ワー 管理す う ID 数 足 く

し い す

 VXLAN 識別ID 24 ッ 拡張し 大 分離空間

作成

Frame

Check

Sequence

VLAN ID

12bit

Flag

1bit

Priority

3bit

Type

16bit

送信元

MAC

宛先

MAC

Frame

Check

Sequence

Optional Inner 802.1Q

送信元

MAC

宛先

MAC

VXLAN

ID

24bit

送信元 UDP

IP

宛先

Ethernet ッ IP

VLAN

VXLAN

(19)

ケッ の送信時

 仮想 ン 送信さ ッ br-int VLAN ID 付加さ す

o 送信先 同一 br-int 接続さ い 場合 VLAN ID 外さ 送信先へ送 す

 後 ッ br-tun へ送信さ VLAN ID 取 外さ VXLAN ID

付加さ す

 し 別 ンへ VXLAN ン 構成し い ー へ ッ 送信さ

ッ ッ

VLAN ID

VXLAN ID

OpenFlow VLAN ID VXLAN ID 付 替え

行わ

(20)

ケッ の受信時

 ン 構成し い 相手先 VXLAN ッ 受信す

 br-tun VXLAN ID 取 外し VLAN IDへ 付 替え br-int

へ転送す

 br-int 自分 接続 ー 相手先 い VLAN ID 取 外

し ッ 転送

ン 構成し 相手

ッ 受信す

OpenFlow VLAN ID

VXLAN ID 付 替え

行わ

VXLAN ID VLAN ID

(21)

Region & Availability Zone

(22)

Region & Availability Zone の概要

 OpenStack 構成す 際 いく 分割単位 設定す

一般的 す

 単位 ー ン ーン あ す

o OpenStack

o ーン OpenStack 内 分割し

ンA ンB

ンC

ンD

(23)

利用上の差

 ー ン 異 ン ン 異 す

 ーン ン ン 操作し す

 別 ー ン 作成し ー 完全 独立し 起動さ す

ー ンA

ーン

ーン

ー ンB

ーン

ーン

http://compute.tokyo.ac.jp/v2/

http://compute.osaka.ac.jp/v2/

ン ン 操作可能

VM VM

VM

(24)

構成上の差

 ー ン

o Keystone( 認証 ) 以外 共有し せ

o Nova やNeutron AMQP ン間

独立し い す

o 作成し 仮想 ン 仮想 ッ ワー

通信等 行え せ

 ー ン IP 使 通信 可能 す

 ーン

o AMQP 等全 共有し い す

o 仮想 ッ ワー 等 ーン 構築さ

ーン 仮想 ン 通信可能 す

o Glance ッ 等 ーン 影響 受

(25)

ー ョンの用途

 地理的 離 OpenStack 構成す

北海道 ー セン ー

ー ン

福岡 ー セン

ー ン

(26)

ビ テ ーンの用途

 近隣 ー セン ー単位や 敷地内 建屋単位 建物内 単位 内

ッ 単位等 設定し す

o 特 制約 あ 管理者 自由 設定可能 す

o 通常 障害等 備え 影響範囲 限定す う 設定し す

 うえ 稼働す ー ン ーン 構成さ い せ

 以下設定 例

接続さ い ッ 単位 分割

AZ1 AZ2 AZ1 AZ2

電源 供給元 分電盤単位 分け

(27)

ビ テ ーンの実装

 ーン Nova 持 ー いう ン ー ー ー ン

機能 上 実装さ い す

o 複数 可能 す

 ー ー 作成さ ーン 確認し ン ン 作成時 指定す 可

能 す

ホ ホ ホ

az1

az2

az2

起動時 az2を与え

必 az2 属 ン

配置さ

(28)

ー 問題 解決

(29)

OpenStack の ケー ビ テ

 ー ン間 ー 共有し い OpenStack

最大単位 ー ン す

 配置さ ン ー ン DB AMQP

共有し す

 OpenStack自身 セ 並列配置す 仕様上 制限 く

ー す 実際 DB AMQP 性能 依存す す

DB

管理す ー 増え ほ

内 DB/AMQPへ

負荷 増加

OpenStack

並列 配置す

ー させ 可能

AMQP

(30)

ケー を実現す ため

 現在 OpenStack DB/AMQP 制約 超え

幾 試 進 い す

 代表的 方法 Cell Tricircle 旧 Cascading

い 紹介し す

 二 ー 異 い す

o Cell

 ー ン 拡張す

o Tricircle

 複数 ー ン 連結し 拡張す

(31)

Cell

 ー ン 拡張す ー

 nova-cell セ AMQP ッセー 連結し いく

Region1

AMQP

nova-api

nova-cell

DB

AMQP

nova-cell

DB

nova-scheduler

nova-compute

nova-compute

nova-compute

nova-compute

AMQP

nova-cell

DB

nova-scheduler

nova-compute

nova-compute

nova-compute

nova-compute

Top Cell

DB AMQP

nova-scheduler

nova-compute DB AMQP

nova-scheduler

nova-compute

keystone

glance

Child Cell

Grand Child Cell

(32)

Tricircle

 複数 ー ン API 束 個々 ー ン AZ あ

う 見せ 操作す

o Tricircle キ 配下 ン 収 AZ う 扱う 可能

Region1

AMQP

DB

nova

neutron

cinder

Region2

AMQP

DB

nova

neutron

cinder

Region3

AMQP

DB

nova

neutron

cinder

AMQP DB

api

scheduler

proxy

(az=region1)

proxy

(az=region2)

proxy

(az=region3)

(33)

ケ ュー ー

(34)

ケ ュー ーの重要性

 複数 ー OpenStack 構成し 際 う ー 配置先 決定す ? 問題

 OpenStack ー ー 配置 ン ー し す

 ー ー 持 い ン ー ン 以下 す

o nova

o cinder

o neutron

nova ー ー 取 上 す

nova-compute nova-compute nova-compute nova-compute nova-compute

nova-scheduler

ー ー

ン ン 作成

へ配置す ?

(35)

ケ ュー ーの機能:フ 重み

 Nova ー ー 重 ン ン 起動す

決定し す

o 従来 ー ー 算出し 安い 優先度 高

く 仕組

o 現在 計算し 最 重い 優先度 高く

起動可能 ー

抽出

重 計算 降順 ー

A

B

C

D

E

B

C

E

B

C

E

weight=100

weight=150

weight=80

最 優先度 高い

(36)

ケ ュー ーの種類

 ー ー ー

ー ー(filter scheduler) 設定さ い す

o ー ー 利用さ

 他 ー ー

o caching scheduler

 同時 大量 ン ン 起動 行う環境 利用 想定さ い

 filter scheduler 拡張 状態 キ ッ し 高

速 処理 行う 分 正確性 失わ

o chance scheduler

 ン 選出す 用

(37)

の実装

 ー ー 以下 設定 ー ー 参照し

o scheduler_driver

 ー ー 設定す

 値

 nova.scheduler.filter_scheduler.FilterScheduler

o scheduler_default_filters

 filter scheduler ー す 列挙す

 演習環境 設定値

 RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapa

bilitiesFilter,ImagePropertiesFilter,CoreFilter

こ 先頭 適用さ い 適合し い

(38)

代表的 フ

 本演習環境 利用さ い

名 機能

RetryFilter 選択し N 回 処理 失敗し 場合 除外す

回数N scheduler_max_attempts 設定さ

AvailabilityZoneFilter 指定さ ーン 属す 通過す

RamFilter 指定さ ー ー 量 利用 通過す ー ー

ッ 許可す 場合 ram_allocation_ratio 設定す 1.5

ComputeFilter 操作可能 有効(enabled)状態 通過す

ComputeCapabilitiesFilter ー ー 設定さ EXTRA_SPEC ン要素 ッ す 通過

ImagePropertiesFilter 起動 設定さ ン要素 ッ す 通過

CoreFilter 指定さ ー ー vCPU数 利用 通過す ー ー ッ

許容す 場合 cpu_allocation_ratio 設定す 16.0

(39)

その他のフ

 他 多数 ー 準備さ い す

o 以下 一部 紹介し す

名 機能

AllHostsFilter を無条件 通過さ

DifferentHostFilter 起動時 ン し 与え ン ン 起動し い ホ を除外

SameHostFilter 起動時 ン し 与え 起動し い ホ 以外を除外

IoOpsFilter max_io_ops_per_host 指定し IOPS 発生し い ホ を除外

PciPassthroughFilter 指定さ を PCI 利用 を選択

MetricsFilter Metric 利用可能 ホ を通過さ Metric 次 重 計算 利用さ

使用さ い

JsonFilter JSON 任意 条件を与え ホ を選択し

(40)

重みの算出

 さ 重 計算し 優先順位 す

 重い ほ 優先度 高く す

 重 付 方法 Metric 使用さ せ

o ram

 利用可能 量 重

 制御係数 値

 ram_weight_multiplier=1.0

 空 容量 多いほう 重く

o io_ops

 現在発生し い IOPS 重

 制御系数 値

 io_ops_weight_multiplier=-1.0

 発生し い IOPS 多いほう 軽く

o metric

 ッ 使い任意 計算式 重

値を正規化し 係数を け 値を合計

し 算出さ

(41)

の確定

 重 ー し 後 優先度 高い順

scheduler_host_subset_size 取 出し す

 取 出さ ン 選択し ン

ン 起動す 決定さ す

 scheduler_host_subset_size 1

B

C

E

weight=100

weight=150

weight=80

例)scheduler_host_subset_size = 2

選 す ン

(42)

参考:OpenStack plays Tetris

 CERN 起 ー ー 関す 問題

o CERN 数十万 規模 OpenStack 運用し い 世界最大規模 ー

 現象

o 頻繁 仮想 ン 立 上 ー ン 失敗す

o 全体 余裕 あ

 原因

o 科学演算 ン 占有す う 巨大 ン 立 上 多い

o 少数 小型 ン 全体 分散し 配置さ し う 巨大

ン 起動 く し う

VM VM VM

VM

VM

(43)

参考: ケ ュー ーの メー ー

 scheduler_driver_task_period

o ー ー 更新す

間隔

 scheduler_driver

o 利用さ ー ー 指定す

 scheduler_available_filters

o 利用可能 ー 列挙

 scheduler_default_filters

(44)

参考: ケ ュー ーの メー ー

 scheduler_weight_classes

o 重 計算 指定さ 指定

 ram_weight_multiplier

o 重 係数

 io_ops_weight_multiplier

o IOPS 重 係数

 scheduler_host_subset_size

o 優先度

(45)

参照

関連したドキュメント

節点領域辺連結度 (node-to-area edge-connectivity), 領域間辺連結度 (area-to-area edge-connectivity) の問題. ・優モジュラ関数

Where a rate range is specified, the higher rates should be used (a) in fields with a history of severe weed pressure, (b) when the time between early preplant tank mix and

Flexstar GT 3.5 may be applied as a preplant or preemergence burndown application in cotton or as a postemergence directed application in glyphosate-tolerant (GT) cotton* and as

TriCor 4F herbicide tank mix combinations are recommended for preplant incorporated applications, pre-emergence surface applications, Split-Shot application and Extended

収益認識会計基準等を適用したため、前連結会計年度の連結貸借対照表において、「流動資産」に表示してい

Refer to crop specifi c application directions in this label for specifi c application information for each crop in each region including the maximum yearly application rate,

Apply specified dosages of Dimetric EXT and Gramoxone Inteon in at least 10 gallons of water per acre with aerial equipment or at least 20 gallons of water per acre with

弊社専用ダイヤルもしくは、お買い上げの販 売会社にご連絡ください。( ☞裏表紙 ) 特定コンセント