openstackクラウド基盤構築ハンズオンセミナー 第1日:講義no1

67
1 Copyright (C) 2014 National Institute of Informatics, All rights reserved. OpenStackクラウド基盤構築ハンズオンセミナー 第1日 講義資料 No.1 Ver1.2 2014/02/11

Upload: etsuji-nakai

Post on 15-Jan-2015

7.436 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

OpenStackクラウド基盤構築ハンズオンセミナー

第1日 講義資料 No.1

Ver1.2 2014/02/11

Page 2: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

2

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

目次

■ OpenStackのこれまで

■ OpenStackの機能概要

■ セキュリティ機能とストレージ機能

■ プロジェクト管理機能

■ OpenStackの特徴と主要コンポーネント

■ 演習環境におけるサーバ配置

■ (参考)All-in-one構成のインストール手順と初期設定の概要

注意:本テキストで扱うOpenStackは、RDO(Grizzly)がベースとなります。

Page 3: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

3

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

OpenStackのこれまで

Page 4: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

4

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

OpenStackとは?

■ OpenStackは、Amazon EC2/S3相当のクラウドインフラを構築するためのオープンソースソフトウェアです。

- マルチテナント型のIaaS (Infrastructure as a Service) 環境を提供します。

- 類似のオープンソースには、CloudStack、Eucalyptusなどがあります。

■ 2010年末に「米RackSpace社」と「NASA」が共同で、OpenStackプロジェクトを立ちあげて、開発をスタートしました。

- RackSpaceが自社開発で利用していた「Swift」(S3相当の機能を提供)とNASAが作りかけていた「Nova」(EC2相当の機能を提供)をオープンソース化して提供して、それらをベースにコミュニティモデルでの開発を開始しました。

単なる仮想化管理ツールではなく、「パブリッククラウドと同等の機能」を

実現することがOpenStackの目的

Page 5: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

5

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

これまでの開発状況■ これまで、年に2〜3回程度のメジャーバージョンアップが行われています。

■ 当初は、RackSpace社が開発を主導していましたが、2012年にOpenStackの開発を支える公式の非営利団体である「OpenStack Foudation」が設立されました。

2011 2012 2013 2014

Austin2010/10/21

Bexar2011/02/03

Cactus2011/04/15

Diablo2011/09/22

Essex2012/04/05

Folsom2012/09/27

Grizzly2013/04/04

Havana2013/10/17

「最低限動くもの」を目指して地道に開発

EC2/S3相当機能がほぼ完成

OpenStack Foudation設立

Page 6: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

6

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

(参考) OpenStack Foundation設立のニュース記事

http://sourceforge.jp/magazine/12/04/13/0359223

Page 7: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

7

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

OpenStack Foundation Platinum Members

https://www.openstack.org/join(2014/01の情報)

Page 8: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

8

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

OpenStack開発への貢献企業

http://activity.openstack.org/dash/releases/index.html?data_dir=data/havana

開発者の所属企業別のOpenStack Havana変更数

開発者の所属企業別のOpenStack Havana問題解決数

Page 9: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

9

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

OpenStackディストリビューション

■ コミュニティで開発されたOpenStackのソースコードを元にして、独自のインストーラを組み合わせて簡単にインストールできるようにパッケージ化された「OpenStackディストリビューション」があります。

- 複数の企業/団体から、いくつかのディストリビューションが提供されています。

■ 開発者向けのOpenStackディストリビューション

- DevStack : 最新のソースコードをダウンロードしてOpenStack環境を構成するシェルスクリプト群が提供されています。

■ その他の無償で利用できるOpenStackディストリビューション

- Debian Linux、openSUSE、Ubuntu Linux : OpenStackパッケージを標準で同梱

- RDO : Red Hatが提供するRHEL / Fedoraで利用可能なディストリビューション

Page 10: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

10

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

RDOの紹介

OpenStack Foundation

■ RDOは、RHEL/FedoraでOpenStackを利用するユーザのコミュニティです。

■ 主な活動内容

- RHEL/Fedora用のRPMパッケージを提供● http://repos.fedorapeople.org/repos/openstack/

- Puppetベースのインストーラ「Packstack」を提供

- QAフォーラムを運営(Red Hatの開発者が回答してくれることもあります。)

OpenStackを創る人々のコミュニティ RHEL/FedoraでOpenStackを

使う人々のコミュニティ

http://openstack.redhat.com

Page 11: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

11

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

OpenStackの機能概要

Page 12: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

12

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

OpenStackが提供するコンピューティング環境■ OpenStackのユーザは、WebコンソールやREST APIを用いて、次のようなコンピューティングリソースを利用します。

- 仮想ネットワーク

- 仮想マシンインスタンス

- ブロックボリューム

■ 各ユーザは特定の「プロジェクト」に所属します。

- プロジェクト内でリソースを共有します。

- プロジェクト全体でのリソース使用量の上限設定、リソース使用状況のレポーティングなどが可能です。

データ領域 ブロックボリューム

仮想ルータ

仮想スイッチ

外部ネットワーク

プロジェクト環境

OpenStackユーザ

OS領域 仮想マシンインスタンス

Page 13: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

13

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

OpenStackの仮想ネットワークモデル■ プロジェクトごとに仮想ルータを用いて、プライベートなネットワークを構成します。

- 仮想ルータの背後に任意の数の仮想スイッチを作成して、接続します。

- それぞれの仮想スイッチは、プライベートIPの独立したサブネットを持ちます。

■ 仮想マシンインスタンス起動時に、接続する仮想スイッチを選択します。

- DHCPでプライベートIPアドレスが割り当てられます。

- 同じプロジェクトの仮想マシンインスタンス間は、プライベートIPで通信できます。

仮想スイッチ192.168.101.0/24

プロジェクトA仮想ルータ

外部ネットワーク

プロジェクトB仮想ルータ

仮想スイッチ192.168.102.0/24

Page 14: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

14

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

プライベートIPとフローティングIP■ 外部ネットワークと通信する際は、仮想マシンインスタンスに「フローティングIP」を割り当てます。

- 外部ネットワークのサブネット上で、フローティングIPとして利用可能なIPアドレスをプールしておきます。

- 仮想ルータ上で、フローティングIPとプライベートIPのNATが行われます。

- フローティングIPを割り当てない場合でも、仮想マシンインスタンスから外部ネットワークへの接続は可能です。(仮想ルータのIPアドレスを代表IPとして、マスカレード接続します。)

Webサーバ DBサーバ

プライベートIP プライベートIP

フローティングIP

外部ネットワークからはフローティングIPで接続

インスタンス同士はプライベートIPで接続

Page 15: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

15

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

仮想マシンインスタンスの起動■ 仮想マシンインスタンスを起動する際は、次の項目を指定します。

- インスタンスタイプ

- テンプレートイメージ (*)

- 接続する仮想ネットワーク

- セキュリティグループ

- キーペア

外部ネットワーク

OS領域テンプレート

イメージ

複製

複数ネットワーク接続も可能

セキュリティグループ

形式 説明

raw フラットなイメージファイル

AMI/AKI/ARI Amazon EC2が利用する形式

qcow2 Linux KVMが利用する形式

VDI VirtualBoxが利用する形式

VMDK VMwareが利用する形式

VHD Hyper-Vが利用する形式

テンプレートとしてインポート可能なイメージ形式

Page 16: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

16

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

テンプレートイメージの準備方法 (1)■ Oz(仮想マシンイメージの作成に特化したOSインストールツール)で作成する

- OpenStack用イメージ作成のデファクトツール

- https://github.com/clalancette/oz/wiki

■ ディストリビューション標準のテンプレートイメージを利用

- FedoraのOpenStack対応イメージ

- http://fedoraproject.org/en/get-fedora-options#clouds

Page 17: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

17

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

テンプレートイメージの準備方法 (2)■ Red Hat Enterprise Linux (RHEL)では、RHEL6.4より、OpenStackで利用可能なテン

プレートイメージが提供されています。

- これをダウンロードして、OpenStackに登録することで、すぐにRHELの仮想マシンを起動することができます。

Page 18: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

18

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

メモとしてお使いください

Page 19: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

19

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

セキュリティ機能とストレージ機能

Page 20: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

20

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

セキュリティグループによるフィルタリング■ 仮想マシンインスタンスの受信パケットを「セキュリティグループ」でフィルタリング

します。

- セキュリティグループを作成して、「プロトコル、宛先ポート、送信元IP」などの条件で受信を許可するパケットを指定します。

- 仮想マシンインスタンス起動時に適用するセキュリティグループを指定します。

TCP22番は任意のIPから受信許可

Pingは192.168.0.0/16からのみ許可

セキュリティグループ「Development」の仮想マシンインスタンスからは任意のTCP接続を許可

Page 21: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

21

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

キーペアによるSSHログイン認証■ 事前に公開鍵を登録しておき、仮想マシンインスタンス起動時にゲストOSに埋め込み

ます。

- 公開鍵の登録は、ユーザ個別に行います。複数ユーザでキーペアを共有する形にはなりません。

ユーザ情報データベース

仮想マシンインスタンス

②公開鍵をゲストOSに埋め込み

秘密鍵

公開鍵

①公開鍵を事前に登録

③秘密鍵で認証

Page 22: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

22

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

インスタンスタイプとディスク領域の関係■ デフォルトで用意されるインスタンスタイプは次のようになります。

- ルートディスクは、テンプレートイメージを複製した後に指定のサイズまで拡張されます。(m1.tinyでは拡張しません。)

■ 管理者ユーザは任意のインスタンスタイプを定義することができます。

- 一時ディスクとスワップディスクを与えると、ゲストOSからは下図のように認識されます。

- これらのディスク領域は、仮想マシンインスタンスを停止するとすべて破棄されます。(永続保存が必要なユーザデータは、ブロックボリュームに保存します。)

インスタンスタイプ 仮想CPU メモリ ルートディスク

一時ディスク

スワップディスク

m1.tiny 1 512MB 0GB 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

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 252:0 0 20G 0 disk └─vda1 252:1 0 20G 0 part /vdb 252:16 0 5G 0 disk /mntvdc 252:32 0 1G 0 disk [SWAP] スワップディスク

ルートディスク一時ディスク

Page 23: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

23

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

仮想マシンインスタンスのスナップショット■ 仮想マシンインスタンスの「スナップショット」により、ルートディスクを複製して保存することができます。

OS領域

テンプレートイメージ

テンプレートイメージから仮想マシンインスタンス起動

インスタンスのスナップショット

OS領域

ルートディスクを複製してスナップショットを作成

スナップショットから仮想マシンインスタンス起動

Page 24: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

24

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

ブロックボリュームの使い方■ ブロックボリュームは、仮想マシンインスタンスを停止してもそのまま残るので、永続

的なデータ保存領域として使います。

データ領域

③スナップショット作成

④スナップショットを複製して新たなブロックボリュームを作成

②仮想マシンインスタンスに接続してデータ領域として使用

データ領域

他の仮想マシンインスタンスに再接続可能(同時接続は不可)

①新規ブロックボリュームを作成

OS領域 OS領域

Page 25: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

25

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

ブロックボリュームからのOS起動

OS領域

仮想マシンインスタンスに接続してゲストOS起動

テンプレートイメージを複製してブロックボリュームを作成(*)

OS領域テンプレート

イメージ

OS領域

スナップショット作成

OS領域

複製

■ ブロックボリュームにゲストOSをインストールして、ブロックボリュームから仮想マシンインスタンスを起動することも可能です。

- 仮想マシンインスタンスを停止しても、OS領域への変更が破棄されずに残ります。

- スナップショットを作成しておき、仮想マシンインスタンスを起動するタイミングで、スナップショットから新しいブロックボリュームを用意することも可能です。

Page 26: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

26

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

メモとしてお使いください

Page 27: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

27

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

プロジェクト管理機能

Page 28: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

28

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

新規プロジェクト / ユーザの作成

Page 29: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

29

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

プロジェクト単位のリソース使用レポート

現在の使用量 指定月の累計

Page 30: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

30

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

プロジェクト全体でのリソース使用量の上限

Page 31: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

31

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

OpenStackの特徴と主要コンポーネント

Page 32: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

32

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

