SlideShare a Scribd company logo
1 of 78
Download to read offline
OpenStack構築手順書 Juno版 
OpenStack構築手順書 Juno版 
バージョン:0.9.5 (2014/12/3作成) 
日本仮想化技術株式会社 
日本仮想化技術1
OpenStack構築手順書 Juno版 
変更履歴 
バージョン更新日更新内容 
0.9 2014/11/28 Juno版beta 
0.9.1 2014/12/1 誤記訂正 
0.9.2 2014/12/1 RabbitMQサービス再起動と確認を追記 
0.9.3 2014/12/1 networkノードのNIC設定を修正 
0.9.4 2014/12/2 controllerノードのneutron.confのリージョン指定を修正 
0.9.5 2014/12/3 どこのホストで設定変更をするか明確にした。他、誤記など修正 
日本仮想化技術2
OpenStack構築手順書 Juno版 
目次 
1. 構築する環境について 
1-1 環境構築に使用するOS 
1-2 作成するサーバー(ノード) 
1-3 ネットワークセグメントの設定 
1-4 各ノードのネットワーク設定 
1-5 Ubuntu Serverのインストール 
1-6 Ubuntu Serverへのログインとroot権限 
1-7 設定ファイル等の記述について 
2. OpenStackインストール事前設定 
2-1 ネットワークデバイスの設定 
2-2 静的名前解決の設定 
2-3 sysctlによるカーネルパラメーターの設定 
2-4 リポジトリーの設定とパッケージの更新 
2-5 NTPのインストール 
2-6 Python用MySQL/MariaDBクライアントのインストール 
3. controllerノードのインストール前設定 
3-1 MariaDBのインストール 
3-2 RabbitMQのインストール 
3-3 環境変数設定ファイルの作成 
4. Keystoneインストールと設定(controllerノード) 
4-1 パッケージのインストール 
4-2 データベースの作成・確認 
4-3 設定の変更 
4-4 データベースに表を作成 
4-5 使用しないデータベースファイルの削除 
4-6 Keystoneサービスの再起動 
4-7 ログの確認 
4-8 認証情報の作成 
4-9 Keystoneの動作確認 
4-9-1 認証トークンの要求確認 
5. Glanceのインストールと設定 
5-1 パッケージのインストール 
5-2 データベースの作成・確認 
5-3 認証情報の作成 
5-4 設定の変更 
5-5 データベースにデータ登録 
5-6 Glanceサービスの再起動 
5-7 使用しないデータベースファイルの削除 
5-8 ログの確認 
5-9 イメージの取得と登録 
6. Novaのインストールと設定(controllerノード) 
6-1 パッケージのインストール 
6-2 データベースの作成・確認 
6-3 認証情報の作成 
6-4 設定変更 
日本仮想化技術3
OpenStack構築手順書 Juno版 
6-5 使用しないデータベースファイル削除 
6-6 データベースにデータを作成 
6-7 Novaサービスの再起動 
6-8 ログの確認 
6-9 Glanceとの通信確認 
7. Nova-Computeのインストール・設定(compute1ノード) 
7-1 パッケージインストール 
7-2 設定の変更 
7-3 Nova-Computeサービスの再起動 
7-4 ログの確認 
7-5 controllerノードとの疎通確認 
8. Neutronのインストール・設定(controllerノード) 
8-1 パッケージインストール 
8-2 データベース作成・確認 
8-3 認証情報の設定 
8-4 設定の変更 
8-5 設定の変更 
8-6 データベースの作成 
8-7 使用しないデータベースファイル削除 
8-8 controllerノードのNeutronと関連サービスの再起動 
8-9 ログの確認 
8-10 動作確認 
9. Neutronのインストール・設定(networkノード) 
9-1 パッケージインストール 
9-2 設定の変更 
9-3 設定の変更 
9-4 networkノードのOpen vSwitchサービスの再起動 
9-5 ブリッジデバイス設定 
9-6 ブリッジデバイス設定確認 
9-7 ネットワークインタフェースの設定変更 
9-7 networkノード再起動 
9-8 ブリッジ設定確認 
9-9 networkノードのNeutronと関連サービスの再起動 
9-10 ログの確認 
10. Neutronのインストール・設定(compute1ノード) 
10-1 パッケージインストール 
10-2 設定の変更 
10-3 compute1ノードのOpen vSwitchサービスの再起動 
10-4 compute1ノードのネットワーク設定 
10-5 compute1ノードのNeutronと関連サービスを再起動 
10-6 ログの確認 
11. 仮想ネットワーク設定(controllerノード) 
11-1 外部接続ネットワークの設定 
11-2 インスタンス用ネットワーク設定 
11-3 仮想ネットワークルーター設定 
12. 仮想ネットワーク設定確認(networkノード) 
12-1 仮想ネットワークルーターの確認 
12-2 仮想ルーターのネームスペースのIPアドレスを確認 
日本仮想化技術4
OpenStack構築手順書 Juno版 
12-3 仮想ゲートウェイの疎通確認 
13. Cinderインストール(controllerノード) 
13-1 パッケージインストール 
13-2 データベース作成・確認 
13-3 認証情報の設定 
13-4 設定の変更 
13-5 データベースに表を作成 
13-6 Cinderサービスの再起動 
13-7 使用しないデータベースファイル削除 
13-8 ログの確認 
13-9 イメージ格納用ボリューム作成 
14. Dashboardインストール・確認(controllerノード) 
14-1 パッケージインストール 
14-2 Dashboardの設定の変更 
14-3 Dashboardへのアクセス確認 
14-4 セキュリティグループの設定 
14-5 キーペアの作成 
14-6 インスタンスの起動 
14-7 Floating IPの設定 
14-8 インスタンスへのアクセス 
日本仮想化技術5
OpenStack構築手順書 Juno版 
1. 構築する環境について 
1-1 環境構築に使用するOS 
本書はOpenStack環境を3台のサーバー上に構築することを想定しています。 
システム構成図 (出典:公式ドキュメント"Chapter 1. Architecture"より) 
OSはUbuntu Server 14.04.1 LTS(以下Ubuntu Server)を使用します。以下のURLよりイメージをダウンロードし、3台のサ 
ーバーへインストールします。 
http://releases.ubuntu.com/14.04/ubuntu-14.04.1-server-amd64.iso 
日本仮想化技術6
OpenStack構築手順書 Juno版 
1-2 作成するサーバー(ノード) 
今回構築するOpenStack環境は、以下3台のサーバーで構成します。 
controllerノード 
OpenStack環境全体を管理するコントローラーとして機能します。 
networkノード 
外部ネットワークとインスタンスの間のネットワークを制御します。 
compute1ノード 
仮想マシンインスタンスを実行します。 
1-3 ネットワークセグメントの設定 
今回は2つのネットワークセグメントを用意し構成しています。 
内部ネットワーク(Instance Tunnels) 
ネットワークノードとコンピュートノード間のトンネル用に使用するネットワーク。インターネットへの接続は行えなくて 
も構いません。 
外部ネットワーク(Management) 
外部との接続に使用するネットワーク。構築中はaptコマンドを使って外部リポジトリからパッケージなどをダウンロード 
するため、インターネット接続が必要となります。 
OpenStack稼働後は、仮想マシンインスタンスに対しFloating IPアドレスを割り当てることで、外部ネットワークへ接続 
することができます。 
なお、各種APIを外部公開する際にも使用できますが、今回の手順ではAPIの公開は行いません。 
IPアドレスは以下の構成で構築されている前提で解説します。 
外部ネットワーク内部ネットワーク 
インターフェースeth0 eth1 
ネットワーク10.0.0.0/24 192.168.0.0/24 
ゲートウェイ10.0.0.1 なし 
ネームサーバー10.0.0.1 なし 
日本仮想化技術7
OpenStack構築手順書 Juno版 
1-4 各ノードのネットワーク設定 
各ノードのネットワーク設定は以下の通りです。 
controllerノード 
インターフェースeth0 eth1 
IPアドレス10.0.0.10 192.168.0.10 
ネットマスク255.255.255.0 255.255.255.0 
ゲートウェイ10.0.0.1 なし 
ネームサーバー10.0.0.1 なし 
networkノード 
インターフェースeth0 eth1 
IPアドレス10.0.0.9 192.168.0.9 
ネットマスク255.255.255.0 255.255.255.0 
ゲートウェイ10.0.0.1 なし 
ネームサーバー10.0.0.1 なし 
compute1ノード 
インターフェースeth0 eth1 
IPアドレス10.0.0.11 192.168.0.11 
ネットマスク255.255.255.0 255.255.255.0 
ゲートウェイ10.0.0.1 なし 
ネームサーバー10.0.0.1 なし 
日本仮想化技術8
OpenStack構築手順書 Juno版 
1-5 Ubuntu Serverのインストール 
3台のサーバーに対し、Ubuntu Serverをインストールします。要点は以下の通りです。 
優先ネットワークインターフェースをeth0に指定 
インターネットへ接続するインターフェースはeth0を使用するため、インストール中はeth0を優先ネットワークとして指定 
します。 
パッケージ選択ではOpenSSH serverのみ選択 
compute1ノードではKVMを利用しますが、インストーラではVirtual machine hostのインストールを行わないでください。 
【インストール時の設定パラメータ例】 
設定項目設定例 
初期起動時のLanguage English 
起動Install Ubuntu Server 
Language English - English 
Country location other→Asia→Japan 
Country locale United States - en_US.UTF-8 
Detect keyboard layout No 
Keyboard Japanese→Japanese 
Primary network interface eth1: Ethernet 
Hostname それぞれのノード名(controller, network, compute1) 
ユーザ名フルネームで入力 
アカウント名ユーザ名のファーストネームで設定される 
パスワード任意のパスワード 
Weak password(出ない場合も) Yesを選択 
ホームの暗号化任意 
タイムゾーンAsia/Tokyoであることを確認 
パーティション設定Guided - use entire disk and set up LVM 
パーティション選択sdaを選択 
パーティション書き込みYesを選択 
パーティションサイズデフォルトのまま 
変更の書き込みYesを選択 
HTTP proxy 環境に合わせて任意 
アップグレード任意 
ソフトウェアOpenSSH serverのみ選択 
GRUB Yesを選択 
インストール完了Continueを選択 
日本仮想化技術9
OpenStack構築手順書 Juno版 
1-6 Ubuntu Serverへのログインとroot権限 
Ubuntuはデフォルト設定でrootユーザーの利用を許可していないため、root権限が必要となる作業は以下のように行って 
ください。 
rootユーザーで直接ログインできないので、インストール時に作成したアカウントでログインする。 
root権限が必要な場合には、sudoコマンドを使用する。 
rootで連続して作業したい場合には、sudo -sコマンドでシェルを起動する。 
1-7 設定ファイル等の記述について 
筆者注: 
このドキュメントはベータ版のため、必ずしもここで述べられているように記述されていません。あらかじめご了承ください。 
設定ファイルは特別な記述が無い限り、必要な設定を抜粋したものです。 
特に変更の必要がない設定項目は省略されています。 
[見出し]が付いている場合、その見出しから次の見出しまでの間に設定を記述します。 
コメントアウトされていない設定項目が存在する場合には、値を変更してください。多くの設定項目は記述が存在している 
ため、エディタの検索機能で検索することをお勧めします。 
特定のホストでコマンドを実行する場合はコマンドの冒頭にホスト名を記述しています。 
【設定ファイルの記述例】 
controller# vi /etc/glance/glance-api.conf ←コマンド冒頭にこのコマンドを実行するホストを記述 
[database] ←この見出しから次の見出しまでの間に以下を記述 
#connection = sqlite:////var/lib/glance/glance.sqlite ← 既存設定をコメントアウト 
connection = mysql://glance:password@controller/glance ← 追記 
[keystone_authtoken] ← 見出し 
#auth_host = 127.0.0.1 ← 既存設定をコメントアウト 
auth_host = controller ← 追記 
auth_port = 35357 ← 既存のまま 
auth_protocol = http ← 既存のまま 
auth_uri = http://controller:5000/v2.0 ← 追記 
admin_tenant_name = service ← 変更 
admin_user = glance ← 変更 
admin_password = password ← 変更 
日本仮想化技術10
OpenStack構築手順書 Juno版 
2. OpenStackインストール事前設定 
OpenStackパッケージのインストール前に各々のノードで以下の設定を行います。 
ネットワークデバイスの設定 
hostsによる静的名前解決の設定 
sysctlによるカーネルパラメータの設定 
リポジトリーの設定とパッケージの更新 
NTPのインストール 
Python用MySQL/MariaDBクライアントのインストール 
MariaDBのインストール(controllerノードのみ) 
RabbitMQのインストール(controllerノードのみ) 
2-1 ネットワークデバイスの設定 
各ノードの/etc/network/interfacesを編集し、IPアドレスの設定を行います。 
2-1-1 controllerノードのIPアドレスの設定 
controller# vi /etc/network/interfaces 
auto eth0 
iface eth0 inet static 
address 10.0.0.10 
netmask 255.255.255.0 
gateway 10.0.0.1 
dns-nameservers 10.0.0.1 
auto eth1 
iface eth1 inet static 
address 192.168.0.10 
netmask 255.255.255.0 
日本仮想化技術11
OpenStack構築手順書 Juno版 
2-1-2 networkノードのIPアドレスの設定 
network# vi /etc/network/interfaces 
auto eth0 
iface eth0 inet static 
address 10.0.0.9 
netmask 255.255.255.0 
gateway 10.0.0.1 
dns-nameservers 10.0.0.1 
auto eth1 
iface eth1 inet static 
address 192.168.0.9 
netmask 255.255.255.0 
2-1-3 compute1ノードのIPアドレスの設定 
compute1# vi /etc/network/interfaces 
auto eth0 
iface eth0 inet static 
address 10.0.0.11 
netmask 255.255.255.0 
gateway 10.0.0.1 
dns-nameservers 10.0.0.1 
auto eth1 
iface eth1 inet static 
address 192.168.0.11 
netmask 255.255.255.0 
2-1-4 ネットワーク設定反映 
各ノードで変更した設定をネットワークデバイスに反映させるため、Ubuntu Serverを再起動します。 
日本仮想化技術12
OpenStack構築手順書 Juno版 
2-2 静的名前解決の設定 
各ノードの/etc/hostsに各ノードのIPアドレスとホスト名を記述し、静的名前解決の設定を行います。127.0.1.1の行はコ 
メントアウトします。 
2-2-1 controllerノードの/etc/hostsの設定 
controller# vi /etc/hosts 
127.0.0.1 localhost 
#127.0.1.1 controller ← 既存設定をコメントアウト 
10.0.0.9 network 
10.0.0.10 controller 
10.0.0.11 compute1 
2-2-2 networkノードの/etc/hostsの設定 
network# vi /etc/hosts 
127.0.0.1 localhost 
#127.0.1.1 network ← 既存設定をコメントアウト 
10.0.0.9 network 
10.0.0.10 controller 
10.0.0.11 compute1 
2-2-3 compute1ノードの/etc/hostsの設定 
compute1# vi /etc/hosts 
127.0.0.1 localhost 
#127.0.1.1 compute1 ← 既存設定をコメントアウト 
10.0.0.9 network 
10.0.0.10 controller 
10.0.0.11 compute1 
日本仮想化技術13
OpenStack構築手順書 Juno版 
2-3 sysctlによるカーネルパラメーターの設定 
Linuxのネットワークパケット処理について設定を行います。 
2-3-1 networkノードの/etc/sysctl.confの設定 
network# vi /etc/sysctl.conf 
net.ipv4.ip_forward=1 
net.ipv4.conf.all.rp_filter=0 
net.ipv4.conf.default.rp_filter=0 
sysctlコマンドで設定を適用します。 
network# sysctl -p 
net.ipv4.ip_forward=1 
net.ipv4.conf.all.rp_filter=0 
net.ipv4.conf.default.rp_filter=0 
2-3-2 compute1ノードの/etc/sysctl.confの設定 
compute1# vi /etc/sysctl.conf 
net.ipv4.conf.all.rp_filter=0 
net.ipv4.conf.default.rp_filter=0 
sysctlコマンドで設定を適用します。 
compute1# sysctl -p 
net.ipv4.conf.all.rp_filter=0 
net.ipv4.conf.default.rp_filter=0 
日本仮想化技術14
OpenStack構築手順書 Juno版 
2-4 リポジトリーの設定とパッケージの更新 
各ノードで以下のファイルを作成し、Juno向けUbuntu Cloud Archiveリポジトリを登録します。 
# vi /etc/apt/sources.list.d/ubuntu-cloud-archive-juno-trusty.list 
deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/juno main 
Ubuntu Cloud archive リポジトリのキーリングをインストールします。 
# apt-get install ubuntu-cloud-keyring 
各ノードでパッケージリストを更新し再起動します。 
# apt-get update && apt-get dist-upgrade 
# reboot 
2-5 NTPのインストール 
各ノードで時刻を正確にするためにNTPをインストールします。 
# apt-get install -y ntp 
2-5-1 controllerノードの/etc/ntp.confの設定 
controllerノードで公開NTPサーバーと同期するNTPサーバーを構築します。 
NTP_SERVERに適切な公開NTPサーバー(ex.ntp.nict.jp etc..)を指定します。 
controller# vi /etc/ntp.conf 
server NTP_SERVER iburst 
restrict -4 default kod notrap nomodify nopeer noquery 
restrict -6 default kod notrap nomodify nopeer noquery 
設定を適用するため、NTPサービスを再起動します。 
controller# service ntp restart 
日本仮想化技術15
OpenStack構築手順書 Juno版 
2-5-2 その他ノードの/etc/ntp.confの設定 
networkノードとcompute1ノードでcontrollerノードと同期するNTPサーバーを構築します。 
network# vi /etc/ntp.conf 
server controller iburst 
restrict -4 default kod notrap nomodify nopeer noquery 
restrict -6 default kod notrap nomodify nopeer noquery 
設定を適用するため、NTPサービスを再起動します。 
network# service ntp restart 
2-5-3 NTPサーバーの動作確認 
構築した環境でntpq -pコマンドを実行して、各NTPサーバーが同期していることを確認します。 
公開NTPサーバーと同期しているノード 
controller# ntpq -p 
remote refid st t when poll reach delay offset jitter 
============================================================================== 
*ntp-a2.nict.go. .NICT. 1 u 3 64 1 6.569 17.818 0.001 
controllerと同期しているノード 
compute1# ntpq -p 
remote refid st t when poll reach delay offset jitter 
============================================================================== 
*controller ntp-a2.nict.go. 2 u 407 1024 377 1.290 -0.329 0.647 
2-6 Python用MySQL/MariaDBクライアントのインストール 
各ノードでPython用のMySQL/MariaDBクライアントをインストールします。 
# apt-get install -y python-mysqldb 
Python MySQLライブラリーはMariaDBと互換性があります。 
日本仮想化技術16
OpenStack構築手順書 Juno版 
3. controllerノードのインストール前設定 
3-1 MariaDBのインストール 
データベースサーバーのMariaDBをインストールします。 
3-1-1 パッケージのインストール 
apt-getコマンドでmariadb-serverパッケージをインストールします。 
controller# apt-get install -y mariadb-server 
インストール中にパスワードの入力を要求されますので、MariaDBのrootユーザーに対するパスワードを設定します。 
本例ではパスワードとして「password」を設定します。 
3-1-2 MariaDB設定の変更 
MariaDBの設定ファイルmy.cnfを開き以下の設定を変更します。 
バインドアドレスをeth0に割り当てたIPアドレスへ変更 
文字コードをUTF-8へ変更 
別のノードからMariaDBへアクセスできるようにするためバインドアドレスを変更します。加えて使用する文字コードを 
utf8に変更します。 
※文字コードをutf8に変更しないとOpenStackモジュールとデータベース間の通信でエラーが発生します。 
controller# vi /etc/mysql/my.cnf 
[mysqld] 
#bind-address = 127.0.0.1 ← 既存設定をコメントアウト 
bind-address = 10.0.0.10 ← 追記 
default-storage-engine = innodb ← 追記 
innodb_file_per_table ← 追記 
collation-server = utf8_general_ci ← 追記 
init-connect = 'SET NAMES utf8' ← 追記 
character-set-server = utf8 ← 追記 
3-1-3 MariaDBサービスの再起動 
変更した設定を反映させるためMariaDBのサービスを再起動します。 
controller# service mysql restart 
3-1-4 MariaDBデータベースのセキュア化 
mysql_secure_installationコマンドを実行すると、データベースのセキュリティを強化できます。必要に応じて設定を行 
ってください。 
日本仮想化技術17
OpenStack構築手順書 Juno版 
rootパスワードの入力 
controller# mysql_secure_installation 
In order to log into MariaDB to secure it, we'll need the current 
password for the root user. If you've just installed MariaDB, and 
you haven't set the root password yet, the password will be blank, 
so you should just press enter here. 
Enter current password for root (enter for none): password 
rootパスワードの変更 
Setting the root password ensures that nobody can log into the MariaDB 
root user without the proper authorisation. 
You already have a root password set, so you can safely answer 'n'. 
Change the root password? [Y/n] n 
anonymousユーザーの削除 
By default, a MariaDB installation has an anonymous user, allowing anyone 
to log into MariaDB without having to have a user account created for 
them. This is intended only for testing, and to make the installation 
go a bit smoother. You should remove them before moving into a 
production environment. 
Remove anonymous users? [Y/n] y 
リモートからのrootログインを禁止 
Normally, root should only be allowed to connect from 'localhost'. This 
ensures that someone cannot guess at the root password from the network. 
Disallow root login remotely? [Y/n] n 
testデーターベースの削除 
By default, MariaDB comes with a database named 'test' that anyone can 
access. This is also intended only for testing, and should be removed 
before moving into a production environment. 
Remove test database and access to it? [Y/n] y 
権限の再読み出し 
Reloading the privilege tables will ensure that all changes made so far 
will take effect immediately. 
Reload privilege tables now? [Y/n] y 
日本仮想化技術18
OpenStack構築手順書 Juno版 
3-2 RabbitMQのインストール 
OpenStackは、オペレーションやステータス情報を各サービス間で連携するためにメッセージブローカーを使用してい 
ます。OpenStackではRabbitMQ、Qpid、ZeroMQなど複数のメッセージブローカーサービスに対応しています。 
本書ではRabbitMQをインストールする例を説明します。 
3-2-1 パッケージのインストール 
apt-getコマンドで、rabbitmq-serverパッケージをインストールします。 
controller# apt-get install -y rabbitmq-server 
3-2-2 アクセスコントロールの変更 
以下の設定ファイルを作成し、localhost以外からもRabbitMQへアクセスできるように設定します。 
リモート認証の許可 
controller# vi /etc/rabbitmq/rabbitmq.conf 
[{rabbit, [{loopback_users, []}]}]. 
3-2-3 待ち受けポートとIPアドレスの変更 
以下の設定ファイルを作成し、RabbitMQの待ち受けポートとIPアドレスを定義します。 
待ち受け設定の追加 
controller# vi /etc/rabbitmq/rabbitmq-env.conf 
RABBITMQ_NODE_IP_ADDRESS=10.0.0.10 ← controllerのIPアドレス 
RABBITMQ_NODE_PORT=5672 
3-2-4 RabbitMQサービス再起動と確認 
メッセージブローカーサービスが正常に動いていないと、OpenStackの各コンポーネントは正常に動きません。 
RabbitMQサービスの再起動と動作確認を行い、確実に動作していることを確認します。 
controller# service rabbitmq-server restart 
controller# grep "ERROR|WARNING" /var/log/rabbitmq/rabbit@controller.log 
※新たなエラーが表示されなければ問題ありません。 
3-2-5 guestユーザーのパスワード変更 
rabbitmqctlコマンドでguestユーザーのパスワードを変更します。 
controller# rabbitmqctl change_password guest password 
Changing password for user "guest" ... 
...done. 
日本仮想化技術19
OpenStack構築手順書 Juno版 
3-3 環境変数設定ファイルの作成 
3-3-1 admin環境変数設定ファイル作成 
adminユーザー用環境変数設定ファイルを作成します。 
controller# vi ~/admin-openrc.sh 
export OS_USERNAME=admin 
export OS_PASSWORD=password 
export OS_TENANT_NAME=admin 
export OS_AUTH_URL=http://controller:35357/v2.0 
3-3-2 demo環境変数設定ファイル作成 
demoユーザー用環境変数設定ファイルを作成します。 
controller# vi ~/demo-openrc.sh 
export OS_USERNAME=demo 
export OS_PASSWORD=password 
export OS_TENANT_NAME=demo 
export OS_AUTH_URL=http://controller:35357/v2.0 
日本仮想化技術20
OpenStack構築手順書 Juno版 
4. Keystoneインストールと設定(controllerノード) 
各サービス間の連携時に使用する認証IDサービスKeystoneのインストールと設定を行います。 
4-1 パッケージのインストール 
apt-getコマンドでkeystoneパッケージをインストールします。 
controller# apt-get install -y keystone python-keystoneclient 
4-2 データベースの作成・確認 
Keystoneで使用するデータベースを作成します。 
4-2-1 データベースの作成 
MySQLにデータベースkeystoneを作成します。 
controller# mysql -u root -p << EOF 
CREATE DATABASE keystone; 
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost'  
IDENTIFIED BY 'password'; 
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%'  
IDENTIFIED BY 'password'; 
EOF 
Enter password: ← MariaDBのrootパスワードpasswordを入力 
日本仮想化技術21
OpenStack構築手順書 Juno版 
4-2-2 データベースの確認 
ユーザーkeystoneでログインしデータベースの閲覧が可能であることを確認します。 
controller# mysql -u keystone -p 
Enter password: ← MariaDBのkeystoneパスワードpasswordを入力 
... 
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. 
mysql> show databases; 
+--------------------+ 
| Database | 
+--------------------+ 
| information_schema | 
| keystone | 
+--------------------+ 
2 rows in set (0.00 sec) 
4-3 設定の変更 
keystoneの設定ファイルを変更します。 
controller# vi /etc/keystone/keystone.conf 
[DEFAULT] 
admin_token = password ← 追記 
log_dir = /var/log/keystone ← 設定されていることを確認 
verbose = True 
[database] 
#connection = sqlite:////var/lib/keystone/keystone.db ← 既存設定をコメントアウト 
connection = mysql://keystone:password@controller/keystone ← 追記 
[token] 
provider = keystone.token.providers.uuid.Provider 
driver = keystone.token.persistence.backends.sql.Token 
4-4 データベースに表を作成 
controller# su -s /bin/sh -c "keystone-manage db_sync" keystone 
日本仮想化技術22
OpenStack構築手順書 Juno版 
4-5 使用しないデータベースファイルの削除 
controller# rm /var/lib/keystone/keystone.db 
4-6 Keystoneサービスの再起動 
設定を反映させるために、Keystoneサービスを再起動します。 
controller# rm /var/log/keystone/* 
controller# service keystone restart 
4-7 ログの確認 
keystoneのログを確認します。下記のWARNING以外にログが表示されなければ問題ありません。 
controller# grep "ERROR|WARNING" /var/log/keystone/* 
... 
2014-11-12 16:32:16.466 18369 WARNING keystone.openstack.common.versionutils [-] Deprecated: keystone.cont 
rib.revoke.backends.kvs is deprecated as of Juno in favor of keystone.contrib.revoke.backends.sql and may 
be removed in Kilo. 
日本仮想化技術23
OpenStack構築手順書 Juno版 
4-8 認証情報の作成 
以下コマンドで認証情報(テナント・ユーザー・ロール)を設定します。 
環境変数の設定 
controller# export OS_SERVICE_TOKEN=password 
controller# export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0 
adminテナントの作成 
controller# keystone tenant-create --name=admin --description="Admin Tenant" 
+-------------+----------------------------------+ 
| Property | Value | 
+-------------+----------------------------------+ 
| description | Admin Tenant | 
| enabled | True | 
| id | 07e06d1d7f35430e8906e6fb5badd893 | 
| name | admin | 
+-------------+----------------------------------+ 
adminユーザーの作成 
controller# keystone user-create --name=admin --pass=password --email=admin@example.com 
+----------+----------------------------------+ 
| Property | Value | 
+----------+----------------------------------+ 
| email | admin@example.com | 
| enabled | True | 
| id | 9b6f2e4f6e074566937119a05a26e01e | 
| name | admin | 
| username | admin | 
+----------+----------------------------------+ 
adminロールの作成 
controller# keystone role-create --name=admin 
+----------+----------------------------------+ 
| Property | Value | 
+----------+----------------------------------+ 
| id | 9d34e8df7bc04bf3b16abc8a09238499 | 
| name | admin | 
+----------+----------------------------------+ 
adminテナントおよびユーザーにadminロールを所属 
controller# keystone user-role-add --tenant=admin --user=admin --role=admin 
日本仮想化技術24
OpenStack構築手順書 Juno版 
_member_ロールの作成 
controller# keystone role-create --name _member_ 
+----------+----------------------------------+ 
| Property | Value | 
+----------+----------------------------------+ 
| id | 0f198e94ffce416cbcbe344e1843eac8 | 
| name | _member_ | 
+----------+----------------------------------+ 
adminテナントおよびユーザーに_member_ロールを所属 
controller# keystone user-role-add --tenant=admin --user=admin --role=_member_ 
demoテナントの作成 
controller# keystone tenant-create --name=demo --description="Demo Tenant" 
+-------------+----------------------------------+ 
| Property | Value | 
+-------------+----------------------------------+ 
| description | Demo Tenant | 
| enabled | True | 
| id | 6d19304a59b3456bbe2552a9080d1301 | 
| name | demo | 
+-------------+----------------------------------+ 
demoユーザーの作成 
controller# keystone user-create --name=demo --pass=password --email=demo@example.com 
+----------+----------------------------------+ 
| Property | Value | 
+----------+----------------------------------+ 
| email | demo@example.com | 
| enabled | True | 
| id | 7d0a62a5abf7445688b2fd223e1a9a1f | 
| name | demo | 
| username | demo | 
+----------+----------------------------------+ 
demoテナントおよびdemoユーザーを_menber_ロールへ所属 
controller# keystone user-role-add --tenant=demo --user=demo --role=_member_ 
日本仮想化技術25
OpenStack構築手順書 Juno版 
サービステナントの作成 
controller# keystone tenant-create --name=service --description="Service Tenant" 
+-------------+----------------------------------+ 
| Property | Value | 
+-------------+----------------------------------+ 
| description | Service Tenant | 
| enabled | True | 
| id | 0571e304708f4cdcb4ecedc363547acb | 
| name | service | 
+-------------+----------------------------------+ 
サービスエントリーの作成 
controller# keystone service-create --name=keystone --type=identity  
--description="OpenStack Identity" 
+-------------+----------------------------------+ 
| Property | Value | 
+-------------+----------------------------------+ 
| description | OpenStack Identity | 
| enabled | True | 
| id | c315a41214b84597af88ab11bb5a089d | 
| name | keystone | 
| type | identity | 
+-------------+----------------------------------+ 
日本仮想化技術26
OpenStack構築手順書 Juno版 
APIエンドポイントを作成 
controller# keystone endpoint-create  
--service-id $(keystone service-list | awk '/ identity / {print $2}')  
--publicurl http://controller:5000/v2.0  
--internalurl http://controller:5000/v2.0  
--adminurl http://controller:35357/v2.0  
--region regionOne 
+-------------+----------------------------------+ 
| Property | Value | 
+-------------+----------------------------------+ 
| adminurl | http://controller:35357/v2.0 | 
| id | 420a300f830542fb95ddd7b19063dc60 | 
| internalurl | http://controller:5000/v2.0 | 
| publicurl | http://controller:5000/v2.0 | 
| region | regionOne | 
| service_id | 4cd6329b004740fb92cbf013e41d52fc | 
+-------------+----------------------------------+ 
Keystoneへの作成が完了したら環境編集をunsetします。 
controller# unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT 
日本仮想化技術27
OpenStack構築手順書 Juno版 
4-9 Keystoneの動作確認 
Keystoneへ正しく登録されたか確認します。 
4-9-1 認証トークンの要求確認 
動作確認のためadminおよびdemoテナントに対し認証トークンを要求してみます。 
adminトークンの確認 
controller# keystone --os-tenant-name=admin --os-username=admin --os-password=password  
--os-auth-url=http://controller:35357/v2.0 token-get 
+-----------+---------------------------------------+ 
| Property | Value | 
+-----------+---------------------------------------+ 
| expires | 2014-05-18T02:51:48Z | 
| id | MIIMYAYJKoZIhvcNAQcbWsNz2gqLtB6dfg== | 
| tenant_id | b348b47155884978af344b84db561865 | 
| user_id | 6ca7845a6d554ef8ab737a777dd0a7cb | 
+-----------+---------------------------------------+ 
demoトークンの確認 
controller# keystone --os-tenant-name=demo --os-username=demo --os-password=password  
--os-auth-url=http://controller:35357/v2.0 token-get 
-+-----------+---------------------------------------+ 
| Property | Value | 
-+-----------+---------------------------------------+ 
| expires | 2014-05-18T02:53:09Z | 
| id | MIIMJQYJKoZIhvcfso3dfgcJ+I7J40KS9fo= | 
| tenant_id | 6803ec4cf70f43ed8cfdbd060c1a2293 | 
| user_id | 7605b233fede4f958c121e31b508eeac | 
-+-----------+---------------------------------------+ 
※コマンドを実行した結果、トークンのid情報等が出力されれば問題ありません(実際のトークン情報は一行が長いの 
で、コマンド例では省略して記述しています)。 
日本仮想化技術28
OpenStack構築手順書 Juno版 
4-9-2 Keystoneテナントとユーザーの確認 
Keystoneに正しくテナントとユーザーが登録されているかを確認します。 
admin環境変数設定の読み込み 
controller# source admin-openrc.sh 
ユーザーの確認 
controller# keystone user-list 
+----------------------------------+-------+---------+-------------------+ 
| id | name | enabled | email | 
+----------------------------------+-------+---------+-------------------+ 
| 91d240e3d9664f4f86781de3c8ea7880 | admin | True | admin@example.com | 
| 3f02a4329cb040639e5d5b2c3ce0a9a0 | demo | True | demo@example.com | 
+----------------------------------+-------+---------+-------------------+ 
ロールの確認 
controller# keystone role-list 
+----------------------------------+----------+ 
| id | name | 
+----------------------------------+----------+ 
| d35820caf9ed457c9e12d21988c2a719 | _member_ | 
| 3e0e9a0d97e745c7917f617e51b006f1 | admin | 
+----------------------------------+----------+ 
日本仮想化技術29
OpenStack構築手順書 Juno版 
5. Glanceのインストールと設定 
5-1 パッケージのインストール 
apt-getコマンドでglanceとglanceクライアントパッケージをインストールします。 
controller# apt-get install -y glance python-glanceclient 
5-2 データベースの作成・確認 
5-2-1 データベース作成 
MariaDBにデータベースglanceを作成します。 
controller# mysql -u root -p << EOF 
CREATE DATABASE glance; 
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost'  
IDENTIFIED BY 'password'; 
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%'  
IDENTIFIED BY 'password'; 
EOF 
Enter password: ← MariaDBのrootパスワードpasswordを入力 
5-2-2 データベースの確認 
ユーザーglanceでログインしデータベースの閲覧が可能であることを確認します。 
controller# mysql -u glance -p 
Enter password: ← MariaDBのglanceパスワードpasswordを入力 
... 
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. 
mysql> show databases; 
+--------------------+ 
| Database | 
+--------------------+ 
| information_schema | 
| glance | 
+--------------------+ 
2 rows in set (0.00 sec) 
日本仮想化技術30
OpenStack構築手順書 Juno版 
5-3 認証情報の作成 
以下コマンドで認証情報を作成します。 
環境変数の設定 
controller# source admin-openrc.sh 
glanceユーザーの作成 
controller# keystone user-create --name=glance --pass=password 
+----------+----------------------------------+ 
| Property | Value | 
+----------+----------------------------------+ 
| email | | 
| enabled | True | 
| id | 4731656ea2604725873be52d08ad3a26 | 
| name | glance | 
| username | glance | 
+----------+----------------------------------+ 
glanceユーザーをadminロールに所属 
controller# keystone user-role-add --user=glance --tenant=service --role=admin 
サービスの作成 
controller# keystone service-create --name=glance --type=image  
--description="OpenStack Image Service" 
+-------------+----------------------------------+ 
| Property | Value | 
+-------------+----------------------------------+ 
| description | OpenStack Image Service | 
| enabled | True | 
| id | b9a5d0e108474d928a29b896658897ef | 
| name | glance | 
| type | image | 
+-------------+----------------------------------+ 
日本仮想化技術31
OpenStack構築手順書 Juno版 
サービスエンドポイントの作成 
controller# keystone endpoint-create  
--service-id $(keystone service-list | awk '/ image / {print $2}')  
--publicurl http://controller:9292  
--internalurl http://controller:9292  
--adminurl http://controller:9292  
--region regionOne 
+-------------+----------------------------------+ 
| Property | Value | 
+-------------+----------------------------------+ 
| adminurl | http://controller:9292 | 
| id | 9b624f153503415b96cabd264e456f11 | 
| internalurl | http://controller:9292 | 
| publicurl | http://controller:9292 | 
| region | regionOne | 
| service_id | 19b47372418940afadc114fde31fcbb5 | 
+-------------+----------------------------------+ 
日本仮想化技術32
OpenStack構築手順書 Juno版 
5-4 設定の変更 
controller# vi /etc/glance/glance-api.conf 
[DEFAULT] 
rpc_backend = rabbit 
rabbit_host = controller ← 変更 
rabbit_password = password ← 変更 
verbose = True ← 追記 
[database] 
#sqlite_db = /var/lib/glance/glance.sqlite ← 既存設定をコメントアウト 
connection = mysql://glance:password@controller/glance ← 追記 
[keystone_authtoken] 
#admin_tenant_name = %SERVICE_TENANT_NAME% ← 既存設定をコメントアウト 
#admin_user = %SERVICE_USER% ← 既存設定をコメントアウト 
#admin_password = %SERVICE_PASSWORD% ← 既存設定をコメントアウト 
auth_uri = http://controller:5000/v2.0 ← 追記 
identity_url = http://controller:35357 ← 編集 
admin_tenant_name = service ← 追記 
admin_user = glance ← 追記 
admin_password = password ← 追記 
[paste_deploy] 
flavor = keystone ← 追記 
[glance_store] 
default_store =file ← 設定されていることを確認 
日本仮想化技術33
OpenStack構築手順書 Juno版 
controller# vi /etc/glance/glance-registry.conf 
[DEFAULT] 
rabbit_host = controller 
rabbit_password = password 
verbose = True 
[database] 
#sqlite_db = /var/lib/glance/glance.sqlite ← 既存設定をコメントアウト 
connection = mysql://glance:password@controller/glance ← 追記 
[keystone_authtoken] 
#admin_tenant_name = %SERVICE_TENANT_NAME% ← 既存設定をコメントアウト 
#admin_user = %SERVICE_USER% ← 既存設定をコメントアウト 
#admin_password = %SERVICE_PASSWORD% ← 既存設定をコメントアウト 
auth_uri = http://controller:5000 ← 追記 
identity_url = http://controller:35357 ← 編集 
admin_tenant_name = service ← 追記 
admin_user = glance ← 追記 
admin_password = password ← 追記 
[paste_deploy] 
flavor = keystone ← 追記 
5-5 データベースにデータ登録 
下記コマンドにてglanceデータベースのセットアップを行います。 
controller# su -s /bin/sh -c "glance-manage db_sync" glance 
5-6 Glanceサービスの再起動 
設定を反映させるため、Glanceサービスを再起動します。 
controller# rm /var/log/glance/* 
controller# service glance-registry restart && service glance-api restart 
日本仮想化技術34
OpenStack構築手順書 Juno版 
5-7 使用しないデータベースファイルの削除 
controller# rm /var/lib/glance/glance.sqlite 
5-8 ログの確認 
Glanceのログを確認します。WARNINGやERRORのログが表示されないことを確認します。 
controller# grep "ERROR|WARNING" /var/log/glance/* 
5-9 イメージの取得と登録 
Glanceへインスタンス用仮想マシンイメージを登録します。ここでは、クラウド環境で主にテスト用途で利用される 
LinuxディストリビューションCirrOSを登録します。 
5-9-1 イメージ取得 
CirrOSのWebサイトより仮想マシンイメージをダウンロードします。 
controller# wget http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img 
日本仮想化技術35
OpenStack構築手順書 Juno版 
5-9-2 イメージ登録 
ダウンロードした仮想マシンイメージをGlanceに登録します。 
controller# glance image-create --name="CirrOS 0.3.3" --disk-format=qcow2 --container-format=bare  
--is-public=true < cirros-0.3.3-x86_64-disk.img 
+------------------+--------------------------------------+ 
| Property | Value | 
+------------------+--------------------------------------+ 
| checksum | None | 
| container_format | bare | 
| created_at | 2014-11-12T07:44:31 | 
| deleted | False | 
| deleted_at | None | 
| disk_format | qcow2 | 
| id | a94ad1b9-bab8-454d-81e4-fe15693784b4 | 
| is_public | False | 
| min_disk | 0 | 
| min_ram | 0 | 
| name | CirrOS 0.3.3 | 
| owner | 8180ef035ce34af9bc696754986fe32f | 
| protected | False | 
| size | 0 | 
| status | queued | 
| updated_at | 2014-11-12T07:44:31 | 
| virtual_size | None | 
+------------------+--------------------------------------+ 
5-9-3 イメージ登録確認 
仮想マシンイメージが正しく登録されたか確認します。 
controller# glance image-list 
+--------------------------------------+--------------+-------------+------------------+------+--------+ 
| ID | Name | Disk Format | Container Format | Size | Status | 
+--------------------------------------+--------------+-------------+------------------+------+--------+ 
| a94ad1b9-bab8-454d-81e4-fe15693784b4 | CirrOS 0.3.3 | qcow2 | bare | | queued | 
+--------------------------------------+--------------+-------------+------------------+------+--------+ 
日本仮想化技術36
OpenStack構築手順書 Juno版 
6. Novaのインストールと設定(controllerノード) 
controllerノードへNovaをインストールします。 
6-1 パッケージのインストール 
apt-getコマンドでNova関連のパッケージをインストールします。 
controller# apt-get install -y nova-api nova-cert nova-conductor nova-consoleauth nova-novncproxy  
nova-scheduler python-novaclient 
6-2 データベースの作成・確認 
6-2-1 データベースの作成 
MariaDBにデータベースnovaを作成します。 
controller# mysql -u root -p << EOF 
CREATE DATABASE nova; 
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost'  
IDENTIFIED BY 'password'; 
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%'  
IDENTIFIED BY 'password'; 
EOF 
Enter password: ← MariaDBのrootパスワードpasswordを入力 
6-2-2 データベースの作成確認 
※ユーザーnovaでログインしデータベースの閲覧が可能であることを確認します。 
controller# mysql -u nova -p 
Enter password: ← MariaDBのnovaパスワードpasswordを入力 
... 
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. 
mysql> show databases; 
+--------------------+ 
| Database | 
+--------------------+ 
| information_schema | 
| nova | 
+--------------------+ 
2 rows in set (0.00 sec) 
日本仮想化技術37
OpenStack構築手順書 Juno版 
6-3 認証情報の作成 
以下コマンドで認証情報を作成します。 
環境変数の設定 
controller# source admin-openrc.sh 
novaユーザーの作成 
controller# keystone user-create --name=nova --pass=password 
+----------+----------------------------------+ 
| Property | Value | 
+----------+----------------------------------+ 
| email | | 
| enabled | True | 
| id | 60d2a224d82449c2b087a0f0b4b9e0a3 | 
| name | nova | 
| username | nova | 
+----------+----------------------------------+ 
novaユーザーをadminロールに所属 
controller# keystone user-role-add --user=nova --tenant=service --role=admin 
novaサービスの作成 
controller# keystone service-create --name=nova --type=compute  
--description="OpenStack Compute" 
+-------------+----------------------------------+ 
| Property | Value | 
+-------------+----------------------------------+ 
| description | OpenStack Compute | 
| enabled | True | 
| id | 247c48a462b94870920631626d7f9d23 | 
| name | nova | 
| type | compute | 
+-------------+----------------------------------+ 
日本仮想化技術38
OpenStack構築手順書 Juno版 
novaサービスのエンドポイントを作成 
controller# keystone endpoint-create  
--service-id $(keystone service-list | awk '/ compute / {print $2}')  
--publicurl http://controller:8774/v2/%(tenant_id)s  
--internalurl http://controller:8774/v2/%(tenant_id)s  
--adminurl http://controller:8774/v2/%(tenant_id)s  
--region regionOne 
+-------------+-----------------------------------------+ 
| Property | Value | 
+-------------+-----------------------------------------+ 
| adminurl | http://controller:8774/v2/%(tenant_id)s | 
| id | 6a25dd781e5043f7af621eae43a4448d | 
| internalurl | http://controller:8774/v2/%(tenant_id)s | 
| publicurl | http://controller:8774/v2/%(tenant_id)s | 
| region | regionOne | 
| service_id | 247c48a462b94870920631626d7f9d23 | 
+-------------+-----------------------------------------+ 
日本仮想化技術39
OpenStack構築手順書 Juno版 
6-4 設定変更 
nova.confに下記の設定を追記します。 
controller# vi /etc/nova/nova.conf 
[DEFAULT] 
... 
rpc_backend = rabbit 
rabbit_host = controller 
rabbit_password = password 
auth_strategy = keystone 
# controllerノードのIPアドレス:10.0.0.10 
my_ip = 10.0.0.10 
vncserver_listen = 10.0.0.10 
vncserver_proxyclient_address = 10.0.0.10 
# Networking 
network_api_class = nova.network.neutronv2.api.API 
security_group_api = neutron 
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver 
firewall_driver = nova.virt.firewall.NoopFirewallDriver 
[keystone_authtoken] 
auth_uri = http://controller:5000/v2.0 
identity_uri = http://controller:35357 
admin_tenant_name = service 
admin_user = nova 
admin_password = password 
[database] 
connection = mysql://nova:password@controller/nova 
[glance] 
host = controller 
6-5 使用しないデータベースファイル削除 
データベースはMariaDBを使用するため、使用しないSQLiteファイルを削除します。 
controller# rm /var/lib/nova/nova.sqlite 
日本仮想化技術40
OpenStack構築手順書 Juno版 
6-6 データベースにデータを作成 
下記コマンドにてnovaデータベースのセットアップを行います。 
controller# su -s /bin/sh -c "nova-manage db sync" nova 
6-7 Novaサービスの再起動 
設定を反映させるため、Novaのサービスを再起動します。 
controller# rm /var/log/nova/* 
controller# service nova-api restart && service nova-cert restart && service nova-consoleauth restart &&  
service nova-scheduler restart && service nova-conductor restart && service nova-novncproxy restart 
6-8 ログの確認 
controller# grep "ERROR|WARNING" /var/log/nova/* 
※特に何も表示されなければ問題ありません。 
6-9 Glanceとの通信確認 
NovaのコマンドラインインターフェースでGlanceと通信してGlanceと相互に通信できているかを確認します。 
controller# nova image-list 
+--------------------------------------+--------------+--------+--------+ 
| ID | Name | Status | Server | 
+--------------------------------------+--------------+--------+--------+ 
| 1cdc90ca-fc4b-4064-8514-21aac275729f | CirrOS 0.3.3 | ACTIVE | | 
+--------------------------------------+--------------+--------+--------+ 
※Glanceに登録したCirrOSイメージが表示できていれば問題ありません。 
日本仮想化技術41
OpenStack構築手順書 Juno版 
7. Nova-Computeのインストール・設定(compute1ノード) 
7-1 パッケージインストール 
compute1# apt-get install -y nova-compute sysfsutils 
7-2 設定の変更 
novaの設定ファイルを変更します。 
compute1# vi /etc/nova/nova.conf 
[DEFAULT] 
※既にある記述はそのままにして、以下の記述を追加します。 
rpc_backend = rabbit 
rabbit_host = controller 
rabbit_password = password 
auth_strategy = keystone 
my_ip = 10.0.0.11 ← IPアドレスで指定 
vnc_enabled = True 
vncserver_listen = 0.0.0.0 
vncserver_proxyclient_address = 10.0.0.11 ← IPアドレスで指定 
novncproxy_base_url = http://controller:6080/vnc_auto.html 
[keystone_authtoken] 
auth_uri = http://controller:5000/v2.0 
identity_uri = http://controller:35357 
admin_tenant_name = service 
admin_user = nova 
admin_password = password 
[glance] 
host = controller 
※日本語キーボードを使用する場合は[DEFAULT]に以下を追加します。 
vnc_keymap = ja 
日本仮想化技術42
OpenStack構築手順書 Juno版 
7-3 Nova-Computeサービスの再起動 
設定を反映させるため、Nova-Computeのサービスを再起動します。 
compute1# rm /var/log/nova/* 
compute1# service nova-compute restart 
7-4 ログの確認 
compute1# grep "ERROR|WARNING" /var/log/nova/* 
※何も表示されなければ問題ありません。 
7-5 controllerノードとの疎通確認 
疎通確認はcontrollerノード上にて、admin環境変数設定ファイルを読み込んで行います。 
controller# source admin-openrc.sh 
7-5-1 ホストリストの確認 
controllerノードとcomputeノードが相互に接続できているか確認します。もし、StateがXXXなサービスがあった場合 
は、該当のサービスをserviceコマンドで起動してください。 
controller# nova-manage service list 
Binary Host Zone Status State 
nova-consoleauth controller internal enabled :-) 
nova-conductor controller internal enabled :-) 
nova-cert controller internal enabled :-) 
nova-scheduler controller internal enabled :-) 
nova-compute compute1 nova enabled :-) 
※一覧にcompute1が表示されていれば問題ありません。 
日本仮想化技術43
OpenStack構築手順書 Juno版 
7-5-2 ハイパーバイザの確認 
controllerノードよりcomputeノードのハイパーバイザが取得可能か確認します。 
controller# nova hypervisor-list 
+----+---------------------+ 
| ID | Hypervisor hostname | 
+----+---------------------+ 
| 1 | compute1 | 
+----+---------------------+ 
※Hypervisor hostname一覧にcompute1が表示されていれば問題ありません。 
日本仮想化技術44
OpenStack構築手順書 Juno版 
8. Neutronのインストール・設定(controllerノード) 
8-1 パッケージインストール 
controller# apt-get install -y neutron-server neutron-plugin-ml2 python-neutronclient 
8-2 データベース作成・確認 
8-2-1 データベース作成 
MariaDBにデータベースneutronを作成します。 
controller# mysql -u root -p << EOF 
CREATE DATABASE neutron; 
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost'  
IDENTIFIED BY 'password'; 
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%'  
IDENTIFIED BY 'password'; 
EOF 
Enter password: ← MariaDBのrootパスワードpasswordを入力 
8-2-2 データベースの確認 
MariaDBにNeutronのデータベースが登録されたか確認します。 
controller# mysql -u neutron -p 
Enter password: ← MariaDBのneutronパスワードpasswordを入力 
... 
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. 
mysql> show databases; 
+--------------------+ 
| Database | 
+--------------------+ 
| information_schema | 
| neutron | 
+--------------------+ 
2 rows in set (0.00 sec) 
※ユーザーneutronでログイン可能でデータベースが閲覧可能なら問題ありません。 
日本仮想化技術45
OpenStack構築手順書 Juno版 
8-3 認証情報の設定 
以下コマンドで認証情報を設定します。 
controller# source admin-openrc.sh 
controller# keystone user-create --name neutron --pass password 
+----------+----------------------------------+ 
| Property | Value | 
+----------+----------------------------------+ 
| email | | 
| enabled | True | 
| id | 23f88938cbd94deb95b4c2c3caec2c60 | 
| name | neutron | 
| username | neutron | 
+----------+----------------------------------+ 
controller# keystone user-role-add --user neutron --tenant service --role admin 
controller# keystone service-create --name neutron --type network --description "OpenStack Networking" 
+-------------+----------------------------------+ 
| Property | Value | 
+-------------+----------------------------------+ 
| description | OpenStack Networking | 
| enabled | True | 
| id | 6c36ba679b16402aaed73c0e032f0d02 | 
| name | neutron | 
| type | network | 
+-------------+----------------------------------+ 
controller# keystone endpoint-create  
--service-id $(keystone service-list | awk '/ network / {print $2}')  
--publicurl http://controller:9696  
--adminurl http://controller:9696  
--internalurl http://controller:9696  
--region regionOne 
+-------------+----------------------------------+ 
| Property | Value | 
+-------------+----------------------------------+ 
| adminurl | http://controller:9696 | 
| id | f9c6285e5242428ba5fb80a2b88535fb | 
| internalurl | http://controller:9696 | 
| publicurl | http://controller:9696 | 
| region | regionOne | 
| service_id | 6c36ba679b16402aaed73c0e032f0d02 | 
+-------------+----------------------------------+ 
日本仮想化技術46
OpenStack構築手順書 Juno版 
8-4 設定の変更 
設定変更時にSERVICE_TENANT_IDを求められるファイルがあるので予めSERVICE_TENANT_IDを取得します。 
controller# source admin-openrc.sh 
controller# keystone tenant-get service 
+-------------+----------------------------------+ 
| Property | Value | 
+-------------+----------------------------------+ 
| description | Service Tenant | 
| enabled | True | 
| id | f727b5ec2ceb4d71bad86dfc414449bf | 
| name | service | 
+-------------+----------------------------------+ 
日本仮想化技術47
OpenStack構築手順書 Juno版 
controller# vi /etc/neutron/neutron.conf 
[DEFAULT] 
... 
rpc_backend = rabbit ← コメントアウトをはずす 
rabbit_host = controller ← 追記 
rabbit_password = password ← 追記 
core_plugin = ml2 ← 設定されていることを確認 
service_plugins = router ← 追記 
allow_overlapping_ips = True ← 追記 
auth_strategy = keystone ← コメントアウトをはずす 
notify_nova_on_port_status_changes = True ← 追記 
notify_nova_on_port_data_changes = True ← 追記 
nova_url = http://controller:8774/v2 
nova_admin_auth_url = http://controller:35357/v2.0 ← 追記 
nova_admin_username = nova ← 追記 
nova_admin_tenant_id = SERVICE_TENANT_ID ← 追記 
※SERVICE_TENANT_IDは"keystone tenant-get service"コマンドを実行して出力されたIDを使用します。 
nova_admin_password = password ← 追記 
[database] 
#connection = sqlite:////var/lib/neutron/neutron.sqlite ← 既存設定をコメントアウト 
connection = mysql://neutron:password@controller/neutron ← 追記 
[keystone_authtoken] 
#auth_host = 127.0.0.1 ← 既存設定をコメントアウト 
#auth_port = 35357 ← 既存設定をコメントアウト 
#auth_protocol = http ← 既存設定をコメントアウト 
#admin_tenant_name = %SERVICE_TENANT_NAME% ← 既存設定をコメントアウト 
#admin_user = %SERVICE_USER% ← 既存設定をコメントアウト 
#admin_password = %SERVICE_PASSWORD% ← 既存設定をコメントアウト 
auth_uri = http://controller:5000/v2.0 ← 追記 
identity_uri = http://controller:35357 
nova_region_name = regionOne ← 追記 
admin_tenant_name = service ← 追記 
admin_user = neutron ← 追記 
admin_password = password ← 追記 
日本仮想化技術48
OpenStack構築手順書 Juno版 
controller# vi /etc/neutron/plugins/ml2/ml2_conf.ini 
[ml2] 
... 
type_drivers = flat, gre ← 追記 
tenant_network_types = gre ← 追記 
mechanism_drivers = openvswitch ← 追記 
[ml2_type_gre] 
... 
tunnel_id_ranges = 1:1000 ← 追記 
[securitygroup] 
... 
enable_security_group = True 
enable_ipset = True 
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver ← 追記 
日本仮想化技術49
OpenStack構築手順書 Juno版 
8-5 設定の変更 
novaの設定ファイルを変更します。 
controller# vi /etc/nova/nova.conf 
[DEFAULT] 
... 
network_api_class = nova.network.neutronv2.api.API 
security_group_api = neutron 
linuxnet_interface_driver = nova.network.linux_net. 
LinuxOVSInterfaceDriver 
firewall_driver = nova.virt.firewall.NoopFirewallDriver 
[neutron] 
... 
url = http://controller:9696 
auth_strategy = keystone 
admin_auth_url = http://controller:35357/v2.0 
admin_tenant_name = service 
admin_username = neutron 
admin_password = password 
8-6 データベースの作成 
controller# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf  
--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade juno" neutron 
8-7 使用しないデータベースファイル削除 
controller# rm /var/lib/neutron/neutron.sqlite 
8-8 controllerノードのNeutronと関連サービスの再起動 
設定を反映させるため、controllerノードのNeutronと関連のサービスを再起動します。 
controller# rm /var/log/neutron/* 
controller# service nova-api restart &&  
service nova-scheduler restart &&  
service nova-conductor restart &&  
service neutron-server restart 
日本仮想化技術50
OpenStack構築手順書 Juno版 
8-9 ログの確認 
controller# grep "ERROR|WARNING" /var/log/neutron/* 
... 
2014-05-16 18:41:24.106 2331 ERROR neutron.openstack.common.rpc.common [-] AMQP server on localhost:5672 i 
s unreachable: Socket closed. Trying again in 30 seconds. 
2014-05-16 18:41:34.119 2708 WARNING neutron.openstack.common.db.sqlalchemy.session [-] This application h 
as not enabled MySQL traditional mode, which means silent data corruption may occur. Please encourage the 
application developers to enable this mode. 
2014-05-16 18:41:36.423 2708 WARNING neutron.api.extensions [-] Extension fwaas not supported by any of lo 
aded plugins 
2014-05-16 18:41:36.429 2708 WARNING neutron.api.extensions [-] Extension flavor not supported by any of l 
oaded plugins 
2014-05-16 18:41:36.484 2708 WARNING neutron.api.extensions [-] Extension lbaas_agent_scheduler not suppor 
ted by any of loaded plugins 
2014-05-16 18:41:36.502 2708 WARNING neutron.api.extensions [-] Extension lbaas not supported by any of lo 
aded plugins 
2014-05-16 18:41:36.528 2708 WARNING neutron.api.extensions [-] Extension metering not supported by any of 
loaded plugins 
2014-05-16 18:41:36.558 2708 WARNING neutron.api.extensions [-] Extension port-security not supported by a 
ny of loaded plugins 
2014-05-16 18:41:36.593 2708 WARNING neutron.api.extensions [-] Extension routed-service-insertion not sup 
ported by any of loaded plugins 
2014-05-16 18:41:36.601 2708 WARNING neutron.api.extensions [-] Extension router-service-type not supporte 
d by any of loaded plugins 
2014-05-16 18:41:36.630 2708 WARNING neutron.api.extensions [-] Extension service-type not supported by an 
y of loaded plugins 
2014-05-16 18:41:36.653 2708 WARNING neutron.api.extensions [-] Extension vpnaas not supported by any of l 
oaded plugins 
※上記ERRORとWARNING以外が出力されなければ問題ありません。 
日本仮想化技術51
OpenStack構築手順書 Juno版 
8-10 動作確認 
controller:~# source admin-openrc.sh 
controller:~# neutron ext-list 
+-----------------------+-----------------------------------------------+ 
| alias | name | 
+-----------------------+-----------------------------------------------+ 
| security-group | security-group | 
| l3_agent_scheduler | L3 Agent Scheduler | 
| ext-gw-mode | Neutron L3 Configurable external gateway mode | 
| binding | Port Binding | 
| provider | Provider Network | 
| agent | agent | 
| quotas | Quota management support | 
| dhcp_agent_scheduler | DHCP Agent Scheduler | 
| l3-ha | HA Router extension | 
| multi-provider | Multi Provider Network | 
| external-net | Neutron external network | 
| router | Neutron L3 Router | 
| allowed-address-pairs | Allowed Address Pairs | 
| extraroute | Neutron Extra Route | 
| extra_dhcp_opt | Neutron Extra DHCP opts | 
| dvr | Distributed Virtual Router | 
+-----------------------+-----------------------------------------------+ 
日本仮想化技術52
OpenStack構築手順書 Juno版 
9. Neutronのインストール・設定(networkノード) 
9-1 パッケージインストール 
network# apt-get install -y neutron-plugin-ml2 neutron-plugin-openvswitch-agent  
neutron-l3-agent neutron-dhcp-agent 
9-2 設定の変更 
neutron.confの設定 
network# vi /etc/neutron/neutron.conf 
[DEFAULT] 
... 
rpc_backend = rabbit ← コメントアウトをはずす 
rabbit_host = controller ← 追記 
rabbit_password = password ← 追記 
auth_strategy = keystone ← コメントアウトをはずす 
core_plugin = ml2 ← 追記 
service_plugins = router ← 追記 
allow_overlapping_ips = True ← 追記 
[keystone_authtoken] 
#auth_host = 127.0.0.1 ← 既存設定をコメントアウト 
#auth_host = controller ← コメントアウト 
#auth_protocol = http ← コメントアウト 
#auth_port = 35357 ← コメントアウト 
#admin_tenant_name = %SERVICE_TENANT_NAME% ← 既存設定をコメントアウト 
#admin_user = %SERVICE_USER% ← 既存設定をコメントアウト 
#admin_password = %SERVICE_PASSWORD% ← 既存設定をコメントアウト 
auth_uri = http://controller:5000/v2.0 ← 追記 
identity_uri = http://controller:35357 ← 追記 
admin_tenant_name = service ← 追記 
admin_user = neutron ← 追記 
admin_password = password ← 追記 
日本仮想化技術53
OpenStack構築手順書 Juno版 
ml2_conf.iniの設定 
network# vi /etc/neutron/plugins/ml2/ml2_conf.ini 
[ml2] 
... 
type_drivers = flat,gre ← 追記 
tenant_network_types = gre ← 追記 
mechanism_drivers = openvswitch ← 追記 
[ml2_type_flat] 
... 
flat_networks = external ← 追記 
[ml2_type_gre] 
... 
tunnel_id_ranges = 1:1000 ← 追記 
[ovs] 
... 
local_ip = 192.168.0.9 ← 追記 
tunnel_type = gre ← 追記 
enable_tunneling = True ← 追記 
bridge_mappings = external:br-ex ← 追記 
[securitygroup] 
... 
enable_security_group = True 
enable_ipset = True 
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver 
[agent] 
... 
tunnel_types = gre 
l3_agent.iniの設定 
network# vi /etc/neutron/l3_agent.ini 
[DEFAULT] 
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver ← 追記 
use_namespaces = True ← 追記 
external_network_bridge = br-ex ← 追記 
verbose = True ← 追記 
日本仮想化技術54
OpenStack構築手順書 Juno版 
network# vi /etc/neutron/dhcp_agent.ini 
[DEFAULT] 
... 
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver ← 追記 
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq ← 追記 
use_namespaces = True ← 追記 
dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf ← 追記 
verbose = True ← 追記 
DHCPオプションでMTUの設定 
dnsmasq-neutron.confファイルを新規作成して、DHCPオプションを設定します。 
network# vi /etc/neutron/dnsmasq-neutron.conf 
dhcp-option-force=26,1454 
metadata_agent.iniの設定 
network# vi /etc/neutron/metadata_agent.ini 
[DEFAULT] 
#auth_url = http://localhost:5000/v2.0 ← 既存設定をコメントアウト 
#admin_tenant_name = %SERVICE_TENANT_NAME% ← 既存設定をコメントアウト 
#admin_user = %SERVICE_USER% ← 既存設定をコメントアウト 
#admin_password = %SERVICE_PASSWORD% ← 既存設定をコメントアウト 
auth_url = http://controller:5000/v2.0 ← 追記 
auth_region = regionOne 
admin_tenant_name = service ← 追記 
admin_user = neutron ← 追記 
admin_password = password ← 追記 
# nova_metadata_ip = 127.0.0.1 ← 既存設定をコメントアウト 
# metadata_proxy_shared_secret = 
nova_metadata_ip = controller ← 追記 
metadata_proxy_shared_secret = password ← 追記 
9-3 設定の変更 
controllerノードのnovaの設定ファイルに追記します。 
日本仮想化技術55
OpenStack構築手順書 Juno版 
controller# vi /etc/nova/nova.conf 
[neutron] 
... 
service_metadata_proxy = True 
metadata_proxy_shared_secret = password 
controllerノードのnova-apiサービスを再起動します。 
controller# service nova-api restart 
日本仮想化技術56
OpenStack構築手順書 Juno版 
9-4 networkノードのOpen vSwitchサービスの再起動 
OpenStackのネットワークサービス設定を反映させるため、networkノードでOpen vSwitchのサービスを再起動します。 
network# service openvswitch-switch restart 
9-5 ブリッジデバイス設定 
内部通信用と外部通信用のブリッジを作成して外部通信用ブリッジに共有ネットワークデバイスを接続します。 
network# ovs-vsctl add-br br-ex 
network# ovs-vsctl add-port br-ex eth0 
9-6 ブリッジデバイス設定確認 
ブリッジの作成・設定を確認します。 
9-6-1 ブリッジの確認 
network# ovs-vsctl list-br 
br-ex 
br-int 
※add-brしたブリッジが表示されていれば問題ありません。 
9-6-2 外部接続用ブリッジと共有ネットワークデバイスの接続確認 
network# ovs-vsctl list-ports br-ex 
eth0 
※add-port で設定したネットワークデバイスが表示されていれば問題ありません。 
日本仮想化技術57
OpenStack構築手順書 Juno版 
9-7 ネットワークインタフェースの設定変更 
Management側に接続されたNICを使って、仮想NIC(br-ex)を作成します。 
network# vi /etc/network/interfaces 
# This file describes the network interfaces available on your system 
# and how to activate them. For more information, see interfaces(5). 
# The loopback network interface 
auto lo 
iface lo inet loopback 
auto eth0 
iface eth0 inet manual ← 既存設定を変更 
up ip link set dev $IFACE up ← 既存設定を変更 
down ip link set dev $IFACE down ← 既存設定を変更 
auto eth1 
iface eth1 inet static 
address 192.168.0.9 
netmask 255.255.255.0 
auto br-ex ← 追記 
iface br-ex inet static ← 追記 
address 10.0.0.9 ← 追記 
netmask 255.255.255.0 ← 追記 
gateway 10.0.0.1 ← 追記 
dns-nameservers 10.0.0.1 ← 追記 
9-7 networkノード再起動 
インタフェース設定変更を適用するために、システムを再起動します。 
network# reboot 
9-8 ブリッジ設定確認 
各種ブリッジが正常に設定されていることを確認します。 
network# ifconfig 
br-ex Link encap:Ethernet HWaddr 00:1c:42:29:b3:bd 
inet addr:10.0.0.9 Bcast:10.0.0.255 Mask:255.255.255.0 
inet6 addr: fe80::a840:fbff:fe7d:dd6e/64 Scope:Link 
UP BROADCAST RUNNING MTU:1500 Metric:1 
RX packets:2148 errors:0 dropped:0 overruns:0 frame:0 
TX packets:2956 errors:0 dropped:0 overruns:0 carrier:0 
日本仮想化技術58
OpenStack構築手順書 Juno版 
collisions:0 txqueuelen:0 
RX bytes:257185 (257.1 KB) TX bytes:654268 (654.2 KB) 
br-int Link encap:Ethernet HWaddr ea:04:ce:9b:58:4b 
inet6 addr: fe80::b84c:fbff:fe1a:d627/64 Scope:Link 
UP BROADCAST RUNNING MTU:1500 Metric:1 
RX packets:56 errors:0 dropped:0 overruns:0 frame:0 
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 
collisions:0 txqueuelen:0 
RX bytes:4978 (4.9 KB) TX bytes:648 (648.0 B) 
br-tun Link encap:Ethernet HWaddr 2e:8d:24:75:de:47 
inet6 addr: fe80::f0fb:45ff:fee5:1133/64 Scope:Link 
UP BROADCAST RUNNING MTU:1500 Metric:1 
RX packets:1 errors:0 dropped:0 overruns:0 frame:0 
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 
collisions:0 txqueuelen:0 
RX bytes:90 (90.0 B) TX bytes:648 (648.0 B) 
eth0 Link encap:Ethernet HWaddr 00:1c:42:5c:58:ba 
inet addr:192.168.0.9 Bcast:192.168.0.255 Mask:255.255.255.0 
inet6 addr: fe80::21c:42ff:fe5c:58ba/64 Scope:Link 
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
RX packets:283 errors:0 dropped:0 overruns:0 frame:0 
TX packets:239 errors:0 dropped:0 overruns:0 carrier:0 
collisions:0 txqueuelen:1000 
RX bytes:41011 (41.0 KB) TX bytes:37254 (37.2 KB) 
eth1 Link encap:Ethernet HWaddr 00:1c:42:29:b3:bd 
inet6 addr: fe80::21c:42ff:fe29:b3bd/64 Scope:Link 
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
RX packets:25542 errors:0 dropped:0 overruns:0 frame:0 
TX packets:3083 errors:0 dropped:0 overruns:0 carrier:0 
collisions:0 txqueuelen:1000 
RX bytes:5297181 (5.2 MB) TX bytes:668414 (668.4 KB) 
lo Link encap:Local Loopback 
inet addr:127.0.0.1 Mask:255.0.0.0 
inet6 addr: ::1/128 Scope:Host 
UP LOOPBACK RUNNING MTU:65536 Metric:1 
RX packets:6 errors:0 dropped:0 overruns:0 frame:0 
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 
collisions:0 txqueuelen:0 
RX bytes:3456 (3.4 KB) TX bytes:3456 (3.4 KB) 
日本仮想化技術59
OpenStack構築手順書 Juno版 
9-9 networkノードのNeutronと関連サービスの再起動 
設定を反映させるため、networkノードのNeutronと関連のサービスを再起動します。 
network# rm /var/log/neutron/* 
network# service openvswitch-switch restart &&  
service neutron-plugin-openvswitch-agent restart &&  
service neutron-l3-agent restart &&  
service neutron-dhcp-agent restart &&  
service neutron-metadata-agent restart 
9-10 ログの確認 
network# grep "ERROR|WARNING" /var/log/neutron/* 
... 
/var/log/neutron/openvswitch-agent.log:2014-05-16 19:33:14.963 1523 ERROR neutron.agent.linux.ovsdb_monito 
r [-] Error received from ovsdb monitor: ovsdb-client: unix:/var/run/openvswitch/db.sock: receive failed ( 
End of file) 
/var/log/neutron/openvswitch-agent.log:2014-05-16 19:33:15.455 1523 ERROR neutron.agent.linux.ovs_lib [-] 
Unable to execute ['ovs-vsctl', '--timeout=10', 'list-ports', 'br-int']. Exception: 
/var/log/neutron/openvswitch-agent.log:2014-05-16 19:33:15.456 1523 ERROR neutron.plugins.openvswitch.agen 
t.ovs_neutron_agent [-] Error while processing VIF ports 
※上記ERRORとWARNING以外が出力されなければ問題ありません。 
日本仮想化技術60
OpenStack構築手順書 Juno版 
10. Neutronのインストール・設定(compute1ノード) 
10-1 パッケージインストール 
compute1# apt-get install -y neutron-plugin-ml2 neutron-plugin-openvswitch-agent 
10-2 設定の変更 
compute1# vi /etc/neutron/neutron.conf 
[DEFAULT] 
... 
rpc_backend = rabbit ← コメントアウトをはずす 
rabbit_host = controller ← 追記 
rabbit_password = password ← 追記 
auth_strategy = keystone ← コメントアウトをはずす 
core_plugin = ml2 ← 設定されていることを確認 
service_plugins = router ← 追記 
allow_overlapping_ips = True ← 追記 
verbose = True 
[keystone_authtoken] 
#auth_host = 127.0.0.1 ← 既存設定をコメントアウト 
#auth_host = controller ← 追記 
#auth_protocol = http ← 既存設定をコメントアウト 
#auth_port = 35357 ← 既存設定をコメントアウト 
#admin_tenant_name = %SERVICE_TENANT_NAME% ← 既存設定をコメントアウト 
#admin_user = %SERVICE_USER% ← 既存設定をコメントアウト 
#admin_password = %SERVICE_PASSWORD% ← 既存設定をコメントアウト 
auth_uri = http://controller:5000/v2.0 ← 追記 
identity_uri = http://controller:35357 ← 追記 
admin_tenant_name = service ← 追記 
admin_user = neutron ← 追記 
admin_password = password ← 追記 
日本仮想化技術61
OpenStack構築手順書 Juno版 
compute1# vi /etc/neutron/plugins/ml2/ml2_conf.ini 
[ml2] 
type_drivers = flat,gre ← 追記 
tenant_network_types = gre ← 追記 
mechanism_drivers = openvswitch ← 追記 
[ml2_type_gre] 
tunnel_id_ranges = 1:1000 ← 追記 
[securitygroup] 
enable_security_group = True ← 追記 
enable_ipset = True ← 追記 
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver ← 追記 
[ovs] ← 追記 
local_ip = 192.168.0.11 ← 追記 
enable_tunneling = True ← 追記 
[agent] ← 追記 
tunnel_type = gre ← 追記 
10-3 compute1ノードのOpen vSwitchサービスの再起動 
設定を反映させるため、compute1ノードのOpen vSwitchのサービスを再起動します。 
compute1# service openvswitch-switch restart 
日本仮想化技術62
OpenStack構築手順書 Juno版 
10-4 compute1ノードのネットワーク設定 
デフォルトではComputeはレガシーなネットワークを利用します。Neutronを利用するように設定を変更します。 
compute1# vi /etc/nova/nova.conf 
[DEFAULT] 
... 
network_api_class = nova.network.neutronv2.api.API 
security_group_api = neutron 
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver 
firewall_driver = nova.virt.firewall.NoopFirewallDriver 
[neutron] 
... 
url = http://controller:9696 
auth_strategy = keystone 
admin_auth_url = http://controller:35357/v2.0 
admin_tenant_name = service 
admin_username = neutron 
admin_password = password 
10-5 compute1ノードのNeutronと関連サービスを再起動 
ネットワーク設定を反映させるため、compute1ノードのNeutronと関連のサービスを再起動します。 
compute1# service nova-compute restart 
compute1# service neutron-plugin-openvswitch-agent restart 
10-6 ログの確認 
compute1# grep "ERROR|WARNING" /var/log/neutron/* 
※何も表示されなければ問題ありません。 
日本仮想化技術63
OpenStack構築手順書 Juno版 
11. 仮想ネットワーク設定(controllerノード) 
11-1 外部接続ネットワークの設定 
11-1-1 admin環境変数読み込み 
外部接続用ネットワーク作成するためにadmin環境変数を読み込みます。 
controller# source admin-openrc.sh 
11-1-2 外部ネットワーク作成 
ext-netという名前で外部用ネットワークを作成します。 
controller# neutron net-create ext-net --shared --router:external=True 
Created a new network: 
+---------------------------+--------------------------------------+ 
| Field | Value | 
+---------------------------+--------------------------------------+ 
| admin_state_up | True | 
| id | 8cbfd14f-72bb-4e6d-a9a6-f1312d641cd4 | 
| name | ext-net | 
| provider:network_type | gre | 
| provider:physical_network | | 
| provider:segmentation_id | 1 | 
| router:external | True | 
| shared | True | 
| status | ACTIVE | 
| subnets | | 
| tenant_id | 07e06d1d7f35430e8906e6fb5badd893 | 
+---------------------------+--------------------------------------+ 
日本仮想化技術64
OpenStack構築手順書 Juno版 
11-1-3 外部ネットワーク用サブネット作成 
ext-subnetという名前で外部ネットワーク用サブネットを作成します。 
controller# neutron subnet-create ext-net --name ext-subnet  
--allocation-pool start=10.0.0.200,end=10.0.0.250  
--disable-dhcp --gateway 10.0.0.1 10.0.0.0/24 
Created a new subnet: 
+------------------+----------------------------------------------+ 
| Field | Value | 
+------------------+----------------------------------------------+ 
| allocation_pools | {"start": "10.0.0.200", "end": "10.0.0.250"} | 
| cidr | 10.0.0.0/24 | 
| dns_nameservers | | 
| enable_dhcp | False | 
| gateway_ip | 10.0.0.1 | 
| host_routes | | 
| id | 7c457880-29f9-4a85-8714-1a5762b3c932 | 
| ip_version | 4 | 
| name | ext-subnet | 
| network_id | 8cbfd14f-72bb-4e6d-a9a6-f1312d641cd4 | 
| tenant_id | 07e06d1d7f35430e8906e6fb5badd893 | 
+------------------+----------------------------------------------+ 
11-2 インスタンス用ネットワーク設定 
11-2-1 demo環境変数読み込み 
インスタンス用ネットワーク作成するためにdemo環境変数読み込みます。 
controller# source demo-openrc.sh 
日本仮想化技術65
OpenStack構築手順書 Juno版 
11-2-2 インスタンス用ネットワーク作成 
demo-netという名前でインスタンス用ネットワークを作成します。 
controller# neutron net-create demo-net 
Created a new network: 
+----------------+--------------------------------------+ 
| Field | Value | 
+----------------+--------------------------------------+ 
| admin_state_up | True | 
| id | 71059c78-fd2c-4e52-a4b9-98776be0ba28 | 
| name | demo-net | 
| shared | False | 
| status | ACTIVE | 
| subnets | | 
| tenant_id | 6d19304a59b3456bbe2552a9080d1301 | 
+----------------+--------------------------------------+ 
11-2-3 インスタンス用ネットワークサブネット作成 
demo-subnetという名前でインスタンス用ネットワークサブネットを作成します。 
controller# neutron subnet-create demo-net --name demo-subnet  
--gateway 192.168.0.1 192.168.0.0/24 
Created a new subnet: 
+------------------+--------------------------------------------------+ 
| Field | Value | 
+------------------+--------------------------------------------------+ 
| allocation_pools | {"start": "192.168.0.2", "end": "192.168.0.254"} | 
| cidr | 192.168.0.0/24 | 
| dns_nameservers | | 
| enable_dhcp | True | 
| gateway_ip | 192.168.0.1 | 
| host_routes | | 
| id | 6cf9c7f6-2105-4c2a-9fac-0b1df83f774d | 
| ip_version | 4 | 
| name | demo-subnet | 
| network_id | 71059c78-fd2c-4e52-a4b9-98776be0ba28 | 
| tenant_id | 6d19304a59b3456bbe2552a9080d1301 | 
+------------------+--------------------------------------------------+ 
日本仮想化技術66
OpenStack構築手順書 Juno版 
11-3 仮想ネットワークルーター設定 
仮想ネットワークルーターを作成して外部接続用ネットワークとインスタンス用ネットワークをルーターに接続し、双方 
でデータのやり取りを行えるようにします。 
11-3-1 demo-routerを作成 
仮想ネットワークルータを作成します。 
controller# neutron router-create demo-router 
Created a new router: 
+-----------------------+--------------------------------------+ 
| Field | Value | 
+-----------------------+--------------------------------------+ 
| admin_state_up | True | 
| external_gateway_info | | 
| id | d1a10de8-37e2-4966-a84d-caff3e6b0e1f | 
| name | demo-router | 
| status | ACTIVE | 
| tenant_id | 6d19304a59b3456bbe2552a9080d1301 | 
+-----------------------+--------------------------------------+ 
11-3-2 demo-routerにsubnetを追加 
仮想ネットワークルーターにインスタンス用ネットワークを接続します。 
controller# neutron router-interface-add demo-router demo-subnet 
Added interface fc83f7f5-6da5-4607-b9f8-34d0004dfc3e to router demo-router. 
11-3-3 demo-routerにgatewayを追加 
仮想ネットワークルーターに外部ネットワークを接続します。 
controller# neutron router-gateway-set demo-router ext-net 
Set gateway for router demo-router 
日本仮想化技術67
OpenStack構築手順書 Juno版 
12. 仮想ネットワーク設定確認(networkノード) 
12-1 仮想ネットワークルーターの確認 
以下コマンドで仮想ネットワークルーターが作成されているか確認します。 
network# ip netns 
qdhcp-ed07c38c-8609-43d8-ae02-582f9f202a3e 
qrouter-7c1ca8eb-eaa0-4a68-843d-daca30824693 
※qrouter~~ という名前の行が表示されていれば問題ありません。 
12-2 仮想ルーターのネームスペースのIPアドレスを確認 
仮想ルーターと外部用ネットワークの接続を確認します。 
network# ip netns exec `ip netns | grep qrouter` ip addr 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
inet 127.0.0.1/8 scope host lo 
valid_lft forever preferred_lft forever 
inet6 ::1/128 scope host 
valid_lft forever preferred_lft forever 
13: qr-65249869-77: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default 
link/ether fa:16:3e:d0:df:2c brd ff:ff:ff:ff:ff:ff 
inet 192.168.0.1/24 brd 192.168.0.255 scope global qr-65249869-77 
valid_lft forever preferred_lft forever 
inet6 fe80::f816:3eff:fed0:df2c/64 scope link 
valid_lft forever preferred_lft forever 
14: qg-bd7c5797-3f: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default 
link/ether fa:16:3e:35:80:8f brd ff:ff:ff:ff:ff:ff 
inet 10.0.0.200/24 brd 10.0.0.255 scope global qg-bd7c5797-3f 
valid_lft forever preferred_lft forever 
inet6 fe80::f816:3eff:fe35:808f/64 scope link 
valid_lft forever preferred_lft forever 
※外部アドレス(この環境では10.0.0.0/24)のアドレスを確認します。 
日本仮想化技術68
OpenStack構築手順書 Juno版 
12-3 仮想ゲートウェイの疎通確認 
仮想ルーターと通信が行えるかを確認します。 
network# ping 10.0.0.200 
PING 10.0.0.200 (10.0.0.200) 56(84) bytes of data. 
64 bytes from 10.0.0.200: icmp_seq=1 ttl=64 time=1.17 ms 
64 bytes from 10.0.0.200: icmp_seq=2 ttl=64 time=0.074 ms 
64 bytes from 10.0.0.200: icmp_seq=3 ttl=64 time=0.061 ms 
64 bytes from 10.0.0.200: icmp_seq=4 ttl=64 time=0.076 ms 
※応答が返ってくれば問題ありません。各ノードからPingコマンドによる疎通確認を実行しましょう。 
日本仮想化技術69
OpenStack構築手順書 Juno版 
13. Cinderインストール(controllerノード) 
13-1 パッケージインストール 
controller# apt-get install -y cinder-common cinder-api cinder-scheduler cinder-volume lvm2 python-mysqldb 
13-2 データベース作成・確認 
13-2-1 データベース作成 
MariaDBのデータベースにCinderのデータベースを作成します。 
controller# mysql -u root -p <<EOF 
CREATE DATABASE cinder; 
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost'  
IDENTIFIED BY 'password'; 
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%'  
IDENTIFIED BY 'password'; 
EOF 
Enter password: ← MariaDBのrootパスワードpasswordを入力 
13-2-2 データベースの確認 
MariaDBにCinderのデータベースが登録されたか確認します。 
controller# mysql -u cinder -p 
Enter password: ← MariaDBのcinderパスワードpasswordを入力 
... 
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. 
mysql> show databases; 
+--------------------+ 
| Database | 
+--------------------+ 
| information_schema | 
| cinder | 
+--------------------+ 
2 rows in set (0.00 sec) 
※ユーザーcinderでログイン可能でデータベースの閲覧が可能なら問題ありません。 
日本仮想化技術70
OpenStack構築手順書 Juno版 
13-3 認証情報の設定 
以下コマンドで認証情報を設定します。 
controller# source admin-openrc.sh 
controller# keystone user-create --name=cinder --pass=password 
+----------+----------------------------------+ 
| Property | Value | 
+----------+----------------------------------+ 
| email | | 
| enabled | True | 
| id | 2e391db9f2004b5ab0712c67ae6c9bcd | 
| name | cinder | 
| username | cinder | 
+----------+----------------------------------+ 
controller# keystone user-role-add --user=cinder --tenant=service --role=admin 
controller# keystone service-create --name=cinder --type=volume  
--description="OpenStack Block Storage" 
+-------------+----------------------------------+ 
| Property | Value | 
+-------------+----------------------------------+ 
| description | OpenStack Block Storage | 
| enabled | True | 
| id | 3830cd8b2c614414903b0bc31ed9e1ca | 
| name | cinder | 
| type | volume | 
+-------------+----------------------------------+ 
controller# keystone service-create --name=cinderv2 --type=volumev2  
--description="OpenStack Block Storage v2" 
+-------------+----------------------------------+ 
| Property | Value | 
+-------------+----------------------------------+ 
| description | OpenStack Block Storage v2 | 
| enabled | True | 
| id | cb2b03621220473c9bcbe194dfd55695 | 
| name | cinderv2 | 
| type | volumev2 | 
+-------------+----------------------------------+ 
controller# keystone endpoint-create  
--service=cinder  
--publicurl=http://controller:8776/v1/%(tenant_id)s  
--internalurl=http://controller:8776/v1/%(tenant_id)s  
--adminurl=http://controller:8776/v1/%(tenant_id)s 
+-------------+-----------------------------------------+ 
| Property | Value | 
+-------------+-----------------------------------------+ 
| adminurl | http://controller:8776/v1/%(tenant_id)s | 
日本仮想化技術71
OpenStack構築手順書 Juno版 
| id | 44b37c343f6c4c52843ce3ca6c7fbad3 | 
| internalurl | http://controller:8776/v1/%(tenant_id)s | 
| publicurl | http://controller:8776/v1/%(tenant_id)s | 
| region | regionOne | 
| service_id | 3830cd8b2c614414903b0bc31ed9e1ca | 
+-------------+-----------------------------------------+ 
controller# keystone endpoint-create  
--service=cinderv2  
--publicurl=http://controller:8776/v2/%(tenant_id)s  
--internalurl=http://controller:8776/v2/%(tenant_id)s  
--adminurl=http://controller:8776/v2/%(tenant_id)s 
+-------------+-----------------------------------------+ 
| Property | Value | 
+-------------+-----------------------------------------+ 
| adminurl | http://controller:8776/v2/%(tenant_id)s | 
| id | 0eda32a224b74b958be4dc551dfe4aaa | 
| internalurl | http://controller:8776/v2/%(tenant_id)s | 
| publicurl | http://controller:8776/v2/%(tenant_id)s | 
| region | regionOne | 
| service_id | cb2b03621220473c9bcbe194dfd55695 | 
+-------------+-----------------------------------------+ 
日本仮想化技術72
OpenStack構築手順書 Juno版 
13-4 設定の変更 
controller# vi /etc/cinder/cinder.conf 
※以下の記述を追加します。 
[DEFAULT] 
... 
rpc_backend = rabbit 
rabbit_host = controller 
rabbit_password = password 
rabbit_port = 5672 
rabbit_userid = guest 
my_ip = 10.0.0.10 #controllerノード 
auth_strategy = keystone 
glance_host = controller 
[keystone_authtoken] 
auth_uri = http://controller:5000/v2.0 
identity_uri = http://controller:35357 
admin_tenant_name = service 
admin_user = cinder 
admin_password = password 
[database] 
connection = mysql://cinder:password@controller/cinder 
13-5 データベースに表を作成 
controller# su -s /bin/sh -c "cinder-manage db sync" cinder 
13-6 Cinderサービスの再起動 
設定を反映させるために、Cinderのサービスを再起動します。 
controller# rm /var/log/cinder/* 
controller# service cinder-scheduler restart && service cinder-api restart 
13-7 使用しないデータベースファイル削除 
controller# rm /var/lib/cinder/cinder.sqlite 
日本仮想化技術73
OpenStack構築手順書 Juno版 
13-8 ログの確認 
controller# grep "ERROR|WARNING" /var/log/cinder/* 
... 
/var/log/cinder/cinder-api.log:2014-05-16 16:56:57.401 2641 WARNING cinder.service [-] Value of config opt 
ion osapi_volume_workers must be integer greater than 1. Input value ignored. 
/var/log/cinder/cinder-scheduler.log:2014-05-16 16:56:37.733 2287 ERROR oslo.messaging._drivers.impl_rabbi 
t [req-b051f972-4128-49bb-a820-b0718340f8fd - - - - -] AMQP server on localhost:5672 is unreachable: Socke 
t closed. Trying again in 30 seconds. 
/var/log/cinder/cinder-volume.log:2014-05-16 16:56:38.409 2390 ERROR oslo.messaging._drivers.impl_rabbit [ 
-] AMQP server on localhost:5672 is unreachable: Socket closed. Trying again in 30 seconds. 
/var/log/cinder/cinder-volume.log:2014-05-16 16:57:12.442 2390 ERROR oslo.messaging._drivers.impl_rabbit [ 
-] AMQP server on localhost:5672 is unreachable: Socket closed. Trying again in 30 seconds. 
/var/log/cinder/cinder-volume.log:2014-05-16 16:57:46.479 2390 ERROR oslo.messaging._drivers.impl_rabbit [ 
-] AMQP server on localhost:5672 is unreachable: Socket closed. Trying again in 30 seconds. 
※上記ERRORとWARNINGが出力されなければ問題ありません。 
13-9 イメージ格納用ボリューム作成 
イメージ格納用ボリュームを設定するために物理ボリュームの設定、ボリューム作成を行います。 
13-9-1 物理ボリュームを設定 
以下コマンドで物理ボリュームを設定します。 
controller# pvcreate /dev/sdb 
Physical volume "/dev/sdb" successfully created 
controller# vgcreate cinder-volumes /dev/sdb 
Volume group "cinder-volumes" successfully created 
13-9-2 Cinder-Volumeサービスの再起動 
Cinderストレージの設定を反映させるために、Cinder-Volumeのサービスを再起動します。 
controller# service cinder-volume restart && service tgt restart 
13-9-3 admin環境変数設定ファイル読み込み 
インスタンス格納用ボリュームを作成するために、admin環境変数を読み込みます。 
controller# source admin-openrc.sh 
日本仮想化技術74
OpenStack構築手順書 Juno版 
13-9-4 ボリューム作成 
以下コマンドでインスタンス格納用ボリュームを作成します。 
controller# cinder create --display-name testvolume01 1 
+---------------------+--------------------------------------+ 
| Property | Value | 
+---------------------+--------------------------------------+ 
| attachments | [] | 
| availability_zone | nova | 
| bootable | false | 
| created_at | 2014-04-30T10:57:30.357692 | 
| display_description | None | 
| display_name | testvolume01 | 
| encrypted | False | 
| id | 2bd90ca8-0062-4b31-b3b2-7fd6fdc8da97 | 
| metadata | {} | 
| size | 1 | 
| snapshot_id | None | 
| source_volid | None | 
| status | creating | 
| volume_type | None | 
+---------------------+--------------------------------------+ 
13-9-5 作成ボリュームの確認 
以下コマンドで作成したボリュームを確認します。 
controller# cinder list 
+--------------------------------------+-----------+--------------+------+-------------+----------+------- 
------+ 
| ID | Status | Display Name | Size | Volume Type | Bootable | Attach 
ed to | 
+--------------------------------------+-----------+--------------+------+-------------+----------+------- 
------+ 
| 2bd90ca8-0062-4b31-b3b2-7fd6fdc8da97 | available | testvolume01 | 1 | None | false | 
| 
+--------------------------------------+-----------+--------------+------+-------------+----------+------- 
------+ 
※一覧にコマンドを実行して登録したボリュームが表示されて、ステータスがavailableとなっていれば問題ありません。 
日本仮想化技術75
OpenStack構築手順書 Juno版 
14. Dashboardインストール・確認(controllerノード) 
クライアントマシンからブラウザーでOpenStack環境を操作可能なWebインターフェイスをインストールします。 
14-1 パッケージインストール 
controllerノードにDashboardをインストールします。 
controller# apt-get install -y apache2 memcached libapache2-mod-wsgi openstack-dashboard 
14-2 Dashboardの設定の変更 
インストールしたDashboardの設定を変更します。 
controller# vi /etc/openstack-dashboard/local_settings.py 
... 
OPENSTACK_HOST = "controller" ← 変更 
ALLOWED_HOSTS = ['*'] ← 変更 
変更した変更を反映させるため、Apacheとセッションストレージサービスを再起動します。 
controller# service apache2 restart 
controller# service memcached restart 
14-3 Dashboardへのアクセス確認 
controllerノードとネットワーク的に接続されているマシンからブラウザで以下URLに接続してOpenStackのログイン画 
面が表示されるか確認します。 
※ブラウザで接続するマシンは予めDNSもしくは/etc/hostsにcontrollerノードのIPを記述しておく等controllerノードの名 
前解決を行っておく必要があります。 
http://controller/horizon/ 
※上記URLにアクセスしてログイン画面が表示され、ユーザーadminとdemoでログイン(パスワード:password)でログ 
インできれば問題ありません。 
日本仮想化技術76
OpenStack構築手順書 Juno版 
14-4 セキュリティグループの設定 
OpenStackの上で動かすインスタンスのファイアウォール設定は、セキュリティグループで行います。ログイン後、次の 
手順でセキュリティグループを設定できます。 
1.対象のユーザーでログイン 
2.「プロジェクト→コンピュート→アクセスとセキュリティ」を選択 
3.「ルールの管理」ボタンをクリック 
4.「ルールの追加」で許可するルールを定義 
5.「追加」ボタンをクリック 
セキュリティーグループは複数作成できます。作成したセキュリティーグループをインスタンスを起動する際に選択する 
ことで、セキュリティグループで定義したポートを解放したり、拒否したり、接続できるクライアントを制限することが 
できます。 
14-5 キーペアの作成 
OpenStackではインスタンスへのアクセスはデフォルトで公開鍵認証方式で行います。次の手順でキーペアを作成できま 
す。 
1.対象のユーザーでログイン 
2.「プロジェクト→コンピュート→アクセスとセキュリティ」をクリック 
3.「キーペア」タブをクリック 
4.「キーペアの作成」ボタンをクリック 
5.キーペア名を入力 
6.「キーペアの作成」ボタンをクリック 
7.キーペア(拡張子:pem)ファイルをダウンロード 
インスタンスにSSH接続する際は、-iオプションでpemファイルを指定します。 
client$ ssh -i mykey.pem cloud-user@instance-floating-ip 
日本仮想化技術77
OpenStack構築手順書 Juno版 
14-6 インスタンスの起動 
前の手順でGlanceにCirrOSイメージを登録していますので、早速構築したOpenStack環境上でインスタンスを起動して 
みましょう。 
1.対象のユーザーでログイン 
2.「プロジェクト→コンピュート→イメージ」をクリック 
3.イメージ一覧から起動するOSイメージを選び、「起動」ボタンをクリック 
4.「インスタンスの起動」詳細タブで起動するインスタンス名、フレーバー、インスタンス数を設定 
5.アクセスとセキュリティタブで割り当てるキーペア、セキュリティーグループを設定 
6.ネットワークタブで割り当てるネットワークを設定 
7.作成後タブで必要に応じてユーザーデータの入力(オプション) 
8.高度な設定タブでパーティションなどの構成を設定(オプション) 
9.「起動」ボタンをクリック 
14-7 Floating IPの設定 
起動したインスタンスにFloating IPアドレスを設定することで、Dashboardのコンソール以外からインスタンスにアクセ 
スできるようになります。インスタンスにFloating IPを割り当てるには次の手順で行います。 
1.対象のユーザーでログイン 
2.「プロジェクト→コンピュート→インスタンス」をクリック 
3.インスタンスの一覧から割り当てるインスタンスをクリック 
4.アクションメニューから「Floating IPの割り当て」をクリック 
5.「Floating IP割り当ての管理」画面のIPアドレスで「+」ボタンをクリック 
6.「IPの確保」ボタンをクリック 
7.割り当てるIPアドレスとインスタンスを選択して「割り当て」ボタンをクリック 
14-8 インスタンスへのアクセス 
Floating IPを割り当てて、かつセキュリティグループの設定を適切に行っていれば、リモートアクセスできるようになり 
ます。セキュリティーグループでSSHを許可した場合、端末からSSH接続が可能になります(下記は実行例)。 
client$ ssh -i mykey.pem cloud-user@instance-floating-ip 
その他、適切なポートを開放してインスタンスへのPingを許可したり、インスタンスでWebサーバーを起動して外部PC 
からアクセスしてみましょう。 
日本仮想化技術78

