Создание облачного сервера (виртуальной машины)

Создание в панели управления

Для создания облачного сервера в проекте перейдите в раздел Серверы и нажмите кнопку Создать сервер.

В открывшемся окне настройте параметры виртуальной машины:

  1. Укажите имя сервера, регион и зону. Имя машины присваивается автоматически, при необходимости его можно изменить.
  2. Определите источник для установки операционной системы. По умолчанию выбирается образ Ubuntu. Для того чтобы сменить образ операционной системы, нажмите на кнопку Выбрать другой источник. Можно выбрать один из готовых образов, использовать собственный образ, а также использовать ранее созданный диск или снапшот. Дополнительно можно прописать пользовательский скрипт, выполняющийся при загрузке системы, в поле User data, открывающееся по кнопке {…}.
  3. Задайте конфигурацию виртуальной машины. Существует два типа конфигураций сервера:

    • фиксированная — несколько линеек конфигураций, где представлены различные комбинации процессоров и оперативной памяти. Ограничения по ресурсам: до 36 CPU, 128 RAM в зависимости от линейки конфигурации;
    • произвольная — свободный выбор количества ядер и оперативной памяти в пределах ресурсов: 8 CPU, 64 RAM, 512 SSD.
  4. Для всех конфигураций серверов можно использовать дисковые хранилища - локальный (установите соответствующую галочку) или сетевой диск.

  5. Если выбран сетевой диск в качестве системного (галочка “Локальный диск” не установлена), то выберите тип сетевого диска:

    • базовый — для хранения больших объемов данных, которые не нужно часто читать или перезаписывать;
    • быстрый — меньшее время отклика и большая скорость работы по сравнению с базовым диском;
    • универсальный — для размещения системных дисков виртуальных машин.
  6. Укажите размер сетевого диска.

  7. Если в качестве системного диска указан локальный диск и нет необходимости в дополнительном диске, то сетевой диск можно удалить, нажав кнопку Удалить диск.

  8. Для добавления дополнительного сетевого диска нажмите кнопку Добавить сетевой диск.

  9. Выберите подходящий тип подсети, чтобы добавить ее к серверу. Примечание: если у пользователя уже есть какие-то подсети в регионе, где он хочет создать сервер, то в поле отображаются эти подсети.

  10. Определите настройки доступа. Укажите root-пароль или добавьте SSH-ключ для более безопасного подключения.

  11. Нажмите кнопку Создать для завершения настройки новой виртуальной машины.

В результате выполненных действий новый сервер появится в списке серверов проекта.

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

Подготовка к созданию с помощью консольных клиентов

Подробно о начале работы через консольные клиенты читайте в статье.

Перед созданием облачного сервера вам нужно выбрать образ сервера, доступную зону, сеть и флейвор сервера.

Образ сервера

Просмотрите список всех доступных образов операционных систем, используя команду:

openstack image list --public

Итоговый список выглядит следующим образом:

