Multi-path High Availaility (MPHA) FAQ

Я давно собирался написать большой и подробный пост на тему что такое, для чего используется и как применяется режим подключения дисковых полок MPHA в системах NetApp, так как вокруг этой темы имеется, как я заметил, ряд принципиальных непониманий.

Однако мне на прошедшей и этой неделе пока некогда, поэтому пока позвольте представить вашему вниманию перевод официального FAQ на тему MPHA, от NetApp, а свои мысли на этот счет я оставлю до времени, когда я смогу подробнее “посидеть над столом” и сформулировать их.

Пока же – официальная позиция NetApp на тему использования MPHA в системах хранения NetApp.


Что такое MPHA?

Соединение типа MPHA означает, что ваш контроллер подключен к дисковым полкам множественными (multiple) И избыточными (redundant) соединениями.

Обязательно ли соединение типа MPHA для всех современных систем хранения NetApp?

Все системы хранения NetApp в HA-кластере сегодня должны использовать подключение MPHA, c с одним исключением. Конфигурация HA-кластера FAS2040 имеет только один порт SAS и по этой причине поддерживает только один путь подключения к полкам SAS.

Все одноконтроллерные конфигурации NetApp требуют сегодня использования двухпутевого подключения, за исключением FAS2040, использующего дисковые полки SAS (так как имеют только один порт SAS на систему).

Поддерживается ли конфигурация MPHA, если используется только один HBA или же только встроенные порты контроллера?

NetApp поддерживает такие варианты, но продолжает рекомендовать использовать избыточные компоненты, так как использование только встроенных портов или только одиночного HBA является единой точной отказа в данной конфигурации системы хранения.

MPHA поддерживается в том числе и на конфигурациях с только одним HBA. NetApp рекомендует разделять соединения между микросхемами HBA (ASIC). На четырехпортовом HBA это обычно означает, что порты A и B обслуживаются одним сипом ASIC, а порты C и D – другим. Следовательно, порты должны составлять пары на разных ASIC данного HBA (например, пара портов A и C и пара – B и D). Для соединений SAS смотрите Universal SAS Cabling Guide, доступный на сайте NetApp Support.

Использование встроенных портов также поддерживается. Например, системы серии FAS3200 имеют два встроенных порта SAS для подключения дисковых полок. Для систем, использующих только один стек дисков, NetApp поддерживает использование только двух встроенных портов для подключения MPHA. Однако NetApp рекомендует использовать кроме встроенных портов еще дополнительный HBA в плате расширения, для обеспечения дополнительной аппаратной устойчивости и надежности.

Хотя такой вариант и поддерживается, вы можете получать сообщения в логах о том, что ваше соединение MPHA не избыточно с аппаратной точки зрения. Если вы намеренно выбрали такой вариант, то можете игнорировать эти сообщения.

Как определить, что моя конфигурация MPHA соединена правильно?

Наилучший метод при соединении кабелями разработан для оптимальной изоляции между ASIC, HBA и портами. Этот метод также обеспечивает правильное подключение стеков полок сверху-снизу. NetApp рекомендует использовать такой метод соединения дисковых полок и контроллера для всех конфигураций системы хранения NetApp. Руководство Universal SAS Cabling Guide это официальный источник для всех конфигураций подключения SAS MPHA; оно доступно на сайте NetApp Support. Аналогичный подход применяется и при использовании FC.

Какие модули полок поддерживаются в MPHA?

ESH2, AT-FCX (с CPLD версии 24), ESH4, IOM3, и IOM6 поддерживают работу с MPHA. Модули LRC и ESH не поддерживают MPHA, так как не имеют функции автотерминирования.

Какие версии Data ONTAP требуются для использования MPHA?

Data ONTAP 7.1.1 и новее требуется для серии FAS900, FAS3020, и FAS3050. Data ONTAP 7.2.1 или новее требуется для всех других платформ (с учетом минимальной рабочей версии для данной платформы).

Можно ли проапгрейдить существующую и уже установленную систему хранения NetApp для работы в MPHA?

