Хранилище LVM_BREST
В ВЕРСИИ ПК СВ "БРЕСТ" 3.3.1 ДРАЙВЕР LVM_BREST НЕ ПРЕДНАЗНАЧЕН ДЛЯ ПРОМЫШЛЕННОЙ ЭКСПЛУАТАЦИИ, ТОЛЬКО ДЛЯ ТЕСТИРОВАНИЯ.
Особенности использования драйвера LVM_BREST
Драйвер LVM_BREST позволяет организовать хранилище образов и системное хранилище в LVM.
Особенности функционирования драйвера хранилища LVM_BREST:
- предварительно необходимо создать отдельные группы LVM-томов для хранилища образов и системного хранилища;
- поддержка создания снимков диска;
- поддержка миграции ВМ;
- сервис мониторинга на сервере виртуализации позволяет отследить переполнение диска ВМ и сообщает об этом на сервер управления серверу метаданных, который увеличивает размер тома диска;
- при загрузке образа диска ВМ в хранилище образов автоматически создается LVM-том, в который записывается загружаемый образ в формате
raw
илиqcow2
; - при развертывании ВМ в системном хранилище из образа диска автоматически создается LVM-том в формате
qcow2
поверх исходного образа (raw
илиqcow2
).
Конфигурация стенда
Перед настройкой работы драйвера хранилища LVM_BREST необходимо выполнить подключение оборудования согласно схеме:
Роли серверов управления
и виртуализации
можно совмещать.

Подключить СХД и блочные устройства к серверам:
- если роли серверов совмещены, то необходимо подключить оба блочных устройства ко всем серверам;
- если роли серверов разделены, то одно блочное устройство необходимо подключить ко всем серверам управления, а другое ко всем серверам виртуализации.
Регистрация хранилищ в интерфейсе командной строки
Действия выполняются на сервере управления (текущем лидере RAFT).
Для регистрации хранилища LVM_BREST необходимо:
- Получить имя сервисной учетной записи и ее пароль:
sudo cat /var/lib/one/.one/one_auth
Создать конфигурационный файл хранилища образов
images-ds.conf
и добавить в него строки:CODEСоздать хранилище образов с использованием конфигурационного файла
images-ds.conf
командой:onedatastore create images-ds.conf
Создать конфигурационный файл системного хранилища
system-ds.conf
и добавить в него строки:CODEСоздать хранилище образов с использованием конфигурационного файла
system-ds.conf
командой:onedatastore create system-ds.conf
Определить общее блочное устройство:
гдеsudo ls -al /dev/disk/by-id/ | grep sde
sde
— имя блочного устройства.
Пример вывода:CODEгде 3600140530b3855760d64c2c993c26ad6 — идентификатор блочного устройства.
Инициализировать блочные устройства как физический том:
гдеpvcreate /dev/disk/by-id/scsi-<идентификатор_LUN>
<идентификатор_LUN>
— идентификатор блочного устройства.Создать отдельную группу LVM-томов для хранилища образов на блочных устройствах
:
где:vgcreate vg-one-<идентификатор_хранилища> /dev/disk/by-id/scsi-<идентификатор_LUN>
<идентификатор_хранилища>
— идентификатор хранилища образов;<идентификатор_LUN>
— идентификатор блочного устройства.
Настройка сервера виртуализации
Действия, описанные ниже, должны быть выполнены один раз на любом сервере виртуализации.
Если на сервере виртуализации не установлена или не настроена служба LVM_BREST, то отслеживание тонких пулов и автоматическое расширение томов дисков ВМ не будут работать.
Для настройки сервера виртуализации необходимо:
Определить общее блочное устройство:
гдеsudo ls -al /dev/disk/by-id/ | grep sdf
sdf
- имя блочного устройства.
Пример вывода:CODEгде
3600140530b3855760fdsfsdfsdf123412412c26ad6
— идентификатор блочного устройства.Инициализировать блочные устройства как физический том:
гдеpvcreate /dev/disk/by-id/scsi-<идентификатор_LUN>
<идентификатор_LUN>
— идентификатор блочного устройства.Создать отдельную группу LVM-томов для системного хранилища на блочных устройствах:
гдеvgcreate vg-one-<идентификатор_хранилища> /dev/disk/by-id/scsi-<идентификатор_LUN>
<идентификатор_хранилища>
— идентификатор системного хранилища;<идентификатор_LUN>
— идентификатор блочного устройства.
- Создать тонкий логический том в группе системного хранилища:Системное хранилище LVM_BREST необходимо для размещения дисков ВМ в виде тонких логических томов LVM, а так же метаданных для этих томов.
Действия, описанные ниже, должны быть выполнены для каждого сервера виртуализации.
lvcreate -T -L <размер_тома>G vg-one-
<идентификатор_хранилища>
/thinpool-<имя_сервера>где
<размер_тома>
— размер тонкого логического тома в ГБ (должен быть не больше размера локального блочного устройства/dev/sdc
);<идентификатор_хранилища>
— идентификатор системного хранилища;<имя_сервера>
— имя сервера виртуализации кластера.Необходимо указывать только NetBIOS-имя. Запрещается указывать имя сервера виртуализации кластера в формате FQDN.
Сконфигурировать службы LVM_BREST
:на серверах виртуализации в файл /var/lib/one/.one/one_auth записать строку:
CODEгде:
<имя_пользователя>
— имя сервисной учетной записи;<пароль>
— пароль, сгенерированный при установке платформы.
на серверах виртуализации установить службу LVM_BREST:
sudo apt install opennebula-lvmthin-monitor
в файле
/etc/one/lvmthin_monitor.conf
задать настройки:CODEгде
<IP-адрес_сервера>
— плавающий IP-адрес сервера управления (текущего лидера RAFT);<имя_пользователя>:<пароль>
— имя сервисной учетной записи и пароль, сгенерированный при установке платформы.
Пример вывода:CODE
выключить службу LVM_thin:
sudo systemctl enable opennebula-lvmthin-monitor.service
перезапустить службу LVM_thin:
sudo systemctl restart opennebula-lvmthin-monitor.service