+--------------------------------------+--------------------------------------------+--------+
| ID                                   | Name                                       | Status |
+--------------------------------------+--------------------------------------------+--------+
| 771635f4-7604-4c1c-abd6-8934237d8816 | CentOS 7 64-bit                            | active |
| 0cd42521-8146-4488-967b-da6f6d15f156 | CentOS 7 Minimal 64-bit                    | active |
| ad82e097-d786-4201-a637-5a50abe95483 | CentOS 8 64-bit                            | active |
| 3b7d0b97-e808-45e4-877f-4b8801563497 | CoreOS                                     | active |
| cf7e6a23-bd30-4cad-98e5-88d0ede05954 | Debian 10 (Buster) 64-bit                  | active |
| 82ed4d6d-ca96-4736-beb3-3ad56f3c3a62 | Debian 8 (Jessie) 64-bit                   | active |
| 145e6700-8f6b-40ac-91d4-102d156aa9d0 | Debian 9 (Stretch) 64-bit                  | active |
| cf67b80c-9c08-439e-97f3-4c12bbc25feb | Fedora 28 64-bit                           | active |
| 37221cd3-f636-40e8-9624-f493a0e148df | Fedora 29 64-bit                           | active |
| 2b87f642-b581-43c1-9b84-46969d6199b6 | Fedora 30 64-bit                           | active |
| 694f5167-67d1-426f-808b-6606ebc14566 | Fedora 31 64-bit                           | active |
| 05372e42-e654-4349-865d-cd941f257e65 | Fedora Atomic 27 64-bit                    | active |
| e95f07cd-fcce-4813-88ca-50dfc6a60a66 | Fedora Atomic 28 64-bit                    | active |
| d0ebf434-cb62-4168-a3f1-1ea17a0a586a | Fedora Atomic 29 64-bit                    | active |
| bd6035e9-6813-44cf-b121-7a03b72a6f8f | RancherOS                                  | active |
| 1da506f9-1afa-4258-8049-9adc6988b5cb | Ubuntu 16.04 LTS 64-bit                    | active |
| 266e724e-d6a8-4b6e-86b8-9d634abe057b | Ubuntu 16.04 LTS GPU Drivers 64-bit        | active |
| c5c8d3cc-9a2c-48ce-adfe-93e066e9ae6e | Ubuntu 18.04 LTS 64-bit                    | active |
| 7d93991b-aa64-41de-a728-8d08018553cf | Ubuntu 18.04 LTS GPU Drivers 64-bit        | active |
| ca311e9f-943c-4ebb-849c-002b04962b4c | Ubuntu 20.04 LTS 64-bit                    | active |
| da041a03-7ae8-405f-bcd7-072f9fede164 | Windows Server 2012 R2 Standard            | active |
| d8735845-de63-4202-983e-c618888ccd08 | Windows Server 2016 Standard               | active |
| 568685fa-573b-48f5-971a-8162c9016c19 | Windows Server 2016 Standard (GPU Drivers) | active |
| 87bf1e26-5cb3-4d89-93eb-c094e1bffa62 | Windows Server 2019 Standard Legacy BIOS   | active |
| 8cd12e23-a228-4dbb-864f-319e80a8dd44 | blank-simple-image                         | active |
| bac517e3-6b48-47cf-8135-a3189785e539 | selectel-rescue-initrd                     | active |
| 1e3206a6-9e37-4d69-9733-855ade507782 | selectel-rescue-kernel                     | active |
+--------------------------------------+--------------------------------------------+--------+

Для просмотра информации об образе по UUID введите:

openstack image show <UUID image>

Для просмотра информации об образе по имени введите:

openstack image show <image name>

Выбрав нужный образ, скопируйте его ID — он понадобится при создании сервера.

Доступные зоны

В регионе может быть доступна одна или несколько зон. Каждая зона представляет собой набор серверов виртуализации и хранения данных, расположенных в отдельных стойках. Серверы в различных зонах можно объединять локальными сетями. Доступные в каждой зоне ресурсы определяются квотой зоны, управление которой осуществляется в панели управления проектами.

openstack availability zone list --compute

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

+-----------+-------------+
| Zone Name | Zone Status |
+-----------+-------------+
|   ru-1a   |  available  |
|   ru-1b   |  available  |
+-----------+-------------+

Сохраните имя выбранной зоны.

Просмотр информации о сетях

Для просмотра доступных сетей:

openstack network list

Список доступных сетей выглядит следующим образом:

+--------------------------------------+------------------+-----------------------------------------------------+
| id                                   | name             | subnets                                             |
+--------------------------------------+------------------+-----------------------------------------------------+
| 1c037362-487f-4103-a73b-6cba3f5532dc | nat              | b7be542a-2eef-465e-aacd-34a0c83e6afa 192.168.0.0/24 |
| ab2264dd-bde8-4a97-b0da-5fea63191019 | external-network | 102a9263-2d84-4335-acfb-6583ac8e70aa                |
|                                      |                  | aa9e4fc4-63b0-432e-bcbd-82a613310acb                |
| fce90252-7d99-4fc7-80ae-ef763d12938d | newnetwork       | 5a1a68f9-b885-47b7-9c7e-6f0e08145e3b 192.168.1.0/24 |
+--------------------------------------+------------------+-----------------------------------------------------+

Каждая сеть имеет уникальный идентификационный номер (графа ID), его нужно будет указать при создании нового сервера.

Флейвор сервера

В терминологии OpenStaсk конфигурации сервера обозначаются термином flavor.

Для создания сервера вы можете выбрать флейвор фиксированной конфигурации или создать флейвор с требуемыми ресурсами.

Флейвор фиксированной конфигурации

Предопределённые флейворы фиксированной конфигурации можно просмотреть с помощью команды:

openstack flavor list --public

Ответ будет выглядеть следующим образом:

