[ English | русский | Deutsch | Indonesia | English (United Kingdom) ]
Управление инстансами¶
В этой главе описывается, как создавать инстансы и получать к ним доступ.
Создание инстанса с помощью панели управления¶
Используя образ, создайте новый инстанс с помощью возможностей панели управления.
Войдите в панель управления и выберите проект admin из выпадающего списка.
На вкладке :guilabel:»Проект» откройте вкладку :guilabel:»Инстансы» и нажмите кнопку :guilabel:»Запустить инстанс».
Панель управления — вкладка «Инстансы»¶
Откройте диалоговое окно Запуск инстанса и перейдите на вкладку Детали. Введите соответствующие значения для инстанса.
Детали инстанса¶
Нажмите Источник. На шаге «Источник» выберите источник загрузки: образ, диск (снимок диска) или снимок инстанса. Если вы выбрали «Образ», выберите нужную ОС или пользовательский образ из списка для загрузки инстанса. Опция «Диск» будет доступна только в том случае, если включена служба блочного хранилища (cinder).
Источник инстанса¶
Дополнительную информацию о присоединении дисков блочного хранилища к инстансам для постоянного хранения см. в разделе Управление дисками для постоянного хранения ниже.
В диалоговом окне Запуск инстанса перейдите на вкладку Шаблон конфигурации и выберите предпочтительный вариант для вашего инстанса.
Щелкните вкладку Сети. Эта вкладка будет недоступна, если сетевая служба (neutron) не включена. Если служба включена, выберите сети, в которых будет находиться инстанс.
Сети инстансов¶
Перейдите на вкладку Ключевая пара и выберите пару ключей или создайте новую.
Перейдите на вкладку Группы безопасности и установите группу безопасности «по умолчанию».
Add customisation scripts, if needed, by clicking the Configuration. These run after the instance has been created. Some instances support user data, such as root passwords, or admin users. Enter the information specific to the instance here if required.
Нажмите Запустить, чтобы создать инстанс. Инстанс запустится на вычислительном узле. Откроется страница Инстансы, на которой начнется создание нового инстанса. На открывшейся странице Инстансы будут отображены имя инстанса, его размер, статус и задача. Здесь также отображаются состояние питания и публичные и частные IP-адреса.
Процесс займет меньше минуты. Создание инстанса завершено, когда статус отображается как активный. Обновите страницу, чтобы увидеть новый активный инстанс.
Страница инстансов¶
Параметры запуска инстанса¶ Название поля
Необходимо
Подробности
Зона доступности
Опционально
Зона доступности, в которой служба образов создает инстанс. Если зоны доступности не определены, инстансы не будут найдены. Провайдер облачных услуг устанавливает зону доступности в виде определенного значения.
Имя инстанса
Необходимо
Имя нового инстанса, которое становится исходным именем хоста сервера. Если имя сервера изменяется в API или напрямую, имена в панели управления остаются неизменными.
Образ
Необходимо
Тип формата контейнера: один из следующих:
raw
,qcow2
,iso
,vmdk
,vdi
и т. д.Тип инстансов
Необходимо
Конфигурация vCPU, памяти и диска. Обратите внимание, что создание более крупных вариантов может занять много времени. Если вы создаете инстанс в первый раз и хотите что-то небольшое для тестирования, выберите
m1.small
.Количество инстансов
Необходимо
При создании нескольких инстансов с этой конфигурацией введите целое число до числа, разрешенного квотой, которое по умолчанию равно
10
.Источник загрузки инстанса
Необходимо
Укажите, будет ли инстанс основан на образе или снимке. Если инстанс создается впервые, то пока не будет доступных снимков.
Образ
Необходимо
Инстанс загрузится с выбранного образа. В параметре будет предварительно указан инстанс, выбранный из таблицы. Однако, если выберите
Загрузка с снимка
в Источнике загрузки, то вместо этого по умолчанию будетСнимок
.Группы безопасности
Опционально
This option assigns security groups to an instance. The default security group activates when no customised group is specified here. Security Groups, similar to a cloud firewall, define which incoming network traffic is forwarded to instances.
Ключевая пара
Опционально
Укажите ключевую пару с помощью этой опции. Если образ использует статический набор ключей (не рекомендуется), ключевая пара не нужна.
Сети
Опционально
Чтобы добавить сеть к инстансу, нажмите на символ стрелки вниз в поле Сети.
Конфигурация
Опционально
Укажите скрипт настройки. Этот скрипт запускается после запуска инстанса и становится активным.
Создание инстанса с помощью командной строки¶
В командной строке создание инстанса выполняется командой openstack server create. Перед запуском инстанса определите, какие образы и шаблоны конфигураций доступны для создания нового инстанса с помощью команд openstack image list и openstack flavor list.
Войдите в любой контейнер утилит.
Введите команду openstack server create, указав имя инстанса, а также имя образа и шаблон конфигурации, которые следует использовать:
$ openstack server create --image precise-image --flavor 2 --key-name example-key example-instance +-------------------------------------+--------------------------------------+ | Property | Value | +-------------------------------------+--------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-SRV-ATTR:host | None | | OS-EXT-SRV-ATTR:hypervisor_hostname | None | | OS-EXT-SRV-ATTR:instance_name | instance-0000000d | | OS-EXT-STS:power_state | 0 | | OS-EXT-STS:task_state | scheduling | | OS-EXT-STS:vm_state | building | | accessIPv4 | | | accessIPv6 | | | adminPass | ATSEfRY9fZPx | | config_drive | | | created | 2012-08-02T15:43:46Z | | flavor | m1.small | | hostId | | | id | 5bf46a3b-084c-4ce1-b06f-e460e875075b | | image | precise-image | | key_name | example-key | | metadata | {} | | name | example-instance | | progress | 0 | | status | BUILD | | tenant_id | b4769145977045e2a9279c842b09be6a | | updated | 2012-08-02T15:43:46Z | | user_id | 5f2f2c28bdc844f9845251290b524e80 | +-------------------------------------+--------------------------------------+
Чтобы проверить, что инстанс был успешно создан, выполните команду openstack server list:
$ openstack server list +------------------+------------------+--------+-------------------+---------------+ | ID | Name | Status | Networks | Image Name | +------------------+------------------+--------+-------------------+---------------+ | [ID truncated] | example-instance | ACTIVE | public=192.0.2.0 | precise-image | +------------------+------------------+--------+-------------------+---------------+
Управление инстансом¶
Войдите в панель управления. Выберите один из проектов и нажмите Инстансы.
Выберите инстанс из списка доступных инстансов.
Check the Actions column, and click on the down arrow. Select the action.
Столбец Действия включает в себя следующие параметры:
Изменить тип или переустановить любой инстанс
Подключить/отключить диск
Подключить/отсоединить интерфейс
Просмотреть лог консоли инстанса
Редактировать инстанс
Редактировать группы безопасности
Приостановить, возобновить, ввести в режим восстановления или приостановить инстанс
Мягкая или жесткая перезагрузка инстанса
Примечание
Удалите инстанс в столбце Действия.
Управление дисками постоянного хранилища¶
Диски присоединяются к инстансам, обеспечивая постоянное хранение. Хранилище дисков обеспечивает источник памяти для инстансов. Администраторы могут присоединять диски к работающему инстансу или перемещать диск из одного инстанса в другой.
Живая миграция инстансов¶
Nova способна осуществлять динамическую миграцию инстансов с одного хоста на другой хост для поддержки различных операционных задач, включая:
Техническое обслуживание хоста
Управление ресурсами хоста
Изменение размера и перемещение инстансов на более качественное оборудование
Nova configuration drive implication¶
В зависимости от используемой версии OpenStack-Ansible, Nova можно настроить на принудительное подключение конфигурационных дисков к инстансам. В этом случае образ CD-ROM ISO9660 будет доступен инстансу через точку монтирования /mnt
. Это может использоваться такими инструментами, как cloud-init, для получения доступа к метаданным инстанса. Это альтернативный способ доступа к метаданным Nova в стиле EC2.
To allow live migration of Nova instances, this forced provisioning of the config (CD-ROM) drive needs to either be turned off, or the format of the configuration drive needs to be changed to a disk format like vfat, a format which both Linux and Windows instances can access.
Этот обходной путь необходим для всех версий Libvirt до 1.2.17.
To turn off the forced provisioning of and change the format of the
configuration drive to a hard disk style format, add the following
override to the /etc/openstack_deploy/user_variables.yml
file:
nova_nova_conf_overrides:
DEFAULT:
config_drive_format: vfat
force_config_drive: false
Туннелирование и прямое соединение¶
В конфигурации по умолчанию Nova определяет правильный URL-адрес транспорта для передачи данных с одного хоста на другой. В зависимости от переопределения nova_virt_type
используются следующие конфигурации:
в kvm по умолчанию
qemu+tcp://%s/system
по умолчанию в qemu
qemu+tcp://%s/system
TCP-порт Libvirt для передачи данных для миграции.
OpenStack-Ansible изменяет настройки по умолчанию и использует зашифрованное SSH-соединение для передачи данных инстанса.
live_migration_uri = "qemu+ssh://nova@%s/system?no_verify=1&keyfile={{ nova_system_home_folder }}/.ssh/id_rsa"
Другие конфигурации можно настроить внутри файла /etc/openstack_deploy/user_variables.yml
:
nova_nova_conf_overrides:
libvirt:
live_migration_completion_timeout: 0
live_migration_progress_timeout: 0
live_migration_uri: "qemu+ssh://nova@%s/system?keyfile=/var/lib/nova/.ssh/id_rsa&no_verify=1"
Выполнение миграции¶
Живая миграция доступна через клиента nova.
nova live-migration [--block-migrate] [--force] <uuid> [<host>]
Пример живой миграции на локальном хранилище:
nova live-migration --block-migrate <uuid of the instance> <nova host>
Мониторинг статуса¶
После принятия запроса на живую миграцию статус можно отслеживать с помощью клиента nova:
nova migration-list
+-----+------------+-----------+----------------+--------------+-----------+-----------+---------------+------------+------------+------------+------------+-----------------+
| Id | Source Node | Dest Node | Source Compute | Dest Compute | Dest Host | Status | Instance UUID | Old Flavor | New Flavor | Created At | Updated At | Type |
+----+-------------+-----------+----------------+--------------+-----------+-----------+---------------+------------+------------+------------+------------+-----------------+
| 6 | - | - | compute01 | compute02 | - | preparing | f95ee17a-d09c | 7 | 7 | date | date | live-migration |
+----+-------------+-----------+----------------+--------------+-----------+-----------+---------------+------------+------------+------------+------------+-----------------+
Для фильтрации списка можно использовать параметры --host
или --status
:
nova migration-list --status error
В случаях, когда живая миграция не удалась, необходимо проверить на наличие ошибок исходные и целевые вычислительные узлы. Обычно достаточно поискать только UUID инстанса, чтобы найти ошибки, связанные с живой миграцией.
Другие формы миграции инстансов¶
Помимо живой миграции, Nova предлагает возможность миграции целых хостов в режиме онлайн (живая) или офлайн (холодная) миграции.
Предусмотрены следующие команды клиента nova:
host-evacuate-live
Живая миграция всех инстансов указанного хоста на другие хосты, если использование ресурсов позволяет. Лучше всего использовать общее хранилище, например Ceph или NFS, для эвакуации хоста.
host-servers-migrate
Эта команда похожа на эвакуацию хоста, но переносит все инстансы с указанного хоста, пока они выключены.
resize
Changes the flavor of an instance (increase) while rebooting and also migrates (cold) the instance to a new host to accommodate the new resource requirements. This operation can take considerate amount of time, depending disk image sizes.