I've got XCP 1.0 up and running nicely and would like to use
it in production. However I'm struggling with the concept of
bandwidth management. It seems like such a common problem that
everyone must have, but I can't find any clear direction in
which to go.
The dedicated host I am using (Hetzner) gives me a 5TB
monthly bandwidth quota which needs to be shared between all the
VMs on the XCP.
Ideally I would like something to automatically manage the
bandwidth such that each VM is capable of using the full 100mbps
speed of the connection, but will be throttled back if the
throughput is sustained, so we have e.g. 24 x 1GB VMs on the
host with average of 213GB/month bandwidth usage each.
Alternatively it might be easier to just route all the
virtual interfaces though a VM than runs pfsense or use tc on
the host to just set some sort of shaping on the physical
interface itself, but I really don't know the best way to go
Things I've found so far aren't so good:
1 - Limit the interface using the XenCenter GUI... but that
means the VM would never be able to go above about 1mbps, even
if it's sat there and used no bandwidth for the past week and is
well within its quota, so that's not ideal.
2 - Use sFlow in XCP to capture the data. Well this works for
looking at how much bandwidth they are using, but I haven't
found any existing tool that will act on that data to do traffic
3 - Use the XAPI calls to check the bandwidth usage.
With methods 2 and 3 I guess I could write something that
collects the data and stores it a database table, somehow work
out how much the connection needs to be slowed by and then apply
it using the XAPI, but that seems rather hacky and difficult and
there must be a better way?
If anyone could give some tips on how to do this I'd really
appreciate it. Basically I just want the quickest and easiest
way to make it so that the server as a whole doesn't go over its
bandwidth limit without limiting all the guests to a tiny speed
Xen-users mailing list