More Related Content

What's hot

OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版VirtualTech Japan Inc.
 
RDOを使ったOpenStack Havana - Neutron 構築編 :補足資料
RDOを使ったOpenStack Havana - Neutron 構築編 :補足資料RDOを使ったOpenStack Havana - Neutron 構築編 :補足資料
RDOを使ったOpenStack Havana - Neutron 構築編 :補足資料VirtualTech Japan Inc.
 
OpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseOpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseHideki Saito
 
知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点d-shen
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014VirtualTech Japan Inc.
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1Etsuji Nakai
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作irix_jp
 
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月VirtualTech Japan Inc.
 
OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門VirtualTech Japan Inc.
 
Ubuntu Maas1.9 クイックセットアップガイド
Ubuntu Maas1.9 クイックセットアップガイドUbuntu Maas1.9 クイックセットアップガイド
Ubuntu Maas1.9 クイックセットアップガイドVirtualTech Japan Inc.
 
RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編VirtualTech Japan Inc.
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1Etsuji Nakai
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門Etsuji Nakai
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月VirtualTech Japan Inc.
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...VirtualTech Japan Inc.
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)VirtualTech Japan Inc.
 
OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)
OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)
OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)VirtualTech Japan Inc.
 

What's hot (20)

OpenStack Icehouse構築手順書
OpenStack Icehouse構築手順書OpenStack Icehouse構築手順書
OpenStack Icehouse構築手順書
 
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
OpenStack-Ansibleで作るOpenStack HA環境 Kilo版
 
