イメージの管理

イメージの管理

クラウド運用者はユーザーにロールを割り当てます。ロールはイメージをアップロードおよび管理できるユーザーを決定します。運用者はイメージのアップロードと管理をクラウド管理者や運用者のみに制限するかもしれません。

You can upload images through the openstack image create command or the Image service API. You can use the openstack client for the image management. It provides mechanisms to list and delete images, set and delete image metadata, and create images of a running instance or snapshot and backup types.

イメージをアップロードした後は、イメージを変更できません。

イメージ作成の詳細は 仮想マシンイメージガイド を参照してください。

イメージ (glance) の詳細の一覧表示と取得

イメージの一覧を取得して単一のイメージの詳細を確認するには、 openstack image listopenstack image show コマンドを使用します。

$ openstack image list
+--------------------------------------+---------------------------------+--------+
| ID                                   | Name                            | Status |
+--------------------------------------+---------------------------------+--------+
| dfc1dfb0-d7bf-4fff-8994-319dd6f703d7 | cirros-0.3.5-x86_64-uec         | active |
| a3867e29-c7a1-44b0-9e7f-10db587cad20 | cirros-0.3.5-x86_64-uec-kernel  | active |
| 4b916fba-6775-4092-92df-f41df7246a6b | cirros-0.3.5-x86_64-uec-ramdisk | active |
| d07831df-edc3-4817-9881-89141f9134c3 | myCirrosImage                   | active |
+--------------------------------------+---------------------------------+--------+
$ openstack image show myCirrosImage
+------------------+------------------------------------------------------+
| Field            | Value                                                |
+------------------+------------------------------------------------------+
| checksum         | ee1eca47dc88f4879d8a229cc70a07c6                     |
| container_format | ami                                                  |
| created_at       | 2016-08-11T15:07:26Z                                 |
| disk_format      | ami                                                  |
| file             | /v2/images/d07831df-edc3-4817-9881-89141f9134c3/file |
| id               | d07831df-edc3-4817-9881-89141f9134c3                 |
| min_disk         | 0                                                    |
| min_ram          | 0                                                    |
| name             | myCirrosImage                                        |
| owner            | d88310717a8e4ebcae84ed075f82c51e                     |
| protected        | False                                                |
| schema           | /v2/schemas/image                                    |
| size             | 13287936                                             |
| status           | active                                               |
| tags             |                                                      |
| updated_at       | 2016-08-11T15:20:02Z                                 |
| virtual_size     | None                                                 |
| visibility       | private                                              |
+------------------+------------------------------------------------------+

以下のように、イメージ一覧の確認の際に、grep を使用して一覧をフィルタリングすることができます。

$ openstack image list | grep 'cirros'
| dfc1dfb0-d7bf-4fff-8994-319dd6f703d7 | cirros-0.3.5-x86_64-uec         | active |
| a3867e29-c7a1-44b0-9e7f-10db587cad20 | cirros-0.3.5-x86_64-uec-kernel  | active |
| 4b916fba-6775-4092-92df-f41df7246a6b | cirros-0.3.5-x86_64-uec-ramdisk | active |

注釈

イメージの場所のメタデータを保存してクライアントが直接ファイルにアクセスできるようにするには、/etc/glance/glance-api.conf ファイルで以下のステートメントを追加更新します。

  • show_multiple_locations = True

  • filesystem_store_metadata_file = filePath

    filePath は、 OpenStack イメージ用のシステムでのマウントポイントと一意な ID を定義した JSON ファイルを指します。例:

[{
    "id": "2d9bb53f-70ea-4066-a68b-67960eaae673",
    "mountpoint": "/var/lib/glance/images/"
}]

Image service を再起動してから、以下の構文を使用してイメージの場所情報を確認します。

$ openstack --os-image-api-version 2 image show imageID

例えば、上に示したイメージ ID を使用して、以下のとおりコマンドを発行します。

$ openstack --os-image-api-version 2 image show 2d9bb53f-70ea-4066-a68b-67960eaae673

イメージ (glance) の作成・更新

openstack image create を使用して、イメージを作成します。

$ openstack image create imageName

openstack image set を使用して、名前または ID によりイメージを更新します。

$ openstack image set imageName

