Я экспериментирую с эффектами различных значений глубины очереди SCSI на сервере Dell под управлением CentOS Linux 5.4 (x86_64).
На сервере есть два HBA QLogic QLE2560 FC, подключенных к системе хранения с помощью нескольких путей. Система хранения выделила серверу два LUN, каждый из которых подключен четырьмя путями в циклической конфигурации «активный-активный-активный-активный». Всего два LUN существуют как восемь / dev / sdX устройств, представленных двумя устройствами в / dev / mpath.
В настоящее время я регулирую значения глубины очереди в /etc/modprobe.conf и проверьте результат (после перезагрузки), посмотрев в седьмой столбец / proc / scsi / sg / устройства.
С этим связаны два вопроса:
Есть ли способ настроить глубину очереди без перезагрузки или выгрузки модуля ядра qla2xxx? Например, могу ли я отобразить новое значение глубины очереди в некоторых / proc или / sys-как файл для обновления глубины очереди?
Если я установил глубину очереди на 128, это
Мне важно знать это, чтобы мой сервер не наводнил систему хранения, влияя на другие подключенные к нему серверы.
Обычно глубина очереди определяется на LUN / путь в конфигурациях с несколькими путями rr. Это очень зависит от реализации драйвера multipathing, и вам нужно будет свериться с документацией вашего драйвера multipathing, который в вашем случае является multipathing устройства сопоставления, в котором AFAIR использует ту же концепцию, что и ESX, в котором глубина очереди для всех путей это наименьшая глубина очереди для любого из путей, см. мой пример из ESX здесь:
Встроенная в ESX функция multipathing настраивает глубину очереди в конфигурациях rr multipathing как наименьшую общую глубину любой из задействованных очередей. Т.е. при глубине 32 на каждый LUN / путь и 4 пути общая глубина очереди всего 32! По этой причине некоторые поставщики предлагают свои собственные драйверы (например, Powerpath EMC). С точки зрения производительности циклическое распределение нагрузки ESX не циклически повторяет какой-либо заданный путь для каждого ввода-вывода, по умолчанию планируются первые 1000 операций ввода-вывода по первому пути, а следующие 1000 операций ввода-вывода - по следующему для каждой виртуальной машины, что должно сгладить общая нагрузка по всем путям в расчете на один коммутатор пути ввода-вывода повлечет за собой штраф за задержку для каждого ввода-вывода.
Я понимаю это из среды ESX, где это путиГлубина очередиLuns, которое будет 1024. Я был бы очень удивлен, если бы в CentOS все было иначе.