В ВЕРСИИ ПК СВ "БРЕСТ" 3.3.1 ДРАЙВЕР LVM_BREST НЕ ПРЕДНАЗНАЧЕН ДЛЯ ПРОМЫШЛЕННОЙ ЭКСПЛУАТАЦИИ, ТОЛЬКО ДЛЯ ТЕСТИРОВАНИЯ.

Особенности использования драйвера LVM_BREST

Драйвер LVM_BREST позволяет организовать хранилище образов и системное хранилище в LVM.

Особенности функционирования драйвера хранилища LVM_BREST:

  • предварительно необходимо создать отдельные группы LVM-томов для хранилища образов и системного хранилища;
  • поддержка создания снимков диска;
  • поддержка миграции ВМ;
  • сервис мониторинга на сервере виртуализации позволяет отследить переполнение диска ВМ и сообщает об этом на сервер управления серверу метаданных, который увеличивает размер тома диска;
  • при загрузке образа диска ВМ в хранилище образов автоматически создается LVM-том, в который записывается загружаемый образ в формате raw или qcow2;
  • при развертывании ВМ в системном хранилище из образа диска автоматически создается LVM-том в формате qcow2 поверх исходного образа (raw или qcow2).

Регистрация хранилищ в интерфейсе командной строки

Действия выполняются на сервере управления (текущем лидере RAFT).

Для регистрации хранилища LVM_BREST необходимо:

  1. Создать конфигурационный файл хранилища образов images-ds.conf и добавить в него строки:

    NAME="lvm-brest-images"
    TYPE="IMAGE_DS"
    DISK_TYPE="BLOCK"
    DS_MAD="lvm_brest"
    TM_MAD="lvm_brest"
    DRIVER="qcow2"
    CODE
  2. Создать хранилище образов с использованием конфигурационного файла images-ds.conf командой:

    onedatastore create images-ds.conf

  3. Создать конфигурационный файл системного хранилища system-ds.conf и добавить в него строки:

    NAME="lvm-brest-system"
    TYPE="SYSTEM_DS"
    TM_MAD="lvm_brest"
    CODE
  4. Создать хранилище образов с использованием конфигурационного файла system-ds.conf командой:

    onedatastore create system-ds.conf

  5. Инициализировать блочные устройства как физический том:

    pvcreate /dev/sdb
    где sdb — имя блочного устройства.

  6. Создать отдельную группу LVM-томов для хранилища образов на блочных устройствах /dev/sdb:

    vgcreate vg-one-<идентификатор_хранилища> /dev/sdb
    где <идентификатор_хранилища> — идентификатор хранилища образов.

Настройка сервера виртуализации

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

Если на сервере виртуализации не установлена или не настроена служба LVM_thin, то отслеживание тонких пулов и автоматическое расширение томов дисков ВМ не будут работать.

Для настройки сервера виртуализации необходимо:

  1. Инициализировать блочные устройства как физический том:

    pvcreate /dev/sdc
    где sdc — имя блочного устройства.

  2. Создать отдельную группу LVM-томов для системного хранилища на блочных устройствах:

    vgcreate vg-one-<идентификатор_хранилища> /dev/sdс
    где <идентификатор_хранилища> — идентификатор системного хранилища.

  3. Создать тонкий логический том в группе системного хранилища:

    Системное хранилище LVM_BREST  необходимо для размещения дисков ВМ в виде тонких логических томов LVM, а так же метаданных для этих томов.

    lvcreate -T -L <размер_тома>G vg-one-<идентификатор_хранилища>/thinpool-<имя_сервера>

    где

    • <размер_тома> — размер тонкого логического тома в ГБ (должен быть не больше размера локального блочного устройства /dev/sdc);
    • <идентификатор_хранилища> — идентификатор системного хранилища;
    • <имя_сервера> — имя сервера виртуализации кластера.

      Необходимо указывать только NetBIOS-имя. Запрещается указывать имя сервера виртуализации кластера в формате FQDN.

  4. Установить службу LVM_thin:

    sudo apt install opennebula-lvmthin-monitor

  5. В файле /etc/one/lvmthin_monitor.conf задать настройки:

    ONE_XMLRPC_URL = "<имя_сервера>"
    ONE_XMLRPC_TOKEN = "<имя_пользователя>:<токен>"
    CODE

    где

    • <имя_сервера> — доменное имя сервера управления (текущего лидера RAFT);
    • <имя_пользователя>:<токен>— имя пользователя для подключения и исполнения команды и токен, записанные в файле /var/lib/one/.one/one_auth на сервере управления.
  6. Перезапустить службу:

    sudo systemctl restart opennebula-lvmthin-monitor.service