公式ドキュメントに従ってやっていきます。
OpenStack Image service
OpenStack Image service (glance) により、ユーザーが仮想マシンイメージを検索、登録、取得できるようになります。 REST API が提供され、仮想マシンイメージメタデータを問い合わせり、実際のイメージを取得したりできます。Image service 経由で利用可能な仮想マシンイメージは、単なるファイルシステムから OpenStack Object Storage のようなオブジェクトストレージシステムまで、さまざまな場所に保存できます。
インストール&設定
- 今回はイメージをローカルファイルシステムに保存する
- DB作成 mysqlで以下を行う。GLANCE_DBPASSにはroot++
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'GLANCE_DBPASS';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'GLANCE_DBPASS';
- 環境スクリプトの読み込み
source admin-openrc.sh
- glanceユーザ作成
-
openstack user create --domain default --password-prompt glance
- GLANCE_PASSとしてroot++を入力
-
- adminロールをglanceユーザとserviceプロジェクトに追加
openstack role add --project service --user glance admin
- glanceサービスエンティティを作成
openstack service create --name glace --description "OpenStack Image service" image
- image serviceのエンドポイント作成 3種類
openstack endpoint create --region RegionOne image public http://controller:9292
openstack endpoint create --region RegionOne image internal http://controller:9292
openstack endpoint create --region RegionOne image admin http://controller:9292
コンポーネントのインストールと設定
- パッケージのインストール
# yum install openstack-glance python-glance python-glanceclient
-
# vi /etc/glance/glance-api.conf
で以下
glance-api.conf
[database] # DBへのアクセス方法
connection = mysql://glance:GLANCE_DBPASS@controller/glance # root++
[keystone_authtoken] # identityサービスへのアクセス方法
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = glance
password = GLANCE_PASS # root++
[paste_deploy]
flavor = keystone
[glance_store] # ローカルファイルシステムストア及びイメージファイルの場所を指定
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
[DEFAULT] # 通知を無効化
notification_driver = noop
-
# vi /etc/glance/glance-registry.conf
でglance-api.conf
と同様の作業を行う -
# su -s /bin/sh -c "glance-manage db_sync" glance
- /bin/shで""内のコマンドをglanceユーザで行う"
- openstack-glance-apiの起動処理
# systemctl enable openstack-glance-api openstack-glance-registry
# systemctl start openstack-glance-api openstack-glance-registry
かくにん!
- 環境スクリプトにImage API ver.2を使用するよう設定
# echo "export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh
- tee は標準入力を標準出力とファイルに同時に出力する.-aは新規作成を禁止する(既存のものに書き足すオプション)
- cirrosのダウンロード
# curl -OL http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
- cirrosのイメージをImage serviceにアップロード
-
# glance image-create --name "cirros" --file cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility public --progress
- qcow2: image serviceによりサポートされる仮想マシンイメージディスク形式の1つ
- bare: 仮想マシンイメージ用のコンテナーが存在しないことを意味する、Image service のコンテナー形式。
- public: すべてのプロジェクトがこのイメージにアクセスできる
-
- 作成が成功したら
/var/lib/glance/images/
の中にidが名前のファイルができている -
glance image-list
でも一覧が見れる -
curl -OL http://cloud.centos.org/centos/6/images/CentOS-6-x86_64-GenericCloud.qcow2
から落としてCentも入れてみた 同様にしたらいける