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

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

Мы настраиваем новое хранилище для вычислительного кластера HPC, которым мы управляем для прикладной статистики, биоинформатики и геномики.

Конфигурация

У нас есть основной корпус с Dell EMC ME4084 (84x12 ТБ, 7200 об / мин) и дополнительный корпус с Dell EMC ME484 (28x12 ТБ). EMC ME4084 обеспечивает распределенный RAID ADAPT (аналогичный RAID6) и двойные аппаратные контроллеры.

На файловом сервере работает CentOS 7. Хранилище подключено к файловому серверу с помощью двух кабелей SAS. Каждый LUN соответствует группе из 14 дисков с ADAPT, и оба подключения SAS отображаются как устройства. sdb и sdj. Примеры ниже приведены для LUN ID 0.

Мы настроили multipath следующим образом для конфигурации «активный-активный»:

$ cat /etc/multipath.conf
defaults {
    path_grouping_policy multibus
    path_selector "service-time 0"
}

$ multipath -ll
mpatha (3600c0ff000519d6edd54e25e01000000) dm-6 DellEMC ,ME4
size=103T features='0' hwhandler='0' wp=rw
`-+- policy=‘service-time 0' prio=1 status=active
  |- 1:0:0:0  sdb 8:16  active ready running
  `- 1:0:1:0  sdj 8:144 active ready running

Конфигурация аварийного переключения:

$ cat /etc/multipath.conf
defaults {
    path_grouping_policy failover
    path_selector "service-time 0"
}

$ multipath -ll
mpatha (3600c0ff000519d6edd54e25e01000000) dm-6 DellEMC ,ME4
size=103T features='0' hwhandler='0' wp=rw
|-+- policy=’service-time 0' prio=1 status=active
| `- 1:0:0:0  sdb 8:16  active ready running
`-+- policy=’service-time 0' prio=1 status=enabled
  `- 1:0:1:0  sdj 8:144 active ready running

Мы подтвердили, что письмо mpatha приводит к письму обоим sdb и sdj в конфигурации актив-актив и только sdb в конфигурации с активным включением. Мы полосатые mpatha и другой mpathb в логический том и отформатировал его с помощью XFS.

Испытательная установка

Мы протестировали производительность ввода-вывода, используя fio при следующих нагрузках:

Результаты теста

                       Failover           Active-Active
                 -------------------   -------------------
   Workload        Read       Write      Read       Write
--------------   --------   --------   --------   --------
1-1mb-randrw     52.3MB/s   52.3MB/s   51.2MB/s   50.0MB/s
1-4kb-randrw     335kB/s    333kB/s    331kB/s    330kB/s
16-32kb-seqrw    3181MB/s   3181MB/s   2613MB/s   2612MB/s
16-64kb-randrw   98.7MB/s   98.7MB/s   95.1MB/s   95.2MB/s

Я сообщаю только об одном наборе тестов, но результаты одинаковы для повторов (n = 3) и для выбора path_selector.

Есть ли причина, по которой active-active не может, по крайней мере, соответствовать производительности active-enabled? Я не знаю, связана ли проблема с рабочими нагрузками и конфигурацией multipath. Разница была еще более ошеломляющей (20%), когда мы использовали линейный логический том вместо чередования. Мне действительно любопытно посмотреть, не упустил ли я что-нибудь очевидное.

Большое спасибо,

Николас

Поскольку вы используете жесткие диски, один контроллер уже очень быстро для ваших внутренних дисков. Добавление еще одного контроллера в активном / активном режиме означает отсутствие дополнительных операций ввода-вывода в секунду (из-за жестких дисков), но больше накладных расходов на уровне многолучевого распространения, следовательно, снижение производительности.

Другими словами: вы будете насыщать жесткие диски. задолго до CPU первого контроллера, поэтому оставьте их в активном / пассивном режиме. Более того, я бы попытался использовать один 28 дисковый массив и протестировать его, чтобы увидеть, обеспечивает ли он большую или меньшую производительность, чем фактическая установка 2x 14 дисков.