Поддержка NPIV Multiple-Queue

Рассмотрена модернизация N_Port ID Virtualization (NPIV) путем включения поддержки нескольких очередей: NPIV Multiple-Queue (MQ).

В настоящее время адаптеры Fibre Channel (FC) с высокой пропускной способностью, такие как 16 Гбит/с или 32 Гбит/с, поддерживают пары с несколькими очередями для обращения к памяти. Пары с несколькими очередями в физическом стеке FC значительно повышают скорость обработки запросов ввода-вывода за счет параллельной передачи данных через адаптер FC. NPIV Multiple-Queue позволяет добавить поддержку нескольких очередей в операционную систему клиента, POWER Hypervisor (PHYP) и VIOS (сервер виртуального ввода-вывода) (VIOS). Стек NPIV VIOS и PHYP обновляются таким образом, чтобы клиентские логические разделы могли обращаться к нескольким очередям. Поддержка нескольких очередей доступна только в клиентских логических разделах AIX и VIOS версии 3.1.2 и выше.

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

  • Эффективное использование доступной пропускной способности адаптеров FC с поддержкой нескольких очередей для одного или нескольких логических разделов.
  • Параллельная работа с трафиком ввода-вывода нескольких логических накопителей (LUN) в с помощью очередей адаптеров FC.
  • Повышение производительности ввода-вывода системы хранения за счет увеличения скорости обработки запросов ввода-вывода (IOPS).

На следующем рисунке показана управляемая система, настроенная для поддержки NPIV Multiple-Queues:

Иллюстрация управляемой системы, настроенной для использования NPIV Multiple-Queues.

Поддержка аппаратного обеспечения и требования для включения NPIV с поддержкой нескольких очередей

Табл. 1. Несколько очередей для NPIV
Операционная система/PFW Поддерживаемые версии
Аппаратное обеспечение Системы с процессорами POWER9
AIX Версия 7.2 с технологическим уровнем 05 или выше
VIOS Версия 3.1.2 или выше
Встроенное программное обеспечение POWER Версия 940 или выше
Адаптер Fibre Channel (FC) Адаптеры FC 16 или 32 Гбит/с или любые адаптеры Fibre Channel с высокой пропускной способностью и поддержкой нескольких очередей.
IBM i Нет поддержки
Linux® Enterprise Server (SUSE, Red Hat®) Нет поддержки

Преимущества, связанные с производительностью

Поддержка NPIV Multiple-Queue обеспечивает повышение производительности при обращении к памяти для рабочих задач разных типов.

Мобильность логических разделов в среде с поддержкой нескольких очередей

