Red Hat Enterprise Linux OpenStack Platform 4 インストールと設定

Red Hat Enterprise Linux OpenStack
Platform 4
インストールと設定ガイド
OpenStack 環境の手動インストールと設定
2013 年 12 月 18 日
Joshua Wulf
Steve Gordon
Deepti Navale
Martin Lopes
Summer Long
Don Domingo
Scott Radvan
Tim Hildred
Red Hat Enterprise Linux OpenStack Platform 4 インストールと設定ガイ
ド
OpenStack 環境の手動インストールと設定
20 13 年 12 月 18 日
Deepti Navale
Red Hat Engineering Co ntent Services
[email protected] m
Do n Do mingo
Red Hat Engineering Co ntent Services
ddo mingo @redhat.co m
Jo shua Wulf
Red Hat Engineering Co ntent Services
[email protected] m
Martin Lo pes
Red Hat Engineering Co ntent Services
mlo [email protected] m
Sco tt Radvan
Red Hat Engineering Co ntent Services
[email protected] m
Steve Go rdo n
Red Hat Engineering Co ntent Services
sgo rdo [email protected] m
Summer Lo ng
Red Hat Engineering Co ntent Services
slo [email protected] m
Tim Hildred
Red Hat Engineering Co ntent Services
[email protected] m
法律上の通知
Co pyright © 20 14 Red Hat, Inc.
This do cument is licensed by Red Hat under the Creative Co mmo ns Attributio n-ShareAlike 3.0
Unpo rted License. If yo u distribute this do cument, o r a mo dified versio n o f it, yo u must pro vide
attributio n to Red Hat, Inc. and pro vide a link to the o riginal. If the do cument is mo dified, all Red
Hat trademarks must be remo ved.
Red Hat, as the licenso r o f this do cument, waives the right to enfo rce, and agrees no t to assert,
Sectio n 4 d o f CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shado wman lo go , JBo ss, MetaMatrix, Fedo ra, the Infinity
Lo go , and RHCE are trademarks o f Red Hat, Inc., registered in the United States and o ther
co untries.
Linux ® is the registered trademark o f Linus To rvalds in the United States and o ther co untries.
Java ® is a registered trademark o f Oracle and/o r its affiliates.
XFS ® is a trademark o f Silico n Graphics Internatio nal Co rp. o r its subsidiaries in the United
States and/o r o ther co untries.
MySQL ® is a registered trademark o f MySQL AB in the United States, the Euro pean Unio n and
o ther co untries.
No de.js ® is an o fficial trademark o f Jo yent. Red Hat So ftware Co llectio ns is no t fo rmally
related to o r endo rsed by the o fficial Jo yent No de.js o pen so urce o r co mmercial pro ject.
The OpenStack ® Wo rd Mark and OpenStack Lo go are either registered trademarks/service
marks o r trademarks/service marks o f the OpenStack Fo undatio n, in the United States and o ther
co untries and are used with the OpenStack Fo undatio n's permissio n. We are no t affiliated with,
endo rsed o r spo nso red by the OpenStack Fo undatio n, o r the OpenStack co mmunity.
All o ther trademarks are the pro perty o f their respective o wners.
概要
本ガイドには、Red Hat Enterprise Linux OpenStack Platfo rm 4 (Havana) を使用した OpenStack
環境のインストールと設定についての情報を記載しています。
目次
目次
.前書き
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8. . . . . . . . . .
⁠1. 本書の表記規則
8
⁠1.1. 書体の表記規則
8
⁠1.2. 引用文の表記規則
9
⁠1.3. 注記および警告
10
⁠2 . ヘルプとフィードバック
10
. . ート
⁠パ
. . . . I.. .はじめに
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 2. . . . . . . . . .
. . 1. 章
⁠第
. . 製品紹介
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 3. . . . . . . . . .
⁠1.1. 概要
13
⁠1.2. アーキテクチャー
13
⁠1.3. サービスの詳細
14
⁠1.3.1. Das hb o ard Servic e
14
⁠1.3.2. Id entity Servic e
15
⁠1.3.3. O p enStac k Netwo rking Servic e
16
⁠1.3.4. Blo c k Sto rag e Servic e
17
⁠1.3.5. Co mp ute Servic e
17
⁠1.3.6 . Imag e Servic e
⁠1.3.7. O b jec t Sto rag e Servic e
⁠1.3.8 . Metering Servic e
19
20
21
⁠ .3.9 . O rc hes tratio n Servic e
1
⁠1.4. その他のドキュメント
21
22
. . 2. 章
⁠第
. . 前提条件
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. 4. . . . . . . . . .
⁠2 .1. ソフトウェア要件
⁠2 .1.1. オペレーティングシステムの要件
24
24
⁠2 .1.2. ソフトウェアリポジトリの設定
⁠2 .1.2.1. Red Hat Netwo rk への登録
24
24
⁠2 .1.2.2. Red Hat Enterp ris e Linux のリポジトリ設定
⁠2 .1.2.3. Red Hat Enterp ris e Linux O p enStac k Platfo rm のリポジトリ設定
⁠ .1.3. 予約済みの UID および G ID
2
⁠2 .2. ハードウェア要件
⁠2 .2.1. コンピュートノードの要件
⁠2 .2.2. ネットワークノードの要件
⁠2 .2.3. ブロックストレージノードの要件
25
26
30
30
30
31
32
. . ート
⁠パ
. . . . II.
. . Foreman
. . . . . . . . を使用した
. . . . . . . . . O. .penSt
. . . . .ack
. . . のデプロイ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
...........
. . 3章
⁠第
. . . Foreman
. . . . . . . . の概要およびインストール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
...........
⁠3 .1. Fo reman O p enStac k Manag er について
34
⁠3 .2.
⁠3 .3.
⁠3 .4.
⁠3 .5.
Fo reman ホストグループ
パッケージのインストール
インストーラーの設定
インストーラーの実行
34
35
35
37
. . 4. 章
⁠第
. . Foreman
. . . . . . . . の設定
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
...........
⁠4 .1. パスワードの変更
⁠4 .2. インストールメディアの設定
⁠4 .3. ホストグループの編集
⁠4 .3.1. コントローラーノード
⁠4 .3.2. コンピュートノード
39
40
42
44
45
. . 5章
⁠第
. . . ホストの追加
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. 6. . . . . . . . . .
1
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
. . 5章
⁠第
. . . ホストの追加
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. 6. . . . . . . . . .
⁠5 .1. 既存のホストの登録
46
⁠5 .2. 新規ホストのプロビジョニング
48
⁠5 .3. ホストの割り当て
52
. . 6. 章
⁠第
. . ログイン
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
...........
. . ート
⁠パ
. . . . III.
. . .O. penSt
. . . . . ack
. . . .の手動インストール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
...........
. . 7. 章
⁠第
. . データベースサーバーのインストール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
...........
⁠7 .1. パッケージのインストール
⁠7 .2. ファイアウォールの設定
⁠7 .3. データベースサービスの起動
⁠7 .4. データベース管理者のパスワードの設定
58
58
58
59
. . 8. 章
⁠第
. . メッセージブローカーのインストール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6. 0. . . . . . . . . .
⁠8 .1. パッケージのインストール
⁠8 .2. メッセージブローカーの設定
⁠8 .2.1. Simp le Authentic atio n and Sec urity Layer - SASL
⁠8 .2.1.1. SASL - Simp le Authentic atio n and Sec urity Layer
60
60
60
60
⁠8 .2.1.2. SASL のメカニズム
⁠8 .2.1.3. SASL のメカニズムとパッケージ
60
61
⁠8 .2.1.4. ローカルパスワードファイルを使用した SASL の設定
61
⁠8 .2.2. TLS/SSL の設定
⁠8 .2.2.1. SSL を使用した暗号化
⁠8 .2.2.2. ブローカーでの SSL 有効化
⁠8 .2.2.3. クライアント用 SSL 証明書のエクスポート
62
62
63
64
⁠8 .3. ファイアウォールの設定
64
⁠8 .4. Mes s ag ing Server の起動
65
. . 9. 章
⁠第
..O
. .penSt
. . . . . ack
. . . .Ident
. . . . it
. .y. Service
. . . . . . .のインストール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6. 6. . . . . . . . . .
⁠9 .1. Id entity Servic e の要件
66
⁠9 .2. パッケージのインストール
⁠9 .3. アイデンティティデータベースの作成
66
66
⁠9 .4. サービスの設定
67
⁠9 .4.1. 管理トークンの設定
⁠9 .4.2. データベース接続文字列の設定
67
68
⁠9 .4.3. 公開鍵インフラストラクチャーの設定
68
⁠9 .4.3.1. 公開鍵インフラストラクチャーの概要
⁠9 .4.3.2. 公開鍵インフラストラクチャーファイルの作成
⁠9 .4.3.3. 公開鍵インフラストラクチャーファイルを使用するための Id entity Servic e の有効化
⁠9 .4.4. Id entity Servic e と LDAP の統合
70
70
⁠9 .4.5. LDAP 統合のセキュリティ強化
72
⁠9 .4.6 . ファイアウォールの設定
⁠9 .4.7. Id entity Servic e データベースへのデータ投入
73
74
⁠9 .5. Id entity Servic e の起動
⁠9 .6 . Id entity Servic e エンドポイントの作成
74
75
⁠9 .7. 管理者アカウントの作成
76
⁠9 .8 . 一般ユーザーアカウントの作成
⁠9 .9 . サービステナントの作成
78
80
⁠9 .10 . 外部認証を使用するための Id entity Servic e の設定
81
⁠9 .10 .1. HTTPD に SSL を使用するための設定
⁠9 .10 .2. Id entity Servic e を HTTPD で実行するための設定
81
82
⁠9 .10 .3. HTTPD を介した Id entity Servic e の外部認証の実装
⁠9 .10 .4. サービスを接続するための追加設定手順
84
84
⁠9 .11. Id entity Servic e のインストールの検証
2
68
69
85
目次
⁠9 .11. Id entity Servic e のインストールの検証
85
. . 1. 0. 章
⁠第
. . .O. penSt
. . . . . ack
. . . .O. bject
. . . . . St
. . orage
. . . . . .Service
. . . . . . .のインストール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8. 7. . . . . . . . . .
⁠10 .1. O b jec t Sto rag e Servic e を構成するサービス
⁠10 .2. O b jec t Sto rag e Servic e のアーキテクチャー
87
87
⁠10 .3. O b jec t Sto rag e Servic e の要件
⁠10 .4. O b jec t Sto rag e Servic e パッケージのインストール
88
89
⁠10 .5. O b jec t Sto rag e Servic e の設定
89
⁠10 .5.1. O b jec t Sto rag e Servic e との連動するための Id entity Servic e の設定
⁠10 .5.2. O b jec t Sto rag e Servic e ストレージノードの設定
90
91
⁠10 .5.3. O b jec t Sto rag e Servic e のプロキシサービスの設定
⁠10 .5.4. O b jec t Sto rag e Servic e リング
93
95
⁠10 .5.5. O b jec t Sto rag e Servic e のリングファイルの構築
95
⁠10 .6 . O b jec t Sto rag e Servic e のインストールの検証
98
. . 1. 1. 章
⁠第
. . .O. penSt
. . . . . ack
. . . .Image
. . . . . Service
. . . . . . . のインストール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9. 9. . . . . . . . . .
⁠11.1. Imag e Servic e の要件
99
⁠11.2. Imag e Servic e パッケージのインストール
⁠11.3. Imag e Servic e データベースの作成
⁠11.4. Imag e Servic e の設定
99
99
10 0
⁠11.4.1. 設定の概要
⁠11.4.2. Imag e のアイデンティティレコードの作成
10 0
10 0
⁠11.4.3. データベース接続文字列の設定
10 2
⁠11.4.4. Id entity Servic e を使用するための設定
⁠11.4.5. O b jec t Sto rag e Servic e をイメージの保管に使用する方法
10 3
10 4
⁠11.4.6 . ファイアウォールの設定
⁠11.4.7. SSL の設定
10 5
10 6
⁠11.4.8 . Imag e Servic e データベースへのデータ投入
10 6
⁠11.4.9 . ローカルファイルシステムを介したイメージのロードの有効化
⁠11.4.9 .1. 異なる複数のイメージ/コンピュートノードにわたるファイルシステム共有の設定
10 6
10 7
⁠11.4.9 .2. Imag e Servic e がローカルファイルシステムを介してイメージを提供するための設定
10 8
⁠11.4.9 .3. Co mp ute Servic e がローカルファイルシステムメタデータを使用するための設定
⁠11.5. イメージ API およびレジストリサービスの起動
110
110
⁠11.6 . Imag e Servic e インストールの検証
⁠11.6 .1. テストディスクイメージの取得
111
111
⁠11.6 .2. カスタム仮想マシンイメージの構築
111
⁠11.6 .3. ディスクイメージのアップロード
113
. . 1. 2. 章
⁠第
. . .O. penSt
. . . . . ack
. . . .Block
. . . . . St
. . orage
. . . . . .のインストール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.1. 8. . . . . . . . . .
⁠12.1. Blo c k Sto rag e のインストール概要
⁠12.2. Blo c k Sto rag e の必須設定
118
119
⁠12.2.1. Blo c k Sto rag e データベースの作成
119
⁠12.2.2. Blo c k Sto rag e 用のアイデンティティレコードの作成
120
⁠12.3. Blo c k Sto rag e 共通の設定
122
⁠12.3.1. Blo c k Sto rag e Servic e パッケージのインストール
⁠12.3.2. 認証の設定
122
122
⁠12.3.3. SSL の設定
123
⁠12.3.4. メッセージブローカーの設定
123
⁠12.3.5. データベース接続文字列の設定
125
⁠12.3.6 . ファイアウォールの設定
⁠12.3.7. Blo c k Sto rag e データベースへのデータ投入
125
126
⁠12.4. ボリュームサービス固有の設定
126
⁠12.4.1. Blo c k Sto rag eドライバーのサポート
126
⁠12.4.2. LVM ストレージバックエンドの設定
127
⁠12.4.3. NFS ストレージバックエンドの設定
127
3
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
⁠12.4.3. NFS ストレージバックエンドの設定
127
⁠12.4.4. Red Hat Sto rag e バックエンドの設定
⁠12.4.5. 複数のストレージバックエンドの設定
129
131
⁠12.4.6 . tg td の設定
133
⁠12.5. Blo c k Sto rag e Servic e の起動
134
⁠12.6 . Blo c k Sto rag e Servic e のインストールの検証
135
. . 1. 3章
⁠第
...O
. .penSt
. . . . . ack
. . . .Net
. . .working
. . . . . . . Service
. . . . . . .のインストール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 37
...........
⁠13.1. O p enStac k Netwo rking のインストール概要
⁠13.1.1. O p enStac k Netwo rking のアーキテクチャー
137
137
⁠13.1.2. O p enStac k Netwo rking API
137
⁠13.1.3. O p enStac k Netwo rking API の拡張機能
138
⁠13.1.4. O p enStac k Netwo rking のプラグイン
139
⁠13.1.5. O p enStac k Netwo rking のエージェント
⁠13.1.6 . 推奨されるネットワークデプロイメント
139
140
⁠13.2. Netwo rking の必須設定
142
⁠13.2.1. O p enStac k Netwo rking データベースの作成
142
⁠13.2.2. O p enStac k Netwo rking 用のアイデンティティレコードの作成
143
⁠13.3. Netwo rking 共通の設定
⁠13.3.1. カーネルのアップグレード
144
144
⁠13.3.2. Netwo rk Manag er の無効化
146
⁠13.3.3. パッケージのインストール
147
⁠13.3.4. ファイアウォールの設定
148
⁠13.4. Netwo rking Servic e の設定
⁠13.5. DHCP エージェントの設定
148
154
⁠13.6 . 外部プロバイダーネットワークの設定
155
⁠13.7. プラグインエージェントの設定
157
⁠13.7.1. O p en vSwitc h プラグインエージェントの設定
157
⁠ 3.7.2. Linux Brid g e プラグインエージェントの設定
1
⁠13.8 . L3 エージェントの設定
159
16 0
⁠13.9 . O p enStac k Netwo rking をインストールしたシステムの検証
16 3
⁠13.10 . O p enStac k Netwo rking に関する問題のトラブルシューティング
16 4
. . 1. 4. 章
⁠第
. . .O. penSt
. . . . . ack
. . . .Comput
. . . . . . .e. Service
. . . . . . . のインストール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 6. 5. . . . . . . . . .
⁠14.1. Co mp ute Servic e の要件
⁠14.1.1. ハードウェア仮想化サポートのチェック
⁠14.2. Co mp ute の VNC プロキシのインストール
⁠14.2.1. Co mp ute の VNC プロキシパッケージのインストール
16 5
16 5
16 5
⁠14.2.2. ファイアウォールの設定
16 6
⁠14.2.3. VNC プロキシサービスの制御
16 6
⁠14.2.4. Co mp ute の VNC プロキシを使用したインスタンスへのアクセス
16 7
⁠14.3. コンピュートノードのインストール
⁠14.3.1. Co mp ute Servic e データベースの作成
⁠14.3.2. Co mp ute 用のアイデンティティレコードの作成
16 8
16 8
16 9
⁠14.3.3. Co mp ute Servic e のインストール
171
⁠14.3.4. SSL の設定
172
⁠14.3.5. Co mp ute Servic e の設定
⁠14.3.5.1. 認証の設定
172
172
⁠14.3.5.2. データベース接続文字列の設定
173
⁠14.3.5.3. メッセージブローカーの設定
173
⁠14.3.5.4. リソースのオーバーコミットの設定
175
⁠14.3.5.5. ホストのリソースの確保
⁠14.3.5.6 . Co mp ute ネットワークの設定
176
176
⁠14.3.5.6 .1. Co mp ute ネットワークの概要
4
16 5
176
目次
⁠14.3.5.6 .1. Co mp ute ネットワークの概要
176
⁠14.3.5.6 .2. Co mp ute の設定の更新
176
⁠14.3.5.6 .3. L2 エージェントの設定
⁠ 4.3.5.6 .4. 仮想インターフェース結線の設定
1
⁠14.3.5.7. ファイアウォールの設定
177
178
179
⁠14.3.6 . Co mp ute Servic e データベースへのデータ投入
179
⁠14.3.7. Co mp ute Servic es の起動
18 0
. . 1. 5章
⁠第
...O
. .penSt
. . . . . ack
. . . .Met
. . .ering
. . . . .Service
. . . . . . .のインストール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 8. 3. . . . . . . . . .
⁠15.1. Metering Servic e デプロイメントの概要
18 3
⁠15.2. Metering Servic e パッケージのインストール
⁠15.3. Metering 用のアイデンティティレコードの作成
18 3
18 4
⁠15.4. Metering Servic e 認証の設定
18 6
⁠15.5. Metering Servic e 用のデータベース接続文字列の設定
18 8
⁠15.5.1. Mo ng o DB バックエンドの設定と起動
18 9
⁠15.6 . 複数のホストにわたる Metering 設定の複製
18 9
⁠15.7. コンピュートノードの設定
⁠15.8 . 監視対象サービスの設定
19 0
19 0
⁠15.9 . Metering API およびエージェントの起動
19 2
. . 1. 6. 章
⁠第
. . .O. penSt
. . . . . ack
. . . .O. rchest
. . . . . .rat
. . ion
. . . .Service
. . . . . . .のインストール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 9. 3. . . . . . . . . .
⁠16 .1. O rc hes tratio n Servic e パッケージのインストール
19 3
⁠16 .2. O rc hes tratio n Servic e の設定
19 3
⁠16 .2.1. O rc hes tratio n Servic e データベースの接続の設定
⁠16 .2.2. 各 O rc hes tratio n API サービスのバインドアドレスの制限
19 4
19 4
⁠16 .2.3. O rc hes tratio n Servic e 用のアイデンティティレコードの作成
19 5
⁠16 .2.4. O rc hes tratio n Servic e の認証設定
19 6
⁠16 .3. O rc hes tratio n Servic e の起動
19 8
⁠16 .4. O rc hes tratio n テンプレートを使用したスタックのデプロイ
19 8
. . 1. 7. 章
⁠第
. . .Dashboard
. . . . . . . . . .のインストール
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.0. 1. . . . . . . . . .
⁠17.1. Das hb o ard Servic e の要件
20 1
⁠17.2. Das hb o ard パッケージのインストール
20 1
⁠17.3. Ap ac he Web サービスの起動
20 2
⁠17.4. Das hb o ard の設定
20 2
⁠17.4.1. 接続とロギングの設定
⁠17.4.2. デプロイメントのセキュアな設定 (HTTPS)
20 2
20 3
⁠17.4.3. Memb er ロールの作成
20 5
⁠17.4.4. SELinux の設定
20 5
⁠17.4.5. Das hb o ard のファイアウォール設定
20 6
⁠17.4.6 . セッションストレージのオプション
⁠17.4.6 .1. ローカルメモリーキャッシュのセッションストレージの設定
20 7
20 7
⁠17.4.6 .2. memc ac hed セッションストレージの設定
20 7
⁠17.4.6 .3. データベースセッションストレージの設定
20 7
⁠17.4.6 .4. キャッシュされたデータベースセッションストレージの設定
20 9
⁠17.4.6 .5. クッキーセッションストレージの設定
⁠17.5. Das hb o ard のインストールの検証
20 9
210
. . ート
⁠パ
. . . . IV.
. . .インストールの検証
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.1. 2. . . . . . . . . .
. . 1. 8. 章
⁠第
. . .インスタンスを使用する操作
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. 1. 3. . . . . . . . . .
⁠18 .1. ディスクイメージのアップロード
213
⁠18 .2. キーペアの作成
214
⁠18 .3. ネットワークの作成
215
⁠18 .4. インスタンスの起動
216
⁠18 .5. ボリュームの作成
219
5
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
⁠18 .5. ボリュームの作成
⁠18 .6 . インスタンスへのボリュームの接続
219
220
⁠18 .7. インスタンスのスナップショットの作成
221
⁠18 .8 . インスタンスの状態の制御 (Paus e、Sus p end 、Reb o o t)
222
. . 1. 9. 章
⁠第
. . .環境の更新
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.2. 4. . . . . . . . . .
⁠19 .1. Flo ating IP アドレスプールの定義
224
⁠19 .2. ルーターの作成
⁠19 .3. インスタンスへの Flo ating IP 割り当て
226
228
⁠19 .4. セキュリティグループへのルールの追加
229
. . ート
⁠パ
. . . . V.
. .O
. .penSt
. . . . . ack
. . . 環境の監視
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. 31
...........
. . 2. 0. 章
⁠第
. . .Nagios
. . . . . . を使用した
. . . . . . . . .O
. .penSt
. . . . . ack
. . . の監視
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. 32
...........
⁠2 0 .1. Nag io s のインストール
⁠2 0 .1.1. Nag io s Servic e のインストール
⁠2 0 .1.2. NRPE アドオンのインストール
⁠2 0 .2. Nag io s の設定
232
232
233
233
⁠2 0 .2.1. Nag io s の設定
233
⁠2 0 .2.2. HTTPD の設定
234
⁠2 0 .2.3. O p enStac k サービスの設定
235
⁠2 0 .2.4. NRPE の設定
⁠2 0 .2.5. ホストの定義の作成
237
238
⁠2 0 .2.6 . サービス定義の作成
⁠2 0 .2.7. 設定の検証
238
240
. . 2. 1. 章
⁠第
. . .リモートロギング機能のインストールと設定
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.4. 1. . . . . . . . . .
⁠2 1.1. リモートロギングについての概要
241
⁠2 1.2. rs ys lo g サーバーのインストール
⁠2 1.3. 集中ログサーバーでの rs ys lo g の設定
241
241
⁠2 1.4. 個々のノードでの rs ys lo g 設定
⁠2 1.5. rs ys lo g サーバーの起動
242
243
. . ート
⁠パ
. . . . VI.
. . .O. penSt
. . . . . .ack
. . .環境の拡張の管理
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.4. 4. . . . . . . . . .
. . 2. 2. 章
⁠第
. . .Comput
. . . . . . .e. の拡張の管理
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. 4. 5. . . . . . . . . .
⁠2 2.1. リージョンの定義
245
⁠2 2.2. コンピュートリソースの追加
⁠2 2.3. コンピュートリソースの安全な削除
246
246
⁠2 2.4. コンフィグドライブの使用方法
⁠2 2.4.1. コンフィグドライブの概要
⁠2 2.4.2. コンフィグドライブのセットアップ
248
248
248
⁠2 2.4.2.1. コンフィグドライブの有効化
⁠2 2.4.2.2. コンフィグドライブのオプション
⁠2 2.4.3. コンフィグドライブへのアクセス
⁠2 2.4.4. データ形式
⁠2 2.4.4.1. O p enStac k のメタデータ形式
⁠2 2.4.4.2. EC2 メタデータの形式
⁠2 2.4.4.3. ユーザーデータの形式
248
249
250
251
251
252
253
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. 54
インストールチェックリスト
...........
⁠A .1. インストールの前提条件のチェックリスト
254
. .penSt
O
. . . . . ack
. . . .環境のトラブルシューティング
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. 59
...........
⁠B .1. ダッシュボードにネットワークまたはルーターのタブが表示されない場合
259
⁠B .2. インスタンス起動時のダッシュボードレポートのエラー
6
259
目次
⁠B .3. コンピュートインスタンスのログに出力がない場合
259
⁠B .4. アイデンティティクライアント (keys to ne) による " Unab le to c o mmunic ate with id entity s ervic e" のレ
ポート
259
⁠B .5. バックアップと復元
26 1
⁠B .5.1. バックアップの概要
⁠B .5.2. データベースのバックアップ
⁠B .5.3. ファイルシステムのバックアップ
26 1
26 2
26 3
⁠B .5.4. リカバリ
26 5
.サービスログファイル
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.6. 7. . . . . . . . . .
⁠C .1. Blo c k Sto rag e Servic e のログファイル
26 7
⁠C .2. Co mp ute Servic e のログファイル
⁠C .3. Das hb o ard のログファイル
⁠C .4. Id entity Servic e のログファイル
26 7
26 7
26 8
⁠C .5. Imag e Servic e のログファイル
⁠C .6 . Netwo rking Servic e のログファイル
26 8
26 8
⁠C .7. O b jec t Sto rag e Servic e のログファイル
26 9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.7. 0. . . . . . . . . .
改訂履歴
7
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
前書き
1. 本書の表記規則
本ガイドでは、一部の単語や語句を強調して、特定の情報に対する読者の注意を促すために、以下のような
表記規則を採用しています。
1.1. 書体の表記規則
本ガイドでは、特定の単語や語句に対する注意を促すために、4 つの書体表記規則を採用しています。これ
らの表記規則および適用される状況は、以下のとおりです。
太字の等幅フォント
シェルコマンド、ファイル名、パスなど、システムへの入力を強調するために使用します。また、キー名や
キーの組み合わせを強調するのにも使用します。以下が例となります。
作業ディレクトリ内の my_next_bestsel l i ng _no vel というファイルの内容を表示す
るには、シェルプロンプトで cat my_next_bestsel l i ng _no vel というコマンドを
入力して Enter キーを押し、そのコマンドを実行します。
上記の例には、ファイル名、シェルコマンド、キー名が含まれており、すべて太字の等幅フォントで表示さ
れていますが、文脈で区別することができます。
キーの組み合わせは、プラス記号 (+) で各キーがつながれているので、個別のキーと区別することができま
す。以下が例となります。
Enter を押してコマンドを実行します。
C trl +Al t+F2 を押して仮想ターミナルに切り替えます。
第 1 の例では、押すべき特定のキー名が強調されています。第 2 の例では、3 つのキーを同時に押す、キー
の組み合わせが強調されています。
ソースコードを記載する場合、その段落で言及されるクラス名、メソッド、関数、変数名、戻り値は上記の
ように 太字の等幅フォント で表示されます。以下が例となります。
ファイル関連のクラスには、fi l esystem (ファイルシステム)、fi l e (ファイル)、d i r
(ディレクトリ) などがあります。各クラスにそれぞれ独自のパーミッションセットが関連
付けられています。
太字の可変幅フォント
この書体は、アプリケーション名、ダイアログボックスのテキスト、ラベル付きボタン、チェックボック
ス/ラジオボタンのラベル、メニュータイトル、サブメニュータイトルなど、システムで表示される単語や
語句であることを示します。以下が例となります。
メインメニューバーから システム → 設定 → マウス の順で選択し、マウスの設定 を起動し
ます。全般 タブで 左利き のラジオボタンを選択して 閉じる をクリックし、マウスの主
ボタンを左から右へ切り替えます (左利きのユーザーが使用するのに適切な設定に変更しま
す)。
g ed it ファイルに特殊文字を入力するには、メインのメニューバーからアプリケーション
→ アクセサリ → 文字マップ の順に選択します。次に 文字マップ のメニューバーから 検
索 → 検索… の順に選択して 検索 フィールドに文字名を入力し、次を検索 をクリックしま
す。検索対象の文字が 文字テーブル に強調表示されます。その文字をダブルクリックし
8
前書き
て コピーする文字列 のフィールドに表示されたら、コピー ボタンをクリックします。こ
の後に編集中のドキュメントに戻り、g ed it のメニューバーから 編集 → 貼り付け の順で
選択します。
上記のテキストには、アプリケーション名、システム全体のメニュー名と項目、アプリケーション固有のメ
ニュー名、GUI インターフェースで使用されているボタンおよびテキストが含まれており、これらはすべ
て、太字の可変幅フォントで表示されていますが、文脈で区別することができます。
太字斜体の等幅フォント または 太字斜体の可変幅フォント
太字の等幅フォントおよび太字の可変幅フォントに斜体を使用した場合には、いずれも置き換え可能な可変
テキストであることを意味します。斜体は、記載されている通りには入力しないテキスト、あるいは状況に
よって変化するテキストを示します。以下が例となります。
ssh を使用してリモートマシンに接続するには、シェルプロンプトで ssh
username@ domain.name と入力します。リモートマシンが exampl e. co m で、そのマ
シン上のユーザー名が john である場合には、ssh jo hn@ exampl e. co m と入力してく
ださい。
mo unt -o remo unt file-system のコマンドは、指定したファイルシステムを再マ
ウントします。たとえば、/ho me ファイルシステムを再マウントするコマンドはmo unt
-o remo unt /ho me となります。
現在インストール済みのパッケージのバージョンを確認するには、rpm -q package の
コマンドを使用します。その結果、次のような出力が返されます: package-versionrelease
ユーザー名、ドメイン名、ファイルシステム、パッケージ、バージョン、およびリリースが太字のイタ
リック体で表示されている点に注意してください。これらの語句はプレースホルダーで、コマンドを発行す
る際に入力するテキストまたはシステムによって表示されるテキストのいずれかです。
斜体は、著作物のタイトルを表すという標準的な用途の他に、重要な用語の初出時にも使用されます。以下
が例となります。
Publican は DocBook の出版システムです。
1.2. 引用文の表記規則
端末の出力とソースコードは、周囲のテキストとは視覚的に区切られて表示されます。
端末に送信される出力は、ローマン体の等幅フォント を使用して以下のように表示されます。
books
books_tests
Desktop
Desktop1
documentation drafts mss
downloads
images notes
photos
scripts
stuff
svgs
svn
ソースコードの表示にも ローマン体の等幅フォント が使用されますが、以下のような構文強調表示が追
加されます。
​static int kvm_vm_ioctl_deassign_device(struct kvm *kvm,
​
struct kvm_assigned_pci_dev *assigned_dev)
​
{
​
int r = 0;
​
struct kvm_assigned_dev_kernel *match;
​
mutex_lock(& kvm->lock);
​
match = kvm_find_assigned_dev(& kvm->arch.assigned_dev_head,
9
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
​
assigned_dev->assigned_dev_id);
if (!match) {
printk(KERN_INFO "%s: device hasn't been assigned
​
​
before, "
​
"so cannot be deassigned\n", __func__);
r = -EINVAL;
goto out;
​
​
​
}
​
kvm_deassign_device(kvm, match);
​
kvm_free_assigned_device(kvm, match);
​o ut:
​
mutex_unlock(& kvm->lock);
return r;
​
​}
1.3. 注記および警告
本ガイドでは、見落としがちな情報に注意を促すために、次にあげる 3 つの視覚的スタイルを使用していま
す。
注記
注記には、対象のタスクに関するヒント、ショートカット、その他のアプローチなどを記載してい
ます。注記を無視しても、悪影響はありませんが、作業を効率的に行うためのコツを見逃してしまう
可能性があります。
重要
重要の欄には、現行セッションのみに適用される設定の変更や、更新を適用するのに再起動が必要
なサービスなど、見落としがちな情報を記載しています。「重要」と記載された事項を無視しても、
データ損失などには至りませんが、作業が思ったようにスムーズに進まなくなる可能性があります。
警告
警告は、無視しないでください。警告を無視すると、データ損失が発生する可能性が非常に高くなり
ます。
2. ヘルプとフィードバック
本ガイドに記載されている手順で問題が発生した場合には、Red Hat カスタマーポータル
(http://access.redhat.com) をご利用ください。カスタマーポータルでは、以下のような機能を提供してい
ます。
Red Hat 製品に関する技術情報のナレッジベース記事の検索、閲覧
10
前書き
Red Hat グローバルサポートサービス (GSS) へのサポートケース提出
その他の製品ドキュメントの参照
Red Hat では、Red Hat のソフトウェアおよびテクノロジーに関するディスカッションの場として、数多
くのメーリングリストをホストしています。一般公開されているメーリングリストの一覧
は、https://www.redhat.com/mailman/listinfo に記載しています。各メーリングリストをクリックすると、
そのメーリングリストをサブスクライブしたり、アーカイブを参照したりすることができます。
フィードバック
本ガイドで誤字、脱字を発見された場合、または内容を改善するためのご意見、ご提案がございましたら、
弊社にご連絡いただくようお願いします。バグレポートは、Bugzilla (http://bugzilla.redhat.com/) から製
品に R ed H at O p en St ack を選択して提出してください。
バグレポートを提出される際には、ガイドの識別子である doc-Installation_and_Configuration_Guide を
必ずご指定いただくようお願いします。
本ガイドを改善するためのご意見、ご提案をお寄せいただく場合には、可能な限り具体的に説明してくださ
い。また、エラーを発見された場合は、弊社で対象箇所を容易に見つけることができるように、そのセク
ション番号と該当部分の前後の文章も含めてご報告いただくようお願いします。
11
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
⁠パート I. はじめに
12
⁠第1 章 製品紹介
第1章 製品紹介
1.1. 概要
Red Hat Enterprise Linux OpenStack Platform は、Red Hat Enterprise Linux にプライベートまたはパブ
リックの Infrastructure-as-a-Service (IaaS) クラウドを構築するための基盤を提供します。これにより、
スケーラビリティが極めて高く、耐障害性に優れたプラットフォームをクラウド対応のワークロード開発に
ご利用いただくことができます。
現在、Red Hat のシステムは、OpenStack Havana をベースとして、利用可能な物理ハードウェアをプラ
イベート、パブリック、またはハイブリッドのクラウドプラットフォームに変換できるようにパッケージ
されています。これには以下のコンポーネントが含まれます。
完全に分散されたオブジェクトストレージ
永続的なブロックレベルのストレージ
仮想マシンのプロビジョニングエンジンおよびイメージストレージ
認証および認可メカニズム
統合されたネットワーク
ユーザーおよび管理用の Web ブラウザーベースの GUI
Red Hat Enterprise Linux OpenStack Platform IaaS クラウドは、コンピューティング、ストレージ、
ネットワークのリソースを制御する連結されたサービスのコレクションにより実装されます。クラウドは、
Web ベースのインターフェースで管理されます。これにより、管理者は OpenStack リソースの制御、プ
ロビジョニング、自動化を行うことができます。また、OpenStack のインフラストラクチャーは、クラウ
ドのエンドユーザーも利用することができる豊富な API で円滑に運用されます。
バグを報告する
1.2. アーキテクチャー
以下の図は、OpenStack のアーキテクチャー全体の俯瞰図を示しています。
図1.1 O p en St ack のアーキテクチャー
13
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
各 OpenStack サービスにはコード名があり、設定ファイルやコマンドラインユーティリティプログラムの
名前に反映されます。たとえば、Identity Service には、keystone.conf という設定ファイルがあります。
表1.1 サービス
サービス
コード名
説明
D ashboard
horizon
Identity
keystone
OpenStack
Networking
Block Storage
neutron
Compute
nova
Image
glance
OpenStack の各種サービスを管理するための Web ベースの
ダッシュボード
他のサービスに認証および認可サービスを提供し、ユーザー/テ
ナント/ロールを管理する、集中型のアイデンティティーサー
ビス
他の OpenStack サービスのインターフェース間の接続性を提
供するネットワークサービス
仮想マシン用の永続的な Block Storage ボリュームを管理す
るサービス
ノードで実行する、ネットワーク接続されたマシンの起動およ
びスケジューリングを行うサービス
仮想マシンイメージ用のレジストリサービス
cinder
Object Storage swift
Metering
ceilometer
ユーザーがファイル (任意のデータ) を保管したり、取得した
りできるオブジェクトストレージを提供するサービス
クラウドリソースの測定を提供するサービス
リソーススタックの自動作成をサポートする、テンプレート
ベースのオーケストレーションエンジンを提供するサービス
OpenStack のサービスコンポーネントに関するさらに詳しい情報は、サービスの詳細のセクションで説明
しています。OpenStack サービスはそれぞれ、Linux サービスのコレクション、MySQL データベース、
その他のコンポーネントで構成され、これらがまとまって、機能グループを提供します。たとえ
ば、g l ance-api および g l ance-reg i stry の Linux サービスが MySQL データベースと共に Image
Service を実装します。
Orchestration
heat
バグを報告する
1.3. サービスの詳細
1.3.1. Dashboard Service
D ashboard Service は、インスタンスの作成/起動やネットワークの管理、アクセス制御の設定などの操作
を行うことができる、エンドユーザーおよび管理者向けのグラフィカルユーザーインターフェースを提供し
ます。モジュール式の設計により、課金、監視、追加の管理用のツールなどの他の製品との連結が可能で
す。このサービスは、ユーザー、システム、設定の 3 つの基本ダッシュボードを提供します。
以下のスクリーンショットは、OpenStack の初回インストール後のユーザーのダッシュボードを示してい
ます。
14
⁠第1 章 製品紹介
ログインしたユーザーのアイデンティティにより、ダッシュボードおよびそのダッシュボードで表示され
るパネルが異なります。
表1.2 D ash b o ard Service のコンポーネント
コンポーネント
説明
openstack-dashboard
任意の Web ブラウザーを使用してダッシュボードへのアクセ
スを提供する、D jango (Python) Web アプリケーション
アプリケーションをホスト
Apache HTTP サーバー (httpd サービ
ス)
データベース
セッションの管理用
バグを報告する
1.3.2. Ident it y Service
Identity Service は、OpenStack ユーザーの認証および認可 (ユーザーおよびそのユーザーに許可されてい
るアクティビティの追跡記録) を行います 。このサービスは OpenStack の全コンポーネントによって使用
されます。Identity Service は、ユーザー名とパスワードの認証情報、トークンベースのシステム、AWS 方
式のログイン (Amazon Web Services) など、複数の認証形式をサポートしています。
Identity Service は、特定の OpenStack クラウドで実行するサービスおよびエンドポイントの集中カタロ
グを提供します。これは、他の OpenStack システムのサービスディレクトリとして機能します。
OpenStack のサービスは、以下のエンドポイントを使用します。
ad mi nUR L: このサービスの管理エンドポイントの URL。ここには Identity Service のみが publicURL
とは異なる値を使用する可能性があります。その他のサービスは同じ値を使用します。
i nternal UR L: このサービスの内部用エンドポイントの URL (通常は publicURL と同じ)。
15
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
publ i cUR L: このサービスのパブリックエンドポイントの URL。
reg i o n: このサービスが配置されるリージョン。リージョンが指定されていない場合には、デフォル
トで「RegionOne」の場所が使用されます。
Identity Service は以下の概念を使用しています。
ユーザー: 情報 (名前やパスワードなど) が関連付けられています。カスタムのユーザーに加え、カタロ
グ化された各サービスごとにユーザーを定義する必要があります (例: Image Service 用の「glance」
ユーザーなど)。
テナント: 通常は、ユーザーのグループ、プロジェクト、または組織です。
ロール: ユーザーのパーミッションを決定するロールです。
表1.3 Id en t it y Service のコンポーネント
コンポーネント
説明
keystone
データベース
管理およびパブリック API を提供します。
内部サービスごと
バグを報告する
1.3.3. OpenSt ack Net working Service
OpenStack Networking Service は、ネットワーク接続、アドレス指定、OpenStack Iaas クラウドデプロ
イメント内のサービスを管理するためのスケーラブルな API 駆動型システムを提供します。OpenStack の
ネットワークはソフトウェアで定義されるので、変化するネットワークのニーズ (例: 新規 IP アドレスの作
成と割り当て) に容易かつ迅速に応答することができます。
OpenStack Networking Service には次のような利点があります。
ユーザーは、ネットワークの作成やトラフィックの制御を行ったり、サーバーおよびデバイスを単一ま
たは複数のネットワークに接続したりすることができます。
OpenStack は、管理者がボリュームとテナンシーに合わせてネットワークモデルを変更できるよう
に、柔軟性の高いネットワークモデルを提供しています。
IP アドレスは、専用または Floating IP を使用することができます。Floating IP により、トラフィック
の動的な再ルーティングが可能となります。
表1.4 N et wo rkin g Service のコンポーネント
コンポーネント
説明
neutron-server
ユーザー要求の管理 (および API の公開) を行う Python デーモン。ネッ
トワークメカニズムの特定のセットを使用して OpenStack Networking
API 操作を実装するプラグインで設定します。プラグインには、幅広い
選択肢があります。たとえば、o penvswi tch および l i nuxbri d g e
のプラグインは、ネイティブの Linux ネットワークメカニズムを活用す
る一方、その他のプラグインは外部デバイスまたは SD N コントローラー
と連動します。
L3/NAT 転送を提供するエージェント
各ノード上で稼働し、そのノードの仮想マシンとネットワークサービス
のローカルネットワーク設定を行うプラグインエージェント
テナントネットワークに対して D HCP サービスを提供するエージェント
永続ストレージを提供します。
neutron-l3-agent
neutron-*-agent
neutron-dhcp-agent
データベース
16
⁠第1 章 製品紹介
バグを報告する
1.3.4 . Block St orage Service
Block Storage (または ボリューム) Service は、仮想ハードドライブを対象とする永続的なブロックスト
レージ管理機能を提供します。Block Storage システムは、サーバーへのブロックストレージの作成を管理
します。Block Storage ボリュームは、Compute Service と D ashboard Service の両方に完全に統合さ
れています。これにより、クラウドユーザーは、ストレージのニーズを管理することができます (Compute
はデバイスの接続・切断を処理します)。リージョンおよびゾーン (詳細は Object Storage のセクションを
参照) の両方を使用して、分散されたブロックストレージホストを処理することができます。
ブロックストレージは、データベースストレージや拡張可能なファイルシステムなどに使用する場合、また
サーバーに Raw ブロックレベルのストレージへのアクセスを提供する場合など、パフォーマンスが要求さ
れるシナリオに適しています。また、スナップショットを取得してデータを復元したり、新しい Block
Storage ボリュームを作成したりすることも可能です (スナップショットはドライバーサポートに依存しま
す)。
基本的な操作は以下のとおりです。
ボリュームの作成、一覧表示、削除
スナップショットの作成、一覧表示、削除
実行中の仮想マシンへのボリュームの接続/切断
表1.5 B lo ck St o rag e Service のコンポーネント
コンポーネント
説明
オンデマンドで仮想マシンのストレージを分割します。ストレージプロ
バイダーとの対話用に複数のドライバーが含まれています。
openstack-cinder-api
要求に応答して処理し、メッセージキューに配置します。
openstack-cinder-backup
Block Storage ボリュームを外部ストレージリポジトリにバックアップ
する機能を提供します。
openstack-cinder-scheduler タスクをキューに割り当て、プロビジョニングするボリュームサーバー
を決定します。
データベース
状態情報を提供します。
openstack-cinder-volume
関連トピック:
「Compute Service」
バグを報告する
1.3.5. Comput e Service
Compute Service は、オンデマンドで仮想マシンを提供する、OpenStack クラウドの中核です。Compute
は、基盤となる仮想化メカニズムと対話するドライバーを定義し、他の OpenStack コンポーネントに機能
を公開することにより、仮想マシンがノードセット上で実行されるようにスケジュールします。
Compute は、認証の場合は Identity Service、イメージの場合は Image Service、ユーザーおよび管理イン
ターフェースの場合は D ashboard Service と対話します。イメージへのアクセスはプロジェクトおよび
ユーザーごとに、クォータはプロジェクトごとに制限を指定します (例: インスタンス数)。Compute
Service は標準のハードウェアでスケールアウトするように設計されており、必要に応じてイメージをダウ
ンロードしてインスタンスを起動することができます。
表1.6 クラウドの分離方法
17
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
概念
説明
リージョン
Identity Service にカタログ化されている各サービスは、そのリージョンによって
特定されます。リージョンは通常、地理的な場所およびそのエンドポイントを示し
ます。複数の Compute デプロイメントを使用するクラウドでは、リージョンによ
りサービスを個別に分離することが可能となります。これは、Compute がインス
トールされた複数のシステム間でインフラストラクチャーを共有する強固な方法で
あるとともに、高度の耐障害性を実現します。
1 つのクラウドに属する複数の Compute ホストを、(大規模なデプロイメントや地
理的に分散されたインストールを処理する目的で) セルと呼ばれるグループに分割す
ることができます。セルは木構造に構成されます。最上位 (「API セル」) は
no va-api サービスを実行しますが、no va-co mpute サービスは実行しません。
これに対して、各子セルは、標準インストールに実装されるその他の一般的な
no va-* サービスをすべて実行しますが、no va-api サービスは例外となりま
す。各セルには独自のメッセージキューやデータベースサービスがあり、API セル
と子セルの間の通信を管理する no va-cel l s も実行します。
セル
これは、以下のような利点をもたらします。
単一の API サーバーを使用して、Compute のインストールされた複数のシステ
ムへのアクセスを制御することができます。
ホストのスケジューリングと対比した場合、セルレベルでの第 2 段階のスケ
ジューリングが利用可能となるので、仮想マシンの実行場所の制御における柔軟
性が向上します。
ホストアグリゲー
トとアベイラビリ
ティゾーン
単一の Compute デプロイメントを論理グループに分割することができます (たとえ
ば、ストレージやネットワークなどの共通リソースを共有するグループ、信頼され
たコンピューティングハードウェアなどの特別なプロパティを指定したグループ、
といった複数のホストグループへの分割)。
ユーザーの種類により、表示内容が以下のように異なります。
管理者: グループは、Compute ホストおよび関連するメタデータが割り当てられ
た「ホストアグリゲート」として表示されます。アグリゲートのメタデータは一
般的に、no va-sched ul er で使用するための情報を提供する際に使用します
(例: 特定のフレーバーやイメージをホストのサブセットのみに制限する場合な
ど)。
ユーザー: グループは「アベイラビリティゾーン」として表示されます。ユー
ザーには、グループのメタデータも、そのゾーンを構成するホストも表示されま
せん。
アグリゲートまたはゾーンは、以下の目的に使用できます。
ロードバランシングおよびインスタンスの分散配置を処理します。
他のゾーンからの物理的な隔離や冗長性を何らかの形で提供します (例: 別の電
源やネットワーク機器を使用するなど)。
共通の属性を持つサーバーセットを特定します。
異なるクラスのハードウェアを分離します。
表1.7 C o mp u t e Service のコンポーネント
コンポーネント
説明
openstack-nova-api
Compute Service への要求を処理し、アクセスを提供します (インスタ
ンスの起動など)。
証明書マネージャーを提供します。
openstack-nova-cert
18
⁠第1 章 製品紹介
コンポーネント
説明
openstack-nova-compute
仮想インスタンスを作成、終了します。ハイパーバイザーと対話して新
規インスタンスを起動し、Compute データベースで状態が保持されるよ
うにします。
コンピュートノードに対してデータベースアクセスのサポートを提供し
ます (それによって、セキュリティリスクを軽減)。
コンソールの認証を処理します。
openstack-nova-conductor
openstack-novaconsoleauth
openstack-nova-network
Compute ネットワークトラフィック (プライベートとパブリックアクセ
スの両方) を処理します。新規仮想インスタンスへの IP アドレスの割り
当てやセキュリティグループルールの実装などのタスクを処理します。
openstack-novaブラウザー用の VNC プロキシを提供します (仮想マシンにアクセスする
novncproxy
ための VNC コンソールを有効にします)。
openstack-nova-scheduler 新規仮想マシンの要求を正しいノードにディスパッチします。
Apache Qpid サーバー
AMQP メッセージキューを提供します。このサーバー (Block Storage
(q pi d d )
でも使用) は、キュー、分散、セキュリティ、管理、クラスタリング、
フェデレーションなど OpenStack のトランザクション管理を処理しま
す。メッセージングは、OpenStack デプロイメントがスケーリングされ
て、サービスが複数のマシンで実行されている場合に特に重要となりま
す。
libvirtd
ハイパーバイザー用のドライバー。仮想マシンを作成できるようにしま
す。
KVM Linux ハイパーバイザー 仮想マシンを作成して、ノード間のライブマイグレーションを可能にし
ます。
データベース
構築時および実行時のインフラストラクチャーの状態を提供します。
バグを報告する
1.3.6. Image Service
Image Service は、仮想ディスクイメージのレジストリとして機能します。ユーザーは新規イメージを追加
したり、既存のサーバーのスナップショット (コピー) を作成して、直ちに保管することができます。ス
ナップショットは、バックアップとして使用したり、新規サーバー用のテンプレートとして使用したりす
ることが可能です。登録されたイメージは、Object Storage Service に保管できる他、別の場所 (例: 簡易
ファイルシステムまたは外部の Web サーバー) に保管することも可能です。
以下のイメージ形式がサポートされています。
raw (非構造化形式)
aki/ami/ari (Amazon Kernel、ramdisk、またはマシンイメージ)
iso (光学ディスク用のアーカイブ形式。例: CD ROM)
qcow2 (Qemu/KVM。Copy on Write をサポート)
vhd (Hyper-V。VMWare、Xen、Microsoft、VirtualBox その他の仮想マシンモニターで一般的。)
vdi (Qemu/VirtualBox)
vmdk (VMWare)
コンテナー形式は Image Service でも使用することが可能です。この形式により、イメージに保管される、
実際の仮想マシンについてのメタデータの種別が決定します。以下の形式がサポートされています。
bare (メタデータは含まれない)
19
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
ovf (OVF 形式)
aki/ami/ari (Amazon Kernel、ramdisk、またはマシンイメージ)
表1.8 Imag e Service のコンポーネント
コンポーネント
説明
openstack-glance-api
要求とイメージのデリバリを処理します (ストレージバックエンドと対話
して取得と保管を行います)。レジストリを使用してイメージの情報を取
得します (レジストリサービスには絶対に直接アクセスされません。また
決して直接アクセスすべきではありません)。
各イメージに関連付けられた全メタデータを管理します。データベース
を必要とします。
イメージのメタデータを保管します。
openstack-glance-registry
データベース
バグを報告する
1.3.7. Object St orage Service
Object Storage Service は、仮想コンテナー内にオブジェクトストレージを提供して、ユーザーがファイ
ルを保管、取得できるようにします。このサービスの分散型アーキテクチャーはスケールアウトをサポート
しています。また、ソフトウェアベースのデータレプリケーションにより、障害対策として冗長性を提供し
ます。
非同期の結果整合性レプリケーションをサポートしているため、複数のデータセンターデプロイメントに適
しています。Object Storage は以下の概念を使用しています。
ストレージのレプリカ: 障害発生時にオブジェクトの状態を保つために使用します。最低でも 3 つ以上
のレプリカが推奨されます。
ストレージゾーン: レプリカのホストに使用します。ゾーンを使用することで、任意のオブジェクトの各
レプリカが個別に格納されるようにします。ゾーンは、個別のディスクドライブ、アレイ、サーバー、
ラック内の全サーバーやデータセンター全体を指すこともあります。
ストレージリージョン: 実質的には、1 つの場所を共有するゾーンのグループです。たとえば、通常は同
じ地理的地域に設置されたサーバーやサーバーファームなどをリージョンとすることができます。リー
ジョンには、Object Storage Service をインストールしたシステムごとに個別の API エンドポイントが
あり、サービスを分離することができます。
表1.9 O b ject St o rag e Service のコンポーネント
コンポーネント
説明
openstack-swift-proxy
パブリック API を公開します。また、要求を処理して、それらを適
宜ルーティングする役割を果たします。オブジェクトは (スプール
されるのではなく) プロキシサーバーを経由してユーザーにスト
リーミングされます。オブジェクトは、HTTP 経由で配信すること
も可能です。
オブジェクトを保管、取得、削除します。
アカウントデータベースを使用してコンテナーをリストする役割を
果たします。
コンテナーデータベースを使用して、オブジェクトのリストを処理
します (特定のコンテナーにどのオブジェクトが入っているか)。
openstack-swift-object
openstack-swift-account
openstack-swift-container
20
⁠第1 章 製品紹介
コンポーネント
説明
リングファイル
全ストレージデバイスの詳細が含まれており、特定のデータがどこ
に保管されているかを (保存したエンティティの名前を物理的な場
所にマッピングして) 推測するのに使用されます。プロジェクト、
アカウント、コンテナーサーバーごとにファイルが 1 つ作成されま
す。
アカウントデータベース
コンテナーデータベース
ext4 (推奨) または XFS ファイルシ オブジェクトストレージに使用します。
ステム
ハウスキーピングプロセス
レプリケーションとオーディター
バグを報告する
1.3.8. Met ering Service
Metering Service は、OpenStack ベースのクラウドを対象とする、ユーザーレベルの使用状況データを提
供します。このデータは、顧客への課金、システムのモニタリング、警告などに使用することができます。
データの収集は、既存の OpenStack コンポーネントによって送信される通知 (例: Compute から生成され
る使用イベントなど) や、インフラストラクチャー (例: libvirt) からポーリングすることによって行うことが
できます。
Metering には、信頼済みのメッセージングシステムを介して、認証済みエージェントと通信を行ってデー
タを収集/集計するストレージデーモンが含まれています。また、このサービスは、新規モニターの追加を容
易に行うことができるようにするプラグインシステムを採用しています。
表1.10 Met erin g Service のコンポーネント
コンポーネント
説明
ceilometer-agent-compute
各コンピュートノードで実行して、リソース使用状況統計のためのポー
リングを行うエージェント。
中央管理サーバーで実行して、インスタンスまたはコンピュートノード
に関連付けられていないリソースの使用状況統計のためにポーリングを
行うエージェント。
1 台または複数の中央管理サーバーで実行してメッセージキューを監視
するエージェント。通知メッセージは処理され、Metering メッセージに
変換後、適切なトピックを使用してメッセージバスに送り返されます。
Metering メッセージは変更されることなくデータストアに書き込まれま
す。
収集した使用状況サンプルデータ用
1 台または複数の中央管理サーバーで実行して、データストアのデータへ
のアクセスを提供します。データストアにアクセスできるのは、コレク
ターと API サーバーのみです。
ceilometer-agent-central
ceilometer-collector
MongoD B データベース
API サーバー
バグを報告する
1.3.9. Orchest rat ion Service
Orchestration Service は、OpenStack クラウド用にテンプレートベースのオーケストレーションエンジ
ンを提供します。このエンジンは、ストレージ、ネットワーク、インスタンス、アプリケーションなどのク
ラウドインフラストラクチャーリソースを反復可能な実行環境として作成/管理するのに使用することがで
きます。
21
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
テンプレートはスタックの作成に使用します。スタックとは、リソースのコレクションです (例: インスタ
ンス、Floating IP、ボリューム、セキュリティグループ、ユーザー)。Orchestration Service は、単一の
モジュール型テンプレートを介した全 OpenStack コアサービスへのアクセスに加えて、自動スケーリング
や基本的な高可用性などの追加のオーケストレーション機能も提供します。
以下のような機能が含まれます。
単一のテンプレートで配下の全サービス API に対するアクセスを提供します。
テンプレートはモジュール型です (リソース指向)。
テンプレートは再帰的に定義することができるので、再利用が可能です (ネストされたスタック)。これ
は、クラウドインフラストラクチャーをモジュール式に定義/再利用できることを意味します。
リソースの実装はプラグ可能なので、カスタムリソースが可能となります。
自動スケーリング機能 (使用率に応じてリソースを自動で追加/削除)
基本的な高可用性機能
表1.11 O rch est rat io n Service のコンポーネント
コンポーネント
説明
heat
heat-api と通信して、AWS CloudFormation API を実行する CLI ツー
ル
RPC を介して heat-engine に送信することによって API 要求を 処理す
る OpenStack ネイティブの REST API
AWS CloudFormation と互換性のある AWS-Query API を提供します。
API 要求は、RPC を介して heat-engine に送信することによって処理し
ます。
テンプレートの起動のオーケストレーションを行い、API コンシュー
マーにイベントを返します。
Orchestration Service を対象とするモニタリング (メトリックの収集)
を提供します。
ヘルパースクリプトのパッケージ (例: メタデータへの更新を処理し、カ
スタムフックを実行する cfn-hup)
heat-api
heat-api-cfn
heat-engine
heat-api-cloudwatch
heat-cfntools
注記
heat-cfnto o l s パッケージは、heat によってコンピュートサーバーに起動されるイメージにの
みインストールされます。
バグを報告する
1.4 . その他のドキュメント
Red Hat Enterprise Linux OpenStack Platform のその他のドキュメントは、カスタマーポータルから入手
できます。
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform
ドキュメントスイートには、以下のガイドが含まれます。
表1.12 R ed H at En t erp rise Lin u x O p en St ack Plat f o rm ドキュメントスイート
22
⁠第1 章 製品紹介
ガイド
説明
Administration
User Guide
Configuration
Reference Guide
エンドユーザーガ
イド
スタートガイド
Red Hat Enterprise Linux OpenStack Platform 環境の管理手順をハウツー形式で
記載しています。
各 OpenStack コンポーネントの設定オプションおよびサンプルの設定ファイルを
記載しています。
Red Hat Enterprise Linux OpenStack Platform 環境の使用手順をハウツー形式で
記載しています。
Red Hat Enterprise Linux OpenStack Platform クラウドでの PackStack デプロ
イメントの手順とクラウドを稼働させる簡単なハウツー形式の手順を記載していま
す。
Red Hat Enterprise Linux OpenStack Platform クラウドのデプロイメント手順
と、手動および Foreman を使用したインストールの両方の手順を記載していま
す。また、簡単なインストールの検証、監視手順も含まれています。
テクノロジープレビュー、推奨プラクティス、既知の問題などに関する注記など、
現行リリースの情報を記載しています。
インストールと設
定ガイド (本書)
リリースノート
バグを報告する
23
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
第2章 前提条件
2.1. ソフトウェア要件
2.1.1. オペレーティングシステムの要件
Red Hat Enterprise Linux OpenStack Platform 4 には Red Hat Enterprise Linux 6.5 Server が必要で
す。
Red Hat Enterprise Linux 6.5 Server のインストールに関するさらに詳しい情報は、Red Hat Enterprise
Linux 6 インストールガイドを参照してください。
関連トピック:
「Red Hat Network への登録」
「Red Hat Enterprise Linux のリポジトリ設定」
「Red Hat Enterprise Linux OpenStack Platform のリポジトリ設定」
バグを報告する
2.1.2. ソフトウェアリポジトリの設定
2 .1 .2 .1 . Re d Hat Ne t wo rk への登録
Red Hat Enterprise Linux OpenStack Platform では、OpenStack 環境内の各システムが Red Hat
Enterprise Linux Server を実行し、かつ更新が提供されるように、Subscription Manager を使用して全
システムを Red Hat Network に登録しておく必要があります。Red Hat のサブスクリプションの管理につ
いては、 サブスクリプション管理ガイドを参照してください。
以下の手順に記載するステップはすべて、登録するシステムの ro o t ユーザーアカウントにログインして実
行する必要があります。
重要
RHN Classic は、レガシーシステム (Red Hat Enterprise Linux 6.0 または Red Hat Enterprise
Linux 5.6 以前のリリース) に使用する目的で提供されています。Red Hat Enterprise Linux 6.1/5.7
以降のシステムでは、カスタマーポータルのサブスクリプション管理、Subscription Asset
Manager、または同様の証明書ベースのサブスクリプション管理サービスを使用することを強く推
奨します。このため、以下の手順は、RHN Classic で Red Hat Network に登録したシステムでの使
用は 対象としていません。
1. subscri pti o n-manag er reg i ster コマンドを実行して、Red Hat Network にシステムを登
録します。
# subscri pti o n-manag er reg i ster
2. プロンプトが表示されたら、Red Hat Network のユーザー名を入力します。
Username: [email protected]
24
⁠第2 章 前提条件
重要
Red Hat Network アカウントに Red Hat Enterprise Linux OpenStack Platform のエンタイ
トルメントが必要です。Red Hat Network アカウントに Red Hat Enterprise Linux
OpenStack のエンタイトルメントがない場合には、http://www.redhat.com/openstack/ で
登録して、評価版プログラムにアクセスすることができます。
3. プロンプトが表示されたら、Red Hat Network パスワードを入力してください。
Password:
4. 登録が正常に完了すると、システムに一意識別子が割り当てられます。
The system has been registered with id: IDENTIFIER
システムが Red Hat Network に登録され、特定のソフトウェアサブスクリプションにアタッチされまし
た。
バグを報告する
2 .1 .2 .2 . Re d Hat Ent e rprise Linux のリポジトリ設定
以下の手順に記載するステップにしたがって、Red Hat Network から更新を受信するように Red Hat
Enterprise Linux システムを登録します。ここに記載するステップは、ro o t ユーザーとしてログインして
実行する必要があります。OpenStack 環境内の各システムで同じ手順を繰り返してください。
1. subscri pti o n-manag er l i st コマンドで、Red Hat Enterprise Linux サブスクリプションの
プール識別子を確認します。
# subscri pti o n-manag er l i st --available
+-------------------------------------------+
Available Subscriptions
+-------------------------------------------+
Product Name:
Product Id:
Pool Id:
Quantity:
Service Level:
Service Type:
Multi-Entitlement:
Expires:
Machine Type:
...
Red Hat Enterprise Linux Server
69
POOLID
1
None
None
No
01/01/2022
physical
プール識別子は、R ed Hat Enterpri se Li nux Server 製品に関連付けられた P o o l Id
フィールドに示されます。この識別子はお使いのサブスクリプションに一意となっており、次のス
テップを実行する際に必要となるため、メモしておいてください。
25
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
注記
上記の出力は、スペースを節約するために途中から省略していますが、このコマンドの実際
の出力には、その他すべての利用可能なサブスクリプションも表示されます。
2. subscri pti o n-manag er attach コマンドを使用して、上記のステップで特定したサブスクリ
プションをアタッチします。
# subscri pti o n-manag er attach --pool=POOLID
Successfully attached a subscription for Red Hat Enterprise Linux
Server.
POOLID は、お使いの Red Hat Enterprise Linux Server サブスクリプションに関連付けられた一
意識別子に置き換えます。これは、上記のステップで特定した識別子です。
3. yum repo l i st コマンドを実行します。このコマンドは、リポジトリの設定ファイルである
/etc/yum. repo s. d /red hat. repo が存在し、かつ最新の状態であることを確認します。
# yum repolist
リポジトリのメタデータがダウンロードされ、検証されると、有効なリポジトリの一覧と、利用可
能なパッケージ数が表示されます。
repo id
status
rhel-6-server-rpms
8,816
repolist: 8,816
repo name
Red Hat Enterprise Linux 6 Server (RPMs)
注記
上記の出力は、システムで yum repo l i st コマンドを実行した際に表示される出力とは異
なる場合があります。特に、表示されるパッケージ数は、追加のパッケージが rhel -6 server-rpms リポジトリに追加されるかどうか、またはいつ追加されるかによって異なり
ます。
Red Hat Network から Red Hat Enterprise Linux の更新を受信するための設定が正常に完了しました。
バグを報告する
2 .1 .2 .3. Re d Hat Ent e rprise Linux Ope nSt ack Plat fo rm のリポジトリ設定
以下の手順に記載するステップにしたがって、Red Hat Enterprise Linux システムが Red Hat Network か
ら OpenStack パッケージを受信/更新するように設定します。Red Hat Enterprise Linux OpenStack
Platform を含む Red Hat ソフトウェアエンタイトルメントへのアクセスが必要です。以下のようなエンタ
イトルメントが含まれます。
Red Hat Cloud Infrastructure
Red Hat Cloud Infrastructure (without Guest OS)
Red Hat Enterprise Linux OpenStack Platform
26
⁠第2 章 前提条件
Red Hat Enterprise Linux OpenStack Platform Preview
Red Hat Enterprise Linux OpenStack Platform (without Guest OS)
注記
各バージョン用の必須および任意のリポジトリ名は、Red Hat Enterprise Linux OpenStack Platform
Release Notesに記載されています。
以下の手順は、ro o t ユーザーとしてログインして実行する必要があります。これらのステップは、環境内
のシステムごとに繰り返してください。
1. subscri pti o n-manag er l i st コマンドで、該当する Red Hat Cloud Infrastructure または
Red Hat Enterprise Linux OpenStack Platform のエンタイトルメントのプール識別子を確認しま
す。
# subscri pti o n-manag er l i st --available
+-------------------------------------------+
Available Subscriptions
+-------------------------------------------+
...
Product Name:
ENTITLEMENT
Product Id:
ID_1
Pool Id:
POOLID_1
Quantity:
3
Service Level:
None
Service Type:
None
Multi-Entitlement:
No
Expires:
02/14/2014
Machine Type:
physical
Product Name:
Product Id:
Pool Id:
Quantity:
Service Level:
Service Type:
Multi-Entitlement:
Expires:
Machine Type:
...
ENTITLEMENT
ID_2
POOLID_2
unlimited
None
None
No
02/14/2014
virtual
この一覧で、Red Hat Enterprise Linux OpenStack Platform パッケージへのアクセスに使用する
エンタイトルメントの名前と P ro d uct Name が一致するエントリを探します。そのエンタイトル
メントに関連付けられたプール識別子をメモしておきます。この値は、P o o l Id フィールドに記
載されています。プール識別子は、お使いのサブスクリプションに一意です。これは、次のステッ
プを完了するのに必要となります。
27
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
注記
上記の出力は、スペースを節約するために途中から省略していますが、このコマンドの実際
の出力には、その他すべての利用可能なサブスクリプションも表示されます。
2. subscri pti o n-manag er attach コマンドを使用して、上記のステップで特定したサブスクリ
プションをアタッチします。
# subscri pti o n-manag er attach --pool=POOLID
Successfully attached a subscription for ENTITLEMENT.
POOLID は、Red Hat Cloud Infrastructure または Red Hat Enterprise Linux OpenStack
Platform のエンタイトルメントに関連付けられた一意識別子に置き換えます。これは、上記のス
テップで特定した識別子です。
3. subscri pti o n-manag er または yum-co nfi g -manag er のコマンドで、適切なソフトウェア
リポジトリ (チャンネル) を有効または無効にします。
各バージョン用の必須および任意のリポジトリは、Red Hat Enterprise Linux OpenStack Platform
Release Notesに記載されています。
注記
yum-config-manager をまだインストールしていない場合には、以下のコマンドでインス
トールします。
# yum i nstal l -y yum-uti l s
たとえば、Red Hat Enterprise Linux OpenStack Platform 3 (Grizzly) 用のリポジトリを無効にし
ておくには、以下のコマンドを実行します。
# yum-co nfi g -manag er --disable rhel-server-ost-6-3-rpms
Loaded plugins: product-id
==== repo: rhel-server-ost-6-3-rpms ====
[rhel-server-ost-6-3-rpms]
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/6Server
baseurl =
https://cdn.redhat.com/content/dist/rhel/server/6/6Server/x86_64/op
enstack/3/os
cache = 0
cachedir = /var/cache/yum/x86_64/6Server/rhel-server-ost-6-3-rpms
cost = 1000
enabl ed = Fal se
...
28
⁠第2 章 前提条件
注記
yum は T rue および 1 の値を同等に処理します。このため、システムに表示される出力が
以下のような文字列となる場合があります。
enabl ed = 1
4. yum repo l i st コマンドを実行します。このコマンドは、リポジトリの設定ファイルである
/etc/yum. repo s. d /red hat. repo が存在し、かつ最新の状態であることを確認します。
# yum repolist
リポジトリのメタデータがダウンロードされ、検証されると、以下に示した例のように、有効なリ
ポジトリの最新一覧と、利用可能なパッケージ数が表示されます。
repo id
repo name
status
rhel-6-server-rpms
Red Hat Enterprise Linux 6 Server (RPMs)
11,610+460
rhel-6-server-openstack-4.0-rpms \
Red Hat Enterprise Linux OpenStack Platform 4 (RPMs)
487+143
5. yum-plugin-priorities パッケージをインストールします。yum-plugin-priorities パッケージは、レポジ
トリ別のプロパティの設定を可能にする yum プラグインを提供します。
# yum i nstal l -y yum-pl ug i n-pri o ri ti es
6. yum-co nfi g -manag er コマンドで Red Hat Enterprise Linux OpenStack Platform ソフトウェ
アリポジトリの優先度を 1 に指定します。1 は yum-plugin-priorities プラグインがサポートする値で
最も高い優先度となっています。Red Hat Enterprise Linux OpenStack Platform Release Notesに記
載されているリポジトリ名を使用することを忘れないようにしてください。
# yum-config-manager --enable REPO_NAME -setopt="REPO_NAME.priority=1"
例:
# yum-co nfi g -manag er --enabl e rhel -6 -server-o penstack-4 . 0 -rpms \-seto pt= "rhel -6 -server-o penstack-4 . 0 -rpms. pri o ri ty= 1"
Loaded plugins: product-id
==== repo: rhel-6-server-openstack-4.0-rpms ====
[rhel-6-server-openstack-4.0-rpms]
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/6Server
baseurl =
https://cdn.redhat.com/content/dist/rhel/server/6/6Server/x86_64/op
enstack/4/os
cache = 0
cachedir = /var/cache/yum/x86_64/6Server/rhel-6-server-openstack4.0-rpms
29
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
cost = 1000
enabl ed = T rue
...
pri o ri ty = 1
...
7. yumupdate コマンドを実行して、最新のパッケージ (カーネルを含む) がインストール/実行される
ようにします。
# yumupdate-y
# rebo o t
Red Hat Enterprise Linux OpenStack Platform パッケージを受信するための設定が正常に完了しました。
リポジトリ設定の確認を随時行うには、yum repo l i st コマンドを使用することができます。
バグを報告する
2.1.3. 予約済みの UID および GID
Red Hat Enterprise Linux における UID と GID の予約範囲は、現在 0-500 となっています。組織によっ
ては、この ID を 1 つまたは複数変更する必要がある場合があるので、以下の表に 各 ID が使用する
OpenStack およびサードパーティのコンポーネントをまとめました。UID および GID を割り当てる場合に
は、1000 よりも高い数から開始するのが最良です (5000 を超える番号とするのが、適切な方法です)。
表2.1 O p en St ack デーモン
コンポーネント
コード
予約済み U ID
予約済み G ID
Identity
OpenStack Networking
Block Storage
Compute
Image
Object Storage
Metering
Orchestration
keystone
neutron
cinder
nova
glance
swift
ceilometer
heat
163
164
165
162
161
160
166
187
163
164
165
162
161
160
166
187
表2.2 サードパーティのコンポーネント
コンポーネント
予約済み U ID
予約済み G ID
MongoD B
Memcached
MySQL
Nagios
Qpidd
184
497
27
496
498
184
496
27
495
499
バグを報告する
2.2. ハードウェア要件
2.2.1. コンピュートノードの要件
30
⁠第2 章 前提条件
コンピュートノードは、仮想マシンインスタンスが起動した後にそれらを稼働させる役割を果たします。コ
ンピュートノードは、ハードウェアの仮想化をサポートしている必要があります。また、ホストする仮想マ
シンインスタンスの要件をサポートするのに十分な使用可能 RAM と空きディスク領域も必要です。
プロセッサー
Intel 64 または AMD 64 CPU 拡張機能をサポートする 64 ビット x86 プロセッサーで Intel VT ま
たは AMD -V のハードウェア仮想化拡張機能が有効化されていること。
メモリー
最小 2 GB の RAM を推奨
この要件には、仮想マシンインスタンスが使用できるようにするメモリー容量に基づいて、追加
の RAM を加算します。
ディスク領域
最小 50 GB の空きディスク領域を推奨
この要件には、仮想マシンインスタンスに提供するディスク領域のサイズに基づいて、追加の
ディスク領域を加算します。この数値は、作成予定の各ディスクイメージのサイズと、複数のイ
ンスタンス間で単一または複数のディスクイメージを共有するかどうかによって異なります。
さまざまなサイズのインスタンスを複数ホストすることが可能な、現実的な環境には、1 TB の
ディスク領域を推奨
ネットワークインターフェースカード
2 x 1 Gbps ネットワークインターフェースカード
バグを報告する
2.2.2. ネットワークノードの要件
ネットワークノードは、コンピュートインスタンスにネットワーク機能を提供したサービスをホストする役
割を果たします。これらのノードは、特に D HCP エージェント、レイヤー 3 エージェント、およびメタ
データプロキシサービスをホストします。また、OpenStack 環境でネットワークの処理を行うすべてのシ
ステムと同様に、レイヤー 2 エージェントのインスタンスもホストします。
ネットワークノードのハードウェア要件は、その環境のネットワークワークロードによって大幅に異なり
ます。以下に記載する要件は、ネットワークノードの最小要件の指標とすることを目的としています。
プロセッサー
ネットワークサービスによって特定の CPU 要件は課せられません。
メモリー
最小 2 GB の RAM を推奨
ディスク領域
最小 10 GB の空きディスク領域を推奨
ネットワークサービスには、パッケージ自体のインストールに必要な容量以外の追加のディスク
領域は必要ありません。ただし、ログファイルおよび一時ファイル用にディスク領域を多少空け
ておく必要があります。
ネットワークインターフェースカード
31
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
2 x 1 Gbps ネットワークインターフェースカード
バグを報告する
2.2.3. ブロックストレージノードの要件
ブロックストレージノードは、ボリュームサービス (o penstack-ci nd er-vo l ume) をホストして、仮
想マシンインスタンスやその他のクラウドユーザーが使用するためのボリュームを提供します。Block
Storage API (o penstack-ci nd er-api ) およびスケジューリングサービス (o penstack-ci nd ersched ul er) は、ボリュームサービスとして同じノードで実行するか、別々に実行することができます。
いずれの場合も、ブロックストレージノードの第 1 のハードウェア要件は、OpenStack 環境のニーズに対
応するために十分なブロックストレージが利用可能であることです。
OpenStack 環境で必要なブロックストレージの容量は、次の条件によって異なります。
その環境で作成されるボリュームの数
その環境で作成されるボリュームの平均サイズ
ストレージバックエンドが冗長性をサポートするように設定されるかどうか
ストレージバックエンドがデフォルトでスパースボリュームを作成するように設定されるかどうか
以下の計算式を使用して、OpenStack 環境において最初に必要とされるブロックストレージを推定しま
す。
VOLUMES * SIZE * REDUNDANCY * UTILIZATION = TOTAL
VOLUMES は、環境に常時存在すると予想されるボリュームの数に置き換えます。
SIZE は、環境に常時存在するボリュームの予想平均サイズに置き換えます。
REDUNDANCY は、バックエンドストレージが保管するように設定される各ボリュームの冗長コピーの
予想数に置き換えます。冗長性を使用しない場合には、1 を使用するか、この乗算演算は省略してくだ
さい。
UTILIZATION は、各ボリュームで実際に使用される予想パーセンテージに置き換えます。スパースボ
リュームの使用が有効化されない場合には、100% を示す 1 の値を使用します。
この計算から割り出される数値は、OpenStack 環境で必要なブロックストレージをギガバイト単位で示し
た推定値となります。今後の拡張のための追加の容量を計算に入れておくことを推奨します。環境がデプロ
イされた後のブロックストレージ追加は、ブロックストレージプロバイダー (および必要な場合にはボ
リュームサービスのインスタンス) を追加することにより容易に行うことができます。
バグを報告する
32
⁠パート II. Foreman を使用した O penSt ack のデプロイ
⁠パート II. Foreman を使用した OpenStack のデプロイ
33
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
第3章 Foreman の概要およびインストール
3.1. Foreman OpenSt ack Manager について
Foreman OpenStack Manager は、リモートシステムのインストールおよび設定を管理するための Web
ユーザーインターフェースを提供するデプロイメント管理ツールです。変更のデプロイは Puppet を使用し
て実行されます。また追加で、Dynamic Host Configuration Protocol (D HCP)、Domain Name System
(D NS)、Preboot Execution Environment (PXE)、および Trivial File Transfer Protocol (TFTP) のサービスを
提供することが可能です。これらのサービスを制御することにより、オペレーティングシステムがまだイン
ストールされていない物理システムのプロビジョニングも可能となります。
重要
現時点では、Foreman OpenStack Manager でデプロイした Compute サービスは、OpenStack
Networking ではなく Nova Networking (o penstack-no va-netwo rk) を使用してネットワーク
サービスを提供するように設定されます。
本ガイドには、Foreman OpenStack Manager のインストール、設定、およびホスト追加のステップを記
載しています。
以下に詳しく説明するステップを完了すると、Foreman OpenStack Manager サーバー、OpenStack コ
ントローラーノード、および単一または複数の OpenStack コンピュートノードがデプロイされます。
バグを報告する
3.2. Foreman ホストグループ
Host Groups により、共通の設定を使用するホストを定義して、グループにまとめることができます。Red
Hat Enterprise Linux OpenStack Platform では、3 つのホストグループ定義がデフォルトで作成されま
す。
O p en St ack C o n t ro ller
このホストグループは、OpenStack デプロイメントのコントローラーとして機能する単一のホス
トで使用するのを目的としています。このホストグループに追加されるホストにデプロイされる
サービスには以下が含まれます。
OpenStack D ashboard (Horizon)
OpenStack Image Service (Glance)
OpenStack Identity Service (Keystone)
MySQL データベースサーバー
Qpid メッセージブローカー
Compute Service (Nova) および Block Storage Service (Cinder) を含む OpenStack の API お
よびスケジューリングサービスも、このコントローラー上で実行されます。
O p en St ack N o va C o mp u t e
このホストグループは、OpenStack デプロイメントのコンピュートノードとして機能する単一ま
たは複数のホスト上で使用することを目的としています。これらは、仮想マシンインスタンスを
34
⁠第3章 Foreman の概要およびインストール
実行するとともに、コントローラーノードによって提供される認証、ストレージ、メッセージン
グインフラストラクチャーにアクセスするシステムです。Compute Service (Nova) のインスタ
ンスは、各コンピュートノード上で実行されます。
O p en St ack B lo ck St o rag e
このホストグループは、OpenStack デプロイメントのブロックストレージノードとして機能する
単一または複数のホスト上で使用することを目的としています。OpenStack Storage Service
(Cinder) のインスタンスは、各ノードで実行され、ブロックストレージのキャパシティ拡大を可
能にします。
バグを報告する
3.3. パッケージのインストール
Foreman インストーラーは、openstack-foreman-installer パッケージに含まれています。また、Foreman
サーバー上で SELinux が enforcing モードで稼働できるように、追加で foreman-selinux パッケージもイ
ンストールすることを推奨します。
重要
以下に記載するステップは、前提条件の章で詳述したハードウェア、ソフトウェア、リポジトリの
設定要件がすでに満たされていることを前提としています。
手順3.1 パッケージのインストール
1. Foreman のインストールをホストするシステムに ro o t ユーザーとしてログインします。
2. openstack-foreman-installer および foreman-selinux のパッケージをインストールします。
# yum i nstal l -y o penstack-fo reman-i nstal l er fo reman-sel i nux
Foreman インストーラーがローカルにインストールされ、設定および実行する準備が整いました。
バグを報告する
3.4 . インストーラーの設定
Foreman インストーラーは、ファイルを使用して、インストールプロセスに影響を与える環境変数を設定
します。これらの環境変数は、インストーラーを実行する前に、ターゲット環境に固有の値に指定する必要
があります。
手順3.2 インストーラーの設定
1. Foreman のインストールをホストするシステムに ro o t ユーザーとしてログインします。
2. テキストエディターで /usr/share/o penstack-fo remani nstal l er/bi n/fo reman_server. sh ファイルを開きます。
# vi /usr/share/o penstack-fo reman-i nstal l er/bi n/fo reman_server. sh
3. FO R EMAN_P R O VISIO NING キーを true に設定します。
35
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
4. FO R EMAN_G AT EWAY キーがアンコメントされていることを確認し、Foreman ネットワーク上の
デフォルトゲートウェイの IP アドレスをこのキーに入力します。プロビジョニングプロセス中に
は、ノードはこのゲートウェイを使用して、インストールにアクセスします。
FO R EMAN_G AT EWAY
例3.1 FO R EMAN_G AT EWAY の値
10.0.0.1
重要
ベアメタルプロビジョニングが必要ない場合には、FO R EMAN_G AT EWAY 設定
キーの値を fal se に指定します。また、同じファイル内の別の箇所に
FO R EMAN_P R O VISIO NING 設定キーがある場合は、その値も fal se に指定す
る必要があります。
注記
テスト目的で、OpenStack のパブリックネットワークとプライベートネットワークに全く
同じネットワーク定義を使用することが可能ですが、この設定は、実稼働環境では推奨され
ません
5. ファイルを保存して、テキストエディターを終了します。
Foreman インストーラーの設定が完了し、使用する準備が整いました。
重要
fo reman_server. sh の非推奨の値 P R IVAT E_C O NT R O LLER _IP は以前、Foreman ユーザー
インターフェースのホストグループパラメーターのフィールドに事前設定されていました。現在、
一般的なスタンドアロンのコントローラーインストールの場合には、以下のパラメーターがすべて同
じ IP アドレスに設定されるように手動で確認してください。
controller_priv_host
mysql_host
qpid_host
上記の 3 つのパラメーターは、次のホストグループで使用されます。
コントローラー (Neutron)
コントローラー (Nova Network)
コンピュート (Neutron)
コンピュート (Nova Network)
Neutron Networker
LVM ブロックストレージ
OpenStack の設定内の全ホストグループにわたって、値が一致している必要があります。
36
⁠第3章 Foreman の概要およびインストール
重要
上記の警告と同様に、fo reman_server. sh ファイルの P UBLIC _C O NT R O LLER _IP パラメー
ターは、以前 1 つのパラメーターの事前設定に使用されていましたが、使用されなくなりました。現
在は、Foreman ユーザーインターフェースのホストグループのフィールドに、以下のパラメーター
が正しく設定されていることを手動で確認する必要があります
controller_pub_host
このパラメーターの値は、設定に関連するすべてのホストグループの全サブセットにわたって、値
が一致している必要があります。
コントローラー (Neutron)
コントローラー (Nova Network)
コンピュート (Neutron)
コンピュート (Nova Network)
重要
Foreman のインストール後には、co ntro l l er_pri v_ho st、mysq l _ho st、および
q pi d _ho st のデフォルト値は 172.16.0.1 となります。co ntro l l er_pub_ho st のデフォルト値
は 172.16.1.1 となります。これらの値は、お使いの環境に応じて更新する必要があります。
バグを報告する
3.5. インストーラーの実行
インストーラーは、Foreman OpenStack Manager をデプロイするために ruby193-openstack-foremaninstaller パッケージにより提供されるスクリプトです。このスクリプトは、Puppet マニフェストを使用し
てローカルシステムに Foreman OpenStack Manager をインストールします。
手順3.3 インストーラーの実行
1. Foreman のインストールをホストするシステムに ro o t ユーザーとしてログインします。
2. /usr/share/o penstack-fo reman-i nstal l er/bi n/ ディレクトリに移動します。インス
トーラーはこのディレクトリから実行する必要があります。
# cd /usr/share/o penstack-fo reman-i nstal l er/bi n/
3. fo reman_server. sh スクリプトを実行します。
# sh fo reman_server. sh
4. デプロイされる機能が テクノロジープレビュー として提供される旨を示すメッセージが表示され
ます。
#################### RED HAT OPENSTACK #####################
Thank you for using the Red Hat OpenStack Foreman Installer!
Please note that this tool is a Technology Preview
37
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
For more information about Red hat Technology Previews, see
https://access.redhat.com/support/offerings/techpreview/
############################################################
Press [Enter] to continue
テクノロジープレビューを指定することによってもたらされるサポートへの影響を理解した上でイ
ンストールを続行する場合は、Enter キーを押してください。
5. インストーラーは Puppet マニフェストを使用して Foreman をデプロイします。これにはかなり
時間がかかる場合があります。
6. Puppet マニフェストのデプロイが完了すると、メッセージが表示されます。
Foreman is installed and almost ready for setting up your OpenStack
First, you need to alter a few parameters in Foreman.
Visit:
https://FQDN/puppetclasses/quickstack::compute/edit
https://FQDN/puppetclasses/quickstack::controller/edit
Go to the Smart Class Parameters tab and work though each of the
parameters
in the left-hand column
Then copy /tmp/foreman_client.sh to your openstack client nodes
Run that script and visit the HOSTS tab in foreman. Pick CONTROLLER
host group for your controller node and COMPUTE host group for the
rest
Once puppet runs on the machines, OpenStack is ready!
実際の出力では、FQDN には、Foreman がデプロイされたシステムの完全修飾ドメイン名が表示
されます。
Foreman のインストールが正常に完了しました。
バグを報告する
38
⁠第4 章 Foreman の設定
第4章 Foreman の設定
4 .1. パスワードの変更
Foreman インストーラーはデフォルトで、ad mi n というユーザー名と chang eme というパスワードで管
理アカウントを作成します。インストール後には、直ちにこのパスワードを変更することを強く推奨しま
す。
手順4 .1 パスワードの変更
1. Foreman サーバー自体、または Foreman サーバーへのネットワークアクセスのあるシステムで
Web ブラウザーを開きます。
2. https: //FQDN/ にアクセスします。FQDN は Foreman サーバーの完全修飾ドメイン名に置き換
えます。
例4 .1 Fo reman の U R L
https: //foreman.example.com/
3. ログイン画面が表示されます。Username フィールドには ad mi n、P asswo rd フィールドには
chang eme と入力します。Lo g i n ボタンをクリックしてログインします。
図4 .1 Fo reman のログイン画面
4. O vervi ew の画面が表示されます。画面の右上隅で Ad min U ser → My acco u n t オプションを
選択して、アカウント設定にアクセスします。
39
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
図4 .2 アカウント設定へのアクセス
5. Ed i t User 画面が表示されます。P asswo rd フィールドに新しいパスワードを入力します。
6. Veri fi ed フィールドに新しいパスワードを再度入力します。
7. Submi t ボタンを押して変更を保存します。
Foreman の ad mi n ユーザーのパスワードが更新されました。
バグを報告する
4 .2. インストールメディアの設定
ベアメタルホストのプロビジョニングをサポートするには、追加の設定が必要です。特に、Foreman のイ
ンストールメディアの設定を更新して、Red Hat Enterprise Linux インストールメディアのローカルコピー
へのパスを追加する必要があります。このインストールメディアは、ベアメタルホストのプロビジョニング
時に使用されます。
インストールメディアは、すでに存在し、かつ Foreman ネットワーク上の HTTP を使用してアクセス可能
である必要があります。ネットワークインストール用のインストールメディアの準備についての詳しい説明
は、Red Hat Enterprise Linux インストールガイドを参照してください。
手順4 .2 インストールメディアの設定
1. Foreman サーバーへのネットワークアクセスのあるシステムで Web ブラウザーを使用して
Foreman Web ユーザーインターフェースを開きます。
2. ad mi nユーザーと 「パスワードの変更」で設定したパスワードを使用してログインします。
3. ページの右上隅で Mo re → Pro visio n in g → In st allat io n Med ia をクリックします。
40
⁠第4 章 Foreman の設定
図4 .3 メニュー項目のプロビジョニング
4. Instal l ati o n Med i a ページが表示されます。O penStack R HEL mi rro r エントリは、デ
フォルトですでに存在していますが、関連付けられているパスは、例として提供されているだけな
ので、正しいパスに置き換える必要があります。
図4 .4 Instal l ati o n Med i a ページ
5. O penStack R HEL mi rro r エントリをクリックします。
41
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
6. Ed i t Med i um ページが表示されます。
7. ローカルインストールミラーの URL が記載されている P ath フィールドを更新します。以下の変
数を URL に使用して、値が自動的に置き換えられるようにすることができます。
$arch
システムアーキテクチャー (例: x86 _6 4 )
$versi o n
オペレーティングシステムのバージョン (例: 6 . 5)
$majo r
オペレーティングシステムのメジャーバージョン (例: 6 )
$mi no r
オペレーティングシステムのマイナーバージョン (例: 4 )
例4 .2 パス
http://download.example.com/rhel/$version/Server/$arch/os/
8. Submi t をクリックして更新された P ath を保存します。
Foreman O penStack R HEL mi rro r インストールメディアの設定が更新されました。
バグを報告する
4 .3. ホストグループの編集
Foreman により、新規ホストをホストグループに追加する際に使用されるパラメーターをユーザーが上書
きすることが可能となります。特に、ホストグループには、Foreman が管理するホスト上に作成されるさ
まざまなユーザー/サービスアカウントに使用されるパスワードを操作するためのパラメーターが含まれま
す。
重要
OpenStack Controller ホストグループの ad mi n_passwo rd 設定キーの値を編集することを強く
推奨します。この設定キーにより、OpenStack D ashboard に ad mi n ユーザーとしてログインす
る際に使用するパスワードが決定します。
手順4 .3 ホストグループの編集
1. Foreman サーバーへのネットワークアクセスのあるシステムで Web ブラウザーを使用して
Foreman Web ユーザーインターフェースを開きます。
2. ad mi n ユーザーのアカウントで、関連付けられたパスワードを使用してログインします。
3. Mo re → C o n f ig u rat io n → H o st G ro u p s の順でクリックします。
42
⁠第4 章 Foreman の設定
図4 .5 ホストグループのメニュー項目
4. Ho st G ro ups ページが表示されます。利用可能なオプションは以下のとおりです。
OpenStack Block Storage
OpenStack Controller
OpenStack Nova Compute
編集するホストグループ名をクリックします。
5. Ed i t ページが表示されます。P arameters タブを選択してください。
6. そのホストグループに関連付けられたパラメーターの一覧が表示されます。各パラメーターを編集
するには、関連付けられた o verri d e ボタンをクリックします。ページの下部にテキストフィー
ルドが表示されます。そのテキストフィールドにパラメーターの新しい値を入力してください。
図4 .6 O verrid e ボタン
利用可能なホストグループのパラメーターについての詳しい情報は、以下のトピックを参照してく
ださい。
「コントローラーノード」
「コンピュートノード」
7. 編集が必要なホストグループの各パラメーターで上記のステップを繰り返します。
8. Submi t をクリックして、更新したパラメーター値を保存します。
43
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
ホストグループが更新され、選択したパラメーターが上書きされました。
バグを報告する
4 .3.1. コントローラーノード
表4 .1 コントローラーノードのパラメーター
パラメーター名
デフォルト値
説明
ad mi n_emai l
admin@DOMAIN
ad mi n_passwo rd
ランダム
ci nd er_d b_passwo rd
ランダム
ci nd er_user_passwo rd
ランダム
g l ance_d b_passwo rd
ランダム
g l ance_user_passwo rd
ランダム
ho ri zo n_secret_key
ランダム
keysto ne_ad mi n_to ken
ランダム
keysto ne_d b_passwo rd
ランダム
mysq l _ro o t_passwo rd
ランダム
no va_d b_passwo rd
ランダム
no va_user_passwo rd
ランダム
Identity Service を使用して作成
された時に OpenStack ad mi n
ユーザーに関連付けられたメール
アドレス
作成時に ad mi n Identity ユー
ザーに関連付けるパスワード。こ
れは、クラウドを管理するユー
ザーのパスワードです。
Block Storage Service が使用す
るために ci nd er データベース
ユーザーに関連付けるパスワード
Block Storage Service が使用す
るために ci nd er Identity
Service ユーザーに関連付けるパ
スワード
イメージストレージサービスが使
用するために g l ance データ
ベースユーザーに関連付けるパス
ワード
イメージストレージサービスが使
用するために g l ance Identity
Service ユーザーに関連付けるパ
スワード
D ashboard の設定に保管する一
意の秘密鍵
Identity Service が使用する一意
の管理者トークン。このトークン
は、通常のユーザー認証が機能し
ていない場合や設定されていない
場合に、管理者が Identity
Service にアクセスするのに使用
することができます。
Identity Service が使用するため
に keysto ne データベースユー
ザーに関連付けるパスワード
データベースの管理時に使用する
ために ro o t データベースユー
ザーに関連付けるパスワード
Compute Service が使用するた
めに no va データベースユーザー
に関連付けるパスワード
Compute Service が使用するた
めに no va Identity Service ユー
ザーに関連付けるパスワード
44
⁠第4 章 Foreman の設定
パラメーター名
デフォルト値
説明
pacemaker_pri v_fl o ati ng
_i p
pacemaker_pub_fl o ati ng _
ip
verbo se
true
詳細なログ情報を生成する必要が
あるかどうかを示すブール値
バグを報告する
4 .3.2. コンピュートノード
表4 .2 コンピュートノードのパラメーター
パラメーター名
デフォルト値
説明
fi xed _netwo rk_rang e
fl o ati ng _netwo rk_rang e
no va_d b_passwo rd
ランダム
no va_user_passwo rd
ランダム
no va データベースユーザーに関
連付けるパスワード。このパス
ワードは、コントローラーホスト
グループの同じフィールドで使用
されている値と一致する必要があ
ります。
no va Identity Service ユーザー
に関連付けるパスワード。このパ
スワードは、コントローラーホス
トグループの同じフィールドで使
用されている値と一致する必要が
あります。
pacemaker_pri v_fl o ati ng
_i p
pri vate_i nterface
eth1
publ i c_i nterface
eth2
verbo se
true
プライベートの OpenStack ネッ
トワークに接続するためのイン
ターフェース
パブリックの OpenStack ネット
ワークに接続するためのインター
フェース
詳細なログ情報を生成する必要が
あるかどうかを示すブール値
バグを報告する
45
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
第5章 ホストの追加
Foreman で管理された環境内のホストに OpenStack をデプロイするには、そのホストを Foreman に追加
する必要があります。ホストは、既存のサーバーに Puppet エージェントを追加するか、新規ホストをプロ
ビジョニングするために Foreman によって提供される PXE ブートを使用して追加します。
ホストが Foreman に追加されると、前の手順で定義したホストグループの 1 つに割り当てられます。各ホ
ストに選択されたホストグループによって、提供されているデプロイメントテンプレート中どれをそのホス
トに適用するかが決定します。ホストグループが選択されると、次回に Puppet エージェントが Foreman
に接続する際に関連するテンプレートがホストに適用されます。
既存の Red Hat Enterprise Linux ホストを Foreman に追加する方法については、「既存のホストの登
録」を参照してください。
ベアメタルホストをプロビジョニングして Foreman に追加する方法については、「新規ホストのプロ
ビジョニング」を参照してください。
必要なホストがすべて Foreman の Web ユーザーインターフェースにリストされたら、「ホストの割り当
て」に記載の手順にしたがってホストにロールを割り当て、デプロイメントを完了します。
バグを報告する
5.1. 既存のホストの登録
Foreman インストーラーは、新規ホストを登録するためのスクリプトを生成します。デフォルトでは、こ
のスクリプトは Foreman サーバーの /tmp/fo reman_cl i ent. sh ファイルに保存されます。Foreman
サーバーへの登録を円滑に行うには、各新規ホストにこのスクリプトをコピーする必要があります。新規ホ
ストでスクリプトを実行すると、以下の操作が実行されます。
augeas および ruby193-puppet パッケージのインストール
Foreman サーバーにアクセスするための Puppet エージェントの設定
Puppet エージェントの起動
起動後には、Puppet エージェントがホストを Foreman に登録し、そのホストは Foreman のユーザーイ
ンターフェースから管理できるようになります。
重要
ホストを正しく追加するには、Red Hat Enterprise Linux および Red Hat Enterprise Linux
OpenStack Platform のソフトウェアリポジトリからパッケージを受信するための登録が済んでいる
必要があります。
手順5.1 ホストの登録
1. Foreman サーバーにログインします
2. Foreman サーバーから新規ホストに /tmp/fo reman_cl i ent. sh ファイルをコピーします。
$ scp /tmp/fo reman_cl i ent. sh USER@ IP: DIR
46
⁠第5章 ホストの追加
USER は、新規ホストへのログインに使用するユーザーに、またIP は新規ホストの IP アドレスま
たは完全修飾ドメイン名に、DIR はリモートマシン上でファイルを保管する必要のあるディレクト
リへのパスに置き換えます。このディレクトリはすでに存在している必要があります。
例5.1 スクリプトのコピー
$ scp /tmp/fo reman_cl i ent. sh root@ controller.example.com: ~/
3. ro o t ユーザーとして新規ホストにログインします。
4. fo reman_cl i ent. sh スクリプトをコピーしたディレクトリに移動します。
# cd DIR
DIR はホストへのファイルのコピー時に使用したディレクトリへのパスに置き換えます。
5. fo reman_cl i ent. sh スクリプトを実行します。
# sh fo reman_cl i ent. sh
6. スクリプトの正常に終了すると、Puppet エージェントが起動して、次のメッセージが表示されま
す。
Starting puppet agent:
[
OK
]
7. Foreman サーバーへのネットワークアクセスのあるシステムで Web ブラウザーを使用して
Foreman Web ユーザーインターフェースを開きます。
8. Foreman のインストール時に定義した ad mi n ユーザーとパスワードでログインします。
9. Ho sts タブをクリックします。
10. 新たに登録したホストがリストされているかどうかを確認します。
上記の例でリストされている 2 つのホストは以下のとおりです。
Foreman サーバー (fo reman. exampl e. co m)
47
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
コントローラーノードとなる予定のホスト (co ntro l l er. exampl e. co m)
完全修飾ドメイン名は、新規ホストが担う役割 (コントローラーノード) を示していますが、この役
割は、そのホストが適切なホストグループに割り当てられるまで、実際には決定されない点に注意
してください。
図5.1 H o st s タブ
OpenStack デプロイメントに追加するすべての既存ホストで上記の手順を繰り返します。新規登録したホ
ストをホストグループに追加して、OpenStack をデプロイする手順についての説明は 「ホストの割り当
て」を参照してください。
注記
fo reman_cl i ent. sh の実行時に以下のような警告が出力される場合があります。
Warning: Unable to fetch my node definition, but the agent run will
continue:
Warning: Error 400 on SERVER
この警告は、Puppet 実行開始時に、このホストが Foreman にとって未知であったことを意味して
いるので、無視しても安全です。
バグを報告する
5.2. 新規ホストのプロビジョニング
Foreman は、自ら制御しているネットワークインフラストラクチャー (D HCP、D NS、PX、TFTP サービ
スを含む) を使用して、新しい物理ホストのプロビジョニングを行います。新規物理ホストは、Foreman
ネットワークに接続されたシステムのネットワークインターフェースに関連付けられている MAC アドレス
およびその他の設定詳細情報を指定することによって Foreman に追加されます。新規ホストは、次の起動
時にこの設定を使用してプロビジョニングされます。
新規ホストをプロビジョニングするには、アクティベーションキーが必要となります。アクティベーショ
ンキーにより、Red Hat Network または Red Hat Network Satellite サーバーによって提供される同等の
サービスへの非対話型のシステム登録を円滑に行うことができます。アクティベーションキーの作成方法に
ついての説明は、https://access.redhat.com/site/solutions/2474 を参照してください。アクティベーショ
ンキーは、Red Hat Enterprise Linux および Red Hat OpenStack の両方のソフトウェアリポジトリにアク
セスできるように作成する必要があります。
手順5.2 新規ホストのプロビジョニング
1. Foreman サーバーへのネットワークアクセスのあるシステムで Web ブラウザーを使用して
Foreman Web ユーザーインターフェースを開きます。
2. ad mi n ユーザーのアカウントで、関連付けられたパスワードを使用してログインします。
3. Ho sts タブをクリックします。
4. New Ho st ボタンをクリックします。
5. Name フィールドで新規ホストに任意の完全修飾ドメイン名を入力します。
48
⁠第5章 ホストの追加
6. 今回は Ho st G ro up は選択しないでください。
7. Netwo rk タブをクリックします。Netwo rk タブには、新規ホストのネットワーク設定を定義する
設定項目が含まれています。
a. MAC ad d ress フィールドには、Foreman ネットワークに接続された物理マシン上の
ネットワークインターフェースの MAC アドレスを入力します。
例5.2 MAC アドレス
以下の例では、i p l i nk コマンドを使用して eth0 ネットワークインターフェースの
MAC アドレスを特定します。
# i p l i nk sho w eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
pfifo_fast state UP qlen 1000
link/ether 00:1a:4a:0f:18:bb brd ff:ff:ff:ff:ff:ff
eth0 ネットワークデバイスの MAC アドレスは 00:1a:4a:0f:18:bb です。
b. D o mai n フィールドの値は、Foreman が管理する予定のドメインと一致するようにしてく
ださい。
例5.3 ドメイン
example.com
c. Subnet フィールドでサブネットを選択します。IP ad d ress は、選択したサブネット
に基づいて自動的に選択されます。
例5.4 サブネット
OpenStack (192.0.43.0/24)
8. O perati ng System タブをクリックします。O perati ng System タブには、ホストのオペ
レーティングシステムのインストールを設定するためのオプションが含まれています。
注記
OpenStack Block Storage ホストは、初期 ci nd er_vo l umes LVM ボリュームグループ
が必要です。この LVM ボリュームグループは、少なくとも 1 つの物理ボリュームによって
バッキングされる必要があります。LVM のレイアウトは、C usto m parti ti o n tabl e
フィールドを使用してカスタマイズすることが可能です。キックスタートについての詳しい
情報は、Red Hat Enterprise Linux 6 インストールガイドの「キックスタートインストール」
を参照してください。
a. Archi tecture フィールドで x86 _6 4 を選択します。
b. O perati ng System フィールドで R ed Hat 6 . 5 を選択します。
49
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
c. R o o t passwo rd フィールドに ro o t ユーザーのパスワードを入力します。
警告
セキュアな ro o t パスワードを指定することを強く推奨します。強固なパスワード
は、大文字、小文字、数字、句読記号文字を 6 文字以上組み合わせて作成し、辞書
に載っているような単語の使用は避けてください。このフィールドにセキュアな
ro o t パスワードを入力しなかった場合には、デフォルトの ro o t パスワード
123123 が使用されます。
d. R eso l ve ボタンをクリックします。 2 つのテンプレートが表示されます。
O penStack P XE T empl ate
O penStack Ki ckstart T empl ate
9. P arameters タブをクリックします。P arameters タブには、新規ホストを Red Hat Network ま
たは Red Hat Network Satellite サーバーに登録するのに使用する設定項目が含まれています。
A. Red Hat Network に登録するためのホストの設定方法
a. satel l i te_type 設定キーの横にある O verri d e ボタンをクリックします。
Val ue フィールドに ho sted と入力します。
b. satel l i te_ho st 設定キーの横にある O verri d e ボタンをクリックします。対応す
る Val ue フィールドに xml rpc. rhn. red hat. co m と入力します。
c. acti vati o n_key 設定キーの横にある O verri d e ボタンをクリックします。対応す
る Val ue フィールドに、ホストの登録に使用する Red Hat Network のアクティベー
ションキーを入力します。
B. Red Hat Network Satellite サーバーに登録するためのホストの設定方法
a. satel l i te_type がデフォルト値の si te に設定されていることを確認します。
b. satel l i te_ho st 設定キーの横にある O verri d e ボタンをクリックします。対応す
る Val ue フィールドに Red Hat Network Satellite サーバーの IP アドレスまたは完全
修飾ドメイン名を入力します。
c. acti vati o n_key 設定キーの横にある O verri d e ボタンをクリックします。対応す
る Val ue フィールドに、ホストの登録に使用する Red Hat Network のアクティベー
ションキーを入力します。
50
⁠第5章 ホストの追加
重要
Red Hat Network または Red Hat Network Satellite サーバーの代わりに異なる場所のパッ
ケージを使用してシステムがプロビジョニングされる予定の場合は、O penStack
Ki ckstart T empl ate を編集する必要があります。Mo re → Pro visio n in g →
Pro visio n in g T emp lat es をクリックしてテンプレートのエディターにアクセスして
O penStack Ki ckstart T empl ate エントリを選択し、以下の行をテンプレートから削
除します。
<%= snippets "redhat_register" %>
この行は、システムを登録して同等のソフトウェアリポジトリを追加するために適切な環境
固有のコマンドに置き換える必要があります。
10. Submi t ボタンをクリックします。Foreman は、ホストが次回ブートする際に追加する準備をし
ます。
11. ネットワークブート (PXE) が新規ホストで有効化されていることを確認します。この設定を確認す
る手順については、その特定のシステムのメーカーが提供する説明書を参照してください。
12. ホストを再起動します。ホストは Foreman PXE/TFTP サーバーからインストールイメージを取得
してインストールプロセスを開始します。
13. インストールが完了すると、ホストが再起動します。再起動後には、Foreman Web ユーザーイン
ターフェースで Ho sts タブをクリックして、新規ホストがリストされていることを確認してくだ
さい。
このプロセスは、OpenStack デプロイメントに追加する全新規ホストで繰り返します。新規追加したホス
トをホストグループに追加して OpenStack をデプロイする手順についての説明は 「ホストの割り当て」を
参照してください。
重要
ネットワーク上でホストが正常に起動された後には、Foreman サーバーは PXE 設定ディレクトリ
(/var/l i b/tftpbo o t/pxel i nux. cfg /) を更新して、それ以降の起動はローカル起動デバイス
を使用して実行されるようにします。この変更より、ホストが再起動時に自動的に再プロビジョニン
グを実行しないようにします。Foreman に登録済みのシステムの再プロビジョニングは、以下のい
ずれかの方法で行います。
Web ユーザーインターフェースを使用してホストを削除し、再度追加します。
Web ユーザーインターフェースを使用してホストの詳細情報を表示し、Bui l d ボタンをクリッ
クします。
いずれの場合も、表示されるページで R eso l ve T empl ates ボタンを使用して正しい PXE と
Kickstart テンプレートが使用されるようにします。また追加として、Foreman サーバーに ro o t
ユーザーとしてログインして以下のコマンドを実行し、新規証明書を使用してホストを登録できるよ
うにしてください。
# scl enabl e ruby19 3 ' puppet cert cl ean HOST'
HOST は、そのホストの完全修飾ドメイン名に置き換えます。
51
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
バグを報告する
5.3. ホストの割り当て
クライアントホストを Foreman に登録した後には、ホストグループに割り当てて、OpenStack のインス
トールと設定ができるようにする必要があります。ホストを割り当てるホストグループによって、環境内で
そのホストが果たす役割と、デプロイされるパッケージが決定します。
手順5.3 ホストの割り当て
1. Foreman サーバーへのネットワークアクセスのあるシステムで Web ブラウザーを使用して
Foreman Web ユーザーインターフェースを開きます。
2. ad mi n ユーザーのアカウントで、関連付けられたパスワードを使用してログインします。
3. Ho sts タブをクリックします。
4. 表に表示された一覧からホストを選択します。
5. Select Act io n → C h an g e G ro u p オプションをクリックします。
上記の例では、ホスト (co ntro l l er. exampl e. co m) が選択され、Select Act io n メニューで
提供されるオプションが表示されています。
図5.2 アクションを 1 つ選択します。
6. C hang e G ro up ウィンドウが表示されます。
52
⁠第5章 ホストの追加
図5.3 C hang e G ro up ウィンドウ
7. Sel ect ho st g ro up フィールドでホストグループを選択します。以下のオプションが提供され
ます。
O penStack Bl o ck Sto rag e
O penStack C o ntro l l er
O penStack No va C o mpute
コントローラーノードがまだ設定されていない場合には、O penStack C o ntro l l er を選択し、
そうでない場合には O penStack No va C o mpute を選択して、コンピュートノードをプロビ
ジョニングします。
重要
コンピュートノードのプロビジョニングを試みる前に、コントローラーノードをプロビジョ
ニングしておく必要があります。Puppet は、コンピュートノードをデプロイする前にコン
トローラーノードのインストールと設定を完了している必要があります。
8. Submi t ボタンをクリックして、ホストグループの選択を保存します。
ホストのホストグループ設定が更新されました。ホストにインストールされた Puppet エージェントは、デ
フォルトでは 30 分ごとに Foreman に接続します。Puppet エージェントが次回接続する際には、ホスト
グループの変更が検出され、関連する設定変更が適用されます。
O penStack C o ntro l l er ホストグループを使用してコントローラーがプロビジョニングされた後には、
このプロセスを繰り返し、O penStack No va C o mpute ホストグループを選択して各コンピュートノー
ドをプロビジョニングします。
注記
Puppet エージェントが Foreman に即接続するように強制するには、ro o t ユーザーとしてホスト
にログインし、次のコマンドを実行します。
# scl enabl e ruby19 3 "puppet ag ent --test"
53
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
バグを報告する
54
⁠第6 章 ログイン
第6章 ログイン
最小で コントローラーノード 1 つとコンピュートノード 1 つのインストールと設定が正常に完了した後に
は、Web ブラウザーでユーザーインターフェースにアクセスします。HOSTNAME はコントローラーノー
ドとして機能するサーバーのホスト名または IP アドレスに置き換えます。
HTTPS
https://HOSTNAME/dashboard/
HTTP
http://HOSTNAME/dashboard/
プロンプトが表示されたら、ad mi n ユーザーの認証情報を使用してログインします。これは、コントロー
ラーノードの ad mi n_passwo rd 設定キーに設定したパスワードです (「コントローラーノード」)。
OpenStack デプロイメントの使用を開始するには、スタートガイドの「ダッシュボードでの OpenStack
の使用」のセクションを参照してください。
55
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
図6 .1 D ash b o ard のログイン画面
バグを報告する
56
⁠パート III. O penSt ack の手動インストール
⁠パート III. OpenStack の手動インストール
57
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
第7章 データベースサーバーのインストール
7.1. パッケージのインストール
以下の手順に記載するステップを実行すると、MySQL データベースサーバーに必要なパッケージがインス
トールされます。インストールされるパッケージは以下のとおりです。
mysql-server
MySQL データベースサーバーを提供します。
mysql
MySQL クライアントツールとライブラリを提供します。mysql-server パッケージの依存関係と
してインストールされます。
以下の手順に記載するステップはすべて ro o t ユーザーとしてログインして実行する必要があります。
yum コマンドで必要なパッケージをインストールします。
# yum i nstal l -y mysq l -server
データベースサーバーがインストールされ、設定できる状態となりました。
バグを報告する
7.2. ファイアウォールの設定
データベースサービスは、OpenStack 環境の全コンポーネントが使用するので、それらがアクセス可能で
ある必要があります。
このアクセスを許可するには、データベースサービスをホストするシステムのファイアウォール設定を変更
して、必要なポートでのネットワークトラフィックを許可する必要があります。以下の手順に記載するス
テップはすべて、データベースサービスをホストするサーバーに ro o t ユーザーとしてログインして実行す
る必要があります。
1. テキストエディターで /etc/sysco nfi g /i ptabl es ファイルを開きます。
2. このファイルに、ポート 330 6 で TCP トラフィックを許可する INPUT ルールを追加します。新規
ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。
-A INPUT -p tcp -m multiport --dports 3306 -j ACCEPT
3. /etc/sysco nfi g /i ptabl es ファイルへの変更を保存します。
4. i ptabl es サービスを再起動して、変更を有効にします。
# servi ce i ptabl es restart
ポート 330 6 で MySQL データベースサービスへの受信接続を許可するようにi ptabl es ファイアウォー
ルが設定されました。
バグを報告する
7.3. データベースサービスの起動
58
⁠第7 章 データベースサーバーのインストール
7.3. データベースサービスの起動
以下の手順に記載するステップはすべて、データベースサービスをホストするサーバーに ro o t ユーザーと
してログインして実行する必要があります。
1. servi ce コマンドで mysq l d サービスを起動します。
# servi ce mysq l d start
2. chkco nfi g コマンドで、今後 mysq l d サービスが自動的に起動するようにします。
# chkco nfi g mysq l d o n
mysq l d サービスが起動しました。
バグを報告する
7.4 . データベース管理者のパスワードの設定
MySQL データベースサーバーは、そのデータベース自体のユーザーアカウントの一覧と認証情報を維持管
理します。これには、ro o t ユーザーアカウントも含まれます。このアカウントは、データベース管理者の
アカウントとして機能します。
セキュリティ上の理由により、ro o t データベースユーザーのパスワードは、データベースサービスの初回
起動の後に設定することを推奨します。
以下の手順に記載するステップはすべて、MySQL データベースをホストするシステムに ro o t ユーザーと
してログインして実行する必要があります。
1. mysq l ad mi n コマンドで ro o t データベースユーザーのパスワードを設定します。
# /usr/bi n/mysq l ad mi n -u ro o t passwo rd "PASSWORD"
PASSWORD は、設定するパスワードに置き換えてください。
2. mysq l ad mi n コマンドは、ro o t データベースユーザーのパスワード変更が必要な場合にも使用
することができます。
# /usr/bi n/mysq l ad mi n -u ro o t -p OLDPASS NEWPASS
OLDPASS は既存のパスワードに、NEWPASS は新しく設定するパスワードに置き換えます。
MySQL 管理者のパスワードが設定されました。このパスワードは、データベースおよびデータベースユー
ザーの作成時に必要となります。
バグを報告する
59
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
第8章 メッセージブローカーのインストール
8.1. パッケージのインストール
以下の手順に記載するステップを実行すると、Qpid メッセージブローカーに必要なパッケージがインス
トールされます。インストールされるパッケージは以下のとおりです。
qpid-cpp-server
Qpid メッセージブローカーを提供します。
qpid-cpp-server-ssl
AMQP トラフィック用のトランスポート層として SSL のサポートを有効にする Qpid プラグイ
ンを提供します。このパッケージはオプションですが、Qpid のセキュアな設定をサポートする
には、インストールすることを推奨します。
以下の手順に記載するステップはすべて ro o t ユーザーとしてログインして実行する必要があります。
yum コマンドで必要なパッケージをインストールします。
# yum i nstal l -y q pi d -cpp-server q pi d -cpp-server-ssl
Qpid メッセージブローカーがインストールされ、設定できる状態となりました。
バグを報告する
8.2. メッセージブローカーの設定
8.2.1. Simple Aut hent icat ion and Securit y Layer - SASL
8 .2 .1 .1 . SASL - Sim ple Aut he nt icat io n and Se curit y Laye r
Qpid はオプションで、AMQP 使用で義務付けられているように、ブローカーとの受信接続の識別と認証に
Simple Authentication and Security Layer (SASL) を使用することができます。SASL は、さまざまな認
証メソッドを提供します。クライアントはメッセージングブローカーと交渉して、両方が使用できる SASL
メカニズムを見つけることができます。
バグを報告する
8 .2 .1 .2 . SASL のメカニズム
ブローカーにより許可された SASL 認証メカニズムは、ブローカー上 /etc/sasl 2/q pi d d . co nf ファ
イルによって制御されます。許可されるメカニズムの幅を狭めて、サブセットを縮小するには、このファイ
ルを編集してメカニズムを削除してください。
重要
PLAIN 認証メカニズムは、パスワードをクリアテキストで送信します。このメカニズムを使用する
場合には、セキュリティを完全にするために、Security Services Library (SSL) の使用を推奨しま
す。
60
⁠第8 章 メッセージブローカーのインストール
SASL のメカニズム
AN O N YMO U S
クライアントは匿名で接続することができます。
ブローカーが auth= no で起動した場合、認証は無効の状態となる点に注意してくださ
い。P LAIN および ANO NY MO US の認証メカニズムは、識別メカニズムとしても使用可能です
が、認証の値はありません。
PLAIN
パスワードは、クライアントとブローカーの間では、プレーンテキスト形式で渡されます。これ
はセキュアなメカニズムではないため、開発環境のみで使用するべきです。PLAIN を実稼働環境
で使用する場合は、トランスポートの SSL 暗号化によってパスワードが保護されるSSL 接続で
のみ使用する必要があります。
ブローカーが auth= no で起動した場合、認証は無効の状態となる点に注意してくださ
い。P LAIN および ANO NY MO US の認証メカニズムは、識別メカニズムとしても使用可能です
が、認証の値はありません。
D IG EST - MD 5
MD 5 ハッシュ化されたパスワードは、HTTP ヘッダーを使用して交換されます。これは、強度
が中程度のセキュリティプロトコルです。
バグを報告する
8 .2 .1 .3. SASL のメカニズムとパッケージ
以下の表には、各認証メカニズムが使用できるようにサーバーにインストールする必要のある cyrussasl -* パッケージをまとめています。
表8.1
メソッド
パッケージ
/etc/sasl 2/q pi d d . co nf の
エントリ
ANONYMOUS
PLAIN
D IGEST-MD 5
cyrus-sasl -pl ai n
cyrus-sasl -md 5
mech_l i st: P LAIN
mech_l i st: D IG EST -MD 5
バグを報告する
8 .2 .1 .4 . ローカルパスワードファイルを使用した SASL の設定
ローカル SASL データベースは、PLAIN および D IGEST-MD 5 の認証メカニズムで使用されます。
手順8.1 ローカルパスワードファイルを使用した SASL の設定
Qpid によって実装されるデフォルトの SASL PLAIN 認証メカニズムを使用するには、インストールしたシ
ステムの /var/l i b/q pi d d /q pi d d . sasl d b にあるデータベースに格納されているguest のデフォ
ルトのユーザー名とパスワードを使用するか、自分独自のアカウントを追加します。
1. データベースの新規ユーザー追加には sasl passwd 2 コマンドを使用します。認証および ACL 認
可用のユーザー ID には、user-id@ domain の形式を使用します。
ブローカーに正しいレルムが設定されていることを確認します。これは、設定ファイルを編集する
か、-u オプションを使用して行います。ブローカー用のデフォルトのレルムはQPID です。
61
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
# sasl passwd 2 -f /var/l i b/q pi d d /q pi d d . sasl d b -u QPID USERNAME
USERNAME は、ユーザーに割り当てる名前に置き換えます (そのユーザーのq pi d _username 設
定キーの値)。
2. Block Storage Service、Networking Service、Compute Service 用に新規 Qpid ユーザーを作成
します。これらのサービスは、それぞれの Qpid ユーザーアカウントを使用してメッセージブロー
カーに接続します。
# sasl passwd 2 -f /var/l i b/q pi d d /q pi d d . sasl d b -u QPID ci nd er
# sasl passwd 2 -f /var/l i b/q pi d d /q pi d d . sasl d b -u QPID neutro n
# sasl passwd 2 -f /var/l i b/q pi d d /q pi d d . sasl d b -u QPID no va
3. 既存のユーザーアカウントは、-f オプションで一覧表示することができます。
# sasl d bl i stusers2 -f /var/l i b/q pi d d /q pi d d . sasl d b
注意
/var/l i b/q pi d d /q pi d d . sasl d b のユーザーデータベースは、q pi d d ユーザーのみ
が読み取り可能です。q pi d d ユーザー以外のユーザーからブローカーを起動する場合は、
設定ファイルを変更するか、認証をオフにする必要があります。
また、このファイルは、q pi d d ユーザーが読み取り可能である必要がある点にも注意して
ください。このファイルを削除したり、再作成したりする場合には、qpidd ユーザーに読み
取り権限が付与されていることを確認してください。付与されていない場合には、認証に失
敗します。
4. 認証を有効/無効に切り替えるには、/etc/q pi d d . co nf 設定ファイルに該当する行を追加しま
す。
auth=no
auth=yes
Red Hat Enterprise Linux では、SASL 設定ファイルは /etc/sasl 2/q pi d d . co nf にありま
す。
バグを報告する
8.2.2. T LS/SSL の設定
8 .2 .2 .1 . SSL を使用した暗号化
q pi d d の暗号化および証明書の管理は、Mozilla の Network Security Services Library (NSS) によって
提供されます。
バグを報告する
62
⁠第8 章 メッセージブローカーのインストール
8 .2 .2 .2 . ブローカーでの SSL 有効化
1. 認証局 (CA) により署名された証明書が必要となります。この証明書は、クライアントによって信
頼される必要もあります。サーバー認証に加えてクライアントに認証も必要な場合には、クライア
ント証明書が CA により署名され、ブローカーにより信頼される必要もあります。
ブローカーでは、SSL は ssl . so モジュールを介して提供されます。このモジュールは MRG
メッセージングにデフォルトでインストール/ロードされます。このモージュールを有効にするに
は、使用する証明書と鍵が格納されているデータベースの場所を指定する必要があります。 これ
は、ssl -cert-d b オプションを使用して行います。
証明書のデータベースは、Mozilla Network Security Services (NSS) certuti l ツールによって
作成/管理されます。このユーティリティについての情報は、Mozilla の Web サイト で提供されて
おり、SSL 接続の設定とテストのチュートリアルが含まれます。証明書データベースは、通常パス
ワードで保護されています。パスワードを指定する最も安全な方法は、データベース作成時に保護
されたファイルにパスワードを配置し、そのパスワードファイルをブローカー起動時に ssl cert-passwo rd -fi l e オプションで指定する方法です。
以下のスクリプトは、certutil を使用した証明書データベースの作成方法を示しています。
mkdir ${CERT_DIR}
certutil -N -d ${CERT_DIR} -f ${CERT_PW_FILE}
certutil -S -d ${CERT_DIR} -n ${NICKNAME} -s "CN=${NICKNAME}" -t
"CT,," -x -f ${CERT_PW_FILE} -z /usr/bin/certutil
ブローカーの起動時には、ssl -cert-passwo rd -fi l e を ${C ER T _P W_FILE} の値に、ssl cert-d b を ${C ER T _D IR } の値に、ssl -cert-name を ${NIC KNAME} の値に設定します。
2. 以下の SSL オプションは、ブローカーの起動時に使用することができます。
--ssl -use-expo rt-po l i cy
NSS エクスポートポリシーを使用します。
--ssl -cert-passwo rd -fi l e PATH
必須。証明書データベースへのアクセスに使用するパスワードが記載されたプレーンテキ
ストファイル。
--ssl -cert-d b PATH
必須。証明書データベースが格納されているディレクトリへのパス。
--ssl -cert-name NAME
使用する証明書の名前。デフォルトは l o cal ho st. l o cal d o mai n です。
--ssl -po rt NUMBER
SSL 接続をリッスンするポート。指定されていない場合には、ポート 5671 が使用され
ます。
選択された SSL ポートが非 SSL 接続用のポートと同じ場合 (--ssl -po rt と --po rt
のオプションが同じ場合) には、SSL 暗号化された接続と暗号化されていない接続の両方
を同じポートで確立することが可能です。ただし、この設定では、IPv6 のサポートはあ
りません。
--ssl -req ui re-cl i ent-authenti cati o n
63
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
SSL ハンドシェイク時に SSL クライアント認証 (クライアント証明書の検証) が必要で
す。これは、SASL 認証の前に実行され、SASL からは独立しています。
このオプションにより、SSL 接続の EXT ER NAL SASL メカニズムが有効化されます。ク
ライアントが EXT ER NAL メカニズムを選択した場合、クライアントのアイデンティティ
は、検証済みの SSL 証明書から取得され、C N を使用し、D C を追加してドメインが作成
されます。たとえば、証明書に C N= bo b、D C = acme、D C = co m のプロパティがある場
合、クライアントのアイデンティティは bo b@ acme. co m となります。
クライアントが異なる SASL メカニズムを選択した場合には、クライアント証明書から
取得されるアイデンティティは SASL ハンドシェイク中に交渉されたアイデンティティ
に置き換えられます。
--ssl -sasl -no -d i ct
辞書攻撃の危害を受ける可能性がある SASL メカニズムは受け入れないでください。こ
うすることにより、辞書攻撃を受けにくい EXT ER NAL の代わりに脆弱なメカニズムが選
択されるのを防ぎます。
--req ui re-encrypti o n
これにより q pi d d は暗号化された接続のみを受け入れます。これは、SSL ポートで
EXTERNAL SASL を使用するクライアントまたは TCP ポートで GSSAPI を使用する の
みという意味です。
バグを報告する
8 .2 .2 .3. クライアント用 SSL 証明書のエクスポート
サーバーで SSL を有効にする場合には、セキュアな接続を確立するために、クライアントにその SSL 証明
書のコピーが必要です。
以下のコマンド例は、ブローカーの NSS データベースからのクライアント用証明書と秘密鍵をエクスポー
トするのに使用することができます。
pk12util -o <p12exportfile> -n <certname> -d <certdir> -w
<p12filepwfile>
openssl pkcs12 -in <p12exportfile> -out <clcertname> -nodes -clcerts passin pass:<p12pw>
SSL コマンドとオプションについての更に詳しい情報は、OpenSSL D ocumentation を参照してくださ
い。Red Hat Enterprise Linux では、次のコマンドを入力してください: man o penssl
バグを報告する
8.3. ファイアウォールの設定
Messaging System が使用するポートで、受信接続を許可する必要があります。AMQP トラフィック用の
デフォルトポートは 56 72 です。
Red Hat Enterprise Linux システムでは、ファイアウォールは i ptabl es によって提供されています。以
下の手順にしたがって、i ptabl es 設定ファイル (/etc/sysco nfi g /i ptabl es) を編集してファイア
ウォールを設定することができます。
1. テキストエディターで /etc/sysco nfi g /i ptabl es ファイルを開きます。
64
⁠第8 章 メッセージブローカーのインストール
2. このファイルに、ポート 56 72 で 受信接続を許可する INP UT ルールを追加します。新規ルール
は、トラフィックを R EJEC T する INP UT ルールよりも前に記載する必要があります。
-A INPUT -p tcp -m tcp --dport 5672
-j ACCEPT
3. /etc/sysco nfi g /i ptabl es ファイルへの変更を保存します。
4. i ptabl es サービスを再起動して、ファイアウォールの変更を有効にします。
# servi ce i ptabl es restart
現在設定されているファイアウォールルールを確認するには、以下のコマンドを実行します。
# service iptables status
バグを報告する
8.4 . Messaging Server の起動
ブローカーがメッセージの送受信を開始できるようにするには、あらかじめ q pi d d サービスを起動してお
く必要があります。
1. servi ce コマンドでサービスを起動します。
# servi ce q pi d d start
2. chkco nfi g コマンドでサービスを永続的に有効にします。
# chkco nfi g q pi d d o n
q pi d d サービスが起動しました。
バグを報告する
65
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
第9章 OpenStack Identity Service のインストール
9.1. Ident it y Service の要件
Identity Service をホストするシステムの要件は以下のとおりです。
Red Hat Network または Satellite などのツールによって提供される同等のサービスへのアクセス
OpenStack サービスをホストする他の全システムがアドレス指定可能なネットワークインターフェー
ス
データベースサーバーへのネットワークアクセス
LD AP バックエンドを使用する場合には、ディレクトリサーバーへのネットワークアクセス
Identity Service のインストールと設定を行う前に、上記の要件を満たしていることを確認してください。
バグを報告する
9.2. パッケージのインストール
以下の手順に記載するステップを実行すると、OpenStack Identity Service に必要なパッケージがインス
トールされます。インストールされるパッケージは次のとおりです。
openstack-keystone
OpenStack Identity Service を提供します。
openstack-utils
設定ファイルの編集などの多数のタスクに役立つサポートユーティリティを提供します。
openstack-selinux
OpenStack 固有の SELinux ポリシーモジュールを提供します。
以下の手順に記載するステップはすべて、ro o t ユーザーとしてログインして実行する必要があります。
yum コマンドで必要なパッケージをインストールします。
# yum i nstal l -y o penstack-keysto ne \o penstack-uti l s \o penstacksel i nux
OpenStack Identity Service がインストールされ、設定できる状態となりました。
バグを報告する
9.3. アイデンティティデータベースの作成
以下の手順では、Identity Service で使用するデータベースとデータベースユーザーを作成します。これら
のステップは、データベースサーバーに ro o t ユーザーとしてログインして実行する必要があります (もし
くは、少なくとも、次の正しいパーミッションが付与されたユーザー: create d b、create
user、g rant permi ssi o ns)
1. mysq l コマンドでデータベースサービスに接続します。
66
⁠第9 章 O penSt ack Ident it y Service のインストール
# mysq l -u ro o t -p
2. keysto ne データベースを作成します。
mysq l > CREATE DATABASE keystone;
3. keysto ne データベースユーザーを作成して、keysto ne データベースへのアクセスを許可しま
す。
mysq l > GRANT ALL ON keystone.* TO 'keystone'@ '%' IDENTIFIED BY
'PASSWORD';
mysq l > GRANT ALL ON keystone.* TO 'keystone'@ 'localhost'
IDENTIFIED BY 'PASSWORD';
PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュア
なパスワードに置き換えます。
4. データベースの特権をフラッシュして、設定が即時に反映されるようにします。
mysq l > FLUSH PRIVILEGES;
5. mysq l クライアントを終了します。
mysq l > quit
データベースが作成されました。このデータベースには、サービスの設定中にデータが投入されます。
バグを報告する
9.4 . サービスの設定
9.4 .1. 管理トークンの設定
Identity Service が初めて起動する前には、環境変数に管理トークンを定義しておく必要があります。この
値は、Identity Service を使用してユーザーとサービスのアカウントを定義する前の認証に使用されます。
以下の手順に記載するステップはすべて、Identity Service をホストするサーバーに ro o t ユーザーとして
ログインして実行する必要があります。
1. OpenSSL を使用して、初期サービストークンを生成し、SER VIC E_T O KEN の環境変数に保存し
ます。
# expo rt SER VIC E_T O KEN= $(o penssl rand -hex 10 )
2. 管理トークンの値は、後で使用するために保管しておきます。
# echo $SER VIC E_T O KEN > ~ /ks_ad mi n_to ken
3. o penstack-co nfi g ツールを使用して、ad mi n_to ken 設定キーの値を、新規作成したトーク
ンに設定します。
67
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
# o penstack-co nfi g --set /etc/keysto ne/keysto ne. co nf \D EFAULT
ad mi n_to ken $SER VIC E_T O KEN
Identity Service 用の管理トークンが作成されました。この値は、次に説明するアイデンティティ設定の手
順で使用します。
注記
アイデンティティサーバーのトークンデータベーステーブルは、新規トークが生成されるのにした
がって、時間とともに無条件に拡大します。トークンテーブルをクリアするには、管理者が
keysto ne-manag e コマンドを実行して、トークンをフラッシュする必要があります。トークンを
フラッシュすると、単に期限切れのトークンが削除されて、追跡の手段が一切排除されます。
# keystone-manage token-flush
バグを報告する
9.4 .2. データベース接続文字列の設定
Identity Service によって使用されるデータベース接続文字列は、/etc/keysto ne/keysto ne. co nf
ファイルで定義されます。サービスを起動する前に、有効なデータベースサーバーをポイントするように更
新しておく必要があります。
以下の手順に記載するステップはすべて、Identity Service をホストするサーバーに ro o t ユーザーとして
ログインして実行する必要があります。
o penstack-co nfi g コマンドで co nnecti o n 設定キーの値を指定します。
# o penstack-co nfi g --set /etc/keysto ne/keysto ne. co nf \sq l co nnecti o n
mysq l : //USER: PASS@ IP/DB
以下を置き換えます。
USER: Identity Service が使用するデータベースユーザー名(通常は keysto ne)
PASS: 選択したデータベースユーザーのパスワード
IP: データベースサーバーの IP アドレスまたはホスト名
DB: Image Service が使用するために作成されたデータベースの名前 (通常はkeysto ne)
データベース接続文字列が設定されて、Identity Service で使用されます。
バグを報告する
9.4 .3. 公開鍵インフラストラクチャーの設定
9 .4 .3.1 . 公開鍵インフラストラクチャーの概要
Identity Service は、ユーザーおよびその他のサービスが認証に使用する、暗号により署名されたドキュメ
ントであるトークンを生成します。トークンは、秘密鍵で署名される一方、公開鍵は X509 証明書で提供さ
れます。
68
⁠第9 章 O penSt ack Ident it y Service のインストール
証明書および関連する設定キーは、keysto ne-manag e pki _setup コマンドで自動的に生成されます
が、サードパーティの証明機関を使用して必要な証明書の作成と署名を手動で行うことも可能です。サード
パーティの証明書を使用する場合には、Identity Service の設定を手動で更新して、証明書と関連ファイル
をポイントするようにする必要があります。
/etc/keysto ne/keysto ne. co nf 設定ファイルの [si g ni ng ] セクションに表示される PKI 設定に
関連する設定キーは、次のとおりです。
ca_cert s
certfi l e 設定キーによって示された証明書を発行した認証局向けに証明書の場所を指定しま
す。デフォルト値は /etc/keysto ne/ssl /certs/ca. pem です。
ca_key
certfi l e 設定キーによって示された証明書を発行した認証局のキーを指定します。デフォルト
値は /etc/keysto ne/ssl /certs/cakey. pem です。
ca_p asswo rd
認証局のファイルを開くために必要なパスワード (該当する場合) を指定します。値が指定されて
いない場合、デフォルトのアクションでは、パスワードを使用しません。
cert f ile
トークンの検証に使用する必要のある証明書の場所を指定します。値が指定されていない場合に
は、デフォルト値の /etc/keysto ne/ssl /certs/si g ni ng _cert. pem が使用されます。
keyf ile
トークンの署名時に使用する必要のある秘密鍵の場所を指定します。値が指定されていない場合
には、デフォルト値の /etc/keysto ne/ssl /pri vate/si g ni ng _key. pem が使用されま
す。
t o ken _f o rmat
トークン生成時に使用するアルゴリズムを指定します。使用可能な値は UUID と P KI です。デ
フォルトは P KI です。
バグを報告する
9 .4 .3.2 . 公開鍵インフラストラクチャーファイルの作成
以下の手順には、Identity Service によって使用される PKI ファイルの設定に必要なステップを記載しま
す。これらのステップはすべて、Identity Service をホストするシステムに ro o t ユーザーとしてログイン
して実行する必要があります。
1. keysto ne-manag e pki _setup コマンドを実行します。
# keysto ne-manag e pki _setup \--keysto ne-user keystone \--keysto neg ro up keystone
2. keysto ne ユーザーが /var/l o g /keysto ne/ および /etc/keysto ne/ssl / のディレクトリ
を所有するように設定します。
# cho wn -R keysto ne: keysto ne /var/l o g /keysto ne \/etc/keysto ne/ssl /
69
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
Identity Service の PKI インフラストラクチャーファイルが作成され、トークンの生成と署名に使用されま
す。
バグを報告する
9 .4 .3.3. 公開鍵インフラストラクチャーファイルを使用するための Ide nt it y Se rvice の有効化
Identity Service が使用するための PKI ファイルを生成した後には、Identity Service がそれらを使用する
ように有効化する必要があります。
以下のコマンドを使用して /etc/keysto ne/keysto ne. co nf ファイルの属性値を設定します。
openstack-config --set /etc/keystone/keystone.conf \
signing token_format PKI
openstack-config --set /etc/keystone/keystone.conf \
signing certfile /etc/keystone/ssl/certs/signing_cert.pem
openstack-config --set /etc/keystone/keystone.conf \
signing keyfile /etc/keystone/ssl/private/signing_key.pem
openstack-config --set /etc/keystone/keystone.conf \
signing ca_certs /etc/keystone/ssl/certs/ca.pem
openstack-config --set /etc/keystone/keystone.conf \
signing key_size 1024
openstack-config --set /etc/keystone/keystone.conf \
signing valid_days 3650
openstack-config --set /etc/keystone/keystone.conf \
signing ca_password None
これらの値は、/usr/share/keysto ne/keysto ne-d i st. co nf ファイルを編集して直接更新するこ
とも可能です。
バグを報告する
9.4 .4 . Ident it y Service と LDAP の統合
Identity Service は、認証および認可サービス用の既存の LD AP ディレクトリとの統合をサポートしていま
す。
重要
Identity Service が LD AP バックエンドにアクセスするには、その LD AP バックエンドにアクセス
するクライアントマシンで、SELinux の authl o g i n_nsswi tch_use_l d ap ブール値が有効化
されている必要があります。各クライアントマシンで ro o t ユーザーとして以下のコマンドを実行し
て、このブール値を有効化し、再起動後にも設定が永続されるようにします。
# setsebool -P authlogin_nsswitch_use_ldap
70
⁠第9 章 O penSt ack Ident it y Service のインストール
注記
Identity Service は、単一の LD AP サーバーとの統合をサポートしています。
Identity Service の設定オプションは /etc/keysto ne/keysto ne. co nf に設定されています。以下に
記載するサンプルには、識別名の例 d c= exampl e,d c= o rg を使用していますが、適切な値に変更するこ
とができます。
1. LD AP ドライバーを有効化します。
[identity]
#driver = keystone.identity.backends.sql.Identity
driver = keystone.identity.backends.ldap.Identity
2. 統合先の LD AP サーバーを定義します。
[ldap]
url = ldap://localhost
user = dc=Manager,dc=example,dc=org
password = samplepassword
suffix = dc=example,dc=org
use_dumb_member = False
allow_subtree_delete = False
3. LD AP ディレクトリで組織ユニットを作成し、それらの場所を keysto ne. co nf に定義します。
[ldap]
user_tree_dn = ou=Users,dc=example,dc=org
user_objectclass = inetOrgPerson
tenant_tree_dn = ou=Groups,dc=example,dc=org
tenant_objectclass = groupOfNames
role_tree_dn = ou=Roles,dc=example,dc=org
role_objectclass = organizationalRole
注記
これらのスキーマの属性は、さまざまなスキーマとの互換性のために拡張可能です。たとえ
ば、以下のエントリは、Active D irectory の perso n 属性にマップします。
user_objectclass = person
4. Identity Service を再起動します。サービスの再起動中には認証および認可は使用できません。
service keystone restart
LD AP 統合のための追加設定
71
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
以下のオプションは keysto ne. co nf で設定することが可能です。
フィルター
フィルターは、LD AP を介して提示されるデータのスコープを制御するのに使用可能です。
[ldap]
user_filter = (memberof=CN=openstackusers,OU=workgroups,DC=example,DC=org)
tenant_filter =
role_filter =
LD AP のアカウントステータス
アカウントステータスの値は、さまざまなディレクトリーサービスとの互換性のためにマスクす
ることが可能です。不必要なアカウントは、user_fi l ter を使用して除外することも可能で
す。
たとえば、Active D irectory のアカウントステータスをマスクします。
[ldap]
user_enabled_attribute = userAccountControl
user_enabled_mask
= 2
user_enabled_default
= 512
注記
RD O Keystone を Red Hat IdM と統合する方法についての説明
は、http://openstack.redhat.com/Keystone_integration_with_ID M を参照してください。
バグを報告する
9.4 .5. LDAP 統合のセキュリティ強化
Identity Service は、LD APS および TLS を使用する LD AP ネットワークトラフィックのセキュリティ強
化を補助する機能をサポートしています。認証および認可の管理は、Assignment 機能を使用して分割する
ことが可能です。
Assig n men t
Assignment 機能により、Identity Service の認証と認可に LD AP と SQL の併用が可能となりま
す。Assignment を使用すると、管理者は、Identity Service 独自の SQL データベース内でプロ
ジェクトとロールの認可を管理する一方で、LD AP ディレクトリを使用したユーザー認証も提供
することができます。
Assignment ドライバーは keysto ne. co nf で LD AP ドライバーとともに有効化します。
[identity]
driver = keystone.identity.backends.ldap.Identity
[assignment]
driver = keystone.assignment.backends.sql.Assignment
LD AP のパーミッション
72
⁠第9 章 O penSt ack Ident it y Service のインストール
オブジェクトの種別に対してパーミッションを適用することができます。これは、読み取り専用
の LD AP 実装や、別の管理ツールが使用されている場合に有用です。
[ldap]
user_allow_create = False
user_allow_update = False
user_allow_delete = False
tenant_allow_create = True
tenant_allow_update = True
tenant_allow_delete = True
role_allow_create = True
role_allow_update = True
role_allow_delete = True
LD AP トラフィックの暗号化
Identity Service は LD APS または TLS を使用したネットワークトラフィックの暗号化をサポー
トしています。
T LS 暗号化の設定
1. keysto ne. co nf に認証局のファイルまたはフォルダーへのパスを指定します。
tls_cacertfile = /etc/keystone/ssl/certs/cacert.pem
または
tls_cacertdir = /etc/keystone/ssl/certs/
注記
tl s_cacertfi l e オプションは tl s_cacertd i r. に優先します。
2. 証明書要件の動作を定義します。有効なオプションは d emand 、never、および
al l o w です。
tls_req_cert = demand
keysto ne. co nf の TLS 設定例は以下のとおりです。
[ldap]
use_tls = True
tls_cacertfile = /etc/keystone/ssl/certs/cacert.pem
#tls_cacertdir = /etc/keystone/ssl/certs/
tls_req_cert = demand
バグを報告する
9.4 .6. ファイアウォールの設定
73
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
Identity Service は OpenStack 環境の全コンポーネントが認証に使用するので、それらのコンポーネント
がアクセス可能である必要があります。
このアクセスを許可するには、Idenitity Service をホストするシステムのファイアウォール設定を変更し
て、必要なポートでネットワークトラフィックを許可する必要があります。以下の手順に記載するステップ
はすべて、Identity Service をホストするサーバーに ro o t ユーザーとしてログインして実行する必要があ
ります。
1. テキストエディターで /etc/sysco nfi g /i ptabl es ファイルを開きます。
2. このファイルに、ポート 50 0 0 および 35357 で TCP トラフィックを許可する INPUT ルールを追
加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要が
あります。
-A INPUT -p tcp -m multiport --dports 5000,35357 -j ACCEPT
3. /etc/sysco nfi g /i ptabl es ファイルへの変更を保存します。
4. i ptabl es サービスを再起動して、変更を有効にします。
# servi ce i ptabl es restart
ポート 50 0 0 および 35357 で Identity Service への受信接続を許可するように i ptabl es ファイア
ウォールが設定されました。
バグを報告する
9.4 .7. Ident it y Service データベースへのデータ投入
以下の手順では、Identity Service データベースへのデータ投入に必要なステップを説明します。これらの
ステップは、Identity Service をホストするシステムにログインして実行する必要があります。データベー
ス接続文字列は、サービスの設定であらかじめ定義済みである必要があります。
su コマンドで keysto ne ユーザーに切り替え、keysto ne-manag e d b_sync コマンドを実行し
て、/etc/keysto ne/keysto ne. co nf で特定されているデータベースを初期化し、データを投入し
ます。
# su keysto ne -s /bi n/sh -c "keysto ne-manag e d b_sync"
Identity Service データベースの初期化とデータ投入が完了しました。
バグを報告する
9.5. Ident it y Service の起動
以下の手順に記載するステップはすべて、Identity Service をホストするサーバーに ro o t ユーザーとして
ログインして実行する必要があります。
1. servi ce コマンドで o penstack-keysto ne サービスを起動します。
# servi ce o penstack-keysto ne start
2. chkco nfi g コマンドで、今後 o penstack-keysto ne サービスが自動的に起動するように設定
します。
74
⁠第9 章 O penSt ack Ident it y Service のインストール
# chkco nfi g o penstack-keysto ne o n
o penstack-keysto ne サービスが起動しました。
バグを報告する
9.6. Ident it y Service エンドポイントの作成
Identity Service が起動した後には、その API エンドポイントを定義する必要があります。D ashboard を
含む一部の OpenStack サービスは、このレコードが存在しない限り機能しません。
以下の手順に記載するステップはすべて、アイデンティティサーバーに ro o t ユーザーとしてログインし
て実行する必要があります。
1. SER VIC E_T O KEN 環境変数の設定
SER VIC E_T O KEN 環境変数は、管理トークンに設定します。これは、管理トークンの設定時に作
成されたトークンファイルを読み取ることによって行います。
# expo rt SER VIC E_T O KEN= `cat ~ /ks_ad mi n_to ken`
2. SER VIC E_END P O INT 環境変数の設定
SER VIC E_END P O INT 環境変数は、Identity Service をホストするサーバーをポイントするように
設定します。
# expo rt SER VIC E_END P O INT = "http: //IP: 35357/v2. 0 "
IP は、アイデンティティサーバーの IP アドレスまたはホスト名に置き換えます。
3. サービスエントリの作成
keysto ne servi ce-create コマンドで Identity Service のサービスエントリを作成します。
# keysto ne servi ce-create --name= keysto ne --type= i d enti ty \-d escri pti o n= "Keysto ne Id enti ty Servi ce"
+-------------+----------------------------------+
|
Property |
Value
|
+-------------+----------------------------------+
| description |
Keystone Identity Service
|
| id
| a8bff1d b381f4 751bd 8ac126 4 6 4 511ae |
| name
|
keystone
|
| type
|
identity
|
+-------------+----------------------------------+
エントリに割り当てられた一意識別子をメモしておきます。この値は、次のステップで必要となり
ます。
4. API のエンドポイントの作成
keysto ne end po i nt-create コマンドで v2.0 API Identity Service のエンドポイントエント
リーを作成します。
# keysto ne end po i nt-create \--servi ce_i d ID \--publ i curl
75
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
' http: //IP: 50 0 0 /v2. 0 ' \--ad mi nurl ' http: //IP: 35357/v2. 0 ' \-i nternal url ' http: //IP: 50 0 0 /v2. 0 '
+-------------+----------------------------------+
|
Property |
Value
|
+-------------+----------------------------------+
| adminurl
|
http://IP:35357/v2.0
|
| id
| 1295011fdc874a838f702518e95a0e13 |
| internalurl |
http://IP:5000/v2.0
|
| publicurl
|
http://IP:5000/v2.0
|
| region
|
regionOne
|
| service_id |
ID
|
+-------------+----------------------------------+
ID は、上記のステップで返されたサービスの識別子に置き換えます。IP は、アイデンティティ
サーバーの IP アドレスまたはホスト名に置き換えます。
重要
publ i curl 、ad mi nurl 、および i nternal url のパラメーターに Keystone アイデン
ティティーサーバーの正しい IP アドレスが含まれていることを確認します。
注記
デフォルトでは、エンドポイントはデフォルトのリージョンである reg i o nO ne で作成さ
れます。エンドポイントの作成時に異なるリージョンを指定する必要がある場合は、-region 引数を使用して指定してください。
Identity Service およびエンドポイントのエントリが作成されました。Identity Service 設定の最終ステップ
は、デフォルトのユーザーアカウント、ロール、テナントの作成です。
バグを報告する
9.7. 管理者アカウントの作成
以下に手順を実行すると、管理ユーザーアカウントと関連付けられたテナントおよびロールが作成されま
す。
以下の手順に記載するステップは、管理トークンが含まれているファイルにアクセス可能なユーザーとし
て、Identity Service をホストするシステムにログインして実行する必要があります。
1. SER VIC E_T O KEN 環境変数は、管理トークンの値に設定します。これは、管理トークンの設定時
に作成されたトークンファイルを読み取ることによって行います。
# expo rt SER VIC E_T O KEN= `cat ~ /ks_ad mi n_to ken`
2. SER VIC E_END P O INT 環境変数は、Identity Service をホストするサーバーをポイントするように
設定します。
76
⁠第9 章 O penSt ack Ident it y Service のインストール
# expo rt SER VIC E_END P O INT = "http: //IP: 35357/v2. 0 "
IP は、アイデンティティサーバーの IP アドレスまたはホスト名に置き換えます。
3. keysto ne user-create コマンドで、ad mi n ユーザーを作成します。
# keysto ne user-create --name ad mi n --pass PASSWORD
+----------+-----------------------------------+
| Property |
Value
|
+----------+-----------------------------------+
| email
|
|
| enabled |
True
|
| id
| 94d659c3c9534095aba5f8475c87091a |
| name
|
admin
|
| tenantId |
|
+----------+-----------------------------------+
PASSWORD は、アカウント用のセキュアなパスワードに置き換えます。作成したユーザー ID を
メモしておきます。この ID は後のステップで必要となります。
4. keysto ne ro l e-create コマンドで、ad mi n ロールを作成します。
# keysto ne ro l e-create --name ad mi n
+----------+----------------------------------+
| Property |
Value
|
+----------+----------------------------------+
| id
| 78035c5d3cd94e62812d6d37551ecd6a |
| name
|
admin
|
+----------+----------------------------------+
ad mi n ユーザーの ID をメモしておきます。この値は、後のステップで必要となります。
5. keysto ne tenant-create コマンドで、ad mi n テナントを作成します。
# keysto ne tenant-create --name ad mi n
+-------------+----------------------------------+
|
Property |
Value
|
+-------------+----------------------------------+
| description |
|
| enabled
|
True
|
| id
| 6f8e3e36c4194b86b9a9b55d4b722af3 |
| name
|
admin
|
+-------------+----------------------------------+
ad mi n テナントの ID をメモしておきます。この値は、次のステップで必要となります。
6. ユーザーアカウント、ロール、テナントが作成されたので、keysto ne user-ro l e-ad d コマン
ドで、それらの関係を明示的に定義する必要があります。
# keysto ne user-ro l e-ad d --user-i d USERID --ro l e-i d ROLEID -tenant-i d TENANTID
ユーザー、ロール、テナントの ID は、上記のステップで取得した ID に置き換えます。
77
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
7. 新規作成された ad mi n アカウントは、Identity Service の今後の管理に使用されます。認証を円滑
化するためには、セキュリティ保護された場所 (ro o t ユーザーのホームディレクトリなど)に
keysto nerc_ad mi n ファイルを作成します。
ファイルに以下の行を追加して、認証に使用する環境変数を設定します。
export
export
export
export
export
OS_USERNAME=admin
OS_TENANT_NAME=admin
OS_PASSWORD=PASSWORD
OS_AUTH_URL=http://IP:35357/v2.0/
PS1='[\u@ \h \W(keystone_admin)]\$ '
PASSWORD は、ad mi n ユーザーのパスワードに、また IP は、Identity サーバーの IP アドレスま
たはホスト名に置き換えます。
8. ファイルに対して so urce コマンドを実行して、認証に使用する環境変数を読み込みます。
# so urce ~ /keysto nerc_ad mi n
Identity サーバーで、管理ユーザーアカウント、ロール、およびテナントが定義されました。ad mi n ユー
ザーとして認証するための keysto nerc_ad mi n ファイルも作成されました。
バグを報告する
9.8. 一般ユーザーアカウントの作成
以下に手順を実行すると、一般ユーザーアカウントと関連付けられたテナントおよびロールが作成されま
す。
以下の手順に記載するステップは、管理トークンが含まれているファイルにアクセス可能なユーザーとし
て、Identity Service をホストするシステムにログインして実行する必要があります。
1. 管理者ユーザーの作成時に生成された ~ /keysto nerc_ad mi n ファイルからアイデンティティ認
証情報を読み込みます。
# so urce ~ /keysto nerc_ad mi n
2. keysto ne user-create コマンドで、一般ユーザーを作成します。
# keysto ne user-create --name USER --pass PASSWORD
+----------+-----------------------------------+
| Property |
Value
|
+----------+-----------------------------------+
| email
|
|
| enabled |
True
|
| id
| b8275d7494dd4c9cb3f69967a11f9765 |
| name
|
USER
|
| tenantId |
|
+----------+-----------------------------------+
USER は、このアカウントに使用するユーザー名に置き換えます。PASSWORD は、アカウント用
のセキュアなパスワードに置き換えます。作成したユーザー ID をメモしておきます。この ID は後
のステップで必要となります。
78
⁠第9 章 O penSt ack Ident it y Service のインストール
3. keysto ne ro l e-create コマンドで Member ロールを作成します。Member ロールは、ダッ
シュボードへのアクセスに必要なデフォルトロールです。
# keysto ne ro l e-create --name Member
+----------+----------------------------------+
| Property |
Value
|
+----------+----------------------------------+
| id
| 78035c5d3cd94e62812d6d37551ecd6a |
| name
|
Member
|
+----------+----------------------------------+
作成したロールの ID をメモしておきます。この値は、後のステップで必要となります。
4. keysto ne tenant-create コマンドで、テナントを作成します。
# keysto ne tenant-create --name TENANT
+-------------+----------------------------------+
|
Property |
Value
|
+-------------+----------------------------------+
| description |
|
| enabled
|
True
|
| id
| 6f8e3e36c4194b86b9a9b55d4b722af3 |
| name
|
TENANT
|
+-------------+----------------------------------+
TENANT は、そのテナントに付ける名前に置き換えます。作成したテナントの ID をメモしておき
ます。この ID は後のステップで必要となります。
5. ユーザーアカウント、ロール、テナントが作成されたので、keysto ne user-ro l e-ad d コマン
ドで、それらの関係を明示的に定義する必要があります。
# keysto ne user-ro l e-ad d --user-i d USERID --ro l e-i d ROLEID -tenant-i d TENANTID
ユーザー、ロール、およびテナントの ID は、前のステップで取得した ID に置き換えます。
6. 認証を円滑化するためには、セキュリティ保護された場所 (ro o t ユーザーのホームディレクトリ
など)に keysto nerc_user ファイルを作成します。
認証に使用する以下の環境変数を設定します。
export
export
export
export
export
OS_USERNAME=USER
OS_TENANT_NAME=TENANT
OS_PASSWORD=PASSWORD
OS_AUTH_URL=http://IP:5000/v2.0/
PS1='[\u@ \h \W(keystone_user)]\$ '
USER および TENANT は、それぞれ新規ユーザー名とテナント名に置き換えます。PASSWORD
は、ユーザーのパスワードに、また IP は Identity サーバーの IP アドレスまたはホスト名に置き換
えます。
Identity サーバーで、一般ユーザーアカウント、ロール、およびテナントが定義されました。作成したユー
ザーとして認証するための keysto nerc_user ファイルも作成されました。
バグを報告する
79
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
9.9. サービステナントの作成
テナント (別名: プロジェクト) は、サービスリソースの集約に使用されます。テナントごとにクォータ制御
を使用してリソース数を制限することができます (Red Hat Enterprise Linux OpenStack Platform
Administration User Guideの「View and manage quotas」を参照 )。
各ユーザーは 1 つのテナントに割り当てられます。一般ユーザーの場合には、テナントは通常、そのユー
ザーのグループ、プロジェクト、または組織を示します。 サービスユーザー (サービスに代わって Identity
Service にアクセスするエンティティ) の場合には、テナントはサービスの地理的地域を示します。これ
は、クラウドのサービスのタイプにより、次のように分かれます。
分散型: 通常、サービスが実行される各エンドポイントに 1 つのサービステナントが作成されます (ただ
し Identity Service と D ashboard Service を除く)。
単一ノードデプロイメント: 必要なサービステナントは 1 つのみです (ただし、これはオプションの 1 つ
に過ぎません。管理目的で複数のサービステナントを作成することが可能です)。
本ガイドのインストールの例は、全サービスが単一ノードにデプロイされることを前提としているため、必
要となるのは 1 サービステナントのみです。本ガイドに記載の例ではすべて servi ces テナントを使用し
ています。
注記
管理者、一般ユーザー、サービスユーザーはすべてテナントを必要とするので、通常は各グループ用
に少なくとも 3 テナントを作成します。管理者ユーザー、一般ユーザー、およびテナントの作成方
法については、管理者アカウントの作成および一般ユーザーアカウントの作成を参照してください。
servi ces テナントの作成手順
1. Identity Service の管理者の識別に使用する環境変数が含まれているファイルに対して so urce コ
マンドを実行します。
# so urce ~ /keysto nerc_ad mi n
2. Identity Service で servi ces テナントを作成します。
# keysto ne tenant-create --name servi ces --d escri pti o n "Servi ces
T enant"
+-------------+----------------------------------+
|
Property |
Value
|
+-------------+----------------------------------+
| description |
Services Tenant
|
| enabled
|
True
|
| id
| 7e193e36c4194b86b9a9b55d4b722af3 |
| name
|
services
|
+-------------+----------------------------------+
80
⁠第9 章 O penSt ack Ident it y Service のインストール
注記
全 Identity Service テナントとそれらの ID の一覧を取得するには、次のコマンドを実行します。
# keystone tenant-list
バグを報告する
9.10. 外部認証を使用するための Ident it y Service の設定
OpenStack Identity Service で外部認証メソッドを使用するようにを設定することが可能です。この設定に
より、Identity 認証のセキュリティが強化されます。これは、Identity ストアデータベースにより提供され
るシンプルなユーザー名/パスワードの認証と比較した場合は特に顕著です。
現在、Identity Service に外部認証を実装するメソッドで唯一サポートされているのは、Identity Service を
HTTPD で実行する方法です。この方法を使用すると、Identity Service に必要な認証タスクはすべて
httpd サービスにより実行されます。
この設定では、ユーザー認証は以下のように実行されます。
1. httpd サービスは、外部認証サービス (例: X509 、Kerberos など) を使用して、ユーザーの認証情
報をチェックします。
2. ユーザーの認証情報が検証された後に、httpd はユーザーの R EMO T E_USER 環境変数を適宜設定
します。
3. 必要な場合には常に Identity Service がこの R EMO T E_USER 環境変数をチェックして、 httpd
サービスがそのユーザーを認証済みかどうかを判断します。
注記
OpenStack Identity Service で HTTPD を実行するように設定する場合は、HTTPD に SSL を使用
するように設定することを推奨します。
バグを報告する
9.10.1. HT T PD に SSL を使用するための設定
Identity Service が httpd を使用するように設定する場合には、httpd に SSL を使用するように設定する
ことは必須ではありませんが、セキュリティ強化のために、この設定を強く推奨します。
1. ro o t ユーザーとして、mod_nss パッケージをインストールします。
# yum i nstal l -y mo d _nss
2. ポート 443 を使用するように Li sten ディレクティブを設定します。
Listen 8443
上記の行を、以下のように置き換えます。
81
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
Listen 443
3. 仮想ホストが同じポートを使用するように設定します。
<virtualhost _default_:8443="">
上記の行を、以下のように置き換えます。
<virtualhost _default_:443="">
4. SSL トラフィックの通過を許可するようにファイアウォールを設定します。
a. テキストエディターで /etc/sysco nfi g /i ptabl es ファイルを開きます。
b. ファイルに以下の行を追記して、ポート 4 4 3 で TCP トラフィックを許可する INPUT ルー
ルを追加します。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j
ACCEPT
この新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要
があります。
c. /etc/sysco nfi g /i ptabl es ファイルへの変更を保存します。
d. i ptabl es サービスを再起動して、変更を有効にします。
# servi ce i ptabl es restart
5. h t t p d を再起動します。
# servi ce httpd restart
バグを報告する
9.10.2. Ident it y Service を HT T PD で実行するための設定
必読トピック:
「管理トークンの設定」
「Identity Service エンドポイントの作成」
httpd で OpenStack Identity Service を実行するように設定するには、以下のような主要ステップを実行
する必要があります。
適切なファイルリンクの設定
正しい SELinux コンテキストの設定 (必須ではありませんが、推奨されます)
Keystone の設定
手順9 .1 適切なファイルリンクの設定
82
⁠第9 章 O penSt ack Ident it y Service のインストール
1. httpd サーバーの設定ディレクトリから /usr/share/keysto ne/wsg i -keysto ne. co nf へ
のシンボリックリンクを作成します。
# l n -s /usr/share/keysto ne/wsg i -keysto ne. co nf /etc/httpd /co nf. d /
2. /var/www/cg i -bi n/keysto ne/ のディレクトリを作成します。
# mkd i r /var/www/cg i -bi n/keysto ne/
3. /var/www/cg i -bi n/keysto ne/ 内に mai n および ad mi n のファイルから
/usr/share/keysto ne/keysto ne. wsg i へのリンクを作成します。
# l n /usr/share/keysto ne/keysto ne. wsg i /var/www/cg i bi n/keysto ne/mai n # l n /usr/share/keysto ne/keysto ne. wsg i
/var/www/cg i -bi n/keysto ne/ad mi n
SELinux が有効化されている場合には (必須ではありませんが、推奨されます)、適切な /var/www/cg i bi n/ に適切な SELinux コンテキストを設定する必要もあります。この設定を行うには、ro o t で以下のコ
マンドを実行してください。
# resto reco n /var/www/cg i -bi n
ファイルリンクと SELinux (該当する場合) の設定が完了したら、次に Identity Service を httpd で実行す
るように設定することができます。この設定を行う前に、httpd サービスが
/etc/keysto ne/keysto ne. co nf ファイルにアクセスできることを確認しておく必要があります。ア
クセスできない場合には、/etc/keysto ne/keysto ne. co nf のグループ名とファイルモードを変更し
て修正してください。
# chmo d 6 4 0 /etc/keysto ne. co nf # cho wn ro o t: apache /etc/keysto ne. co nf
手順9 .2 Id en t it y Service のデフォルト値の設定
注記
この時点で、管理トークンがすでに設定済みである必要があります。
1. public サービスと admin サービスがリッスンする必要のあるポートの番号を設定します。
# o penstack-co nfi g -set /etc/keysto ne/keysto ne. co nf \D EFAULT
publ i c_po rt 4 4 3 # o penstack-co nfi g -set /etc/keysto ne/keysto ne. co nf
\D EFAULT ad mi n_po rt 4 4 3
注記
この例で指定したポートは、SSL が有効化されていることを前提としているため、httpd
仮想ホストはポート 4 4 3 をリッスンするように設定されます。
83
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
2. Identity Service がクライアントへのアドバタイズに使用するベースエンドポイント URL を設定し
ます。
# keysto ne end po i nt-create \ --publ i curl ' http: //l o cal ho st: %
(publ i c_po rt)s/keysto ne/mai n' \ --ad mi nurl ' http: //l o cal ho st: %
(ad mi n_po rt)s/keysto ne/ad mi n'
バグを報告する
9.10.3. HT T PD を介した Ident it y Service の外部認証の実装
Identity Service に SSL を使用するための設定 (オプション) と HTTPD で実行するための設定 (必須) が完
了したら、次に httpd が外部認証を使用するように設定することができます。これにより、実質的には
HTTPD が Identity Service に代わって外部認証タスクを実行するように設定されます。
現在、OpenStack Identity Service で (httpd を使用する場合に) 正式にサポートされているのは、以下の
外部認証メソッドのみとなります。
X509
Kerberos
HTTPD (ひいては Identity Service) が外部認証を使用するように設定するには、HTTPD 設定ファイルを使
用します。Red Hat Enterprise Linux の大半のバージョンでは、このファイルは
/etc/httpd /co nf/httpd . co nf です。さらに詳しい情報は、ご使用の HTTPD サービスの対応するマ
ニュアルを参照してください。
デフォルトでは、Identity Service は外部認証を使用するように、すでに設定されています。この設定を確
認するには、以下のコマンドを実行してください。
# o penstack-co nfi g --g et /etc/keysto ne/keysto ne. co nf \auth metho d s
上記のコマンドにより、有効化された認証メソッドのコンマ区切り一覧が表示されます。そのリストに
external が含まれている場合には、外部認証は有効化が有効化されていることになります。
バグを報告する
9.10.4 . サービスを接続するための追加設定手順
HTTPD (ひいては OpenStack Identity Service) が外部認証を使用するように設定した後には、
OpenStack の全サービスが Identity Service に接続する方法を設定する必要があります。接続する各サー
ビスは、正しい admin_prefix、認証ポート、および認証プロトコルを使用する必要があります。これら
は、OpenStack サービス設定ファイルの [keysto ne_authto ken] の設定に記載されているはずです。
[keystone_authtoken]
auth_admin_prefix = /keystone/admin
auth_port = 443
auth_protocol = https
たとえば、これらの設定を Networking (neutro n) Service に適用するには、以下のコマンドを実行しま
す。
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf \ keysto ne_authto ken
auth_ad mi n_prefi x /keysto ne/ad mi n # o penstack-co nfi g --set
84
⁠第9 章 O penSt ack Ident it y Service のインストール
/etc/neutro n/neutro n. co nf \ keysto ne_authto ken auth_po rt 4 4 3 # o penstackco nfi g --set /etc/neutro n/neutro n. co nf \ keysto ne_authto ken
auth_pro to co l https
バグを報告する
9.11. Ident it y Service のインストールの検証
以下の手順には、Identity Service のインストールが正しく機能していることを検証するためのステップを
記載しています。これらのステップは、アイデンティティサーバーまたは他のシステムにログインして実行
する必要があります。
ログインするユーザーは、管理者ユーザーおよび一般ユーザーとして認証するために、それぞれの必要な環
境変数が含まれている keysto nerc_ad mi n と keysto nerc_user のファイルへのアクセス権が必要で
す。
1. Identity Service の管理者の識別に使用する環境変数が含まれているファイルに対して so urce コ
マンドを実行します。
# so urce ~ /keysto nerc_ad mi n
2. keysto ne user-l i st コマンドを実行して Identity Service で認証し、システムで定義されてい
るユーザーを一覧表示します。
# keysto ne user-l i st
+----------------------------------+--------+---------+-----------------+
|
id
| name | enabled |
email
|
+----------------------------------+--------+---------+-----------------+
| 94d659c3c9534095aba5f8475c87091a | admin |
True |
|
| b8275d7494dd4c9cb3f69967a11f9765 | USER |
True |
|
+----------------------------------+--------+---------+-----------------+
システムで定義されているユーザーの一覧が表示されます。一覧が表示されない場合には、インス
トールに問題があります。
a. 返されたメッセージでパーミッションまたは認証に問題があることが示されている場合に
は、管理者ユーザーアカウント、テナント、ロールが正しく作成されていることを確認しま
す。また、3 つのオブジェクトが正しくリンクされていることも確認します。
Unable to communicate with identity service: {"error":
{"message": "You are not authorized to perform the requested
action: admin_required", "code": 403, "title": "Not
Authorized"}}. (HTTP 403)
85
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
b. 返されたメッセージで接続に問題があることが示されている場合には、o penstackkeysto ne サービスが実行中であることと、ポート50 0 0 および 35357 での接続を許可
するように i ptabl es が設定されていることを確認してください。
Authorization Failed: [Errno 111] Connection refused
3. Identity Service の一般ユーザーの識別に使用する環境変数が含まれているファイルに対して
so urce コマンドを実行します。
# so urce ~ /keysto nerc_user
4. keysto ne user-l i st コマンドを実行して Identity Service で認証し、システムで定義されてい
るユーザーを一覧表示します。
# keysto ne user-l i st
Unable to communicate with identity service: {"error": {"message":
"You are not authorized to perform the requested action:
admin_required", "code": 403, "title": "Not Authorized"}}. (HTTP
403)
このコマンドを実行する権限がないこと (No t Autho ri zed ) を示すエラーメッセージが表示され
ます。このエラーメッセージが表示されず、代わりにユーザー一覧が表示された場合には、その一
般ユーザーアカウントには誤って ad mi n ロールに関連付けされていたことになります。
5. keysto ne to ken-g et コマンドを実行して一般ユーザーアカウントがアクセス権限のあるコマ
ンドを実行できることを検証します。
# keysto ne to ken-g et
+-----------+----------------------------------+
| Property |
Value
|
+-----------+----------------------------------+
| expires |
2013-05-07T13:00:24Z
|
|
id
| 5f6e089b24d94b198c877c58229f2067 |
| tenant_id | f7e8628768f2437587651ab959fbe239 |
| user_id | 8109f0e3deaf46d5990674443dcf7db7 |
+-----------+----------------------------------+
Identity Service は正しくインストールされて、機能しています。
バグを報告する
86
⁠第1 0 章 O penSt ack O bject St orage Service のインストール
第10章 OpenStack Object Storage Service のインストール
10.1. Object St orage Service を構成するサービス
Object Storage Service は、連携してデータオブジェクトの管理を行う 4 つのサービスで構成されます。
プロキシサービス
プロキシサービスは、オブジェクトリングを使用して、新規アップロードされたオブジェクトの
ダイレクト先を決定します。該当するコンテナーデータベースを更新して新規オブジェクトの存
在を反映します。新たに更新されたオブジェクトが新規コンテナーに配置される場合には、プロ
キシサービスが該当するデータベースを更新して、新規コンテナーを反映します。
プロキシサービスは、要求されたオブジェクトが格納されているレプリカのある場所の 1 つに、
無作為またはノードからの応答時間に応じて GET 要求をダイレクトします。
オブジェクトサービス
オブジェクトサービスは、ディスクデバイス上のパーティションにデータオブジェクトを保管す
る役割を果たします。各パーティションは、1 つのディレクトリです。オブジェクトはそれぞ
れ、パーティションディレクトリ内にあるサブディレクトリに格納されます。オブジェクト自体
を識別するには、そのオブジェクトへのパスの MD 5 ハッシュが使用されます。
コンテナーサービス
コンテナーサービスは、コンテナー内のオブジェクトのデータベースを維持管理します。コンテ
ナーごとに 1 つのデータベースファイルがあり、それらのデータベースファイルは、クラスター
全体で複製されます。コンテナーは、オブジェクトが配置された時点に定義されます。コンテ
ナーは、オブジェクトのリストを特定のコンテナー名前空間に制限することにより、オブジェク
トの検索を高速化します。
アカウントサービス
アカウントサービスは、任意のアカウントからアクセス可能な全コンテナーのデータベースを維
持管理します。アカウントごとに 1 つのデータベースファイルがあり、それらのデータベース
ファイルは、クラスター全体で複製されます。どのアカウントも、特定のコンテナーグループに
アクセスすることができます。アカウントは、Identity Service のテナントにマップします。
バグを報告する
10.2. Object St orage Service のアーキテクチャー
OpenStack Object Storage Service は、サービスのモジュール型グループです。これには、o p en st ackswif t - p ro xy、o p en st ack- swif t - o b ject 、o p en st ack- swif t - co n t ain er、o p en st ack- swif t acco u n t などのサービスが含まれます。
各ノードに全サービスをインストールすることができますが、その代わりに、専用のノードでサービスを実
行することも可能です。
一般的な O b ject St o rag e Service デプロイメント構成
全ノード上に全サービス
設定が最も簡単です。
プロキシ専用ノード ( その他のサービスは別のノードに統合)
87
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
プロキシサービスは CPU および I/O を集中的に使用します。その他のサービスはディスクと I/O
を集中的に使用します。この設定は、ハードウェアの使用率を最適化することができます。
プロキシ専用ノード + オブジェクトサービス専用ノード ( コンテナーおよびアカウントのサービスは
別のノードに統合)
プロキシサービスは CPU および I/O を集中的に使用します。コンテナーおよびアカウントのサー
ビスは、オブジェクトサービスよりもディスクと I/O をより集中的に使用します。この構成は、
ハードウェアの使用率をさらに最適化することが可能です。
以下の図は、第 3 のオプションの概観を示しています。この構成では、オブジェクトノードは、コンテ
ナーおよびアカウントサービスが含まれるノードから分離しています。
図10.1 サービスアーキテクチャー
バグを報告する
10.3. Object St orage Service の要件
サポート対象のファイルシステム
Object Storage Service は、ファイルシステムにオブジェクトを保管します。現在は XFS およ
び ext4 がサポートされています。ext4 は推奨のファイルシステムです。
ファイルシステムは xattr を有効にしてマウントする必要があります。たとえば、/etc/fstab
では以下のように指定します。
/dev/sdb1 /srv/node/d1 ext4 acl,user_xattr 0 0
許容されるマウントポイント
Object Storage Service は、デバイスが /srv/no d e/ にマウントされることを想定します。
バグを報告する
88
⁠第1 0 章 O penSt ack O bject St orage Service のインストール
10.4 . Object St orage Service パッケージのインストール
OpenStack Object Storage Service は、以下のパッケージにパッケージされています。
O p en St ack O b ject St o rag e の主要パッケージ
openstack-swift-proxy
オブジェクトに対するプロキシ要求
openstack-swift-object
最大 5 GB のデータオブジェクトを格納
openstack-swift-container
各コンテナー内のオブジェクトをすべてトラッキングするデータベースを維持管理
openstack-swift-account
各アカウント内の全コンテナーをトラッキングするデータベースを維持管理
O p en St ack O b ject St o rag e の依存関係
openstack-swift
特定のサービスに共通したコードが含まれる
openstack-swift-plugin-swift3
OpenStack Object Storage 用の swift3 プラグイン
memcached
プロキシサーバーのソフト依存関係。対話時に毎回再認証せず、認証済みのクライアントを
キャッシュ。
openstack-utils
OpenStack の設定用ユーティリティを提供
手順10.1 O b ject St o rag e Service パッケージのインストール
yum コマンドで root ユーザーとして必要なパッケージをインストールします。
# yum i nstal l -y o penstack-swi ft-pro xy \o penstack-swi ft-o bject
\o penstack-swi ft-co ntai ner \o penstack-swi ft-acco unt \o penstack-uti l s
\memcached
OpenStack Object Storage Service を構成するサービスがインストールされ、設定できる状態となりまし
た。
バグを報告する
10.5. Object St orage Service の設定
89
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
10.5. Object St orage Service の設定
10.5.1. Object St orage Service との連動するための Ident it y Service の設定
必読トピック:
「管理者アカウントの作成」
以下の手順では、次の作業を行います。
1. servi ces テナントに ad mi n ロールのある swi ft ユーザーを作成します。
2. swi ft サービスエントリを作成し、エンドポイントを割り当てます。
以下の手順は、お使いの Identity Service サーバーまたは keysto nerc_ad mi n ファイル (管理者の認証
情報が含まれている) をコピーして keyst o n e コマンドラインユーティリティをインストールした任意の
マシンで実行することができます。
手順10.2 O b ject St o rag e Service との連動するための Id en t it y Service の設定
1. Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
$ so urce ~ /keysto nerc_ad mi n
2. swi ft ユーザーを作成し、パスワードを設定します。PASSWORD は自分で選択したパスワードに
置き換えます。
$ keysto ne user-create --name swi ft --pass PASSWORD
作成したユーザーの ID をメモしておきます。この ID は、次のステップで使用します。
3. ad mi n ロールのユーザー ID を取得します。
$ keysto ne ro l e-l i st | g rep ad mi n
ad mi n ロールが存在しない場合には作成します。
$ keysto ne ro l e-create --name ad mi n
4. servi ces テナントの ID を取得します。
$ keysto ne tenant-l i st | g rep servi ces
servi ces テナントが存在しない場合には作成します。
$ keysto ne tenant-create --name servi ces --d escri pti o n "Servi ces
T enant"
本ガイドでは、すべてのサービスユーザーに単一のテナントを使用しています。詳しい情報
は、サービステナントの作成を参照してください。
5. swi ft ユーザーを servi ces テナントに ad mi n ロールで追加します。
$ keysto ne user-ro l e-ad d --ro l e-i d ROLEID --tenant-i d TENANTID -user-i d USERID
90
⁠第1 0 章 O penSt ack O bject St orage Service のインストール
ユーザー、ロール、テナントの ID は、上記のステップで取得した ID に置き換えます。
6. swi ft Object Storage Service エントリを作成します。
$ keysto ne servi ce-create --name swi ft --type o bject-sto re \-d escri pti o n "Swi ft Sto rag e Servi ce"
作成したサービスの ID をメモしておきます。この ID は次のステップで使用します。
7. swi ft エンドポイントエントリを作成します。
$ keysto ne end po i nt-create --servi ce_i d SERVICEID \--publ i curl
"http: //IP: 80 80 /v1/AUT H_\$(tenant_i d )s" \--ad mi nurl
"http: //IP: 80 80 /v1" \--i nternal url
"http: //IP: 80 80 /v1/AUT H_\$(tenant_i d )s"
SERVICEID は、keysto ne servi ce-create コマンドで返された識別子に置き換えます。IP は
Object Storage のプロキシサービスをホストするシステムの IP アドレスまたは完全修飾ドメイン
名に置き換えます。
Object Storage Service と連動するための Identity Service の設定が完了しました。
バグを報告する
10.5.2. Object St orage Service ストレージノードの設定
Object Storage Service は、ファイルシステムにオブジェクトを保管します。これは通常、接続されてい
る複数の物理ストレージデバイス上のファイルシステムです。オブジェクトの保管に使用するデバイスはす
べて ext4 または XFS の形式でフォーマットし、/srv/no d e/ ディレクトリの下にマウントする必要が
あります。また、指定されたノードで実行されるサービスはすべて有効化して、それらに使用するポートを
開く必要があります。
プロキシサービスは、他のサービスとともに実行することが可能ですが、以下の手順ではプロキシサービス
は対象外となっています。
手順10.3 O b ject St o rag e Service ストレージノードの設定
1. ext4 または XFS のファイルシステムでデバイスをフォーマットします。xattr を必ず有効化し
てください。
2. /etc/fstab ファイルにデバイスを追加して、ブート時には/srv/no d e/ の下にマウントされる
ようにします。
bl ki d コマンドでデバイスの一意識別子を確認し、その値を使用してデバイスをマウントしま
す。
91
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
注記
ext4 を使用する場合には、user_xattr オプションを指定してファイルシステムをマウン
トすることにより、拡張属性を有効化するようにしてください (XFS の場合は、拡張属性は
デフォルトで有効化されます)。
3. ファイアウォールを設定して、それぞれのノードで実行される各サービスが使用する TCP ポート
を開きます。
デフォルトでは、アカウントサービスはポート 6002、コンテナーサービスはポート 6001、オブ
ジェクトサービスはポート 6000 を使用します。
a. テキストエディターで /etc/sysco nfi g /i ptabl es ファイルを開きます。
b. アカウント、コンテナー、オブジェクトのサービスが使用するポートで TCP トラフィック
を許可する INP UT ルールを追加します。この新規ルールは、reject-wi th i cmpho st-pro hi bi ted よりも前に記載する必要があります。
-A INPUT -p tcp -m multiport --dports 6000,6001,6002,873 -j
ACCEPT
c. /etc/sysco nfi g /i ptabl es ファイルへの変更を保存します。
d. i ptabl es サービスを再起動して、ファイアウォールの変更を有効にします。
# servi ce i ptabl es restart
4. cho wn コマンドで /srv/no d e/ のコンテンツの所有者を swi ft: swi ft に変更します。
# cho wn -R swi ft: swi ft /srv/no d e/
5. resto rco n コマンドで /srv/no d e/ 配下の全ディレクトリの SELi nux コンテキストを正しく
設定します。
# resto reco n -R /srv
6. o penstack-co nfi g コマンドでハッシュプレフィックス (swift_hash_path_prefix) を
/etc/swi ft. co nf に追加します。
# openstack-config --set /etc/swift/swift.conf swift-hash
swift_hash_path_prefix \
$(openssl rand -hex 10)
7. o penstack-co nfi g コマンドでハッシュサフィックス (swift_hash_path_suffix) を
/etc/swi ft. co nf に追加します。
# openstack-config --set /etc/swift/swift.conf swift-hash
swift_hash_path_suffix \
$(openssl rand -hex 10)
これらの情報は、全ノードでデータを検索/配置するのに必要です。/etc/swi ft. co nf をバック
アップしてください。
92
⁠第1 0 章 O penSt ack O bject St orage Service のインストール
8. o penstack-co nfi g コマンドで、ストレージサービスがリッスンする IP アドレスを設定しま
す。Object Storage クラスター内の全ノードの全サービスに次のコマンドを実行してください。
# openstack-config --set /etc/swift/object-server.conf DEFAULT
bind_ip node_ip_address
# openstack-config --set /etc/swift/account-server.conf DEFAULT
bind_ip node_ip_address
# openstack-config --set /etc/swift/container-server.conf DEFAULT
bind_ip node_ip_address
D EFAULT 引数は、サービス設定ファイルの D EFAULT セクションを示します。node_ip_address
は設定するノードの IP アドレスに置き換えてください。
9. 現在設定中のノードから全 Object Storage Service ノードに /etc/swi ft. co nf をコピーしま
す。
重要
/etc/swi ft. co nf ファイルは、すべての Object Storage Service ノードで全く同じで
ある必要があります。
10. ノードで実行するサービスを起動します。
# servi ce o penstack-swi ft-acco unt start # servi ce o penstack-swi ftco ntai ner start # servi ce o penstack-swi ft-o bject start
11. chkco nfi g コマンドで、これらのサービスがブート時に自動的に起動するように設定します。
# chkco nfi g o penstack-swi ft-acco unt o n # chkco nfi g o penstack-swi ftco ntai ner o n # chkco nfi g o penstack-swi ft-o bject o n
ノードがオブジェクトストレージとして提供する全デバイスがフォーマットされ、/srv/no d e/ 下にマウ
ントされました。ノードで実行されるサービスが有効化され、ノード上でサービスが使用するポートが開放
されました。
バグを報告する
10.5.3. Object St orage Service のプロキシサービスの設定
Object Storage のプロキシサービスは、g ets および puts の転送先のノードを決定します。
アカウント、コンテナー、オブジェクトのサービスは、プロキシサービスと並行して実行することが可能で
すが、以下の手順ではプロキシサービスのみについて説明します。
手順10.4 O b ject St o rag e Service のプロキシサービスの設定
1. 適切なサービスユーザーの正しい認証情報でプロキシサーバーの設定ファイルを更新します。
93
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
# o penstack-co nfi g --set /etc/swi ft/pro xy-server. co nf
\fi l ter: authto ken auth_ho st IP # o penstack-co nfi g --set
/etc/swi ft/pro xy-server. co nf \fi l ter: authto ken ad mi n_tenant_name
services # o penstack-co nfi g --set /etc/swi ft/pro xy-server. co nf
\fi l ter: authto ken ad mi n_user swift # o penstack-co nfi g --set
/etc/swi ft/pro xy-server. co nf \fi l ter: authto ken ad mi n_passwo rd
PASSWORD
ここで、
IP は、アイデンティティサーバーの IP アドレスまたはホスト名に置き換えます。
services は、Object Storage Service が使用するために作成されたテナントの名前に置き換え
ます (上記の例では、この値を servi ces に設定)。
swift は、Object Storage Service 用に作成されたサービスユーザーの名前に置き換えます (上
記の例では、この値を swi ft に設定)。
PASSWORD は、サービスユーザーに関連付けられたパスワードに置き換えます。
2. servi ce コマンドで memcached と o penstack-swi ft-pro xy のサービスを起動します。
# servi ce memcached start # servi ce o penstack-swi ft-pro xy start
3. cho wn コマンドで keystone 署名ディレクトリの所有者を変更します。
# chown swift:swift /tmp/keystone-signing-swift
4. chkco nfi g コマンドで memcached と o penstack-swi ft-pro xy のサービスを永続的に有効
にします。
# chkco nfi g memcached o n # chkco nfi g o penstack-swi ft-pro xy o n
5. /etc/sysco nfi g /i ptabl es 設定ファイルに以下のファイアウォールルールを追加して、
Swift プロキシサーバーへの受信接続を許可します。
-A INPUT -p tcp -m multiport --dports 8080 -j ACCEPT
重要
上記のルールにより、全リモートホストから Swift プロキシを実行するシステムへの通信が
ポート 80 80 で 許可されます。より制限の厳しいファイアウォールルールの作成について
の説明は、Red Hat Enterprise Linux 6 セキュリティガイドを参照してください。
6. servi ce コマンドで i ptabl es サービスを再起動して、新規ルールを有効にします。
94
⁠第1 0 章 O penSt ack O bject St orage Service のインストール
# servi ce i ptabl es save # servi ce i ptabl es restart
Object Storage Service のプロキシサービスが、ポート 8080 で HTTP PUT および GET 要求をリッスン
し、適切なノードに転送するようになりました。
バグを報告する
10.5.4 . Object St orage Service リング
リングは、ストレージノードのクラスター内でデータが格納される場所を決定します。リングファイル
は、swif t - rin g - b u ild er ツールを使用して生成されます。必要なリングファイルは 3 つで、それぞれオ
ブジェクト、コンテナー、アカウント のサービスが対象です。
クラスター内の各ストレージデバイスはパーティション分割されます。推奨されるパーティション数は 1
デバイスあたり 100 です。各パーティションは物理的にはディスク上のディレクトリです。
partition power (パーティションのべき乗) として知られる、パーティションディレクトリへのファイルシス
テムパスの MD 5 ハッシュからの設定可能なビット数は、そのデバイスのパーティション指数として使用さ
れます。1000 のデバイスがあるクラスターで、各デバイスが 100 パーティションに分かれている場
合、partition count (パーティション数) は 100 000 です。
partition count は partition power の計算に使用され、partition power を 2 で累乗した値が partition
count となります。partition power が小数の場合には切り上げられます。partition count が 100 000 の場
合には、その partition power は 17 となります (16.610 から切り上げした値)。
数学的には次のように表記します: 2 ^ partition power = partition count
リングファイルは、partition power、レプリカ数、パーティションの再割り当て間隔の 3 つのパラメー
ターを使用して生成されます。
第 4 のパラメーターであるゾーンは、デバイスをリングに追加する際に使用されます。ゾーンは、柔軟な抽
象化です。特定のデプロイメント内では、各ゾーンを他のゾーンから可能な限り分離する必要があります。
ゾーンを使用してサイト、キャビネット、ノードに加えて、デバイスまでも示すことができます。
表10.1 リングファイルの構築に使用されるパラメーター
リングファイルのパラメーター
説明
partition power
2 ^ partition power = partition count
パーティション数は、計算後に切り上げ
replica count
min_part_hours
クラスター内でデータが複製される回数
パーティションが移動できるまでの最小時間。この
パラメーターは、min_part_hours で指定された時
間内に 1 つのデータ項目のコピーを複数移動しない
ようにすることで、データの可用性を向上させま
す。
バグを報告する
10.5.5. Object St orage Service のリングファイルの構築
リングファイルは、Object Storage Service に保管されているオブジェクトのトラッキング用に 1 つ、オ
ブジェクトが配置されているコンテナーのトラッキング用に 1 つ、どのコンテナーにどのアカウントがアク
セスできるかをトラッキングするのに 1 つ、合計で 3 つ作成する必要があります。リングファイルは、特
定のデータが保管されている場所を推定するのに使用されます。
95
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
手順10.5 O b ject St o rag e Service のリングファイルの構築
1. swi ft-ri ng -bui l d er コマンドでサービスごとに 1 リングを構築します。ビルダーファイ
ル、partition power、レプリカ数、および パーティション再割り当ての最小間隔 を指定します。
# swi ft-ri ng -bui l d er /etc/swi ft/o bject. bui l d er create part_power
replica_count min_part_hours # swi ft-ri ng -bui l d er
/etc/swi ft/co ntai ner. bui l d er create part_power replica_count
min_part_hours # swi ft-ri ng -bui l d er /etc/swi ft/acco unt. bui l d er
create part_power replica_count min_part_hours
2. リングが作成されたら、account リングにデバイスを追加します
# swi ft-ri ng -bui l d er /etc/swi ft/acco unt. bui l d er ad d
zX-SERVICE_IP: 6 0 0 2/dev_mountpt part_count
ここで、
X は、指定したゾーンに対応する整数に置き換えます (例:z1 はゾーン 1 に対応)。
SERVICE_IP は、アカウント、コンテナー、オブジェクトのサービスがリッスンする必要のあ
る IP アドレスに置き換えます。IP は、Object Storage Service のストレージノードの設定中に
指定した bi nd _i p の値と一致する必要があります。
dev_mountpt は、デバイスがマウントされる/srv/no d e のサブディレクトリに置き換えま
す。
part_count は、partition power (パーティションのべき乗) の計算に使用した partition count
(パーティション数) に置き換えます。
たとえば、次のような条件を仮定します。
アカウント、コンテナー、オブジェクトのサービスがゾーン 1 で 10 . 6 4 . 115. 4 4 をリッス
ンするように設定されている。
デバイスが /srv/no d e/acco unts にマウントされる。
partition count を 100 に設定する必要がある。
以下のコマンドを実行します。
# swi ft-ri ng -bui l d er /etc/swi ft/acco unt. bui l d er ad d z110 . 6 4 . 115. 4 4 : 6 0 0 2/acco unts 10 0
注記
上記の手順は、リングに追加する (クラスター内の各ノード上の) デバイスごとに繰り返して
下さい。
3. また同様に、container と object のリングの両方にデバイスを追加します。
# swi ft-ri ng -bui l d er /etc/swi ft/co ntai ner. bui l d er ad d
zX-SERVICE_IP: 6 0 0 1/dev_mountpt part_count
96
⁠第1 0 章 O penSt ack O bject St orage Service のインストール
# swi ft-ri ng -bui l d er /etc/swi ft/o bject. bui l d er ad d
zX-SERVICE_IP: 6 0 0 0 /dev_mountpt part_count
ここで、変数は前のステップで使用したのと同じ値に置き換えます。
注記
上記のコマンドは、リングに追加する (クラスター内の各ノード上の) デバイスごとに繰り返
して下さい。
4. swi ft-ri ng -bui l d er コマンドの rebal ance 引数を使用して、リング内の複数のデバイスに
パーティションを分散します。
# swi ft-ri ng -bui l d er /etc/swi ft/acco unt. bui l d er rebal ance # swi ftri ng -bui l d er /etc/swi ft/co ntai ner. bui l d er rebal ance # swi ft-ri ng bui l d er /etc/swi ft/o bject. bui l d er rebal ance
5. /etc/swi ft ディレクトリにリングファイルが 3 つあるかどうかを確認します。次のコマンドを
実行してください。
# l s /etc/swi ft/*g z
次のような出力が表示されるはずです。
/etc/swift/account.ring.gz
/etc/swift/object.ring.gz
/etc/swift/container.ring.gz
6. 前の手順で作成したばかりのファイルを含む、/etc/swi ft/ ディレクトリ内の全ファイルの所有
権を ro o t ユーザーと swi ft グループに設定します。
重要
マウントポイントはすべて ro o t が所有し、マウント済みファイルシステムの全 root は
swi ft が所有する必要があります。以下のコマンドを実行する前に、すべてのデバイスがす
でにマウント済みで、それらを ro o t が所有していることを確認してください。
# cho wn -R ro o t: swi ft /etc/swi ft
7. クラスター内の各ノードに各リングビルダーファイルをコピーして、 /etc/swi ft/ 配下に保管し
ます。
# scp /etc/swift/*.gz node_ip_address:/etc/swift
リングを必要とする各サービス用にリングを作成しました。ビルダーファイルを使用してクラスター内の複
数のノードにパーティションを分散し、リングビルダーファイルをクラスター内の各ノードにコピーしまし
た。
97
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
バグを報告する
10.6. Object St orage Service のインストールの検証
概要
OpenStack Object Storage Service のインストールと設定が完了したので、次にこのサービスが正常に稼
働していることを確認します。
1. プロキシサーバーノードで o penstack-co nfi g コマンドを使用して、デバッグレベルロギング
を有効化します。
# openstack-config --set /etc/swift/proxy-server.conf DEFAULT
log_level debug
2. シェルを設定して、admin ロールが割り当てられているユーザーとして Keystone にアクセスしま
す。
swi ft list で、プロキシサーバーに接続できることを確認します。
$ swi ft l i st
Message from syslogd@ thildred-swift-01 at Jun 14 02:46:00 ...
�135 proxy-server Server reports support for api versions: v3.0,
v2.0
3. swi ft コマンドで Object Storage Service ノードにファイルをアップロードします。
$ head -c 10 24 /d ev/urand o m > d ata1. fi l e ; swi ft upl o ad c1
d ata1. fi l e
$ head -c 10 24 /d ev/urand o m > d ata2. fi l e ; swi ft upl o ad c1
d ata2. fi l e
$ head -c 10 24 /d ev/urand o m > d ata3. fi l e ; swi ft upl o ad c1
d ata3. fi l e
4. swi ft コマンドで、Object Storage Service クラスターに格納されているオブジェクトのリスト
を表示します。
$ swi ft l i st $ swi ft l i st c1
data1.file
data2.file
data3.file
結果
3 つのファイルを 1 つのコンテナーにアップロードしました。他のストレージデバイスを確認すると、レプ
リカカウントに応じて、他にも . d ata ファイルがあることが確認できます。
$ fi nd /srv/no d e/ -type f -name "*d ata"
バグを報告する
98
⁠第1 1 章 O penSt ack Image Service のインストール
第11章 OpenStack Image Service のインストール
11.1. Image Service の要件
Image Service をインストールするには、以下の情報が必要となります。
MySQL データベースサーバーの root の認証情報と IP アドレス
Identity Service の管理者の認証情報とエンドポイント URL
OpenStack Object Storage Service をストレージバックエンドとして使用する場合には、サービスのエン
ドポイントの公開 URL が必要となります。
注記
ソフトウェアおよびハードウェアの要件は、前提条件の章を参照してください。
関連トピック:
2章前提条件
バグを報告する
11.2. Image Service パッケージのインストール
OpenStack Image Service には、以下のパッケージが必要です。
openstack-glance
OpenStack Image Service を提供します。
openstack-utils
設定ファイルの編集をはじめとする数々のタスクに役立つサポートユーティリティを提供しま
す。
openstack-selinux
OpenStack 固有の SELinux ポリシーモジュールを提供します。
上記のパッケージをすべてインストールするには、ro o t ユーザーとしてログインして次のコマンドを実行
します。
# yum i nstal l -y o penstack-g l ance o penstack-uti l s o penstack-sel i nux
OpenStack Image Service がインストールされ、設定できる状態となりました。
バグを報告する
11.3. Image Service データベースの作成
以下の手順では、Image Service が使用するデータベースとデータベースユーザーを作成します。これらの
ステップは、データベースサーバーに ro o t ユーザー (または create d b、create user、g rant
99
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
permi ssi o ns の操作に適切なアクセスのあるユーザー) としてログインして実行する必要があります。
1. mysq l コマンドでデータベースサービスに接続します。
# mysq l -u ro o t -p
2. g l ance データベースを作成します。
mysq l > CREATE DATABASE glance;
3. g l ance データベースユーザーを作成し、g l ance データベースへのアクセスを許可します。
mysq l > GRANT ALL ON glance.* TO 'glance'@ '%' IDENTIFIED BY
'PASSWORD';
mysq l > GRANT ALL ON glance.* TO 'glance'@ 'localhost' IDENTIFIED
BY 'PASSWORD';
PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュア
なパスワードの置き換えます。
4. データベースの特権をフラッシュして、設定が即時に反映されるようにします。
mysq l > FLUSH PRIVILEGES;
5. mysq l クライアントを終了します。
mysq l > quit
Image Service データベースが作成されました。このデータベースには、サービスの設定中にデータが投入
されます。
バグを報告する
11.4 . Image Service の設定
11.4 .1. 設定の概要
Image Service を設定するには、以下の作業を完了しておく必要があります。
TLS/SSL の設定
Image Service の認証のための Identity Service の設定 (データベースエントリの作成、接続文字列の設
定、設定ファイルの更新)
ディスクイメージストレージバックエンドの設定 (本ガイドでは Object Storage Service) を使用
Image Service へのアクセスのためのファイアウォール設定
Image Service データベースへのデータ投入
バグを報告する
11.4 .2. Image のアイデンティティレコードの作成
100
⁠第1 1 章 O penSt ack Image Service のインストール
以下の手順では、Image Service をサポートするためのアイデンティティレコードを作成するステップを説
明します。
1. servi ces テナントに ad mi n ロールのあるg l ance ユーザーを作成します。
2. g l ance サービスエントリを作成し、エンドポイントを割り当てます。
これらのエントリは、Image Service によって提供されるボリューム機能を検索してアクセスを試みる他の
OpenStack サービスを補助します。
1. 必要な認証情報が格納されている keysto nerc_ad mi n ファイルに対して so urce コマンドを実
行して、Identity Service の管理者として認証します。
# so urce ~ /keysto nerc_ad mi n
2. Image Service で使用するために g l ance という名前のユーザーを作成します。
# keysto ne user-create --name g l ance --pass PASSWORD
+----------+----------------------------------+
| Property |
Value
|
+----------+----------------------------------+
| email
|
|
| enabled |
True
|
|
id
| 8091eaf121b641bf84ce73c49269d2d1 |
|
name
|
glance
|
| tenantId |
|
+----------+----------------------------------+
PASSWORD は、Image Service が Identity Service との認証を行う際に使用するセキュアなパス
ワードに置き換えます。ユーザーの ID が返されるのでメモしておきます (この ID は後のステップ
で使用します)。
3. ad mi n ロールの ID を取得します。
# keysto ne ro l e-g et ad mi n
ad mi n ロールが存在しない場合には作成します。
$ keystone role-create --name admin
4. servi ces テナントの ID を取得します。
$ keysto ne tenant-l i st | g rep servi ces
servi ces テナントが存在しない場合には作成します。
$ keysto ne tenant-create --name servi ces --d escri pti o n "Servi ces
T enant"
本ガイドでは、すべてのサービスユーザーに単一のテナントを使用しています。詳しい情報
は、サービステナントの作成を参照してください。
5. keysto ne user-ro l e-ad d コマンドで g l ance ユーザーと ad mi n ロールを servi ces テナ
ントのコンテキスト内で一緒にリンクします。
101
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
# keysto ne user-ro l e-ad d --user-i d USERID --ro l e-i d ROLEID -tenant-i d TENANTID
6. g l ance サービスエントリを作成します。
# keysto ne servi ce-create --name g l ance \--type i mag e \-d escri pti o n "G l ance Imag e Servi ce"
+-------------+----------------------------------+
|
Property |
Value
|
+-------------+----------------------------------+
| description |
Glance Image Service
|
|
id
| 7461b83f96bd497d852fb1b85d7037be |
|
name
|
glance
|
|
type
|
image
|
+-------------+----------------------------------+
サービスの ID が返されるのでメモしておきます (この ID は次のステップで使用します)。
7. g l ance エンドポイントエントリを作成します。
# keysto ne end po i nt-create --servi ce-i d SERVICEID \--publ i curl
"http: //IP: 9 29 2" \--ad mi nurl "http: //IP: 9 29 2" \--i nternal url
"http: //IP: 9 29 2"
SERVICEID は、keysto ne servi ce-create コマンドで返された ID に置き換えます。IP は、
Image Service をホストするシステムの IP アドレスまたはホスト名に置き換えます。
Image Service が必要とする、Identity Service の補助エントリがすべて作成されました。
バグを報告する
11.4 .3. データベース接続文字列の設定
Image Service によって使用されるデータベース接続文字列は、/etc/g l ance/g l ance-api . co nf お
よび /etc/g l ance/g l ance-reg i stry. co nf のファイルで定義されます。サービスを起動する前
に、有効なデータベースサーバーをポイントするように更新しておく必要があります。
以下の手順に記載するステップはすべて、Image Service をホストするサーバーに ro o t ユーザーとしてロ
グインして実行する必要があります。
1. o penstack-co nfi g コマンドで /etc/g l ance/g l ance-api . co nf ファイルの
sq l _co nnecti o n 設定キーの値を設定します。
# o penstack-co nfi g --set /etc/g l ance/g l ance-api . co nf \D EFAULT
sq l _co nnecti o n mysq l : //USER: PASS@ IP/DB
以下を置き換えます。
USER: Image Service が使用するデータベースユーザー名(通常は g l ance)
PASS: 選択したデータベースユーザーのパスワード
IP: データベースサーバーの IP アドレスまたはホスト名
102
⁠第1 1 章 O penSt ack Image Service のインストール
DB: Image Service が使用するために作成されたデータベースの名前 (通常はg l ance)
2. o penstack-co nfi g コマンドで /etc/g l ance/g l ance-reg i stry. co nf ファイルの
sq l _co nnecti o n 設定キーの値を設定します。
# o penstack-co nfi g --set /etc/g l ance/g l ance-reg i stry. co nf
\D EFAULT sq l _co nnecti o n mysq l : //USER: PASS@ IP/DB
USER、PASS、IP、DB のプレースホルダー値は、上記のステップで使用したのと同じ値に置き換
えます。
データベース接続文字列が設定されて、Image Service で使用されます。
バグを報告する
11.4 .4 . Ident it y Service を使用するための設定
Identity を使用するように Image の設定ファイルを更新するには、Image Service をホストする各ノード
で、以下に記載する各コマンドを ro o t ユーザーとして実行します。
1. g l ance-api サービスを設定します。
# o penstack-co nfi g --set /etc/g l ance/g l ance-api . co nf
\paste_d epl o y fl avo r keysto ne # o penstack-co nfi g --set
/etc/g l ance/g l ance-api . co nf \keysto ne_authto ken auth_ho st
IP # o penstack-co nfi g --set /etc/g l ance/g l ance-api . co nf
\keysto ne_authto ken auth_po rt 35357 # o penstack-co nfi g --set
/etc/g l ance/g l ance-api . co nf \keysto ne_authto ken auth_pro to co l
http # o penstack-co nfi g --set /etc/g l ance/g l ance-api . co nf
\keysto ne_authto ken ad mi n_tenant_name services # o penstack-co nfi g -set /etc/g l ance/g l ance-api . co nf \keysto ne_authto ken ad mi n_user
glance # o penstack-co nfi g --set /etc/g l ance/g l ance-api . co nf
\keysto ne_authto ken ad mi n_passwo rd PASSWORD
2. g l ance-reg i stry サービスを設定します。
# o penstack-co nfi g --set /etc/g l ance/g l ance-reg i stry. co nf
\paste_d epl o y fl avo r keysto ne # o penstack-co nfi g --set
/etc/g l ance/g l ance-reg i stry. co nf \keysto ne_authto ken auth_ho st
IP # o penstack-co nfi g --set /etc/g l ance/g l ance-reg i stry. co nf
\keysto ne_authto ken auth_po rt 35357 # o penstack-co nfi g --set
/etc/g l ance/g l ance-reg i stry. co nf \keysto ne_authto ken auth_pro to co l
http # o penstack-co nfi g --set /etc/g l ance/g l ance-reg i stry. co nf
\keysto ne_authto ken ad mi n_tenant_name services # o penstack-co nfi g -
103
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
-set /etc/g l ance/g l ance-reg i stry. co nf \keysto ne_authto ken
ad mi n_user glance # o penstack-co nfi g --set /etc/g l ance/g l ancereg i stry. co nf \keysto ne_authto ken ad mi n_passwo rd PASSWORD
ここで、
IP は、アイデンティティサーバーの IP アドレスまたはホスト名に置き換えます。
services は、Image Service が使用するために作成されたテナントの名前に置き換えます (上記の例で
は、この値を servi ces に設定)。
glance は、Image Service 用に作成されたサービスユーザーの名前に置き換えます (上記の例では、こ
の値を g l ance に設定)。
PASSWORD は、サービスユーザーに関連付けられたパスワードに置き換えます。
バグを報告する
11.4 .5. Object St orage Service をイメージの保管に使用する方法
デフォルトでは、Image Service はストレージバックエンドにローカルファイルシステム (fi l e) を使用し
ますが、アップロードしたディスクイメージを保管するには、次にあげるいずれかのストレージバックエン
ドを使用することができます。
fi l e: イメージサーバーのローカルファイルシステム (/ var/l i b/g l ance/i mag es/ ディレクト
リ)
swi ft: OpenStack Object Storage Service
注記
以下の設定手順では、o penstack-co nfi g コマンドを使用します。ただ
し、/etc/g l ance/g l ance-api . co nf ファイルは、手動で更新することも可能です。この
ファイルを手動で更新する場合には、次のように行います。
1. d efaul t_sto re パラメーターが正しいバックエンドに設定されていることを確認します
(例: 'd efaul t_sto re= rbd ')。
2. バックエンドのセクションのパラメーターを更新します (例: 'R BD Sto re O pti o ns' のセ
クション)。
104
⁠第1 1 章 O penSt ack Image Service のインストール
Object Storage Service を使用するように設定を変更するには、以下のステップを ro o t ユーザーとして
実行します。
1. d efaul t_sto re 設定キーを swi ft に設定します。
# o penstack-co nfi g --set /etc/g l ance/g l ance-api . co nf \D EFAULT
d efaul t_sto re swi ft
2. swi ft_sto re_auth_ad d ress 設定キーを Identity Service のパブリックエンドポイントに設定
します。
# o penstack-co nfi g --set /etc/g l ance/g l ance-api . co nf \D EFAULT
swi ft_sto re_auth_ad d ress http: //IP: 50 0 0 /v2. 0 /
3. Object Storage Service サービスでイメージを保管するコンテナーを追加します。
# o penstack-co nfi g --set /etc/g l ance/g l ance-api . co nf \ D EFAULT
swi ft_sto re_create_co ntai ner_o n_put T rue
4. swi ft_sto re_user 設定キーに、認証に使用するテナントとユーザーが含まれるように設定しま
す。TENANT:USER: の形式を使用します。
本ガイドの手順にしたがって Object Storage をデプロイする場合には、上記の値をそれぞれ
servi ces テナントと swi ft ユーザーに置き換えてください。
本ガイドの手順にはしたがわずに Object Storage をデプロイする場合には、上記の値はその環
境の適切な Object Storage テナントとユーザーに置き換える必要があります。
# o penstack-co nfi g --set /etc/g l ance/g l ance-api . co nf \D EFAULT
swi ft_sto re_user services:swift
5. swi ft_sto re_key 設定キーを認証に使用するユーザーのパスワード (Object Storage Service の
デプロイ時に swi ft ユーザー用に指定したパスワード) に設定します。
# o penstack-co nfi g --set /etc/g l ance/g l ance-api . co nf \D EFAULT
swi ft_sto re_key PASSWORD
バグを報告する
11.4 .6. ファイアウォールの設定
イメージストレージサービスによって提供される機能の使用を試みるシステムは、ネットワークを介して、
ポート 9 29 2 でアクセスします。
このアクセスを許可するには、Image Service が 9292 ポートを認識するようにを設定して、イメージスト
レージサービスをホストしているシステム上のファイアウォールがそのポートでネットワークトラフィッ
クを許可するように変更します。以下の手順に記載するステップはすべて、イメージストレージサービスを
ホストするサーバーに ro o t ユーザーとしてログインして実行する必要があります。
1. テキストエディターで /etc/g l ance/g l ance-api . co nf ファイルを開き、以下のパラメー
ターの前に付いているコメント文字を削除します。
bind_host = 0.0.0.0
bind_port = 9292
105
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
2. テキストエディターで /etc/sysco nfi g /i ptabl es ファイルを開きます。
3. このファイルに、ポート 9 29 2 で TCP トラフィックを許可する INPUT ルールを追加します。新
規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。
-A INPUT -p tcp -m multiport --dports 9292 -j ACCEPT
4. /etc/sysco nfi g /i ptabl es ファイルへの変更を保存します。
5. i ptabl es サービスを再起動して、変更を有効にします。
# servi ce i ptabl es restart
ポート 9 29 2 でイメージストレージサービスへの受信接続を許可するようにi ptabl es ファイアウォール
が設定されました。
バグを報告する
11.4 .7. SSL の設定
g l ance-api . co nf ファイルで、以下のオプションを使用して SSL を設定します。
表11.1 B lo ck St o rag e の SSL オプション
設定オプション
説明
cert_fi l e
key_fi l e
ca_fi l e
API サーバーをセキュアに起動する際に使用する証明書ファイルへのパス
API サーバーをセキュアに起動する際に使用する秘密鍵ファイルへのパス
クライアントの接続を検証するのに使用する CA 証明書ファイルへのパス
バグを報告する
11.4 .8. Image Service データベースへのデータ投入
以下の手順では、Image Service データベースへのデータ投入に必要なステップを説明します。これらのス
テップは、Image Service をホストするシステムにログインして実行する必要があります。最初に ro o t
ユーザーとしてログインします。データベース接続文字列は、サービスの設定であらかじめ定義済みである
必要があります。
1. su コマンドで g l ance ユーザーに切り替えます。
# su g l ance -s /bi n/sh
2. g l ance-manag e d b_sync コマンドを実行して、c/etc/g l ance/g l ance-api . co nf およ
び /etc/g l ance/g l ance-reg i stry. co nf で特定されているデータベースを初期化し、デー
タを投入します。
# g l ance-manag e d b_sync
Image Service データベースの初期化とデータ投入が完了しました。
バグを報告する
11.4 .9. ローカルファイルシステムを介したイメージのロードの有効化
106
⁠第1 1 章 O penSt ack Image Service のインストール
デフォルトでは、Image Service は HTTP プロトコルを使用してイメージをインスタンスに提供します。
このため、インスタンスがイメージをロードするプロセスは以下のようになります。
1. Image Service がイメージファイルをユーザー空間のメモリーにロードします。
2. 次に Image Service はイメージ内のデータを HTTP プロトコルにマーシャリングします。
3. イメージデータは TCP スタックを介して Compute Service (o penstack-no va-co mpute) に伝
送されます
4. Compute Service が HTTP データをメモリーバッファーにマーシャリングします。
これは、Image Service と Compute Service が別々のホストにインストールされた、大半のデプロイを対
象とする一般的なプロセスです。しかし、両サービスが同じホストにインストールされた (その結果、同じ
ファイルシステムを共有する) デプロイの場合には、HTTP のステップを完全にスキップした方がより効率
的です。ローカルファイルシステムを介してイメージの送受信をするには、Image Service と Compute
Service の両方を設定する必要があります。
この操作は以下の手順にしたがって行う必要があります。
1. o penstack-no va-co mpute に要求される Image のファイルシステムメタデータを公開するた
めの JSON ドキュメントを作成します。
重要
この手順で生成される Image のファイルシステムメタデータは、新規イメージにのみ適用
されます。既存のイメージ (この手順よりも前からあるイメージ) は、このメタデータを使用
しません。
2. Image Service が JSON ドキュメントを使用するように設定します。
3. o penstack-no va-co mpute が Image Service によって提供されるファイルシステムメタデー
タを使用するように設定します。
注記
Image Service と Compute Service の両方が、別々のノードでホストされている場合、Gluster を
使用して、ローカルファイルシステムの共有をエミュレートすることができます。
この方法については、次のセクションでさらに詳しく説明します。
バグを報告する
1 1 .4 .9 .1 . 異なる複数のイメージ/コンピュートノードにわたるファイルシステム共有の設定
Image Service および Compute Service が異なるノードでホストされている場合でも、イメージをローカ
ルで共有するように設定することが可能です。このためには、Gluster (Red Hat Storage 共有) を使用する
必要があります。
この設定では、Image Service と Compute Service の両方が同じ Gluster ボリュームを共有する必要があ
ります。このためには、それぞれのノードで、同じボリュームをマウントする必要があります。このように
設定することによって、両サービスが同じボリュームにローカルでアクセスすることができるので、ローカ
ルファイルシステムを介したイメージのロードが可能となります。
107
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
この設定には、以下の作業を行う必要があります。
1. Image Service と Compute Service をホストするノードで Gluster に必要なパッケージをインス
トール/設定します。
2. Image Service と Compute Service の両方が共有する GlusterFS ボリュームを作成します。
3. Image Service と Compute Service のノードに GlusterFS ボリュームをマウントします。
上記の手順の説明は、Configuring Red Hat OpenStack with Red Hat Storageの最新バージョンを参照してく
ださい。
GlusterFS ボリュームの設定が済み、Image Service ノードにマウントした後には、Compute Service
ノードも設定して、マウントした Gluster ボリュームを使用できるようにする必要があります。この設定は
以下の手順で行います。
1. Compute Service ノードにログインします。
2. そこから Gluster に必要なパッケージをインストールします。
# yum i nstal l -y g l usterfs g l usterfs-fuse
3. 以下の手順にしたがって、Gluster ボリュームをロードするために必要なドライバーが有効化され
ていることを確認してください。
a. /etc/no va/no va. co nf 設定ファイルを開きます。
b. リモートボリューム用の Li bvi rt ハンドラー (l i bvi rt_vo l ume_d ri vers) を探しま
す。このパラメーターの値は、異なるボリュームタイプ別のドライバーのコンマ区切りリ
ストで指定する必要があります。
c. Compute Service デプロイメントによっては、l i bvi rt_vo l ume_d ri vers がすでに有
効化 (アンコメント) されていることがあります。その場合には、Gluster ボリュームのド
ライバー
(g l usterfs= no va. vi rt. l i bvi rt. vo l ume. Li bvi rtG l usterfsVo l umeD ri ve
r) もリストされていることを確認してください。
l i bvi rt_vo l ume_d ri vers パラメーターが無効化されている場合、またはリストされ
ていない場合には、適宜ファイルを編集してください。
4. Compute Service が Gluster ボリュームを使用するように設定します。
# o penstack-co nfi g --set /etc/no va/no va-co nf \D EFAULT
g l usterfs_mo unt_po i nt_base GLUSTER_MOUNT
GLUSTER_MOUNT は、Gluster ボリュームがマウントされるディレクトリに置き換えます。
5. Compute Service を再起動します。
# servi ce o penstack-no va-co mpute restart
上記の手順を完了すると、Image Service と Compute Service の両方で、同じファイルシステムへのアク
セスをローカルファイルシステムにアクセスするかのようにエミュレートできるようになります。これで、
ローカルファイルシステムを介したイメージのロードを有効にすることもできます。
バグを報告する
1 1 .4 .9 .2 . Im age Se rvice がローカルファイルシステムを介してイメージを提供するための設定
108
⁠第1 1 章 O penSt ack Image Service のインストール
HTTP ではなく、ローカルファイルシステムを使用したイメージのロードを有効にするには、まず最初に
Image Service がローカルファイルシステムメタデータを o penstack-no va-co mpute サービスに公開
する必要があります。この操作は以下の手順に実行します。
1. Image Service が使用するファイルシステムのマウントポイントを特定します。
# df
Filesystem
/dev/sda3
devtmpfs
tmpfs
1K-blocks
Used Available Use% Mounted on
51475068 10905752 37947876 23% /
2005504
0
2005504
0% /dev
2013248
668
2012580
1% /dev/shm
たとえば、Image Service が /d ev/sd a3 ファイルシステムを使用する場合には、対応するマウン
トポイントは / です。
2. 以下のコマンドで、マウントポイントの一意識別子を作成します。
# uui d g enad5517ae-533b-409f-b472-d82f91f41773
出力の内容をメモしておきます。この情報は、次のステップで使用します。
3. . jso n の拡張子でファイルを作成します。
4. そのファイルを開いて、以下の情報を追加します。
{
"id": "UID",
"mountpoint": "MOUNTPT"
}
ここで、
UID は、前のステップで作成した一意識別子に置き換えます。
MOUNTPT は、Image Service のファイルシステムのマウントポイント (最初のステップで特定
したマウントポイント) に置き換えます。
5. g l ance サービスが、この JSON ファイルを使用するように設定します。
# o penstack-co nfi g --set /etc/g l ance/g l ance-api . co nf \D EFAULT
sho w_mul ti pl e_l o cati o ns T rue
# o penstack-co nfi g --set /etc/g l ance/g l ance-api . co nf \D EFAULT
fi l esystem_sto re_metad ata_fi l e JSON_PATH
JSON_PATH は、JSON ファイルへの完全なパスに置き換えます。
重要
この手順で生成される Image のファイルシステムメタデータは、新規イメージにのみ適用されま
す。既存のイメージ (この手順よりも前からあるイメージ) は、このメタデータを使用しません。
109
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
バグを報告する
1 1 .4 .9 .3. Co m put e Se rvice がローカルファイルシステムメタデータを使用するための設定
必読トピック:
「Image Service がローカルファイルシステムを介してイメージを提供するための設定」
14章OpenStack Compute Service のインストール
Image Service がファイルシステムメタデータを公開するように設定した後には、そのメタデータを
Compute Service が使用するように設定することができます。この操作により o penstack-no vaco mpute がローカルファイルシステムからイメージをロードできるようになります。
以下の手順にしたがって設定します。
1. fi l e: // スキームを使ったダイレクト URL の使用を有効にするようにo penstack-no vaco mpute を設定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
al l o wed _d i rect_url _schemes fi l e
2. Image Service のファイルシステム用のエントリを作成します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \i mag e_fi l e_url
fi l esystems FSENTRY
FSENTRY は Image Service のファイルシステムに割り当てる名前に置き換えます。
3. Image Service がローカルファイルシステムメタデータを公開するために使用する . jso n ファイ
ルを開きます。次のステップでは、このファイルに記載されている情報を使用します。
4. 前のステップで作成したエントリを、Image Service によって公開されるファイルシステムメタ
データに関連付けます。
# o penstack-co nfi g --set /etc/no va/no va. co nf
\i mag e_fi l e_url : FSENTRY i d UID
# o penstack-co nfi g --set /etc/no va/no va. co nf
\i mag e_fi l e_url : FSENTRY mo untpo i nt MOUNTPT
ここで、
UID は、Image Service が使用する一意識別子に置き換えます。Image Service によって使用さ
れる . jso n ファイルでは、UID は "i d ": の値です。
MOUNTPT は Image Service のファイルシステムが使用するマウントポイントに置き換えま
す。Image Service が使用する . jso n ファイルでは、MOUNTPT は "mo untpo i nt": の値で
す。
バグを報告する
11.5. イメージ API およびレジストリサービスの起動
110
⁠第1 1 章 O penSt ack Image Service のインストール
Glance の設定が完了したので、次に ro o t ユーザーとして g l ance-api と g l ance-reg i stry のサー
ビスを起動します。
# servi ce o penstack-g l ance-reg i stry start # servi ce o penstack-g l ance-api
start # chkco nfi g o penstack-g l ance-reg i stry o n # chkco nfi g o penstackg l ance-api o n
バグを報告する
11.6. Image Service インストールの検証
11.6.1. テストディスクイメージの取得
ディスクイメージは Red Hat からダウンロードすることが可能です。このイメージは、Image Service へ
のイメージのインポートのテストに使用することができます (「ディスクイメージのアップロード」を参
照)。
新規イメージは、Red Hat Enterprise Linux 6 の各マイナーリリースで提供され、Red Hat Enterprise
Linux 6 Server チャンネルのダウンロードセクションで入手することができます。
https://rhn.redhat.com/rhn/software/channel/downloads/D ownload.do?cid=16952
以下の wg et コマンドには、URL の例を使用しています。
# mkd i r /tmp/i mag es # cd /tmp/i mag es # wg et -c -O rhel -6 -server-x86 _6 4 d i sc1. i so "https: //co ntent-web. rhn. red hat. co m/rhn/i so s/xxxx/rhel -6 server-x86 _6 4 -d i sc1. i so xxxxxxxx"
バグを報告する
11.6.2. カスタム仮想マシンイメージの構築
Red Hat Enterprise Linux OpenStack Platform には、限られたユーザー入力で、オペレーティングシステ
ムの自動インストールを実行するためのライブラリとユーティリティの一式である Oz が同梱されていま
す。Oz は、Image Service にアップロードして仮想マシンインスタンスの起動に使用することができる仮
想マシンイメージの構築にも役立ちます。
Template D escription Language (TD L) ファイル: Oz は、XML ベースの TD L ファイル形式の入力を
受け入れます。このファイルには、インストールするオペレーティングシステム、インストールメディ
アのソース、追加のパッケージやそのイメージに適用する必要のあるカスタマイズの変更を記述されま
す。
vi rt-sysprep: Linux ベースの仮想マシンイメージは、Image Service にアップロードする前に
vi rt-sysprep コマンドを実行しておくことも推奨します。vi rt-sysprep コマンドは、仮想環境で
使用するための準備として、仮想イメージを再初期化します。デフォルトの操作には、SSH キーの削
除、永続的な MAC アドレスの削除、ユーザーアカウントの削除などが含まれます。
vi rt-sysprep コマンドは、libguestfs-tools パッケージによって提供されます。
111
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
重要
Oz は d efaul t Libvirt ネットワークを活用します。no va-netwo rk サービスまたは何らかの
OpenStack Networking コンポーネントを実行しているシステムでは、Oz を使用したイメージの構
築を行わないことを推奨します。
手順11.1 O z を使用したイメージの構築
1. yum コマンドで oz および libguestfs-tools のパッケージをインストールします。
# yum i nstal l -y o z l i bg uestfs-to o l s
2. Red Hat Enterprise Linux 6 Server installation D VD ISO ファイルをダウンロードします。
Oz は、ネットワークベースのインストールメディアの使用をサポートしています。以下の手順で
は、Red Hat Enterprise Linux 6 D VD ISO を使用します。
3. Oz で使用する TD L ファイルをテキストエディターで作成します。以下の例では、基本的な TD L
ファイルの構文を示しています。
例11.1 T D L ファイル
以下のテンプレートは、Red Hat Enterprise Linux 6 ディスクイメージの作成に使用することが
できます。ro o t ユーザーのパスワードを設定する ro o tpw 要素と、D VD ISO へのパスを設定
する i so 要素の使用方法に特に注意してください。
​< template><name>rhel65_x86_64</name><description>Red Hat 6.5
x86_64 template</description><os><name>RHEL-6</name>
<version>4</version><arch>x86_64</arch><rootpw>PASSWORD</rootpw>
<install type='iso'><iso>file:///home/user/rhel-server-6.5x86_64-dvd.iso</iso></install></os><commands><command
name='console'>
​sed -i 's/ rhgb//g' /boot/grub/grub.conf
​sed -i 's/ quiet//g' /boot/grub/grub.conf
​sed -i 's/ console=tty0 / serial=tty0 console=ttyS0,115200n8 /g'
/boot/grub/grub.conf
​
</command></commands></template>
​
​
​
​
​
​
​
​
​
​
​
​
​
4. o z-i nstal l コマンドを実行してイメージを構築します。
112
⁠第1 1 章 O penSt ack Image Service のインストール
4. o z-i nstal l コマンドを実行してイメージを構築します。
# o z-i nstal l -u -d 3 TDL_FILE
構文
-u を指定することにより、イメージへのカスタマイズの変更は、ゲストオペレーティングシス
テムのインストール後に適用されます。
-d 3 を指定することにより、エラー、警告、情報提供メッセージの表示が有効になります。
TDL_FILE には、TD L ファイルへのパスを指定します。
デフォルトでは、Oz は構築したイメージを /var/l i b/l i bvi rt/i mag es/ ディレクトリに保
管します。この場所は、/etc/o z/o z. cfg 設定ファイルを編集して設定することができます。
5. Image Service にアップロードする準備として、イメージに vi rt-sysprep コマンドを実行し、
再初期化します。FILE は、ディスクイメージへのパスに置き換えてください。
# vi rt-sysprep --ad d FILE
特定の操作を有効/無効にする方法については、man vi rt-sysprep コマンドを実行して vi rtsysprep の man ページを参照してください。
Red Hat Enterprise Linux ベースのイメージの作成が正常に完了し、Image Service に追加できる状態とな
りました。
注記
Red Hat Enterprise Linux OpenStack Platform 4 リリースでは、OpenStack を介してインスタン
スをデプロイするための RAM ディスクおよびディスクイメージの構築を自動化する D isk Image
Builder は、テクニカルプレビューツールです。ユーザーおよびオペレーターは、手動でスクリプト
を作成して、RAM ディスクおよびディスクイメージを構築することが可能ですが、自動化によりカ
スタマイズとテストをより簡単に行うことができます。
テクノロジープレビューとして提供されている機能のサポートスコープについてのさらに詳しい情報
は、https://access.redhat.com/support/offerings/techpreview/ を参照してください。
バグを報告する
11.6.3. ディスクイメージのアップロード
Image Service に保管されているイメージをベースにインスタンスを起動するには、Image Service に 1 つ
または複数のイメージをあらかじめアップロードしておく必要があります。
以下の手順を実行するには、OpenStack 環境での使用に適したイメージが作成済みまたはダウンロード済
みである必要があります。
113
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
重要
Linux ベースの仮想マシンイメージはすべて、Image Service にアップロードする前に vi rtsysprep コマンドを実行しておくことを推奨します。vi rt-sysprep コマンドは、仮想環境で使
用するための準備として、仮想イメージを再初期化します。デフォルトの操作には、SSH キーの削
除、永続的な MAC アドレスの削除、ユーザーアカウントの削除などが含まれます。
vi rt-sysprep コマンドは、RHEL libguestfs-tools パッケージによって提供されます。ro o t ユー
ザーとして以下のコマンドを実行してください。
# yum i nstal l -y l i bg uestfs-to o l s # vi rt-sysprep --ad d FILE
特定の操作の有効化/無効化についての説明は、以下のコマンドを実行して、このコマンドの man
ページを参照してください。
# man vi rt-sysprep
Image Service にイメージをアップロードする手順
1. ユーザーに関連付けられた keysto nerc ファイルを読み込んで、Identity Service との認証に使用
する環境変数を設定します (管理者アカウントは必要ありません)。
# so urce ~/keystonerc_userName
2. g l ance i mag e-create コマンドでディスクイメージをインポートします。
# g l ance i mag e-create --name "NAME" \--i s-publ i c IS_PUBLIC \-d i sk-fo rmat DISK_FORMAT \--co ntai ner-fo rmat CONTAINER_FORMAT \-fi l e IMAGE
ここで、
NAME には、ユーザーがディスクイメージを参照する名前を指定します。
IS_PUBLIC には true または fal se を指定します。
true: 全ユーザーがイメージを表示/使用することができます。
fal se: 管理者のみがイメージを表示/使用することができます。
DISK_FORMAT には、ディスクイメージの形式を指定します。有効な値に
は、aki 、ami 、ari 、i so 、q co w2、raw、vd i 、vhd 、vmd k が含まれます。
仮想マシンのディスクイメージの形式が未知の場合には、q emu-i mg i nfo コマンドで確認し
ます。
例11.2 q emu-i mg i nfo の使用方法
以下の例では、q emu-i mg i nfo を使用して、. /R HEL6 5. i mg というファイルに保管さ
れているディスクイメージの形式を確認します。
114
⁠第1 1 章 O penSt ack Image Service のインストール
# q emu-i mg i nfo . /R HEL6 5. i mg
image: ./RHEL65.img
file format: q co w2
virtual size: 5.0G (5368709120 bytes)
disk size: 136K
cluster_size: 65536
CONTAINER_FORMAT には、イメージのコンテナーの形式を指定します。イメージに関連した
追加のメタデータが含まれる o vf や ami などのファイル形式でイメージがパッケージされて
いない限りは、コンテナーの形式は bare となります。
IMAGE には、イメージファイルへのローカルパスを指定します (アップロード用)。
g l ance i mag e-create の構文についてのさらなる情報を参照するには、次のコマンドを実行し
てください。
# g l ance hel p i mag e-create
注記
アップロードするイメージがローカルではアクセスできないが、リモートの URL でアクセ
スできる場合には、--fi l e パラメーターの代わりに --l o cati o n パラメーターで URL
を指定します。
ただし、--co py-fro m 引数を指定しなければ、Image Service はオブジェクトストアにイ
メージをコピーせず、代わりに、毎回必要に応じてイメージにアクセスします。
例11.3 Imag e Service へのイメージのアップロード
以下の例では、rhel -6 5. q co w2 という名前のファイルの q co w2 形式のイメージを Image
Service にアップロードします。このイメージは、一般がアクセス可能な R HEL 6 . 5 という名
前のイメージとしてサービス内に作成されます。
# g l ance i mag e-create --name "R HEL 6 . 5" --i s-publ i c true --d i skfo rmat q co w2 \--co ntai ner-fo rmat bare \--fi l e rhel -6 5. q co w2
+------------------+--------------------------------------+
| Property
| Value
|
+------------------+--------------------------------------+
| checksum
| 2f81976cae15c16ef0010c51e3a6c163
|
| container_format | bare
|
| created_at
| 2013-01-25T14:45:48
|
| deleted
| False
|
| deleted_at
| None
|
| disk_format
| qcow2
|
| id
| 0ce782c6-0d3e-41df-8fd5-39cd80b31cd9 |
| is_public
| True
|
| min_disk
| 0
|
| min_ram
| 0
|
| name
| RHEL 6.5
|
| owner
| b1414433c021436f97e9e1e4c214a710
|
115
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
| protected
| False
|
| size
| 25165824
|
| status
| active
|
| updated_at
| 2013-01-25T14:45:50
|
+------------------+--------------------------------------+
3. イメージが正常にアップロードされたことを検証するには、g l ance i mag e-l i st コマンドを使
用します。
# g l ance i mag e-l i st
+--------------+----------+-------------+------------------+---------+--------+
| ID
| Name
| Disk Format | Container Format |Size
| Status |
+--------------+----------+-------------+------------------+---------+--------+
| 0ce782c6-... | RHEL 6.5 | qcow2
| bare
|213581824 | active |
+--------------+----------+-------------+------------------+---------+--------+
アップロードしたイメージについての詳しい情報を確認するには、イメージの識別子を使用して
g l ance i mag e-sho w コマンドを実行します。
# g l ance i mag e-sho w 0ce782c6-0d3e-41df-8fd5-39cd80b31cd9
+------------------+--------------------------------------+
| Property
| Value
|
+------------------+--------------------------------------+
| checksum
| 2f81976cae15c16ef0010c51e3a6c163
|
| container_format | bare
|
| created_at
| 2013-01-25T14:45:48
|
| deleted
| False
|
| disk_format
| qcow2
|
| id
| 0ce782c6-0d3e-41df-8fd5-39cd80b31cd9 |
| is_public
| True
|
| min_disk
| 0
|
| min_ram
| 0
|
| name
| RHEL 6.5
|
| owner
| b1414433c021436f97e9e1e4c214a710
|
| protected
| False
|
| size
| 25165824
|
| status
| active
|
| updated_at
| 2013-01-25T14:45:50
|
+------------------+--------------------------------------+
ディスクイメージが Image Service に正常にアップロードされました。このディスクイメージは、
OpenStack 環境内で仮想マシンインスタンスを起動するためのベースとして使用することができるように
なりました。
関連トピック:
「テストディスクイメージの取得」
「カスタム仮想マシンイメージの構築」
116
⁠第1 1 章 O penSt ack Image Service のインストール
バグを報告する
117
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
第12章 OpenStack Block Storage のインストール
12.1. Block St orage のインストール概要
OpenStack では、Block Storage の機能は、Block Storage Service または ci nd er と総称される異なる
3 つのサービスによって提供されます。3 つのサービスは以下のとおりです。
API サービス (o penstack-ci nd er-api )
API サービスは Block Storage 要求のための HTTP エンドポイントを提供します。受信要求を受
けとると、API はアイデンティティ要件が満たされているかどうかを確認し、その要求を、必要
とされる Block Storage のアクションを示すメッセージに変換します。このメッセージは、次に
メッセージブローカーに送信され、他の Block Storage サービスによって処理されます。
スケジューラーサービス (o penstack-ci nd er-sched ul er)
スケジューラーサービスは、メッセージキューから要求を読み取り、その要求に対してアクショ
ンを起こす必要のある Block Storage ホストを判断します。スケジューラーは次に選択したホス
ト上のボリュームサービスと通信し、要求を処理します。
ボリュームサービス (o penstack-ci nd er-vo l ume)
ボリュームサービスは、Block Storage デバイスとの対話を管理します。スケジューラーから要
求が送られると、ボリュームサービスは必要に応じてボリュームを作成/変更/削除します。
実稼働環境でこれら 3 つのサービスを併置することは可能ですが、ボリュームサービスのインスタンスを多
数デプロイして、API およびスケジューラーサービスのインスタンス (単一または複数) でそれらを管理する
構成の方が、より一般的です。
図12.1 B lo ck St o rag e アーキテクチャー
本章では、このようなデプロイメントの作成を支援するために、Block Storage Service のインストール手
順を以下のような段階に分けて説明します。
118
⁠第1 2 章 O penSt ack Block St orage のインストール
B lo ck St o rag e のインストールの準備
Block Storage Service をインストールする前に実行しておく必要のあるステップ。この手順に
は、アイデンティティレコード、データベース、データベースユーザーの作成が含まれます。
B lo ck St o rag e の共通設定
すべての Block Storage Serviceに共通したステップ。このため、環境内の全ストレージノード
で実行する必要があります。この手順には、正しいデータベースとメッセージブローカーを参照
するためのサービスの設定が含まれます。また、データベースの初期化とデータ投入も含まれま
す。この作業を実行する必要があるのは 1 回のみで、任意の Block Storage システムから実行す
ることができます。
ボリュームサービス固有の設定
ボリュームサービスをホストするシステム固有のステップ。このため、Block Storage デバイス
への直接のアクセスが必要です。
上記の設定タスクに加えて、サービスの起動、完成したデプロイメントの検証ステップについても説明しま
す。
関連トピック:
「Block Storage の必須設定」
「Block Storage 共通の設定」
「ボリュームサービス固有の設定」
「Block Storage Service の起動」
バグを報告する
12.2. Block St orage の必須設定
12.2.1. Block St orage データベースの作成
以下の手順では、Block Storage Service で使用するデータベースおよびデータベースユーザーを作成しま
す。これらのステップは、データベースサーバーに ro o t ユーザーとしてログインして実行する必要があり
ます。
1. mysq l コマンドでデータベースに接続します。
# mysq l -u ro o t -p
2. ci nd er データベースを作成します。
mysq l > CREATE DATABASE cinder;
3. ci nd er データベースユーザーを作成し、ci nd er データベースへのアクセスを許可します。
mysq l > GRANT ALL ON cinder.* TO 'cinder'@ '%' IDENTIFIED BY
'PASSWORD';
mysq l > GRANT ALL ON cinder.* TO 'cinder'@ 'localhost' IDENTIFIED
BY 'PASSWORD';
119
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュア
なパスワードの置き換えます。
4. データベースの特権をフラッシュして、設定が即時に反映されるようにします。
mysq l > FLUSH PRIVILEGES;
5. mysq l クライアントを終了します。
mysq l > quit
Block Storage データベースが作成されました。このデータベースには、サービスの設定中にデータが投入
されます。
バグを報告する
12.2.2. Block St orage 用のアイデンティティレコードの作成
以下の手順では、Block Storage Service をサポートするためのアイデンティティレコードを作成するス
テップを説明します。
1. servi ces テナントに ad mi n ロールのある ci nd er ユーザーを作成します。
2. ci nd er サービスエントリを作成し、エンドポイントを割り当てます。
これらのエントリは、Block Storage Service に対する認証を提供し、ボリューム機能を検索してアクセス
を試みる他の OpenStack サービスを支援します。
1. 必要な認証情報が格納されている keysto nerc_ad mi n ファイルに対して so urce コマンドを実
行して、Identity Service の管理者として認証します。
# so urce ~ /keysto nerc_ad mi n
2. Block Storage Service で使用するために ci nd er という名前のユーザーを作成します。
# keysto ne user-create --name ci nd er --pass PASSWORD
+----------+----------------------------------+
| Property |
Value
|
+----------+----------------------------------+
| email
|
|
| enabled |
True
|
|
id
| e1765f70da1b4432b54ced060139b46a |
|
name
|
cinder
|
| tenantId |
|
+----------+----------------------------------+
PASSWORD は、Block Storage Service が Identity Service との認証を行う際に使用するセキュ
アなパスワードに置き換えます。作成したユーザーの ID が返されるのでメモしておきます。この
ID は後のステップで使用します。
3. ad mi n ロールの ID を取得します。
# keysto ne ro l e-g et ad mi n
120
⁠第1 2 章 O penSt ack Block St orage のインストール
ad mi n ロールが存在しない場合には作成します。
$ keystone role-create --name admin
4. servi ces テナントの ID を取得します。
$ keysto ne tenant-l i st | g rep servi ces
servi ces テナントが存在しない場合には作成します。
$ keysto ne tenant-create --name servi ces --d escri pti o n "Servi ces
T enant"
本ガイドでは、すべてのサービスユーザーに単一のテナントを使用しています。詳しい情報
は、サービステナントの作成を参照してください。
5. keysto ne user-ro l e-ad d コマンドで ci nd er ユーザー、ad mi n ロール、および
servi ces テナントをリンクします。
# keysto ne user-ro l e-ad d --user-i d USERID --ro l e-i d ROLEID -tenant-i d TENANTID
ユーザー、ロール、テナントの ID は、上記のステップで取得した ID に置き換えます。
6. ci nd er サービスエントリを作成します。
# keysto ne servi ce-create --name ci nd er \--type vo l ume \-d escri pti o n "C i nd er Vo l ume Servi ce"
+-------------+----------------------------------+
|
Property |
Value
|
+-------------+----------------------------------+
| description |
Cinder Volume Service
|
|
id
| dfde7878671e484c9e581a3eb9b63e66 |
|
name
|
cinder
|
|
type
|
volume
|
+-------------+----------------------------------+
サービスの ID が返されるのでメモしておきます。この ID は次のステップで使用します。
7. ci nd er エンドポイントエントリを作成します。
# keysto ne end po i nt-create --servi ce-i d SERVICEID \--publ i curl
"http: //IP: 8776 /v1/\$(tenant_i d )s" \--ad mi nurl
"http: //IP: 8776 /v1/\$(tenant_i d )s" \--i nternal url
"http: //IP: 8776 /v1/\$(tenant_i d )s"
SERVICEID は、keysto ne servi ce-create コマンドで返された ID に置き換えます。IP は、
Block Storage Service API (o penstack-ci nd er-api ) をホストするシステムの IP アドレスま
たはホスト名に置き換えます。
121
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
重要
API サービスインスタンスを複数インストールして実行する場合には、各インスタンスの IP
アドレスまたはホスト名に以下のステップを繰り返す必要があります。
Block Storage Service が必要とする、Identity Service の補助エントリがすべて作成されました。
バグを報告する
12.3. Block St orage 共通の設定
12.3.1. Block St orage Service パッケージのインストール
OpenStack Block Storage Service には以下のパッケージが必要です。
openstack-cinder
Block Storage Service および関連する設定ファイルを提供します。
openstack-utils
設定ファイルの編集をはじめとする数々のタスクに役立つサポートユーティリティを提供しま
す。
openstack-selinux
OpenStack 固有の SELinux ポリシーモジュールを提供します。
上記のパッケージをすべてインストールするには、ro o t ユーザーとしてログインして次のコマンドを実行
します。
# yum i nstal l -y o penstack-ci nd er o penstack-uti l s o penstack-sel i nux
Block Storage Service がインストールされ、設定できる状態となりました。
バグを報告する
12.3.2. 認証の設定
Block Storage Service は、認証に Idenitity Service を使用するように明示的に設定する必要があります。
以下の手順に記載するステップにしたがって設定を行ってください。
以下の手順に記載するステップはすべて、Block Storage Service をホストする各システムに ro o t ユー
ザーとしてログインして実行する必要があります。
1. o penstack-co nfi g コマンドで、認証ストラテジー (auth_strateg y) 設定キーを keysto ne
に設定します。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
auth_strateg y keysto ne
2. 認証ホスト (auth_ho st) 設定キーをアイデンティティサーバーの IP アドレスまたはホスト名に設
定します。
122
⁠第1 2 章 O penSt ack Block St orage のインストール
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf
\keysto ne_authto ken auth_ho st IP
IP は、アイデンティティサーバーの IP アドレスまたはホスト名に置き換えます。
3. 管理テナント名 (ad mi n_tenant_name) 設定キーを Block Storage Service が使用するために作
成されたテナントの名前に設定します。本ガイドでは、例に services を使用しています。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf
\keysto ne_authto ken ad mi n_tenant_name services
4. 管理ユーザー名 (ad mi n_user) 設定キーを Block Storage Service で使用するために作成された
ユーザーの名前に設定します。本ガイドでは、例に cinder を使用しています。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf
\keysto ne_authto ken ad mi n_user cinder
5. 管理者パスワード (ad mi n_passwo rd ) 設定キーを上記のステップで指定したユーザーに関連付け
られたパスワードに設定します。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf
\keysto ne_authto ken ad mi n_passwo rd PASSWORD
Block Storage Service が使用する認証キーが設定され、サービスの起動時に適用されます。
バグを報告する
12.3.3. SSL の設定
以下に記載する ci nd er. co nf ファイル内のオプションを使用して、SSL を設定します。
表12.1 B lo ck St o rag e の SSL オプション
設定オプション
説明
backl o g
tcp_keepi d l e
ssl _ca_fi l e
ssl _cert_fi l e
ssl _key_fi l e
ソケット設定に使用するバックログ数
各サーバーソケットに TCP_KEEPID LE の値を秒数単位で設定
クライアントの接続を検証するのに使用する CA 証明書ファイル
サーバーをセキュアに起動する際に使用する証明書ファイル
サーバーをセキュアに起動する際に使用する秘密鍵ファイル
バグを報告する
12.3.4 . メッセージブローカーの設定
必読トピック:
「メッセージブローカーの設定」
Block Storage Service は、メッセージブローカーの種別、場所、認証情報を指定して明示的に設定する必
要があります。
以下の手順に記載するステップはすべて、Block Storage Service をホストする各システムに ro o t ユー
ザーとしてログインして実行する必要があります。
123
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
1. 全般設定
o penstack-co nfi g ユーティリティーを使用して、rpc_backend 設定キーの値を Qpid に設
定します。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
rpc_backend ci nd er. o penstack. co mmo n. rpc. i mpl _q pi d
2. o penstack-co nfi g ユーティリティを使用して、q pi d _ho stname 設定キーの値を Qpid サー
バーのホスト名に設定します。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
q pi d _ho stname IP
IP は、メッセージブローカーの IP アドレスまたはホスト名に置き換えます。
3. 認証の設定
Qpid が受信接続を認証するように設定している場合には、Block Storage の設定で有効な Qpid
ユーザーの詳細情報を提供する必要があります。
a. o penstack-co nfi g ユーティリティを使用して、q pi d _username 設定キーの値を、
Block Storage Service がメッセージブローカーとの通信時に使用する必要がある Qpid
ユーザーのユーザー名に設定します。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
q pi d _username USERNAME
USERNAME は、必要な Qpid ユーザーの名前に置き換えます。
b. o penstack-co nfi g ユーティリティを使用して、q pi d _passwo rd 設定キーの値を、
Block Storage Service がメッセージブローカーとの通信時に使用する Qpid ユーザーのパ
スワードに設定します。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
q pi d _passwo rd PASSWORD
PASSWORD は、Qpid ユーザーのパスワードに置き換えます。
4. 暗号化の設定
Qpid が SSL を使用するように設定してある場合には、Block Storage Service にこの選択肢を通
知する必要があります。o penstack-co nfi g ユーティリティを使用して、q pi d _pro to co l
設定キーの値を ssl に設定します。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
q pi d _pro to co l ssl
q pi d _po rt 設定キーの値は、56 71 に設定する必要があります。これは、Qpid が SSL を使用中
にこの異なるポートをリッスンするためです。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
q pi d _po rt 56 71
124
⁠第1 2 章 O penSt ack Block St orage のインストール
重要
SSL を使用する Qpid メッセージブローカーと通信するには、以下の条件を満たしている必
要があります。
nss パッケージがインストール済みであること。
システム NSS データベース (/etc/pki /nssd b/) に適切な認証局の証明書がインス
トール済みであること。
certto o l コマンドで NSS データベースから証明書をインポートすることができます。詳
しくは、certto o l の man ページ (man certto o l ) を参照してください。
メッセージブローカーおよび提示される認証スキームを使用するように Block Storage Service が設定され
ました。
関連トピック:
「ローカルパスワードファイルを使用した SASL の設定」
バグを報告する
12.3.5. データベース接続文字列の設定
Block Storage Service によって使用されるデータベース接続文字列 (sq l _co nnecti o n 設定キーの値)
は、/etc/ci nd er/ci nd er. co nf ファイルで定義されます。サービスを起動する前に、有効なデータ
ベースサーバーをポイントするように更新しておく必要があります。
以下のコマンドは、Block Storage Service をホストする各システムで ro o t ユーザーとして実行する必要
があります。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
sq l _co nnecti o n mysq l : //USER: PASS@ IP/DB
以下を置き換えます。
USER: Block Storage Service が使用するデータベース名 (通常は ci nd er)
PASS: 選択したデータベースユーザーのパスワード
IP: データベースサーバーの IP アドレスまたはホスト名
DB: Block Storage Service が使用するために作成されたデータベースの名前 (通常はci nd er)
データベース接続文字列が設定されて、Block Storage Service で使用されます。
バグを報告する
12.3.6. ファイアウォールの設定
Block Storage Service が提供する機能を使用しようとするシステムは、ネットワークを介して、ポート
326 0 および 8776 を使用してアクセスします。
125
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
このアクセスを許可するには、Block Storage Service をホストするシステムのファイアウォール設定を変
更して、これらのポートでのネットワークトラフィックを許可する必要があります。以下の手順に記載する
ステップはすべて、Block Storage Service をホストする各システムに ro o t ユーザーとしてログインして
実行する必要があります。
1. テキストエディターで /etc/sysco nfi g /i ptabl es ファイルを開きます。
2. このファイルに、ポート 326 0 および 8776 で TCP トラフィックを許可する INPUT ルールを追
加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要が
あります。
-A INPUT -p tcp -m multiport --dports 3260,8776 -j ACCEPT
3. /etc/sysco nfi g /i ptabl es ファイルへの変更を保存します。
4. i ptabl es サービスを再起動して、変更を有効にします。
# servi ce i ptabl es restart
ポート 326 0 および 8776 で Block Storage Service への受信接続を許可するように i ptabl es ファイ
アウォールが設定されました。
バグを報告する
12.3.7. Block St orage データベースへのデータ投入
以下の手順では、Block Storage Service データベースへのデータ投入に必要なステップを説明します。こ
れらのステップは、Block Storage Service の 1 つをホストするシステムにログインして実行する必要があ
ります。データベース接続文字列は、サービスの設定であらかじめ定義済みである必要があります。
重要
この手順は、データベースの初期化とデータ投入のために 1 回のみ実行する必要があります。Block
Storage Service をホストするシステムの追加時には繰り返す必要はありません。
1. su コマンドで ci nd er ユーザーに切り替えます。
# su ci nd er -s /bi n/sh
2. ci nd er-manag e d b sync コマンドを実行して、/etc/ci nd er/ci nd er. co nf で特定され
ているデータベースを初期化し、データを投入します。
$ ci nd er-manag e d b sync
Block Storage Service データベースの初期化とデータ投入が完了しました。
バグを報告する
12.4 . ボリュームサービス固有の設定
12.4 .1. Block St orageドライバーのサポート
126
⁠第1 2 章 O penSt ack Block St orage のインストール
ボリュームサービス (o penstack-ci nd er-vo l ume) には、適切な Block Storage へのアクセスが必要
です。このサービスには、複数の Block Storage プロバイダーのボリュームドライバーが含まれます。
LVM、NFS、および Red Hat Storage 用にサポートされているドライバーが含まれます。
バグを報告する
12.4 .2. LVM ストレージバックエンドの設定
ボリュームサービスは、そのサービスが実行されるサーバーに直接接続されたボリュームグループを利用す
ることができます。このボリュームグループは、Block Storage Service が排他的に使用するように作成
し、そのボリュームグループをポイントするように設定を更新する必要があります。
以下の手順は、ボリュームサービスをホストするシステムに ro o t ユーザーとしてログインして実行する必
要があります。
1. pvcreate コマンドで物理ボリュームを作成します。
# pvcreate DEVICE
Physical volume "DEVICE" successfully created
DEVICE は、有効かつ未使用のデバイスへのパスに置き換えます。以下はその例です。
# pvcreate /d ev/sd X
2. vg create コマンドでボリュームグループを作成します。
# vg create cinder-volumes DEVICE
Volume group "cinder-volumes" successfully created
DEVICE は、物理ボリュームの作成時に使用したデバイスへのパスに置き換えます。また、オプ
ションとして、cinder-volumes を別の新規ボリュームグループ名に置き換えます。
3. vo l ume_g ro up 設定キーを新規作成したボリュームグループ名に設定します。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
vo l ume_g ro up cinder-volumes
指定する名前は、前のステップで作成したボリュームグループの名前と一致する必要があります。
4. vo l ume_d ri ver 設定キーを ci nd er. vo l ume. d ri vers. l vm. LVMISC SID ri ver に設定す
ることにより、LVM ストレージへのアクセスに正しいボリュームドライバーが使用されるようにし
ます。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
vo l ume_d ri ver ci nd er. vo l ume. d ri vers. l vm. LVMISC SID ri ver
ボリュームサービスが LVM ストレージを使用するように設定されました。
バグを報告する
12.4 .3. NFS ストレージバックエンドの設定
以下の手順では、ボリュームサービスで NFS ストレージを使用するための設定に必要なステップを説明し
ます。使用する NFS 共有は、すでに存在しており、ボリュームサービスをホストするサーバーからアクセ
スすることが可能である必要があります。
127
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
以下の手順に記載するステップはすべて、ボリュームサービスをホストするシステムに ro o t ユーザーとし
てログインして実行する必要があります。
重要
NFS 共有上のインスタンスボリュームにアクセスするには、SELinux は、そのインスタンスボ
リュームにアクセスするクライアントマシン上で vi rt_use_nfs ブール値が有効化されているこ
とを要求します。これには、全コンピュートノードが含まれます。各クライアントマシンで ro o t
ユーザーとして以下のコマンドを実行してブール値を有効にし、再起動後にも設定が永続されるよう
にします。
# setsebool -P virt_use_nfs on
1. /etc/ci nd er/ ディレクトリにテキストファイルを作成して、ストレージのバッキングにボ
リュームサービスが使用することになる NFS 共有の一覧を記載します。
nfs1.example.com:/exportnfs2.example.com:/export
各行には、HOST:/SHARE の形式で NFS 共有を記載する必要があります。HOST は、NFS サー
バーの IP アドレスまたはホスト名に、SHARE は使用する特定の NFS 共有に置き換えてくださ
い。
2. cho wn コマンドでファイルの所有者を ro o t ユーザーとci nd er グループに設定します。
# chown root:cinder FILE
FILE は、NFS 共有の一覧が記載されているファイルへのパスに置き換えます。
3. chmo d コマンドで、ci nd er グループがこのファイルを読み取ることができるようにファイルの
パーミッションを設定します。
# chmod 0640 FILE
FILE は、NFS 共有の一覧が記載されているファイルへのパスに置き換えます。
4. nfs_shares_co nfi g 設定キーの値を、NFS 共有の一覧が記載されたファイルへのパスに設定
します。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
nfs_shares_co nfi g FILE
FILE は、NFS 共有の一覧が記載されているファイルへのパスに置き換えます。
5. nfs_sparsed _vo l umes 設定キーは、ボリュームがスパースファイルとして作成され、必要に
応じて拡張されるか、あらかじめ完全に割り当て済みの状態かどうかを決定します。デフォルトお
よび推奨値は、true です。この値により、ボリュームは最初にスパースファイルとして作成され
ます。
nfs_sparsed _vo l umes 設定キーを fal se に設定すると、ボリュームは作成時に完全に割り当
て済みの状態となります。この場合、ボリュームの作成所要時間が長くなります。
128
⁠第1 2 章 O penSt ack Block St orage のインストール
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
nfs_sparsed _vo l umes true
6. オプションとして、nfs_mo unt_o pti o ns 設定キーで、環境に必要な追加の NFS マウントオプ
ションを指定します。NFS 共有に追加のマウントオプションが必要ない場合や不明な場合には、次
のステップは省略してください。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
nfs_mo unt_o pti o ns OPTIONS
OPTIONS は NFS 共有にアクセスする際に使用するマウントオプションに置き換えます。利用可能
なマウントオプションについての詳しい情報は、NFS の man ページを参照してください (man
nfs)。
7. vo l ume_d ri ver 設定キーを ci nd er. vo l ume. d ri vers. nfs. NfsD ri ver に設定して、
NFS ストレージへのアクセスに正しいボリュームドライバーが使用されるようにします。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
vo l ume_d ri ver ci nd er. vo l ume. d ri vers. nfs. NfsD ri ver
ボリュームサービスで NFS ストレージを使用するための設定が完了しました。
バグを報告する
12.4 .4 . Red Hat St orage バックエンドの設定
以下の手順では、ボリュームサービスで Red Hat Storage を使用するための設定に必要なステップを説明
します。使用する Red Hat Storage は、すでに存在しており、ボリュームサービスをホストするサーバー
からアクセスすることが可能である必要があります。
以下の手順に記載するステップはすべて、ボリュームサービスをホストするシステムに ro o t ユーザーとし
てログインして実行する必要があります。
重要
Red Hat Storage ボリュームをマウントするには、glusterfs-fuse パッケージに含まれるユーティリ
ティとライブラリが必要です。必要な Red Hat Network チャンネルを有効化して glusterfs-fuse
パッケージをインストールする方法についての説明は、Red Hat Storage Administration Guideを参照
してください。このパッケージは、Red Hat Storage でバッキングされるボリュームにアクセスす
る全システムにインストールする必要があります。
129
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
重要
Red Hat Storage のインスタンスボリュームにアクセスするには、そのインスタンスボリュームに
アクセスするクライアントマシンで vi rt_use_fusefs ブール値が有効化されていることを
SELinux が要求します。これには、すべてのコンピュートノードが含まれます。各クライアントマ
シンで ro o t ユーザーとして以下のコマンドを実行して、ブール値を有効化し、再起動後も設定が永
続化されるようにします。
# setsebool -P virt_use_fusefs on
1. ボリュームサービスがストレージのバッキングに使用する Red Hat Storage 共有の一覧を記載した
テキストファイルを /etc/ci nd er/ ディレクトリに、作成します。
HOST:/VOLUME
各行には、Red Hat Storage 共有を HOST:VOLUME の形式で記載する必要があります。HOST
は、Red Hat Storage Server の IP アドレスまたはホスト名に、VOLUME は、そのホスト上に存在
する特定のボリューム名に置き換えます。
必要な場合は、mo unt コマンドラインツールに追加するのと同じ方法で追加のマウントオプション
を追加する必要もあります。
HOST:/VOLUME -o OPTIONS
OPTIONS は、マウントオプションのコンマ区切りリストに置き換えます。
2. cho wn コマンドでファイルの所有者を ro o t ユーザーとci nd er グループに設定します。
# chown root:cinder FILE
FILE は、Red Hat Storage 共有の一覧が記載されているファイルへのパスに置き換えます。
3. chmo d コマンドで、ci nd er グループがこのファイルを読み取ることができるようにファイルの
パーミッションを設定します。
# chmod 0640 FILE
FILE は、Red Hat Storage 共有の一覧が記載されているファイルへのパスに置き換えます。
4. g l usterfs_shares_co nfi g 設定キーの値は、Red Hat Storage 共有の一覧が記載されたファ
イルへのパスに設定します。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
g l usterfs_shares_co nfi g FILE
FILE は、Red Hat Storage 共有の一覧が記載されているファイルへのパスに置き換えます。
5. g l usterfs_sparsed _vo l umes 設定キーは、ボリュームがスパースファイルとして作成され、
必要に応じて拡張されるか、あらかじめ完全に割り当て済みの状態かどうかを決定します。デフォ
ルトおよび推奨値は、true です。この値により、ボリュームは最初にスパースファイルとして作
成されます。
130
⁠第1 2 章 O penSt ack Block St orage のインストール
g l usterfs_sparsed _vo l umes 設定キーを fal se に設定すると、ボリュームは作成時に完全
に割り当て済みの状態となります。この場合、ボリュームの作成所要時間が長くなります。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
g l usterfs_sparsed _vo l umes true
6. vo l ume_d ri ver 設定キーを ci nd er. vo l ume. d ri vers. g l usterfs に設定して、Red Hat
Storage へのアクセスに正しいボリュームドライバーが使用されるようにします。
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
vo l ume_d ri ver ci nd er. vo l ume. d ri vers. g l usterfs. G l usterfsD ri ver
ボリュームサービスで Red Hat Storage を使用するための設定が完了しました。
バグを報告する
12.4 .5. 複数のストレージバックエンドの設定
以前の OpenStack リリースでは、ボリュームサービスをホストする各システムは単一のストレージバック
エンドまたはボリュームにしかアクセスできませんでした。Red Hat Enterprise Linux OpenStack
Platform 3 以降のバージョンでは、この制限は適用されなくなり、ボリュームサービスが複数のストレー
ジバックエンドにアクセスするオプションの設定ができるようになりました。このように設定された場合、
スケジューラーは、各バックエンドに対応するボリュームサービスの一意のインスタンスが起動されるよう
にします。これらのインスタンスは、同じシステム上で並行して実行することが可能です。
以下の手順に記載するステップは、ボリュームサービスをホストするシステムで ro o t ユーザーとしてログ
インして実行する必要があります。複数のストレージドライバーまたはボリュームにアクセスする必要のあ
る各システムは、このように設定する必要があります。
1. テキストエディターで /etc/ci nd er/ci nd er. co nf 設定ファイルを開きます。
2. 各ストレージドライバーまたはボリューム用の設定ブロックを追加します。この設定ブロックは、
名前が一意で (空白文字や特殊文字の使用は避けてください)、少なくとも以下の設定キーの値が含
まれている必要があります。
vo l ume_g ro up
ボリュームグループ名。ドライバーによってアクセスされるボリュームグループの名前
です。
vo l ume_d ri ver
ボリュームドライバー。ボリュームグループへのアクセス時に使用されるドライバーの
名前です。
vo l ume_backend _name
バックエンド名。特定のバックエンドから提供されるストレージに対するユーザー要求
に、グループ内の任意のドライバーが対応可能となるよう、ドライバーをグループ化する
ために、管理者によって定義されるバックエンド名です。これは、一意である必要のあ
る設定グループの名前とは関係ありません。
ドライバー固有の追加設定も設定ブロックに記載する必要があります。
131
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
[NAME]
volume_group=GROUP
volume_driver=DRIVER
volume_backend_name=BACKEND
NAME は、バックエンドの一意名に、GROUP は該当するボリュームグループの一意名に置き換え
ます。また、DRIVER は、ストレージバックエンドへのアクセス時に使用するドライバーに置き換
えてください。有効な値には、以下が含まれます。
ci nd er. vo l ume. d ri vers. l vm. LVMISC SID ri ver (LVM および iSCSI ストレージ用)
ci nd er. vo l ume. d ri vers. nfs. NfsD ri ver (NFS ストレージ用)
ci nd er. vo l ume. d ri vers. g l usterfs. G l usterfsD ri ver (Red Hat Storage 用)
最後に BACKEND をストレージバックエンドの名前に置き換えます。
3. D EFAULT 設定ブロック内の enabl ed _backend s 設定キーの値を更新します。この設定キーに
は、各ストレージドライバーの設定ブロック名が含まれたコンマ区切り一覧を記載する必要があり
ます。
例12.1 複数のバックエンドの設定
以下の例では、ci nd er-vo l umes-1 および ci nd er-vo l umes-2 の 2 つの論理ボリューム
グループを LVM という名前のストレージバックエンドにグループ化してます。また、NFS 共有
の一覧でバッキングされた追加のボリュームは、NFS という名前のストレージバックエンドに
グループ化されます。
[DEFAULT]
...
enabled_backends=cinder-volumes-1-driver,cinder-volumes-2driver,cinder-volumes-3-driver
...
[cinder-volumes-1-driver]
volume_group=cinder-volumes-1
volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver
volume_backend_name=LVM
[cinder-volumes-2-driver]
volume_group=cinder-volumes-2
volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver
volume_backend_name=LVM
[cinder-volumes-3-driver]
nfs_shares_config=/etc/cinder/shares.txt
volume_driver=cinder.volume.drivers.nfs.NfsDriver
volume_backend_name=NFS
132
⁠第1 2 章 O penSt ack Block St orage のインストール
重要
Red Hat Enterprise Linux OpenStack Platform 3 のデフォルトの Block Storage スケ
ジューラードライバーは、フィルタースケジューラーです。ブロックストレージノード上の
sched ul er_d ri ver 設定キーの値を変更した場合には、その値を
ci nd er. sched ul er. fi l ter_sched ul er. Fi l terSched ul er に更新して、複数の
ストレージバックエンドが正しく機能するようにする必要があります。
4. /etc/ci nd er/ci nd er. co nf ファイルへの変更を保存します。
ボリュームサービスの設定が完了し、起動時には複数のストレージバックエンドを使用するようになりまし
た。o penstack-ci nd er-vo l ume サービスがすでに起動されている場合には、変更が反映されるように
再起動する必要がある点に注意してください。
注記
スケジューラーに依存するのではなく、ボリューム作成するバックエンドをユーザーが指定できる
ようにするには、データベースでボリューム種別を定義する必要があります。この操作は、サービス
の稼働後に、次のコマンドで行うことができます。
# so urce ~ /keysto nerc_ad mi n # ci nd er type-create TYPE # ci nd er typekey TYPE set vo l ume_backend _name= BACKEND
TYPE は、この特定のストレージバックエンドを選択する際にユーザーが指定する必要のある名前に
置き換えます。BACKEND は、/etc/ci nd er/ci nd er. co nf 設定ファイルで指定されている適
切な vo l ume_backend _name に置き換えます。
バグを報告する
12.4 .6. t gt d の設定
ボリュームストレージサービスは、ストレージのマウント時に SCSI ターゲットデーモン tg td を利用しま
す。これをサポートするには、追加の設定ファイルを読み取るように tg td サービスを設定する必要があり
ます。
以下の手順に記載するステップは、ボリュームサービスのインスタンスをホストする各システムに ro o t
ユーザーとしてログインして実行する必要があります。
1. /etc/tg t/targ ets. co nf ファイルを開きます。
2. ファイルに以下の行を追加します。
include /etc/cinder/volumes/*
3. ファイルへの変更を保存します。
tg td サービスの起動時には、ボリュームサービスをサポートするように設定されます。
バグを報告する
133
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
12.5. Block St orage Service の起動
Block Storage の機能を有効にするには、3 つのサービスそれぞれのインスタンスを少なくとも 1 つ起動す
る必要があります。
API サービス (o penstack-ci nd er-api )
スケジューラーサービス (o penstack-ci nd er-sched ul er)
ボリュームサービス (o penstack-ci nd er-vo l ume)
これらのサービスは、同じシステムに配置する必要はありませんが、同じメッセージブローカーとデータ
ベースを使用して通信するように設定する必要があります。サービスが稼働すると、API がボリュームの受
信要求を受け入れ、スケジューラーがそれらの要求を必要に応じて割り当て、ボリュームサービスが処理し
ます。
1. API サービスの起動
API を実行する各サーバーに ro o t ユーザーとしてログインし、API サービスを起動します。
a. servi ce コマンドで API サービス (o penstack-ci nd er-api ) を起動します 。
# servi ce o penstack-ci nd er-api start
b. chkco nfi g コマンドで API サービス (o penstack-ci nd er-api ) を永続的に有効にし
ます。
# chkco nfi g o penstack-ci nd er-api o n
2. スケジューラーサービスの起動
スケジューラーを実行する各サーバーに ro o t ユーザーとしてログインし、スケジューラーサービ
スを起動します。
a. servi ce コマンドでスケジューラー (o penstack-ci nd er-sched ul er) を起動します
。
# servi ce o penstack-ci nd er-sched ul er start
b. chkco nfi g コマンドでスケジューラー (o penstack-ci nd er-sched ul er) を永続的
に有効にします。
# chkco nfi g o penstack-ci nd er-sched ul er o n
3. ボリュームサービスの起動
Block Storageが接続された各サーバーに ro o t ユーザーとしてログインし、ボリュームサービス
を起動します。
a. servi ce コマンドでボリュームサービス (o penstack-ci nd er-vo l ume) を起動しま
す。
# servi ce o penstack-ci nd er-vo l ume start
134
⁠第1 2 章 O penSt ack Block St orage のインストール
b. servi ce コマンドで SCSI ターゲットデーモン (tg td ) を起動します。
# servi ce tg td start
c. chkco nfi g コマンドでボリュームサービス (o penstack-ci nd er-vo l ume) を永続的
に有効にします。
# chkco nfi g o penstack-ci nd er-vo l ume o n
d. chkco nfi g コマンドで SCSI ターゲットデーモン (tg td ) を永続的に有効にします。
# chkco nfi g tg td o n
ボリュームサービスが稼働し、要求に応じてボリュームの割り当てを開始する準備が整いました。
バグを報告する
12.6. Block St orage Service のインストールの検証
以下の手順には、Block Storage のインストールが完了して使用する準備が整ったことを検証するためのス
テップを記載します。
1. ローカルでのテスト
以下のセクションで説明するステップは、Block Storage の API サービスをホストするサーバーに
ro o t ユーザーとして、または OpenStack 管理者の認証情報が格納されたkeysto nerc_ad mi n
ファイルにアクセス可能なユーザーとしてログインして実行する必要があります。作業を開始する
前に、keysto nerc_ad mi n ファイルをシステムに転送してください。
a. keysto nerc_ad mi n ファイルに対して so urce コマンドを実行して、ユーザーの識別と
認証に使用する環境変数を読み込みます。
# so urce ~ /keysto nerc_ad mi n
b. ci nd er l i st コマンドを実行して、エラーが返されないことを確認します。
# ci nd er l i st
c. ボリュームを作成するには、ci nd er create コマンドを実行します。
# ci nd er create SIZE
SIZE は、作成するボリュームのサイズを指定するギガバイト (GB) 単位の値に置き換えま
す。
d. ボリュームを削除するには、ci nd er d el ete コマンドを実行します。
# ci nd er d el ete ID
ID は、ボリュームの作成時に返された識別子に置き換えます。
2. リモートでのテスト
135
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
以下のセクションで説明するステップは、Block Storage の API サービスをホストしているサー
バー以外のシステムにログインした状態で実行する必要があります。作業を開始する前に
keysto nerc_ad mi n ファイルをシステムに転送してください。
a. yum コマンドで python-cinderclient パッケージをインストールします。このステップ
は、ro o t ユーザーとして認証する必要があります。
# yum i nstal l -y pytho n-ci nd ercl i ent
b. keysto nerc_ad mi n ファイルに対して so urce コマンドを実行して、ユーザーの識別と
認証に使用する環境変数を読み込みます。
$ so urce ~ /keysto nerc_ad mi n
c. ci nd er l i st コマンドを実行して、エラーが返されないことを確認します。
$ ci nd er l i st
d. ボリュームを作成するには、ci nd er create コマンドを実行します。
$ ci nd er create SIZE
SIZE は、作成するボリュームのサイズを指定するギガバイト (GB) 単位の値に置き換えま
す。
e. ボリュームを削除するには、ci nd er d el ete コマンドを実行します。
$ ci nd er d el ete ID
ID は、ボリュームの作成時に返された識別子に置き換えます。
Block Storage Service のインストールの基本的な検証を実行しました。
バグを報告する
136
⁠第1 3章 O penSt ack Net working Service のインストール
第13章 OpenStack Networking Service のインストール
13.1. OpenSt ack Net working のインストール概要
13.1.1. OpenSt ack Net working のアーキテクチャー
OpenStack Networking は、クラウド管理者が、個々のサービスをどの物理システムで実行するかを決定す
るにあたって柔軟性を提供します。評価目的の場合には、全サービスデーモンを単一の物理ホストで実行す
ることが可能です。また、各サービスに独自のホストを使用したり、複数のホストにわたって複製して冗長
化を行うこともできます。
本章は、クラウドコントローラーのロールをネットワークホストのロールと組み合わせたアーキテクチャー
に焦点をあてつつ、仮想マシンインスタンスを実行する複数のコンピュートノードを可能にします。本章で
クラウドコントローラーにデプロイされるネットワークサービスは、別のネットワークホストに完全にデプ
ロイすることもできます。これは、仮想マシンインスタンスから外部ネットワークへ大量のネットワークト
ラフィックがルーティングされる必要のあることが予想される環境に推奨されます。
バグを報告する
13.1.2. OpenSt ack Net working API
OpenStack Networking は、OpenStack Compute のような他のサービスからデバイスによって使用され
るネットワーク接続とアドレス指定を定義するための強力な API を提供します。
OpenStack Compute API には、コンピュートリソースを記述するための、仮想サーバーの抽象化層があり
ます。同様に、OpenStack Networking API には、ネットワークリソースを記述するための仮想ネット
ワーク/サブネット/ポートの抽象化層があります。さらに詳しい説明は以下のとおりです。
ネットワーク
分離された L2 セグメント。物理ネットワークの世界では VLAN と類似しています。
サブネット
v4 または v6 の IP アドレスのブロックおよび関連する設定の状態
ポート
仮想サーバーの NIC など単一のデバイスを仮想ネットワークに接続するための接続ポイント。そ
のポートで使用する MAC アドレスや IP アドレスなど、関連するネットワーク設定も記述しま
す。
ネットワークおよびサブネットを作成/設定して、リッチなネットワークトポロジーを設定した後に、
OpenStack Compute などの他の OpenStack サービスに指示をして、それらのネットワーク上のポートに
仮想デバイスを接続することができます。特に、OpenStack Networking は、各テナントによる複数のプラ
イベートネットワークの使用をサポートしており、他のテナントが使用している IP アドレスと重複してい
る場合でも、テナントは独自の IP アドレス指定スキームを選択することが可能です。これにより、極めて
高度のクラウドネットワークユースケースが実現となります。たとえば、多層 Web アプリケーションを構
築してから、IP アドレスを変更せずに複数のアプリケーションをクラウドに移行するケースがあります。
クラウド管理者が上記の機能をテナントに直接公開しない場合でも、 OpenStack Networking API は管理
目的で非常に役立ちます。API はネットワークオファリングのカスタマイズにおいて、はるかに高い柔軟性
をクラウド管理者に対して提供します。
バグを報告する
13.1.3. OpenSt ack Net working API の拡張機能
137
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
13.1.3. OpenSt ack Net working API の拡張機能
OpenStack Networking API は、プラグインにより、コア API 自体では提供されていない追加のネット
ワーク機能を有効にするための拡張機能を提供するプラグインを使用することができます。
プロバイダーネットワーク
プロバイダーネットワークにより、物理データセンター内のネットワークに直接マップする仮想
ネットワークの作成が可能です。これにより、管理者は、インターネットなどのパブリックネッ
トワークへの直接のアクセスをテナントに提供したり、特定の意図や目的が定義された物理ネッ
トワーク環境の既存の VLAN と統合したりすることが可能となります。
プロバイダーの拡張機能が有効化されると、管理者権限のある OpenStack Networking のユー
ザーは、全仮想ネットワーク上の追加のプロバイダー属性を確認することが可能となります。ま
た、そのようなユーザーは、新規プロバイダーネットワークの作成時にプロバイダー属性を指定
することができます。
Open vSwitch および Linux Bridge の両プラグインは、プロバイダーネットワーク拡張機能をサ
ポートしています。
レイヤー 3 ( L3) ルーティングと ネットワークアドレス変換 ( N AT )
L3 ルーティング API の拡張機能は、抽象 L3 ルーターを提供します。これにより、API ユーザー
は、動的なプロビジョニングと設定を行うことができます。このルーターは、OpenStack
Networking が制御する単一または複数のレイヤー 2 (L2) ネットワークに接続することが可能で
す。また、このルーターは、単一または複数のプライベート L2 ネットワークをインターネット
などの共通のパブリック/外部ネットワークに接続するゲートウェイを提供することができます。
L3 ルーターは、ルーターを外部ネットワークに接続するゲートウェイポートに基本的な NAT 機
能を提供します。このルーターは、外部ネットワーク上のパブリック IP アドレスと、ルーターに
接続された L2 ネットワーク上のプライベート IP アドレスの間の静的マッピングを提供する
Floating IP アドレスをサポートしています。
これにより、外部のパブリックネットワーク上のシステムに Compute インスタンスを選択的に
公開することが可能となります。また、必要に応じて、Floating IP アドレスを別の OpenStack
Networking ポートに再確保することも可能となります。
セキュリティグループ
セキュリティグループおよびセキュリティグループルールにより、特定のネットワークポートを
通過するネットワークトラフィックの具体的な種別と方向の指定が可能となります。これによ
り、Compute インスタンス内に存在するファイアウォールルールの上に追加のセキュリティレ
イヤーが提供されます。セキュリティグループは、単一または複数のセキュリティルールを格納
することができるコンテナーオブジェクトです。単一のセキュリティグループは、複数の
Compute インスタンスによって共有することができます。
OpenStack Networking を使用してポートを作成すると、セキュリティグループに割り当てられ
ます。特定のセキュリティグループが指定されなかった場合には、ポートは d efaul t のセキュ
リティグループに割り当てられます。デフォルトでは、このグループはすべての受信トラフィッ
クをドロップし、全送信トラフィックを許可します。d efaul t セキュリティグループにセキュ
リティルールを追加して、動作を変更したり、必要に応じて新規セキュリティグループを作成す
ることが可能です。
Open vSwitch、Linux Bridge、Nicira NVP、NEC、および Ryu ネットワークのプラグインは現
在セキュリティグループをサポートしています。
138
⁠第1 3章 O penSt ack Net working Service のインストール
注記
Compute のセキュリティグループとは異なり、OpenStack Networking のセキュリティ
グループは、インスタンス単位ではなく、ポート単位で適用されます。
バグを報告する
13.1.4 . OpenSt ack Net working のプラグイン
当初の OpenStack Compute ネットワーク実装は、Linux VLAN および iptables を使用してすべてのネッ
トワーク分離を実行する、基本的なネットワークモデルを前提としていました。OpenStack Networing に
より、plug-in の概念が採用されました。これは、OpenStack Networking API のプラグ可能なバックエン
ド実装です。プラグインは、多様のテクノロジーを使用して論理 API 要求を実装することが可能です。
OpenStack Networking プラグインは、基本的な Linux VLAN や iptables を使用するものもあれば、L2in-L3 トンネリングや OpenFlow などのより高度なテクノロジーを採用して同様のメリットを提供するもの
もあります。
以下にあげるネットワークテクノロジーに対応したプラグインは、Red Hat Enterprise Linux OpenStack
Platform で使用するために、現在テストおよびサポートを行っています。
Open vSwitch (openstack-neutron-openvswitch)
Linux Bridge (openstack-neutron-linuxbridge)
その他のパッケージ済みの利用可能なプラグイン
Cisco (openstack-neutron-cisco)
NEC OpenFlow (openstack-neutron-nec)
Nicira (openstack-neutron-nicira)
Ryu (openstack-neutron-ryu)
プラグインにより、クラウド管理者は、異なるオプションを比較検討して、デプロイメントに適切なネット
ワークテクノロジーを決定することができます。
バグを報告する
13.1.5. OpenSt ack Net working のエージェント
OpenStack Networking Service およびインストール済みのプラグインだけでなく、多数のコンポーネント
が一体となって OpenStack 環境にネットワーク機能を提供します。
L3 エージェント
L3 エージェントは、openstack-neutron パッケージの一部です。複数の L2 ネットワークに接続
し、ゲートウェイサービスを提供することが可能な抽象 L3 ルーターとして機能します。
L3 エージェントをホストするノードには、外部ネットワークに接続されたネットワークインター
フェース上の手動で設定した IP アドレスを使用してはなりません。その代わりとして、
OpenStack Networking での使用に提供されている外部ネットワークからの IP アドレスの範囲
が設定されている必要があります。これらの IP アドレスは、内部ネットワークと外部ネットワー
クの間のリンクを提供するルーターに割り当てられます。
139
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
選択範囲は、デプロイメント内のルーターごとおよび希望の Floating IP ごとに一意の IP アドレ
スを提供することが可能な範囲の大きさである必要があります。
D H C P エージェント
OpenStack Networking D HCP エージェントは、ネットワーク上で実行される仮想マシンへの
IP アドレス確保が可能です。サブネットの作成時にこのエージェントが有効化されて稼働してい
ると、そのサブネットにはデフォルトで D HCP が有効化されます。
プラグインエージェント
Open vSwitch や Linux Bridge を含む OpenStack Networking プラグインの多くは、それら独
自のエージェントを活用します。プラグイン固有のエージェントは、データパケットを管理する
各ノードで実行されます。これには、全コンピュートノードだけでなく、 neutro n-d hcpag ent および neutro n-l 3-ag ent の専用エージェントを実行するノードが含まれます。
バグを報告する
13.1.6. 推奨されるネットワークデプロイメント
OpenStack Networking は、コンピュート環境をサポートするネットワークのデプロイにおいて極めて高
い柔軟性を提供します。このため、デプロイの厳密なレイアウトは、予想されるワークロード、予想される
スケール、および利用可能なハードウェアの組み合わせによって異なります。
図13.1 デプロイメントアーキテクチャー
本章では、実例を示す目的で、以下にあげる種別のノードで構成されるネットワークデプロイメントに焦点
を当てています。
サービスノード
サービスノードは、ネットワーク API をクライアントに公開して、受信要求を処理した後に、他
のノードがアクションを実行するためのメッセージキューに転送します。サービスノードは、
ネットワークサービス自体とアクティブなネットワークプラグインの両方をホストします。
14 0
⁠第1 3章 O penSt ack Net working Service のインストール
コントローラーノードを使用して、クライアント接続 API および全サービスのスケジューラーを
ホストする環境では、本章で適用されているように、コントローラーノードがサービスノードの
役割も果たします。
ネットワークノード
ネットワークノードは、ネットワークのワークロードの大半を処理します。D HCP エージェン
ト、レイヤー 3 (L3) エージェント、レイヤー 2 (L2) エージェント、およびメタデータプロキシ
をホストします。また、エージェントが必要なプラグインに加えて、プラグインのインスタンス
も (そのようなプラグインが使用されている環境で、データパケットを処理するその他すべてのシ
ステムと同様に) 実行します。Open vSwitch プラグインと Linux Bridge プラグインの両方に
エージェントが含まれています。
コンピュートノード
コンピュートは、コンピュートインスタンス自体をホストします。コンピュートインスタンスを
ネットワークサービスに接続するには、コンピュートノードも L2 エージェントを実行している
必要があります。また、データパケットを処理するその他すべてのシステムと同様に、コン
ピュートノードもプラグインエージェントのインスタンスを実行する必要もあります。
上記のデプロイメント種別および責任分担は、推奨案に過ぎません。これ以外の分担も同様に有効です。特
に、一部の環境では、ネットワークノードとサービスノードが統合される場合があります。
警告
packstack ユーティリティを使用して、または手動で Compute ネットワークを使用するように設
定された環境は、OpenStack Networking を使用するように再設定することができます。ただし、
Compute インスタンスがすでに作成済みで、Compute ネットワークを使用するように設定されて
いる環境には、このような再設定は現在は推奨されません。このような変更を行うには、操作を開始
する前に、servi ce コマンドを使用して、各コンピュートノードで o penstack-no va-netwo rk
サービスをあらかじめ停止しておく必要があります。
# servi ce o penstack-no va-netwo rk sto p
また、chkco nfi g コマンドで、o penstack-no va-netwo rk サービスを永続的に無効にしてお
く必要もあります。
# chkco nfi g o penstack-no va-netwo rk o ff
重要
アクティブなコントローラーノードを 2 台以上実行している場合には、複数のノードで no vaco nso l eauth を実行しないでください。複数の no va-co nso l eauth インスタンスを実行する
と、トークン要求でノード間に競合が発生してエラーとなる可能性があります。
関連トピック:
「Networking の必須設定」
「Networking 共通の設定」
14 1
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
「Networking Service の設定」
「D HCP エージェントの設定」
「外部プロバイダーネットワークの設定」
「L3 エージェントの設定」
「プラグインエージェントの設定」
バグを報告する
13.2. Net working の必須設定
13.2.1. OpenSt ack Net working データベースの作成
以下の手順では、Networking Service で使用するデータベースおよびデータベースユーザーを作成しま
す。これらのステップは、データベースサーバーに ro o t ユーザーとしてログインして実行する必要があり
ます。
1. mysq l コマンドでデータベースに接続します。
# mysq l -u ro o t -p
2. データベースを作成します。
Open vSwitch プラグインを使用する場合には、推奨されるデータベース名は o vs_neutro n
です。
Linux Bridge プラグインを使用する場合には、推奨されるデータベース名は
neutro n_l i nux_bri d g e です。
以下の例では、「o vs_neutro n」というデータベース名を使用しています。
mysq l > CREATE DATABASE ovs_neutron;
3. neutro n データベースユーザーを作成して、o vs_neutro n データベースへのアクセスを許可し
ます。
mysq l > GRANT ALL ON ovs_neutron.* TO 'neutron'@ '%' IDENTIFIED BY
'PASSWORD';
mysq l > GRANT ALL ON ovs_neutron.* TO 'neutron'@ 'localhost'
IDENTIFIED BY 'PASSWORD';
PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュア
なパスワードに置き換えます。
4. データベースの特権をフラッシュして、設定が即時に反映されるようにします。
mysq l > FLUSH PRIVILEGES;
5. mysq l クライアントを終了します。
14 2
⁠第1 3章 O penSt ack Net working Service のインストール
mysq l > quit
OpenStack Networking データベース「ovs_neutron」が作成されました。このデータベースには、サービ
スの設定中にデータが投入されます。
バグを報告する
13.2.2. OpenSt ack Net working 用のアイデンティティレコードの作成
以下の手順では、OpenStack Networking Service をサポートするためのアイデンティティレコードを作成
するステップを説明します。
1. servi ces テナントに ad mi n ロールのある neutro n ユーザーを作成します。
2. neutro n サービスエントリを作成し、エンドポイントを割り当てます。
これらのエントリは、OpenStack Networking Service によって提供されるネットワーク機能を検索してア
クセスを試みる他の OpenStack サービスを補助します。
1. 必要な認証情報が格納されている keysto nerc_ad mi n ファイルに対して so urce コマンドを実
行して、Identity Service の管理者として認証します。
# so urce ~ /keysto nerc_ad mi n
2. OpenStack Networking Service で使用するために neutro n という名前のユーザーを作成しま
す。
# keysto ne user-create --name neutro n --pass PASSWORD
+----------+----------------------------------+
| Property |
Value
|
+----------+----------------------------------+
| email
|
|
| enabled |
True
|
|
id
| 1df18bcd14404fa9ad954f9d5eb163bc |
|
name
|
neutron
|
| tenantId |
|
+----------+----------------------------------+
PASSWORD は、OpenStack Networking Service が Identity Service との認証を行う際に使用す
るセキュアなパスワードに置き換えます。作成したユーザーの ID が返されるのでメモしておきま
す。この ID は後のステップで使用します。
3. ad mi n ロールの ID を取得します。
# keysto ne ro l e-g et ad mi n
ad mi n ロールが存在しない場合には作成します。
$ keystone role-create --name admin
4. servi ces テナントの ID を取得します。
$ keysto ne tenant-l i st | g rep servi ces
14 3
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
servi ces テナントが存在しない場合には作成します。
$ keysto ne tenant-create --name servi ces --d escri pti o n "Servi ces
T enant"
本ガイドでは、すべてのサービスユーザーに単一のテナントを使用しています。詳しい情報
は、サービステナントの作成を参照してください。
5. keysto ne user-ro l e-ad d コマンドで neutro n ユーザー、ad mi n ロール、および
servi ces テナントをリンクします。
# keysto ne user-ro l e-ad d --user-i d USERID --ro l e-i d ROLEID -tenant-i d TENANTID
ユーザー、ロール、テナントの ID は、上記のステップで取得した ID に置き換えます。
6. neutro n サービスエントリを作成します。
# keysto ne servi ce-create --name neutro n \--type netwo rk \-d escri pti o n "O penStack Netwo rki ng Servi ce"
+-------------+----------------------------------+
|
Property |
Value
|
+-------------+----------------------------------+
| description |
OpenStack Networking Service
|
|
id
| 134e815915f442f89c39d2769e278f9b |
|
name
|
neutron
|
|
type
|
network
|
+-------------+----------------------------------+
サービスの ID が返されるのでメモしておきます。この ID は次のステップで使用します。
7. netwo rk エンドポイントエントリを作成します。
# keysto ne end po i nt-create --servi ce-i d SERVICEID \--publ i curl
"http: //IP: 9 6 9 6 " /--ad mi nurl "http: //IP: 9 6 9 6 " /--i nternal url
"http: //IP: 9 6 9 6 "
SERVICEID は、keysto ne servi ce-create コマンドで返された ID に置き換えます。IP は、
ネットワークノードとして機能するシステムの IP アドレスまたはホスト名に置き換えます。
OpenStack Networking Service が必要とする、Identity Service の補助エントリがすべて作成されまし
た。
バグを報告する
13.3. Net working 共通の設定
13.3.1. カーネルのアップグレード
14 4
⁠第1 3章 O penSt ack Net working Service のインストール
Red Hat Enterprise Linux OpenStack Platform には、ネットワーク名前空間の使用をサポートするカスタ
ムの Red Hat Enterprise Linux カーネルが含まれます。このカーネルは、OpenStack のネットワークトラ
フィックを処理するノードに インストールする必要があります。また、Open vSwitch プラグイン
は、2. 6 . 32-343. el 6 . x86 _6 4 よりも低いバージョンのカーネルでは機能しません。
以下の手順に記載するステップは、OpenStack ネットワークトラフィックを処理する環境内の各ノードで
実行します。各ノードには ro o t ユーザーとしてログインし、手順を完了する必要があります。
1. uname コマンドで、現在システムで使用しているカーネルを識別します。
# uname --kernel -rel ease
A. 出力に o penstack というテキストが含まれている場合、そのシステムには、ネットワーク名
前空間が有効化されたカーネルがすでに搭載されています。
2.6.32-358.6.2.o penstack.el6.x86_64
このシステムでは、ネットワーク名前空間が有効化されたカーネルをインストールする操作は必
要ありません。
B. 出力に o penstack というテキストが含まれていない場合には、そのシステムには現在ネット
ワーク名前空間が有効化されたカーネルが搭載されていないので、更なる操作を行う必要があり
ます。
2.6.32-358.el6.x86_64
このシステムでは、ネットワーク名前空間が有効化されたカーネルをインストールするための操
作が必要です。これ以降のステップでは、このタスクを実行するための手順を説明します。
注記
リリースフィールドには 358 よりも高い値が含まれる可能性がある点に注意してください。
新規カーネルの更新がリリースされると、この値が高くなります。
2. yum コマンドで、ネットワーク名前空間がサポートされたカーネルの更新をインストールします。
# yum i nstal l "kernel -2. 6 . *. o penstack. el 6 . x86 _6 4 "
ワイルドカードの文字 (*) を使用して、最新のカーネルリリースがインストールされるようにしま
す。
3. OpenStack のネットワークインストールに進む前に、システムを再起動して、新規カーネルが実
行されるようにします。
# rebo o t
4. システムが再起動したら、uname コマンドを再度実行して、新規インストールしたカーネルが実行
中であることを確認します。
# uname --kernel -rel ease
2.6.32-358.6.2.o penstack.el6.x86_64
14 5
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
ネットワーク名前空間がサポートされたカーネルがシステムで実行されるようになり、OpenStack
Networking の詳細設定ができるようになりました。
バグを報告する
13.3.2. Net work Manager の無効化
現在、OpenStack Networking は、Network Manager (Netwo rkManag er) サービスが有効化されたシス
テムでは機能しません。Red Hat Enterprise Linux がインストールされたシステムでは現在、インストール
中に以下のいずれかのパッケージグループが選択された場合、Network Manager サービスがデフォルトで
有効化されます。
D esktop
Software D evelopment Workstation
現在、Red Hat Enterprise Linux をインストールしたシステムでは、インストール中に以下のいずれかの
パッケージグループが選択された場合、Network Manager サービスはデフォルトでは 有効になりません。
Basic Server
D atabase Server
Web Server
Identity Management Server
Virtualization Host
Minimal Install
以下の手順に記載するステップは、ネットワークトラフィックを処理する環境内の各システムに ro o t
ユーザーとしてログインして実行してください。これには、OpenStack Networking Service をホストする
システム、全ネットワークノード、および全コンピュートノードが含まれます。
以下のステップは、OpenStack Networking に使用するすべてのインターフェースで Netwo rkManag er
サービスを無効にして、標準のネットワークサービスに切り替えます。
1. chkco nfi g コマンドで、Network Manager が現在有効化されているかどうかを確認します。
# chkco nfi g --l i st Netwo rkManag er
chkco nfi g コマンドで表示される出力に Network Manager サービスが有効化されているかどう
かが示されます。
A. 現在 Network Manager サービスがインストールされてない場合は、システムによりエラーが表
示されます。
error reading information on service NetworkManager: No such file
or directory
上記のエラーが表示された場合には、更に操作を行って Network Manager サービスを無効にす
る必要はありません。
B. ランレベルの数値と、そのランレベルでシステムが稼働する際に Network Manager サービスが
有効化されるかどうかを示す o n または o ff の値がシステムにより表示されます。
NetworkManager
14 6
0:off 1:off 2:off 3:off 4:off 5:off 6:off
⁠第1 3章 O penSt ack Net working Service のインストール
表示された全ランレベルで o ff の値が表示されている場合には、Network Manager サービス
は無効で、それ以上の操作は必要ありません。いずれかのランレベルの表示された値が o n の場
合には Network Manager サービスが有効化されているので、更なる操作が必要です。
2. servi ce コマンドで、Network Manager サービスが停止するようにします。
# servi ce Netwo rkManag er sto p
3. chkco nfi g コマンドで、Network Manager サービスが無効にします。
# chkco nfi g Netwo rkManag er o ff
4. システムの各インターフェースの設定ファイルをテキストエディターで開きます。インターフェー
スの設定ファイルは、/etc/sysco nfi g /netwo rk-scri pts/ ディレクトリにあり、ファイル
名は i fcfg -X の形式です (X は、インターフェース名に置き換えます)。有効なインターフェース
名には、eth0 、p1p5、em1 などがあります。
各ファイルで、NM_C O NT R O LLED の設定キーは no に、O N_BO O T の設定キーは yes に設定する
ようにしてください。
NM_CONTROLLED=no
ONBOOT=yes
以下の操作は、標準のネットワークサービスがインターフェースを制御し、起動時に自動的にアク
ティブ化されるようにします。
5. servi ce コマンドでネットワークサービスを起動します。
# servi ce netwo rk start
6. chkco nfi g コマンドで、ネットワークサービスを有効にします。
# chkco nfi g netwo rk o n
Network Manager サービスが無効になりました。標準のネットワークサービスが有効化され、必要なネッ
トワークインターフェースを制御するように設定されました。
バグを報告する
13.3.3. パッケージのインストール
OpenStack Networking Service には、次のパッケージが必要です。
openstack-neutron
ネットワークサービスおよび関連する設定ファイルを提供します。
openstack-neutron-PLUGIN
ネットワークプラグインを提供します。PLUGIN は、推奨のプラグイン (o penvswi tch および
l i nuxbri d g e) に置き換えます。
openstack-utils
設定ファイルの編集をはじめとする数々のタスクに役立つサポートユーティリティを提供しま
す。
14 7
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
openstack-selinux
OpenStack 固有の SELinux ポリシーモジュールを提供します。
このパッケージは、ネットワークトラフィックを処理する全システムにインストールする必要があります。
これには、OpenStack Networking Service ノード、全ネットワークノード、全コンピュートノードが含ま
れます。
上記のパッケージをすべてインストールするには、ro o t ユーザーとしてログインして次のコマンドを実行
します。
# yum i nstal l -y o penstack-neutro n \o penstack-neutro n-PLUGIN \o penstackuti l s \o penstack-sel i nux
PLUGIN は o penvswi tch または l i nuxbri d g e に置き換えます (どちらのプラグインをインストールす
るかを決定します)。
Networking Service がインストールされ、設定できる状態となりました。
バグを報告する
13.3.4 . ファイアウォールの設定
Networking Service が提供する機能を使用を試みるシステムは、ネットワーク上でポート 9 6 9 6 を使用し
てアクセスします。
このアクセスを可能にするには、サービスノード上のファイアウォールを変更して、このポート上でネット
ワークトラフィックを許可する必要があります。以下の手順に記載するステップはすべて、イメージスト
レージサービスをホストするサーバーに ro o t ユーザーとしてログインして実行する必要があります。
1. テキストエディターで /etc/sysco nfi g /i ptabl es ファイルを開きます。
2. このファイルに、ポート 9 6 9 6 で TCP トラフィックを許可する INPUT ルールを追加します。新
規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。
-A INPUT -p tcp -m multiport --dports 9696 -j ACCEPT
3. /etc/sysco nfi g /i ptabl es ファイルへの変更を保存します。
4. i ptabl es サービスを再起動して、変更を有効にします。
# servi ce i ptabl es restart
ポート 9 6 9 6 でネットワークサービスへの受信接続を許可するようにi ptabl es ファイアウォールが設
定されました。
バグを報告する
13.4 . Net working Service の設定
必読トピック:
「Networking 共通の設定」
14 8
⁠第1 3章 O penSt ack Net working Service のインストール
「メッセージブローカーの設定」
OpenStack Networking Service の設定は、/etc/neutro n/neutro n. co nf ファイルに含まれていま
す。
ro o t ユーザーとしてログインした状態で、OpenStack Networking Service のインスタンスをホストする
各ノードで設定の以下のステップを繰り返します。
1. アイデンティティの値の設定
Networking Service は、認証に Identity Service を使用するように明示的に設定する必要がありま
す。
a. o penstack-co nfi g コマンドで、認証ストラテジー (auth_strateg y) 設定キーを
keysto ne に設定します。
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf \D EFAULT
auth_strateg y keysto ne
b. 認証ホスト (auth_ho st 設定キー) をアイデンティティサーバーの IP アドレスまたはホス
ト名に設定します。
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf
\keysto ne_authto ken auth_ho st IP
IP は、アイデンティティサーバーの IP アドレスまたはホスト名に置き換えます。
c. 管理テナント名 (ad mi n_tenant_name) 設定キーを Networking Service が使用するため
に作成されたテナントの名前に設定します。本ガイドでは、例に services を使用していま
す。
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf
\keysto ne_authto ken ad mi n_tenant_name services
d. 管理ユーザー名 (ad mi n_user) 設定キーを Networking Service が使用するために作成さ
れたユーザーの名前に設定します。本ガイドでは、例に neutron を使用しています。
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf
\keysto ne_authto ken ad mi n_user neutron
e. 管理者パスワード (ad mi n_passwo rd ) 設定キーを上記のステップで指定したユーザーに
関連付けられたパスワードに設定します。
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf
\keysto ne_authto ken ad mi n_passwo rd PASSWORD
Networking Service が使用する認証キーが設定され、サービスの開始時に使用されます。
2. メッセージブローカーの設定
Networking Service は、メッセージブローカーの種別、場所、認証の情報を指定して明示的に設定
する必要があります。
a. o penstack-co nfi g ユーティリティーを使用して、rpc_backend 設定キーの値を
Qpid に設定します。
14 9
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf \D EFAULT
rpc_backend neutro n. o penstack. co mmo n. rpc. i mpl _q pi d
b. o penstack-co nfi g ユーティリティを使用して、q pi d _ho stname 設定キーの値を
Qpid サーバーのホスト名に設定します。
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf \D EFAULT
q pi d _ho stname IP
IP は、メッセージブローカーの IP アドレスまたはホスト名に置き換えます。
c. Qpid が受信接続を認証するように設定している場合には、Networking の設定で有効な
Qpid ユーザーの詳細情報を提供する必要があります。
i. o penstack-co nfi g ユーティリティを使用して、q pi d _username 設定キー
の値を、Networking Service がメッセージブローカーとの通信時に使用する必要
がある Qpid ユーザーのユーザー名に設定します。
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf
\D EFAULT q pi d _username USERNAME
USERNAME は、必要な Qpid ユーザーの名前に置き換えます。
ii. o penstack-co nfi g ユーティリティを使用して、q pi d _passwo rd 設定キー
の値を、Networking Service がメッセージブローカーとの通信時に使用する必要
がある Qpid ユーザーのパスワードに設定します。
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf
\D EFAULT q pi d _passwo rd PASSWORD
PASSWORD は、Qpid ユーザーのパスワードに置き換えます。
d. SSL を使用するように Qpid を設定してある場合には、Networking Service にこの選択肢
を通知する必要があります。o penstack-co nfi g ユーティリティを使用して
q pi d _pro to co l 設定キーの値を ssl に設定します。
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf \D EFAULT
q pi d _pro to co l ssl
q pi d _po rt 設定キーの値は、56 71 に設定する必要があります。これは、Qpid が SSL
を使用中にこの異なるポートをリッスンするためです。
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf \D EFAULT
q pi d _po rt 56 71
150
⁠第1 3章 O penSt ack Net working Service のインストール
重要
SSL を使用する Qpid メッセージブローカーと通信するには、以下の条件を満たし
ている必要があります。
nss パッケージがインストール済みであること。
システム NSS データベース (/etc/pki /nssd b/) に適切な認証局の証明書が
インストール済みであること。
certto o l コマンドで NSS データベースから証明書をインポートすることができ
ます。詳しくは、certto o l の man ページ (man certto o l ) を参照してくださ
い。
メッセージブローカーおよび提示される認証スキームを使用するように OpenStack Networking
Service が設定されました。
3. プラグインの設定
任意のプラグインを有効にするには、追加の設定を適用する必要があります。
A. O p en vSwit ch
a. Networking Service によって参照される /etc/neutro n/pl ug i n. i ni パスと、プ
ラグイン固有の設定ファイル間のシンボリックリンクを作成します。
# l n -s
/etc/neutro n/pl ug i ns/o penvswi tch/o vs_neutro n_pl ug i n. i ni
\/etc/neutro n/pl ug i n. i ni
b. /etc/neutro n/pl ug i n. i ni ファイルの tenant_netwo rk_type 設定キーの値
を更新して、テナントのネットワークで使用する必要のあるネットワーク種別を参照す
るようにします。サポートされている値は、fl at、g re、 l o cal 、vl an、および
vxl an です。
デフォルトは l o cal ですが、この値は実際のデプロイメントでは推奨されません。
Open vSwitch のトンネリングにより、複数のホストにわたる仮想マシンが単一のレイ
ヤー 2 ネットワークを共有することができます。GRE および VXLAN トンネルは、
Open vSwitch エンドポイントと各ホスト間のトラフィックのカプセル化のためにサ
ポートされています。MTU サイズがエンドツーエンドで (仮想マシンの MTU を含む) 適
切なサイズとなるようにしてください。
# o penstack-co nfi g --set /etc/neutro n/pl ug i n. i ni \O VS
tenant_netwo rk_type TYPE
TYPE は、選択したテナントのネットワーク種別に置き換えます。
c. fl at または vl an ネットワークが選択されている場合、netwo rk_vl an_rang es 設
定キーの値も指定する必要があります。この設定キーは物理ネットワークを VLAN の範
囲にマップします。
マッピングは、NAME:START:END の形式で指定します。NAME は物理ネットワークの
名前に、START は 範囲の始点となる VLAN 識別子に、END は範囲の終点となる VLAN
識別子に置き換えます。
151
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
# o penstack-co nfi g --set /etc/neutro n/pl ug i n. i ni \O VS
netwo rk_vl an_rang es NAME: START: END
以下の例のようにコンマ区切りリストを使用して、複数の範囲を指定することができま
す。
physnet1:1000:2999,physnet2:3000:3999
d. /etc/neutro n/neutro n. co nf ファイルの co re_pl ug i n 設定キーの値を更新し
て、Open vSwitch プラグインを参照するようにします。
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf
\D EFAULT co re_pl ug i n
\neutro n. pl ug i ns. o penvswi tch. o vs_neutro n_pl ug i n. O VSNeutro
nP l ug i nV2
B. Lin u x B rid g e
a. Networking Service によって参照される /etc/neutro n/pl ug i n. i ni パスと、プ
ラグイン固有の設定ファイル間のシンボリックリンクを作成します。
# l n -s
/etc/neutro n/pl ug i ns/l i nuxbri d g e/l i nuxbri d g e_co nf. i ni
\/etc/neutro n/pl ug i n. i ni
b. /etc/neutro n/pl ug i n. i ni ファイルの tenant_netwo rk_type 設定キーを更
新して、テナントのネットワークで使用する必要のあるネットワーク種別を参照するよ
うにします。サポートされている値は、fl at、vl an、および l o cal です。
デフォルトは l o cal ですが、この値は実際のデプロイメントでは推奨されません。
# o penstack-co nfi g --set /etc/neutro n/pl ug i n. i ni \VLAN
tenant_netwo rk_type TYPE
TYPE は、選択したテナントのネットワーク種別に置き換えます。
c. fl at または vl an ネットワークが選択されている場合、netwo rk_vl an_rang es 設
定キーの値も指定する必要があります。この設定キーは物理ネットワークを VLAN の範
囲にマップします。
マッピングは、NAME:START:END の形式で指定します。NAME は物理ネットワークの
名前に、START は 範囲の始点となる VLAN 識別子に、END は範囲の終点となる VLAN
識別子に置き換えます。
# o penstack-co nfi g --set /etc/neutro n/pl ug i n. i ni
\LINUX_BR ID G E netwo rk_vl an_rang es NAME: START: END
以下の例のようにコンマ区切りリストを使用して、複数の範囲を指定することができま
す。
physnet1:1000:2999,physnet2:3000:3999
d. /etc/neutro n/neutro n. co nf ファイルの co re_pl ug i n 設定キーの値を更新し
152
⁠第1 3章 O penSt ack Net working Service のインストール
て、Linux Bridge プラグインを参照するようにします。
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf
\D EFAULT co re_pl ug i n
\neutro n. pl ug i ns. l i nuxbri d g e. l b_neutro n_pl ug i n. Li nuxBri d
g eP l ug i nV2
4. データベース接続文字列の設定
Networking Service によって使用されるデータベース接続文字列
は、/etc/neutro n/pl ug i n. i ni ファイルで定義されます。サービスを起動する前に、有効な
データベースサーバーをポイントするように更新しておく必要があります。
a. o penstack-co nfi g コマンドで co nnecti o n 設定キーの値を設定します。
# o penstack-co nfi g --set /etc/neutro n/pl ug i n. i ni \D AT ABASE
sq l _co nnecti o n mysq l : //USER: PASS@ IP/DB
以下を置き換えます。
USER: Networking Service が使用するデータベースユーザー名(通常は neutro n)
PASS: 選択したデータベースユーザーのパスワード
IP: データベースサーバーの IP アドレスまたはホスト名
DB: Networking Service で使用するために作成されたデータベースの名前 (O penStack
Networking データベースの作成のセクションの例では o vs_neutro n を使用)。
5. N et wo rkin g Service の起動
a. servi ce コマンドで OpenStack Networking Service を起動します。
# servi ce neutro n-server start
b. chkco nfi g コマンドで Networking Service を永続的に有効にします。
# chkco nfi g neutro n-server o n
OpenStack Networking Service が設定され、稼働しましたが、ネットワーク機能を提供するための必須で
もあるさまざまなネットワークエージェントを設定して実行するためにはさらなる操作が必要です。
重要
デフォルトでは、OpenStack Networking は IP アドレスの Classless Inter-D omain Routing
(CID R) チェックは有効化されません。これは、以前のリリースとの後方互換性を維持するためで
す。このようなチェックが必要な場合には、 /etc/neutro n/neutro n. co nf ファイルで
fo rce_g ateway_o n_subnet 設定キーの値を T rue に設定します
関連トピック:
「ローカルパスワードファイルを使用した SASL の設定」
153
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
バグを報告する
13.5. DHCP エージェントの設定
必読トピック:
「Networking 共通の設定」
以下の手順に記載するステップにしたがって D HCP エージェントを設定します。これらのステップはすべ
てネットワークノードで、D HCP エージェントをホストするシステムに ro o t ユーザーとしてログインし
て実行する必要があります。
1. 認証の設定
認証に Identity Service を使用するには、D HCP エージェントを明示的に設定する必要がありま
す。
a. o penstack-co nfi g コマンドで、認証ストラテジー (auth_strateg y) 設定キーを
keysto ne に設定します。
# o penstack-co nfi g --set /etc/neutro n/d hcp_ag ent. i ni
\D EFAULT auth_strateg y keysto ne
b. 認証ホスト (auth_ho st 設定キー) をアイデンティティサーバーの IP アドレスまたはホス
ト名に設定します。
# o penstack-co nfi g --set /etc/neutro n/d hcp_ag ent. i ni
\keysto ne_authto ken auth_ho st IP
IP は、アイデンティティサーバーの IP アドレスまたはホスト名に置き換えます。
c. 管理テナント名 (ad mi n_tenant_name) 設定キーを Networking Service が使用するため
に作成されたテナントの名前に設定します。本ガイドでは、例に services を使用していま
す。
# o penstack-co nfi g --set /etc/neutro n/d hcp_ag ent. i ni
\keysto ne_authto ken ad mi n_tenant_name services
d. 管理ユーザー名 (ad mi n_user) 設定キーを Networking Service が使用するために作成さ
れたユーザーの名前に設定します。本ガイドでは、例に neutron を使用しています。
# o penstack-co nfi g --set /etc/neutro n/d hcp_ag ent. i ni
\keysto ne_authto ken ad mi n_user neutron
e. 管理者パスワード (ad mi n_passwo rd ) 設定キーを上記のステップで指定したユーザーに
関連付けられたパスワードに設定します。
# o penstack-co nfi g --set /etc/neutro n/d hcp_ag ent. i ni
\keysto ne_authto ken ad mi n_passwo rd PASSWORD
2. インターフェースドライバーの設定
154
⁠第1 3章 O penSt ack Net working Service のインストール
使用するネットワークプラグインに応じて、/etc/neutro n/d hcp_ag ent. i ni ファイルの
i nterface_d ri ver 設定キーの値を設定します。環境で使用するプラグインに適した設定ステッ
プのみを実行してください。
A. O p en vSwit ch インターフェースドライバー
# o penstack-co nfi g --set /etc/neutro n/d hcp_ag ent. i ni \D EFAULT
i nterface_d ri ver
neutro n. ag ent. l i nux. i nterface. O VSInterfaceD ri ver
B. Lin u x B rid g e インターフェースドライバー
# o penstack-co nfi g --set /etc/neutro n/d hcp_ag ent. i ni \D EFAULT
i nterface_d ri ver
neutro n. ag ent. l i nux. i nterface. Bri d g eInterfaceD ri ver
3. D H C P エージェントの起動
a. servi ce コマンドで neutro n-d hcp-ag ent サービスを起動します。
# servi ce neutro n-d hcp-ag ent start
b. chkco nfi g コマンドで、今後 neutro n-d hcp-ag ent サービスが自動的に起動するよ
うにします。
# chkco nfi g neutro n-d hcp-ag ent o n
D HCP エージェントの設定と起動が完了しました。
バグを報告する
13.6. 外部プロバイダーネットワークの設定
必読トピック:
「Networking 共通の設定」
OpenStack Networking は、レイヤー 3 (L3) エージェントを外部ネットワークに接続する 2 つのメカニズ
ムを提供します。第 1 の方法は、外部ブリッジ (br-ex) への直接接続で、Open vSwitch プラグインが使
用されている場合にのみサポートされます。第 2 の方法は、外部プロバイダーネットワークを使用した接続
で、Open vSwitch プラグインと Linux Bridge プラグインの両方でサポートされています。
外部プロバイダーネットワークを使用するには、まず、そのネットワークを作成する必要があります。以下
の手順に記載するステップは、python-neutronclient パッケージをインストールすると提供される
OpenStack Networking クライアントが搭載されたシステムにログインして実行してください。
OpenStack 管理者ユーザーの認証情報が格納されている keysto nerc_ad mi n ファイルへのアクセスも
必要です。
以下の手順に記載するステップで生成される一意識別子をメモしておきます。これらの識別子は、L3 エー
ジェントの設定時に必要となります。
1. so urce コマンドで、管理者ユーザーの認証情報を読み込みます。
$ so urce ~/keystonerc_admin
155
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
2. neutro n コマンドラインクライアントのnet-create アクションで新規プロバイダーネットワー
クを作成します。
$ neutro n net-create EXTERNAL_NAME \--ro uter: external T rue \-pro vi d er: netwo rk_type TYPE \--pro vi d er: physi cal _netwo rk
PHYSICAL_NAME \--pro vi d er: seg mentati o n_i d VLAN_TAG
以下の文字列は、お使いの環境に適した値に置き換えてください。
EXTERNAL_NAME は、新規の外部ネットワークプロバイダーの名前に置き換えます。
PHYSICAL_NAME は、物理ネットワークの名前に置き換えます。これは、ローカルのネット
ワーク種別を使用する場合には該当しません。
TYPE は、使用するプロバイダーネットワークの種別に置き換えます。サポートされている値は
fl at (フラットネットワーク用)、vl an (VLAN ネットワーク用)、l o cal (ローカルネット
ワーク用) です。
VLAN_TAG は、ネットワークトラフィックを識別するために使用する VLAN タグに置き換えま
す。指定する VLAN タグは、ネットワーク管理者によって定義されている必要があります。
netwo rk_type が vl an 以外の値に設定されている場合、このパラメーターは必要ありませ
ん。
次のステップで必要となるため、返された外部ネットワークの一意識別子をメモしておきます。
3. コマンドラインクライアントの subnet-create アクションを使用して、新規外部プロバイダー
ネットワークの新しいサブネットを作成します。
$ neutro n subnet-create --g ateway GATEWAY \--al l o cati o n-po o l
start= IP_RANGE_START,end = IP_RANGE_END \--d i sabl e-d hcp
EXTERNAL_NAME EXTERNAL_CIDR
以下の文字列は、お使いの環境に適した値に置き換えてください。
GATEWAY は、新しいサブネットのゲートウェイとして機能するシステムの IP アドレスまたは
ホスト名に置き換えます。
IP_RANGE_START は、Floating IP アドレスが確保される新規サブネット内の IP アドレス範
囲の開始値を指定します。
IP_RANGE_END は、Floating IP アドレスが確保される新しいサブネット内の IP アドレス範囲
の終了値に置き換えます。
EXTERNAL_NAME は、サブネットが関連付ける外部ネットワークの名前に置き換えます。これ
は、上記の手順の net-create アクションで指定した名前と一致する必要があります。
EXTERNAL_CIDR は、サブネットが表す IP アドレスブロックの Classless Inter-D omain
Routing (CID R) 表記に置き換えます (例: 19 2. 16 8. 10 0 . 0 /24 )。
次のステップで必要となるため、返されたサブネットの一意識別子をメモしておきます。
156
⁠第1 3章 O penSt ack Net working Service のインストール
重要
GATEWAY の文字列を置き換えるのに使用した IP アドレスは、EXTERNAL_CIDR の文字列
の箇所に指定した IP アドレスブロック内で、かつ IP_RANGE_START で開始し
IP_RANGE_END で終了する範囲で指定した IP アドレスブロック外である必要がありま
す。
IP_RANGE_START で開始し、IP_RANGE_END で終了する範囲で指定した IP アドレスブ
ロックは、EXTERNAL_CIDR で指定される IP アドレスブロック内にも収まる必要がありま
す。
4. neutro n コマンドラインクライアントのro uter-create アクションを使用して、新しいルー
ターを作成します。
$ neutro n ro uter-create NAME
NAME は、新規ルーターの名前に置き換えます。次のステップで必要となるため、返されたルー
ターの一意識別子をメモしておきます。
5. neutro n コマンドラインクライアントのro uter-g ateway-set アクションを使用して、新規作
成したルーターを外部プロバイダーネットワークにリンクします。
$ neutro n ro uter-g ateway-set ROUTER NETWORK
ROUTER はルーターの一意識別子に、NETWORK は外部プロバイダーネットワークの一意識別子
に置き換えます。
6. neutro n コマンドラインクライアントのro uter-i nterface-ad d アクションを使用して、新
規作成したルーターを各プライベートネットワークサブネットにリンクします。
$ neutro n ro uter-i nterface-ad d ROUTER SUBNET
ROUTER はルーターの一意識別子に、SUBNET はプライベートネットワークサブネットの一意識
別子に置き換えます。ルーターのリンク先となる、既存のプライベートネットワークサブネットご
とにこのステップを実行してください。
外部プロバイダーネットワークが作成されました。L3 エージェントの設定時には、ルーターの一意識別子
を使用します。
バグを報告する
13.7. プラグインエージェントの設定
13.7.1. Open vSwit ch プラグインエージェントの設定
必読トピック:
「Networking 共通の設定」
Open vSwitch プラグインには、対応するエージェントがあります。Open vSwitch プラグインを使用して
いる場合には、パケットを処理する環境内の全ノードにエージェントをインストールして設定する必要があ
ります。
157
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
これには、専用の D HCP/L3 エージェントをホストするすべてのコンピュートノードおよびシステムが含ま
れます。
注記
VXLAN および GRE に対する Open vSwitch の TCP segmentation offload (TSO) および Generic
Segmentation Offload (GSO) サポートは、デフォルトで有効化されています。
1. openvswitch パッケージがインストールされていることを確認します。このパッケージは、通常
neutron-plugin-openvswitch パッケージの依存関係としてインストールされます。
# rpm -q a | g rep o penvswi tch
openvswitch-1.10.0-1.el6.x86_64
openstack-neutron-openvswitch-2013.1-3.el6.noarc
2. o penvswi tch サービスを起動します。
# servi ce o penvswi tch start
3. o penvswi tch サービスを永続的に有効化します。
# chkco nfi g o penvswi tch o n
4. Open vSwitch エージェントを実行する各ホストには、 br-i nt という名前の Open vSwitch ブ
リッジも必要です。このブリッジは、プライベートのネットワークトラフィックに使用されます。
エージェントを起動する前に o vs-vsctl コマンドを使用してこのブリッジを作成してください。
# o vs-vsctl ad d -br br-i nt
警告
br-i nt ブリッジは、このエージェントが正しく機能するために必要です。br-i nt ブリッ
ジは、作成後に、削除したり変更したりしないでください。
5. br-i nt デバイスが再起動後にも永続的に有効な状態とするに
は、/etc/sysco nfi g /netwo rk-scri pts/i fcfg -br-i nt ファイルを作成して、以下の内
容を記載してください。
DEVICE=br-int
DEVICETYPE=ovs
TYPE=OVSBridge
ONBOOT=yes
BOOTPROTO=none
6. bri d g e_mappi ng s 設定キーの値を設定します。この設定キーには、物理ネットワークとそれら
に関連付けられたネットワークブリッジの一覧が含まれている必要があります。
コンマ区切りリストに記載する各エントリには、以下の形式を使用します。
PHYSNET:BRIDGE
158
⁠第1 3章 O penSt ack Net working Service のインストール
PHYSNET は、物理ネットワークの名前に、BRIDGE はネットワークブリッジの名前に置き換えま
す。
物理ネットワークは、OpenStack Networking サーバーの netwo rk_vl an_rang es 設定変数で
定義されている必要があります。
# o penstack-co nfi g --set /etc/neutro n/pl ug i n. i ni \O VS
bri d g e_mappi ng s MAPPINGS
MAPPINGS は、物理ネットワークからブリッジへのマッピングに置き換えます。
7. servi ce コマンドで neutro n-o penvswi tch-ag ent サービスを起動します。
# servi ce neutro n-o penvswi tch-ag ent start
8. chkco nfi g コマンドで、今後 neutro n-o penvswi tch-ag ent サービスが自動的に起動する
ようにします。
# chkco nfi g neutro n-o penvswi tch-ag ent o n
9. chkco nfi g コマンドで、neutro n-o vs-cl eanup サービスがブート時に自動的に起動するよ
うに設定します。このサービスは、ブート時に起動すると、OpenStack Networking エージェント
が tap デバイスの作成と管理に対する完全な制御を維持するようにします。
# chkco nfi g neutro n-o vs-cl eanup o n
Open vSwitch プラグインを使用するようにネットワーク設定が更新されました。
バグを報告する
13.7.2. Linux Bridge プラグインエージェントの設定
必読トピック:
「Networking 共通の設定」
Linux Bridge プラグインには、対応するエージェントがあります。Linux Bridge プラグインを使用してい
る場合には、パケットを処理する環境内の全ノードにエージェントをインストールして設定する必要があり
ます。
これには、専用の D HCP/L3 エージェントをホストするすべてのコンピュートノードおよびシステムが含ま
れます。
1. physi cal _i nterface_mappi ng s 設定キーの値を設定します。この設定キーには、テナント
ネットワークに割り当てることができる物理ネットワークおよびそれらに関連付けられた VLAN の
範囲の一覧が含まれている必要があります。
コンマ区切りリストに記載する各エントリには、以下の形式を使用します。
PHYSNET:VLAN_START:VLAN_END
PHYSNET は、物理ネットワークの名前に、VLAN_START は、VLAN 範囲の開始 ID
に、VLAN_END は VLAN 範囲の終了 ID に置き換えます。
159
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
物理ネットワークは、OpenStack Networking サーバーの netwo rk_vl an_rang es 設定変数で
定義されている必要があります。
# o penstack-co nfi g --set /etc/neutro n/pl ug i n. i ni \LINUX_BR ID G E
physi cal _i nterface_mappi ng s MAPPINGS
MAPPINGS は、物理ネットワークから VLAN 範囲へのマッピングに置き換えます。
2. service コマンドで neutro n-l i nuxbri d g e-ag ent サービスを起動します。
# servi ce neutro n-l i nuxbri d g e-ag ent start
3. chkconfig コマンドで、neutro n-l i nuxbri d g e-ag ent サービスが今後自動的に起動されるよ
うに設定します。
# chkco nfi g neutro n-l i nuxbri d g e-ag ent o n
Linux Bridge プラグインを使用するようにネットワーク設定が更新されました。
バグを報告する
13.8. L3 エージェントの設定
必読トピック:
「Networking 共通の設定」
以下の手順に記載するステップにしたがって L3 エージェントを設定します。これらのステップはすべて
ネットワークノードで、ro o t ユーザーとしてログインして実行する必要があります。
1. 認証の設定
a. o penstack-co nfi g コマンドで、認証ストラテジー (auth_strateg y) 設定キーを
keysto ne に設定します。
# o penstack-co nfi g --set /etc/neutro n/metad ata_ag ent. i ni
\D EFAULT auth_strateg y keysto ne
b. 認証ホスト (auth_ho st) 設定キーをアイデンティティサーバーの IP アドレスまたはホス
ト名に設定します。
# o penstack-co nfi g --set /etc/neutro n/metad ata_ag ent. i ni
\keysto ne_authto ken auth_ho st IP
IP は、アイデンティティサーバーの IP アドレスまたはホスト名に置き換えます。
c. 管理テナント名 (ad mi n_tenant_name) 設定キーを Networking Service が使用するため
に作成されたテナントの名前に設定します。本ガイドでは、例に services を使用していま
す。
# o penstack-co nfi g --set /etc/neutro n/metad ata_ag ent. i ni
\keysto ne_authto ken ad mi n_tenant_name services
160
⁠第1 3章 O penSt ack Net working Service のインストール
d. 管理ユーザー名 (ad mi n_user) 設定キーを Networking Service が使用するために作成さ
れたユーザーの名前に設定します。本ガイドでは、例に neutron を使用しています。
# o penstack-co nfi g --set /etc/neutro n/metad ata_ag ent. i ni
\keysto ne_authto ken ad mi n_user neutron
e. 管理者パスワード (ad mi n_passwo rd ) 設定キーを上記のステップで指定したユーザーに
関連付けられたパスワードに設定します。
# o penstack-co nfi g --set /etc/neutro n/metad ata_ag ent. i ni
\keysto ne_authto ken ad mi n_passwo rd PASSWORD
2. インターフェースドライバーの設定
使用するネットワークプラグインに応じて、/etc/neutro n/l 3_ag ent. i ni ファイルの
i nterface_d ri ver 設定キーの値を設定します。環境で使用するプラグインに適した設定ステッ
プのみを実行してください。
A. O p en vSwit ch インターフェースドライバー
# o penstack-co nfi g --set /etc/neutro n/l 3_ag ent. i ni \D EFAULT
i nterface_d ri ver
neutro n. ag ent. l i nux. i nterface. O VSInterfaceD ri ver
B. Lin u x B rid g e インターフェースドライバー
# o penstack-co nfi g --set /etc/neutro n/l 3_ag ent. i ni \D EFAULT
i nterface_d ri ver
neutro n. ag ent. l i nux. i nterface. Bri d g eInterfaceD ri ver
3. 外部ネットワークアクセスの設定
L3 エージェントは、外部ブリッジまたは外部プロバイダーネットワークを使用して外部ネット
ワークに接続します。Open vSwitch プラグインを使用する場合には、これらのいずれの方法もサ
ポートされます。Linux Bridge プラグインのみを使用する場合は、外部プロバイダーネットワーク
の使用のみがサポートされます。環境に最も適した方法を選択してください。
A. 外部ブリッジの使用
外部ブリッジを使用するには、そのブリッジを作成して設定する必要があります。最終的に
は、そのブリッジを使用するように、OpenStack のネットワーク設定を更新する必要がありま
す。この操作は L3 エージェントのインスタンスをホストする各システムで実行する必要があり
ます。
a. o vs-ctl で br-ex という名前の外部ブリッジを作成します。
# o vs-vsctl ad d -br br-ex
b. /etc/sysco nfi g /netwo rk-scri pts/i fcfg -br-ex ファイルを作成して以下の
内容を記載し、br-ex デバイスが再起動後も永続的に存在するようにします。
DEVICE=br-ex
DEVICETYPE=ovs
161
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
TYPE=OVSBridge
ONBOOT=yes
BOOTPROTO=none
c. /etc/neutro n/l 3_ag ent. i ni ファイルで external _netwo rk_bri d g e 設定
キーの値を br-ex に指定するようにしてください。これの設定により、L3 エージェン
トはこの外部ブリッジを使用します。
# o penstack-co nfi g --set /etc/neutro n/l 3_ag ent. i ni
\D EFAULT external _netwo rk_bri d g e br-ex
B. プロバイダーネットワークの使用
プロバイダーネットワークを使用して L3 エージェントを外部ネットワークに接続するには、ま
ず最初にプロバイダーネットワークを作成する必要があります。また、そのネットワークに関
連付けるサブネットとルーターも作成する必要があります。以下のステップを完了するには、
ルーターの一意識別子が必要となります。
/etc/neutro n/l 3_ag ent. i ni ファイルで external _netwo rk_bri d g e 設定キーの値
は空欄にしてください。これの設定により、L3 エージェントはこの外部ブリッジの使用を試み
ません。
# o penstack-co nfi g --set /etc/neutro n/l 3_ag ent. i ni \D EFAULT
external _netwo rk_bri d g e ""
4. L3 エージェントの起動
a. servi ce コマンドで neutro n-l 3-ag ent サービスを起動します。
# servi ce neutro n-l 3-ag ent start
b. chkco nfi g コマンドで、今後 neutro n-l 3-ag ent サービスが自動的に起動するように
します。
# chkco nfi g neutro n-l 3-ag ent o n
5. メタデータエージェントの起動
OpenStack Networking のメタデータエージェントにより、仮想マシンインスタンスはコンピュー
トメタデータサービスと通信することができます。このエージェントは、レイヤー 3 (L3) エージェ
ントと同じホストで実行されます。
a. servi ce コマンドで neutro n-metad ata-ag ent サービスを起動します。
# servi ce neutro n-metad ata-ag ent start
b. chkco nfi g コマンドで、今後 neutro n-metad ata-ag ent サービスが自動的に起動す
るようにします。
# chkco nfi g neutro n-metad ata-ag ent o n
L3 エージェントの設定と起動が完了しました。
バグを報告する
162
⁠第1 3章 O penSt ack Net working Service のインストール
13.9. OpenSt ack Net working をインストールしたシステムの検証
OpenStack Networking の使用を開始するには、コンピュートノードにネットワークコンポーネントをデ
プロイし、初期ネットワークおよびルーターの定義も行う必要がありますが、OpenStack Networking デ
プロイメントの基本的なサニティチェックは、以下の手順に記載するステップにしたがって実行すること
ができます。
1. 全ノード
a. 次のコマンドを実行して、Red Hat Enterprise Linux OpenStack Platform で使用する予定
のカスタマイズされた Red Hat Enterprise Linux カーネルを検証します。
$ uname --kernel -rel ease2.6.32-358.6.2.o penstack.el6.x86_64
返されたカーネルリリースの値に o penstack の文字列が含まれていない場合には、カー
ネルを更新してシステムを再起動します。
b. インストールされている IP ユーティリティがネットワーク名前空間をサポートしているこ
とを確認します。
$ i p netns
引数が認識されない、またはサポートされていないというエラーが表示された場合に
は、yum コマンドでシステムを更新します。
2. サービスノード
a. neutro n-server サービスが稼働中であることを確認します。
$ servi ce neutro n-server status
neutron-server (pid 3011) is running...
3. ネットワークノード
a. D HCP エージェントが稼働中であることを確認します。
$ servi ce neutro n-d hcp-ag ent status
neutron-dhcp-agent (pid 3012) is running...
b. L3 エージェントが稼働中であることを確認します。
$ servi ce neutro n-l 3-ag ent status
neutron-l3-agent (pid 3013) is running...
c. 該当する場合には、以下のコマンドを実行して、プラグインエージェントが稼働中である
ことを確認します。
$ servi ce neutro n-PLUGIN-ag ent status
neutron-PLUGIN-agent (pid 3014) is running...
PLUGIN は、その環境の該当するプラグインに置き換えます。有効な値には
o penvswi tch および l i nuxbri d g e が含まれます。
d. メタデータエージェントが稼働中であることを確認します。
163
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
$ servi ce neutro n-metad ata-ag ent status
neutron-metadata-agent (pid 3015) is running...
サービスノードおよびネットワークノード上で必要なサービスがすべて稼働しました。OpenStack
Networking の使用を開始するには、コンピュートノードのデプロイ、ネットワークの定義、ルーターの定
義に進んでください。
バグを報告する
13.10. OpenSt ack Net working に関する問題のトラブルシューティング
本項では、OpenStack Networking Service に関する問題のトラブルシューティングに使用することができ
るさまざまなコマンドと手順について説明します。
ネットワークデバイスのデバッグ
i p a コマンドで、全物理/仮想デバイスを表示します。
o vs-vsctl sho w コマンドで、仮想スイッチ内のインターフェースとブリッジを表示しま
す。
o vs-d pctl sho w コマンドで、スイッチ上のデータパスを表示します。
ネットワークパケットの追跡
tcpd ump コマンドで、パケットが通過しない場所を確認します。
# tcpdump -n -i INTERFACE -e -w FILENAME
INTERFACE は、パケットが通過しない箇所を確認するためのネットワークインターフェース
の名前に置き換えます。インターフェース名には、ブリッジまたはホストのイーサネットデ
バイスの名前を指定することができます。
-e フラグで、リンクレベルヘッダーがダンプされるようにします (その場合、vlan タグが表
示されます)。
-w フラグはオプションです。出力をファイルに書き込みたい場合にのみ使用することができ
ます。使用しない場合、その出力は標準出力 (std o ut) に書き込まれます。
i ptabl es コマンドで iptables ルールを確認します。
ネットワーク名前空間のデバッグ
i p netns l i st コマンドで、既知のネットワーク名前空間をすべて一覧表示します。
i p netns exec コマンドで、特定の名前空間内のルーティングテーブルを表示します。
# ip netns exec NAMESPACE_ID bash
# route -n
bash シェルで i p netns exec コマンドを起動し、それ以降に実行するコマンドがi p
netns exec コマンドを実行しなくても呼び出されるようにします。
バグを報告する
164
⁠第1 4 章 O penSt ack Comput e Service のインストール
第14章 OpenStack Compute Service のインストール
14 .1. Comput e Service の要件
14 .1.1. ハードウェア仮想化サポートのチェック
OpenStack Compute Service には、ハードウェア仮想化サポートと特定のカーネルモジュールが必要で
す。以下の手順にしたがって、お使いのシステムにハードウェア仮想化サポートと正しいカーネルモジュー
ルが搭載されているかどうかを確認します。
以下に記載するステップはすべて、システムに ro o t ユーザーとしてログインして実行する必要がありま
す。
1. g rep コマンドを使用して、カーネルにより生成された/pro c/cpui nfo ファイルを確認
し、svm または vmx CPU 拡張機能が搭載されているかどうかを調べます。
# g rep -E ' svm| vmx' /pro c/cpui nfo
このコマンドを実行して、何らかの出力が表示された場合には、CPU はハードウェア仮想化に対応
しており、その機能がシステム BIOS で有効化されていることになります。
2. l smo d コマンドで、ロード済みのカーネルモジュールを一覧表示して、kvm モジュールがロード
されていることを確認します。
# l smo d | g rep kvm
出力に kvm_i ntel または kvm_amd が含まれている場合には、kvm ハードウェア仮想化モ
ジュールがロードされており、カーネルは、OpenStack Compute Service のモジュール要件を満
たしていることになります。
ハードウェア仮想化サポートが使用可能かつ有効で、正しいカーネルモジュールがロードされていることを
確認するのに必要なチェックは、これで完了しました。
チェックの結果、ハードウェア仮想化サポートや必要なカーネルモジュールが利用できない、または有効化
されていないことが判明した場合には、必要なハードウェアサポートおよびモジュールが実装されたシステ
ムを見つけるか、チェックに合格しなかったシステムで有効化するための処置を取る必要があります。
バグを報告する
14 .2. Comput e の VNC プロキシのインストール
14 .2.1. Comput e の VNC プロキシパッケージのインストール
VNC プロキシは、Compute Service のユーザーが利用できます。VNC プロキシサーバーのパッケージには
2 つの種別があります。openstack-nova-novncproxy パッケージは、(Websocket を使用して) Web ブラウ
ザーを介した VNC サポートをインスタンスに提供する一方、openstack-nova-console パッケージは、
(o penstack-no va-xvpvncpro xy サービス経由で) 従来の VNC クライアントを介したインスタンスへ
のアクセスを提供します。
openstack-nova-console パッケージにより、コンソール認証サービスも提供されます。このサービスは、
VNC 接続の認証に使用されます。通常、コンソール認証サービスおよびプロキシユーティリティは、
Compute API サービスと同じホストにインストールされます。
以下の手順は、ro o t ユーザーとしてログインして実行する必要があります。
165
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
VNC プロキシのユーティリティとコンソール認証サービスをインストールします。
A. yum コマンドで openstack-nova-novncproxy パッケージをインストールします。
# yum i nstal l -y o penstack-no va-no vncpro xy
B. yum コマンドで openstack-nova-console パッケージをインストールします。
# yum i nstal l -y o penstack-no va-co nso l e
VNC プロキシのパッケージとコンソール認証サービスがインストールされ、設定の準備が整いました。
バグを報告する
14 .2.2. ファイアウォールの設定
インスタンスへの VNC アクセスをホストするノードは、ファイアウォールを介した VNC トラフィックを
許可するように設定する必要があります。デフォルトでは、o penstack-no va-no vncpro xy サービス
は TCP ポート 6080 をリッスンし、o penstack-no va-xvpvncpro xy サービスは TCP ポート 6081
をリッスンします。
TCP ポート 6080 上のトラフィックがファイアウォールを通過するように許可して openstack-novanovncproxy パッケージが使用できるようにするには、以下の手順にしたがって設定します。
以下の手順は、ro o t ユーザーとしてログインして実行する必要があります。
1. /etc/sysco nfi g /i ptabl es ファイルを編集して、-A INPUT -i lo -j ACCEPT の行の下に以下
の新しい行を追加します。この行は、-A INPUT -j REJECT ルールの上に配置するようにしてくださ
い。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6080 -j ACCEPT
2. ファイルを保存してエディターを終了します。
同様に、o penstack-no va-xvpvncpro xy サービスを使用する場合には、以下の新しい行を同じ場
所に追加して、TCP ポート 6081 のトラフィックを有効にします。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6081 -j ACCEPT
ファイルで新規ファイアウォールルールの編集を終了したら、次のコマンドを ro o t ユーザーとして実行
し、変更を適用します。
# service iptables restart
# iptables-save
稼働中のシステムに新規ファイアウォールのルールが適用され、直ちに有効になります。このルールは、再
起動後もそのまま適用されます。これでファイアウォールは VNC プロキシのトラフィックを許可するよう
に設定されました。
バグを報告する
14 .2.3. VNC プロキシサービスの制御
166
⁠第1 4 章 O penSt ack Comput e Service のインストール
インスタンスへの VNC アクセスは、Web ブラウザーまたは従来の VNC クライアントを介して提供されま
す。/etc/no va/no va. co nf ファイルには、次のような VNC オプションがあります。
vnc_enabled: デフォルトは true
vncserver_listen: VNC サービスをバインドする IP アドレス
vncserver_proxyclient_address: プロキシーがインスタンスに接続するのに使用するコンピュートホスト
の IP アドレス
novncproxy_base_url: クライアントがインスタンスに接続するブラウザーのアドレス
novncproxy_port: ブラウザーの VNC 接続をリッスンするポート。デフォルトは 6080。
xvpvncproxy_port: 従来の VNC クライアント向けのバインドするポート。デフォルトは 6081。
ro o t ユーザーとして servi ce コマンドを使用して、コンソールの認証サービスを起動します。
# servi ce o penstack-no va-co nso l eauth start
chkco nfi g コマンドでサービスを永続的に有効にします。
# chkco nfi g o penstack-no va-co nso l eauth o n
nova ノードで ro o t ユーザーとして servi ce コマンドを使用して、ブラウザーベースのサービスを起動
します。
# servi ce o penstack-no va-no vncpro xy start
chkco nfi g コマンドでサービスを永続的に有効にします。
# chkco nfi g o penstack-no va-no vncpro xy o n
従来のクライアント (非ブラウザーベース) を使用する VNC サービスへのアクセスを制御するには、上記の
コマンドで openstack-nova-xvpvncproxy を代わりに使用してください。
バグを報告する
14 .2.4 . Comput e の VNC プロキシを使用したインスタンスへのアクセス
/etc/no va/no va. co nf ファイルに記載されている novncproxy_base_url を参照し、インスタンスコン
ソールにアクセスします。
以下の画像は、Web ブラウザーを使用した、Fedora Linux インスタンスへの VNC アクセスを示していま
す。これは、例を示す目的のみで記載しており、IP アドレスなどの設定は、お使いの環境とは異なります。
167
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
図14 .1 インスタンスへの VN C アクセス
バグを報告する
14 .3. コンピュートノードのインストール
14 .3.1. Comput e Service データベースの作成
以下の手順では、Compute Service が使用するデータベースとデータベースユーザーを作成します。これ
らのステップは、データベースサーバーに ro o t ユーザーとしてログインして実行する必要があります。
1. mysq l コマンドでデータベースサービスに接続します。
# mysq l -u ro o t -p
2. no va データベースを作成します。
mysq l > CREATE DATABASE nova;
3. no va データベースユーザーを作成し、no va データベースへのアクセスを許可します。
mysq l > GRANT ALL ON nova.* TO 'nova'@ '%' IDENTIFIED BY
'PASSWORD';
168
⁠第1 4 章 O penSt ack Comput e Service のインストール
mysq l > GRANT ALL ON nova.* TO 'nova'@ 'localhost' IDENTIFIED BY
'PASSWORD';
PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュア
なパスワードの置き換えます。
4. データベースの特権をフラッシュして、設定が即時に反映されるようにします。
mysq l > FLUSH PRIVILEGES;
5. mysq l クライアントを終了します。
mysq l > quit
Compute データベースが作成されました。このデータベースには、サービスの設定中にデータが投入され
ます。
バグを報告する
14 .3.2. Comput e 用のアイデンティティレコードの作成
以下の手順では、Compute Service をサポートするためのアイデンティティレコードを作成するステップ
を説明します。
1. servi ces テナントに ad mi n ロールのある co mpute ユーザーを作成します。
2. co mpute サービスエントリを作成し、エンドポイントを割り当てます。
これらのエントリは、Compute Service によって提供される機能を検索してアクセスを試みる他の
OpenStack サービスを補助します。
1. 必要な認証情報が格納されている keysto nerc_ad mi n ファイルに対して so urce コマンドを実
行して、Identity Service の管理者として認証します。
# so urce ~ /keysto nerc_ad mi n
2. OpenStack Compute Service で使用するために co mpute という名前のユーザーを作成します。
# keysto ne user-create --name co mpute --pass PASSWORD
+----------+----------------------------------+
| Property |
Value
|
+----------+----------------------------------+
| email
|
|
| enabled |
True
|
|
id
| 96cd855e5bfe471ce4066794bbafb615 |
|
name
|
compute
|
| tenantId |
|
+----------+----------------------------------+
PASSWORD は、Compute Service が Identity Service に対して認証を行う際に使用するセキュア
なパスワードに置き換えます。作成したユーザーの ID が返されるのでメモしておきます。この ID
は後のステップで使用します。
3. ad mi n ロールの ID を取得します。
169
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
# keysto ne ro l e-g et ad mi n
ad mi n ロールが存在しない場合には作成します。
$ keystone role-create --name admin
4. servi ces テナントの ID を取得します。
$ keysto ne tenant-l i st | g rep servi ces
servi ces テナントが存在しない場合には作成します。
$ keysto ne tenant-create --name servi ces --d escri pti o n "Servi ces
T enant"
本ガイドでは、すべてのサービスユーザーに単一のテナントを使用しています。詳しい情報
は、サービステナントの作成を参照してください。
5. keysto ne user-ro l e-ad d コマンドで co mpute ユーザー、ad mi n ロール、および
servi ces テナントをリンクします。
# keysto ne user-ro l e-ad d --user-i d USERID --ro l e-i d ROLEID -tenant-i d TENANTID
ユーザー、ロール、テナントの ID は、上記のステップで取得した ID に置き換えます。
6. co mpute サービスエントリを作成します。
# keysto ne servi ce-create --name co mpute \--type co mpute \-d escri pti o n "O penStack C o mpute Servi ce"
+-------------+----------------------------------+
|
Property |
Value
|
+-------------+----------------------------------+
| description |
OpenStack Compute Service
|
|
id
| 8dea97f5ee254b309c1792d2bd821e59 |
|
name
|
compute
|
|
type
|
compute
|
+-------------+----------------------------------+
サービスの ID が返されるのでメモしておきます。この ID は次のステップで使用します。
7. co mpute エンドポイントエントリを作成します。
# keysto ne end po i nt-create --servi ce-i d SERVICEID \--publ i curl
"http: //IP: 8774 /v2/\$(tenant_i d )s" \--ad mi nurl
"http: //IP: 8774 /v2/\$(tenant_i d )s" \--i nternal url
"http: //IP: 8774 /v2/\$(tenant_i d )s"
以下を置き換えます。
SERVICEID: keysto ne servi ce-create コマンドで返された ID
170
⁠第1 4 章 O penSt ack Comput e Service のインストール
IP: コンピュートノードとして機能するシステムの IP アドレスまたはホスト名
OpenStack Compute Service が必要とする、Identity Service の補助エントリがすべて作成されました。
バグを報告する
14 .3.3. Comput e Service のインストール
OpenStack Compute Services は、以下のパッケージによって提供されます。
openstack-nova-api
OpenStack Compute API Service を提供します。環境内で少なくとも 1 台のノード API サービ
スのインスタンスをホストしている必要があります。これは、Identity Service のエンドポイント
の定義によって、Compute Service にポイントされているノードである必要があります。
openstack-nova-compute
OpenStack Compute Service を提供します。
openstack-nova-conductor
コンピュートのコンダクターサービスを提供します。コンダクターは、コンピュートノードに
よって作成されるデータベース要求を処理し、各コンピュートノードがデータベースに直接アク
セスする必要がないようにします。各環境で少なくとも 1 台のノードがコンピュートコンダク
ターとして機能する必要があります。
openstack-nova-scheduler
Compute スケジューラーサービスを提供します。スケジューラーは利用可能な Compute リソー
ス全体にわたり、API に対する要求のスケジューリングを処理します。各環境で、少なくとも 1
台のノードが Compute スケジューラーとして稼働する必要があります。
python-cinderclient
OpenStack Block Storage Service によって管理されるストレージにアクセスするためのクライ
アントユーティリティを提供します。インスタンスに Block Storage ボリュームを接続しない場
合や、OpenStack Block Storage Service 以外のサービスを使用して Block Storage ボリュー
ムを管理する場合には、このパッケージは、必要ありません。
上記のパッケージをインストールするには、ro o t ユーザーとしてログインして次のコマンドを実行しま
す。
# yum i nstal l -y o penstack-no va-api o penstack-no va-co mpute \o penstackno va-co nd ucto r o penstack-no va-sched ul er \pytho n-ci nd ercl i ent
注記
上記に示したコマンドでは、すべての Compute Service のパッケージが単一のノードにインストー
ルされます。実稼働環境にデプロイする場合は、API、コンダクター、スケジューラーのサービスを
1 つのコントローラーノードにインストールするか、それぞれを別々のノードにインストールするこ
とを推奨します。Compute Service 自体は、仮想マシンインスタンスをホストする各ノードにイン
ストールする必要があります。
Compute Service のパッケージがインストールされました。
171
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
バグを報告する
14 .3.4 . SSL の設定
no va. co nf ファイルで、以下のオプションを使用して SSL を設定します。
表14 .1 C o mp u t e の SSL オプション
設定オプション
説明
enabl ed _ssl _a
pi s
ssl _ca_fi l e
ssl _cert_fi l e
ssl _key_fi l e
tcp_keepi d l e
SSL を有効にする API の一覧
クライアントの接続を検証するのに使用する CA 証明書ファイル
API サーバーの SSL 証明書
API サーバーの SSL 秘密鍵
サーバーソケットごとに TCP_KEEPID LE の値を秒単位で設定します。
バグを報告する
14 .3.5. Comput e Service の設定
1 4 .3.5 .1 . 認証の設定
Compute Service は、認証に Idenitity Service を使用するように明示的に設定する必要があります。以下
の手順に記載するステップにしたがって、この設定を行ってください。
以下の手順に記載するステップはすべて、Compute Service をホストする各システムに ro o t ユーザーと
してログインして実行する必要があります。
1. o penstack-co nfi g コマンドで、認証ストラテジー (auth_strateg y) 設定キーを keysto ne
に設定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
auth_strateg y keysto ne
2. 認証ホスト (auth_ho st) 設定キーをアイデンティティサーバーの IP アドレスまたはホスト名に設
定します。
# o penstack-co nfi g --set /etc/no va/api -paste. i ni \fi l ter: authto ken
auth_ho st IP
IP は、アイデンティティサーバーの IP アドレスまたはホスト名に置き換えます。
3. 管理テナント名 (ad mi n_tenant_name) 設定キーを Compute Service が使用するために作成さ
れたテナントの名前に設定します。本ガイドでは、例に services を使用しています。
# o penstack-co nfi g --set /etc/no va/api -paste. i ni \fi l ter: authto ken
ad mi n_tenant_name services
4. 管理ユーザー名 (ad mi n_user) 設定キーを Compute Service で使用するために作成されたユー
ザーの名前に設定します。本ガイドでは、例に nova を使用しています。
# o penstack-co nfi g --set /etc/no va/api -paste. i ni \fi l ter: authto ken
ad mi n_user nova
172
⁠第1 4 章 O penSt ack Comput e Service のインストール
5. 管理者パスワード (ad mi n_passwo rd ) 設定キーを上記のステップで指定したユーザーに関連付け
られたパスワードに設定します。
# o penstack-co nfi g --set /etc/no va/api -paste. i ni \fi l ter: authto ken
ad mi n_passwo rd PASSWORD
Compute Service が使用する認証キーが設定され、サービスの起動時に適用されます。
バグを報告する
1 4 .3.5 .2 . データベース接続文字列の設定
Compute Service によって使用されるデータベース接続文字列は、/etc/no va/no va. co nf ファイルで
定義されます。サービスを起動する前に、有効なデータベースサーバーをポイントするように更新しておく
必要があります。
データベース接続文字列は、コンダクターサービス (o penstack-no va-co nd ucto r) をホストするノー
ドのみで設定する必要があります。コンピュートノードがメッセージングインフラストラクチャーを使用し
てコンダクターに通信すると、コンダクターはそれに応えてデータベースとの通信をオーケストレートする
ので、個別のコンピュートノードは、データベースに直接アクセスする必要がありません。以下の手順は、
コンダクターサービスをホストするノードで実行してください。どのようなコンピュート環境においても、
コンダクターサービスのインスタンスが少なくとも 1 つ必要です。
以下の手順に記載するステップはすべて、Compute Service をホストするサーバーに ro o t ユーザーとし
てログインして実行する必要があります。
o penstack-co nfi g コマンドを使用して、sq l _co nnecti o n 設定キーの値を設定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT sq l _co nnecti o n
mysq l : //USER: PASS@ IP/DB
以下を置き換えます。
USER: Compute Service が使用するデータベースユーザー名(通常は no va)
PASS: 選択したデータベースユーザーのパスワード
IP: データベースサーバーの IP アドレスまたはホスト名
DB: コンピュートが使用するために作成されたデータベースの名前 (通常はno va)
データベース接続文字列が設定されて、Compute Service で使用されます。
バグを報告する
1 4 .3.5 .3. メッセージブローカーの設定
必読トピック:
「メッセージブローカーの設定」
Compute Service は、メッセージブローカーの種別、場所、認証情報を指定して明示的に設定する必要が
あります。
以下の手順に記載するステップはすべて、Compute Service を稼働する各システムで、ro o t ユーザーとし
て実行する必要があります。
173
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
1. 全般設定
o penstack-co nfi g ユーティリティーを使用して、rpc_backend 設定キーの値を Qpid に設
定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT rpc_backend
no va. o penstack. co mmo n. rpc. i mpl _q pi d
2. 設定キー
o penstack-co nfi g ユーティリティを使用して、q pi d _ho stname 設定キーの値を Qpid サー
バーのホスト名に設定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
q pi d _ho stname IP
IP は、メッセージブローカーの IP アドレスまたはホスト名に置き換えます。
3. 認証の設定
Qpid が受信接続を認証するように設定している場合には、Compute の設定で有効な Qpid ユー
ザーの詳細情報を提供する必要があります。
a. o penstack-co nfi g ユーティリティを使用して、q pi d _username 設定キーの値を、
Compute Service がメッセージブローカーとの通信時に使用する必要がある Qpid ユー
ザーのユーザー名に設定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
q pi d _username USERNAME
USERNAME は、必要な Qpid ユーザーの名前に置き換えます。
b. o penstack-co nfi g ユーティリティを使用して、q pi d _passwo rd 設定キーの値を、
Compute Service がメッセージブローカーとの通信時に使用する Qpid ユーザーのパス
ワードに設定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
q pi d _passwo rd PASSWORD
PASSWORD は、Qpid ユーザーのパスワードに置き換えます。
4. 暗号化の設定
Qpid が SSL を使用するように設定してある場合には、Compute Service にこの選択肢を通知する
必要があります。o penstack-co nfi g ユーティリティを使用して q pi d _pro to co l 設定キー
の値を ssl に設定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
q pi d _pro to co l ssl
q pi d _po rt 設定キーの値は、56 71 に設定する必要があります。これは、Qpid が SSL を使用中
にこの異なるポートをリッスンするためです。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT q pi d _po rt
56 71
174
⁠第1 4 章 O penSt ack Comput e Service のインストール
重要
SSL を使用する Qpid メッセージブローカーと通信するには、以下の条件を満たしている必
要があります。
nss パッケージがインストール済みであること。
システム NSS データベース (/etc/pki /nssd b/) に適切な認証局の証明書がインス
トール済みであること。
certto o l コマンドで NSS データベースから証明書をインポートすることができます。詳
しくは、certto o l の man ページ (man certto o l ) を参照してください。
メッセージブローカーおよび提示される認証スキームを使用するように Compute Service が設定されまし
た。
関連トピック:
「ローカルパスワードファイルを使用した SASL の設定」
バグを報告する
1 4 .3.5 .4 . リソースのオーバーコミットの設定
OpenStack は、コンピュートノード上における CPU およびメモリーリソースのオーバーコミットをサ
ポートしています。オーバーコミットとは、物理リソースを上回る量の仮想 CPU やメモリーを割り当てる
テクニックです。
重要
オーバーコミットにより、実行できるインスタンスの数が増えますが、インスタンスのパフォーマ
ンスは低下します。
CPU およびメモリーのオーバーコミット設定は比率で表示されます。OpenStack は、デフォルトで以下の
ような比率を使用します。
デフォルトの CPU オーバーコミット率: 16
デフォルトのメモリーオーバーコミット率: 1.5
これらのデフォルト設定には、次のような意味があります。
デフォルトの CPU オーバーコミット率 16 とは、物理コア 1 つにつき 最大 16 の仮想コアをノードに割
り当てることができるという意味です。
デフォルトのオーバーコミット率 1.5 とは、インスタンスのメモリー使用量合計が、物理メモリーの空
き容量の 1.5 倍未満の場合には、インスタンスを物理ノードに割り当てることができるという意味で
す。
デフォルト設定を変更するには、/etc/no va/no va. co nf の cpu_al l o cati o n_rati o および
ram_al l o cati o n_rati o のディレクティブを使用してください。
バグを報告する
175
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
1 4 .3.5 .5 . ホストのリソースの確保
ホストのメモリーおよびディスクリソースが常に OpenStack で使用できるように確保することができま
す。一定の容量のメモリーやディスクリソースが仮想マシンでの使用に提供可能と見なされないようにする
には、/etc/no va/no va. co nf で以下のディレクティブを編集します。
reserved _ho st_memo ry_mb: デフォルト値は 512 MB
reserved _ho st_d i sk_mb: デフォルト値は 0 MB
バグを報告する
1 4 .3.5 .6 . Co m put e ネットワークの設定
14 .3.5.6 .1. C o mp u t e ネットワークの概要
Nova のみのデプロイメントとは異なり、OpenStack Networking を使用している場合には、no vanetwo rk サービスは実行してはなりません。その代わりに、ネットワーク関連の決定事項はすべて
OpenStack Networking Service に委任されます。
このため、ネットワークの設定時には、Nova ネットワークについてのマニュアルや Nova ネットワークで
の過去の経験に頼るのではなく、本ガイドを参照していただくことが非常に重要となります。特に、no vamanag e や no va などの CLI ツールを使用したネットワークの管理や IP アドレス指定 (固定 IP および
Floating IP の両方を含む) は、OpenStack Networking ではサポートされていません。
重要
OpenStack Network を稼働する前には、no va-netwo rk をアンインストールして、no vanetwo rk を実行していた物理ノードを再起動することを強く推奨します。OpenStack Networking
Service の使用中に間違えて no va-netwo rk プロセスを実行すると、たとえば、以前に実行してい
た no va-netwo rk により古い i ptabl es ルールがプッシュダウンされる可能性があり、問題が発
生する場合があります。
バグを報告する
14 .3.5.6 .2. C o mp u t e の設定の更新
Compute のインスタンスがプロビジョニングまたはプロビジョニング解除されるたびに、サービスは API
を介して OpenStack Networking と通信します。この接続を円滑化するには、以下の手順に記載する接続
と認証についての説明を確認の上で設定を行う必要があります。
以下のステップは、各コンピュートノードに ro o t ユーザーとしてログインして実行する必要があります。
1. netwo rk_api _cl ass 設定キーを変更して、OpenStack Networking Service が使用中であるこ
とを示します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
netwo rk_api _cl ass no va. netwo rk. neutro nv2. api . AP I
2. neutro n_url 設定キーの値は、ネットワーク API のエンドポイントをポイントするように設定し
ます。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT neutro n_url
http: //IP: 9 6 9 6 /
176
⁠第1 4 章 O penSt ack Comput e Service のインストール
IP は、OpenStack Networking Service の API をホストするサーバーの IP アドレスまたはホスト
名に置き換えます。
3. neutro n_ad mi n_tenant_name 設定キーの値は、OpenStack Networking Service が使用する
テナント名に設定します。本ガイドの例では services を使用しています。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
neutro n_ad mi n_tenant_name services
4. neutro n_ad mi n_username 設定キーの値は、OpenStack Networking Service の管理ユーザー
名に設定します。本ガイドの例では、neutron を使用しています。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
neutro n_ad mi n_username neutron
5. neutro n_ad mi n_passwo rd 設定キーの値は、Networking Service の管理ユーザーに関連付け
られたパスワードに設定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
neutro n_ad mi n_passwo rd PASSWORD
6. neutro n_ad mi n_auth_url 設定キーの値は、Identity Service エンドポイントに関連付けられ
た URL に設定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
neutro n_ad mi n_auth_url http: //IP: 35357/v2. 0
IP は、Identity Service エンドポイントの IP アドレスまたはホスト名に置き換えます。
7. securi ty_g ro up_api 設定キーを neutro n に設定します
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
securi ty_g ro up_api neutro n
これにより、OpenStack Networking セキュリティグループの使用が有効になります。
8. fi rewal l _d ri ver 設定キーの値は、no va. vi rt. fi rewal l . No o pFi rewal l D ri ver に設
定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
fi rewal l _d ri ver no va. vi rt. fi rewal l . No o pFi rewal l D ri ver
この操作は、OpenStack Networking セキュリティグループが使用中の状態で実行する必要があり
ます 。
設定が更新されました。次回の起動時には、Compute Service が OpenStack Networking の使用を開始し
ます。
バグを報告する
14 .3.5.6 .3. L2 エージェントの設定
各コンピュートノードは、使用中のネットワークプラグインに適したレイヤー 2 (L2) エージェントのイン
スタンスを実行する必要があります。
177
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
「Open vSwitch プラグインエージェントの設定」
「Linux Bridge プラグインエージェントの設定」
バグを報告する
14 .3.5.6 .4 . 仮想インターフェース結線の設定
no va-co mpute がインスタンスを作成する時には、そのインスタンスに関連付ける各 vNIC を、
OpenStack Networking によって制御される仮想スイッチに「結線」する必要があります。また、各 vNIC
に関連付けされる OpenStack Networking ポートの識別子を仮想スイッチに通知する必要があります。
これは、以前のリリースでは、/etc/no va/no va. co nf 設定ファイルの l i bvi rt_vi f_d ri ver
フィールドのドライバー固有の値を指定することによって行っていました。Red Hat Enterprise Linux
OpenStack Platform 3 では、仮想インターフェースの汎用ドライバー
no va. vi rt. l i bvi rt. vi f. Li bvi rtG eneri cVIFD ri ver が提供されています。このドライバー
は、OpenStack Networking に依存して、必要な仮想インターフェースのバインドの種別を返すことがで
きます。この操作をサポートしているプラグインは以下のとおりです。
Linux Bridge
Open vSwitch
NEC
BigSwitch
CloudBase Hyper-V
brocade
汎用ドライバーを使用するには、o penstack-co nfi g コマンドで l i bvi rt_vi f_d ri ver 設定キーの
値を適切に設定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
l i bvi rt_vi f_d ri ver \no va. vi rt. l i bvi rt. vi f. Li bvi rtG eneri cVIFD ri ver
重要
セキュリティグループを有効にした状態で Open vSwitch を使用している場合には、汎用ドライ
バーではなく、Open vSwitch 固有のドライバー
no va. vi rt. l i bvi rt. vi f. Li bvi rtHybri d O VSBri d g eD ri ver を使用してください。
178
⁠第1 4 章 O penSt ack Comput e Service のインストール
重要
Linux Bridge を使用する場合には、/etc/l i bvi rt/q emu. co nf ファイルに以下の内容を追記し
て、仮想マシンが適切に起動するようにする必要があります。
user = "root"
group = "root"
cgroup_device_acl = [
"/dev/null", "/dev/full", "/dev/zero",
"/dev/random", "/dev/urandom",
"/dev/ptmx", "/dev/kvm", "/dev/kqemu",
"/dev/rtc", "/dev/hpet", "/dev/net/tun",
]
バグを報告する
1 4 .3.5 .7 . ファイアウォールの設定
仮想マシンコンソールへの接続は、直接またはプロキシ経由に関わらず、59 0 0 から 59 9 9 までの範囲内
のポートで受信されます。
この接続を可能にするには、サービスノード上のファイアウォールを変更して、これらのポートでネット
ワークトラフィックを許可する必要があります。以下の手順に記載するステップはすべて、Compute
Service をホストするサーバーに ro o t ユーザーとしてログインして実行する必要があります。この手順
は、コンピュートノードごとに繰り返してください。
1. テキストエディターで /etc/sysco nfi g /i ptabl es ファイルを開きます。
2. ファイルに以下の行を追記して、59 0 0 から 59 9 9 までの範囲内のポートで TCP トラフィックを
許可する INPUT ルールを追加します。
-A INPUT -p tcp -m multiport --dports 5900:5999 -j ACCEPT
新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。
3. /etc/sysco nfi g /i ptabl es ファイルへの変更を保存します。
4. i ptabl es サービスを再起動して、変更を有効にします。
# servi ce i ptabl es restart
i ptabl es ファイアウォールが Compute Service への受信接続を許可するように設定されました。
バグを報告する
14 .3.6. Comput e Service データベースへのデータ投入
以下の手順では、Compute Service データベースへのデータ投入に必要なステップを説明します。これら
のステップは、コンダクターサービスのインスタンスをホストするシステムにログインして実行する必要が
あります。データベース接続文字列は、サービスの設定であらかじめ定義済みである必要があります。
179
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
重要
この手順は、データベースの初期化とデータ投入するために、1 回のみ実行する必要があります。
Compute Service をホストするシステムの追加時には繰り返す必要はありません。
1. su コマンドで no va ユーザーに切り替えます。
# su no va -s /bi n/sh
2. no va-manag e d b sync コマンドを実行して、/etc/no va/no va. co nf で特定されている
データベースを初期化し、データを投入します。
$ no va-manag e d b sync
Compute Service データベースの初期化とデータ投入が完了しました。
バグを報告する
14 .3.7. Comput e Services の起動
1. メッセージバスサービスの起動
Libvirt には、messag ebus を有効化して実行する必要があります。
a. servi ce コマンドで messag ebus サービスを起動します。
# servi ce messag ebus start
b. chkco nfi g コマンドで messag ebus サービスを永続的に有効にします。
# chkco nfi g messag ebus o n
2. Lib virt d サービスを起動します。
Compute Service には、l i bvi rtd サービスを有効化して実行する必要があります。
a. servi ce コマンドで l i bvi rtd サービスを起動します。
# servi ce l i bvi rtd start
b. chkco nfi g コマンドで l i bvi rtd サービスを永続的に有効にします。
# chkco nfi g l i bvi rtd o n
3. API サービスの起動
API のインスタンスをホストする各システムで API サービスを起動します。各 API インスタンス
は、Identity Service のデータベースで定義された独自のエンドポイントが設定されているか、エン
ドポイントとしての機能を果たすロードバランサーによってポイントされる必要がある点に注意し
てください。
a. servi ce コマンドで o penstack-no va-api サービスを起動します。
180
⁠第1 4 章 O penSt ack Comput e Service のインストール
# servi ce o penstack-no va-api start
b. chkco nfi g コマンドで o penstack-no va-api サービスを永続的に有効にします。
# chkco nfi g o penstack-no va-api o n
4. スケジューラーの起動
スケジューラーのインスタンスをホストする各システムでスケジューラーを起動します。
a. servi ce コマンドで o penstack-no va-sched ul er サービスを起動します。
# servi ce o penstack-no va-sched ul er start
b. chkco nfi g コマンドで o penstack-no va-sched ul er サービスを永続的に有効にし
ます。
# chkco nfi g o penstack-no va-sched ul er o n
5. コンダクターの起動
コンダクターは、コンピュートノードがデータベースに直接アクセスする必要性を最小限に抑えた
り、排除したりします。その代わりにコンピュートノードは、メッセージブローカーを介してコン
ダクターと通信し、コンダクターがデータベースアクセスを処理します
コンダクターのインスタンスをホストする予定の各システムでコンダクターを起動します。コン
ピュートノードからデータベースへの直接のアクセスを制限することによるセキュリティ上のメ
リットがなってしまうので、このサービスは、すべてのコンピュートノードでは実行しないことを
推奨している点に注意してください。
a. servi ce コマンドで o penstack-no va-co nd ucto r サービスを起動します。
# servi ce o penstack-no va-co nd ucto r start
b. chkco nfi g コマンドで o penstack-no va-co nd ucto r サービスを永続的に有効にし
ます。
# chkco nfi g o penstack-no va-co nd ucto r o n
6. C o mp u t e Service の起動
仮想マシンインスタンスをホストする予定の全システムで Compute Service を起動します。
a. servi ce コマンドで o penstack-no va-co mpute サービスを起動します。
# servi ce o penstack-no va-co mpute start
b. chkco nfi g コマンドで o penstack-no va-co mpute サービスを永続的に有効にしま
す。
# chkco nfi g o penstack-no va-co mpute o n
7. オプションのサービスの起動
181
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
環境設定によっては、以下のようなサービスも起動する必要がある場合があります。
o penstack-no va-cert
Compute Service に対して EC2 API を使用する場合に必要とされる X509 証明書サービ
ス
注記
Compute Service に対して EC2 API を使用する場合は、no va. co nf 設定ファ
イルでオプションを設定する必要があります。詳しい説明は、Red Hat Enterprise
Linux OpenStack Platform 4 Configuration Reference Guideの「Configuring the
EC2 API」の項を参照してください。
o penstack-no va-netwo rk
Nova ネットワーキングサービス。OpenStack Networking がインストール/設定済みの
場合、またはこれからインストール/設定する予定の場合には、このサービスは起動して
はならない点に注意してください。
o penstack-no va-o bjectsto re
Nova オブジェクトストレージサービス。新規デプロイメントには、OpenStack Object
Storage Service (Swift) の使用が推奨されます。
Compute Service が起動し、仮想マシンインスタンスの要求を受け入れるための準備が整いました。
バグを報告する
182
⁠第1 5章 O penSt ack Met ering Service のインストール
第15章 OpenStack Metering Service のインストール
15.1. Met ering Service デプロイメントの概要
OpenStack Metering Service は、API サーバーおよび 3 つの openstack-ceilometer エージェントで構成さ
れます。API サーバー (openstack-ceilometer-api によって提供) は、単一または複数の中央管理サーバー上
で実行され、バックエンドリポジトリ (例: mo ng o d ) へのアクセスを提供します。それ以外の Metering
Service を構成する 3 つのエージェント (およびそれぞれのパッケージ) は以下のとおりです。
中央エージェント (openstack-ceilometer-central により提供): 単一の集中サーバー上で実行され、イン
スタンスやコンピュートノードに関連付けられていないリソースの使用状況の統計をポーリングしま
す。
コレクター (openstack-ceilometer-collector により提供): 単一または複数の中央管理サーバーで実行さ
れ、メッセージキューを監視します。
コンピュートエージェント (openstack-ceilometer-compute により提供): 各 Compute Service ノードで
実行され、リソースの使用状況の統計をポーリングします。
API サーバー、中央エージェント、データストアサービス、コレクターは異なるホストにデプロイすること
が可能です。また、各コンピュートノードにコンピュートエージェントをインストールする必要もありま
す。これにより、コンピュートノードは、使用状況の統計をコレクターに送信することができます。
これらの各コンポーネントには、以下の設定を設定する必要があります。
認証 (Identity Service トークンおよび Matering シークレット)
バックエンドリポジトリに接続するためのデータベース接続文字列
上記のコンポーネント認証設定 (例: Identity トークン) およびデータベース接続文字列はすべて
/etc/cei l o meter/cei l o meter. co nf で設定されます。このため、同じホストにデプロイされたコン
ポーネントは、同じ設定を共有することになります。
逆に、Metering コンポーネントが複数のホストにデプロイされる場合には、認証およびデータベース接続
文字列の変更をこれらのホストに複製する必要があります。これは、新規設定を適用した後に
/etc/cei l o meter/cei l o meter. co nf ファイルを全ホストにコピーすることによって対応すること
ができます。
Metering Service (それぞれのホスト先に関わらず、その全コンポーネント) がデプロイされ設定された後に
は、Metering Service にデータを送信するように各監視対象サービス (Image、Networking、Object
Storage、Block Storage、および各コンピュートノード) を設定する必要があります。これに関連する設
定は、各サービスの設定ファイルで設定します。
関連トピック:
「Metering Service」
バグを報告する
15.2. Met ering Service パッケージのインストール
OpenStack Metering Service には以下のパッケージが必要です。
mongodb-server
MongoD B データベースサーバーを提供します。デフォルトでは、Metering Service は
mo ng o d b をバックエンドデータリポジトリとして使用します。
183
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
注記
OpenStack Metering Service は、バックエンドデータリポジトリとして他のデータベー
スもサポートしています。ただし、一般的な Metering Service デプロイメントの例を示す
目的で、これ以降のセクションに記載する手順ではデフォルトの mo ng o d b を使用するこ
とを前提としています。
openstack-ceilometer-api
cei l o meter API サーバーを提供します。
openstack-ceilometer-central
中央 cei l o meter エージェントを提供します。
openstack-ceilometer-collector
cei l o meter コレクターエージェントを提供します。
openstack-ceilometer-common
全 cei l o meter サービスに共通のコンポーネントを提供します。
openstack-ceilometer-compute
各コンピュートノードで実行する必要のある cei l o meter エージェントを提供します。
openstack-ceilometer-alarm
cei l o meter アラーム通知および評価サービスを提供します。
これらの必須パッケージを同じホストにインストールするには、ro o t ユーザーとして以下のコマンドを実
行します。
# yum i nstal l -y mo ng o d b-server o penstack-cei l o meter-api o penstackcei l o meter-central o penstack-cei l o meter-co l l ecto r o penstack-cei l o meterco mmo n o penstack-cei l o meter-co mpute o penstack-cei l o meter-al arm
API サーバー、中央エージェント、データストアサービス、およびコレクターを異なるホストにデプロイす
ることが可能です。この場合には、ホストにログインして、そのホストにデプロイするコンポーネントの対
応するパッケージをインストールします。
# yum i nstal l -y PACKAGE
PACKAGE は、ホストにインストールするコンポーネントの対応するパッケージ名に置き換えます。
バグを報告する
15.3. Met ering 用のアイデンティティレコードの作成
必読トピック:
「リージョンの定義」
「サービステナントの作成」
184
⁠第1 5章 O penSt ack Met ering Service のインストール
「管理者アカウントの作成」
本項では、Metering Service が必要とする Identity Service レコードの作成および設定の手順について説明
します。
1. Metering Service 用に作成したテナントの ID を取得します。
# keysto ne tenant-l i st | g rep services
services は、Metering Service を使用するために作成したテナントの名前に置き換えます。本ガイ
ドの例で services を使用しています。
2. ad mi n ロールの ID を取得します。
# keysto ne ro l e-l i st | g rep ad mi n
3. 以下のコマンドで cei l o meter ユーザーを作成します。
# keysto ne user-create --name= cei l o meter \--pass= SERVICE_PASSWORD
\--tenant_i d = SERVICE_TENANT--emai l = CEILOMETER_EMAIL
ここで、
SERVICE_PASSWORD は Metering Service が Identity Service との認証時に使用する必要のあ
るパスワードに置き換えます。
SERVICE_TENANT は、前のステップで取得した servi ces テナントの ID に置き換えます。
CEILOMETER_EMAIL は、Metering Service の使用するメールアドレスに置き換えます。
cei l o meter ユーザーが作成されたら、その ID をメモしておいてください。この ID は後で使用
します。
4. R esel l erAd mi n ロールを作成します。
# keysto ne ro l e-create --name= R esel l erAd mi n
R esel l erAd mi n ロールが作成されたら、その ID をメモしておいてください。この ID は後で使
用します。
5. Metering Service、servi ces テナント、および R esel l erAd mi n ロール間の関係を確立しま
す。
# keysto ne user-ro l e-ad d --tenant_i d SERVICE_TENANT\--user_i d
CEILOMETER_USER\--ro l e_i d RESELLER_ROLE
ここで、
SERVICE_TENANT は、前のステップで取得した servi ces テナントの ID に置き換えます。
CEILOMETER_USER は、cei l o meter ユーザーの ID に置き換えます。
RESELLER_ROLE は、R esel l erAd mi n ロールの ID に置き換えます。
185
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
6. Metering Service、servi ces テナント、および ad mi n ロール間の関係を確立します。
# keysto ne user-ro l e-ad d --tenant_i d SERVICE_TENANT\--user_i d
CEILOMETER_USER\--ro l e_i d ADMIN_ROLE
ADMIN_ROLE は、ad mi n ロールの ID に置き換えます。
7. cei l o meter サービスエントリを作成します。
# keysto ne servi ce-create --name= cei l o meter \--type= meteri ng \-d escri pti o n= "O penStack Meteri ng Servi ce"
+-------------+----------------------------------+
|
Property |
Value
|
+-------------+----------------------------------+
| description |
OpenStack Metering Service
|
| id
| a511aea8bc126 4 6 4 1f4 d ff1d b38751br |
| name
|
ceilometer
|
| type
|
metering
|
+-------------+----------------------------------+
作成したサービスの ID をメモしておきます。この ID は次のステップで使用します。
8. cei l o meter エンドポイントエントリを作成します。
# keysto ne end po i nt-create \--servi ce_i d CEILOMETER_SERVICE_ID \-publ i curl "IP: 8777"--ad mi nurl "IP: 8777"--i nternal url "IP: 8777"
ここで、
CEILOMETER_SERVICE_ID は、前のステップで作成した cei l o meter サービスの ID に置き
換えます。
IP は、Metering Service をホストするシステムの IP アドレスまたはホスト名に置き換えます。
注記
デフォルトでは、エンドポイントはデフォルトのリージョンである reg i o nO ne で作成さ
れます。エンドポイントの作成時に異なるリージョンを指定する必要がある場合は、-region 引数を使用して指定してください。
バグを報告する
15.4 . Met ering Service 認証の設定
必要な Metering Service ユーザーとロール (アイデンティティレコード) の作成/設定が完了したら、
Metering Service が Identity Service を使用して認証を行うように設定します。これに
は、/etc/cei l o meter/cei l o meter. co nf 設定ファイルで必要な Identity トークンを設定する必要
があります。
186
⁠第1 5章 O penSt ack Met ering Service のインストール
単一ホスト上の Metering Service に必要な Identity トークンを設定するには、以下の手順を実行します。
1. Metering Service の認証ホスト (auth_ho st) の設定キーを設定します。
# o penstack-co nfi g --set /etc/cei l o meter/cei l o meter. co nf
\keysto ne_authto ken auth_ho st IP
IP は、Identity サーバーの IP アドレスまたはホスト名に置き換えます。
2. Metering Service の認証ポート (auth_po rt) の設定キーを設定します。
# o penstack-co nfi g --set /etc/cei l o meter/cei l o meter. co nf
\keysto ne_authto ken auth_po rt PORT
PORT は、Identity サーバーが使用する認証ポートに置き換えます。
3. Metering Service で認証に http プロトコルを使用するように設定します。
# o penstack-co nfi g --set /etc/cei l o meter/cei l o meter. co nf
\keysto ne_authto ken auth_pro to co l PORT
4. Metering Service が正しいテナントとして認証を行うように設定します。
# o penstack-co nfi g --set /etc/cei l o meter/cei l o meter. co nf
\keysto ne_authto ken ad mi n_tenant_name services
services は、Metering Service を使用するために作成したテナントの名前に置き換えます。本ガイ
ドの例で services を使用しています。
5. Metering Service が cei l o meter 管理ユーザーアカウントを使用して認証を行うように設定しま
す。
# o penstack-co nfi g --set /etc/cei l o meter/cei l o meter. co nf
\keysto ne_authto ken ad mi n_user cei l o meter
6. Metering Service が正しい cei l o meter 管理ユーザーアカウントパスワードを使用するように設
定します。
# o penstack-co nfi g --set /etc/cei l o meter/cei l o meter. co nf
\keysto ne_authto ken ad mi n_passwo rd SERVICE_PASSWORD
SERVICE_PASSWORD は、cei l o meter ユーザーの作成時に設定したパスワードに置き換えま
す。
7. Metering シークレットを設定します。複数のホスト全体にわたって、Metering Service の全コン
ポーネント間の通信 (例: コレクターエージェントとコンピュートノードエージェントの間の通信な
ど) のセキュリティ保護を支援するために使用する文字列です。この Metering シークレットを設定
するには、以下のコマンドを実行します。
# o penstack-co nfi g --set /etc/cei l o meter/cei l o meter. co nf
\publ i sher_rpc meteri ng _secret SECRET
SECRET は、全 Metering Service コンポーネントが相互の認証に使用する必要のある文字列に置
き換えます。
187
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
バグを報告する
15.5. Met ering Service 用のデータベース接続文字列の設定
Metering Service が使用するデータベース接続文字列は、/etc/cei l o meter/cei l o meter. co nf
ファイルで定義されています。この文字列は、Metering の API サービスおよびエージェントを起動する前
に、有効なデータベースサーバーをポイントするように設定しておく必要があります。Metering Service は
このデータベースサーバーをバックエンドデータリポジトリとして使用します。デフォルトでは、Metering
Service は MongoD B を使用します。
データベース接続文字列を設定するには、o penstack-cei l o meter-api および o penstackcei l o meter-co l l ecto r のサービスをホストするシステムでro o t ユーザーとして以下のコマンドを
実行します。
# o penstack-co nfi g --set /etc/cei l o meter/cei l o meter. co nf \d atabase
co nnecti o n DB_TYPE: //USER: PASS@ IP:PORT/cei l o meter
ここで、
DB_TYPE は、データベースサーバーのデータベースの種別 (例:mo ng o d b) に置き換えます。
USER と PASS は、Metering Service がデータベースサーバーにログインするのに必要なユーザー名と
パスワードに置き換えます。これらは、データベースサーバーに要求された場合にのみ提供してくださ
い (例: データベースサーバーが別のシステムまたはノードでホストされている場合など)。
IP:PORT は、データベースサーバーをホストするシステムの IP アドレス/ホスト名とポートに置き換え
ます。
デフォルトでは、Metering Service は mo ng o d b をバックエンドデータリポジトリとして使用します。そ
の他のサポート対象データベースの種別 (DB_TYPE の値) には以下が含まれます。
d b2
hbase
mysq l
バックエンドのデータベースサーバーとして MongoD B を選択し、そのデータベースが同じホストでロー
カルでホストされる場合には、必要となるデータベース接続文字列は以下のとおりです。
mongodb://localhost:27017/ceilometer
これを、以下の例のように設定します。
# o penstack-co nfi g --set /etc/cei l o meter/cei l o meter. co nf \d atabase
co nnecti o n mo ng o d b: //l o cal ho st: 270 17/cei l o meter
重要
大半の OpenStack 環境には複数のコンピュートノードがインストールされています。このような環
境では、各コンピュートノードで Metering API サービス (o penstack-cei l o meter-api ) とコ
ンピュートエージェント (o penstack-cei l o meter-co mpute) をデプロイすべきです。その場
合、それらの各ノードに正しいデータベース接続文字列を設定する必要もあります。
188
⁠第1 5章 O penSt ack Met ering Service のインストール
バグを報告する
15.5.1. MongoDB バックエンドの設定と起動
デフォルトでは、Metering Service は mo ng o d b をバックエンドデータリポジトリとして使用しま
す。mo ng o d b を使用するように選択した場合には、mo ng o d サービスを起動する必要があります。
サービスを起動する前に、mo ng o d b が以下のパラメーターを使用するように設定します。
--smal l fi l es
MongoD B がより小さなサイズのデフォルトデータファイル/ジャーナルを使用するように設定し
ます。このパラメーターにより、MongoD B は各データファイルのサイズを制限し、512 MB に
達した時点で新規ファイルを作成し、書き込みます。
--q ui et
MongoD B を Quiet モードで実行し、データベースコマンド、複製のアクティビティ、接続の受
け入れ/終了イベントからの出力を抑制することで入力の量を実質的に制限します。
MongoD B が上記のパラメーターを使用して実行するように設定するには、MongoD B 設定ファイル
(/etc/sysco nfi g /mo ng o d ) で O P T IO NS セクションを以下のように指定します。
OPTIONS="--smallfiles --quiet -f /etc/mongodb.conf"
MongoD B は、起動時に、このセクションで指定したすべてのパラメーターを使用します。MongoD B
サービスを起動するには、以下のコマンドを実行します。
# servi ce mo ng o d start
バグを報告する
15.6. 複数のホストにわたる Met ering 設定の複製
Metering Service は、コレクター、中央エージェント、API サーバー、およびコンピュートノードエー
ジェントで構成されます。これらのコンポーネントが同じホストにデプロイされる場合には、同じ設定が使
用されます (/etc/cei l o meter/cei l o meter. co nf で設定された内容)。
場合によっては、一部の Metering Service コンポーネントが別の場所でホストされる場合があります。複
数のホストにまたがっている場合、Metering Service の全コンポーネントで、以下の項目の設定を同じにす
る必要があります。
データベース接続文字列
認証設定 (Identity トークンおよび Metering シークレット)
Metering Service の全コンポーネントが全ホストにわたって同じ設定を共有するようにするための最も簡単
な方法は、全体にコピーすることです。この操作は、scp ユーティリティを使用して実行することができ
ます。以下のコマンドを実行してください (現在のホスト上で Metering Service コンポーネントのデータ
ベース接続文字列と認証設定が済んでいることが前提です)。
# scp /etc/cei l o meter/cei l o meter. co nf
\ro o t@ IP: /etc/cei l o meter/cei l o meter. co nf
IP は、ターゲット (他の Metering Service がホストされているホスト) の IP アドレスまたはホスト名に置
き換えます
189
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
バグを報告する
15.7. コンピュートノードの設定
必読トピック:
「Metering Service 認証の設定」
「コンピュートノードのインストール」
Metering Service は、各ノードにインストールされたコンピュートエージェント (o penstackcei l o meter-co mpute) から使用状況データを収集することにより、そのノードを監視します。ノードの
コンピュートエージェントは、Metering コンポーネントをすでに設定済みの別のホストから
/etc/cei l o meter/cei l o meter. co nf をコピーして複製することによって設定することができま
す。
また、コンピュートノード自体を設定して、通知を有効にする必要もあります。これは、コンピュートエー
ジェントの設定ファイル /etc/no va/no va. co nf で設定します。
1. ノード上で監査を有効にします。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
i nstance_usag e_aud i t T rue
2. 監査の頻度を設定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
i nstance_usag e_aud i t_peri o d ho ur
3. 通知をトリガーする状態変更の種別を設定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
no ti fy_o n_state_chang e vm_and _task_state
4. ノードが正しい通知ドライバーを使用するように設定します。
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
no ti fi cati o n_d ri ver no va. o penstack. co mmo n. no ti fi er. rpc_no ti fi er
# o penstack-co nfi g --set /etc/no va/no va. co nf \D EFAULT
no ti fi cati o n_d ri ver cei l o meter. co mpute. no va_no ti fi er
コンピュートノードが Metering 用に設定されたら、コンピュートエージェントを起動/再起動します。
# servi ce o penstack-cei l o meter-co mpute restart
エージェントがブート時に自動的に起動するように設定します。
# chkco nfi g o penstack-cei l o meter-co mpute o n
バグを報告する
15.8. 監視対象サービスの設定
190
⁠第1 5章 O penSt ack Met ering Service のインストール
15.8. 監視対象サービスの設定
Metering Service は、Image、Networking、Object Storage、および Block Storage の各サービスを監視
することも可能です。この機能を有効にするには、各サービスがコレクターサービスにサンプルを送信する
ように設定する必要があります。以下のコマンドは、各サービスを設定する具体的な方法を示しています。
注記
変更を有効にするには、各サービスを再起動する必要があります。
Imag e Service ( g l ance)
# o penstack-co nfi g --set /etc/g l ance/g l ance-api . co nf \D EFAULT
no ti fi er_strateg y NOTIFYMETHOD
NOTIFYMETHOD は通知キュー rabbi t (rabbi tmq キューを使用する場合) または q pi d
(q pi d メッセージキューを使用する場合) に置き換えます。
B lo ck St o rag e Service ( ci nd er)
# o penstack-co nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT
no ti fi cati o n_d ri ver
ci nd er. o penstack. co mmo n. no ti fi er. rabbi t_no ti fi er # o penstackco nfi g --set /etc/ci nd er/ci nd er. co nf \D EFAULT co ntro l _exchang e
ci nd er
O b ject St o rag e Service ( swi ft)
Metering Service は R esel l erAd mi n ロールを使って Object Storage Service (swi ft) から
サンプルを収集します。この設定手順は、Metering 用にアイデンティティレコードを設定した際
にすでに実行済みのはずです。
また、Object Storage Service が cei l o meter からのトラフィックを処理するように設定する
必要もあります。以下の手順にしたがってください。
1. 次の行を /etc/swi ft/pro xy-server. co nf に追加します。
[filter:ceilometer]
use = egg:ceilometer#swift
2. 同じファイルの pi pel i ne ディレクティブに cei l o meter を追加します。
[pipeline:main]
pipeline = healthcheck cache authtoken keystoneauth proxyserver ceilometer
N et wo rkin g Service ( neutro n)
# o penstack-co nfi g --set /etc/neutro n/neutro n. co nf \D EFAULT
no ti fi cati o n_d ri ver
neutro n. o penstack. co mmo n. no ti fi er. rpc_no ti fi er
191
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
バグを報告する
15.9. Met ering API およびエージェントの起動
各ホストの各コンポーネントの認証設定とデータベース接続文字列が設定されたら、Metering Service を起
動することができます。そのためには、各コンポーネントの対応するサービスを起動します。
# servi ce SERVICENAME start
次に、各サービスがブート時に自動的に起動するように設定します。
# chkco nfi g SERVICENAME o n
SERVICENAME は Metering Service を構成する各サービスの対応する名前に置き換えます。
表15.1 Met erin g コンポーネントのサービス名
コンポーネント
サービス名
openstack-ceilometer-compute
各コンピュートノードで実行されるコンピュートエージェン
ト
中央 cei l o meter エージェント
コレクターエージェント
API サーバー
openstack-ceilometer-central
openstack-ceilometer-collector
openstack-ceilometer-api
バグを報告する
192
⁠第1 6 章 O penSt ack O rchest rat ion Service のインストール
第16章 OpenStack Orchestration Service のインストール
16.1. Orchest rat ion Service パッケージのインストール
OpenStack Orchestration Service には、以下のパッケージが必要です。
openstack-heat-api
OpenStack のネイティブの ReST API を heat Engine に提供します。
openstack-heat-api-cfn
AWS CloudFormation と互換性のある API を heat Engine に提供します。
openstack-heat-common
全 heat サービスに共通するコンポーネントを提供します。
openstack-heat-engine
テンプレートを起動し、イベントを API に送り返すための OpenStack API を提供します。
openstack-heat-api-cloudwatch
AWS CloudWatch と互換性のある API を heat Engine に提供します。
heat-cfntools
heat によりプロビジョニングされるクラウドインスタンスに必要なツールを提供します。
python-heatclient
Python API およびコマンドラインスクリプトを提供します。OpenStack heat API のクライア
ントは、これらの両方で構成されます。
これらの必須パッケージをインストールするには、以下のコマンドを ro o t ユーザーとして実行します。
# yum i nstal l o penstack-heat-* pytho n-heatcl i ent -y
バグを報告する
16.2. Orchest rat ion Service の設定
Orchestration Service を設定するには、以下の作業を行う必要があります。
Orchestration Service 用のデータベースの設定
各 Orchestration API サービスと対応する IP アドレスのバインド
Orchestration Service 用のアイデンティティレコードの作成/設定
Orchestration Service が Identity Service を使用して認証を行う方法の設定
以下のセクションでは、これらの各手順について詳しく説明します。
バグを報告する
193
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
16.2.1. Orchest rat ion Service データベースの接続の設定
OpenStack Orchestration Service が機能するには、データベースが必要です。このサービスが使用する
データベース接続設定は /etc/heat/heat. co nf で設定します。Orchestration Service が有効な
MySQL データベースに接続できるようになったら、h eat - d b - set u p ユーティリティ (openstack-heatcommon パッケージより提供) を使用して heat に必要なデータベースを作成し、データを投入します。
MySQL の ro o t アカウントを使用して必要なデータベースを自動作成した後には、Orchestration Service
は独自の MySQL アカウント (heat) でこれらのデータベースを使用します。
注記
MySQL データベースに接続するには、データベースを 1 つ作成してから、必要なデータベースを設
定します。この操作には、MySQL データベースの ro o t アカウントのパスワードが必要となりま
す。
以下の手順では、この操作方法の例を詳しく説明します。
1. h eat - d b - set u p ユーティリティを使用して必要なデータベースを自動で作成/設定し、heat アカ
ウントを作成します。
# heat-d b-setup rpm -y -r MYSQLROOTPW -p HEATPW
ここで、
MYSQLROOTPW は MySQL データベースの ro o t アカウントのパスワードに置き換えます。
HEATPW は、heat アカウントに設定するパスワードに置き換えます。
2. 前のステップで設定した HEATPW を使って、heat が使用するデータベース接続文字列を更新しま
す。
# o penstack-co nfi g --set /etc/heat/heat. co nf \D EFAULT
sq l _co nnecti o n mysq l : //heat: HEATPW@ MYSQLHOST/heat
ここで、
HEATPW は、前のステップで heat アカウントに設定したパスワードに置き換えます。
MYSQLHOST は、MySQL データベースサーバーの IP アドレスまたはホスト名に置き換えます
(同じホスト上にある場合には l o cal ho st を指定)。
バグを報告する
16.2.2. 各 Orchest rat ion API サービスのバインドアドレスの制限
データベースを設定した後には、各 Orchestration API サービスの bi nd _ho st 設定を設定します。この
設定は、サービスが受信接続に使用する必要のある IP アドレスを制御します。
/etc/heat/heat. co nf 設定ファイルには、各 Orchestration API サービス用のセクションが含まれて
います。以下に示す例のように、それぞれに bi nd _ho st を設定する必要があります。
# o penstack-co nfi g --set /etc/heat/heat. co nfheat_api bi nd _ho st IP
194
⁠第1 6 章 O penSt ack O rchest rat ion Service のインストール
# o penstack-co nfi g --set /etc/heat/heat. co nfheat_api _cfn bi nd _ho st IP
# o penstack-co nfi g --set /etc/heat/heat. co nfheat_api _cl o ud watch
bi nd _ho st IP
IP は、対応する API が使用する必要のあるアドレスに置き換えます。
バグを報告する
16.2.3. Orchest rat ion Service 用のアイデンティティレコードの作成
本項では、Orchestration Service が必要とする Identity Service レコードの作成および設定の手順につい
て説明します。
1. Orchestration Service 用に作成したテナントの ID を取得します。
# keysto ne tenant-l i st | g rep services
services は、Orchestration Service を使用するために作成したテナントの名前に置き換えます。
本ガイドの例で services を使用しています。
2. admin ロールの ID を取得します。
# keystone role-list | grep admin
3. keysto ne に heat ユーザーを作成します。
# keysto ne user-create --name= heat \--pass= SERVICE_PASSWORD \-tenant_i d = SERVICE_TENANT
ここで、
SERVICE_PASSWORD は Orchestration Service が Identity Service との認証時に使用する必
要のあるパスワードに置き換えます。
SERVICE_TENANT は、前のステップで取得した services テナントの ID に置き換えます。
heat ユーザーが作成されたら、その ID をメモしておいてください。この ID は後で使用します。
4. Orchestration Service、servi ces テナント、および ad mi n ロール間の関係を確立します。
# keysto ne user-ro l e-ad d --user_i d HEAT_USER \--tenant_i d
SERVICE_TENANT \--ro l e_i d ADMIN_ROLE
ここで、
HEAT_USER は、heat ユーザーの ID に置き換えます。
SERVICE_TENANT は、前のステップで取得した services テナントの ID に置き換えます。
ADMIN_ROLE は、ad mi n ロールの ID に置き換えます。
5. Orchestration および Cloud Formation 用に Identity Service エントリを作成します。
195
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
# keysto ne servi ce-create --name heat \--type o rchestrati o n
# keysto ne servi ce-create --name heat-cfn \--type cl o ud fo rmati o n
heat および heat-cfn のサービスが作成されたら、その ID をメモしておいてください。これら
ID は後で使用します。
6. heat および heat-cfn のサービス用のサービスエンドポイントエントリを作成します。
# keysto ne end po i nt-create \--servi ce_i d HEAT_CFN_SERVICE_ID \-publ i curl "HEAT_CFN_IP: 80 0 0 /v1" \--ad mi nurl "HEAT_CFN_IP: 80 0 0 /v1"
\--i nternal url "HEAT_CFN_IP: 80 0 0 /v1"
# keysto ne end po i nt-create \--servi ce_i d HEAT_SERVICE_ID \-publ i curl "HEAT_IP: 80 0 4 /v1/%(tenant_i d )s" \--ad mi nurl
"HEAT_IP: 80 0 4 /v1/%(tenant_i d )s" \--i nternal url "HEAT_IP: 80 0 4 /v1/%
(tenant_i d )s"
ここで、
HEAT_CFN_SERVICE_ID は、前のステップで作成した heat-cfn サービスの ID に置き換え
ます。
HEAT_SERVICE_ID は、前のステップで作成した heat サービスの ID に置き換えます。
HEAT_CFN_IP は、heat-cfn サービスをホストするシステムの IP アドレスまたはホスト名に
置き換えます。
HEAT_IP は、heat サービスをホストするシステムの IP アドレスまたはホスト名に置き換えま
す。
バグを報告する
16.2.4 . Orchest rat ion Service の認証設定
必要な Orchestration Service ユーザーとロール (アイデンティティレコード) の作成/設定が完了したら、
Orchestration Service が Identity Service を使用して認証を行うように設定します。これには、heatapi 、heat-api -cfn、および heat-api -cl o ud watch のサービス用に必要な Identity トークンを設
定する必要があります。これらのサービスは、/etc/heat/heat. co nf に設定されているトークン設定を
使用します。
1. Orchestration Service が正しいテナントとして認証を行うように設定します。
# o penstack-co nfi g --set /etc/heat/heat. co nf \keysto ne_authto ken
ad mi n_tenant_name services
services は、Orchestration Service を使用するために作成したテナントの名前に置き換えます。
196
⁠第1 6 章 O penSt ack O rchest rat ion Service のインストール
本ガイドの例で services を使用しています。
2. Orchestration Service が heat 管理ユーザーアカウントを使用して認証を行うように設定します。
# o penstack-co nfi g --set /etc/heat/heat. co nf \keysto ne_authto ken
ad mi n_user heat
3. Orchestration Service が正しい heat 管理ユーザーアカウントパスワードを使用するように設定し
ます。
# o penstack-co nfi g --set /etc/heat/heat. co nf \keysto ne_authto ken
ad mi n_passwo rd SERVICE_PASSWORD
SERVICE_PASSWORD は、heat ユーザーの作成時に設定したパスワードに置き換えます。
4. Orchestration Service が使用する必要のある正しい Identity Service ホストを設定します。
# o penstack-co nfi g --set /etc/heat/heat. co nf \keysto ne_authto ken
servi ce_ho st KEYSTONE_HOST
# o penstack-co nfi g --set /etc/heat/heat. co nf \keysto ne_authto ken
auth_ho st KEYSTONE_HOST
# o penstack-co nfi g --set /etc/heat/heat. co nf \keysto ne_authto ken
auth_uri http: //KEYSTONE_HOST: 35357/v2. 0 \
# o penstack-co nfi g --set /etc/heat/heat. co nf \keysto ne_authto ken
keysto ne_ec2_uri http: //KEYSTONE_HOST: 35357/v2. 0
KEYSTONE_HOST は、Identity Service のホスト名です。Identity Service が同じシステムでホス
トされている場合には、127. 0 . 0 . 1 を使用してください。
5. 仮想マシンの接続先となる heat-api -cfn および heat-api -cl o ud watch のサービスのホス
ト名を設定します。
# o penstack-co nfi g --set /etc/heat/heat. co nf \D EFAULT
heat_metad ata_server_url HEAT_CFN_HOST: 80 0 0
# o penstack-co nfi g --set /etc/heat/heat. co nf \D EFAULT
heat_wai tco nd i ti o n_server_url HEAT_CFN_HOST: 80 0 0 /v1/wai tco nd i ti o n
# o penstack-co nfi g --set /etc/heat/heat. co nf \D EFAULT
heat_watch_server_url HEAT_CLOUDWATCH_HOST: 80 0 3
ここで、
HEAT_CFN_HOST は、heat-api -cfn サービスをホストするシステムの IP アドレスまたは
ホスト名に置き換えます。
HEAT_CLOUDWATCH_HOST は、heat-api -cl o ud watch サービスをホストするシステム
の IP アドレスまたはホスト名に置き換えます。
197
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
重要
全サービスが同じシステム上でホストされている場合でも、127. 0 . 0 . 1 はどのサービスホ
スト名にも使用しないでください。この IP アドレスは、各仮想マシンのローカルホストを
参照するので、その仮想マシンが実際のサービスに到達できなくなります。
6. アプリケーションテンプレートは、オーケストレーションに WaitCondition とシグナル送信を使用
します。進捗データを受信するユーザーの Identity ロールを定義する必要があります。デフォルト
では、このロールは heat_stack_user です。
# o penstack-co nfi g --set /etc/heat/heat. co nf \D EFAULT
heat_stack_user_ro l e heat_stack_user
バグを報告する
16.3. Orchest rat ion Service の起動
必要な設定が完了した後には、Orchestration Service を構成する各サービスを起動することができます。
o penstack-heat-api
o penstack-heat-api -cfn
o penstack-heat-api -cl o ud watch
o penstack-heat-api -eng i ne
各サービスを起動するには、以下のコマンドを実行します。
# servi ce SERVICENAME start
次に、各サービスがブート時に自動的に起動するように設定します。
# chkco nfi g SERVICENAME o n
SERVICENAME は Orchestration Service を構成する各サービスの対応する名前に置き換えます。
バグを報告する
16.4 . Orchest rat ion テンプレートを使用したスタックのデプロイ
Orchestration エンジンは、テンプレート (. templ ate ファイルで定義) を使用してインスタンス、IP ア
ドレス、ボリューム、およびその他のタイプのスタックを起動します。h eat ユーティリティは、スタック
の作成/設定/起動を可能にするコマンドラインインターフェースです。
一部の Orchestration テンプレートは、o penstack-heat-api -cfn へのアクセスが必要なインスタン
スを起動します。このようなインスタンスは、o penstack-heat-api -cl o ud watch および
o penstack-heat-api -cfn のサービスとの通信が可能である必要があります。これらのサービスが使用
する IP アドレスおよびポートは、/etc/heat/heat. co nf で heat_metad ata_server_url および
heat_watch_server_url として設定されている値です (詳しくは「Orchestration Service の認証設
定」を参照してください)。
198
⁠第1 6 章 O penSt ack O rchest rat ion Service のインストール
これらのサービスへのアクセスを許可するには、ファイアウォールを適宜設定する必要がある場合がありま
す。具体的には、o penstack-heat-api -cl o ud watch (8003) および o penstack-heat-api -cfn
(8000) の使用するポートを開放する必要があります。そのためには、以下のタスクを ro o t として実行し
ます。
1. テキストエディターで /etc/sysco nfi g /i ptabl es ファイルを開きます。
2. ポート 80 0 3 および 80 0 0 で TCP トラフィックを許可するようにファイアウォールを設定しま
す。このためには、次の INP UT ルールを /etc/sysco nfi g /i ptabl es に追加してください。
-A INPUT -i BR -p tcp --dport 8003 -j ACCEPT
-A INPUT -i BR -p tcp --dport 8000 -j ACCEPT
BR は、対象のインスタンス (Orchestration テンプレートから起動したインスタンス) が使用する
ブリッジのインターフェースに置き換えます。
注記
以下のいずれかの場合には、INP UT ルールに -i BR パラメーターは追加しないでくださ
い。
no va-netwo rk を使用していない
Orchestration Service および no va-co mpute が同じサーバーでホストされていない
3. /etc/sysco nfi g /i ptabl es ファイルへの変更を保存します。
4. i ptabl es サービスを再起動して、ファイアウォールの変更を有効にします。
# servi ce i ptabl es restart
h eat を使用して、アプリケーションを起動するには、以下のコマンドを実行します。
# heat stack-create STACKNAME \--templ ate-fi l e= PATH_TEMPLATE \-parameters= "PARAMETERS"
ここで、
STACKNAME は、そのスタックに割り当てる名前に置き換えます。この名前は、heat stack-l i st
コマンドを実行する際に表示されます。
PATH_TEMPLATE は、. templ ate ファイルへのパスに置き換えます。
PARAMETERS は、使用するすスタック作成パラメーターのセミコロン区切りリストです。サポートさ
れているパラメーターは、テンプレートファイル自体で定義されています。
たとえば、/ho me/user/myappl i cati o n. templ ate というテンプレートファイルを使用して、特定
のデータベースログインパラメーターで myappl i cati o n という名前のスタックを起動するには、以下の
コマンドを実行します。
199
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
# heat stack-create myappl i cati o n \--templ atefi l e= /ho me/user/myappl i cati o n. templ ate \-parameters= "D BUsername= ro o t;D BP asswo rd = P ASSWO R D "
このコマンドにより、D BUsername と D BP asswo rd は、スタックがデータベースへのログインに使用す
る必要のある入力フィールドとして /ho me/user/myappl i cati o n. templ ate に定義されます。
バグを報告する
200
⁠第1 7 章 Dashboard のインストール
第17章 Dashboard のインストール
17.1. Dashboard Service の要件
D ashboard Service をホストするシステムの要件は以下のとおりです。
httpd 、mo d _wsg i 、および mo d _ssl がすでにインストール済み (セキュリティ目的)
Identity Service およびその他の OpenStack API サービス (OpenStack Compute、Block
Storage、Object Storage、Image, および Networking の各サービス) への接続
インストーラーが Identity Service エンドポイントの URL を認識している必要があります。
注記
mo d _wsg i 、httpd 、および mo d _ssl をインストールするには、root として以下のコマンドを実
行します。
# yum install -y mod_wsgi httpd mod_ssl
バグを報告する
17.2. Dashboard パッケージのインストール
以下の手順に記載するステップを実行すると、OpenStack D ashboard Service に必要なパッケージがイ
ンストールされます。
注記
D ashboard Service は設定可能なバックエンドセッションストアを使用します。以下のインストー
ルでは、memcached をセッションストアとして使用しますが、その他のオプションもあります。
詳しくは、 セッションストレージのオプションを参照してください。
唯一の必須パッケージ
openstack-dashboard
OpenStack D ashboard Service を提供します。
memcached を使用する場合には、以下のパッケージもインストールする必要があります。
memcached
データベースの負荷を軽減することにより、動的な Web アプリケーションを高速化するメモリー
オブジェクトキャッシングシステム。
python-memcached
memcached デーモンへの Python インターフェース
以下のインストールは、ro o t ユーザーとしてログインして実行する必要があります。
201
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
1. memcached オブジェクトキャッシュシステムをインストールします。
# yum i nstal l -y memcached pytho n-memcached
2. D ashboard パッケージをインストールします。
# yum i nstal l -y o penstack-d ashbo ard
OpenStack D ashboard Service がインストールされ、設定できる状態となりました。
バグを報告する
17.3. Apache Web サービスの起動
D ashboard は D jango (Python) Web アプリケーションであるため、httpd サービスによってホストさ
れます。このサービスを起動するには、以下のコマンドを ro o t ユーザーとして実行します。
1. servi ce を起動するには、コマンドラインで以下のコマンドを実行します。
# service httpd start
2. 今後 httpd サービスが自動的に起動ようにするには、以下のコマンドを実行します。
# chkconfig httpd on
3. httpd が稼働していることを確認するには、以下のコマンドを実行します。
# service --status-all | grep httpd
バグを報告する
17.4 . Dashboard の設定
17.4 .1. 接続とロギングの設定
ユーザーがダッシュボードに初めて接続する前には、/etc/o penstackd ashbo ard /l o cal _setti ng s ファイルで以下のように設定します (サンプルファイルはConfiguration
Reference Guideを参照してください)。
1. Cache Backend: ro o t ユーザーとして、memcached の値を使用して C AC HES の設定を更新しま
す。
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND' :
'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION' : 'memcacheURL:port',
}
}
ここで、
202
⁠第1 7 章 Dashboard のインストール
memcacheUR L は memcache がインストールされているホストに置き換えます。
po rt は /etc/sysco nfi g /memcached ファイルの P O R T パラメーターからの値に置き換
えます。
2. D ashboard Host: 以下の例のように、OpenStack Identity Service エンドポイントのホストの
URL を指定します。
O P ENST AC K_HO ST = "127. 0 . 0 . 1"
3. Time Z one: ダッシュボードのタイムゾーンを変更するには、以下を更新します (タイムゾーンは
ダッシュボードの GUI でも変更することができます)。
T IME_ZO NE= "UT C "
4. 設定の変更を有効にするには、Apache Web サーバーを再起動します。
注記
HO R IZO N_C O NFIG ディレクトリには D ashboard のすべての設定が含まれます。サービスが
D ashboard に含まれているかどうかは、Identity Service の Service Catalog configuration に
よって決定します。詳しい説明は
http://docs.openstack.org/developer/horizon/topics/settings.html (Horizon Settings and
Configuration) を参照してください。
バグを報告する
17.4 .2. デプロイメントのセキュアな設定 (HT T PS)
デフォルトのインストールでは、暗号化されていないチャンネル (HTTP) を使用していますが、
OpenStack D ashboard に SSL サポートを有効にすることが可能です。HTTPS を有効化するには、以下
のステップにしたがってください (以下の例で、「openstack.example.com」はお使いの環境の URL に置
き換えて下さい)。
1. /etc/o penstack-d ashbo ard /l o cal _setti ng s ファイルを編集し、以下のパラメーターの
コメントを解除します。
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https')
CSRF_COOKIE_SECURE = True
SESSION_COOKIE_SECURE = True
後の 2 つの設定は、ダッシュボードのクッキーを HTTPS 接続のみで送信するようにブラウザーに
指示して、セッションが HTTP 上では機能しないようにします。
2. /etc/httpd /co nf/httpd . co nf ファイルを編集して、以下の行を追加します。
NameVirtualHost *:443
3. /etc/httpd /co nf. d /o penstack-d ashbo ard . co nf ファイルを編集し、「Before」と
「After」のセクションを置き換えます。
Before:
203
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
WSGIScriptAlias /dashboard /usr/share/openstackdashboard/openstack_dashboard/wsgi/django.wsgi
Alias /static /usr/share/openstack-dashboard/static/
<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
<IfModule mod_headers.c>
# Make sure proxies don’t deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule></IfModule>
Order allow,deny
Allow from all
</Directory>
After:
<VirtualHost *:80>
ServerName openstack.example.com
RedirectPermanent / https://openstack.example.com/
</VirtualHost><VirtualHost *:443>
ServerName openstack.example.com
SSLEngine On
SSLCertificateFile /etc/httpd/SSL/openstack.example.com.crt
SSLCACertificateFile /etc/httpd/SSL/openstack.example.com.crt
SSLCertificateKeyFile /etc/httpd/SSL/openstack.example.com.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
WSGIScriptAlias / /usr/share/openstackdashboard/openstack_dashboard/wsgi/django.wsgi
WSGIDaemonProcess horizon user=apache group=apache processes=3
threads=10
RedirectPermanent /dashboard https://openstack.example.com
Alias /static /usr/share/openstack-dashboard/static/
<Directory /usr/share/openstackdashboard/openstack_dashboard/wsgi>
Order allow,deny
Allow from all
</Directory></VirtualHost>
「After」の設定では、Apache がポート 443 をリッスンし、セキュリティで保護されていない要求
をすべて HTTPS プロトコルにリダイレクトします。<Vi rtual Ho st *: 4 4 3> のセクションで
は、秘密鍵、公開鍵、証明書など、このプロトコルに必要なオプションを定義します。
4. ro o t ユーザーとして、Apache と memcached を再起動します。
# servi ce httpd restart # servi ce memcached restart
ブラウザーで HTTP バージョンのダッシュボードを使用すると、ユーザーは HTTPS バージョンの
ページにリダイレクトされるようになりました。
204
⁠第1 7 章 Dashboard のインストール
バグを報告する
17.4 .3. Member ロールの作成
D ashboard Service には、「Member」という名前の Identity ロールが必要です。このロールは、ダッ
シュボードを使用する前に Identity Service であらかじめ作成しておく必要があります。
1. keysto nerc_ad mi n ファイルが存在するシステムにログインし、Identity 管理者として認証しま
す。
# source ~/keystonerc_admin
2. keysto ne ro l e-create コマンドを使用して、Member ロールを作成します。
# keystone role-create --name Member
+----------+----------------------------------+
| Property |
Value
|
+----------+----------------------------------+
| id
| 8261ac4eabcc4da4b01610dbad6c038a |
| name
|
Member
|
+----------+----------------------------------+
注記
Member ロール以外のロールを使用するように D ashboard Service を設定するには、次の場所に保
管されている O P ENST AC K_KEY ST O NE_D EFAULT _R O LE 設定キーの値を変更します。
/etc/o penstack-d ashbo ard /l o cal _setti ng s
httpd サービスを再起動して、変更を有効にします。
バグを報告する
17.4 .4 . SELinux の設定
SELinux は、アクセス制御を提供する Red Hat Enterprise Linux のセキュリティ機能です。設定可能な値
は、Enforcing、Permissive、および D isabled です。SELinux が 「Enforcing」モードに設定されている
場合には、SELinux ポリシーを変更して、httpd サービスから Identity サーバーへの通信を許可する必要が
あります。この設定変更は、SELinux が 「Permissive」モードに設定されている場合にも推奨されます。
1. g etenfo rce コマンドでシステム上の SELinux のステータスを確認します。
# getenforce
2. 表示される値が「Enforcing」または「Permissive」の場合には、setsebo o l コマンドを ro o t
ユーザーとして使用し、httpd での Identity サービスの接続を許可します。
# setsebool -P httpd_can_network_connect on
205
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
注記
SELinux が使用しているステータスを確認することもできます。
# sestatus
SELinux status:
SELinuxfs mount:
Current mode:
Mode from config file:
Policy version:
Policy from config file:
enabled
/selinux
permissive
enforcing
24
targeted
さらに詳しい情報は、Red Hat Enterprise Linux 6 SELinux Users and Administrators Guide を参照し
てください。
バグを報告する
17.4 .5. Dashboard のファイアウォール設定
ユーザーがダッシュボードに接続できるようにするには、システムのファイアウォールを設定して接続を
許可する必要があります。httpd サービスおよびダッシュボードは、HTTP と HTTPS の両方の接続をサ
ポートしています。
注記
認証情報およびその他の情報を保護するには、HTTPS 接続のみを有効化することを推奨します。
以下の手順を ro o t ユーザーとして実行します。
1. /etc/sysco nfi g /i ptabl es 設定ファイルを編集します。
HTTPS のみを使用した受信接続を許可するには、以下のファイアウォールルールをファイルに
追加します。
-A INPUT -p tcp --dport 443 -j ACCEPT
HTTP および HTTPS の両方を使用した受信接続を許可するには、以下のルールをファイルに追
加します。
-A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
2. iptable サービスを再起動して、変更を有効にします。
# servi ce i ptabl es restart
206
⁠第1 7 章 Dashboard のインストール
重要
上記のルールにより、全リモートホストから D ashboard Service を実行するシステムへの通信が
ポート 80 と 443 で 許可されます。より制限の厳しいファイアウォールルールの作成についての説
明は、Red Hat Enterprise Linux 6 セキュリティガイドを参照してください。
バグを報告する
17.4 .6. セッションストレージのオプション
1 7 .4 .6 .1 . ローカルメモリーキャッシュのセッションストレージの設定
ローカルメモリーストレージは、外部依存関係がないので、セットアップが最も迅速で容易なバックエンド
です。ただし、大きな欠点が 2 つあります。
複数のプロセスまたはワーカーにまたがる共有ストレージがない
プロセス終了後に永続しない
ローカルメモリーバックエンドは、依存関係がないため、D ashboard Service で唯一デフォルトとして有
効化されます。ただし、実稼働環境や重要な開発作業での使用にはお勧めできません。
ストレージにローカルメモリーを使用するには、/etc/o penstack-d ashbo ard /l o cal _setti ng s
ファイルに以下の内容を記載します。
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'
}
}
バグを報告する
1 7 .4 .6 .2 . m e m cache d セッションストレージの設定
memcached などのアプリケーションを使用した外部キャッシュは、永続的な共有ストレージを提供しま
す。これは、小規模のデプロイや開発に非常に有用です。本ガイドに記載の D ashboard のインストールプ
ロセスでは、外部キャッシュに memcached の使用を推奨しています (設定についての詳細は、接続とログ
記録の設定を参照してください)。
ただし、分散型/高可用性のシナリオでは、memcached には固有の問題があり、本書の範囲を超えていま
す。memcached は、デプロイメントのニーズに合う場合には、極めて高速かつ効率性の高いキャッシュ
バックエンドですが、すべてのシナリオに適切なわけではありません。
バグを報告する
1 7 .4 .6 .3. データベースセッションストレージの設定
データベース支援のセッションは、スケーラブル (適切なデータベースストラテジーを使用) かつ永続的で
す。また、高同時実行性および高可用性に設定することが可能です。このアプローチのマイナス面は、デー
タベース支援のセッションが低速のセッションストレージの 1 つであるため、使用頻度が高くなるとオー
バーヘッドが大きくなる点です。また、データベースデプロイメントの適切な設定も、負担の高い作業とな
る場合があり、本ガイドの範囲をはるかに越えています。
207
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
データベースセッションストレージを有効にするには、以下に記載するステップを ro o t ユーザーとして
実行してデータベースを初期化し、使用できるように設定します。
1. 以下のコマンドを実行して、MySQL のコマンドラインクライアントを起動します。
# mysq l -u ro o t -p
2. パスワードを要求されたら、MySQL の root ユーザーパスワードを指定します。
3. d ash データベースを作成します。
mysq l > C R EAT E D AT ABASE d ash;
4. 新規作成した dash データベースを完全にコントロールすることができる MySQL ユーザーを作成
します。
mysq l > G R ANT ALL O N d ash. * T O ' d ash' @ ' %' ID ENT IFIED BY
' PASSWORD' ;
mysq l > G R ANT ALL O N d ash. * T O ' d ash' @ ' l o cal ho st' ID ENT IFIED BY
' PASSWORD' ;
PASSWORD は、新規データベースユーザーが認証するためのセキュアなパスワードに置き換えま
す。
5. Enter quit at the mysq l > prompt to exit the MySQL client.
6. /etc/o penstack-d ashbo ard /l o cal _setti ng s ファイルで、以下のオプションを変更し
て、新規 MySQL データベースを参照するように設定します。
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
DATABASES = {
'default': {
# Database configuration here
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dash',
'USER': 'dash',
'PASSWORD': 'PASSWORD',
'HOST': 'HOST',
'default-character-set': 'utf8'
}
}
PASSWORD は、d ash データベースユーザーのパスワードに、HOST はデータベースサーバーの
IP アドレスまたは完全修飾ドメイン名に置き換えます。
7. 以下のコマンドを実行して、新規データベースにデータを読み込みます。
# cd /usr/share/o penstack-d ashbo ard # pytho n manag e. py syncd b
注意: admin アカウントを作成するように要求されますが、これは必須ではありません。
この結果、以下のようなメッセージが表示されます。
Installing custom SQL ...
208
⁠第1 7 章 Dashboard のインストール
Installing indexes ...
DEBUG:django.db.backends:(0.008) CREATE INDEX
`django_session_c25c2c28` ON
`django_session` (`expire_date`);; args=()
No fixtures found.
8. Apache を再起動して、デフォルトのサイトとシンボリックリンクの設定をピックアップします。
# servi ce httpd restart
9. o penstack-no va-api サービスを再起動して、API サーバーが D ashboard に接続できること
を確認し、D ashboard にエラーが表示されないようにします。
# servi ce o penstack-no va-api restart
バグを報告する
1 7 .4 .6 .4 . キャッシュされたデータベースセッションストレージの設定
データベースクエリのパフォーマンス上の問題を軽減するには、データベースとキャッシュのインフラスト
ラクチャーを活用してライトスルーキャッシュを実行し、効率的な取得を行う、D jango の cached _d b
sessi o n バックエンドを使用することができます。
このハイブリッド設定を有効にするには、上記で説明したようにデータベースとキャッシュを設定して、以
下を使用します。
SESSIO N_ENG INE = "d jang o . co ntri b. sessi o ns. backend s. cached _d b"
バグを報告する
1 7 .4 .6 .5 . クッキーセッションストレージの設定
クッキーセッションバックエンドは、ユーザーのブラウザーに保管されるクッキーにセッションデータを
格納することにより、サーバーの負荷とスケーリングの問題を防ぎます。バックエンドは、暗号による署名
のテクニックを SECRET_KEY と併用して、転送中にセッションデータが改ざんされないようにします (こ
れは暗号化とは異なり、セッションデータは、攻撃者が読み取ることが可能です)。
利点
追加の依存関係やインフラストラクチャーオーバーヘッドは不要
格納されるセッションデータの量が通常のクッキーに収まる限りは、無制限に拡大可能
欠点
セッションデータはユーザーのマシン上のストレージに配置され、ワイヤー上で転送される
格納できるセッションデータの量が制限される
209
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
注記
このセッションバックエンドによるセキュリティーへの影響に関する詳しい説明は、D jango のマ
ニュアルでクッキーベースセッションについての解説を参照してください。
https://docs.djangoproject.com/en/dev/topics/http/sessions/#s-using-cookie-based-sessions
クッキーセッションストレージを有効化する手順
1. /etc/o penstack-d ashbo ard /l o cal _setti ng s ファイルで以下のように設定します。
SESSIO N_ENG INE =
"d jang o . co ntri b. sessi o ns. backend s. si g ned _co o ki es"
2. コマンドラインで以下のコマンドを実行して、無作為に生成した SEC R ET _KEY をプロジェクトに
追加します。
$ d jang o -ad mi n. py startpro ject
注記
SEC R ET _KEY は、手動または (この手順のように) 自動で生成して指定することが可能な文
字列です。キーが一意であること (つまり、そのマシン上の他のどのパスワードとも一致し
ないこと) だけ確認する必要があります。
バグを報告する
17.5. Dashboard のインストールの検証
D ashboard のインストールと設定が正常に完了すると、Web ブラウザーでユーザーインターフェースにア
クセスすることができます。HO ST NAME は、D ashboard Service をインストールしたサーバーのホスト名
または IP アドレスに置き換えてください。
HTTPS
https://HOSTNAME/dashboard/
HTTP
http://HOSTNAME/dashboard/
ログイン画面が表示されたら、OpenStack ユーザーの認証情報を使用してログインします。OpenStack
ユーザーの作成についての情報は、標準ユーザーアカウントの作成を参照してください。
210
⁠第1 7 章 Dashboard のインストール
図17.1 D ash b o ard のログイン画面
関連トピック:
「一般ユーザーアカウントの作成」
バグを報告する
211
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
⁠パート IV. インストールの検証
212
⁠第1 8 章 インスタンスを使用する操作
第18章 インスタンスを使用する操作
18.1. ディスクイメージのアップロード
イメージのアップロードは、コマンドラインの glance ツールを使用するか (Image Service へのイメージの
追加を参照)、ダッシュボードを使用して行うことができます。以下の手順ではダッシュボードを使用しま
す。このためには、あらかじめ以下の作業を完了しておく必要があります。
D ashboard のインストール (Dashboard のインストールを参照)
使用可能なイメージの用意 (テストディスクイメージの取得)を参照
ダッシュボードを使用してイメージをアップロードする手順
1. Member ロールの割り当てられたユーザーとしてダッシュボードにログインします。
図18.1 ユーザーログイン
2. コンピュートの管理 メニューで イメージとスナップショット をクリックします。
3. イメージの作成 ボタンをクリックします。イメージの作成 ダイアログが表示されます。
213
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
図18.2 イメージの作成ダイアログ
4. 詳細 タブで、インスタンスを定義する指定値を設定します。
a. イメージの名前を入力します。
b. イメージの場所 フィールドには、イメージファイルの場所を使用します。
c. 形式 フィールドのドロップダウンメニューから正しい種別を選択します (例:Q C O W2)。
d. 最小ディスク (G B) および 最小メモリー (MB) のフィールドは空白のままにします。
e. パブリック のチェックボックスを選択します。
f. イメージの作成 ボタンをクリックします。
イメージのアップロードが正常に完了しました。
関連トピック:
17章Dashboard のインストール
バグを報告する
18.2. キーペアの作成
Compute インスタンスの起動時には、キーペアを指定する必要があります。これにより、ユーザーはその
インスタンスへセキュアにログインすることができます。本項では、ダッシュボードを使用したキーペアの
作成手順について詳しく説明するので、D ashboard をあらかじめインストールしておく必要があります
(Dashboard のインストールを参照)。
Compute サービスを実行するホストで以下の作業を行います。
214
⁠第1 8 章 インスタンスを使用する操作
1. ダッシュボードにログインします。
2. コンピュートの管理 メニューで アクセスとセキュリティ をクリックします。
3. キーペア タブで、キーペアの作成 ボタンをクリックします。キーペアの作成 ダイアログが表示
されます。
図18.3 キーペアの作成
4. キーペア名 フィールドに名前を指定して キーペアの作成 ボタンをクリックします。
これでキーペアが作成されて、インスタンスの起動時に使用することができます。
注記
キーペアの作成時には、ブラウザーを介して、キーペアファイルが自動的にダウンロードされま
す。また、オプションとして、次のコマンドを実行すると、このファイルを ssh に追加して、コ
マンドラインからの ssh 接続が可能になります。
# ssh-add ~/.ssh/NAME.pem
既存のキーペアを削除するには、キーペア タブで、そのキーペアの キーペアの削除 ボタンを
クリックします。
関連トピック:
17章Dashboard のインストール
バグを報告する
18.3. ネットワークの作成
ダッシュボードからネットワークを作成するには、あらかじめ以下の作業を完了しておく必要があります。
D ashboard のインストール (Dashboard のインストールを参照)
OpenStack Networking Service のインストール (OpenStack Networking Service のインストールを参
照)
215
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
ダッシュボードを使用してネットワークを作成する手順
1. ダッシュボードにログインします。
2. ネットワークの管理 メニューで ネットワーク をクリックします。
3. ネットワークの作成 ボタンをクリックします。ネットワークの作成 ダイアログが表示されま
す。
図18.4 ネットワーク作成: ネットワークタブ
4. デフォルトでは、ダイアログは ネットワーク タブが表示された状態で開きます。任意でネット
ワーク名を指定することも可能です。
5. ネットワークのサブネットを定義するには、サブネット および サブネットの詳細 タブをクリッ
クします。フィールドのヒントは、各フィールドをクリックしてください。
注記
サブネットは最初から指定する必要はありません (ただし、それにより、接続されているイ
ンスタンスのステータスはエラーとなります)。特定のサブネットを定義しない場合は、サ
ブネットの作成 のチェックボックスのチェックを解除してください。
6. 作成 ボタンをクリックします。
新規ネットワークが作成されました。
関連トピック:
17章Dashboard のインストール
13章OpenStack Networking Service のインストール
バグを報告する
18.4 . インスタンスの起動
ダッシュボードからインスタンスを起動するには、あらかじめ以下の作業を完了しておく必要があります。
インスタンスのベースとして使用するイメージのアップロード ( ディスクイメージのアップロードを参
照)
216
⁠第1 8 章 インスタンスを使用する操作
ネットワークの作成 ( ネットワークの作成を参照)
ダッシュボードを使用してインスタンスを起動する手順
1. ダッシュボードにログインします。
2. コンピュートの管理 メニューで インスタンス をクリックします。
3. インスタンスの起動 ボタンをクリックします。インスタンスの起動 ダイアログが表示されま
す。
図18.5 インスタンスの起動: 「詳細」タブ
4. デフォルトでは、ダイアログは 詳細 タブが表示された状態で開きます。
a. インスタンスの Instance So urce を選択します。以下の値から選択することができま
す。
イメージ
スナップショット
b. インスタンスの起動時に使用する イメージ または スナップショット を選択します。こ
こで選択したイメージにより、インスタンスのオペレーティングシステムとアーキテク
チャーが定義されます。
c. インスタンスを識別するための インスタンス名 を入力します。
d. インスタンスの フレーバー を選択します。フレーバーにより、インスタンスに提供される
コンピュートリソースが決定します。フレーバーを選択した後には、そのリソースが フ
レーバーの詳細 ペインに表示されて、プレビューすることができます。
217
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
e. インスタンス数 を入力します。この値により、選択したオプションで起動するインスタン
スの数が決定します。
5. アクセスとセキュリティ タブをクリックし、インスタンスのセキュリティ設定値を設定します。
図18.6 インスタンスの起動: 「アクセスとセキュリティ」タブ
a. キーペア ドロップダウンボックスから既存のキーペアを選択するか、+ ボタンをクリック
して新規キーペアをアップロードします。
b. インスタンスに適用する セキュリティグループ を選択します。デフォルトで
は、d efaul t セキュリティグループのみが利用可能です。
6. ネットワーク タブをクリックし、ネットワークの + 記号をクリックして、インスタンス用のネッ
トワークを選択します。
図18.7 インスタンスの起動: 「ネットワーク」タブ
7. 起動 ボタンをクリックします。
これで、Compute インスタンスが作成されました。
218
⁠第1 8 章 インスタンスを使用する操作
注記
ダッシュボードからインスタンスコンソールを起動する手順
1. インスタンス タブで、インスタンスの名前をクリックします。Instance D etai l ペー
ジが表示されます。
2. 表示されたページで コンソール タブをクリックします。
ブラウザー内で、VNC コンソールのインスタンスが実行されます。
関連トピック:
「ディスクイメージのアップロード」
「キーペアの作成」
「ネットワークの作成」
バグを報告する
18.5. ボリュームの作成
Compute インスタンスは、Block Storage ボリュームの接続および切断をサポートしています。以下の手
順は、ダッシュボードを使用した論理ボリューム作成に伴うステップを詳しく説明します。
ダッシュボードからボリュームを作成するには、あらかじめ以下の作業を完了しておく必要があります。
D ashboard のインストール (Dashboard のインストールを参照)
Block Storage Service のインストール (OpenStack Block Storage のインストールを参照)
ダッシュボードを使用してボリュームを作成する手順
1. ダッシュボードにログインします。
2. コンピュートの管理 メニューで ボリューム をクリックします。
3. ボリュームの作成 ボタンをクリックすると、ボリュームの作成 ダイアログが表示されます。
219
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
図18.8 「ボリュームの作成」のダイアログ
4. ボリュームを設定する手順
a. 作成する新規ボリュームを特定するための ボリューム名 を入力します。
b. 新規ボリュームについての 説明 を入力します。
c. 新規ボリュームの 容量 をギガバイト (GB) 単位で入力します。
重要
本ガイドでは、LVM ストレージは ci nd er-vo l umes ボリュームグループとして設定しま
す (LVM ストレージバックエンドの設定を参照)。新規ボリュームを割り当てるに
は、ci nd er-vo l umes に十分なディスク空き容量が必要です。
5. ボリュームの作成 ボタンをクリックして、新規ボリュームを作成します。
ダッシュボードを使用した Block Storage ボリュームの作成が正常に完了しました。
関連トピック:
17章Dashboard のインストール
12章OpenStack Block Storage のインストール
バグを報告する
18.6. インスタンスへのボリュームの接続
以下の手順は、ダッシュボードを使用して既存の Compute インスタンスに Block Storage ボリュームを
接続するステップを詳しく説明します。
ダッシュボードからボリュームを作成するには、あらかじめ以下の作業を完了しておく必要があります。
インスタンスの起動 ( インスタンスの起動を参照)
ボリュームの作成 (ボリュームの作成を参照)
ダッシュボードを使用してボリュームを接続する手順
1. 任意のユーザーとしてダッシュボードにログインします。
2. コンピュートの管理 メニューで ボリューム をクリックします。
3. インスタンスに接続するボリュームの列にある 接続の編集 ボタンをクリックします。ボリューム
の接続の管理 ダイアログが表示されます。
220
⁠第1 8 章 インスタンスを使用する操作
図18.9 ボリュームの接続の管理
4. インスタンスへの接続 フィールドでボリュームを接続するインスタンスを選択します。
5. デバイス名 フィールドにデバイスの名前を指定します (例: '/dev/vdc')。
6. ボリュームの接続 ボタンをクリックします。
ダッシュボードを使用して、Block Storage ボリュームをインスタンスに接続する操作が正常に完了しま
した。このボリュームは、物理ハードディスクドライブとしてゲストオペレーティングシステムに表示され
ます。
関連トピック:
「インスタンスの起動」
「ボリュームの作成」
バグを報告する
18.7. インスタンスのスナップショットの作成
以下の手順では、ダッシュボードを使用して、実行中のインスタンスをベースとしたスナップショットを
作成するのに伴うステップを詳しく説明します。この作業は、バックアップの目的もしくはカスタマイズを
適用した後に他のインスタンスを作成するためのベースイメージを作成する目的で行うことができます。
スナップショットを作成するには、実行中のインスタンスが使用可能である必要があります (インスタンス
の起動を参照)。
ダッシュボードを使用してスナップショットを作成する手順
1. ダッシュボードにログインします。
2. コンピュートの管理 メニューで インスタンス をクリックします。
3. スナップショットを作成するインスタンスの列で スナップショットの作成 ボタンをクリックし
ます。
221
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
図18.10 スナップショットの作成
スナップショットの作成 ダイアログが表示されます。
4. スナップショット名 フィールドにスナップショットの記述名を入力します。
5. スナップショットの作成 ボタンをクリックして、スナップショットを作成します。
作成した新規スナップショットは、イメージとスナップショット の画面の イメージ の表に表示
されます。
インスタンスのスナップショット作成が正常に完了しました。このスナップショットは、インスタンスの
状態を復元したり、新規インスタンスを起動するベースとして使用することができます。
関連トピック:
「インスタンスの起動」
バグを報告する
18.8. インスタンスの状態の制御 (Pause、Suspend、Reboot )
ダッシュボードを使用してインスタンスの状態を変更するには、あらかじめインスタンスを起動しておく必
要があります (インスタンスの起動を参照)。
インスタンスの状態を変更する手順
1. ダッシュボードにログインします。
2. コンピュートの管理 メニューで インスタンス をクリックします。
3. 状態を変更するインスタンスを選択して、 ドロップダウンボタンをクリックすると、ドロップダウ
ンリストが表示されます。
222
⁠第1 8 章 インスタンスを使用する操作
図18.11 インスタンスのメニュー
4. インスタンスの状態を変更するオプションを 1 つクリックします。
インスタンスの状態の変更が正常に完了しました。
関連トピック:
「インスタンスの起動」
バグを報告する
223
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
第19章 環境の更新
19.1. Float ing IP アドレスプールの定義
デフォルトでは、各仮想インスタンスには、そのインスタンスが割り当てられたネットワーク内のプライ
ベート IP アドレスが自動的に割り当てられます。オプションで、パブリック IP アドレスをインスタンスに
割り当てることも可能です。
OpenStack では、「Floating IP」という用語を使います。これは、実行中の仮想インスタンスに動的に追
加することが可能な IP アドレスのことを指します。OpenStack Networking では、Floating IP プールは
外部ネットワークとして表現され、Floating IP は、外部ネットワークに関連付けられたサブネットから確
保されます。
以下の手順では、まず最初に OpenStack Networking をインストールする必要があります (OpenStack
Networking Service のインストール を参照) 。
Floating IP アドレスのプールを定義します。
1. プールの外部ネットワークを作成します。
# neutron net-create networkName --router:external=True
例19 .1 外部ネットワークの定義
# neutron net-create ext-net --router:external=True
Created a new network:
+---------------------------+-------------------------------------+
| Field
| Value
|
+---------------------------+-------------------------------------+
| admin_state_up
| True
|
| id
| 3a53e3be-bd0e-4c05-880d2b11aa618aff |
| name
| ext-net
|
| provider:network_type
| local
|
| provider:physical_network |
|
| provider:segmentation_id |
|
| router:external
| True
|
| shared
| False
|
| status
| ACTIVE
|
| subnets
|
|
224
⁠第1 9 章 環境の更新
| tenant_id
| 6b406408dff14a2ebf6d2cd7418510b2
|
+---------------------------+-------------------------------------+
2. Floating IP アドレスプールを作成します。
$ neutron subnet-create --allocation-pool
start=IPStart,end=IPStart --gateway GatewayIP --disable-dhcp
networkNameCIDR
例19 .2 Flo at in g IP アドレスプールの定義
$ neutron subnet-create --allocation-pool
start=10.38.15.128,end=10.38.15.159 --gateway 10.38.15.254 -disable-dhcp ext-net 10.38.15.0/24
Created a new subnet:
+------------------+-------------------------------------------------+
| Field
| Value
|
+------------------+-------------------------------------------------+
| allocation_pools | {"start": "10.38.15.128", "end":
"10.38.15.159"} |
| cidr
| 10.38.15.0/24
|
| dns_nameservers |
|
| enable_dhcp
| False
|
| gateway_ip
| 10.38.15.254
|
| host_routes
|
|
| id
| 6a15f954-935c-490f-a1ab-c2a1c1b1529d
|
| ip_version
| 4
|
| name
|
|
| network_id
| 4ad5e73b-c575-4e32-b581-f9207a22eb09
|
| tenant_id
| e5be83dc0a474eeb92ad2cda4a5b94d5
|
+------------------+-------------------------------------------------+
Floating IP アドレスプールの作成が正常に完了しました。
関連トピック:
225
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
13章OpenStack Networking Service のインストール
バグを報告する
19.2. ルーターの作成
本項では、ダッシュボードを使用して、内部ネットワークと外部ネットワークを接続するルーターを作成
するステップを詳しく説明します。あらかじめ以下の作業を完了しておく必要があります。
D ashboard のインストール (Dashboard のインストールを参照)
外部ネットワークの作成 (Floating IP アドレスプールの定義を参照)
内部ネットワークの作成 ( ネットワークの作成を参照)
ルーターの作成手順
1. ダッシュボードにログインします。
2. ネットワークの管理 メニューで ルーター をクリックします。
3. ルーターの作成 ボタンをクリックすると、ルーターの作成 ウィンドウが表示されます。
図19 .1 ルーターの作成
4. ルーターの名前を指定して、ルーターの作成 ボタンをクリックします。ルーターの一覧に新規
ルーターが表示されるようになります。
5. 新しいルーターの ゲートウェイの設定 ボタンをクリックします。
6. 外部ネットワーク フィールドでルーターが接続するネットワークを指定して、ゲートウェイの
設定 ボタンをクリックします。
7. 新しく作成したルーターにプライベートネットワークを接続します。
a. ルーター一覧のルーター名をクリックします。
図19 .2 ルーターの選択
226
⁠第1 9 章 環境の更新
b. インターフェースの追加 ボタンをクリックすると、インターフェースの追加 ウィンド
ウが表示されます。
図19 .3 インターフェースの追加
c. サブネット フィールドでルーターを接続すべき新規サブネットを指定して、インター
フェースの追加 をクリックします。
ルーターの作成が正常に完了しました。ネットワークの管理 メニューの ネットワークトポロジー をク
リックして新しいトポロジーを確認することができます。
図19 .4 ネットワークトポロジー
関連トピック:
17章Dashboard のインストール
「Floating IP アドレスプールの定義」
「ネットワークの作成」
227
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
バグを報告する
19.3. インスタンスへの Float ing IP 割り当て
OpenStack でインスタンスを作成する場合には、そのインスタンスが割り当てられるネットワーク内の
Fixed IP アドレスが自動的に割り当てられます。この IP アドレスは、そのインスタンスが終了するまで永
続的に割り当てられます。
ただし、その Fixed IP アドレスに加えて、Floating IP アドレスをインスタンスにアタッチすることも可能
です。Floating IP アドレスは、Fixed IP アドレスとは異なり、対象のインスタンスの状態に関わらず、割
り当てを随時変更することが可能です。以下の手順では、Floating IP アドレスを既存のアドレスプールか
ら確保して、そのアドレスを特定のインスタンスに割り当てる方法を説明します。
Floating IP アドレスを割り当てるには、あらかじめ以下の作業を完了しておく必要があります。
Floating IP アドレスプールの作成 (Floating IP アドレスプールの定義を参照)
インスタンスの起動 ( インスタンスの起動を参照)
インスタンスに Floating IP アドレスを割り当てる手順
1. Member ロールの割り当てられたユーザーとしてダッシュボードにログインします。
2. コンピュートの管理 メニューで アクセスとセキュリティ をクリックします。
3. Fl o ati ng IP の確保 ボタンをクリックします。Fl o ati ng IP の確保 ウィンドウが表示さ
れます。
4. プール の一覧からアドレスのプールを選択します。
5. IP の確保 ボタンをクリックします。Fl o ati ng IP の表に確保された IP アドレスが表示され
ます。
6. Fl o ati ng IP の表で新たに確保された IP アドレスを探し、同じ行にある割り当て ボタンをク
リックして特定のインスタンスにそのIP アドレスを割り当てます。
Fl o ati ng IP の割り当ての管理 ウィンドウが開きます。
図19 .5 Flo at in g IP の割り当ての管理
7. IP アドレス のフィールドには、選択した Floating IP アドレスが自動的に指定されます。
228
⁠第1 9 章 環境の更新
IP を割り当てるポート の一覧から、Floating IP アドレスを割り当てるインスタンスを選択しま
す。
8. 割り当て ボタンをクリックして、選択したインスタンスに IP アドレスを割り当てます。
注記
必要がなくなった場合にインスタンスから Floating IP アドレスの割り当てを解除するに
は、割り当て解除 ボタンを使用します。
ダッシュボードを使用した、インスタンスへの Floating IP アドレス割り当てが正常に完了しました。
関連トピック:
「Floating IP アドレスプールの定義」
「インスタンスの起動」
バグを報告する
19.4 . セキュリティグループへのルールの追加
セキュリティグループは、パブリック IP アドレス上のインスタンスへの接続を許可する IP トラフィック
を指定するのに使用します。セキュリティグループによって定義されるルールは、ゲスト自体の中で定義さ
れているファイアウォールルールにネットワークトラフィックが到達する前に処理されます。これには、
あらかじめ以下の作業を完了しておく必要があります。
D ashboard のインストール (Dashboard のインストールを参照)
OpenStack Networking のインストール (OpenStack Networking Service のインストールを参照)
注記
デフォルトの設定では、「default」ソースからの全接続を「default」セキュリティグループが受け
入れ、「default」グループを適用したインスタンスはすべて、任意のポートで相互に通信を行うこ
とができます。
ダッシュボードを使用して新規ルールを追加する手順
1. ダッシュボードにログインします。
2. コンピュートの管理 メニューで アクセスとセキュリティ をクリックします。
3. セキュリティグループ ペインで、d efaul t セキュリティグループの列にある ルールの編集 ボ
タンをクリックします。セキュリティグループのルールの編集 ウィンドウが表示されます。
4. ルールの追加 ボタンをクリックすると、ルールの追加 ウィンドウが表示されます。
5. ルールの設定手順
a. IP プロトコル の一覧から、ルールを適用する必要のあるプロトコルを選択します。
b. O pen フィールドで、ルールを適用するポート (単一または複数) を定義します。
229
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
ポート : ポート フィールドで特定のポートを定義します
ポート範囲 : ポート番号 (下限 ) と ポート番号 (上限 ) のフィールドでポートの範
囲を指定します。
c. 接続元 フィールドに、定義したポートで接続を受け入れる必要のある IP アドレスを定義
します。
C ID R : C ID R フィールドに 特定の IP アドレスを Classless Inter-D omain Routing
(CID R) 表記で入力します。0.0.0.0/0 の値を指定すると、全 IP アドレスからの接続が
許可されます。
セキュリティグループ : 元グループ ドロップダウンリストから、既存のセキュリティ
グループを 1 つ選択します。これにより、指定したセキュリティグループの任意のイン
スタンスからの接続が可能となります。
6. ルールの追加 ボタンをクリックして、セキュリティグループに新規ルールを追加します。
ダッシュボードを使用した、セキュリティグループへのルールの追加が正常に完了しました。指定した IP
アドレスブロックから、指定したポートとプロトコルを使用して、変更したセキュリティグループを使用す
るインスタンスに接続することが可能となりました。
関連トピック:
17章Dashboard のインストール
13章OpenStack Networking Service のインストール
バグを報告する
230
⁠パート V. O penSt ack 環境の監視
⁠パート V. OpenStack 環境の監視
231
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
第20章 Nagios を使用した OpenStack の監視
20.1. Nagios のインストール
20.1.1. Nagios Service のインストール
Nagios モニタリングシステムは、OpenStack のネットワークおよびインフラストラクチャーを対象とす
るモニタリングと警告を提供するのに使用することができます。本項に記載するインストール手順では、以
下のパッケージをインストールします。
nagios
ネットワーク上のホストとサービスをモニタリングする Nagios プログラム。問題の発生時およ
び解決時に電子メールまたはページ警告が送信することが可能。
nagios-devel
Nagios 関連アプリケーションが使用可能なファイルが含まれる
nagios-plugins*
Nagios 関連アプリケーション (ping および nrpe を含む) 用の Nagios プラグイン
gd および gd-devel
イメージの動的な作成のためのグラフィックライブラリと、それに対応する開発ライブラリ
php
Nagios が Web インターフェースに使用する HTML 埋め込みスクリプト言語
gcc、glibc、および glibc-common
GNU コンパイラーコレクション、標準プログラミングライブラリ、およびバイナリ (ロケールサ
ポートを含む)
openssl
マシン間のセキュアな通信のサポートを提供する OpenSSL ツールキット
yum コマンドで ro o t ユーザーとして必要なパッケージをインストールします。
# yum install nagios nagios-devel nagios-plugins* gd gd-devel php gcc
glibc glibc-common openssl
注記
これらのいずれかのパッケージが即時に利用できない場合には (例: gd-devel や gcc など)、
subscription-manager を使用してオプションの Red Hat チャンネルを有効にする必要がある可能
性があります。
# subscription-manager repos --enable rhel-6-server-optional-rpms
232
⁠第2 0 章 Nagios を使用した O penSt ack の監視
バグを報告する
20.1.2. NRPE アドオンのインストール
NRPE (Nagios Remote Plugin Executor) プラグインは、ホストのサービスのステータスをチェックし
て、Nagios サービスにレポートを送り返すのに使用する、コンパイル済みの実行可能ファイルまたはスク
リプトです。OpenStack クラウドが複数のマシン間で分散されている場合には、NPRE アドオンを使用し
て、それらのリモートマシン上のプラグイン情報にアクセスすることができます。
NRPE と Nagios プラグインは、モニタリングの対象となる各リモートマシンにインストールしておく必要
があります。各リモートマシンで、ro o t ユーザーとして次のコマンドを実行します。
# yum install -y nrpe nagios-plugins* openssl
インストールの終了後には、/usr/l i b6 4 /nag i o s/pl ug i ns ディレクトリで (マシンによって
は、/usr/l i b/nag i o s/pl ug i ns の場合もあり) 使用可能なすべてのプラグインを確認することができ
ます。
注記
リモートの Nagios プラグインへのアクセスには、SSH を使用することも可能ですが、この操作を
行うと、Nagios ホストとリモートマシンの両方で、CPU 負荷が過度に高くなるため、お勧めでき
ません。
バグを報告する
20.2. Nagios の設定
20.2.1. Nagios の設定
Nagios はサーバー、ローカルおよびリモートマシンからサーバーにオブジェクト/ホストの情報のレポート
を送り返すプラグイン、Web インターフェース、およびそれらすべてを結びつける設定によって構成され
ます。
少なくとも以下の操作を完了しておく必要があります。
1. Web インターフェースのユーザー名とパスワードを確認し、基本設定をチェックします。
2. ローカルサーバーに OpenStack モニタリングを追加します。
3. OpenStack クラウドに分散ホストが含まれている場合には、次の作業を行います。
a. 各リモートマシン (監視対象のサービスが実行される) に NRPE をインストールし、設定し
ます。
b. 監視対象のホストを Nagios に指示します。
c. 各ホストの監視対象のサービスを Nagios に指示します。
表20.1 N ag io s の設定ファイル
233
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
ファイル名
説明
/etc/nag i o s/n
ag i o s. cfg
/etc/nag i o s/c
g i . cfg
/etc/httpd /co
nf. d /nag i o s.
co nf
/etc/nag i o s/p
asswd
/usr/l o cal /na
g i o s/etc/R eso
urceName. cfg
/etc/nag i o s/o
bjects/O bject
sD i r/O bjectsF
i l e. cfg
/etc/nag i o s/n
rpe. cfg
Nagios のメインの設定ファイル
CGI 設定ファイル
Nagios の httpd 用設定
Nagios ユーザーのパスワードファイル
ユーザー固有情報を格納
サービスやコンタクトグループなどの項目についての情報を保管するために使用さ
れるオブジェクト定義ファイル
NRPE 設定ファイル
バグを報告する
20.2.2. HT T PD の設定
デフォルトで Nagios のインストール時に設定されるデフォルトの httpd ユーザーとパスワードは
nag i o sad mi n / nag i o sad mi n です。この値は、/etc/nag i o s/cg i . cfg ファイルで確認するこ
とができます。
Nagios 用に HTTPD を設定するには、以下のコマンドを ro o t ユーザーとして以下の手順を実行します。
1. ユーザー nagiosadmin のデフォルトパスワードを変更するには、以下のコマンドを実行します。
# htpasswd -c /etc/nagios/passwd nagiosadmin
注記
新規ユーザーを作成するには、新規ユーザー名で以下のコマンドを使用します。
# htpasswd /etc/nagios/passwd newUserName
2. /etc/nag i o s/o bjects/co ntacts. cfg で nag i o sad mi n のメールアドレスを更新します
define contact{
contact_name
[...snip...]
email
THIS******
}
nagiosadmin
; Short name of user
yourName@ example.com
; <<*****CHANGE
3. 基本設定が機能しているかどうかを確認します。
234
⁠第2 0 章 Nagios を使用した O penSt ack の監視
# nagios -v /etc/nagios/nagios.cfg
エラーが発生した場合には、/etc/nag i o s/nag i o s. cfg に設定されているパラメーターを
チェックします。
4. システムのブート時に Nagios が自動的に起動するようにします。
# chkconfig --add nagios
# chkconfig nagios on
5. Nagios を起動し、httpd を再起動します。
# service httpd restart
# service nagios start
6. ブラウザーで以下の URL を使用して Nagios のアクセスをチェックします。nagiosadmi ユーザー
とステップ 1 で設定したパスワードを使用してください。
http://nagiosHostURL/nagios
図20.1 N ag io s のログイン
注記
Nagios URL にアクセスできない場合には、ファイアウォールルールが正しく設定されているかど
うか確認してください (Dashboard のファイアウォール設定を参照)。
バグを報告する
20.2.3. OpenSt ack サービスの設定
デフォルトでは、Nagios サーバー上の /etc/nag i o s/o bjects/l o cal ho st. cfg ファイルを使用し
て、基本ローカル統計 (例: スワップの使用率や現在のユーザー数など) のためのサービスを定義します。こ
れらのサービスが必要なくなった場合には、各行頭に「#」の文字を入れることによって、随時コメントア
235
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
ウトすることが可能です。またこれと同じファイルを使用して、新規 OpenStack モニタリングサービスを
追加することができます。
注記
追加のサービスファイルを使用することが可能ですが、それらのファイル
は、/etc/nag i o s/nag i o s. cfg ファイルで cfg _fi l e パラメーターとして指定する必要があ
ります。
OpenStack サービスを監視対象サービスの一覧に追加するには、次の手順を ro o t ユーザーとして実行し
てます。
1. 監視対象の項目用に短いスクリプトを記述して (例: サービスが実行中か否かな
ど)、/usr/l i b6 4 /nag i o s/pl ug i ns ディレクトリに配置します。
たとえば、以下のスクリプトは、Compute インスタンスの数をチェックし、no va-l i st という
名前のファイルに保管されます。
#!/bin/env bash
export OS_USERNAME=userName
export OS_TENANT_NAME=tenantName
export OS_PASSWORD=password
export OS_AUTH_URL=http://identityURL:35357/v2.0/
data=$(nova list
rv=$?
2>& 1)
if [ "$rv" != "0" ] ; then
echo $data
exit $rv
fi
echo "$data" | grep -v -e '--------' -e '| Status |' -e '^$' | wc
-l
2. スクリプトを実行可能にします。
# chmod u+x nova-list
3. /etc/nag i o s/o bjects/co mmand s. cfg ファイルで、各新規スクリプトにコマンドセクショ
ンを指定します。
define command {
command_line
/usr/lib64/nagios/plugins/nova-list
command_name
}
nova-list
4. /etc/nag i o s/o bjects/l o cal ho st. cfg ファイルで、以下の例にように、定義済みのコマ
ンドを使用して、各新規項目に対してサービスを定義します。
define service {
check_command
236
nova-list
⁠第2 0 章 Nagios を使用した O penSt ack の監視
host_name
localURL
name
nova-list
normal_check_interval
5
service_description
Number of nova vm instances
use
generic-service
}
5. 以下のコマンドで nagios を再起動します。
# service nagios restart
バグを報告する
20.2.4 . NRPE の設定
各リモートマシンで監視の設定をするには、以下の手順を ro o t ユーザーとして実行します。
1. /etc/nag i o s/nrpe. cfg ファイルで、al l o wed _ho sts の行に中央 Nagios サーバーの IP
アドレスを追加します。
allowed_hosts=127.0.0.1, NagiosServerIP
2. /etc/nag i o s/nrpe. cfg ファイルで、OpenStack サービスの監視に使用するコマンドを以下
の例のように追加します。
command[keystone]=/usr/lib64/nagios/plugins/check_procs -c 1: -w 3:
-C keystone-all
次に、Nagios 監視サーバーの servi ces. cfg ファイルに、定義済みの各コマンドを指定するこ
とができます ( サービス定義の作成を参照)。
注記
複雑な監視はスクリプトに配置して、コマンド定義で参照することができます。OpenStack
スクリプトの例は、Configuring OpenStack Servicesを参照してください。
3. i ptabl es ファイアウォールで n rp e トラフィックを許可するように設定します。
a. テキストエディターで /etc/sysco nfi g /i ptabl es ファイルを開きます。
b. このファイルに、ポート 5666 で UD P トラフィックを許可する INP UT ルールを追加しま
す。新規ルールは、トラフィックを R EJEC T する INP UT ルールよりも前に記載する必要
があります。
-A INPUT -p tcp --dport 5666 -j ACCEPT
c. /etc/sysco nfi g /i ptabl es ファイルへの変更を保存します。
d. i ptabl es サービスを再起動して、ファイアウォールの変更を有効にします。
# servi ce i ptabl es restart
237
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
4. NRPE サービスを起動します。
# service nrpe start
バグを報告する
20.2.5. ホストの定義の作成
Nagios がインストールされているホストに加えて、クラウドで追加のマシンを使用する場合には、Nagios
が認識するようにオブジェクトファイルで設定する必要があります。
以下の手順を ro o t ユーザーとして実行します。
1. /etc/nag i o s/o bjects ディレクトリに ho sts. cfg ファイルを作成します。
2. このファイルで、OpenStack service を実行している、モニタリングする必要のある各マシンの
ho st セクションを指定します。
define host{
use linux-server
host_name remoteHostName
alias remoteHostAlias
address remoteAddress
}
ここで、
ho st_name には、モニタリングするリモートマシンを指定します (通常は、ローカルの
/etc/ho sts ファイルに記載されています)。この名前は、サービスおよびホストグループの定
義でホストを参照するのに使用されます。
al i as には、ホストを容易に特定するために使用する名前を指定します (通常は、ho st_name
と同じです)。
ad d ress には、ホストアドレスを指定します (通常は IP アドレスですが、FQD N を使用する
ことも可能です。D NS サービスが使用可能であることを確認してください)。
例
define host{
host_name
Server-ABC
alias OS-ImageServices
address 192.168.1.254
}
3. /etc/nag i o s/nag i o s. cfg ファイルの O BJEC T C O NFIG UR AT IO N FILES セクションに
以下の行を追記します。
cfg_file=/etc/nagios/objects/hosts.cfg
バグを報告する
20.2.6. サービス定義の作成
238
⁠第2 0 章 Nagios を使用した O penSt ack の監視
リモートサービスをモニタリングするには、新規ファイル /etc/nag i o s/o bjects/servi ces. cfg
を (ro o t ユーザーとして) 作成する必要があります。
1. リモートのスクリプトまたはプラグインで check_nrpe プラグインの使用に対応するに
は、/etc/nag i o s/o bjects/co mmand s. cfg ファイルに以下の内容を記載します。
define command{
command_name
command_line
$ARG1$
}
check_nrpe
$USER1$/check_nrpe -H $HOSTADDRESS$ -c
2. /etc/nag i o s/o bjects ディレクトリに servi ces. cfg ファイルを作成します。
3. 作成したファイルで、モニタリングするリモートの OpenStack ホストごとに以下の servi ce セ
クションを記載します。
##Basic remote checks#############
##Remember that remoteHostName is defined in the hosts.cfg file.
define service{
use generic-service
host_name remoteHostName
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service{
use generic-service
host_name remoteHostName
service_description Load Average
check_command check_nrpe!check_load
}
##OpenStack Service Checks#######
define service{
use generic-service
host_name remoteHostName
service_description Identity Service
check_command check_nrpe!keystone
}
上記のセクションにより、サーバーのハードビート、負荷チェック、OpenStack Identity Service
ステータスのレポートが、Nagios サーバーに返送されます。すべての OpenStack サービスがレ
ポート可能です。リモートサーバーの nrpe. cfg ファイルに、一致するコマンドが記載されてい
ることを確認してください。
4. /etc/nag i o s/nag i o s. cfg ファイルの O BJEC T C O NFIG UR AT IO N FILES セクションの
下に以下の行を記載します。
cfg_file=/etc/nagios/objects/services.cfg
バグを報告する
239
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
20.2.7. 設定の検証
ro o t ユーザーとして以下の操作を実行します。
1. 更新した設定ファイルが機能しているかどうかを確認します。
# nagios -v /etc/nagios/nagios.cfg
エラーが発生した場合には、
/etc/nag i o s/nag i o s. cfg 、/etc/nag i o s/servi ces. cfg 、および
/etc/nag i o s/ho sts. cfg で指定されているパラメーターを確認してください。
2. Nagios を再起動します。
# service nagios restart
3. ブラウザーで以下の URL にアクセスして、Nagios ダッシュボードに再度ログインしま
す。nag i o sad mi n ユーザーとステップ 1 で設定したパスワードを使用します。
http://nagiosHostURL/nagios
バグを報告する
24 0
⁠第2 1 章 リモートロギング機能のインストールと設定
第21章 リモートロギング機能のインストールと設定
21.1. リモートロギングについての概要
すべてのシステムは、ログファイルを生成/更新し、実行されたアクションや発生した問題を記録します。
多数のシステムが含まれる分散型環境やクラウドコンピューティング環境では、集中管理された場所でこれ
らのログファイルを収集するとデバッグが簡素化されます。
rsysl o g サービスは、集中ログサーバーを実行する機能と、個別のシステムがログファイルをその集中ロ
グサーバーに送信するように設定する機能の両方を提供します。これは、「リモートロギング」のためシス
テム設定と呼ばれます。
バグを報告する
21.2. rsyslog サーバーのインストール
rsyslog パッケージは、集中ログサーバーとして使用するシステムと、そのシステムにログを送信するよう
に設定する全システムにインストールする必要があります。
ro o t ユーザーとしてログインして、yum コマンドで rsyslog パッケージをインストールします。
# yum i nstal l rsysl o g
rsyslog パッケージがインストールされ、設定できる状態となりました。
バグを報告する
21.3. 集中ログサーバーでの rsyslog の設定
以下の手順に記載するステップは必ず、集中ログサーバーとして使用する予定のシステムで実行してくださ
い。ここに記載するステップはすべて、ro o t ユーザーとしてログインして実行する必要があります。
1. rsyslo g トラフィックを許可するように SELinux を設定します。
# semanage -a -t syslogd_port_t -p udp 514
2. rsyslo g トラフィックを許可するように i ptabl es ファイアウォールを設定します。
a. テキストエディターで /etc/sysco nfi g /i ptabl es ファイルを開きます。
b. このファイルに、ポート 514 で UD P トラフィックを許可する INP UT ルールを追加しま
す。新規ルールは、トラフィックを R EJEC T する INP UT ルールよりも前に記載する必要
があります。
-A INPUT -m state --state NEW -m udp -p udp --dport 514 -j
ACCEPT
c. /etc/sysco nfi g /i ptabl es ファイルへの変更を保存します。
d. i ptabl es サービスを再起動して、ファイアウォールの変更を有効にします。
# servi ce i ptabl es restart
24 1
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
3. テキストエディターで /etc/rsysl o g . co nf ファイルを開きます。
a. ファイルに以下の行を追加して、ログの保存先となる場所を定義します。
$template TmplAuth, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
authpriv.*
?TmplAuth
*.info,mail.none,authpriv.none,cron.none
?TmplMsg
b. ファイル内の以下の行から、行頭のコメント文字 (#) を削除します。
#$ModLoad imudp
#$UDPServerRun 514
/etc/rsysl o g . co nf ファイルへの変更を保存します。
環境内の他のシステムからのログファイルを受信し、保管するための集中ログサーバーの設定が完了しまし
た。
バグを報告する
21.4 . 個々のノードでの rsyslog 設定
以下の手順に記載するステップを各システムに適用して、集中ログサーバーにログを送信するように設定し
ます。これらのステップはすべて ro o t ユーザーとしてログインして実行する必要があります。
/etc/rsysl o g . co nf を編集して以下を追加し、集中ログサーバーのアドレスを指定します。
*.*
@ YOURSERVERADDRESS:YOURSERVERPORT
YOURSERVERADDRESS は集中ログサーバーのアドレスに、YOURSERVERPORT は、rsysl o g
サービスのリッスンするポートに置き換えます。以下はその例です。
*.*
@ 192.168.20.254:514
または
*.*
@ log-server.company.com:514
@ が 1 つの場合は、転送プロトコルに UD P が指定されます。TCP 転送プロトコルを指定するには、
@@
を使用してください。
重要
上記の例で、ワイルドカード文字 (*) を使用している箇所は、rsysl o g に対して、全ログファ
シリティからの全ログプライオリティのログエントリをリモート rsysl o g サーバーに送信する
必要があることを示しています。
ログファイルに、より厳密なフィルターを適用する方法についての説明は、rsysl o g 設定ファ
イル (rsysl o g . co nf) の man ページを参照してください。このページには、man
rsysl o g . co nf のコマンドを実行するとアクセスすることができます。
24 2
⁠第2 1 章 リモートロギング機能のインストールと設定
rsysl o g サービスが起動または再起動されると、システムは全ログメッセージを集中ログサーバーに送信
します。
バグを報告する
21.5. rsyslog サーバーの起動
rsysl o g サービスは、集中ログサーバーと、そのサーバーにログ記録を試みるシステムの両方で実行する
必要があります。
以下の手順に記載するステップは ro o t ユーザーとしてログインして実行する必要があります。
1. servi ce コマンドで rsysl o g サービスを起動します。
# servi ce rsysl o g start
2. chkco nfi g コマンドで、今後 rsysl o g サービスが自動的に起動するように設定します。
# chkco nfi g rsysl o g o n
rsysl o g サービスが起動されました。サービスは、ローカル設定に基づいて、ログの送受信を開始しま
す。
バグを報告する
24 3
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
⁠パート VI. OpenStack 環境の拡張の管理
24 4
⁠第2 2 章 Comput e の拡張の管理
第22章 Compute の拡張の管理
22.1. リージョンの定義
Identity Service にカタログ化されている各サービスは、そのリージョンによって特定されます。リージョ
ンは通常、地理的な場所およびそのエンドポイントを示します。複数の Compute デプロイメントを使用す
るクラウドでは、リージョンによりサービスを個別に分離することが可能となります。これは、Compute
がインストールされた複数のシステム間でインフラストラクチャーを共有する強固な方法であるとともに、
高度の耐障害性を実現します。
管理者は、複数のリージョン間で共有するサービスと、特定のリージョンのみで使用されるサービスを決定
します。デフォルトでは、エンドポイントが定義されていてリージョンの指定がない場合に
は、reg i o nO ne という名前のリージョンに作成されます。
個別のリージョンの使用を開始するには、サービスエンドポイントの追加時に --region の引数を指定し
ます。
$ keysto ne end po i nt-create --reg i o n REGION \--servi ce-i d SERVICEID\-publ i curl PUBLICURL--ad mi nurl ADMINURL--i nternal url INTERNALURL
REGION は、エンドポイントが属するリージョンの名前に置き換えます。リージョン間でエンドポイント
を共有する場合には、該当する各リージョンに、同じ URL を含むエンドポイントエントリを作成します。
各サービスの URL を設定する方法についての説明は、対象とするサービスの Identity Service 設定情報を
参照してください。
例22.1 個別のリージョン内のエンドポイント
以下に記載する例では、AP AC および EMEA のリージョンがアイデンティティサーバー
(i d enti ty. exampl e. co m) エンドポイントを共有する一方、リージョン固有のコンピュート API エ
ンドポイントを提供します。
$ keystone endpoint-list
+---------+--------+-----------------------------------------------------+
|
id
| region |
publicurl
|
+---------+--------+-----------------------------------------------------+
| 0d8b... | APAC |
http://identity.example.com:5000/v3
|
| 769f... | EMEA |
http://identity.example.com:5000/v3
|
| 516c... | APAC | http://novaapac.example.com:8774/v2/$(tenant_id)s |
| cf7e... | EMEA | http://novaemea.example.com:8774/v2/$(tenant_id)s |
+---------+--------+-----------------------------------------------------+
バグを報告する
24 5
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
22.2. コンピュートリソースの追加
コンピュートリソースの追加は、OpenStack 環境を拡張する最も一般的な方法です。これは、コンピュー
ト (o penstack-no va-co mpute) のサービスのインスタンスを少なくとも 1 つホストするノードを追加
することによって行います。コンピュートサービスが設定されて稼働すると、メッセージブローカーを介し
てコンピュート API エンドポイントやコンピュートコンダクターなど、環境内の他のノードと通信しま
す。
コンピュートノードをさらに追加するには、オリジナルのコンピュートノードをインストールした際の手順
を繰り返してください。
「Compute Service のインストール」
「メッセージブローカーの設定」
「リソースのオーバーコミットの設定」
「ホストのリソースの確保」
「Compute の設定の更新」
「L2 エージェントの設定」
「仮想インターフェース結線の設定」
「ファイアウォールの設定」
「Compute Services の起動」
コンピュートコンダクターサービス (o penstack-no va-co nd ucto r) のインスタンスを実行する場合
は、サービスがコンピュートのデータベースにアクセスするよう確実に設定する必要もあります。詳しい説
明は、「データベース接続文字列の設定」を参照してください。
コンピュートサービスの追加インスタンスが起動すると、ノードは仮想マシンインスタンス起動の要求の受
け入れを開始します。keysto nerc ファイルを使用して OpenStack の管理者として認証された状態
で、no va servi ce-l i st を使用し、新規ノードのステータスを確認します。
バグを報告する
22.3. コンピュートリソースの安全な削除
コンピュートノードの削除は、そのノードで実行されている仮想マシンインスタンスに悪影響を与えないよ
うに細心の注意を払って行う必要があります。削除されるノードがサービスを停止している間は、同じ環境
内の別のコンピュートノードでそれらの仮想マシンインスタンスを実行するための空き容量が必要です。
以下の手順に記載するステップは、OpenStack の管理ユーザーの認証情報と Nova コマンドラインクライ
アント (python-novaclient) をインストール済みのシステムにアクセス可能なユーザーが実行する必要があり
ます。
1. so urce コマンドで keysto nerc_ad mi n ファイルから管理者の認証情報を読み込みます。
$ so urce ~ /keysto nerc_ad mi n
2. no va servi ce-l i st コマンドで削除するコンピュートノードを特定します。
$ no va servi ce-l i st
+------------------+----------+----------+---------+-------+
24 6
⁠第2 2 章 Comput e の拡張の管理
| Binary
| Host
| Zone
| Status | State |
+------------------+----------+----------+---------+-------+
| nova-cert
| node0001 | internal | enabled | up
|
| nova-compute
| node0001 | nova
| enabled | up
|
| nova-conductor
| node0001 | internal | enabled | up
|
| nova-consoleauth | node0001 | internal | enabled | up
|
| nova-network
| node0001 | internal | enabled | up
|
| nova-scheduler
| node0001 | internal | enabled | up
|
| ...
| ...
| ...
| ...
| ...
|
+------------------+----------+----------+---------+-------+
3. no va servi ce-d i sabl e コマンドで、ノード上の no va-co mpute サービスを無効にし、その
ホストで新規インスタンスの実行がスケジュールされるのを防ぎます。
$ no va servi ce-d i sabl e HOST no va-co mpute
+----------+--------------+----------+
| Host
| Binary
| Status
|
+----------+--------------+----------+
| node0001 | nova-compute | disabled |
+----------+--------------+----------+
HOST は、無効にするノードの名前に置き換えます。前のステップでno va servi ce-l i st コ
マンドの出力に表示されたとおりに指定ししてください。
4. no va servi ce-l i st コマンドで、 no va-co mpute サービスの該当するインスタンスが無効に
なったことを確認します。
$ no va servi ce-l i st
+------------------+----------+----------+----------+-------+
| Binary
| Host
| Zone
| Status
| State |
+------------------+----------+----------+----------+-------+
| nova-cert
| node0001 | internal | enabled | up
|
| nova-compute
| node0001 | nova
| d i sabl ed | up
|
| nova-conductor
| node0001 | internal | enabled | up
|
| nova-consoleauth | node0001 | internal | enabled | up
|
| nova-network
| node0001 | internal | enabled | up
|
| nova-scheduler
| node0001 | internal | enabled | up
|
| ...
| ...
| ...
| ...
| ...
|
+------------------+----------+----------+----------+-------+
5. no va mi g rate コマンドで、実行中の仮想マシンを他のコンピュートノードに移行します。
$ no va mi g rate HOST
HOST は、削除するホストの名前に置き換えます。前のステップでno va servi ce-l i st コマ
ンドで表示されたとおりに指定してください。
仮想マシンインスタンスの移行が完了したら、ノードを安全にシャットダウンすることができます。また、
シャットダウンしない場合には、実行中の仮想マシンインスタンスに悪影響を与えることなく、稼働を続け
ることができます。
24 7
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
注記
移行に関する詳細は、Red Hat Enterprise Linux OpenStack Platform 4 Configuration Reference
Guideを参照してください。
バグを報告する
22.4 . コンフィグドライブの使用方法
22.4 .1. コンフィグドライブの概要
OpenStack Compute は、「コンフィグドライブ」という特別な設定ドライブにメタデータを書き込むよう
に設定することができます。このドライブは、ブート時にインスタンスに接続されます。これにより、イン
スタンスは、通常はメタデータサービスを介して提供される情報 (例: インスタンスの ID 、ホスト名、ユー
ザーデータなど) をコンフィグドライブから取得することが可能となります。
コンフィグドライブは、インスタンスへの IP アドレス割り当てに D HCP が使用されていない場合に、通常
ネットワーク設定 (例: IP アドレス、ネットマスク、ゲートウェイなど) の受け渡しに使用されます。イン
スタンスの IP 設定は、インスタンスのネットワーク設定が構成される前にマウント/アクセスしたコンフィ
グドライブを使用して伝送することが可能です。
コンフィグドライブは、ISO 9660 または VFAT のファイルシステムをマウントすることが可能な任意のゲ
ストオペレーティングシステムで使用することが可能です (最近のオペレーティングシステムはすべて対
応)。
また、イメージについては以下の条件があります。
イメージが cloud-init パッケージとともにビルドされている場合は、コンフィグドライブを介して渡され
るメタデータに自動的にアクセスすることが可能です。
イメージに cloud-init パッケージがインストールされていない場合には、ブート時にコンフィグドライブ
をマウントしてそのドライブからデータを読み込み、適切なアクション (例: アカウントへの公開鍵追加)
を実行するスクリプトを実行するようにカスタマイズする必要があります。
バグを報告する
22.4 .2. コンフィグドライブのセットアップ
2 2 .4 .2 .1 . コンフィグドライブの有効化
コンフィグドライブを有効にするには、以下のいずれかの方法を使用します。
no va bo o t の呼び出し時に --co nfi g -d ri ve= true パラメーターを使用します。
以下の複雑な例は、コンフィグドライブに加えて、渡すユーザーデータ、 2 つのファイル、2 つのキー/
値メタデータペア (これらはすべて、コンフィグドライブからアクセス可能) も有効化します。
$ no va bo o t --co nfi g -d ri ve= true --i mag e my-i mag e-name \--key-name
mykey --fl avo r 1 --user-d ata . /my-user-d ata. txt myi nstance \--fi l e
/etc/netwo rk/i nterfaces= /ho me/myuser/i nstance-i nterfaces \--fi l e
kno wn_ho sts= /ho me/myuser/. ssh/kno wn_ho sts --meta ro l e= webservers \--
24 8
⁠第2 2 章 Comput e の拡張の管理
meta essenti al = fal se
以下のオプションを /etc/no va/no va. co nf に設定して、ブート時にコンフィグドライブが自動的
に作成されるように Compute Service を設定します。
​force_config_drive=true
注記
ユーザーが no va bo o t コマンドで --co nfi g -d ri ve= true フラグを使用した場合には、管
理者はコンフィグドライブを無効することはできません。
警告
コンフィグドライブにデフォルトの設定を使用する場合は、コンフィグドライブを使用する前に
g eni so i mag e プログラムを各 Compute ホストにインストールする必要があります (このプログ
ラムがインストールされていないと、インスタンスは正常にブートしません)。
バグを報告する
2 2 .4 .2 .2 . コンフィグドライブのオプション
デフォルトでは、コンフィグドライブは ISO 9660 ファイルシステムとして設定されます。明示的に指定
するには、以下のように設定します。
ISO 9660 形式の場合は、/etc/no va/no va. co nf のファイルに次の行を追加します。
​c onfig_drive_format=iso9660
VFAT フォーマットの場合は、/etc/no va/no va. co nf ファイルに次の行を追加します。
​c onfig_drive_format=vfat
注記
レガシー対応の理由から、コンフィグドライブは ISO 9660 の代わりに VFAT フォーマットを使
用するように設定することが可能です。ただし、ISO 9660 は各オペレーティングシステムで幅
広くサポートされているため、VFAT フォーマットが必要とされる可能性は低いと考えられま
す。VFAT フォーマットを使用する場合には、コンフィグドライブは 64 MB となります。
以下の表には、コンフィグドライブの no va bo o t オプションをすべてまとめています。
表22.1 コンフィグドライブの設定オプションの説明
24 9
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
設定オプション= デフォルト値
( タイプ) 説明
config_drive_cdrom=False
(BoolOpt) Compute がコンフィグドライブのイ
メージをディスクドライブの代わりに cdrom ドラ
イブとして接続するかどうか
(StrOpt) コンフィグドライブのフォーマット (有効
なオプション: iso9660 または vfat)
(BoolOpt) コンフィグドライブイメージ内で管理者
パスワードを設定する
(StrOpt) コンフィグドライブ内への配置をスキッ
プするメタデータバージョンの一覧
config_drive_format=iso9660
config_drive_inject_password=False
config_drive_skip_versions=1.0 2007-01-19
2007-03-01 2007-08-29 2007-10-10 2007-1215 2008-02-01 2008-09-01
config_drive_tempdir=None
force_config_drive=False
mkisofs_cmd=genisoimage
(StrOpt) コンフィグドライブの作成に関連付けられ
た一時ファイルの格納場所
(StrOpt) Compute が起動時に自動でコンフィグド
ライブを作成するかどうか
(StrOpt) ISO イメージ作成に使用するツールの名前
とオプションのパス。コンフィグドライブの使用を
試みる前に、指定したツールが各 Compute ホスト
にインストールされていることを確認してください
(このプログラムがインストールされていないと、
インスタンスは正常にブートしません)。
バグを報告する
22.4 .3. コンフィグドライブへのアクセス
ゲストオペレーティングシステムのタイプに応じて、ドライブをマウントする必要があります。コンフィグ
ドライブにはデフォルトで co nfi g -2 のボリュームラベルが付いています。
手順22.1 ラベルによるドライブのマウント
ゲスト OS がラベルによるディスクアクセスをサポートしている場合には、以下の例のように
/d ev/d i sk/by-l abel /co nfi g -2 デバイスとしてコンフィグドライブをマウントできるはずです。
1. アクセスに使用するディレクトリを作成します。
# mkd i r -p /mnt/co nfi g
2. デバイスをマウントします。
# mo unt /d ev/d i sk/by-l abel /co nfi g -2 /mnt/co nfi g
手順22.2 ディスク ID を使用したドライブのマウント
ゲスト OS が ud ev を使用しない場合には、/d ev/d i sk/by-l abel ディレクトリは存在しません。
1. bl ki d コマンドで、コンフィグドライブに対応するブロックデバイスを特定します。たとえば、
cirros イメージを m1.tiny フレーバーで起動する場合、デバイスは /d ev/vd b となります。
# bl ki d -t LABEL= "co nfi g -2" -o d evi ce/d ev/vd b
2. ディスクを特定した後には、デバイスをマウントすることができます。
a. アクセスに使用するディレクトリを作成します。
250
⁠第2 2 章 Comput e の拡張の管理
# mkd i r -p /mnt/co nfi g
b. デバイスをマウントします。
# mo unt /d ev/vd b /mnt/co nfi g
注記
Windows ゲストを使用している場合には、コンフィグドライブは、次に使用可能なドライブ文
字で自動的に表示されます (例: 「D :/」)。
コンフィグドライブにアクセスする時には、コンフィグドライブ内にある EC2 メタデータ (ec2
ディレクトリ下のファイル) がそこに存在することを想定しないでください (このコンテンツは今
後のリリースで削除される可能性があります)。
コンフィグドライブのデータにアクセスするイメージを作成する際に、o penstack ディレクト
リ下に複数のディレクトリが存在する場合は、コンシューマーのサポートする日付で最も高い
API バージョンを常に選択してください。たとえば、ゲストイメージがバージョン 2012-0305、2012-08-05、2013-04-13 をサポート可能であっても、20 12-0 8-0 5 ディレクトリのみ
が存在している場合には、2012-08-05 を選択します。
手順22.3 マウントされたコンフィグドライブの表示
1. 以下の例のように、新たにマウントされたドライブのファイルに移動します。
$ cd /mnt/co nfi g
2. マウントされたコンフィグドライブ内のファイルは、no va bo o t に渡された引数によって異なり
ます。 コンフィグドライブの有効化の例をベースにすると、コンフィグドライブのコンテンツは次
のようになります。
$ l sec2/20 13-0 4 -13/meta-d ata. jso n ec2/20 13-0 4 -13/user-d ata
ec2/l atest/meta-d ata. jso n ec2/l atest/user-d ata o penstack/20 13-0 810 /meta_d ata. jso n o penstack/20 13-0 8-10 /user_d ata o penstack/co ntent
o penstack/co ntent/0 0 0 0 o penstack/co ntent/0 0 0 1
o penstack/l atest/meta_d ata. jso n o penstack/l atest/user_d ata
バグを報告する
22.4 .4 . データ形式
2 2 .4 .4 .1 . Ope nSt ack のメタデータ形式
以下に記載する内容は、meta_data.json ファイル (o penstack/20 12-0 8-10 /meta_d ata. jso n と
o penstack/l atest/meta_d ata. jso n の 2 つのファイル。コンテンツは全く同じ) の書式を読みやす
いよう改善した例です。
{
"availability_zone": "nova",
"files": [
{
251
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
"content_path": "/content/0000",
"path": "/etc/network/interfaces"
},
{
"content_path": "/content/0001",
"path": "known_hosts"
}
],
"hostname": "test.novalocal",
"launch_index": 0,
"name": "test",
"meta": {
"role": "webservers"
"essential": "false"
},
"public_keys": {
"mykey": "ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAAAgQDBqUfVvCSez0/Wfpd8dLLgZXV9GtXQ7hnMN+Z0OWQUy
ebVEHey1CXuin0uY1cAJMhUq8j98SiW+cU0sU4J3x5l2+xi1bodDm1BtFWVeLIOQINpfV1n8fK
jHB+ynPpe1F6tMDvrFGUlJs44t30BrujMXBe8Rq44cCk6wqyjATA3rQ== Generated by
Nova\n"
},
"uuid": "83679162-1378-4288-a2d4-70e13ec132aa"
}
注記
no va bo o t コマンドでオプション --fi l e
/etc/netwo rk/i nterfaces= /ho me/myuser/i nstance-i nterfaces を使用した場合、こ
のファイルのコンテンツは、コンフィグドライブ上の o penstack/co ntent/0 0 0 0 ファイルに格
納され、そのパスは meta_d ata. jso n ファイルで /etc/netwo rk/i nterfaces として指定さ
れます。
バグを報告する
2 2 .4 .4 .2 . EC2 メタデータの形式
以下に記載する内容は、ec2/20 0 9 -0 4 -0 4 /meta-d ata. jso n と l atest/meta-d ata. jso n の 2
つのファイル (全く同じコンテンツ) の書式を読みやすいよう改善した例です。
{
"ami-id": "ami-00000001",
"ami-launch-index": 0,
"ami-manifest-path": "FIXME",
"block-device-mapping": {
"ami": "sda1",
"ephemeral0": "sda2",
"root": "/dev/sda1",
"swap": "sda3"
},
"hostname": "test.novalocal",
"instance-action": "none",
"instance-id": "i-00000001",
252
⁠第2 2 章 Comput e の拡張の管理
"instance-type": "m1.tiny",
"kernel-id": "aki-00000002",
"local-hostname": "test.novalocal",
"local-ipv4": null,
"placement": {
"availability-zone": "nova"
},
"public-hostname": "test.novalocal",
"public-ipv4": "",
"public-keys": {
"0": {
"openssh-key": "ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAAAgQDBqUfVvCSez0/Wfpd8dLLgZXV9GtXQ7hnMN+Z0OWQUy
ebVEHey1CXuin0uY1cAJMhUq8j98SiW+cU0sU4J3x5l2+xi1bodDm1BtFWVeLIOQINpfV1n8fK
jHB+ynPpe1F6tMDvrFGUlJs44t30BrujMXBe8Rq44cCk6wqyjATA3rQ== Generated by
Nova\n"
}
},
"ramdisk-id": "ari-00000003",
"reservation-id": "r-7lfps8wj",
"security-groups": [
"default"
]
}
バグを報告する
2 2 .4 .4 .3. ユーザーデータの形式
以下のファイルは、no va bo o t に --user-d ata のフラグを渡した場合にのみ存在し、引数として指定
したユーザーデータファイルのコンテンツが含まれます。
o penstack/20 13-0 8-10 /user_d ata
o penstack/l atest/user_d ata
ec2/20 13-0 4 -13/user-d ata
ec2/l atest/user-d ata
バグを報告する
253
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
インストールチェックリスト
A.1. インストールの前提条件のチェックリスト
以下の表には、Red Hat Enterprise Linux OpenStack Platform クラウドを正常にインストールするための
前提条件をまとめています。チェックリストの項目は、インストールを開始する前に認識または確認してお
く必要のある最小条件です。
「値/確認済み」の列は、適切な値を記入したり、確認済みの項目に「チェック」を付けるのに使用するこ
とができます。
注記
Red Hat Enterprise Linux OpenStack Platform の初期インストール後に単独のコンポーネントをイ
ンストールする場合には、次の要件を確認してください。
ホストマシンへの ro o t アクセス (コンポーネントをインストールしたり、ファイアウォールの
更新などのその他の管理者タスクを実行するため)
Identity Service への管理者アクセス
データベースへの管理者アクセス (データベースおよびユーザーの両方を追加する機能)
表A.1 O p en St ack インストール一般
項目
説明
値/確認済み
ハードウェア要件
セクション 2.2 ハードウェア要件に記載の要件を確
認する必要があります。
Red Hat Enterprise Linux 6.5 Server
Yes | No
サブスクリプションは、次の目的で必要です。
Yes | No
オペレーティング
システム
Red Hat のサブス
クリプション
全インストール先
マシンへの管理者
アクセス
Red Hat サブスク
ライバーの名前/パ
スワード
254
Yes | No
Red Hat Network または同等のソース (例: Red
Hat Network Satellite サーバーなど) からパッ
ケージの更新を受信する。
Red Hat Enterprise Linux 6.5 Server と Red
Hat Enterprise Linux OpenStack Platform の
両方のソフトウェア更新を受信する。
本ガイドに記載する手順はほぼすべて、root ユー
ザーとして実行しなければならないので、インス
トーラーは root アクセスが必要です。
Red Hat サブスクライバーの名前とパスワードを
知っている必要があります。
Yes | No
名前:
パスワード:
インストールチェックリスト
項目
説明
値/確認済み
マシンのアドレス
OpenStack のコンポーネントおよびサポートソフ
トウェアのインストール先となるマシンのホスト
IP アドレスを知っている必要があります。
次のホストのアドレスを提供
してください。
Identity Service
OpenStack Networking
Service
Block Storage Service
Compute Service
Image Service
Object Storage Service
D ashboard Service
MySQL サーバー (本ガイ
ドのデフォルトデータ
ベース)
Qpid メッセージブロー
カー
表A.2 O p en St ack Id en t it y Service
項目
説明
値
ホストアクセス
Identity Service をホストするシステムの要件
システムが次の要件を満たし
ているかどうかをチェックし
ます。
Red Hat Network または同等のサービスへのア
クセス
OpenStack の全ホストがアドレス可能なネッ
トワークインターフェース
データベースサーバーへのネットワークアクセ
ス
LD AP を使用する場合には、そのディレクトリ
サーバーへのネットワークアクセス
SSL 証明書
LD AP 情報
接続
Yes
Yes
Yes
Yes
| No
| No
| No
| No
外部の SSL 証明書を使用する場合には、データ
Yes | No
ベースと証明書の場所およびそれらへのアクセスが
必要です。
LD AP を使用する場合には、新規ディレクトリー
Yes | No
サーバーのスキーマを設定するために管理者アクセ
スが必要です。
Identity Service をホストするシステムは、他の全 Yes | No
OpenStack サービスに接続されている必要があり
ます。
表A.3 O p en St ack O b ject St o rag e Service
項目
説明
ファイルシステム
Red Hat は現在、オブジェクトストレージ用に
XFS
XFS および ext4 のファイルシステムをサポート
ext4
しています。これらのいずれかのファイルシステム
が利用可能である必要があります。
/srv/node マウントポイントが使用可能である必要 Yes | No
があります。
マウントポイント
値
255
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
項目
説明
値
接続
本ガイドでインストールするクラウドでは、Object Yes | No
Storage Service をホストするシステムが Identity
Service に接続されている必要があります。
表A.4 O p en St ack Imag e Service
項目
説明
値
バックエンドスト
レージ
Image Service は多数のストレージバックエンドを ストレージ
サポートします。次のオプションのいずれかを選択
する必要があります。
ファイル (ローカルディレクトリ)
OpenStack Object Storage Service
接続
Image Service をホストするシステムは、Identity Yes | No
Service、D ashboard Service、および Compute
Service に接続されている必要があります。また、
OpenStack Object Storage をバックエンドとして
使用する場合には、Object Storage Service への
接続も必要です。
表A.5 O p en St ack B lo ck St o rag e Service
項目
説明
値
バックエンドスト
レージ
Block Storage Service は、多数のストレージバッ ストレージ
クエンドをサポートします。以下のいずれかに決定
する必要があります。
LVM
NFS
Red Hat Storage
接続
Block Storage Service をホストするシステムは
Identity Service、D ashboard Service、および
Compute Service に接続されている必要がありま
す。
Yes | No
表A.6 O p en St ack N et wo rkin g Service
項目
256
説明
値
インストールチェックリスト
項目
説明
値
プラグインエー
ジェント
標準の OpenStack Networking コンポーネントに 該当する項目を丸で囲んでく
加えて、さまざまなネットワークメカニズムを実装 ださい。
するプラグインエージェントの幅広い選択肢が利用
Open vSwitch
可能です。
Cisco UCS/Nexus
以下の中から、ネットワークに適用する項目を決定
Linux Bridge
してインストールする必要があります。
Nicira Network
Virtualization Platform
(NCP)
Ryu OpenFlow
Controller
NEC OpenFlow
Big Switch Controller
Plugin
Cloudbase Hyper-V
MidoNet
Brocade Neutron Plugin
PLUMgrid
接続
OpenStack Networking Service をホストするシス Yes | No
テムは Identity Service、D ashboard Service、お
よび Compute Service に接続されている必要があ
ります。
表A.7 O p en St ack C o mp u t e Service
項目
説明
ハードウェア仮想
化サポート
OpenStack Compute Service にはハードウェア仮 Yes | No
想化サポートが必要です。本ガイドには、このサ
ポートを確認する手順を記載しています ( ハード
ウェア仮想化サポートのチェックを参照)。
Compute Service は、Web ブラウザを介したイン Yes | No
スタンスへの Virtual Network Computing (VNC)
コンソールアクセスをサポートしています。このサ
ポートをユーザーに提供するかどうかを決める必要
があります。
OpenStack は、コンピュートノード上における
以下の値を決定します。
CPU およびメモリーリソースのオーバーコミット
CPU の設定:
をサポートしています (Configuring Resource
メモリーの設定:
Overcommitmentを参照)。
VNC クライアント
リソース: CPU と
メモリー
値
デフォルトの CPU オーバーコミット率 16 と
は、物理コア 1 つにつき 最大 16 の仮想コアを
ノードに割り当てることができるという意味で
す。
デフォルトのオーバーコミット率 1.5 とは、イ
ンスタンスのメモリー使用量合計が、物理メモ
リーの空き容量の 1.5 倍未満の場合には、イン
スタンスを物理ノードに割り当てることができ
るという意味です。
257
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
項目
説明
リソース: ホスト
リソースをホスト用に確保して、一定の容量のメモ 以下の値を決定します。
リーやディスクリソースがそのホスト上の別のリ
ホストのディスク (デフォ
ソースに自動的に割り当てられるのを防ぐことがで
ルト 0 MB):
きます (Reserving Host Resourcesを参照)
ホストのメモリー (デフォ
ルト 512 MB):
libvirt のバージョ
ン
仮想インターフェースの結線を設定するには、
バージョン:
libvirt のバージョンを確認する必要があります (仮
想インターフェース結線の設定を参照)
Compute Service をホストするシステムは、他の Yes | No
全 OpenStack サービスに接続されている必要があ
ります。
接続
値
表A.8 O p en St ack D ash b o ard Service
項目
説明
値
ホストのソフト
ウェア
D ashboard Service をホストするシステムは、以
下の項目をインストール済みである必要がありま
す。
Yes | No
httpd
mod_wsgi
mod_ssl
接続
バグを報告する
258
D ashboard Service をホストするシステムは、他 Yes | No
の全 OpenStack サービスに接続されている必要が
あります。
O penSt ack 環境のトラブルシューティング
OpenStack 環境のトラブルシューティング
B.1. ダッシュボードにネットワークまたはルーターのタブが表示されない場合
ネットワーク および ルーター のタブは、OpenStack Networking を使用するように環境が設定されてい
る場合にのみ表示されます。現在、デフォルトでは、PackStack ユーティリティによって Nova
Networking がデプロイされるため、この方法でデプロイされた環境には、これらのタブは表示されない点
に特に注意してください。
OpenStack Networking が環境にデプロイされているにもかかわらずタブが表示されない場合には、
Identity Service でサービスエンドポイントが正しく定義されて、ファイアウォールがそのエンドポイント
へのアクセスを許可し、サービスが稼働していることを確認してください。
バグを報告する
B.2. インスタンス起動時のダッシュボードレポートのエラー
ダッシュボードを使用したインスタンス起動時に操作が失敗した場合には、汎用の ER R O R メッセージが
表示されます。実際の原因を究明するには、コマンドラインツールを使用する必要があります。
no va l i st でインスタンスの一意識別子を確認します。次にその識別子をno va sho w コマンドの引数
として使用します。返される項目の 1 つがエラー条件となります。最も一般的な値は No Val i d Ho st で
す。
このエラーは、インスタンスをホストするのに十分なリソースが利用できる有効なホストがないことを示し
ています。この問題を回避するには、より小さなインスタンスサイズを選択するか、その環境のオーバーコ
ミットの上限を高くする方法を検討してください。
注記
インスタンスをホストするには、コンピュートノードで CPU および RAM リソースが使用可能なだ
けでなく、インスタンスに関連付けられる一時ストレージ用に十分なディスク領域がある必要もあり
ます。
バグを報告する
B.3. コンピュートインスタンスのログに出力がない場合
実行中のインスタンスからのログの出力は、ダッシュボードの ログ タブおよび no va co nso l e-l o g コ
マンドの出力の両方で確認することができます。ただし時折、実行中のインスタンスのログが完全に空の状
態で表示されたり、誤った文字 (多くの場合、「?」の文字など) が 1 つだけ表示されることがあります。
このエラーは、Compute Service がシリアルコンソールを介してゲストのログ出力の取得を試みても、ゲ
スト自体がコンソールに出力を送信していない場合に発生します。
このようなエラーを回避するには、Linux ゲストの設定で、ブートローダーで指定されているカーネル引数
の一覧に co nso l e= tty0 co nso l e= ttyS0 ,11520 0 n8 のパラメーターを追記する必要があります。
バグを報告する
B.4 . アイデンティティクライアント (keyst one) による "Unable t o
communicat e wit h ident it y service" のレポート
259
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
communicat e wit h ident it y service" のレポート
アイデンティティクライアント (keysto ne) が Identity Service にコンタクトできない場合には、次のよ
うなエラーが返されます。
$ keysto ne ACTION
Unable to communicate with identity service: [Errno 113] No route to
host. (HTTP 400)
ACTION は、有効な Identity Service クライアントのアクションに置き換えます (例:user-l i st や
servi ce-l i st など)。サービスに到達できない場合には、そのサービスを必要とするアイデンティティ
クライアントのコマンドはいずれも失敗します。
この問題をデバッグするには、以下にあげる一般的な原因を確認してください。
サービスのステータス
Identity Service をホストするシステムで、サービスのステータスを確認します。
$ servi ce o penstack-keysto ne status
keystone (pid 2847) is running...
サービスが実行されていない場合には、ro o t ユーザーとしてログインして起動します
# servi ce o penstack-keysto ne start
ファイアウォールのルール
Identity Service をホストするシステムで、ファイアウォールが ポート 50 0 0 および 35357 で
TCP トラフィックを許可していることを確認します。以下のコマンドは、ro o t ユーザーとして
ログインして実行する必要があります。
# i ptabl es --l i st -n | g rep -P "(50 0 0 | 35357)"
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports
5000,35357
ルールが見つからない場合には、/etc/sysco nfi g /i ptabl es ファイルに追加します。
-A INPUT -p tcp -m multiport --dports 5000,35357 -j ACCEPT
i ptabl es サービスを再起動して、変更を有効にします。
# servi ce i ptabl es restart
サービスエンドポイント
Identity Service をホストするシステムで、エンドポイントが正しく定義されているかどうかを確
認します。
管理トークンを取得します。
$ g rep ad mi n_to ken /etc/keysto ne/keysto ne. co nf
admin_token = 0292d404a88c4f269383ff28a3839ab4
Identity Service の正しい管理エンドポイントを決定します。
260
O penSt ack 環境のトラブルシューティング
http://IP:35357/VERSION
IP は Identity Service をホストするシステムの IP アドレスまたはホスト名に置き換えま
す。VERSION は、使用中の API バージョンに置き換えます (v2. 0 または v3)。
事前に定義されている Identity Service 関連環境変数の設定を解除します。
$ unset O S_USER NAME O S_T ENANT _NAME O S_P ASSWO R D O S_AUT H_UR L
管理トークンとエンドポイントを使用して、Identity Service との認証を行います。Identity
Service のエンドポイントが正しいことを確認してください。
$ keysto ne --o s-to ken= TOKEN \--o s-end po i nt= ENDPOINT
\end po i nt-l i st
一覧表示された Identity Service の publ i curl 、i nternal url 、および ad mi nurl が正
しいことを検証してください。特に、各エンドポイント内にリストされている IP アドレスと
ポート番号が正しく、ネットワーク上で到達可能であることを確認します。
これらの値が正しくない場合には、正しいエンドポイントの追加方法について記載した
「Identity Service エンドポイントの作成」の説明を参照してください。正しいエンドポイン
トが追加されたら、誤ったエンドポイントは keysto ne コマンドの end po i nt-d el ete ア
クションを使用して削除します。
$ keysto ne --o s-to ken= TOKEN \--o s-end po i nt= ENDPOINT
\end po i nt-d el ete ID
TOKEN および ENDPOINT は、上記のステップで特定した値に置き換えます。ID は
end po i nt-l i st アクションにより一覧表示される、削除対象のエンドポイントに置き換え
ます。
バグを報告する
B.5. バックアップと復元
B.5.1. バックアップの概要
バックアップおよびリカバリの両ポリシーを策定して、データ損失およびシステムダウンタイムを最小限に
抑えるこをと推奨します。
バックアップストラテジーを決定するにあたっては、以下の質問事項への回答を明確にしておく必要があり
ます。
データ損失からどの程度迅速に復旧する必要がありますか。データ損失が一切許容されない場合には、
デプロイメントストラテジーとして、バックアップの使用に加えて、「高可用性」に焦点を当てるべき
です。
保管する必要のあるバックアップの数はいくつですか。
バックアップはオフサイトに保管する必要がありますか。
バックアップはどのような頻度でテストする必要がありますか。
261
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
バックアップの対象となるのはどのようなデータですか。OpenStack の重要なデータは、コンポーネ
ント (またはサービス)ごとにバックアップされます。
以下のセクションでは、コンポーネントのデータベースとファイルシステムのバックアップと、バック
アップの復旧について説明します。
バグを報告する
B.5.2. データベースのバックアップ
本ガイドに記載のインストールプロセスでは、個別の OpenStack コンポーネント用データベースをホスト
する MySQL サーバーを使用しています。これらのデータベースを 1 カ所にまとめると、データベースの
バックアップ作成を簡単に行うことができます。
注記
別のデータベースサーバーを使用している場合には、詳しい情報は、そのサーバーの説明書を参照し
てください。たとえば、MariaD B と MylSAM テーブルを使用している場合には、mysq l ho tco py
を使用したバックアップ/リカバリ所要時間の短縮を検討してください。
手順B .1 全データベースのバックアップ
1. データベースの root ユーザーとしてログインします。
2. データベースの情報をバックアップファイルにエクスポートします。
# mysq l d ump --o pt --al l -d atabases > fileName
例
# mysq l d ump --o pt --al l -d atabases > o penstack. sq l
手順B .2 単一のデータベースのバックアップ
1. データベースの root ユーザーとしてログインします。
2. 単一のデータベースの情報をバックアップファイルにエクスポートします。
# mysq l d ump --o pt databaseName > fileName
例
# mysq l d ump --o pt no va > no va. sq l
262
O penSt ack 環境のトラブルシューティング
注記
以下のスクリプトを 1 日 1 回実行する cron ジョブを作成すると、バックアッププロセスを自動化
することができます。
#!/bin/bash
backup_dir="/var/lib/backups/mysql"
filename="${backup_dir}/mysql-`hostname`-`eval date +%Y%m%d`.sql.gz"
# Dump the entire MySQL database
/usr/bin/mysqldump --opt --all-databases | gzip > $filename
# Delete backups older than 7 days
find $backup_dir -ctime +7 -type f -delete
バグを報告する
B.5.3. ファイルシステムのバックアップ
OpenStack の各コンポーネントの独自のディレクトリとファイルは、/etc、/var/l i b、および
/var/l o g 配下にあります。これらのディレクトリ内のファイルは、定期的にバックアップすることを推
奨します。
/et c/component
ディレクトリ内のファイル (例: /etc/g l ance) は定期的にバックアップすべきです。これは、
コンポーネントが格納されている全ノードが対象となります。特に以下のディレクトリは重要で
す。
/etc/no va は、クラウドコントローラーと 全コンピュートノードの両方でバックアップす
る必要があります。
/etc/swi ft には、Object Storage の設定ファイル、リングファイル、リングビルダー
ファイルが含まれているので、極めて重要です。これらのファイルを失うと、クラスター上の
データがアクセスできない状態となってしまいます。ビルダーファイルをリングファイルと
ともに全ストレージノードにコピーするのがベストプラクティスです。ストレージクラスター
全体にわたって複数のバックアップコピーを分散するようにしてください。
/var/lib /component
全コンポーネントでこのディレクトリ (例: /var/l i b/keysto ne) をバックアップするのが適
切なプラクティスです。特に以下のディレクトリは重要です。
/var/l i b/g l ance/i mag es: Image Service にファイルベースのバックエンドを使用して
いる場合、このディレクトリにはイメージが保管されるので定期的にバックアップすべきで
す。以下の方法の両方を使用すると、イメージが確実に利用できる状態が確保されるはずで
す。
RAID アレイでディレクトリを実行します。ディスクに障害が発生した場合に、ディレク
トリを使用することが可能です。
rsync などのツールを使用して、イメージを別のサーバーに複製します。
263
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
# rsync -az --progress /var/lib/glance/images backup-server:
\
/var/lib/glance/images/
/var/l i b/no va: このディレクトリ内のファイルはすべてバックアップすべきです。唯一
の例外は、コンピュートノード上の /var/l i b/no va/i nstances サブディレクトリで
す。このサブディレクトリには、実行中のインスタンスの KVM イメージが格納されます。全
インスタンスのバックアップコピーを維持したい場合のみ、このディレクトリをバックアッ
プしてください。ほとんど状況では、このディレクトリのバックアップは必要ありません
が、これは各クラウドやサービスレベルによって異なる場合があります。また、ライブの
KVM インスタンスをバックアップすると、バックアップから復元されることになった場合に
正常に起動しなくなる場合があるので、注意してください。
/var/lo g /component
全ログが集中サーバーで保管されない限りは、ログファイルは定期的にバックアップすべきで
す。集中ログサーバーの使用を強く推奨します。
264
O penSt ack 環境のトラブルシューティング
注記
ファイルのバックアップには、さまざまなツールを使用することができます。Red Hat Enterprise
Linux では以下のツールをサポートしています。
tar
たとえば、var-l i b-ci nd er-backup. tar というアーカイブファイルを /mnt/backup/ に
作成するには、以下のコマンドを実行します。
# tar cf /mnt/backup/var-l i b-ci nd er-backup. tar /var/l i b/ci nd er
作成されるアーカイブファイルには、/var/l i b/ci nd er ディレクトリのコンテンツが格納さ
れ、バックアップしたデータとほぼ同じ程度のサイズとなります。バックアップするデータのタ
イプによっては、アーカイブファイルを圧縮すると、サイズを大幅に縮小することができます。
上記のコマンドにオプションを 1 つ追加すると、アーカイブファイルを圧縮することができま
す。
# tar czf /mnt/backup/var-l i b-ci nd er-backup. tar. g z
/var/l i b/ci nd er
作成される var-l i b-ci nd er-backup. tar. g z アーカイブファイルは g zi p 形式で圧縮さ
れます。
cpi o
tar とは異なり、cpi o は処理するファイルの名前を標準入力に読み込みます。以下が例となり
ます。
# fi nd /var/l i b/ci nd er/ | cpi o -o > /mnt/backup/var-l i b-ci nd erbackup. cpi o
このコマンドにより、var-l i b-ci nd er-backup. cpi o という名前の cpi o アーカイブ
ファイル (/var/l i b/ci nd er/ 内の全コンテンツを含む) が作成され、/mnt/backup/ ディ
レクトリに配置されます。
バグを報告する
B.5.4 . リカバリ
リカバリは、サービスを停止して、対象のコンポーネントのファイルとデータベースを復元してから、サー
ビスを再起動するという簡単な手順を伴います。すべての手順を root ユーザーとして実行する必要があり
ます。
手順B .3 データベースバックアップとファイルのリカバリ
1. 対象のコンポーネントの全サービスが停止していることを確認します。Image サービスの場合は、
以下の例のようにコマンドを実行します。
# servi ce o penstack-g l ance-reg i stry sto p # servi ce o penstackg l ance-api sto p
265
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
2. MySQL を停止します。
# sto p mysq l
3. 前もってバックアップしたデータベースをインポートします。Image Service のバックアップの場
合には、以下の例のようにコマンドを使用します。
# mysq l g l ance < g l ance. sq l
4. バックアップファイルを必要なディレクトリにコピーします。Image ファイルの場合は以下の例の
ように実行します。
# mv /etc/g l ance{,. o ri g } # cp -a /path/to /backup/g l ance /etc/
5. コンポーネントの各サービスを再起動します。たとえば、Image Service を再起動するには、SQL
データベース、Image レジストリ、Image API の各サービスを再起動する必要があります。
# start mysq l # servi ce o penstack-g l ance-reg i stry start # servi ce
o penstack-g l ance-api start
バグを報告する
266
サービスログファイル
サービスログファイル
C.1. Block St orage Service のログファイル
Block Storage Service のログファイルは、各サービスを実行するホストの /var/l o g /ci nd er/ ディレ
クトリに保管されます。
表C .1 ログファイル
ファイル名
説明
api . l o g
ci nd er-manag e. l o g
sched ul er. l o g
API サービス (o penstack-ci nd er-api ) のログ
管理インターフェース (ci nd er-manag e) のログ
スケジューラーサービス (o penstack-ci nd ersched ul er) のログ
ボリュームサービス (o penstack-ci nd ervo l ume) のログ
vo l ume. l o g
バグを報告する
C.2. Comput e Service のログファイル
Compute Service のログファイルは、各サービスを実行するホストの /var/l o g /no va/ ディレクトリに
保管されます。
表C .2 ログファイル
ファイル名
説明
api . l o g
cert. l o g
API サービス (o penstack-no va-api ) のログ
X509 証明書 (o penstack-no va-cert) のログ。
このサービスは、Compute Service に対する EC2
API にのみ必要です。
Compute Service 自体 (o penstack-no vaco mpute) のログファイル
Compute Service にデータベースクエリサポート
を提供するコンダクター (o penstack-no vaco nd ucto r) のログファイル
コンソール認証サービス (o penstack-no vaco nso l eauth) のログ
ネットワークサービス (o penstack-no vanetwo rk) のログ。このサービスは、OpenStack
Networking を使用するように 設定されていない環
境のみで実行される点に注意してください。
管理インターフェース (no va-manag e) のログ
スケジューラーサービス (o penstack-no vasched ul er) のログ
co mpute. l o g
co nd ucto r. l o g
co nso l eauth. l o g
netwo rk. l o g
no va-manag e. l o g
sched ul er. l o g
バグを報告する
C.3. Dashboard のログファイル
267
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
D ashboard は、Apache Web サーバー (httpd ) を使用して、ユーザーにサービスを提供します。このた
め、D ashboard のログファイルは、/var/l o g /httpd ディレクトリに保管されます
表C .3 ログファイル
ファイル名
説明
access_l o g
Web サーバーへのアクセス試行をすべて詳しく記
録したアクセスログ
Web サーバーへのアクセス試行の失敗と、それぞ
れの理由をすべて詳しく記録したエラーログ
erro r_l o g
バグを報告する
C.4 . Ident it y Service のログファイル
Identify Service のログファイルは、そのサービスを実行しているホスト /var/l o g /keysto ne/ ディレ
クトリに保管されます。
表C .4 ログファイル
ファイル名
説明
keysto ne. l o g
Identity Service (o penstack-keysto ne) のログ
バグを報告する
C.5. Image Service のログファイル
Image Service のログファイルは、各サービスを実行するホストの /var/l o g /g l ance/ ディレクトリに
保管されます。
表C .5 ログファイル
ファイル名
説明
api . l o g
reg i stry. l o g
API サービス (o penstack-g l ance-api ) のログ
Image レジストリサービス (o penstackg l ance-reg i stry) のログ
バグを報告する
C.6. Net working Service のログファイル
Networking Service のログファイルは、各サービスが実行されるホストの /var/l o g /neutro n/ ディレ
クトリに保管されます。
表C .6 ログファイル
ファイル名
説明
d hcp-ag ent. l o g
D HCP エージェント (neutro n-d hcp-ag ent) の
ログ
L3 エージェント (neutro n-l 3-ag ent) のログ
l 3-ag ent. l o g
268
サービスログファイル
ファイル名
説明
l baas-ag ent. l o g
Load Balancer as a Service (LBaaS) エージェン
ト (neutro n-l baas-ag ent) のログ
Linux Bridge エージェント (neutro nl i nuxbri d g e-ag ent) のログ
メタデータエージェント (neutro n-metad ataag ent) のログ
Open vSwitch エージェント (neutro no penvswi tch-ag ent) のログ
OpenStack Networking Service 自体 (neutro nserver) のログ
l i nuxbri d g e-ag ent. l o g
metad ata-ag ent. l o g
o penvswi tch-ag ent. l o g
server. l o g
バグを報告する
C.7. Object St orage Service のログファイル
Object Storage Service のログファイルは、各サービスを実行するホストの /var/l o g / ディレクトリに
保管されます。
表C .7 ログファイル
ファイル名
説明
swi ft-startup. l o g
Object Storage のプロキシサービスのログ
バグを報告する
269
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
改訂履歴
改訂 4 - 10.4
Fri O ct 17 2014
R ed H at Lo caliz at io n
Services
T u e O ct 14 2014
R ed H at Lo caliz at io n
Services
Wed Mar 12 2014
R ed H at Lo caliz at io n
Services
T u e Mar 11 2014
R ed H at Lo caliz at io n
Services
Web バージョンレベルを修正
改訂 4 - 10.3
日本語版を再パブリッシュ
改訂 4 - 10.2
翻訳を更新
改訂 4 - 10.1
バージョン 4-10 を日本語に翻訳
改訂 4 - 10
Wed D ec 18 2013
Red Hat Enterprise Linux OpenStack Platform 4.0 の最終版
Su mmer Lo n g
改訂 4 - 9 .1
Wed D ec 18 2013
BZ #1033152: openstack-cinder-backup サービスの定義を推敲
Sco t t R ad van
改訂 4 - 9
T u e D ec 17 2013
D o n D o min g o Su mmer Lo n g
BZ #973201: Orchestration Service 用の接続設定についての詳しい説明を追加
BZ #995508: 法律上の通知を改訂
改訂 4 - 8.1
Mo n D ec 16 2013
Su mmer Lo n g
BZ #1038372: 特定のチャンネルについての情報はリリースノートを参照するように、リポジトリのセク
ションを改訂。また、ソフトウェアコレクションについての記述をリリースノートに移行。
改訂 4 - 6
Mo n D ec 09 2013
D o n D o min g o 、Mart in Lo p es
BZ #990581: 異なるノードにまたがった Glance と Nova 間におけるイメージの直接アクセスを有効にす
る新たな手順を追加
BZ #988955: Configuration Reference Guide についての記述を更新
改訂 4 - 5
T h u D ec 05 2013
Su mmer Lo n g
BZ #1011760: バックアップとリカバリについてのセクションを新規追加
改訂 4 - 4
T h u D ec 05 2013
BZ #1024577: RHSCL リポジトリの有効化についての説明を追加
BZ #960666: glance.conf の SSL 設定オプションを追加
BZ #960334: nova.conf の SSL 設定オプションを追加
Sco t t R ad van
改訂 4 - 1
Wed D ec 04 2013
D o n D o min g o
BZ #1009641: メッセージブローカー設定の QPID username の重要性を明確化する内容と相互参照を追加
BZ #1014365: フィードバックにしたがって、Object Storage Service のリングファイルを構築する手順
を修正/明確化
改訂 3- 51
270
Wed D ec 04 2013
Su mmer Lo n g
改訂履歴
BZ #995508: 法律上の通知を更新
改訂 3- 50
T u e D ec 03 2013
D eep t i N avale、 D o n
D o min g o
BZ #988799: Configuration Reference Guide の「Configuring EC2 API」の情報へのリンクを追加
BZ #988927:: ローカルファイルシステムを使用したイメージのロードを有効化する手順を追加 (glance お
よび nova-compute のトピックを含む)
改訂 3- 4 9
T u e D ec 03 2013
D eep t i N avale、 Mart in Lo p es
BZ #989733: HAProxy の設定および概要についての情報を追加。新規トピック「Configuring LoadBalancing OpenStack API Services」追加し、全 OpenStack テナントにロードバランシングを設定する
手順を記載。
BZ #1002779:「Open vSwitch プラグインエージェントの設定」に Open vSwitch のトンネリングを追加
BZ #990555: 記載内容を更新し、GRE に Open vSwitch TSO/GSO サポートを追加
改訂 3- 4 8
Mo n D ec 2 2013
BZ #960324: cinder.conf SSL オプションを追加
改訂 3- 4 7
T h u N o v 28 2013
改訂 3- 4 6
T u e N o v 26 2013
Sco t t R ad van
D eep t i N avale、 D o n
D o min g o 、Mart in Lo p es
BZ #993962:「OpenStack Networking に関する問題のトラブルシューティング」のセクションを追加
し、ネットワーク上の問題のデバッグのためのコマンドと手順を記載
BZ #973201: Heat のインストールと設定に関する内容を追加
BZ #1010307: OpenStack Block Storage ホストグループを Foreman に追加
BZ #998048:「公開鍵インフラストラクチャーファイルを使用するための Identity Service の有効化」とい
う新規セクションを追加
D eep t i N avale、 D o n
D o min g o 、Mart in Lo p es
BZ #889370:「9.4.1. 管理トークンの設定」のセクションを更新し、期限切れのトークンをフラッシュする
ことによりトークンを管理する新たなコマンドについての記述を記載
BZ #995906: クォータの管理の項で、nova-manage を nova に更新し、デフォルトのクォータをリスト
するための関数を追加
BZ #1030129:「カスタム仮想マシンイメージの構築」の項の D isk Image Builder ツールに関する記述を更
新
BZ #973191: トピックを初期作成
BZ #1009634: LD AP の識別名の例を修正
BZ #990557:「13.7.1. Open vSwitch プラグインエージェントの設定」の項を更新し、Open vSwitch
TCP segmentation offload (TSO) についての記述を追加
改訂 3- 4 5
Fri N o v 22 2013
BZ #1033381: Foreman インストーラーへのパスを更新
Mart in Lo p es
改訂 3- 4 4
D o n D o min g o Mart in Lo p es、
Su mmer Lo n g
T h u N o v 21 2013
BZ #985040: LD AP 統合の箇所を修正し、LD AP の強化機能を追加
BZ #988937: Identity Service Assignment 機能についての説明を追加
BZ #988935 - BZ #988934: HTTPD を介した keystone の外部認証 (X509 または Kerberos) の設定手順を
追加 (テクニカルレビュー未了)
BZ #974236: Configuration Reference Guide についての言及を更新
改訂 3- 4 3
Fri N o v 15 2013
Su mmer Lo n g
271
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
BZ #974236: 付録から設定ファイルの例を削除 (これらのファイルは Configuration Reference Guide に
記載)
改訂 3- 4 2
Fri N o v 15 2013
BZ #976598:: iptables の手順をファイル編集に変更して統一
BZ #1020071: パッケージ名を Havana バージョンに更新
D o n D o min g o
改訂 3- 4 1
T u e N o v 12 2013
BZ #973845: RHN 要件の重複箇所を削除
Mart in Lo p es
改訂 3- 4 0
T u e N o v 12 2013
Su mmer Lo n g
BZ #1025133: quantum -> neutron のコード変更および Havana の更新に対応するように、基本的なテキ
ストと設定ファイルを全体にわたって更新。「Grizzly」についての言及を削除。
BZ #988039: セルの「テクノロジープレビュー」という記載を削除し、テクノロジープレビューについて
の説明も削除
改訂 3- 39
新規ベータ版の発行テスト
Fri O ct 25 2013
Sco t t R ad van
改訂 3- 38
Mo n Sep 16 2013
Sco t t R ad van
BZ #1004575: エンドポイント API の v2.0 の設定のみを記載するように変更
改訂 3- 37
Fri Sep 06 2013
BZ #997589: 手順の形式を更新
Sco t t R ad van
改訂 3- 36
Fri Sep 06 2013
BZ #997589: VNC サービス用の正しいパッケージを記載
Sco t t R ad van
改訂 3- 35
T u e Sep 03 2013
BZ #975268: コンポーネントのリストを表に移動
Sco t t R ad van
改訂 3- 34
Mo n Sep 02 2013
BZ #984897: 誤った /etc ファイルパスを修正
Sco t t R ad van
改訂 3- 33
ブランドを更新
St ep h en G o rd o n
T h u Au g 08 2013
改訂 3- 32
T u e Au g 06 2013
St ep h en G o rd o n
BZ #988471: RHS SELinux ブール値についての説明を更新
BZ #988151: マルチバックエンドの例の NFS コンポーネントについての簡単な説明を追加
改訂 3- 31
272
T u e Au g 06 2013
St ep h en G o rd o n
改訂履歴
BZ #988471: virt_use_fusefs SELinux ブール値の設定を RHS バックエンド設定に追加
BZ #984898: 記載されていなかった setsebool コマンドの引数「on」を追加
BZ #989832: certutil の例の余分なアポストロフィを削除
BZ #980547:「Compute の設定の更新」の項で /etc/nova/nova/conf を /etc/nova/nova.conf に置き換え
BZ #988150: Block Storage のマルチバックエンド設定の内容を更新して、正しい Red Hat Storage ドラ
イバーを記載
BZ #988151: Block Storage のマルチバックエンド設定を更新して、有効な NFS の例を記載
BZ #991099:「Networking Service の設定」の項で、正しいファイルを参照するようにデータベース接続
文字列の説明を更新
BZ #928038: bridge_mappings の設定キーの説明を正しく修正
BZ #981430: Start openstack-nova-consoleauth service
改訂 3- 30
Wed Ju l 17 2013
St ep h en G o rd o n
BZ #981430: Compute コンソールの認証サービスの使用方法を追加
BZ #980559: Compute のインストール方法の説明に API、コンダクター、スケジューラーのサービスを追
加
BZ #980902: 記載されていなかった Compute Service 用の認証設定を追加
BZ #980860: Compute (Nova) Service の前に Libvirtd サービスを起動する手順を追加
BZ #928038: ネットワークの説明に bri d g e_mappi ng s と physi cal _i nterface_mappi ng s の設
定キーを追加
改訂 3- 29
Mo n Ju l 08 2013
St ep h en G o rd o n
BZ #980565: 記載されていなかった「dash」データベースユーザーにデータベースの権限を付与する方法
を追加
BZ #975419: 正しいサービスを参照するように Nova API restart コマンドを修正
改訂 3- 26
Mo n Ju l 01 2013
BZ #979150: エンタイトルメントについての情報を更新
BZ #978657: Identity Service v3 エンドポイントの定義を修正
BZ #979004: Compute 用のアイデンティティレコードを修正
改訂 3- 24
St ep h en G o rd o n
Mo n Ju n 24 2013
St ep h en G o rd o n , Su mmer
Lo n g
BZ #976842: Object Storage Service のエンドポイントの定義を修正
BZ #975419: Compute API Service の再起動コマンドを修正
BZ #965900: インストールのチェックリストを完成
BZ #973845: 前提条件の情報で重複していた内容を削除
BZ #877820: /etc/l i bvi rt/q emu. co nf 設定ファイルの例を更新
改訂 3- 23
T h u Ju n 20 2013
St ep h en G o rd o n
BZ #973845:「Red Hat Network への登録」の説明で重複していた箇所を削除
BZ #877820: qemu 設定のスペースを更新
改訂 3- 22
T u e Ju n 18 2013
改訂 3- 21
T h u Ju n 13 2013
St ep h en G o rd o n , Su mmer
Lo n g
BZ #974430: 新規ユーザー作成時に正しい認証情報を使用するように更新
BZ #974434: Object Storage の設定時に sudo の代わりに root ユーザーを使用するように変更
BZ #967965: 外部プロバイダーネットワークの作成手順を追加
BZ #928376: Block Storage Service 用の Red Hat Storage バックエンドを追加
BZ #959515: インストールの前提条件を説明する新規トピックを追加
St eve G o rd o n
273
Red Hat Ent erprise Linux O penSt ack Plat form 4 インストールと設定ガイド
Red Hat OpenStack 3.0 プレビューを更新
改訂 3- 13
Wed May 29 2013
Red Hat OpenStack 3.0 プレビュー
274
St eve G o rd o n