広域分散IaaSクラウドの設計と構築 ~ WIDE Cloud

広域分散 IaaS クラウドの
設計と構築
〜 WIDE Cloud 〜
関谷 勇司
ADVNET 2012
2012/10/12
WIDE Cloud 〜 大学間広域 IaaS クラウド 〜
NAIST
JAIST
Inter-University Cloud
Sharing the resources on each private cloud
Univ. of
Tokyo
Tokyo
DC
WIDE
Cloud
Osaka
DC
Keio
Univ.
(SFC)
NIPH
a
SFO
DC
2012/10/12
Keio
Univ.
(KMD)
CNU
(Korea)
ADVNET 2012
WIDE Cloud の挑戦
1.  仮想計算機の資源を広域に分散
•  広域環境でのVM構築
2.  インターネット回線を用いて仮想計算機
環境を構築
•  セキュリティ確保とネットワーク障害
を回避するための諸技術実証実験
•  次世代ネットワーク環境(IPv6)に対
応した連携プロトコル設計
3.  企業間の連携とは異なる、大学間特有の
共通サービス提供への挑戦
•  資源を融通し合うためのポリシーと
メカニズム
•  広域仮想計算機資源のユーザへの
提供実験
2
WIDE Cloud の挑戦
•  拠点単位の障害回避 •  ネットワークの柔軟性
拠点B
拠点A
拠点B
Migratable
Network
拠点A
Distributed
Storage
拠点C
2012/10/12
拠点B
拠点A
VM Replication
Migratable
Network
ADVNET 2012
3
広域分散 IaaS の冗長性
Storage�
Storage�
HA
Server�
HA
HA
Server�
HA
HA
Network�
HA
Network�
HA
2012/10/12
HA
ADVNET 2012
4
Amazon EC2 / S3 の障害例
• 
2008/02/15
–  Amazon S3 停止
–  復旧に数時間を要する
• 
2008/07/20
–  Amazon S3 停止
–  復旧に数時間を要する
• 
2009/12/09
–  バージニア州 EC2 サイト電源障害
–  インスタンス (VM) 復旧に数時間を要する
• 
2010/04/01
–  US 東海岸 EC2 サイトにてインスタンス制御不能
–  数時間後に復旧
• 
2011/04/21
–  US 東海岸 EC2 サイトにて再ミラーリング頻発による高負荷障害
–  4日ほど高負荷状態が継続
• 
2012/06/30
– 
– 
– 
– 
2012/10/12
バージニア州 EC2 サイトで電源障害
EBS, RDS, ELB といったサービスも連鎖障害
復旧に数時間を要する
Instagram, Pinterest, Flipboard, Heroku, CloudApp, Netflix といったサービスに障害
ADVNET 2012
5
その障害が波及
出展 : http://itpro.nikkeibp.co.jp/article/COLUMN/20111122/374827/?k2
2012/10/12
ADVNET 2012
6
その他のクラウドサービスも
•  WebARENA Cloud 9 (NTT PC コミュニケーションズ)
–  2011年5月にストレージ障害発生
=> サービス停止
•  NIFTY Cloud (@nifty)
–  2011年11月にDNS 設定による障害発生
•  さくらのクラウド
(さくらインターネット)
–  2011年12月にストレージに起因する障害
=> 現在も新規申込み一時停止中
•  Windows Azure (microsoft)
–  2012年2月にうるう年に起因する障害発生
•  Gmail (google)
–  2009年5月にほぼ全サービスに影響する大規模障害
–  2011年2月にソフトウェア更新に起因する障害
•  ファーストサーバ
–  「クラウド」ではないかもしれませんが
2012/10/12
ADVNET 2012
7
IaaS の可用性を向上させるために
•  ネットワーク移動透過性
–  VM が利用するネットワークを拠点間にて透過的
に提供
•  ストレージ可用性
–  単一ハードウェアや単一拠点に頼らないストレー
ジの提供
•  計算資源冗長性
–  単一ハードウェアや単一拠点に頼らない計算資
源分布
–  COLD standby vs. HOT standby
2012/10/12
ADVNET 2012
8
分散ファイルシステムの可能性
•  100台以上のサーバを
用いて実験
–  StarBED @ NICT 北陸
リサーチセンター
–  遅延を入れて広域環境
をエミュレーション
•  障害が発生した場合の
リカバリー
–  ナイーブな技術
Sheepdog
http://www.osrg.net/sheepdog/
GlusterFS
http://gluster.org/community/documentation/index.php/Main_Page
2012/10/12
ADVNET 2012
9
StarBED を利用した分散ファイルシステム実験
Virtual machines running
directly on the sheepdog
cluster
Virtual machines running
outside of the sheepdog
cluster using iSCSI interface
VM
VM
VM
Hypervisor &
iSCSI initiator
Provide iSCSI
interface
iSCSI target &
Storage node
VM
Hypervisor &
Storage node
Storage
node
Gluster / Sheepdog cluster
100 storage nodes of 500GB HDD, about 2TB storage in total
2012/02
2012/10/12
ADVNET 2012
10
sheepdog 評価 (1)
• 
• 
• 
• 
3 sheepdog 検証
分散ハッシュ型ストレージ
10台の 3.1
PC のローカルストレージを利用
ネットワークトポロジ
1HV にて 図
10VM
を立ち上げ最大 100VM にて検証
1 に検証に用いたトポロジを示す。
実験トポロジ (sheepdog)
2012/10/12
ADVNET 2012
図 1: sheepdog 検証ネットワークトポロジ
11
sheepdog 評価 (2)
•  実験環境
• 
• 
• 
• 
HV : Ubuntu 11.10 (64bit)
VM : Debian 6.0 (32it)
Sheepdog : 0.2.3
Corosync : 1.3.0
•  計測ソフトウェア
•  bonnie++
•  計測手法
•  ストレージ
•  物理サーバのローカル HDD(500G) * 10
•  クライアント
•  10台の HV にそれぞれ 10VM (100VM)
•  5回の試行
2012/10/12
ADVNET 2012
12
sheepdog 評価 (3)
KB /sec
100000
10000
1000
MAX
AVERAGE
MAX(D)
100
AVERAGE(D)
D は 50ms の遅延入り
10
1
put chra
2012/10/12
put block
rewrite block
get char
ADVNET 2012
get block
13
GlusterFS 評価 (1)
• 
• 
• 
• 
ファイル分散型ストレージ
128台の PC のローカルストレージを利用
1HV にて 10VM を立ち上げ最大 100VM にて検証
実験トポロジ (GlusterFS)
2012/10/12
ADVNET 2012
図 2: GlusterFS 検証ネットワークトポロジ
14
GlusterFS 評価 (2)
•  実験環境
•  HV : Ubuntu 11.10 (64bit)
•  VM : Debian 6.0 (32it)
•  GlusterFS : 3.2.1
•  計測ソフトウェア
•  bonnie++
•  計測手法
•  ストレージ
•  物理サーバのローカル HDD(500G) * 10
•  クライアント
•  10台の HV にそれぞれ 10VM (100VM)
•  5回の試行
2012/10/12
ADVNET 2012
15
GlusterFS 評価 (3) – Distributed mode
KB /sec
1000000
100000
10000
MAX
AVERAGE
1000
MAX(D)
AVERAGE(D)
100
D は 50ms の遅延入り
10
1
put chra
2012/10/12
put block
rewrite block
get char
ADVNET 2012
get block
16
GlusterFS 評価 (4) – Replica mode
KB /sec
1000000
100000
10000
MAX
AVERAGE
1000
MAX(D)
AVERAGE(D)
100
D は 50ms の遅延入り
10
1
put chra
2012/10/12
put block
rewrite block
get char
ADVNET 2012
get block
17
GlusterFS 評価 (5) – VM 増加 (Distributed mode)
KB /sec
800000
700000
600000
500000
AVERAGE (10)
400000
AVERAGE (50)
AVERAGE (100)
300000
() 内は VM 数
200000
100000
0
put char
2012/10/12
put block rewrite block
get char
ADVNET 2012
get block
18
広域分散 IaaS クラウドに適したネットワークとは
•  前提
–  VMに変更は加えない
•  L3 ネットワークにとらわれない
–  管理組織の異なるネットワークへの HV の設置
•  容易なL2拡張
–  データセンター / 組織間をまたいで L2 拡張できること
•  経路の最適化と耐障害性の向上
–  VM -> Internet
•  出口の冗長化
–  Internet -> VM
•  入り口の冗長化 (AS 内部 / AS 外部)
2012/10/12
ADVNET 2012
19
SDN (Software Defined Network) の利点
•  拠点間にまたがるクラウドに適した SDN 技術
–  OpenFlow によるネットワーク制御
•  単なるトンネル制御 ?
–  制御しやすいオーバーレイ技術とは
•  NVGRE ? VXLAN ?
•  クラウドにとっての仮想化ネットワーク
–  構造化と抽象化
–  部品は乱立している
•  VPLS, VXLAN, Q-in-Q, Mac-in-Mac
–  何ができればクラウドに最適なのか
•  SDN による構造化
–  ネットワークは 2次元から3次元へ
2012/10/12
ADVNET 2012
20
ネットワーク移動透過性の実現
IPv6 Internet
IPv4 Internet
NAT64
Boxes
Datacenter 2
Datacenter1
Hypervisors
Hypervisors
Datacenter 3
Datacenter 4
VMs
Hypervisors
2012/10/12
Hypervisors
ADVNET 2012
21
LISP + VXLAN
Back Bone Network
ARP Packet
SRC : Node A
DST : L2
Broadcast
VTEP A
VXLAN EnCAP
SRC : VTEP A
DST : L3
Multicast
ARP Packet
SRC : Node A
DST : L2
Broadcast
Node A
LISP (Locator Identifier Separation Protocol)
VXLAN (Virtual eXtensible Local Area Netwowk)
AaaS (AS as a Service) の実現
2012/10/12
ADVNET 2012
22
導入・運用コストの低減
•  ラピッド・デプロイメ
ントツールの導入
•  HV の動的増減
–  StarBED や大
学内部のサーバ
資源を動的に活
用
2012/10/12
ADVNET 2012
23
統一的監視手法
•  VMM-MIB
–  draft-asai-vmm-mib-00.txt
•  HyperVisor
–  物理 CPU / メモリ情報
•  VM
–  VM 定義情報
–  VM 状態
–  リソース
•  CPU / メモリ / Affinity
–  ストレージ
•  利用中のサイズ
–  NIC
•  トラフィック量
•  ifindex ポインタ
2012/10/12
ADVNET 2012
24
監視手法の実装
$Q:\-Q-./+_3.
4+4_&-/4=
()"*
.-/#8.Q:
7,-./`
8.Q:;
$^#"$%
#  CQQ#Q1R&
#  5D:-2C1832&
#  CQ8&
#  C4:[8&
#  C8/32+,-&
#  C1E8
C12/8.Q:;
!12/[+\&Q+451.-8
\1RC12/7*$
8D8/-Q&4+\\
\1RC12/;
0W(A#XY(WBXTY(#"$%
a
2012/10/12
038/&W(NU3Q#J
ADVNET 2012
0D:-2C1832N!""
25
最近落とせなくなってます。。。
2012/10/12
ADVNET 2012
26