[Gelöst] libvirt, kvm, qemu -- Netzwerkgeschwindigkeit
[Gelöst] libvirt, kvm, qemu -- Netzwerkgeschwindigkeit
Hallo.
Ich habe mir mit libvirt, KVM, qemu und einer Bridge zum basteln einen Rechner konfiguriert. Das Problem, welches ich hier Beschreibe, habe ich sowohl mit Squeeze, Ubuntu 12.04 und CentOS 6.3 (ich hab dafür 3 verschiedene Festplatten verwendet). Der Rechner selbst ist mit GBit ans lokale Netzwerk angebunden, was über die Bridge an die VM's weitergereicht wird.
Ich möchte nun die Netzwerkgeschwindigkeit für einzelne VM's drosseln -- Beispielsweise auf 100MBit. Am einfachsten wäre es vermutlich den Netzwerktreiber in der VM umzustellen, was aber leider ausfällt, da ich das nicht zentral verwalten kann.
Ich habe schon verschiedene virtuelle Netzwerkkarten ausprobiert, unter anderen:
e1000
virtio
ne2k_pci (hat permanent Abstürze der VM verursacht)
rtl8139 ... usw.
Mit brctl auf dem Host kann ich ja nichts einstellen, mit "ip link" und anderen Programmen (ethtool, mii-tool, ...) konnte ich nichts ausrichten.
Was habe ich übersehen? Hat jemand eine Idee, wie ich das lösen könnte?
Ich habe mir mit libvirt, KVM, qemu und einer Bridge zum basteln einen Rechner konfiguriert. Das Problem, welches ich hier Beschreibe, habe ich sowohl mit Squeeze, Ubuntu 12.04 und CentOS 6.3 (ich hab dafür 3 verschiedene Festplatten verwendet). Der Rechner selbst ist mit GBit ans lokale Netzwerk angebunden, was über die Bridge an die VM's weitergereicht wird.
Ich möchte nun die Netzwerkgeschwindigkeit für einzelne VM's drosseln -- Beispielsweise auf 100MBit. Am einfachsten wäre es vermutlich den Netzwerktreiber in der VM umzustellen, was aber leider ausfällt, da ich das nicht zentral verwalten kann.
Ich habe schon verschiedene virtuelle Netzwerkkarten ausprobiert, unter anderen:
e1000
virtio
ne2k_pci (hat permanent Abstürze der VM verursacht)
rtl8139 ... usw.
Mit brctl auf dem Host kann ich ja nichts einstellen, mit "ip link" und anderen Programmen (ethtool, mii-tool, ...) konnte ich nichts ausrichten.
Was habe ich übersehen? Hat jemand eine Idee, wie ich das lösen könnte?
Zuletzt geändert von gbotti am 16.08.2012 10:48:51, insgesamt 1-mal geändert.
Georg
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft
Re: libvirt, kvm, qemu -- Netzwerkgeschwindigkeit
Soweit ich weiß bieten KVM bzw. die dazugehörigen Wrappertools kein Bandwidth Limiting nativ an. Über tc ist sowas jedoch möglich. Ob man das jetzt direkt auf dem Host oder in der VM konfigurieren sollte, kann ich nicht sagen. Zum Tool an sich finden sich jedoch etliche Anleitungen im WWW.
Re: libvirt, kvm, qemu -- Netzwerkgeschwindigkeit
Ich würde das als Einschränkung für die VM verstehen, die sie selbst nicht umgehen dürfen soll. Außerdem soll die Verwaltung zentral erfolgen, das spricht beides für "auf dem Host".nTraum hat geschrieben:Ob man das jetzt direkt auf dem Host oder in der VM konfigurieren sollte, kann ich nicht sagen.
Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: libvirt, kvm, qemu -- Netzwerkgeschwindigkeit
Hallo.
Vielen Dank für die Antworten.
Ich habe inzwischen herausgefunden, dass man die "bandwidth" mit einem "average" belegen kann, da sind aber die Werte völlig merkwürdig.
Ich probiere tc mal aus. Falls noch jemand ne Idee hat, bitte gerne hier hin schreiben.
Vielen Dank für die Antworten.
Ich habe inzwischen herausgefunden, dass man die "bandwidth" mit einem "average" belegen kann, da sind aber die Werte völlig merkwürdig.
Ich probiere tc mal aus. Falls noch jemand ne Idee hat, bitte gerne hier hin schreiben.
Georg
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft
Re: libvirt, kvm, qemu -- Netzwerkgeschwindigkeit
Du scheinst Recht zu haben, laut libvirt-Doku (Punkt "Quality of service") kann man in der XML-Definition der Gäste QoS für diese definieren.
Re: libvirt, kvm, qemu -- Netzwerkgeschwindigkeit
Hi.
Hier steht nämlich bits und dort stehen kilobytes per second.
Meine Aktuelle Konfiguration schaut nun so aus:
Damit krieg ich aber etwa 130 MBit/s zusammen.
Wenn ich es mit den kilobyte-Werten probiere, also in etwa so:
bekomme ich merkwürdige Werte unter 10 MBit/s zusammen.
Weiß jemand, was ich falsch mache?
Edit: Übrigens. Ich verwende iperf im Netzwerk auf einen Squeeze-Rechner mit 1GBit-Anbindung (keine virtuelle Maschine). Ohne die bandwidth-Werte komme ich mit iperf auf etwa 800 MBit/s.
Nur mit den Werten komm ich nicht klar.nTraum hat geschrieben:Du scheinst Recht zu haben, laut libvirt-Doku (Punkt "Quality of service") kann man in der XML-Definition der Gäste QoS für diese definieren.
Hier steht nämlich bits und dort stehen kilobytes per second.
Meine Aktuelle Konfiguration schaut nun so aus:
Code: Alles auswählen
...
<bandwidth>
<inbound average='100000' peak='100000' burst='1024'/>
<outbound average='100000' peak='100000' burst='1024'/>
</bandwidth>
...
Wenn ich es mit den kilobyte-Werten probiere, also in etwa so:
Code: Alles auswählen
...
<bandwidth>
<inbound average='12500' peak='12500' burst='1024'/>
<outbound average='12500' peak='12500' burst='1024'/>
</bandwidth>
...
Weiß jemand, was ich falsch mache?
Edit: Übrigens. Ich verwende iperf im Netzwerk auf einen Squeeze-Rechner mit 1GBit-Anbindung (keine virtuelle Maschine). Ohne die bandwidth-Werte komme ich mit iperf auf etwa 800 MBit/s.
Georg
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft
Re: libvirt, kvm, qemu -- Netzwerkgeschwindigkeit
Hi,
ich finde in beiden Dokus folgenden Satz wieder:
ich finde in beiden Dokus folgenden Satz wieder:
Den Satz davor "It specifies average bit rate on interface being shaped." würde ich eher als allgemeine Beschreibung verstehen und nicht als konkrete Einheitenangabe.Accepted values for attributes are integer numbers, The units for average and peak attributes are kilobytes per second, and for the burst just kilobytes.
[Gelöst] Re: libvirt, kvm, qemu -- Netzwerkgeschwindigkeit
Hi.
Aber danke für die Antworten. Ich markiere das hier vorerst mal als "gelöst"
Diesen Satz habe ich auch gesehen. Jedoch wenn ich 12500 kilobytes per second eintrage, dann komme ich mit iperf auf einen Wert um die 10 MBit/s. Jetzt habe ich 100000 eingestellt, jetzt klappt es ungefähr. Ungenau ist immer noch besser als garnicht. Es geht eigentlich hauptsächlich darum, dass eine einzelne VM den nicht physikalischen Port blockieren kannnTraum hat geschrieben:Hi,
ich finde in beiden Dokus folgenden Satz wieder:Den Satz davor "It specifies average bit rate on interface being shaped." würde ich eher als allgemeine Beschreibung verstehen und nicht als konkrete Einheitenangabe.Accepted values for attributes are integer numbers, The units for average and peak attributes are kilobytes per second, and for the burst just kilobytes.
Aber danke für die Antworten. Ich markiere das hier vorerst mal als "gelöst"
Georg
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft
Re: [Gelöst] libvirt, kvm, qemu -- Netzwerkgeschwindigkeit
12.500 kB/s sind doch 10.000 MBit/s, oder missverstehen wir uns gerade?
Re: [Gelöst] libvirt, kvm, qemu -- Netzwerkgeschwindigkeit
Hi.
Also. Laut der Doku ist der Wert für "average" in "kilobytes per second" anzugeben. 12500 kilobytes per second sind etwa 100.000 MBit/s. Wenn ich aber 12500 bei average eintrage, dann bekomme ich mit iperf gerade mal etwa 10 MBit/s ausgespuckt. Bei dem Wert 100.000 bekomme ich etwas mehr als 100 MBit/s angezeigt.
Also. Laut der Doku ist der Wert für "average" in "kilobytes per second" anzugeben. 12500 kilobytes per second sind etwa 100.000 MBit/s. Wenn ich aber 12500 bei average eintrage, dann bekomme ich mit iperf gerade mal etwa 10 MBit/s ausgespuckt. Bei dem Wert 100.000 bekomme ich etwas mehr als 100 MBit/s angezeigt.
Georg
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft