I could not figure out exactly what vol-download or vol-upload do or how they work. But I did <br>discover that vol-create-from does work across pools.  It does requires one to create an XML <br>def for the volume which I had never done.  It appears at least one does not have to a give a <br>
complete definition (I did not specify key or extents for example) or even correct (I specificed <br>qcow2 format but it still made a raw format volume on the LV).  SO essentially I did<br><br>  virsh vol-dumpxml surfer-2.img vmback > surfer.xml<br>
<br>Edit surfer.xml to have no key, change name, have LV path, etc.<br><br>  virsh vol-create-from vmpool1 surfer.xml surfer-2.img --inputpool vmback<br><br>I then fired up virt-manager and edited the domain definition to delete the old disk and add<br>
the new volume as its new disk.  Then booted it in single user mode so I could fix the<br>mac address in the ifcfg-eth0 and udev/rules.d/70-persistant-net.rules files.<br><br><div class="gmail_quote">On Wed, Nov 7, 2012 at 5:18 PM, Paul Raines <span dir="ltr"><<a href="mailto:paul.raines@gmail.com" target="_blank">paul.raines@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Can you show me how one would use vol-download and vol-upload to do this?<br>I cannot figure it out from the docs.  What I have in the old directory based storage pool is:<br>
<br>virsh # pool-info vmback<br>Name:           vmback<br>
UUID:           7a8ab88b-42a9-f4c9-128e-83adea324b9a<br>State:          running<br>Persistent:     yes<br>Autostart:      yes<br>Capacity:       885.88 GB<br>Allocation:     65.57 GB<br>Available:      820.31 GB<br><br>virsh # vol-list vmback<br>

Name                 Path<br>-----------------------------------------<br>lost+found           /vmback/lost+found<br>pool.xml             /vmback/pool.xml<br>ruby.img             /vmback/ruby.img<br>surfer-1.img         /vmback/surfer-1.img<br>

webtemplate.img      /vmback/webtemplate.img<br><br>The new one (LVM) is:<br><br>virsh # pool-info vmpool1<br>Name:           vmpool1<br>UUID:           a95f6f30-b035-7750-6b7d-77953ee7d9af<br>State:          running<br>
Persistent:     yes<br>
Autostart:      yes<br>Capacity:       1.76 TB<br>Allocation:     0.00<br>Available:      1.76 TB<br><br>And I want to move the ruby domain (single disk file ruby.img) to it.<div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">
On Wed, Nov 7, 2012 at 4:37 PM, Eric Blake <span dir="ltr"><<a href="mailto:eblake@redhat.com" target="_blank">eblake@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 11/07/2012 02:13 PM, Paul Raines wrote:<br>
><br>
> I created a new LVM type storage pool on my server and would like to<br>
> move my VM disk volumes in a directory-based pool into this new pool.<br>
> But I cannot figure out how that is done.  I find plenty of information<br>
> on how to migrate live VM images from one host to another, but not on<br>
> how to just move one live from one storage pool to another on the same<br>
> host.<br>
><br>
> If it cannot be done live, how an I do it non-live?  I guess non-live I<br>
> could clone, but that would change the MAC address.  Just seems that if<br>
> libvirt<br>
> can migrate live it should be able to move a VM between storage pools<br>
> on the same host even easier.<br>
<br>
Hmm - you have a good point - right now, 'virsh vol-create-from' and<br>
'virsh vol-clone' only allow motion within a single pool, and not from<br>
one pool to another.  I guess you could use 'virsh vol-download' and<br>
'virsh vol-upload' to move volumes from one place to another, although<br>
those APIs still lack the ability to cleanly state whether you are<br>
migrating metadata (what the host sees) or contents for conversion into<br>
a different format (what the guest sees).  At any rate, these commands<br>
would be useful on offline disks (and NOT for a disk image in active<br>
read-write use by any qemu guest).  I think there's a lot of work that<br>
could be done to improve matters with how we manage volumes and pools.<br>
<br>
Meanwhile, live storage migration IS possible, with libvirt 1.0.0 (now<br>
out) and qemu 1.3 (which will be released in December, or if you are<br>
comfortable building from qemu.git now), via the 'virsh blockcopy' command.<br>
<br>
<br></blockquote></div><br>
</div></div></blockquote></div><br>