Управление дисками

Создание диска

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

Для создания сетевого (дополнительного) диска в панели управления выполните следующие действия:

  1. Перейдите в раздел Диски в проекте.
  2. Нажмите кнопку Создать диск.
  3. В открывшемся окне заполните поля с параметрами диска.
  4. Нажмите кнопку Создать.

Новый диск появится в списке дисков проекта.

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

Для создания пустого дополнительного диска введите команду с обязательным параметром — размер в ГБ и типом (лучше указать, необязательный параметр), например:

openstack volume create --size 1 --type fast.ru-2b VOLUME_NAME

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

+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| attachments         | []                                   |
| availability_zone   | ru-2a                                |
| bootable            | false                                |
| consistencygroup_id | None                                 |
| created_at          | 2020-04-28T00:21:16.000000           |
| description         | None                                 |
| encrypted           | False                                |
| id                  | 9494fee0-8d59-4081-97b5-89b8c        |
| multiattach         | False                                |
| name                | VOLUME_NAME                          |
| properties          |                                      |
| replication_status  | None                                 |
| size                | 1                                    |
| snapshot_id         | None                                 |
| source_volid        | None                                 |
| status              | creating                             |
| type                | fast.ru-2b                           |
| updated_at          | None                                 |
| user_id             | d38f8bea67f94083803c5076f458p64a8io  |
+---------------------+--------------------------------------+

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

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

--image <image> | --snapshot <snapshot> | --source <volume>

Размер нового диска должен быть больше или равен размеру источника.

Параметр --size можно не указывать, если диск создается из снапшота или другого диска.

При создании из образа размер диска --size является обязательным параметром.

Пример создания непустого диска из образа размером 5 ГБ:

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

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

+---------------------+--------------------------------------+
| Field               | Value                                |
+---------------------+--------------------------------------+
| attachments         | []                                   |
| availability_zone   | ru-2b                                |
| bootable            | false                                |
| consistencygroup_id | None                                 |
| created_at          | 2020-04-28T00:43:21.000000           |
| description         | None                                 |
| encrypted           | False                                |
| id                  | 08ed209f-5e7f-465c-b1e1-221b850db    |
| multiattach         | False                                |
| name                | 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             | d38f8bea67f94083803c5066f458664ak9   |
+---------------------+--------------------------------------+

Создание диска из другого диска

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

Для создания диска из другого диска в панели управления:

  1. Перейдите в раздел Диски в проекте.
  2. Нажмите кнопку Создать диск.
  3. В открывшемся окне нажмите на поле Источник.
  4. Перейдите на вкладку Диски и выберите диск, из которого надо создать новый диск.
  5. Нажмите кнопку Выбрать.
  6. Введите остальные параметры и нажмите кнопку Создать.

Создание диска из другого диска через консольные клиенты

Для создания диска из другого диска:

openstack volume create --source <volume> --size <size> --type <type> <VOLUME_NAME_from_volume>

При создании диска из диска в другой зоне следует добавлять параметр --availability-zone, например:

openstack volume create --source 08ed209f-5e7f-465c-b1e1-221b850298db --size 5 --type fast.ru-2a --availability-zone ru-2a VOLUME_NAME_from_volume

Действия с дисками

Действия с дисками в панели управления

В развернутом блоке карточки диска доступно три вкладки:

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

В контекстном меню (⋮) дублируются возможные действия с диском:

  • переименовать диск;
  • отключить/подключить к облачному серверу;
  • изменить размер;
  • сделать снапшот;
  • перенести в другой проект;
  • удалить диск.

Действия с дисками с помощью консольных клиентов

Просмотр типов дисков

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

openstack volume type list

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

