64
OpenStackェの全体像 イ便り HBStudy #23 「OpenStack祭り」資料 2011年61 株式会社 伊藤雅典

「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Embed Size (px)

DESCRIPTION

2011/06/11に新宿で開催された、第23回 HBStudy の資料「OpenStackプロジェクトの全体像~デザインサミット便り~」です。フラッシュ記憶できなかった方はごゆっくりどうぞw

Citation preview

Page 1: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

OpenStackプロジェクトの全体像

~デザインサミット便り~

HBStudy #23 「OpenStack祭り!!」資料

2011年6月11日

株式会社NTTデータ

伊藤雅典

Page 2: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

自己紹介

氏名

伊藤 雅典 (いとう まさのり)

所属

株式会社NTTデータ 技術開発本部 ITアーキテクチャ&セキュリティ技術センタ

担当業務

NTTデータの総合クラウドサービス BizXaaS™ (http://bizxaas.net/)の、

Copyright © 2010 NTT DATA CORPORATION1

「フルOSSクラウド構築ソリューション」 の開発ほかに従事

http://www.nttdata.co.jp/release/2010/040801.html

現在は、OpenStackやヘテロクラウド連携技術(特にストレージまわり)に注力中

その他、活動領域

専門はOS、仮想化、ネットワーク等のプラットフォーム系技術一般

Open Cloud Campus、日本OpenStackユーザ会(JOSUG)、

VIOPS TransSIG、GICTF等でも活動中

Page 3: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

INDEX

01 OpenStackプロジェクトの概要

02 コミュニティ最新動向

03 OpenStack Compute:Nova

04 OpenStack Object Storage:Swift

05 Bexar/Cactusの注目ポイント

Copyright © 2011 NTT DATA CORPORATION2

06 日本のコミュニティの状況

Page 4: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

01 OpenStackプロジェクトの概要

3Copyright © 2011 NTT DATA CORPORATION

Page 5: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

OpenStackプロジェクトとは

IaaSを構築するためのオープンソースソフトウェアを開発するプロジェクト

• 米国RackSpace社が主催

• 後援:NASA

• 日本からはNTTデータ、NTT、ミドクラ等が参加

AMD

ANSO

Autonomic Resources

Intalio

Intel

InterNap

Rackspace

RightScale

Riptano

クラウドサービスを提供する最

大手企業の一つ

Copyright © 2011 NTT DATA CORPORATION4

協賛企業 (アルファベット順、http://openstack.org/community/より)

Autonomic Resources

Cirrascale

Citrix

Cloud Central

Cloud.com

Cloudkick

Cloudscaling

CloudSwitch

Dell

enStratus

FathomDB

InterNap

iomart Group

Limelight

MidoKura

Morphlabs

NASA

Nicira

NTT Data

Opscode

PEER 1

Puppet Labs

Riptano

rPath

Scalr

SoftLayer

Sonian

Spiceworks

Vyatta

Zenoss

Zuora

Page 6: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

プロジェクト発足の背景

Rackspace社とNASAがOpenStackプロジェクトを

立ち上げた理由

• スケーラビリティ(膨大なノード数とデータ量)

• 開発のオープン性

• ユーザベースの拡大

「今日の科学技術計算では、ますます

大量のストレージと強力な処理能力

をオンデマンドで提供することが求め

られている」

-NASA CTOのChris Kemp

http://www.itmedia.co.jp/enterprise/

articles/1007/21/news023.html

“as his (Chris Kemp’s) engineers

Copyright © 2011 NTT DATA CORPORATION5

• コミュニティや開発プロセスをすべて公開する

• OSI承認オープンソースライセンスである

Apache License 2.0を採用

• Open Core 戦略は採らず、クローズドな

エンタープライズ版を作らない

• Ubuntuの運営方法に倣っている

“as his (Chris Kemp’s) engineers

attempted to contribute additional

Eucalyptus code to improve its

ability to scale, they were unable

to do so because some of the

platform's code is open and some

isn't.”

http://www.theregister.co.uk/2010/07

/20/why_nasa_is_dropping_eucalyptus_fr

om_its_nebula_cloud/

Page 7: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

プロジェクトの歴史

Nova公開

NASA/Anso Labs

NASA

Nebula

‘10/5/19

‘10/07/19の発表以来、’11/4/17に第3版(Cactus)がリリースさ

れ、’11/09/22予定の第4版(Diablo) に向け開発が進行中。

6

Swift公開

Rackspace社

Nebula

Rackspace

Cloud Files

OpenStack

発表

’10/7/19 ‘10/10/21

Copyright © 2011 NTT DATA CORPORATION

Austin

リリース

Bexar

リリース

Cactus

リリース

‘11/2/3 ‘11/4/17

Page 8: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

主要な構成要素

OpenStackプロジェクトは、主に三つのコンポーネントから構成される

• OpenStack Compute

• 開発コードネーム: Nova

• Amazon EC2に相当(IaaSの管理機能)

Copyright © 2011 NTT DATA CORPORATION7

• OpenStack Object Storage

• 開発コードネーム: Swift

• Amazon S3に相当(分散ストレージ)

• OpenStack Image Registry and Delivery Service

• 開発コードネーム: Glance

• VMのイメージ管理を担当。Swiftとのproxyとなる

Page 9: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

開発情報

• 実装言語

• ライブラリの標準化が進んでいることが採用理由

• バージョン2.6以上必須

• 推奨プラットフォーム

• コア開発者は 11.04 で開発中。10.10 でも普通に動きます。

Copyright © 2011 NTT DATA CORPORATION8

• コア開発者は 11.04 で開発中。10.10 でも普通に動きます。

• RHEL 6.0用や Fedora 用のパッケージもあります。

• ただし、RHEL5.x系は Python が古いため、かなり困難です。

• サポート対象ハイパーバイザ

• KVM, Xen, (XenServer or libvirt), Hyper-V, Vmware, LXC, UML

etc…

Page 10: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

情報源

• OpenStack公式サイト

• http://openstack.org/

• OpenStack Blog http://openstack.org/blog/

• OpenStack Wiki

• http://wiki.openstack.org/

• ドキュメント

• リリースミーティングのIRCログ

Copyright © 2011 NTT DATA CORPORATION9

• リリースミーティングのIRCログ

• Launchpad

• https://launchpad.net/~openstack

• リポジトリ、メーリングリスト(OpenStack/Nova/Swift)、

blueprint (簡素な機能仕様書)

• IRC

• #openstack

• Twitter

• @openstack http://twitter.com/openstack

Page 11: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

02 コミュニティ最新動向

10Copyright © 2011 NTT DATA CORPORATION

Page 12: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Design Summit

� 世界中から開発者が一堂に集まって方針・仕様・設計・実

装などについて議論する会議(リリースとリリースの間に開

催される)

� Diablo (第4版)向けの Design Summit

�2011/04/26-29

�於: カリフォルニア州サンタクララ(Hyatt Regency)

�参加者 450名以上

�テクニカルトラックにエントリされた提案:60以上

Page 13: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Design Summit

会場のホテル

Page 14: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Design Summit

テクニカルトラックでの議論の様子

Page 15: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Design Summit:主要な技術トピック

� Network as a Service の導入

� Project Quantum / Melange / Donabe

� ネットワーク仮想化機能の分離、プラグイン化

� DB as a Service の導入

� Project RedDwarf : Amazon RDS相当の機能

� LB as a Service の導入

� Project Atlas : Amazon ELB相当の機能

� Volume as a Serviceの強化

� Project Lunr : 箱モノストレージのサポート

Page 16: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Design Summit:主要な技術トピック

� 分散スケジューラの導入

�マルチゾーン化

� 認証サービスの外出し、プラグイン化

� OpenStack AP拡張のフレームワーク決定

� 各コンポーネントのHA化� 各コンポーネントのHA化

� etc

Page 17: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Design Summit:そのほかのトピック

� リリースサイクル

� Diablo 以降6カ月おきのリリースサイクルに変更

� KTのObjectStorageサービス

� Swiftで構築した容量1PBのオブジェクトストレージサービス

のベータプログラムを実施中のベータプログラムを実施中

� テスト環境の充実

� 西海岸に試験用のコミュニティクラウド構築予定.

etc…

Page 18: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Design Summit:日本関連トピック

OpenStackコミュニティからの東日本大震災への支援

1. Conference 登録料を赤十字を通じ、全額震災復興支援のために

寄付

2. チャリティTシャツを販売し、収益を全額寄付

3. 日本人参加者は登録料免除3. 日本人参加者は登録料免除

Page 19: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

02 OpenStack Compute : Nova

18Copyright © 2011 NTT DATA CORPORATION

Page 20: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

概要

• IaaSを管理する機能を提供

例)

• 空いてるサーバを検出して仮想マシンを起動

• 仮想マシンに割当てるIPアドレスの管理

• 仮想マシン間の通信を遮断するVLANの制御

• 外部NW⇔仮想マシン間のパケットフィルタリング

• 仮想マシンが一時的に使える外部ストレージ(EBS)

Copyright © 2011 NTT DATA CORPORATION19

• 仮想マシンが一時的に使える外部ストレージ(EBS)

• etc

• Amazon EC2相当のサービスを提供

• APIもAmazon互換

Page 21: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Novaのアーキテクチャ

稼働中の仮想マシン

の管理

Scheduler NodeScheduler Node

仮想マシンを稼働させるサーバを選定

独立した複数のコンポーネントがメッセージキューを介して連携

Compute NodeCompute Node

Copyright © 2011 NTT DATA CORPORATION20

メッセーキュー

(RabbitMQ)

メッセーキュー

(RabbitMQ)

API ServerAPI Server

仮想マシンにAmazon EBS

のようなストレージを提供

Network NodeNetwork Node

Object Storage

Server

Object Storage

Server

仮想マシンにIPアドレス

の払出し

仮想マシンイメージの管理

ユーザからの要求受付

Volume NodeVolume Node

Page 22: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

システム構成例

インターネット

/イントラネット

物理マシンプール#1

外部ネットワーク

エンドユーザPC

iptables

Copyright © 2011 NTT DATA CORPORATION21

Network

Node

API

Node

EBSEBSEBSEBSボリュームボリュームボリュームボリューム

glance

Volume Node

(iSCSI 等)

VMVMVMVM

ImageImageImageImage

Compute

Node

VMVM

内部ネットワーク

管理・ストレージ用ネットワーク

管理・ストレージ用ネットワーク

DB

(MySQL)

Compute

Node

VMVM

Scheduler

Node

Rabbit

MQ

Page 23: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

動作例(仮想マシン起動-1)

インターネット

/イントラネット

物理マシンプール#1

外部ネットワーク

エンドユーザPC

iptables

Copyright © 2011 NTT DATA CORPORATION22

Network

Node

API

Node

EBSEBSEBSEBSボリュームボリュームボリュームボリューム

Object

Storage

Volume Node

(AoE/iSCSI)

VMVMVMVM

ImageImageImageImage

Compute

Node

VMVM

内部ネットワーク

管理・ストレージ用ネットワーク

DB

(MySQL)

Compute

Node

VMVM

Scheduler

Node

Rabbit

MQ

Page 24: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

動作例(仮想マシン起動-2)

インターネット

/イントラネット

物理マシンプール#1

外部ネットワーク

エンドユーザPC

iptables

※図の簡易化のため省略

していますが、コンポーネ

ント間の通信はRabbitMQ

経由です

Copyright © 2011 NTT DATA CORPORATION23

Network

Node

API

Node

EBSEBSEBSEBSボリュームボリュームボリュームボリューム

Object

Storage

Volume Node

(AoE/iSCSI)

VMVMVMVM

ImageImageImageImage

Compute

Node

VMVM

内部ネットワーク

管理・ストレージ用ネットワーク

DB

(MySQL)

Compute

Node

VMVM

Scheduler

Node

Rabbit

MQ

Page 25: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

動作例(仮想マシン起動-3)

インターネット

/イントラネット

物理マシンプール#1

外部ネットワーク

エンドユーザPC

iptables

Copyright © 2011 NTT DATA CORPORATION24

Network

Node

API

Node

EBSEBSEBSEBSボリュームボリュームボリュームボリューム

Object

Storage

Volume Node

(AoE/iSCSI)

VMVMVMVM

ImageImageImageImage

Compute

Node

VMVM

内部ネットワーク

管理・ストレージ用ネットワーク

DB

(MySQL)

Compute

Node

VMVM

Scheduler

Node

Rabbit

MQ

Page 26: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

動作例(仮想マシン起動-4)

インターネット

/イントラネット

物理マシンプール#1

外部ネットワーク

エンドユーザPC

iptables

Copyright © 2011 NTT DATA CORPORATION25

Network

Node

API

Node

EBSEBSEBSEBSボリュームボリュームボリュームボリューム

Object

Storage

Volume Node

(AoE/iSCSI)

VMVMVMVM

ImageImageImageImage

Compute

Node

VMVM

内部ネットワーク

管理・ストレージ用ネットワーク

DB

(MySQL)

Compute

Node

VMVM

Scheduler

Node

Rabbit

MQ

Page 27: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

動作例(仮想マシン起動-5)

インターネット

/イントラネット

物理マシンプール#1

外部ネットワーク

エンドユーザPC

iptables

Copyright © 2011 NTT DATA CORPORATION26

Network

Node

API

Node

EBSEBSEBSEBSボリュームボリュームボリュームボリューム

Object

Storage

Volume Node

(AoE/iSCSI)

VMVMVMVM

ImageImageImageImage

Compute

Node

VMVM

内部ネットワーク

管理・ストレージ用ネットワーク

DB

(MySQL)

Compute

Node

VMVM

Scheduler

Node

Rabbit

MQ

Page 28: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

より深い理解のための知識

1. クラウドを利用するアカウント体系とアクセス制御

2. インスタンスタイプ

3. API

4. 仮想マシン用ネットワークの構成

Copyright © 2011 NTT DATA CORPORATION27

4. 仮想マシン用ネットワークの構成

5. セキュリティグループ

Page 29: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

より深い理解のための知識(アクセス制御)

� ユーザ、プロジェクト

� プロジェクトには複数のユーザ

� あるユーザは複数のプロジェクトに所属できる

� (ユーザ, プロジェクト)の単位で証明書が配布され、それで権限切替え

� アクセス制御単位はプロジェクト単位

� 他のプロジェクトの仮想マシンは見られない

� 仮想マシンにpublicフラグが付いた場合は別

Copyright © 2011 NTT DATA CORPORATION28

� 仮想マシンにpublicフラグが付いた場合は別

� ロール

� プロジェクト内でできることをさらに分割するもの

� 種類は固定。変更不可。ロールが実行可能な操作も変更不可

� Admin

� クラウドの管理者。全プロジェクトの全権限を持つ

Page 30: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

より深い理解のための知識(ユーザ)

ロールの種別およびロールと動作の関係

ロールロールロールロール

netadmin projectmanager sysadmin other

'DescribeSnapshots ○ ○ ○ ○

'DescribeKeyPairs ○ ○ ○ ○

'CreateKeyPair ○ ○ ○ ○

'DeleteKeyPair ○ ○ ○ ○

'DescribeSecurityGroups ○ ○ ○ ○

Copyright © 2011 NTT DATA CORPORATION29

'DescribeSecurityGroups ○ ○ ○ ○

AuthorizeSecurityGroupIngress ○

'RevokeSecurityGroupIngress ○

'CreateSecurityGroup ○

'DeleteSecurityGroup ○

'GetConsoleOutput ○ ○

'DescribeVolumes ○ ○

'CreateVolume ○ ○

'DetachVolume ○ ○

'DescribeInstances ○ ○ ○ ○

Page 31: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

より深い理解のための知識(ユーザ)

ロールロールロールロール

netadmin projectmanager sysadmin other

'DescribeAddresses ○ ○ ○ ○

'AllocateAddress ○

'ReleaseAddress ○

'AssociateAddress ○

'DisassociateAddress ○

'RunInstances ○ ○

ロールの種別およびロールと動作の関係

Copyright © 2011 NTT DATA CORPORATION30

'RunInstances ○ ○

'TerminateInstances ○ ○

'RebootInstances ○ ○

'UpdateInstance ○ ○

'DeleteVolume ○ ○

'DescribeImages ○ ○ ○ ○

'DeregisterImage ○ ○

'RegisterImage ○ ○

'DescribeImageAttribute ○ ○ ○ ○

'ModifyImageAttribute ○ ○

'UpdateImage ○ ○

Page 32: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

より深い理解のための知識(ユーザ)

設定例ユーザやプロジェクトの作成# nova-manage user admin# nova-manage project create admin admin

証明書の取得、読み込み# nova-manage project zipfile userA projA zipA# unzip zipA# . novarc

ロールの設定# nova-manage role add user role

Copyright © 2011 NTT DATA CORPORATION31

# nova-manage role add user role # nova-manage role add user role proj

NOVA_KEY_DIR=$(pushd $(dirname $BASH_SOURCE)>/dev/null; pwd; popd>/dev/null)export EC2_ACCESS_KEY="admin:admin"export EC2_SECRET_KEY="admin"export EC2_URL="http://10.192.69.104:8773/services/Cloud"export S3_URL="http://10.192.69.104:3333"export EC2_USER_ID=42 # nova does not use user id, but bundling requires itexport EC2_PRIVATE_KEY=${NOVA_KEY_DIR}/pk.pem…以下略

novarcの例

Page 33: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

より深い理解のための知識(インスタンスタイプ)

� インスタンスタイプ = 起動する仮想マシンの(vcpu、メモリ、

HDD)を定義するもの

� Amazonのやり方を踏襲

� m1.small = ( 1, 100, 20)のように指定。単位は( 個, mb, gb)

� 種類は m1.tiny, m1.small, m1.medium, m1.large, m1.xlarge

� 利用者は仮想マシン起動時にインスタンスタイプを指定

� Quota = プロジェクト全体におけるリソース制限

Copyright © 2011 NTT DATA CORPORATION32

� Quota = プロジェクト全体におけるリソース制限

� インスタンス数、ボリューム数、インスタンスのHDD(GB)、Floating ip数

� 現行プロジェクトごとには設定できない。設定ファイルに全PJ一括設定。

インスタンス起動(m1.smallを設定)# euca-run-instance –t t1.small –k mykey ami-centos –g default

インスタンスタイプの作成、変更# bin/nova-manage instance_type create hoge 1024 1 20 1( name, mem, vcpu, hdd, flavor)

Page 34: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

より深い理解のための知識(API)

� API ≒ クラウドに対して実施可能な処理

� ex. 「仮想マシンを起動する」「イメージを登録する」 etc

� クライアントからHTTPでリクエストを送信し、サーバ側で処理

� サーバ側のリクエストの処理ロジックをAPIという

� APIの種類は3種類

種別種別種別種別 用途用途用途用途 備考備考備考備考

Copyright © 2011 NTT DATA CORPORATION33

Amazon EC2 API 利用者向け 初期のOpenStackはAmazonのサービスを模写する形式だった

のでAmazonで提供する機能OSSで実現

OpenStack API 利用者向け OpenStack独自の機能を実現

Rackspaceが自社商用サービスで提供する機能が含まれる

KVMではほぼ実装されていない

Admin API 管理者向け もともと管理者向け機能はrpc(AMQP)を使って通信していた

それを他に合わせてHTTPに修正中

Page 35: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

より深い理解のための知識(ネットワーク)

� Fixed IP(private IP)とFloating IP(global ip)

物理サーバ

VMDnsmasq

物理サーバ

nova-

network

iptables

bridge

nova-

compute

bridge

Copyright © 2011 NTT DATA CORPORATION34

名称名称名称名称 説明説明説明説明

FlatManager 仮想マシン起動時にIP情報を仮想マシンイメージに埋め込む

FlatDHCPManager 仮想マシンイメージはDHCPでIPを受け取る

Nova-manageがdnsmasqをコントロール

VlanManager FlatDHCPManagerに加え、VLANを設定

(プロジェクト、セキュリティグループ)単位でVLAN番号を決定

主にパケットの盗聴を防ぐ目的

� ネットワークの種類

Page 36: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

より深い理解のための知識(セキュリティグループ)

� セキュリティグループ ≒ パケットフィルタリングのルールのセット

VMDnsmasq

nova-

network

iptables

nova-

compute

VM

br101br100br101br100

eth1eth0

eth0

iptables

iptables

Copyright © 2011 NTT DATA CORPORATION35

物理サーバiptables

iptables

インスタンス起動(defaultを設定)euca-run-instance –t t1.small –k mykey ami-centos –g default

セキュリティルールdefaultは tcpの22番ポートで通信ができるeuca-authorize –P tcp –p 22 default

� 設定方法

Page 37: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

利用手順(開発者向け)

• 3種の利用者向けインタフェース

名称名称名称名称 用途用途用途用途 コマンドコマンドコマンドコマンド名称名称名称名称 備考備考備考備考

euca2ools 利用者向け euca-xxxx Amazon API互換。

Eucalyptusで開発したCUIを流用

nova-client 利用者向け nova OpenStack独自のAPI( OpenStack API)用

nova-manage 管理者向け nova-manage

Copyright © 2011 NTT DATA CORPORATION36

Page 38: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

利用手順(開発者向け)

# bzr export lp:nova

インストール

仮想マシン

利用開始

サービス起動 初期設定

仮想マシン

上のサービス

利用開始

エンドユーザクラウド管理者作業 クラウド利用者作業

Copyright © 2011 NTT DATA CORPORATION37

• ソースコードはlaunchpadからダウンロード

• ダウンロードした一式に含まれるnova.shを使ってインストール

• 上記実施内容は、ソースコードのダウンロードと必要パッケージのインストール

• 要インターネットアクセス

※ 物理サーバ×1で全てのサービスを稼働させるお試し利用方法です

※ mysql の代わりにsqllite使うなどの違いがあります

# cp nova/contrib/nova.sh . && bash nova.sh install

Page 39: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

利用手順(開発者向け)

# bash nova.sh run# bash nova.sh clean

インストール

仮想マシン

利用開始

サービス起動 初期設定

仮想マシン

上のサービス

利用開始

エンドユーザクラウド管理者作業 クラウド利用者作業

Copyright © 2011 NTT DATA CORPORATION38

• runで全サービスの起動、cleanで停止する

※ volume使う場合は事前に下記のLVMの設定が(一度だけ)必要

# bash nova.sh clean

# dd if=/dev/zero of=volume-file-path bs=100M count=10# losetup –f volume-file-path# vgcreate nova-volume /dev/loop0

※ 要するに、volume node起動には、nova-volumeというVGが必要

Page 40: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

利用手順(開発者向け)

インストール

仮想マシン

利用開始

サービス起動 初期設定

仮想マシン

上のサービス

利用開始

エンドユーザクラウド管理者作業 クラウド利用者作業

(# nova-manage db sync)1) nova-manage user admin2) nova-manage project create admin admin

1) ユーザ作成(例はadmin)

Copyright © 2011 NTT DATA CORPORATION39

2) nova-manage project create admin admin3) nova-manage project environment admin admin novarc4) nova-manage network create 10.0.0.0/8 3 165) nova-manage project zipfile userA pjA zipA

2) PJ作成(例はadmin)

3) 証明書を取得(※)

他ユーザの場合は(5)を使

4) PJが使う仮想マシン用

IPアドレスのレンジを規定

「証明書」とは、以降仮想マシン起動等を行うためapi

nodeにリクエストを送信する際の認証情報。管理者以外

の人には随時配布する必要がある。

Page 41: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

利用手順(開発者向け)

インストール

仮想マシン

利用開始

サービス起動 初期設定

仮想マシン

上のサービス

利用開始

エンドユーザクラウド管理者作業 クラウド利用者作業

euca-bundle-image # イメージをバンドル(束ねる)euca-upload-bundle # バンドルしたイメージをアップロード

Copyright © 2011 NTT DATA CORPORATION40

• 上記コマンドをまとめて、「仮想マシンイメージの登録」を実施

• 仮想マシンイメージはソースに含まれる軽量のものを利用可能

euca-upload-bundle # バンドルしたイメージをアップロードeuca-register # マニフェストファイルを登録

Page 42: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

利用手順(開発者向け)

インストール

仮想マシン

利用開始

サービス起動 初期設定

仮想マシン

上のサービス

利用開始

エンドユーザクラウド管理者作業 クラウド利用者作業

1) euca-add-keypair mykey > mykey.pem2) euca-describe-images 3) euca-run-instance –t t1.small –k mykey ami-centos

