Образы 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
владельцем образа.
Для начала совместного с другим проектом использования образа или моментального снимка выполните следующее:
-
Получите UUID образа:
$ glance image-list
-
Получите UUID с которым вы хотите совместно использовать свой образ. К сожалению, пользователи без прав администратора не могут использовать команду
keystone
чтобы выполнить это. Простейшим решением будет получение UUID либо у администратора облака, либо от расположенного в этом проекте пользователя. -
Получив значения обоих элементов, выполните команду
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.
Для удаления образа, просто выполните:
$ glance image-delete <image uuid>
Замечание | |
---|---|
Удаление образа не влияет на экземпляры или моментальные снимки, которые основывались на этом образе. |
Единственное, что служба образов не хранит в базе данных, это сами образы. База данных службы образов имеет две основные таблицы:
-
images
(образы) -
image_properties
(свойства образов)
Непосредственная работа с базой данных и выполнение SQL запросов может снабдить вас списками пользователей и сообщить об образах. Технически, вы можете обновлять свойства об образах непосредственно через базу данных, хотя это и не рекомендуется.
Один интересный пример заключается в изменении таблицы образов и владельца этого образа. Это можно легко сделать, если вы просто отображаете уникальный идентификатор (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>