понедельник, 12 августа 2013 г.

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















MPIO в Windows Server 2008 R2

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


Установка

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

В области Компоненты (Features) щелкнуть Добавить компоненты (Add features) и на странице Выбор компонентов (Add Features Wizard) отметить Многопутевой ввод-вывод (Multipath I/O). Подтвердить выбранные элементы и установить их.
 
Альтернативным способом является установка Multipath I/O с помощью командной строки. Для этого следует запустить консоль Windows PowerShell и выполнить следующие команды:
Import-Module Servermanager
Add-WindowsFeature Multipath-IO


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








Настройка MPIO

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

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

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
















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




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











Политики MPIO

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












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

Переход на другой ресурс при сбое (Failover). Балансировка нагрузки не осуществляется. Приложение указывает основной путь и набор резервных путей. Основной путь (Active/Optimized) используется для обработки запросов устройства. При сбое основного пути используется один из резервных путей (Active/Unoptimized). Резервные пути должны быть указаны в порядке убывания предпочтения (самый предпочитаемый путь должен быть первым в списке).









Восстановление размещения (Failback). Восстановление размещения — это возможность назначать ввод и вывод по предпочитаемому пути, если он функционирует. Если предпочитаемый путь не функционирует, ввод и вывод направляются по резервному пути, пока функционирование предпочитаемого пути не будет восстановлено. После восстановления работоспособности предпочитаемого пути ввод и вывод будут переключены на него автоматически.

Циклический перебор (Round Robin). Модуль DSM использует все доступные пути для ввода и вывода с помощью сбалансированного циклического перебора.

Циклический перебор с поднабором путей (Round Robin With Subset). В приложении указывается набор путей, которые будут использоваться при циклическом переборе, а также набор резервных путей. Модуль DSM использует пути из основного пула путей для обработки запросов до тех пор, пока доступен хотя бы один путь. Модуль DSM использует резервный путь (Active/Unoptimized) только при отказе всех основных путей (Active/Optimized) . Резервные пути должны быть указаны в порядке убывания предпочтения (самый предпочитаемый путь должен быть в списке первым). Если один или несколько из основных путей становятся доступными, модуль DSM использует резервные пути в порядке их предпочтения. Например, пусть есть четыре пути: А, Б, В и Г. Основными путями являются А, Б и В, а Г является резервным путем. Модуль DSM выбирает один из путей (А, Б или В) путем циклического перебора, пока хотя бы один из них доступен. В случае отказа всех трех путей модуль DSM будет использовать путь Г (резервный путь). Если пути А, Б или В вновь станут доступными, то модуль DSM прекратит использование пути Г и переключится на доступные пути (A, Б или В) (Рисунок 1).

Динамическая наименьшая глубина очереди (Least Queue Depht). Модуль DSM направляет ввод и вывод по пути с наименьшим количеством запросов, ожидающих выполнения.


Взвешенный путь (Weighted Paths). Приложение назначает каждому пути вес, который показывает относительный приоритет данного пути. Чем больше значение Weight, тем ниже приоритет. Модуль DSM из доступных путей выбирает путь с наименьшим весом.















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

На вкладке 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 диске.


Источник:  http://www.etegro.ru

Комментариев нет:

Отправить комментарий