1) 仮想マシンログイン用

SSH鍵を生成

2) 登録済イメージを確認

Copyright © 2011 NTT DATA CORPORATION41

3) euca-run-instance –t t1.small –k mykey ami-centos4) euca-describe-instance5) euca-associate-address –i i-00000001 1.1.1.16) euca-authorize –P tcp –p 22 default7) ssh –i mykey 10.1.1.18) euca-terminate-instance i-00000001

2) 登録済イメージを確認

3) 仮想マシンを起動

4)仮想マシンの状態確

認。起動するまで待機

5) IPアドレス割当て

6)ポートを開ける

7) ログイン

8) 仮想マシン停止

Page 43: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

03 OpenStack Object Storage : Swift

42Copyright © 2011 NTT DATA CORPORATION

Page 44: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

概要

• 分散オブジェクトストレージを提供

• 複数サーバのHDDを統合、一つの大容量HDDとして振る舞う

• 格納するオブジェクトは設定値に基づきレプリケーションされる

• 新しいサーバを動的に追加して容量拡張が可能

• RackSpace社の Cloud Filesで用いていた実装を元にOSS化

• OpenStack では「主に」仮想マシンイメージ置き場の役割• OpenStack では「主に」仮想マシンイメージ置き場の役割

• 元々DropBoxのような使い方が想定されているので、普通のストレージとしても使える

Copyright © 2011 NTT DATA CORPORATION43

レプリケーション

して保持

サーバ群

コントローラ

データ保存・読出し

(RESTプロトコル)

クライアント

ソフトウェア

-CyberDuck

-Curl

-Wget

Page 45: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Account ServerAccount Server

Swiftのアーキテクチャ

Container の一覧を保持

内部も REST protocol で通信する

Auth ServerAuth Server Account ServerAccount Server

Object ServerObject Server

Object ServerObject Server

Object ServerObject Server

Container ServerContainer ServerProxy ServerProxy Server

Copyright © 2011 NTT DATA CORPORATION44

Object の一覧を保持

Object のデータを保持

バックエンドとの間で

リクエストを中継する

クライアント

CyberDug等

(curl等でも操作可能)

REST protocol

Proxy ServerProxy Server Container ServerContainer Server

Object ServerObject Server

Page 46: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

利用手順

• Nova.shのようなンストール&(とりあえず)一括設定するツールがない

• 下記URLを参照するのが推奨。

インストール 利用開始サービス起動 初期設定

クラウド管理者作業 クラウド利用者作業

Copyright © 2011 NTT DATA CORPORATION45

• 下記URLを参照するのが推奨。

http://swift.openstack.org/howto_installmultinode.html

http://swift.openstack.org/development_saio.html