+--------------------------------------+-----------------+-----------+
| ID                                   | Name            | Is Public |
+--------------------------------------+-----------------+-----------+
| ce80ecbd-385a-4e5a-aed9-8b6e5f3359ba | iso.ru-3a       | True      |
| b82dcef4-a977-4311-add4-dd08c847da2b | iso             | True      |
| f42f37b2-062f-4ce2-a6b3-28ca5e619030 | basic.ru-3a     | True      |
| 9c16598e-342b-4ff2-b948-8c05cf8f1490 | fast.ru-3a      | True      |
| fca113dd-a80f-4996-be54-cf2515d4ddee | universal.ru-3a | True      |
+--------------------------------------+-----------------+-----------+

Тип диска может быть быстрым (fast), базовым (basic) и универсальным (universal) и отображается в формате ТипДиска.НазваниеЗоны, например, fast.ru-2a.

Тип диска iso появляется, когда клиент загружает свой ISO-образ, из которого создаётся iso-диск. При запуске облачного сервера, если загрузочный диск имеет тип ISO, запускается инсталятор операционной системы.

Просмотр списка дисков

Для просмотра списка дисков введите команду с ключем long для отображения полей Type и Bootable:

openstack volume list --long

Изменение имени диска

Для изменения имени диска введите:

openstack volume set --name <new volume name> <volume>

Просмотр свойств диска

Проверьте свойства созданного диска:

openstack volume show <volume>

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

+------------------------------+---------------------------------------------------------------------------------------------------+
| Field                        | Value                                                                                             |
+------------------------------+---------------------------------------------------------------------------------------------------+
| attachments                  | []                                                                                                |
| availability_zone            | ru-2b                                                                                             |
| bootable                     | true                                                                                              |
| consistencygroup_id          | None                                                                                              |
| created_at                   | 2020-04-28T00:43:21.000000                                                                        |
| description                  | None                                                                                              |
| encrypted                    | False                                                                                             |
| id                           | 08ed209f-5e7f-465c-b1e1-221b850298db                                                              |
| multiattach                  | False                                                                                             |
| name                         | Volume                                                                                            |
| os-vol-tenant-attr:tenant_id | 04d92ef9fe2i4caia90d6ecd2849c1cf89u                                                               |
| properties                   |                                                                                                   |
| replication_status           | None                                                                                              |
| size                         | 5                                                                                                 |
| snapshot_id                  | None                                                                                              |
| source_volid                 | None                                                                                              |
| status                       | available                                                                                         |
| type                         | fast.ru-2b                                                                                        |
| updated_at                   | 2020-04-28T00:43:22.000000                                                                        |
| user_id                      | d38f89ea67f94083803c5066f4586698i4a                                                               |
| volume_image_metadata        | {u'x_sel_os_type': u'linux', u'x_sel_image_agent_type': u'cloud-init', u'container_format':       |
|                              | u'bare', u'min_ram': u'512', u'hw_scsi_model': u'virtio-scsi', u'x_sel_image_type': u'master',    |
|                              | u'watchdog': u'pause', u'size': u'2133000192', u'os_distro': u'ubuntu', u'disk_format': u'raw',   |
|                              | u'x_sel_kpti_patch': u'True', u'hw_disk_bus': u'scsi', u'x_sel_image_owner': u'Selectel',         |
|                              | u'x_sel_image_source_file': u'ubuntu-bionic-amd64-selectel-master-product-0.1.img',               |
|                              | u'x_sel_image_os_dist': u'ubuntu', u'hw_qemu_guest_agent': u'yes', u'x_sel_image_os_arch':        |
|                              | u'amd64', u'image_name': u'Ubuntu 18.04 LTS 64-bit', u'image_id': u'c5c8d3cc-9a2c-48ce-adfe-      |
|                              | 93e066e9ae6e', u'min_disk': u'5', u'checksum': u'd4b69f195a23edaaf3b88b7807f980cc', u'os_type':   |
|                              | u'linux'}                                                                                         |
+------------------------------+---------------------------------------------------------------------------------------------------+

Увеличение объема диска

Обратите внимание! Перед выполнением работ с разделами и файловой системой, во избежание потери данных в случае ошибки, рекомендуется создать снапшот диска на вкладке Снапшот либо создать полный бэкап диска.

