Что такое ALUA
Определение ALUA
Asymmetric Logical Units Access (ALUA): протокол, используемый для управления путями к LUNам и доступа к LUNам в массиве с асимметричным доступом.
Классификация ALUA: EALUA и IALUA. IALUA поддерживает только команды RTPG, при этом, состояние TPG нельзя изменить со стороны хоста. EALUA поддерживает команды RTPG и STPG, при этом, состояние порта можно изменить со стороны хоста.
Описание основных состояний ALUA
Активный/оптимизированный (AO): оптимальный путь доступа к ресурсам ввода/вывода
Активный/неоптимизированный (AN): субоптимальный путь доступа к ресурсам ввода/вывода
STANDBY: резервный путь доступа к ресурсам ввода/вывода. Хост предпочтительно активирует резервный путь, если путь АО не может справиться с запросами на ввод/вывод.
UNAVAILABLE: запросы на ввод/вывод обработать нельзя, но определенные команды SCSI можно. Это состояние нельзя переключить в активное состояние командами хоста.
OFFLINE: команды SCSI не обрабатываются. Это состояние нельзя переключить в активное состояние командами хоста.
Три типа систем хранения
Активный/активно-симметричный (A/A). Для LUN в режиме A/A целевой порт каждого контроллера системы хранения является активным/оптимизированным. Достигается высокая скорость соединения и передачи между контроллерами. С точки зрения программного обеспечения передачи по нескольким путям, два контроллера одинаковы и нет разделения на работающий и владеющий контроллеры. Каждый путь контроллеров может принимать запросы на ввод/вывод и не отличается от другого с точки зрения производительности. Система хранения может автоматически сбалансировать нагрузку без программного обеспечения балансировки нагрузки на хосте.
Активный/активно-асимметричный (A/A-A). Для LUN в режиме A/A-A некоторые пути контроллера являются активными/оптимизированными, а некоторые — активными/неоптимизированными. Работа этих LUNов имеет отношение только к одному контроллеру или они принадлежат только одному контроллеру. Тем не менее, LUNы обоих контроллеров могут получать запросы на ввод-вывод, но при этом, имеют разную производительность. Пути в состоянии активный/неоптимизированный могут переключаться в состояние активный/оптимизированный.
Активный/пассивный (A/P): Для LUN в режиме A/P целевой порт одного контроллера является активным/оптимизированным, целевой порт другого контроллера является резервным. Резервный путь не получает запросы I/O. Если путь в состоянии активный/оптимизированный выходит из строя, хост активирует резервный путь для обработки услуг.
Классификация основана на следующей информации: возможно ли получение запросов на обслуживание, переключаются ли рабочие контроллеры, и существуют ли различия в производительности. Режим A/A является оптимальным и практически не имеет задержки переключения, режим A/A-A является менее оптимальным и имеет некоторые задержки переключения, режим A/P является наихудшим и имеет наибольшую задержку переключения.
Режим A/A-A в системе хранения Huawei реализуется с помощью ALUA. Для некоторых продуктов Huawei возможна реализация функций режима A-A во время аутентификации хоста. Не допускается использование режима A/P в маркетинговых целях.
Сценарий ALUA: один массив
Сценарий (рисунок 1):
ПО Huawei UltraPath не установлено.
Стороннее программное обеспечение передачи по нескольким путям поддерживает протокол ALUA.
Функции:
Стороннее программное обеспечение ищет и выбирает оптимальный путь доступа к ресурсам ввода/вывода.
В случае сбоя на оптимальном пути, стороннее программное обеспечение ищет и выбирает другие оптимальные пути.
Рисунок 1. Оптимальные пути ввода вывода
При сканировании LUNов стороннее программное обеспечение ищет и выбирает оптимальный путь доступа к ресурсам ввода/вывода.
В случае сбоя на оптимальном пути, стороннее программное обеспечение ищет и выбирает другие оптимальные или субоптимальные пути.
ALUA: массивы в состоянии «активный-активный», установленные на небольшом расстоянии друг от друга
Стороннее программное обеспечение передачи по нескольким путям (multipath) не может определить, находятся два массива в режиме активный-активный или нет. (рисунок 2)
Два физических пути к двум LUNам одинаковой емкости на массивах 1 и 2 объединяются в один логический путь посредством протокола SCSI.
Рисунок 2. Multipath
При сканировании LUNов стороннее программное обеспечение ищет и выбирает оптимальный путь доступа к ресурсам ввода/вывода.
В случае сбоя на оптимальном пути, стороннее программное обеспечение ищет и выбирает другие оптимальные или субоптимальные пути.
ALUA: массивы в состоянии «активный-активный», установленные на большом расстоянии друг от друга( рисунок 3)
Инициатор массива, близкий к хосту, установлен как приоритетный.
Рисунок 3. Массивы на большом расстоянии
Инициатор массива, удаленный от хоста, установлен как неприоритетный (рисунок 4).
Рисунок 4. Неприоритетный массив
При сканировании LUNов стороннее программное обеспечение ищет и выбирает оптимальный путь доступа к ресурсам ввода/вывода.
В случае сбоя на оптимальном пути, стороннее программное обеспечение ищет и выбирает другие оптимальные или субоптимальные пути.
Ограничения ALUA
Рабочие контроллеры одной системы хранения не могут переключаться между разными engine. Если хост, переключив LUNы, принадлежащие разным engine, считает такое переключение успешным, но фактически переключение не было выполнено, возникает проблема. Это негативно влияет на производительность хоста и становится причиной остановки операций ввода-вывода.
Стороннее программное обеспечение передачи по нескольким путям не может обнаружить приостановку работы LUNов. В целях поддержки нормальной работы LUNов в режиме активный-активный на хост должен быть отправлен код ошибки, который инициирует переключение пути. Если хост не находит код ошибки, стороннее программное обеспечение передачи по нескольким путям не срабатывает. В результате приостановки работы LUNов останавливаются операции ввода-вывода, обслуживание прерывается, каналы сигнализируют о внештатном состоянии.
Изменение свойств ALUA в реальном времени не поддерживается хостами. Изменение настроек возможно только после остановки обслуживания системы.