手動インストール手順
Red Hat OpenStack Platform の手動インストールの手順
概要
第1章 はじめに リンクのコピーリンクがクリップボードにコピーされました!
- MariaDB データベースサーバー
- RabbitMQ メッセージブローカー
- Identity サービス
- Object Storage サービス
- Image サービス
- Block Storage サービス
- OpenStack Networking
- Compute サービス
- Orchestration サービス
- Dashboard
- Data Processing サービス
- Telemetry サービス
- Time-Series-as-a-Service
- File Share サービス (テクノロジープレビュー)
- Database-as-a-Service (テクノロジープレビュー)
注記
1.1. 必要なチャンネルのサブスクライブ リンクのコピーリンクがクリップボードにコピーされました!
手順1.1 必要なチャンネルのサブスクライブ
- コンテンツ配信ネットワークにシステムを登録します。プロンプトが表示されたら、カスタマーポータルのユーザー名とパスワードを入力します。
subscription-manager register
# subscription-manager registerCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 自分が使用することのできる Red Hat OpenStack Platform のサブスクリプションについての詳しい情報を確認するには、以下のコマンドを実行します。
subscription-manager list --available --all --matches="*OpenStack*"
# subscription-manager list --available --all --matches="*OpenStack*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドでは、以下のような出力が表示されるはずです。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 上記のコマンドで表示された
Pool IDを使用して、Red Hat OpenStack Platform のエンタイトルメントをアタッチします。subscription-manager attach --pool=Pool ID
# subscription-manager attach --pool=Pool IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 関係のないチャンネルは無効にして、必要なチャンネルを有効にします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum updateコマンドを実行してからリブートし、カーネルを含む最新のパッケージが確実にインストールされて実行されるようにします。yum update reboot
# yum update # rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow
yum repolist コマンドを使用して随時確認することができます。
1.2. インストールの前提条件のチェックリスト リンクのコピーリンクがクリップボードにコピーされました!
注記
- ホストマシンへの
rootアクセス (コンポーネントをインストールしたり、ファイアウォールの更新などのその他の管理者タスクを実行したりするため) - Identity サービスへの管理者アクセス
- データベースへの管理者アクセス (データベースおよびユーザーの両方を追加する機能)
| 項目 | 説明 | 値/確認済み |
|---|---|---|
|
ハードウェア要件
|
ハードウェア要件を確認する必要があります。
|
はい | いいえ
|
|
オペレーティングシステム
|
Red Hat Enterprise Linux 7.3 Server
|
はい | いいえ
|
|
Red Hat サブスクリプション
|
お使いのシステムで以下の更新を取得する資格を提供するサブスクリプションが必要です。
|
はい | いいえ
|
| 全インストール先マシンへの管理者アクセス | 本ガイドに記載する手順はほぼすべて、root ユーザーとして実行しなければならないため、root アクセスが必要です。 | はい | いいえ |
|
Red Hat サブスクリプションのユーザー名とパスワード
|
Red Hat サブスクリプションのユーザー名とパスワードが必要です。
|
|
|
マシンのアドレス
|
OpenStack のコンポーネントおよび補足のソフトウェアをインストールする先のサーバーの IP アドレスまたはホスト名を知っておく必要があります。
|
以下のサービスのホストアドレスを指定します。
|
| 項目 | 説明 | 値 |
|---|---|---|
|
ホストアクセス
|
Identity サービスをホストするシステムは以下のコンポーネントへのアクセス権が必要です。
|
システムが以下のコンポーネントへアクセスできるかどうかを確認します。
|
|
SSL 証明書
|
外部の SSL 証明書を使用する場合には、データベースと証明書の場所およびそれらへのアクセスが必要です。
|
はい | いいえ
|
| LDAP 情報 | LDAP を使用する場合には、新規ディレクトリーサーバーのスキーマを設定するために管理者アクセスが必要です。 | はい | いいえ |
| 接続 | Identity サービスをホストするシステムは、他の全 OpenStack サービスに接続されている必要があります。 | はい | いいえ |
| 項目 | 説明 | 値 |
|---|---|---|
|
ファイルシステム
|
Red Hat は現在、オブジェクトストレージ用に
XFS および ext4 のファイルシステムをサポートしています。これらのいずれかのファイルシステムが利用可能である必要があります。
|
|
|
マウントポイント
| /srv/node マウントポイントが使用可能である必要があります。
|
はい | いいえ
|
| 接続 | Object Storage サービスをホストするシステムが Identity サービスに接続されている必要があります。 | はい | いいえ |
| 項目 | 説明 | 値 |
|---|---|---|
|
バックエンド
|
Image サービスは多数のストレージバックエンドをサポートします。次のオプションのいずれかを選択する必要があります。
|
ストレージ種別:
|
| 接続 | Image サービスをホストするサーバーは、Identity サービス、Dashboard サービス、および Compute サービスに接続されている必要があります。また、このサーバーは Object Storage をバックエンドとして使用する場合には、Object Storage サービスにアクセスできる必要があります。 | はい | いいえ |
| 項目 | 説明 | 値 |
|---|---|---|
|
バックエンド
|
Block Storage サービスは、多数のストレージバックエンドをサポートします。以下のいずれかに決定する必要があります。
|
ストレージ種別:
|
| 接続 | Block Storage サービスをホストするサーバーは Identity サービス、Dashboard サービス、および Compute サービスに接続されている必要があります。 | はい | いいえ |
| 項目 | 説明 | 値 |
|---|---|---|
|
プラグインエージェント
|
標準の OpenStack Networking コンポーネントに加えて、さまざまなネットワークメカニズムを実装するプラグインエージェントの幅広い選択肢が利用可能です。
以下の中から、ネットワークに適用する項目を決定してインストールする必要があります。
|
該当するプラグインに丸印を付けてください。
|
| 接続 | OpenStack Networking をホストするサーバーは Identity サービス、Dashboard サービス、および Compute サービスに接続されている必要があります。 | はい | いいえ |
| 項目 | 説明 | 値 |
|---|---|---|
|
ハードウェア仮想化サポート
|
Compute サービスには、ハードウェア仮想化サポートが必要です。
|
はい | いいえ
|
|
VNC クライアント
|
Compute サービスは、Web ブラウザーを介したインスタンスへの Virtual Network Computing (VNC) コンソールアクセスをサポートしています。このサポートをユーザーに提供するかどうかを決める必要があります。
|
はい | いいえ
|
|
リソース: CPU とメモリー
|
OpenStack は、コンピュートノード上における CPU およびメモリーリソースのオーバーコミットをサポートしています。
|
以下の値を決定します。
|
|
リソース: ホスト
|
リソースをホスト用に確保して、一定の容量のメモリーやディスクリソースがそのホスト上の別のリソースに自動的に割り当てられないようにすることができます。
|
以下の値を決定します。
|
| libvirt のバージョン | 仮想インターフェースの結線を設定するには、使用する libvirt のバージョンを知っておく必要があります。 | バージョン: |
| 接続 | Compute サービスをホストするサーバーは、他の全 OpenStack サービスに接続されている必要があります。 | はい | いいえ |
| 項目 | 説明 | 値 |
|---|---|---|
|
ホストのソフトウェア
|
Dashboard サービスをホストするシステムは、以下のパッケージがインストール済みである必要があります。
|
はい | いいえ
|
|
接続
|
Dashboard サービスをホストするシステムは、他の全 OpenStack サービスに接続されている必要があります。
|
はい | いいえ
|
第2章 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
iptables を使用するように設定する方法を説明します。また、Red Hat OpenStack Platform 環境の全コンポーネントで使用するデータベースサービスとメッセージブローカーのインストール方法も説明します。MariaDB データベースサービスは、各コンポーネントに必要なデータベースを作成してアクセスするためのツールを提供します。RabbitMQ メッセージブローカーにより、コンポーネント間の内部通信が可能になります。メッセージは、メッセージブローカーを使用するように設定されたコンポーネントであればどこからでもメッセージの送受信ができます。
注記
2.1. ファイアウォールの設定 リンクのコピーリンクがクリップボードにコピーされました!
iptables を使用するように設定します。この際、Network Manager サービスを無効にして、サーバーが firewalld で提供されるファイアウォール機能ではなく、iptables のファイアウォール機能を使用するように設定する必要があります。本書で記載するその他のファイル設定はすべて、iptables を使用します。
2.1.1. Network Manager の無効化 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。これには、OpenStack Networking、ネットワークノードすべて、コンピュートノードすべてをホストするサーバーが含まれます。
手順2.1 Network Manager サービスの無効化
- Network Manager が現在有効化されているかどうかを確認します。
systemctl status NetworkManager.service | grep Active:
# systemctl status NetworkManager.service | grep Active:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Network Manager サービスが現在インストールされていない場合には、エラーが表示されます。このエラーが表示された場合には、この先の操作を実行して Network Manager サービスを無効にする必要はありません。
- Network Manager が稼働している場合には、システムは
Active: active (running)と表示し、稼働していない場合はActive: inactive (dead)と表示します。Networking Manager がアクティブでない場合には、この先の操作は必要ありません。
- Network Manager が稼働している場合には、Networking Manager を停止してから無効化する必要があります。
systemctl stop NetworkManager.service systemctl disable NetworkManager.service
# systemctl stop NetworkManager.service # systemctl disable NetworkManager.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - システムの各インターフェースの設定ファイルをテキストエディターで開きます。インターフェースの設定ファイルは、
/etc/sysconfig/network-scripts/ディレクトリーにあり、ファイル名はifcfg-Xの形式です (X は、インターフェース名に置き換えます)。有効なインターフェース名には、eth0、p1p5、em1などがあります。標準のネットワークサービスがインターフェースを制御して、ブート時に自動的にアクティブ化されるように、以下のキーが各インターフェースの設定ファイルで設定されているか確認して、設定されていない場合には手動で以下を追加します。NM_CONTROLLED=no ONBOOT=yes
NM_CONTROLLED=no ONBOOT=yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 標準のネットワークサービスを起動します。
systemctl start network.service
# systemctl start network.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ネットワークサービスがブート時に起動するように設定します。
systemctl enable network.service
# systemctl enable network.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.2. firewalld サービスの無効化 リンクのコピーリンクがクリップボードにコピーされました!
firewalld サービスを無効にして、iptablesサービスを有効にします。
手順2.2 firewalld サービスの無効化
iptablesサービスをインストールします。yum install iptables-services
# yum install iptables-servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/iptablesに定義されている iptables ルールを確認します。注記
以下のコマンドで、現在のfirewalld設定を確認できます。firewall-cmd --list-all
# firewall-cmd --list-allCopy to Clipboard Copied! Toggle word wrap Toggle overflow iptablesルールに問題がなければ、firewalldを無効化します。systemctl disable firewalld.service
# systemctl disable firewalld.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow firewalldサービスを停止して、iptablesサービスを起動します。systemctl stop firewalld.service; systemctl start iptables.service; systemctl start ip6tables.service
# systemctl stop firewalld.service; systemctl start iptables.service; systemctl start ip6tables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow iptablesサービスがブート時に起動するようにを設定します。systemctl enable iptables.service systemctl enable ip6tables.service
# systemctl enable iptables.service # systemctl enable ip6tables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2. データベースサーバーのインストール リンクのコピーリンクがクリップボードにコピーされました!
2.2.1. MariaDB データベースパッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
- mariadb-galera-server
- MariaDB データベースサービスを提供します。
- mariadb-galera-common
- MariaDB サーバーの共有ファイルを提供します。このパッケージは、mariadb-galera-server パッケージの依存関係としてインストールされます。
- galera
- Galera wsrep (Write Set REPlication) provider をインストールします。このパッケージは、mariadb-galera-server パッケージの依存関係としてインストールされます。
yum install mariadb-galera-server
# yum install mariadb-galera-server
2.2.2. データベースのトラフィックを許可するためのファイアウォール設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順2.3 データベースのトラフィックを許可するためのファイアウォール設定
- テキストエディターで
/etc/sysconfig/iptablesファイルを開きます。 - このファイルに、ポート
3306で TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。-A INPUT -p tcp -m multiport --dports 3306 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 3306 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/iptablesファイルへの変更を保存します。iptablesサービスを再起動して、変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.3. データベースサービスの起動 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順2.4 データベースサービスの起動
mariadbサービスを起動します。systemctl start mariadb.service
# systemctl start mariadb.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow mariadbサービスがブート時に起動するように設定します。systemctl enable mariadb.service
# systemctl enable mariadb.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.4. データベース管理者アカウントの設定 リンクのコピーリンクがクリップボードにコピーされました!
root というデータベースユーザーを作成します。これにより、MariaDB サーバーがインストールされているマシンから MariaDB サーバーへのアクセスが提供されます。MariaDB サービスをホストするサーバーにセキュアにアクセスするには、このアカウントにパスワードを設定する必要があります。また、MariaDB サーバーがインストールされているマシン以外のマシンから MariaDB サーバーにアクセスする必要がある場合には、MariaDB サーバーへのアクセスを有効化する必要があります。インストール時に作成された匿名ユーザーおよびテストデータベースは削除することを推奨します。
手順2.5 データベース管理者アカウントの設定
- MariaDB サービスがインストールされているマシンにログインします。
mysql_secure_installationを使用してrootパスワードの設定、リモートの root ログインの許可、匿名ユーザーアカウントおよびテストデータベースの削除を行います。mysql_secure_installation
# mysql_secure_installationCopy to Clipboard Copied! Toggle word wrap Toggle overflow
注記
-p と古いパスワードの間にはスペースをあけないようにしてください。
mysqladmin -u root -pOLDPASS password NEWPASS
# mysqladmin -u root -pOLDPASS password NEWPASS
2.2.5. 接続性のテスト リンクのコピーリンクがクリップボードにコピーされました!
2.2.5.1. ローカルの接続性のテスト リンクのコピーリンクがクリップボードにコピーされました!
手順2.6 ローカルの接続性のテスト
- データベースサービスに接続します。
USERは接続先のユーザー名に置き換えます。mysql -u USER -p
# mysql -u USER -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow - プロンプトが表示されたら、データベースユーザー名を入力します。
Enter password:
Enter password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.5.2. リモートの接続性のテスト リンクのコピーリンクがクリップボードにコピーされました!
手順2.7 リモートの接続性のテスト
- MySQL クライアントツールをインストールします。
yum install mysql
# yum install mysqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - データベースサービスに接続します。USER はデータベースのユーザー名、HOST はデータベースサービスをホストするサーバーの IP アドレスまたはホスト名に置き換えます。
mysql -u USER -h HOST -p
# mysql -u USER -h HOST -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow - プロンプトが表示されたら、データベースユーザー名を入力します。
Enter password:
Enter password:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3. メッセージブローカーのインストール リンクのコピーリンクがクリップボードにコピーされました!
- Block Storage サービス
- Compute サービス
- OpenStack Networking
- Orchestration サービス
- Image サービス
- Telemetry サービス
2.3.1. RabbitMQ メッセージブローカーパッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
yum install rabbitmq-server
# yum install rabbitmq-server
2.3.2. メッセージブローカーのトラフィックを許可するためのファイアウォール設定 リンクのコピーリンクがクリップボードにコピーされました!
5672 です。以下の手順で記載するステップはすべて、メッセージングサービスをホストするサーバーに root ユーザーとしてログインして実行する必要があります。
手順2.8 メッセージブローカーのトラフィックのファイアウォール設定
- テキストエディターで
/etc/sysconfig/iptablesファイルを開きます。 - このファイルに、ポート
5672で 受信接続を許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。-A INPUT -p tcp -m tcp --dport 5672 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5672 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/iptablesファイルへの変更を保存します。iptablesサービスを再起動して、ファイアウォールの変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.3. RabbitMQ メッセージブローカーの起動と設定 リンクのコピーリンクがクリップボードにコピーされました!
手順2.9 RabbitMQ メッセージブローカーを OpenStack で使用するための起動および設定手順
rabbitmq-serverサービスを立ち上げ、ブート時に起動するように設定します。systemctl start rabbitmq-server.service systemctl enable rabbitmq-server.service
# systemctl start rabbitmq-server.service # systemctl enable rabbitmq-server.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - rabbitmq-server パッケージのインストール時には、RabbitMQ サービスの
guestユーザーは、デフォルトのguestパスワードとともに自動的に作成されます。Red Hat では、特に IPv6 が利用可能な場合には、このデフォルトパスワードを変更することを強くお勧めします。IPv6 では、RabbitMQ はネットワーク外部からアクセスが可能となる場合があります。rabbitmqctl change_password guest NEW_RABBITMQ_PASS
# rabbitmqctl change_password guest NEW_RABBITMQ_PASSCopy to Clipboard Copied! Toggle word wrap Toggle overflow NEW_RABBITMQ_PASS は、よりセキュアなパスワードに置き換えます。 - Block Storage サービス、Compute サービス、OpenStack Networking、Orchestration サービス、Image サービス、Telemetry サービス用の RabbitMQ ユーザーアカウントを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CINDER_PASS、NOVA_PASS、NEUTRON_PASS、HEAT_PASS、GLANCE_PASS、CEILOMETER_PASS は、各サービスのセキュアなパスワードに置き換えてください。 - これらの RabbitMQ ユーザーに、全リソースに対する読み取り/書き込みのパーミッションを付与します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.4. RabbitMQ メッセージブローカーでの SSL の有効化 リンクのコピーリンクがクリップボードにコピーされました!
/etc/rabbitmq/rabbitmq.config 設定ファイルで RabbitMQ に SSL を設定します。
手順2.10 RabbitMQ メッセージブローカーでの SSL の有効化
- 必要な証明書を保管するためのディレクトリーを作成します。
mkdir /etc/pki/rabbitmq
# mkdir /etc/pki/rabbitmqCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 証明書用のセキュアなパスワードを選択して、
/etc/pki/rabbitmqディレクトリー内にファイル形式で保存します。echo SSL_RABBITMQ_PW > /etc/pki/rabbitmq/certpw
# echo SSL_RABBITMQ_PW > /etc/pki/rabbitmq/certpwCopy to Clipboard Copied! Toggle word wrap Toggle overflow SSL_RABBITMQ_PW は、証明書のパスワードに置き換えます。このパスワードは、後で必要な証明書をさらにセキュリティー保護する際に使用します。 - 証明書のディレクトリーとパスワードファイルのパーミッションを設定します。
chmod 700 /etc/pki/rabbitmq chmod 600 /etc/pki/rabbitmq/certpw
# chmod 700 /etc/pki/rabbitmq # chmod 600 /etc/pki/rabbitmq/certpwCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/pki/rabbitmq/certpwファイル内のパスワードを使用して/etc/pki/rabbitmqディレクトリーに証明書データベースファイル (*.db) を作成します。certutil -N -d /etc/pki/rabbitmq -f /etc/pki/rabbitmq/certpw
# certutil -N -d /etc/pki/rabbitmq -f /etc/pki/rabbitmq/certpwCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 実稼働環境では、信頼のできるサードパーティーの証明局 (CA) を使用して証明書に署名することを推奨します。サードパーティーの CA には、証明書署名要求 (CSR) が必要となります。
certutil -R -d /etc/pki/rabbitmq -s "CN=RABBITMQ_HOST" \ -a -f /etc/pki/rabbitmq/certpw > RABBITMQ_HOST.csr
# certutil -R -d /etc/pki/rabbitmq -s "CN=RABBITMQ_HOST" \ -a -f /etc/pki/rabbitmq/certpw > RABBITMQ_HOST.csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow RABBITMQ_HOST は、RabbitMQ メッセージブローカーをホストするサーバーの IP アドレスまたはホスト名に置き換えます。このコマンドにより、RABBITMQ_HOST.csrという名前の CSR とキーファイル (keyfile.key) が生成されます。このキーファイルは、後で RabbitMQ メッセージブローカーが SSL を使用するように設定する際に使用します。注記
一部の CA には、"CN=RABBITMQ_HOST"以外の追加の値が必要な場合があります。 RABBITMQ_HOST.csrをサードパーティーの CA に提供して署名を受けます。CA は署名済みの証明書 (server.crt) と CA ファイル (ca.crt) を提供します。これらのファイルを証明書のデータベースに追加します。certutil -A -d /etc/pki/rabbitmq -n RABBITMQ_HOST -f /etc/pki/rabbitmq/certpw \ -t u,u,u -a -i /path/to/server.crt certutil -A -d /etc/pki/rabbitmq -n "Your CA certificate" \ -f /etc/pki/rabbitmq/certpw -t CT,C,C -a -i /path/to/ca.crt
# certutil -A -d /etc/pki/rabbitmq -n RABBITMQ_HOST -f /etc/pki/rabbitmq/certpw \ -t u,u,u -a -i /path/to/server.crt # certutil -A -d /etc/pki/rabbitmq -n "Your CA certificate" \ -f /etc/pki/rabbitmq/certpw -t CT,C,C -a -i /path/to/ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow - RabbitMQ メッセージブローカーがセキュアな通信に証明書ファイルを使用するように設定します。テキストエディターで
/etc/rabbitmq/rabbitmq.configの設定ファイルを開き、以下のようにrabbitのセクションを編集します。- 以下の行を探します。
%% {ssl_listeners, [5671]},%% {ssl_listeners, [5671]},Copy to Clipboard Copied! Toggle word wrap Toggle overflow パーセントの記号を削除して、設定をアンコメントします。{ssl_listeners, [5671]},{ssl_listeners, [5671]},Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 次に以下の行まで、下方向にスクロールします。
%% {ssl_options, [{cacertfile, "/path/to/testca/cacert.pem"},%% {ssl_options, [{cacertfile, "/path/to/testca/cacert.pem"},Copy to Clipboard Copied! Toggle word wrap Toggle overflow この行と、その次のssl_optionsで構成される数行を、以下の内容に置き換えます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - /path/to/ca.crt は、CA 証明書への絶対パスに置き換えます。
- /path/to/server.crt は、署名済みの証明書への絶対パスに置き換えます。
- /path/to/keyfile.key はキーファイルへの絶対パスに置き換えます。
- 特定の TLS 暗号化バージョンのみのサポートを含めるように
rabbitmq.configを編集して、SSLv3 を無効化します。{rabbit, [ {ssl_options, [{versions, ['tlsv1.2','tlsv1.1',tlsv1]}]}, ]}{rabbit, [ {ssl_options, [{versions, ['tlsv1.2','tlsv1.1',tlsv1]}]}, ]}Copy to Clipboard Copied! Toggle word wrap Toggle overflow - RabbitMQ サービスを再起動し、変更を有効にします。
systemctl restart rabbitmq-server.service
# systemctl restart rabbitmq-server.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.5. クライアント用 SSL 証明書のエクスポート リンクのコピーリンクがクリップボードにコピーされました!
pk12util -o <p12exportfile> -n <certname> -d <certdir> -w <p12filepwfile> openssl pkcs12 -in <p12exportfile> -out <clcertname> -nodes -clcerts -passin pass:<p12pw>
# pk12util -o <p12exportfile> -n <certname> -d <certdir> -w <p12filepwfile>
# openssl pkcs12 -in <p12exportfile> -out <clcertname> -nodes -clcerts -passin pass:<p12pw>
openssl のマニュアルページを参照してください。
2.4. ネットワークタイムプロトコルサーバー (NTP) リンクのコピーリンクがクリップボードにコピーされました!
重要
2.5. OpenStack コマンドラインクライアントのインストール リンクのコピーリンクがクリップボードにコピーされました!
openstack コマンドラインクライアントで、OpenStack サービスを設定してユーザーやプロジェクトを作成するには、python-openstackclient パッケージを必ずインストールするようにしてください。
yum install python-openstackclient
# yum install python-openstackclient
第3章 Identity サービスのインストール リンクのコピーリンクがクリップボードにコピーされました!
3.1. Identity サービスのパッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
- openstack-keystone
- OpenStack Identity サービスを提供します。
- openstack-utils
- 設定ファイルの編集をはじめとする数々のタスクに役立つサポートユーティリティーを提供します。
- openstack-selinux
- OpenStack 固有の SELinux ポリシーモジュールを提供します。
- httpd
- Apache Web サーバーを提供します。
- mod_wsgi
- Apache 下で Python ベースの Web アプリケーションをホストするための WSGI 対応のインターフェースを提供します。
yum install -y openstack-keystone \
openstack-utils \
openstack-selinux
# yum install -y openstack-keystone \
openstack-utils \
openstack-selinux
httpd \
mod_wsgi
3.2. アイデンティティーデータベースの作成 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順3.1 Identity サービスのデータベースの作成
- データベースサービスに接続します。
mysql -u root -p
# mysql -u root -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow keystoneデータベースを作成します。mysql> CREATE DATABASE keystone;
mysql> CREATE DATABASE keystone;Copy to Clipboard Copied! Toggle word wrap Toggle overflow keystoneデータベースユーザーを作成して、keystoneデータベースへのアクセスを許可します。mysql> GRANT ALL ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'PASSWORD';Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュアなパスワードに置き換えます。- データベースの特権をフラッシュして、設定が即時に反映されるようにします。
mysql> FLUSH PRIVILEGES;
mysql> FLUSH PRIVILEGES;Copy to Clipboard Copied! Toggle word wrap Toggle overflow mysqlクライアントを終了します。mysql> quit
mysql> quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3. Identity サービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
3.3.1. Identity サービスのデータベース接続の設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/keystone/keystone.conf ファイルで定義されます。サービスを起動する前に、有効なデータベースサーバーをポイントするように更新しておく必要があります。
root ユーザーとしてログインして実行する必要があります。
手順3.2 Identity サービスの SQL データベース接続の設定
connection設定キーの値を設定します。openstack-config --set /etc/keystone/keystone.conf \ sql connection mysql://USER:PASS@IP/DB
# openstack-config --set /etc/keystone/keystone.conf \ sql connection mysql://USER:PASS@IP/DBCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- USER は、Identity サービスのデータベースのユーザー名 (通常は
keystone) に置き換えます。 - PASS は選択したデータベースユーザーのパスワードに置き換えます。
- IP は、Identity サーバーの IP アドレスまたはホスト名に置き換えます。
- DB は、Identity サービスのデータベースの名前 (通常は
keystone) に置き換えます。
重要
3.3.2. 公開鍵インフラストラクチャーの設定 リンクのコピーリンクがクリップボードにコピーされました!
3.3.2.1. 公開鍵インフラストラクチャーの概要 リンクのコピーリンクがクリップボードにコピーされました!
keystone-manage pki_setup コマンドで自動的に生成されますが、サードパーティーの証明機関を使用して必要な証明書の作成と署名を手動で行うことも可能です。サードパーティーの証明書を使用する場合には、Identity サービスの設定を手動で更新して、証明書と関連ファイルをポイントするようにする必要があります。
/etc/keystone/keystone.conf 設定ファイルの [signing] セクションには、PKI 設定に関連する以下のような設定キーが表示されます。
- ca_certs
certfile設定キーによって示された証明書を発行した認証局向けに証明書の場所を指定します。デフォルト値は/etc/keystone/ssl/certs/ca.pemです。- ca_key
certfile設定キーによって示された証明書を発行した認証局のキーを指定します。デフォルト値は/etc/keystone/ssl/certs/cakey.pemです。- ca_password
- 認証局のファイルを開くために必要なパスワード (該当する場合) を指定します。値が指定されていない場合に、デフォルトのアクションではパスワードを使用しません。
- certfile
- トークンの検証に使用する必要のある証明書の場所を指定します。値が指定されていない場合には、デフォルト値の
/etc/keystone/ssl/certs/signing_cert.pemが使用されます。 - keyfile
- トークンの署名時に使用する必要のある秘密鍵の場所を指定します。値が指定されていない場合には、デフォルト値の
/etc/keystone/ssl/private/signing_key.pemが使用されます。 - token_format
- トークン生成時に使用するアルゴリズムを指定します。使用可能な値は
UUIDとPKIです。デフォルトはPKIです。
3.3.2.2. 公開鍵インフラストラクチャーファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順3.3 Identity サービスが使用する PKI ファイルの作成
keystone-manage pki_setupコマンドを実行します。keystone-manage pki_setup \ --keystone-user keystone \ --keystone-group keystone
# keystone-manage pki_setup \ --keystone-user keystone \ --keystone-group keystoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow keystoneユーザーが/var/log/keystone/および/etc/keystone/ssl/のディレクトリーを所有するように設定します。chown -R keystone:keystone /var/log/keystone \ /etc/keystone/ssl/
# chown -R keystone:keystone /var/log/keystone \ /etc/keystone/ssl/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.2.3. 公開鍵インフラストラクチャーファイルを使用するための Identity サービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/keystone/keystone.conf ファイルの属性値を設定します。
/etc/keystone/keystone.conf ファイルを直接編集して、これらの値を更新します。
3.3.3. Identity サービスのトラフィックを許可するためのファイアウォール設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順3.4 Identity サービスのトラフィックを許可するためのファイアウォール設定
- テキストエディターで
/etc/sysconfig/iptablesファイルを開きます。 - このファイルに、ポート
5000および35357で TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。-A INPUT -p tcp -m multiport --dports 5000,35357 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 5000,35357 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/iptablesファイルへの変更を保存します。iptablesサービスを再起動して、変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.4. Identity サービスのデータベースへのデータ投入 リンクのコピーリンクがクリップボードにコピーされました!
手順3.5 Identity サービスのデータベースへのデータ投入
- Identity サービスをホストするシステムにログインします。
keystoneユーザーに切り替え、/etc/keystone/keystone.confで特定されているデータベースを初期化してデータを投入します。su keystone -s /bin/sh -c "keystone-manage db_sync"
# su keystone -s /bin/sh -c "keystone-manage db_sync"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.5. コレクション内のエンティティー数の制限 リンクのコピーリンクがクリップボードにコピーされました!
手順3.6 コレクション内のエンティティー数の制限
- テキストエディターで
/etc/keystone/keystone.confを開きます。 [DEFAULT]セクションでlist_limitを使用してグローバル値を設定します。- オプションで、個別のセクションで特定の制限を指定することで、このグローバル値を無効にすることができます。以下に例を示します。
[assignment] list_limit = 100
[assignment] list_limit = 100Copy to Clipboard Copied! Toggle word wrap Toggle overflow
list_{entity} の呼び出しへの応答が省略された場合には、応答の状態コードが 200 (OK) のままですが、コレクション内の truncated 属性が true に設定されます。
3.3.6. Apache HTTP サーバーの設定 リンクのコピーリンクがクリップボードにコピーされました!
keystone サービスおよび wsgi モジュール向けの適切な構成を使用するように設定する必要があります。
手順3.7 Apache HTTP サーバーの設定
- テキストエディターで
/etc/httpd/conf/httpd.confファイルを編集します。ServerNameオプションがコントローラーノードを参照するように設定してください。ServerName controller
ServerName controllerCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/httpd/conf/httpd.confファイルへのリンクを作成します。ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d
# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.dCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4. Identity サービスの起動 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順3.8 Identity サービスの起動
httpdサービスを起動します。systemctl start httpd.service
# systemctl start httpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow httpdサービスがブート時に起動するように設定します。systemctl enable httpd.service
# systemctl enable httpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5. 管理者アカウントおよび Identity サービスエンドポイントの作成 リンクのコピーリンクがクリップボードにコピーされました!
手順3.9 管理者アカウントおよび Identity サービスエンドポイントの作成
adminユーザー、ロール、テナントを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD はadminユーザーのパスワードに、IP は Identity サーバーの IP アドレスまたはホスト名に置き換えます。- 新規作成された
adminアカウントは、Identity サービスの今後の管理に使用されます。認証を円滑化するためには、セキュリティー保護された場所 (rootユーザーのホームディレクトリーなど) にkeystonerc_adminファイルを作成します。ファイルに以下の行を追加して、認証に使用する環境変数を設定します。export OS_USERNAME=admin export OS_PROJECT_NAME=admin export OS_PASSWORD=PASSWORD export OS_AUTH_URL=http://IP:35357/v2.0/ export PS1='[\u@\h \W(keystone_admin)]\$ '
export OS_USERNAME=admin export OS_PROJECT_NAME=admin export OS_PASSWORD=PASSWORD export OS_AUTH_URL=http://IP:35357/v2.0/ export PS1='[\u@\h \W(keystone_admin)]\$ 'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 今回も PASSWORD はadminユーザーのパスワードに、IP は Identity サーバーの IP アドレスまたはホスト名に置き換えます。 - 認証に使用する環境変数を読み込みます。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow
注記
keystone-manage bootstrap コマンドを使用して管理者アカウントを作成することを推奨します。管理トークンを設定して使用する場合は、Red Hat OpenStack Platform 10 『手動インストール手順』の「管理者アカウントおよび Identity サービスエンドポイントの作成」のセクションを参照してください。
3.5.1. サービスのリージョン リンクのコピーリンクがクリップボードにコピーされました!
RegionOne という名前のリージョンに作成されます。
--region の引数を指定します。
[(keystone_admin)]# openstack endpoint create --region REGION \ --publicurl PUBLICURL \ --adminurl ADMINURL \ --internalurl INTERNALURL \ SERVICENAME
[(keystone_admin)]# openstack endpoint create --region REGION \
--publicurl PUBLICURL \
--adminurl ADMINURL \
--internalurl INTERNALURL \
SERVICENAME
例3.1 個別のリージョン内のエンドポイント
APAC および EMEA のリージョンが Identity サーバー (identity.example.com) エンドポイントを共有する一方、リージョン固有の Compute API エンドポイントを提供します。
3.6. 一般ユーザーアカウントの作成 リンクのコピーリンクがクリップボードにコピーされました!
手順3.10 一般ユーザーアカウントの作成
- Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow - テナントを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow TENANT は、テナント名に置き換えます。 - 一般ユーザーを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow USER はこのアカウントのユーザー名に、TENANT は前のステップで使用したテナント名に、PASSWORD はこのアカウントのセキュアなパスワードに置き換えます。注記
--projectオプションが指定されているため、ユーザーはデフォルトで Identity の_member_ロールが自動的に関連付けられます。 - 認証を円滑化するためには、セキュリティー保護された場所 (例:
rootユーザーのホームディレクトリーなど) にkeystonerc_userファイルを作成します。認証に使用する以下の環境変数を設定します。export OS_USERNAME=USER export OS_PROJECT_NAME=TENANT export OS_PASSWORD=PASSWORD export OS_AUTH_URL=http://IP:5000/v2.0/ export PS1='[\u@\h \W(keystone_user)]\$ '
export OS_USERNAME=USER export OS_PROJECT_NAME=TENANT export OS_PASSWORD=PASSWORD export OS_AUTH_URL=http://IP:5000/v2.0/ export PS1='[\u@\h \W(keystone_user)]\$ 'Copy to Clipboard Copied! Toggle word wrap Toggle overflow USER、TENANT、PASSWORD は、テナントおよびユーザーの作成時に指定した値に置き換えます。また IP は Identity Server の IP アドレスまたはホスト名に置き換えてください。
3.7. サービステナントの作成 リンクのコピーリンクがクリップボードにコピーされました!
注記
services テナントを使用します。
注記
手順3.11 サービステナントの作成
- Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow servicesテナントを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注記
3.8. Identity サービスのインストールの検証 リンクのコピーリンクがクリップボードにコピーされました!
keystonerc_admin と keystonerc_user のファイルへのアクセス権が必要です。また、システムには、httpd、mod_wsgi、mod_ssl (セキュリティー目的) をインストールしておく必要があります。
手順3.12 Identity サービスのインストールの検証
- 管理ユーザーとして、Keystone にアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow - システムで定義されているユーザーの一覧を表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow システムで定義されているユーザーの一覧が表示されます。一覧が表示されない場合には、インストールに問題があります。- 返されたメッセージでパーミッションまたは認証に問題があることが示されている場合には、管理者ユーザーアカウント、テナント、ロールが正しく作成されていることを確認します。また、3 つのオブジェクトが正しくリンクされていることも確認します。
- 返されたメッセージで接続に問題がある (
Connection refused) ことが示されている場合には、openstack-keystoneサービスが実行中であることと、ポート5000および35357での接続を許可するようにファイアウォールサービスが設定されていることを確認してください。
- 一般の Identityサービスのユーザーとして、Keystone にアクセスするためのシェルを設定します。
source ~/keystonerc_user
# source ~/keystonerc_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow - システムで定義されているユーザーの一覧を表示してみます。
[(keystone_user)]# openstack user list You are not authorized to perform the requested action: admin_required (HTTP 403) (Request-ID: req-1cfd3869-ac97-424d-bd00-f835a6ab9be6)
[(keystone_user)]# openstack user list You are not authorized to perform the requested action: admin_required (HTTP 403) (Request-ID: req-1cfd3869-ac97-424d-bd00-f835a6ab9be6)Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドを実行する権限がないことを示すエラーメッセージが表示されます。このエラーメッセージが表示されず、代わりにユーザー一覧が表示された場合には、その一般ユーザーアカウントに誤ってadminロールが関連付けられていたことになります。
3.8.1. Identity クライアント (keystone) の接続性における問題のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
keystone) が Identity サービスと通信できない場合には、次のようなエラーが返されます。
Unable to communicate with identity service: [Errno 113] No route to host. (HTTP 400)
Unable to communicate with identity service: [Errno 113] No route to host. (HTTP 400)
- Identity サービスが稼働していない場合
- Identity サービスをホストするシステムで、サービスのステータスを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスが実行されていない場合には (Active: inactive (dead)という出力)、rootユーザーとしてログインして起動します。systemctl start openstack-keystone
# systemctl start openstack-keystoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイアウォールが適切に設定されていない場合
- ファイアウォールがポート
5000と35357で TCP トラフィックを許可するように設定されていない可能性があります。「Identity サービスのトラフィックを許可するためのファイアウォール設定」で設定を正しく修正する方法を参照してください。
第4章 Object サービスのインストール リンクのコピーリンクがクリップボードにコピーされました!
4.1. Object Storage サービスの要件 リンクのコピーリンクがクリップボードにコピーされました!
- サポート対象のファイルシステム
- Object Storage サービスは、ファイルシステムにオブジェクトを保管します。現在は
XFSおよびext4がサポートされています。ファイルシステムは、拡張属性 (xattr) を有効にした状態でマウントする必要があります。XFSを使用するように推奨します。これは、/etc/fstabで設定します。例4.1 1 つの XFS ストレージディスクの/etc/fstab のエントリー例
/dev/sdb1 /srv/node/d1 xfs inode64,noatime,nodiratime 0 0
/dev/sdb1 /srv/node/d1 xfs inode64,noatime,nodiratime 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
デフォルトでは、拡張属性はすでにXFSで有効になっています。そのため、/etc/fstabエントリーで、user_xattrを指定する必要はありません。 - 許容されるマウントポイント
- Object Storage サービスは、デバイスが
/srv/node/にマウントされることを想定します。
4.2. rsyncd の設定 リンクのコピーリンクがクリップボードにコピーされました!
rsyncd を設定してから、Object Storage サービスをインストールして設定します。以下の手順では、各ストレージノードに root ユーザーでログインして実行する必要があります。本手順では、XFS ストレージディスクが少なくとも 2 つ、各ストレージノードにマウントされていることが前提です。
例4.2 2 つの XFS ストレージディスクの/etc/fstab のエントリー例
/dev/sdb1 /srv/node/d1 xfs inode64,noatime,nodiratime 0 0 /dev/sdb2 /srv/node/d2 xfs inode64,noatime,nodiratime 0 0
/dev/sdb1 /srv/node/d1 xfs inode64,noatime,nodiratime 0 0
/dev/sdb2 /srv/node/d2 xfs inode64,noatime,nodiratime 0 0
手順4.1 rsyncd の設定
- コントローラーの
/etc/hostsファイルからのアドレスをコピーして、ストレージノードの IP アドレスを追加します。また、すべてのノードに/etc/hostsファイルの全アドレスが指定されているようにします。 - rsync および xinetd パッケージをインストールします。
yum install rsync xinetd
# yum install rsync xinetdCopy to Clipboard Copied! Toggle word wrap Toggle overflow - テキストエディターで
/etc/rsyncd.confファイルを開いて以下の行を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
複数のアカウント、コンテナー、オブジェクトのセクションを使用することができます。 /etc/xinetd.d/rsyncファイルを開いて、以下の情報を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow xinetdサービスを起動して、ブート時に起動するように設定します。systemctl start xinetd.service systemctl enable xinetd.service
# systemctl start xinetd.service # systemctl enable xinetd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3. Object Storage サービスのパッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenStack Object Storage の主要パッケージ
- openstack-swift-proxy
- オブジェクトに対してプロキシーを要求します。
- openstack-swift-object
- 最大 5 GB のデータオブジェクトを格納します。
- openstack-swift-container
- 各コンテナー内のオブジェクトをすべてトラッキングするデータベースを維持管理します。
- openstack-swift-account
- 各アカウント内の全コンテナーをトラッキングするデータベースを維持管理します。
OpenStack Object Storage の依存関係
- openstack-swift
- 特定のサービスに共通したコードが含まれます。
- openstack-swift-plugin-swift3
- OpenStack Object Storage 用の swift3 プラグインです。
- memcached
- プロキシーサーバーのソフト依存関係で、対話時に毎回再認証せず、認証済みのクライアントをキャッシュします。
- openstack-utils
- OpenStack の設定用ユーティリティーを提供します。
- python-swiftclient
swiftコマンドラインツールを提供します。
手順4.2 Object Storage サービスのパッケージのインストール
- 必要なパッケージをインストールします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4. Object Storage サービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
4.4.1. Object Storage サービス用のアイデンティティーレコードの作成 リンクのコピーリンクがクリップボードにコピーされました!
services テナントが作成済みであることを前提としています。詳しい説明は、以下のリンクを参照してください。
keystonerc_admin ファイルをコピーして keystone コマンドラインユーティリティーをインストールした任意のマシンで実行してください。
手順4.3 Object Storage サービス用のアイデンティティーレコードの作成
- Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow swiftユーザーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、Object Storageサービスが Identityサービスとの認証を行う際に使用するセキュアなパスワードに置き換えます。servicesテナントのコンテキスト内で、swiftユーザーとadminロールを関連付けます。[(keystone_admin)]# openstack role add --project services --user swift admin
[(keystone_admin)]# openstack role add --project services --user swift adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow swiftObject Storage サービスのエントリーを作成します。[(keystone_admin)]# openstack service create --name swift \ --description "Swift Storage Service" \ object-store[(keystone_admin)]# openstack service create --name swift \ --description "Swift Storage Service" \ object-storeCopy to Clipboard Copied! Toggle word wrap Toggle overflow swiftエンドポイントエントリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP は Object Storage のプロキシサービスをホストするサーバーの IP アドレスまたは完全修飾ドメイン名に置き換えます。
4.4.2. Object Storage サービスのストレージノードの設定 リンクのコピーリンクがクリップボードにコピーされました!
ext4 または XFS の形式でフォーマットし、/srv/node/ ディレクトリーの下にマウントする必要があります。また、指定されたノードで実行されるサービスはすべて有効化して、それらに使用するポートを開く必要があります。
手順4.4 Object Storage サービスのストレージノードの設定
ext4またはXFSのファイルシステムでデバイスをフォーマットします。xattrを必ず有効化してください。/etc/fstabファイルにデバイスを追加して、ブート時には/srv/node/の下にマウントされるようにします。blkidコマンドを使用して、デバイスの一意 ID を検索して、この一意の ID を使用してデバイスをマウントします。注記
ext4を使用する場合には、user_xattrオプションを指定してファイルシステムをマウントすることにより、拡張属性を有効化するようにしてください (XFSの場合は、拡張属性はデフォルトで有効化されます)。- 各ノードで実行中の各サービスが使用する TCP ポートを開くようにファイアウォールを設定します。サービスデフォルトでは、アカウントサービスはポート 6202、コンテナーサービスはポート 6201、オブジェクトサービスはポート 6200 を使用します。
- テキストエディターで
/etc/sysconfig/iptablesファイルを開きます。 - アカウント、コンテナー、オブジェクトのサービスが使用するポートで TCP トラフィックを許可する
INPUTルールを追加します。この新規ルールは、reject-with icmp-host-prohibitedよりも前に記載する必要があります。-A INPUT -p tcp -m multiport --dports 6200,6201,6202,873 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 6200,6201,6202,873 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/iptablesファイルへの変更を保存します。iptablesサービスを再起動して、ファイアウォールの変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/srv/node/のコンテンツの所有者をswift:swiftに変更します。chown -R swift:swift /srv/node/
# chown -R swift:swift /srv/node/Copy to Clipboard Copied! Toggle word wrap Toggle overflow /srv/node/配下の全ディレクトリーのSELinuxコンテキストを正しく設定します。restorecon -R /srv
# restorecon -R /srvCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/swift/swift.confファイルにハッシュプレフィックスを追加します。openstack-config --set /etc/swift/swift.conf swift-hash swift_hash_path_prefix \ $(openssl rand -hex 10)
# openstack-config --set /etc/swift/swift.conf swift-hash swift_hash_path_prefix \ $(openssl rand -hex 10)Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/swift/swift.confファイルにハッシュサフィックスを追加します。openstack-config --set /etc/swift/swift.conf swift-hash swift_hash_path_suffix \ $(openssl rand -hex 10)
# openstack-config --set /etc/swift/swift.conf swift-hash swift_hash_path_suffix \ $(openssl rand -hex 10)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ストレージサービスがリッスンする IP アドレスを設定します。Object Storage クラスター内の全ノードにある全サービスに対して以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NODE_IP_ADDRESS は、設定するノードの IP アドレスに置き換えます。 - 現在設定中のノードから全 Object Storage サービスノードに
/etc/swift/swift.confをコピーします。重要
/etc/swift/swift.confファイルは、すべての Object Storage サービスノードで全く同じである必要があります。 - ノードで実行するサービスを起動します。
systemctl start openstack-swift-account.service systemctl start openstack-swift-container.service systemctl start openstack-swift-object.service
# systemctl start openstack-swift-account.service # systemctl start openstack-swift-container.service # systemctl start openstack-swift-object.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - サービスがブート時に起動するように設定します。
systemctl enable openstack-swift-account.service systemctl enable openstack-swift-container.service systemctl enable openstack-swift-object.service
# systemctl enable openstack-swift-account.service # systemctl enable openstack-swift-container.service # systemctl enable openstack-swift-object.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4.3. Object Storage サービスのプロキシーサービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
gets および puts の転送先のノードを決定します。
注記
手順4.5 Object Storage サービスのプロキシサービスの設定
- 適切なサービスユーザーの正しい認証情報でプロキシーサーバーの設定ファイルを更新します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- IP は、Identity サーバーの IP アドレスまたはホスト名に置き換えます。
- services は、Object Storage サービス用に作成されたテナントの名前に置き換えます (上記の例では、この値を
servicesに設定)。 - swift は、Object Storage サービス用に作成されたサービスユーザーの名前に置き換えます (上記の例では、この値を
swiftに設定)。 - PASSWORD は、サービスユーザーに関連付けられたパスワードに置き換えます。
memcachedおよびopenstack-swift-proxyサービスを起動します。systemctl start memcached.service systemctl start openstack-swift-proxy.service
# systemctl start memcached.service # systemctl start openstack-swift-proxy.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow memcachedおよびopenstack-swift-proxyサービスがブート時に起動するように設定します。systemctl enable memcached.service systemctl enable openstack-swift-proxy.service
# systemctl enable memcached.service # systemctl enable openstack-swift-proxy.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Object Storage プロキシーサービスをホストするサーバーへの受信接続を許可します。テキストエディターで
/etc/sysconfig/iptablesファイルを開き、ポート 8080 の TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載するようにしてください。-A INPUT -p tcp -m multiport --dports 8080 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 8080 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要
上記のルールにより、全リモートホストから Swift プロキシーを実行するシステムへの通信がポート8080で許可されます。より制限の厳しいファイアウォールルールの作成についての説明は、『Red Hat Enterprise Linux セキュリティーガイド』を参照してください。 iptablesサービスを再起動して、変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4.4. Object Storage サービスのリング リンクのコピーリンクがクリップボードにコピーされました!
4.4.5. Object Storage サービスのリングファイルの構築 リンクのコピーリンクがクリップボードにコピーされました!
| リングファイルのパラメーター | 説明 |
|---|---|
|
part_power
|
2partition power = partition count.
パーティション数は、計算後に切り上げ
|
|
replica_count
|
クラスター内でデータが複製される回数
|
|
min_part_hours
|
パーティションが移動できるまでの最小時間。このパラメーターは、min_part_hours で指定された時間内に 1 つのデータ項目のコピーを複数移動しないようにすることで、データの可用性を向上させます。
|
|
zone
|
デバイスをリングに追加する際に使用されます (任意)。ゾーンは、柔軟な抽象化です。特定のデプロイメント内では、各ゾーンを他のゾーンから可能な限り分離する必要があります。ゾーンを使用してサイト、キャビネット、ノードに加えて、デバイスまでも示すことができます。
|
手順4.6 Object Storage サービスのリングファイルの構築
- サービスごとに 1 リングを構築します。ビルダーファイル、partition power、レプリカ数、および パーティション再割り当ての最小間隔 を指定します。
swift-ring-builder /etc/swift/object.builder create part_power replica_count min_part_hours swift-ring-builder /etc/swift/container.builder create part_power replica_count min_part_hours swift-ring-builder /etc/swift/account.builder create part_power replica_count min_part_hours
# swift-ring-builder /etc/swift/object.builder create part_power replica_count min_part_hours # swift-ring-builder /etc/swift/container.builder create part_power replica_count min_part_hours # swift-ring-builder /etc/swift/account.builder create part_power replica_count min_part_hoursCopy to Clipboard Copied! Toggle word wrap Toggle overflow - リングが作成されたら、account リングにデバイスを追加します。
swift-ring-builder /etc/swift/account.builder add zX-SERVICE_IP:6202/dev_mountpt part_count
# swift-ring-builder /etc/swift/account.builder add zX-SERVICE_IP:6202/dev_mountpt part_countCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- X は、指定したゾーンに対応する整数に置き換えます (例:
z1はゾーン 1 に対応)。 - SERVICE_IP は、アカウント、コンテナー、オブジェクトのサービスがリッスンする必要のある IP アドレスに置き換えます。IP は、Object Storage サービスのストレージノードの設定中に指定した
bind_ipの値と一致する必要があります。 - dev_mountpt は、デバイスがマウントされる
/srv/nodeのサブディレクトリーに置き換えます。 - part_count は、partition power (パーティションのべき乗) の計算に使用した partition count (パーティション数) に置き換えます。
注記
上記の手順は、リングに追加する (クラスター内の各ノード上の) デバイスごとに繰り返してください。 - container と object のリングの両方にデバイスを追加します。
swift-ring-builder /etc/swift/container.builder add zX-SERVICE_IP:6201/dev_mountpt part_count swift-ring-builder /etc/swift/object.builder add zX-SERVICE_IP:6200/dev_mountpt part_count
# swift-ring-builder /etc/swift/container.builder add zX-SERVICE_IP:6201/dev_mountpt part_count # swift-ring-builder /etc/swift/object.builder add zX-SERVICE_IP:6200/dev_mountpt part_countCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変数は前のステップで使用したのと同じ値に置き換えます。注記
上記のコマンドは、リングに追加する (クラスター内の各ノード上の) デバイスごとに繰り返してください。 - リング内の複数のデバイスにパーティションを分散します。
swift-ring-builder /etc/swift/account.builder rebalance swift-ring-builder /etc/swift/container.builder rebalance swift-ring-builder /etc/swift/object.builder rebalance
# swift-ring-builder /etc/swift/account.builder rebalance # swift-ring-builder /etc/swift/container.builder rebalance # swift-ring-builder /etc/swift/object.builder rebalanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/swiftディレクトリーにリングファイルが 3 つあるかどうかを確認します。次のコマンドを実行してください。ls /etc/swift/*gz
# ls /etc/swift/*gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow これらのファイルは以下のように表示されるはずです。/etc/swift/account.ring.gz /etc/swift/container.ring.gz /etc/swift/object.ring.gz
/etc/swift/account.ring.gz /etc/swift/container.ring.gz /etc/swift/object.ring.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow openstack-swift-proxyサービスを再起動します。systemctl restart openstack-swift-proxy.service
# systemctl restart openstack-swift-proxy.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 前の手順で作成したばかりのファイルを含む、
/etc/swift/ディレクトリー内の全ファイルの所有権をrootユーザーとswiftグループに設定します。重要
マウントポイントはすべてrootが所有し、マウント済みファイルシステムの全 root はswiftが所有する必要があります。以下のコマンドを実行する前に、すべてのデバイスがすでにマウント済みで、それらをrootが所有していることを確認してください。chown -R root:swift /etc/swift
# chown -R root:swift /etc/swiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow - クラスター内の各ノードに各リングビルダーファイルをコピーして、
/etc/swift/配下に保管します。
4.5. Object Storage サービスのインストールの検証 リンクのコピーリンクがクリップボードにコピーされました!
keystonerc_admin ファイルをコピーして python-swiftclient パッケージをインストールするマシン上で実行する必要があります。
手順4.7 Object Storage サービスのインストールの検証
- プロキシーサーバーノード上でデバッグレベルのロギングを有効化します。
openstack-config --set /etc/swift/proxy-server.conf DEFAULT log_level debug
# openstack-config --set /etc/swift/proxy-server.conf DEFAULT log_level debugCopy to Clipboard Copied! Toggle word wrap Toggle overflow rsyslogサービスおよびopenstack-swift-proxyサービスを再起動します。systemctl restart rsyslog.service systemctl restart openstack-swift-proxy.service
# systemctl restart rsyslog.service # systemctl restart openstack-swift-proxy.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow - プロキシーサーバーに接続できることを確認します。
[(keystone_admin)]# swift list Message from syslogd@example-swift-01 at Jun 14 02:46:00 ... 135 proxy-server Server reports support for api versions: v3.0, v2.0
[(keystone_admin)]# swift list Message from syslogd@example-swift-01 at Jun 14 02:46:00 ... 135 proxy-server Server reports support for api versions: v3.0, v2.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Object Storage サービスノードへファイルをアップロードします。
[(keystone_admin)]# head -c 1024 /dev/urandom > data1.file ; swift upload c1 data1.file [(keystone_admin)]# head -c 1024 /dev/urandom > data2.file ; swift upload c1 data2.file [(keystone_admin)]# head -c 1024 /dev/urandom > data3.file ; swift upload c1 data3.file
[(keystone_admin)]# head -c 1024 /dev/urandom > data1.file ; swift upload c1 data1.file [(keystone_admin)]# head -c 1024 /dev/urandom > data2.file ; swift upload c1 data2.file [(keystone_admin)]# head -c 1024 /dev/urandom > data3.file ; swift upload c1 data3.fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Object Storage サービスのクラスターに格納されているオブジェクトを一覧表示します。
[(keystone_admin)]# swift list [(keystone_admin)]# swift list c1 data1.file data2.file data3.file
[(keystone_admin)]# swift list [(keystone_admin)]# swift list c1 data1.file data2.file data3.fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第5章 Image サービスのインストール リンクのコピーリンクがクリップボードにコピーされました!
5.1. Image サービスの要件 リンクのコピーリンクがクリップボードにコピーされました!
- MariaDB データベースサービスをホストするサーバーの IP アドレスと root の認証情報
- Identity サービスの管理者権限の認証情報およびエンドポイントの URL
5.2. Image サービスのパッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
- openstack-glance
- OpenStack Image サービスを提供します。
- openstack-utils
- 設定ファイルの編集をはじめとする数々のタスクに役立つサポートユーティリティーを提供します。
- openstack-selinux
- OpenStack 固有の SELinux ポリシーモジュールを提供します。
yum install -y openstack-glance openstack-utils openstack-selinux
# yum install -y openstack-glance openstack-utils openstack-selinux
5.3. Image サービスのデータベースの作成 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順5.1 Image サービスのデータベースの作成
- データベースサービスに接続します。
mysql -u root -p
# mysql -u root -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow glanceデータベースを作成します。mysql> CREATE DATABASE glance;
mysql> CREATE DATABASE glance;Copy to Clipboard Copied! Toggle word wrap Toggle overflow glanceデータベースユーザーを作成し、glanceデータベースへのアクセスを許可します。mysql> GRANT ALL ON glance.* TO 'glance'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL ON glance.* TO 'glance'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'PASSWORD';Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュアなパスワードに置き換えます。- データベースの特権をフラッシュして、設定が即時に反映されるようにします。
mysql> FLUSH PRIVILEGES;
mysql> FLUSH PRIVILEGES;Copy to Clipboard Copied! Toggle word wrap Toggle overflow mysqlクライアントを終了します。mysql> quit
mysql> quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4. Image サービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
- Image サービスの認証のための Identity サービスの設定 (データベースエントリーの作成、接続文字列の設定、設定ファイルの更新)
- ディスクイメージストレージバックエンドの設定 (本ガイドでは Object Storage サービスを使用)
- Image サービスへのアクセスのためのファイアウォール設定
- TLS/SSL の設定
- Image サービスデータベースへのデータ投入
5.4.1. Image サービスのデータベース接続の設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/glance/glance-api.conf および /etc/glance/glance-registry.conf のファイルで定義されます。サービスを起動する前に、有効なデータベースサーバーをポイントするように更新しておく必要があります。
root ユーザーとしてログインして実行する必要があります。
手順5.2 Image サービスの SQL データベース接続の設定
glance-api.confファイルでsql_connectionの設定キーの値を設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT sql_connection mysql://USER:PASS@IP/DB
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT sql_connection mysql://USER:PASS@IP/DBCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- USER は、Image サービスのデータベースのユーザー名 (通常は
glance) に置き換えます。 - PASS は選択したデータベースユーザーのパスワードに置き換えます。
- IP は、データベースサービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。
- DB は、Image サービスのデータベースの名前 (通常は
glance) に置き換えます。
glance-registry.confファイルでsql_connectionの設定キーの値を設定します。openstack-config --set /etc/glance/glance-registry.conf \ DEFAULT sql_connection mysql://USER:PASS@IP/DB
# openstack-config --set /etc/glance/glance-registry.conf \ DEFAULT sql_connection mysql://USER:PASS@IP/DBCopy to Clipboard Copied! Toggle word wrap Toggle overflow USER、PASS、IP、DB は、上記のステップで使用した値と同じ値に置き換えます。
重要
5.4.2. Image サービス用のアイデンティティーレコードの作成 リンクのコピーリンクがクリップボードにコピーされました!
services テナントが作成済みであることを前提としています。詳しい説明は、以下のリンクを参照してください。
keystonerc_admin ファイルをコピーして keystone コマンドラインユーティリティーをインストールした任意のマシンで実行してください。
手順5.3 Image サービス用のアイデンティティーレコードの作成
- Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow glanceユーザーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、Image サービスが Identity サービスとの認証を行う際に使用するセキュアなパスワードに置き換えます。servicesテナントのコンテキスト内で、glanceユーザーとadminロールを関連付けます。[(keystone_admin)]# openstack role add --project services --user glance admin
[(keystone_admin)]# openstack role add --project services --user glance adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow glanceの Image サービスのエントリーを作成します。[(keystone_admin)]# openstack service create --name glance \ --description "Glance Image Service" \ image[(keystone_admin)]# openstack service create --name glance \ --description "Glance Image Service" \ imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow glanceエンドポイントエントリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Image サービスをホストするサーバーの IP アドレスまたはホスト名に置き換えます。
5.4.3. Image サービスの認証の設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順5.4 Image サービスが Identity サービスを使用して認証を行うための設定
glance-apiサービスを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow glance-registryサービスを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- IP は、Identity サーバーの IP アドレスまたはホスト名に置き換えます。
- services は、Image サービス用に作成されたテナントの名前に置き換えます (上記の例では、この値を
servicesに設定)。 - glance は、Image サービス用に作成されたサービスユーザーの名前に置き換えます (上記の例では、この値を
glanceに設定)。 - PASSWORD は、サービスユーザーに関連付けられたパスワードに置き換えます。
5.4.4. Object Storage サービスをイメージの保管に使用する方法 リンクのコピーリンクがクリップボードにコピーされました!
file) を使用しますが、アップロードしたディスクイメージを保管するには、次にあげるいずれかのストレージバックエンドを使用することができます。
file: イメージサーバーのローカルファイルシステム (/var/lib/glance/images/ディレクトリー)swift: OpenStack Object Storage サービス
注記
openstack-config コマンドを使用します。ただし、/etc/glance/glance-api.conf ファイルを手動で更新することもできます。このファイルを手動で更新する場合は、default_store パラメーターが正しいバックエンドに設定されていることを確認し (例: 'default_store=rbd')、バックエンドのセクションのパラメーターを更新します ('RBD Store Options' のセクション)。
手順5.5 Image サービスが Object Storage サービスを使用するように設定する手順
default_store設定キーをswiftに設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT default_store swift
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT default_store swiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow swift_store_auth_address設定キーを Identity サービスのパブリックエンドポイントに設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_auth_address http://IP:5000/v2.0/
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_auth_address http://IP:5000/v2.0/Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Object Storage サービスでイメージを保管するコンテナーを追加します。
openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_create_container_on_put True
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_create_container_on_put TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow swift_store_user設定キーは、認証に使用するテナントとユーザーが含まれるように、TENANT:USER: の形式で設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_user services:swift
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_user services:swiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 本ガイドの手順に従って Object Storage をデプロイする場合には (上記のコマンド例に記載されているように)、上記の値をそれぞれ
servicesテナントとswiftユーザーに置き換えてください。 - 本ガイドの手順には従わずに Object Storage をデプロイする場合には、上記の値はその環境の適切な Object Storage テナントとユーザーに置き換える必要があります。
swift_store_key設定キーを Object Storage サービスのデプロイ時にswiftユーザー用に指定したパスワードに設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_key PASSWORD
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_key PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.5. Image サービスのトラフィックを許可するためのファイアウォール設定 リンクのコピーリンクがクリップボードにコピーされました!
9292 経由でネットワークにアクセスできるようにします。以下の手順に記載するステップはすべて、Image サービスをホストするサーバーに root ユーザーとしてログインして実行してください。
手順5.6 Image サービスのトラフィックを許可するためのファイアウォール設定
- テキストエディターで
/etc/glance/glance-api.confファイルを開き、以下のパラメーターの前に付いているコメント文字を削除します。bind_host = 0.0.0.0 bind_port = 9292
bind_host = 0.0.0.0 bind_port = 9292Copy to Clipboard Copied! Toggle word wrap Toggle overflow - テキストエディターで
/etc/sysconfig/iptablesファイルを開きます。 - ポート
9292で TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。-A INPUT -p tcp -m multiport --dports 9292 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 9292 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/iptablesファイルへの変更を保存します。iptablesサービスを再起動して、変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.6. Image サービスのための RabbitMQ メッセージブローカーの設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順5.7 Image サービス (glance) が RabbitMQ メッセージブローカーを使用するための設定
- RabbitMQ を通知機能として設定します。
openstack-config --set /etc/glance/glance-api.conf \ DEFAULT notification_driver messaging
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT notification_driver messagingCopy to Clipboard Copied! Toggle word wrap Toggle overflow - RabbitMQ のホスト名を設定します。
openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_host RABBITMQ_HOST
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_host RABBITMQ_HOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow RABBITMQ_HOST は、メッセージブローカーの IP アドレスまたはホスト名に置き換えます。 - メッセージブローカーのポートを
5672に設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_port 5672
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_port 5672Copy to Clipboard Copied! Toggle word wrap Toggle overflow - RabbitMQ の設定時に Image サービス用に作成した RabbitMQ ユーザー名とパスワードを設定します。
openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_userid glance openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_password GLANCE_PASS
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_userid glance # openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_password GLANCE_PASSCopy to Clipboard Copied! Toggle word wrap Toggle overflow glanceおよび GLANCE_PASS は、Image サービス用に作成した RabbitMQ ユーザー名とパスワードに置き換えます。 - RabbitMQ の起動時に、
glanceユーザーに全リソースに対するパーミッションが付与されます。このアクセスは、特別に仮想ホスト/を介して行われます。Image サービスがこの仮想ホストに接続されるように設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_virtual_host /
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_virtual_host /Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.7. Image サービスが SSL を使用するための設定 リンクのコピーリンクがクリップボードにコピーされました!
glance-api.conf ファイルで、以下のオプションを使用して SSL を設定します。
| 設定オプション | 説明 |
|---|---|
cert_file
|
API サーバーをセキュアに起動する際に使用する証明書ファイルへのパス
|
key_file
|
API サーバーをセキュアに起動する際に使用する秘密鍵ファイルへのパス
|
ca_file
|
クライアントの接続を検証するのに使用する CA 証明書ファイルへのパス
|
5.4.8. Image サービスのデータベースへのデータ投入 リンクのコピーリンクがクリップボードにコピーされました!
手順5.8 Image サービスのデータベースへのデータ投入
- Image サービスをホストするシステムにログインします。
glanceユーザーに切り替えます。su glance -s /bin/sh
# su glance -s /bin/shCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/glance/glance-api.confおよび/etc/glance/glance-registry.confで特定されているデータベースを初期化し、データを投入します。glance-manage db_sync
$ glance-manage db_syncCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.9. ローカルファイルシステムを介したイメージのロードの有効化 リンクのコピーリンクがクリップボードにコピーされました!
注記
手順5.9 Image サービスと Compute サービスがローカルファイルシステムでイメージを送受信するための設定
openstack-nova-computeに要求される Image のファイルシステムメタデータを公開するための JSON ドキュメントを作成します。- Image サービスが JSON ドキュメントを使用するように設定します。
openstack-nova-computeが Image サービスによって提供されるファイルシステムメタデータを使用するように設定します。
5.4.9.1. Image サービスがローカルファイルシステムを介してイメージを提供するための設定 リンクのコピーリンクがクリップボードにコピーされました!
openstack-nova-compute サービスに公開する必要があります。この操作は以下の手順に従って実行します。
手順5.10 Compute サービスが Compute サービスに対してローカルファイルシステムメタデータを公開するための設定
- Image サービスが使用するファイルシステムのマウントポイントを特定します。
df
# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 51475068 10905752 37947876 23% / devtmpfs 2005504 0 2005504 0% /dev tmpfs 2013248 668 2012580 1% /dev/shmCopy to Clipboard Copied! Toggle word wrap Toggle overflow たとえば、Image サービスが/dev/sda3ファイルシステムを使用する場合には、対応するマウントポイントは/です。 - 以下のコマンドで、マウントポイントの一意識別子を作成します。
uuidgen
# uuidgen ad5517ae-533b-409f-b472-d82f91f41773Copy to Clipboard Copied! Toggle word wrap Toggle overflow uuidgenの出力の内容をメモしておきます。この情報は、次のステップで使用します。 .jsonの拡張子でファイルを作成します。- テキストエディターでファイルを開き、以下の情報を追加します。
{ "id": "UID", "mountpoint": "MOUNTPT" }{ "id": "UID", "mountpoint": "MOUNTPT" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- UID は、前のステップで作成した一意識別子に置き換えます。
- MOUNTPT は、Image サービスのファイルシステムのマウントポイント (最初のステップで特定したマウントポイント) に置き換えます。
- Image サービスが JSON ファイルを使用するように設定します。
openstack-config --set /etc/glance/glance-api.conf \ DEFAULT show_multiple_locations True openstack-config --set /etc/glance/glance-api.conf \ DEFAULT filesystem_store_metadata_file JSON_PATH
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT show_multiple_locations True # openstack-config --set /etc/glance/glance-api.conf \ DEFAULT filesystem_store_metadata_file JSON_PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow JSON_PATH は、JSON ファイルへの完全なパスに置き換えます。重要
適切なポリシー設定を行わずに設定した場合には、Image サービスの管理者以外のユーザーでもアクティブなイメージデータを置き換えることができてしまいます (他のユーザーへの通知なしに現在のイメージが切り替えられる可能性があります)。設定情報に関する OSSN 通知 (推奨のアクション) は https://wiki.openstack.org/wiki/OSSN/OSSN-0065 を参照してください。 - Image サービスを再起動します (すでに実行されていない場合)。
systemctl restart openstack-glance-registry.service systemctl restart openstack-glance-api.service
# systemctl restart openstack-glance-registry.service # systemctl restart openstack-glance-api.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.9.2. Compute サービスがローカルファイルシステムメタデータを使用するための設定 リンクのコピーリンクがクリップボードにコピーされました!
openstack-nova-compute がローカルファイルシステムからイメージをロードできるようになります。
手順5.11 Compute サービスが Image サービスによって提供されるローカルファイルシステムメタデータを使用するための設定
file://スキームを使ったダイレクト URL の使用を有効にするようにopenstack-nova-computeを設定します。openstack-config --set /etc/nova/nova.conf \ DEFAULT allowed_direct_url_schemes file
# openstack-config --set /etc/nova/nova.conf \ DEFAULT allowed_direct_url_schemes fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Image サービスのファイルシステム用のエントリーを作成します。
openstack-config --set /etc/nova/nova.conf \ image_file_url filesystems FSENTRY
# openstack-config --set /etc/nova/nova.conf \ image_file_url filesystems FSENTRYCopy to Clipboard Copied! Toggle word wrap Toggle overflow FSENTRY は Image サービスのファイルシステムに割り当てる名前に置き換えます。 - Image サービスがローカルファイルシステムメタデータを公開するために使用する
.jsonファイルを開きます。次のステップでは、このファイルに記載されている情報を使用します。 - Image サービスによって公開されるファイルシステムメタデータにエントリーを関連付けます。
openstack-config --set /etc/nova/nova.conf \ image_file_url:FSENTRY id UID openstack-config --set /etc/nova/nova.conf \ image_file_url:FSENTRY mountpoint MOUNTPT
# openstack-config --set /etc/nova/nova.conf \ image_file_url:FSENTRY id UID # openstack-config --set /etc/nova/nova.conf \ image_file_url:FSENTRY mountpoint MOUNTPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- UID は、Image サービスが使用する一意識別子に置き換えます。Image サービスによって使用される
.jsonファイルでは、UID は"id":の値です。 - MOUNTPT は Image サービスのファイルシステムが使用するマウントポイントに置き換えます。Image サービスが使用する
.jsonファイルでは、MOUNTPT は"mountpoint":の値です。
5.5. イメージの API およびレジストリーサービスの起動 リンクのコピーリンクがクリップボードにコピーされました!
glance-api および glance-registry サービスを起動して、各サービスがブート時に起動するように設定します。
systemctl start openstack-glance-registry.service systemctl start openstack-glance-api.service systemctl enable openstack-glance-registry.service systemctl enable openstack-glance-api.service
# systemctl start openstack-glance-registry.service
# systemctl start openstack-glance-api.service
# systemctl enable openstack-glance-registry.service
# systemctl enable openstack-glance-api.service
5.6. Image サービスインストールの検証 リンクのコピーリンクがクリップボードにコピーされました!
5.6.1. テストディスクイメージの取得 リンクのコピーリンクがクリップボードにコピーされました!
手順5.12 テストディスクイメージのダウンロード
- https://access.redhat.com に進み、自分のアカウント情報を使用して Red Hat カスタマーポータルにログインします。
- メニューバーで をクリックします。
- をクリックして、製品のダウンロードをアルファベット順に並べ替えます。
- Red Hat Enterprise Linux をクリックして ページにアクセスします。
- KVM Guest Image のダウンロードリンクをクリックします。
5.6.2. ディスクイメージのアップロード リンクのコピーリンクがクリップボードにコピーされました!
重要
virt-sysprep コマンドを実行しておくことを推奨します。virt-sysprep コマンドは、仮想環境で使用するための準備として、仮想イメージを再初期化します。デフォルトの操作には、SSH キーの削除、永続的な MAC アドレスの削除、ユーザーアカウントの削除などが含まれます。
virt-sysprep コマンドは、Red Hat Enterprise Linux libguestfs-tools パッケージによって提供されます。パッケージをインストールしてディスクイメージを再度初期化します。
yum install -y libguestfs-tools virt-sysprep --add FILE
# yum install -y libguestfs-tools
# virt-sysprep --add FILE
virt-sysprep の man ページを参照してください。
手順5.13 Image サービスへのディスクイメージのアップロード
- 設定済みユーザー (管理者アカウントは必要なし) として keystone にアクセスするシェルを設定します。
source ~/keystonerc_userName
# source ~/keystonerc_userNameCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ディスクイメージをインポートします。
[(keystone_userName)]# glance image-create --name "NAME" \ --is-public IS_PUBLIC \ --disk-format DISK_FORMAT \ --container-format CONTAINER_FORMAT \ --file IMAGE[(keystone_userName)]# glance image-create --name "NAME" \ --is-public IS_PUBLIC \ --disk-format DISK_FORMAT \ --container-format CONTAINER_FORMAT \ --file IMAGECopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- NAME は、ディスクイメージにより参照されるユーザー名に置き換えます。
- IS_PUBLIC は
trueまたはfalseに置き換えます。true: 全ユーザーがイメージを表示/使用することができます。false: 管理者のみがイメージを表示/使用することができます。
- DISK_FORMAT には、ディスクイメージの形式を指定します。有効な値には、
aki、ami、ari、iso、qcow2、raw、vdi、vhd、vmdkが含まれます。仮想マシンディスクイメージの形式が不明な場合には、qemu-img infoコマンドを使用してその形式の特定を試みます。 - CONTAINER_FORMAT には、イメージのコンテナーの形式を指定します。イメージに関連した追加のメタデータが含まれる
ovfやamiなどのファイル形式でイメージがパッケージされていない限りは、コンテナーの形式はbareとなります。 - IMAGE は (アップロード用の) イメージファイルへのローカルパスに置き換えます。アップロードするイメージがローカルではアクセスできないが、リモートの URL でアクセスできる場合には、
--fileパラメーターの代わりに--locationパラメーターで URL を指定します。イメージをオブジェクトストアにコピーするには--copy-from引数も指定する必要があります。この引数を指定しない場合は、毎回必要に応じてリモートからイメージへアクセスされます。
glance image-createの構文についての詳しい情報は、help ページを参照してください。[(keystone_userName)]# glance help image-create
[(keystone_userName)]# glance help image-createCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドの出力からイメージの一意名をメモしてください。 - イメージが正常にアップロードされていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IMAGE_ID は、イメージの一意名に置き換えます。
第6章 Block Storage サービスのインストール リンクのコピーリンクがクリップボードにコピーされました!
6.1. Block Storage サービスのパッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
- openstack-cinder
- Block Storage サービスおよび関連する設定ファイルを提供します。
- openstack-utils
- 設定ファイルの編集をはじめとする数々のタスクに役立つサポートユーティリティーを提供します。
- openstack-selinux
- OpenStack 固有の SELinux ポリシーモジュールを提供します。
- device-mapper-multipath
- デバイスマッパーでマルチパスデバイスを管理するツールを提供します。Block Storage の操作を正しく行うには、これらのツールが必要です。
yum install -y openstack-cinder openstack-utils openstack-selinux device-mapper-multipath
# yum install -y openstack-cinder openstack-utils openstack-selinux device-mapper-multipath
6.2. Block Storage サービスのデータベースの作成 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順6.1 Block Storage サービスのデータベースの作成
- データベースサービスに接続します。
mysql -u root -p
# mysql -u root -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow cinderデータベースを作成します。mysql> CREATE DATABASE cinder;
mysql> CREATE DATABASE cinder;Copy to Clipboard Copied! Toggle word wrap Toggle overflow cinderデータベースユーザーを作成し、cinderデータベースへのユーザーアクセスを許可します。mysql> GRANT ALL ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'PASSWORD';Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュアなパスワードに置き換えます。- データベースの特権をフラッシュして、設定が即時に反映されるようにします。
mysql> FLUSH PRIVILEGES;
mysql> FLUSH PRIVILEGES;Copy to Clipboard Copied! Toggle word wrap Toggle overflow mysqlクライアントを終了します。mysql> quit
mysql> quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3. Block Storage サービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
6.3.1. Block Storage サービスのデータベース接続の設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/neutron/plugin.ini ファイルで定義されます。サービスを起動する前に、有効なデータベースサーバーをポイントするように更新しておく必要があります。
sql_connection 設定キーの値を設定します。
openstack-config --set /etc/cinder/cinder.conf \ DEFAULT sql_connection mysql://USER:PASS@IP/DB
# openstack-config --set /etc/cinder/cinder.conf \
DEFAULT sql_connection mysql://USER:PASS@IP/DB
- USER は、Block Storage サービスのデータベースのユーザー名 (通常は
cinder) に置き換えます。 - PASS は選択したデータベースユーザーのパスワードに置き換えます。
- IP は、データベースサービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。
- DB は、Block Storage サービスのデータベースの名前 (通常は
cinder) に置き換えます。
重要
6.3.2. Block Storage サービス用のアイデンティティーレコードの作成 リンクのコピーリンクがクリップボードにコピーされました!
services テナントが作成済みであることを前提としています。詳しい説明は、以下のリンクを参照してください。
keystonerc_admin ファイルをコピーして keystone コマンドラインユーティリティーをインストールした任意のマシンで実行してください。
手順6.2 Block Storage サービス用のアイデンティティーレコードの作成
- Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow cinderユーザーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、Block Storage サービスが Identity サービスとの認証を行う際に使用するセキュアなパスワードに置き換えます。servicesテナントのコンテキスト内で、cinderユーザーとadminロールを関連付けます。[(keystone_admin)]# openstack role add --project services --user cinder admin
[(keystone_admin)]# openstack role add --project services --user cinder adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow cinderおよびcinderv2Block Storage のサービスエントリーを作成します。[(keystone_admin)]# openstack service create --name cinder \ --description "Cinder Volume Service" \ volume[(keystone_admin)]# openstack service create --name cinder \ --description "Cinder Volume Service" \ volumeCopy to Clipboard Copied! Toggle word wrap Toggle overflow cinderエンドポイントエントリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Block Storage API サービス (openstack-cinder-api) をホストするシステムの IP アドレスまたはホスト名に置き換えます。複数の API サービスインスタンスをインストールして実行するには、各インスタンスの IP アドレスまたはホスト名を使用してこのステップを繰り返します。
6.3.3. Block Storage サービスの認証設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順6.3 Block Storage サービスが Identity サービスを使用して認証を行うための設定
- 認証ストラテジーを
keystoneに設定します。openstack-config --set /etc/cinder/cinder.conf \ DEFAULT auth_strategy keystone
# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT auth_strategy keystoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Block Storage サービスが使用する必要のある Identity サービスのホストを設定します。
openstack-config --set /etc/cinder/cinder.conf \ keystone_authtoken auth_host IP
# openstack-config --set /etc/cinder/cinder.conf \ keystone_authtoken auth_host IPCopy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Identity サービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。 - Block Storage サービスが正しいテナントとして認証を行うように設定します。
openstack-config --set /etc/cinder/cinder.conf \ keystone_authtoken admin_tenant_name services
# openstack-config --set /etc/cinder/cinder.conf \ keystone_authtoken admin_tenant_name servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow services は、OpenStack Networking を使用するために作成したテナントの名前に置き換えます。本ガイドの例では、servicesを使用しています。 - Block Storage サービスが
cinderの管理ユーザーアカウントを使用して認証を行うように設定します。openstack-config --set /etc/cinder/cinder.conf \ keystone_authtoken admin_user cinder
# openstack-config --set /etc/cinder/cinder.conf \ keystone_authtoken admin_user cinderCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Block Storage サービスが正しい
cinderの管理ユーザーアカウントを使用するように設定します。openstack-config --set /etc/cinder/cinder.conf \ keystone_authtoken admin_password PASSWORD
# openstack-config --set /etc/cinder/cinder.conf \ keystone_authtoken admin_password PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、cinderユーザーの作成時に設定したパスワードに置き換えます。
6.3.4. Block Storage サービスのトラフィックを許可するためのファイアウォール設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順6.4 Block Storage サービスのトラフィックを許可するためのファイアウォール設定
- テキストエディターで
/etc/sysconfig/iptablesファイルを開きます。 - このファイルに、ポート
3260および8776で TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。-A INPUT -p tcp -m multiport --dports 3260,8776 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 3260,8776 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/iptablesファイルへの変更を保存します。iptablesサービスを再起動して、変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3.5. Block Storage サービスが SSL を使用するための設定 リンクのコピーリンクがクリップボードにコピーされました!
cinder.conf ファイル内のオプションを使用して、SSL を設定します。
| 設定オプション | 説明 |
|---|---|
backlog
|
ソケットの設定を行うバックログ要求の数
|
tcp_keepidle
|
サーバーソケットごとに設定する TCP_KEEPIDLE の値 (秒単位)
|
ssl_ca_file
|
クライアントの接続を検証するのに使用する CA 証明書ファイル
|
ssl_cert_file
|
サーバーをセキュアに起動する際に使用する証明書ファイル
|
ssl_key_file
|
サーバーをセキュアに起動する際に使用する秘密鍵ファイル
|
6.3.6. Block Storage サービスのための RabbitMQ メッセージブローカーの設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順6.5 Block Storage サービスが RabbitMQ メッセージブローカーを使用するための設定
- RPC バックエンドとして RabbitMQ を設定します。
openstack-config --set /etc/cinder/cinder.conf \ DEFAULT rpc_backend cinder.openstack.common.rpc.impl_kombu
# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT rpc_backend cinder.openstack.common.rpc.impl_kombuCopy to Clipboard Copied! Toggle word wrap Toggle overflow - RabbitMQ のホスト名を設定します。
openstack-config --set /etc/cinder/cinder.conf \ DEFAULT rabbit_host RABBITMQ_HOST
# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT rabbit_host RABBITMQ_HOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow RABBITMQ_HOST は、メッセージブローカーの IP アドレスまたはホスト名に置き換えます。 - メッセージブローカーのポートを
5672に設定します。openstack-config --set /etc/cinder/cinder.conf \ DEFAULT rabbit_port 5672
# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT rabbit_port 5672Copy to Clipboard Copied! Toggle word wrap Toggle overflow - RabbitMQ の設定時に Block Storage サービス用に作成した RabbitMQ ユーザー名とパスワードを設定します。
openstack-config --set /etc/cinder/cinder.conf \ DEFAULT rabbit_userid cinder
# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT rabbit_userid cinderCopy to Clipboard Copied! Toggle word wrap Toggle overflow openstack-config --set /etc/cinder/cinder.conf \ DEFAULT rabbit_password CINDER_PASS
# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT rabbit_password CINDER_PASSCopy to Clipboard Copied! Toggle word wrap Toggle overflow cinderおよび CINDER_PASS は、Block Storage サービス用に作成された RabbitMQ ユーザー名とパスワードに置き換えます。 - RabbitMQ の起動時に、
cinderユーザーに全リソースに対するパーミッションが付与されます。このアクセスは、特別に仮想ホスト/を介して行われます。Block Storage サービスがこの仮想ホストに接続されるように設定します。openstack-config --set /etc/cinder/cinder.conf \ DEFAULT rabbit_virtual_host /
# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT rabbit_virtual_host /Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3.7. Block Storage サービスとメッセージブローカーとの間の SSL 通信の有効化 リンクのコピーリンクがクリップボードにコピーされました!
- メッセージブローカーとの SSL 通信を有効化します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- /path/to/client.crt はエクスポートされたクライアント証明書の絶対パスに置き換えます。
- /path/to/clientkeyfile.key はエクスポートされたキーファイルの絶対パスに置き換えます。
- 証明書がサードパーティーの認証局 (CA) によって署名されている場合には、次のコマンドを実行する必要もあります。
openstack-config --set /etc/cinder/cinder.conf \ DEFAULT kombu_ssl_ca_certs /path/to/ca.crt
# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT kombu_ssl_ca_certs /path/to/ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow /path/to/ca.crt は、サードパーティー CA によって提供された CA ファイルの絶対パスに置き換えます (詳細は 「RabbitMQ メッセージブローカーでの SSL の有効化」 を参照)。
6.3.8. Block Storage データベースへのデータ投入 リンクのコピーリンクがクリップボードにコピーされました!
重要
手順6.6 Block Storage サービスのデータベースへのデータ投入
- Block Storage サービスをホストするシステムにログインします。
cinderユーザーに切り替えます。su cinder -s /bin/sh
# su cinder -s /bin/shCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/cinder/cinder.confで特定されているデータベースを初期化し、データを投入します。cinder-manage db sync
$ cinder-manage db syncCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3.9. Block Storage API サービスのスループットの増加 リンクのコピーリンクがクリップボードにコピーされました!
openstack-cinder-api) は 1 プロセスで実行されます。これにより、Block Storage サービスが常時処理可能な要求件数が制限されます。実稼働環境では、マシンのキャパシティーが許す限り多くのプロセスで openstack-cinder-api の実行を許可することによって、Block Storage API のスループットを増加させることをお勧めします。
osapi_volume_workers により、openstack-cinder-api 向けに起動する API サービスワーカーの数 (または OS プロセス数) を指定することができます。
openstack-cinder-api ホストで以下のコマンドを実行します。
openstack-config --set /etc/cinder/cinder.conf \ DEFAULT osapi_volume_workers CORES
# openstack-config --set /etc/cinder/cinder.conf \
DEFAULT osapi_volume_workers CORES
6.4. ボリュームサービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
6.4.1. Block Storageドライバーのサポート リンクのコピーリンクがクリップボードにコピーされました!
openstack-cinder-volume) には、適切なブロックストレージへのアクセスが必要です。Red Hat OpenStack Platform は以下のサポートされているブロックストレージタイプに対してボリュームドライバーを提供しています。
- Red Hat Ceph
- LVM/iSCSI
- ThinLVM
- NFS
- NetApp
- Dell EqualLogic
- Dell Storage Center
6.4.2. OpenStack Block Storage で LVM ストレージバックエンドを使用するための設定 リンクのコピーリンクがクリップボードにコピーされました!
openstack-cinder-volume は、そのサービスが実行されるサーバーに直接接続されたボリュームグループを利用することができます。このボリュームグループは、Block Storage サービスが専用で使用するように作成し、そのボリュームグループをポイントするように設定を更新する必要があります。
openstack-cinder-volume サービスをホストするサーバーに root ユーザーとしてログインして実行する必要があります。
手順6.7 openstack-cinder-volume で LVM ストレージをバックエンドとして使用するための設定
- 物理ボリュームを作成します。
pvcreate DEVICE
# pvcreate DEVICE Physical volume "DEVICE" successfully createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow DEVICE は、有効かつ未使用のデバイスへのパスに置き換えます。以下はその例です。pvcreate /dev/sdX
# pvcreate /dev/sdXCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ボリュームグループを作成します。
vgcreate cinder-volumes DEVICE
# vgcreate cinder-volumes DEVICE Volume group "cinder-volumes" successfully createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow DEVICE は、物理ボリュームの作成時に使用したデバイスへのパスに置き換えます。また、オプションとして、cinder-volumes を別の新規ボリュームグループ名に置き換えます。 volume_group設定キーを、前のステップで作成したボリュームグループ名に設定します。openstack-config --set /etc/cinder/cinder.conf \ DEFAULT volume_group cinder-volumes
# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT volume_group cinder-volumesCopy to Clipboard Copied! Toggle word wrap Toggle overflow volume_driver設定キーをcinder.volume.drivers.lvm.LVMVolumeDriverに設定することにより、LVM ストレージへのアクセスに正しいボリュームドライバーが使用されるようにします。openstack-config --set /etc/cinder/cinder.conf \ DEFAULT volume_driver cinder.volume.drivers.lvm.LVMVolumeDriver
# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT volume_driver cinder.volume.drivers.lvm.LVMVolumeDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.3. SCSI ターゲットデーモンの設定 リンクのコピーリンクがクリップボードにコピーされました!
openstack-cinder-volume サービスは、ストレージのマウントに SCSI ターゲットデーモンを使用します。root ユーザーとしてログインして、openstack-cinder-volume サービスをホストする各サーバーに SCSI ターゲットデーモンをインストールする必要があります。
手順6.8 SCSI ターゲットデーモンの設定
- targetcli パッケージをインストールします。
yum install targetcli
# yum install targetcliCopy to Clipboard Copied! Toggle word wrap Toggle overflow targetデーモンを起動し、ブート時に起動するように設定します。systemctl start target.service systemctl enable target.service
# systemctl start target.service # systemctl enable target.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow lioadmiSCSI ターゲットのユーザーランドツールを使用するようにボリュームサービスを設定します。openstack-config --set /etc/cinder/cinder.conf \ DEFAULT iscsi_helper lioadm
# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT iscsi_helper lioadmCopy to Clipboard Copied! Toggle word wrap Toggle overflow - iSCSI デーモンがリッスンする必要のある正しい IP アドレスを設定します (ISCSIIP)。
openstack-config --set /etc/cinder/cinder.conf \ DEFAULT iscsi_ip_address ISCSIIP
# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT iscsi_ip_address ISCSIIPCopy to Clipboard Copied! Toggle word wrap Toggle overflow ISCSI_IP は、openstack-cinder-volumeサービスをホストするサーバーのホスト名または IP アドレスに置き換えます。
6.5. Block Storage サービスの起動 リンクのコピーリンクがクリップボードにコピーされました!
- API サービス (
openstack-cinder-api) - スケジューラーサービス (
openstack-cinder-scheduler) - ボリュームサービス (
openstack-cinder-volume)
手順6.9 Block Storage サービスの起動
- API を実行する予定の各サーバーに
rootユーザーとしてログインして、API サービスを起動して、ブート時に起動するように設定します。systemctl start openstack-cinder-api.service systemctl enable openstack-cinder-api.service
# systemctl start openstack-cinder-api.service # systemctl enable openstack-cinder-api.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - スケジューラーを実行する予定の各サーバーに
rootユーザーとしてログインして、スケジューラーサービスを起動して、ブート時に起動するように設定します。systemctl start openstack-cinder-scheduler.service systemctl enable openstack-cinder-scheduler.service
# systemctl start openstack-cinder-scheduler.service # systemctl enable openstack-cinder-scheduler.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Block Storage のアタッチ先のサーバーに
rootユーザとしてログインして、Volume サービスを起動して、ブート時に起動するように設定します。systemctl start openstack-cinder-volume.service systemctl enable openstack-cinder-volume.service
# systemctl start openstack-cinder-volume.service # systemctl enable openstack-cinder-volume.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.6. Block Storage サービスのインストールの検証 リンクのコピーリンクがクリップボードにコピーされました!
6.6.1. Block Storage サービスのインストールのローカルでの検証 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーまたは keystonerc_admin ファイルにアクセス権があるユーザーとしてログインして、Block Storage API サービスをホストするサーバーに対して、このテストを実行します。続行する前に、keystonerc_admin ファイルをこのシステムにコピーします。
手順6.10 Block Storage サービスのインストールのローカルでの検証
- 管理者ユーザーの識別と認証に使用する環境変数を読み込みます。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow - このコマンドの出力としてエラーが何も返されないことを確認してください。
cinder list
# cinder listCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ボリュームを作成します。
cinder create SIZE
# cinder create SIZECopy to Clipboard Copied! Toggle word wrap Toggle overflow SIZE は、作成するボリュームのサイズを指定するギガバイト (GB) 単位の値に置き換えます。 - ボリュームを削除します。
cinder delete ID
# cinder delete IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow ID は、ボリュームの作成時に返された識別子に置き換えます。
6.6.2. Block Storage サービスのインストールのリモートでの検証 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーまたは keystonerc_admin ファイルにアクセス権があるユーザーとしてログインして、Block Storage API サービスをホストするサーバー以外のサーバーに対して、このテストを実行します。続行する前に、keystonerc_admin ファイルをこのシステムにコピーします。
手順6.11 Block Storage サービスのインストールのリモートでの検証
- python-cinderclient パッケージをインストールします。
yum install -y python-cinderclient
# yum install -y python-cinderclientCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 管理者ユーザーの識別と認証に使用する環境変数を読み込みます。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow - このコマンドの出力としてエラーが何も返されないことを確認してください。
cinder list
# cinder listCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ボリュームを作成します。
cinder create SIZE
# cinder create SIZECopy to Clipboard Copied! Toggle word wrap Toggle overflow SIZE は、作成するボリュームのサイズを指定するギガバイト (GB) 単位の値に置き換えます。 - ボリュームを削除します。
cinder delete ID
# cinder delete IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow ID は、ボリュームの作成時に返された識別子に置き換えます。
第7章 OpenStack Networking のインストール リンクのコピーリンクがクリップボードにコピーされました!
7.1. OpenStack Networking パッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
- openstack-neutron
- OpenStack Networking および関連する設定ファイルを提供します。
- openstack-neutron-ml2>
- OpenStack Networking プラグインを提供します。
- openstack-utils
- 設定ファイルの編集をはじめとする数々のタスクに役立つサポートユーティリティーを提供します。
- openstack-selinux
- OpenStack 固有の SELinux ポリシーモジュールを提供します。
yum install -y openstack-neutron \ openstack-neutron-ml2 \ openstack-utils \ openstack-selinux
# yum install -y openstack-neutron \
openstack-neutron-ml2 \
openstack-utils \
openstack-selinux
ml2、openvswitch または linuxbridge に置き換えます (どちらのプラグインをインストールするかを決定します)。
7.2. OpenStack Networking の設定 リンクのコピーリンクがクリップボードにコピーされました!
重要
/etc/nova/nova.conf の [DEFAULT] セクションの vif_plugging_is_fatal オプションはデフォルトで True となっています。このオプションは、VIF プラグに失敗した場合にインスタンスが機能しないようにするかどうかを制御します。同様に、/etc/neutron/neutron.conf ファイルの [DEFAULT] セクションの notify_nova_on_port_status_changes および notify_nova_on_port_data_changes オプションはデフォルトで False に指定されています。これらのオプションは、ポートの状態またはデータの変更に関する通知を nova に送信するかどうかを制御します。ただし、これらの値の組み合わせが原因でインスタンスが起動しなくなる可能性があります。インスタンスを正しく起動できるようにするには、これらすべてのオプションを True または False に設定してください。True に設定するには、以下のコマンドを実行してください。
False に設定するには、代わりに以下のコマンドを実行します。
7.2.1. OpenStack Networking プラグインの設定 リンクのコピーリンクがクリップボードにコピーされました!
neutron.conf で長いクラス名ではなく、指定した短い名前で参照することができます。
core_plugin = neutron.plugins.ml2.plugin:Ml2Plugin
core_plugin = neutron.plugins.ml2.plugin:Ml2Plugin
core_plugin = ml2
core_plugin = ml2
service_plugins オプションには、複数のサービスプラグインをコンマ区切りリストで指定することができます。
| ショートネーム | クラス名 |
|---|---|
| dummy | neutron.tests.unit.dummy_plugin:DummyServicePlugin |
| router | neutron.services.l3_router.l3_router_plugin:L3RouterPlugin |
| firewall | neutron.services.firewall.fwaas_plugin:FirewallPlugin |
| lbaas | neutron.services.loadbalancer.plugin:LoadBalancerPlugin |
| metering | neutron.services.metering.metering_plugin:MeteringPlugin |
7.2.1.1. ML2 プラグインの有効化 リンクのコピーリンクがクリップボードにコピーされました!
neutron-server サービスを実行しているノードで、ML2 プラグインを有効化します。
手順7.1 ML2 プラグインの有効化
- OpenStack Networking を
ml2_conf.iniファイルにダイレクトするためのシンボリックリンクを作成します。ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.iniCopy to Clipboard Copied! Toggle word wrap Toggle overflow - テナントのネットワーク種別を設定します。サポートされる値は、
gre、local、vlan、vxlanです。デフォルト値はlocalですが、エンタープライズのデプロイメントには推奨していません。openstack-config --set /etc/neutron/plugin.ini \ ml2 tenant_network_types TYPE
# openstack-config --set /etc/neutron/plugin.ini \ ml2 tenant_network_types TYPECopy to Clipboard Copied! Toggle word wrap Toggle overflow TYPE は、テナントのネットワーク種別に置き換えます。 flatまたはvlanネットワークが選択されている場合は、物理ネットワークを VLAN 範囲にマッピングする必要もあります。openstack-config --set /etc/neutron/plugin.ini \ ml2 network_vlan_ranges NAME:START:END
# openstack-config --set /etc/neutron/plugin.ini \ ml2 network_vlan_ranges NAME:START:ENDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- NAME は、物理ネットワーク名に置き換えます。
- START は、VLAN 範囲の開始を示す識別子に置き換えます。
- END は、VLAN 範囲の終了を示す識別子に置き換えます。
以下の例のようにコンマ区切りリストを使用して、複数の範囲を指定することができます。physnet1:1000:2999,physnet2:3000:3999
physnet1:1000:2999,physnet2:3000:3999Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ドライバー種別を設定します。サポートされる値は
local、flat、vlan、gre、vxlanです。openstack-config --set /etc/neutron/plugin.ini \ ml2 type_drivers TYPE
# openstack-config --set /etc/neutron/plugin.ini \ ml2 type_drivers TYPECopy to Clipboard Copied! Toggle word wrap Toggle overflow TYPE は、ドライバーの種別に置き換えます。複数のドライバーを指定する場合は、コンマ区切りリストを使用します。 - メカニズムドライバーを設定します。利用可能な値は、
openvswitch、linuxbridge、l2populationです。openstack-config --set /etc/neutron/plugin.ini \ ml2 mechanism_drivers TYPE
# openstack-config --set /etc/neutron/plugin.ini \ ml2 mechanism_drivers TYPECopy to Clipboard Copied! Toggle word wrap Toggle overflow TYPE は、メカニズムドライバーの種別に置き換えます。複数のメカニズムドライバーを指定する場合は、コンマ区切りリストを使用します。 - L2 Population を有効化します。
openstack-config --set /etc/neutron/plugin.ini \ agent l2_population True
# openstack-config --set /etc/neutron/plugin.ini \ agent l2_population TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用しているプラグインエージェントに合わせて、
/etc/neutron/plugins/ml2/openvswitch_agent.iniファイルまたは/etc/neutron/plugins/ml2/linuxbridge_agent.iniファイルでファイアウォールドライバーを設定します。Open vSwitch ファイアウォールドライバー
openstack-config --set /etc/neutron/plugins/ml2/openvswitch_agent.ini
# openstack-config --set /etc/neutron/plugins/ml2/openvswitch_agent.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux Bridge ファイアウォールドライバー
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini
# openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.IptablesFirewallDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- ML2 プラグインおよび L3 ルーターを有効化します。
openstack-config --set /etc/neutron/neutron.conf \ DEFAULT core_plugin ml2 openstack-config --set /etc/neutron/neutron.conf \ DEFAULT service_plugins router
# openstack-config --set /etc/neutron/neutron.conf \ DEFAULT core_plugin ml2 # openstack-config --set /etc/neutron/neutron.conf \ DEFAULT service_plugins routerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2.2. OpenStack Networking データベースの作成 リンクのコピーリンクがクリップボードにコピーされました!
neutron-server サービスを起動する前に、データベースサーバーにroot ユーザーとしてログインして実行する必要があります。
手順7.2 OpenStack Networking データベースの作成
- データベースサービスに接続します。
mysql -u root -p
# mysql -u root -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下の名前のいずれかを指定してデータベースを作成します。以下の例では ML2 用の
- ML2 プラグインを使用する場合に、推奨されるデータベース名は
neutron_ml2です。 - Open vSwitch プラグインを使用する場合に、推奨されるデータベース名は
ovs_neutronです。 - Linux Bridge プラグインを使用する場合に、推奨されるデータベース名は
neutron_linux_bridgeです。
neutron_ml2データベースを作成します。mysql> CREATE DATABASE neutron_ml2 character set utf8;
mysql> CREATE DATABASE neutron_ml2 character set utf8;Copy to Clipboard Copied! Toggle word wrap Toggle overflow neutronデータベースユーザーを作成し、neutron_ml2データベースへのアクセスを許可します。mysql> GRANT ALL ON neutron_ml2.* TO 'neutron'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON neutron_ml2.* TO 'neutron'@'localhost' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL ON neutron_ml2.* TO 'neutron'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON neutron_ml2.* TO 'neutron'@'localhost' IDENTIFIED BY 'PASSWORD';Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュアなパスワードに置き換えます。- データベースの特権をフラッシュして、設定が即時に反映されるようにします。
mysql> FLUSH PRIVILEGES;
mysql> FLUSH PRIVILEGES;Copy to Clipboard Copied! Toggle word wrap Toggle overflow mysqlクライアントを終了します。mysql> quit
mysql> quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2.3. OpenStack Networking データベース接続の設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/neutron/plugin.ini ファイルで定義します。有効なデータベースサーバーを参照するように更新してから、サービスを起動する必要があります。以下の手順で記載のステップはすべて、OpenStack Networking をホストするサーバーに root ユーザーでログインして実行する必要があります。
手順7.3 OpenStack Networking SQL データベース接続の設定
connection設定キーの値を設定します。openstack-config --set /etc/neutron/plugin.ini \ DATABASE sql_connection mysql://USER:PASS@IP/DB
# openstack-config --set /etc/neutron/plugin.ini \ DATABASE sql_connection mysql://USER:PASS@IP/DBCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- USER は、OpenStack Networking データベースのユーザー名 (通常は
neutron) に置き換えます。 - PASS は選択したデータベースユーザーのパスワードに置き換えます。
- IP は、データベースサーバーの IP アドレスまたはホスト名に置き換えます。
- DB は、OpenStack Networking データベースの名前に置き換えます。
重要
この接続設定キーに指定する IP アドレスまたはホスト名は、OpenStack Networking データベースの作成時に OpenStack Networking データベースユーザーがアクセスを許可された IP アドレスまたはホスト名と一致する必要があります。また、データベースがローカルでホストされ、OpenStack Networking データベースの作成時に「localhost」へのアクセス権を付与した場合には、「localhost」と入力する必要があります。- OpenStack Networking のデータベーススキーマをアップグレードします。
neutron-db-manage --config-file /usr/share/neutron/neutron-dist.conf \ --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head
# neutron-db-manage --config-file /usr/share/neutron/neutron-dist.conf \ --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade headCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2.4. OpenStack Networking 用のアイデンティティーレコードの作成 リンクのコピーリンクがクリップボードにコピーされました!
services テナントが作成済みであることを前提としています。詳しい説明は、以下のリンクを参照してください。
keystonerc_admin ファイルをコピーして keystone コマンドラインユーティリティーをインストールした任意のマシンで実行してください。
手順7.4 OpenStack Networking 用のアイデンティティーレコードの作成
- Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow neutronユーザーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、OpenStack Networking が Identity サービスとの認証を行う際に使用するセキュアなパスワードに置き換えます。servicesテナントのコンテキスト内で、neutronユーザーとadminロールを関連付けます。[(keystone_admin)]# openstack role add --project services --user neutron admin
[(keystone_admin)]# openstack role add --project services --user neutron adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow neutronの OpenStack Networking サービスのエントリーを作成します。[(keystone_admin)]# openstack service create --name neutron \ --description "OpenStack Networking" \ network
[(keystone_admin)]# openstack service create --name neutron \ --description "OpenStack Networking" \ networkCopy to Clipboard Copied! Toggle word wrap Toggle overflow neutronのエンドポイントエントリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、OpenStack Networking ノードとして機能するサーバーの IP アドレスまたはホスト名に置き換えます。
7.2.5. OpenStack Networking の認証の設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順7.5 OpenStack Networking サービスが Identity サービスを使用して認証を行うための設定
- 認証ストラテジーを
keystoneに設定します。openstack-config --set /etc/neutron/neutron.conf \ DEFAULT auth_strategy keystone
# openstack-config --set /etc/neutron/neutron.conf \ DEFAULT auth_strategy keystoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack Networking が使用する必要のある Identity サービスのホストを設定します。
openstack-config --set /etc/neutron/neutron.conf \ keystone_authtoken auth_host IP
# openstack-config --set /etc/neutron/neutron.conf \ keystone_authtoken auth_host IPCopy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Identity サービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。 - OpenStack Networking が正しいテナントとして認証を行うように設定します。
openstack-config --set /etc/neutron/neutron.conf \ keystone_authtoken admin_tenant_name services
# openstack-config --set /etc/neutron/neutron.conf \ keystone_authtoken admin_tenant_name servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow services は、OpenStack Networking を使用するために作成したテナントの名前に置き換えます。本ガイドの例では、servicesを使用しています。 - OpenStack Networking が
neutronの管理ユーザーアカウントを使用して認証を行うように設定します。openstack-config --set /etc/neutron/neutron.conf \ keystone_authtoken admin_user neutron
# openstack-config --set /etc/neutron/neutron.conf \ keystone_authtoken admin_user neutronCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack Networking が
neutronの管理ユーザーアカウントのパスワードを使用して認証を行うように設定します。openstack-config --set /etc/neutron/neutron.conf \ keystone_authtoken admin_password PASSWORD
# openstack-config --set /etc/neutron/neutron.conf \ keystone_authtoken admin_password PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、neutronユーザーの作成時に設定したパスワードに置き換えます。
7.2.6. OpenStack Networking のトラフィックを許可するためのファイアウォール設定 リンクのコピーリンクがクリップボードにコピーされました!
9696 で接続を受信します。OpenStack Networking のファイアウォールは、このポートのネットワークトラフィックを許可するように設定する必要があります。以下の手順に記載するステップはすべて、OpenStack Networking をホストするサーバーに root ユーザーとしてログインして実行する必要があります。
手順7.6 OpenStack Networking のトラフィックを許可するためのファイアウォール設定
- テキストエディターで
/etc/sysconfig/iptablesファイルを開きます。 - ポート
9696で TCP トラフィックを許可する INPUT ルールを追加します。-A INPUT -p tcp -m multiport --dports 9696 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 9696 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイアウォールがポート
4789で VXLAN 接続を受け入れるように INPUT ルールを追加します。新しいルールは、トラフィックを REJECT する INPUT ルールの前に記載する必要があります。-A INPUT -p udp -m udp --dport 4789 -j ACCEPT
-A INPUT -p udp -m udp --dport 4789 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/iptablesファイルへの変更を保存します。iptablesサービスを再起動して、変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2.7. OpenStack Networking のための RabbitMQ メッセージブローカーの設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順7.7 OpenStack Networking サービスが RabbitMQ メッセージブローカーを使用するための設定
- RPC バックエンドとして RabbitMQ を設定します。
openstack-config --set /etc/neutron/neutron.conf \ DEFAULT rpc_backend neutron.openstack.common.rpc.impl_kombu
# openstack-config --set /etc/neutron/neutron.conf \ DEFAULT rpc_backend neutron.openstack.common.rpc.impl_kombuCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack Networking が RabbitMQ ホストに接続するように設定します。
openstack-config --set /etc/neutron/neutron.conf \ DEFAULT rabbit_host RABBITMQ_HOST
# openstack-config --set /etc/neutron/neutron.conf \ DEFAULT rabbit_host RABBITMQ_HOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow RABBITMQ_HOST は、メッセージブローカーの IP アドレスまたはホスト名に置き換えます。 - メッセージブローカーのポートを
5672に設定します。openstack-config --set /etc/neutron/neutron.conf \ DEFAULT rabbit_port 5672
# openstack-config --set /etc/neutron/neutron.conf \ DEFAULT rabbit_port 5672Copy to Clipboard Copied! Toggle word wrap Toggle overflow - RabbitMQ の設定時に OpenStack Networking 用に作成した RabbitMQ ユーザー名とパスワードを設定します。
openstack-config --set /etc/neutron/neutron.conf \ DEFAULT rabbit_userid neutron openstack-config --set /etc/neutron/neutron.conf \ DEFAULT rabbit_password NEUTRON_PASS
# openstack-config --set /etc/neutron/neutron.conf \ DEFAULT rabbit_userid neutron # openstack-config --set /etc/neutron/neutron.conf \ DEFAULT rabbit_password NEUTRON_PASSCopy to Clipboard Copied! Toggle word wrap Toggle overflow neutronおよび NEUTRON_PASS は、OpenStack Networking 用に作成した RabbitMQ ユーザー名とパスワードに置き換えます。 - RabbitMQ の起動時に、
neutronユーザーに全リソースに対するパーミッションが付与されます。このアクセスは、特別に仮想ホスト/を介して行われます。Networking サービスがこの仮想ホストに接続されるように設定します。openstack-config --set /etc/neutron/neutron.conf \ DEFAULT rabbit_virtual_host /
# openstack-config --set /etc/neutron/neutron.conf \ DEFAULT rabbit_virtual_host /Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2.8. OpenStack Networking とメッセージブローカーとの間の SSL 通信の有効化 リンクのコピーリンクがクリップボードにコピーされました!
手順7.8 OpenStack Networking と RabbitMQ メッセージブローカーとの間の SSL 通信の有効化
- メッセージブローカーとの SSL 通信を有効化します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- /path/to/client.crt はエクスポートされたクライアント証明書の絶対パスに置き換えます。
- /path/to/clientkeyfile.key はエクスポートされたキーファイルの絶対パスに置き換えます。
- 証明書がサードパーティーの認証局 (CA) によって署名されている場合には、次のコマンドを実行する必要もあります。
openstack-config --set /etc/neutron/neutron.conf \ DEFAULT kombu_ssl_ca_certs /path/to/ca.crt
# openstack-config --set /etc/neutron/neutron.conf \ DEFAULT kombu_ssl_ca_certs /path/to/ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow /path/to/ca.crt は、サードパーティー CA によって提供された CA ファイルの絶対パスに置き換えます (詳細は 「RabbitMQ メッセージブローカーでの SSL の有効化」 を参照)。
7.2.9. OpenStack Networking が Compute サービスとネットワークトポロジーの変更について通信するように設定する手順 リンクのコピーリンクがクリップボードにコピーされました!
手順7.9 OpenStack Networking が Compute サービスとネットワークトポロジーの変更について通信するように設定する手順
- OpenStack Networking がコンピュートコントローラーノードに接続されるように設定します。
openstack-config --set /etc/neutron/neutron.conf \ nova url http://CONTROLLER_IP:9696
# openstack-config --set /etc/neutron/neutron.conf \ nova url http://CONTROLLER_IP:9696Copy to Clipboard Copied! Toggle word wrap Toggle overflow CONTROLLER_IP は、コンピュートコントローラーノードの IP アドレスまたはホスト名に置き換えます。 novaユーザーのユーザー名、パスワード、テナントを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow SERVICES は、nova プロジェクトの現在の名前に、PASSWORD は、novaユーザーの作成時に設定したパスワードに置き換えます。- 管理者権限で、OpenStack Networking がコンピュートコントローラーノードに接続されるように設定します。
openstack-config --set /etc/neutron/neutron.conf \ DEFAULT nova auth_url http://CONTROLLER_IP:35357/v3
# openstack-config --set /etc/neutron/neutron.conf \ DEFAULT nova auth_url http://CONTROLLER_IP:35357/v3Copy to Clipboard Copied! Toggle word wrap Toggle overflow CONTROLLER_IP は、コンピュートコントローラーノードの IP アドレスまたはホスト名に置き換えます。 - OpenStack Networking がコンピュートコントローラーノードに対応する正しいリージョンを使用するように設定します。
openstack-config --set /etc/neutron/neutron.conf \ nova region_name RegionOne
# openstack-config --set /etc/neutron/neutron.conf \ nova region_name RegionOneCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2.10. OpenStack Networking の起動 リンクのコピーリンクがクリップボードにコピーされました!
neutron-server サービスを起動して、ブート時に起動するように設定します。
systemctl start neutron-server.service systemctl enable neutron-server.service
# systemctl start neutron-server.service
# systemctl enable neutron-server.service
重要
/etc/neutron/neutron.conf ファイルで force_gateway_on_subnet 設定キーの値を True に設定します。
7.3. DHCP エージェントの設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順7.10 DHCP エージェントの設定
- DHCP エージェントが認証に Identity サービスを使用するように設定します。
- 認証ストラテジーを
keystoneに設定します。openstack-config --set /etc/neutron/dhcp_agent.ini \ DEFAULT auth_strategy keystone
# openstack-config --set /etc/neutron/dhcp_agent.ini \ DEFAULT auth_strategy keystoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - DHCP エージェントが使用する必要のある Identity サービスのホストを設定します。
openstack-config --set /etc/neutron/dhcp_agent.ini \ keystone_authtoken auth_host IP
# openstack-config --set /etc/neutron/dhcp_agent.ini \ keystone_authtoken auth_host IPCopy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Identity サービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。 - DHCP エージェントが正しいテナントとして認証を行うように設定します。
openstack-config --set /etc/neutron/dhcp_agent.ini \ keystone_authtoken admin_tenant_name services
# openstack-config --set /etc/neutron/dhcp_agent.ini \ keystone_authtoken admin_tenant_name servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow servicesは、OpenStack Networking を使用するために作成したテナントの名前に置き換えます。本ガイドの例では、servicesを使用しています。 - DHCP エージェントが
neutronの管理ユーザーアカウントを使用して認証を行うように設定します。openstack-config --set /etc/neutron/dhcp_agent.ini \ keystone_authtoken admin_user neutron
# openstack-config --set /etc/neutron/dhcp_agent.ini \ keystone_authtoken admin_user neutronCopy to Clipboard Copied! Toggle word wrap Toggle overflow - DHCP エージェントが
neutronの管理ユーザーアカウントのパスワードを使用して認証を行うように設定します。openstack-config --set /etc/neutron/dhcp_agent.ini \ keystone_authtoken admin_password PASSWORD
# openstack-config --set /etc/neutron/dhcp_agent.ini \ keystone_authtoken admin_password PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、neutronユーザーの作成時に設定したパスワードに置き換えます。
- 使用する OpenStack Networking プラグインに応じて、
/etc/neutron/dhcp_agent.iniファイルでインターフェースドライバーを設定します。ML2 を使用する場合は、いずれかのドライバーを選択します。環境で使用するプラグインに適したコマンドを使用してください。Open vSwitch インターフェースドライバー
openstack-config --set /etc/neutron/dhcp_agent.ini \ DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver
# openstack-config --set /etc/neutron/dhcp_agent.ini \ DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux Bridge インターフェースドライバー
openstack-config --set /etc/neutron/dhcp_agent.ini \ DEFAULT interface_driver \ neutron.agent.linux.interface.BridgeInterfaceDriver
# openstack-config --set /etc/neutron/dhcp_agent.ini \ DEFAULT interface_driver \ neutron.agent.linux.interface.BridgeInterfaceDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow
neutron-dhcp-agentサービスを起動して、ブート時に起動するように設定します。systemctl start neutron-dhcp-agent.service systemctl enable neutron-dhcp-agent.service
# systemctl start neutron-dhcp-agent.service # systemctl enable neutron-dhcp-agent.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.4. プラグインエージェントの設定 リンクのコピーリンクがクリップボードにコピーされました!
7.4.1. Open vSwitch プラグインエージェントの設定 リンクのコピーリンクがクリップボードにコピーされました!
注記
手順7.11 Open vSwitch プラグインエージェントの設定
openvswitchサービスを起動します。systemctl start openvswitch.service
# systemctl start openvswitch.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow openvswitchサービスがブート時に起動するように設定します。systemctl enable openvswitch.service
# systemctl enable openvswitch.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Open vSwitch エージェントを実行する各ホストには、プライベートのネットワークトラフィックに使用される
br-intという名前の Open vSwitch ブリッジも必要です。このブリッジは自動的に作成されます。警告
br-intブリッジは、このエージェントが正しく機能するために必要です。br-intブリッジは、作成後に、削除したり変更したりしないでください。 bridge_mappings設定キーの値を、物理ネットワークとそれらに関連付けられたネットワークブリッジ (コンマ区切りリスト) に設定します。openstack-config --set /etc/neutron/plugins/ml2/openvswitch_agent.ini \ ovs bridge_mappings PHYSNET:BRIDGE
# openstack-config --set /etc/neutron/plugins/ml2/openvswitch_agent.ini \ ovs bridge_mappings PHYSNET:BRIDGECopy to Clipboard Copied! Toggle word wrap Toggle overflow PHYSNET は物理ネットワークの名前に、BRIDGE はネットワークブリッジの名前に置き換えます。neutron-openvswitch-agentサービスを起動します。systemctl start neutron-openvswitch-agent.service
# systemctl start neutron-openvswitch-agent.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow neutron-openvswitch-agentサービスがブート時に起動するように設定します。systemctl enable neutron-openvswitch-agent.service
# systemctl enable neutron-openvswitch-agent.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow neutron-ovs-cleanupサービスがブート時に起動するように設定します。このサービスを使用することで、OpenStack Networking エージェントが tap デバイスの作成と管理を完全に制御できるようにします。systemctl enable neutron-ovs-cleanup.service
# systemctl enable neutron-ovs-cleanup.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.5. 外部ネットワークの作成 リンクのコピーリンクがクリップボードにコピーされました!
br-ex) への直接接続で、Open vSwitch プラグインが使用されている場合 (または機能的には ML2 で実装されている場合) にのみサポートされます。ML2 プラグインがサポートする第 2 の方法は、外部プロバイダーネットワークを使用した接続で、Open vSwitch プラグインと Linux Bridge プラグインの両方でサポートされています。
keystonerc_admin ファイルへのアクセスも必要です。
手順7.12 外部ネットワークの作成と設定
- Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 新規プロバイダーネットワークを作成します。
[(keystone_admin)]# neutron net-create EXTERNAL_NAME \ --router:external \ --provider:network_type TYPE \ --provider:physical_network PHYSNET \ --provider:segmentation_id VLAN_TAG
[(keystone_admin)]# neutron net-create EXTERNAL_NAME \ --router:external \ --provider:network_type TYPE \ --provider:physical_network PHYSNET \ --provider:segmentation_id VLAN_TAGCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- EXTERNAL_NAME は、新規の外部ネットワークプロバイダーの名前に置き換えます。
- TYPE は、使用するプロバイダーネットワークの種別に置き換えます。サポートされている値は
flat(フラットネットワーク用)、vlan(VLAN ネットワーク用)、local(ローカルネットワーク用) です。 - PHYSNET は、物理ネットワークの名前に置き換えます。これは、ローカルネットワークを使用する場合には適用されません。PHYSNET は、
/etc/neutron/plugin.iniファイルのbridge_mappingsの下で定義されている値と一致する必要があります。 - VLAN_TAG は、ネットワークトラフィックを識別するために使用する VLAN タグを指定します。指定の VLAN タグは、ネットワーク管理者により定義する必要があります。
network_typeがvlan以外の値に設定されている場合は、パラメーターは必要ありません。
次のステップで必要となるため、返された外部ネットワークの一意識別子をメモしておきます。 - 外部プロバイダーネットワークの新しいサブネットを作成します。
[(keystone_admin)]# neutron subnet-create --gateway GATEWAY \ --allocation-pool start=IP_RANGE_START,end=IP_RANGE_END \ --disable-dhcp EXTERNAL_NAME EXTERNAL_CIDR
[(keystone_admin)]# neutron subnet-create --gateway GATEWAY \ --allocation-pool start=IP_RANGE_START,end=IP_RANGE_END \ --disable-dhcp EXTERNAL_NAME EXTERNAL_CIDRCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- GATEWAY は、新しいサブネットのゲートウェイとして機能するシステムの IP アドレスまたはホスト名に置き換えます。このアドレスは、EXTERNAL_CIDR が指定する IP アドレスのブロック内にあり、開始値 IP_RANGE_START、終了値 IP_RANGE_END で指定した IP アドレスブロックの範囲外でなければなりません。
- IP_RANGE_START は、Floating IP アドレスが確保される新規サブネット内の IP アドレス範囲の開始値を指定します。
- IP_RANGE_END は、Floating IP アドレスが確保される新しいサブネット内の IP アドレス範囲の終了値に置き換えます。
- EXTERNAL_NAME は、サブネットが関連付ける外部ネットワークの名前に置き換えます。これは、上記の手順の
net-createアクションで指定した名前と一致する必要があります。 - EXTERNAL_CIDR は、
192.168.100.0/24などの、サブネットが表現する IP アドレスブロックの CIDR (Classless Inter-Domain Routing) 表記に置き換えます。開始値 IP_RANGE_START と終了値 IP_RANGE_END の範囲で指定された IP アドレスのブロックは、EXTERNAL_CIDR で指定した IP アドレスのブロック内にも収まる 必要があります。
次のステップで必要となるため、返されたサブネットの一意識別子をメモしておきます。 - 新しいルーターを作成します。
[(keystone_admin)]# neutron router-create NAME
[(keystone_admin)]# neutron router-create NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow NAME は、新規ルーターの名前に置き換えます。次のステップや、L3 エージェントの設定時に必要となるため、返されたルーターの一意識別子をメモしておきます。 - ルーターと外部プロバイダーネットワークを関連付けます。
[(keystone_admin)]# neutron router-gateway-set ROUTER NETWORK
[(keystone_admin)]# neutron router-gateway-set ROUTER NETWORKCopy to Clipboard Copied! Toggle word wrap Toggle overflow ROUTER はルーターの一意識別子に、NETWORK は外部プロバイダーネットワークの一意識別子に置き換えます。 - 各プライベートネットワークのサブネットにルーターを関連付けます。
[(keystone_admin)]# neutron router-interface-add ROUTER SUBNET
[(keystone_admin)]# neutron router-interface-add ROUTER SUBNETCopy to Clipboard Copied! Toggle word wrap Toggle overflow ROUTER はルーターの一意識別子に、SUBNET はプライベートネットワークサブネットの一意識別子に置き換えます。ルーターのリンク先となる、既存のプライベートネットワークサブネットごとにこのステップを実行してください。
7.6. L3 エージェントの設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順7.13 L3 エージェントの設定
- L3 エージェントが認証に Identity サービスを使用するように設定します。
- 認証ストラテジーを
keystoneに設定します。openstack-config --set /etc/neutron/metadata_agent.ini \ DEFAULT auth_strategy keystone
# openstack-config --set /etc/neutron/metadata_agent.ini \ DEFAULT auth_strategy keystoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - L3 エージェントが使用する必要のある Identity サービスのホストを設定します。
openstack-config --set /etc/neutron/metadata_agent.ini \ keystone_authtoken auth_host IP
# openstack-config --set /etc/neutron/metadata_agent.ini \ keystone_authtoken auth_host IPCopy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Identity サービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。 - L3 エージェントが正しいテナントとして認証を行うように設定します。
openstack-config --set /etc/neutron/metadata_agent.ini \ keystone_authtoken admin_tenant_name services
# openstack-config --set /etc/neutron/metadata_agent.ini \ keystone_authtoken admin_tenant_name servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow services は、OpenStack Networking を使用するために作成したテナントの名前に置き換えます。本ガイドの例では、servicesを使用しています。 - L3 エージェントが
neutronの管理ユーザーアカウントを使用して認証を行うように設定します。openstack-config --set /etc/neutron/metadata_agent.ini \ keystone_authtoken admin_user neutron
# openstack-config --set /etc/neutron/metadata_agent.ini \ keystone_authtoken admin_user neutronCopy to Clipboard Copied! Toggle word wrap Toggle overflow - L3 エージェントが
neutronの管理ユーザーアカウントのパスワードを使用して認証を行うように設定します。openstack-config --set /etc/neutron/metadata_agent.ini \ keystone_authtoken admin_password PASSWORD
# openstack-config --set /etc/neutron/metadata_agent.ini \ keystone_authtoken admin_password PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、neutronユーザーの作成時に設定したパスワードに置き換えます。 neutron-metadata-agentサービスとnova-metadata-apiサービスが同じサーバー上にインストールされていない場合は、nova-metadata-apiサービスのアドレスを設定します。openstack-config --set /etc/neutron/metadata_agent.ini \ DEFAULT nova_metadata_ip IP
# openstack-config --set /etc/neutron/metadata_agent.ini \ DEFAULT nova_metadata_ip IPCopy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、nova-metadata-apiサービスをホストするサーバーの IP アドレスに置き換えます。
- 使用する OpenStack Networking プラグインに応じて、
/etc/neutron/l3_agent.iniファイルでインターフェースドライバーを設定します。環境で使用するプラグインに適したコマンドを使用してください。Open vSwitch インターフェースドライバー
openstack-config --set /etc/neutron/l3_agent.ini \ DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver
# openstack-config --set /etc/neutron/l3_agent.ini \ DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux Bridge インターフェースドライバー
openstack-config --set /etc/neutron/l3_agent.ini \ DEFAULT interface_driver neutron.agent.linux.interface.BridgeInterfaceDriver
# openstack-config --set /etc/neutron/l3_agent.ini \ DEFAULT interface_driver neutron.agent.linux.interface.BridgeInterfaceDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- L3 エージェントは、外部ブリッジまたは外部プロバイダーネットワークを使用して外部ネットワークに接続します。Open vSwitch プラグインを使用する場合には、これらのいずれの方法もサポートされます。Linux Bridge プラグインを使用する場合は、外部プロバイダーネットワークの使用のみがサポートされます。環境に最も適したオプションを設定してください。
外部ブリッジの使用
外部ブリッジを作成/設定して、OpenStack Networking がこのブリッジを使用するように設定します。L3 エージェントのインスタンスをホストする各システムで以下の手順を実行してください。- 外部ブリッジ
br-exを作成します。ovs-vsctl add-br br-ex
# ovs-vsctl add-br br-exCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/network-scripts/ifcfg-br-exファイルを作成して以下の行を追加し、br-exデバイスが再起動後も永続的に存在するようにします。DEVICE=br-ex DEVICETYPE=ovs TYPE=OVSBridge ONBOOT=yes BOOTPROTO=none
DEVICE=br-ex DEVICETYPE=ovs TYPE=OVSBridge ONBOOT=yes BOOTPROTO=noneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - L3 エージェントが確実に外部ブリッジを使用するようにします。
openstack-config --set /etc/neutron/l3_agent.ini \ DEFAULT external_network_bridge br-ex
# openstack-config --set /etc/neutron/l3_agent.ini \ DEFAULT external_network_bridge br-exCopy to Clipboard Copied! Toggle word wrap Toggle overflow
プロバイダーネットワークの使用
プロバイダーネットワークを使用して L3 エージェントを外部ネットワークに接続するには、最初にプロバイダーネットワークを作成する必要があります。また、そのネットワークに関連付けるサブネットとルーターも作成する必要があります。以下のステップを完了するには、ルーターの一意識別子が必要となります。external_network_bridge設定キーの値は空欄にしてください。これの設定により、L3 エージェントはこの外部ブリッジの使用を試みません。openstack-config --set /etc/neutron/l3_agent.ini \ DEFAULT external_network_bridge ""
# openstack-config --set /etc/neutron/l3_agent.ini \ DEFAULT external_network_bridge ""Copy to Clipboard Copied! Toggle word wrap Toggle overflow
neutron-l3-agentサービスを起動して、ブート時に起動するように設定します。systemctl start neutron-l3-agent.service systemctl enable neutron-l3-agent.service
# systemctl start neutron-l3-agent.service # systemctl enable neutron-l3-agent.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack Networking のメタデータエージェントにより、仮想マシンインスタンスはコンピュートメタデータサービスと通信することができます。このエージェントは、L3 エージェントと同じホストで実行されます。
neutron-metadata-agentサービスを起動して、ブート時に起動するように設定します。systemctl start neutron-metadata-agent.service systemctl enable neutron-metadata-agent.service
# systemctl start neutron-metadata-agent.service # systemctl enable neutron-metadata-agent.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow leastrouterスケジューラーは、L3 エージェントのルーター割り当てを列挙し、その結果として、最もルーター数が少ない L3 エージェントにルーターをスケジュールします。これは、L3 エージェントの候補プールから無作為に選択する ChanceScheduler の動作とは異なります。leastrouterスケジューラーを有効化します。openstack-config --set /etc/neutron/neutron.conf \ DEFAULT router_scheduler_driver neutron.scheduler.l3_agent_scheduler.LeastRoutersScheduler
# openstack-config --set /etc/neutron/neutron.conf \ DEFAULT router_scheduler_driver neutron.scheduler.l3_agent_scheduler.LeastRoutersSchedulerCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ネットワークに接続されると、ルーターがスケジュールされます。ルーターのスケジュールを解除するには、以下のコマンドを使用します。
[(keystone_admin)]# neutron l3-agent-router-remove L3_NODE_ID ROUTER_ID
[(keystone_admin)]# neutron l3-agent-router-remove L3_NODE_ID ROUTER_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow L3_NODE_ID はルーターが現在ホストされるエージェントの一意識別子に、ROUTER_ID はルーターの一意識別子に置き換えます。 - ルーターを割り当てます。
[(keystone_admin)]# neutron l3-agent-router-add L3_NODE_ID ROUTER_ID
[(keystone_admin)]# neutron l3-agent-router-add L3_NODE_ID ROUTER_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow L3_NODE_ID はルーターを割り当てるエージェントの一意識別子に、ROUTER_ID はルーターの一意識別子に置き換えます。
7.7. OpenStack Networking をインストールしたシステムの検証 リンクのコピーリンクがクリップボードにコピーされました!
手順7.14 OpenStack Networking をインストールしたシステムの検証
すべてのノードで以下を実行します。
- 次のコマンドを実行して、Red Hat OpenStack Platform で使用する予定のカスタマイズされた Red Hat Enterprise Linux カーネルを検証します。
uname --kernel-release
# uname --kernel-release 2.6.32-358.6.2.openstack.el6.x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow 返されたカーネルリリースの値にopenstackの文字列が含まれていない場合には、カーネルを更新してシステムを再起動します。 - インストールされている IP ユーティリティーがネットワーク名前空間をサポートしていることを確認します。
ip netns
# ip netnsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 引数が認識されない、またはサポートされていないというエラーが表示された場合には、yumコマンドでシステムを更新します。
サービスノードで以下を実行します。
neutron-serverサービスが稼働中であることを確認します。openstack-status | grep neutron-server
# openstack-status | grep neutron-server neutron-server: activeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ネットワークノードで以下を実行します。
以下のサービスが稼働していることを確認します。- DHCP エージェント (
neutron-dhcp-agent) - L3 エージェント (
neutron-l3-agent) - 該当する場合はプラグインエージェント (
neutron-openvswitch-agentまたはneutron-linuxbridge-agent) - Metadata エージェント (
neutron-metadata-agent)
openstack-status | grep SERVICENAME
# openstack-status | grep SERVICENAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.7.1. OpenStack Networking に関する問題のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
- ネットワークデバイスのデバッグ
ip aコマンドで、全物理/仮想デバイスを表示します。ovs-vsctl showコマンドで、仮想スイッチ内のインターフェースとブリッジを表示します。ovs-dpctl showコマンドで、スイッチ上のデータパスを表示します。
- ネットワークパケットの追跡
- パケットが通過しない場所を確認します。INTERFACE は、確認するネットワークインターフェースの名前に置き換えます。このインターフェース名には、ブリッジまたはホストのイーサネットデバイスの名前を使用することができます。
tcpdump -n -i INTERFACE -e -w FILENAME
# tcpdump -n -i INTERFACE -e -w FILENAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow -eフラグで、リンクレベルのヘッダーが出力されるようにします (その場合にはvlanタグが表示されます)。-wフラグはオプションです。出力をファイルに書き込む場合にのみ使用することができます。使用しない場合には、その出力は標準出力 (stdout) に書き込まれます。tcpdumpに関する詳しい情報は man ページを参照してください。
- ネットワーク名前空間のデバッグ
ip netns listコマンドで、既知のネットワーク名前空間をすべて一覧表示します。- 特定の名前空間内のルーティングテーブルを表示します。bash シェルで
ip netns exec NAMESPACE_ID bash route -n
# ip netns exec NAMESPACE_ID bash # route -nCopy to Clipboard Copied! Toggle word wrap Toggle overflow ip netns execコマンドを起動し、それ以降に実行するコマンドがip netns execコマンドを実行しなくても呼び出されるようにします。
第8章 Compute サービスのインストール リンクのコピーリンクがクリップボードにコピーされました!
8.1. Compute の VNC プロキシーのインストール リンクのコピーリンクがクリップボードにコピーされました!
8.1.1. Compute の VNC プロキシーパッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
openstack-nova-xvpvncproxy サービス経由で) 従来の VNC クライアントを介したインスタンスへのアクセスを提供します。
root ユーザーとしてログインして実行する必要があります。
手順8.1 Compute の VNC プロキシーパッケージのインストール
- VNC プロキシーのユーティリティーとコンソール認証サービスをインストールします。
yumコマンドで openstack-nova-novncproxy パッケージをインストールします。yum install -y openstack-nova-novncproxy
# yum install -y openstack-nova-novncproxyCopy to Clipboard Copied! Toggle word wrap Toggle overflow yumコマンドで openstack-nova-console パッケージをインストールします。yum install -y openstack-nova-console
# yum install -y openstack-nova-consoleCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.1.2. Compute の VNC プロキシーのトラフィックを許可するためのファイアウォール設定 リンクのコピーリンクがクリップボードにコピーされました!
openstack-nova-novncproxy サービスは TCP ポート 6080 をリッスンし、openstack-nova-xvpvncproxy サービスは TCP ポート 6081 をリッスンします。
root ユーザーとしてログインして実行する必要があります。
手順8.2 Compute の VNC プロキシーのトラフィックを許可するためのファイアウォール設定
/etc/sysconfig/iptablesファイルを編集して、-A INPUT -i lo -j ACCEPT の行の下に以下の新しい行を追加します。この行は、-A INPUT -j REJECT ルールの上に配置するようにしてください。-A INPUT -m state --state NEW -m tcp -p tcp --dport 6080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6080 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存してエディターを終了します。
- 同様に、
openstack-nova-xvpvncproxyサービスを使用する場合には、以下の新しい行を同じ場所に追加して、TCP ポート 6081 のトラフィックを有効にします。-A INPUT -m state --state NEW -m tcp -p tcp --dport 6081 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6081 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow
root ユーザーとして実行し、変更を適用します。
service iptables restart
# service iptables restart
iptables-save
# iptables-save
8.1.3. VNC プロキシーサービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/nova/nova.conf ファイルには、次のような VNC オプションがあります。
- vnc_enabled: デフォルトは true
- vncserver_listen: VNC サービスをバインドする IP アドレス
- vncserver_proxyclient_address: プロキシーがインスタンスに接続するのに使用するコンピュートホストの IP アドレス
- novncproxy_base_url: クライアントがインスタンスに接続するブラウザーのアドレス
- novncproxy_port: ブラウザーの VNC 接続をリッスンするポート。デフォルトは 6080。
- xvpvncproxy_port: 従来の VNC クライアント向けのバインドするポート。デフォルトは 6081。
root ユーザーとして service コマンドを使用して、コンソールの認証サービスを起動します。
#service openstack-nova-consoleauth start
#service openstack-nova-consoleauth start
chkconfig コマンドでサービスを永続的に有効にします。
#chkconfig openstack-nova-consoleauth on
#chkconfig openstack-nova-consoleauth on
root ユーザーとして service コマンドを使用して、ブラウザーベースのサービスを起動します。
#service openstack-nova-novncproxy start
#service openstack-nova-novncproxy start
chkconfig コマンドでサービスを永続的に有効にします。
#chkconfig openstack-nova-novncproxy on
#chkconfig openstack-nova-novncproxy on
8.1.4. ライブマイグレーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
8.1.4.1. 一般要件 リンクのコピーリンクがクリップボードにコピーされました!
- 管理者として、クラウド環境にコマンドラインからアクセスできること (以下の手順はすべてコマンドラインで実行されます)。各種コマンドを実行するには、まずユーザーの認証変数を読み込みます。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 移行元/移行先の両ノードは、同じサブネットに配置され、同じプロセッサータイプを使用すること
- コンピュートサーバー (コントローラーおよびノード) はすべて、相互で名前を解決できること
- コンピュートノード間で Compute サービスおよび libvirt ユーザーの UID および GID は同一であること
- コンピュートノードは、libvirt と KVM を使用すること
8.1.4.2. マルチパス機能の要件 リンクのコピーリンクがクリップボードにコピーされました!
multipathd を再起動する必要があります。
mpathconf --enable --user_friendly_names n service multipathd restart
# mpathconf --enable --user_friendly_names n
# service multipathd restart
8.1.5. Compute の VNC プロキシーを使用したインスタンスへのアクセス リンクのコピーリンクがクリップボードにコピーされました!
/etc/nova/nova.conf ファイルに記載されている novncproxy_base_url を参照し、インスタンスコンソールにアクセスします。
図8.1 インスタンスへの VNC アクセス
8.2. コンピュートノードのインストール リンクのコピーリンクがクリップボードにコピーされました!
8.2.1. Compute サービスのパッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
- openstack-nova-api
- OpenStack Compute API サービスを提供します。環境内で少なくとも 1 台のノード API サービスのインスタンスをホストしている必要があります。これは、Identity サービスのエンドポイントの定義によって、Compute サービスにポイントされているノードである必要があります。
- openstack-nova-compute
- OpenStack Compute サービスを提供します。
- openstack-nova-conductor
- Compute コンダクターサービスを提供します。コンダクターは、コンピュートノードによって作成されるデータベース要求を処理し、各コンピュートノードがデータベースに直接アクセスする必要がないようにします。各環境で少なくとも 1 台のノードが Compute のコンダクターとして機能する必要があります。
- openstack-nova-scheduler
- Compute のスケジューラーサービスを提供します。スケジューラーは利用可能な Compute リソース全体にわたり、API に対する要求のスケジューリングを処理します。各環境で、少なくとも 1 台のノードが Compute スケジューラーとして稼働する必要があります。
- python-cinderclient
- Block Storage サービスによって管理されるストレージにアクセスするためのクライアントユーティリティーを提供します。インスタンスに Block Storage ボリュームを接続しない場合や、Block Storage サービス以外のサービスを使用して Block Storage ボリュームを管理する場合には、このパッケージは必要ありません。
yum install -y openstack-nova-api openstack-nova-compute \ openstack-nova-conductor openstack-nova-scheduler \ python-cinderclient
# yum install -y openstack-nova-api openstack-nova-compute \
openstack-nova-conductor openstack-nova-scheduler \
python-cinderclient
注記
8.2.2. Compute サービスのデータベースの作成 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順8.3 Compute サービスのデータベースの作成
- データベースサービスに接続します。
mysql -u root -p
# mysql -u root -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow novaおよびnova_apiデータベースを作成します。mysql> CREATE DATABASE nova;
mysql> CREATE DATABASE nova;Copy to Clipboard Copied! Toggle word wrap Toggle overflow mysql> CREATE DATABASE nova_api;
mysql> CREATE DATABASE nova_api;Copy to Clipboard Copied! Toggle word wrap Toggle overflow novaデータベースユーザーを作成して、novaおよびnova_apiデータベースへのユーザーアクセスを許可します。mysql> GRANT ALL ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'PASSWORD';Copy to Clipboard Copied! Toggle word wrap Toggle overflow mysql> GRANT ALL ON nova.* TO 'nova'@'%' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL ON nova.* TO 'nova'@'%' IDENTIFIED BY 'PASSWORD';Copy to Clipboard Copied! Toggle word wrap Toggle overflow mysql> GRANT ALL ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'PASSWORD';Copy to Clipboard Copied! Toggle word wrap Toggle overflow mysql> GRANT ALL ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'PASSWORD';Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュアなパスワードに置き換えます。- データベースの特権をフラッシュして、設定が即時に反映されるようにします。
mysql> FLUSH PRIVILEGES;
mysql> FLUSH PRIVILEGES;Copy to Clipboard Copied! Toggle word wrap Toggle overflow mysqlクライアントを終了します。mysql> quit
mysql> quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.3. Compute サービスのデータベース接続の設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/nova/nova.conf ファイルで定義されます。サービスを起動する前に、有効なデータベースサーバーをポイントするように更新しておく必要があります。
openstack-nova-conductor) をホストするノードのみで設定する必要があります。コンピュートノードがメッセージングインフラストラクチャーを使用してコンダクターに通信すると、コンダクターはそれに応えてデータベースとの通信をオーケストレートするので、個別のコンピュートノードは、データベースに直接アクセスする必要がありません。どのようなコンピュート環境においても、コンダクターサービスのインスタンスが少なくとも 1 つ必要です。
root ユーザーとしてログインして実行する必要があります。
手順8.4 Compute サービスの SQL データベース接続の設定
sql_connection設定キーの値を設定します。openstack-config --set /etc/nova/nova.conf \ DEFAULT sql_connection mysql://USER:PASS@IP/DB
# openstack-config --set /etc/nova/nova.conf \ DEFAULT sql_connection mysql://USER:PASS@IP/DBCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- USER は、Compute サービスのデータベースのユーザー名 (通常は
nova) に置き換えます。 - PASS は選択したデータベースユーザーのパスワードに置き換えます。
- IP は、Identity サーバーの IP アドレスまたはホスト名に置き換えます。
- DB は、Compute サービスのデータベースの名前 (通常は
nova) に置き換えます。
重要
8.2.4. Compute サービス用のアイデンティティーレコードの作成 リンクのコピーリンクがクリップボードにコピーされました!
services テナントが作成済みであることを前提としています。詳しい説明は、以下のリンクを参照してください。
keystonerc_admin ファイルをコピーして keystone コマンドラインユーティリティーをインストールした任意のマシンで実行してください。
手順8.5 Compute サービス用のアイデンティティーレコードの作成
- Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow computeユーザーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、Compute サービスが Identity サービスとの認証を行う際に使用するセキュアなパスワードに置き換えます。servicesテナントのコンテキスト内で、computeユーザーとadminロールを関連付けます。[(keystone_admin)]# openstack role add --project services --user compute admin
[(keystone_admin)]# openstack role add --project services --user compute adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow computeのサービスエントリーを作成します。[(keystone_admin)]# openstack service create --name compute \ --description "OpenStack Compute Service" \ compute
[(keystone_admin)]# openstack service create --name compute \ --description "OpenStack Compute Service" \ computeCopy to Clipboard Copied! Toggle word wrap Toggle overflow computeエンドポイントエントリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Compute API サービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。
8.2.5. Compute サービスの認証の設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順8.6 Compute サービスが Identity サービスを使用して認証を行うための設定
- 認証ストラテジーを
keystoneに設定します。openstack-config --set /etc/nova/nova.conf \ DEFAULT auth_strategy keystone
# openstack-config --set /etc/nova/nova.conf \ DEFAULT auth_strategy keystoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Compute サービスが使用する必要のある Identity サービスのホストを設定します。
openstack-config --set /etc/nova/api-paste.ini \ filter:authtoken auth_host IP
# openstack-config --set /etc/nova/api-paste.ini \ filter:authtoken auth_host IPCopy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Identity サービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。 - Compute サービスが正しいテナントとして認証を行うように設定します。
openstack-config --set /etc/nova/api-paste.ini \ filter:authtoken admin_tenant_name services
# openstack-config --set /etc/nova/api-paste.ini \ filter:authtoken admin_tenant_name servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow services は、Compute サービスを使用するために作成したテナントの名前に置き換えます。本ガイドの例では、servicesを使用しています。 - Compute サービスが
compute管理ユーザーアカウントを使用して認証を行うように設定します。openstack-config --set /etc/nova/api-paste.ini \ filter:authtoken admin_user compute
# openstack-config --set /etc/nova/api-paste.ini \ filter:authtoken admin_user computeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Compute サービスが正しい
compute管理ユーザーアカウントのパスワードを使用するように設定します。openstack-config --set /etc/nova/api-paste.ini \ filter:authtoken admin_password PASSWORD
# openstack-config --set /etc/nova/api-paste.ini \ filter:authtoken admin_password PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、computeユーザーの作成時に設定したパスワードに置き換えます。
8.2.6. Compute サービスのトラフィックを許可するためのファイアウォール設定 リンクのコピーリンクがクリップボードにコピーされました!
5900 から 5999 までのポートで受信されます。Compute API サービスへは、ポート 8774 経由で接続されます。サービスノードのファイアウォールは、これらのポートのネットワークトラフィックを許可するように設定する必要があります。以下の手順に記載するステップはすべて、コンピュートノードに root ユーザーとしてログインして実行する必要があります。
手順8.7 Copute サービスのトラフィックを許可するためのファイアウォール設定
- テキストエディターで
/etc/sysconfig/iptablesファイルを開きます。 - ファイルに以下の行を追記して、
5900から5999までの範囲内のポートで TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールの前に追加する必要があります。-A INPUT -p tcp -m multiport --dports 5900:5999 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 5900:5999 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow - このファイルに、ポート
8774で TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。-A INPUT -p tcp -m multiport --dports 8774 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 8774 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/iptablesファイルへの変更を保存します。iptablesサービスを再起動して、変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.7. Compute サービスが SSL を使用するための設定 リンクのコピーリンクがクリップボードにコピーされました!
nova.conf ファイルで、以下のオプションを使用して SSL を設定します。
| 設定オプション | 説明 |
|---|---|
enabled_ssl_apis
|
SSL を有効にする API の一覧
|
ssl_ca_file
|
クライアントの接続を検証するのに使用する CA 証明書ファイル
|
ssl_cert_file
|
API サーバーの SSL 証明書
|
ssl_key_file
|
API サーバーの SSL 秘密鍵
|
tcp_keepidle
|
サーバーソケットごとに設定する TCP_KEEPIDLE 値 (秒単位)。デフォルトでは 600
|
8.2.8. Compute サービスのための RabbitMQ メッセージブローカーの設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順8.8 Compute サービスが RabbitMQ メッセージブローカーを使用するための設定
- RPC バックエンドとして RabbitMQ を設定します。
openstack-config --set /etc/nova/nova.conf \ DEFAULT rpc_backend rabbit
# openstack-config --set /etc/nova/nova.conf \ DEFAULT rpc_backend rabbitCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Compute サービスが RabbitMQ ホストに接続するように設定します。
openstack-config --set /etc/nova/nova.conf \ DEFAULT rabbit_host RABBITMQ_HOST
# openstack-config --set /etc/nova/nova.conf \ DEFAULT rabbit_host RABBITMQ_HOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow RABBITMQ_HOST は、メッセージブローカーの IP アドレスまたはホスト名に置き換えます。 - メッセージブローカーのポートを
5672に設定します。openstack-config --set /etc/nova/nova.conf \ DEFAULT rabbit_port 5672
# openstack-config --set /etc/nova/nova.conf \ DEFAULT rabbit_port 5672Copy to Clipboard Copied! Toggle word wrap Toggle overflow - RabbitMQ の設定時に Compute サービス用に作成した RabbitMQ ユーザー名とパスワードを設定します。
openstack-config --set /etc/nova/nova.conf \ DEFAULT rabbit_userid nova openstack-config --set /etc/nova/nova.conf \ DEFAULT rabbit_password NOVA_PASS
# openstack-config --set /etc/nova/nova.conf \ DEFAULT rabbit_userid nova # openstack-config --set /etc/nova/nova.conf \ DEFAULT rabbit_password NOVA_PASSCopy to Clipboard Copied! Toggle word wrap Toggle overflow novaおよび NOVA_PASS は、Compute サービス用に作成したRabbitMQ ユーザー名とパスワードに置き換えます。 - RabbitMQ の起動時に、
novaユーザーに全リソースに対するパーミッションが付与されます。このアクセスは、特別に仮想ホスト/を介して行われます。Compute サービスがこの仮想ホストに接続されるように設定します。openstack-config --set /etc/nova/nova.conf \ DEFAULT rabbit_virtual_host /
# openstack-config --set /etc/nova/nova.conf \ DEFAULT rabbit_virtual_host /Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.9. Compute サービスとメッセージブローカーとの間の SSL 通信の有効化 リンクのコピーリンクがクリップボードにコピーされました!
手順8.9 Compute サービスと RabbitMQ メッセージブローカーとの間の SSL 通信の有効化
- メッセージブローカーとの SSL 通信を有効化します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- /path/to/client.crt はエクスポートされたクライアント証明書の絶対パスに置き換えます。
- /path/to/clientkeyfile.key はエクスポートされたキーファイルの絶対パスに置き換えます。
- 証明書がサードパーティーの認証局 (CA) によって署名されている場合には、次のコマンドを実行する必要もあります。
openstack-config --set /etc/nova/nova.conf \ DEFAULT kombu_ssl_ca_certs /path/to/ca.crt
# openstack-config --set /etc/nova/nova.conf \ DEFAULT kombu_ssl_ca_certs /path/to/ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow /path/to/ca.crt は、サードパーティー CA によって提供された CA ファイルの絶対パスに置き換えます (詳細は 「RabbitMQ メッセージブローカーでの SSL の有効化」 を参照)。
8.2.10. リソースのオーバーコミットの設定 リンクのコピーリンクがクリップボードにコピーされました!
重要
- デフォルトの CPU オーバーコミット率は 16 ですが、これは物理コア 1 つにつき 最大 16 の仮想コアをノードに割り当てることができるという意味です。
- デフォルトのオーバーコミット率は 1.5 ですが、これはインスタンスのメモリー使用量合計が、物理メモリーの空き容量の 1.5 倍未満の場合には、インスタンスを物理ノードに割り当てることができるという意味です。
/etc/nova/nova.conf の cpu_allocation_ratio および ram_allocation_ratio のディレクティブを使用してください。
8.2.11. ホストのリソースの確保 リンクのコピーリンクがクリップボードにコピーされました!
/etc/nova/nova.conf で以下のディレクティブを編集します。
reserved_host_memory_mb: デフォルト値は 512 MBreserved_host_disk_mb: デフォルト値は 0 MB
8.2.12. Compute ネットワークの設定 リンクのコピーリンクがクリップボードにコピーされました!
8.2.12.1. Compute ネットワークの概要 リンクのコピーリンクがクリップボードにコピーされました!
nova-network サービスは実行してはなりません。その代わりに、ネットワーク関連の決定事項はすべて OpenStack Networking サービスに委任されます。
nova-manage や nova などの CLI ツールを使用したネットワークの管理や IP アドレス指定 (固定 IP および Floating IP の両方を含む) は、OpenStack Networking ではサポートされていません。
重要
nova-network をアンインストールして、nova-network を実行していた物理ノードを再起動することを強く推奨します。OpenStack Networking サービスの使用中に間違えて nova-network プロセスを実行すると、たとえば、以前に実行していた nova-network により古い ファイアウォールルールがプッシュダウンされる可能性があり、問題が発生する場合があります。
8.2.12.2. Compute の設定の更新 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順8.10 コンピュートノードの接続および認証の設定の更新
network_api_class設定キーを変更して、OpenStack Networking が使用中であることを示します。openstack-config --set /etc/nova/nova.conf \ DEFAULT use_neutron true
# openstack-config --set /etc/nova/nova.conf \ DEFAULT use_neutron trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Compute サービスが OpenStack Networking API のエンドポイントを使用するように設定します。
openstack-config --set /etc/nova/nova.conf \ neutron url http://IP:9696/
# openstack-config --set /etc/nova/nova.conf \ neutron url http://IP:9696/Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、OpenStack Networking API サービスをホストするサーバーの IP アドレスまたはホスト名に置き換えます。 - OpenStack Networking サービスが使用するプロジェクトの名前を設定します。本ガイドの例では、SERVICES を使用します。
openstack-config --set /etc/nova/nova.conf \ neutron project_name services
# openstack-config --set /etc/nova/nova.conf \ neutron project_name servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack Networking サービスが使用する認証メソッドを設定します。
openstack-config --set /etc/nova/nova.conf \ neutron auth_type password
# openstack-config --set /etc/nova/nova.conf \ neutron auth_type passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack Networking の管理ユーザー名を設定します。
openstack-config --set /etc/nova/nova.conf \ neutron username neutron
# openstack-config --set /etc/nova/nova.conf \ neutron username neutronCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack Networking の管理ユーザー名に関連付けられたパスワードを設定します。
openstack-config --set /etc/nova/nova.conf \ neutron password PASSWORD
# openstack-config --set /etc/nova/nova.conf \ neutron password PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Identity サービスのエンドポイントに関連付けられた URL を設定します。
openstack-config --set /etc/nova/nova.conf \ neutron auth_url http://IP:35357/# openstack-config --set /etc/nova/nova.conf \ neutron auth_url http://IP:35357/Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Identity サービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。 - メタデータのプロキシーを有効化して、メタデータのプロキシーシークレットを設定します。
openstack-config --set /etc/nova/nova.conf \ neutron service_metadata_proxy true openstack-config --set /etc/nova/nova.conf \ neutron metadata_proxy_shared_secret METADATA_SECRET
# openstack-config --set /etc/nova/nova.conf \ neutron service_metadata_proxy true # openstack-config --set /etc/nova/nova.conf \ neutron metadata_proxy_shared_secret METADATA_SECRETCopy to Clipboard Copied! Toggle word wrap Toggle overflow METADATA_SECRET は、メタデータプロキシーが通信のセキュリティー保護に使用する文字列に置き換えます。 - neutron 用のメタデータのプロキシーシークレットも設定します。
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT \ metadata_proxy_shared_secret METADATA_SECRET
# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT \ metadata_proxy_shared_secret METADATA_SECRETCopy to Clipboard Copied! Toggle word wrap Toggle overflow METADATA_SECRET は、メタデータプロキシーが通信のセキュリティー保護に使用する文字列に置き換えます。 - OpenStack Networking セキュリティーグループの使用を有効化します。
openstack-config --set /etc/nova/nova.conf \ DEFAULT use_neutron true
# openstack-config --set /etc/nova/nova.conf \ DEFAULT use_neutron trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイアウォールドライバーを
nova.virt.firewall.NoopFirewallDriverに設定します。openstack-config --set /etc/nova/nova.conf \ DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
# openstack-config --set /etc/nova/nova.conf \ DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow この操作は、OpenStack Networking セキュリティーグループが使用中の状態で実行する必要があります。 - テキストエディターで
/etc/sysctl.confファイルを開き、以下のカーネルネットワークパラメーターを追加または編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新したカーネルパラメーターを読み込みます。
sysctl -p
# sysctl -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.12.3. L2 エージェントの設定 リンクのコピーリンクがクリップボードにコピーされました!
8.2.12.4. 仮想インターフェース結線の設定 リンクのコピーリンクがクリップボードにコピーされました!
nova-compute がインスタンスを作成する時には、そのインスタンスに関連付ける各 vNIC を、OpenStack Networking によって制御される仮想スイッチに「結線」する必要があります。また Compute が、各 vNIC に関連付けられた OpenStack Networking ポートの識別子を仮想スイッチに通知する必要があります。
nova.virt.libvirt.vif.LibvirtGenericVIFDriver が提供されます。このドライバーは、必要な仮想インターフェースバインディングの種別を返すことが可能な OpenStack Networking に依存しています。この操作は、以下のプラグインによってサポートされています。
- Linux Bridge
- Open vSwitch
- NEC
- BigSwitch
- CloudBase Hyper-V
- Brocade
openstack-config コマンドを実行して vif_driver 設定キーの値を適切に設定します。
openstack-config --set /etc/nova/nova.conf \ libvirt vif_driver \ nova.virt.libvirt.vif.LibvirtGenericVIFDriver
# openstack-config --set /etc/nova/nova.conf \
libvirt vif_driver \
nova.virt.libvirt.vif.LibvirtGenericVIFDriver
重要
- セキュリティーグループを有効にした状態で Open vSwitch を実行している場合には、汎用ドライバーではなく、Open vSwitch 固有のドライバー
nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriverを使用してください。 - Linux Bridge の場合には、
/etc/libvirt/qemu.confファイルに以下の内容を追記して、仮想マシンが適切に起動するようにする必要があります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.13. Compute サービスのデータベースへのデータ投入 リンクのコピーリンクがクリップボードにコピーされました!
重要
手順8.11 Compute サービスのデータベースへのデータ投入
openstack-nova-conductorサービスのインスタンスをホストしているシステムにログインします。novaユーザーに切り替えます。su nova -s /bin/sh
# su nova -s /bin/shCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/nova/nova.confで特定されているデータベースを初期化し、データを投入します。nova-manage db sync
$ nova-manage db syncCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.14. Compute サービスの起動 リンクのコピーリンクがクリップボードにコピーされました!
手順8.12 Compute サービスの起動
- Libvirt を使用するには、
messagebusを有効化して実行する必要があります。サービスを起動します。systemctl start messagebus.service
# systemctl start messagebus.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Compute サービスを使用するには、
libvirtdサービスを有効化して実行する必要があります。systemctl start libvirtd.service systemctl enable libvirtd.service
# systemctl start libvirtd.service # systemctl enable libvirtd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - API のインスタンスをホストする各システムで API サービスを起動します。各 API インスタンスは、Identity サービスのデータベースで定義された独自のエンドポイントが設定されているか、エンドポイントとしての機能を果たすロードバランサーによってポイントされる必要がある点に注意してください。サービスを起動してブート時に起動するように設定します。
systemctl start openstack-nova-api.service systemctl enable openstack-nova-api.service
# systemctl start openstack-nova-api.service # systemctl enable openstack-nova-api.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - スケジューラーのインスタンスをホストする各システムでスケジューラーを起動します。サービスを起動して、ブート時に起動するように設定します。
systemctl start openstack-nova-scheduler.service systemctl enable openstack-nova-scheduler.service
# systemctl start openstack-nova-scheduler.service # systemctl enable openstack-nova-scheduler.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - コンダクターのインスタンスをホストする各システムでコンダクターを起動します。コンピュートノードからデータベースへの直接のアクセスを制限することによるセキュリティー上のメリットがなくってしまうので、このサービスは、すべてのコンピュートノードでは実行しないことを推奨している点に注意してください。サービスを起動して、ブート時に起動するように設定します。
systemctl start openstack-nova-conductor.service systemctl enable openstack-nova-conductor.service
# systemctl start openstack-nova-conductor.service # systemctl enable openstack-nova-conductor.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 仮想マシンインスタンスをホストする予定の全システムで Compute サービスを起動します。サービスを起動して、ブート時に起動するように設定します。
systemctl start openstack-nova-compute.service systemctl enable openstack-nova-compute.service
# systemctl start openstack-nova-compute.service # systemctl enable openstack-nova-compute.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 環境設定によっては、以下のようなサービスも起動する必要がある場合があります。
openstack-nova-cert- Compute サービスに対して EC2 API を使用する場合に必要とされる X509 証明書サービス
注記
Compute サービスに対して EC2 API を使用する場合は、nova.conf設定ファイルでオプションを設定する必要があります。詳しい説明は、『Red Hat OpenStack Platform Configuration Reference Guide』の「Configuring the EC2 API」の項を参照してください。このガイドは以下のリンクから入手できます。 openstack-nova-network- Nova ネットワーキングサービス。OpenStack Networking がインストール/設定済みの場合、またはこれからインストール/設定する予定の場合には、このサービスは起動してはならない点に注意してください。
openstack-nova-objectstore- Nova オブジェクトストレージサービス。新規デプロイメントには、Object Storage サービス (Swift) の使用が推奨されます。
第9章 Orchestrationサービスのインストール リンクのコピーリンクがクリップボードにコピーされました!
9.1. Orchestration サービスのパッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
- openstack-heat-api
- OpenStack のネイティブの REST API を Orchestration エンジンに提供します。
- openstack-heat-api-cfn
- AWS CloudFormation と互換性のある API を Orchestration エンジンサービスに提供します。
- openstack-heat-common
- Orchestration の全サービスに共通するコンポーネントを提供します。
- openstack-heat-engine
- テンプレートを起動し、イベントを API に送り返すための OpenStack API を提供します。
- openstack-heat-api-cloudwatch
- AWS CloudWatch と互換性のある API を Orchestration エンジンサービスに提供します。
- heat-cfntools
heatによりプロビジョニングされるクラウドインスタンスに必要なツールを提供します。- python-heatclient
- Python API およびコマンドラインスクリプトを提供します。Orchestration API のクライアントは、これらの両方で構成されます。
- openstack-utils
- 設定ファイルの編集をはじめとする数々のタスクに役立つサポートユーティリティーを提供します。
yum install -y openstack-heat-* python-heatclient openstack-utils
# yum install -y openstack-heat-* python-heatclient openstack-utils
9.2. Orchestration サービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
- Orchestration サービス用のデータベースの設定
- 各 Orchestration API サービスと対応する IP アドレスのバインド
- Orchestration サービス用のアイデンティティーレコードの作成/設定
- Orchestration サービスが Identity サービスを使用して認証を行う方法の設定
9.2.1. Orchestration サービスのデータベース接続の設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/heat/heat.conf ファイルで定義されます。有効なデータベースサーバーを参照するように更新してから、サービスを起動する必要があります。以下の手順で記載のステップはすべて、データベースサーバーに root ユーザーでログインして実行する必要があります。
手順9.1 Orchestration サービスのデータベースの接続の設定
- データベースサービスに接続します。
mysql -u root -p
# mysql -u root -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow heatデータベースを作成します。mysql> CREATE DATABASE heat;
mysql> CREATE DATABASE heat;Copy to Clipboard Copied! Toggle word wrap Toggle overflow heatという名前のデータベースユーザーを作成して、heatデータベースへのアクセスを許可します。mysql> GRANT ALL ON heat.* TO 'heat'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON heat.* TO 'heat'@'localhost' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL ON heat.* TO 'heat'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON heat.* TO 'heat'@'localhost' IDENTIFIED BY 'PASSWORD';Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュアなパスワードに置き換えます。- データベースの特権をフラッシュして、設定が即時に反映されるようにします。
mysql> FLUSH PRIVILEGES;
mysql> FLUSH PRIVILEGES;Copy to Clipboard Copied! Toggle word wrap Toggle overflow - mysql クライアントを終了します。
mysql> quit
mysql> quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow sql_connection設定キーの値を設定します。openstack-config --set /etc/heat/heat.conf \ DEFAULT sql_connection mysql://heat:PASSWORD@IP/heat
# openstack-config --set /etc/heat/heat.conf \ DEFAULT sql_connection mysql://heat:PASSWORD@IP/heatCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- PASSWORD は
heatデータベースユーザーのパスワードに置き換えます。 - IP は、Identity サーバーの IP アドレスまたはホスト名に置き換えます。
heatユーザーとしてデータベースを同期します。runuser -s /bin/sh heat -c "heat-manage db_sync"
# runuser -s /bin/sh heat -c "heat-manage db_sync"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
重要
9.2.2. 各 Orchestration API サービスのバインドアドレスの制限 リンクのコピーリンクがクリップボードにコピーされました!
bind_host 設定を設定します。この設定は、サービスが受信接続に使用する必要のある IP アドレスを制御します。
bind_host 設定を設定します。
9.2.3. Orchestration サービス用のアイデンティティーレコードの作成 リンクのコピーリンクがクリップボードにコピーされました!
services テナントが作成済みであることを前提としています。詳しい説明は、以下のリンクを参照してください。
keystonerc_admin ファイルをコピーして keystone コマンドラインユーティリティーをインストールした任意のマシンで実行してください。
手順9.2 Orchestration サービス用のアイデンティティーレコードの作成
- Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow heatユーザーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、Orchestration サービスが Identity サービスとの認証を行う際に使用するセキュアなパスワードに置き換えます。servicesテナントのコンテキスト内で、heatユーザーとadminロールを関連付けます。[(keystone_admin)]# openstack role add --project services --user heat admin
[(keystone_admin)]# openstack role add --project services --user heat adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow heatおよびheat-cfnのサービスエントリーを作成します。[(keystone_admin)]# openstack service create --name heat orchestration [(keystone_admin)]# openstack service create --name heat-cfn cloudformation
[(keystone_admin)]# openstack service create --name heat orchestration [(keystone_admin)]# openstack service create --name heat-cfn cloudformationCopy to Clipboard Copied! Toggle word wrap Toggle overflow heatおよびheat-cfnのサービス用のエンドポイントエントリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- HEAT_CFN_IP は、
heat-cfnサービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。 - HEAT_IP は、
heatサービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。
重要
HEAT_CFN_IP および HEAT_IP の値には、http://プレフィックスを付けます。
9.2.3.1. Orchestration サービス用の必須 Identity ドメインの作成 リンクのコピーリンクがクリップボードにコピーされました!
heat スタックが所有するインスタンス内にデプロイされた認証情報を関連付けることができます。また、別のドメインを使用することで、インスタンスとスタックをデプロイするユーザーを分離することができます。これにより、一般ユーザーは管理者権限がなくとも、このような認証情報を必要とする heat スタックをデプロイすることができます。
手順9.3 Orchestration サービス用の Identity サービスのドメインの作成
heatドメインを作成します。openstack --os-url=http://IDENTITY_IP:5000/v3 \ --os-identity-api-version=3 \ --description "Owns users and projects created by heat"
# openstack --os-url=http://IDENTITY_IP:5000/v3 \ --os-identity-api-version=3 \ --description "Owns users and projects created by heat" domain create heatCopy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Identity サービスをホストするサーバーの IP アドレスまたはホスト名に置き換えます。このコマンドにより、heatドメインのドメイン ID が返されるはずです。この ID (HEAT_DOMAIN_ID) は次のステップで使用します。heatドメイン内で管理者権限を持つことのできるheat_domain_adminという名前のユーザーを作成します。openstack --os-url=http://IDENTITY_IP:5000/v3 \ --os-identity-api-version=3 user create heat_domain_admin \ --password PASSWORD \ --domain HEAT_DOMAIN_ID \ --description "Manages users and projects created by heat"
# openstack --os-url=http://IDENTITY_IP:5000/v3 \ --os-identity-api-version=3 user create heat_domain_admin \ --password PASSWORD \ --domain HEAT_DOMAIN_ID \ --description "Manages users and projects created by heat"Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、このユーザーのパスワードに置き換えます。上記のコマンドによりユーザー ID (DOMAIN_ADMIN_ID) が返されます。この ID は、次のステップで使用します。heat_domain_adminユーザーに、heatドメイン内の管理者権限を付与します。openstack --os-url=http://IDENTITY_IP:5000/v3 \ --os-identity-api-version=3 role add --user DOMAIN_ADMIN_ID \ --domain HEAT_DOMAIN_ID admin
# openstack --os-url=http://IDENTITY_IP:5000/v3 \ --os-identity-api-version=3 role add --user DOMAIN_ADMIN_ID \ --domain HEAT_DOMAIN_ID adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Orchestration サービスをホストするサーバー上で、Orchestration サービスが
heatドメインとユーザーを使用するように設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.2.4. Orchestration サービスの認証設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順9.4 Orchestration サービスが Identity サービスを使用して認証を行うための設定
- Orchestration サービスが正しいテナントとして認証を行うように設定します。
openstack-config --set /etc/heat/heat.conf \ keystone_authtoken admin_tenant_name services
# openstack-config --set /etc/heat/heat.conf \ keystone_authtoken admin_tenant_name servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow services は、Orchestration サービスを使用するために作成したテナントの名前に置き換えます。本ガイドの例では、servicesを使用しています。 - Orchestration サービスが
heat管理ユーザーアカウントを使用して認証を行うように設定します。openstack-config --set /etc/heat/heat.conf \ keystone_authtoken admin_user heat
# openstack-config --set /etc/heat/heat.conf \ keystone_authtoken admin_user heatCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Orchestration サービスが正しい
heat管理ユーザーアカウントパスワードを使用するように設定します。openstack-config --set /etc/heat/heat.conf \ keystone_authtoken admin_password PASSWORD
# openstack-config --set /etc/heat/heat.conf \ keystone_authtoken admin_password PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、heatユーザーの作成時に設定したパスワードに置き換えます。 - Orchestration サービスが使用する必要のある Identity サービスのホストを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow KEYSTONE_HOST は、Identity サービスをホストするサーバーの IP アドレスまたはホスト名に置き換えます。Identity サービスが同じシステムでホストされている場合には、127.0.0.1を使用してください。 - 仮想マシンインスタンスの接続先となる
heat-api-cfnおよびheat-api-cloudwatchのサービスのホスト名を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- HEAT_CFN_HOST は、
heat-api-cfnサービスをホストするサーバーの IP アドレスまたはホスト名に置き換えます。 - HEAT_CLOUDWATCH_HOST は、
heat-api-cloudwatchサービスをホストするサーバーの IP アドレスまたはホスト名に置き換えます。
重要
全サービスが同じシステム上でホストされている場合でも、127.0.0.1はどのサービスホスト名にも使用しないでください。この IP アドレスは、各インスタンスのローカルホストを参照するので、そのインスタンスが実際のサービスに到達できなくなります。 - アプリケーションテンプレートは、オーケストレーションに WaitCondition とシグナル送信を使用します。進捗データを受信するユーザーの Identity ロールを定義してください。デフォルトでは、このロールは
heat_stack_userです。openstack-config --set /etc/heat/heat.conf \ DEFAULT heat_stack_user_role heat_stack_user
# openstack-config --set /etc/heat/heat.conf \ DEFAULT heat_stack_user_role heat_stack_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.2.5. Orchestration サービスのための RabbitMQ メッセージブローカーの設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順9.5 Orchestration サービスが RabbitMQ メッセージブローカーを使用するための設定
- RPC バックエンドとして RabbitMQ を設定します。
openstack-config --set /etc/heat/heat.conf \ DEFAULT rpc_backend heat.openstack.common.rpc.impl_kombu
# openstack-config --set /etc/heat/heat.conf \ DEFAULT rpc_backend heat.openstack.common.rpc.impl_kombuCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Orchestration サービスが RabbitMQ ホストに接続するように設定します。
openstack-config --set /etc/heat/heat.conf \ DEFAULT rabbit_host RABBITMQ_HOST
# openstack-config --set /etc/heat/heat.conf \ DEFAULT rabbit_host RABBITMQ_HOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow RABBITMQ_HOST は、メッセージブローカーの IP アドレスまたはホスト名に置き換えます。 - メッセージブローカーのポートを
5672に設定します。openstack-config --set /etc/heat/heat.conf \ DEFAULT rabbit_port 5672
# openstack-config --set /etc/heat/heat.conf \ DEFAULT rabbit_port 5672Copy to Clipboard Copied! Toggle word wrap Toggle overflow - RabbitMQ の設定時に Orchestration サービス用に作成した RabbitMQ ユーザー名とパスワードを設定します。
openstack-config --set /etc/heat/heat.conf \ DEFAULT rabbit_userid heat openstack-config --set /etc/heat/heat.conf \ DEFAULT rabbit_password HEAT_PASS
# openstack-config --set /etc/heat/heat.conf \ DEFAULT rabbit_userid heat # openstack-config --set /etc/heat/heat.conf \ DEFAULT rabbit_password HEAT_PASSCopy to Clipboard Copied! Toggle word wrap Toggle overflow heatおよび HEAT_PASS は、Orchestration サービス用に作成した RabbitMQ ユーザー名とパスワードに置き換えます。 - RabbitMQ の起動時に、
heatユーザーに全リソースに対するパーミッションが付与されます。このアクセスは、特別に仮想ホスト/を介して行われます。Orchestration サービスがこの仮想ホストに接続されるように設定します。openstack-config --set /etc/heat/heat.conf \ DEFAULT rabbit_virtual_host /
# openstack-config --set /etc/heat/heat.conf \ DEFAULT rabbit_virtual_host /Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.2.6. Orchestration サービスとメッセージブローカーとの間の SSL 通信の有効化 リンクのコピーリンクがクリップボードにコピーされました!
手順9.6 Orchestration サービスと RabbitMQ メッセージブローカーとの間の SSL 通信の有効化
- メッセージブローカーとの SSL 通信を有効化します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- /path/to/client.crt はエクスポートされたクライアント証明書の絶対パスに置き換えます。
- /path/to/clientkeyfile.key はエクスポートされたキーファイルの絶対パスに置き換えます。
- 証明書がサードパーティーの認証局 (CA) によって署名されている場合には、次のコマンドを実行する必要もあります。
openstack-config --set /etc/heat/heat.conf \ DEFAULT kombu_ssl_ca_certs /path/to/ca.crt
# openstack-config --set /etc/heat/heat.conf \ DEFAULT kombu_ssl_ca_certs /path/to/ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow /path/to/ca.crt は、サードパーティー CA によって提供された CA ファイルの絶対パスに置き換えます (詳細は 「RabbitMQ メッセージブローカーでの SSL の有効化」 を参照)。
9.3. Orchestration サービスの起動 リンクのコピーリンクがクリップボードにコピーされました!
手順9.7 Orchestration サービスの起動
- Orchestration API サービスを起動して、ブート時に起動するように設定します。
systemctl start openstack-heat-api.service systemctl enable openstack-heat-api.service
# systemctl start openstack-heat-api.service # systemctl enable openstack-heat-api.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Orchestration AWS CloudFormation と互換性のある API サービスを起動して、ブート時に起動するように設定します。
systemctl start openstack-heat-api-cfn.service systemctl enable openstack-heat-api-cfn.service
# systemctl start openstack-heat-api-cfn.service # systemctl enable openstack-heat-api-cfn.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Orchestration AWS CloudWatch と互換性のある API サービスを起動して、ブート時に起動するように設定します。
systemctl start openstack-heat-api-cloudwatch.service systemctl enable openstack-heat-api-cloudwatch.service
# systemctl start openstack-heat-api-cloudwatch.service # systemctl enable openstack-heat-api-cloudwatch.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - テンプレートの起動やイベントを API に送信するために Orchestration API サービスを起動して、ブート時に起動するように設定します。
systemctl start openstack-heat-engine.service systemctl enable openstack-heat-engine.service
# systemctl start openstack-heat-engine.service # systemctl enable openstack-heat-engine.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.4. Orchestration テンプレートを使用したスタックのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
.template ファイルで定義) を使用してインスタンス、IP アドレス、ボリューム、およびその他のタイプのスタックを起動します。heat ユーティリティーは、スタックの作成/設定/起動を可能にするコマンドラインインターフェースです。
注記
yum install -y openstack-heat-templates
# yum install -y openstack-heat-templates
openstack-heat-api-cfn サービスへのアクセスが必要なインスタンスを起動します。このようなインスタンスは、openstack-heat-api-cloudwatch サービスおよび openstack-heat-api-cfn サービスとの通信が可能である必要があります。これらのサービスが使用する IP アドレスおよびポートは、/etc/heat/heat.conf ファイルで heat_metadata_server_url および heat_watch_server_url として設定されている値です。
openstack-heat-api-cloudwatch (8003)、openstack-heat-api-cfn (8000)、openstack-api (8004) が使用するポートを開放する必要があります。
手順9.8 Orchestration テンプレートを使用したスタックのデプロイ
- テキストエディターで
/etc/sysconfig/iptablesファイルを開きます。 8003、8000、8004のポートの TCP トラフィックを許可する以下の INPUT ルールを追加します。-A INPUT -i BR -p tcp --dport 8003 -j ACCEPT -A INPUT -i BR -p tcp --dport 8000 -j ACCEPT -A INPUT -p tcp -m multiport --dports 8004 -j ACCEPT
-A INPUT -i BR -p tcp --dport 8003 -j ACCEPT -A INPUT -i BR -p tcp --dport 8000 -j ACCEPT -A INPUT -p tcp -m multiport --dports 8004 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow BR は、Orchestration テンプレートから起動したインスタンスが使用するブリッジのインターフェースに置き換えます。nova-networkを使用しない場合、または Orcestration サービスおよびnova-computeが同じサーバーでホストされない場合には、INPUTルールに-i BRパラメーターを含めないでください。/etc/sysconfig/iptablesファイルへの変更を保存します。iptablesサービスを再起動して、ファイアウォールの変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - アプリケーションを起動します。
heat stack-create STACKNAME \ --template-file=PATH_TEMPLATE \ --parameters="PARAMETERS"
# heat stack-create STACKNAME \ --template-file=PATH_TEMPLATE \ --parameters="PARAMETERS"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- STACKNAME は、そのスタックに割り当てる名前に置き換えます。この名前は、
heat stack-listコマンドを実行する際に表示されます。 - PATH_TEMPLATE は、
.templateファイルへのパスに置き換えます。 - PARAMETERS は、使用するスタック作成パラメーターのセミコロン区切りリストです。サポートされているパラメーターは、テンプレートファイル自体で定義されています。
9.5. Telemetry および Orchestration サービスの統合 リンクのコピーリンクがクリップボードにコピーされました!
heat stack-create コマンドで作成したスタックのリソース使用状況の監視に Telemetry サービス (およびそのアラーム) を使用することができます。この機能を有効にするには、それに応じて Orchestration サービスのインストールと設定を行う必要があります (詳細は「Telemetry サービスのデプロイメントの概要」を参照)。
/etc/heat/environment.d/default.yaml の resource_registry セクションで以下の行をコメント解除または追加します。
"AWS::CloudWatch::Alarm": "file:///etc/heat/templates/AWS_CloudWatch_Alarm.yaml"
"AWS::CloudWatch::Alarm": "file:///etc/heat/templates/AWS_CloudWatch_Alarm.yaml"
第10章 Dashboard のインストール リンクのコピーリンクがクリップボードにコピーされました!
10.1. Dashboard サービスの要件 リンクのコピーリンクがクリップボードにコピーされました!
- (セキュリティーの関係上)、httpd、mod_wsgi、mod_ssl パッケージをインストールする必要があります。
yum install -y mod_wsgi httpd mod_ssl
# yum install -y mod_wsgi httpd mod_sslCopy to Clipboard Copied! Toggle word wrap Toggle overflow - システムは、Identity サービスおよびその他の OpenStack API サービス (OpenStack Compute、Block Storage、Object Storage、Image および Networking の各サービス) に接続されている必要があります。
- Identity サービスのエンドポイントの URL を知っておく必要があります。
10.2. Dashboard パッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
注記
memcached を使用します。
- openstack-dashboard
- OpenStack Dashboard サービスを提供します。
memcached を使用する場合には、以下のパッケージもインストールする必要があります。
- memcached
- データベースの負荷を軽減することにより、動的な Web アプリケーションを高速化するメモリーオブジェクトキャッシングシステム
- python-memcached
memcachedデーモンへの Python インターフェース
手順10.1 Dashboard パッケージのインストール
- 必要に応じて
memcachedオブジェクトのキャッシュシステムをインストールします。yum install -y memcached python-memcached
# yum install -y memcached python-memcachedCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Dashboard パッケージをインストールします。
yum install -y openstack-dashboard
# yum install -y openstack-dashboardCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.3. Apache Web サービスの起動 リンクのコピーリンクがクリップボードにコピーされました!
httpd サービスによってホストされます。サービスを起動して、ブート時に起動するように設定します。
systemctl start httpd.service systemctl enable httpd.service
# systemctl start httpd.service
# systemctl enable httpd.service
10.4. Dashboard の設定 リンクのコピーリンクがクリップボードにコピーされました!
10.4.1. 接続とロギングの設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/openstack-dashboard/local_settings ファイルで以下のパラメーターを設定します (サンプルファイルは、https://access.redhat.com/site/documentation/ja/Red_Hat_Enterprise_Linux_OpenStack_Platform に掲載されている『Configuration Reference Guide』を参照してください)。
手順10.2 Dashboard の接続およびロギングの設定
ALLOWED_HOSTSパラメーターにアプリケーションがサービス提供可能なホスト/ドメイン名のコンマ区切りリストで指定します。例は以下のとおりです。ALLOWED_HOSTS = ['horizon.example.com', 'localhost', '192.168.20.254', ]
ALLOWED_HOSTS = ['horizon.example.com', 'localhost', '192.168.20.254', ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow CACHESの設定は、memcachedの値を使用して更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- memcacheURL は、
memcachedがインストールされたホストの IP アドレスに置き換えます。 - port は
/etc/sysconfig/memcachedファイルのPORTパラメーターからの値に置き換えます。
- Identity サービスのエンドポイントのホスト URL を以下のように指定します。
OPENSTACK_KEYSTONE_URL="127.0.0.1"
OPENSTACK_KEYSTONE_URL="127.0.0.1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Dashboard のタイムゾーンを更新します。
TIME_ZONE="UTC"
TIME_ZONE="UTC"Copy to Clipboard Copied! Toggle word wrap Toggle overflow タイムゾーンは、Dashboard GUI を使用して更新することも可能です。 - 設定の変更を有効にするには、Apache サーバーを再起動します。
systemctl restart httpd.service
# systemctl restart httpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
注記
HORIZON_CONFIG ディレクトリーには Dashboard のすべての設定が含まれます。サービスが Dashboard に含まれているかどうかは、Identity サービスの Service Catalog configuration によって決定します。
注記
django-secure モジュールを使用して、推奨プラクティスと最新のブラウザー保護メカニズムの大半を有効にすることをお勧めします。詳しい情報は http://django-secure.readthedocs.org/en/latest/ (『django-secure』) を参照してください。
10.4.2. HTTPS で使用するための Dashboard の設定 リンクのコピーリンクがクリップボードにコピーされました!
手順10.3 HTTPS を使用するためのダッシュボードの設定
- テキストエディターで
/etc/openstack-dashboard/local_settingsファイルを開き、以下のパラメーターをアンコメントします。後の 2 つの設定は、Dashboard のクッキーを HTTPS 接続のみで送信するようにブラウザーに指示して、セッションが HTTP 上では機能しないようにします。SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https') CSRF_COOKIE_SECURE = True SESSION_COOKIE_SECURE = TrueSECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https') CSRF_COOKIE_SECURE = True SESSION_COOKIE_SECURE = TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - テキストエディターで
/etc/httpd/conf/httpd.confファイルを開き、以下の行を追加します。NameVirtualHost *:443
NameVirtualHost *:443Copy to Clipboard Copied! Toggle word wrap Toggle overflow - テキストエディターで
/etc/httpd/conf.d/openstack-dashboard.confファイルを開きます。- 以下の行を削除します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下の行を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
新しい設定では、Apache がポート 443 をリッスンし、セキュリティーで保護されていない要求をすべて HTTPS プロトコルにリダイレクトします。<VirtualHost *:443>のセクションでは、秘密鍵、公開鍵、証明書など、このプロトコルに必要なオプションを定義します。 - Apache サービスと
memcachedサービスを再起動します。systemctl restart httpd.service systemctl restart memcached.service
# systemctl restart httpd.service # systemctl restart memcached.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.3. Dashboard のデフォルトロールの変更 リンクのコピーリンクがクリップボードにコピーされました!
_member_ という Identity ロールを使用します。これは、一般ユーザーに適切なロールです。別のロールを作成することを選択し、Dashboard がそのロールを使用するように設定する場合には、このロールは、Dashboard を使用する前に Identity サービスで作成してから Dashboard が使用するように設定しておく必要があります。
keystonerc_admin ファイルをコピーして keystone コマンドラインユーティリティーをインストールした任意のマシンで実行してください。
手順10.4 Dashboard のデフォルトロールの変更
- Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 新しいロールを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NEW_ROLE は、そのロールの名前に置き換えます。 - テキストエディターで
/etc/openstack-dashboard/local_settingsファイルを開き、以下のパラメーターの値を変更します。OPENSTACK_KEYSTONE_DEFAULT_ROLE = 'NEW_ROLE'
OPENSTACK_KEYSTONE_DEFAULT_ROLE = 'NEW_ROLE'Copy to Clipboard Copied! Toggle word wrap Toggle overflow NEW_ROLE は、前のステップで作成したロールの名前に置き換えます。 - Apache サービスを再起動し、変更を有効にします。
systemctl restart httpd.service
# systemctl restart httpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.4. SELinux の設定 リンクのコピーリンクがクリップボードにコピーされました!
httpd サービスから Identity サーバーへの通信を許可する必要があります。この設定変更は、SELinux が「Permissive」モードに設定されている場合にも推奨されます。
手順10.5 SELinux が Apache サービスからの接続を許可するように設定
- システム上の SELinux のステータスを確認します。
getenforce
# getenforceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 出力された値が「Enforcing」、「Permissive」の場合には、
httpdサービスと Identity サービスの間の接続が可能です。setsebool -P httpd_can_network_connect on
# setsebool -P httpd_can_network_connect onCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.5. Dashboard のファイアウォール設定 リンクのコピーリンクがクリップボードにコピーされました!
httpd サービスと Dashboard は、HTTP 接続と HTTPS 接続の両方をサポートします。以下の手順に記載するステップはすべて、httpd サービスをホストするサーバーに root ユーザーとしてログインして実行する必要があります。
注記
手順10.6 Dashboard のトラフィックを許可するためのファイアウォール設定
- テキストエディターで
/etc/sysconfig/iptablesの設定ファイルを開きます。- HTTPS のみを使用した受信接続を許可するには、以下のファイアウォールルールを追加します。
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow - HTTP および HTTPS の両方を使用した受信接続を許可するには、以下のファイアウォールルールを追加します。
-A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow
iptablesサービスを再起動して、ファイアウォールの変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
重要
10.5. Dashboard のインストールの検証 リンクのコピーリンクがクリップボードにコピーされました!
- HTTPS
https://HOSTNAME/dashboard/
https://HOSTNAME/dashboard/Copy to Clipboard Copied! Toggle word wrap Toggle overflow - HTTP
http://HOSTNAME/dashboard/
http://HOSTNAME/dashboard/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
図10.1 Dashboard のログイン画面
第11章 Data Processing サービスのインストール リンクのコピーリンクがクリップボードにコピーされました!
11.1. Data Processing サービスのパッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
yum install openstack-sahara-api openstack-sahara-engine
# yum install openstack-sahara-api openstack-sahara-engine
openstack-sahara-api サービスを提供します。
11.2. Data Processing サービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
- Data Processing サービスのデータベース接続の設定
- Data Processing API サーバーが Identity サービスで認証を行うための設定
- ファイアウォールが Data Processing サービスのサービストラフィックを (ポート
8386で) 許可する設定
11.2.1. Data Processing サービスデータベースの作成 リンクのコピーリンクがクリップボードにコピーされました!
/etc/sahara/sahara.conf ファイルで定義します。 Data Processing API サービス (openstack-sahara-api) を起動する前に、有効なデータベースサーバーを参照するように更新する必要があります。
手順11.1 Data Processing API サービスのデータベースの作成および設定
- データベースサービスに接続します。
mysql -u root -p
# mysql -u root -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow saharaデータベースを作成します。mysql> CREATE DATABASE sahara;
mysql> CREATE DATABASE sahara;Copy to Clipboard Copied! Toggle word wrap Toggle overflow saharaデータベースユーザーを作成し、saharaデータベースへのアクセスを許可します。mysql> GRANT ALL ON sahara.* TO 'sahara'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON sahara.* TO 'sahara'@'localhost' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL ON sahara.* TO 'sahara'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON sahara.* TO 'sahara'@'localhost' IDENTIFIED BY 'PASSWORD';Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュアなパスワードに置き換えます。mysqlクライアントを終了します。mysql> quit
mysql> quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow sql_connection設定キーの値を設定します。openstack-config --set /etc/sahara/sahara.conf \ database connection mysql://sahara:PASSWORD@IP/sahara# openstack-config --set /etc/sahara/sahara.conf \ database connection mysql://sahara:PASSWORD@IP/saharaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- PASS は選択したデータベースユーザーのパスワードに置き換えます。
- IP は、データベースサービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。
saharaデータベースのスキーマを設定します。sahara-db-manage --config-file /etc/sahara/sahara.conf upgrade head
# sahara-db-manage --config-file /etc/sahara/sahara.conf upgrade headCopy to Clipboard Copied! Toggle word wrap Toggle overflow
重要
11.2.2. Data Processing サービス用のアイデンティティーレコードの作成 リンクのコピーリンクがクリップボードにコピーされました!
services テナントが作成済みであることを前提としています。詳しい説明は、以下のリンクを参照してください。
keystonerc_admin ファイルをコピーして keystone コマンドラインユーティリティーをインストールした任意のマシンで実行してください。
手順11.2 Data Processing サービス用のアイデンティティーレコードの作成
- Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow saharaユーザーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、Data Processing サービスが Identity サービスとの認証を行う際に使用するセキュアなパスワードに置き換えます。servicesテナントのコンテキスト内で、saharaユーザーとadminロールを関連付けます。[(keystone_admin)]# openstack role add --project services --user sahara admin
[(keystone_admin)]# openstack role add --project services --user sahara adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow saharaのサービスエントリーを作成します。[(keystone_admin)]# openstack service create --name sahara \ --description "OpenStack Data Processing" \ data-processing
[(keystone_admin)]# openstack service create --name sahara \ --description "OpenStack Data Processing" \ data-processingCopy to Clipboard Copied! Toggle word wrap Toggle overflow saharaエンドポイントエントリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow SAHARA_HOST は Data Processing サービスをホストするサーバーの IP アドレスまたは完全修飾ドメイン名に置き換えます。注記
デフォルトでは、エンドポイントはデフォルトのリージョンであるRegionOneで作成されます (この値は大文字小文字の区別があります)。エンドポイントの作成時に異なるリージョンを指定するには、--region引数を使用して指定してください。詳しい情報は 「サービスのリージョン」 を参照してください。
11.2.3. Data Processing サービスの認証設定 リンクのコピーリンクがクリップボードにコピーされました!
openstack-sahara-api) が認証に Identity サービスを使用するように設定します。以下の手順に記載するステップはすべて、Data Processing API サービスをホストするサーバーに root ユーザーとしてログインして実行する必要があります。
手順11.3 Data Processing API サービスが Identity サービスを使用して認証を行うための設定
- Data Processing API サービスが使用する必要のある Identity サービスホストを設定します。
openstack-config --set /etc/sahara/sahara.conf \ keystone_authtoken auth_uri http://IP:5000/v2.0/ openstack-config --set /etc/sahara/sahara.conf \ keystone_authtoken identity_uri http://IP:35357
# openstack-config --set /etc/sahara/sahara.conf \ keystone_authtoken auth_uri http://IP:5000/v2.0/ # openstack-config --set /etc/sahara/sahara.conf \ keystone_authtoken identity_uri http://IP:35357Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Identity サービスをホストするサーバーの IP アドレスに置き換えます。 - Data Processing API サービスが正しいテナントとして認証を行うように設定します。
openstack-config --set /etc/sahara/sahara.conf \ keystone_authtoken admin_tenant_name services
# openstack-config --set /etc/sahara/sahara.conf \ keystone_authtoken admin_tenant_name servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow services は、Data Processing サービスを使用するために作成したテナントの名前に置き換えます。本ガイドの例では、servicesを使用しています。 - Data Processing API サービスが
sahara管理ユーザーアカウントを使用して認証を行うように設定します。openstack-config --set /etc/sahara/sahara.conf \ keystone_authtoken admin_user sahara
# openstack-config --set /etc/sahara/sahara.conf \ keystone_authtoken admin_user saharaCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Data Processing API サービスが正しい
sahara管理ユーザーアカウントのパスワードを使用するように設定します。openstack-config --set /etc/sahara/sahara.conf \ keystone_authtoken admin_password PASSWORD
# openstack-config --set /etc/sahara/sahara.conf \ keystone_authtoken admin_password PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、saharaユーザーの作成時に設定したパスワードに置き換えます。
11.2.4. OpenStack Data Processing サービスのトラフィックを許可するためのファイアウォール設定 リンクのコピーリンクがクリップボードにコピーされました!
8386 で接続を受信します。このサービスノードのファイアウォールは、このポートのネットワークトラフィックを許可するように設定する必要があります。以下の手順に記載するステップはすべて、Data Processing サービスをホストするサーバーに root ユーザーとしてログインして実行する必要があります。
手順11.4 Data Processing サービスのトラフィックを許可するためのファイアウォール設定
- テキストエディターで
/etc/sysconfig/iptablesファイルを開きます。 - ポート
8386で TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。-A INPUT -p tcp -m multiport --dports 8386 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 8386 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/iptablesファイルへの変更を保存します。iptablesサービスを再起動して、変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.3. Data Processing サービスの設定と起動 リンクのコピーリンクがクリップボードにコピーされました!
手順11.5 Data Processing サービスの起動
- OpenStack のデプロイメントで OpenStack Networking (
neutron) を使用する場合は、Data Processing サービスを適切に設定する必要があります。openstack-config --set /etc/sahara/sahara.conf \ DEFAULT use_neutron true
# openstack-config --set /etc/sahara/sahara.conf \ DEFAULT use_neutron trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Data Processing サービスを起動して、ブート時に起動するように設定します。
systemctl start openstack-sahara-api.service systemctl start openstack-sahara-engine.service systemctl enable openstack-sahara-api.service systemctl enable openstack-sahara-engine.service
# systemctl start openstack-sahara-api.service # systemctl start openstack-sahara-engine.service # systemctl enable openstack-sahara-api.service # systemctl enable openstack-sahara-engine.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第12章 Telemetry サービスのインストール リンクのコピーリンクがクリップボードにコピーされました!
12.1. Telemetry サービスのデプロイメントの概要 リンクのコピーリンクがクリップボードにコピーされました!
openstack-ceilometer エージェント 3 つで構成されます。API サーバー (openstack-ceilometer-api パッケージによって提供) は、単一または複数の中央管理サーバー上で実行され、Telemetry データベースへのアクセスを提供します。
注記
mongod は、Telemetry サービスがサポートする唯一のデータベースサービスです。
- 中央エージェント (openstack-ceilometer-central により提供): 集中サーバー上で実行され、パブリックの REST API をポーリングして (通知を介して、またはハイパーバイザーレイヤーから) 表示が可能でないリソースの統計を活用します。
- コレクター (openstack-ceilometer-collector により提供): 単一または複数の中央管理サーバーで実行され、リソースの使用状況に関する通知を受信します。またコレクターは、リソース使用状況の統計の解析も行って、Telemetry データベースにデータポイントとして保存します。
- コンピュートエージェント (openstack-ceilometer-compute により提供): 各 Compute サービスノードで実行され、インスタンスの使用状況の統計をポーリングします。openstack-ceilometer-compute パッケージをノードにインストールする前には、あらかじめ Compute サービスのインストールと設定を済ませておく必要があります。
- Identity サービスのトークンおよび Telemetry シークレットなどの認証
- Telemetry データベースに接続するためのデータベース接続文字列
/etc/ceilometer/ceilometer.conf で設定されます。このため、同じホストにデプロイされたコンポーネントは、同じ設定を共有することになります。Telemetry コンポーネントが複数のホストにデプロイされる場合には、認証の変更をこれらのホストに複製する必要があります。これは、新規設定を適用した後に ceilometer.conf ファイルを全ホストにコピーすることによって対応することができます。
12.2. Telemetry サービスのパッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
- mongodb
- MongoDB データベースサーバーを提供します。Telemetry サービスは MongoDB をバックエンドデータリポジトリーとして使用します。
- openstack-ceilometer-api
ceilometerAPI サーバーを提供します。- openstack-ceilometer-central
- 中央
ceilometerエージェントを提供します。 - openstack-ceilometer-collector
ceilometerコレクターエージェントを提供します。- openstack-ceilometer-common
- 全
ceilometerサービスに共通のコンポーネントを提供します。 - openstack-ceilometer-compute
- 各コンピュートノードで実行する必要のある
ceilometerエージェントを提供します。 - openstack-ceilometer-notification
ceilometer通知エージェントを提供します。このエージェントは、別の OpenStack サービスからコレクターエージェントにメトリックを提供します。- python-ceilometer
ceilometerpython ライブラリーを提供します。- python-ceilometerclient
ceilometerコマンドラインツールと Python API (具体的にはceilometerclientモジュール) を提供します。
yum install -y mongodb openstack-ceilometer-* python-ceilometer python-ceilometerclient
# yum install -y mongodb openstack-ceilometer-* python-ceilometer python-ceilometerclient
12.3. MongoDB バックエンドの設定および Telemetry データベースの作成 リンクのコピーリンクがクリップボードにコピーされました!
mongod サービスを起動する前に、オプションで mongod が --smallfiles パラメーター使用して実行するように設定する必要がある場合があります。このパラメーターは、MongoDB がより小さなデフォルトのデータファイルとジャーナルサイズを使用するように設定します。これにより、MongoDB は各データファイルのサイズを制限し、512 MB に達すると新規ファイルを作成して書き込みます。
手順12.1 MongoDB バックエンドの設定および Telemetry データベースの作成
- オプションで、
mongodが--smallfilesパラメーターを指定して実行するように設定します。テキストエディターで/etc/sysconfig/mongodファイルを開き、以下の行を追加します。OPTIONS="--smallfiles /etc/mongodb.conf"
OPTIONS="--smallfiles /etc/mongodb.conf"Copy to Clipboard Copied! Toggle word wrap Toggle overflow MongoDB は、mongodの起動時にOPTIONSセクションで指定したパラメーターを使用します。 - MongoDB サービスを起動します。
systemctl start mongod.service
# systemctl start mongod.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ローカルホスト以外のサーバーからデータベースにアクセスする必要がある場合には、テキストエディターで
/etc/mongod.confファイルを開き、bind_ipを MongoDB サーバーの IP アドレスに更新します。bind_ip = MONGOHOST
bind_ip = MONGOHOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow - テキストエディターで
/etc/sysconfig/iptablesファイルを開き、ポート27017の TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載するようにしてください。-A INPUT -p tcp -m multiport --dports 27017 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 27017 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow iptablesサービスを再起動して、変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Telemetry サービス用のデータベースを作成します。
mongo --host MONGOHOST --eval '
# mongo --host MONGOHOST --eval ' db = db.getSiblingDB("ceilometer"); db.addUser({user: "ceilometer", pwd: "MONGOPASS", roles: [ "readWrite", "dbAdmin" ]})'Copy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、ceilometerという名前のデータベースユーザーも作成されます。MONGOHOST は、MongoDB データベースをホストするサーバーの IP アドレスまたはホスト名に、MONGOPASS はceilometerユーザーのパスワードに置き換えます。
12.4. Telemetry サービスのデータベース接続の設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/ceilometer/ceilometer.conf ファイルで定義されています。この URL は、Telemetry の API サービス (openstack-ceilometer-api)、通知エージェント (openstack-ceilometer-notification)、コレクターエージェント (openstack-ceilometer-collector) を起動する前に、有効なデータベースサーバーをポイントするように設定する必要があります。
openstack-ceilometer-api サービスおよび openstack-ceilometer-collector サービスをホストするサーバーに root ユーザーとしてログインして実行する必要があります。
手順12.2 Telemetry サービスのデータベース接続の設定
- データベース接続文字列の設定
openstack-config --set /etc/ceilometer/ceilometer.conf \ database connection mongodb://ceilometer:MONGOPASS@MONGOHOST/ceilometer
# openstack-config --set /etc/ceilometer/ceilometer.conf \ database connection mongodb://ceilometer:MONGOPASS@MONGOHOST/ceilometerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- MONGOPASS は、データベースサーバーにログインするために Telemetry サービスが必要とする
ceilometerユーザーのパスワードに置き換えます。データベースサーバーが必要とする場合のみ、これらの認証情報を提示してください (例: データベースサーバーが別のシステムまたはノードでホストされている場合)。 - MONGOHOST は、データベースサービスをホストするサーバーの IP アドレスまたはホスト名およびポートに置き換えます。
MongoDB が同じホスト上のローカルでホストされている場合には、必要となるデータベース接続文字列は以下のとおりです。mongodb://localhost:27017/ceilometer
mongodb://localhost:27017/ceilometerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
12.5. Telemetry アイデンティティーレコードの作成 リンクのコピーリンクがクリップボードにコピーされました!
services テナントが作成済みであることを前提としています。詳しい説明は、以下のリンクを参照してください。
keystonerc_admin ファイルをコピーして keystone コマンドラインユーティリティーをインストールした任意のマシンで実行してください。
手順12.3 Telemetry サービス用のアイデンティティーレコードの作成
- Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow ceilometerユーザーを作成します。[(keystone_admin)]# openstack user create --password PASSWORD --email CEILOMETER_EMAIL ceilometer
[(keystone_admin)]# openstack user create --password PASSWORD --email CEILOMETER_EMAIL ceilometerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- PASSWORD は、Telemetry サービスが Identity サービスとの認証を行う際に使用するセキュアなパスワードに置き換えます。
- CEILOMETER_EMAIL は、Telemetry サービスの使用するメールアドレスに置き換えます。
ResellerAdminロールを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow servicesテナントのコンテキスト内で、ceilometerユーザーとResellerAdminロールを関連付けます。[(keystone_admin)]# openstack role add --project services --user ceilometer ResellerAdmin
[(keystone_admin)]# openstack role add --project services --user ceilometer ResellerAdminCopy to Clipboard Copied! Toggle word wrap Toggle overflow servicesテナントのコンテキスト内で、ceilometerユーザーとadminロールを関連付けます。[(keystone_admin)]# openstack role add --project services --user ceilometer admin
[(keystone_admin)]# openstack role add --project services --user ceilometer adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow ceilometerのサービスエントリーを作成します。[(keystone_admin)]# openstack service create --name ceilometer \ --description "OpenStack Telemetry Service" \ metering[(keystone_admin)]# openstack service create --name ceilometer \ --description "OpenStack Telemetry Service" \ meteringCopy to Clipboard Copied! Toggle word wrap Toggle overflow ceilometerエンドポイントエントリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Telemetry サービスをホストするサーバーの IP アドレスまたはホスト名に置き換えます。注記
デフォルトでは、エンドポイントはデフォルトのリージョンであるRegionOneで作成されます (この値は大文字小文字の区別があります)。エンドポイントの作成時に異なるリージョンを指定するには、--region引数を使用して指定してください。詳しい情報は 「サービスのリージョン」 を参照してください。
12.6. Telemetry サービスの認証の設定 リンクのコピーリンクがクリップボードにコピーされました!
openstack-ceilometer-api) が認証に Identity サービスを使用するように設定します。以下の手順に記載するステップはすべて、Telemetry API サービスをホストするサーバーに root ユーザーとしてログインして実行する必要があります。
手順12.4 Telemetry サービスが Identity サービスを使用して認証を行うための設定
- Telemetry API サービスが使用する必要のある Identity サービスのホストを設定します。
openstack-config --set /etc/ceilometer/ceilometer.conf \ keystone_authtoken auth_host IP
# openstack-config --set /etc/ceilometer/ceilometer.conf \ keystone_authtoken auth_host IPCopy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Identity サービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。 - Telemetry API サービスが使用する必要のある Identity サービスのホストを設定します。
openstack-config --set /etc/ceilometer/ceilometer.conf \ keystone_authtoken auth_port PORT
# openstack-config --set /etc/ceilometer/ceilometer.conf \ keystone_authtoken auth_port PORTCopy to Clipboard Copied! Toggle word wrap Toggle overflow PORT は、Identity サービスが使用する認証ポート (通常は35357) に置き換えます。 - Telemetry API サービスで認証に
httpプロトコルを使用するように設定します。openstack-config --set /etc/ceilometer/ceilometer.conf \ keystone_authtoken auth_protocol http
# openstack-config --set /etc/ceilometer/ceilometer.conf \ keystone_authtoken auth_protocol httpCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Telemetry API サービス が正しいテナントとして認証を行うように設定します。
openstack-config --set /etc/ceilometer/ceilometer.conf \ keystone_authtoken admin_tenant_name services
# openstack-config --set /etc/ceilometer/ceilometer.conf \ keystone_authtoken admin_tenant_name servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow services は、Telemetry サービスを使用するために作成したテナントの名前に置き換えます。本ガイドの例では、servicesを使用しています。 - Telemetry サービスが
ceilometer管理ユーザーアカウントを使用して認証を行うように設定します。openstack-config --set /etc/ceilometer/ceilometer.conf \ keystone_authtoken admin_user ceilometer
# openstack-config --set /etc/ceilometer/ceilometer.conf \ keystone_authtoken admin_user ceilometerCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Telemetry サービスが正しい
ceilometer管理ユーザーアカウントパスワードを使用するように設定します。openstack-config --set /etc/ceilometer/ceilometer.conf \ keystone_authtoken admin_password PASSWORD
# openstack-config --set /etc/ceilometer/ceilometer.conf \ keystone_authtoken admin_password PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、ceilometerユーザーの作成時に設定したパスワードに置き換えます。 - Telemetry シークレットは、複数のホスト全体にわたって Telemetry サービスの全コンポーネント間の通信 (例: コレクターエージェントとコンピュートノードエージェントの間の通信など) のセキュリティー保護を支援するために使用する文字列です。この Telemetry シークレットを設定するには、以下のコマンドを実行します。
openstack-config --set /etc/ceilometer/ceilometer.conf \ publisher_rpc metering_secret SECRET
# openstack-config --set /etc/ceilometer/ceilometer.conf \ publisher_rpc metering_secret SECRETCopy to Clipboard Copied! Toggle word wrap Toggle overflow SECRET は、全 Telemetry サービスのコンポーネントが AMQP で送受信されたメッセージの署名および検証に使用する必要のある文字列に置き換えます。 - 各コンポーネントをデプロイするホストで、中央エージェント、コンピュートエージェント、アラームエバリュエーターが使用するサービスエンドポイントを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- IP は、Identity サービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。
- PASSWORD は、
ceilometerユーザーの作成時に設定したパスワードに置き換えます。
12.7. Telemetry サービスのトラフィックを許可するためのファイアウォール設定 リンクのコピーリンクがクリップボードにコピーされました!
8777 で接続を受信します。このサービスノードのファイアウォールは、このポートのネットワークトラフィックを許可するように設定する必要があります。以下の手順に記載するステップはすべて、Telemetry サービスをホストするサーバーに root ユーザーとしてログインして実行する必要があります。
手順12.5 Telemetry サービスのトラフィックを許可するためのファイアウォール設定
- テキストエディターで
/etc/sysconfig/iptablesファイルを開きます。 - このファイルに、ポート
8777で TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。-A INPUT -p tcp -m multiport --dports 8777 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 8777 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/iptablesファイルへの変更を保存します。iptablesサービスを再起動して、変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
12.8. Telemetry サービスのための RabbitMQ メッセージブローカーの設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順12.6 Telemetry サービスが RabbitMQ メッセージブローカーを使用するための設定
- RPC バックエンドとして RabbitMQ を設定します。
openstack-config --set /etc/ceilometer/ceilometer.conf \ DEFAULT rpc_backend rabbit
# openstack-config --set /etc/ceilometer/ceilometer.conf \ DEFAULT rpc_backend rabbitCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Telemetry サービスが RabbitMQ ホストに接続するように設定します。
openstack-config --set /etc/ceilometer/ceilometer.conf \ DEFAULT rabbit_host RABBITMQ_HOST
# openstack-config --set /etc/ceilometer/ceilometer.conf \ DEFAULT rabbit_host RABBITMQ_HOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow RABBITMQ_HOST は、メッセージブローカーの IP アドレスまたはホスト名に置き換えます。 - メッセージブローカーのポートを
5672に設定します。openstack-config --set /etc/ceilometer/ceilometer.conf \ DEFAULT rabbit_port 5672
# openstack-config --set /etc/ceilometer/ceilometer.conf \ DEFAULT rabbit_port 5672Copy to Clipboard Copied! Toggle word wrap Toggle overflow - RabbitMQ の設定時に Telemetry サービス用に作成した RabbitMQ ユーザー名とパスワードを設定します。
openstack-config --set /etc/ceilometer/ceilometer.conf \ DEFAULT rabbit_userid ceilometer openstack-config --set /etc/ceilometer/ceilometer.conf \ DEFAULT rabbit_password CEILOMETER_PASS
# openstack-config --set /etc/ceilometer/ceilometer.conf \ DEFAULT rabbit_userid ceilometer # openstack-config --set /etc/ceilometer/ceilometer.conf \ DEFAULT rabbit_password CEILOMETER_PASSCopy to Clipboard Copied! Toggle word wrap Toggle overflow ceilometerおよび CEILOMETER_PASS は、Telemetry サービス用に作成したRabbitMQ ユーザー名とパスワードに置き換えます。 - RabbitMQ の起動時に、
ceilometerユーザーに全リソースに対するパーミッションが付与されます。このアクセスは、特別に仮想ホスト/を介して行われます。Telemetry サービスがこの仮想ホストに接続されるように設定します。openstack-config --set /etc/ceilometer/ceilometer.conf \ DEFAULT rabbit_virtual_host /
# openstack-config --set /etc/ceilometer/ceilometer.conf \ DEFAULT rabbit_virtual_host /Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.9. コンピュートノードの設定 リンクのコピーリンクがクリップボードにコピーされました!
openstack-ceilometer-compute) から使用状況データを収集することにより、そのノードを監視します。ノードのコンピュートエージェントは、Telemetry コンポーネントをすでに設定済みの別のホストから /etc/ceilometer/ceilometer.conf ファイルを複製することで設定できます。
手順12.7 コンピュートノード上での通知の有効化
- ノードで openstack-ceilometer-compute、python-ceilometer、python-ceilometerclient をインストールします。
yum install openstack-ceilometer-compute python-ceilometer python-ceilometerclient
# yum install openstack-ceilometer-compute python-ceilometer python-ceilometerclientCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ノード上で監査を有効にします。
openstack-config --set /etc/nova/nova.conf \ DEFAULT instance_usage_audit True
# openstack-config --set /etc/nova/nova.conf \ DEFAULT instance_usage_audit TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 監査の頻度を設定します。
openstack-config --set /etc/nova/nova.conf \ DEFAULT instance_usage_audit_period hour
# openstack-config --set /etc/nova/nova.conf \ DEFAULT instance_usage_audit_period hourCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 通知をトリガーする状態変更の種別を設定します。
openstack-config --set /etc/nova/nova.conf \ DEFAULT notify_on_state_change vm_and_task_state
# openstack-config --set /etc/nova/nova.conf \ DEFAULT notify_on_state_change vm_and_task_stateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードが正しい通知ドライバーを使用するように設定します。テキストエディターで
/etc/nova/nova.confファイルを開き、DEFAULTセクションに以下の表を追加します。notification_driver = messagingv2 notification_driver = ceilometer.compute.nova_notifier
notification_driver = messagingv2 notification_driver = ceilometer.compute.nova_notifierCopy to Clipboard Copied! Toggle word wrap Toggle overflow コンピュートノードには、2 種の通知ドライバーが必要です。これらのドライバーは、同じ設定キーを使用して定義されます。openstack-configを使用して、この値を設定することはできません。 - コンピュートエージェントを開始します。
systemctl start openstack-ceilometer-compute.service
# systemctl start openstack-ceilometer-compute.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - エージェントがブート時に起動するように設定します。
systemctl enable openstack-ceilometer-compute.service
# systemctl enable openstack-ceilometer-compute.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow openstack-nova-computeサービスを再起動して、/etc/nova/nova.confに加えた変更をすべて適用します。systemctl restart openstack-nova-compute.service
# systemctl restart openstack-nova-compute.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
12.10. 監視対象サービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
yum install python-ceilometer python-ceilometerclient
# yum install python-ceilometer python-ceilometerclient
注記
- Image サービス (
glance) openstack-config --set /etc/glance/glance-api.conf \ DEFAULT notifier_strategy NOTIFYMETHOD
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT notifier_strategy NOTIFYMETHODCopy to Clipboard Copied! Toggle word wrap Toggle overflow NOTIFYMETHOD は通知キューrabbit(rabbitmqキューを使用する場合) またはqpid(qpidメッセージキューを使用する場合) に置き換えます。- Block Storage サービス (
cinder) Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Object Storage サービス (
swift) - Telemetry サービスは、Telemetry に必要なアイデンティティーレコードの設定時に作成した
ResellerAdminロールを使用して Object Storage サービス (swift) からサンプルを収集します。また、Object Storage サービスがceilometerからのトラフィックを処理するように設定する必要があります。- テキストエディターで
/etc/swift/proxy-server.confファイルを開いて以下の行を追加します。[filter:ceilometer] use = egg:ceilometer#swift [pipeline:main] pipeline = healthcheck cache authtoken keystoneauth ceilometer proxy-server
[filter:ceilometer] use = egg:ceilometer#swift [pipeline:main] pipeline = healthcheck cache authtoken keystoneauth ceilometer proxy-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow swiftユーザーをceilometerグループに追加します。usermod -a -G ceilometer swift
# usermod -a -G ceilometer swiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Object Storage サービスが
/var/log/ceilometer/swift-proxy-server.logにログを出力できるようにします。touch /var/log/ceilometer/swift-proxy-server.log chown ceilometer:ceilometer /var/log/ceilometer/swift-proxy-server.log chmod 664 /var/log/ceilometer/swift-proxy-server.log
# touch /var/log/ceilometer/swift-proxy-server.log # chown ceilometer:ceilometer /var/log/ceilometer/swift-proxy-server.log # chmod 664 /var/log/ceilometer/swift-proxy-server.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- OpenStack Networking (
neutron) - Telemetry は IP アドレスの範囲を区別するためのラベルの使用をサポートしています。OpenStack Networking と Telemetry との 統合を有効化します。
openstack-config --set /etc/neutron/neutron.conf \ DEFAULT notification_driver messagingv2
# openstack-config --set /etc/neutron/neutron.conf \ DEFAULT notification_driver messagingv2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.11. Telemetry の API およびエージェントの起動 リンクのコピーリンクがクリップボードにコピーされました!
systemctl start SERVICENAME.service systemctl enable SERVICENAME.service
# systemctl start SERVICENAME.service
# systemctl enable SERVICENAME.service
- openstack-ceilometer-compute
- openstack-ceilometer-central
- openstack-ceilometer-collector
- openstack-ceilometer-api
- openstack-ceilometer-notification
第13章 Telemetry Alarming サービスのインストール リンクのコピーリンクがクリップボードにコピーされました!
Aodh) は、Telemetry サービスで収集されたデータに基づいて定義済みのアクションをトリガーします。
13.1. Telemetry Alarming サービスのパッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
- openstack-aodh-api
- OpenStack Telemetry Alarming サービスのメインの API を提供します。
- openstack-aodh-common
- OpenStack Telemetry Alarming サービスのコンポーネントすべてに共通するファイルを提供します。
- openstack-aodh-evaluator
- アラームをいつトリガーするかを判断するアラームエバリュエーターを提供します。
- openstack-aodh-expirer
- 失効したアラームの履歴データを消去する、エクスパイアラーコンポーネントを提供します。
- openstack-aodh-listener
- 定義済みのアクションを実行するリスナーデーモンを提供します。
- openstack-aodh-notifier
- アラームの設定が可能なノーティファイアーデーモンを提供します。
- python-aodh
- OpenStack Telemetry Alarming サービスの Python ライブラリーを提供します。
- python-aodhclient
- OpenStack Telemetry Alarming サービスのコマンドラインツールおよび Python API (具体的には aodhclient モジュール) を提供します。
yum install openstack-aodh-api openstack-aodh-evaluator openstack-aodh-expirer openstack-aodh-listener openstack-aodh-notifier python-aodhclient
# yum install openstack-aodh-api openstack-aodh-evaluator openstack-aodh-expirer openstack-aodh-listener openstack-aodh-notifier python-aodhclient
13.2. Telemetry Alarming サービスデータベースの作成 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順13.1 Telemetry Alarming サービスデータベースの作成
- データベースサービスに接続します。
mysql -u root -p
# mysql -u root -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow aodhデータベースを作成します。mysql> CREATE DATABASE aodh;
mysql> CREATE DATABASE aodh;Copy to Clipboard Copied! Toggle word wrap Toggle overflow aodhデータベースユーザーを作成し、aodhデータベースへのアクセスを許可します。mysql> GRANT ALL ON aodh.* TO 'aodh'@'%' IDENTIFIED BY 'AODH_PASSWORD'; mysql> GRANT ALL ON aodh.* TO 'aodh'@'localhost' IDENTIFIED BY 'AODH_PASSWORD';
mysql> GRANT ALL ON aodh.* TO 'aodh'@'%' IDENTIFIED BY 'AODH_PASSWORD'; mysql> GRANT ALL ON aodh.* TO 'aodh'@'localhost' IDENTIFIED BY 'AODH_PASSWORD';Copy to Clipboard Copied! Toggle word wrap Toggle overflow AODH_PASSWORD は、このユーザーとしてデータベースサーバーとの認証を行う際に使用するセキュアなパスワードに置き換えます。mysqlクライアントを終了します。mysql> quit
mysql> quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow
13.3. Telemetry Alarming サービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
13.3.1. Telemetry Alarming サービスのデータベース接続の設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/aodh/aodh.conf ファイルで定義されます。以下のコマンドを実行して、URL を設置してください。
openstack-config --set /etc/aodh/aodh.conf \ database connection mysql+pymysql://aodh:AODH_PASSWORD@IP/aodh
# openstack-config --set /etc/aodh/aodh.conf \
database connection mysql+pymysql://aodh:AODH_PASSWORD@IP/aodh
13.3.2. Telemetry Alarming サービスのアイデンティティーレコードの作成 リンクのコピーリンクがクリップボードにコピーされました!
手順13.2 Telemetry Alarming サービス用のアイデンティティーレコードの作成
- Identity サービスに管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow aodhユーザーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow AODH_PASSWORD は Telemetry Alarming サービスのパスワードに置き換えます。adminロールのメンバーとして、aodhユーザーをservicesプロジェクトに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow aodhのサービスエントリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Telemetry Alarming サービスのエンドポイントを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Telemetry Alarming サーバーの IP アドレスまたはホスト名に置き換えます。
13.3.3. Telemetry Alarming サービスのトラフィックを許可するためのファイアウォール設定 リンクのコピーリンクがクリップボードにコピーされました!
8042 で接続を受信します。このサービスノードのファイアウォールは、このポートのネットワークトラフィックを許可するように設定する必要があります。以下の手順に記載するステップはすべて、Telemetry Alarming サービスをホストするサーバーに root ユーザーとしてログインして実行する必要があります。
手順13.3 Telemetry Alarming サービスのトラフィックを許可するためのファイアウォール設定
- テキストエディターで
/etc/sysconfig/iptablesファイルを開きます。 - このファイルに、ポート
8042で TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。-A INPUT -p tcp -m multiport --dports 8042 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 8042 -j ACCEPTCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/iptablesファイルへの変更を保存します。iptablesサービスを再起動して、変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
13.3.4. Telemetry Alarming サービスの認証の設定 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
手順13.4 Telemetry Alarming サービス が Identity サービスを使用して認証を行うための設定
- サービス認証を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CONTROLLER は Identity サーバーのホスト名または IP アドレスに、AODH_PASSWORD は Telemetry Alarming サービスのパスワードに置き換えます。 - Identity サービスへのアクセスを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow こちらでも、CONTROLLER は Identity サーバーのホスト名または IP アドレスに、AODH_PASSWORD は Telemetry Alarming サービスのパスワードに置き換えます。
13.3.5. Telemetry Alarming サービスのための RabbitMQ メッセージブローカーの設定 リンクのコピーリンクがクリップボードにコピーされました!
13.4. Telemetry Alarming サービスの起動 リンクのコピーリンクがクリップボードにコピーされました!
第14章 Time-Series-Database-as-a-Service のインストール リンクのコピーリンクがクリップボードにコピーされました!
gnocchi) はマルチテナントのメトリックおよびリソースのデータベースです。大規模なメトリックを格納する一方でオペレーターやユーザーにメトリックおよびリソースの情報へのアクセスを提供します。
- storage
storageドライバーは、作成したメトリックのメジャーを保管する役割を果たします。タイムスタンプと値を受け取り、定義済みのアーカイブポリシーに従ってアグリゲーションを算出します。- indexer
indexerドライバーは、全リソースのインデックスとそれらのタイプおよびプロパティーを保管します。Time-Series-as-a-Service は OpenStack プロジェクトからのリソースの種別のみを認識しますが、一般的なタイプも提供するので、基本的なリソースを作成して、リソースのプロパティーを自分で処理することができます。indexerはリソースをメトリックとリンクする役割も果たします。
14.1. Time-Series-Database-as-a-Service パッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
- openstack-gnocchi-api
- OpenStack Time-Series-Database-as-a-Service のメインの API を提供します。
- openstack-gnocchi-carbonara
- OpenStack Time-Series-Database-as-a-Service の carbonara を提供します。
- openstack-gnocchi-doc
- OpenStack Time-Series-Database-as-a-Service のドキュメントを提供します。
- openstack-gnocchi-indexer-sqlalchemy
- OpenStack Time-Series-Database-as-a-Service の indexer SQLAlchemy を提供します。
- openstack-gnocchi-statsd
- OpenStack Time-Series-Database-as-a-Service の統計デーモンを提供します。
- python-gnocchi
- OpenStack Time-Series-Database-as-a-Service の Python ライブラリーを提供します。
yum install openstack-gnocchi\* -y
# yum install openstack-gnocchi\* -y
14.2. Time-Series-Database-as-a-Service の初期化 リンクのコピーリンクがクリップボードにコピーされました!
indexer を初期化します。
gnocchi-upgrade
# gnocchi-upgrade
14.3. Time-Series-Database-as-a-Service の設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/gnocchi/gnocchi.conf) には何も設定が指定されていません。必要に応じて各設定を手動で追加/設定する必要があります。
[DEFAULT]セクションで、ロギングと詳細な出力を有効にします。[DEFAULT] debug = true verbose = true
[DEFAULT] debug = true verbose = trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow [API]のセクションに、ワーカーの数を記載します。[api] workers = 1
[api] workers = 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow [database]セクションで、バックエンドをsqlalchemyに設定します。[database] backend = sqlalchemy
[database] backend = sqlalchemyCopy to Clipboard Copied! Toggle word wrap Toggle overflow [indexer]セクションに、ユーザー名、パスワード、IP アドレスを渡して、SQL データベースを設定します。[indexer] url = mysql://USER_NAME:PASSWORD@192.0.2.10/gnocchi2?charset=utf8
[indexer] url = mysql://USER_NAME:PASSWORD@192.0.2.10/gnocchi2?charset=utf8Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
データベースは、gnocchi-apiを起動する前に作成しておく必要があります。[keystone_authtoken]セクションで、認証パラメーターを更新します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [statsd]セクションに以下の値を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow RESOURCE_ID、USER_ID、およびPROJECT_IDの値は、お使いのデプロイメントの値に置き換えてください。[storage]セクションで、coordination_urlおよびfile_basepathを手動で追加してから、driverの値を file に設定します。[storage] coordination_url = file:///var/lib/gnocchi/locks driver = file file_basepath = /var/lib/gnocchi
[storage] coordination_url = file:///var/lib/gnocchi/locks driver = file file_basepath = /var/lib/gnocchiCopy to Clipboard Copied! Toggle word wrap Toggle overflow gnocchiサービスを再起動して、変更を有効にします。systemctl restart openstack-gnocchi-api.service systemctl restart openstack-gnocchi-metricd.service systemctl restart openstack-gnocchi-statsd.service
# systemctl restart openstack-gnocchi-api.service # systemctl restart openstack-gnocchi-metricd.service # systemctl restart openstack-gnocchi-statsd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
14.4. Time-Series-Database-as-a-Service データベースの作成 リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとしてログインして実行する必要があります。
- データベースサービスに接続します。
mysql -u root -p
# mysql -u root -pCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Time-Series-Database-as-a-Service データベースを作成します。
mysql> CREATE DATABASE gnocchi;
mysql> CREATE DATABASE gnocchi;Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Time-Series-Database-as-a-Service データベースのユーザーを作成し、Time-Series-Database-as-a-Service データベースへのアクセス権を付与します。
mysql> GRANT ALL ON gnocchi.* TO 'gnocchi'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON gnocchi.* TO 'gnocchi'@'localhost' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL ON gnocchi.* TO 'gnocchi'@'%' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON gnocchi.* TO 'gnocchi'@'localhost' IDENTIFIED BY 'PASSWORD';Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORDは、このユーザーとしてデータベースと認証を行う際に使用するセキュアなパスワードに置き換えます。 - データベースの特権をフラッシュして、設定が即時に反映されるようにします。
mysql> FLUSH PRIVILEGES;
mysql> FLUSH PRIVILEGES;Copy to Clipboard Copied! Toggle word wrap Toggle overflow mysqlクライアントを終了します。mysql> quit
mysql> quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow
14.5. Telemetry サービスのバックエンドとしての Time-Series-Database-as-a-Service の設定 リンクのコピーリンクがクリップボードにコピーされました!
gnocchi のディスパッチャーは計測データを TDSaaS バックエンドに送信します。
gnocchi ディスパッチャーの場合には、以下の設定を /etc/ceilometer/ceilometer.conf ファイルに追加します。
url は TDSaaS エンドポイントの URL で、デプロイメントによって異なります。
注記
gnocchi ディスパッチャーが有効化されている場合には、Ceilometer API コールは、空の結果で 410 が返されます。データにアクセスするには、代わりに TDSaaS API を使用する必要があります。
gnocchi サービスを再起動して、変更を有効にします。
systemctl restart openstack-ceilometer-api.service
# systemctl restart openstack-ceilometer-api.service
第16章 Database-as-a-Service のインストール (テクノロジープレビュー) リンクのコピーリンクがクリップボードにコピーされました!
警告
警告
16.1. Database-as-a-Service の要件 リンクのコピーリンクがクリップボードにコピーされました!
- admin ユーザーのパスワードを更新します。
keystone user-password-update --pass ADMIN_PASSWORD admin
# keystone user-password-update --pass ADMIN_PASSWORD adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow /root/keystonerc_adminを新しいパスワードで更新します。export OS_USERNAME=admin export OS_PROJECT_NAME=admin export OS_PASSWORD=ADMIN_PASSWORD export OS_AUTH_URL=http://keystone IP:5000/v2.0/ export PS1='[\u@\h \W(keystone_admin)]\$ '
export OS_USERNAME=admin export OS_PROJECT_NAME=admin export OS_PASSWORD=ADMIN_PASSWORD export OS_AUTH_URL=http://keystone IP:5000/v2.0/ export PS1='[\u@\h \W(keystone_admin)]\$ 'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 環境変数を読み込み、
adminユーザーにservicesテナント内のadminロールが割り当てられていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.2. Database-as-a-Service パッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
- openstack-trove-api
- OpenStack Database-as-a-Service のメインの API を提供します。
- openstack-trove-conductor
- OpenStack Database-as-a-Service のコンダクターサービスを提供します。
- openstack-trove-guestagent
- OpenStack Database-as-a-Service のゲストエージェントサービスを提供します。
- openstack-trove-taskmanager
- OpenStack Database-as-a-Service のタスクマネージャーサービスを提供します。
- openstack-trove-images
- OpenStack Database-as-a-Service のイメージ作成ツールを提供します。
- python-trove
- OpenStack Database-as-a-Service の Python ライブラリーを提供します。
- python-troveclient
- Database-as-a-Service API のクライアントを提供します。
yum install openstack-trove\*
# yum install openstack-trove\*
16.3. Database-as-a-Service の設定 リンクのコピーリンクがクリップボードにコピーされました!
- keystone ユーザーを作成して、Database-as-a-Service 用のロールを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - オプションで、全設定ファイルの詳細なデバッグ情報を設定します。
[root@rhosp-trove ~(keystone_admin)]# for conf_file in {trove,trove-conductor,trove-taskmanager,trove-guestagent}; do > openstack-config --set /etc/trove/$conf_file.conf DEFAULT verbose True; > openstack-config --set /etc/trove/$conf_file.conf DEFAULT debug True; > done[root@rhosp-trove ~(keystone_admin)]# for conf_file in {trove,trove-conductor,trove-taskmanager,trove-guestagent}; do > openstack-config --set /etc/trove/$conf_file.conf DEFAULT verbose True; > openstack-config --set /etc/trove/$conf_file.conf DEFAULT debug True; > doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow api-paste.iniファイルを作成します (存在していない場合)。[root@rhosp-trove ~(keystone_admin)]# cp /usr/share/trove/trove-dist-paste.ini /etc/trove/api-paste.ini
[root@rhosp-trove ~(keystone_admin)]# cp /usr/share/trove/trove-dist-paste.ini /etc/trove/api-paste.iniCopy to Clipboard Copied! Toggle word wrap Toggle overflow api-paste.iniの keystone 認証トークンを更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove.conf DEFAULT api_paste_config /etc/trove/api-paste.ini
[root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove.conf DEFAULT api_paste_config /etc/trove/api-paste.iniCopy to Clipboard Copied! Toggle word wrap Toggle overflow api-paste.iniと同じ情報で、trove.confを更新します。[root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove.conf keystone_authtoken auth_uri http://127.0.0.1:35357/ [root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove.conf keystone_authtoken identity_uri http://127.0.0.1:35357/ [root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove.conf keystone_authtoken admin_password TROVE_PASSWORD [root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove.conf keystone_authtoken admin_user trove [root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove.conf keystone_authtoken admin_tenant_name = services
[root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove.conf keystone_authtoken auth_uri http://127.0.0.1:35357/ [root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove.conf keystone_authtoken identity_uri http://127.0.0.1:35357/ [root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove.conf keystone_authtoken admin_password TROVE_PASSWORD [root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove.conf keystone_authtoken admin_user trove [root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove.conf keystone_authtoken admin_tenant_name = servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow trove-taskmanager.confのnova_proxy情報を更新します。Database-as-a-Service は、admin ユーザーの認証情報で nova コマンドを発行するので、この設定は実際の admin ユーザーにする必要があります。[root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove-taskmanager.conf DEFAULT nova_proxy_admin_user admin [root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove-taskmanager.conf DEFAULT nova_proxy_admin_password ADMIN_PASSWORD [root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove-taskmanager.conf DEFAULT nova_proxy_admin_tenant_name services
[root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove-taskmanager.conf DEFAULT nova_proxy_admin_user admin [root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove-taskmanager.conf DEFAULT nova_proxy_admin_password ADMIN_PASSWORD [root@rhosp-trove trove(keystone_admin)]# openstack-config --set trove-taskmanager.conf DEFAULT nova_proxy_admin_tenant_name servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - RabbitMQ ホストの情報で設定ファイルを更新します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@rhosp-trove trove(keystone_admin)]# for conf_file in trove.conf trove-taskmanager.conf trove-conductor.conf ; do > openstack-config --set /etc/trove/$conf_file DEFAULT rabbit_host 127.0.0.1; > openstack-config --set /etc/trove/$conf_file DEFAULT rabbit_password RABBITMQ_GUEST_PASSWORD; > done
[root@rhosp-trove trove(keystone_admin)]# for conf_file in trove.conf trove-taskmanager.conf trove-conductor.conf ; do > openstack-config --set /etc/trove/$conf_file DEFAULT rabbit_host 127.0.0.1; > openstack-config --set /etc/trove/$conf_file DEFAULT rabbit_password RABBITMQ_GUEST_PASSWORD; > doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 設定ファイルにサービスの URL を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドは、MySQL の接続を追加しますが、これはまだ機能しません。これらのパーミッションは次のステップで付与します。 - cloud-init の情報を使用してタスクマネージャーの設定を更新します。
[root@rhosp-trove trove(keystone_admin)]# openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT cloud-init_loaction /etc/trove/cloudinit [root@rhosp-trove trove(keystone_admin)]# openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT taskmanager_manager trove.taskmanager.manager.Manager [root@rhosp-trove trove(keystone_admin)]# mkdir /etc/trove/cloudinit
[root@rhosp-trove trove(keystone_admin)]# openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT cloud-init_loaction /etc/trove/cloudinit [root@rhosp-trove trove(keystone_admin)]# openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT taskmanager_manager trove.taskmanager.manager.Manager [root@rhosp-trove trove(keystone_admin)]# mkdir /etc/trove/cloudinitCopy to Clipboard Copied! Toggle word wrap Toggle overflow - デフォルトのデータストア (database type) で
trove.confを更新し、インスタンスをアタッチする OpenStack Networking ネットワークの名前を設定します。この場合は、ネットワークはprivateという名前です。[root@rhosp-trove trove(keystone_admin)]# openstack-config --set /etc/trove/trove.conf DEFAULT default_datastore mysql [root@rhosp-trove trove(keystone_admin)]# openstack-config --set /etc/trove/trove.conf DEFAULT add_addresses True [root@rhosp-trove trove(keystone_admin)]# openstack-config --set /etc/trove/trove.conf DEFAULT network_label_regex ^private$
[root@rhosp-trove trove(keystone_admin)]# openstack-config --set /etc/trove/trove.conf DEFAULT default_datastore mysql [root@rhosp-trove trove(keystone_admin)]# openstack-config --set /etc/trove/trove.conf DEFAULT add_addresses True [root@rhosp-trove trove(keystone_admin)]# openstack-config --set /etc/trove/trove.conf DEFAULT network_label_regex ^private$Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Database-as-a-Service のデータベースを作成し、
troveユーザーにパーミッションを付与します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 新規データベースにデータを読み込み、初期データストアを作成します。
[root@rhosp-trove trove(keystone_admin)]# trove-manage db_sync [root@rhosp-trove trove(keystone_admin)]# trove-manage datastore_update mysql ''
[root@rhosp-trove trove(keystone_admin)]# trove-manage db_sync [root@rhosp-trove trove(keystone_admin)]# trove-manage datastore_update mysql ''Copy to Clipboard Copied! Toggle word wrap Toggle overflow - イメージとともに使用する cloud-init ファイルを作成します。
注記
Database-as-a-Service によりインスタンスが作成される時には、そのインスタンスをビルドするためにデータベースに設定したimage_idが使用されます。また、指定したデータストアに基づいて、ユーザーデータにアタッチする.cloudinitファイルを/etc/trove/cloudinit/内で検索します。たとえば、新規インスタンスのデータストアにmysqlを選択した場合には、nova が/etc/trove/cloudinit/内でmysql.cloudinitファイルを検索して、ユーザーデータスクリプトとしてアタッチします。これは、ビルド時に MySQL を登録/インストールするのに使用されます。以下の内容で/etc/trove/cloudinit/mysql.cloudinitファイルを作成します。各 PASSWORD は適切なパスワードに、RHN_USERNAME、RHN_PASSWORD、POOL_ID はお使いの Red Hat 認証情報とサブスクリプションプール ID に、host SSH public key はパスワードなしの SSH ログイン用のキーに置き換えます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
上記は bash スクリプトとして記述されており、cloud-initに対応しています。これは、could-initの YAML 形式のレイアウトを使用して記述することもできます。 - glance を使用して、
--fileオプションで指定したクラウドイメージをアップロードします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat Enterprise Linux 7 イメージへの参照で Database-as-a-Service データベースを更新します。前のコマンドの出力に表示された ID を使用してください。
[root@rhosp-trove trove(keystone_admin)]# trove-manage --config-file=/etc/trove/trove.conf datastore_version_update \ > mysql mysql-5.5 mysql 9bd48cdf-52b4-4463-8ce7-ce81f44205ae mysql55 1
[root@rhosp-trove trove(keystone_admin)]# trove-manage --config-file=/etc/trove/trove.conf datastore_version_update \ > mysql mysql-5.5 mysql 9bd48cdf-52b4-4463-8ce7-ce81f44205ae mysql55 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
構文は「trove-manage datastore_version_update datastore version_name manager image_id packages active」です。 - keystone を使用して Database-as-a-Service サービスを作成し、OpenStack がこのサービスの存在を認識するようにします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Database-as-a-Service API 用の URL エンドポイントを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 3 つの Database-as-a-Service サービスを起動して、ブート時に有効になるように設定します。
[root@rhosp-trove trove(keystone_admin)]# systemctl start openstack-trove-{api,taskmanager,conductor} [root@rhosp-trove trove(keystone_admin)]# systemctl enable openstack-trove-{api,taskmanager,conductor} ln -s '/usr/lib/systemd/system/openstack-trove-api.service' '/etc/systemd/system/multi-user.target.wants/openstack-trove-api.service' ln -s '/usr/lib/systemd/system/openstack-trove-taskmanager.service' '/etc/systemd/system/multi-user.target.wants/openstack-trove-taskmanager.service' ln -s '/usr/lib/systemd/system/openstack-trove-conductor.service' '/etc/systemd/system/multi-user.target.wants/openstack-trove-conductor.service'[root@rhosp-trove trove(keystone_admin)]# systemctl start openstack-trove-{api,taskmanager,conductor} [root@rhosp-trove trove(keystone_admin)]# systemctl enable openstack-trove-{api,taskmanager,conductor} ln -s '/usr/lib/systemd/system/openstack-trove-api.service' '/etc/systemd/system/multi-user.target.wants/openstack-trove-api.service' ln -s '/usr/lib/systemd/system/openstack-trove-taskmanager.service' '/etc/systemd/system/multi-user.target.wants/openstack-trove-taskmanager.service' ln -s '/usr/lib/systemd/system/openstack-trove-conductor.service' '/etc/systemd/system/multi-user.target.wants/openstack-trove-conductor.service'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要
systemctl status openstack-trove-{api,taskmanager,conductor}のコマンドを実行して、サービスが起動しているかどうかを確認します。操作が失敗して、/var/log/troveにエラーが出力されが場合には、以下のコマンドを実行して問題を解決します。[root@rhosp-trove trove(keystone_admin)]# chown -R trove:trove /var/log/trove [root@rhosp-trove trove(keystone_admin)]# systemctl restart openstack-trove-{api,taskmanager,conductor}[root@rhosp-trove trove(keystone_admin)]# chown -R trove:trove /var/log/trove [root@rhosp-trove trove(keystone_admin)]# systemctl restart openstack-trove-{api,taskmanager,conductor}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第17章 OpenStack Integration Test Suite のインストール リンクのコピーリンクがクリップボードにコピーされました!
- 最初の方法は、Integration Test Suite をプログラムがインストールされたシステムとして実行します。これは 2 つの方法の中で新しい手法で、Red Hat はテストスイートの使用時にはこちらの方法を使用することを推奨します。
- 2 つ目の方法では、Integration Test Suite は現在の作業ディレクトリーが実際のテストスイートのソースリポジトリーであると仮定し、それに伴う前提条件も付加されます。
17.1. OpenStack Integration Test Suite パッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
- コントローラーノードで、
rootユーザーとして、virt-managerを使用してtempestという名前の仮想マシンを作成して、Red Hat Enterprise Linux 7.2 をインストールします。詳しい情報は 「virt-manager を使用したゲストの作成」を参照してください。 - また、OpenStack Integration Test Suite のインストール前に、Red Hat OpenStack Platfor 環境内に以下のネットワークを作成します。OpenStack Integration Test Suite には、
externalとみなされるネットワークが 1 つ必要です。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
tempest 仮想マシンに OpenStack Integration Test Suite をインストールして設定する手順を詳しく説明しており、異なる OpenStack シナリオの実行方法を示しています。
手順17.1 Integration Test Suite のインストール
- 上記の OpenStack Integration Test Suite に関連するパッケージをインストールします。
yum install openstack-tempest
# yum install openstack-tempestCopy to Clipboard Copied! Toggle word wrap Toggle overflow ただし、このコマンドでは、tempest プラグインは一切インストールされません。tempest プラグインは、お使いの OpenStack インストール環境に応じて手動でインストールする必要があります。 - 以下のコマンドを実行すると、お使いのマシンにインストールされた OpenStack コンポーネントがすべて表示されます。
openstack-status
# openstack-statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow - コンポーネントごとに、適切な tempest プラグインをインストールすることができます。以下に例を示します。
yum install python-glance-tests python-keystone-tests python-horizon-tests-tempest python-neutron-tests python-cinder-tests python-nova-tests python-swift-tests python-ceilometer-tests python-gnocchi-tests python-aodh-tests python-zaqar-test python-mistral-tests
# yum install python-glance-tests python-keystone-tests python-horizon-tests-tempest python-neutron-tests python-cinder-tests python-nova-tests python-swift-tests python-ceilometer-tests python-gnocchi-tests python-aodh-tests python-zaqar-test python-mistral-testsCopy to Clipboard Copied! Toggle word wrap Toggle overflow または、以下のコマンドを使用して、インストール済みの OpenStack コンポーネントを自動的に特定し、必要なテストパッケージをインストールすることができます。/usr/share/openstack-tempest-*/tools/install_test_packages.py
# /usr/share/openstack-tempest-*/tools/install_test_packages.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2. OpenStack Integration Test Suite の設定 リンクのコピーリンクがクリップボードにコピーされました!
tempest の仮想マシン内で以下の手順を実行して環境を設定します。
mytempestなど、OpenStack Integration Test Suite ツールを実行する作業ディレクトリーを作成します。mkdir -p /path/to/mytempest
# mkdir -p /path/to/mytempestCopy to Clipboard Copied! Toggle word wrap Toggle overflow mytempestディレクトリーで、configure-tempest-directoryコマンドを実行してmytempestディレクトリー内で OpenStack Integration Test Suite を設定します。cd /path/to/mytempest /usr/share/openstack-tempest-*/tools/configure-tempest-directory
# cd /path/to/mytempest # /usr/share/openstack-tempest-*/tools/configure-tempest-directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 適切な認証情報を使用して、Red Hat OpenStack Platform の環境変数をエクスポートします。この環境の認証情報は以下のとおりです。
export OS_USERNAME=admin export OS_PROJECT_NAME=admin export OS_PASSWORD=password export OS_AUTH_URL=http://IP:35357/v2
# export OS_USERNAME=admin # export OS_PROJECT_NAME=admin # export OS_PASSWORD=password # export OS_AUTH_URL=http://IP:35357/v2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
OpenStack Intergration Test Suite の実行には管理者権限は必要ありません。adminの権限がある場合は、以下のアクションを実行できます。- 管理 API のテストを実行すること
- 必要に応じてテストの認証情報を生成すること
- リソースの状態を保存し、以下の認証情報を使用して
config_tempest.pyスクリプトを実行し、tempest.conf設定ファイルを正しく作成して/etcディレクトリーに配置します。tools/config_tempest.py --debug --create identity.uri $OS_AUTH_URL identity.admin_username $OS_USERNAME identity.admin_password $OS_PASSWORD identity.admin_tenant_name $OS_PROJECT_NAME object-storage.operator_role swiftoperator
# tools/config_tempest.py --debug --create identity.uri $OS_AUTH_URL identity.admin_username $OS_USERNAME identity.admin_password $OS_PASSWORD identity.admin_tenant_name $OS_PROJECT_NAME object-storage.operator_role swiftoperatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow - テストを実行する前には、既存の OpenStack クラウドのリソースをクリーンな状態に保つことが極めて重要です。
tempest cleanup --init-saved-state
# tempest cleanup --init-saved-stateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
OpenStack Integration Test Suite を使用してクリーンアップしても環境全体がクリーンアップされるわけではありません。既存の OpenStack クラウドをクリーンアップするには、手動の介入が必要です。 mytempestディレクトリーにあるetc/tempest.confファイルをレビューして、Red Hat OpenStack Platform 環境での要件がすべて満たされていることを確認します。tempest.api.compute.flavorsというラベルが付いたtempestの 1 つを使用して、run-test.shスクリプトが正しく実行されていることを確認します。tools/run-tests.sh --concurrency 4 tempest.api.compute.flavors
# tools/run-tests.sh --concurrency 4 tempest.api.compute.flavorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
concurrency 4のオプションは、OpenStack Integration Test Suite で競合状態を生み出したり、予期せぬエラーを発生させたりしないようにします。- 検証に成功した後に、以下のように
run-tests.shスクリプトを実行します。tools/run-tests.sh --concurrency 4 --skip-file tools/ra-skip-file | tee ra-out.txt
# tools/run-tests.sh --concurrency 4 --skip-file tools/ra-skip-file | tee ra-out.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
ra-skip-fileには、run-tests.shスクリプトを実行時に除外された固有の tempest テストが含まれます。固有テストが除外される理由は、お使いの環境で Floating IP テストやサードパーティーテストなどの特定のシナリオが実行されないためです。ra-skip fileのサンプルは以下のようになります。-tempest\.api\.compute\.floating_ips.* -tempest\.thirdparty\.boto.* -tempest\.api\.compute\.floating_ips.* -tempest\.api\.network\.test_floating_ips.* -tempest\.api\.network\.admin\.test_floating_ips_admin_action
-tempest\.api\.compute\.floating_ips.* -tempest\.thirdparty\.boto.* -tempest\.api\.compute\.floating_ips.* -tempest\.api\.network\.test_floating_ips.* -tempest\.api\.network\.admin\.test_floating_ips_admin_actionCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenStack の環境はすべて異なるので、省略するテストシナリオは環境ごとに異なります。 - OpenStack Integration Test Suite により、OpenStack デプロイメントが完了したことが確認されたら、環境をクリーンアップして、元のリソースの状態に戻します。
python -m tempest.cmd.cleanup
# python -m tempest.cmd.cleanupCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第18章 OpenStack Benchmarking サービスのインストール リンクのコピーリンクがクリップボードにコピーされました!
注記
18.1. OpenStack Benchmarking サービスパッケージのインストール リンクのコピーリンクがクリップボードにコピーされました!
rootユーザーとして、virt-managerを使用してrallyという名前の仮想マシンを作成して、Red Hat Enterprise Linux 7.2 をインストールします。詳しい情報は 「virt-manager を使用したゲストの作成」を参照してください。- Benchmarking サービスの仮想マシンには、内部 API ネットワーク、テナントネットワーク、コントローラーネットワークへのアクセスが必要です。
注記
詳しい情報は 「virt-manager を使用したゲストの作成」を参照してください。 - Benchmarking サービスの仮想マシンで必要なチャンネルにサブスクライブされていることを確認します。
手順18.1 Benchmarking サービスのインストール
- Benchmarking サービスの仮想マシンで
rootユーザーとして作業ディレクトリーを作成します。mkdir /path/to/myrally
# mkdir /path/to/myrallyCopy to Clipboard Copied! Toggle word wrap Toggle overflow - リポジトリーをクローンします。
git clone https://github.com/redhat-openstack/rally.git
# git clone https://github.com/redhat-openstack/rally.gitCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 作業ディレクトリーに移動します。
cd /path/to/myrally/rally
# cd /path/to/myrally/rallyCopy to Clipboard Copied! Toggle word wrap Toggle overflow rootユーザーでinstall_rally.shスクリプトを実行して、プロンプトに従い必要な依存関係をインストールします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.2. OpenStack Benchmarking サービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
手順18.2 OpenStack Benchmarking サービスの設定
- 適切な認証情報を使用して、OpenStack の環境変数をエクスポートします。この環境の認証情報は以下のとおりです。
export OS_USERNAME=admin export OS_PROJECT_NAME=admin export OS_PASSWORD= export OS_AUTH_URL=http://IP:35357/v2
# export OS_USERNAME=admin # export OS_PROJECT_NAME=admin # export OS_PASSWORD= # export OS_AUTH_URL=http://IP:35357/v2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 既存の Red Hat OpenStack 環境を Benchmarking サービスのデータベースに追加します。
osp-deployment.jsonという名前の Benchmarking サービスのデプロイメント json ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 既存の OpenStack デプロイメントを
rallyデータベースに追加します。以下の例では、エントリー RA_Rally に名前を指定して、osp-deployment.jsonファイルで必要とされる適切な認証情報すべてを取得します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.3. Benchmarking サービスのテナントネットワークの拡張 リンクのコピーリンクがクリップボードにコピーされました!
オプション で、実行する Benchmarking サービスのシナリオでゲストに (ssh) で直接アクセスできる必要がある場合のみに必要です。NovaServers.boot_server シナリオを実行する場合は、テナントネットワークを拡張する必要はありません。理由は、この固有なシナリオではゲストに ssh アクセスする必要がなく、ゲストを起動するだけで良いためです。
- Red Hat OpenStack Platform のデプロイメントで Floating IP を利用できない場合には、テナント ネットワークを
rallyホストに拡張します。以下のコマンドを実行して、OpenStack Networking OpenvSwitch エージェントパッケージをインストールします。yum install openstack-neutron-openvswitch
# yum install openstack-neutron-openvswitchCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack Networking 設定ファイルをコンピュートノードからコントローラーノードにコピーします。
scp COMPUTE_NODE_IP:/etc/neutron/* /etc/neutron
# scp COMPUTE_NODE_IP:/etc/neutron/* /etc/neutronCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack クラスターの一部であった場合は、Tenant ネットワークに関連付けられるはずのインターフェースに、IP アドレスを設定します。
ovs_neutron_plugin.iniファイルを編集して、Tenant ネットワークに配置されている IP アドレスにlocal_ipを変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/neutron/plugin.iniファイルを編集して、Tenant ネットワークに配置されている IP アドレスにlocal_ipを変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow neutron-openvswitch-agentを再起動します。systemctl restart openvswitch systemctl restart neutron-openvswitch-agent
# systemctl restart openvswitch # systemctl restart neutron-openvswitch-agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow - コントローラーノード上で、
neutron agent-listコマンドを使用してエージェントが正しく設定されていることを確認します。neutron agent-list
# neutron agent-list ... Output Abbreviated ... ] | 8578499b-0873-47a9-9cae-9884d4abf768 | Open vSwitch agent | Controller_Host | :-) | True | neutron-openvswitch-agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow - コントローラーノードで、以下の情報を使用して
netidとhostidの変数を作成します。netid=PRIVATE_NETWORK_ID echo $netid hostid=CONTROLLER_NODE_HOSTNAME echo $hostid
# netid=PRIVATE_NETWORK_ID # echo $netid # hostid=CONTROLLER_NODE_HOSTNAME # echo $hostidCopy to Clipboard Copied! Toggle word wrap Toggle overflow - コントローラーノードで
rally-portという名前のneutronポートを作成して、host_idにバインドします。このポートは、netidに関連付けられたネットワーク内に作成するようにしてください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - コントローラーノード内で、
rally仮想マシンの XML を以下のように変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
rally-portを作成した先ほどの手順で特定したidにneutron-port-idが更新されていることを確認してください。 rallyゲストに XML ファイルの変更を適用した後には、ゲストを再起動します。
18.4. OpenStack Benchmarking サービスの検証 リンクのコピーリンクがクリップボードにコピーされました!
rally の仮想マシンで、以下のコマンドを実行します。
- Red Hat OpenStack Platform のデプロイメントの現在の状況を表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow create-user.jsonという名前の同梱サンプルkeystoneのシナリオを使用してrally環境をテストし、Benchmarking サービスが正しく機能していることを確認します。以下のcreate-user.jsonシナリオでは、1 度に 10 個の名前を最大 100 回作成し、ユーザーの作成時間を 10 個からなるサブセットで、合計ユーザー生成数が最大 (100 個まで) に達するまで表示されます。このサンプルテストでは、Benchmarking サービスが OpenStack 環境にアクセスできるかどうかを検証します。rally task start /path/to/myrally/rally/samples/tasks/scenarios/keystone/create-user.json
# rally task start /path/to/myrally/rally/samples/tasks/scenarios/keystone/create-user.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow
法律上の通知 リンクのコピーリンクがクリップボードにコピーされました!
- "Copyright © 2013, 2014, 2015, 2016 OpenStack FoundationLicensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.Except where otherwise noted, this document is licensed under Creative Commons Attribution ShareAlike 3.0 License http://creativecommons.org/licenses/by-sa/3.0/legalcode
1801 Varsity Drive
Raleigh, NC 27606-2072 USA
Phone: +1 919 754 3700
Phone: 888 733 4281
Fax: +1 919 754 3701




