Вы можете подключить к кластеру сетевое LVM-хранилище. Перед этим настройте сеть хранения данных (SAN) и подключите хранилище к узлам кластера в качестве блочного устройства. Подробнее см. в статье Предварительная настройка SAN.

Краткая информация об LVMLink to Краткая информация об LVM


LVM (Logical Volume Manager) — подсистема, позволяющая использовать разные области одного жёсткого диска и/или области с разных жёстких дисков, как один логический том. Размер файловых систем логических томов не ограничивается одним диском, так как том может располагаться на разных дисках и разделах.

Основные обозначения LVM:

  • физические тома (PV, Physical Volume) — разделы дисков или целые "неразбитые" диски;
  • группа томов (VG, Volume Group) — набор физических томов PV, объединённый в группу, которая составляет единый диск;
  • логические разделы (LV, Logical Volume) — разделы, созданные на физическом пространстве группы томов VG.

LVM-хранилище поддерживает один формат образа виртуальных дисков — RAW. Подробнее об LVM см. в официальной документации.

В VMmanager LVM-хранилище используется только для хранения дисков виртуальных машин (ВМ). Каждый диск хранится в отдельном LV с именем формата "<vm_id>_<vm_name>".

Настройка multipathLink to Настройка multipath


Multipath — это технология подключения узлов сети хранения данных с использованием нескольких маршрутов. В случае отказа одного из контроллеров, операционная система будет использовать другой для доступа к устройству. Это повышает отказоустойчивость системы и позволяет распределять нагрузку. Multipath-устройства объединяются в одно с помощью специализированного программного обеспечения.

Чтобы настроить multipath:

  1. Установите ПО multipath-tools:

    Ubuntu, Astra Linux

    apt install -y multipath-tools
    
    BASH

    AlmaLinux

    dnf install device-mapper-multipath
    BASH
  2. Создайте конфигурационный файл /etc/multipath.conf следующего содержания:

    defaults {
      user_friendly_names no
    }
    
    CODE
  3. Перезапустите сервис multipathd:

    systemctl restart multipathd
    
    BASH
  4. На каждом узле хранилища объедините все подключения диска в одно мультиканальное:

    multipath /dev/sdX
    
    BASH

    /dev/sdX — устройство для первого диска. Например, /dev/sda

  5. Команда multipath сгруппирует все пути в одно маппер-устройство. Чтобы посмотреть список сгруппированных устройств, выполните команду:

    multipath -ll
    
    CODE

    Это устройство будет иметь одинаковый идентификатор на всех узлах. Сохраните значение идентификатора. Оно понадобится при подключении хранилища.

    Пример вывода

    root@node1:~# multipath -ll
    36589cfc0000008af95b3633c714c5c57 dm-0 TrueNAS,iSCSI Disk
    size=550G features='0' hwhandler='1 alua' wp=rw
    `-+- policy='service-time 0' prio=50 status=active
      `- 2:0:0:0 sda 8:0 active ready running
    BASH
  6. На каждом узле хранилища добавьте в конфигурационный файл LVM /etc/lvm/lvm.conf в блок devices {...} фильтр:

    filter = [ "a|/dev/disk/by-id/wwn-.*|", "r|.*|" ]
    
    CODE

    a|/dev/disk/by-id/wwn-.*| — разрешает использовать устройства dev/disk/by-id/wwn-.*
    r|.*| — запрещает все остальные устройства

    Если нужно использовать другие пути к дискам, укажите их в фильтре. Например, filter = [ "a|/dev/disk/by-id/.*|", "r|.*|" ]

    Если системный диск использует LVM, добавьте его в фильтр:

    Пример конфигурации для /dev/sda

    filter = [ "a|/dev/disk/by-id/wwn-.*|", "a|/dev/sda|", "r|.*|" ]
    
    CODE
  7. Проверьте корректность фильтра и конфигурации командой:

    vgs
    
    BASH
    Если всё настроено правильно, список VG в выводе команды не должен содержать ошибок. 

Определение WWID блочного устройстваLink to Определение WWID блочного устройства


При подключении хранилища необходимо указать путь до блочного устройства. Для стабильной работы хранилища рекомендуем использовать путь с указанием WWID (WWN)

Чтобы определить WWID блочного устройства:

  • если в хранилище настроен multipath, выполните команду: 
    udevadm info -q property /dev/mapper/<mapper_id> | grep WWN
    BASH

    <mapper_id> — id маппер-устройства

    Пример вывода команды

    DM_WWN=0x600c0ff000fc5cb10b040e6701000000
    CODE
  • если в хранилище не настроен multipath, выполните команду: 
    udevadm info -q property <device> | grep -E 'ID_WWN_WITH_EXTENSION='
    BASH

    <device> — блочное устройство. Например, /dev/sda

    Пример вывода команды

    ID_WWN_WITH_EXTENSION=0x60014053aa5c2bc20ed4cf19d65e6437
    CODE

Путь к устройству будет иметь вид /dev/disk/by-id/wwn-<WWID_устройства>. Например, /dev/disk/by-id/wwn-0x600c0ff000fc5cb10b040e6701000000.

Подключение хранилищаLink to Подключение хранилища


Чтобы подключить хранилище, перейдите в Кластеры → выберите кластер → меню Сетевые хранилища:

  1. Нажмите Добавить хранилищеДобавить сетевое хранилище SAN.
  2. Укажите его настройки:
    1. Название.
    2. Теги хранилища. Подробнее см. в статье Выбор хранилища для дисков ВМ.
    3. Путь до блочного устройства. Рекомендуем использовать путь с указанием WWID — /dev/disk/by-id/wwn-<WWID_устройства>.

  3. Нажмите Добавить.

VMmanager автоматически настроит LVM-хранилище на блочном устройстве: создаcт PV и VG. Если на блочном устройстве была создана VG, хранилище не будет подключено.

Подключение одного хранилища к разным кластерам может привести к повреждению ВМ. 

Может быть полезно

Связанные статьи: