Найти в Дзене
IT for Dummies

ALUA модное слово, простыми словами.

ALUA (Asymmetric Logical Unit Access) — это механизм в системах хранения данных, который позволяет хосту понимать и учитывать различие в путях доступа к одному и тому же устройству хранения (LUN — Logical Unit Number). Допустим, у тебя СХД с двумя контроллерами (A и B), и у каждого есть доступ к одному и тому же диску. ALUA говорит операционной системе: "Контроллер A — оптимальный путь, а контроллер B — альтернативный, медленнее или неэффективнее". В системах с несколькими путями к одному LUN (например, в SAN-сетях) важно знать:
Какой путь быстрый и прямой (active/optimized)
А какой только резервный (active/non-optimized или standby). Система может автоматически выбирать оптимальный путь к данным;
Можно обеспечить отказоустойчивость: если основной путь перестанет работать, данные будут доступны по альтернативному пути;
Повышается производительность и предсказуемость работы СХД. В протоколах iSCSI, Fibre Channel, SAS. В ОС — ALUA поддерживается, например, в Windows, Linux (через multipa
Оглавление

ALUA (Asymmetric Logical Unit Access) — это механизм в системах хранения данных, который позволяет хосту понимать и учитывать различие в путях доступа к одному и тому же устройству хранения (LUN — Logical Unit Number).

Простой пример:

Допустим, у тебя СХД с двумя контроллерами (A и B), и у каждого есть доступ к одному и тому же диску. ALUA говорит операционной системе:

"Контроллер A — оптимальный путь, а контроллер B — альтернативный, медленнее или неэффективнее".

Зачем нужен ALUA?

В системах с несколькими путями к одному LUN (например, в SAN-сетях) важно знать:
Какой путь быстрый и прямой (active/optimized)
А какой только резервный (active/non-optimized или standby).

Благодаря ALUA:

Система может автоматически выбирать оптимальный путь к данным;
Можно обеспечить отказоустойчивость: если основной путь перестанет работать, данные будут доступны по альтернативному пути;
Повышается производительность и предсказуемость работы СХД.

Где используется:

В протоколах iSCSI, Fibre Channel, SAS.

В ОС — ALUA поддерживается, например, в Windows, Linux (через multipathd), VMware vSphere и др.

На СХД от производителей, таких как Dell EMC, HPE, NetApp, Huawei и других.

ALUA и MPIO (Multipath I/O):

ALUA — это часть технологии мультипутизации (MPIO). Она передаёт ОС информацию о приоритетах путей. MPIO использует эту информацию, чтобы направлять запросы на чтение/запись по оптимальному пути.

Что такое ALUA — в деталях?

ALUA (Asymmetric Logical Unit Access) — это стандарт, определённый в спецификации SCSI (SPC-3), который позволяет инициатору (серверу/хосту) понимать, что у него есть несколько путей к одному логическому устройству хранения (LUN), и что не все эти пути равнозначны.

ALUA сообщает хосту:

Есть несколько путей к LUN.

Некоторые пути более производительные или предпочтительные.

Некоторые пути использовать только при сбое основных.

Где применяется ALUA

ALUA применяется в двухконтроллерных системах хранения или в кластерах СХД, где каждый контроллер может иметь доступ к одним и тем же LUN'ам.

Типичный сценарий:

Два контроллера в СХД (например, контроллер A и B).

LUN экспортируется обоим.

Контроллер A — "владелец" этого LUN (Active/Optimized).

Контроллер B — может обрабатывать запросы, но менее эффективно (Active/Non-Optimized) или только в случае отказа (Standby).

Пример на пальцах (упрощённо)

У нас есть:

  • СХД с двумя контроллерами: A и B.
  • Сервер подключён к обоим контроллерам через SAN.

LUN 0:

  • Физически находится под контролем контроллера A.
  • Сервер может обратиться к нему как через A (Active/Optimized), так и через B (Active/Non-Optimized).

Если путь через A сломался — сервер автоматически переключается на B, благодаря ALUA и MPIO.

ALUA и MPIO (Multipath I/O)

MPIO (мультипутизация) — это ПО на сервере:

Оно управляет всеми доступными путями к LUN.

Использует ALUA, чтобы понять, какой путь лучший, какой резервный.

Как это работает:

  1. Сервер обнаруживает несколько путей к одному и тому же LUN.
  2. Через ALUA получает информацию, какие пути оптимальны.
  3. Настраивает использование путей: активный — основной, остальные — резервные.
  4. В случае сбоя пути — происходит автоматическое переключение.

Какие СХД поддерживают ALUA?

  • Dell EMC (VNX, Unity)
  • NetApp (ONTAP)
  • HPE 3PAR, Primera, Alletra
  • IBM Storwize
  • Huawei OceanStor
  • TrueNAS (в режиме failover)
  • Почти все системы с iSCSI/Fibre Channel и SCSI LUN'ами

Типы ALUA-конфигураций в СХД

Вендоры реализуют ALUA в зависимости от архитектуры своей СХД. Вот какие бывают виды ALUA-конфигураций:

1. Implicit ALUA

ALUA-информация автоматически управляется СХД.

Хост просто получает сведения о путях и не может их менять.

Большинство систем работают в этом режиме.

Преимущество: просто и безопасно.

Недостаток: меньше гибкости.

2. Explicit ALUA

Хост может запрашивать изменение состояния путей.

Используется, например, в некоторых высокоуровневых отказоустойчивых конфигурациях или при ручном управлении путями.

Преимущество: гибкий контроль.

Требует корректной реализации на обеих сторонах (СХД и ОС).

Основные виды ALUA-доступа (Access States)

ALUA определяет 6 типов состояний доступа (access state):

Active/Optimized
Основной, быстрый путь. Контроллер — "владелец" LUN и обрабатывает запросы напрямую.

Active/Non-Optimized

Активный, но не оптимальный путь. Контроллер может обрабатывать запросы, но с задержкой (например, через внутреннюю маршрутизацию).

Standby

Путь не активен, но может быть активирован вручную или автоматически при сбое.

Unavailable

Путь физически недоступен — ни один контроллер не может его использовать.

LBA Dependent
Не поддерживается большинством систем. Предполагает разную доступность путей в зависимости от диапазонов блоков.
Offline
Устройство сознательно отключено, запросы не обрабатываются.

LUA в контексте архитектур СХД

Active/Active
Все контроллеры могут одновременно обрабатывать LUN'ы. ALUA сообщает, какой путь быстрее.

Active/Passive

Только один контроллер активен для конкретного LUN. ALUA сообщает, что другие пути — standby или non-optimized.

Dual Active (ALUA)

Оба контроллера доступны, но с разной производительностью. Используется Active/Optimized и Active/Non-Optimized.

Подводим итог

ALUA бывает:

  1. По типу состояния пути: 6 access state'ов.
  2. По механизму управления: implicit vs explicit.
  3. В разных СХД-архитектурах: Active/Active, Active/Passive, Dual Active.

Теперь когда производитель указывает Вам: ALUA уточняйте какой именно.