В этой статье мы рассмотрим особенности реализации, установки и настройки MPIO в Windows Server 2016/2012 R2. MPIO (Multi—Path Input Output) или многопутевой ввод-вывод, это технология для построения отказоустойчивого транспорта к системе хранения данных (СХД) или выполняющему эти функции серверу за счет использования избыточных путей. Дополнительные пути между сервером и хранилищем создаются с использованием избыточных физических компонентов (коммутаторы, кабели, адаптеры или сетевые карты). Обратная сторона такой избыточности – операционная система может видеть один и тот же LUN по разным путям и считать их разными устройствами.
Если сервер может получить доступ к логическому диску (LUN) через несколько адаптеров инициатора iSCSI или несколько портов Fibre Channel, то в диспетчере устройств/дисков на системе без установленного MPIO модуля будет присутствовать большее количество LUN, чем презентовано на самом деле ( = количество путей к LUN * количество презентованных LUN).
На следующем скриншоте видно (список подключенных дисков можно вывести с помощью get-disk), что Windows видит без MPIO видит 2 диска по разным путям, которые по факту являются одним LUN:
Если ОС поддерживает MPIO, она будет видеть каждый из презентованных ей дисков в одном экземпляре. При включенном MPIO сервер может обращаться к данным на СХД по нескольким путям, что увеличивает скорость доступа к подключенному LUN и позволяет задействовать для доступа несколько сетевых или HBA-адаптеров.
MPIO может задействовать альтернативный логический путь при выходе из строя одного/нескольких компонентов, заставив операционную систему использовать для доступа к логическому диску (LUN) резервный маршрут, сохраняя непрерывность доступа к данным. Таким образом MPIO является важным компонентом при реализации отказоустойчивой системы доступа к данным, кроме того входящие в состав MPIO модули позволяют распределять нагрузку между различными путями к одному и тому же LUN-у.
Совет. Если ОС не поддерживает MPIO, то для предотвращения потери данных нужно уменьшить количество путей к LUN до 1. На сервере нужно оставить включенным только один порт Fiber Channel или адаптер iSCSI инициатора. Также нужно отключить дополнительные пути для данного LUN на уровне СХД и коммутаторов.
Содержание:
- Установка MPIO в Windows Server 2016/2012R2
- Настройка MPIO в Windows Server 2016
- SAN Policy
Установка 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 с помощью консоли Server Manager
- Откройте консоль Server Manager;
- В списке компонентов (Features) найдите и активируйте опцию Multipath I/O;
- Завершите установку компонента MPIO и перезагрузите сервер.
Установка MPIO с помощью Powershell
Запустите консоль PowerShell с правами администратора и для установки компонента выполните команду:
Add-WindowsFeature -Name 'Multipath-IO'
Чтобы убедиться, что модуль MPIO установлен в вашем Windows Server, выполните:
Get-WindowsFeature -Name 'Multipath-IO'
Примечание. Для отключения MPIO выполните команду:
Remove-WindowsFeature -Name 'Multipath-IO'
Настройка MPIO в Windows Server 2016
После установки MPIO модуля, необходимо активировать его для LUN, которые доступны по нескольким путям. По умолчанию ОС видит каждое подключение к диску как разные логические диски (LUN).
Совет. Одним из компонентов MPIO является специальный модуль MSDSM (Microsoft Device Service Module), позволяющий управлять политиками балансировки нагрузки. По умолчанию MPIO устанавливается со стандартным Microsoft DSM, однако в большинстве случаев стоит установить DSM модуль, предоставляемый производителем СХД (IBM DSM, HP DSM MPIO и т.д.). Обычно скорость работы и функционал нативного DSM модуля выше, чем у стандартного DSM-модуля Microsoft (производитель пишет свои DSM модули с учетом специфики работы и особенностей своего железа)/
Разрешите модулю DSM от Microsoft (MSDSM) автоматически объединять SAN диски в зависимости от типа подключений. MSDSM автоматически определяет наличие LUN, имеющих несколько путей к СХД и поддерживает большинство популярных систем хранения.
Сделать это можно из командной строки:
- Для SAS дисков:
Enable-MSDSMAutomaticClaim -BusType SAS
- Для iSCSI дисков:
Enable-MSDSMAutomaticClaim -BusType iSCSI
Примечание. Эту же операцию можно выполнить с помощью утилиты mpclaim (появившуюся в Windows 2008 R2). Следующая команда проанализирует все устройства, обнаруженные системой, определит какие из них имеют несколько путей и включит поддержку MPIO для них. Опция
-r
[automatically reboot (if needed) without prompting] разрешает автоматическую перезагрузку сервера:
mpclaim.exe -r -i -a ""
Также вы можете включить DSM через графический интерфейс. Откройте консоль управления Server Manager и в меню Tools выберите пункт MPIO (или выполните команду mpiocpl).
Перейдите на вкладку Discover Multi—Paths, включите опцию Add support for SAS devices (или Add support for iSCSI devices, если вы используете iSCSI хранилище) и нажмите Add. После этого перезагрузите сервер.
После перезагрузки откройте диспетчер устройств или диспетчер дисков и убедитесь, что количество подключенных дисков (LUN), доступных серверу уменьшилось в 2 раза (при наличии подключений к СХД по двум путям).
Вы можете управлять списком устройств, для которых включена поддержка MPIO на вкладке MPIO Devices (или командой
Get-MSDSMSupportedHw
).
Вы можете добавить новые MPIO устройства, нажав кнопку Add или из PowerShell:
New-MSDSMSupportedHw -VendorId <vend> -ProductId <product>
При настройке кластера конфигурацию MPIO необходимо выполнить на всех узлах.
Если вы подключаете iSCSI таргет по 2 путям и хотите использовать MPIO для этого подключения, нужно при подключении Target выбрать iSCSI LUN, нажать кнопку Connect и включить опцию Enable multi—path.
Затем нажмите на кнопку Advanced и привяжите разные IP адреса инициатора к разным IP адресами target.
С помощью PowerShell можно получить текущие настройки MPIO:
Get-MPIOSetting
PathVerificationState : Disabled PathVerificationPeriod : 30 PDORemovePeriod : 20 RetryCount : 3 RetryInterval : 1 UseCustomPathRecoveryTime : Disabled CustomPathRecoveryTime : 40 DiskTimeoutValue : 60
Можно изменить настройки MPIO таймеров так (например, установим рекомендованные настройки для flash массива):
Set-MPIOSetting -NewPathRecoveryInterval 20 -CustomPathRecovery Enabled -NewPDORemovePeriod 30 -NewDiskTimeout 60 -NewPathVerificationState Enabled
Доступны следующие политики балансировки MPIO:
- FOO — Fail Over Only
- RR — Round Robin
- LQD — Least Queue Depth
- LB — Least Blocks
Чтобы задать политику балансировки (например, Round Robin):
Set-MSDSMGlobalLoadBalancePolicy -Policy RR
Также политику балансировки можно изменить в свойствах подключенного LUN на вкладке MPIO. В этом примере для массива выбрана политика Round Robin.
Чтобы увидеть полный список PowerShell команд, доступных в модуле MPIO, выполните команду:
Get-Command –Module Mpio
SAN Policy
В Windows имеется специальная политика дисков (SAN Policy), которая определяет, нужно ли автоматически монтировать диски при их подключении к хосту.
Текущую настройку SAN Policy можно получить с помощью diskpart. По умолчанию используется SAN политика Offline Shared.
Чтобы автоматически монтировать диски, нужно изменить значение SAN Policy на OnlineAll.
DISKPART> san policy=OnlineAll
Возможные значение SAN policy:
OfflineAll | Все диски по умолчанию в offline режиме |
OfflineInternal | Все диски на внутренних шинах в offline |
OfflineShared | Все диски, подключенные через iSCSI, FC или SAS в offline |
OnlineAll | Все диски автоматически переводятся в онлайн режим (рекомендуется) |
- Remove From My Forums
-
Question
-
Hi everyone,
I wanted to pose a question to see if anyone has managed to get MPIO working with any version of Windows 10’s iscsi initiator. With Server 2016 available, I wanted to see if it was feasible to «enable» MPIO in Windows 10 using a method similar
to http://answers.microsoft.com/en-us/windows/forum/windows_other-update/i-want-to-use-mpio-with-ms-iscsi-initiator-how-to/fac32233-1517-4d0c-9155-dde111ae1a83 (I am in the process of getting my account verified so I can post proper links…). I can get
MCS working, but unfortunately, my iscsi target can only support two connections per session and I have potential need of four.Thanks!
В этой статье мы разберем как настроить инициатор iSCSI и использовать его для подключения к виртуальному диску iSCSI на target сервере.
В моей предыдущей статье «Настройка и установка iSCSI target Server в Windows Server 2016/2019 объяснил следующее:
- как установить роль iSCSI на Windows Server 2016.
- как создать новый виртуальный диск iSCSI и настроить доступ к серверу.
iSCSI initiator — используется для подключения к внешнему хранилищу на основе iSCSI. Рабочие станции и серверы используют его для монтирования целевого тома в качестве локального тома. Он использует сеть Ethernet на основе IP для связи с target server iSCSI.
Устанавливаем MPIO (multipath i/o)
MPIO нужно настраивать на сервере к которому мы будет подключать диски. К серверу на котором будет стоять Роль iSCSI initiator
После добавления поддержки iSCSI устройств , сервер потребует перезагрузку!
Включаем iSCSI initiator
По умолчанию служба iSCSI остановлена. Чтобы использовать его, мы должны запустить службу. Чтобы запустить службу, откройте « Диспетчер серверов » -> Нажмите « Инструменты » и выберите « Инициатор iSCSI ». См. следующее изображение:
start-service MSiSCSI
Настройка iSCSI initiator
Перед настройкой , на всех интерфейсах которые будут взимодействовать с iscsi target сервером отключите IPV6
Чтобы настроить инициатор, откройте Диспетчер серверов -> Нажмите Инструменты и нажмите « Инициатор iSCSI ». Откроется диалоговое окно для его настройки. Здесь вы можете указать IP-адрес или DNS-имя целевого сервера iSCSI ИЛИ целевого портала iSCSI. См. следующее изображение:
Настройка MPIO
Здесь нам надо настроить политику использования путей. Выбирать можно из следующих вариантов:
• Fail Over Only — используется только один путь, указанный в качестве основного (active), остальные пути находятся в режиме ожидания (standby). При недоступности основного пути все подключения переводятся на резервный путь. Как только основной путь становится доступен, все подключения возвращаются обратно на основной путь;
• Round Robin — все возможные пути используются по очереди, для балансировки нагрузки;
• Round Robin with Subset — можно указать несколько основных путей, используемых как в предыдущем режиме Round Robin, а также один или несколько дополнительных путей. Пока доступен хотя бы один из основных путей, система использует их в режиме Round Robin. Если же ни один из основных путей недоступен, то используются дополнительные пути в порядке уменьшения приоритета. Когда восстанавливается работоспособность хотя бы одного из основных путей, система возвращается в режим балансировки.
• Least Queue Depth — запросы направляются на тот путь, который в данный момент имеет наименьшее число запросов в очереди;
• Weighted Paths — для каждого пути назначается некий вес (или стоимость), которая обозначает приоритет использования данного пути. Чем больше вес, тем ниже приоритет, соответственно для операций выбирается доступный путь с наименьшим приоритетом;
• Least Blocks — все запросы направляются на тот путь, в очереди которого на передачу стоит наименьшее число блоков данных.
Для обеспечения отказоустойчивости выберем самый простой вариант — политику Fail Over Only.
Включение виртуальных дисков
So recently I swapped my Linux Plex server with a Windows box. Actually truth be told I re-purposed a Barracuda 410 Web Filter appliance.. It was powered by Pentium G850 which I upgraded to an I7-3770K.. Oh and before I forget to mention I did get the front NIC ports working. Ask me how
Anyway the point of this post is to explain MPOI in Win10. So I’m running Win 10 LTSB on this box because I don;t want some errant update screwing up my media experience. Plus my back end storage is a Drobo 810i. So I’ve got both Drobo nics setup for iSCSI and I wanted the front nic ports of the now dubbed ‘CudaPlex’ (patent pending), to be dedicated to iSCSI.
Now WIndows 10, while similar to Server 2012/2016 does not support multi-path out of the box. But after much time spent on Google I finally found a working solution. And to help save it for posterity I’m posting it here.
Originally found on the Technet forums it worked beautifully for me.
Here’s the post:
Hi
I managed to «transplant» MPIO and msdsm driver from Windows 2019 to Windows 10 Pro (1703, 1709, 1803 and 1809) with success.
The method needs to import some registry, copy necessary files into original place and manually check update for drivers.
There was slow and old Infortrend Disk Array in my test (3x Gig connected to switch with 10Gig to PC), so PC initiated 3 paths from 1x10Gig to 3x1Gig
https://i.imgur.com/tqaJq0U.png
https://i.imgur.com/k2riJi7.png
https://i.imgur.com/3Gx4OyF.png
But in fast PC + fast array (4x1Gig Array + 4x1Gig PC) it performs like this
https://i.imgur.com/B94ZumQ.png
How-to and script+files+registry are located inside zip file (link below).
https://ufile.io/u2003
Beware!!! Backup first and this «mod» is for test/educational purpose only. You do it at your own risk and take the responsibility upon yourself and you are not to blame me.
Regards
Chris
- Edited by Saturday, January 19, 2019 10:50 AM
You should upgrade or use an alternative browser.
-
#1
I have Windows 10 Pro and I want to connect it with my array with 4 LANs to maximize transfer speed. On Windows Server it is easy, install MPIO and it works, how can do it in Windows 10, maybe someone knows, please share it with me.
-
- Jun 12, 2015
-
- 63,225
-
- 5,775
-
- 168,090
-
#2
-
#3
Similar threads
- Advertising
- Cookies Policies
- Privacy
- Term & Conditions