複数OpenFlowコントローラにおける 動的負荷分散

複数OpenFlowコントローラにおける
動的負荷分散手法の検討
○ LIANG CHU
川島龍太
松尾啓志
名古屋工業大学
2014/3/20
研究背景
 SDNの採用が増加
 仮想化によってモビリティを増したネットワーク環境
 一元化されたネットワークを柔軟に構築・運用
 コントローラの複雑さが増加
 高可用性対応、QoS制御、セキュリティ
 ネットワーク規模の増大
 ホスト数、ネットワーク機器数の増加
 単一障害点
 コントローラの障害によって、全通信に影響を与える
分散型アーキテクチャに基づいたコントローラ
 性能限界
 コントローラの性能限界がネットワークの限界となる
既存研究 (1/2)
 HyperFlow: A Distributed Control Plane for OpenFlow
•Amin Tootoonchian,Yashar Ganjali, University of Toronto
•Internet network management conference on Research on enterprise networking 2010
OFC 1
OFC 2
OpenFlow controller cluster
負荷が高い
負荷が低い
大量の新規フローが
コントローラに転送
OpenFlow switches
Group A
Group B
高いスケーラビリティが得られる
コントローラの負荷変動に対応できない
既存研究 (2/2)
 Scalable OpenFlow Controller Redundancy Tackling
Local and Global Recoveries
•
•
Keisuke Kuroki, Nobutaka Matsumoto, Michiaki Hayashi
KDDI R&D Laboratories, 2013
OpenFlow1.2のマルチコントローラ機能を用いた冗長化手法を提案
コントローラの負荷変動に対応できない
引継管理サーバが単一障害点になる
 Towards an Elastic Distributed SDN Controller
•
•
Advait Dixit, Fang Hao, Sarit Mukherjee, T.V. Lakshman, Ramana Kompella
Purdue University, Bell Labs Alcatel-Lucent, 2013
負荷状況に応じてスイッチ・マイグレーションプロトコルを行う
マスターコントローラのクラッシュに対応できない
提案手法の特長
 負荷を動的に分散
 各スイッチに対して異なるコントローラをMasterとして設定
 スイッチ・マイグレーション

特定コントローラへの負荷集中を防ぐ
 クラッシュ障害に対応
 分散型アーキテクチャ

単一障害点を持たない
 障害時の自動フェイルオーバー
 JGroupsの利用
 グルーピングによるスイッチ管理の単純化
 各コントローラはグループ内のスイッチのみ管理
 グループ内でスイッチ・マイグレーションを行う
全体のアーキテクチャ
Cloud orchestrator
(SDN controller)
Group B
Group A
OpenFlow controller cluster
JGroups
OpenFlow
Master
Slave
OpenFlow switches
ホスト
ホスト
ホスト
ホスト
提案手法の動作
OFC2
OFC1(コーディネーター)
OFC
coordinator
OFC
coordinator
Load
calculator
Load
calculator
OFS
Scheduler
OFS
Scheduler
ホスト
…
…
Master
Role Change Request
Master
高通信量
ホスト
ホスト
低通信量
ホスト
負荷に偏りが生じても,動的にそれを均衡化する
性能評価
 実験環境
OFC1
OFC2
VM5とVM6間のTCPスループットを測定
(全パケットがコントローラを経由)
Open vSwitch
負荷用
物理マシン
VM1
高通信量
2k~100kpps
指定
VM2
VM3
低通信量
2kpps指定
VM4
VM5
VM6
評価用
物理マシン
 実験マシンスペック
OpenFlow Controller マシン
(Floodlight上に追加実装)
負荷用物理マシン
評価用物理マシン
OS
Ubuntu-server 12.04
Centos 6.4 64bit
Centos 6.4 64bit
CPU
Core i5 3.20GHz (4core)
Core i3 3.40GHz (2core)
Core i7 3.30GHz (6core)
Memory
16GB
8GB
32GB
Network
1000Mb/s
1000Mb/s
100Mb/s
OpenFlow Switch
-
Open vSwtich-1.10.0
Open vSwtich-1.10.0
VMM
-
KVM
KVM
評価結果
 評価内容
 2台VM 間のTCP通信のスループットを測定
40
2k packets/sec
10k packets/sec
50k packets/sec
2
100k packets/sec
1.8
35
1.4
25
1.2
LoadDif
20
1
migration point
15
0.8
origin
10
5
0.6
existing
0.4
proposal
0.2
0
0
0
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
Run Time(Sec)
 オリジナルは単一コントローラノードのみ
 既存手法はコントローラノードに対して静的にスイッチを割り当てる
手法(HyperFlow などが採用)
Load Difference
Throughput (Mbit/sec)
1.6
30
まとめと今後の課題
 まとめ
 複数OpenFlowコントローラにおいて動的に負荷を均衡化し,
負荷状況に基いて担当するスイッチを動的に振り分ける手法
を提案
 実験により、コントローラノードの負荷に偏りが生じても,コン
トローラ全体の性能低下を回避することを確認
 今後の課題
 OpenDaylightの成果であるHydrogenへの適用