ALUA, или Asymmetric Logical Unit Access - протокол спецификаций SCSI, используемый для управления путями к логическим томам в современных СХД с асимметричным доступом.
Для использования протокола все участники (система хранения данных (СХД) и операционная система хоста) должны поддерживать ALUA.
Note
Для работы по ALUA с СХД АЭРОДИСК хост должен поддерживать технологию мультипассинга.
ПО АЭРОДИСК ENGINE поддерживает высокую доступность к дисковым группам (RDG и DDP) в режиме active-active. В такой архитектуре дисковые группы распределяются между двумя активными контроллерами СХД.
В архитектуре ALUA в ПО АЭРОДИСК ENGINE каждая дисковая группа принадлежит определенному контроллеру. Администратор СХД назначает владельца для каждой дисковой группы при ее создании/включении. В качестве владельца может быть выбран Контроллер Е0 или Контроллер Е1. Это решение используется для распределения нагрузки при создании нескольких дисковых групп в СХД и позволяет автоматически менять владельца, сохраняя доступ к дисковой группе, при:
отказе одного контроллера (Е0 или Е1);
отказе всех линий связи между хостом и одним из контроллеров (Е0 или Е1).
В случае отказа контроллера смена владельца дисковой группы в ПО АЭРОДИСК ENGINE начнется немедленно.
В случае отказа всех линий смена владельца дисковой группы в ПО АЭРОДИСК ENGINE начнется автоматически спустя не более чем 10 секунд. Время смены владельца дисковой группы зависит от количества физических дисков дисковой группы, томов, инициаторов и маппингов и для групп из десятков объектов составляет в среднем до 60 секунд, но может превышать 90 секунд для групп из сотен объектов.
Таким образом, с момента отказа до завершения процесса смены владельца дисковой группы доступ к LUN, находящимся на ней, будет отсутствовать. Смена владельца может быть выполнена вручную администратором для перераспределения нагрузки, или для перевода контроллера в режим обслуживания, когда требуется аппаратное или программное обновление СХД.
Каждый контроллер СХД АЭРОДИСК ENGINE связан с хостом одной или несколькими физическим линиям связи Fibre Channel (FC). Количество физических линий связи ограничивается числом выделенных администратором портов FC (2 или 4). Обязательное условие – количество физических линий связи должно быть одинаковым для обоих контроллеров.
Примечание: На данный момент использование ALUA в СХД с ПО АЭРОДИСК ENGINE предполагает связь с хостом только по 2 физическим линиям FC. Технология ALUA включается в настройках дисковой группы при ее создании и применяется в дальнейшем ко всем LUN, которые созданы на данной дисковой группе.
Настройки логических путей к LUN со стороны СХД задаются администратором при настройке маппинга в ПО АЭРОДИСК ENGINE СХД. Созданная конфигурация поддерживается со стороны хоста автоматически после настройки мультипассинга в операционной системе хоста. (Подробнее - см. раздел Настройка блочного доступа).
Каждая физическая линия связи при использовании технологии мультипассинга выступает как логический путь для операций ввода-вывода LUN, принадлежащего дисковой группе. Логические пути создаются при настройке мультипассинга хоста для выбранной дисковой группы. Доступ LUN на дисковых группах с выключенным ALUA будет предоставлен только по физическим путям, по которым подключен контроллер-владелец такой дисковой группы.
В случае отказа контроллера или линий связи будет осуществлена смена владельца дисковой группы.
При настройке логических путей доступа для LUN (маппинга) на дисковых группах со включенным режимом ALUA часть логических путей будут определены как активные/оптимальные (A/O), а часть — как активные/неоптимальные (A/N). Контроллер с оптимальными логическими путями всегда является владельцем дисковой группы логического тома (LUN).
Логический путь A/O — это оптимальный путь доступа для операций ввода-вывода между хостом и LUN через контроллер-владелец дисковой группы, к которой принадлежит LUN. Путь A/O имеет минимальные задержки для операций ввода-вывода.
Логический путь A/N — это неоптимальный путь доступа для операций ввода-выводу между хостом и LUN через второй контроллер (не являющийся владельцем дисковой группы, к которой принадлежит LUN) с использованием интерфейса Interconnect.
СХД Аэродиск по умолчанию предоставляет доступ операциям ввода-вывода к LUN дисковой группы по логическим путям A/O. При недоступности LUN по логическим путям A/O доступ к LUN автоматически предоставляется по логическим путям A/N, не допуская тем самым ситуации, когда LUN оставался не доступен 45-90 секунд (время ожидания восстановления работоспособности с момента отказа обоих физических линий связи до завершения процедуры смены контроллера-владельца дисковой группы).
Note
С момента начала процесса смены владельца дисковой группы до его окончания доступ к дисковой группе и к принадлежащим ей LUN не возможен.
Рассмотрим простейший пример конфигурации аппаратных средств СХД, показанный на рисунке ниже.
Когда доступ к LUN, принадлежащей дисковой группе с включенной ALUA на контроллере E0, со стороны хоста по логическим линиям связи А/О становится недоступным, происходит автоматическое переключение последующих операции ввода-вывода на контроллер Е1 по логическим линиям связи А/N, использующим соединение Interconnect между контроллерами СХД.
Технология ALUA в СХД Аэродиск оперирует доступом к LUN на уровне дисковой группы.
Включение или отключение ALUA осуществляется в настройках дисковой группы и применяется сразу ко всем LUN, принадлежащим данной дисковой группе.
Технология ALUA может быть включена для дисковой группы при ее создании.
По умолчанию ALUA для дисковой группы находится в состоянии Выключено.
В данном случае LUN-ы дисковой группы и маппинг LUN еще не созданы и ограничения на включение нет.
Включение ALUA при создании группы RDG
Включение ALUA при создании группы DDP
Если дисковая группа уже создана, то просмотреть состояние и изменить настройки можно в окне Детальная информация, щелкнув левой кнопкой мыши на имени дисковой группы.
Детальная информация дисковой группы RDG
Детальная информация дисковой группы DDP
После создания дисковой группы необходимо создать LUN и настроить маппинг, определяющий пути A/O и A/N для каждого LUN.
Настройка маппинга для каждого LUN дисковой группы – необходимое условие для организации доступа к LUN со стороны СХД.
Note
После создания маппинга со стороны хоста должна быть проведена настройка мультипассинга для LUN, которые должны быть презентованы хосту.
Включение ALUA для дисковой группы не влияет на последовательность действий при настройке маппинга.
После завершения настройки маппинга каждому LUN дисковой группы присваивается уникальный идентификатор NAA, по которому LUN может быть доступен со стороны хоста.
Изменение настройки ALUA дисковой группы при наличии маппинга LUN.
Изменение настройки ALUA для дисковой группы с созданными LUN и настроенным маппингом становится доступным только после удаления маппинга LUN, принадлежащих дисковой группе.
После удаления маппинга изменение настроек ALUA производится в окне “Детальная информация дисковой группы”, после чего Маппинг нужно настроить заново.
Note
При повторной настройке маппинга LUN дисковой группы уникальный идентификатор NAA изменяется, что влечет за собой необходимость обновления настроек мультипассинга со стороны хоста.
Автоматическое переключение дисковых групп с включенной ALUA с путей A/N на путь A/O происходит через смену контроллера-владельца дисковой группы.
Включение опции доступно в меню “Настройки” в поле “Автоматически переключать группы с ALUA на оптимальный путь”.
По умолчанию эта опция выключена. При выключенной опции при возникновении отказа физических линий связи дисковые группы остаются доступными по неоптимальному пути до восстановления работоспособности. Контроллер-владелец не меняется.
Если опция включена, и после возникновения отказа прошло 180 секунд, выделенные для восстановления работоспособности СХД, то в период от 180 до 210 секунд после отказа запустится процесс смены владельца дисковых групп. После смены владельца всех дисковых групп с включенной ALUA дисковые группы станут доступны по путям A/O второго контроллера.
Включение автоматического переключения дисковых групп с включенной ALUA на оптимальный путь выполняется для всех дисковых групп с включенной ALUA (как уже существующих на момент включения опции, так и для вновь создаваемых).
Для дисковых групп в ПО АЭРОДИСК ENGINE доступно ручное переключение на путь A/O или A/N через смену контроллера-владельца.
Включение или выключение опции ALUA дисковой группы не влияет на данный функционал, если опция Автоматически переключать группы с ALUA на оптимальный путь выключена.
Для дисковых групп с ALUA при включенной опцией Автоматически переключать группы с ALUA на оптимальный путь ручное переключение на путь A/N через смену контроллера-владельца остается доступным. Однако через некоторое время произойдет обратная автоматическая смена владельца дисковой группы, чтобы обеспечить доступ по путям A/O.
Ручную смену контроллера-владельца дисковой группы можно выполнить, щелкнув правой кнопкой мыши на имени дисковой группы, затем выбрать Сменить владельца группы.
Эксперимент №1
Исходная конфигурация 1
Создадим 2 группы RDG:
Дисковая группа |
Контроллер-владелец |
Опция ALUA |
опция “Автоматически переключать группы с ALUA на оптимальный путь” |
---|---|---|---|
R06 |
ENGINE-1 |
Вкл. |
Выкл |
R10 |
ENGINE-0 |
Откл. |
Выкл |
Нужно нажать кнопку Смена Qlini_mode и установить значение Disabled для обоих контроллеров.
Теперь порты работают в режиме Target.
Далее нужно проверить настройки в вкладке “Инициаторы”. Инициатором выступает Хост.
Нужно перейти на вкладку “Группы”.
Далее нужно нажать кнопку Создать группу и выбрать необходимые поля
и нажать кнопку Подтвердить.
Нужно перейти на вкладку “Маппинг”.
Далее нужно нажать кнопку Создать маппинг. В окне выбора LUN, имеющихся на дисковых группах СХД, нужно выбрать по одному LUN для каждой дисковой группы.
и нажать кнопку Подтвердить.
Настройка Мультипассинга зависит от операционной системы Хоста.
Нужно проверить и настроить настраиваем конфигурационный файл.
Для просмотра необходимо вызвать команду nano /etc/multipath.conf
После обновления multipath.conf необходимо перезапустить сервис multipat.d командой systemctl restart multipathd.service
Для отображения блочных устройств, пригнанных по FC, требуется последовательно выполнить следуюшие команды:
echo “0000:81:00.1” > /sys/bus/pci/drivers/qla2xxx/unbind echo “0000:81:00.0” > /sys/bus/pci/drivers/qla2xxx/unbind echo “0000:81:00.1” > /sys/bus/pci/drivers/qla2xxx/bind echo “0000:81:00.0” > /sys/bus/pci/drivers/qla2xxx/bind
где 0000:81:00.0 и 0000:81:00.1 это ссылки (id) которые расположены в папке /sys/bus/pci/drivers/qla2xxx/
Информацию по блочным устройствам и путям можно получить введя на хосте команду multipath -ll
Логические пути, созданные при настройка Мультипассинга
Дисковая группа |
Контроллер-владелец |
LUN |
NAA |
Логические пути |
---|---|---|---|---|
R06, ALUA вкл. |
ENGINE-1 |
R06/Thick06_1 |
0x66c4a7403233343536373839d43047ad |
dm-0 / sdc, sdg - prio 50 / sda, sde - prio 10 |
R10, ALUA откл. |
ENGINE-0 |
R10/Thick10_1 |
0x66c4a7403233343536373839b4a46711 |
dm- 1 / sdb, sdf - prio 50 / sdd, sdh - prio 1 |
Запущена нагрузка vdbench.
Для хоста можно посмотреть нагрузку по путям, используя команду вида iostat1 -x -d 1 -y -p dm-0, sdc, sdg, sda, sde, dm-1, sdb, sdf, sdd, sdh , где dm-0, dm-1 это блочное устройство, а sda, sdb, … это пути к блочному устройству.
Далее были разорваны обе физических линии связи до контроллера ENGINE-0.
Спустя некоторое время по изменившейся нагрузке, перешедшей с логических путей sdb, sdf на sdd, sdh, можно наблюдать смену контроллера-владельца для дисковой группы R10 (LUN R10/Thick10_1, ALUA=Выкл). Теперь обе дисковых группы принадлежат ENGINE-1 и работают по оптимальным путям.
Результат смены владельца дисковой группы R10
Дисковая группа |
Контроллер-владелец |
LUN |
NAA |
Идентификатор |
---|---|---|---|---|
R06, ALUA вкл. |
ENGINE-1 |
R06/Thick06_1 |
0x66c4a7403233343536373839d43047ad |
dm-0 |
R10, ALUA откл. |
ENGINE-1 |
R10/Thick10_1 |
0x66c4a7403233343536373839b4a46711 |
dm- 1 |
Исходная конфигурация 2
Обе дисковых группы принадлежат контроллеру ENGINE-0. Опция Автоматически переключать группы с ALUA на оптимальный путь отключена.
Дисковая группа |
Контроллер-владелец |
LUN |
NAA |
Идентификатор |
---|---|---|---|---|
R06, ALUA вкл. |
ENGINE-1 |
R06/Thick06_1 |
0x66c4a7403233343536373839d43047ad |
dm-0 |
R10, ALUA откл. |
ENGINE-1 |
R10/Thick10_1 |
0x66c4a7403233343536373839b4a46711 |
dm- 1 |
Для контроля прохождения данных через interconnect на узле СХД необходимо запустить утилиту nmon.
После запуска утилиты нужно ввести “n” для перехода к режиму отображения информации по сетевым интерфейсам.
Далее были отключены обе физические линии связи, подключенные к контроллеру Engine-1.
Можно увидеть, что дисковая группа RDG 06 (ALUA вкл) стала доступна по неоптимальным логическим путям, а дисковая группа RDG 10 (ALUA откл) стала недоступна (ожидает процедуры смены контроллера владельца).
Включена опция Автоматически переключать группы с ALUA на оптимальный путь. После смены контроллера-владельца RDG 06 (ALUA вкл) обмен данными по inter прекращается. Обе дисковых группы принадлежат контроллеру ENGINE-0.
Эксперимент №2
Во втором эксперименте показана смена владельца дисковой группы с включенной ALUA. Опция Автоматически переключать группы с ALUA на оптимальный путь отключена.
Владелец дисковой группы контроллер Engine-1
Ниже показан обмен данными с LUN дисковой группы. Обмен данными по Inter отсутствует, тк обмен данными идет по оптимальным логическим путям.
Разорвали физические пути с контроллером ENGINE-1. Обмен данными с дисковой группой идет по неоптимальным логическим путям. Обмен данными по Inter присутствует. Дисковая группа ожидает 180-210 секунд до начала процедуры перемещения.
По истечении времени ожидания 180-210 сек, выделенных на ожидание восстановления физических линий связи с контроллером ENGINE-1, произошла смена контроллера-владельца на ENGINE-0. LUN стал доступен по оптимальным логическим путям, обмен данными по Inter прекращен.
Активацию и деактивацию модуля ALUA можно осуществить в через меню Управление - > Модули -> столбец “Сервисы”
Состояние сервиса Сервер интерконнект отображается в окне Управление - > Сервис.
Сервис Сервер интерконнект можно перезапустить в меню Управление - > Сервис -> столбец “Состояние”.
На этой странице