SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
openstack Open source software to build public and private clouds. 
OpenStackの機能概要 
ver1.1 2014/12/12 
Etsuji Nakai 
(Twitter @enakai00)
2 
目次 
■ OpenStackのこれまで 
■ OpenStackの機能概要 
■ セキュリティ機能とストレージ機能 
■ OpenStackの特徴と主要コンポーネント 
■ コンポーネントのAPI操作
3 
OpenStackのこれまで
4 
OpenStackとは? 
■ OpenStackは、Amazon EC2/S3相当のクラウドインフラを構築するためのオープン 
ソースソフトウェアです。 
- マルチテナント型のIaaS (Infrastructure as a Service) 環境を提供します。 
- 類似のオープンソースには、CloudStack、Eucalyptusなどがあります。 
■ 2010年末に「米RackSpace社」と「NASA」が共同で、OpenStackプロジェクトを立ち 
あげて、開発をスタートしました。 
- RackSpaceが自社開発で利用していた「Swift」(S3相当の機能を提供)とNASAが作りかけて 
いた「Nova」(EC2相当の機能を提供)をオープンソース化して提供して、それらをベースにコ 
ミュニティモデルでの開発を開始しました。 
単なる仮想化管理ツールではなく、 
「パブリッククラウドと同等の機能」を 
実現することがOpenStackの目的
5 
これまでの開発状況 
■ これまで、年に2〜3回程度のメジャーバージョンアップが行われています。 
■ 当初は、RackSpace社が開発を主導していましたが、2012年にOpenStackの開発を支 
える公式の非営利団体である「OpenStack Foudation」が設立されました。 
Bexar 
2011/02/03 
Diablo 
2011/09/22 
OpenStack Foudation設立 
Folsom 
2012/09/27 
Havana 
2013/10/17 
2011 2012 2013 2014 
Austin 
2010/10/21 
Cactus 
2011/04/15 
Essex 
2012/04/05 
Grizzly 
2013/04/04 
「最低限動くもの」を 
目指して地道に開発 
EC2/S3相当機能がほぼ完成 
Icehouse 
2014/04/17
6 
OpenStackの機能概要
OpenStackユーザ 
プロジェクト環境 
OS領域仮想マシンインスタンス 
7 
OpenStackが提供する環境 
■ OpenStackのユーザは、WebコンソールやREST 
APIを用いて、次のようなコンピューティング 
リソースを利用します。 
- 仮想ネットワーク 
- 仮想マシンインスタンス 
- ブロックボリューム 
■ 各ユーザは特定のプロジェクトに所属します。 
- プロジェクト内でリソースを共有します。 
- プロジェクト全体でのリソース使用量の上限設定、 
リソース使用状況のレポーティングなどが可能。 
■ 環境操作には次のような方法があります。 
- GUIダッシュボードから操作 
- CLIツールから操作 
- API連携ツール(Heat, Ansible, etc )から操作 
外部ネットワーク 
仮想ルータ 
仮想スイッチ 
データ領域ブロックボリューム
8 
OpenStackの仮想ネットワークモデル 
■ プロジェクトごとに仮想ルータを用いて、プライベートなネットワークを構成します。 
- 仮想ルータの背後に任意の数の仮想スイッチを作成して、接続します。 
- それぞれの仮想スイッチは、プライベートIPの独立したサブネットを持ちます。 
■ 仮想マシンインスタンス起動時に、接続する仮想スイッチを選択します。 
- DHCPでプライベートIPアドレスが割り当てられます。 
- 同じプロジェクトの仮想マシンインスタンス間は、プライベートIPで通信できます。 
プロジェクトA 
仮想ルータ 
仮想スイッチ 
192.168.101.0/24 
外部ネットワーク 
プロジェクトB 
仮想ルータ 
仮想スイッチ 
192.168.102.0/24
9 
プライベートIPとフローティングIP 
■ 外部ネットワークと通信する際は、仮想マシンインスタンスに「フローティングIP」を 
割り当てます。 
- 外部ネットワークのサブネット上で、フローティングIPとして利用可能なIPアドレスをプールし 
ておきます。 
- 仮想ルータ上で、フローティングIPとプライベートIPのNATが行われます。 
- フローティングIPを割り当てない場合でも、仮想マシンインスタンスから外部ネットワークへの 
接続は可能です。(仮想ルータのIPアドレスを代表IPとして、マスカレード接続します。) 
外部ネットワークからは 
フローティングIPで接続 
フローティングIP 
インスタンス同士は 
プライベートIPで接続 
プライベートIP プライベートIP 
WebサーバーDBサーバー
10 
仮想マシンインスタンスの起動 
■ 仮想マシンインスタンスを起動する際は、次の項目を指定します。 
- インスタンスタイプ 
- テンプレートイメージ (*) 
- 接続する仮想ネットワーク 
- セキュリティグループ 
- キーペア 
外部ネットワーク 
セキュリティグループ 
OS領域 
テンプレート 
イメージ 
複製 
複数ネットワーク 
接続も可能 
形式説明 
raw フラットなイメージファイル 
AMI/AKI/ARI Amazon EC2が利用する形式 
qcow2 Linux KVMが利用する形式 
VDI VirtualBoxが利用する形式 
VMDK VMwareが利用する形式 
VHD Hyper-Vが利用する形式 
テンプレートとしてインポート可能なイメージ形式
11 
セキュリティ機能とストレージ機能
12 
セキュリティグループ 
■ 仮想マシンインスタンスの受信パケットを「セキュリティグループ」でフィルタリング 
します。 
- セキュリティグループを作成して、「プロトコル、宛先ポート、送信元IP」などの条件で受信を 
許可するパケットを指定します。 
- 仮想マシンインスタンス起動時に 
適用するセキュリティグループを 
指定します。 
Pingの受信許可 
HTTPの受信許可 
SSHの受信許可 
セキュリティグループ「default」の 
仮想マシンからは任意の受信許可 
送信は自由に可能
13 
キーペアによるSSHログイン認証 
■ 事前に公開鍵を登録しておき、仮想マシンインスタンス起動時にゲストOSに埋め込み 
ます。 
- 公開鍵の登録は、ユーザ個別に行います。複数ユーザでキーペアを共有する形にはなりません。 
仮想マシンインスタンス 
②公開鍵をゲストOSに埋め込み 
ユーザ情報データベース 
秘密鍵 
公開鍵 
③秘密鍵で認証 
①公開鍵を事前に登録
14 
インスタンスタイプとディスク領域の関係 
■ デフォルトで用意されるインスタンスタイプは次のようになります。 
- ルートディスクは、テンプレートイメージを複製した後に指定のサイズまで拡張されます。 
インスタンスタイプ仮想CPU メモリルート 
ディスク 
一時 
ディスク 
スワップ 
ディスク 
m1.tiny 1 512MB 1GB 0 0 
m1.small 1 2GB 20GB 0 0 
m1.medium 2 4GB 40GB 0 0 
m1.large 4 4GB 80GB 0 0 
m1.xlarge 8 8GB 160GB 0 0 
■ 管理者ユーザは任意のインスタンスタイプを定義することができます。 
- 一時ディスクとスワップディスクを与えると、ゲストOSからは下図のように認識されます。 
- これらのディスク領域は、仮想マシンインスタンスを停止するとすべて破棄されます。(永続保 
存が必要なユーザデータは、ブロックボリュームに保存します。) 
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 
vda 252:0 0 20G 0 disk 
└─vda1 252:1 0 20G 0 part / 
ルートディスク 
一時ディスク 
vdb 252:16 0 5G 0 disk /mnt 
vdc 252:32 0 1G 0 disk [SWAP] スワップディスク
15 
仮想マシンインスタンスのスナップショット 
■ 仮想マシンインスタンスの「スナップショット」により、ルートディスクを複製して保 
存することができます。 
テンプレートイメージ 
OS領域 
テンプレートイメージから 
仮想マシンインスタンス起動 
インスタンスの 
スナップショット 
OS領域 
ルートディスクを複製して 
スナップショットを作成 
スナップショットから 
仮想マシンインスタンス起動
16 
ブロックボリュームの使い方 
■ ブロックボリュームは、仮想マシンインスタンスを停止してもそのまま残るので、永続 
的なデータ保存領域として使います。 
OS領域OS領域 
データ領域 
③スナップショット作成 
④スナップショットを複製して 
新たなブロックボリュームを作成 
②仮想マシンインスタンスに 
接続してデータ領域として使用 
データ領域 
他の仮想マシンインスタンスに 
再接続可能(同時接続は不可) 
①新規ブロックボリュームを作成
17 
ブロックボリュームの使い方 
■ ブロックボリュームにゲストOSをインストールして、ブロックボリュームから仮想マ 
シンインスタンスを起動することも可能です。 
- 仮想マシンインスタンスを停止しても、OS領域への変更が破棄されずに残ります。 
- スナップショットを作成しておき、仮想マシンインスタンスを起動するタイミングで、スナップ 
OS領域 
仮想マシンインスタンスに 
接続してゲストOS起動 
OS領域 
テンプレート 
イメージ 
テンプレートイメージを複製して 
ブロックボリュームを作成 
OS領域 
スナップショット作成 
OS領域 
複製 
ショットから新しいブロックボリュームを用意することも可能です。
18 
プロジェクト単位のリソース使用レポート 
現在の使用量指定期間の累計
19 
プロジェクトのリソース使用量の上限
20 
OpenStackの特徴と主要コンポーネント
21 
OpenStackの主要コンポーネント 
■ OpenStackでは、機能別にソフトウェアをモジュール化して開発が進められています。 
- Swift : オブジェクトストレージ 
● ファイル単位で出し入れするだけの単純なファイルストア 
- Nova : 仮想マシンの配置決定と起動・停止処理 
- Glance : 仮想マシンイメージの管理 
● バックエンドにSwift、その他のストレージを使用 
- Cinder : ブロックボリュームの提供 
● サンプル実装では、Linux LVM + iSCSIソフトウェアターゲットを使用 
● 外部のストレージ装置をバックエンドにすることも可能 
- Keystone : 統合認証機能 
- Neutron : 仮想ネットワーク管理機能(Quantumから改名) 
● 仮想ネットワークの作成を外部のプラグインモジュール(SDN製品)に移譲 
● 標準提供のプラグインでは、Linux bridge、もしくは、Open vSwitchを使用 
- Horizon : GUIコンソールのサンプル実装
22 
コンポーネント間の連携処理 
■ Webコンソールで操作をすると、REST API経由で各モジュールに指示が飛びます。ま 
た、クライアントは、各モジュールのREST APIを直接操作することも可能です。 
- これにより、プログラムコードからの呼び出しによる環境操作の自動化が可能になります。 
テンプレート 
イメージ保存 
仮想マシン 
イメージ 
Nova 
Compute 
Nova 
Compute 
Glance Horizon Neutron 
管理ネットワーク 
LUN 
仮想ネットワーク作成 
仮想マシン起動 
ブロックボリューム提供 
(iSCSI) 
認証サーバ 
MySQL 
Network 
Node 
Nova 
Compute 
Cinder 
Keystone 
Swift 
メッセージキュー 
パブリックネットワーク 
クライアントPC 
Webコンソールアクセス 
テンプレート 
イメージ検索 
テンプレート 
ダウンロード 
AMQP 
データベース 
LUN 
LUN 
Nova
23 
OpenStackの特徴 
■ APIで操作する「Programmable Infrastructure」の提供 
- 既存のGUI・ワークフローに縛られたくないユーザ層の獲得 
- プログラムによるインフラ環境の自動構築・変更に対応 
■スケーラビリティを意識した疎結合アーキテクチャ 
- コンピューティングノードの追加が容易/コントローラの負荷分散が可能 
- システム設計、運用・管理にはこれまでとは違うノウハウが必要 
■ Driver/Pluginによる外部コンポーネントとの連携 
- 既存インフラと連携・統合するための作りこみが可能 
- サードパーティ製品連携のエコシステム 
ここがポイント
■ 仮想マシンインスタンス起動時に「カスタマイズ・スクリプト(User Data)」を与えると 
任意のテキストをメタデータとしてゲストOSに受け渡すことができます。 
24 
カスタマイズスクリプト(User Data)の利用 
■ Cloud-Initは、カスタマイズ・スクリプトを解釈して、さまざまな自動化を実現します。 
- 下図はシェルスクリプトを渡して、「/etc/motd」を設定しています。 
- この他にもCloud-Init独自の構文で、処理内容を指示することができます。 
$ curl http://169.254.169.254/2009-04-04/user-data 
#!/bin/sh 
echo 'Hello, World' > /etc/motd 
exit 0
25 
Puppetと連携したアプリケーション導入例 
■ カスタマイズスクリプトからGitHub/Puppetを連携させることで、仮想マシンインスタ 
ンスの起動時にアプリケーションの導入・設定をまとめて自動化することができます。 
ソフトウェア 
パッケージ 
VM GitHub 
YUM 
リポジトリ 
アプリ設定情報 
(Puppetマニフェスト) 
httpd 
カスタマイズ・スクリプト 
#!/bin/sh -x 
GitRepository=https://github.com/enakai00/apache_puppet 
ConfigTag=f18 
setenforce 0 
yum -y install puppet git 
RepoName=${GitRepository##*/} 
mkdir -p /tmp/gittmp 
cd /tmp/gittmp 
git clone $GitRepository 
cd $RepoName 
git checkout $ConfigTag 
puppet apply main.pp 
setenforce 1
26 
コンポーネントのAPI操作
27 
コンポーネントのAPI操作のパターン 
■ コンポーネントのAPIを操作する際は、2種類のパターンがあります。 
- ユーザがダッシュボード経由で各コンポーネントのAPIを操作、もしくは、直接にAPIを操作 
- あるコンポーネントが他のコンポーネントに処理を依頼するためにAPIを操作 
Horizon 
(ダッシュボード) 
Keystone 
(ユーザ認証) 
Neutron 
(仮想ネットワーク) 
Cinder 
(ブロックボリューム) 
Nova 
(仮想マシン) 
Glance 
(テンプレート) 
テンプレートイメージ 
のダウンロード 
ブロックボリューム 
の接続 
仮想ネットワークへの接続 
APIアクセスWebブラウザ 
アクセス
28 
API操作のユーザ認証 
■ コンポーネントのAPIを操作する際は、ユーザ認証が必要となります。 
- ユーザ、もしくは、コンポーネントは、KeystoneからAPI操作を許可する「トークン」を取得し 
た後に、操作対象コンポーネントのAPIにリクエストを送信します。(各コンポーネントは、自 
分自身を表す「ユーザ」がKeystoneに事前に登録されています。) 
- Keystoneからトークンを取得する際に、操作対象コンポーネントのAPIのURLを併せて取得しま 
す。したがって、ユーザは、KeystoneのAPIのURLだけを知っている必要があります。 
Horizon 
(ダッシュボード) 
Keystone 
(ユーザ認証) 
Neutron 
(仮想ネットワーク) 
Cinder 
(ブロックボリューム) 
Nova 
(仮想マシン) 
Glance 
(テンプレート)
29 
Keystoneのコマンド操作例 (1) 
■ OpenStack標準のコマンドラインツールは、環境変数でユーザ/パスワード/操作対象テ 
ナント/Keystone APIのベースURLを指定します。 
- Keystone APIは、管理ユーザ用と一般ユーザ用でURL(ポート番号)が異なります。 
- 引数でユーザ等を指定した場合は、そちらが優先されます。 
- 次はデフォルトの管理ユーザ「admin」でKeystoneを操作する例です。 
# cat keystonerc_admin 
export OS_USERNAME=admin 
export OS_TENANT_NAME=admin 
export OS_PASSWORD=714f1ab569a64a3b 
export OS_AUTH_URL=http://172.16.1.11:35357/v2.0/ 
export PS1='[u@h W(keystone_admin)]$ ' 
管理ユーザの場合は 
# . keystonerc_admin 
ポート番号35357 
# keystone user-list 
+----------------------------------+------------+---------+-------------------+ 
| id | name | enabled | email | 
+----------------------------------+------------+---------+-------------------+ 
| 589a800d70534655bfade5504958afd6 | admin | True | test@test.com | 
| 3c45a1f5a88d4c1d8fb07b51ed72cd55 | cinder | True | cinder@localhost | 
| f23d88041e5245ee8cc8b0a5c3ec3f6c | demo_admin | True | | 
| 44be5165fdf64bd5907d07aa1aaa5dab | demo_user | True | | 
| cd75770810634ed3a09d92b61aacf0a7 | glance | True | glance@localhost | 
| a38561ed906e48468cf1759918735c53 | nova | True | nova@localhost | 
| 157c8846521846e0abdd16895dc8f024 | neutron | True | neutron@localhost | 
+----------------------------------+------------+---------+-------------------+
30 
Keystoneのコマンド操作例 (3) 
■ 各コマンドラインツールは、「helpサブコマンド」でサブコマンドの一覧や各サブコマ 
ンドの詳細が確認できます。 
# keystone help ← サブコマンドの一覧 
# keystone help user-list ← サブコマンド「user-list」の詳細説明
31 
仮想マシンインスタンスの起動 
■ NovaのAPIに仮想マシンインスタンスの起動を指示すると、Glance / Netronと連携し 
て、インスタンスの起動と仮想ネットワーク接続の処理が行われます。 
- Novaは、Glance APIを通じて、テンプレートイメージをコンピュートノードにコピーします。 
- 同じく、Neutron APIを通じて、仮想マシンインスタンスを仮想ネットワークに接続します。 
Horizon 
(ダッシュボード) 
Keystone 
(ユーザ認証) 
Neutron 
(仮想ネットワーク) 
Cinder 
(ブロックボリューム) 
Nova 
(仮想マシン) 
Glance 
(テンプレート) 
テンプレートイメージ 
のダウンロード 
仮想ネットワークへの接続
32 
仮想マシンインスタンスの起動 (1) 
■ 次は、novaコマンドで仮想マシンインスタンスの起動に必要な情報を確認しています。 
# . keystonerc_demo_user 
# nova flavor-list 
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+ 
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs | 
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+ 
| 1 | m1.tiny | 512 | 0 | 0 | | 1 | 1.0 | True | {} | 
| 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True | {} | 
| 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True | {} | 
| 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True | {} | 
| 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | {} | 
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+ 
# nova keypair-list 
+-------+-------------------------------------------------+ 
| Name | Fingerprint | 
+-------+-------------------------------------------------+ 
NovaからGlance APIを呼び出して 
| mykey | 31:8c:0e:43:67:40:f6:17:a3:f8:3f:d5:73:8e:d0:30 | 
+-------+-------------------------------------------------+ 
情報を取得しています。 
# nova image-list 
+--------------------------------------+----------+--------+--------+ 
| ID | Name | Status | Server | 
+--------------------------------------+----------+--------+--------+ 
| 702d0c4e-b06c-4c15-85e5-9bb612eb6414 | Fedora19 | ACTIVE | | 
+--------------------------------------+----------+--------+--------+ 
# nova secgroup-list 
+---------+-------------+ 
| Name | Description | 
+---------+-------------+ 
| default | default | 
+---------+-------------+ 
NovaからNeutron APIを呼び出して 
情報を取得しています。 
# nova net-list 
+--------------------------------------+-------------+------+ 
| ID | Label | CIDR | 
+--------------------------------------+-------------+------+ 
| 843a1586-6082-4e9f-950f-d44daa83358c | private01 | None | 
| d3c763f0-ebf0-4717-b3fc-cda69bcd1957 | private02 | None | 
| d8040897-44b0-46eb-9c51-149dfe351bbe | ext-network | None | 
+--------------------------------------+-------------+------+
33 
仮想マシンインスタンスの起動 (2) 
■ 次は、確認した情報を元に、仮想マシンインスタンスを起動しています。 
# nova boot --flavor m1.small --image Fedora19 --key-name mykey  
--security-groups default --nic net-id=843a1586-6082-4e9f-950f-d44daa83358c vm01 
+-----------------------------+--------------------------------------+ 
| Property | Value | 
+-----------------------------+--------------------------------------+ 
| status | BUILD | 
| updated | 2013-11-22T06:22:52Z | 
| OS-EXT-STS:task_state | scheduling | 
| key_name | mykey | 
| image | Fedora19 | 
| hostId | | 
| OS-EXT-STS:vm_state | building | 
| flavor | m1.small | 
| id | f40c9b76-3891-4a5f-a62c-87021ba277ce | 
| security_groups | [{u'name': u'default'}] | 
| user_id | 2e57cd295e3f4659b151dd80f3a73468 | 
| name | vm01 | 
| adminPass | 5sUFyKhgovV6 | 
| tenant_id | 555b49dc8b6e4d92aa74103bfb656e70 | 
| created | 2013-11-22T06:22:51Z | 
| OS-DCF:diskConfig | MANUAL | 
| metadata | {} | 
(中略) 
+-----------------------------+--------------------------------------+ 
# nova list 
+--------------------------------------+------+--------+-------------------------+ 
| ID | Name | Status | Networks | 
+--------------------------------------+------+--------+-------------------------+ 
| f40c9b76-3891-4a5f-a62c-87021ba277ce | vm01 | ACTIVE | private01=192.168.101.3 | 
+--------------------------------------+------+--------+-------------------------+
34 
仮想マシンインスタンスの起動 (3) 
■ 「カスタマイズスクリプト」を使用する際は、スクリプトを記載したファイルを用意し 
て、「--user-data」オプションで指定します。 
- 次の例では、カスタマイズスクリプトを指定して仮想マシンインスタンスを起動した後、フロー 
ティングIPを割り当てて、実際にログインしています。 
# cat hello.txt 
#!/bin/sh 
echo 'Hello, World!' > /etc/motd 
# nova boot --flavor m1.small --image Fedora19 --key-name mykey  
--security-groups default --nic net-id=843a1586-6082-4e9f-950f-d44daa83358c  
--user-data hello.txt vm01 
# nova floating-ip-list 
+--------------+-------------+----------+-------------+ 
| Ip | Instance Id | Fixed Ip | Pool | 
+--------------+-------------+----------+-------------+ 
| 172.16.1.101 | None | None | ext-network | 
| 172.16.1.102 | None | None | ext-network | 
| 172.16.1.103 | None | None | ext-network | 
| 172.16.1.104 | None | None | ext-network | 
| 172.16.1.105 | None | None | ext-network | 
+--------------+-------------+----------+-------------+ 
# nova add-floating-ip vm01 172.16.1.101 
# ssh -i ~/mykey.pem fedora@172.16.1.101 
The authenticity of host '172.16.1.101 (172.16.1.101)' can't be established. 
RSA key fingerprint is b7:24:54:63:1f:02:33:4f:81:a7:47:90:c1:1b:78:5a. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added '172.16.1.101' (RSA) to the list of known hosts. 
Hello, World! 
[fedora@vm01 ~]$
35 
ブロックボリュームの作成と接続 
■ CinderのAPIを通して、ブロックボリュームの作成・削除・スナップショット作成など 
が可能です。 
- 仮想マシンインスタンスにブロックボリュームを接続する際は、NovaのAPIに指示を出すと、 
NovaがCinderのAPIを経由して連携処理を行います。 
Horizon 
(ダッシュボード) 
Keystone 
(ユーザ認証) 
Neutron 
(仮想ネットワーク) 
Cinder 
(ブロックボリューム) 
Nova 
(仮想マシン) 
Glance 
(テンプレート) 
ブロックボリューム 
の接続
36 
ブロックボリュームの作成と接続 
■ 次は5GBのボリュームを作成して、仮想マシンインスタンスに接続/取り外し、スナップ 
ショット作成を行う例です。 
# cinder create --display-name volume01 5 
# cinder list 
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ 
| ID | Status | Display Name | Size | Volume Type | Bootable | Attached to | 
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ 
| 78b4d23b-3b57-4a38-9f6e-10e5048170ef | available | volume01 | 5 | None | false | | 
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ 
# nova volume-attach vm01 78b4d23b-3b57-4a38-9f6e-10e5048170ef 
+----------+--------------------------------------+ 
| Property | Value | 
+----------+--------------------------------------+ 
| device | /dev/vdb | 
| serverId | f40c9b76-3891-4a5f-a62c-87021ba277ce | 
| id | 78b4d23b-3b57-4a38-9f6e-10e5048170ef | 
| volumeId | 78b4d23b-3b57-4a38-9f6e-10e5048170ef | 
+----------+--------------------------------------+ 
# nova volume-detach vm01 78b4d23b-3b57-4a38-9f6e-10e5048170ef 
# cinder snapshot-create --display-name volume01-snap 78b4d23b-3b57-4a38-9f6e-10e5048170ef 
# cinder snapshot-list 
+--------------------------------------+--------------------------------------+-----------+---------------+------+ 
| ID | Volume ID | Status | Display Name | Size | 
+--------------------------------------+--------------------------------------+-----------+---------------+------+ 
| 3dfa60cb-d0b2-4a10-9d49-817f5cee78b5 | 78b4d23b-3b57-4a38-9f6e-10e5048170ef | available | volume01-snap | 5 | 
+--------------------------------------+--------------------------------------+-----------+---------------+------+
37 
ブロックボリュームからの起動 
■ テンプレートイメージを複製してブロックボリュームを作成すると、ブロックボリュー 
ムから仮想マシンインスタンスを起動できるようになります。 
- 次は、既存のテンプレートイメージからブロックボリュームを作成して、仮想マシンインスタン 
スを起動する例です。 
テンプレートイメージのID 
# cinder create --image-id 702d0c4e-b06c-4c15-85e5-9bb612eb6414 --display-name Fedora19-bootvol 5 
# cinder list 
+--------------------------------------+-----------+------------------+------+-------------+----------+-------------+ 
| ID | Status | Display Name | Size | Volume Type | Bootable | Attached to | 
+--------------------------------------+-----------+------------------+------+-------------+----------+-------------+ 
| 78b4d23b-3b57-4a38-9f6e-10e5048170ef | available | volume01 | 5 | None | false | | 
| bdde9405-8be7-48d5-a879-35e37c97512f | available | Fedora19-bootvol | 5 | None | true | | 
+--------------------------------------+-----------+------------------+------+-------------+----------+-------------+ 
# nova boot --flavor m1.small --key-name mykey  
--security-groups default --nic net-id=843a1586-6082-4e9f-950f-d44daa83358c  
--block_device_mapping vda=bdde9405-8be7-48d5-a879-35e37c97512f:::0 vm02 
ブロックボリュームのID インスタンス停止時にボリュームを 
削除するかどうか 
# nova volume-list 
+----------||-----------+-----------+------------------+------+-------------+--------------------------------------+ 
| ID || | Status | Display Name | Size | Volume Type | Attached to | 
+----------||-----------+-----------+------------------+------+-------------+--------------------------------------+ 
| 78b4d23b-||e5048170ef | available | volume01 | 5 | None | | 
| bdde9405-||e37c97512f | in-use | Fedora19-bootvol | 5 | None | b4cb7edd-317f-44e9-97db-5a04c41a4510 | 
+----------||-----------+-----------+------------------+------+-------------+--------------------------------------+
openstack Open source software to build public and private clouds.

Más contenido relacionado

La actualidad más candente

エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造Etsuji Nakai
 
Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Etsuji Nakai
 
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニックOpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニックEtsuji Nakai
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門Etsuji Nakai
 
OpenStack(RDO/Grizzly) ダッシュボード利用演習
OpenStack(RDO/Grizzly) ダッシュボード利用演習OpenStack(RDO/Grizzly) ダッシュボード利用演習
OpenStack(RDO/Grizzly) ダッシュボード利用演習Etsuji Nakai
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門Etsuji Nakai
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2Etsuji Nakai
 
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門Etsuji Nakai
 
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料Etsuji Nakai
 
OpenStack Liberty をインストールしてみた
OpenStack Liberty をインストールしてみたOpenStack Liberty をインストールしてみた
OpenStack Liberty をインストールしてみたTakashi Umeno
 
クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!Etsuji Nakai
 
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOFVirtualTech Japan Inc.
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~Masaya Aoyama
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよnpsg
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...VirtualTech Japan Inc.
 
OpenShift v3 Technical Introduction
OpenShift v3 Technical IntroductionOpenShift v3 Technical Introduction
OpenShift v3 Technical IntroductionEtsuji Nakai
 
RDOとPackstackのご紹介
RDOとPackstackのご紹介RDOとPackstackのご紹介
RDOとPackstackのご紹介Etsuji Nakai
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作irix_jp
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介Etsuji Nakai
 

La actualidad más candente (20)

エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
 
Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介
 
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニックOpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
 
OpenStack(RDO/Grizzly) ダッシュボード利用演習
OpenStack(RDO/Grizzly) ダッシュボード利用演習OpenStack(RDO/Grizzly) ダッシュボード利用演習
OpenStack(RDO/Grizzly) ダッシュボード利用演習
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2
 
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門
 
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
 
OpenStack Liberty をインストールしてみた
OpenStack Liberty をインストールしてみたOpenStack Liberty をインストールしてみた
OpenStack Liberty をインストールしてみた
 
クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!
 
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 
OpenShift v3 Technical Introduction
OpenShift v3 Technical IntroductionOpenShift v3 Technical Introduction
OpenShift v3 Technical Introduction
 
OpenStack Grizzly構築手順書
OpenStack Grizzly構築手順書OpenStack Grizzly構築手順書
OpenStack Grizzly構築手順書
 
RDOとPackstackのご紹介
RDOとPackstackのご紹介RDOとPackstackのご紹介
RDOとPackstackのご紹介
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
 

Destacado

OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1Etsuji Nakai
 
OpenStack: Inside Out
OpenStack: Inside OutOpenStack: Inside Out
OpenStack: Inside OutEtsuji Nakai
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterEtsuji Nakai
 
分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要Etsuji Nakai
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersEtsuji Nakai
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイドEtsuji Nakai
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモEtsuji Nakai
 
機械学習概論 講義テキスト
機械学習概論 講義テキスト機械学習概論 講義テキスト
機械学習概論 講義テキストEtsuji Nakai
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsEtsuji Nakai
 
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウドOsc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウドSeiichiro Ishida
 
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方Toru Makabe
 
Ubuntu OpenStack Introduction
Ubuntu OpenStack IntroductionUbuntu OpenStack Introduction
Ubuntu OpenStack IntroductionRoozbeh Shafiee
 
Haskell勉強会 14.1〜14.3 の説明資料
Haskell勉強会 14.1〜14.3 の説明資料Haskell勉強会 14.1〜14.3 の説明資料
Haskell勉強会 14.1〜14.3 の説明資料Etsuji Nakai
 
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方Toru Makabe
 
RHEL Atomic Hostのご紹介
RHEL Atomic Hostのご紹介RHEL Atomic Hostのご紹介
RHEL Atomic Hostのご紹介Etsuji Nakai
 

Destacado (16)

OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
 
OpenStack: Inside Out
OpenStack: Inside OutOpenStack: Inside Out
OpenStack: Inside Out
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with Jupyter
 
分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application Developers
 
Life with jupyter
Life with jupyterLife with jupyter
Life with jupyter
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
 
機械学習概論 講義テキスト
機械学習概論 講義テキスト機械学習概論 講義テキスト
機械学習概論 講義テキスト
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウドOsc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
Osc2013 spring OpenStackで実現する分散ストレージ「Swift」とプライベートクラウド
 
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
 
Ubuntu OpenStack Introduction
Ubuntu OpenStack IntroductionUbuntu OpenStack Introduction
Ubuntu OpenStack Introduction
 
Haskell勉強会 14.1〜14.3 の説明資料
Haskell勉強会 14.1〜14.3 の説明資料Haskell勉強会 14.1〜14.3 の説明資料
Haskell勉強会 14.1〜14.3 の説明資料
 
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
 
RHEL Atomic Hostのご紹介
RHEL Atomic Hostのご紹介RHEL Atomic Hostのご紹介
RHEL Atomic Hostのご紹介
 

Similar a Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要

CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)Satoshi Shimazaki
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overviewirix_jp
 
Aws summits2014 エンタープライズ向けawscdpネットワーク編
Aws summits2014 エンタープライズ向けawscdpネットワーク編Aws summits2014 エンタープライズ向けawscdpネットワーク編
Aws summits2014 エンタープライズ向けawscdpネットワーク編Boss4434
 
20140725 tf azure_pack_slideshare
20140725 tf azure_pack_slideshare20140725 tf azure_pack_slideshare
20140725 tf azure_pack_slideshareosamut
 
Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版) Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版) Takamasa Maejima
 
20131211 Neutron Havana
20131211 Neutron Havana20131211 Neutron Havana
20131211 Neutron HavanaAkihiro Motoki
 
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会samemoon
 
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティSaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティKuniyasu Suzaki
 
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)kekekekenta
 
SoftLayer Bluemix Summit 2015 はじめてのSoftLayer(サーバー、ストレージ編)
 SoftLayer Bluemix Summit 2015 はじめてのSoftLayer(サーバー、ストレージ編) SoftLayer Bluemix Summit 2015 はじめてのSoftLayer(サーバー、ストレージ編)
SoftLayer Bluemix Summit 2015 はじめてのSoftLayer(サーバー、ストレージ編)Yuichi Tamagawa
 
20140927 azure pack_slideshare
20140927 azure pack_slideshare20140927 azure pack_slideshare
20140927 azure pack_slideshareOsamu Takazoe
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたGoAzure
 
