Конфигурация ALUA
Asymmetric Logical Unit Access (ALUA) — протокол, определяющий механизм ассиметричного доступа к логическим устройствам хранения в multipath конфигурациях.
Схема работы в режиме multipath
Описанный в предыдущем разделе процесс создания iSCSI target и LUN не работает в режиме multipath. Для отказоустойчивости настройте несколько target для одного и того же LUN/тома через ALUA. Схема подключения инициатора к storage тому через ALUA приведена ниже.

Инициатор подключается к порту определенной TPG (Target Port Group) на каждом хосте.
TPG имеет следующие состояния:
Active/Optimized (AO);
Standby.
Подключение к TPG с состоянием AO является активным. Все I/O-запросы идут через этот путь. На примере выше путь через Host=A,TPG_1 является активным.
Хранение состояния TPG
Состояние каждой TPG хранится во внутреннем хранилище пар типа «ключ-значение» (KV-хранилище) или во внешней по отношению к кластеру SDS сущности с использованием target agent. В качестве KV-хранилища используется mds. По умолчанию tcmud отправляет запросы напрямую в хранилище. Target agent — это процесс, запущенный на одной машине с tcmud. Он предоставляет REST API, за счет которого tcmud читает и обновляет состояния TPG во внешней по отношению к SDS сущности. Например, в СУБД.
Процесс конфигурации target agent описан в руководстве к конкретной реализации.
Для использования уже настроенного target agent:
Добавьте в конфигурационный файл /etc/storage/tcmud/tcmud.conf:
target-agent = 127.0.0.1:8080target-agent-tout = 10Параметр target-agent — это IP-адрес или имя хоста и порт, на котором доступен REST API target agent. Например, localhost или 127.0.0.1.
Параметр target-agent-tout — это тайм-аут для запросов в REST API target agent, задается в секундах.
Перезапустите tcmud:
systemctl restart storage-tcmud.service
Конфигурация ALUA для режима multipath
Для конфигурации ALUA для двух хостов выполните команды:
storage volume make --size 100GB --encoding "1+2"Volume 0xd85e1925b671ddc1 added# Host A:host:a$ sudo storage-iscsi target-make --wwn iqn.2022-01.org.storage:target1host:a$ storage-iscsi lun-attach --wwn iqn.2022-01.org.storage:target1 --lun 1 --volume 0xd85e1925b671ddc1 --tpg 1# Host B:host:b$ sudo storage-iscsi target-make --wwn iqn.2022-01.org.storage:target2host:b$ storage-iscsi lun-attach --wwn iqn.2022-01.org.storage:target2 --lun 1 --volume 0xd85e1925b671ddc1 --tpg 2
На разных хостах экспортируйте том под одним LUN ID, но через разные TPG.
TPG с ID=0 зарезервировано для default_tg_pt_gp и используется для non-ALUA режима.