4

Моя виртуальная машина (Ubuntu 12.04) имеет 2 подключенных сетевых интерфейса, которые распознаются как eth0 и eth1 .

Теперь я хочу изменить карты на virtio для повышения производительности, поэтому я открываю настройки виртуальной машины и меняю оба типа адаптеров на паравиртуализированную сеть (virtio-net)

Но после перезагрузки производительность кажется такой же, если не сказать еще медленнее, и когда я проверил вывод ifconfig есть еще один интерфейс virbr0 кроме eth0 и eth1 .

Я думал, что изменение типа в VirtualBox сделает eth0 и eth1 адаптером virtio. Это было позже подтверждено несколькими страницами, которые я нашел в Интернете. Они сказали, что достаточно просто поменять тип адаптера и скорость сразу улучшится. Но в моем случае это не так.

Как настроить адаптеры, чтобы он работал?

Конфигурация такая. eth0 - это мост к внешней сети. eth1 - хост-адаптер

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:62:0d:bd
          inet addr:10.184.130.70  Bcast:10.184.130.255  Mask:255.255.240.0
          inet6 addr: fe80::a00:27ff:fe64:dbd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:411321 errors:0 dropped:2 overruns:0 frame:0
          TX packets:118875 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:298154310 (298.1 MB)  TX bytes:65017532 (65.0 MB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:9d:6b:df
          inet addr:172.17.0.6  Bcast:172.17.255.255  Mask:255.255.0.0
          inet6 addr: fe80::a00:27ff:fe8d:6bdf/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12445 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13566 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1275663 (1.2 MB)  TX bytes:8705940 (8.7 MB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8538 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8538 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2286738 (2.2 MB)  TX bytes:2286738 (2.2 MB)

virbr0    Link encap:Ethernet  HWaddr 76:ee:57:37:78:7c
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Я запускал lsmod | grep virt но результат не показан. insmod тоже ничего не показывает как virtio_net

$ insmod virt<tab><tab>
virtio_balloon  virtio_console  virtio_mmio     virtio-rng      virtual

Текущее ядро Linux vmdev 3.2.0-124-generic #167-Ubuntu SMP Fri Mar 3 15:26:21 UTC 2017 i686 i686 i386 GNU/Linux . Есть ли какие-либо опции, которые мне нужны, чтобы разрешить загрузку драйвера virtio?

Файл /etc/udev/rules.d/70-persistent-net.rules показывает ничего, связанного с virtio, кроме как в комментарии, когда я регенерирую MAC-адрес адаптера

Я провел много тестов с iperf и результаты с адаптером Intel PRO/1000 варьируются в пределах 250-350 Мбит /с, в то время как результаты для карт virtio-net всегда лежат между 100-150 Мбит /с, что намного ниже моих ожиданий. Поэтому я переключаюсь обратно на карту e1000 прямо сейчас, пока не будет найдено решение.

Я видел некоторые возможные проблемы в интернете, но до сих пор не смог решить


Редактировать:

Мой проект обновлен до новой 64-разрядной виртуальной машины Ubuntu 14.04 (3.13.0-86-generic #131-Ubuntu SMP Thu May 12 23:33:13 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux), но результаты остались прежними , virtio по-прежнему намного медленнее Intel 1000

1 ответ1

0

Руководство Глава 6.Виртуальная сеть:

«Паравиртуализированный сетевой адаптер (virtio-net)» является особенным. Если вы выберете это, VirtualBox не будет виртуализировать обычное сетевое оборудование (которое поддерживается стандартными гостевыми операционными системами из коробки). Вместо этого VirtualBox ожидает, что гость предоставит специальный программный интерфейс для виртуализированных сред, что позволит избежать сложности эмуляции сетевого оборудования и повышения производительности сети. Начиная с версии 3.1, VirtualBox обеспечивает поддержку стандартных сетевых драйверов "virtio", которые являются частью проекта KVM с открытым исходным кодом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .