Hi Michal,
Thanks for the reply.
But i want to keep this setting, my intention is to set IO throttling (IO
tunning) over the block storage which is attached to the VM.
As per my understanding there are 2 ways to do it.
1. Using Cgroup - we can put the IO throttling on the device using
cgroup command (this i have tried and it is working)
2. Using Libvirt API virDomainSetBlockIoTune() - But i am not able to
achieve the IO throttling using it, please suggest how to do it.
Please let me know how to do it using Libvirt.
Regards,
Vikrant
On Thu, May 9, 2013 at 5:42 PM, Michal Privoznik <mprivozn(a)redhat.com>wrote:
On 09.05.2013 14:02, vikrant verma wrote:
> Hi All,
>
> I am setting the value for "read_bytes_sec" using the following API
code
>
> virDomainSetBlockIoTune(dom, "/mnt/tmpsdb/FileVM1", parainfoPtr,
> nparams, 2);
>
> I am succesfully able to set this value and i can read it back using the
API
>
>
>
virDomainGetBlockIoTune(dom,"/mnt/tmpsdb/FileVM1",parainfoPtr,&nparams,2);
>
> But after setting this value when i shutdown my VM and start it again I
> am getting following error -
>
> ibvirtError: internal error Process exited while reading console log
> output: qemu-system-x86_64: -drive
>
file=/mnt/tmpsdb/FileVM1,if=none,id=drive-ide0-1-1,format=raw,bps_rd=1048576:
> Invalid parameter 'bps_rd'
Interesting. What's the qemu version? bps_rs has been introduced in
qemu-1.1 IIRC.
>
>
> Note - when i see dumpxml of the VM following lines are got added after
> setting the iotunes for read_bytes_sec
>
> <iotune>
> <read_bytes_sec>1048576</read_bytes_sec>
> </iotune>
>
Yep, that's correct. If you don't need this setting anymore, just delete
it (e.g. by using virsh edit) and you should be able to start the domain
up again.
>
> Please help me. Also i wanted to know whether we can set block IO tune
> for a VM using the above API. Is it same as the IO throttling provided
> by cgroup?
>
>
>
Michal