Openstackインストールメモ 準備からKeystoneインストールまで

下ごしらえからKeystoneまでのインストールです。

環境
CentOS6 minimalでインストール Core-i3 mem4G

OSインストールはIPアドレスは手動設定、ファイルシステムはLVM、物理ボリュームを余分に1個作っとく。

インストールが終わったらSSHの設定だけやっとく。

vi /etc/ssh/sshd_config

#PermitRootLogin yes //コメントアウトを外す。
PermitRootLogin yes

service sshd restart

ここからターミナルでの操作に切り替える。楽なので。コピペできるので。

ホスト名の入力とIPv6を無効に

vi /etc/hosts
127.0.0.1   take localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.24.61 take

念のためチェック、けど飛ばしてもいい

ping -c 1 take
PING take (127.0.0.1) 56(84) bytes of data.
64 bytes from take (127.0.0.1): icmp_seq=1 ttl=64 time=0.018 ms

--- take ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.018/0.018/0.018/0.000 ms

ipv6を無効にする

sh -c "echo 'options ipv6 disable=1' >> /etc/modprobe.d/disable-ipv6.conf"
sh -c "echo 'NETWORKING_IPV6=no' >> /etc/sysconfig/network-scripts/ifcfg-eth0"

SELINUXを無効にする

vi /etc/selinux/config
SELINUX=enforcingの部分を変更
SELINUX=disabled
最新の状態にあぷで
yum -y update

とりま必要なパッケージをインストール

yum -y install ntp man openssh-clients

ntpdを有効にする

service ntpd start
chkconfig ntpd on

ここでいったんリブートしとく

reboot

起動が終わったら。
てかリブート前でもいいんやけど、エディタと後ちょっと必要なやつを入れとくか的な。

yum -y install vim mlocate wget

openstackのためにepelのリポジトリを追加

rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
vi /etc/yum.repos.d/openstack-grizzly.repo
[epel-openstack-grizzly]
name=OpenStack Grizzly Repository for EPEL 6
baseurl=http://repos.fedorapeople.org/repos/openstack/openstack-grizzly/epel-$releasever/
enabled=1
skip_if_unavailable=1
gpgcheck=0

そしてアップデート

yum -y update

データベースの準備

yum -y install mysql-server memcached
service mysqld start
chkconfig mysqld on

パスワードは空欄でログインできます

mysql -uroot -p
mysql> set password for root@localhost=password('takeken');
Query OK, 0 rows affected (0.00 sec)

mysql> set password for root@127.0.0.1=password('takeken');
Query OK, 0 rows affected (0.00 sec)

mysql> set password for root@take=password('takeken');
Query OK, 0 rows affected (0.00 sec)

service memcached start
memcached を起動中:                                        [  OK  ]
chkconfig memcached on

認証なしでapache qpidのインストール

yum -y install qpid-cpp-server
sed -i 's/auth=yes/auth=no/' /etc/qpidd.conf
service qpidd start
chkconfig qpidd on

仮想化関連のパッケージインストール

yum install -y iscsi-initiator-utils qemu-kvm \
               libvirt bridge-utils libvirt-python avahi

service messagebus start
service avahi-daemon start
service libvirtd start

準備は終了でごわす。

ここからOpenstack関連のパッケージインストールがスタート。
openstack-configとかのユーティリティのインストール

yum -y install openstack-utils

Keystoneのインストールです。
これはOpenstackの認証・許可関連を管理しているコンポーネント

yum -y install openstack-keyston

コンフィグのバックアップ

cp -a /etc/keystone /etc/keystone_bak

コンフィグをセットアップ

openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token ADMIN
openstack-config --set /etc/keystone/keystone.conf DEFAULT bind_host 0.0.0.0
openstack-config --set /etc/keystone/keystone.conf DEFAULT public_host 5000
openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_port 35357
openstack-config --set /etc/keystone/keystone.conf DEFAULT compute_port 8774
openstack-config --set /etc/keystone/keystone.conf DEFAULT policy_file policy.json
openstack-config --set /etc/keystone/keystone.conf DEFAULT debug True
openstack-config --set /etc/keystone/keystone.conf DEFAULT verbose True
openstack-config --set /etc/keystone/keystone.conf sql connection mysql://keystone:password@take/keystone
openstack-config --set /etc/keystone/keystone.conf signing token_format UUID

keystoneのデータベース作成。たまたまでしょうがmysqlコマンドでやってるとうまくいかなかったので、ジンクス的にログインしてやってます。

mysql -uroot -p
mysql> drop database if exists keystone;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> create database keystone character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on keystone.* to keystone identified by 'password';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on keystone.* to keystone@localhost identified by 'password';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on keystone.* to keystone@take identified by 'password';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges
mysql> quit
keystone-manage db_sync

プロセス起動

chown -R keystone:keystone /var/log/keystone
service openstack-keystone start
chkconfig openstack-keystone on
service openstack-keystone status
keystone (pid  8141) を実行中...

サンプルスクリプトを使ってKeystoneにOpenStackで利用するサービス、サービスに対するユーザ、ロールの設定を行います。
※ここはたけけんの理解が足りてないので、ここのコピペは気を付けてくださり。

cd /usr/local/src ; cp -a /usr/share/openstack-keystone/sample_data.sh .

ファイルのチェック

ls -l sample_data.sh
-rwxr-xr-x 1 root root 9053 10月 18 03:23 2013 sample_data.s

環境変数をエクスポート

export CONTROLLER_HOST=take
export SERVICE_ENDPOINT=http://$CONTROLLER_HOST:35357/v2.0
sed -i "s/localhost/$CONTROLLER_HOST/" /usr/local/src/sample_data.sh
export ENABLE_ENDPOINTS=yes

スクリプトを実行。

/usr/local/src/sample_data.sh

実行すると

+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
|   adminurl  | http://take:$(admin_port)s/v2.0  |
|      id     | 4cd2e487b29c46d1b4b108601f32d640 |
| internalurl | http://take:$(public_port)s/v2.0 |
|  publicurl  | http://take:$(public_port)s/v2.0 |
|    region   |            RegionOne             |
|  service_id | e868bba059ce4059a27cc08036d57fc2 |
+-------------+----------------------------------+
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+-------------+-------------------------------------------------+
|   Property  |                      Value                      |
+-------------+-------------------------------------------------+
|   adminurl  | http://take:$(compute_port)s/v1.1/$(tenant_id)s |
|      id     |         7d071a9e31604d188137e73809b3620e        |
| internalurl | http://take:$(compute_port)s/v1.1/$(tenant_id)s |
|  publicurl  | http://take:$(compute_port)s/v1.1/$(tenant_id)s |
|    region   |                    RegionOne                    |
|  service_id |         5abfb5029ae24291a756c22fc38cc78a        |
+-------------+-------------------------------------------------+
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+-------------+-----------------------------------+
|   Property  |               Value               |
+-------------+-----------------------------------+
|   adminurl  | http://take:8776/v1/$(tenant_id)s |
|      id     |  4a7a599e33c84a65beeff317f6406491 |
| internalurl | http://take:8776/v1/$(tenant_id)s |
|  publicurl  | http://take:8776/v1/$(tenant_id)s |
|    region   |             RegionOne             |
|  service_id |  85f1809e45454a9d8c4508435bcde95b |
+-------------+-----------------------------------+
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
|   adminurl  |         http://take:9292         |
|      id     | 0361e2e792f243fa97a0dad5234be03f |
| internalurl |         http://take:9292         |
|  publicurl  |         http://take:9292         |
|    region   |            RegionOne             |
|  service_id | 04970bb075ef4eaf820991a449dfeb22 |
+-------------+----------------------------------+
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
|   adminurl  | http://take:8773/services/Admin  |
|      id     | fdd265dc512343a68321586770a6c6ea |
| internalurl | http://take:8773/services/Cloud  |
|  publicurl  | http://take:8773/services/Cloud  |
|    region   |            RegionOne             |
|  service_id | c716562c33ed40e9bbaadbb20fbf8268 |
+-------------+----------------------------------+
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+-------------+----------------------------------------+
|   Property  |                 Value                  |
+-------------+----------------------------------------+
|   adminurl  |          http://take:8888/v1           |
|      id     |    3cab69ce7b714e2ab67a8199bd12406b    |
| internalurl | http://take:8888/v1/AUTH_$(tenant_id)s |
|  publicurl  | http://take:8888/v1/AUTH_$(tenant_id)s |
|    region   |               RegionOne                |
|  service_id |    543157fad3b742c2a07c1ed5312510ca    |
+-------------+----------------------------------------+

うまく表示されたらログインしなおして確認する、まずはエクスポート。

export OS_SERVICE_TOKEN=ADMIN
export OS_SERVICE_ENDPOINT=http://take:35357/v2.0/

確認コマンド

keystone tenant-list
keystone user-list
keystone role-list
keystone service-list
keystone endpoint-list

確認結果

+----------------------------------+---------+---------+
|                id                |   name  | enabled |
+----------------------------------+---------+---------+
| 44e077cc353748f2b0230a04b399d9c1 |   demo  |   True  |
| 6277f269fdda4051a0eb51336fd9cfc3 | service |   True  |
+----------------------------------+---------+---------+

+----------------------------------+--------+---------+-------+
|                id                |  name  | enabled | email |
+----------------------------------+--------+---------+-------+
| c417e79f10ba4cb3a65b177655c865b2 | admin  |   True  |       |
| 9d06fe734fd9450fb7b6154c0d108c8d |  ec2   |   True  |       |
| a2ec4feea5cb4fc49b393b687c3ebd51 | glance |   True  |       |
| 695d4b3fb6114584930612978ba6e75a |  nova  |   True  |       |
| b2f7e5c3a555437983d6c310002a984f | swift  |   True  |       |
+----------------------------------+--------+---------+-------+

+----------------------------------+----------+
|                id                |   name   |
+----------------------------------+----------+
| 9fe2ff9ee4384b1894a90878d3e92bab | _member_ |
| 883cd63371544518ac749e3b81a985b9 |  admin   |
+----------------------------------+----------+

+----------------------------------+----------+--------------+---------------------------+
|                id                |   name   |     type     |        description        |
+----------------------------------+----------+--------------+---------------------------+
| c716562c33ed40e9bbaadbb20fbf8268 |   ec2    |     ec2      |  EC2 Compatibility Layer  |
| 04970bb075ef4eaf820991a449dfeb22 |  glance  |    image     |    Glance Image Service   |
| e868bba059ce4059a27cc08036d57fc2 | keystone |   identity   | Keystone Identity Service |
| 5abfb5029ae24291a756c22fc38cc78a |   nova   |   compute    |    Nova Compute Service   |
| 543157fad3b742c2a07c1ed5312510ca |  swift   | object-store |       Swift Service       |
| 85f1809e45454a9d8c4508435bcde95b |  volume  |    volume    |    Nova Volume Service    |
+----------------------------------+----------+--------------+---------------------------+

+----------------------------------+-----------+-------------------------------------------------+-------------------------------------------------+-------------------------------------------------+----------------------------------+
|                id                |   region  |                    publicurl                    |                   internalurl                   |                     adminurl                    |            service_id            |
+----------------------------------+-----------+-------------------------------------------------+-------------------------------------------------+-------------------------------------------------+----------------------------------+
| 0361e2e792f243fa97a0dad5234be03f | RegionOne |                 http://take:9292                |                 http://take:9292                |                 http://take:9292                | 04970bb075ef4eaf820991a449dfeb22 |
| 3cab69ce7b714e2ab67a8199bd12406b | RegionOne |      http://take:8888/v1/AUTH_$(tenant_id)s     |      http://take:8888/v1/AUTH_$(tenant_id)s     |               http://take:8888/v1               | 543157fad3b742c2a07c1ed5312510ca |
| 4a7a599e33c84a65beeff317f6406491 | RegionOne |        http://take:8776/v1/$(tenant_id)s        |        http://take:8776/v1/$(tenant_id)s        |        http://take:8776/v1/$(tenant_id)s        | 85f1809e45454a9d8c4508435bcde95b |
| 4cd2e487b29c46d1b4b108601f32d640 | RegionOne |         http://take:$(public_port)s/v2.0        |         http://take:$(public_port)s/v2.0        |         http://take:$(admin_port)s/v2.0         | e868bba059ce4059a27cc08036d57fc2 |
| 7d071a9e31604d188137e73809b3620e | RegionOne | http://take:$(compute_port)s/v1.1/$(tenant_id)s | http://take:$(compute_port)s/v1.1/$(tenant_id)s | http://take:$(compute_port)s/v1.1/$(tenant_id)s | 5abfb5029ae24291a756c22fc38cc78a |
| fdd265dc512343a68321586770a6c6ea | RegionOne |         http://take:8773/services/Cloud         |         http://take:8773/services/Cloud         |         http://take:8773/services/Admin         | c716562c33ed40e9bbaadbb20fbf8268 |
+----------------------------------+-----------+-------------------------------------------------+-------------------------------------------------+-------------------------------------------------+----------------------------------+

問題なければ次いってみよう。

参考サイト

iOSSオープンソースをもっと身近なものに  Openstackインストール手順
さくらのナレッジ  OpenStack 2012.2で追加された新機能「Cinder」を使う
TIMEZONE PST Hatena BRANCH  EPEL版 OpenStack folsomインストール(cinder編)

 

Related Posts


投稿者: Takeken

インターネット利用者のITリテラシーを向上したいという設定の2次元キャラです。 サーバー弄りからプログラミングまで手を付けた自称エッセイストなたけけんの物語。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です