(1) В виртуальную машину передаются только первые 2 VF.
и
(2) Нет трафика к виртуальной машине.
ixgbe
Попытка использовать функциональность SR-IOV. Обновление sriov_numvfs
до 4 в обоих сетевых адаптерах приводит к получению 4 VF на каждый сетевой адаптер. Запуск виртуальной машины и подключение ее к обоим сетевым адаптерам на Intel 82599.
Использование генератора трафика для проверки настройки.
Перед запуском виртуальной машины ixgbe
драйвер создает еще 8 ссылок (по одной на каждый VF) на хосте, все они видны в ip link
и находятся в нерабочем состоянии. После активации виртуальной машины в виртуальную машину передаются только 2 VF (первая VF в каждой сетевой карте, что означает функция 0).
Перед активацией ВМ
lspci
в хосте показаны как сетевые карты, так и все VF на шине PCI.ip link
в хосте показаны все 8 ссылок, созданных драйвером (состояние отключено с назначенными MAC-адресами), и обе сетевые карты.После активации ВМ
lspci
в хосте показаны как сетевые карты, так и все VF на шине PCI.lspci
в гостевой показывает только 2 переданных VF.ip link
в хосте после активации виртуальной машины показывает оставшиеся 6 ссылок, созданных драйвером (с назначенными MAC-адресами), показывает как сетевые адаптеры карты, так и все VF (с назначенными MAC-адресами).ip link
в гостевой системе показаны 2 NIC, которые подключены к VF (с MAC-адресами - правильные и соответствующие HW).virsh net-dumpxml
на обоих сетевых адаптерах) показывает все 8 VF, отсортированных и подключенных к виртуальной машине.но...
Нет трафика на виртуальную машину.
Есть трафик от виртуальной машины вовне.
Любые идеи?
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) и передать параметры ядра, чтобы установить его в «сквозной» режим.
Использовать этот ссылка на дополнительные параметры ядра.