0

I have a server with virtual machines on libvirt. The server has an eth0 external interface. Each virtual machine has its own tap interface (tap0, tap1, tap2, etc.). I need to balance the traffic between the virtual machines, so that with a free channel, any virtual machine can occupy it all, and if another virtual machine also needs a channel, they would divide it in half. I tried to do this with tc qdisc CAKE: tc qdisc add dev eth0 root cake bandwidth 95mbit best effort

But CAKE balances traffic only between flows, and if a VM starts loading with multiple flows, it can still take up most of the channel. How can I balance the traffic so that each VM has the maximum download speed if there is no traffic in the channel, but if another VM wants to download something, they will share bandwidth with each other, for example, 50% for vm1 and 50% for vm2?

It's important that I need to balance inbound traffic too.

0

You must log in to answer this question.

Browse other questions tagged .