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

Загрузки застряли с виртуальной машины, запущенной libvirt (kvm) в Ubuntu 10.04 LTS

Я впервые написал свою проблему на переполнение стека думая, что это проблема прокси-сервера Maven.

Но я понял, что это больше проблема моего стека виртуализации (libvirt 0.7.5-5ubuntu27.19 / kvm 1: 84 + dfsg-0ubuntu16 + 0.12.3 + noroms + 0ubuntu9.16 в Ubuntu 10.04.3 LTS).

Вот конфигурация моей виртуальной машины libvirt:

<interface type='bridge'>
    <mac address='52:54:00:0f:30:ea'/>
    <source bridge='br0'/>
</interface>

И /etc/network/interfaces часть для br0 :

auto eth3
iface eth3 inet manual

auto br0
iface br0 inet static
        address 192.168.1.200
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.254
        bridge_ports eth3
        bridge_stp off
        bridge_maxwait 0

Итак, вот проблема: иногда, когда клиент maven пытается создать проект и загружает много jar-файлов с виртуальной машины, на которой запущен прокси-сервер maven, он зависает при загрузке одного из них:

Downloading: http://192.168.1.213:8081/artifactory/repo/org/apache/apache/9/apache-9.pom
Downloaded: http://192.168.1.213:8081/artifactory/repo/org/apache/apache/9/apache-9.pom (15 KB at 14.0 KB/sec)
Downloading: http://192.168.1.213:8081/artifactory/repo/org/apache/maven/plugins/maven-release-plugin/2.2.1/maven-release-plugin-2.2.1.jar
5 KB    

Я устранил программную проблему, потому что настроил аналогичный сервер на другом реальном компьютере, и он работает.

Я пробовал переключить ip_forward к 0 чтение Зависание сети с KVM / libvirt и ip_forward = 1 без результата.

Я пробовал добавить CAP_NET_ADMIN возможность чтения KVM / Сеть на вики Ubuntu без результатов.

Я пытался настроить свой br0 добавление этих свойств в /etc/network/interfaces без результатов:

bridge_fd 9
bridge_fd 0
bridge_hello 2
bridge_maxage 12

(Также пробовал bridge_stp on)

Пытался изменить модель чтения виртуального сетевого интерфейса эта запись в блоге, добавив <model type='e1000'/> внутри <interface> tag, и у меня наконец-то были лучшие результаты (но он все равно иногда блокировался, даже если это реже). Лучше также с rtl8139 модель.

Я пытался зафиксировать обмен между моим клиентом и виртуальной машиной, и кажется, что он всегда зависает, когда клиент TCP-соединения отправляет [ACK] с Len=0. Вот обмен, захваченный Wireshark.

Кажется, у меня такая же ошибка, как этот (на панели запуска).

Может ли кто-нибудь указать мне на лучшую конфигурацию libvirt / KVM?

Вы можете попробовать запустить новый стек виртуализации, который был перенесен на lucid. Добавьте следующий PPA и попробуйте;

https://launchpad.net/~nutznboltz/+archive/kvm-libvirt-lts

http://wiki.libvirt.org/page/Networking сообщает об аналогичной конфигурации, но с

bridge_stp on

(не совсем уверен, что это может помочь).