このエントリーをはてなブックマークに追加

Image delivery and registration (Glance)のインストール

Image delivery and registrationのコード名はGlanceです。
Glanceは仮想マシンのイメージの管理を行うコンポーネントです。
仮想マシンの起動イメージをどのバックエンドストレージに配置するか、そして設定したバックエンドストレージのダウンロード、アップロード、削除などを行います。
バックエンドストレージはローカルディスク、S3、Swiftが利用可能です。
また、GlusterFSと組み合わせても高可用性を実現することも出来ます。やっぱり少し重くはなりますけど。
ここでは、ローカルディスクを利用します。

Glanceのインストール

Glanceもパッケージからのインストールであれば簡単に行えます。

$ sudo apt-get install -y glance

Glanceの設定

元のディレクトリをバックアップしておきます。

$ sudo cp -a /etc/glance /etc/glance_bak
GlanceのコンフィグはAPI、Registry、Cache、Scrubberの4つがありますがAPI、Registryの設定を行います。
具体的には、glance-api.conf glance-registry.conf の2つのコンフィグを変更します。
ホスト名はインストールを行なっているホスト名、テナント名、ユーザ名、パスワードはKeystoneで設定したものを設定して下さい。

glance-api.conf glance-registry.conf

まず、SQL接続用設定を変更します。
$ cd /etc/glance
$ sudo vi glance-api.conf glance-registry.conf
sql_connection = mysql://glance:password@stack01/glance?charset=utf8
[filter:authtoken]の項目を変更します。
admin_tenant_name = service
admin_user = glance
admin_password = password
[paste_deploy]の項目にkeystoneの設定を追加します。
[paste_deploy]
flavor = keystone
glance-apiの通知設定をします。
$ sudo vi glance-api.conf
notifier_strategy = rabbit

rabbit_host=stack01
rabbit_port = 5672
rabbit_use_ssl = false
rabbit_userid=nova
rabbit_password=password
rabbit_virtual_host=/nova
rabbit_notification_exchange = glance
rabbit_notification_topic = glance_notifications
rabbit_durable_queues = False
また、ホスト名を変更しておきます。こちらもホスト名は適切なもので設定して下さい。
$ sudo sed -i "s#127.0.0.1#stack01#" /etc/glance/glance-api.conf
$ sudo sed -i "s#localhost#stack01#" /etc/glance/glance-api.conf
$ sudo sed -i "s#127.0.0.1#stack01#" /etc/glance/glance-registry.conf
$ sudo sed -i "s#localhost#stack01#" /etc/glance/glance-registry.conf

データベースの作成

Glanceが利用するデータベースを作成します。
データベース名glance、ユーザ名glance、パスワードはpasswordとしているため適切なものへ変更してください。
$ mysql -u root -pnova -e "drop database glance;"
$ mysql -u root -pnova -e "create database glance character set utf8;"
$ MYSQL_PASS_GLANCE=password
$ NOVA_CONTOLLER_HOSTNAME=stack01
$ mysql -u root -pnova -e "grant all privileges on glance.* to 'glance'@'%' identified by '$MYSQL_PASS_GLANCE';"
$ mysql -u root -pnova -e "grant all privileges on glance.* to 'glance'@'localhost' identified by '$MYSQL_PASS_GLANCE';"
$ mysql -u root -pnova -e "grant all privileges on glance.* to 'glance'@'$NOVA_CONTOLLER_HOSTNAME' identified by '$MYSQL_PASS_GLANCE';"
$ sudo glance-manage db_sync

以下のようなワーニングが出力されますが問題ありません。

/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/migrate_repo/versions/003_add_disk_format.py:46: SADeprecationWarning: useexisting is deprecated.  Use extend_existing.
  useexisting=True)

プロセスの再起動

Glanceのプロセスを再起動します。

# for i in api registry
do
  start glance-$i ; restart glance-$i
done

イメージの登録

独自イメージの作成方法及びoz-installを利用するものについては別途記述します。
ここでは予め作成されているUbuntu12.10を登録します。

Ubuntu12.10のイメージの登録

イメージの置き場所は/opt/virtとします。

ファイルのダウンロード

$ sudo mkdir -p /opt/virt/ubuntu12.10 ; cd /opt/virt/ubuntu12.10
$ sudo wget http://cloud-images.ubuntu.com/releases/quantal/release/ubuntu-12.10-server-cloudimg-amd64-disk1.img

環境変数の設定

イメージを登録する際にはKeystoneと同じくオプションを設定する必要があります。
Keystoneで利用したものが利用できますので読み込んでおきましょう。
$ export OS_USERNAME=admin
$ export OS_PASSWORD=password
$ export OS_TENANT_NAME=admin
$ export OS_AUTH_URL=http://stack01:35357/v2.0/

マシンイメージの登録

$ glance image-create --name="Ubuntu 12.10" --is-public=true --container-format=ovf --disk-format=qcow2 < ubuntu-12.10-server-cloudimg-amd64-disk1.img
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | d2009bc433fc0fbe65b8796ac411b8c8     |
| container_format | ovf                                  |
| created_at       | 2013-01-15T06:39:56                  |
| deleted          | False                                |
| deleted_at       | None                                 |
| disk_format      | qcow2                                |
| id               | 6db6eafc-0a74-490e-bbb0-099eed074204 |
| is_public        | True                                 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | Ubuntu 12.10                         |
| owner            | e2dd868565e0494f8626a84623bd31f0     |
| protected        | False                                |
| size             | 221446144                            |
| status           | active                               |
| updated_at       | 2013-01-15T06:39:59                  |
+------------------+--------------------------------------+

イメージの登録確認

作業によりイメージが問題なく登録されたかを確認します。

$ glance image-list
+--------------------------------------+--------------+-------------+------------------+-----------+--------+
| ID                                   | Name         | Disk Format | Container Format | Size      | Status |
+--------------------------------------+--------------+-------------+------------------+-----------+--------+
| 6db6eafc-0a74-490e-bbb0-099eed074204 | Ubuntu 12.10 | qcow2       | ovf              | 221446144 | active |
+--------------------------------------+--------------+-------------+------------------+-----------+--------+
詳細なイメージの情報を確認
引数には image-list で確認したものを指定します。
$ glance show bb345aff-a315-4b9b-8627-a6e78166596d
URI: http://stack01:9292/v1/images/bb345aff-a315-4b9b-8627-a6e78166596d
Id: bb345aff-a315-4b9b-8627-a6e78166596d
Public: Yes
Protected: No
Name: Ubuntu 12.10
Status: active
Size: 219807744
Disk format: qcow2
Container format: ovf
Minimum Ram Required (MB): 0
Minimum Disk Required (GB): 0
Owner: 703a5434c7d043e792864f9a61aad033
Created at: 2012-10-28T13:09:08
Updated at: 2012-10-28T13:09:12
以上でGlanceの設定及びイメージのアップロードは終わりです。