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>
注記 | |
---|---|
イメージを削除しても、そのイメージがベースになっているインスタンスやスナップショットには影響がありません。 |
オプションの完全な一覧は、以下を使用して見つけられます。
$ 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>