+-------+------------------+--------+------+-----------+-------+-----------+
| ID    | Name             |    RAM | Disk | Ephemeral | VCPUs | Is Public |
+-------+------------------+--------+------+-----------+-------+-----------+
| 1     | m1.tiny          |    512 |    0 |         0 |     1 | True      |
| 2     | m1.small         |   2048 |    0 |         0 |     1 | True      |
| 3     | m1.medium        |   4096 |    0 |         0 |     2 | True      |
| 4     | m1.large         |   8192 |    0 |         0 |     4 | True      |
| 5     | m1.xlarge        |  16384 |    0 |         0 |     8 | True      |
| 1011  | SL1.1-1024       |   1024 |    0 |         0 |     1 | True      |
| 1012  | SL1.1-2048       |   2048 |    0 |         0 |     1 | True      |
| 1013  | SL1.2-4096       |   4096 |    0 |         0 |     2 | True      |
| 1014  | SL1.2-8192       |   8192 |    0 |         0 |     2 | True      |
| 1015  | SL1.4-16384      |  16384 |    0 |         0 |     4 | True      |
| 1016  | SL1.6-32768      |  32768 |    0 |         0 |     6 | True      |
| 1017  | SL1.8-32768      |  32768 |    0 |         0 |     8 | True      |
| 1311  | SL1.1-1024-8     |   1024 |    8 |         0 |     1 | True      |
| 1312  | SL1.1-2048-16    |   2048 |   16 |         0 |     1 | True      |
| 1313  | SL1.2-4096-32    |   4096 |   32 |         0 |     2 | True      |
| 1314  | SL1.2-8192-64    |   8192 |   64 |         0 |     2 | True      |
| 1315  | SL1.4-16384-128  |  16384 |  128 |         0 |     4 | True      |
| 1316  | SL1.6-32768-256  |  32768 |  256 |         0 |     6 | True      |
| 1317  | SL1.8-32768-384  |  32768 |  384 |         0 |     8 | True      |

Флейворы с именем вида:

  • SL1.XX — Standard Line;

  • CPU1.XX — CPU Line;

  • RAM1.XX — Memory Line.

Подробнее о фиксированных конфигурациях облачных серверов.

Примечание: флейворы вида m1.XX — это базовые из примеров OpenStack, аналогичные серверам гибкой конфигурации в панели управления.

Выберите флейвор и сохраните его ID и имя.

Создание флейвора требуемой конфигурации

Создать флейвор требуемой конфигурации сервера можно с помощью команды:

openstack flavor create --private --vcpus <num-cpu> --ram <size-mb> --disk <size-gb> <flavor-name>

Имя флейвора обязательно должно быть уникальным и не совпадать с другими именами (в том числе с именами удалённых флейворов).

Будет сгенерирован ID конфигурации сервера:

+----------------------------+--------------------------------------+
| Field                      | Value                                |
+----------------------------+--------------------------------------+
| OS-FLV-DISABLED:disabled   | False                                |
| OS-FLV-EXT-DATA:ephemeral  | 0                                    |
| availability_zones         | [u'ru-1a']                           |
| disk                       | 0                                    |
| extra_specs                | {}                                   |
| id                         | 7e652f6c-a326-4e23-8b01-017194cc3024 |
| name                       | flavor-name                          |
| os-flavor-access:is_public | False                                |
| properties                 |                                      |
| ram                        | 1                                    |
| rxtx_factor                | 1.0                                  |
| swap                       |                                      |
| vcpus                      | 1                                    |
+----------------------------+--------------------------------------+

Сохраните сгенерированный ID.

Просмотр типов сетевых дисков

Для создания сервера с сетевыми дисками нужно выбрать тип сетевого диска.

Просмотрите список доступных типов:

openstack volume type list

Он выглядит следующим образом:

+--------------------------------------+-----------------+-----------+
|                  ID                  |       Name      | Is_Public |
+--------------------------------------+-----------------+-----------+
| 00a8c3b9-715e-438b-845c-89fbc1e9e62b |    fast.ru-1b   |   True   |
| 27c66842-2b9f-4d71-a957-383ca5ee19c4 |    fast.ru-1a   |   True   |
| 2c9a6741-5901-40ff-ba67-4a7e70ad7563 | universal.ru-1a |   True   |
| 48f5caf9-9bc9-49ed-bdf5-0b29c544b0b0 | universal.ru-1b |   True   |
| 9c535a8c-cce1-4780-95bf-76c68b99c52f |     iso.ru-1a   |   True   |
| c7f1cda0-ebcb-4711-8f50-e13e6e4fc9eb |   basic.ru-1b   |   True   |
| ea11f5ad-baeb-461e-9769-47facee5dbcd |   basic.ru-1a   |   True   |
+--------------------------------------+-----------------+-----------+

