Mais conteúdo relacionado
Semelhante a OpenStackによる、実践オンプレミスクラウド (20)
Mais de Masanori Itoh (18)
OpenStackによる、実践オンプレミスクラウド
- 1. QCon Tokyo 2013 - BS3-1 講演資料
Copyright © 2013 NTT DATA Corporation
April 23, 2013
株式会社NTTデータ
基盤システム事業本部 伊藤 雅典
OpenStack による、実践オンプレミスクラウド
- 2. 自己紹介
氏名
伊藤 雅典 (いとう まさのり)
所属
株式会社NTTデータ 基盤システム事業本部 システム方式技術BU
担当業務
OpenStack をベースにした 「フルオープン仮想化基盤構築ソリューション」 の
2Copyright © 2013 NTT DATA Corporation 2
開発、OSS系案件対応等に従事
http://oss.nttdata.co.jp/openstack/
http://www.nttdata.com/jp/ja/news/release/2012/100201.html
活動領域
専門は、OS・仮想化・ネットワーク等のプラットフォーム系技術一般。
日本OpenStackユーザ会(JOSUG)、オープンクラウド実証実験タスクフォース
(OCDET)等で活動中。そのほか、各種記事執筆など。趣味は子育て。
- 3. INDEX
01 Introduction - はじめに
02 Overview - OpenStack プロジェクトの全体像
03 How it Works - どう動いているのか?
04 Toward the Production Systems -- 実システムへむけて
3Copyright © 2013 NTT DATA Corporation
- 6. クラウドのサービスモデル
ミドルウェア・フレームPaaS
種類 解説
SaaS
Software
as a Service
CRM・ERPなどの業務
アプリケーションアプリケーションアプリケーションアプリケーションを提
供
中中中中
柔軟性
低低低低
•アプリケーションとして
サービスが完成している
ため、変更には改修が
伴う
ユーザはハードを意識せずに
アプリケーションを利用可能
SaaS基盤(テナント管理・認証等)
AP AP
ユーザはハードを意識せずに
6Copyright © 2013 NTT DATA Corporation 6
ミドルウェア・フレーム
ワーク等アプリケー
ション実行環境実行環境実行環境実行環境を提
供
CPU・メモリ・ネットワー
ク・ストレージなどのリリリリ
ソースソースソースソースを提供
PaaS
Platform
as a Service
中中中中
•アプリケーション開発を行
うための基盤であるため、
仕様変更等は比較的反
映し易い
高高高高
•アプリケーションを動作
させるインフラであるた
め、サービスの要求ス
ペックにあわせて自由に
変更が可能
ユーザはハードを意識せずに
アプリケーションを開発可能
開発環境 開発ツール
IaaS
Infrastructure as a
Service
ユーザはハードを意識せずに
リソースを利用可能
仮想サーバ
ミドルウェア
メモリ
CPU
メモリ
CPUリソース
本日の話題はこのあたりをカバー
- 14. OpenStack の機能範囲
コアプロジェクト
OpenStack Compute - Nova AWS の EC2/VPCに相当
スケーラビリティ強化
大規模対応強化
OpenStack Image Service - Glance AWS の EC2 の一部に相当
OpenStack Network Service - Quantum AWS の EC2 の一部に相当
Grizzly で Load Balancer 機能をサポート
Grizzly で多数のSDNコントローラプラグインが追加
14Copyright © 2013 NTT DATA Corporation
Grizzly で多数のSDNコントローラプラグインが追加
OpenStack Volume Service - Cinder AWS の EBS に相当
Grizzly で多数のストレージ装置ドライバが追加
OpenStack Object Storage - Swift AWS の S3 に相当
Grizzly で地理的分散対応
OpenStack Identity Service – Keystone 認証/認可サービス
OpenStack Dashboard – Horizon AWS の Mgmt. Console に相当
Quantumの機能強化追従(ネットワークトポロジーのグラフィックパネルを含む)
NovaのLiveMigration対応
1
- 15. OpenStack の機能範囲
周辺プロジェクト
Monitoring and Billing - Ceilometer AWS では CloudWatch に相当
Orchestration - Heat AWS では CloudFormation に相当
Hadoop as a Service - Savanna AWS では EMR に相当
S3の代わりに Swift インテグレーションも進行中
DNS as a Service - Moniker AWS では Route53 に相当
RDBMS as a Service - Reddwarf AWS では RDS に相当
LB as a Service - Libra/Atlas AWS では ELB に相当
15Copyright © 2013 NTT DATA Corporation
LB as a Service - Libra/Atlas AWS では ELB に相当
Grizzly では Quantum 内蔵の LBaaS 機能が追加された
Grizzlyの新機能の詳細については以下を参照
https://wiki.openstack.org/wiki/ReleaseNotes/Grizzly
1
- 16. OpenStack Foundation
OpenStack Community を運営する、ベンダ中立な非営利団体
強いコミットメントを伴うメンバーシップ
Technical Committee / Board of Directors / User
Committee で構成
16Copyright © 2013 NTT DATA Corporation
AT&T
HP
IBM
Nebura
RackSpace
Redhat
SUSE
Ubuntu
NEC
Cisco
DELL
Intel
NetApp
VMware
YAHOO!
… and others
- 18. ユーザ事例 (パブリッククラウドサービス)
HP
HPのパブリッククラウドサービス
5/10/’11時点で1000 Nodes, PBs Storage、Ubuntu ベース
Rackspace
RackSpace社のパブリッククラウドサービス
(Virtual Network, Virtual Block Storage Services (5/1/’11~)
GMOインターネット お名前.com VPSサービスを OpenStack で構築・運用
18Copyright © 2013 NTT DATA Corporation
Korea Telecom Swift を用いた商用オブジェクトストレージサービス
SoftLayer Swift ベースのグローバルCDNサービス(等)
- 19. ユーザ事例 (商用/内部サービスのホスト)
Mercado Libre
南米本拠の e-Bay パートナ
e-Commerce on Top of OpenStack
(1000Nodes, 58M Users, Peak 50K Reqs./s)
PayPal
vCloud から OpenStack にサービス基盤を移行
http://www.openstack.org/user-stories/paypal/agility-with-stability/
Sina
中国版Twitter(Weibo)を運営する会社
自社サービスのAP基盤をOpenStack上で運用
19Copyright © 2013 NTT DATA Corporation
WebEX (Cisco) WebEx のシステムをOpenStack上に収容
Sina 自社サービスのAP基盤をOpenStack上で運用
SCE America 社内ゲーム開発環境をOpenStack上で運用
(AWSから移行)
サイバーエージェント Ameba の基盤を VMwareベースから置き換え
- 23. 03 How It Works?
Copyright © 2013 NTT DATA Corporation 23
- 24. Compute NodeCompute NodeCompute NodeCompute Node
Novaのアーキテクチャ(Diablo リリースくらいまで)
仮想マシンの作成、削除、
監視等の管理
Scheduler
Node
Scheduler
Node
リソーススケジューラ
Compute NodeCompute Node
OpenStack API
(/AWS API)
REST
• モジュラーなコンポーネント群がRPCメッセージを介して協調動作する構造。
• 外部I/Fは REST API
DBMSDBMS
DBアクセス
24Copyright © 2013 NTT DATA Corporation
RPC /
AMQP
RPC /
AMQP
API ServerAPI Server
仮想マシンに不揮発性の
ブロックストレージを提供
Network NodeNetwork Node
GlanceGlance
仮想マシンへの
static NAT/DHCPを
提供
仮想マシンイメージの
管理
ユーザからの要求受付
Volume NodeVolume Node
SwiftSwift
REST
REST
イメージデータの実体を保持
RPC
- 26. Account ServerAccount Server
Swiftのアーキテクチャ
Container の一覧を保持
認証サーバ
(Keystone)
認証サーバ
(Keystone)
Account ServerAccount Server
ContainerContainer
• 外部I/Fを含めてすべてのコンポーネントが REST API で通信、協調動作する構造。
認証 認可
26Copyright © 2013 NTT DATA Corporation
Object ServerObject Server
Object ServerObject Server
Object ServerObject Server
Container
Server
Container
ServerProxy ServerProxy Server
Object の一覧を保持
Object のデータを保持
利用者とストレージノード
の間でリクエストを中継す
る
クライアント
swift コマンドのほか、
CyberDug や CloudBerry
等(curl等操作可能)
REST
Proxy ServerProxy Server
Container
Server
Container
Server
Object ServerObject Server
ストレージノード
注1:ここに挙げたのは主要サ
ブコンポーネントのみで、
replicator 等は省略しています。
- 27. n-api n-scheduler n-compute q-server q-agent
run_instance
schedule_run_instance
create
nova コマンド等
Novaの動作:VM起動時のシーケンス抜粋(例: Quantum OVSの場合)
Quantum呼び出しは
L2 NW一覧取得や、
portの作成等さまざま
27Copyright © 2013 NTT DATA Corporation
allocate_for_instance
ovs-vsctl 呼び出し
(port 作成等)凡例
RPC
REST
API
注意
・DBアクセスは省略しています。
・RPCはMQサーバを経由します。
この後、必要に応じて
Glance からイメージ取得、
libvirt へVM作成要求等
- 28. システム構成例
インターネット
/イントラネット
Cinder
Zone #1
外部ネットワーク
エンドユーザPC
iptables
Nova + Glance +Quantum(ovs plugin) +
Cinder + Swift(イメージのみ) の標準的な
構成 (ただし、Keystone/DB/MQは省略)
クラウドコントローラ
28Copyright © 2013 NTT DATA Corporation
Quantum
Agent
(L2/L3)
Nova-api
EBSEBSEBSEBSボリュームボリュームボリュームボリューム
Glance/
Swift
Cinder
Volume
(iSCSI等)
VMVMVMVM
ImageImageImageImage
Nova Compute
Quantum Agent
VMVM
…
内部ネットワーク
管理・ストレージ用ネットワーク
管理・ストレージ用ネットワーク
DB
(MySQL)
Nova Compute
Quantum Agent
VM
Nova
Scheduler
Quantum
Server
ovsovs
dnsmasq/ovs
- 29. 仮想マシンの起動シーケンス(1) : APIサーバで受付
インターネット
/イントラネット
Cinder
Zone #1
外部ネットワーク
エンドユーザPC
① 起動要求
iptables
29Copyright © 2013 NTT DATA Corporation
Quantum
Agent
(L2/L3)
Nova-api
EBSEBSEBSEBSボリュームボリュームボリュームボリューム
Glance/
Swift
Cinder
Volume
(iSCSI等)
VMVMVMVM
ImageImageImageImage
Nova Compute
Quantum Agent
VMVM
…
内部ネットワーク
管理・ストレージ用ネットワーク
DB
(MySQL)
Nova Compute
Quantum Agent
VM
Nova
Scheduler
Quantum
Server
ovsovs
dnsmasq/ovs
- 30. 仮想マシンの起動シーケンス(2) : スケジューラで資源選択
インターネット
/イントラネット
Cinder
Zone #1
外部ネットワーク
エンドユーザPC
ユーザの要求とCompute Nodeの混
み具合を照らし合わせて、VMを実行
するべきホストを選択
iptables
30Copyright © 2013 NTT DATA Corporation
Quantum
Agent
(L2/L3)
Nova-api
EBSEBSEBSEBSボリュームボリュームボリュームボリューム
Glance/
Swift
Cinder
Volume
(iSCSI等)
VMVMVMVM
ImageImageImageImage
Nova Compute
Quantum Agent
VMVM
…
内部ネットワーク
管理・ストレージ用ネットワーク
DB
(MySQL)
Nova
Scheduler
Quantum
Server
Nova Compute
Quantum Agent
VM
② VM作成
指示
ovsovs
dnsmasq/ovs
- 31. 仮想マシンの起動シーケンス(3) : compute へVM作成指示
インターネット
/イントラネット
Cinder
物理マシンプール#1
外部ネットワーク
エンドユーザPC
iptables
31Copyright © 2013 NTT DATA Corporation
Quantum
Agent
(L2/L3)
Nova-api
EBSEBSEBSEBSボリュームボリュームボリュームボリューム
Glance/
Swift
Cinder
Volume
(iSCSI等)
VMVMVMVM
ImageImageImageImage
Nova Compute
Quantum Agent
VMVM
…
内部ネットワーク
管理・ストレージ用ネットワーク
DB
(MySQL)
Nova Compute
Quantum Agent
VMVM
Nova
Scheduler
Quantum
Server
③VM起動処理
要求
ovsovs
dnsmasq/ovs
- 32. 仮想マシンの起動シーケンス(4) : 内部L2NW作成処理
インターネット
/イントラネット
Cinder
Zone #1
外部ネットワーク
エンドユーザPC テナントに対応した VLAN や GREトンネル、
内部用IP(FIXED_IP)を割り当てる
各テナントごとに tap と内部用IP
(FIXED_IP)空間の gateway を設定
DHCPサーバを設定(・起動)
⑤ tap作成
iptables
32Copyright © 2013 NTT DATA Corporation
Quantum
Agent
(L2/L3)
Nova-api
EBSEBSEBSEBSボリュームボリュームボリュームボリューム
Glance/
Swift
Cinder
Volume
(iSCSI等)
VMVMVMVM
ImageImageImageImage
Nova Compute
Quantum Agent
VMVM
…
内部ネットワーク
管理・ストレージ用ネットワーク
DB
(MySQL)
Nova
Scheduler
Quantum
Server
Nova Compute
Quantum Agent
VM
④ NW割当要求
⑤ tap作成
dnsmasq 起動
⑤’ tap作成 ovsovs
dnsmasq/ovs
- 33. 仮想マシンの起動シーケンス(5) : compute上でのVM作成処理
インターネット
/イントラネット
Cinder
物理マシンプール#1
外部ネットワーク
エンドユーザPC
iptables
ステップ(3)で作成される tap をVMの
仮想NICに bridge 接続してVM生成。
ebtables を利用し、L2でフィルタが設
定される
内部NW側の private address はDHCP
で割り当てられる。
33Copyright © 2013 NTT DATA Corporation
Quantum
Agent
(L2/L3)
Nova-api
EBSEBSEBSEBSボリュームボリュームボリュームボリューム
Glance/
Swift
Cinder
Volume
(iSCSI等)
VMVMVMVM
ImageImageImageImage
Nova Compute
Quantum Agent
VMVM
…
内部ネットワーク
管理・ストレージ用ネットワーク
DB
(MySQL)
Nova Compute
Quantum Agent
VMVM
Nova
Scheduler
Quantum
Server
⑥ VM テンプ
レートダウンロード
⑦ VM生成
ovsovs
dnsmasq/ovs
- 34. 仮想マシンの起動シーケンス(6) : 外部通信用設定
インターネット
/イントラネット
Cinder
物理マシンプール#1
外部ネットワーク
エンドユーザPC
⑧ 外部用
Floating IP割り
当て要求
外部通信用の global IP address
は iptables で SNAT/DNAT設定さ
れる
iptables
別オペレーション
34Copyright © 2013 NTT DATA Corporation
Quantum
Agent
(L2/L3)
Nova-api
EBSEBSEBSEBSボリュームボリュームボリュームボリューム
Glance/
Swift
Cinder
Volume
(iSCSI等)
VMVMVMVM
ImageImageImageImage
Nova Compute
Quantum Agent
VMVM
…
内部ネットワーク
管理・ストレージ用ネットワーク
DB
(MySQL)
Nova Compute
Quantum Agent
VMVM
Scheduler
Node
Quantum
Server
⑨ NAT設定
要求
ovsovs
dnsmasq/ovs
- 36. 他のIaaS構築ソフトとの比較
CloudStack
機能範囲
Compute サービスのみ
Swift や RiakCS、Gluster 等、周辺エコシステムは拡充中
メリット
Citrix社の製品(例:NetScaler、XenServer等)との親和性が高い
海外だけでなく、国内での適用事例も豊富。
36Copyright © 2013 NTT DATA Corporation
構造
コントローラはモノリシックな構造。実装言語は Java
Eucalyptus
機能範囲
Compute サービスのみ
メリット
Amazon Web Service(AWS)との公式な互換性がある
構造
コントローラはモノリシックな構造。実装言語は Java + C
- 38. CloudStack NW構成例:Advanced Network モードの場合
インターネット
/イントラネット
Zone/Pod
外部ネットワーク
エンドユーザPC
仮想ルータ向け
トラフィックが流れる
DNATベースのネットワークモデル
テナントごとに仮想ルータVMが作成され、
内部NW経由でVMの通信を中継する。
38Copyright © 2013 NTT DATA Corporation
Mgmt.
Server.
NFS
/iSCSI
VMVMVMVM
ImageImageImageImage
Compute
VM
…
管理・ストレージ用ネットワーク
管理・ストレージ用ネットワーク
DB
Compute
VM
Compute
仮想
ルータ
Compute
仮想
ルータ
vnic0
vnic1
内部ネットワーク
VM
vnic0
vnic1
SS
VM
CP
VM
- 39. OpenStack NW構成例:Flatモデル + multi_host オプションの場合
インターネット
/イントラネット
zone1#1
外部ネットワーク
エンドユーザPC
(*1) クラウドコントローラ
API, Scheduler, RabbitMQ, RDBMS etc.
RackSpace型のネットワークモデルを実現
Gatewayはホスト単位に存在するので、ボ
トルネックにならない
ただし、アイソレーションはできない。
39Copyright © 2013 NTT DATA Corporation
Glance/
Swift
VMVMVMVM
ImageImageImageImage
…
管理・ストレージ用ネットワーク
管理・ストレージ用ネットワーク
DB
(MySQL)
nova-
compute
VMVM
dnsmasq
iptables
nova-network
nova-
compute
VMVM
dnsmasq
iptables
nova-network
クラウド
コントローラ
(*1)
- 41. OpenStack Operations Guide (OpenStack 運用ガイド)
コミュニティ有志による、設計~構築~運用にまつわるベストプラクティ
ス・ノウハウの集大成(トラブル事例もあります ☺)
http://docs.openstack.org/ops/
現在、日本OpenStackユーザー会(JOSUG)の有志で翻訳中
http://dream.daynight.jp/openstack/openstack-ops/content/
↑翻訳中のスナップショット
41Copyright © 2013 NTT DATA Corporation
CloudStack 等、他の
実装にも通じる部分
が多いです。
- 43. システム設計上のポイント
Operations Guide で紹介されている
Example Architecture
Quantum を使わず、nova-network
で multi_host 構成。
アイソレーションと、全体ス
ループット/外部GWの高可用
化のトレードオフ
43Copyright © 2013 NTT DATA Corporation
→仕様も構造もシンプルにする
ユーザ数/VM数に比例するブロック
ストレージ、VMディスクイメージの保
持ノードを分離
→スケールアウトしやすい構成
コントローラは通常のHA化機構
で冗長化
実際の需要/負荷に応じて、DB、
MQ、glance等から分離
→監視の設計も重要
- 48. モデルケース
• OpenStack では、SDNコントローラ等の周辺部品との組合わせに
より、非常に多彩な仮想システムモデルを実現できます。
• 本日お見せするデモシステムの構成は以下の通りです
• Amazon EC2型+αの仮想NWモデル
• 全体が global firewall の内側にあり、VMには private addressが
48Copyright © 2013 NTT DATA Corporation 4
• 全体が global firewall の内側にあり、VMには private addressが
割り当てられる。
• 外部通信は、NAT経由で行う。
→外部からのアイソレーション
• 他のユーザのパケットは見えない。
→テナント間のアイソレーション
• テナントあたり、複数の孤立仮想ネットワークを定義できる(+α)
• VMあたり、複数の仮想NICを接続できる(+α)
- 53. 小規模からリーン・スタートアップ
~お試しから徐々に増設
Before 需要予測 → サーバ購入 → 予想ハズレ →
After 最低限購入 → Full キャパ → 増設 →
53Copyright © 2013 NTT DATA Corporation
リーン(無駄のない)システム
その時々に応じた最も安いサーバーを選択
A社 A社 B社 B社 B社
A社 B社 B社 B社 C社 C社
C社 C社 C社 C社 C社 C社増設増設 増設増設
- 55. エコ・クラウドの実現にアイドリング・ストップ
~ランニングコストを最低限に
Compute Node
Compute Node
Compute Node
Compute Node
OpenFlow OpenFlow
VM VM
VM VM
VM VM
VM VM VM
VM
繁忙期
閑散期
Compute Node
OpenFlow OpenFlow
VM
Compute Node
OpenFlow OpenFlow
VM
成長期
電源OFFの機器
電源ONの機器
55Copyright © 2013 NTT DATA Corporation
Compute Node
Compute Node
Compute Node
Compute Node
Compute Node
VM
VM
VM VM
VM
Compute Node
Compute Node
Compute Node
Compute Node
OpenFlow OpenFlow
VM VM
VMVM VM
VM
Compute Node
Compute Node
Compute Node
Compute Node
VM VM
VMVM VM
VM
電力最小化
VM
VMデフラグ機能で
VM・NWを寄せ
る
アイドリングス
トップで不要な
ノードを停止
- 57. NTTデータ独自 ”Virtual Network Controller”
1 物理NWの上に自由に論理NWを構築可能
2 マルチテナントで利用される仮想NWを一元制御可能なGUI
57Copyright © 2013 NTT DATA Corporation