При условии, что все необходимые и перечисленные выше условия соблюдены, и имеется достаточно портов для подключения, апгрейд до multipath HA достаточно прост. Комплект для Multipath HA, в который входят дополнительные HBA, кабеля и SFP, может быть дозаказан к системе, если это необходимо.

Режим software disk ownership должен быть включен на обоих контроллерах HA-кластерной пары. Если этот режим не активирован, перегрузите оба контроллера в maintenance mode. Запустите команду disk upgrade_ownership до того, как вы начнете подключать кабеля для multipathing. Эта команда выполняется в течение нескольких секунд и автоматически назначает дискам контроллера-владельца.

Если контроллеры уже используют software disk ownership, тогда пользователю может потребоваться дополнительная карта HBA для дополнительного соединения. Добавочные HBA могут быть установлены в систему, не прерывая нормальной доступности ее данных, путем серии кластерных takeover/giveback, как описано в HA Pair Configuration Guide.

Поддерживается ли MPHA в Metrocluster?

Оба типа Metrocluster, как stretched, так и fabric поддерживают использование Multipath HA.

Требуется ли Software-based Disk Ownership для работы MPHA?

Да.

Увеличивает ли MPHA производительность?

Так как MPHA удваивает количество соединений от каждого контроллера к дискам, увеличивается доступная полоса пропускания, и, как следствие, может увеличиться и производительность. Однако если конфигурация хранилища не достигла потолка по полосе пропускания для петли/стека дисков, то тогда MPHA скорее всего не поможет увеличить производительность.

Создаст ли проблемы, если мы используем MPHA только на части наших дисковых стеков?

Возможно использовать multipath только на некоторых дисковых стеках на системе хранения и не использовать на других на ней же. Как индикатор данной ситуации будет генерироваться сообщение EMS, указывающее на то, что некоторые стеки не используют multipath. NetApp рекомендует использовать multipath на всех стеках.

Каковы еще преимущества, кроме уже перечисленных, при использовании конфигурации Multipath HA?

Основные преимущества от использования multipath HA следующие:

  • Multipath HA обеспечивает добавочную защиту от таких отказов, как:
    • Отказ HBA или порта
    • Обрыв или повреждение кабеля от контроллера к дисковой полке
    • Отказ модуля дисковой полки
    • Двойной отказ межполочного соединения
    • Отказ вторичного пути передачи
  • При использовании Data ONTAP 7.1.2 или 7.2.1 и новее, multipath HA помогает устранить нестабильность дискового стека, возникающую в результате отказа в этом стеке, без необходимости делать кластерный takeover/giveback или останавливать систему хранения.
  • Data ONTAP mirrors bypasses on a single HA configuration, and as a result failures are propagated to the alternate path. In this scenario, a multidrive panic due to the multidrive bypass leads to controller downtime. Running multipath HA helps avoid storage instability due to multidrive bypasses because bypasses are not mirrored on multipath HA systems.
  • В случае операции кластерного takeover/giveback, в stateful-протоколах, таких как CIFS и iSCSI разрывается сессия протокола. С точки зрения приложения в интервал takeover/giveback также включается время восстановления сессий stateful-протоколов. Так как multipath HA снижает вероятность события takeover/giveback, это снижает число разрывов сессий у stateful-протоколов.

Нужно ли мне использовать Multipath HA, если имеется возможность кластерного failover?

Конфигурация подключения типа multipath HA улучшает стабильность и устойчивость работы кластерной HA-пары контроллеров.

Хотя возможность осуществления кластерного failover у контроллеров системы хранения обеспечивает высокую доступность данных путем устойчивости к отказам при проблемах в контроллере, проблемы на стороне дисковых полок часто приводят к нежелательным failover-ам. Использование Multipath HA улучшает стабильность и устойчивость системы хранения путем уменьшения количества излишних переключений кластера на контроллер партнера из-за проблем доступа к дискам. Это улучшает общую доступность системы и обеспечивает более высокую общую производительность.

Начиная с версии Data ONTAP 7.3.1.1 в вывод команды sysconfig добавлена дополнительная информация о состоянии подключения контроллера к дискам.

На сегодня различаются следующие возможные варианты подключений:

Single-Path Все диски подключены по одному пути
Mixed-Path Некоторые диск подключены по одному, некоторые по нескольким путям
Multi-Path Все диски подключены по нескольким путям
Single-Path HA Все диски подключены по одному пути
Mixed-Path HA Некоторые диск подключены по одному, некоторые по нескольким путям
Multi-Path HA Все диски подключены по нескольким путям

Разница между конфигурацией «HA» и конфигурацией «без HA» заключается в наличии или отсутствии дополнительного, избыточного канала подключения (см. схему)

> sysconfig -a
        NetApp Release 7.3.5: Thu May 27 16:40:57 PDT 2010
        System ID: ; partner ID:
        System Serial Number:
        System Rev: H3
        System Storage Configuration: Single-Path HA
        System ACP Connectivity: NA

Для просмотра того, какие именно диски и полки находятся в single path, превращая подкючение Multi-Path в Mixed-Path, можно воспользоваться командой:

> storage show disk –p

        NetApp Release 7.3.5: Thu May 27 16:40:57 PDT 2010
        System ID: ;partner ID:
        System Serial Number:
        System Rev: E1
        System Storage Configuration: Mixed-Path HA
        System ACP Connectivity: NA

PRIMARY  PORT  SECONDARY PORT SHELF BAY
——– —-  ——— —- ———
5a.00.0   A    6a.00.0    B     0    0 
5a.00.1   A    6a.00.1    B     0    1 