OpenStackの主要コンポーネント■ OpenStackでは、機能別にソフトウェアをモジュール化して開発が進められています。

- Swift : オブジェクトストレージ

● ファイル単位で出し入れするだけの単純なファイルストア

- Nova : 仮想マシンの配置決定と起動・停止処理

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

● バックエンドにSwift、その他のストレージを使用

- Cinder : ブロックボリュームの提供

● サンプル実装では、Linux LVM + iSCSIソフトウェアターゲットを使用● 外部のストレージ装置をバックエンドにすることも可能

- Keystone : 統合認証機能

- Neutron : 仮想ネットワーク管理機能(Quantumから改名)

● 仮想ネットワークの作成を外部のプラグインモジュール(SDN製品)に移譲● 標準提供のプラグインでは、Linux bridge、もしくは、Open vSwitchを使用

- Horizon : GUIコンソールのサンプル実装

Page 33: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

33

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

コンポーネント間の連携処理■ Webコンソールで操作をすると、REST API経由で各モジュールに指示が飛びます。ま

た、クライアントは、各モジュールのREST APIを直接操作することも可能です。

- これにより、プログラムコードからの呼び出しによる環境操作の自動化が可能になります。

仮想マシンイメージ

NovaCompute

NovaCompute

Glance Horizon Neutron

管理ネットワーク

LUN

仮想ネットワーク作成

仮想マシン起動

ブロックボリューム提供(iSCSI)

認証サーバ

テンプレートイメージ保存

MySQL

NetworkNode

NovaCompute

Cinder

Keystone

Swift

メッセージキュー

パブリックネットワーク

クライアントPC

Webコンソールアクセステンプレートイメージ検索

テンプレートダウンロード

QPID

データベース

LUNLUN

Nova

Page 34: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

34

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

OpenStackの特徴

■ APIで操作する「Programmable Infrastructure」の提供

- 既存のGUI・ワークフローに縛られたくないユーザ層の獲得

- プログラムによるインフラ環境の自動構築・変更に対応

■ スケーラビリティを意識した疎結合アーキテクチャ

- コンピューティングノードの追加が容易/コントローラの負荷分散が可能

- システム設計、運用・管理にはこれまでとは違うノウハウが必要

■ Driver/Pluginによる外部コンポーネントとの連携

- 既存インフラと連携・統合するための作りこみが可能

- サードパーティ製品連携のエコシステム

ここがポイント

Page 35: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

35

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

クラウドで実行されるアプリケーションの特徴■ AWS(Amazon Web Services)に代表されるパブリッククラウドは、典型的にはSNSな

どのコンシューマ向けサービスの提供に利用されてきました。

■ このようなアプリケーションは、「インフラ環境の自動操作」を前提とした、従来の企業システムとは異なるアーキテクチャで設計されています。

- アプリケーションのSLA ≠ サーバ(仮想マシン)のSLA

● 一部の仮想マシンが停止してもアプリケーションは停止しない

- 必要に応じて仮想マシンを追加・削除する機能が前提

● 仮想マシンの追加・削除で性能要件の変化に対応● 仮想マシンが障害で停止した際は、新しい仮想マシンを追加して対応

- 仮想マシンのライフサイクルは数時間〜数カ月

● 1つの仮想マシンを永続的に稼働することを前提としない

- 永続データをアプリケーションと分離

● 永続データはオブジェクトストアなどに保存して、仮想マシンとデータを分離

Page 36: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

36

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

企業システムにおけるクラウドの必要性■ 企業システムにおいてもクラウドの柔軟性を必要とするユースケースが増加しており、

OpenStackによるプライベートクラウドが求められる要因となっています。

■ OpenStack Summit 2013 Portlandでのユーザ事例(抜粋)

● http://www.openstack.org/summit/portland-2013/session-videos

- Bloomberg

● 証券情報の分析・配信システムのインフラとしてOpenStackによるプライベートクラウドを活用

- Comcast

● ケーブルテレビのセットトップボックスのバックエンドシステムをOpenStackによるプライベートクラウド上に構築

- BestBuy

● OpenStackによるプライベートクラウドで開発環境をオンデマンドに提供できる環境を実現

- CERN

● 物理学の実験施設から取得されるPBクラスの実験データの保存と分析にOpenStackのプライベートクラウドを活用

Page 37: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

37

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

http://www.slideshare.net/gmccance/cern-data-centre-evolution

システムアーキテクチャのパラダイムシフト

Page 38: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

38

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

メモとしてお使いください

Page 39: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

39

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

演習環境におけるサーバ配置

Page 40: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

40

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

サーバ配置例 (1)■ 1台のサーバにすべてのコンポーネントを導入する「All-in-one構成」の例です。

- コンピュートノードを増やせませんので、実用的な構成ではありません。

- eth0にIPアドレスを割り当てて、Webコンソール接続、および管理接続に使用します。

- 仮想マシンインスタンス間は、ローカルのOpen vSwitchを経由して通信します。外部ネットワークとの通信は、NATで中継します。

eth0 eth1

NAT

br-exIP

パブリックネットワーク

br-int

VM VM

すべてのコンポーネントをまとめて導入

Open vSwitch

Page 41: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

41

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

サーバ配置例 (2)■ 1台のコントローラノードにコントローラ機能をまとめて導入する構成例です。

- 各サーバのeth0にIPアドレスを割り当てて、Webコンソール接続、API接続、および管理接続に使用します。

- 仮想マシンインスタンス同士は、プライベートネットワーク上で相互通信します。外部ネットワークとの通信は、管理サーバがNATで中継します。

・・・

プライベートネットワーク

eth0 eth1 eth2

VMNAT

br-int

br-ex

コントローラノード

br-priv

eth0 eth1

br-int

br-priv

VM

eth0 eth1

br-int

br-priv

コンピュートノードOpen vSwitch

IP IP IP

Nova ComputeとNeutron L2-pluginを導入

Nova Compute以外のすべてのコンポーネントを導入

パブリックネットワーク

Page 42: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

42

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

(参考)主な設定ファイルとログファイル■ 設定ファイル

- /etc/nova/nova.conf : Nova

- /etc/quantum/quantum.conf : Neutron(旧Quantum)

- /etc/quantum/l3_agent.ini : L3 Agent

- /etc/quantum/dhcp_agent.ini : DHCP Agent

- /etc/quantum/plugin.ini : L2 Agent

- /etc/cinder/cinder.conf : Cinder

■ ログファイル

- /var/log/(nova|quantum|cinder|glance|horizon)

● 各コンポーネントのログ

- /var/log/messages

● dnsmasqのログなどは、ここから確認

- /var/log/secure

● 内部的にsudoを多用しているので、sudoに起因する問題をsudoログから確認

Page 43: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

43

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

(参考)All-in-one構成のインストール手順と初期設定の概要

Page 44: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

44

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

全体の構成■ ここでは、Fedora 18の上にRDO (Grizzly) をAll-in-one構成でインストールする場合を例として、インストール手順と初期設定の概要を説明します。

em1

em2

Intel-VT/AMD-V対応サーバ

ホストアクセス用NIC

VMアクセス用NIC

インターネット

インターネットにアクセスできるネットワーク

Fedora18

4GB以上のメモリ

※ ここでは、物理サーバにインストールする手順を説明   しています。本講義の演習では、Nested KVMによる    仮想マシン環境を使用するため少し手順が異なります。

Page 45: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

45

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

ネットワーク構成の設計■ これから構築する環境で使用するIPアドレスを表のように決めておきます。

- サーバ自身のIPアドレスの他に、仮想ルータに割り当てるパブリックネットワーク側のIPアドレスや仮想マシンインスタンスに割り当てるフローティングIPなどに、パブリックIPアドレスを使用します。「IPアドレスプール」は、これらの目的にOpenStackが使用するパブリックIPアドレスの範囲を指定します。

項目 値

サブネット 192.168.199.0/24

デフォルトゲートウェイ 192.168.199.1

DNSサーバ 8.8.8.8

IPアドレスプール 192.168.199.100 〜 192.168.199.199

サーバのIPアドレス 192.168.199.99 仮想ルータ

パブリックネットワーク

パブリックIP

仮想マシンインスタンス

仮想ネットワーク構成

Page 46: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

46

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

仮想ネットワークの設計■ 各プロジェクトの仮想ネットワークは、OpenStackをインストールした後に、プロジェ

クトごとに自由に構成することができます。

- ここでは、図のように仮想ルータに2個の仮想スイッチを接続して、それぞれ、「192.168.101.0/24」と「192.168.102.0/24」のサブネットを割り当てるものとします。

仮想ルータ

Page 47: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

47

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

Fedora 18のインストール (1)■ DVDメディアからFedora18をインストールする際の手順を記載します。

■ インストールメディアの入手

- 下記URLより「Fedora-18-x86_64-DVD.iso」をダウンロードしてDVDメディアに焼きます。

- http://download.fedoraproject.org/pub/fedora/linux/releases/18/Fedora/x86_64/iso/

※上記がリンク切れの際は下記を使用

- http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/18/Fedora/x86_64/iso/

■ インストール時の注意

- LVM構成のLinuxが導入された環境に対して、Fedora18を上書きインストールしようとすると、インストーラがエラーで停止する場合があります。そのような際は、インストーラの画面で[Ctrl]+[Alt]+[F2]を押すとコマンド画面に切り替わるので、次のコマンドなどで、LVMの構成情報を削除した上で、再度、インストールを行います。

# dd if=/dev/zero of=/dev/sda count=2# reboot

Page 48: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

48

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

Fedora 18のインストール (2)■ ネットワークの設定

- 「em1」にIPアドレスを設定します。この画面でホスト名を設定するのも忘れないでください。

■ ソフトウェアの選択

- 「最小限のインストール」+ 「標準アドオン」を選びます

Page 49: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

49

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

Fedora 18のインストール (3)■ ディスクパーティションは表の構成としますが、GUIインストーラでは、パーティショ

ンを自由に構成することができないため次の手順に従います。

パーティション サイズ 用途

/dev/sda1 500MB /boot

/dev/sda2 適宜 Swap

/dev/sda3 50GB /

/dev/sda4 残り全部 Cinder Volume

- インストール先のディスクを選択して続行すると「インストールオプション」のポップアップがでるので、「パーティションスキーマの設定」→「パーティションタイプ」→「標準パーティション」を選んで、「代わりにディスクのパーティション設定をカスタマイズさせて下さい。」にチェックを入れます。

Page 50: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

50

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

Fedora 18のインストール (4)- パーティション設定の画面で「ここをクリッ

クすると自動的に作成します。」をクリックします。

- 右下図のようなパーティションが構成されますが、「/home」が余分なので削除します。(画面下の「-」ボタンで削除します。)

- これで、「/dev/sda1~/dev/sda3」からなるパーティションが構成できました。「/dev/sda4」は、インストール完了後に手動で作成します。

Page 51: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

51

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

Fedora 18のインストール (5)■ インストール完了後の作業

- 「/etc/sysconfig/network-scripts/ifcfg-em2」をエディタで開いて、「ONBOOT=yes」を「ONBOOT=no」に変更します。

- fdiskコマンドでディスクパーティション「/dev/sda4」を追加します。

# fdisk /dev/sdaコマンド (m でヘルプ): nPartition type: p primary (3 primary, 0 extended, 1 free) e extendedSelect (default e): p選択したパーティション 4最初 sector (122316800-312499999, 初期値 122316800): ← 空エンター初期値 122316800 を使いますLast sector, +sectors or +size{K,M,G} (122316800-312499999, 初期値 312499999): ← 空エンター初期値 312499999 を使いますPartition 4 of type Linux and of size 90.7 GiB is set

コマンド (m でヘルプ): wq

Page 52: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

52

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

Fedora 18のインストール (6)- この後で、Cinder Volume用のボリュームグループを作るために、lvm2のパッケージを追加しま

す。さらに、全パッケージをアップデートして、再起動します。

- 再起動したら、/dev/sda4を使って、ボリュームグループ「cinder-volumes」を作成します。

# yum -y install lvm2# yum -y update# reboot

# pvcreate /dev/sda4# vgcreate cinder-volumes /dev/sda4

Page 53: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

53

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

RDOのインストール (1)■ RDO (Grizzly) をAll-in-one構成で導入します。

- ここでは、GitHubで公開されているインストールスクリプトを利用します。次の手順で、スクリプトをダウンロードして、「setup.sh」を実行します。

- 途中で次のようなメッセージがでたら、rootパスワードを入力します。

- インストールが完了すると、「Done. Now, you need to reboot the server.」というメッセージがでます。ここで、一度サーバを再起動します。

- インストールが途中で失敗した場合は、次のコマンドを実行するとインストール前の状態に戻ります。再度、「~/quickrdo/setup.sh」を実行してください。

# yum -y install git# cd ~# git clone https://github.com/enakai00/quickrdo# cd quickrdo# git checkout f18-grizzly# ./setup.sh

Setting up ssh [email protected]'s password:

# reboot

# cd ~/quickrdo# ./cleanup.shThis will completely uninstall all openstack-related components.Are you really sure? (yes/no) yes# vgcreate cinder-volumes /dev/sda4# reboot

「yes」を入力

Page 54: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

54

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

RDOのインストール (2)■ インストールスクリプトの解説

- 「setup.sh」の内容は下記のURLから参照できます。

● https://github.com/enakai00/quickrdo/blob/f18-grizzly/setup.sh

- RDOのインストール処理は、下記の「packstack」コマンドで実施しています。これは、RDOに標準付属のインストーラで、puppetマニフェストを利用してインストール処理を行います(*)。

- 「setup.sh」では、その他にOSレベルの設定変更、既知の問題に対するパッチの適用などを併せて行なっています。

(*) 「--allinone」オプションの動作は、Packstackのバージョンによって異なります。               ここでは、「openstack-packstack-2013.1.1-0.20.dev642.fc19」を使用する前提です。

# packstack --allinone --nagios-install=n --os-swift-install=n

Page 55: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

55

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

インストール後の初期設定 (1)■ サンプルプロジェクト「demo」を作成して、仮想ネットワークの構成、その他、デモ

用途に必要な最小限の初期設定を行います。

- ここでは、先ほどのインストールスクリプトに付属の初期設定スクリプト「config.sh」を利用します。スクリプト「~/quickrdo/config.sh」をエディタで開いて、下記のパラメータを環境に合わせて修正します。

- 上から順に「パブリックネットワークのサブネット」「デフォルトゲートウェイ」「DNSサーバ」「IPアドレスプール」「仮想ネットワークのサブネット」に対応します。ここでは、2個の仮想ネットワークを作成するため、次のように修正します。

public="192.168.199.0/24" gateway="192.168.199.1" nameserver="8.8.8.8" pool=("192.168.199.100" "192.168.199.199") private=("192.168.101.0/24")

Private=("192.168.101.0/24" "192.168.102.0/24")

Page 56: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

56

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

インストール後の初期設定 (2)- 次のコマンドで、初期設定を行います。

- 「VM access NIC:」という表示が出るので、「仮想マシンアクセス用NIC」のデバイス名(今の例では「em2」)を入力します。最後に「Configuration finished.」と表示されれば完了です。

- 設定を変更する際は、「./config.sh」を再度実行します。以前の設定を削除して、新しい設定が行われます。

# cd ~/quickrdo# ./config.sh

Page 57: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

57

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

インストール後の初期設定 (3)■ 初期設定スクリプトの解説

- 「config.sh」の内容は下記のURLから参照できます。

● https://github.com/enakai00/quickrdo/blob/f18-grizzly/config.sh

- このスクリプトでは次のような処理を行なっています。

● 管理者権限を使用するための環境変数をセット

● Fedora 19のマシンイメージをインターネットからインポート

● プロジェクト「demo」と該当プロジェクトのユーザ(一般ユーザ「demo_user/passw0rd」と管理者ユーザ「demo_admin/passw0rd」)を作成

glance image-create --name "Fedora19" \ --disk-format qcow2 --container-format bare --is-public true \ --copy-from http://cloud.fedoraproject.org/fedora-19.x86_64.qcow2

. /root/keystonerc_admin

