Skip to content
ishikawa84g edited this page Nov 18, 2012 · 11 revisions

Glanceのアーキテクチャ

スライドで説明。

http://www.slideshare.net/ishikawa84g/9-openstack-glance

glanceが使えるイメージストア

ストア先 説明
filesystem ローカルファイルシステム
http ???
rbd CEPH等の分散ファイルシステム
s3 Amazon S3
swift swift

コマンドラインからのglanceの操作

環境変数の設定

$ source ~/devstack/openrc demo

登録されているイメージの確認

自分がアクセスできるイメージファイルを確認する。

$ glance image-list

ID                                   Name                           Disk Format          Container Format     Size          
------------------------------------ ------------------------------ -------------------- -------------------- --------------
f2297324-3884-4ff4-bc20-ea1f31349d4e cirros-0.3.0-x86_64-uec        ami                  ami                        25165824
5c0150a0-e829-48b1-b97f-88946c36997b cirros-0.3.0-x86_64-uec-ramdis ari                  ari                         2254249
c470e969-de3d-4df3-9e18-b84f007fa196 cirros-0.3.0-x86_64-uec-kernel aki                  aki                         4731440

イメージの詳細を確認

$ glance image-show f2297324-3884-4ff4-bc20-ea1f31349d4e

+-----------------------+--------------------------------------+
| Property              | Value                                |
+-----------------------+--------------------------------------+
| Property 'kernel_id'  | c470e969-de3d-4df3-9e18-b84f007fa196 |
| Property 'ramdisk_id' | 5c0150a0-e829-48b1-b97f-88946c36997b |
| checksum              | 2f81976cae15c16ef0010c51e3a6c163     |
| container_format      | ami                                  |
| created_at            | 2012-11-06T14:18:01                  |
| deleted               | False                                |
| disk_format           | ami                                  |
| id                    | f2297324-3884-4ff4-bc20-ea1f31349d4e |
| is_public             | True                                 |
| min_disk              | 0                                    |
| min_ram               | 0                                    |
| name                  | cirros-0.3.0-x86_64-uec              |
| owner                 | 0dd44a10b4fe48b0865b4b150c4e3a7a     |
| protected             | False                                |
| size                  | 25165824                             |
| status                | active                               |
| updated_at            | 2012-11-06T14:18:02                  |
+-----------------------+--------------------------------------+

実体の確認

イメージの保存場所を確認。

$ grep filesystem_store /etc/glance/glance-api.conf

filesystem_store_datadir = /opt/stack/data/glance/images/

ファイルの実体

$ ls -alF /opt/stack/data/glance/images

total 31412
drwxrwxr-x 2 openstack openstack     4096 Nov  6 23:18 ./
drwxrwxr-x 4 openstack openstack     4096 Nov  6 23:16 ../
-rw-r----- 1 openstack openstack  2254249 Nov  6 23:18 5c0150a0-e829-48b1-b97f-88946c36997b
-rw-r----- 1 openstack openstack  4731440 Nov  6 23:18 c470e969-de3d-4df3-9e18-b84f007fa196
-rw-r----- 1 openstack openstack 25165824 Nov  6 23:18 f2297324-3884-4ff4-bc20-ea1f31349d4e

スナップショット

事前確認

スナップショット取得前に登録済みのイメージとインスタンスを確認します。

$ glance image-list
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| ID                                   | Name                            | Disk Format | Container Format | Size     | Status |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| 4389a1ad-321a-4c07-9508-f45b7c28b66e | cirros-0.3.0-x86_64-uec-ramdisk | ari         | ari              | 2254249  | active |
| 46c3a248-f527-48d5-83db-06039b839011 | cirros-0.3.0-x86_64-uec         | ami         | ami              | 25165824 | active |
| acd2c73c-7e71-42a9-b1a2-e0ffa4845243 | cirros-0.3.0-x86_64-uec-kernel  | aki         | aki              | 4731440  | active |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+

