Данные — главный актив современного бизнеса. От высокой доступности (High Availability) и предсказуемой производительности систем хранения (СХД) зависят критически важные процессы. Для CIO, системных архитекторов и ИТ-директоров выбор архитектуры СХД напрямую влияет на капитальные затраты (CAPEX), операционные риски и выполнение SLA.
Эти характеристики определяет модель работы контроллеров хранения. Три основные архитектуры по-разному балансируют I/O, обрабатывают сбои и используют вычислительные мощности.
| Критерий | Active-Passive (A/P) | ALUA (Asymmetric A/A) | SAA (Symmetric A/A) |
|---|---|---|---|
| Утилизация мощностей | 50% (Один работает, второй простаивает) | 100% (Оба активны, но привязаны к своим LUN) |
100% (Полное равноправие для всех томов) |
| Доступность путей | Активен только 1 путь к LUN. |
Разделение на Optimized и Non-Optimized. | Все пути активны и Optimized. |
| Балансировка I/O | Отсутствует. | Гранулярность на уровне томов (LUN). | Гранулярность на уровне блоков ввода-вывода. |
| Влияние при аппаратном сбое | Заметная задержка при переключении путей и кэша. | Кратковременный всплеск задержки, когда трафик переходит на неоптимальный путь. | Для бизнес-приложений разница минимальна или незаметна. |
| Уровень TCO и Сложности | Низкий (Экономичная архитектура) | Средний вариант — баланс цены и производительности. | Высокий (Системы класса Tier-0/1) |
Самая распространенная и простая модель высокой доступности. В нормальном режиме всю нагрузку обрабатывает Контроллер А, а Контроллер Б ждет в режиме Standby.
При сбое Контроллера А Контроллер Б перехватывает управление — это процедура trespass. Время остановки ввода-вывода зависит от нескольких факторов. Математически freeze time выражается формулой:
Здесь $t_{\text{detect}}$ — время обнаружения сбоя, $t_{\text{cache\_flush}}$ — дестейджинг зеркалированного кэша, $t_{\text{path\_switch}}$ — время, которое нужно MPIO серверов для перестройки маршрутов. В этот период приложения могут поставить транзакции на паузу.
ALUA — стандарт протокола SCSI (SAM-5), который сочетает черты A/A и A/P. Оба контроллера активны, но для настройки производительности сохраняется концепция «владения» логическим томом. Для LUN_1 лучше подходит Контроллер А, для LUN_2 — Контроллер Б. [Источник]
Внутренняя шина синхронизации
Если сервер отправляет I/O запрос к LUN_1 через Контроллер Б (неоптимальный путь), тот пробросит пакет по внутренней шине на Контроллер А, и запись выполнит уже он. Задержка (latency) описывается так:
MPIO на стороне хоста использует метки TPGS (Target Port Group Support), чтобы всегда выбирать оптимальные маршруты и снижать $\Delta T_{\text{interconnect\_overhead}}$. [Источник]
Вершина технологического развития, используемая в Hi-End системах. Привязки тома (LUN) к контроллеру нет. Все пути к СХД всегда оптимальны. Любой контроллер имеет прямой и независимый доступ к блокам данных.
Реализация истинного SAA требует сложных алгоритмов. Два контроллера могут параллельно менять один и тот же блок данных, поэтому нужен менеджер распределенных блокировок (Distributed Lock Manager). Итоговая производительность системы описывается так:
Здесь $O_{\text{lock\_overhead}}$ — накладные расходы на арбитраж и синхронизацию блокировок. В СХД премиум-сегмента ставят специализированные ASIC-чипы, чтобы свести этот параметр к минимуму.
Выбор профиля СХД зависит от ценности данных и профиля нагрузки (Workload Profile):