keystone tenant-create --name demokeystone user-create --name demo_admin --pass passw0rdkeystone user-create --name demo_user --pass passw0rdkeystone user-role-add --user demo_admin --role admin --tenant demokeystone user-role-add --user demo_user --role Member --tenant demo

Page 58: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

58

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

インストール後の初期設定 (4)● パブリックネットワークを定義

● 仮想ルータを作成して、パブリックネットワークをデフォルトゲートウェイに設定

● 仮想スイッチを作成して、仮想ルータに接続

tenant=$(keystone tenant-list|awk '/ demo / {print $2}')quantum router-create --tenant-id $tenant demo_routerquantum router-gateway-set demo_router ext-network

tenant=$(keystone tenant-list | awk '/ services / {print $2}')quantum net-create \ --tenant-id $tenant ext-network --shared \ --provider:network_type local --router:external=Truequantum subnet-create \ --tenant-id $tenant --gateway ${gateway} --disable-dhcp \ --allocation-pool start=${pool[0]},end=${pool[1]} \ ext-network ${public}

for (( i = 0; i < ${#private[@]}; ++i )); do name=$(printf "private%02d" $(( i + 1 ))) subnet=${private[i]} quantum net-create \ --tenant-id $tenant ${name} --provider:network_type local quantum subnet-create \ --tenant-id $tenant --name ${name}-subnet \ --dns-nameserver ${nameserver} ${name} ${subnet} quantum router-interface-add demo_router ${name}-subnetdone

Page 59: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

59

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

インストール後の初期設定 (5)● デフォルトのセキュリティグループに対して、SSHとPingを許可

● キーペアを作成して、登録

● フローティングIPを確保

● 「VM access NIC:」で指定したNICをOpen vSwitch「br-ex」に接続

nova keypair-add mykey > ~/mykey.pemchmod 600 ~/mykey.pem

export OS_USERNAME=demo_userexport OS_PASSWORD=passw0rdexport OS_TENANT_NAME=demonova secgroup-add-rule default tcp 22 22 0.0.0.0/0nova secgroup-add-rule default icmp 8 0 0.0.0.0/0

for i in $(seq 1 5); do quantum floatingip-create ext-networkdone

ovs-vsctl add-port br-ex ${extnic}

Page 60: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

60

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

仮想マシンインスタンスの起動 (1)■ 初期設定が終わった環境で、仮想マシンを起動する手順を説明します。

- Webブラウザで「http://192.168.199.99」に接続して、ユーザ「demo_user」、パスワード「passw0rd」でログインします。

- 画面左のメニューから「イメージとスナップショット」を選択して、イメージ名「Fedora19」のアクション「起動」をクリックします。

Page 61: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

61

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

仮想マシンインスタンスの起動 (2)- 図の手順に従って、必要な項目を入力します。

①「詳細」タブでインスタンス名を入力

③「ネットワーク」タブで「private01」を 選択して、「起動」を押す

②「アクセスとセキュリティ」タブで キーペアに「mykey」を選択

Page 62: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

62

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

仮想マシンインスタンスの起動 (3)- 仮想マシンインスタンスが起動して、状態が「Active」になったら、図の手順に従って、フロー

ティングIPを割り当てます。

①「アクション」の「さらに」→「Floating IPの割り当て」を選択

② プルダウンからIPアドレスを1つ選択して「割り当て」を押す

Page 63: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

63

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

仮想マシンインスタンスの起動 (4)- SSH認証の秘密鍵ファイルは、「~/mykey.pem」にありますので、次のコマンドでログインする

ことができます。IPアドレスは、先に割り当てたフローティングIPを指定します。

- Fedora19のテンプレートでは、ログイン用のユーザ「fedora」が自動作成されるようになっており、rootユーザでのログインはできません。fedoraから、rootユーザには次のコマンドで切り替えることができます。

# ssh -i ~/mykey.pem [email protected]

$ sudo -i

Page 64: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

64

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

メモとしてお使いください

Page 65: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

65

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

メモとしてお使いください

Page 66: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

66

第1日 講義資料 No.1

Copyright (C) 2014 National Institute of Informatics, All rights reserved.

メモとしてお使いください

Page 67: OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1

67

Copyright (C) 2014 National Institute of Informatics, All rights reserved.