RDOを使ったOpenStack Havana - Neutron 構築編 :補足資料
RDOを使ったOpenStack Havana - Neutron 構築編 :補足資料RDOを使ったOpenStack Havana - Neutron 構築編 :補足資料
RDOを使ったOpenStack Havana - Neutron 構築編 :補足資料
 
OpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseOpenStack QuickStart - Icehouse
OpenStack QuickStart - Icehouse
 
知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点知らないと地味にハマるOpen stackインストール時の注意点
知らないと地味にハマるOpen stackインストール時の注意点
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
 
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
 
OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門
 
Ubuntu Maas1.9 クイックセットアップガイド
Ubuntu Maas1.9 クイックセットアップガイドUbuntu Maas1.9 クイックセットアップガイド
Ubuntu Maas1.9 クイックセットアップガイド
 
RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編RDOを使ったOpenStack Havana - Neutron 構築編
RDOを使ったOpenStack Havana - Neutron 構築編
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
 
CIデモ環境 構築手順書
CIデモ環境 構築手順書CIデモ環境 構築手順書
CIデモ環境 構築手順書
 
OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)
OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)
OpenStackで自動化ツールを使ってみた!(Ubuntu MAAS 1.7 対応版)
 

Viewers also liked

OpenStack最新情報セミナー 2015年12月 セミナー企画案
OpenStack最新情報セミナー 2015年12月 セミナー企画案OpenStack最新情報セミナー 2015年12月 セミナー企画案
OpenStack最新情報セミナー 2015年12月 セミナー企画案VirtualTech Japan Inc.
 
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...VirtualTech Japan Inc.
 
