Рейтинг:0

Медленная выделенная сеть хранения данных XCP-NG 10 Гбит (она работает так, как если бы она была 1 Гбит)

флаг cn

Искал какое-то время и не может найти ответ или даже направления, чтобы смотреть вперед.

Так. Кластер XCP-NG из трех серверов HP DL360p G8, MSA 2060 iSCSI NAS с 12 дисками SAS 10K, QNAP TS-1273U-RP, коммутатор Mikrotik CRS317. Сеть хранения находится в выделенном мосту в микротике. Все устройства подключены 3-метровым медным кабелем. Все устройства показывают, что ссылка 10G. Я даже настроил MTU на 9000 для всех устройств. Каждый сервер имеет карту Ethernet с двумя интерфейсами. Один используется только для сети хранения (eth1 на всех трех серверах). Разные подсети для сети хранения и сети управления. Серверная часть сети Xen — openvswitch.

Джамбо-фреймы работают:

ping -M do -s 8972 -c 2 10.100.200.10 -- QNAP
PING 10.100.200.10 (10.100.200.10) 8972 (9000) байт данных.
8980 байт от 10.100.200.10: icmp_seq=1 ttl=64 время=1,01 мс
8980 байт от 10.100.200.10: icmp_seq=2 ttl=64 время=0,349 мс

--- Статистика пинга 10.100.200.10 ---
2 пакета передано, 2 получено, 0% потери пакетов, время 1001 мс
rtt min/avg/max/mdev = 0,349/0,682/1,015/0,333 мс

ping -M do -s 8972 -c 2 10.100.200.8 -- MSA 2060
PING 10.100.200.8 (10.100.200.8) 8972(9000) байт данных.
8980 байт из 10.100.200.8: icmp_seq=1 ttl=64 время=9,83 мс
8980 байт из 10.100.200.8: icmp_seq=2 ttl=64 время=0,215 мс

--- Статистика пинга 10.100.200.8 ---
2 пакета передано, 2 получено, 0% потери пакетов, время 1001 мс
rtt min/avg/max/mdev = 0,215/5,023/9,832/4,809 мс

Проблема: когда я копирую виртуальную машину из одного хранилища (QNAP) в другое (MSA), скорость записи составляет около 45 МБ/с. Когда я копирую большой файл из QNAP (например, установка iso) в локальное хранилище сервера, скорость составляет около 100 МБ/с, а на этом сервере хтоп показывает одно ядро ​​при 100% загрузке

Хорошо видно, что сеть работает как сеть 1G.

Немного информации об оборудовании.

ethtool -я eth1
драйвер: ixgbe
версия: 5.5.2
версия прошивки: 0x18b30001
расширение-rom-версия:
информация о шине: 0000:07:00.1
поддержка-статистика: да
поддержка-тест: да
поддерживает доступ к eeprom: да
поддерживает регистрацию дампа: да
поддерживает-приват-флаги: да

эттул эт1
Настройки для eth1:
        Поддерживаемые порты: [FIBER]
        Поддерживаемые режимы связи: 10000baseT/Full
        Поддерживаемое использование кадра паузы: Симметричный
        Поддерживает автосогласование: Нет
        Поддерживаемые режимы FEC: не сообщается
        Рекламируемые режимы ссылки: 10000baseT/Full
        Рекламируемое использование кадра паузы: Симметричный
        Рекламируемое автосогласование: Нет
        Заявленные режимы FEC: не сообщается
        Скорость: 10000 Мбит/с
        Дуплекс: Полный
        Порт: медь прямого подключения
        ПЬЯД: 0
        Приемопередатчик: внутренний
        Автосогласование: выключено
        Поддерживает пробуждение: d
        Пробуждение: д
        Текущий уровень сообщения: 0x00000007 (7)
                               ссылка на датчик drv
        Ссылка обнаружена: да

лспци | grep сеть
07:00.0 Контроллер Ethernet: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (версия 01)
07:00.1 Контроллер Ethernet: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (версия 01)

Затем я запустил сервер iper3 на этом хосте: iperf3 -s -4 Результаты на хосте сервера:

[ID] Пропускная способность интервальной передачи
[ 5] 0,00–10,04 с 0,00 байт 0,00 бит/с отправитель
[ 5] 0,00–10,04 с 5,48 ГБ 4,69 Гбит/с приемник
[ 7] 0,00–10,04 с 0,00 байт 0,00 бит/с отправитель
[ 7] 0,00–10,04 с 5,44 ГБ 4,66 Гбит/с приемник
[SUM] 0,00–10,04 с 0,00 байт 0,00 бит/с отправитель
[СУММА] 0,00–10,04 с 10,9 Гбайт 9,35 Гбит/с приемник

И клиент на другом хосте: iperf3 -c 10.100.200.20 -P 2 -t 10 -4 Результаты на клиентском хосте:

[ID] Интервальная передача пропускной способности Retr
[ 4] 0,00–10,00 с 5,49 ГБ 4,72 Гбит/с 112 отправитель
[ 4] 0,00–10,00 с 5,48 ГБ 4,71 Гбит/с приемник
[ 6] 0,00–10,00 с 5,45 ГБ 4,68 Гбит/с 178 отправитель
[ 6] 0,00-10,00 с 5,44 ГБ 4,67 Гбит/с приемник
[SUM] 0,00–10,00 с 10,9 Гбайт 9,40 Гбит/с 290 отправителей
[СУММА] 0,00–10,00 с 10,9 Гбайт 9,38 Гбит/с приемник

Что тестировать дальше или как найти узкое место?

iperf3 показывает, что ссылка работает со скоростью 10 Гбит или я неправильно интерпретирую результаты?

Версии программного обеспечения:

xe параметры списка хостов = версия программного обеспечения
версия программного обеспечения (MRO): версия_продукта: 8.2.0; product_version_text: 8.2; product_version_text_short: 8.2; имя_платформы: XCP; платформа_версия: 3.2.0; product_brand: XCP-ng; build_number: выпуск/стокгольм/мастер/7; имя хоста: локальный; дата: 20.05.2021; дбв: 0,0,1; хапи: 1,20; xen: 4.13.1-9.11.1; линукс: 4.19.0+1; xencenter_min: 2,16; xencenter_max: 2,16; network_backend: openvswitch; db_schema: 5.602


версия программного обеспечения (MRO): версия_продукта: 8.2.0; product_version_text: 8.2; product_version_text_short: 8.2; имя_платформы: XCP; платформа_версия: 3.2.0; product_brand: XCP-ng; build_number: выпуск/стокгольм/мастер/7; имя хоста: локальный; дата: 20.05.2021; дбв: 0,0,1; хапи: 1,20; xen: 4.13.1-9.11.1; линукс: 4.19.0+1; xencenter_min: 2,16; xencenter_max: 2,16; network_backend: openvswitch; db_schema: 5.602


версия программного обеспечения (MRO): версия_продукта: 8.2.0; product_version_text: 8.2; product_version_text_short: 8.2; имя_платформы: XCP; платформа_версия: 3.2.0; product_brand: XCP-ng; build_number: выпуск/стокгольм/мастер/7; имя хоста: локальный; дата: 20.05.2021; дбв: 0,0,1; хапи: 1,20; xen: 4.13.1-9.11.1; линукс: 4.19.0+1; xencenter_min: 2,16; xencenter_max: 2,16; network_backend: openvswitch; db_schema: 5.602

Два других сервера имеют карты HP 530FLR-SFP+:

    лспци | grep сеть
    03:00.0 Контроллер Ethernet: Broadcom Inc. и дочерние компании NetXtreme II BCM57810 10 Gigabit Ethernet (версия 10)
    03:00.1 Контроллер Ethernet: Broadcom Inc. и дочерние компании NetXtreme II BCM57810 10 Gigabit Ethernet (версия 10)

ethtool -я eth1
драйвер: bnx2x
версия: 1.714.24 шторм 7.13.11.0
версия прошивки: bc 7.10.10
расширение-rom-версия:
информация о шине: 0000:03:00.1
поддержка-статистика: да
поддержка-тест: да
поддерживает доступ к eeprom: да
поддерживает регистрацию дампа: да
поддерживает-приват-флаги: да

эттул эт1
Настройки для eth1:
        Поддерживаемые порты: [FIBER]
        Поддерживаемые режимы связи: 1000baseT/Full
                                10000baseT/полный
        Поддерживаемое использование кадра паузы: Симметричный Только для приема
        Поддерживает автосогласование: Нет
        Поддерживаемые режимы FEC: не сообщается
        Рекламируемые режимы ссылки: 10000baseT/Full
        Рекламируемое использование кадра паузы: Нет
        Рекламируемое автосогласование: Нет
        Заявленные режимы FEC: не сообщается
        Скорость: 10000 Мбит/с
        Дуплекс: Полный
        Порт: медь прямого подключения
        ПЬЯД: 1
        Приемопередатчик: внутренний
        Автосогласование: выключено
        Поддерживает пробуждение: g
        Пробуждение: g
        Текущий уровень сообщения: 0x00000000 (0)

        Ссылка обнаружена: да

Редактировать 1: Тест локального хранилища:

