[ English | русский | Indonesia ]
Управление инстансами¶
В этой главе описывается, как создавать инстансы и получать к ним доступ.
Создание инстанса с помощью панели управления¶
Используя образ, создайте новый инстанс с помощью возможностей панели управления.
- Войдите в панель управления и выберите проект admin из выпадающего списка. 
- На вкладке Проект откройте вкладку Инстансы и нажмите кнопку Запустить инстанс.   - Панель управления — вкладка «Инстансы»¶ 
- Откройте диалоговое окно Запуск инстанса и перейдите во вкладку Детали. Введите соответствующие значения для инстанса.   - Детали инстанса¶ 
- Нажмите Источник. На шаге «Источник» выберите источник загрузки: образ, диск (снимок диска) или снимок инстанса. Если вы выбрали «Образ», выберите нужную ОС или пользовательский образ из списка для загрузки инстанса. Опция «Диск» будет доступна только в том случае, если включена служба блочного хранилища (cinder).   - Источник инстанса¶ - Дополнительную информацию о присоединении дисков блочного хранилища к инстансам для постоянного хранения см. в разделе Управление дисками для постоянного хранения ниже. 
- В диалоговом окне Запуск инстанса перейдите во вкладку Шаблон конфигурации и выберите предпочтительный вариант для вашего инстанса. 
- Нажмите на вкладку Сети. Эта вкладка будет недоступна, если сетевая служба (neutron) не включена. Если служба включена, выберите сети, в которых будет находиться инстанс.   - Сети инстансов¶ 
- Перейдите во вкладку Ключевая пара и выберите пару ключей или создайте новую. 
- Перейдите во вкладку Группы безопасности и установите группу безопасности «по умолчанию». 
- При необходимости добавьте скрипты настройки, нажав Конфигурация. Они запускаются после создания инстанса. Некоторые инстансы поддерживают пользовательские данные, такие как пароли администратора или пользователей с правами администратора. При необходимости введите здесь информацию, относящуюся к данному инстансу. 
- Нажмите Запустить, чтобы создать инстанс. Инстанс запустится на вычислительном узле. Откроется страница Инстансы, на которой начнется создание нового инстанса. На открывшейся странице Инстансы будут отображены имя инстанса, его размер, статус и задача. Здесь также отображаются состояние питания и публичные и частные IP-адреса. - Процесс займет меньше минуты. Создание инстанса завершено, когда статус отображается как активный. Обновите страницу, чтобы увидеть новый активный инстанс.   - Страница инстансов¶ - Параметры запуска инстанса¶ - Название поля - Обязательно - Подробности - Зона доступности - Опционально - Зона доступности, в которой служба образов создает инстанс. Если зоны доступности не определены, инстансы не будут найдены. Провайдер облачных услуг устанавливает зону доступности в виде определенного значения. - Имя инстанса - Обязательно - Имя нового инстанса, которое становится исходным именем хоста сервера. Если имя сервера изменяется в API или напрямую, имена в панели управления остаются неизменными. - Образ - Обязательно - Тип формата контейнера: один из следующих: - raw,- qcow2,- iso,- vmdk,- vdiи т. д.- Тип инстансов - Обязательно - Конфигурация vCPU, памяти и диска. Обратите внимание, что создание более крупных вариантов может занять много времени. Если вы создаете инстанс в первый раз и хотите что-то небольшое для тестирования, выберите - m1.small.- Количество инстансов - Обязательно - При создании нескольких инстансов с этой конфигурацией введите целое число до числа, разрешенного квотой, которое по умолчанию равно - 10.- Источник загрузки инстанса - Обязательно - Укажите, будет ли инстанс основан на образе или снимке. Если инстанс создается впервые, то пока не будет доступных снимков. - Образ - Обязательно - Инстанс загрузится с выбранного образа. В параметре будет предварительно указан инстанс, выбранный из таблицы. Однако, если выберите - Загрузка с снимкав Источнике загрузки, то вместо этого по умолчанию будет- Снимок.- Группы безопасности - Опционально - Эта опция назначает группы безопасности инстанса. Группа безопасности по умолчанию назначается в случае, если здесь не указана своя группа. Группы безопасности, подобно облачному файрволу, определяют, какой входящий сетевой трафик пересылается инстансам. - Ключевая пара - Опционально - Укажите ключевую пару с помощью этой опции. Если образ использует статический набор ключей (не рекомендуется), ключевая пара не нужна. - Сети - Опционально - Чтобы добавить сеть к инстансу, нажмите на символ стрелки вниз в поле Сети. - Конфигурация - Опционально - Укажите скрипт настройки. Этот скрипт запускается после запуска инстанса и становится активным. 
Создание инстанса с помощью командной строки¶
В командной строке создание инстанса выполняется командой 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 | +------------------+------------------+--------+-------------------+---------------+ 
Управление инстансом¶
- Войдите в панель управления. Выберите один из проектов и нажмите Инстансы. 
- Выберите инстанс из списка доступных инстансов. 
- Проверьте столбец Действия и нажмите на стрелку, указанную вниз. Выберите действие. 
Столбец Действия включает в себя следующие параметры:
- Изменить тип или переустановить любой инстанс 
- Подключить/отключить диск 
- Подключить/отсоединить интерфейс 
- Просмотреть лог консоли инстанса 
- Редактировать инстанс 
- Редактировать группы безопасности 
- Приостановить, возобновить, ввести в режим восстановления или приостановить инстанс 
- Мягкая или жесткая перезагрузка инстанса 
Примечание
Удалите инстанс в столбце Действия.
Управление дисками постоянного хранилища¶
Диски присоединяются к инстансам, обеспечивая постоянное хранение. Хранилище дисков обеспечивает источник памяти для инстансов. Администраторы могут присоединять диски к работающему инстансу или перемещать диск от одного инстанса к другому.
Живая миграция инстансов¶
Nova способна осуществлять динамическую миграцию инстансов с одного хоста на другой хост для поддержки различных операционных задач, включая:
- Техническое обслуживание хоста 
- Управление ресурсами хоста 
- Изменение размера и перемещение инстансов на более качественное оборудование 
Использование конфигурационного привода Nova¶
В зависимости от используемой версии OpenStack-Ansible, Nova можно настроить на принудительное подключение привода к инстансам. В этом случае образ CD-ROM ISO9660 будет доступен инстансу через точку монтирования /mnt. Это может использоваться такими инструментами, как cloud-init, для получения доступа к метаданным инстанса. Это альтернативный способ доступа к метаданным Nova в стиле EC2.
Чтобы разрешить живую миграцию инстансов Nova, необходимо либо отключить принудительное включение привода (CD-ROM), либо изменить формат привода на формат диска, например vfat, к которому могут получить доступ как инстансы Linux, так и Windows.
Этот обходной путь необходим для всех версий Libvirt до 1.2.17.
Чтобы отключить принудительное включение и изменить формат привода на формат жесткого диска, добавьте следующее переопределение в файл /etc/openstack_deploy/user_variables.yml:
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- Изменяет шаблон конфигурации (увеличивает) при перезагрузке, а также переносит (холодная миграция) инстанс на новый хост для удовлетворения новых требований к ресурсам. Эта операция может занять значительное время в зависимости от размера образа диска. 