OpenStackネットワーク実装の現状 と運用自動化開発の実際
OpenStackネットワーク実装の現状 と運用自動化開発の実際OpenStackネットワーク実装の現状 と運用自動化開発の実際
OpenStackネットワーク実装の現状 と運用自動化開発の実際Shohei Yoshimoto
 
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月VirtualTech Japan Inc.
 
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...VirtualTech Japan Inc.
 
OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016VirtualTech Japan Inc.
 
L3HA-VRRP-20141201
L3HA-VRRP-20141201L3HA-VRRP-20141201
L3HA-VRRP-20141201Manabu Ori
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...VirtualTech Japan Inc.
 
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月 Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)VirtualTech Japan Inc.
 

Viewers also liked (11)

OpenStack最新情報セミナー 2015年12月 セミナー企画案
OpenStack最新情報セミナー 2015年12月 セミナー企画案OpenStack最新情報セミナー 2015年12月 セミナー企画案
OpenStack最新情報セミナー 2015年12月 セミナー企画案
 
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...君にもできる! にゅーとろん君になってみよー!!  「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
君にもできる! にゅーとろん君になってみよー!! 「Neutronになって理解するOpenStack Net - OpenStack最新情報セミナー ...
 
OpenStackネットワーク実装の現状 と運用自動化開発の実際
OpenStackネットワーク実装の現状 と運用自動化開発の実際OpenStackネットワーク実装の現状 と運用自動化開発の実際
OpenStackネットワーク実装の現状 と運用自動化開発の実際
 
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
OpenStackネットワーク実装の 現状と運用自動化開発の実際 第二部:運用自動化開発の実際 – OpenStack最新情報セミナー 2015年7月
 
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
OpenStackネットワーク実装の現状と運用 自動化開発の実際 第一部: OpenStackネットワーク実装の現状 – OpenStack最新情報セミナ...
 
OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016OpenStack本番環境の作り方 - Interop 2016
OpenStack本番環境の作り方 - Interop 2016
 
L3HA-VRRP-20141201
L3HA-VRRP-20141201L3HA-VRRP-20141201
L3HA-VRRP-20141201
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
 
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月 Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月
 
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
 

Similar to OpenStack構築手順書 Juno版

「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例SAKURA Internet Inc.
 
openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019Takehiro Kudou
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) VirtualTech Japan Inc.
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Yasuhiro Arai
 
VlanManagerを使ってみた
VlanManagerを使ってみたVlanManagerを使ってみた
VlanManagerを使ってみたHiroki Ishikawa
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1Kotaro Noyama
 
Nsegソフトウェアルータvyatta
NsegソフトウェアルータvyattaNsegソフトウェアルータvyatta
Nsegソフトウェアルータvyattajem 3
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストールYasuhiro Arai
 
Oracle xeインストール(linux環境)
Oracle xeインストール(linux環境)Oracle xeインストール(linux環境)
Oracle xeインストール(linux環境)izuyuri
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf) Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf) VirtualTech Japan Inc.
 
【Brocade OpenStack ソリューション】OpenStack 概要
【Brocade OpenStack ソリューション】OpenStack 概要【Brocade OpenStack ソリューション】OpenStack 概要
【Brocade OpenStack ソリューション】OpenStack 概要Brocade
 
クックパッドのスケーリング
クックパッドのスケーリングクックパッドのスケーリング
クックパッドのスケーリングSatoshi Takada
 
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf) Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf) VirtualTech Japan Inc.
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
20171206 d3 health_tech発表資料
20171206 d3 health_tech発表資料20171206 d3 health_tech発表資料
20171206 d3 health_tech発表資料dcubeio
 
LinAction Theme LPICの問題を解いてみる~ネットワーク編~
LinAction Theme LPICの問題を解いてみる~ネットワーク編~LinAction Theme LPICの問題を解いてみる~ネットワーク編~
LinAction Theme LPICの問題を解いてみる~ネットワーク編~cyberblack28 Ichikawa
 

Similar to OpenStack構築手順書 Juno版 (20)

「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例
 
openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019openstack_neutron-ovs_osc2014tf_20141019
openstack_neutron-ovs_osc2014tf_20141019
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
 
VlanManagerを使ってみた
VlanManagerを使ってみたVlanManagerを使ってみた
VlanManagerを使ってみた
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
Version管理 1
Version管理 1Version管理 1
Version管理 1
 
Nsegソフトウェアルータvyatta
NsegソフトウェアルータvyattaNsegソフトウェアルータvyatta
Nsegソフトウェアルータvyatta
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
Oracle xeインストール(linux環境)
Oracle xeインストール(linux環境)Oracle xeインストール(linux環境)
Oracle xeインストール(linux環境)
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf) Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
Havana版 RDO-QuickStart-3 (140421-Havana-RDO-QuickStart-3.pdf)
 
【Brocade OpenStack ソリューション】OpenStack 概要
【Brocade OpenStack ソリューション】OpenStack 概要【Brocade OpenStack ソリューション】OpenStack 概要
【Brocade OpenStack ソリューション】OpenStack 概要
 
クックパッドのスケーリング
クックパッドのスケーリングクックパッドのスケーリング
クックパッドのスケーリング
 
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf) Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
20171206 d3 health_tech発表資料
20171206 d3 health_tech発表資料20171206 d3 health_tech発表資料
20171206 d3 health_tech発表資料
 
LinAction Theme LPICの問題を解いてみる~ネットワーク編~
LinAction Theme LPICの問題を解いてみる~ネットワーク編~LinAction Theme LPICの問題を解いてみる~ネットワーク編~
LinAction Theme LPICの問題を解いてみる~ネットワーク編~
 

More from VirtualTech Japan Inc.

5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜VirtualTech Japan Inc.
 
エンジニアが幸せになれる会社を目指します
エンジニアが幸せになれる会社を目指しますエンジニアが幸せになれる会社を目指します
エンジニアが幸せになれる会社を目指しますVirtualTech Japan Inc.
 
今からはじめる! Linuxコマンド入門
今からはじめる! Linuxコマンド入門今からはじめる! Linuxコマンド入門
今からはじめる! Linuxコマンド入門VirtualTech Japan Inc.
 
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へVirtualTech Japan Inc.
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版VirtualTech Japan Inc.
 
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築VirtualTech Japan Inc.
 
5G時代のアプリケーション開発とは
5G時代のアプリケーション開発とは5G時代のアプリケーション開発とは
5G時代のアプリケーション開発とはVirtualTech Japan Inc.
 
hbstudy#88 5G+MEC時代のシステム設計
hbstudy#88 5G+MEC時代のシステム設計hbstudy#88 5G+MEC時代のシステム設計
hbstudy#88 5G+MEC時代のシステム設計VirtualTech Japan Inc.
 
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組みVirtualTech Japan Inc.
 
Kubernetes雑にまとめてみた 2019年12月版
Kubernetes雑にまとめてみた 2019年12月版Kubernetes雑にまとめてみた 2019年12月版
Kubernetes雑にまとめてみた 2019年12月版VirtualTech Japan Inc.
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介VirtualTech Japan Inc.
 
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとはVirtualTech Japan Inc.
 
KubeCon China & MWC Shangai 出張報告
KubeCon China & MWC Shangai 出張報告KubeCon China & MWC Shangai 出張報告
KubeCon China & MWC Shangai 出張報告VirtualTech Japan Inc.
 
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...VirtualTech Japan Inc.
 
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)VirtualTech Japan Inc.
 
Multi-access Edge Computing(MEC)における”Edge”の定義
Multi-access Edge Computing(MEC)における”Edge”の定義Multi-access Edge Computing(MEC)における”Edge”の定義
Multi-access Edge Computing(MEC)における”Edge”の定義VirtualTech Japan Inc.
 
Edge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and KubernetesEdge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and KubernetesVirtualTech Japan Inc.
 

More from VirtualTech Japan Inc. (20)

5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
 
エンジニアが幸せになれる会社を目指します
エンジニアが幸せになれる会社を目指しますエンジニアが幸せになれる会社を目指します
エンジニアが幸せになれる会社を目指します
 
KubeVirt 201 How to Using the GPU
KubeVirt 201 How to Using the GPUKubeVirt 201 How to Using the GPU
KubeVirt 201 How to Using the GPU
 
KubeVirt 101
KubeVirt 101KubeVirt 101
KubeVirt 101
 
今からはじめる! Linuxコマンド入門
今からはじめる! Linuxコマンド入門今からはじめる! Linuxコマンド入門
今からはじめる! Linuxコマンド入門
 
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
 
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
 
5G時代のアプリケーション開発とは
5G時代のアプリケーション開発とは5G時代のアプリケーション開発とは
5G時代のアプリケーション開発とは
 
hbstudy#88 5G+MEC時代のシステム設計
hbstudy#88 5G+MEC時代のシステム設計hbstudy#88 5G+MEC時代のシステム設計
hbstudy#88 5G+MEC時代のシステム設計
 
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
 
Kubernetes雑にまとめてみた 2019年12月版
Kubernetes雑にまとめてみた 2019年12月版Kubernetes雑にまとめてみた 2019年12月版
Kubernetes雑にまとめてみた 2019年12月版
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
 
KubeCon China & MWC Shangai 出張報告
KubeCon China & MWC Shangai 出張報告KubeCon China & MWC Shangai 出張報告
KubeCon China & MWC Shangai 出張報告
 
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
 
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
 
Multi-access Edge Computing(MEC)における”Edge”の定義
Multi-access Edge Computing(MEC)における”Edge”の定義Multi-access Edge Computing(MEC)における”Edge”の定義
Multi-access Edge Computing(MEC)における”Edge”の定義
 
Edge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and KubernetesEdge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and Kubernetes
 

Recently uploaded

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 

Recently uploaded (12)

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 