Для активации NPIV с поддержкой нескольких очередей для всех компонентов требуется поддержка на уровне операционной системы, гипервизора и VIOS. Если гипервизор или VIOS не поддерживает несколько очередей, то после выполнения операции LPM поддержка нескольких очередей не будет включена.

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

  • Поддержка нескольких очередей доступна только в клиентских логических разделах AIX и VIOS версии 3.1.2 и выше.
  • LPM с точки зрения VIOS с учетом потенциальных реализаций других клиентов PowerVM.
  • LPM и поддержка нескольких очередей с точки зрения встроенного программного обеспечения.
  • Особенности конфигурации NPIV и проверки LPM
    • В ходе начальной настройки при подключении клиента NPIV к VIOS возвращается информация о том, поддерживает ли VIOS несколько очередей. Если эта функция поддерживается, то VIOS возвращает информацию о том, возможен ли перенос из среды, в которой создано несколько очередей, в целевую систему с меньшим количеством очередей. Кроме того, VIOS указывает, может ли он продолжить выполнение операций ввода-вывода в среде с одной очередью (системы с VIOS версии ниже 3.1.2).
    • Во встроенном программном обеспечении обеспечение Power поддержка нескольких очередей реализована с помощью подчиненных очередей ответов команд. Подчиненные очереди ответов команд NPIV поддерживаются в системах POWER9 и выше. Подчиненные очереди ответов команд будут потеряны в случае перемещения клиента из системы POWER9 в систему POWER предыдущей модели или в случае перемещения клиента в систему со встроенным программным обеспечением более ранней версии.
    • В ходе начальной настройки VIOS предоставляет информацию о встроенном программном обеспечении и адаптерах, чтобы клиент NPIV мог определить необходимость создания подчиненных очередей ответов команд NPIV с поддержкой нескольких очередей. Если в ходе выполнения операции LPM встроенное программное обеспечение перенесет подчиненные очереди ответов команд из исходной управляемой системы в целевую управляемую систему, клиент NPIV может сохранить ресурсы очередей и использовать их позднее при выполнении операции LPM в среде, в которой доступны все ресурсы.
  • Сценарии LPM и поддержка нескольких очередей в клиенте AIX
    • В ходе начальной настройки клиента NPIV логический раздел клиента NPIV AIX обменивается с хостом VFC информацией о возможностях, таких как с поддержка нескольких очередей, миграция и уровни встроенного программного обеспечения, а затем выполняет настройку. Обмен этой информацией выполняется снова в ходе выполнения операции LPM в целевой управляемой системе. С учетом этой информации включается или выключается поддержка нескольких очередей.
    • Когда логический раздел AIX переносится из исходной в целевую систему с поддержкой NPIV Multiple-Queue, стек NPIV продолжает работать в среде с поддержкой нескольких очередей:
      • Производительность может остаться без изменений до тех пор, пока клиент NPIV не сможет создать такое же число очередей и получить доступ к адаптеру FC с аналогичной пропускной способностью в целевой системе по сравнению с исходной управляемой системой.
      • Если в ходе обмена информацией о начальных возможностях при выполнении операции LPM хост VFC в целевой системе возвратит меньшее число очередей по сравнению с исходной управляемой системой, то клиент NPIV настроит доступные очереди и продолжит отправлять запросы ввода-вывода через них.
      • Производительность может быть снижена, если число очередей или пропускная способность памяти в целевой управляемой системе меньше по сравнению с исходной управляемой системой.
      • Если в ходе обмена информацией о начальных возможностях при выполнении операции LPM хост VFC в целевой системе возвратит большее число очередей, то клиент NPIV использует число очередей из конфигурации исходной управляемой системы.

        Примеры:

        • Если в исходной управляемой системе настроено 8 очередей, а на хосте VFC в целевой управляемой системе доступно 4 очереди, то в целевой управляемой системе настраиваются только 4 очереди. Если тот же логический раздел переместить обратно в исходную систему или в другую целевую систему, в которой хосту VFC доступно 8 очередей, то клиент NPIV настроит 8 очередей.
        • Если в исходной управляемой системе настроено 8 очередей, а на хосте VFC в целевой управляемой системе доступно 16 очередей, то клиент VFC продолжит использовать 8 очередей.
    • Если логический раздел AIX переносится из среды NPIV Multiple-Queue в управляемую систему со встроенным программным обеспечением более ранней версии, то ресурсы с поддержкой нескольких очередей теряются и может быть снижена производительность вне зависимости от адаптеров целевой управляемой системы. Клиент NPIV не создает среду с поддержкой нескольких очередей в случае последующего перемещения в систему с поддержкой нескольких очередей.
    • Если логический раздел AIX переносится в среду, в которой VIOS и встроенное программное обеспечение поддерживают несколько очередей, а адаптеры FC, такие как Emulex 4 или 8 Гбит/с, не имеют такой поддержки, клиент AIX сохраняет ресурсы подчиненных очередей. Клиент AIX можно использовать в случае последующего переноса в среду с поддержкой нескольких очередей. В случае переноса из среды с поддержкой нескольких очередей в среду без такой поддержки могут возникать неполадки, связанные с производительностью.
    • Если логический раздел AIX переносится в среду, в которой VIOS не поддерживает несколько очередей, то подчиненные очереди теряются, а поддержка нескольких очередей выключается. Клиент NPIV работает в режиме с одной очередью (аналогично конфигурации NPIV в AIX 7200-04 и ниже и VIOS версии 3.1.1 и ниже). Клиент NPIV не создает несколько очередей в случае последующего перемещения в систему с поддержкой нескольких очередей.
    • Если клиентский раздел NPIV с поддержкой нескольких очередей (AIX 7200-05 и выше) переносится из системы POWER8 или POWER7 в систему POWER9 с поддержкой нескольких очередей, раздел продолжит работать в режиме NPIV с одним каналом, поскольку после переноса раздела с более низким режимом совместимости процессоров в систему POWER9 раздел продолжает работать в режиме совместимости POWER8 или POWER7. Если раздел загружается во встроенном режиме в системе POWER9, то поддержка NPIV Multiple-Queue активируется в ходе настройки NPIV в процессе запуска.
      Прим.: Встроенное программное обеспечение POWER версии FW930 и выше поддерживает подчиненные очереди ответов команд, применяемые для включения поддержки нескольких очередей. Таким образом, выполнение операции LPM из конфигурации с поддержкой нескольких очередей в системе POWER со встроенным программным обеспечением версии FW930 и выше и VIOS версии 3.1.2 и выше обеспечивает сохранение подчиненных очередей ответов команд. Перенос такого логического раздела обратно в конфигурацию с поддержкой нескольких очередей предусматривает включение поддержки нескольких очередей.

Настраиваемые атрибуты VIOS

VIOS версии 3.1.2 и выше предлагает новые настраиваемые атрибуты NPIV с поддержкой нескольких очередей, обеспечивающие гибкое управление очередями адаптера FC (физическими очередями), которые может использовать каждый адаптер хоста VFC. Кроме того, NPIV с поддержкой нескольких очередей предлагает функции и атрибуты QoS, применимые ко всем адаптерам хоста VFC. Атрибут num_per_range можно указать на уровне раздела VIOS и переопределить на уровне отдельного адаптера хоста VFC.

Для NPIV с поддержкой нескольких очередей доступно новое псевдоустройство viosnpiv0. Устройство viosnpiv0 предлагает настраиваемые атрибуты уровня раздела. Устройство адаптера хоста VFC предоставляет локальные настраиваемые параметры. В следующей таблице перечислены настраиваемые атрибуты, помогающие обеспечить оптимальную производительность:

Табл. 2. Атрибуты устройства viosnpiv0
Атрибут Минимальное значение Максимальное значение Значение по умолчанию Описание
num_per_range 4 64 8 Настраиваемый атрибут уровня VIOS. Задает число очередей FC SCSI, используемых каждым хостом VFC.
num_local_cmds 1 64 5 Позволяет управлять ресурсами памяти и производительностью. Более высокое значение может повысить производительность для небольшого числа операций ввода-вывода. Управляет ресурсами, которые выделяются каждой очереди, применяемой адаптером хоста VFC.
bufs_per_cmd 1 64 10 Позволяет управлять ресурсами памяти и производительностью. Более высокое значение может повысить производительность для большого числа операций ввода-вывода.
Табл. 3. Атрибуты vfchost
Имя атрибута Минимальное значение Максимальное значение Значение по умолчанию Описание
num_per_range 4 64 0 Если для этого атрибута указано ненулевое значение, он переопределяет атрибут num_per_range устройства viosnpiv0. Если указано значение 0, то этот настраиваемый атрибут игнорируется.
limit_intr Булевское значение (true или false) Булевское значение (true или false) false Локальный настраиваемый атрибут. Если для этого атрибута указано значениеtrue, он может оказать отрицательное влияние на производительность конкретного адаптера. Он сокращает число процессоров и операций ввода-вывода, применяемых для обслуживания адаптера хоста VFC. Он имеет более высокий приоритет по сравнению с атрибутом num_per_range.
label н/д н/д "" Позволяет присвоить адаптеру хоста VFC пользовательский строковый идентификатор. После успешного выполнения операции LPM адаптер хоста VFC в целевом VIOS будет иметь ту же метку, что и исходный VIOS.
Прим.: Атрибуты, связанные с поддержкой нескольких очередей, теряются в случае перехода от VIOS с поддержкой нескольких очередей на VIOS без такой поддержки (если клиент NPIV может выполнить такую операцию переноса).

Локальный атрибут limit_intr имеет самый высокий приоритет. Если для атрибута limit_intr указано значение false, применяется локальный атрибут num_per_range. Если локальный атрибут num_per_range не задан, то применяется атрибут num_per_range уровня раздела.