dmesg | grep сда
[ 13.093002] sd 0:1:0:0: [sda] 860051248 Логические блоки по 512 байт: (440 ГБ/410 ГБ)
[13.093077] sd 0:1:0:0: [sda] Защита от записи отключена
[ 13.093080] sd 0:1:0:0: [sda] Значение режима: 73 00 00 08
[ 13.093232] sd 0:1:0:0: [sda] Кэш записи: отключен, кеш чтения: включен, не поддерживает DPO или FUA
[ 13.112781] sda: sda1 sda2 sda3 sda4 sda5 sda6
[ 13.114348] sd 0:1:0:0: [sda] Подключенный диск SCSI
[ 15.267456] EXT4-fs (sda1): монтирование файловой системы ext3 с использованием подсистемы ext4
[ 15.268750] EXT4-fs (sda1): смонтированная файловая система с режимом упорядоченных данных. Опции: (нулевой)
[ 17.597243] EXT4-fs (sda1): перемонтирован. Опции: (нулевой)
[ 18.991998] Добавлен своп 1048572k в /dev/sda6. Приоритет: -2 экстента: 1 через: 1048572k
[ 19.279706] EXT4-fs (sda5): монтирование файловой системы ext3 с использованием подсистемы ext4
[ 19.281346] EXT4-fs (sda5): смонтированная файловая система с режимом упорядоченных данных. Опции: (нулевой)

дд, если=/dev/sda of=/dev/null bs=1024 count=1000000
1000000+0 записей в
1000000+0 записей
Скопировано 1024000000 байт (1,0 ГБ), 11,1072 с, 92,2 МБ/с

Это странно, потому что на сервере стоит контроллер Smart Array P420i с 2 ГБ кэш-памяти, аппаратный RAID10 из 6 дисков SAS 146 ГБ 15 000. iLo показывает, что с памятью все ок. На другом сервере результаты аналогичны Скопировано 1024000000 байт (1,0 ГБ), 11,8031 с, 86,8 МБ/с

Редактировать 2 (тест общего хранилища):
Qnap (SSD Raid10):

dd if=/run/sr-mount/23d45731-c005-8ad6-a596-bab2d12ec6b5/01ce9f2e-c5b1-4ba8-b783-d3a5c1ac54f0.vhd of=/dev/null bs=1024 count=1000000
1000000+0 записей в
1000000+0 записей
Скопировано 1024000000 байт (1,0 ГБ), 11,2902 с, 90,7 МБ/с

MSA (рейд HP MSA-DP+):

dd if=/dev/mapper/3600c0ff000647bc2259a2f6101000000 of=/dev/null bs=1024 count=1000000
1000000+0 записей в
1000000+0 записей
Скопировано 1024000000 байт (1,0 ГБ), 11,3974 с, 89,8 МБ/с

Не более 1 гигабитной сети... Итак, если я передаю образы ВМ между общим хранилищем, локальное хранилище не задействовано. Может ли openvswitch быть узким местом?

Редактировать 3 (дополнительные тесты диска):
sda = Raid10 из 6 x 146 ГБ 15 КБ SAS, sdb = один 146 ГБ 15 КБ SAS в RAID0

дд, если=/dev/sdb of=/dev/null bs=1024 count=1000000
1000000+0 записей в
1000000+0 записей
Скопировано 1024000000 байт (1,0 ГБ), 16,5326 с, 61,9 МБ/с
[14:35 xcp-ng-em ssh]# dd if=/dev/sdb of=/dev/null bs=512k count=1000
1000+0 записей в
1000+0 записей
скопировано 524288000 байт (524 МБ), 8,48061 с, 61,8 МБ/с
[14:36 ​​xcp-ng-em ssh]# dd if=/dev/sdb of=/dev/null bs=512k count=10000
10000+0 записей в
10000+0 записей
скопировано 5242880000 байт (5,2 ГБ), 84,9631 с, 61,7 МБ/с
[14:37 xcp-ng-em ssh]# dd if=/dev/sda of=/dev/null bs=512k count=10000
10000+0 записей в
10000+0 записей
скопировано 5242880000 байт (5,2 ГБ), 7,03023 с, 746 МБ/с
Martin avatar
флаг kz
да, тест iperf показал, что достижимая скорость сети составляет около 10G. Следующее, что я бы проверил, — это производительность хранилища: на обоих серверах выполните тест на чтение и запись. ```dd if=/dev/sda of=/dev/null bs=1024 count=1000000``` например для чтения, эквивалент теста записи (например, чтение из /dev/zero)
флаг cn
`dd if=/dev/sda of=/dev/null bs=1024 count=1000000` `1000000+0 записей в 1000000+0 записей Скопировано 1024000000 байт (1,0 ГБ), 11,1072 с, 92,2 МБ/с`
Martin avatar
флаг kz
Вы нашли узкое место. Следующая вещь (может быть немного сложная), которую я бы проверил, — это производительность одного диска. возможно, у вас подключен запасной диск, который не настроен внутри рейда - если да, повторите этот тест с одним диском! Если скорость чтения одного диска намного выше, вы знаете, что рейд-контроллер вызывает эти низкие скорости...
Michael Hampton avatar
флаг cz
А? Чтение 1K с диска кажется немного нереальным. Попробуйте более разумный размер блока.

Ответить или комментировать

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