Что означает сообщение FCP Partner Path Misconfigured (и что с ним делать)?

Я обратил внимание, что, довольно часто, пользователи сталкиваются с ошибкой конфгурации, которая индицируется в логах сообщением: FCP Partner Path Misconfigured. Несмотря на то, что ошибка эта довольно банальна, и исправление вызвавших ее причин тривиально, я заметил, что у многих пользователей возникают проблемы с диагностикой, да и вообще с пониманием того, что именно вызывает эту ошибку.

Поэтому я взял на себя труд перевести на русский прекрасно написанную статью из Knowledge Base с сайта NetApp, в которой подробно рассматривается эта ошибка, причины ее вызывающие, и методы устранения.

Что означает сообщение FCP Partner Path Misconfigured

https://kb.netapp.com/support/index?page=content&id=3010111

KB ID: 3010111 Version: 7.0
Published date: 04/29/2011

Проблема

AutoSupport message: FCP PARTNER PATH MISCONFIGURED

Сообщения Syslog и EMS

[hostname: scsitarget.partnerPath.misconfigured:error]: FCP Partner Path Misconfigured.
[hostname: scsitarget.partnerPath.misconfigured:error]: FCP Partner Path Misconfigured - Host I/O access through a non-primary and non-optimal path was detected.

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

Partner Path любой путь к LUN, который используется узлом-партнером HA-кластера для доступа к LUN, принадлежащего локальному узлу.
Non-primary path Синоним для partner path, proxy path и secondary path. Все приведенные варианты это non-primary path.
FCP target port Интерфейс fibre channel, используемый для доступа по FCP с хостов.
Virtual Target Interconnect (VTIC) Интерфейс виртуального FCP таргета, как он видится в списке initiator group. VTIC используется для индикации того, инициатор имеет доступ к secondary path.

Описание проблемы

Конфигурация HA-кластера NetApp, работающего в режиме active-active, позволяет доступ к logical unit (LUN) по портам FCP с обоих узлов кластера. Однако хосты, в рабочем, нормальном режиме, должны работать с LUN-ами через порты того контроллера, которому принадлежит данный LUN. Пути ввода-вывода, использующие порт того узла кластера, который непосредственно владеет данным LUN, называются primary paths или optimized paths. Пути ввода-вывода, использующие порт того узла кластера, который является партнером непосредственно владеющего LUN-ом, называются secondary paths, partner paths или non-optimized paths. Доступ к LUN через партнерский узел должен осуществляться только в том случае, когда недоступен основной, primary port.

Работа с LUN-ами через secondary path вызывается одной или несколькими следующими причинами: не работает primary path между хостом и контроллером, или же MPIO на OS хоста сконфигурировано неверно. Эти причины показывают, что величины избыточности и показатели производительности SAN ниже возможного. Исправить проблему следует немедленно, как только primary path к контроллеру восстановлен.
При некоторых условиях, сообщение об этой ошибке может быть вызвано некоторыми событиями не связанными с операциями ввода-вывода, например действиями MPIO path management или же работой кластерного ПО на хосте, проводящего проверку состояния и доступности LUN-ов. Если установлено, что именно эти причины вызвали генерацию сообщения об ошибке, возможно следует предпринять действия по уменьшению активности этих задач, или же настроить пороговые значения соответствующих датчиков, вызывающих генерацию сообщения. Начиная с версии Data ONTAP 7.2.2, операции SCSI не являющиеся операциями чтения или записи данных, не вызывают появления сообщения о рассматриваемой в статье ошибке.

Сообщение FCP Partner Path Misconfigured иногда появляется при перезагрузке контроллера системы хранения, процессе кластерного takeover и giveback, или загрузке OS хоста. Эти случаи должны статься нормальными, и обычно исправляются автоматически, на уровне MPIO хоста, когда он определяет состояние изменившегося пути доступа. Эти случаи появления такой ошибки могу быть проигнорированы, если они не происходят непрерывно. Data ONTAP 7.2.2 и более новые релизы имеют необходимые механизмы по устранению таких спорадических срабатываний триггера ошибки при перезагрузке контроллера, кластерном переключении, и так далее.

NetApp рекомендует настроить пороги срабатывания уведомления о ошибочном пути (FCP Partner Path Misconfigured) для того, чтобы устранить ложные и спорадические срабатывания. Запустите в консоли следующие команды на обоих узлах HA-кластера.

