
On Fri, Oct 28, 2011 at 04:59:40PM +0800, Lei Li wrote:
On 10/27/2011 11:45 PM, Eric Blake wrote:
On 10/27/2011 03:12 AM, Lei Li wrote:
1) Enable the blkio throttling in xml when guest is starting up.
Add blkio throttling in xml as follows:
<disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/var/lib/libvirt/images/kvm-one.img'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> <iotune bps='n'.../> </disk>
2) Enable blkio throttling setting at guest running time.
virsh blkiothrottle<domain> <device> [--bps<number>] [--bps_rd<number>] \ [--bps_wr<number>] [--iops<number>] [--iops_rd<number>] [--iops_wr<number>]
3) The support to get the current block i/o throttling for a device - HMP/QMP.
virsh blkiothrottle<domain> <device>
Given that the XML is named <iotune> under <disk>, we should probably name the virsh command 'blkiotune' or 'disk-iotune', not 'blkiothrottle'.
Hi Eric, we used<iothrottle> first, I changed it since Daniel P. Berrange proposed<iotune> for per-disk element instead of<iothrottle> when we discussed at RFC V1.
The command 'blkiotune' already exist, supported the cgroups blkio-controller, which handles proportional shares and throughput/iops limits on host block devices, global to the domain, but blkio throttling is specified per-disk and can vary across multiple disks. They are different two mechanism.
This is a per-device tunable, so just insert 'dev' into the command name. ie: blkdeviotune Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|