• 少し前は複数ノードでインストールは難しいといわれていたが、ドキュメ

ントが充実し、技術者ならトライできる環境が整いつつある

Page 47: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

利用手順

インストール 利用開始サービス起動 初期設定

クラウド管理者作業 クラウド利用者作業

# swift-auth-add-user -K devauth (-a) <account> <user> <passwd># st -A https://x.y.z.z:11000/v1.0 -U <account>:<user> -K <passwd> statAccount: AUTH_22e633cfd4774c35b53936b09e21d963

Copyright © 2011 NTT DATA CORPORATION46

• 必要な操作は「ユーザ登録」のみ

Account: AUTH_22e633cfd4774c35b53936b09e21d963Containers: 0

Objects: 0Bytes: 0

Page 48: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

利用手順

インストール 利用開始サービス起動 初期設定

クラウド管理者作業 クラウド利用者作業

1) curl -k -v -H 'X-Storage-User: <account>:<password' -H 'X-Storage-Pass: <passwd>' https://172.19.0.1:11000/v1.0

・・・

Copyright © 2011 NTT DATA CORPORATION47

• ポイントは「はじめにTokenやURLを入手する」こと

• これらのTokenやURLを認証情報に、逐次オブジェクトの

GET/PUT/HEAD/DELETEを行う

