ク ウ 基盤構築演習
Cloud Infrastructure Design and Deployment
10. 複数 ー 環境の構築 資源管理
2017.v1
Table of contents
複数 ー 構成 機能分散
並列化さ セ 管理
ン ッ ワー 分離
Region & Availability Zone
ー 問題 解決
ー ー ー
複数 ー の構成 よ 機能分散
OpenStack の ーキテクチャ
実際 環境 OpenStack セ 各 ー ー 分散配置し 動作させ す
分散配置の例
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)
等 呼称 場合 あ
ン ー ー 兼 ッ ワー 兼 ー ー
分散配置の例
ッ ワー ン
ー 分離
ッ ワー ン
ー 分離し
ー 機能 分
離 さ ン
ー ー 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
ン ー ー ー ー ー ン ー ー ッ ワー ー
ン ー ー ー ン ー ー ッ ワー ー ー ー
ッ ワーク配置
セ 配置 共 ッ ワー 構成 気 配 必要 あ す
特定 セ 間 大量 ー や 取 さ ー ン 保 分離させ
必要 す
以下 ッ ワー 構成例 す
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
ン 接続
必須
外部 ッ 流
ッ ワ
ン 通信 流
ッ ワ
並列化さ たプ セ の管理
ー オ ー ー系の配置
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
API サー ーの配置
API系 セ 並列 配置す 可用性 性能 向上させ
す
受 取 命令 AMQP経由 他 セ 渡さ す
し API ン ン ー ーへ提供す 必要 あ 通
常 ー ン ー配下へ収 Keystone 登録す
し す
nova-api nova-api
台数を増やし 拡張可能
AMQP
nova-api
ー ン ー
keystone
keystone カ
ン 仮想IPを登録
コン ー ー系プ セ の配置
ン ー ー系 セ 単純 異 へ並列配置す 可用性 性能
向上 行え す
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
DB/AMQP の配置
DB/AMQP 全 ー 保存 全 命令 中
継 行う重要 セ す
ン 如何 高性能 高可用 保
複数 ー OpenStack 構成す 際 ン
す
OpenStack 分離さ す
簡単 概要 紹介し す
DB
o MySQL/MariaDB Galera Cluster 一般的 す
AMQP
o RabbitMQ ー ン HA 構成 組 一般的 す
テ ン ッ ワークの分離
マ チ ー 環境 の ッ ワーク隔離
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
図 う ー
構成さ 環境上 複数
ン 作成し 際
ン 複数 ン
ー ー 場
合 ン ー 間 ッ
ワー 隔離 う 行わ
い 見 い す
All-in-One の ッ ワーク構成
単一 ン内 仮想 ッ ワー 分離 OVS 上 VLAN 行わ い す
仮想 ッ ワー 間 接続 ー ー 内 ー ン 行わ い す
し 他 ン ー 上 仮想 ン 通信 br-tun 経由し vxlan
用い ン 行わ い す
ここ 先 別 ン
接続さ い
マ チ ー の ッ ワーク構成
ン ー ー 間 接続 vxlan, OpenFlow 実現さ い す
o LM2/OVS ン 採用し ー 例 他 ン 利用す 全く異 構成 す
コン ローラーノー のNIC
コンピュー のNIC
コンピュー のNIC
こ 部分 OpenFlow
vxlan を使っ 仮想 ッ ワ
分離 行わ い
OpenFlow
従来 L2, L3 ー 柔軟 ー ー し
ッ 制御 行う 可能
ー 記述可能 柔軟 ッ ワー 構
成 自動制御さ 大規模 ッ ワー 環境 構築
す
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
ケッ の送信時
仮想 ン 送信さ ッ 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 付 替え
行わ
ケッ の受信時
ン 構成し い 相手先 VXLAN ッ 受信す
br-tun VXLAN ID 取 外し VLAN IDへ 付 替え br-int
へ転送す
br-int 自分 接続 ー 相手先 い VLAN ID 取 外
し ッ 転送
ッ
ッ
ン 構成し 相手
ッ 受信す
OpenFlow VLAN ID
VXLAN ID 付 替え
行わ
ッ
VXLAN ID VLAN ID