Образы

Образы OpenStack часто могут рассматриваться как "шаблоны виртуальных машин". Они также могут быть стандартными носителями для установки, такими как образы ISO. По существу, они содержат загружаемые файловые системы, которые используются для запуска экземпляров.

 Добавление образов

Существуют некоторые предварительно собранные образы и они могут быть легко импортированы в службу образов (Image service). Образ CirrOS является очень маленьким общеупотребимым образом для добавления и используется для целей тестирования. Чтобы добавить этот образ, просто выполните:

$ wget http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img
$ glance image-create --name='cirros image' --is-public=true \
  --container-format=bare --disk-format=qcow2 < cirros-0.3.1-x86_64-disk.img

Команда glance image-create предоставляет большой набор параметров для обеспечения вас образами. Например, параметр min-disk полезен для образов, которые требуют root диски определенного размера (например, большие образы Windows). Для ознакомления с этими параметрами выполните:

$ glance help image-create

Важно отметить параметр расположения (location). Он не копирует весь образ в Glance, а вместо этого дает ссылку на оригинальное местоположение, по которой может быть найден данный образ. После запуска экземпляра данного образа служба образов получает образ из описанного местоположения.

Параметр copy-from копирует образ из описанного местоположения в каталог /var/lib/glance/images. То же самое выполняется при перенаправлении STDIN при помощи <, как это демонстрируется в примере. The copy-from option copies the image from the location specified into the /var/lib/glance/images directory. The same thing is done when using the STDIN redirection with <, as shown in the example.

Выполните следующую команду, чтобы посмотреть свойства существующих образов:

$ glance details

 Совместное использование образов проектами

В облачных средах с многими владельцами пользователи иногда хотят использовать свои персональные образы или моментальные снимки совместно с другими проектами. Это может быть выполнено из командной строки посредством инструментария glance владельцем образа.

Для начала совместного с другим проектом использования образа или моментального снимка выполните следующее:

  1. Получите UUID образа:

    $ glance image-list
  2. Получите UUID с которым вы хотите совместно использовать свой образ. К сожалению, пользователи без прав администратора не могут использовать команду keystone чтобы выполнить это. Простейшим решением будет получение UUID либо у администратора облака, либо от расположенного в этом проекте пользователя.

  3. Получив значения обоих элементов, выполните команду glance:

    $ glance member-create <image-uuid> <project-uuid>

    Например:

    $ glance member-create 733d1c44-a2ea-414b-aca7-69decf20d810 \
        771ed149ef7e4b2b88665cc1c98f77ca

    Project 771ed149ef7e4b2b88665cc1c98f77ca will now have access to image 733d1c44-a2ea-414b-aca7-69decf20d810.

 Другие параметры CLI

Полный набор опций можно найти с помощью:

$ glance help

или в руководстве по интерфейсу командной строки.

 Пример запросов к базе данных службы образов

Один интересный пример заключается в изменении таблицы образов и владельца этого образа. Это можно легко сделать, если вы просто отображаете уникальный идентификатор (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>