イメージ

OpenStack のイメージはしばしば「仮想マシンテンプレート」と考えることができます。イメージは ISO イメージのような標準的なインストールメディアの場合もあります。基本的に、インスタンスを起動するために使用されるブート可能なファイルシステムを含みます。

 イメージの追加

いくつかの構築済みイメージが存在します。簡単に Image Service の中にインポートできます。追加する一般的なイメージは、非常に小さく、テスト目的に使用される CirrOS イメージです。このイメージを追加するには、単に次のようにします。

# wget https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img # glance image-create --name='cirros image' --is-public=true --container-format=bare --disk-format=qcow2 < cirros-0.3.0-x86_64-disk.img

glance image-create コマンドでは、イメージに指定できる多数のオプションが用意されています。たとえば、min-disk オプションは、特定の容量のルートディスクを必要とするイメージ (例: 大きな Windows イメージ) のために有用です。これらのオプションを表示するには、次のようにします。

$ glance help image-create

location オプションは注意する意味があります。Glance にイメージ全体のコピーを行わず、そのイメージがある元の位置への参照を保持します。イメージのインスタンスを起動するとき、Glance が指定された場所からイメージにアクセスします。

copy-from オプションは、指定された位置から /var/lib/glance/images ディレクトリの中にコピーします。例に示されたように STDIN リダイレクションを使用するときに、同じことが実行されます。

既存のイメージのプロパティを表示するために、以下のコマンドを実行します。

$ glance details

 イメージの削除

イメージを削除するには、ただ次のとおり実行します。

$ glance image-delete <image uuid>
[注記]注記

イメージを削除しても、そのイメージがベースになっているインスタンスやスナップショットには影響がありません。

 他の CLI オプション

オプションの完全な一覧は、以下を使用して見つけられます。

$ glance help

または OpenStack Image Service CLI Guide. (http://docs.openstack.org/cli/quick-start/content/glance-cli-reference.html)

 イメージサービスおよびデータベース

Glance がデータベースに保存しない唯一のものがイメージそのものです。Glance データベースは主な 2 つのテーブルを持ちます。

  • images

  • image_properties

データベースと SQL クエリーを直接使うことで、Glance イメージの独自のリストやレポートを得ることができます。一般には、推奨されませんが、技術的にはデータベース経由でイメージのプロパティを更新できます。

 イメージサービスのデータベースクエリーの例

興味深い例の一つは、イメージとそのイメージの所有者の表の表示内容を変更することです。これは、所有者のユニーク ID を表示するようにするだけで実現できます。この例はさらに一歩進め、所有者の読みやすい形式の名前を表示します。

$ mysql> select glance.images.id, glance.images.name, keystone.tenant.name, is_public from glance.images inner join keystone.tenant on glance.images.owner=keystone.tenant.id;

もう一つの例は、特定のイメージに関するすべてのプロパティを表示することです。

$ mysql> select name, value from image_properties where id = <image_id>


loading table of contents...