Невероятно низкая скорость передачи данных на/с виртуальной машины

Невероятно низкая скорость передачи данных на/с виртуальной машины

Недавно я настроил программный raid на Ubuntu (который находится на SSD) с помощью Webmin, который отлично работал и также был быстрым. Я оставил немного места на SSD, на который установил виртуальную машину Windows 8.1 Pro с помощью virt-manager. В virt-manager я создал образ необработанного диска на диске raid и добавил его в виртуальную машину Windows. Пока все хорошо, скорость передачи файлов с загрузочного диска виртуальной машины (SSD) на диск raid и наоборот полностью устраивает. НО если я передаю файл по гигабитному Ethernet с другого ПК через виртуальную машину Windows на диск raid, я получаю только пятую часть скорости (примерно 30 МБ/с)! Как это может быть? Заранее спасибо за ваши ответы.

Дополнительная информация:

  • SSD: Ubuntu (хост) и Windows vm
  • RAID: Программный RAID в Ubuntu с использованием Webmin (быстрый и стабильный); два диска в RAID 0 (только для тестирования), скорость записи/чтения около 150 МБ/с
  • VM: Необработанный образ диска фиксированного размера на RAID-диске, включенный в virt-manager
  • Ethernet: Gigabit для хоста и виртуальной машины (те же низкие скорости при использовании NAT/виртуального моста)
  • Другой ПК: напрямую подключен к гигабитному Ethernet через коммутатор Gigabit Ethernet

решение1

Итак, после дополнительных исследований я наконец нашел объяснение! Похоже, что сетевой интерфейс, который я использовал для виртуальной машины (стандартный, предоставляемый Ubuntu, а может и многими другими)с именем rtl....очень медленный, но работает из коробки. Тот, который я использую сейчас (и вам, вероятно, тоже стоит использовать) - это тотназванный VirtIO.
Но сначала вам нужно установить драйверы, которые вы можете скачать здесь:
https://docs.fedoraproject.org/quick-docs/en-US/creating-windows-virtual-machines-using-virtio-drivers.html
Поскольку моя виртуальная машина работает под управлением Windows, я загрузил «Stable virtio-win iso» (со страницы выше) в разделе «Прямые загрузки», используяртл....интерфейс. Затем я изменил сетевой интерфейс наVirtIOи перезапустил виртуальную машину. Смонтировал iso как DVD-привод и установил драйверы вручную с помощью диспетчера устройств.

И все! Надеюсь, это поможет кому-то еще ;)

Связанный контент