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

Нет трафика на виртуальную машину

TL; DR

(1) В виртуальную машину передаются только первые 2 VF.

и

(2) Нет трафика к виртуальной машине.

Настроить

Обработать

Попытка использовать функциональность SR-IOV. Обновление sriov_numvfs до 4 в обоих сетевых адаптерах приводит к получению 4 VF на каждый сетевой адаптер. Запуск виртуальной машины и подключение ее к обоим сетевым адаптерам на Intel 82599.

Использование генератора трафика для проверки настройки.

Проблема

Перед запуском виртуальной машины ixgbe драйвер создает еще 8 ссылок (по одной на каждый VF) на хосте, все они видны в ip link и находятся в нерабочем состоянии. После активации виртуальной машины в виртуальную машину передаются только 2 VF (первая VF в каждой сетевой карте, что означает функция 0).

Перед активацией ВМ

После активации ВМ

но...

Нет трафика на виртуальную машину.

Есть трафик от виртуальной машины вовне.

Любые идеи?

Работаю над этим

1

Пытаемся обойти процесс автоматизации драйвера, следуя этот link, виртуальная машина запускается с двумя мостовыми сетями для двух сетевых адаптеров. ВМ работает нормально, и есть трафик от обоих сетевых адаптеров. Затем новое устройство добавляется с помощью virsh attach-device команда и команда выполняются успешно. Сначала XML-файл содержит только PCI-адрес VF. Никаких явных изменений не наблюдается ни в ВМ, ни в ip link, не в lspci... ничего. В --config флаг был поднят, поэтому состояние снова проверяется после перезагрузки, и снова ничего. Затем явно добавляется PCI-адрес сетевой карты (PF), а также явно указывается MAC-адрес VF. После virsh attach-device с явными параметрами - все равно ничего.

2

Базовый, следующий этот link устройство PCI отсоединяется от хоста вручную и вводится в виртуальную машину. Конечным результатом является то, что карта PCIe не является vHBA и, следовательно, не совместима с NPIV (см. Вот), и сообщение об ошибке уведомляет об этом соответственно.

3

Другой подход - использование passthrough режим пересылки, как описано Вот. Это нежелательный режим работы, поскольку он намеренно разрешает доступ только одной vNIC к одной сетевой карте за раз (и вся цель заключается в использовании функциональности SR-IOV), и поведение аналогично hostdev режим пересылки: если имя сетевой карты указано в pf директива работает как базовый мост, и если имя VF указано в pf директива нет ничего.

4

Подобно подходу Passthrough, есть подход MACvTap, описанный Вот, Вот и Вот. Это не применимо. В ixgbe драйвер устанавливает имена ссылок VF, поэтому они обрабатываются по-разному. Нет возможности указать имена VF в качестве интерфейсов, а указание имени интерфейса приводит к передаче интерфейса, аналогичного passthrough режим пересылки. Это может быть связано с версией драйвера, версией ядра, версией libvirt или их комбинацией.

5

Смена SFP тоже не помогает. Изменился на несколько разных моделей, ни одна из которых не работала с картой Intel, за исключением одной, которая получала питание и соединение было установлено (было видно на шине PCIe), но не было обнаружено ixgbe драйвер, ни какие-либо другие модули ядра и никакие интерфейсы не были созданы.

Параметры ядра, используемые для использования процессора, немного отличались от параметров других процессоров.

Игра с параметрами решила обе проблемы.

Основная идея по-прежнему состоит в том, чтобы активировать функциональность SR-IOV в ядре (Intel или AMD) и передать параметры ядра, чтобы установить его в «сквозной» режим.

Использовать этот ссылка на дополнительные параметры ядра.