Настройка путей ALUA/ANA для LUN
Протокол ALUA/ANA позволяет определять пути между инициатором и СХД, как «оптимальные» и «неоптимальные». Использование неоптимального пути имеет свои ограничения:
- Невозможна одновременная работа синхронизации Persistent reservation и путей, определённых в качестве «неоптимальных».
 - 
Так как для неоптимального пути используется синхроканал между узлами, в зависимости от конфигурации системы и нагрузки, может возникать перегрузка канала синхронизации, что приводит к нестабильной работе системы.
: Перед включением неоптимальных путей на продуктивной системе рекомендуем провести тестирование и/или проконсультироваться c отделом поддержки поставщика СХД. 
В DC-системе вы можете включать и выключать неоптимальный путь для каждого отдельного LUN и для всей системы в целом.
По умолчанию, для новых LUN неоптимальный путь выключен.
Для управления включением и отключением локального (для конкретного LUN) неоптимального пути, глобального (для всей DC-системы) неоптимального пути, а также синхронизации Persistent Reservations, в CLI есть 3 зависимых между собой аргумента (подробнее об этих аргументах в документе «Справочник CLI RAIDIX 5.2.4»):
- 
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.