Назад | Перейти на главную страницу

Linux multipath: как настроить одну группу путей multibus

Я только что обновил работающий хост Ubuntu 16.04 до 18.04, и теперь у меня проблемы с многопутевостью.

Версии пакета: * multipath-tools 0.7.4-2ubuntu3 * open-iscsi 2.0.874-5ubuntu2.7

У меня есть Dell PowerVault MD3860i с четырьмя путями к хосту. Перед обновлением multipath -ll выглядело так:

backupeng (3600a098000b5efae00000e9a5b9b58f5) dm-2 DELL,MD38xxi
size=8.0T features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 3:0:0:1 sdb 8:16 active ready running
  |- 4:0:0:1 sdc 8:32 active ready running
  |- 5:0:0:1 sdd 8:48 active ready running
  `- 6:0:0:1 sde 8:64 active ready running

Теперь это выглядит так:

backupeng (3600a098000b5efae00000e9a5b9b58f5) dm-2 DELL,MD38xxi
size=8.0T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='round-robin 0' prio=14 status=active
| |- 5:0:0:1 sdd 8:48 active ready running
| `- 6:0:0:1 sde 8:64 active ready running
`-+- policy='round-robin 0' prio=9 status=enabled
  |- 3:0:0:1 sdb 8:16 active ready running
  `- 4:0:0:1 sdc 8:32 active ready running

Мой /etc/multipath.conf выглядит так:

defaults {
    user_friendly_names yes
    path_selector "round-robin 0"
    path_grouping_policy multibus
}

multipaths {
    multipath {
        wwid 3600a098000b5efae00000e9a5b9b58f5
        alias backupeng
    }
}

По соображениям производительности мне нужно, чтобы все пути были в одной группе путей, как и раньше. Насколько я понимаю, path_grouping_policy multibus должен это делать. Я пробовал перезапускать multipathd, настраивать конфигурации iscsi и multipath на хосте с нуля и так далее в течение последних нескольких часов.

Я могу вставить полный вывод multipathd -k -> show config но то, что я вижу, согласуется с моим файлом multipath.conf. Могу ли я предоставить какую-либо другую информацию?

Вы действительно измерили производительность и обнаружили, что она ухудшилась? Вы можете найти его улучшенным, хотя разница может быть не очень большой.

Dell PowerVault MD3860i, похоже, представляет собой систему хранения в активном / пассивном (также известном как асимметричный или ALUA) стиле: она имеет два контроллера хранения, и каждый из дисков считается «принадлежащим» одному из контроллеров в любой момент времени. Если доступ к диску осуществляется через контроллер, который в настоящее время не «владеет» диском, он запускает переключатель владения, который добавляет некоторую дополнительную задержку операции ввода-вывода диска.

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

Твой новый multipath -ll вывод указывает, что dm-multipath получает информацию ALUA из системы хранения, используя rdac протокол. То есть контроллер хранилища сообщает dm-multipath какие пути он должен использовать в настоящее время. В rdac Протокол - это более старый протокол, используемый контроллерами хранилищ LSI / Engenio / NetApp и их OEM-производителями, и его хорошо понимают. Существуют и другие подобные протоколы, зависящие от производителей, и SCSI-3 ALUA станет новым стандартным способом передачи этой информации, хотя пока не все системы хранения используют его.

Вы устанавливаете дефолт path_grouping_policy к multibus, но очень вероятно, что он будет отменен аппаратными настройками по умолчанию, скомпилированными в multipath-tools. (Конкретные ритмы общие: любые настройки в применимых device или multipath разделы будут иметь приоритет над значениями, установленными в defaults раздел.)

Эти встроенные настройки по умолчанию реализованы в сотрудничестве с производителями запоминающих устройств; очевидно multipath-tools версия в Ubuntu 16.04 еще не имела определенных значений по умолчанию для Dell PowerVault MD3860i, но в Ubuntu 18.04 они есть.

Вы можете просмотреть эти встроенные настройки по умолчанию с помощью sudo multipath -t. Для вашей системы хранения соответствующая группа настроек, вероятно, будет выглядеть так:

    device {
            vendor "DELL"
            product "(MD34xx|MD38xx)"
            product_blacklist "Universal Xport"
            path_grouping_policy "group_by_prio"
            path_checker "rdac"
            features "2 pg_init_retries 50"
            hardware_handler "1 rdac"
            prio "rdac"
            failback "immediate"
            no_path_retry 30
    }

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

Вы можете написать свой собственный device { ... } или overrides { ... } блокировать в multipath.conf чтобы переопределить эти настройки, но вы должны делать это в производственной среде только в том случае, если у вас есть конкретная информация от поставщика хранилища для этого или если у вас есть результаты теста, подтверждающие, что вы действительно знаете лучше, чем поставщик и dm-multipath Разработчики.