Настройка путей ALUA/ANA для LUN

: Настройка доступна только через CLI.

Протокол ALUA/ANA позволяет определять пути между инициатором и СХД, как «оптимальные» и «неоптимальные». Использование неоптимального пути имеет свои ограничения:

  • Невозможна одновременная работа синхронизации Persistent reservation и путей, определённых в качестве «неоптимальных».
  • Так как для неоптимального пути используется синхроканал между узлами, в зависимости от конфигурации системы и нагрузки, может возникать перегрузка канала синхронизации, что приводит к нестабильной работе системы.

    : Перед включением неоптимальных путей на продуктивной системе рекомендуем провести тестирование и/или проконсультироваться c отделом поддержки поставщика СХД.

В DC-системе вы можете включать и выключать неоптимальный путь для каждого отдельного LUN и для всей системы в целом.

По умолчанию, для новых LUN неоптимальный путь выключен.

Для управления включением и отключением локального (для конкретного LUN) и глобального (для всей DC-системы) неоптимального пути и синхронизации Persistent reservation, в CLI есть 3 зависимых между собой аргумента (подробнее об этих аргументах в документе «Справочник CLI»):

  • pr_sync для объекта lun;

    lun pr_sync включает или выключает синхронизацию Persistent reservation.

    : Рекомендуем всегда включать синхронизацию Persistent reservation, если в качестве инициаторов используются кластеры Windows или Hyper-V.
  • spare_path для объекта lun.

    lun spare_path включает или выключает неоптимальный путь для LUN или использует глобальную настройку dc spare_path.

  • spare_path для объекта dc.

    dc spare_path управляет состоянием неоптимального пути для всей DC-системы, если lun spare_path использует глобальную настройку, а lun pr_sync выключен.

Возможные комбинации настроек:

dc spare_path lun spare_path lun pr_sync Неоптимальный путь Persistent reservation
0 0 или 2 0 Нет Нет
0 0 или 2 1 Нет Да
0 1 0 Да Нет
0 1 1 - -
1 0 0 Нет Нет
1 0 1 Нет Да
1 1 или 2 0 Да Нет
1 1 1 - -
1 2 1 Нет Да

Примеры настроек

  • Чтобы включить неоптимальный путь для определённого LUN, включите lun spare_path и выключите lun pr_sync для этого LUN:

    $ rdcli lun modify -n <lun_name> --spare_path 1 --pr_sync 0

    Или при создании LUN:

    $ rdcli lun create -n <lun_name> --spare_path 1 --pr_sync 0
  • Чтобы выключить неоптимальный путь для выбранного LUN, выключите lun spare_path:

    $ rdcli lun modify -n <lun_name> --spare_path 0

    Или при создании LUN:

    $ rdcli lun create -n <lun_name> --spare_path 0
  • Чтобы включить или выключить неоптимальный путь для всех создаваемых LUN, включите или выключите dc spare_path:

    $ rdcli dc modify --spare_path {1|0}

    Чтобы использовать глобальную настройку для уже созданных LUN, lun spare_path у таких LUN должна быть установлена в 2.