web-dev-qa-db-ja.com

複雑なxenネットワーク設定でダウンロードレートが絶えず変化するのはなぜですか?

Xenセットアップのネットワーク構成は次のとおりです。

  • dom0には3つのネットワークカード(eth0、eth1、eth2)、3つのブリッジ(xenbrE、xenbrI、xenbrD)があり、各ブリッジは対応するネットワークカードを統合します。 xenbrDのみがIPアドレス(192.168.78.2、プライベートLAN)を構成しているため、すべてのdomUと話し合うことができます。
  • ファイアウォール/ルーターであるdomUがあり、3つの仮想カード(eth0、eth1、eth2)も含まれています。 eth0(xenbrEの一部である外部インターフェイス)で発信されるトラフィックをマスカレードします。

私の問題は、dom0でHTTPを使用してインターネットから大きなファイルをダウンロードすると、ダウンロード速度が安定しないことです。それは徐々に上昇し、その後数秒間停止し、再び徐々に上昇し始めます(そしてダウンロードが完了するまでこれはすべてループします)。ストール中は、マシン上ですべてのネットワークがブロックされているように見えます(インタラクティブなSSHセッションで通知されます)。

dom0                             │domU
     wget                        │
       ↕                         │
eth2↔xenbrD(192.168.78.2)↔vif2.2←┼→eth2(192.168.78.1/24)
                                 │   ↕ masquerading
eth0↔xenbrE↔vif2.0←——————————————┼→eth0(192.168.1.20/24)
 ↕
internet

同じダウンロードを実行するが、ファイアウォールdomUで実行される(非キャッシュ)HTTPプロキシを使用する場合、ダウンロード速度は最大値で安定しています。

どうすればこの問題を回避できますか?

これはネットワークスタックのバグだと思いますが、より正確に診断するための支援が必要です(そしておそらく回避策を見つけてください)。

これは、Xen3.2とDebianLennyの2.6.26-xen-686カーネル(バックポート)を備えたDebianEtchシステムです。ブリッジは/ etc/network/interfacesで作成されます。

auto lo
iface lo inet loopback

auto xenbrE
iface xenbrE inet manual
        bridge_ports eth0
        bridge_maxwait 0

auto xenbrI
iface xenbrI inet manual
        bridge_ports eth1
        bridge_maxwait 0

auto xenbrD
iface xenbrD inet static
        address 192.168.78.2
        netmask 255.255.255.0
        gateway 192.168.78.1
        bridge_ports eth2
        bridge_maxwait 0

Xendの構成は複雑ではありません。

# grep '^(' /etc/xen/xend-config.sxp
(network-script network-dummy)
(vif-script vif-bridge)
(dom0-min-mem 150)
(dom0-cpus 0)
(vncpasswd '')

DomUのXenネットワークセットアップは次の方法で行われます。

# grep vif /etc/xen/xm.slis
vif = [ 'mac=00:16:3e:14:85:11, bridge=xenbrE', 'mac=00:16:3e:14:85:12, bridge=xenbrI', 'mac=00:16:3e:14:85:13, bridge=xenbrD' ]

そして、dom0の唯一のルーティングは、xenbrDを介してdomUにリダイレクトします。

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.78.0    0.0.0.0         255.255.255.0   U     0      0        0 xenbrD
0.0.0.0         192.168.78.1    0.0.0.0         UG    0      0        0 xenbrD

DomUでは、行われるiptables構成はiptables -t nat -A POSTROUTING -s 192.168.78.0/24 -o eth0 -j MASQUERADEのみです。

2

私には本当にメモリの問題のように聞こえます。これは、ローカルプロキシが役立つ方法も説明します。なぜなら、それはすべてを少し失速させるので、カーネルがパケットの処理に追いつくことができるかもしれないからです。 Dom0にメモリを追加して、これを確認してください。私はここで同様の設定を行っていますが、速度測定に使用しているので、それについてあなたが見つけたものには非常に興味があります(ここでは問題は発生していませんが)

1
Sideshowcoder

これは、メモリが不足している場合に発生します...メモリ使用量を確認し、CPU使用率も確認してください。 io_waitがたくさんある場合は、メモリを増やしてdom0に割り当てます。

0

多分xen関連。しかし、dom0以外の別のクライアントに確認できますか?別のdomUは機能していますか?これは、mss/mtuの問題のように、NATセットアップの問題でしょうか?

0
ko-dos