Я только что обновил работающий хост 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
Разработчики.