Число применяемых клиентом очередей зависит от адаптера FC, уровня встроенного программного обеспечения и возможностей клиента, а также от уровня VIOS и настраиваемых атрибутов адаптера хоста VFC. Если операция LPM успешно выполнена и клиент использует несколько очередей, значение локального атрибута num_per_range или limit_intr адаптера хоста VFC в целевой управляемой системе указывается с учетом значения, применяемого в исходной управляемой системе.

Табл. 4. Настраиваемые атрибуты клиента VFC AIX
Имя атрибута Минимальное значение Максимальное значение Значение по умолчанию Описание
lg_term_dma 1 MB 16 МБ 8 MB Объем памяти, необходимой виртуальному драйверу для внутренней структуры данных. Значение этого атрибута можно увеличить для среды с большим числом дисков NPIV.
max_xfer_size 1 MB 16 МБ 1 MB

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

Например, накопители на магнитной ленте (последовательные операции ввода-вывода) используют блоки большого размера.
num_cmd_elems 20 2048 1024 Задает максимальное число активных операций ввода-вывода в конкретный момент времени.
num_io_queues 1 16 8 Задает число очередей ввода-вывода, применяемых для операций ввода-вывода SCSI.
label н/д н/д "" Пользовательское имя адаптера.
num_sp_cmd_elem 512 2048 512 Задает максимальное число специальных операций команд в конкретный момент времени.

Примечания:

  • Число применяемых клиентом NPIV очередей зависит от нескольких факторов, таких как адаптер FC, уровень встроенного программного обеспечения, уровень VIOS и настраиваемые атрибуты адаптера хоста VFC. В ходе начальной настройки клиент VFC согласовывает число очередей с хостом VFC и настраивает минимальное значение атрибута num_io_queues, а также число очередей, возвращенное хостом VFC.
  • После начальной настройки согласовывается максимальное число каналов, которые может включить клиент VFC. Если в ходе повторного согласования хост VFC запросит большее число каналов после операций (таких как перераспределение, перезапуск VIOS и т. д.), то число каналов не будет изменено. Однако, если в ходе повторного согласования хост VFC запросит меньшее число каналов, то клиент VFC уменьшит число настроенных каналов.

    Например, если изначально клиент VFC и хост VFC согласовали 8 каналов и позднее хост VFC запросит 16 каналов, то клиент VFC продолжить использовать 8 каналов. Если в ходе повторного согласования хост VFC запросит 4 канала, клиент VFC уменьшит число настроенных каналов до 4. Однако, если в ходе повторного согласования хост VFC запросит 8 каналов, что приведет к увеличению числа настроенных каналов до 8, то клиент VFC потребуется заново настроить для повторного согласования числа каналов со стороны клиента.

Информация об адаптере клиента VFC AIX

Можно просмотреть информацию об адаптере клиента VFC в разделе клиента AIX.

Для просмотра информации о хосте адаптера клиента VFC введите следующую команду, где X - это номер экземпляра адаптера:
# cat /proc/sys/adapter/fc/fcsX/hostinfo
Информация о хосте отображается в следующем формате:

VFC client adapter name            : <имя экземпляра адаптера>
Host partition name (VIOS)         : <имя раздела VIOS>
VFC host adapter name              : <имя экземпляра адаптера хоста>
VFC host adapter location code     : <код расположения экземпляра адаптера хоста>
FC adapter name on VIOS            : <имя экземпляра физического адаптера в VIOS>
FC adapter location code  on VIOS  : <код расположения экземпляра физического адаптера в VIOS>
В следующем примере показана информация о хосте адаптера клиента VFC fcs0:
# cat /proc/sys/adapter/fc/fcs0/hostinfo

Вывод


VFC client adapter name            : fcs0
Host partition name (VIOS)         : vios062_v2_242
VFC host adapter name              : vfchost1
VFC host adapter location code     : U9009.41A.13F508W-V3-C15
FC adapter name on VIOS            : fcs2
FC adapter location code  on VIOS  : U78D2.001.WZS001U-P1-C7-T1