2011/12/3 わんくま同盟
2011/12/3 わんくま同盟2011/12/3 わんくま同盟
2011/12/3 わんくま同盟貴仁 大和屋
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Yasuhiro Arai
 
CloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/SwiftCloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/Swiftirix_jp
 
20141110 tf azure_iaas
20141110 tf azure_iaas20141110 tf azure_iaas
20141110 tf azure_iaasOsamu Takazoe
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-Takashi Sogabe
 

Similar a Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要 (20)

CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overview
 
OpenStack概要
OpenStack概要OpenStack概要
OpenStack概要
 
Aws summits2014 エンタープライズ向けawscdpネットワーク編
Aws summits2014 エンタープライズ向けawscdpネットワーク編Aws summits2014 エンタープライズ向けawscdpネットワーク編
Aws summits2014 エンタープライズ向けawscdpネットワーク編
 
20140725 tf azure_pack_slideshare
20140725 tf azure_pack_slideshare20140725 tf azure_pack_slideshare
20140725 tf azure_pack_slideshare
 
Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版) Azure IaaS update (2018年6月~7月 発表版)
Azure IaaS update (2018年6月~7月 発表版)
 
20131211 Neutron Havana
20131211 Neutron Havana20131211 Neutron Havana
20131211 Neutron Havana
 
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会
 
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティSaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
 
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)Microsoft Azure の概要と最近のアップデート(2016年6月25日)
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
 
