Керування дисковими томами

В рамках інфраструктури у хмарі OpenStack ви отримуєте певний обсяг дискового простору в системі зберігання даних (СХД), в межах якого можна створювати дискові томи для віртуальних машин, їх снапшоти, а також завантажувальні образи.

Наша хмара OpenStack налаштована таким чином, що завантаження віртуальних машин здійснюється безпосередньо з дискових томів. Це дає можливість встановлювати на віртуальні машини будь-які операційні системи та налаштовувати їх індивідуально (на відміну від найбільш класичної конфігурації OpenStack, що передбачає, що віртуальні машини використовують типові образи операційних систем, а набір таких образів обмежений).

Для створення дискових томів використовується ресурс openstack_blockstorage_volume_v3.

Станом на початок 2022 року ресурс openstack_blockstorage_volume_v2 також працює.

Будь ласка, зверніть увагу на наведені нижче аргументи, значення яких визначаються особливостями роботи нашого дискового сховища:

  • size - значення даного аргументу має бути кратно 8 (8, 16, 24, 104 і т.д.). Наше дискове сховище (СХД) розподіляє простір в одиницях, кратних 8.
  • volume_type — станом на початок 2022 може приймати одне з двох значень: hdd-sio для накопичувачів типу HDD або ssd-sio для накопичувачів типу SSD (залежно від того, який саме тип накопичувачів замовлений для вашої послуги).

У прикладах, що наводяться в офіційній документації, фігурує аргумент Region – у нашій інфраструктурі його можна не вказувати.

Приклади мінімальної конфігурації дискових томів:

Звичайний (не завантажувальний) том на сховищі SSD об'ємом 16 гігабайт:

resource "openstack_blockstorage_volume_v3" "volume_1" {
  name        = "volume_1"
  description = "non-bootable SSD volume"
  size        = 16
  volume_type = "ssd-sio"
}

Завантажувальний том, ОС CentOS 7 з готового образу CentOS 7, що є в OpenStack:

resource "openstack_blockstorage_volume_v3" "volume_from_image_1" {
  name          = "volume_from_image_1"
  description   = "bootable CentOS 7 volume"
  size          = 8
  volume_type   = "hdd-sio"
  image_id = "7c9b647c-0184-47be-bbfe-176818a5883e"
}

Значення аргументу image_id для образів можна переглянути у веб-інтерфейсі (дашборді) у розділі Compute → Images.

Створення завантажувальних образів

Завантажувальні образи створюються за допомогою ресурсу openstack_images_image_v2.

В офіційній документації наводиться приклад створення завантажувального образу формату QCOW2 - тобто. як файлової системи з вже встановленої ОС. Такий образ копіюється на дисковий том віртуальної машини і віртуальна машина відразу ж з нього стартує. Архітектура середовища OpenStack орієнтована саме на такий сценарій використання.

Однак у реальних умовах часто виникає необхідність встановлення ОС ISO-образу. Для цього потрібно створити завантажувальний образ, приклад конфігурації такого образу наведений нижче:

resource "openstack_images_image_v2" "ubuntu_20" {
  name             = "Ubuntu 20.04 LTS"
  image_source_url = "http://ubuntu.colocall.net/ubuntu-releases/20.04.3/ubuntu-20.04.3-live-server-amd64.iso"
  container_format = "bare"
  disk_format      = "iso"
}

Різні сценарії використання завантажувальних образів при запуску віртуальних машин розглянуті в наступному розділі.