・・・X-Storage-Url:

https://x.y.z.z:8080/v1/AUTH_22e633cfd4774c35b53936b09e21d963X-Storage-Token: AUTH_tk8384480f7dd6498dbc6d94e0fc4df646X-Auth-Token: AUTH_tk8384480f7dd6498dbc6d94e0fc4df646・・・

※ 以降は <Storage-Url><Storage-Token><Auth-Token>と略す

Page 49: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

利用手順

インストール 利用開始サービス起動 初期設定

クラウド管理者作業 クラウド利用者作業

2) curl -k -v -X PUT -H 'X-AuTh-Token:<Auth-Token>' <Storage-Url>/mycontainer2

3) curl -k -v –T ファイル名 -X PUT -H ‘X-AuTh-Token:<Auth-Token>’

Copyright © 2011 NTT DATA CORPORATION48

• GET/PUT/DELETEの様子は上記の通り

• ポイントは「Containerを作ってからオブジェクトを置く」こと

• 空でないContainerはDELETEできない

• 今回は動作原理を説明するためcurlベースだがGUIはCyberDuck等が利用可能

3) curl -k -v –T ファイル名 -X PUT -H ‘X-AuTh-Token:<Auth-Token>’ <Storage-Url>/mycontainer2/ファイル名

4) curl -k -v -X Get -H 'X-AuTh-Token:<Auth-Token>' <Storage-Url>/mycontainer2

