Hi Marcus, Increasing the size of disk is supported for the qcow2, I had verified it on rhel6.3. I had given the observations below. It would be good if you allow resize on qcow2 if it's going to be increase in size than shrink.
Thanks Rajesh Battala > -----Original Message----- > From: Marcus Sorensen [mailto:shadow...@gmail.com] > Sent: Thursday, February 28, 2013 8:16 PM > To: cloudstack-dev@incubator.apache.org > Subject: Re: [ACS41]Unable to shrink volumes of type QCOW2 > > This is why I disabled it via the code pointed out. It was unreliable. > When I originally developed it, it seemed to work. And then a few weeks later > during testing we got "qemu-img: This image format does not support resize". > Growing works fine, shrinking doesn't seem to be reliable, or depends on a > particular version of qemu-img or something... I'll need to investigate if I > can > find the condition in which it worked. But anyway, that's why shrinking is in > resizevolume.sh, but disallowed in the code. > > > On Thu, Feb 28, 2013 at 3:54 AM, Rajesh Battala <rajesh.batt...@citrix.com> > wrote: > > I had tried on rhel 6.3, > > Increase the volume size is happening without error. But while decreasing > > the > size its showing the error format not supported. > > > > qemu-img resize myvol.qcow2 +50G > > Image resized. > > > > [root@kvm57 ~]# qemu-img resize myvol.qcow2 40G > > qemu-img: This image format does not support resize > > > > > > Thanks > > Rajesh Battala > > > >> -----Original Message----- > >> From: Wido den Hollander [mailto:w...@widodh.nl] > >> Sent: Thursday, February 28, 2013 3:34 PM > >> To: cloudstack-dev@incubator.apache.org > >> Subject: Re: [ACS41]Unable to shrink volumes of type QCOW2 > >> > >> > >> > >> On 02/28/2013 10:53 AM, Rajesh Battala wrote: > >> > When I was going through the source and resizevolume.sh, In the > >> > libvirtcomputing resources, we are restricting to resize only for "raw" > >> > disks. > >> > But in the resizevolume.sh which will actually do the resizing of > >> > the disks, this > >> file has the function resizeqcow2() which is actually has the > >> capability to resize > >> qcow2 image. > >> > > >> > From this source http://linux.die.net/man/1/qemu-img > >> > qemu-img resize supports qcow2 image format also. Am not sure why > >> > we are > >> restricting not to convert qcow2 images. > >> > >> Indeed, resizevolume.sh allows QCOW2 files to be shrunk. > >> > >> BUT, I just tried it on my desktop and that fails: > >> > >> wido@wido-desktop:~$ qemu-img create -f qcow2 volume.qcow2 50G > >> Formatting 'volume.qcow2', fmt=qcow2 size=53687091200 encryption=off > >> cluster_size=65536 > >> wido@wido-desktop:~$ qemu-img resize volume.qcow2 -20G > >> qemu-img: This image format does not support resize > >> wido@wido-desktop:~$ > >> > >> On my desktop at the office it works, but that is running a manually > >> compiled Qemu version. > >> > >> So the stock Ubuntu 12.04 Qemu version does not support shrinking > >> QCOW2 files. Not sure about CentOS/RHEL 6.3. > >> > >> Wido > >> > >> > > >> > > >> > Thanks > >> > Rajesh Battala > >> > > >> > > >> >> -----Original Message----- > >> >> From: Wido den Hollander [mailto:w...@widodh.nl] > >> >> Sent: Thursday, February 28, 2013 3:05 PM > >> >> To: cloudstack-dev@incubator.apache.org > >> >> Subject: Re: [ACS41]Unable to shrink volumes of type QCOW2 > >> >> > >> >> > >> >> > >> >> On 02/28/2013 07:39 AM, Marcus Sorensen wrote: > >> >>> On Wed, Feb 27, 2013 at 6:58 AM, Wido den Hollander > >> >>> <w...@widodh.nl> > >> >> wrote: > >> >>>> On 02/27/2013 12:45 PM, Sailaja Mada wrote: > >> >>>>> > >> >>>>> Hi, > >> >>>>> > >> >>>>> Out of my curiosity , I tried to resize the volume with shrink > >> >>>>> option set to true . It failed to resize volume from 20 GB to > >> >>>>> 10 GB . This is with KVM > >> >>>>> 6.3 hypervisor. Do we have support this feature with KVM ? > >> >>>>> > >> >>>>> 2013-02-27 17:01:55,052 DEBUG [cloud.api.ApiServlet] > >> >>>>> (catalina-exec-1:null) ===END=== 10.144.7.13 -- GET > >> >>>>> command=resizeVolume&id=ff94b87c-973c-4698-9fd2- > >> >> 4a1375f5a7c0&shrinko > >> >>>>> k=true&diskofferingid=8c61068f-f997-48f5-a8ee-dfe8fd3571f2&size > >> >>>>> =10 > >> >>>>> &r > >> >>>>> > >> >> > >> > esponse=json&sessionkey=Ijl3uimE7kcZYn0P%2FK4AEvh%2B3fw%3D&_=136196 > >> >> 4 > >> >>>>> 737075 > >> >>>>> 2013-02-27 17:01:55,054 DEBUG [cloud.async.AsyncJobManagerImpl] > >> >>>>> (Job-Executor-66:job-128) Executing > >> >>>>> org.apache.cloudstack.api.command.user.volume.ResizeVolumeCmd > >> >>>>> for > >> >>>>> job-128 > >> >>>>> 2013-02-27 17:01:55,078 DEBUG [agent.transport.Request] > >> >>>>> (Job-Executor-66:job-128) Seq 1-648544436: Sending { Cmd , MgmtId: > >> >>>>> 55487956346259, via: 1, Ver: v1, Flags: 100011, > >> >>>>> [{"storage.ResizeVolumeCommand":{"path":"d6a5ce3c-ca40-426d- > b0b > >> >>>>> d- > >> >> 703 > >> >>>>> 567eda58f","pool":{"id":200,"uuid":"17700ab0-df5a-3047-a631-588 > >> >>>>> d93 > >> >>>>> dd > >> >>>>> > 749a","host":"10.102.192.100","path":"/cpg_vol/sailaja/asf41kvmps"," > >> >>>>> > port":2049,"type":"NetworkFilesystem"},"vmInstance":"none","newSize" > >> >>>>> :10737418240,"currentSize":21474836480,"shrinkOk":true,"wait":0 > >> >>>>> }}] > >> >>>>> } > >> >>>>> 2013-02-27 17:01:55,192 DEBUG [agent.transport.Request] > >> >>>>> (AgentManager-Handler-10:null) Seq 1-648544436: Processing: { Ans: > >> >>>>> , > >> >>>>> MgmtId: 55487956346259, via: 1, Ver: v1, Flags: 10, > >> >>>>> [{"storage.ResizeVolumeAnswer":{"newSize":0,"result":false,"details" > >> >>>>> :"Unable to shrink volumes of type QCOW2","wait":0}}] } > >> >>>>> 2013-02-27 17:01:55,192 DEBUG [agent.transport.Request] > >> >>>>> (Job-Executor-66:job-128) Seq 1-648544436: Received: { Ans: , > MgmtId: > >> >>>>> 55487956346259, via: 1, Ver: v1, Flags: 10, { > >> >>>>> ResizeVolumeAnswer } } > >> >>>>> 2013-02-27 17:01:55,192 DEBUG > >> >>>>> [cloud.storage.StorageManagerImpl] > >> >>>>> (Job-Executor-66:job-128) Resize: returned 'Unable to shrink > >> >>>>> volumes of type QCOW2' > >> >>>>> 2013-02-27 17:01:55,201 DEBUG [cloud.async.AsyncJobManagerImpl] > >> >>>>> (Job-Executor-66:job-128) Complete async job-128, jobStatus: 2, > >> >> resultCode: > >> >>>>> 530, result: Error Code: 530 Error text: Failed to resize > >> >>>>> volume > >> >>>>> 2013-02-27 17:01:58,073 DEBUG [cloud.api.ApiServlet] > >> >>>>> (catalina-exec-17:null) ===START=== 10.144.7.13 -- GET > >> >>>>> command=queryAsyncJobResult&jobId=68fdb060-343c-4a64-8ccd- > >> >> ce738da07a > >> >>>>> > >> >> > >> > 9b&response=json&sessionkey=Ijl3uimE7kcZYn0P%2FK4AEvh%2B3fw%3D&_=13 > >> >> 6 > >> >>>>> 1964740184 > >> >>>>> 2013-02-27 17:01:58,081 DEBUG [cloud.async.AsyncJobManagerImpl] > >> >>>>> (catalina-exec-17:null) Async job-128 completed > >> >>>>> 2013-02-27 17:01:58,085 DEBUG [cloud.api.ApiServlet] > >> >>>>> (catalina-exec-17:null) ===END=== 10.144.7.13 -- GET > >> >>>>> command=queryAsyncJobResult&jobId=68fdb060-343c-4a64-8ccd- > >> >> ce738da07a > >> >>>>> > >> >> > >> > 9b&response=json&sessionkey=Ijl3uimE7kcZYn0P%2FK4AEvh%2B3fw%3D&_=13 > >> >> 6 > >> >>>>> 1964740184 > >> >>>>> > >> >>>>> > >> >>>> > >> >>>> Checking the code I found this in LibvirtComputingResource: > >> >>>> > >> >>>> boolean shrinkOk = cmd.getShrinkOk(); > >> >>>> > >> >>>> } else if (type.equals("QCOW2") && shrinkOk) { > >> >>>> return new ResizeVolumeAnswer(cmd, false, "Unable to shrink > >> >>>> volumes of type " + type); } > >> >>>> > >> >>>> Seems like a logical mistake? Shouldn't that be !shrinkOk? > >> >>>> > >> >>> > >> >>> Not a logical mistake. It's saying if you are trying to shrink a > >> >>> qcow2 image, it's not supported. > >> >>> > >> >> > >> >> Heh? QCOW2 does support shrinking? So why isn't it allowed then? > >> >> > >> >> Wido > >> >> > >> >>>> Wido > >> >>>> > >> >>>>> Thanks, > >> >>>>> Sailaja.M > >> >>>>> > >> >>>> > >> > [] > >> >