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

Получение счетчиков виртуальных функций Intel SR-IOV

После некоторых исследований Intel SR-IOV, Я понял, что нет удобного способа получить VF счетчики, пока VF интерфейс подключается к ВМ (например, в QEMU / KVM ВМ с Либвирт управляющий делами). Более того, я не нашел даже неудобного способа сделать это, потому что как только ВМ создается на ВЕДУЩИЙ и он связан в конфигурации с некоторыми VF интерфейс (это основной вариант использования VF SRI-OV), интерфейс автоматически отключается от ВЕДУЩИЙ и прикреплен к ВМ (Я думаю, что это сделано специально, чтобы позволить сквозной передаче обойти ядро ​​или что-то в этом роде), и на самом деле я еще не нашел способа найти счетчики VF используется прилагаемым ВМ на ВЕДУЩИЙ(Я использую Ubuntu 16.04, и я пробовал искать счетчики на портах VF, с ethtool -S на интерфейсе PF, но безрезультатно), эти счетчики могут быть очень полезны в различных ситуациях. Было бы очень полезно, если бы кто-то, у кого есть опыт работы с СРИОВ может пролить свет на эту проблему и сказать мне, что я ошибаюсь и что есть простой способ.
Спасибо!

Обновить:. На самом деле я обнаружил, что ethtool -S может быть полезно, это позволит вам увидеть TX / RX счетчики очереди nic, и я обнаружил, что VF функциональный драйвер ixgbevf использует ровно одну другую пару TX / RX очереди на каждый VF. И они назначаются в порядке возрастания, поэтому можно было бы выполнить сопоставление. Но, к сожалению, это уродливое решение, зависящее от драйвера.

К сожалению, вы не ошиблись, вся идея SR-IOV заключается в том, что он позволяет виртуальной машине напрямую взаимодействовать с сетевой картой без гипервизора или хоста в середине. Он не видит пакеты для генерации счетчиков, вы ничего не получите с помощью ethtool или обычными способами. Возможно, вы сможете получить что-то из корня сетевой карты, но это зависит от используемых вами драйверов и т. Д.