У цій статті ми розглянемо особливості реалізації, встановлення та налаштування MPIO в Windows Server 2016/2012 R2. MPIO (МультиВихідні дані шляху) або багатоколійні введення-виведення, це технологія для побудови отказоустойчивого транспорту до системи зберігання даних (СЗД) або виконує ці функції сервера за рахунок використання надлишкових шляхів. Додаткові шляхи між сервером і сховищем створюються з використанням надлишкових фізичних компонентів (комутатори, кабелі, адаптери або мережеві карти). Зворотний бік такої надмірності – операційна система може бачити один і той же LUN ​​різними шляхами і вважати їх різними пристроями.

Якщо сервер може отримати доступ до логічного диску (LUN) через кілька адаптерів ініціатора iSCSI або кілька портів Fibre Channel, то в диспетчері пристроїв / дисків на системі без встановленого MPIO модуля буде присутній більшу кількість LUN, ніж презентовано насправді (= кількість шляхів до LUN * кількість презентованих LUN).

На наступному скріншоті видно (список підключених дисків можна вивести за допомогою get-disk), що Windows бачить без MPIO бачить 2 диска по різних шляхах, які за фактом є одним LUN:

windows server бачить дублі LUN дисків при підключенні без mpio

Якщо ОС підтримує MPIO, вона буде бачити кожен з презентованих їй дисків в одному екземплярі. При включеному MPIO сервер може звертатися до даних на СГД за кількома шляхами, що збільшує швидкість доступу до підключеному LUN і дозволяє задіяти для доступу кілька мережевих або HBA-адаптерів.
MPIO може задіяти альтернативний логічний шлях при виході з ладу одного / декількох компонентів, змусивши операційну систему використовувати для доступу до логічного диска (LUN) резервний маршрут, зберігаючи безперервність доступу до даних. Таким чином MPIO є важливим компонентом при реалізації відмовостійкої системи доступу до даних, крім того що входять до складу MPIO модулі дозволяють розподіляти навантаження між різними шляхами до одного і того ж LUN-у.

Порада. Якщо операційна система не підтримує MPIO, то для запобігання втрати даних потрібно зменшити кількість шляхів до LUN до 1. На сервері потрібно залишити включеним тільки один порт Fiber Channel або адаптер iSCSI ініціатора. Також потрібно відключити додаткові шляхи для даного 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 за допомогою консолі Server Manager

  1. Відкрийте консоль Server Manager;
  2. У списку компонентів (Features) знайдіть і активуйте опцію Багатопроменеве введення / виведення;установка Multipath-IO в windows server 2016
  3. Завершіть установку компонента MPIO і перезавантажте сервер.

Установка MPIO за допомогою Powershell

Запустіть консоль PowerShell з правами адміністратора і для установки компонента виконайте команду:

Add-WindowsFeature -Name 'Multipath-IO'

Add-WindowsFeature Multipath-IO PowerShell

Щоб переконатися, що модуль MPIO встановлений у вашому Windows Server, виконайте:

Get-WindowsFeature -Name 'Multipath-IO'

powershell перевірити наявність модуля Multipath-IO

Примітка. Для відключення MPIO виконайте команду:

Remove-WindowsFeature -Name 'Multipath-IO'

Налаштування MPIO в Windows Server 2016

Після установки MPIO модуля, необхідно активувати його для LUN, які доступні по декількох шляхах. За замовчуванням ОС бачить кожне підключення до диску як різні логічні диски (LUN).

Порада. Одним з компонентів MPIO є спеціальний модуль MSDSM (Microsoft Пристрій Обслуговування Модуль), Що дозволяє управляти політиками балансування навантаження. За замовчуванням 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 для них:

mpclaim.exe -r -i -a ""

Також ви можете включити DSM через графічний інтерфейс. Відкрийте консоль управління Server Manager і в меню Інструменти виберіть пункт MPIO (Або виконайте команду mpiocpl).

Перейдіть на вкладку Дізнайся МультиШляхи, включите опцію Додати підтримка для SAS пристроїв (або Додати підтримка для iSCSI пристроїв, Якщо ви використовуєте iSCSI сховище) і натисніть Додати. Після цього перезавантажте сервер.

mpio windows server - включити підтримку iscsi

Після перезавантаження відкрийте диспетчер пристроїв або диспетчер дисків і переконайтеся, що кількість підключених дисків (LUN), доступних сервера зменшилася в 2 рази (при наявності підключень до СГД двома шляхами).

Ви можете керувати списком пристроїв, для яких включена підтримка MPIO на вкладці MPIO Devices (або командою Get-MSDSMSupportedHw).

доступні mpio пристрої

Ви можете додати нові MPIO пристрою, натиснувши кнопку Додати або з PowerShell:

New-MSDSMSupportedHw -VendorId <vend> -ProductId <product>

Під час налаштування кластера конфігурацію MPIO необхідно виконати на всіх вузлах.

Якщо ви підключаєте iSCSI таргет по 2 шляхами і хочете використовувати MPIO для цього підключення, потрібно при підключенні Target вибрати iSCSI LUN, натиснути кнопку Connect і включити опцію Увімкнути мультишлях.

включити підтримку mpio для iscsi LUN в Windows Server

Потім натисніть на кнопку Розширений і прив’яжіть різні IP адреси ініціатора до різних IP адресами target.

прив'язка IP адрес iscsi target до iniciator

За допомогою PowerShell можна отримати поточні настройки MPIO:

Get-MPIOSetting

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:

  • ФОО – Тільки помилка
  • RR – Кругової
  • LQD – Найменша глибина черги
  • ФУНТ – Найменші блоки

Щоб задати політику балансування (наприклад, Round Robin):

Set-MSDSMGlobalLoadBalancePolicy -Policy RR

Також політику балансування можна змінити у властивостях підключеного LUN на вкладці MPIO. У цьому прикладі для масиву обрана політика Round Robin.

настройка mpio балансування для lun у властивостях диска

Щоб побачити повний список PowerShell команд, доступних в модулі MPIO, виконайте команду:

Get-Command –Module Mpio

Список posh команд для mpio модуля

Політика SAN

У Windows є спеціальна політика дисків (Політика SAN), Яка визначає, чи потрібно автоматично монтувати диски при їх підключенні до хосту.

Поточну настройку SAN Policy можна отримати за допомогою diskpart. За замовчуванням використовується SAN політика Offline Shared.

Щоб автоматично монтувати диски, потрібно змінити значення SAN Policy на OnlineAll.

DISKPART> san policy=OnlineAll

san-policy OnlineВсі

Можливі значення SAN policy:

ОфлайнВсі Всі диски за замовчуванням в offline режимі
Офлайн Внутрішній Всі диски на внутрішніх шинах в offline
OfflineShared Всі диски, підключені через iSCSI, FC або SAS в offline
ОнлайнВсі Всі диски автоматично переводяться в онлайн режим (рекомендується)

Leave a Reply

Your email address will not be published. Required fields are marked *