$ nova list
+--------------------------------------+----------+--------+------------------+
| ID                                   | Name     | Status | Networks         |
+--------------------------------------+----------+--------+------------------+
| 5414970e-cd6e-4306-a144-ba8e3e618ae1 | ishikawa | ACTIVE | net1=172.24.17.2 |
+--------------------------------------+----------+--------+------------------+

事前準備

スナップショットを作成後、きちんと稼動中のインスタンスがコピーされている事を確認するため、システムに変更を加えます。

※ この操作はスナップショット取得対象インスタンスにログインをして行います。

  • ユーザ: openstacker を作成

    • $ sudo useradd openstack
  • /opt 以下に「空ファイル: openstack」を作成

    • touch /opt/openstack

スナップショット作成

状態変更後、インスタンスのスナップショットを取得します。ここではコマンドで取得していますが、Horizon を使用することもできます。

$ nova image-create 5414970e-cd6e-4306-a144-ba8e3e618ae1 ishikawa-snap

$ glance image-list
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| ID                                   | Name                            | Disk Format | Container Format | Size     | Status |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| 4389a1ad-321a-4c07-9508-f45b7c28b66e | cirros-0.3.0-x86_64-uec-ramdisk | ari         | ari              | 2254249  | active |
| 46c3a248-f527-48d5-83db-06039b839011 | cirros-0.3.0-x86_64-uec         | ami         | ami              | 25165824 | active |
| acd2c73c-7e71-42a9-b1a2-e0ffa4845243 | cirros-0.3.0-x86_64-uec-kernel  | aki         | aki              | 4731440  | active |
| b7955c35-020b-4b3e-819d-5b15d8b1006f | ishikawa-snap                   | ami         | ami              | 25165824 | active |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+

$ nova list
+--------------------------------------+----------+--------+------------------+
| ID                                   | Name     | Status | Networks         |
+--------------------------------------+----------+--------+------------------+
| 5414970e-cd6e-4306-a144-ba8e3e618ae1 | ishikawa | ACTIVE | net1=172.24.17.2 |
+--------------------------------------+----------+--------+------------------+

スナップショットの確認

実ファイルは default_store = file の場合、filesystem_store_datadir で指定された場所に保存されます。

※ DevStack デフォルト: /opt/stack/data/glance/images/

$ ls -ltr /opt/stack/data/glance/images
total 55980
-rw-r----- 1 openstack openstack  4731440 Nov 11 01:35 acd2c73c-7e71-42a9-b1a2-e0ffa4845243
-rw-r----- 1 openstack openstack  2254249 Nov 11 01:35 4389a1ad-321a-4c07-9508-f45b7c28b66e
-rw-r----- 1 openstack openstack 25165824 Nov 11 01:35 46c3a248-f527-48d5-83db-06039b839011
-rw-r----- 1 openstack openstack 25165824 Nov 18 00:31 b7955c35-020b-4b3e-819d-5b15d8b1006f

$ file /opt/stack/data/glance/images/b7955c35-020b-4b3e-819d-5b15d8b1006f
/opt/stack/data/glance/images/b7955c35-020b-4b3e-819d-5b15d8b1006f: Linux rev 1.0 ext3 filesystem data, UUID=0e4e199b-d6fe-4869-8897-681fffd48f76, volume name "cirros-rootfs" (needs journal recovery)

$ qemu-img info /opt/stack/data/glance/images/b7955c35-020b-4b3e-819d-5b15d8b1006f
image: /opt/stack/data/glance/images/b7955c35-020b-4b3e-819d-5b15d8b1006f
file format: raw
virtual size: 24M (25165824 bytes)
disk size: 24M

スナップショットからインスタンスを起動

Horizon から作成したインスタンススナップショットを選択し、インスタンスを起動します。

起動後、/opt 配下およびユーザを確認します。

冗長化

glance-api, glance-registry は単純ロードバランスでOK。

ただし、イメージの複製を行わないと振り分けられるサーバによってはインスタンスを起動できないなどの問題が発生する。