Jianfeng and Hu Tao, Just want to draw your attention to this thread if you haven't seen it :). Your review and thoughts on I/O throttling in libvirt would be appreciated. Stefan On Mon, Oct 10, 2011 at 2:45 PM, Lei Li <lilei@xxxxxxxxxxxxxxxxxx> wrote: > Today libvirt supports the cgroups blkio-controller, which handles > proportional shares and throughput/iops limits on host block devices. > blkio-controller does not support network file systems (NFS) or other > QEMU remote block drivers (curl, Ceph/rbd, sheepdog) since they are > not host block devices. QEMU I/O throttling works with all types of > drive and can be applied independently to each drive attached to > a guest and supports throughput/iops limits. > > To help add QEMU I/O throttling support to libvirt, we plan to complete > it with add new API virDomainBlockIoThrottle(), new command 'blkiothrottle' > and Python bindings. > > Notes: we are sending this series out now(even though they are not completed > yet.)because we want to start the review process. These patches implemented > the below features by Zhi Yong Wu: > > 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'/> > <iothrottle bps='100000' bps_rd='20000'.../> > </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>] > > [PATCH 1/5] Add new API virDomainBlockIoThrottle. > [PATCH 2/5] Add virDomainBlockIoThrottle support to the remote driver. > [PATCH 3/5] Implement virDomainBlockIoThrottle for the qemu driver. > [PATCH 4/5] Enable the virDomainBlockIoThrottle API in virsh. > [PATCH 5/5] Enable virDomainBlockIoThrottle in the python API. > > And I will address feedback and work on the missing features in few days > includes: > > 3) The support to display the setting for block i/o throttling - HMP/QMP > 4) Python binding support. > 5) --current --live --config options support to unify the libvirt API. > > > > -- > Lei > > > -- > libvir-list mailing list > libvir-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/libvir-list > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list