Для подробного анализа подключений в сложных, многостековых и многополочных конфигурациях, можно воспользоваться утилитой Wiregauge которую можно взять в Toolchest на сайте NOW.NetApp (http://now.netapp.com/NOW/download/tools/wiregauge/).

 

Рассмотрим несколько основных ошибок при подключении полок в Multipath HA.

Терминология:

Primary – основной

Standby – резервный

Primary redundant – основной избыточный

Standby redundant – резервный избыточный

 

Ошибка MPHA: Основной (primary) и избыточный (redundant) кабели подключены в один и тот же модуль дисковой полки.

На приведенном рисунке порты контроллера 0a и 0d контроллера, работающие как основной и избыточный каналы, подключены в один I/O модуль стека дисковых полок. Такая конфигурация не имеет устойчивости против выхода из строя такого модуля, и, при выходе его из строя, скажется на доступе к данному стеку для обоих каналов контроллера.

 

image

 

Эту ошибку конфигурирования можно обнаружить в выводе команды

*> storage show disk -p
PRIMARY PORT  SECONDARY PORT SHELF BAY
——- —-  ————– —– —
………..
0b.16    B    2b.16      B     ?    ? 
2b.17    B    0b.17      B     ?    ? 
2b.18    B    0b.18      B     ?    ? 
2b.19    B    0b.19      B     ?    ? 
0b.20    B    2b.20      B     ?    ? 
2b.21    B    0b.21      B     ?    ? 
2b.22    B    0b.22      B     ?    ? 
2b.23    B    0b.23      B     ?    ? 
2b.24    B    0b.24      B     ?    ? 
0b.25    B    2b.25      B     ?    ?

Как вы видите, PRIMARY PORT и SECONDARY PORT одинаковы для некоторых дисков. В приведенном примере все диски подключены и видятся через порт B.

Эта ошибка также видна в логе ASUP STORAGE.

Disk: 0a.16
Shelf: 1
Bay: 0
…………
Pri Port:    A <<< см. тут
Sec Name: 2a.16
Sec Port:    A <<< см. тут, порт тот же, что и для Pri Port
…………

Как вы видите, Primary Port и Secondary Port диска 0a.16 оба подключены в порт A полки.

 

Ошибка MPHA: Основной (primary) и избыточный (redundant) кабели подключены в порты, заведенные на один ASIC.

В приведенном примере конфигурации ошибка заключается в том, что соединения для основного и избыточного пути заведены в порты, принадлежащие одному чипу контроллера и/или использующих одну шину PCI. Отказ такого чипа или же проблема на данной шине PCI может создать проблемы для передачи данных для всего дискового стека.

 

image

 

Для серии FAS6000:

  • 0a/0b, 0c/0d, 0e/0f, 0g/0h: каждый FC-порт пары сидит на общем двухпортовом чипе
  • 0a/0b, 0c/0d сидят на одной общей шине PCI
  • 0e/0f, 0g/0h сидят на одной общей шине PCI

Для серии FAS3000 и 3100:

  • 0a/0b, 0c/0d: каждый FC-порт пары сидит на общем двухпортовом чипе
  • Все порты сидят на одной общей шине PCI

Для серии FAS2000:

  • 0a/0b сидят на одном чипе

Кроме этого надо помнить, что все порты на дополнительном HBA на карте расширения – это также single-point-of-failure.

Ниже приводится пример из лога ASUP STORAGE для диска, подключенного к одному и тому же HBA. В примере показан один диск, расположенный в позиции 12 полки 1. Каналы 2a и 2b идут на один HBA, поэтому этот HBA будет являться single-point-of-failure.

Disk:     2a.28     <<< см. тут
Shelf:    1 
Bay:      12
…………
Pri Port: B
Sec Name: 2b.28      <<< см. тут, 2a и 2b это один и тот же HBA               
Sec Port: A
…………

Ошибка MPHA: «Беспорядочное» подключение.

Строго говоря, это не ошибка подключения как таковая, она не создает single-point-of-failure, просто «неаккуратненько», что может привести к ошибке у обслуживающего систему персонала, например при идентификации и замене вышедшего из строя диска. Каждый диск при таком варианте подключения имеет 4 идентификатора пути, что усложняет процессы поиска источника проблем, например.

В приведенном на рисунке примере порт 0a на первой ноде кластера подключен к стороне A верхней полки дискового стека, в то же время контроллер второй ноды кластера использует для подключения к той же полке по стороне B свой порт 0c.

 

image

 

Так как ошибка персонала является, по статистике, все еще является одной из самых распространенных среди всех ошибок при работе с любыми системами, было бы разумно правильным, упорядоченным, единообразным и логичным подключением минимизировать такие ошибки.

Ну и, наконец, правильный, безошибочный вариант подключения MPHA:

image

4 комментария

  1. evgeny:

    Все замечательно, однако в реальном мире уже бывает приходишь к ошибочной конфигурации. Подскажите, можно ли переключить полки на правильный вариант без потери данных? И если да, то можно ли это делать “на горячую”, то есть с использованием takeover/giveback?

  2. evgeny:

    Уверен, что да, на то она и избыточность. Подозреваю, что можно даже и без кластерного тэйковера, а с тэйковером-то - тем более.

  3. Владимир:

    Все подключено так как показано на последнем изображении (за исключением того что у меня нет второго управляющего блока и второго набора полок)
    В логах появляются сообщения об ошибках:
    Severity: CRITICAL
    Message: Enclosure Services unavailable for one or more shelves on channel 0a.

    Severity: CRITICAL
    Message: Enclosure services has detected an error in access to shelves on channel 0a.

    И как следствие проблемы с одной из полок.
    Пробуя разными способами переключения, замены модулей выяснил что если подключаться так как показано на первом изображении то сообщения об ошибках не появляются, но тогда возникают ошибки отображения дисков описанные в первом варианте подключения.

    Помогите разобраться что не так сделано.

  4. Владимир:

    Сильно рекомендую попробовать задать вопрос вот тут:

    https://communities.netapp.com/groups/netapp-ru

    Это русскоязычное комьюнити, которое я создал специально, чтобы был дискуссионный форум. В комментах к постам очень неудобно обсуждать что-то масштабное.
    Там присутствуют несколько заметных специалистов, думаю, что на ваш вопрос там найдут ответ.

    Да и вообще, силь ву пле, гости дорогие, и велкам. :)

Оставить комментарий

20/0.164

Данный блог не спонсируется, не аффилирован, и не санкционирован компанией NetApp, Inc. Излагаемая в этом блоге точка зрения выражает мнение исключительно его автора и может не совпадать с позицией NetApp, Inc.

This content is not endorsed, sponsored or affiliated with NetApp, Inc. The views expressed in this blog are solely those of the author and do not represent the views of NetApp, Inc.