OpenStack構築手順書 Juno版

  • 1. OpenStack構築手順書 Juno版 OpenStack構築手順書 Juno版 バージョン:0.9.5 (2014/12/3作成) 日本仮想化技術株式会社 日本仮想化技術1
  • 2. OpenStack構築手順書 Juno版 変更履歴 バージョン更新日更新内容 0.9 2014/11/28 Juno版beta 0.9.1 2014/12/1 誤記訂正 0.9.2 2014/12/1 RabbitMQサービス再起動と確認を追記 0.9.3 2014/12/1 networkノードのNIC設定を修正 0.9.4 2014/12/2 controllerノードのneutron.confのリージョン指定を修正 0.9.5 2014/12/3 どこのホストで設定変更をするか明確にした。他、誤記など修正 日本仮想化技術2
  • 3. OpenStack構築手順書 Juno版 目次 1. 構築する環境について 1-1 環境構築に使用するOS 1-2 作成するサーバー(ノード) 1-3 ネットワークセグメントの設定 1-4 各ノードのネットワーク設定 1-5 Ubuntu Serverのインストール 1-6 Ubuntu Serverへのログインとroot権限 1-7 設定ファイル等の記述について 2. OpenStackインストール事前設定 2-1 ネットワークデバイスの設定 2-2 静的名前解決の設定 2-3 sysctlによるカーネルパラメーターの設定 2-4 リポジトリーの設定とパッケージの更新 2-5 NTPのインストール 2-6 Python用MySQL/MariaDBクライアントのインストール 3. controllerノードのインストール前設定 3-1 MariaDBのインストール 3-2 RabbitMQのインストール 3-3 環境変数設定ファイルの作成 4. Keystoneインストールと設定(controllerノード) 4-1 パッケージのインストール 4-2 データベースの作成・確認 4-3 設定の変更 4-4 データベースに表を作成 4-5 使用しないデータベースファイルの削除 4-6 Keystoneサービスの再起動 4-7 ログの確認 4-8 認証情報の作成 4-9 Keystoneの動作確認 4-9-1 認証トークンの要求確認 5. Glanceのインストールと設定 5-1 パッケージのインストール 5-2 データベースの作成・確認 5-3 認証情報の作成 5-4 設定の変更 5-5 データベースにデータ登録 5-6 Glanceサービスの再起動 5-7 使用しないデータベースファイルの削除 5-8 ログの確認 5-9 イメージの取得と登録 6. Novaのインストールと設定(controllerノード) 6-1 パッケージのインストール 6-2 データベースの作成・確認 6-3 認証情報の作成 6-4 設定変更 日本仮想化技術3
  • 4. OpenStack構築手順書 Juno版 6-5 使用しないデータベースファイル削除 6-6 データベースにデータを作成 6-7 Novaサービスの再起動 6-8 ログの確認 6-9 Glanceとの通信確認 7. Nova-Computeのインストール・設定(compute1ノード) 7-1 パッケージインストール 7-2 設定の変更 7-3 Nova-Computeサービスの再起動 7-4 ログの確認 7-5 controllerノードとの疎通確認 8. Neutronのインストール・設定(controllerノード) 8-1 パッケージインストール 8-2 データベース作成・確認 8-3 認証情報の設定 8-4 設定の変更 8-5 設定の変更 8-6 データベースの作成 8-7 使用しないデータベースファイル削除 8-8 controllerノードのNeutronと関連サービスの再起動 8-9 ログの確認 8-10 動作確認 9. Neutronのインストール・設定(networkノード) 9-1 パッケージインストール 9-2 設定の変更 9-3 設定の変更 9-4 networkノードのOpen vSwitchサービスの再起動 9-5 ブリッジデバイス設定 9-6 ブリッジデバイス設定確認 9-7 ネットワークインタフェースの設定変更 9-7 networkノード再起動 9-8 ブリッジ設定確認 9-9 networkノードのNeutronと関連サービスの再起動 9-10 ログの確認 10. Neutronのインストール・設定(compute1ノード) 10-1 パッケージインストール 10-2 設定の変更 10-3 compute1ノードのOpen vSwitchサービスの再起動 10-4 compute1ノードのネットワーク設定 10-5 compute1ノードのNeutronと関連サービスを再起動 10-6 ログの確認 11. 仮想ネットワーク設定(controllerノード) 11-1 外部接続ネットワークの設定 11-2 インスタンス用ネットワーク設定 11-3 仮想ネットワークルーター設定 12. 仮想ネットワーク設定確認(networkノード) 12-1 仮想ネットワークルーターの確認 12-2 仮想ルーターのネームスペースのIPアドレスを確認 日本仮想化技術4
  • 5. OpenStack構築手順書 Juno版 12-3 仮想ゲートウェイの疎通確認 13. Cinderインストール(controllerノード) 13-1 パッケージインストール 13-2 データベース作成・確認 13-3 認証情報の設定 13-4 設定の変更 13-5 データベースに表を作成 13-6 Cinderサービスの再起動 13-7 使用しないデータベースファイル削除 13-8 ログの確認 13-9 イメージ格納用ボリューム作成 14. Dashboardインストール・確認(controllerノード) 14-1 パッケージインストール 14-2 Dashboardの設定の変更 14-3 Dashboardへのアクセス確認 14-4 セキュリティグループの設定 14-5 キーペアの作成 14-6 インスタンスの起動 14-7 Floating IPの設定 14-8 インスタンスへのアクセス 日本仮想化技術5
  • 6. OpenStack構築手順書 Juno版 1. 構築する環境について 1-1 環境構築に使用するOS 本書はOpenStack環境を3台のサーバー上に構築することを想定しています。 システム構成図 (出典:公式ドキュメント"Chapter 1. Architecture"より) OSはUbuntu Server 14.04.1 LTS(以下Ubuntu Server)を使用します。以下のURLよりイメージをダウンロードし、3台のサ ーバーへインストールします。 http://releases.ubuntu.com/14.04/ubuntu-14.04.1-server-amd64.iso 日本仮想化技術6
  • 7. OpenStack構築手順書 Juno版 1-2 作成するサーバー(ノード) 今回構築するOpenStack環境は、以下3台のサーバーで構成します。 controllerノード OpenStack環境全体を管理するコントローラーとして機能します。 networkノード 外部ネットワークとインスタンスの間のネットワークを制御します。 compute1ノード 仮想マシンインスタンスを実行します。 1-3 ネットワークセグメントの設定 今回は2つのネットワークセグメントを用意し構成しています。 内部ネットワーク(Instance Tunnels) ネットワークノードとコンピュートノード間のトンネル用に使用するネットワーク。インターネットへの接続は行えなくて も構いません。 外部ネットワーク(Management) 外部との接続に使用するネットワーク。構築中はaptコマンドを使って外部リポジトリからパッケージなどをダウンロード するため、インターネット接続が必要となります。 OpenStack稼働後は、仮想マシンインスタンスに対しFloating IPアドレスを割り当てることで、外部ネットワークへ接続 することができます。 なお、各種APIを外部公開する際にも使用できますが、今回の手順ではAPIの公開は行いません。 IPアドレスは以下の構成で構築されている前提で解説します。 外部ネットワーク内部ネットワーク インターフェースeth0 eth1 ネットワーク10.0.0.0/24 192.168.0.0/24 ゲートウェイ10.0.0.1 なし ネームサーバー10.0.0.1 なし 日本仮想化技術7
  • 8. OpenStack構築手順書 Juno版 1-4 各ノードのネットワーク設定 各ノードのネットワーク設定は以下の通りです。 controllerノード インターフェースeth0 eth1 IPアドレス10.0.0.10 192.168.0.10 ネットマスク255.255.255.0 255.255.255.0 ゲートウェイ10.0.0.1 なし ネームサーバー10.0.0.1 なし networkノード インターフェースeth0 eth1 IPアドレス10.0.0.9 192.168.0.9 ネットマスク255.255.255.0 255.255.255.0 ゲートウェイ10.0.0.1 なし ネームサーバー10.0.0.1 なし compute1ノード インターフェースeth0 eth1 IPアドレス10.0.0.11 192.168.0.11 ネットマスク255.255.255.0 255.255.255.0 ゲートウェイ10.0.0.1 なし ネームサーバー10.0.0.1 なし 日本仮想化技術8
  • 9. OpenStack構築手順書 Juno版 1-5 Ubuntu Serverのインストール 3台のサーバーに対し、Ubuntu Serverをインストールします。要点は以下の通りです。 優先ネットワークインターフェースをeth0に指定 インターネットへ接続するインターフェースはeth0を使用するため、インストール中はeth0を優先ネットワークとして指定 します。 パッケージ選択ではOpenSSH serverのみ選択 compute1ノードではKVMを利用しますが、インストーラではVirtual machine hostのインストールを行わないでください。 【インストール時の設定パラメータ例】 設定項目設定例 初期起動時のLanguage English 起動Install Ubuntu Server Language English - English Country location other→Asia→Japan Country locale United States - en_US.UTF-8 Detect keyboard layout No Keyboard Japanese→Japanese Primary network interface eth1: Ethernet Hostname それぞれのノード名(controller, network, compute1) ユーザ名フルネームで入力 アカウント名ユーザ名のファーストネームで設定される パスワード任意のパスワード Weak password(出ない場合も) Yesを選択 ホームの暗号化任意 タイムゾーンAsia/Tokyoであることを確認 パーティション設定Guided - use entire disk and set up LVM パーティション選択sdaを選択 パーティション書き込みYesを選択 パーティションサイズデフォルトのまま 変更の書き込みYesを選択 HTTP proxy 環境に合わせて任意 アップグレード任意 ソフトウェアOpenSSH serverのみ選択 GRUB Yesを選択 インストール完了Continueを選択 日本仮想化技術9
  • 10. OpenStack構築手順書 Juno版 1-6 Ubuntu Serverへのログインとroot権限 Ubuntuはデフォルト設定でrootユーザーの利用を許可していないため、root権限が必要となる作業は以下のように行って ください。 rootユーザーで直接ログインできないので、インストール時に作成したアカウントでログインする。 root権限が必要な場合には、sudoコマンドを使用する。 rootで連続して作業したい場合には、sudo -sコマンドでシェルを起動する。 1-7 設定ファイル等の記述について 筆者注: このドキュメントはベータ版のため、必ずしもここで述べられているように記述されていません。あらかじめご了承ください。 設定ファイルは特別な記述が無い限り、必要な設定を抜粋したものです。 特に変更の必要がない設定項目は省略されています。 [見出し]が付いている場合、その見出しから次の見出しまでの間に設定を記述します。 コメントアウトされていない設定項目が存在する場合には、値を変更してください。多くの設定項目は記述が存在している ため、エディタの検索機能で検索することをお勧めします。 特定のホストでコマンドを実行する場合はコマンドの冒頭にホスト名を記述しています。 【設定ファイルの記述例】 controller# vi /etc/glance/glance-api.conf ←コマンド冒頭にこのコマンドを実行するホストを記述 [database] ←この見出しから次の見出しまでの間に以下を記述 #connection = sqlite:////var/lib/glance/glance.sqlite ← 既存設定をコメントアウト connection = mysql://glance:password@controller/glance ← 追記 [keystone_authtoken] ← 見出し #auth_host = 127.0.0.1 ← 既存設定をコメントアウト auth_host = controller ← 追記 auth_port = 35357 ← 既存のまま auth_protocol = http ← 既存のまま auth_uri = http://controller:5000/v2.0 ← 追記 admin_tenant_name = service ← 変更 admin_user = glance ← 変更 admin_password = password ← 変更 日本仮想化技術10
  • 11. OpenStack構築手順書 Juno版 2. OpenStackインストール事前設定 OpenStackパッケージのインストール前に各々のノードで以下の設定を行います。 ネットワークデバイスの設定 hostsによる静的名前解決の設定 sysctlによるカーネルパラメータの設定 リポジトリーの設定とパッケージの更新 NTPのインストール Python用MySQL/MariaDBクライアントのインストール MariaDBのインストール(controllerノードのみ) RabbitMQのインストール(controllerノードのみ) 2-1 ネットワークデバイスの設定 各ノードの/etc/network/interfacesを編集し、IPアドレスの設定を行います。 2-1-1 controllerノードのIPアドレスの設定 controller# vi /etc/network/interfaces auto eth0 iface eth0 inet static address 10.0.0.10 netmask 255.255.255.0 gateway 10.0.0.1 dns-nameservers 10.0.0.1 auto eth1 iface eth1 inet static address 192.168.0.10 netmask 255.255.255.0 日本仮想化技術11
  • 12. OpenStack構築手順書 Juno版 2-1-2 networkノードのIPアドレスの設定 network# vi /etc/network/interfaces auto eth0 iface eth0 inet static address 10.0.0.9 netmask 255.255.255.0 gateway 10.0.0.1 dns-nameservers 10.0.0.1 auto eth1 iface eth1 inet static address 192.168.0.9 netmask 255.255.255.0 2-1-3 compute1ノードのIPアドレスの設定 compute1# vi /etc/network/interfaces auto eth0 iface eth0 inet static address 10.0.0.11 netmask 255.255.255.0 gateway 10.0.0.1 dns-nameservers 10.0.0.1 auto eth1 iface eth1 inet static address 192.168.0.11 netmask 255.255.255.0 2-1-4 ネットワーク設定反映 各ノードで変更した設定をネットワークデバイスに反映させるため、Ubuntu Serverを再起動します。 日本仮想化技術12
  • 13. OpenStack構築手順書 Juno版 2-2 静的名前解決の設定 各ノードの/etc/hostsに各ノードのIPアドレスとホスト名を記述し、静的名前解決の設定を行います。127.0.1.1の行はコ メントアウトします。 2-2-1 controllerノードの/etc/hostsの設定 controller# vi /etc/hosts 127.0.0.1 localhost #127.0.1.1 controller ← 既存設定をコメントアウト 10.0.0.9 network 10.0.0.10 controller 10.0.0.11 compute1 2-2-2 networkノードの/etc/hostsの設定 network# vi /etc/hosts 127.0.0.1 localhost #127.0.1.1 network ← 既存設定をコメントアウト 10.0.0.9 network 10.0.0.10 controller 10.0.0.11 compute1 2-2-3 compute1ノードの/etc/hostsの設定 compute1# vi /etc/hosts 127.0.0.1 localhost #127.0.1.1 compute1 ← 既存設定をコメントアウト 10.0.0.9 network 10.0.0.10 controller 10.0.0.11 compute1 日本仮想化技術13
  • 14. OpenStack構築手順書 Juno版 2-3 sysctlによるカーネルパラメーターの設定 Linuxのネットワークパケット処理について設定を行います。 2-3-1 networkノードの/etc/sysctl.confの設定 network# vi /etc/sysctl.conf net.ipv4.ip_forward=1 net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0 sysctlコマンドで設定を適用します。 network# sysctl -p net.ipv4.ip_forward=1 net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0 2-3-2 compute1ノードの/etc/sysctl.confの設定 compute1# vi /etc/sysctl.conf net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0 sysctlコマンドで設定を適用します。 compute1# sysctl -p net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0 日本仮想化技術14
  • 15. OpenStack構築手順書 Juno版 2-4 リポジトリーの設定とパッケージの更新 各ノードで以下のファイルを作成し、Juno向けUbuntu Cloud Archiveリポジトリを登録します。 # vi /etc/apt/sources.list.d/ubuntu-cloud-archive-juno-trusty.list deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/juno main Ubuntu Cloud archive リポジトリのキーリングをインストールします。 # apt-get install ubuntu-cloud-keyring 各ノードでパッケージリストを更新し再起動します。 # apt-get update && apt-get dist-upgrade # reboot 2-5 NTPのインストール 各ノードで時刻を正確にするためにNTPをインストールします。 # apt-get install -y ntp 2-5-1 controllerノードの/etc/ntp.confの設定 controllerノードで公開NTPサーバーと同期するNTPサーバーを構築します。 NTP_SERVERに適切な公開NTPサーバー(ex.ntp.nict.jp etc..)を指定します。 controller# vi /etc/ntp.conf server NTP_SERVER iburst restrict -4 default kod notrap nomodify nopeer noquery restrict -6 default kod notrap nomodify nopeer noquery 設定を適用するため、NTPサービスを再起動します。 controller# service ntp restart 日本仮想化技術15
  • 16. OpenStack構築手順書 Juno版 2-5-2 その他ノードの/etc/ntp.confの設定 networkノードとcompute1ノードでcontrollerノードと同期するNTPサーバーを構築します。 network# vi /etc/ntp.conf server controller iburst restrict -4 default kod notrap nomodify nopeer noquery restrict -6 default kod notrap nomodify nopeer noquery 設定を適用するため、NTPサービスを再起動します。 network# service ntp restart 2-5-3 NTPサーバーの動作確認 構築した環境でntpq -pコマンドを実行して、各NTPサーバーが同期していることを確認します。 公開NTPサーバーと同期しているノード controller# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *ntp-a2.nict.go. .NICT. 1 u 3 64 1 6.569 17.818 0.001 controllerと同期しているノード compute1# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *controller ntp-a2.nict.go. 2 u 407 1024 377 1.290 -0.329 0.647 2-6 Python用MySQL/MariaDBクライアントのインストール 各ノードでPython用のMySQL/MariaDBクライアントをインストールします。 # apt-get install -y python-mysqldb Python MySQLライブラリーはMariaDBと互換性があります。 日本仮想化技術16
  • 17. OpenStack構築手順書 Juno版 3. controllerノードのインストール前設定 3-1 MariaDBのインストール データベースサーバーのMariaDBをインストールします。 3-1-1 パッケージのインストール apt-getコマンドでmariadb-serverパッケージをインストールします。 controller# apt-get install -y mariadb-server インストール中にパスワードの入力を要求されますので、MariaDBのrootユーザーに対するパスワードを設定します。 本例ではパスワードとして「password」を設定します。 3-1-2 MariaDB設定の変更 MariaDBの設定ファイルmy.cnfを開き以下の設定を変更します。 バインドアドレスをeth0に割り当てたIPアドレスへ変更 文字コードをUTF-8へ変更 別のノードからMariaDBへアクセスできるようにするためバインドアドレスを変更します。加えて使用する文字コードを utf8に変更します。 ※文字コードをutf8に変更しないとOpenStackモジュールとデータベース間の通信でエラーが発生します。 controller# vi /etc/mysql/my.cnf [mysqld] #bind-address = 127.0.0.1 ← 既存設定をコメントアウト bind-address = 10.0.0.10 ← 追記 default-storage-engine = innodb ← 追記 innodb_file_per_table ← 追記 collation-server = utf8_general_ci ← 追記 init-connect = 'SET NAMES utf8' ← 追記 character-set-server = utf8 ← 追記 3-1-3 MariaDBサービスの再起動 変更した設定を反映させるためMariaDBのサービスを再起動します。 controller# service mysql restart 3-1-4 MariaDBデータベースのセキュア化 mysql_secure_installationコマンドを実行すると、データベースのセキュリティを強化できます。必要に応じて設定を行 ってください。 日本仮想化技術17
  • 18. OpenStack構築手順書 Juno版 rootパスワードの入力 controller# mysql_secure_installation In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): password rootパスワードの変更 Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have a root password set, so you can safely answer 'n'. Change the root password? [Y/n] n anonymousユーザーの削除 By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y リモートからのrootログインを禁止 Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] n testデーターベースの削除 By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y 権限の再読み出し Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y 日本仮想化技術18
  • 19. OpenStack構築手順書 Juno版 3-2 RabbitMQのインストール OpenStackは、オペレーションやステータス情報を各サービス間で連携するためにメッセージブローカーを使用してい ます。OpenStackではRabbitMQ、Qpid、ZeroMQなど複数のメッセージブローカーサービスに対応しています。 本書ではRabbitMQをインストールする例を説明します。 3-2-1 パッケージのインストール apt-getコマンドで、rabbitmq-serverパッケージをインストールします。 controller# apt-get install -y rabbitmq-server 3-2-2 アクセスコントロールの変更 以下の設定ファイルを作成し、localhost以外からもRabbitMQへアクセスできるように設定します。 リモート認証の許可 controller# vi /etc/rabbitmq/rabbitmq.conf [{rabbit, [{loopback_users, []}]}]. 3-2-3 待ち受けポートとIPアドレスの変更 以下の設定ファイルを作成し、RabbitMQの待ち受けポートとIPアドレスを定義します。 待ち受け設定の追加 controller# vi /etc/rabbitmq/rabbitmq-env.conf RABBITMQ_NODE_IP_ADDRESS=10.0.0.10 ← controllerのIPアドレス RABBITMQ_NODE_PORT=5672 3-2-4 RabbitMQサービス再起動と確認 メッセージブローカーサービスが正常に動いていないと、OpenStackの各コンポーネントは正常に動きません。 RabbitMQサービスの再起動と動作確認を行い、確実に動作していることを確認します。 controller# service rabbitmq-server restart controller# grep "ERROR|WARNING" /var/log/rabbitmq/rabbit@controller.log ※新たなエラーが表示されなければ問題ありません。 3-2-5 guestユーザーのパスワード変更 rabbitmqctlコマンドでguestユーザーのパスワードを変更します。 controller# rabbitmqctl change_password guest password Changing password for user "guest" ... ...done. 日本仮想化技術19
  • 20. OpenStack構築手順書 Juno版 3-3 環境変数設定ファイルの作成 3-3-1 admin環境変数設定ファイル作成 adminユーザー用環境変数設定ファイルを作成します。 controller# vi ~/admin-openrc.sh export OS_USERNAME=admin export OS_PASSWORD=password export OS_TENANT_NAME=admin export OS_AUTH_URL=http://controller:35357/v2.0 3-3-2 demo環境変数設定ファイル作成 demoユーザー用環境変数設定ファイルを作成します。 controller# vi ~/demo-openrc.sh export OS_USERNAME=demo export OS_PASSWORD=password export OS_TENANT_NAME=demo export OS_AUTH_URL=http://controller:35357/v2.0 日本仮想化技術20
  • 21. OpenStack構築手順書 Juno版 4. Keystoneインストールと設定(controllerノード) 各サービス間の連携時に使用する認証IDサービスKeystoneのインストールと設定を行います。 4-1 パッケージのインストール apt-getコマンドでkeystoneパッケージをインストールします。 controller# apt-get install -y keystone python-keystoneclient 4-2 データベースの作成・確認 Keystoneで使用するデータベースを作成します。 4-2-1 データベースの作成 MySQLにデータベースkeystoneを作成します。 controller# mysql -u root -p << EOF CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'password'; EOF Enter password: ← MariaDBのrootパスワードpasswordを入力 日本仮想化技術21
  • 22. OpenStack構築手順書 Juno版 4-2-2 データベースの確認 ユーザーkeystoneでログインしデータベースの閲覧が可能であることを確認します。 controller# mysql -u keystone -p Enter password: ← MariaDBのkeystoneパスワードpasswordを入力 ... Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | keystone | +--------------------+ 2 rows in set (0.00 sec) 4-3 設定の変更 keystoneの設定ファイルを変更します。 controller# vi /etc/keystone/keystone.conf [DEFAULT] admin_token = password ← 追記 log_dir = /var/log/keystone ← 設定されていることを確認 verbose = True [database] #connection = sqlite:////var/lib/keystone/keystone.db ← 既存設定をコメントアウト connection = mysql://keystone:password@controller/keystone ← 追記 [token] provider = keystone.token.providers.uuid.Provider driver = keystone.token.persistence.backends.sql.Token 4-4 データベースに表を作成 controller# su -s /bin/sh -c "keystone-manage db_sync" keystone 日本仮想化技術22
  • 23. OpenStack構築手順書 Juno版 4-5 使用しないデータベースファイルの削除 controller# rm /var/lib/keystone/keystone.db 4-6 Keystoneサービスの再起動 設定を反映させるために、Keystoneサービスを再起動します。 controller# rm /var/log/keystone/* controller# service keystone restart 4-7 ログの確認 keystoneのログを確認します。下記のWARNING以外にログが表示されなければ問題ありません。 controller# grep "ERROR|WARNING" /var/log/keystone/* ... 2014-11-12 16:32:16.466 18369 WARNING keystone.openstack.common.versionutils [-] Deprecated: keystone.cont rib.revoke.backends.kvs is deprecated as of Juno in favor of keystone.contrib.revoke.backends.sql and may be removed in Kilo. 日本仮想化技術23
  • 24. OpenStack構築手順書 Juno版 4-8 認証情報の作成 以下コマンドで認証情報(テナント・ユーザー・ロール)を設定します。 環境変数の設定 controller# export OS_SERVICE_TOKEN=password controller# export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0 adminテナントの作成 controller# keystone tenant-create --name=admin --description="Admin Tenant" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | Admin Tenant | | enabled | True | | id | 07e06d1d7f35430e8906e6fb5badd893 | | name | admin | +-------------+----------------------------------+ adminユーザーの作成 controller# keystone user-create --name=admin --pass=password --email=admin@example.com +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | email | admin@example.com | | enabled | True | | id | 9b6f2e4f6e074566937119a05a26e01e | | name | admin | | username | admin | +----------+----------------------------------+ adminロールの作成 controller# keystone role-create --name=admin +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | id | 9d34e8df7bc04bf3b16abc8a09238499 | | name | admin | +----------+----------------------------------+ adminテナントおよびユーザーにadminロールを所属 controller# keystone user-role-add --tenant=admin --user=admin --role=admin 日本仮想化技術24
  • 25. OpenStack構築手順書 Juno版 _member_ロールの作成 controller# keystone role-create --name _member_ +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | id | 0f198e94ffce416cbcbe344e1843eac8 | | name | _member_ | +----------+----------------------------------+ adminテナントおよびユーザーに_member_ロールを所属 controller# keystone user-role-add --tenant=admin --user=admin --role=_member_ demoテナントの作成 controller# keystone tenant-create --name=demo --description="Demo Tenant" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | Demo Tenant | | enabled | True | | id | 6d19304a59b3456bbe2552a9080d1301 | | name | demo | +-------------+----------------------------------+ demoユーザーの作成 controller# keystone user-create --name=demo --pass=password --email=demo@example.com +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | email | demo@example.com | | enabled | True | | id | 7d0a62a5abf7445688b2fd223e1a9a1f | | name | demo | | username | demo | +----------+----------------------------------+ demoテナントおよびdemoユーザーを_menber_ロールへ所属 controller# keystone user-role-add --tenant=demo --user=demo --role=_member_ 日本仮想化技術25
  • 26. OpenStack構築手順書 Juno版 サービステナントの作成 controller# keystone tenant-create --name=service --description="Service Tenant" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | Service Tenant | | enabled | True | | id | 0571e304708f4cdcb4ecedc363547acb | | name | service | +-------------+----------------------------------+ サービスエントリーの作成 controller# keystone service-create --name=keystone --type=identity --description="OpenStack Identity" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | OpenStack Identity | | enabled | True | | id | c315a41214b84597af88ab11bb5a089d | | name | keystone | | type | identity | +-------------+----------------------------------+ 日本仮想化技術26
  • 27. OpenStack構築手順書 Juno版 APIエンドポイントを作成 controller# keystone endpoint-create --service-id $(keystone service-list | awk '/ identity / {print $2}') --publicurl http://controller:5000/v2.0 --internalurl http://controller:5000/v2.0 --adminurl http://controller:35357/v2.0 --region regionOne +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | adminurl | http://controller:35357/v2.0 | | id | 420a300f830542fb95ddd7b19063dc60 | | internalurl | http://controller:5000/v2.0 | | publicurl | http://controller:5000/v2.0 | | region | regionOne | | service_id | 4cd6329b004740fb92cbf013e41d52fc | +-------------+----------------------------------+ Keystoneへの作成が完了したら環境編集をunsetします。 controller# unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT 日本仮想化技術27
  • 28. OpenStack構築手順書 Juno版 4-9 Keystoneの動作確認 Keystoneへ正しく登録されたか確認します。 4-9-1 認証トークンの要求確認 動作確認のためadminおよびdemoテナントに対し認証トークンを要求してみます。 adminトークンの確認 controller# keystone --os-tenant-name=admin --os-username=admin --os-password=password --os-auth-url=http://controller:35357/v2.0 token-get +-----------+---------------------------------------+ | Property | Value | +-----------+---------------------------------------+ | expires | 2014-05-18T02:51:48Z | | id | MIIMYAYJKoZIhvcNAQcbWsNz2gqLtB6dfg== | | tenant_id | b348b47155884978af344b84db561865 | | user_id | 6ca7845a6d554ef8ab737a777dd0a7cb | +-----------+---------------------------------------+ demoトークンの確認 controller# keystone --os-tenant-name=demo --os-username=demo --os-password=password --os-auth-url=http://controller:35357/v2.0 token-get -+-----------+---------------------------------------+ | Property | Value | -+-----------+---------------------------------------+ | expires | 2014-05-18T02:53:09Z | | id | MIIMJQYJKoZIhvcfso3dfgcJ+I7J40KS9fo= | | tenant_id | 6803ec4cf70f43ed8cfdbd060c1a2293 | | user_id | 7605b233fede4f958c121e31b508eeac | -+-----------+---------------------------------------+ ※コマンドを実行した結果、トークンのid情報等が出力されれば問題ありません(実際のトークン情報は一行が長いの で、コマンド例では省略して記述しています)。 日本仮想化技術28
  • 29. OpenStack構築手順書 Juno版 4-9-2 Keystoneテナントとユーザーの確認 Keystoneに正しくテナントとユーザーが登録されているかを確認します。 admin環境変数設定の読み込み controller# source admin-openrc.sh ユーザーの確認 controller# keystone user-list +----------------------------------+-------+---------+-------------------+ | id | name | enabled | email | +----------------------------------+-------+---------+-------------------+ | 91d240e3d9664f4f86781de3c8ea7880 | admin | True | admin@example.com | | 3f02a4329cb040639e5d5b2c3ce0a9a0 | demo | True | demo@example.com | +----------------------------------+-------+---------+-------------------+ ロールの確認 controller# keystone role-list +----------------------------------+----------+ | id | name | +----------------------------------+----------+ | d35820caf9ed457c9e12d21988c2a719 | _member_ | | 3e0e9a0d97e745c7917f617e51b006f1 | admin | +----------------------------------+----------+ 日本仮想化技術29
  • 30. OpenStack構築手順書 Juno版 5. Glanceのインストールと設定 5-1 パッケージのインストール apt-getコマンドでglanceとglanceクライアントパッケージをインストールします。 controller# apt-get install -y glance python-glanceclient 5-2 データベースの作成・確認 5-2-1 データベース作成 MariaDBにデータベースglanceを作成します。 controller# mysql -u root -p << EOF CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'password'; EOF Enter password: ← MariaDBのrootパスワードpasswordを入力 5-2-2 データベースの確認 ユーザーglanceでログインしデータベースの閲覧が可能であることを確認します。 controller# mysql -u glance -p Enter password: ← MariaDBのglanceパスワードpasswordを入力 ... Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | glance | +--------------------+ 2 rows in set (0.00 sec) 日本仮想化技術30
  • 31. OpenStack構築手順書 Juno版 5-3 認証情報の作成 以下コマンドで認証情報を作成します。 環境変数の設定 controller# source admin-openrc.sh glanceユーザーの作成 controller# keystone user-create --name=glance --pass=password +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | email | | | enabled | True | | id | 4731656ea2604725873be52d08ad3a26 | | name | glance | | username | glance | +----------+----------------------------------+ glanceユーザーをadminロールに所属 controller# keystone user-role-add --user=glance --tenant=service --role=admin サービスの作成 controller# keystone service-create --name=glance --type=image --description="OpenStack Image Service" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | OpenStack Image Service | | enabled | True | | id | b9a5d0e108474d928a29b896658897ef | | name | glance | | type | image | +-------------+----------------------------------+ 日本仮想化技術31
  • 32. OpenStack構築手順書 Juno版 サービスエンドポイントの作成 controller# keystone endpoint-create --service-id $(keystone service-list | awk '/ image / {print $2}') --publicurl http://controller:9292 --internalurl http://controller:9292 --adminurl http://controller:9292 --region regionOne +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | adminurl | http://controller:9292 | | id | 9b624f153503415b96cabd264e456f11 | | internalurl | http://controller:9292 | | publicurl | http://controller:9292 | | region | regionOne | | service_id | 19b47372418940afadc114fde31fcbb5 | +-------------+----------------------------------+ 日本仮想化技術32
  • 33. OpenStack構築手順書 Juno版 5-4 設定の変更 controller# vi /etc/glance/glance-api.conf [DEFAULT] rpc_backend = rabbit rabbit_host = controller ← 変更 rabbit_password = password ← 変更 verbose = True ← 追記 [database] #sqlite_db = /var/lib/glance/glance.sqlite ← 既存設定をコメントアウト connection = mysql://glance:password@controller/glance ← 追記 [keystone_authtoken] #admin_tenant_name = %SERVICE_TENANT_NAME% ← 既存設定をコメントアウト #admin_user = %SERVICE_USER% ← 既存設定をコメントアウト #admin_password = %SERVICE_PASSWORD% ← 既存設定をコメントアウト auth_uri = http://controller:5000/v2.0 ← 追記 identity_url = http://controller:35357 ← 編集 admin_tenant_name = service ← 追記 admin_user = glance ← 追記 admin_password = password ← 追記 [paste_deploy] flavor = keystone ← 追記 [glance_store] default_store =file ← 設定されていることを確認 日本仮想化技術33
  • 34. OpenStack構築手順書 Juno版 controller# vi /etc/glance/glance-registry.conf [DEFAULT] rabbit_host = controller rabbit_password = password verbose = True [database] #sqlite_db = /var/lib/glance/glance.sqlite ← 既存設定をコメントアウト connection = mysql://glance:password@controller/glance ← 追記 [keystone_authtoken] #admin_tenant_name = %SERVICE_TENANT_NAME% ← 既存設定をコメントアウト #admin_user = %SERVICE_USER% ← 既存設定をコメントアウト #admin_password = %SERVICE_PASSWORD% ← 既存設定をコメントアウト auth_uri = http://controller:5000 ← 追記 identity_url = http://controller:35357 ← 編集 admin_tenant_name = service ← 追記 admin_user = glance ← 追記 admin_password = password ← 追記 [paste_deploy] flavor = keystone ← 追記 5-5 データベースにデータ登録 下記コマンドにてglanceデータベースのセットアップを行います。 controller# su -s /bin/sh -c "glance-manage db_sync" glance 5-6 Glanceサービスの再起動 設定を反映させるため、Glanceサービスを再起動します。 controller# rm /var/log/glance/* controller# service glance-registry restart && service glance-api restart 日本仮想化技術34
  • 35. OpenStack構築手順書 Juno版 5-7 使用しないデータベースファイルの削除 controller# rm /var/lib/glance/glance.sqlite 5-8 ログの確認 Glanceのログを確認します。WARNINGやERRORのログが表示されないことを確認します。 controller# grep "ERROR|WARNING" /var/log/glance/* 5-9 イメージの取得と登録 Glanceへインスタンス用仮想マシンイメージを登録します。ここでは、クラウド環境で主にテスト用途で利用される LinuxディストリビューションCirrOSを登録します。 5-9-1 イメージ取得 CirrOSのWebサイトより仮想マシンイメージをダウンロードします。 controller# wget http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img 日本仮想化技術35
  • 36. OpenStack構築手順書 Juno版 5-9-2 イメージ登録 ダウンロードした仮想マシンイメージをGlanceに登録します。 controller# glance image-create --name="CirrOS 0.3.3" --disk-format=qcow2 --container-format=bare --is-public=true < cirros-0.3.3-x86_64-disk.img +------------------+--------------------------------------+ | Property | Value | +------------------+--------------------------------------+ | checksum | None | | container_format | bare | | created_at | 2014-11-12T07:44:31 | | deleted | False | | deleted_at | None | | disk_format | qcow2 | | id | a94ad1b9-bab8-454d-81e4-fe15693784b4 | | is_public | False | | min_disk | 0 | | min_ram | 0 | | name | CirrOS 0.3.3 | | owner | 8180ef035ce34af9bc696754986fe32f | | protected | False | | size | 0 | | status | queued | | updated_at | 2014-11-12T07:44:31 | | virtual_size | None | +------------------+--------------------------------------+ 5-9-3 イメージ登録確認 仮想マシンイメージが正しく登録されたか確認します。 controller# glance image-list +--------------------------------------+--------------+-------------+------------------+------+--------+ | ID | Name | Disk Format | Container Format | Size | Status | +--------------------------------------+--------------+-------------+------------------+------+--------+ | a94ad1b9-bab8-454d-81e4-fe15693784b4 | CirrOS 0.3.3 | qcow2 | bare | | queued | +--------------------------------------+--------------+-------------+------------------+------+--------+ 日本仮想化技術36
  • 37. OpenStack構築手順書 Juno版 6. Novaのインストールと設定(controllerノード) controllerノードへNovaをインストールします。 6-1 パッケージのインストール apt-getコマンドでNova関連のパッケージをインストールします。 controller# apt-get install -y nova-api nova-cert nova-conductor nova-consoleauth nova-novncproxy nova-scheduler python-novaclient 6-2 データベースの作成・確認 6-2-1 データベースの作成 MariaDBにデータベースnovaを作成します。 controller# mysql -u root -p << EOF CREATE DATABASE nova; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'password'; EOF Enter password: ← MariaDBのrootパスワードpasswordを入力 6-2-2 データベースの作成確認 ※ユーザーnovaでログインしデータベースの閲覧が可能であることを確認します。 controller# mysql -u nova -p Enter password: ← MariaDBのnovaパスワードpasswordを入力 ... Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | nova | +--------------------+ 2 rows in set (0.00 sec) 日本仮想化技術37
  • 38. OpenStack構築手順書 Juno版 6-3 認証情報の作成 以下コマンドで認証情報を作成します。 環境変数の設定 controller# source admin-openrc.sh novaユーザーの作成 controller# keystone user-create --name=nova --pass=password +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | email | | | enabled | True | | id | 60d2a224d82449c2b087a0f0b4b9e0a3 | | name | nova | | username | nova | +----------+----------------------------------+ novaユーザーをadminロールに所属 controller# keystone user-role-add --user=nova --tenant=service --role=admin novaサービスの作成 controller# keystone service-create --name=nova --type=compute --description="OpenStack Compute" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | OpenStack Compute | | enabled | True | | id | 247c48a462b94870920631626d7f9d23 | | name | nova | | type | compute | +-------------+----------------------------------+ 日本仮想化技術38
  • 39. OpenStack構築手順書 Juno版 novaサービスのエンドポイントを作成 controller# keystone endpoint-create --service-id $(keystone service-list | awk '/ compute / {print $2}') --publicurl http://controller:8774/v2/%(tenant_id)s --internalurl http://controller:8774/v2/%(tenant_id)s --adminurl http://controller:8774/v2/%(tenant_id)s --region regionOne +-------------+-----------------------------------------+ | Property | Value | +-------------+-----------------------------------------+ | adminurl | http://controller:8774/v2/%(tenant_id)s | | id | 6a25dd781e5043f7af621eae43a4448d | | internalurl | http://controller:8774/v2/%(tenant_id)s | | publicurl | http://controller:8774/v2/%(tenant_id)s | | region | regionOne | | service_id | 247c48a462b94870920631626d7f9d23 | +-------------+-----------------------------------------+ 日本仮想化技術39
  • 40. OpenStack構築手順書 Juno版 6-4 設定変更 nova.confに下記の設定を追記します。 controller# vi /etc/nova/nova.conf [DEFAULT] ... rpc_backend = rabbit rabbit_host = controller rabbit_password = password auth_strategy = keystone # controllerノードのIPアドレス:10.0.0.10 my_ip = 10.0.0.10 vncserver_listen = 10.0.0.10 vncserver_proxyclient_address = 10.0.0.10 # Networking network_api_class = nova.network.neutronv2.api.API security_group_api = neutron linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver firewall_driver = nova.virt.firewall.NoopFirewallDriver [keystone_authtoken] auth_uri = http://controller:5000/v2.0 identity_uri = http://controller:35357 admin_tenant_name = service admin_user = nova admin_password = password [database] connection = mysql://nova:password@controller/nova [glance] host = controller 6-5 使用しないデータベースファイル削除 データベースはMariaDBを使用するため、使用しないSQLiteファイルを削除します。 controller# rm /var/lib/nova/nova.sqlite 日本仮想化技術40
  • 41. OpenStack構築手順書 Juno版 6-6 データベースにデータを作成 下記コマンドにてnovaデータベースのセットアップを行います。 controller# su -s /bin/sh -c "nova-manage db sync" nova 6-7 Novaサービスの再起動 設定を反映させるため、Novaのサービスを再起動します。 controller# rm /var/log/nova/* controller# service nova-api restart && service nova-cert restart && service nova-consoleauth restart && service nova-scheduler restart && service nova-conductor restart && service nova-novncproxy restart 6-8 ログの確認 controller# grep "ERROR|WARNING" /var/log/nova/* ※特に何も表示されなければ問題ありません。 6-9 Glanceとの通信確認 NovaのコマンドラインインターフェースでGlanceと通信してGlanceと相互に通信できているかを確認します。 controller# nova image-list +--------------------------------------+--------------+--------+--------+ | ID | Name | Status | Server | +--------------------------------------+--------------+--------+--------+ | 1cdc90ca-fc4b-4064-8514-21aac275729f | CirrOS 0.3.3 | ACTIVE | | +--------------------------------------+--------------+--------+--------+ ※Glanceに登録したCirrOSイメージが表示できていれば問題ありません。 日本仮想化技術41
  • 42. OpenStack構築手順書 Juno版 7. Nova-Computeのインストール・設定(compute1ノード) 7-1 パッケージインストール compute1# apt-get install -y nova-compute sysfsutils 7-2 設定の変更 novaの設定ファイルを変更します。 compute1# vi /etc/nova/nova.conf [DEFAULT] ※既にある記述はそのままにして、以下の記述を追加します。 rpc_backend = rabbit rabbit_host = controller rabbit_password = password auth_strategy = keystone my_ip = 10.0.0.11 ← IPアドレスで指定 vnc_enabled = True vncserver_listen = 0.0.0.0 vncserver_proxyclient_address = 10.0.0.11 ← IPアドレスで指定 novncproxy_base_url = http://controller:6080/vnc_auto.html [keystone_authtoken] auth_uri = http://controller:5000/v2.0 identity_uri = http://controller:35357 admin_tenant_name = service admin_user = nova admin_password = password [glance] host = controller ※日本語キーボードを使用する場合は[DEFAULT]に以下を追加します。 vnc_keymap = ja 日本仮想化技術42
  • 43. OpenStack構築手順書 Juno版 7-3 Nova-Computeサービスの再起動 設定を反映させるため、Nova-Computeのサービスを再起動します。 compute1# rm /var/log/nova/* compute1# service nova-compute restart 7-4 ログの確認 compute1# grep "ERROR|WARNING" /var/log/nova/* ※何も表示されなければ問題ありません。 7-5 controllerノードとの疎通確認 疎通確認はcontrollerノード上にて、admin環境変数設定ファイルを読み込んで行います。 controller# source admin-openrc.sh 7-5-1 ホストリストの確認 controllerノードとcomputeノードが相互に接続できているか確認します。もし、StateがXXXなサービスがあった場合 は、該当のサービスをserviceコマンドで起動してください。 controller# nova-manage service list Binary Host Zone Status State nova-consoleauth controller internal enabled :-) nova-conductor controller internal enabled :-) nova-cert controller internal enabled :-) nova-scheduler controller internal enabled :-) nova-compute compute1 nova enabled :-) ※一覧にcompute1が表示されていれば問題ありません。 日本仮想化技術43
  • 44. OpenStack構築手順書 Juno版 7-5-2 ハイパーバイザの確認 controllerノードよりcomputeノードのハイパーバイザが取得可能か確認します。 controller# nova hypervisor-list +----+---------------------+ | ID | Hypervisor hostname | +----+---------------------+ | 1 | compute1 | +----+---------------------+ ※Hypervisor hostname一覧にcompute1が表示されていれば問題ありません。 日本仮想化技術44
  • 45. OpenStack構築手順書 Juno版 8. Neutronのインストール・設定(controllerノード) 8-1 パッケージインストール controller# apt-get install -y neutron-server neutron-plugin-ml2 python-neutronclient 8-2 データベース作成・確認 8-2-1 データベース作成 MariaDBにデータベースneutronを作成します。 controller# mysql -u root -p << EOF CREATE DATABASE neutron; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'password'; EOF Enter password: ← MariaDBのrootパスワードpasswordを入力 8-2-2 データベースの確認 MariaDBにNeutronのデータベースが登録されたか確認します。 controller# mysql -u neutron -p Enter password: ← MariaDBのneutronパスワードpasswordを入力 ... Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | neutron | +--------------------+ 2 rows in set (0.00 sec) ※ユーザーneutronでログイン可能でデータベースが閲覧可能なら問題ありません。 日本仮想化技術45
  • 46. OpenStack構築手順書 Juno版 8-3 認証情報の設定 以下コマンドで認証情報を設定します。 controller# source admin-openrc.sh controller# keystone user-create --name neutron --pass password +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | email | | | enabled | True | | id | 23f88938cbd94deb95b4c2c3caec2c60 | | name | neutron | | username | neutron | +----------+----------------------------------+ controller# keystone user-role-add --user neutron --tenant service --role admin controller# keystone service-create --name neutron --type network --description "OpenStack Networking" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | OpenStack Networking | | enabled | True | | id | 6c36ba679b16402aaed73c0e032f0d02 | | name | neutron | | type | network | +-------------+----------------------------------+ controller# keystone endpoint-create --service-id $(keystone service-list | awk '/ network / {print $2}') --publicurl http://controller:9696 --adminurl http://controller:9696 --internalurl http://controller:9696 --region regionOne +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | adminurl | http://controller:9696 | | id | f9c6285e5242428ba5fb80a2b88535fb | | internalurl | http://controller:9696 | | publicurl | http://controller:9696 | | region | regionOne | | service_id | 6c36ba679b16402aaed73c0e032f0d02 | +-------------+----------------------------------+ 日本仮想化技術46
  • 47. OpenStack構築手順書 Juno版 8-4 設定の変更 設定変更時にSERVICE_TENANT_IDを求められるファイルがあるので予めSERVICE_TENANT_IDを取得します。 controller# source admin-openrc.sh controller# keystone tenant-get service +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | Service Tenant | | enabled | True | | id | f727b5ec2ceb4d71bad86dfc414449bf | | name | service | +-------------+----------------------------------+ 日本仮想化技術47
  • 48. OpenStack構築手順書 Juno版 controller# vi /etc/neutron/neutron.conf [DEFAULT] ... rpc_backend = rabbit ← コメントアウトをはずす rabbit_host = controller ← 追記 rabbit_password = password ← 追記 core_plugin = ml2 ← 設定されていることを確認 service_plugins = router ← 追記 allow_overlapping_ips = True ← 追記 auth_strategy = keystone ← コメントアウトをはずす notify_nova_on_port_status_changes = True ← 追記 notify_nova_on_port_data_changes = True ← 追記 nova_url = http://controller:8774/v2 nova_admin_auth_url = http://controller:35357/v2.0 ← 追記 nova_admin_username = nova ← 追記 nova_admin_tenant_id = SERVICE_TENANT_ID ← 追記 ※SERVICE_TENANT_IDは"keystone tenant-get service"コマンドを実行して出力されたIDを使用します。 nova_admin_password = password ← 追記 [database] #connection = sqlite:////var/lib/neutron/neutron.sqlite ← 既存設定をコメントアウト connection = mysql://neutron:password@controller/neutron ← 追記 [keystone_authtoken] #auth_host = 127.0.0.1 ← 既存設定をコメントアウト #auth_port = 35357 ← 既存設定をコメントアウト #auth_protocol = http ← 既存設定をコメントアウト #admin_tenant_name = %SERVICE_TENANT_NAME% ← 既存設定をコメントアウト #admin_user = %SERVICE_USER% ← 既存設定をコメントアウト #admin_password = %SERVICE_PASSWORD% ← 既存設定をコメントアウト auth_uri = http://controller:5000/v2.0 ← 追記 identity_uri = http://controller:35357 nova_region_name = regionOne ← 追記 admin_tenant_name = service ← 追記 admin_user = neutron ← 追記 admin_password = password ← 追記 日本仮想化技術48
  • 49. OpenStack構築手順書 Juno版 controller# vi /etc/neutron/plugins/ml2/ml2_conf.ini [ml2] ... type_drivers = flat, gre ← 追記 tenant_network_types = gre ← 追記 mechanism_drivers = openvswitch ← 追記 [ml2_type_gre] ... tunnel_id_ranges = 1:1000 ← 追記 [securitygroup] ... enable_security_group = True enable_ipset = True firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver ← 追記 日本仮想化技術49
  • 50. OpenStack構築手順書 Juno版 8-5 設定の変更 novaの設定ファイルを変更します。 controller# vi /etc/nova/nova.conf [DEFAULT] ... network_api_class = nova.network.neutronv2.api.API security_group_api = neutron linuxnet_interface_driver = nova.network.linux_net. LinuxOVSInterfaceDriver firewall_driver = nova.virt.firewall.NoopFirewallDriver [neutron] ... url = http://controller:9696 auth_strategy = keystone admin_auth_url = http://controller:35357/v2.0 admin_tenant_name = service admin_username = neutron admin_password = password 8-6 データベースの作成 controller# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade juno" neutron 8-7 使用しないデータベースファイル削除 controller# rm /var/lib/neutron/neutron.sqlite 8-8 controllerノードのNeutronと関連サービスの再起動 設定を反映させるため、controllerノードのNeutronと関連のサービスを再起動します。 controller# rm /var/log/neutron/* controller# service nova-api restart && service nova-scheduler restart && service nova-conductor restart && service neutron-server restart 日本仮想化技術50
  • 51. OpenStack構築手順書 Juno版 8-9 ログの確認 controller# grep "ERROR|WARNING" /var/log/neutron/* ... 2014-05-16 18:41:24.106 2331 ERROR neutron.openstack.common.rpc.common [-] AMQP server on localhost:5672 i s unreachable: Socket closed. Trying again in 30 seconds. 2014-05-16 18:41:34.119 2708 WARNING neutron.openstack.common.db.sqlalchemy.session [-] This application h as not enabled MySQL traditional mode, which means silent data corruption may occur. Please encourage the application developers to enable this mode. 2014-05-16 18:41:36.423 2708 WARNING neutron.api.extensions [-] Extension fwaas not supported by any of lo aded plugins 2014-05-16 18:41:36.429 2708 WARNING neutron.api.extensions [-] Extension flavor not supported by any of l oaded plugins 2014-05-16 18:41:36.484 2708 WARNING neutron.api.extensions [-] Extension lbaas_agent_scheduler not suppor ted by any of loaded plugins 2014-05-16 18:41:36.502 2708 WARNING neutron.api.extensions [-] Extension lbaas not supported by any of lo aded plugins 2014-05-16 18:41:36.528 2708 WARNING neutron.api.extensions [-] Extension metering not supported by any of loaded plugins 2014-05-16 18:41:36.558 2708 WARNING neutron.api.extensions [-] Extension port-security not supported by a ny of loaded plugins 2014-05-16 18:41:36.593 2708 WARNING neutron.api.extensions [-] Extension routed-service-insertion not sup ported by any of loaded plugins 2014-05-16 18:41:36.601 2708 WARNING neutron.api.extensions [-] Extension router-service-type not supporte d by any of loaded plugins 2014-05-16 18:41:36.630 2708 WARNING neutron.api.extensions [-] Extension service-type not supported by an y of loaded plugins 2014-05-16 18:41:36.653 2708 WARNING neutron.api.extensions [-] Extension vpnaas not supported by any of l oaded plugins ※上記ERRORとWARNING以外が出力されなければ問題ありません。 日本仮想化技術51
  • 52. OpenStack構築手順書 Juno版 8-10 動作確認 controller:~# source admin-openrc.sh controller:~# neutron ext-list +-----------------------+-----------------------------------------------+ | alias | name | +-----------------------+-----------------------------------------------+ | security-group | security-group | | l3_agent_scheduler | L3 Agent Scheduler | | ext-gw-mode | Neutron L3 Configurable external gateway mode | | binding | Port Binding | | provider | Provider Network | | agent | agent | | quotas | Quota management support | | dhcp_agent_scheduler | DHCP Agent Scheduler | | l3-ha | HA Router extension | | multi-provider | Multi Provider Network | | external-net | Neutron external network | | router | Neutron L3 Router | | allowed-address-pairs | Allowed Address Pairs | | extraroute | Neutron Extra Route | | extra_dhcp_opt | Neutron Extra DHCP opts | | dvr | Distributed Virtual Router | +-----------------------+-----------------------------------------------+ 日本仮想化技術52
  • 53. OpenStack構築手順書 Juno版 9. Neutronのインストール・設定(networkノード) 9-1 パッケージインストール network# apt-get install -y neutron-plugin-ml2 neutron-plugin-openvswitch-agent neutron-l3-agent neutron-dhcp-agent 9-2 設定の変更 neutron.confの設定 network# vi /etc/neutron/neutron.conf [DEFAULT] ... rpc_backend = rabbit ← コメントアウトをはずす rabbit_host = controller ← 追記 rabbit_password = password ← 追記 auth_strategy = keystone ← コメントアウトをはずす core_plugin = ml2 ← 追記 service_plugins = router ← 追記 allow_overlapping_ips = True ← 追記 [keystone_authtoken] #auth_host = 127.0.0.1 ← 既存設定をコメントアウト #auth_host = controller ← コメントアウト #auth_protocol = http ← コメントアウト #auth_port = 35357 ← コメントアウト #admin_tenant_name = %SERVICE_TENANT_NAME% ← 既存設定をコメントアウト #admin_user = %SERVICE_USER% ← 既存設定をコメントアウト #admin_password = %SERVICE_PASSWORD% ← 既存設定をコメントアウト auth_uri = http://controller:5000/v2.0 ← 追記 identity_uri = http://controller:35357 ← 追記 admin_tenant_name = service ← 追記 admin_user = neutron ← 追記 admin_password = password ← 追記 日本仮想化技術53
  • 54. OpenStack構築手順書 Juno版 ml2_conf.iniの設定 network# vi /etc/neutron/plugins/ml2/ml2_conf.ini [ml2] ... type_drivers = flat,gre ← 追記 tenant_network_types = gre ← 追記 mechanism_drivers = openvswitch ← 追記 [ml2_type_flat] ... flat_networks = external ← 追記 [ml2_type_gre] ... tunnel_id_ranges = 1:1000 ← 追記 [ovs] ... local_ip = 192.168.0.9 ← 追記 tunnel_type = gre ← 追記 enable_tunneling = True ← 追記 bridge_mappings = external:br-ex ← 追記 [securitygroup] ... enable_security_group = True enable_ipset = True firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver [agent] ... tunnel_types = gre l3_agent.iniの設定 network# vi /etc/neutron/l3_agent.ini [DEFAULT] interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver ← 追記 use_namespaces = True ← 追記 external_network_bridge = br-ex ← 追記 verbose = True ← 追記 日本仮想化技術54
  • 55. OpenStack構築手順書 Juno版 network# vi /etc/neutron/dhcp_agent.ini [DEFAULT] ... interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver ← 追記 dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq ← 追記 use_namespaces = True ← 追記 dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf ← 追記 verbose = True ← 追記 DHCPオプションでMTUの設定 dnsmasq-neutron.confファイルを新規作成して、DHCPオプションを設定します。 network# vi /etc/neutron/dnsmasq-neutron.conf dhcp-option-force=26,1454 metadata_agent.iniの設定 network# vi /etc/neutron/metadata_agent.ini [DEFAULT] #auth_url = http://localhost:5000/v2.0 ← 既存設定をコメントアウト #admin_tenant_name = %SERVICE_TENANT_NAME% ← 既存設定をコメントアウト #admin_user = %SERVICE_USER% ← 既存設定をコメントアウト #admin_password = %SERVICE_PASSWORD% ← 既存設定をコメントアウト auth_url = http://controller:5000/v2.0 ← 追記 auth_region = regionOne admin_tenant_name = service ← 追記 admin_user = neutron ← 追記 admin_password = password ← 追記 # nova_metadata_ip = 127.0.0.1 ← 既存設定をコメントアウト # metadata_proxy_shared_secret = nova_metadata_ip = controller ← 追記 metadata_proxy_shared_secret = password ← 追記 9-3 設定の変更 controllerノードのnovaの設定ファイルに追記します。 日本仮想化技術55
  • 56. OpenStack構築手順書 Juno版 controller# vi /etc/nova/nova.conf [neutron] ... service_metadata_proxy = True metadata_proxy_shared_secret = password controllerノードのnova-apiサービスを再起動します。 controller# service nova-api restart 日本仮想化技術56
  • 57. OpenStack構築手順書 Juno版 9-4 networkノードのOpen vSwitchサービスの再起動 OpenStackのネットワークサービス設定を反映させるため、networkノードでOpen vSwitchのサービスを再起動します。 network# service openvswitch-switch restart 9-5 ブリッジデバイス設定 内部通信用と外部通信用のブリッジを作成して外部通信用ブリッジに共有ネットワークデバイスを接続します。 network# ovs-vsctl add-br br-ex network# ovs-vsctl add-port br-ex eth0 9-6 ブリッジデバイス設定確認 ブリッジの作成・設定を確認します。 9-6-1 ブリッジの確認 network# ovs-vsctl list-br br-ex br-int ※add-brしたブリッジが表示されていれば問題ありません。 9-6-2 外部接続用ブリッジと共有ネットワークデバイスの接続確認 network# ovs-vsctl list-ports br-ex eth0 ※add-port で設定したネットワークデバイスが表示されていれば問題ありません。 日本仮想化技術57
  • 58. OpenStack構築手順書 Juno版 9-7 ネットワークインタフェースの設定変更 Management側に接続されたNICを使って、仮想NIC(br-ex)を作成します。 network# vi /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet manual ← 既存設定を変更 up ip link set dev $IFACE up ← 既存設定を変更 down ip link set dev $IFACE down ← 既存設定を変更 auto eth1 iface eth1 inet static address 192.168.0.9 netmask 255.255.255.0 auto br-ex ← 追記 iface br-ex inet static ← 追記 address 10.0.0.9 ← 追記 netmask 255.255.255.0 ← 追記 gateway 10.0.0.1 ← 追記 dns-nameservers 10.0.0.1 ← 追記 9-7 networkノード再起動 インタフェース設定変更を適用するために、システムを再起動します。 network# reboot 9-8 ブリッジ設定確認 各種ブリッジが正常に設定されていることを確認します。 network# ifconfig br-ex Link encap:Ethernet HWaddr 00:1c:42:29:b3:bd inet addr:10.0.0.9 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 addr: fe80::a840:fbff:fe7d:dd6e/64 Scope:Link UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:2148 errors:0 dropped:0 overruns:0 frame:0 TX packets:2956 errors:0 dropped:0 overruns:0 carrier:0 日本仮想化技術58
  • 59. OpenStack構築手順書 Juno版 collisions:0 txqueuelen:0 RX bytes:257185 (257.1 KB) TX bytes:654268 (654.2 KB) br-int Link encap:Ethernet HWaddr ea:04:ce:9b:58:4b inet6 addr: fe80::b84c:fbff:fe1a:d627/64 Scope:Link UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:56 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:4978 (4.9 KB) TX bytes:648 (648.0 B) br-tun Link encap:Ethernet HWaddr 2e:8d:24:75:de:47 inet6 addr: fe80::f0fb:45ff:fee5:1133/64 Scope:Link UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:1 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:90 (90.0 B) TX bytes:648 (648.0 B) eth0 Link encap:Ethernet HWaddr 00:1c:42:5c:58:ba inet addr:192.168.0.9 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::21c:42ff:fe5c:58ba/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:283 errors:0 dropped:0 overruns:0 frame:0 TX packets:239 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:41011 (41.0 KB) TX bytes:37254 (37.2 KB) eth1 Link encap:Ethernet HWaddr 00:1c:42:29:b3:bd inet6 addr: fe80::21c:42ff:fe29:b3bd/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:25542 errors:0 dropped:0 overruns:0 frame:0 TX packets:3083 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5297181 (5.2 MB) TX bytes:668414 (668.4 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:6 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3456 (3.4 KB) TX bytes:3456 (3.4 KB) 日本仮想化技術59
  • 60. OpenStack構築手順書 Juno版 9-9 networkノードのNeutronと関連サービスの再起動 設定を反映させるため、networkノードのNeutronと関連のサービスを再起動します。 network# rm /var/log/neutron/* network# service openvswitch-switch restart && service neutron-plugin-openvswitch-agent restart && service neutron-l3-agent restart && service neutron-dhcp-agent restart && service neutron-metadata-agent restart 9-10 ログの確認 network# grep "ERROR|WARNING" /var/log/neutron/* ... /var/log/neutron/openvswitch-agent.log:2014-05-16 19:33:14.963 1523 ERROR neutron.agent.linux.ovsdb_monito r [-] Error received from ovsdb monitor: ovsdb-client: unix:/var/run/openvswitch/db.sock: receive failed ( End of file) /var/log/neutron/openvswitch-agent.log:2014-05-16 19:33:15.455 1523 ERROR neutron.agent.linux.ovs_lib [-] Unable to execute ['ovs-vsctl', '--timeout=10', 'list-ports', 'br-int']. Exception: /var/log/neutron/openvswitch-agent.log:2014-05-16 19:33:15.456 1523 ERROR neutron.plugins.openvswitch.agen t.ovs_neutron_agent [-] Error while processing VIF ports ※上記ERRORとWARNING以外が出力されなければ問題ありません。 日本仮想化技術60
  • 61. OpenStack構築手順書 Juno版 10. Neutronのインストール・設定(compute1ノード) 10-1 パッケージインストール compute1# apt-get install -y neutron-plugin-ml2 neutron-plugin-openvswitch-agent 10-2 設定の変更 compute1# vi /etc/neutron/neutron.conf [DEFAULT] ... rpc_backend = rabbit ← コメントアウトをはずす rabbit_host = controller ← 追記 rabbit_password = password ← 追記 auth_strategy = keystone ← コメントアウトをはずす core_plugin = ml2 ← 設定されていることを確認 service_plugins = router ← 追記 allow_overlapping_ips = True ← 追記 verbose = True [keystone_authtoken] #auth_host = 127.0.0.1 ← 既存設定をコメントアウト #auth_host = controller ← 追記 #auth_protocol = http ← 既存設定をコメントアウト #auth_port = 35357 ← 既存設定をコメントアウト #admin_tenant_name = %SERVICE_TENANT_NAME% ← 既存設定をコメントアウト #admin_user = %SERVICE_USER% ← 既存設定をコメントアウト #admin_password = %SERVICE_PASSWORD% ← 既存設定をコメントアウト auth_uri = http://controller:5000/v2.0 ← 追記 identity_uri = http://controller:35357 ← 追記 admin_tenant_name = service ← 追記 admin_user = neutron ← 追記 admin_password = password ← 追記 日本仮想化技術61
  • 62. OpenStack構築手順書 Juno版 compute1# vi /etc/neutron/plugins/ml2/ml2_conf.ini [ml2] type_drivers = flat,gre ← 追記 tenant_network_types = gre ← 追記 mechanism_drivers = openvswitch ← 追記 [ml2_type_gre] tunnel_id_ranges = 1:1000 ← 追記 [securitygroup] enable_security_group = True ← 追記 enable_ipset = True ← 追記 firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver ← 追記 [ovs] ← 追記 local_ip = 192.168.0.11 ← 追記 enable_tunneling = True ← 追記 [agent] ← 追記 tunnel_type = gre ← 追記 10-3 compute1ノードのOpen vSwitchサービスの再起動 設定を反映させるため、compute1ノードのOpen vSwitchのサービスを再起動します。 compute1# service openvswitch-switch restart 日本仮想化技術62
  • 63. OpenStack構築手順書 Juno版 10-4 compute1ノードのネットワーク設定 デフォルトではComputeはレガシーなネットワークを利用します。Neutronを利用するように設定を変更します。 compute1# vi /etc/nova/nova.conf [DEFAULT] ... network_api_class = nova.network.neutronv2.api.API security_group_api = neutron linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver firewall_driver = nova.virt.firewall.NoopFirewallDriver [neutron] ... url = http://controller:9696 auth_strategy = keystone admin_auth_url = http://controller:35357/v2.0 admin_tenant_name = service admin_username = neutron admin_password = password 10-5 compute1ノードのNeutronと関連サービスを再起動 ネットワーク設定を反映させるため、compute1ノードのNeutronと関連のサービスを再起動します。 compute1# service nova-compute restart compute1# service neutron-plugin-openvswitch-agent restart 10-6 ログの確認 compute1# grep "ERROR|WARNING" /var/log/neutron/* ※何も表示されなければ問題ありません。 日本仮想化技術63
  • 64. OpenStack構築手順書 Juno版 11. 仮想ネットワーク設定(controllerノード) 11-1 外部接続ネットワークの設定 11-1-1 admin環境変数読み込み 外部接続用ネットワーク作成するためにadmin環境変数を読み込みます。 controller# source admin-openrc.sh 11-1-2 外部ネットワーク作成 ext-netという名前で外部用ネットワークを作成します。 controller# neutron net-create ext-net --shared --router:external=True Created a new network: +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | True | | id | 8cbfd14f-72bb-4e6d-a9a6-f1312d641cd4 | | name | ext-net | | provider:network_type | gre | | provider:physical_network | | | provider:segmentation_id | 1 | | router:external | True | | shared | True | | status | ACTIVE | | subnets | | | tenant_id | 07e06d1d7f35430e8906e6fb5badd893 | +---------------------------+--------------------------------------+ 日本仮想化技術64
  • 65. OpenStack構築手順書 Juno版 11-1-3 外部ネットワーク用サブネット作成 ext-subnetという名前で外部ネットワーク用サブネットを作成します。 controller# neutron subnet-create ext-net --name ext-subnet --allocation-pool start=10.0.0.200,end=10.0.0.250 --disable-dhcp --gateway 10.0.0.1 10.0.0.0/24 Created a new subnet: +------------------+----------------------------------------------+ | Field | Value | +------------------+----------------------------------------------+ | allocation_pools | {"start": "10.0.0.200", "end": "10.0.0.250"} | | cidr | 10.0.0.0/24 | | dns_nameservers | | | enable_dhcp | False | | gateway_ip | 10.0.0.1 | | host_routes | | | id | 7c457880-29f9-4a85-8714-1a5762b3c932 | | ip_version | 4 | | name | ext-subnet | | network_id | 8cbfd14f-72bb-4e6d-a9a6-f1312d641cd4 | | tenant_id | 07e06d1d7f35430e8906e6fb5badd893 | +------------------+----------------------------------------------+ 11-2 インスタンス用ネットワーク設定 11-2-1 demo環境変数読み込み インスタンス用ネットワーク作成するためにdemo環境変数読み込みます。 controller# source demo-openrc.sh 日本仮想化技術65
  • 66. OpenStack構築手順書 Juno版 11-2-2 インスタンス用ネットワーク作成 demo-netという名前でインスタンス用ネットワークを作成します。 controller# neutron net-create demo-net Created a new network: +----------------+--------------------------------------+ | Field | Value | +----------------+--------------------------------------+ | admin_state_up | True | | id | 71059c78-fd2c-4e52-a4b9-98776be0ba28 | | name | demo-net | | shared | False | | status | ACTIVE | | subnets | | | tenant_id | 6d19304a59b3456bbe2552a9080d1301 | +----------------+--------------------------------------+ 11-2-3 インスタンス用ネットワークサブネット作成 demo-subnetという名前でインスタンス用ネットワークサブネットを作成します。 controller# neutron subnet-create demo-net --name demo-subnet --gateway 192.168.0.1 192.168.0.0/24 Created a new subnet: +------------------+--------------------------------------------------+ | Field | Value | +------------------+--------------------------------------------------+ | allocation_pools | {"start": "192.168.0.2", "end": "192.168.0.254"} | | cidr | 192.168.0.0/24 | | dns_nameservers | | | enable_dhcp | True | | gateway_ip | 192.168.0.1 | | host_routes | | | id | 6cf9c7f6-2105-4c2a-9fac-0b1df83f774d | | ip_version | 4 | | name | demo-subnet | | network_id | 71059c78-fd2c-4e52-a4b9-98776be0ba28 | | tenant_id | 6d19304a59b3456bbe2552a9080d1301 | +------------------+--------------------------------------------------+ 日本仮想化技術66
  • 67. OpenStack構築手順書 Juno版 11-3 仮想ネットワークルーター設定 仮想ネットワークルーターを作成して外部接続用ネットワークとインスタンス用ネットワークをルーターに接続し、双方 でデータのやり取りを行えるようにします。 11-3-1 demo-routerを作成 仮想ネットワークルータを作成します。 controller# neutron router-create demo-router Created a new router: +-----------------------+--------------------------------------+ | Field | Value | +-----------------------+--------------------------------------+ | admin_state_up | True | | external_gateway_info | | | id | d1a10de8-37e2-4966-a84d-caff3e6b0e1f | | name | demo-router | | status | ACTIVE | | tenant_id | 6d19304a59b3456bbe2552a9080d1301 | +-----------------------+--------------------------------------+ 11-3-2 demo-routerにsubnetを追加 仮想ネットワークルーターにインスタンス用ネットワークを接続します。 controller# neutron router-interface-add demo-router demo-subnet Added interface fc83f7f5-6da5-4607-b9f8-34d0004dfc3e to router demo-router. 11-3-3 demo-routerにgatewayを追加 仮想ネットワークルーターに外部ネットワークを接続します。 controller# neutron router-gateway-set demo-router ext-net Set gateway for router demo-router 日本仮想化技術67
  • 68. OpenStack構築手順書 Juno版 12. 仮想ネットワーク設定確認(networkノード) 12-1 仮想ネットワークルーターの確認 以下コマンドで仮想ネットワークルーターが作成されているか確認します。 network# ip netns qdhcp-ed07c38c-8609-43d8-ae02-582f9f202a3e qrouter-7c1ca8eb-eaa0-4a68-843d-daca30824693 ※qrouter~~ という名前の行が表示されていれば問題ありません。 12-2 仮想ルーターのネームスペースのIPアドレスを確認 仮想ルーターと外部用ネットワークの接続を確認します。 network# ip netns exec `ip netns | grep qrouter` ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 13: qr-65249869-77: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default link/ether fa:16:3e:d0:df:2c brd ff:ff:ff:ff:ff:ff inet 192.168.0.1/24 brd 192.168.0.255 scope global qr-65249869-77 valid_lft forever preferred_lft forever inet6 fe80::f816:3eff:fed0:df2c/64 scope link valid_lft forever preferred_lft forever 14: qg-bd7c5797-3f: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default link/ether fa:16:3e:35:80:8f brd ff:ff:ff:ff:ff:ff inet 10.0.0.200/24 brd 10.0.0.255 scope global qg-bd7c5797-3f valid_lft forever preferred_lft forever inet6 fe80::f816:3eff:fe35:808f/64 scope link valid_lft forever preferred_lft forever ※外部アドレス(この環境では10.0.0.0/24)のアドレスを確認します。 日本仮想化技術68
  • 69. OpenStack構築手順書 Juno版 12-3 仮想ゲートウェイの疎通確認 仮想ルーターと通信が行えるかを確認します。 network# ping 10.0.0.200 PING 10.0.0.200 (10.0.0.200) 56(84) bytes of data. 64 bytes from 10.0.0.200: icmp_seq=1 ttl=64 time=1.17 ms 64 bytes from 10.0.0.200: icmp_seq=2 ttl=64 time=0.074 ms 64 bytes from 10.0.0.200: icmp_seq=3 ttl=64 time=0.061 ms 64 bytes from 10.0.0.200: icmp_seq=4 ttl=64 time=0.076 ms ※応答が返ってくれば問題ありません。各ノードからPingコマンドによる疎通確認を実行しましょう。 日本仮想化技術69
  • 70. OpenStack構築手順書 Juno版 13. Cinderインストール(controllerノード) 13-1 パッケージインストール controller# apt-get install -y cinder-common cinder-api cinder-scheduler cinder-volume lvm2 python-mysqldb 13-2 データベース作成・確認 13-2-1 データベース作成 MariaDBのデータベースにCinderのデータベースを作成します。 controller# mysql -u root -p <<EOF CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'password'; EOF Enter password: ← MariaDBのrootパスワードpasswordを入力 13-2-2 データベースの確認 MariaDBにCinderのデータベースが登録されたか確認します。 controller# mysql -u cinder -p Enter password: ← MariaDBのcinderパスワードpasswordを入力 ... Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | cinder | +--------------------+ 2 rows in set (0.00 sec) ※ユーザーcinderでログイン可能でデータベースの閲覧が可能なら問題ありません。 日本仮想化技術70
  • 71. OpenStack構築手順書 Juno版 13-3 認証情報の設定 以下コマンドで認証情報を設定します。 controller# source admin-openrc.sh controller# keystone user-create --name=cinder --pass=password +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | email | | | enabled | True | | id | 2e391db9f2004b5ab0712c67ae6c9bcd | | name | cinder | | username | cinder | +----------+----------------------------------+ controller# keystone user-role-add --user=cinder --tenant=service --role=admin controller# keystone service-create --name=cinder --type=volume --description="OpenStack Block Storage" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | OpenStack Block Storage | | enabled | True | | id | 3830cd8b2c614414903b0bc31ed9e1ca | | name | cinder | | type | volume | +-------------+----------------------------------+ controller# keystone service-create --name=cinderv2 --type=volumev2 --description="OpenStack Block Storage v2" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | OpenStack Block Storage v2 | | enabled | True | | id | cb2b03621220473c9bcbe194dfd55695 | | name | cinderv2 | | type | volumev2 | +-------------+----------------------------------+ controller# keystone endpoint-create --service=cinder --publicurl=http://controller:8776/v1/%(tenant_id)s --internalurl=http://controller:8776/v1/%(tenant_id)s --adminurl=http://controller:8776/v1/%(tenant_id)s +-------------+-----------------------------------------+ | Property | Value | +-------------+-----------------------------------------+ | adminurl | http://controller:8776/v1/%(tenant_id)s | 日本仮想化技術71
  • 72. OpenStack構築手順書 Juno版 | id | 44b37c343f6c4c52843ce3ca6c7fbad3 | | internalurl | http://controller:8776/v1/%(tenant_id)s | | publicurl | http://controller:8776/v1/%(tenant_id)s | | region | regionOne | | service_id | 3830cd8b2c614414903b0bc31ed9e1ca | +-------------+-----------------------------------------+ controller# keystone endpoint-create --service=cinderv2 --publicurl=http://controller:8776/v2/%(tenant_id)s --internalurl=http://controller:8776/v2/%(tenant_id)s --adminurl=http://controller:8776/v2/%(tenant_id)s +-------------+-----------------------------------------+ | Property | Value | +-------------+-----------------------------------------+ | adminurl | http://controller:8776/v2/%(tenant_id)s | | id | 0eda32a224b74b958be4dc551dfe4aaa | | internalurl | http://controller:8776/v2/%(tenant_id)s | | publicurl | http://controller:8776/v2/%(tenant_id)s | | region | regionOne | | service_id | cb2b03621220473c9bcbe194dfd55695 | +-------------+-----------------------------------------+ 日本仮想化技術72
  • 73. OpenStack構築手順書 Juno版 13-4 設定の変更 controller# vi /etc/cinder/cinder.conf ※以下の記述を追加します。 [DEFAULT] ... rpc_backend = rabbit rabbit_host = controller rabbit_password = password rabbit_port = 5672 rabbit_userid = guest my_ip = 10.0.0.10 #controllerノード auth_strategy = keystone glance_host = controller [keystone_authtoken] auth_uri = http://controller:5000/v2.0 identity_uri = http://controller:35357 admin_tenant_name = service admin_user = cinder admin_password = password [database] connection = mysql://cinder:password@controller/cinder 13-5 データベースに表を作成 controller# su -s /bin/sh -c "cinder-manage db sync" cinder 13-6 Cinderサービスの再起動 設定を反映させるために、Cinderのサービスを再起動します。 controller# rm /var/log/cinder/* controller# service cinder-scheduler restart && service cinder-api restart 13-7 使用しないデータベースファイル削除 controller# rm /var/lib/cinder/cinder.sqlite 日本仮想化技術73
  • 74. OpenStack構築手順書 Juno版 13-8 ログの確認 controller# grep "ERROR|WARNING" /var/log/cinder/* ... /var/log/cinder/cinder-api.log:2014-05-16 16:56:57.401 2641 WARNING cinder.service [-] Value of config opt ion osapi_volume_workers must be integer greater than 1. Input value ignored. /var/log/cinder/cinder-scheduler.log:2014-05-16 16:56:37.733 2287 ERROR oslo.messaging._drivers.impl_rabbi t [req-b051f972-4128-49bb-a820-b0718340f8fd - - - - -] AMQP server on localhost:5672 is unreachable: Socke t closed. Trying again in 30 seconds. /var/log/cinder/cinder-volume.log:2014-05-16 16:56:38.409 2390 ERROR oslo.messaging._drivers.impl_rabbit [ -] AMQP server on localhost:5672 is unreachable: Socket closed. Trying again in 30 seconds. /var/log/cinder/cinder-volume.log:2014-05-16 16:57:12.442 2390 ERROR oslo.messaging._drivers.impl_rabbit [ -] AMQP server on localhost:5672 is unreachable: Socket closed. Trying again in 30 seconds. /var/log/cinder/cinder-volume.log:2014-05-16 16:57:46.479 2390 ERROR oslo.messaging._drivers.impl_rabbit [ -] AMQP server on localhost:5672 is unreachable: Socket closed. Trying again in 30 seconds. ※上記ERRORとWARNINGが出力されなければ問題ありません。 13-9 イメージ格納用ボリューム作成 イメージ格納用ボリュームを設定するために物理ボリュームの設定、ボリューム作成を行います。 13-9-1 物理ボリュームを設定 以下コマンドで物理ボリュームを設定します。 controller# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created controller# vgcreate cinder-volumes /dev/sdb Volume group "cinder-volumes" successfully created 13-9-2 Cinder-Volumeサービスの再起動 Cinderストレージの設定を反映させるために、Cinder-Volumeのサービスを再起動します。 controller# service cinder-volume restart && service tgt restart 13-9-3 admin環境変数設定ファイル読み込み インスタンス格納用ボリュームを作成するために、admin環境変数を読み込みます。 controller# source admin-openrc.sh 日本仮想化技術74
  • 75. OpenStack構築手順書 Juno版 13-9-4 ボリューム作成 以下コマンドでインスタンス格納用ボリュームを作成します。 controller# cinder create --display-name testvolume01 1 +---------------------+--------------------------------------+ | Property | Value | +---------------------+--------------------------------------+ | attachments | [] | | availability_zone | nova | | bootable | false | | created_at | 2014-04-30T10:57:30.357692 | | display_description | None | | display_name | testvolume01 | | encrypted | False | | id | 2bd90ca8-0062-4b31-b3b2-7fd6fdc8da97 | | metadata | {} | | size | 1 | | snapshot_id | None | | source_volid | None | | status | creating | | volume_type | None | +---------------------+--------------------------------------+ 13-9-5 作成ボリュームの確認 以下コマンドで作成したボリュームを確認します。 controller# cinder list +--------------------------------------+-----------+--------------+------+-------------+----------+------- ------+ | ID | Status | Display Name | Size | Volume Type | Bootable | Attach ed to | +--------------------------------------+-----------+--------------+------+-------------+----------+------- ------+ | 2bd90ca8-0062-4b31-b3b2-7fd6fdc8da97 | available | testvolume01 | 1 | None | false | | +--------------------------------------+-----------+--------------+------+-------------+----------+------- ------+ ※一覧にコマンドを実行して登録したボリュームが表示されて、ステータスがavailableとなっていれば問題ありません。 日本仮想化技術75
  • 76. OpenStack構築手順書 Juno版 14. Dashboardインストール・確認(controllerノード) クライアントマシンからブラウザーでOpenStack環境を操作可能なWebインターフェイスをインストールします。 14-1 パッケージインストール controllerノードにDashboardをインストールします。 controller# apt-get install -y apache2 memcached libapache2-mod-wsgi openstack-dashboard 14-2 Dashboardの設定の変更 インストールしたDashboardの設定を変更します。 controller# vi /etc/openstack-dashboard/local_settings.py ... OPENSTACK_HOST = "controller" ← 変更 ALLOWED_HOSTS = ['*'] ← 変更 変更した変更を反映させるため、Apacheとセッションストレージサービスを再起動します。 controller# service apache2 restart controller# service memcached restart 14-3 Dashboardへのアクセス確認 controllerノードとネットワーク的に接続されているマシンからブラウザで以下URLに接続してOpenStackのログイン画 面が表示されるか確認します。 ※ブラウザで接続するマシンは予めDNSもしくは/etc/hostsにcontrollerノードのIPを記述しておく等controllerノードの名 前解決を行っておく必要があります。 http://controller/horizon/ ※上記URLにアクセスしてログイン画面が表示され、ユーザーadminとdemoでログイン(パスワード:password)でログ インできれば問題ありません。 日本仮想化技術76
  • 77. OpenStack構築手順書 Juno版 14-4 セキュリティグループの設定 OpenStackの上で動かすインスタンスのファイアウォール設定は、セキュリティグループで行います。ログイン後、次の 手順でセキュリティグループを設定できます。 1.対象のユーザーでログイン 2.「プロジェクト→コンピュート→アクセスとセキュリティ」を選択 3.「ルールの管理」ボタンをクリック 4.「ルールの追加」で許可するルールを定義 5.「追加」ボタンをクリック セキュリティーグループは複数作成できます。作成したセキュリティーグループをインスタンスを起動する際に選択する ことで、セキュリティグループで定義したポートを解放したり、拒否したり、接続できるクライアントを制限することが できます。 14-5 キーペアの作成 OpenStackではインスタンスへのアクセスはデフォルトで公開鍵認証方式で行います。次の手順でキーペアを作成できま す。 1.対象のユーザーでログイン 2.「プロジェクト→コンピュート→アクセスとセキュリティ」をクリック 3.「キーペア」タブをクリック 4.「キーペアの作成」ボタンをクリック 5.キーペア名を入力 6.「キーペアの作成」ボタンをクリック 7.キーペア(拡張子:pem)ファイルをダウンロード インスタンスにSSH接続する際は、-iオプションでpemファイルを指定します。 client$ ssh -i mykey.pem cloud-user@instance-floating-ip 日本仮想化技術77
  • 78. OpenStack構築手順書 Juno版 14-6 インスタンスの起動 前の手順でGlanceにCirrOSイメージを登録していますので、早速構築したOpenStack環境上でインスタンスを起動して みましょう。 1.対象のユーザーでログイン 2.「プロジェクト→コンピュート→イメージ」をクリック 3.イメージ一覧から起動するOSイメージを選び、「起動」ボタンをクリック 4.「インスタンスの起動」詳細タブで起動するインスタンス名、フレーバー、インスタンス数を設定 5.アクセスとセキュリティタブで割り当てるキーペア、セキュリティーグループを設定 6.ネットワークタブで割り当てるネットワークを設定 7.作成後タブで必要に応じてユーザーデータの入力(オプション) 8.高度な設定タブでパーティションなどの構成を設定(オプション) 9.「起動」ボタンをクリック 14-7 Floating IPの設定 起動したインスタンスにFloating IPアドレスを設定することで、Dashboardのコンソール以外からインスタンスにアクセ スできるようになります。インスタンスにFloating IPを割り当てるには次の手順で行います。 1.対象のユーザーでログイン 2.「プロジェクト→コンピュート→インスタンス」をクリック 3.インスタンスの一覧から割り当てるインスタンスをクリック 4.アクションメニューから「Floating IPの割り当て」をクリック 5.「Floating IP割り当ての管理」画面のIPアドレスで「+」ボタンをクリック 6.「IPの確保」ボタンをクリック 7.割り当てるIPアドレスとインスタンスを選択して「割り当て」ボタンをクリック 14-8 インスタンスへのアクセス Floating IPを割り当てて、かつセキュリティグループの設定を適切に行っていれば、リモートアクセスできるようになり ます。セキュリティーグループでSSHを許可した場合、端末からSSH接続が可能になります(下記は実行例)。 client$ ssh -i mykey.pem cloud-user@instance-floating-ip その他、適切なポートを開放してインスタンスへのPingを許可したり、インスタンスでWebサーバーを起動して外部PC からアクセスしてみましょう。 日本仮想化技術78