Я впервые написал свою проблему на переполнение стека думая, что это проблема прокси-сервера 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 и попробуйте;
http://wiki.libvirt.org/page/Networking сообщает об аналогичной конфигурации, но с
bridge_stp on
(не совсем уверен, что это может помочь).