Для дисков серверов следует использовать типы fast, basic и universal в нужной зоне вида <тип диска>.<имя зоны>, например, fast.ru-2b.

Перейдите к созданию сервера — на базе Linux или Windows. Создание сервера зависит от типа дисков. Можно создать сервер с:

  • загрузочным локальным диском;
  • загрузочным сетевым диском;
  • с загрузочным локальным диском и дополнительным сетевым диском;
  • с загрузочным сетевым диском и дополнительным сетевым диском.

После создания новый сервер появится в списке серверов проекта.

Пример Linux: с загрузочным локальным диском

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

openstack server create \
          --availability-zone ru-2b \
          --flavor SL1.1-1024-8 \
          --nic net-id=net_name \
          --image 'Ubuntu 18.04 LTS 64-bit' \
    test-srv-with-boot-local

Ответ будет выглядеть следующим образом:

+-----------------------------+----------------------------------------------------------------+
| Field                       | Value                                                          |
+-----------------------------+----------------------------------------------------------------+
| OS-DCF:diskConfig           | MANUAL                                                         |
| OS-EXT-AZ:availability_zone | ru-2b                                                          |
| OS-EXT-STS:power_state      | NOSTATE                                                        |
| OS-EXT-STS:task_state       | scheduling                                                     |
| OS-EXT-STS:vm_state         | building                                                       |
| OS-SRV-USG:launched_at      | None                                                           |
| OS-SRV-USG:terminated_at    | None                                                           |
| accessIPv4                  |                                                                |
| accessIPv6                  |                                                                |
| addresses                   |                                                                |
| config_drive                |                                                                |
| created                     | 2020-04-28T03:34:29Z                                           |
| flavor                      | SL1.1-1024-8 (1311)                                            |
| hostId                      |                                                                |
| id                          | 980f8c19-3974-466e-803e-9239c8a8a14f                           |
| image                       | Ubuntu 18.04 LTS 64-bit (c5c8d3cc-9a2c-48ce-adfe-93e066e9ae6e) |
| key_name                    | None                                                           |
| name                        | test-srv-with-boot-local                                       |
| progress                    | 0                                                              |
| project_id                  | 04d92ef9fe254caaa90d6ecd2849c1cf                               |
| properties                  |                                                                |
| security_groups             | name='default'                                                 |
| status                      | BUILD                                                          |
| updated                     | 2020-04-28T03:34:29Z                                           |
| user_data                   | None                                                           |
| user_id                     | d38f8bea67f94083803c5066f458664a                               |
| volumes_attached            |                                                                |
+-----------------------------+----------------------------------------------------------------+

Пример Linux: с загрузочным сетевым диском

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

  1. Создайте сетевой диск нужного размера и типа из образа (этот диск автоматически будет назначен загрузочным).
  2. Создайте сервер из этого диска. Укажите имя флейвора и сеть.

Пример создания сетевого диска:

openstack volume create --image 'Ubuntu 18.04 LTS 64-bit' --size 5 --type fast.ru-2b BOOT_VOLUME_NAME

Ответ будет выглядеть следующим образом:

+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| attachments         | []                                   |
| availability_zone   | ru-2b                                |
| bootable            | false                                |
| consistencygroup_id | None                                 |
| created_at          | 2020-04-28T03:29:57.000000           |
| description         | None                                 |
| encrypted           | False                                |
| id                  | 3b447abb-a4ff-4f02-baac-a6f7a02bd21e |
| multiattach         | False                                |
| name                | BOOT_VOLUME_NAME                     |
| properties          |                                      |
| replication_status  | None                                 |
| size                | 5                                    |
| snapshot_id         | None                                 |
| source_volid        | None                                 |
| status              | creating                             |
| type                | fast.ru-2b                           |
| updated_at          | None                                 |
| user_id             | d38f8bea67f94083803c5066f458664a     |
+---------------------+--------------------------------------+

Пример создания сервера из сетевого диска:

openstack server create \
          --availability-zone ru-2b \
          --flavor SL1.1-1024 \
          --nic net-id=net_name \
          --volume BOOT_VOLUME_NAME \
    test-srv-with-boot-net-volume

Ответ будет выглядеть следующим образом:

+-----------------------------+--------------------------------------+
| Field                       | Value                                |
+-----------------------------+--------------------------------------+
| OS-DCF:diskConfig           | MANUAL                               |
| OS-EXT-AZ:availability_zone | ru-2b                                |
| OS-EXT-STS:power_state      | NOSTATE                              |
| OS-EXT-STS:task_state       | scheduling                           |
| OS-EXT-STS:vm_state         | building                             |
| OS-SRV-USG:launched_at      | None                                 |
| OS-SRV-USG:terminated_at    | None                                 |
| accessIPv4                  |                                      |
| accessIPv6                  |                                      |
| addresses                   |                                      |
| config_drive                |                                      |
| created                     | 2020-04-28T03:33:32Z                 |
| flavor                      | SL1.1-1024 (1011)                    |
| hostId                      |                                      |
| id                          | 112f9304-4a70-428f-b588-05d61436f9d8 |
| image                       |                                      |
| key_name                    | None                                 |
| name                        | test-srv-with-boot-net-volume        |
| progress                    | 0                                    |
| project_id                  | 04d92ef9fe254caaa90d6ecd2849c1cf     |
| properties                  |                                      |
| security_groups             | name='default'                       |
| status                      | BUILD                                |
| updated                     | 2020-04-28T03:33:31Z                 |
| user_data                   | None                                 |
| user_id                     | d38f8bea67f94083803c5066f458664a     |
| volumes_attached            |                                      |
+-----------------------------+--------------------------------------+

Пример Linux: с загрузочным локальным и дополнительным сетевым диском

  1. Создайте пустой сетевой диск нужного размера и типа.
  2. Создайте сервер из флейвора. Укажите зону доступности, сеть, имя сетевого диска и имя образа, из которого нужно создать сервер.

Пример:

openstack volume create --size 20 --type fast.ru-2b ADD_VOLUME_NAME

openstack server create \
          --availability-zone ru-2b \
          --flavor SL1.1-1024-8 \
          --nic net-id=net_name \
          --block-device-mapping vdb=ADD_VOLUME_NAME \
          --image 'Ubuntu 18.04 LTS 64-bit' \
    test-srv-with-boot-local-add-volume

Пример Linux: с загрузочным сетевым и дополнительным сетевым диском

  1. Создайте сетевой диск нужного размера и типа из образа (этот диск автоматически будет назначен загрузочным).
  2. Создайте пустой сетевой диск нужного размера и типа.
  3. Создайте сервер из этого диска.

Пример:

openstack volume create --image 'Ubuntu 18.04 LTS 64-bit' --size 5 --type fast.ru-2b  BOOT_VOLUME_NAME

openstack volume create --size 20 --type fast.ru-2b ADD_VOLUME_NAME

openstack server create \
          --availability-zone ru-2b \
          --flavor SL1.1-1024 \
          --nic net-id=net_name \
          --block-device-mapping vdb=ADD_VOLUME_NAME \
          --volume BOOT_VOLUME_NAME \
    test-srv-with-boot-net-volume-add-volume

Пример Windows: с загрузочным локальным диском

Пример создания облачного сервера на базе Windows с локальным диском:

openstack server create \
          --availability-zone ru-2b \
          --flavor SL1.2-4096-32 \
          --nic net-id=net_name \
          --nic net-id=license_windows_2016_standard \
          --property admin_pass='qwerty' \
          --image 'Windows Server 2016 Standard' \
    test-win-with-boot-local

Пример Windows: с загрузочным сетевым диском

Пример создания облачного сервера на базе Windows с сетевым диском:

openstack volume create --image 'Windows Server 2016 Standard' --size 32 --type fast.ru-2b  WIN_BOOT_VOLUME_NAME

openstack server create \
          --availability-zone ru-2b \
          --flavor SL1.1-4096 \
          --nic net-id=net_name \
          --nic net-id=license_windows_2016_standard \
          --property admin_pass='qwerty' \
          --volume WIN_BOOT_VOLUME_NAME \
    test-win-with-boot-net-volume

Восстановление сети с лицензиями

При разворачивании сервера на базе Windows из собственного образа или при удалении лицензионной подсети восстановить ее можно следующим образом (перед этим необходимо выделить лицензии в проекте):

openstack server add network test-win-with-boot-net-volume license_windows_2016_standard