Page 50: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

04 Bexar/Cactus の注目ポイント

49Copyright © 2011 NTT DATA CORPORATION

Page 51: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Bexarリリースの注目ポイント

• 2/3に Second Release 「Bexar」がリリース

• 「Bexar」では多くの機能拡張が行われました

項番項番項番項番 説明説明説明説明項番項番項番項番 説明説明説明説明

主な機能拡張 (nova)

主な機能拡張(swift)

Copyright © 2011 NTT DATA CORPORATION50

1 Dashboard(GUI)

2 IPv6サポート

3 Sheepdogサポート

4 インスタンス起動の改善

5 Deployment tool

1 Nova-Grance-Swiftの連携

2 5G以上のオブジェクトサポート

3 認証コンポーネントが単一障害

点になっていたことの改善

※ わかりやすそうなものを中心にしましたので、全部ではありません。

全部見たい方は<https://blueprints.launchpad.net/nova/bexar>

Page 52: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Bexarリリースの注目ポイント(DashBoard)

利用者はコマンドライン利用者はコマンドライン(euca2ools)(euca2ools)の利用必須。の利用必須。GUIGUIなしなし

WebWebベースのベースのGUIGUI

euca2oolseuca2oolsで行う基本操作が可能で行う基本操作が可能

Copyright © 2011 NTT DATA CORPORATION51

Page 53: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Bexarリリースの注目ポイント(IPv6サポート)

IPv4IPv4アドレスの枯渇問題が提起される中、アドレスの枯渇問題が提起される中、IaaSIaaSを構築するには多くのを構築するには多くの

IPv4IPv4アドレスを要する。が、仮想マシンがアドレスを要する。が、仮想マシンがIPv6IPv6を持つことに対応したソを持つことに対応したソ

フトウェアは少なかったフトウェアは少なかった

Copyright © 2011 NTT DATA CORPORATION52

改良改良

-- 仮想仮想マシンがマシンがIPv6IPv6を使えるように改良を使えるように改良

-- 「「IPv4/IPv6IPv4/IPv6のどちらか一方」ではなく、両方使えるのどちらか一方」ではなく、両方使える

「「デュアルスタック」デュアルスタック」

-- nova.sh nova.sh installinstallで必要パッケージは全てインストール完了で必要パッケージは全てインストール完了

-- 仮想仮想マシン(大抵のマシン(大抵のUbuntuUbuntu)では特別な設定は必要なし)では特別な設定は必要なし

Page 54: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Bexarリリースの注目ポイント(SheepDogサポート)

Volume nodeVolume nodeは仮想マシンに、外部ストレージ領域を提供は仮想マシンに、外部ストレージ領域を提供

特に特にATAoEATAoEを使う場合、単一故障点になる/スケールしない懸念が残るを使う場合、単一故障点になる/スケールしない懸念が残る

改良:改良: SheepDogSheepDogを採用を採用

Copyright © 2011 NTT DATA CORPORATION53

改良:改良: SheepDogSheepDogを採用を採用

-- KVMKVM向けの分散ストレージ向けの分散ストレージ

-- 「リニアスケール」「故障ノードの自動切離し」「リニアスケール」「故障ノードの自動切離し」

「新規ノードの自動認識」「負荷分散」などの特徴を有する「新規ノードの自動認識」「負荷分散」などの特徴を有する