Подробнее об ограничениях размеров дисков.

Увеличение объема диска в панели управления

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

  1. Перейдите в раздел Диски в проекте.
  2. Разверните карточку необходимого диска и откройте вкладку Размер.
  3. Укажите новое значение размера диска в ГБ.
  4. Нажмите кнопку Сохранить.

Если операционная система была установлена из стандартных образов, предлагаемых в панели управления, дополнительных действий не требуется.

Увеличение объема диска с помощью консольных клиентов

Для изменения размера диска (размер в ГБ) введите:

openstack volume set --size 1800 <volume> 

Если увеличение диска не произошло автоматически

Если автоматическое расширение диска после выполнения операции по увеличению через панель управления либо с помощью консольных клиентов не происходит, то необходимо расширить объем диска вручную.

На современных дистрибутивах ОС (наример, Ubuntu 18.04 LTS 64-bit) можно не выключать виртуальную машину.

Для расширения диска вручную для серверов на базе Unix используйте утилиту growpart из пакета cloud-initramfs-growroot:

# growpart --help
growpart disk partition
   rewrite partition table so that partition takes up all the space it can
   options:
    -h | --help       print Usage and exit
         --fudge F    if part could be resized, but change would be
                      less than 'F' bytes, do not resize (default: 1048576)
    -N | --dry-run    only report what would be done, show new 'sfdisk -d'
    -v | --verbose    increase verbosity / debug
    -u | --update  R  update the the kernel partition table info after growing
                      this requires kernel support and 'partx --update'
                      R is one of:
                       - 'auto'  : [default] update partition if possible
                       - 'force' : try despite sanity checks (fail on failure)
                       - 'off'   : do not attempt
                       - 'on'    : fail if sanity checks indicate no support

   Example:
    - growpart /dev/sda 1
      Resize partition 1 on /dev/sda

После изменения размера разделов через growpart запустите дополнительно изменение самой файловой системы через resize2fs.

Пример запуска:

growpart /dev/sda 1
resize2fs /dev/sda1

Если что-то не получилось или ваш дистрибутив не поддерживает изменение размера на лету, то загрузитесь в rescue-режим и выполните команды оттуда:

growpart /dev/sda 1
resize2fs /dev/sda1

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

Уменьшение объема диска

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

Передача диска между проектами

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

Передача диска между проектами в панели управления

Перенос диска в другие проекты состоит из двух этапов:

  1. Подготовка дисков к трансферу.
  2. Принятие дисков в новом проекте.

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

  1. В развернутом блоке диска, подлежащего переносу, необходимо открыть вкладку Управление.
  2. Отключить диск от виртуальной машины, нажав кнопку Отключить.
  3. В разделе Перенести диск в другой проект нажать кнопку Перенести диск.

Раздел Перенести диск в другой проект будет содержать значения ID диска и Ключа до тех пор, пока трансфер не будет закончен.

Принятие дисков в новом проекте:

  1. Откройте проект, в который будет перенесен диск.
  2. Перейдите в раздел Диски в проекте.
  3. В выпадающем меню выберите пункт Принять диски из другого проекта.
  4. Если поля ID диска и Ключ не будут автоматически заполнены, то их значения можно взять в блоке управления переносимым диском.
  5. Нажмите кнопку Принять.

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

Передача диска между проектами с помощью консольных клиентов

Для переноса диска между проектами воспользуйтесь командой:

openstack volume transfer request create <volume>

Пример переноса диска между проектами:

openstack volume transfer request create fda41064-1aec-4b11-a427-5b46dafce12
+------------+--------------------------------------+
| Field      | Value                                |
+------------+--------------------------------------+
| auth_key   | 766e89ce43c8b96f                     |
| created_at | 2020-04-28T01:52:32.649970           |
| id         | c095a116-9728-4f79-846d-1ba52cf93ed6 |
| name       | None                                 |
| volume_id  | fda41064-1aec-4b11-a427-5b46dafce12  |
+------------+--------------------------------------+