201709 osc josug
201709 osc josug 201709 osc josug
201709 osc josug
 
SoftLayer Bluemix Summit 2015 はじめてのSoftLayer(サーバー、ストレージ編)
 SoftLayer Bluemix Summit 2015 はじめてのSoftLayer(サーバー、ストレージ編) SoftLayer Bluemix Summit 2015 はじめてのSoftLayer(サーバー、ストレージ編)
SoftLayer Bluemix Summit 2015 はじめてのSoftLayer(サーバー、ストレージ編)
 
20140927 azure pack_slideshare
20140927 azure pack_slideshare20140927 azure pack_slideshare
20140927 azure pack_slideshare
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
 
2011/11/26 Dot netlab
2011/11/26 Dot netlab2011/11/26 Dot netlab
2011/11/26 Dot netlab
 
2011/12/3 わんくま同盟
2011/12/3 わんくま同盟2011/12/3 わんくま同盟
2011/12/3 わんくま同盟
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
 
CloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/SwiftCloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/Swift
 
20141110 tf azure_iaas
20141110 tf azure_iaas20141110 tf azure_iaas
20141110 tf azure_iaas
 
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
 

Más de Etsuji Nakai

「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考えるEtsuji Nakai
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Etsuji Nakai
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowEtsuji Nakai
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスEtsuji Nakai
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English LearningEtsuji Nakai
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎Etsuji Nakai
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門Etsuji Nakai
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2Etsuji Nakai
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginnersEtsuji Nakai
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQNEtsuji Nakai
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかEtsuji Nakai
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜Etsuji Nakai
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftEtsuji Nakai
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)Etsuji Nakai
 
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Etsuji Nakai
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Etsuji Nakai
 
