MPIO (Multi-Path Input/Output) в системах хранения

Жесткие требования к отказоустойчивости, предъявляемые к современным системам хранения, заставляют производителей дублировать все важные узлы своих систем. Воплощением этих тенденций стала система хранения данных ETegro Fastor FS200 G2. Данная СХД (SAN) имеет два съемных модуля, каждый из которых содержит дисковый контроллер, сетевой и консольный интерфейсы, разъемы подключения SAS и Fiber Channel (фото слева). Оба модуля независимы и поддерживают горячую замену. Два автономных блока питания можно подключить к разным источникам. Блоки охлаждения также продублированы и сделаны съемными. СХД оборудована также системой резервного питания кэш памяти в случае отключения энергии. Повышение отказоустойчивости средствами удобного ПО с графическим интерфейсом и консолью тоже не оставлено без внимания — помимо возможностей по повышению надежности массивов, таких как фоновое восстановление массива, глобальный/локальный диск замены, реализована поддержка снимков (snapshot) и LVM.

Но если производители системы хранения позаботились об отказоустойчивости своего продукта, то как же быть с защитой от сбоев в работе каналов передачи данных и промежуточного оборудования, как научить операционную систему обращаться к хранилищу через резервный адаптер, в случае отказа основного. Для решения этих проблем была создана технология MPIO.

Что такое MPIO?

Multi-Path Input Output — технология, позволяющая соединять устройства хранения и серверы, используя несколько портов или контроллеров, обеспечивая тем самым избыточность подключений. С помощью дополнительных компонентов физических путей (адаптеры, кабели, коммутаторы) создаются логические пути между сервером и хранилищем. При выходе из строя одного или нескольких компонентов, логика MultiPath позволит использовать альтернативный логический путь, сохраняя для приложений доступ к данным.

В приведенном на рисунке слева стенде сервер ETegro Hyperion RS130 G3 подключен к системе хранения ETegro Fastor FS200 G2 с помощью оптоволоконных кабелей через коммутаторы QLogic. Как понятно из схемы между сервером и SAN существуют восемь физических путей.


Предположим, что оптимальным путем для данной схемы является путь HBA1→A→E→Ctrl1. В реальности политики MPIO можно настроить так, чтобы использовалось несколько путей одновременно с балансировкой нагрузки. Мы же рассмотрим пример с политикой Failover Only, когда одновременно используется только один путь, без какой либо балансировки.


При сбое «FC-коммутатора 1» физические пути HBA1→A→E→Ctr1, HBA1→A→G→Ctr2, HBA2→B→E→Ctr1 и HBA2→B→G→Ctr2 станут недоступными и MPIO перенаправит активный логический путь по физическому пути HBA1→C→F→Ctr1, HBA1→C→H→Ctr2, HBA2→D→F→Ctr1 или HBA2→D→H→Ctr2, в зависимости от настроек политик.


Если же к этому произойдет отказ одного из контроллеров системы хранения, например Ctr2, то MPIO задействует оставшиеся физические пути HBA1→C→F→Ctr1 и HBA2→D→F→Ctr1.


И даже после отказа одного из адаптеров сервера описанная система будет функционировать.

MPIO в Windows Server 2008 R2

В операционной системе Windows Server 2008 R2 предусмотрена встроенная поддержка многопутевого ввода-вывода. Технология Microsoft MPIO обеспечивает высокую доступность подключения серверов посредством создания нескольких сеансов или подключений к массиву хранилища, поддерживая подключения сетевых хранилищ данных с использованием iSCSI, оптоволоконных каналов (Fiber Channel) и хранилищ SAS.

Установка

Установка MPIO в Windows Server 2008 R2Установка MPIO в системе Windows Server 2008 R2 производится с помощью оснастки Компоненты (Features) в меню Управление сервером (Server Manager).

В области Компоненты (Features) щелкнуть Добавить компоненты (Add features) и на странице Выбор компонентов (Add Features Wizard) отметить Многопутевой ввод-вывод (Multipath I/O). Подтвердить выбранные элементы и установить их.


Установка MPIO с помощью команды PowerShellАльтернативным способом является установка Multipath I/O с помощью командной строки. Для этого следует запустить консоль Windows PowerShell и выполнить следующие команды:
Import-Module Servermanager
Add-WindowsFeature Multipath-IO


MPIO в панеле управленияПосле установки Multipath I/O можно открыть диалоговое окно Свойства MPIO из панели управления или с помощью элемента MPIO в компоненте Администрирование, расположенном в меню Пуск.

Настройка MPIO

В число компонентов MPIO входит специальный модуль для устройств (DSM), который позволяет задавать политики балансировки нагрузки. Особенности настройки модуля зависят от модели контроллера массива хранения и могут предоставляться в качестве отдельного модуля DSM соответствующими производителями оборудования.

Свойства MPIO Обнаружение многопутевых устройствСторонние модули DSM следует устанавливать с помощью вкладки Установка DSM (DSM Install) в окне Свойства MPIO (MPIO Properties). Множество массивов хранения, совместимых с Active/Active и SPC3, также могут работать с универсальным модулем DSM MPIO, встроенным в систему. Данный модуль автоматически определяет наличие устройств, для которых имеется несколько путей к массивам хранения. Такие устройства отображаются на вкладке Обнаружение многопутевых устройств (Discover Multi-Paths). Отметив нужное устройство добавляем его нажав Добавить (Add).


Server Manager MPIO Disk ManagementДо того, как мы добавили устройство в MPIO, система рассматривала два наших физических подключения как два разные логические устройства (LUN).


Server Manager MPIO Disk ManagementПосле добавления устройства в MPIO и перезагрузки в Диспетчере дисков мы увидим уже одно устройство.


Устройства MPIOДобавленное устройство появится в списке MPIO устройств. Если системе не удается самостоятельно обнаружить устройство с множественным подключением, есть возможность добавить его вручную, введя идентификатор продукта и поставщика с помощью кнопки Добавить (Add) на этой вкладке.

Политики MPIO

Multi-Path Input Output PropertiesДля настройки политики балансировки перейти в оснастку Управление дисками (Disk Management) и щелкнув правой кнопкой мыши на области диска выбрать Свойства (Properties).


Управление политикой балансировки расположено на вкладке MPIO и в зависимости от типа вашего оборудования может включать:


По умолчанию для контроллеров Active/Active система Windows Server 2008 R2 выбирает режим Циклический перебор (Round Robin), а для контроллеров ALUA SPC-3 выбирается режим Переход на другой ресурс при сбое (Failover).

MPIO Path DetailsНа вкладке MPIO (рисунок выше) также доступна информация по текущим путям. Попав с помощью кнопки Edit в меню MPIO Path Details можно просмотреть статистику нужного подключения или в случае использования, например, политики Round Robin With Subset назначить данный путь для балансировки (Active/Optimized) или в качестве резервного (Active/Unoptimized).


Управлять настройками MPIO можно также из командной строки утилитой mpclaim.exe. С ее помощью можно включать и выключать MPIO для нужного устройства, назначать политики распределения нагрузки (Load Balance policy), просматривать информацию об имеющихся устройствах, поддерживающих MPIO. Например, команда mpclaim –s –d показывает информацию o MPIO дисках, которые есть в системе, а команда mpclaim –s –d 1 выводит детальную информацию о первом MPIO диске.


Саттаров Данияр (dsattarov@etegro.com)