3.6 Подготовка узла хранения¶
Система хранения на основе Cinder – узел хранения (сокр. УХ) – обычно представляет собой инфраструктурный сервис, используемый службой OpenStack Nova [1].
Ниже изложена инструкция по настройке с применением программно-определяемого хранилища, основанного на использовании встроенных возможностей ОС Linux – логического менеджера томов [2].
Основные действия, выполняемые при подготовке узла хранилища, включаемого согласно референсной архитектуры в инфраструктурную сеть:
- Развертывание ОС AlmaLinux на сервере, выделенном под хранилище (Раздел 3.2.1.2).
Особенности разметки диска:
- для корневого раздела (/) выделить 50Gb;
- остальное пространство оставить свободным (резерв для LVM).
Особенности инсталляции:
- указать явные признаки использования LVM или включить подходящий сценарий [3].
Установка пакета поддержки LVM (подсистемы управления томами) вручную:
sudo dnf install lvm2
- Загрузка и настройка сетевой подсистемы хоста (IP-адрес, имя хоста).
Назначьте имя хоста – storage и получите IP-адрес (автоматически - по DHCP).
- Настройка дисковой подсистемы LVM (Раздел 3.6.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/ |