incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcus Sorensen <shadow...@gmail.com>
Subject Re: [ACS41]Unable to shrink volumes of type QCOW2
Date Thu, 28 Feb 2013 14:45:51 GMT
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.battala@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:wido@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:wido@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 <wido@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-b0bd-
>> >> 703
>> >>>>> 567eda58f","pool":{"id":200,"uuid":"17700ab0-df5a-3047-a631-588d93
>> >>>>> 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
>> >>>>>
>> >>>>
>> > []
>> >

Mime
View raw message