Перш ніж говорити про особливості реалізації MPIO в Windows Server 2012 / R2 коротко нагадаємо, що це за технологія і для чого вона потрібна. MPIO (Multi-Path Input Output) або багатоколійні введення-виведення, це технологія - мета якої, можливість використання сервером декількох шляхів до системи зберігання даних (СЗД) або виконує ці функції сервера. Додаткові логічні шляхи між сервером і сховищем створюються з використанням додаткових компонентів фізичних шляхів (комутатори, кабелі, адаптери або мережеві картки). При включеному MPIO сервер може звертатися до даних на СГД за кількома шляхами, що збільшує швидкість роботи підключеного LUN і дозволяє задіяти для доступу кілька мережевих або HBA-адаптерів.
Мета MPIO компонента - задіяти альтернативний логічний шлях при виході з ладу одного / декількох компонентів, змусивши операційну систему використовувати для доступу до логічного диска (LUN) резервний маршрут, зберігаючи безперервність доступу до даних. Таким чином MPIO є важливим компонентом при реалізації відмовостійкої системи доступу до даних, крім того що входять до складу MPIO модулі дозволяють розподіляти навантаження між різними шляхами до одного і того ж LUN-у.
У тому випадку, якщо сервер звертається до логічного диска (LUN) через кілька адаптерів ініціатора iSCSI або кілька портів Fibre Channel, то в диспетчері пристроїв / дисків на системі без встановленого MPIO модуля буде присутній більшу кількість LUN, ніж презентовано насправді (= кількість шляхів до LUN * кількість презентованих LUN).
Порада. Щоб уникнути втрати даних не рекомендується працювати з даними, якщо LUN доступний по декількох шляхах, а сервер не підтримує MPIO. В цьому випадку слід включити для сервера лише один порт Fibre Channel або адаптер ініціатора iSCSI.Установка MPIO в Windows Server 2012
Вбудована підтримка багатоколійні введення-виведення MPIO в серверних платформах Microsoft передбачена, починаючи з версії Windows Server 2008 R2 (подробиці в статті MPIO в Windows Server 2008 R2). Технологій Microsoft MPIO дозволяє забезпечити високу доступність і балансування навантаження за допомогою можливості організації декількох підключень до СГД, не залежить від протоколів і підтримує підключення дискових масивів по iSCSI, Fiber Channel (оптоволоконних каналів) і сховищ SAS.
MPIO-модуль за замовчуванням в Windows не включений. Встановити його в Windows Server 2012 можна двома способами:
- З графічного інтерфейсу з використанням консолі Server Manager
- З командного рядка Powershell
Установка MPIO за допомогою консолі Server Manager
- Відкрийте консоль Server Manager
- В області компонентів (Features) знайдіть і активуйте опцію Multipath I / O
- Встановіть обраний пакет
Установка MPIO за допомогою Powershell
Запустіть консоль Powershell з правами адміністратора і виконайте команду:
Enable-WindowsOptionalFeature -Online -FeatureName MultiPathIOПримітка. Відключається MPIO відповідно командою:
Disable-WindowsOptionalFeature -Online -FeatureName MultiPathIO
Налаштування MPIO в Windows Server 2012
Після установки MPIO модуля, необхідно активувати його для LUN, які доступні по декількох шляхах (система розцінює їх як різні логічні диски). До цього моменту система розглядає кожне фізичне підключення як різні логічні диски (LUN).
Порада. Одним з компонентів MPIO є спеціальний модуль MSDSM (Microsoft Device Service Module), що дозволяє управляти політиками балансування навантаження. За замовчуванням MPIO встановлюється зі стандартним Microsoft DSM, проте в більшості випадків варто встановити DSM модуль, що надається виробником СГД, тому що зазвичай швидкість його роботи і функціонал буде вище, ніж у стандартного DSM-модуль (виробник пише модуль з урахуванням специфіки роботи і особливостей свого заліза), приміром, IBM DSM, HP DSM MPIO або т.п.Необхідно дозволити модулю DSM від Microsoft (MSDSM) автоматично об'єднувати SAN диски в залежності від типу підключень. MSDSM автоматично визначає наявність LUN, що мають кілька шляхів до СГД і підтримує більшість популярних систем зберігання.
Зробити це можна з командного рядка:
- Для SAS дисків:
Enable-MSDSMAutomaticClaim -BusType iSCSI
- Для iSCSI дисків:
Enable-MSDSMAutomaticClaim -BusType iSCSI
mpclaim.exe -r -i -a ""
Те ж саме можна зробити з GUI, для чого відкрийте консоль управління Server Manager і в меню Tools виберіть пункт MPIO.
Потім перейдіть на вкладку Discover Multi-Paths і встановіть галку Add support for SAS devices (Або Add support for iSCSI devices в разі використання iSCSI підключень) і натисніть Add. Після чого ще раз перезавантажте сервер.
Після перезавантаження відкрийте диспетчер пристроїв і переконайтеся, що кількість зовнішніх LUN, доступних сервера зменшилася в 2 рази (при наявності підключень до СГД двома шляхами).
Під час налаштування кластера конфігурацію MPIO необхідно виконати на всіх вузлах.
За допомогою PoSH також можна, наприклад, отримати поточні настройки MPIO:
Get-MPIOSetting
задати політику балансування (наприклад, Round Robin):
Set-MSDSMGlobalLoadBalancePolicy -Policy RR
задати таймаут для дисків:
Set-MPIOSetting -NewDiskTimeout 60
І багато іншого ... Щоб побачити повний список Powershell команд, підтримуваних MPIO модулем, виконайте команду:
Get-Command -Module Mpio