Использование Microsoft MPIO в Windows Server 2008 R2


К написанию этой заметки меня подтолкнула необходимость миграции одного из кластеров с виртуальными машинами в технологическом центре Microsoft с платформы Windows Server 2008 на Windows Server 2008 R2. Задача назрела уже давно, однако, на миграцию стабильно работающей продуктивной среды не было времени. К тому же заранее вырисовывалась одна техническая проблема: кластер использует различные внешние дисковые массивы, а в частности HP MSA 2012fc, который не поддерживается HP под Windows Server 2008 R2. Что означает «не поддерживается HP»? К сожалению, HP не предоставляет программного обеспечения для массивов MSA под новую ОС.

Что такое MPIO?

Как вы понимаете, большинство серверов, имеющие HBA для подключения к SAN, имеют несколько портов. И каждый сервер может (и в нормальной ситуации должен) подключаться к любому из устройств хранения через несколько портов одновременно. Кроме того, у системы хранения, как правило, тоже не одна точка подключения в сеть, а у некоторых из таких систем — ещё и по несколько контроллеров, каждый со своим набором портов. При правильной настройке SAN, каждый из портов сервера должен «видеть» каждый из портов системы хранения. При этом между ними ещё могут находиться не один, а несколько коммутаторов. Всё это служит, в первую очередь, для обеспечения избыточности — подключение к хранилищу более не является единой точкой сбоя. Кроме того, при определённых условиях эта схема может обеспечивать дополнительные преимущества — такие, например, как балансировку нагрузки между путями.

Однако при настройке по умолчанию операционная система ещё «не понимает», что то, что она «видит» по разным путям, на самом деле является не разными устройствами, а одним и тем же.  И для того, чтобы она «видела» каждый из представленных ей дисков в единственном экземпляре, мы устанавливаем во-первых, специальный компонент (Feature), который так и называется: Multi-Path Input-Output (MPIO). А во-вторых — специальное ПО, которое поставляется производителем системы хранения, встраивается в инфраструктуру Microsoft MPIO и обеспечивает работу с данной конкретной моделью оборудования. Этот компонент называется Device-Specific Module (DSM).

Проблема

Увы, для Windows Server 2008 R2 компания HP не предоставляет MPIO DSM, совместимого с массивами Modular Storage Array (MSA) 1000/1500/2000. А MPIO DSM для Windows Server 2008 не работает в Windows Server 2008 R2. В связи со сложившейся ситуацией передо мной возникает задача настройки MPIO без использования специального ПО.

Решение

Рассмотрим на реальном примере процесс установки и настройки Microsoft Multipath I/O в Windows Server 2008 R2. Для начала нам потребуется установить сам компонент ОС (Feature).

Просто установка компонента ещё никак не влияет на то, как система «видит» диски. Теперь нам предстоит настроить MPIO. Сейчас в Disk Manager мне доступны два LUN с MSA 2012fc — по двум путям каждый — и один LUN с NetApp — по четырём путям.

Для начала откроем панель управления MPIO.

Перейдя в закладку Discover Multi-Paths увидим те массивы, которые доступны системе по нескольким путям, но для которых MPIO еще не настроен.

Выделим требуемый массив, выберем Add и по требованию системы перезагрузим сервер.

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

Уже сейчас в Disk Manager я вижу каждый LUN только один раз — задача выполнена.

Теперь при желании я могу настроить параметры выбора пути MPIO. Для этого в Device Manager выберем диск, и во вкладке MPIO можем настроить различные способы определения путей. По умолчанию выставлен режим Round Robin, пытающийся равномерно распределять запросы к диску по всем путям.

Лично я для Microsoft MPIO предпочитаю выбирать режим Fail Over Only. Для этого необходимо выбрать соответствующий путь в выпадающем списке — и для всех путей, кроме основного, выставить настройку Standby, оставив Active/Optimized только для основного пути.

Для конфигурации доступны и другие политики настройки MPIO, о которых вам следует внимательно почитать.

Если эта заметка вызовет интерес, я готов более подробно описать теорию различных политик настройки MPIO, а также отличия в настройке для Server Core и Hyper- V Server, не имеющих панели управления и диспетчера устройств.

Comments (30)

  1. Связаться с авторами блога можно посредством формы обратной связи – blogs.technet.com/…/contact.aspx Предлагаемый Вами способ связи трудореализуем ввиду нескольких причин, уж извините.

    К сожалению, в роли Hyper-V на базе Windows Server 2008 R2 нет возможности использования виртуальных Fibre Channel адаптеров. В Вашем случае остается либо ждать выхода Server 8, либо искать другие способы решения подключения хранилищ к ВМ. Я правильно понимаю, что Вы хотите использовать кластер виртуальных машин?

  2. Alex A says:

    Ошибок и потерь владения быть не должно.

    MPIO может быть настроен на одном или всех узлах, это не принципиально, на работу в нормально ситуации (когда все пути доступны) не влияет. Нужно копать логи, почему CSV переезжает и разбираться.

  3. Anonymous says:

    буду благодарен за более подробные разъяснения по поводу MPIO, особенно интересна ситуация, когда контроллера 2 по 2 порта, в iSCSI-инициаторе не понятно как настройка происходит

  4. Alex A says:

    LEXX, наврядли можно ожидать какие-то общие цифры.

    Всё сильно зависит от конкретного DSM производителя и политики настройки.

    В реальной жизни производительность упирается в диски, а не в скорость порта.

    Обычно, если вы имеете двухпортовых FC адаптер, и каждый порт соединён через оптический свич к двум контроллерам, вы имеете четыре пути до дисков.

    Если брать 4Гбитные FC адаптеры, то будет до 8Гбит в случае Round Robin политики. Это 1 ГИГАБАЙТ в секунду. Никакие диски столько не дают. И, очевидно, что MPIO никак не влияет на скорось дисков. Принимайте MPIO решением отказоустойчивости (уровня порта или свича), но не решением для реального повышения производительсности.

  5. G.Vitaly says:

    Спасибо за статью.

    Будет интересно почитать еще статьи на эту тему.

  6. Поправьте пожалуйста ссылки на скриншоты. Хочется на картинки посмотреть 🙂

  7. Alex A says:

    Для MSA нету отдельного DSM, он (согласно примеру выше), сразу определяется как SPC-3 Compliant самой ОС 2008, 2008R2 и 2012

    Не требуется ничего доставлять.

    Информацию я уже переспросил у инженера в HP и получил подтверждение.

  8. Восстановить попробуем, но не факт, что получится. И, насколько понимаю, ничего особенного в скриншотах нет, в принципе.

  9. Alex A says:

    Ставьте DSM от Fujitsu и выбирайте его для DX440

    Для CX3-80 надо установить EMC Powerpath (доступен для скачивания после регистрации в EMC Powerlink)

    На один сервер можно ставить несколько DSM модулей. Для каждого LUN можно выбрать свой.

  10. Anonymous says:

    Есть интерес к Вашей заметке, есть сильное желание с Вами пообщаться по человечески, голосом, в скайпе или по телефону. Дайте знать о том как с Вами можно связаться. Задача у меня такая, хочу виртуализировать на Hyper-V оптические каналы к дисковой полке EVA4400 (HSV300) так, чтобы выход из строя идного или нескольких физических лезвий внутри c3000 корзины не влиял на процесс непрерывной записи в систему хранения. В сервере 8 это обещают, но есть пока только 2008 R2…

  11. Alex A says:

    Для вашего сценария наиболее простым и масштабируемым видится использование HP P4000 VSA – трёх виртуальных машин с жесткой привязкой к блейду, которые берут нижестоящее RAW пространство с EVA и раздают его по iSCSI хостам и виртуальным машинам. Выход из строя любого VSA не влияет на доступность хранилища.

    Я описывал решение тут: blogs.technet.com/…/siterecoverylab-part2-p4000.aspx

  12. Anonymous says:

    Спасибо, будем ждать продолжения.

  13. Alex A says:

    Скачать можно все что угодно с сайта поддержки, после регистрации.

    Оно требует ввода серийного номера. Если у вас PowerPath стоял где-нибудь, то берите номер оттуда (его можно скопировать из консоли PowerPath)

    Номер от версии к версии не отличается.

  14. Sergey V. says:

    Про Server Core и Hyper- V Server интересно было бы почитать 🙂

  15. ddnu says:

    было-б очень интересно и занятно прочитать об этом.

  16. help360 says:

    Очень интересно, обязательно пишите еще!

  17. drk says:

    Теория различных политик настройки MPIO- очень интересно (как и эта статья)!

  18. elso says:

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

  19. Lamer says:

    Настроил давно всё это на своём хьюлете с MSA2312fc и w2k8eeR2 без статей – и так всё интуитивно понятно было. Мне подсказали лишь одно слово – MPIO, после того как я увидел множество дисков в Disk Management-е, гуглом нашёл как расшифровывается эта аббревиатура, а дальше всё интуитивно нашёл и настроил – кластер работает.

  20. yysta says:

    Доступно написана статья. Жду продолжения про настройки для Core и Hyper-V.

  21. alekzz says:

    Интересно было почитать статью для настройки mpio под Hyper-v в режиме Core.

  22. Stanislav says:

    Спасибо. все смог настроить по вашей статье на msa1500, хотя полдня до этого бился об стенку .. спасибо .. сам делал все как в статье кроме настройки самого MPIO. Видно в этом была основная проблема, так как у меня round robin было настроено

  23. Aleksey says:

    Не знаю как добавить MPIO в кластер Windows 2008 R2. Используется iSCSI HP Storage Work MSA2012i.

    Пробую на одном узле развернуть MPIO. На остальных двух без него пока. Проверка кластера ругается, но узел типа живет.

    Однако CSV диски не принимает во владение. Дает ошибку о неожиданной потере владения. Причем вроде-как в начале даже работает, можно кинуть файл в CSV Volume но потом бац … мувится волуме на другую ноду 🙁 Блин… Толи нужно на всех узлах обновременно MPIO подымать? Боюсь переведу MPIO на всех узлах а кластер не заведется…

    Посоветуйте, пожалуйста, какая последовательность перевода уже существующего кластера на MPIO с одношлангового варианта…

  24. Dmirty.Grachev says:

    20.09.2010 на hp.com выложили мануал, делается все просто

    ocsetup MultipathIo /norestart

    mpclaim -n -i -a

    bizsupport2.austin.hp.com/…/c02520790.pdf

  25. LeXX13 says:

    Спасибо за статью! Интересно было бы прочитать о том как различные конфигурации MPIO влияют на скорость передачи данных на серверах баз данных, где каждый МБ/сек дорог

  26. Max says:

    В первый раз столкнулся с SAN, MSA и иже с ними. Не знал как сделать отказоустойчивое подключение, знал что это возможно, но не представлял как. Уже начал догадываться и наткнулся на эту статью. Теперь многое стало понятно, спасибо!

  27. Max says:

    Перечитал статью еще раз. Я дотошный:) полез проверять сайт HP на наличие DSM для MS Server 2008 и 2008R2. В статье говорится, что нет DSM для 2008 R2 и действительно нету, но и для 2008-го сервера я тоже не нашел DSM. Смотрел x86 и x64 редакции… Для 2003-го сервера есть.

  28. Ivan Levkin says:

    Добрый день коллеги, у меня такая ситуация:

    физический сервер, к нему подключено 2 дисковые стойки DX440 и CX3-80. У первой есть свой DSM, а у второй нет. Как лучше поступить в этой ситуации? Поставить Windows MPIO и MS DSM для обоих хранилищ или для DX440 поставить Fujitsu MPIO а для EMC CX3-80 Windows MPIO? смогут ли они вместе работать?

    Просто Fujitsu MPIO не поддерживает ни чего кроме Fujitsu

  29. Ivan Levkin says:

    Алексей, но EMC PowerPath платная, я в свое время что то не нашел даже возможности его скачать…

  30. Александр says:

    Согласен, с автором последнее поста – картинки хочется лицезреть

Skip to main content