Значение auth_key надо сохранить — оно необходимо для принятия трансфера в другом проекте.

Просмотр трансфера

Для просмотра отдельного трансфера введите:

openstack volume transfer request show

Пример просмотра трансфера:

openstack volume transfer request show 497ec351-edeb-44e4-b752-6576ebcde3b
+------------+--------------------------------------+
| Field      | Value                                |
+------------+--------------------------------------+
| created_at | 2020-04-28T02:11:35.000000           |
| id         | 497ec351-edeb-44e4-b752-6576ebcde3b  |
| name       | VOLUME_new_name                      |
| volume_id  | a86f0387-0827-4aea-9ebd-3f7e1020062c |
+------------+--------------------------------------+

Принятие диска в другом проекте

В другом проекте укажите ID трансфера и Ключ:

openstack volume transfer request accept --auth-key <key> <transfer-request-id>

Отмена передачи диска

Если перенос не понадобился, то переведите диск из awaiting-transfer в нормальное состояние через удаление запроса на перенос:

openstack volume transfer request delete <request_uuid>

Перенос диска в другую зону

Для переноса диска в другую зону:

  1. Создайте образ из диска согласно инструкции Создание образов.
  2. Скопируйте образ в другую зону согласно инструкции Копирование образа между регионами.
  3. Создайте диск в нужном регионе из этого образа.

Удаление дисков

Удаление дисков в панели управления

Перед удалением дисков необходимо отключить их от облачного сервера. Это можно сделать двумя способами:

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

После этого на странице проекта в разделе Диски можно удалить диск:

  1. Выбрать пункт Удалить диск в выпадающем меню диска.
  2. На вкладке Управление в развернутой панели диска нажать кнопку Удалить.

При удалении облачного сервера можно выбрать опцию Удалить диски этого сервера, что позволит создать задачу удаления всех дисков, связанных с машиной.

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

Для удаления диска введите:

openstack volume delete <volume UUID>

Для удаления нескольких дисков введите:

openstack volume delete <volume UUID 1> <volume UUID 2> <volume UUID 3>

Для удаления диска вместе со снапшотами (перед удалением диска все снапшоты должны быть удалены, либо используйте опцию purge):

openstack volume delete --purge <volume UUID>

Для удаления нескольких дисков вместе со снапшотами (перед удалением диска все снапшоты должны быть удалены, либо используйте опцию purge):

openstack volume delete --purge <volume UUID 1> <volume UUID 2> <volume UUID 3>

Действия с дисками через карточку сервера

Подключение дополнительного диска

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

  1. Перейдите в проекте в раздел Серверы и разверните карточку необходимого сервера.
  2. Перейдите на вкладку Сетевые диски.
  3. Нажмите кнопку Подключить диск.
  4. Выберите диск и подтвердите подключение к серверу.

Дополнительный диск появится в списке дисков машины.

Отключение дополнительного диска

Чтобы отключить в панели управления дополнительный диск от облачного сервера:

  1. Перейдите в проекте в раздел Серверы и разверните карточку необходимого сервера.
  2. Перейдите на вкладку Сетевые диски.
  3. Разверните контекстное меню (⋮) нужного диска.
  4. Выберите пункт Отключить.

Переподключение диска

Для переподключения диска:

  1. Откройте карточку диска и перейдите на вкладку Управление.
  2. Отключите диск от сервера.
  3. В поле Подключить к серверу выберите нужный сервер.
  4. Нажмите кнопку Подключить.

Смена загрузочного диска

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

  1. Выключите облачный сервер.
  2. Отключите все диски.
  3. Подключите первым диск, с которого требуется выполнить загрузку облачного сервера. Обратите внимание! На новый диск заранее потребуется перенести загрузчик/ОС и все сопутствующее ПО.
  4. Подключите остальные диски при необходимости.
  5. Включите облачный сервер.