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

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

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

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

  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 08ed209f-5e7f-465c-b1e1-221b850298db --size 5 --type fast.ru-2a --availability-zone ru-2a VOLUME_NAME_from_volume

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

openstack volume create --source <volume> --size <size> --type <type> <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. Если поля ID диска и Ключ не будут автоматически заполнены, то их значения можно взять в блоке управления переносимым диском.
  4. Нажать кнопку Принять.

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

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

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

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. В меню управления облачным сервером на вкладке Сетевые диски.

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

  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. Подключите остальные диски при необходимости.
  5. Включите облачный сервер.