Настройка путей ALUA/ANA для LUN
Протокол 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.