options lun.use_partner.cc.warn_limit 300
options lun.use_partner.cc.bytes 2457600

Первая опция увеличивает время интервала измерения с 10 секунд до 300 секунд, а вторая опция – увеличивает порог числа переданных байт с 512000 байт до 2457600 байт.

Если после этого изменения сообщение продолжает появляться, то следуйте приведенным ниже шагам по поиску и устранению причин проблемы. Рисунок ниже показывает ситуацию с доступом к вводу-выводу данных по primary path и non-primary path.

image

Определение вызвавших проблему LUN-ов и хостов

Перечисленные ниже шаги реализуют процедуру, которая может быть использована для идентификации событий ввода-вывода, в результате которых вы получаете названную ошибку. Процесс идентификации начинается с определения тех LUN-ов, ввод-вывод данных на которых происходит через порты FCP target узла-партнера. Когда эти LUN-ы найдены, следующим шагом следует идентифицировать инициаторы, выполняющие эти операции. Далее, идентифицируются порты FCP target на контроллере системы хранения, который обслуживает нужные LUN-ы. Хост должен иметь доступ как минимум к одному порту на каждом узле HA-кластера из контроллеров системы хранения. Когда инициаторы хоста и правильные порты FCP target определены, следует проинспектировать фабрику, чтобы убедиться в том, что ее конфигурация верна, и все соединения в ней работают правильно. И, наконец, следует проверить конфигурацию MPIO на хостах, чтобы убедиться в правильной его настройке.

  1. Определите LUN-ы, доступ к которым осуществляется через порт FCP-таргета партнерского узла.
    • lun stats -o (LUN STATISTICS)
  2. Определите инициаторов-хостов, которые осуществляют доступ через partner path
    • lun config_check -A (LUN CONFIG CHECK) – вывод валиден только в случае, когда просматривается в AutoSupport
    • lun show -v (LUN CONFIGURATION)
    • igroup show -v (INITIATOR GROUPS)
  3. Определите правильный порт FCP target для доступа к LUN.
    • fcp show cfmode (FCP CFMODE)
    • fcp show adapters (FCP TARGET ADAPTERS)
  4. Проверьте соединение инициатора хоста к правильному порту FCP target конфигурацию MPIO в OS.
  5. Проверьте, что использование partner path прекратилось на обоих узлах кластера.
    • sysstat -b 1

 

Процедуры и примеры

1. Определите LUN-ы, к которым идет доступ через порты FCP target с узла-партнера HA-кластера, а также тип этих операций.

Порог включения сообщения об ошибке может включаться по определенному количеству считанных или записанных килобайт, а также от определенного количества выполненных операций. Примеры операций SCSI, которые не связаны с чтением или записью это Inquiry, Persistent Reserve, Report LUNS, и Test Unit Ready. Data ONTAP 7.2.2 и более новые релизы не включают уведомление об ошибке для операций, не относящихся к чтению или записи данных.

Раздел LUN STATISTICS отчета Autosupport покажет количество и объем операций чтения и записи для обоих узлов HA-кластера, как локального, так и партнерского, раздельно по LUN-ам. Необходимые данные могу быть также получены из вывода отчета команды lun stats -o. Счетчики могут быт обнулены с помощью команды lun stats -z которая полезна для того, чтобы понять, какие из счетчиков растут. Вывод команды lun stats может показать что ни один из счетчиков не превысил порога срабатывания уведомления. В этом случае, LUN-ы, к которым доступ идет через узел-партнер, могут быть расположены на узле-партнере. Когда виновные LUN-ы идентифицированы, продолжайте шагом 2, чтобы найти вызвавший ошибку хост.
Пример вывода lun stats -o из Autosupport:

===== LUN STATISTICS =====
/vol/esx_luns/guest001.lun  (32 minutes, 39 seconds)
    Read (kbytes)   Write (kbytes)  Read Ops  Write Ops  Other Ops  QFulls  Partner Ops Partner KBytes
    13510011357     12648494826     707504214 932701251  251651     0        263445977   2123914089

В примере выше, как параметр Partner Ops, так и Partner Kbytes, превышают допустимый порог в заданном интервале времени. Следует найти хост, осуществляющий доступ к LUN таким образом, и понят, почему он так поступает. Возможным решением проблемы будет ограничение доступа, или же настройка MPIO на OS хоста, чтобы устранить доступ по неосновному пути.

 

2. Определите инициаторы хостов, которые производят ввод-вывод через partner path.

Используя LUN-ы, идентифицированные на шаге 1, определите подозреваемые инициаторы путем перекрестной locate the suspect initiators by cross-referencing the LUN configuration with the initiator group mapping. Эта информация может быть найдена в отчетах AutoSupport, в разделе LUN CONFIGURATION и показана в выводе команды lun show -v. Когда initiator groups для LUN-ов обнаружена, то WWPN инициаторов-членов группы может быть найдена в разделе отчета Autosupport под названием INITIATOR GROUPS и в выводе команды igroup show -v.
Пример lun show -v и igroup show -v из AutoSupport:

===== LUN CONFIGURATION =====
/vol/esx_luns/guest001.lun          2.0t (2194459852800) (r/w, online, mapped)
  Comment:
  Serial#: XXXXXXXXX
  Share: none
  Space Reservation: enabled
  Multiprotocol Type: linux
  Maps: igroupA=0 igroupB=0
===== INITIATOR GROUPS =====
    igroupA (FCP) (ostype: vmware):
        21:00:00:e0:8b:92:da:ef (logged in on: 0a, vtic)
    igroupB (FCP) (ostype: vmware):
        21:00:00:e0:8b:82:d0:09 (logged in on: 0c, vtic)

В этом примере LUN /vol/esx_luns/guest001.lun смаппирован на две initiator groups, igroupA и igroupB. Каждая initiator group содержит один WWPN. Эти WWPN принадлежат разным портам, которые могут быть на одном хосте, или на разных хостах, в зависимости от вашей конфигурации. WWPN-ы входят в составленный список подозреваемых инициаторов, которые могут осуществлять доступ к LUN по неправильному пути. Это будет список подозреваемых инициаторов, который мы проверим на шаге 4.

Чтобы уменьшить «список подозреваемых», версия Data ONTAP 7.2.2 и новее предлагает список инициаторов, производящих ввод-вывод через partner path. Эту информацию можно найти в разделе LUN CONFIG CHECK в AutoSupport и выводе команды lun config_check -A (Внимание: вывод lun config_check -A валиден только когда включен в AutoSupport). В дополнение к списку инициаторов, работающих через partner path, lun config_check -v проверит и покажет различные другие проблемы конфигурации. Проблемы, показанные в выводе этой команды, следует устранить перед дальнейшими действиями.

Пример lun config_check -A из вывода AutoSupport:

===== LUN CONFIG CHECK =====
The following FCP Initiators are sending Read/Write i/o over the
FCP Partner Paths during the last 15 seconds
WWPN                      Partner’s Port       ops         bytes
21:00:00:e0:8b:25:0c:10               0c        34         17408
21:00:00:e0:8b:25:03:66               0c       186       1117696
21:00:00:e0:8b:25:0c:18               0c      1618      10866688
21:00:00:e0:8b:25:0b:b0               0c      1693      13290496

В приведенном примере четыре инициатора обращаются к LUN-ам через partner path. Некоторое количество операций приемлемо и нормально для существующих механизмов управления путями в MPIO. Но высокие значения числа операций и количества прошедших байт у других инициаторов являются поводом проверить правильность настроек в MPIO.

3. Определите, что таргет-порты FC на primary-контроллере доступны для подключения к LUN.

В режиме кластера active-active, будет порт primary или secondary зависит от используемого режима cluster failover mode (cfmode). Например, режим cfmode single_image позволяет каждый из target FC портов использовать как для доступа по основному пути к LUN-ам, расположенным на локальном узле, так и к LUN-ам на партнерском узле HA-кластера. Для деталей о использовании cfmode и конфигурировании портов смотрите Data ONTAP Block Access Management Guide.

Режим cfmode может быть определен с помощью команды fcp show cfmode. Его также можно увидеть в разделе FCP CFMODE в выводе AutoSupport.

===== FCP CFMODE =====
fcp show cfmode: single_image

На сегодняшний день режим cfmode single_image используется в абсолютном большинстве кластерных систем NetApp.

Порты FCP target ports можно посмотреть с помощью команды fcp show adapter и в разделе AutoSupport FCP TARGET ADAPTERS.

В приведенном примере показываются target adapters при использовании режима cfmode single_image. Когда используется single_image cfmode, любые порты можно использовать для доступа к LUN, расположенным на обоих узлах HA-кластера, как local, так и partner.

> fcp show adapters
Slot:                    0c
Description:             Fibre Channel Target Adapter 0c (Dual-channel, QLogic 2322 (2362) rev. 3)
Adapter Type:            Local
Status:                  ONLINE
FC Nodename:             50:0a:09:80:86:17:c3:ac (500a09808617c3ac)
FC Portname:             50:0a:09:81:96:17:c3:ac (500a09819617c3ac)
Slot:                    0d
Description:             Fibre Channel Target Adapter 0d (Dual-channel, QLogic 2322 (2362) rev. 3)
Adapter Type:            Local
Status:                  ONLINE
FC Nodename:             50:0a:09:80:86:17:c3:ac (500a09808617c3ac)
FC Portname:             50:0a:09:82:96:17:c3:ac (500a09829617c3ac)

 

4. Проверьте подключение инициаторов с хоста, определенны на шаге 2 как «подозреваемых», к портам primary FCP target и их конфигурацию MPIO.

Когда primary и secondary FCP target ports идентифицированы, убедитесь, что инициаторы на хостах подключены к ним (logged in). Соединение между инициаторами хостов, FC-фабрикой и портами FCP target на контроллере проверяются со стороны хоста. Хотя контроллер системы хранения имеет возможность определить, какой из инициаторов подключен к нему (logged in), состояние этой информации иногда бывает не вполне актуально. Только на стороне хоста его инициаторы могут дать точное и актуальное состояние о статусе подключения (login). Такие инструменты, как Emulex HBAnywhere и QLogic SANSurfer могут использоваться для определения текущего состояния инициаторов. Если инициаторы не подключаются в primary FCP target port, тогда следует проверить состояние FC-фабрики на целостность соединений (link failures) или ограничения при неверном зонировании, которые могут препятствовать нормальному подключению инициаторов в порты FCP target на контроллере системы хранения.

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

How to verify HP-UX fibre channel configurations with multipathing I/O (MPIO)
How to Verify VMWare ESX 3.x Fibre Channel Configurations with Multipathing I/O (MPIO)
How to Verify VMWare ESX 4.x Fibre Channel Configurations with Multipathing I/O (MPIO)
How to verify Windows fibre channel configurations with multipathing I/O (MPIO)
How to verify Solaris fibre channel configurations with multipathing I/O (MPIO)
How to verify Linux fibre channel configurations with multipathing I/O (MPIO)
How to verify AIX fibre channel configurations with multipathing I/O (MPIO)
How to verify NetWare fibre channel configurations with multipathing I/O (MPIO)
How to verify VMware ESXi configurations with multipathing I/O

 

5. Проверьте, что доступ по partner path прекратился для обоих кластерных узлов.

Команда sysstat -b 1 используется для мониторинга счетчиков производительности SAN. Счетчик "Partner" считает операции ввода-вывода и трафик передачи данных по partner path. Наблюдение за этими счетчиками это эффективный метод убедиться, что все действия по устранению проблемы доступа по partner path выполнены успешно и проблема решена. Убедитесь, что проверили ситуацию трафиком по partner path для обоих контроллеров, на обоих узлах HA-кластера одновременно.

CPU   FCP iSCSI Partner  Total    FCP   kB/s   iSCSI   kB/s Partner  kB/s   Disk  kB/s   CP   CP Disk
                                   in    out      in    out      in   out   read write  time  ty util
0%     0     0       0      0      0      0       0      0       0     0      8    24    0%  -    2%
0%     0     0       0      0      0      0       0      0       0     0     16     8    0%  -    1%
0%     0     1       0      1      0      0       1      0       0     0      0     0    0%  -    0%

 

Дополнительно:

Fibre Channel and iSCSI Configuration Guide
Data ONTAP Block Access Management Guide
Emulex HBAnywhere
QLogic SANSurfer and SANSurfer CLI

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

  1. Сергей:

    Всё очень доступно, спасибо.

  2. Dmitry Gorokhov:

    На моей практике подавляющее большинство таких сообщений возникало из-за использования стандартного MPIO в windows 2008.

  3. Dmitry Gorokhov:

    Оно возникает из за неправильно настроенного MPIO.
    Чьего производства при этом драйвер MPIO это уже второй и отдельный вопрос.

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

20/0.145

Данный блог не спонсируется, не аффилирован, и не санкционирован компанией 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.