OpenStackとDockerの未来像
OpenStackとDockerの未来像OpenStackとDockerの未来像
OpenStackとDockerの未来像Etsuji Nakai
 
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編Etsuji Nakai
 

Más de Etsuji Nakai (20)

PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English Learning
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginners
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
 
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会
 
OpenStackとDockerの未来像
OpenStackとDockerの未来像OpenStackとDockerの未来像
OpenStackとDockerの未来像
 
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編
 

Último

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Último (9)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要

  • 1. openstack Open source software to build public and private clouds. OpenStackの機能概要 ver1.1 2014/12/12 Etsuji Nakai (Twitter @enakai00)
  • 2. 2 目次 ■ OpenStackのこれまで ■ OpenStackの機能概要 ■ セキュリティ機能とストレージ機能 ■ OpenStackの特徴と主要コンポーネント ■ コンポーネントのAPI操作
  • 4. 4 OpenStackとは? ■ OpenStackは、Amazon EC2/S3相当のクラウドインフラを構築するためのオープン ソースソフトウェアです。 - マルチテナント型のIaaS (Infrastructure as a Service) 環境を提供します。 - 類似のオープンソースには、CloudStack、Eucalyptusなどがあります。 ■ 2010年末に「米RackSpace社」と「NASA」が共同で、OpenStackプロジェクトを立ち あげて、開発をスタートしました。 - RackSpaceが自社開発で利用していた「Swift」(S3相当の機能を提供)とNASAが作りかけて いた「Nova」(EC2相当の機能を提供)をオープンソース化して提供して、それらをベースにコ ミュニティモデルでの開発を開始しました。 単なる仮想化管理ツールではなく、 「パブリッククラウドと同等の機能」を 実現することがOpenStackの目的
  • 5. 5 これまでの開発状況 ■ これまで、年に2〜3回程度のメジャーバージョンアップが行われています。 ■ 当初は、RackSpace社が開発を主導していましたが、2012年にOpenStackの開発を支 える公式の非営利団体である「OpenStack Foudation」が設立されました。 Bexar 2011/02/03 Diablo 2011/09/22 OpenStack Foudation設立 Folsom 2012/09/27 Havana 2013/10/17 2011 2012 2013 2014 Austin 2010/10/21 Cactus 2011/04/15 Essex 2012/04/05 Grizzly 2013/04/04 「最低限動くもの」を 目指して地道に開発 EC2/S3相当機能がほぼ完成 Icehouse 2014/04/17
  • 7. OpenStackユーザ プロジェクト環境 OS領域仮想マシンインスタンス 7 OpenStackが提供する環境 ■ OpenStackのユーザは、WebコンソールやREST APIを用いて、次のようなコンピューティング リソースを利用します。 - 仮想ネットワーク - 仮想マシンインスタンス - ブロックボリューム ■ 各ユーザは特定のプロジェクトに所属します。 - プロジェクト内でリソースを共有します。 - プロジェクト全体でのリソース使用量の上限設定、 リソース使用状況のレポーティングなどが可能。 ■ 環境操作には次のような方法があります。 - GUIダッシュボードから操作 - CLIツールから操作 - API連携ツール(Heat, Ansible, etc )から操作 外部ネットワーク 仮想ルータ 仮想スイッチ データ領域ブロックボリューム
  • 8. 8 OpenStackの仮想ネットワークモデル ■ プロジェクトごとに仮想ルータを用いて、プライベートなネットワークを構成します。 - 仮想ルータの背後に任意の数の仮想スイッチを作成して、接続します。 - それぞれの仮想スイッチは、プライベートIPの独立したサブネットを持ちます。 ■ 仮想マシンインスタンス起動時に、接続する仮想スイッチを選択します。 - DHCPでプライベートIPアドレスが割り当てられます。 - 同じプロジェクトの仮想マシンインスタンス間は、プライベートIPで通信できます。 プロジェクトA 仮想ルータ 仮想スイッチ 192.168.101.0/24 外部ネットワーク プロジェクトB 仮想ルータ 仮想スイッチ 192.168.102.0/24
  • 9. 9 プライベートIPとフローティングIP ■ 外部ネットワークと通信する際は、仮想マシンインスタンスに「フローティングIP」を 割り当てます。 - 外部ネットワークのサブネット上で、フローティングIPとして利用可能なIPアドレスをプールし ておきます。 - 仮想ルータ上で、フローティングIPとプライベートIPのNATが行われます。 - フローティングIPを割り当てない場合でも、仮想マシンインスタンスから外部ネットワークへの 接続は可能です。(仮想ルータのIPアドレスを代表IPとして、マスカレード接続します。) 外部ネットワークからは フローティングIPで接続 フローティングIP インスタンス同士は プライベートIPで接続 プライベートIP プライベートIP WebサーバーDBサーバー
  • 10. 10 仮想マシンインスタンスの起動 ■ 仮想マシンインスタンスを起動する際は、次の項目を指定します。 - インスタンスタイプ - テンプレートイメージ (*) - 接続する仮想ネットワーク - セキュリティグループ - キーペア 外部ネットワーク セキュリティグループ OS領域 テンプレート イメージ 複製 複数ネットワーク 接続も可能 形式説明 raw フラットなイメージファイル AMI/AKI/ARI Amazon EC2が利用する形式 qcow2 Linux KVMが利用する形式 VDI VirtualBoxが利用する形式 VMDK VMwareが利用する形式 VHD Hyper-Vが利用する形式 テンプレートとしてインポート可能なイメージ形式
  • 12. 12 セキュリティグループ ■ 仮想マシンインスタンスの受信パケットを「セキュリティグループ」でフィルタリング します。 - セキュリティグループを作成して、「プロトコル、宛先ポート、送信元IP」などの条件で受信を 許可するパケットを指定します。 - 仮想マシンインスタンス起動時に 適用するセキュリティグループを 指定します。 Pingの受信許可 HTTPの受信許可 SSHの受信許可 セキュリティグループ「default」の 仮想マシンからは任意の受信許可 送信は自由に可能
  • 13. 13 キーペアによるSSHログイン認証 ■ 事前に公開鍵を登録しておき、仮想マシンインスタンス起動時にゲストOSに埋め込み ます。 - 公開鍵の登録は、ユーザ個別に行います。複数ユーザでキーペアを共有する形にはなりません。 仮想マシンインスタンス ②公開鍵をゲストOSに埋め込み ユーザ情報データベース 秘密鍵 公開鍵 ③秘密鍵で認証 ①公開鍵を事前に登録
  • 14. 14 インスタンスタイプとディスク領域の関係 ■ デフォルトで用意されるインスタンスタイプは次のようになります。 - ルートディスクは、テンプレートイメージを複製した後に指定のサイズまで拡張されます。 インスタンスタイプ仮想CPU メモリルート ディスク 一時 ディスク スワップ ディスク m1.tiny 1 512MB 1GB 0 0 m1.small 1 2GB 20GB 0 0 m1.medium 2 4GB 40GB 0 0 m1.large 4 4GB 80GB 0 0 m1.xlarge 8 8GB 160GB 0 0 ■ 管理者ユーザは任意のインスタンスタイプを定義することができます。 - 一時ディスクとスワップディスクを与えると、ゲストOSからは下図のように認識されます。 - これらのディスク領域は、仮想マシンインスタンスを停止するとすべて破棄されます。(永続保 存が必要なユーザデータは、ブロックボリュームに保存します。) NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 252:0 0 20G 0 disk └─vda1 252:1 0 20G 0 part / ルートディスク 一時ディスク vdb 252:16 0 5G 0 disk /mnt vdc 252:32 0 1G 0 disk [SWAP] スワップディスク
  • 15. 15 仮想マシンインスタンスのスナップショット ■ 仮想マシンインスタンスの「スナップショット」により、ルートディスクを複製して保 存することができます。 テンプレートイメージ OS領域 テンプレートイメージから 仮想マシンインスタンス起動 インスタンスの スナップショット OS領域 ルートディスクを複製して スナップショットを作成 スナップショットから 仮想マシンインスタンス起動
  • 16. 16 ブロックボリュームの使い方 ■ ブロックボリュームは、仮想マシンインスタンスを停止してもそのまま残るので、永続 的なデータ保存領域として使います。 OS領域OS領域 データ領域 ③スナップショット作成 ④スナップショットを複製して 新たなブロックボリュームを作成 ②仮想マシンインスタンスに 接続してデータ領域として使用 データ領域 他の仮想マシンインスタンスに 再接続可能(同時接続は不可) ①新規ブロックボリュームを作成
  • 17. 17 ブロックボリュームの使い方 ■ ブロックボリュームにゲストOSをインストールして、ブロックボリュームから仮想マ シンインスタンスを起動することも可能です。 - 仮想マシンインスタンスを停止しても、OS領域への変更が破棄されずに残ります。 - スナップショットを作成しておき、仮想マシンインスタンスを起動するタイミングで、スナップ OS領域 仮想マシンインスタンスに 接続してゲストOS起動 OS領域 テンプレート イメージ テンプレートイメージを複製して ブロックボリュームを作成 OS領域 スナップショット作成 OS領域 複製 ショットから新しいブロックボリュームを用意することも可能です。
  • 21. 21 OpenStackの主要コンポーネント ■ OpenStackでは、機能別にソフトウェアをモジュール化して開発が進められています。 - Swift : オブジェクトストレージ ● ファイル単位で出し入れするだけの単純なファイルストア - Nova : 仮想マシンの配置決定と起動・停止処理 - Glance : 仮想マシンイメージの管理 ● バックエンドにSwift、その他のストレージを使用 - Cinder : ブロックボリュームの提供 ● サンプル実装では、Linux LVM + iSCSIソフトウェアターゲットを使用 ● 外部のストレージ装置をバックエンドにすることも可能 - Keystone : 統合認証機能 - Neutron : 仮想ネットワーク管理機能(Quantumから改名) ● 仮想ネットワークの作成を外部のプラグインモジュール(SDN製品)に移譲 ● 標準提供のプラグインでは、Linux bridge、もしくは、Open vSwitchを使用 - Horizon : GUIコンソールのサンプル実装
  • 22. 22 コンポーネント間の連携処理 ■ Webコンソールで操作をすると、REST API経由で各モジュールに指示が飛びます。ま た、クライアントは、各モジュールのREST APIを直接操作することも可能です。 - これにより、プログラムコードからの呼び出しによる環境操作の自動化が可能になります。 テンプレート イメージ保存 仮想マシン イメージ Nova Compute Nova Compute Glance Horizon Neutron 管理ネットワーク LUN 仮想ネットワーク作成 仮想マシン起動 ブロックボリューム提供 (iSCSI) 認証サーバ MySQL Network Node Nova Compute Cinder Keystone Swift メッセージキュー パブリックネットワーク クライアントPC Webコンソールアクセス テンプレート イメージ検索 テンプレート ダウンロード AMQP データベース LUN LUN Nova
  • 23. 23 OpenStackの特徴 ■ APIで操作する「Programmable Infrastructure」の提供 - 既存のGUI・ワークフローに縛られたくないユーザ層の獲得 - プログラムによるインフラ環境の自動構築・変更に対応 ■スケーラビリティを意識した疎結合アーキテクチャ - コンピューティングノードの追加が容易/コントローラの負荷分散が可能 - システム設計、運用・管理にはこれまでとは違うノウハウが必要 ■ Driver/Pluginによる外部コンポーネントとの連携 - 既存インフラと連携・統合するための作りこみが可能 - サードパーティ製品連携のエコシステム ここがポイント
  • 24. ■ 仮想マシンインスタンス起動時に「カスタマイズ・スクリプト(User Data)」を与えると 任意のテキストをメタデータとしてゲストOSに受け渡すことができます。 24 カスタマイズスクリプト(User Data)の利用 ■ Cloud-Initは、カスタマイズ・スクリプトを解釈して、さまざまな自動化を実現します。 - 下図はシェルスクリプトを渡して、「/etc/motd」を設定しています。 - この他にもCloud-Init独自の構文で、処理内容を指示することができます。 $ curl http://169.254.169.254/2009-04-04/user-data #!/bin/sh echo 'Hello, World' > /etc/motd exit 0
  • 25. 25 Puppetと連携したアプリケーション導入例 ■ カスタマイズスクリプトからGitHub/Puppetを連携させることで、仮想マシンインスタ ンスの起動時にアプリケーションの導入・設定をまとめて自動化することができます。 ソフトウェア パッケージ VM GitHub YUM リポジトリ アプリ設定情報 (Puppetマニフェスト) httpd カスタマイズ・スクリプト #!/bin/sh -x GitRepository=https://github.com/enakai00/apache_puppet ConfigTag=f18 setenforce 0 yum -y install puppet git RepoName=${GitRepository##*/} mkdir -p /tmp/gittmp cd /tmp/gittmp git clone $GitRepository cd $RepoName git checkout $ConfigTag puppet apply main.pp setenforce 1
  • 27. 27 コンポーネントのAPI操作のパターン ■ コンポーネントのAPIを操作する際は、2種類のパターンがあります。 - ユーザがダッシュボード経由で各コンポーネントのAPIを操作、もしくは、直接にAPIを操作 - あるコンポーネントが他のコンポーネントに処理を依頼するためにAPIを操作 Horizon (ダッシュボード) Keystone (ユーザ認証) Neutron (仮想ネットワーク) Cinder (ブロックボリューム) Nova (仮想マシン) Glance (テンプレート) テンプレートイメージ のダウンロード ブロックボリューム の接続 仮想ネットワークへの接続 APIアクセスWebブラウザ アクセス
  • 28. 28 API操作のユーザ認証 ■ コンポーネントのAPIを操作する際は、ユーザ認証が必要となります。 - ユーザ、もしくは、コンポーネントは、KeystoneからAPI操作を許可する「トークン」を取得し た後に、操作対象コンポーネントのAPIにリクエストを送信します。(各コンポーネントは、自 分自身を表す「ユーザ」がKeystoneに事前に登録されています。) - Keystoneからトークンを取得する際に、操作対象コンポーネントのAPIのURLを併せて取得しま す。したがって、ユーザは、KeystoneのAPIのURLだけを知っている必要があります。 Horizon (ダッシュボード) Keystone (ユーザ認証) Neutron (仮想ネットワーク) Cinder (ブロックボリューム) Nova (仮想マシン) Glance (テンプレート)
  • 29. 29 Keystoneのコマンド操作例 (1) ■ OpenStack標準のコマンドラインツールは、環境変数でユーザ/パスワード/操作対象テ ナント/Keystone APIのベースURLを指定します。 - Keystone APIは、管理ユーザ用と一般ユーザ用でURL(ポート番号)が異なります。 - 引数でユーザ等を指定した場合は、そちらが優先されます。 - 次はデフォルトの管理ユーザ「admin」でKeystoneを操作する例です。 # cat keystonerc_admin export OS_USERNAME=admin export OS_TENANT_NAME=admin export OS_PASSWORD=714f1ab569a64a3b export OS_AUTH_URL=http://172.16.1.11:35357/v2.0/ export PS1='[u@h W(keystone_admin)]$ ' 管理ユーザの場合は # . keystonerc_admin ポート番号35357 # keystone user-list +----------------------------------+------------+---------+-------------------+ | id | name | enabled | email | +----------------------------------+------------+---------+-------------------+ | 589a800d70534655bfade5504958afd6 | admin | True | test@test.com | | 3c45a1f5a88d4c1d8fb07b51ed72cd55 | cinder | True | cinder@localhost | | f23d88041e5245ee8cc8b0a5c3ec3f6c | demo_admin | True | | | 44be5165fdf64bd5907d07aa1aaa5dab | demo_user | True | | | cd75770810634ed3a09d92b61aacf0a7 | glance | True | glance@localhost | | a38561ed906e48468cf1759918735c53 | nova | True | nova@localhost | | 157c8846521846e0abdd16895dc8f024 | neutron | True | neutron@localhost | +----------------------------------+------------+---------+-------------------+
  • 30. 30 Keystoneのコマンド操作例 (3) ■ 各コマンドラインツールは、「helpサブコマンド」でサブコマンドの一覧や各サブコマ ンドの詳細が確認できます。 # keystone help ← サブコマンドの一覧 # keystone help user-list ← サブコマンド「user-list」の詳細説明
  • 31. 31 仮想マシンインスタンスの起動 ■ NovaのAPIに仮想マシンインスタンスの起動を指示すると、Glance / Netronと連携し て、インスタンスの起動と仮想ネットワーク接続の処理が行われます。 - Novaは、Glance APIを通じて、テンプレートイメージをコンピュートノードにコピーします。 - 同じく、Neutron APIを通じて、仮想マシンインスタンスを仮想ネットワークに接続します。 Horizon (ダッシュボード) Keystone (ユーザ認証) Neutron (仮想ネットワーク) Cinder (ブロックボリューム) Nova (仮想マシン) Glance (テンプレート) テンプレートイメージ のダウンロード 仮想ネットワークへの接続
  • 32. 32 仮想マシンインスタンスの起動 (1) ■ 次は、novaコマンドで仮想マシンインスタンスの起動に必要な情報を確認しています。 # . keystonerc_demo_user # nova flavor-list +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+ | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+ | 1 | m1.tiny | 512 | 0 | 0 | | 1 | 1.0 | True | {} | | 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True | {} | | 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True | {} | | 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True | {} | | 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | {} | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+ # nova keypair-list +-------+-------------------------------------------------+ | Name | Fingerprint | +-------+-------------------------------------------------+ NovaからGlance APIを呼び出して | mykey | 31:8c:0e:43:67:40:f6:17:a3:f8:3f:d5:73:8e:d0:30 | +-------+-------------------------------------------------+ 情報を取得しています。 # nova image-list +--------------------------------------+----------+--------+--------+ | ID | Name | Status | Server | +--------------------------------------+----------+--------+--------+ | 702d0c4e-b06c-4c15-85e5-9bb612eb6414 | Fedora19 | ACTIVE | | +--------------------------------------+----------+--------+--------+ # nova secgroup-list +---------+-------------+ | Name | Description | +---------+-------------+ | default | default | +---------+-------------+ NovaからNeutron APIを呼び出して 情報を取得しています。 # nova net-list +--------------------------------------+-------------+------+ | ID | Label | CIDR | +--------------------------------------+-------------+------+ | 843a1586-6082-4e9f-950f-d44daa83358c | private01 | None | | d3c763f0-ebf0-4717-b3fc-cda69bcd1957 | private02 | None | | d8040897-44b0-46eb-9c51-149dfe351bbe | ext-network | None | +--------------------------------------+-------------+------+
  • 33. 33 仮想マシンインスタンスの起動 (2) ■ 次は、確認した情報を元に、仮想マシンインスタンスを起動しています。 # nova boot --flavor m1.small --image Fedora19 --key-name mykey --security-groups default --nic net-id=843a1586-6082-4e9f-950f-d44daa83358c vm01 +-----------------------------+--------------------------------------+ | Property | Value | +-----------------------------+--------------------------------------+ | status | BUILD | | updated | 2013-11-22T06:22:52Z | | OS-EXT-STS:task_state | scheduling | | key_name | mykey | | image | Fedora19 | | hostId | | | OS-EXT-STS:vm_state | building | | flavor | m1.small | | id | f40c9b76-3891-4a5f-a62c-87021ba277ce | | security_groups | [{u'name': u'default'}] | | user_id | 2e57cd295e3f4659b151dd80f3a73468 | | name | vm01 | | adminPass | 5sUFyKhgovV6 | | tenant_id | 555b49dc8b6e4d92aa74103bfb656e70 | | created | 2013-11-22T06:22:51Z | | OS-DCF:diskConfig | MANUAL | | metadata | {} | (中略) +-----------------------------+--------------------------------------+ # nova list +--------------------------------------+------+--------+-------------------------+ | ID | Name | Status | Networks | +--------------------------------------+------+--------+-------------------------+ | f40c9b76-3891-4a5f-a62c-87021ba277ce | vm01 | ACTIVE | private01=192.168.101.3 | +--------------------------------------+------+--------+-------------------------+
  • 34. 34 仮想マシンインスタンスの起動 (3) ■ 「カスタマイズスクリプト」を使用する際は、スクリプトを記載したファイルを用意し て、「--user-data」オプションで指定します。 - 次の例では、カスタマイズスクリプトを指定して仮想マシンインスタンスを起動した後、フロー ティングIPを割り当てて、実際にログインしています。 # cat hello.txt #!/bin/sh echo 'Hello, World!' > /etc/motd # nova boot --flavor m1.small --image Fedora19 --key-name mykey --security-groups default --nic net-id=843a1586-6082-4e9f-950f-d44daa83358c --user-data hello.txt vm01 # nova floating-ip-list +--------------+-------------+----------+-------------+ | Ip | Instance Id | Fixed Ip | Pool | +--------------+-------------+----------+-------------+ | 172.16.1.101 | None | None | ext-network | | 172.16.1.102 | None | None | ext-network | | 172.16.1.103 | None | None | ext-network | | 172.16.1.104 | None | None | ext-network | | 172.16.1.105 | None | None | ext-network | +--------------+-------------+----------+-------------+ # nova add-floating-ip vm01 172.16.1.101 # ssh -i ~/mykey.pem fedora@172.16.1.101 The authenticity of host '172.16.1.101 (172.16.1.101)' can't be established. RSA key fingerprint is b7:24:54:63:1f:02:33:4f:81:a7:47:90:c1:1b:78:5a. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '172.16.1.101' (RSA) to the list of known hosts. Hello, World! [fedora@vm01 ~]$
  • 35. 35 ブロックボリュームの作成と接続 ■ CinderのAPIを通して、ブロックボリュームの作成・削除・スナップショット作成など が可能です。 - 仮想マシンインスタンスにブロックボリュームを接続する際は、NovaのAPIに指示を出すと、 NovaがCinderのAPIを経由して連携処理を行います。 Horizon (ダッシュボード) Keystone (ユーザ認証) Neutron (仮想ネットワーク) Cinder (ブロックボリューム) Nova (仮想マシン) Glance (テンプレート) ブロックボリューム の接続
  • 36. 36 ブロックボリュームの作成と接続 ■ 次は5GBのボリュームを作成して、仮想マシンインスタンスに接続/取り外し、スナップ ショット作成を行う例です。 # cinder create --display-name volume01 5 # cinder list +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ | ID | Status | Display Name | Size | Volume Type | Bootable | Attached to | +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ | 78b4d23b-3b57-4a38-9f6e-10e5048170ef | available | volume01 | 5 | None | false | | +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ # nova volume-attach vm01 78b4d23b-3b57-4a38-9f6e-10e5048170ef +----------+--------------------------------------+ | Property | Value | +----------+--------------------------------------+ | device | /dev/vdb | | serverId | f40c9b76-3891-4a5f-a62c-87021ba277ce | | id | 78b4d23b-3b57-4a38-9f6e-10e5048170ef | | volumeId | 78b4d23b-3b57-4a38-9f6e-10e5048170ef | +----------+--------------------------------------+ # nova volume-detach vm01 78b4d23b-3b57-4a38-9f6e-10e5048170ef # cinder snapshot-create --display-name volume01-snap 78b4d23b-3b57-4a38-9f6e-10e5048170ef # cinder snapshot-list +--------------------------------------+--------------------------------------+-----------+---------------+------+ | ID | Volume ID | Status | Display Name | Size | +--------------------------------------+--------------------------------------+-----------+---------------+------+ | 3dfa60cb-d0b2-4a10-9d49-817f5cee78b5 | 78b4d23b-3b57-4a38-9f6e-10e5048170ef | available | volume01-snap | 5 | +--------------------------------------+--------------------------------------+-----------+---------------+------+
  • 37. 37 ブロックボリュームからの起動 ■ テンプレートイメージを複製してブロックボリュームを作成すると、ブロックボリュー ムから仮想マシンインスタンスを起動できるようになります。 - 次は、既存のテンプレートイメージからブロックボリュームを作成して、仮想マシンインスタン スを起動する例です。 テンプレートイメージのID # cinder create --image-id 702d0c4e-b06c-4c15-85e5-9bb612eb6414 --display-name Fedora19-bootvol 5 # cinder list +--------------------------------------+-----------+------------------+------+-------------+----------+-------------+ | ID | Status | Display Name | Size | Volume Type | Bootable | Attached to | +--------------------------------------+-----------+------------------+------+-------------+----------+-------------+ | 78b4d23b-3b57-4a38-9f6e-10e5048170ef | available | volume01 | 5 | None | false | | | bdde9405-8be7-48d5-a879-35e37c97512f | available | Fedora19-bootvol | 5 | None | true | | +--------------------------------------+-----------+------------------+------+-------------+----------+-------------+ # nova boot --flavor m1.small --key-name mykey --security-groups default --nic net-id=843a1586-6082-4e9f-950f-d44daa83358c --block_device_mapping vda=bdde9405-8be7-48d5-a879-35e37c97512f:::0 vm02 ブロックボリュームのID インスタンス停止時にボリュームを 削除するかどうか # nova volume-list +----------||-----------+-----------+------------------+------+-------------+--------------------------------------+ | ID || | Status | Display Name | Size | Volume Type | Attached to | +----------||-----------+-----------+------------------+------+-------------+--------------------------------------+ | 78b4d23b-||e5048170ef | available | volume01 | 5 | None | | | bdde9405-||e37c97512f | in-use | Fedora19-bootvol | 5 | None | b4cb7edd-317f-44e9-97db-5a04c41a4510 | +----------||-----------+-----------+------------------+------+-------------+--------------------------------------+
  • 38. openstack Open source software to build public and private clouds.