В этой статье мы рассмотрим, как установить и настроить MPIO на Windows Server 2016/2012 R2. MPIO (Multi-Path Input Output) это технология, позволяющая создать отказоустойчивый транспорт к системе хранения данных (или серверу хранения) за счет использования избыточных путей. Дополнительные пути между сервером и хранилищем создаются с помощью избыточных физических компонентов (коммутаторов, кабелей, адаптеров или сетевых карт). У этого типа избыточности есть недостаток: операционная система может видеть один и тот же LUN на разных путях и воспринимать его как разные диски.
Если ОС поддерживает MPIO, она будет видеть каждый из представленных ей дисков в одном экземпляре. Если MPIO включен, сервер может получить доступ к данным на хранилище по нескольким путям, что ускоряет доступ к подключенному LUN и позволяет использовать несколько сетевых или HBA-адаптеров.
MPIO может использовать альтернативный логический путь в случае отказа одного или нескольких компонентов, что заставляет операционную систему использовать другой маршрут для доступа к логическому диску (LUN), сохраняя согласованность доступа к данным. Таким образом, MPIO является важным компонентом отказоустойчивой системы хранения и доступа к данным, а модули MPIO могут распределять нагрузку на один и тот же LUN по разным путям.
Установка MPIO на Windows Server 2016/2012R2
Windows Server поддерживает многопутевой ввод-вывод (MPIO), начиная с Windows Server 2008 R2. Microsoft MPIO обеспечивает высокую доступность и балансировку нагрузки с помощью нескольких подключений к хранилищу, не зависит от протоколов и поддерживает подключение дисковых массивов и хранилищ с помощью iSCSI, Fiber Channel и SAS.
По умолчанию модуль MPIO отключен в Windows Server. В Windows Server 2016 его можно установить двумя способами:
- Из графического интерфейса с помощью консоли Server Manager;
- Из командной строки PowerShell.
Включение MPIO с помощью диспетчера сервера
- Откройте диспетчер сервера;
- Найдите и проверьте Многопутевой ввод/вывод в Характеристики список ;
- Завершите установку MPIO и перезапустите сервер.
Установка Multipath-IO с помощью PowerShell
Запустите консоль PowerShell от имени администратора и выполните следующую команду для установки функции Windows Server:
Add-WindowsFeature -Name 'Multipath-IO'
Чтобы убедиться, что MPIO установлен на вашем Windows Server, выполните эту команду:
Get-WindowsFeature -Name 'Multipath-IO'
Remove-WindowsFeature -Name 'Multipath-IO'
Настройка MPIO в Windows Server 2016
После установки модуля MPIO необходимо активировать его для LUN, доступных по нескольким путям. По умолчанию Windows воспринимает каждое подключение к диску как разные логические диски (LUN).
Разрешить модулю DSM от Microsoft (MSDSM) автоматически объединять диски SAN в зависимости от типа соединения. MSDSM автоматически обнаруживает LUNы, имеющие несколько путей к хранилищу, и поддерживает большинство популярных устройств хранения.
Это можно сделать из командной строки:
- Для дисков SAS:
Enable-MSDSMAutomaticClaim -BusType SAS
- Для дисков iSCSI:
Enable-MSDSMAutomaticClaim -BusType iSCSI
mpclaim
(она появилась в Windows 2008 R2). Следующая команда просканирует все обнаруженные системой устройства, найдет те, которые имеют несколько путей, и включит для них поддержку MPIO:mpclaim.exe -r -i -a ""
Вы также можете включить DSM в графическом интерфейсе. Откройте диспетчер серверов и выберите MPIO в Инструменты меню (или выполните команду: mpiocpl
).
Перейти к Откройте для себя многопутевые маршруты вкладка, проверка Добавить поддержку устройств SASdevices (или Добавьте поддержку устройств iSCSI если вы используете хранилище iSCSI) и нажмите Добавить. Затем перезапустите сервер.
После перезапуска откройте диспетчер устройств (или диспетчер дисков) и убедитесь, что количество подключенных дисков (LUN), доступных серверу, уменьшилось в два раза (если к устройству хранения есть два пути).
Вы можете управлять списком устройств с включенной поддержкой MPIO в Устройства MPIO (или с помощью вкладки Get-MSDSMSupportedHw
команду).
Вы можете добавить новые MPIO-устройства, нажав Добавить или из PowerShell:
New-MSDSMSupportedHw -VendorId <vend> -ProductId <product>
Если вы подключаете цель iSCSI по двум путям и хотите использовать для нее MPIO, выберите iSCSI LUN при подключении цели, нажмите кнопку Подключить и установите флажок Включить многопутевое подключение опция.
Затем нажмите Дополнительно и привязывать разные IP-адреса инициаторов к разным целевым IP-адресам.
Вы можете получить текущие настройки MPIO с помощью PowerShell:
Get-MPIOSetting
PathVerificationState : Disabled PathVerificationPeriod : 30 PDORemovePeriod : 20 RetryCount : 3 RetryInterval : 1 UseCustomPathRecoveryTime : Disabled CustomPathRecoveryTime : 40 DiskTimeoutValue : 60
Настройки таймера MPIO можно изменить следующим образом (для примера включим рекомендуемые настройки для массива all-flash):
Set-MPIOSetting -NewPathRecoveryInterval 20 -CustomPathRecovery Enabled -NewPDORemovePeriod 30 -NewDiskTimeout 60 -NewPathVerificationState Enabled
Доступны следующие политики балансировки MPIO:
- FOO — Только безотказная работа
- RR — Раунд Робин
- LQD — Наименьшая глубина очереди
- LB — Наименьшие блоки
Чтобы изменить политику балансировки:
Set-MSDSMGlobalLoadBalancePolicy -Policy RR
Вы также можете выбрать политику балансировки в меню MPIO вкладка свойств подключенного LUN. В этом примере для массива выбрана политика Round Robin.
Чтобы просмотреть полный список команд PowerShell, доступных в модуле MPIO, выполните эту команду:
Get-Command –Module Mpio
Политика SAN (Disk) в Windows Server
В Windows есть специальная дисковая политика (Политика SAN), которая определяет, должны ли диски монтироваться автоматически при подключении к хосту.
Текущую настройку политики SAN можно получить с помощью diskpart
. По умолчанию для SAN используется политика Offline Shared:
diskpart
DISKPART>>san</code
Чтобы монтировать диски автоматически, измените значение политики SAN на OnlineAll.
DISKPART> san policy=OnlineAll
Возможные значения политики SAN:
OfflineAll | По умолчанию все диски находятся в автономном режиме |
OfflineInternal | Все диски на внутренних шинах находятся в автономном режиме |
OfflineShared | Все диски, подключенные через iSCSI, FC или SAS, находятся в автономном режиме |
OnlineAll | Все диски автоматически переходят в режим онлайн (рекомендуется) |