Интеллектуальный интерфейс управления платформой (далее IPMI) предназначен для автономного мониторинга и управления функциями, встроенными непосредственно в аппаратное и программное обеспечение серверных платформ. Ключевые характеристики IPMI — мониторинг, восстановление функций управления, журналирование и инвентаризация. Функции управления платформой могут быть доступны, даже если система находится в выключенном состоянии.

Механизм ограждения (fencing) это процесс изоляции узла кластера или защиты ресурсов, открытых для использования в нескольких группах, когда один из узлов кластера становится неисправным. 

Эмуляция работы IPMI для работы режима высокой доступности

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

  1. Создать отдельную ВМ, не относящуюся к кластеру ПК СВ, но в одной с ним сети. Для этой ВМ можно выделить любое количество ресурсов (достаточно 1 ГБ памяти).
  2. Подключить репозитории stable и frozen:
    1. пример подключения репозитория stable для ОС СН 1.7_x86-64:
      https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main 1.7_x86-64/main amd64 Packages
      CODE
    2. пример подключения репозитория frozen для ОС СН 1.7.2:
      https://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.2/repository-base 1.7_x86-64/main amd64 Packages
      CODE
  3. Установить на созданную ранее ВМ пакеты ipmitool и openipmi:
    sudo apt install ipmitool openipmi -y
  4. Скачать файлы для работы с IPMI и скопировать их в любой каталог.
  5. Настроить пароль и имя пользователя IPMI в файле lan.conf в строке:
    user 2 true  "<имя_пользователя>" "<пароль>" admin    10       none md2 md5 straight
    CODE
  6. Запустить ipmi_sim:
    sudo ipmi_sim -c lan.conf -f sim.emu
  7. Настроить режим высокой доступности в веб-интерфейсе ПК СВ, для этого:

    Необходимо настроить высокую доступность на всех узлах кластера.

    • в левом меню веб-интерфейса выбрать Инфраструктура — Узлы — IPMI;
    • ввести данные созданной ВМ: IP-адрес, имя пользователя, пароль;
    • несколько раз нажать кнопку Обновить, пока напротив строки Проверка соединения не появится значение ОК:
       
  8. В настройках узла для строки Мигрировать все ВМ с хоста при переводе его в статус 'Отключен' выбрать значение Да.
  9. Создать шаблон ВМ, в котором выбрать значения:
    • Название — название шаблона ВМ;
    • Высокая доступностьДа;
    • Разрешить автоматическую миграцию ВМДа;
    • АвтозапускДа;
    • Служебная ВМДа;
    • Запрет на удаление ВМНет.
  10. Создать ВМ из шаблона.

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

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

Изменение режима механизма ограждения

Для изменения режима во время загрузки ОС нужно сделать следующие шаги:

  1. Создать файл /usr/lib/ocfs2-tools/ocfs2-fence-method и записать в этот файл:
    #!/bin/bash
    METHOD=$1
    CLUSTERS=`/usr/sbin/o2cb list-clusters`
    
    for cluster in $CLUSTERS
    do
        echo $METHOD > /sys/kernel/config/cluster/$cluster/fence_method
    done
    CODE
  2. Установить права доступа для созданного файла:
    chmod +x /usr/lib/ocfs2-tools/ocfs2-fence-method
  3. Выполнить команду panic, после которой файл получит список всех кластеров OCFS2 и установит для них режим, который будет передан в первом аргументе:
    /usr/lib/ocfs2-tools/ocfs2-fence-method panic
  4. Для автоматического выбора режима во время загрузки:
    1. создать файл /lib/systemd/system/o2cb-panic.service и записать в него:
      Unit]
      Description=Set o2cb fence method
      Requires=o2cb.service
      After=o2cb.service
      
      [Service]
      Type=oneshot
      RemainAfterExit=yes
      ExecStart=/usr/lib/ocfs2-tools/ocfs2-fence-method panic
      ExecStop=/usr/lib/ocfs2-tools/ocfs2-fence-method reset
      
      [Install]
      WantedBy=multi-user.target
      CODE
    2. обновить конфигурацию systemd с диска:
      systemctl daemon-reload
    3. активировать службу:
      systemctl enable o2cb-panic