以下の一覧は、イメージのプロパティを変更するために、create コマンドと set コマンドで使用できるオプション引数の一覧です。詳細は OpenStack Image コマンドリファレンス を参照してください。

以下の例は、CentOS 6.3 イメージを qcow2 形式でアップロードし、パブリックなアクセス用に設定するために使用するコマンドを表します。

$ openstack image create --disk-format qcow2 --container-format bare \
  --public --file ./centos63.qcow2 centos63-image

以下の例は、ディスクバス、CD-ROM バス、VIF モデルのプロパティを指定して、既存のイメージを更新する方法を表します。

注釈

OpenStack を VMware vCenter Server と一緒に使用している場合、openstack image create を用いて vmware_disktypevmware_adaptertype プロパティーを指定する必要があります。また、hypervisor_type="vmware" プロパティーを設定することを推奨します。詳細は OpenStack Configuration ReferenceImages with VMware vSphere を参照してください。

$ openstack image set \
    --property hw_disk_bus=scsi \
    --property hw_cdrom_bus=ide \
    --property hw_vif_model=e1000 \
    f16-x86_64-openstack-sda

現在、libvirt 仮想化ツールは、設定したハイパーバイザーの種別 (/etc/nova/nova.conf ファイルの libvirt_type で指定)を基にディスク、CD_ROM、VIF デバイスモデルを決定します。最適なパフォーマンスを実現するため、libvirt はディスクおよび VIF (NIC) モデルのいずれの場合も virtio を使用するように初期設定されています。この手法の欠点は、virtio ドライバーがないオペレーティングシステム (例、BSD、Solaris、Linux および Windows の以前のバージョン) を実行できない点です。

サポートされていないディスクまたは CD-ROM バスモデルを指定する場合は Disk_and_CD-ROM_bus_model_values_table (ディスクと CD-ROM のバスモデルの値) を参照してください。また、サポートされていない VIF モデルを指定する場合、インスタンスは起動できません。 VIF_model_values_table (仮想インターフェースのモデルの値) を参照してください。

有効なモデルの値は、以下の表にあるように libvirt_type 設定により左右されます。

ディスクと CD-ROM のバスモデルの値

libvirt_type 設定 サポートされるモデルの値
qemu または kvm
  • ide
  • scsi
  • virtio
xen
  • ide
  • xen

仮想インターフェースのモデルの値

libvirt_type 設定 サポートされるモデルの値
qemu または kvm
  • e1000
  • ne2k_pci
  • pcnet
  • rtl8139
  • virtio
xen
  • e1000
  • netfront
  • ne2k_pci
  • pcnet
  • rtl8139
vmware
  • VirtualE1000
  • VirtualPCNet32
  • VirtualVmxnet

注釈

デフォルトでは、ハードウェアプロパティーはイメージのプロパティーから取得されます。この情報がない場合は、 libosinfo データベースからこれらの値が取得されます。

ゲストのオペレーティングシステムがデータベースにない場合や、 libosinfo の利用が無効化されている場合は、システムのデフォルト値が使用されます。

ユーザーは、イメージのプロパティーにオペレーティングシステム ID として短い ID を設定できます。

$ openstack image set --property short-id=fedora23 \
  name-of-my-fedora-image

別の方法として、ユーザーは id を URL に設定することもできます。

$ openstack image set \
  --property id=http://fedoraproject.org/fedora/23 \
  ID-of-my-fedora-image

ISO イメージからのイメージの作成

ISO イメージを Image サービス (glance) にアップロードできます。その後 Compute から ISO イメージを起動できます。

Image サービスで、以下のコマンドを実行します。

$ openstack image create ISO_IMAGE --file IMAGE.iso \
  --disk-format iso --container-format bare

任意ですが、 Image サービスでアップロードを確認するには、次のコマンドを実行します。

$ openstack image list

イメージ作成のトラブルシューティング

Image service や Compute でイメージの作成に関する問題に遭遇した場合、以下の情報が作成プロセスのトラブルシュートに役立つかもしれません。

  • お使いの qemu バージョンが 0.14 以降であることを確認してください。qemu のバージョンがそれ以前の場合、/var/log/nova/nova-compute.log ファイルで unknown option -s のエラーメッセージが表示されます。
  • /var/log/nova/nova-api.log/var/log/nova/nova-compute.log のログファイルでエラーメッセージを確認してください。
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.