-- 運用中の容量不足にも追加が容易運用中の容量不足にも追加が容易

※Bexar※BexarからはからはiSCSIiSCSIもサポートされ、もサポートされ、ATAoEATAoEでなくでなくiSCSIiSCSIがデフォルトになったがデフォルトになった

※※SheepDogSheepDog//iSCSIiSCSIの他にもの他にもRADOSRADOSもサポートもサポート

Page 55: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Bexarリリースの注目ポイント(Hyper-V Support)

OpenStackOpenStackがサポートするがサポートするHypervisorHypervisorは基本的には基本的にXenserverXenserver/KVM/KVM

Copyright © 2011 NTT DATA CORPORATION54

HyperHyper--VVも利用可能にも利用可能に

<http://wiki.openstack.org/HypervInstall><http://wiki.openstack.org/HypervInstall>

CactusCactus以降では以降ではVMWareVMWare--VsphereVsphereもサポートされる予定もサポートされる予定

Page 56: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Bexarリリースの注目ポイント(Deployment tool)

現在は現在はOpenStackOpenStackそのものの品質や機能拡張がフォーカスされるフェーズそのものの品質や機能拡張がフォーカスされるフェーズ

実際構築するフェーズまでは誰も考慮していなかった実際構築するフェーズまでは誰も考慮していなかった

が、特に大規模クラウドの構築に要する稼働は無視できないが、特に大規模クラウドの構築に要する稼働は無視できない

Deployment tool Deployment tool ((novanovaの各ノードに対する設定を自動で実施)の各ノードに対する設定を自動で実施)

Copyright © 2011 NTT DATA CORPORATION55

Deployment tool Deployment tool ((novanovaの各ノードに対する設定を自動で実施)の各ノードに対する設定を自動で実施)

ををBexarBexarから提供開始から提供開始

Puppet

Puppet server

Deployment tool

1. インストール

1. インストール

2. Nova設定ファイル

をプッシュ

3.Puppetが

自動で設定を完了

Page 57: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

Cactusリリースの注目ポイント

・ 3rd Release 「Cactus」は 4/14にリリース

・ 「Cactus」は品質向上にフォーカスし、

機能拡張は少なめだった

項番項番項番項番 説明説明説明説明

2/3 Specs Submission Deadline

3/17 Branch merge proposal freeze

主要な追加機能(nova)

Copyright © 2011 NTT DATA CORPORATION56

1 複数NIC

2 ライブマイグレーション

3 VMWare Vsphereサポート

4 OpenStack APIの整備

3/24 Feature Freeze

4/7 Gamma Freeze

4/14 RC Freeze

4/14 “Cuctus” Release!

※ swift/glanceについては略

Page 58: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

05 日本のコミュニティの状況

57Copyright © 2011 NTT DATA CORPORATION

Page 59: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

日本のコミュニティの状況

日本OpenStackユーザ会

• 10月22日に設立プレスリリース

• 公式サイト http://openstack.jp/

• ML http://groups.google.com/group/openstack-ja/

• 昨年11月に六本木ミッドタウンでOpenStackユーザ会カンファレンスを開催

• 130人もの方々にお越し頂き、大変盛況でした

Copyright © 2011 NTT DATA CORPORATION58

• 英語のコミュニケーションが不安な方、いきなり海外コミュニティに質問するのは

不安な方、その他ご興味がある方はsubscribeしてみてはいかがでしょうか。

Page 60: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

日本のコミュニティの状況

カンファレンス当日の写真

Copyright © 2011 NTT DATA CORPORATION59

Page 61: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~
Page 62: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

日本のコミュニティの状況

Open Cloud Campus

• Eucalyptus、CloudStack などの類似ソフトを横通しした、一種のメタユーザー

グループ

• 日本Eucalyptusユーザ会のコアメンバを母体に発足

• Open Cloud Campus : Cloud Technologies Meeting(仮称)

Copyright © 2011 NTT DATA CORPORATION61

• Open Cloud Campus : Cloud Technologies Meeting(仮称)

• 2011/06/30 19:00~

• NTTコミュニケーションズ 汐留ビル 11F

• 各種ソフトのユーザ会の状況紹介、パネルなど

• 近日告知開始!

Page 63: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

まとめ

• OpenStack 熱いです!

• 続々機能拡充予定

• きれいなGUIも(複数)あります

• 日本の開発者も多数参加しています

Copyright © 2011 NTT DATA CORPORATION62

• 日本の開発者も多数参加しています

• 日本コミュニティはグローバルにやっています

• http://openstack.jp/

• http://groups.google.com/group/openstack-ja/

• Join US ! ☺

Page 64: 「hbstudy#23 OpenStack祭!!」資料 ~OpenStackプロジェクトの全体像~

本文中に記載の会社名、商品名、製品名などは、一般に各社の商標または登録商標です

ただし本文中では、TMや®マークは明記してありません