3.6 Подготовка узла хранения

Система хранения на основе Cinder – узел хранения (сокр. УХ) – обычно представляет собой инфраструктурный сервис, используемый службой OpenStack Nova [1].

Ниже изложена инструкция по настройке с применением программно-определяемого хранилища, основанного на использовании встроенных возможностей ОС Linux – логического менеджера томов [2].

Основные действия, выполняемые при подготовке узла хранилища, включаемого согласно референсной архитектуры в инфраструктурную сеть:

  1. Развертывание ОС AlmaLinux на сервере, выделенном под хранилище (Раздел 3.2.1.2).

Особенности разметки диска:

  • для корневого раздела (/) выделить 50Gb;
  • остальное пространство оставить свободным (резерв для LVM).

Особенности инсталляции:

  • указать явные признаки использования LVM или включить подходящий сценарий [3].

Установка пакета поддержки LVM (подсистемы управления томами) вручную:

sudo dnf install lvm2
  1. Загрузка и настройка сетевой подсистемы хоста (IP-адрес, имя хоста).
Назначьте имя хоста – storage и получите IP-адрес (автоматически - по DHCP).
  1. Настройка дисковой подсистемы LVM (Раздел 3.6.1).
Настройка дисковой подсистемы и распределение свободного пространства потребует некоторые уточнения по конфигурации выделенного оборудования (серверной системы).
  1. Настройка службы блочного хранения (Раздел 3.6.2).

После того, как будут выполнены все настройки, запустите службу томов:

# systemctl enable openstack-cinder-volume.service tgtd.service
# systemctl start openstack-cinder-volume.service tgtd.service

Далее необходимо:

  • перевести SELinux в режим Permissive (setenforce 0);
  • деактивировать сетевой фильтр (systemctl stop firewalld);
  • отключить авто-загрузку системной службы (systemctl disable firewalld).

Проверка: openstack volume type list.

Должен быть выведен список, содержащий тип – test_cinder.

3.6.1 Настройка дисковой подсистемы LVM

В-зависимости от использования свободного пространства, выполните одну из команд:

sudo fdisk /dev/sda
или
sudo fdisk /dev/sdb

Примечание.

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

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

sudo pvcreate /dev/sdb

sudo vgcreate cinder-volumes /dev/sdb

Если же используется единственный накопитель (/dev/sda), то из консольного меню программы fdisk:

  • создайте новый раздел (n, <Enter>);
  • назначьте тип раздела (t, 8e, <Enter>);

Завершите разметку в программе fdisk с сохранением изменений в таблице разделов (w, <Enter>).

Дальнейшая разметка в LVM (для /dev/sda2) выполняется с помощью утилит pvcreate и vgcreate.

Создайте физический том и затем просканируйте, уточните параметры:

sudo pvcreate /dev/sda2

sudo pvscan

sudo pvdisplay /dev/sda2

Создайте логическую группу томов на физическом пространстве (/dev/sdb1):

sudo vgcreate <share> /dev/sda2

sudo vgscan

sudo vgisplay <share>

В качестве имени логической группы – <share> – следует указать произвольное логическое имя, например – имя хоста (hostname).

Потребуется настроить фильтры LVM2 – изменить секцию devices конфигурационного файла. Реконфигурирация LVM обеспечит выполнение сканирования только для устройств, содержащих группу томов (cinder-volumes или <share>).

В секции devices файла /etc/lvm/lvm.conf добавьте фильтр („filter =“), принимающий устройство /dev/sdb (a = accept) и отбрасывающий по маске все остальные (r = reject):

devices {
...
filter = [ "a/sdb/", "r/.*/"]
...

3.6.2 Настройка службы блочного хранения

Установите пакеты cinder-volume и tgt на узел хранения. Выполните команду:

dnf install openstack-cinder-volume tgt

Настройка бэкэнда Cinder выполняется с учетом распределения ресурсов через LVM2, настроенного как показано выше (Раздел 3.6.1).

Отредактируйте конфигурационный файл /etc/tgt/conf.d/cinder.conf.

Далее – настройка секции [lvm] на хранилище и комментирование секции на УУ (файл /etc/cinder/cinder.conf).

[DEFAULT]
transport_url=rabbit://openstack:123456@10.16.141.10:5672,openstack:123456@10.16.141.11:5672,openstack:123456@10.16.141.12:5672
auth_strategy = keystone
my_ip = 10.16.33.22
enabled_backends = lvm
glance_api_servers = http://internal.tionix.loc:9292
default_volume_type = test_cinder

[database]
connection = mysql+pymysql://cinder:123456@10.16.141.9/cinder

[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

[keystone_authtoken]
auth_uri = http://internal.tionix.loc:5000
auth_url = http://manage.tionix.loc:35357
cafile = /etc/pki/ca-trust/source/anchors/tionixca.pem
memcached_servers = 10.16.141.9:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = 123456

[oslo_messaging_rabbit]
rabbit_retry_interval = 1
rabbit_retry_backoff = 2
amqp_durable_queues = true
rabbit_ha_queues = true

[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = almalinux
target_protocol = iscsi
target_helper = lioadm
volume_backend_name=lvm

??? /etc/target/conf.d/cinder.conf > include /var/lib/cinder/volumes/*

Параметр „default_volume_type =“ секции [DEFAULT] должен быть заполнен типом тома (диска), созданным средствами Dashboard или из консоли:

openstack volume type create

Сноски

[1]https://docs.openstack.org/nova/victoria/install/index.html
[2]https://docs.openstack.org/cinder/victoria/install/cinder-storage-install-obs.html
[3]https://linuxhint.com/install_lvm_centos/