Libvirt Storage Volume Renaming: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
Line 17: Line 17:
For more details, see [[virsh vol-clone]].
For more details, see [[virsh vol-clone]].


3. Delete the original storage volume from the pool with [[virsh vol-delete]]. Note that [[virsh vol-delete]] will also ''delete the content'' of the underlying storage, not just removes the storage volume definition from the pool.
3. Edit the definition of the virtual machines using the volume, and change the name of the logical volume in the definition.
 
Replace:
 
...
<disk type='file' device='disk'>
    <driver name='qemu' type='raw'/>
    <source file='/main-storage-pool/test-volume.raw'/>
    <target dev='vdb' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</disk>
...
 
with
 
...
<disk type='file' device='disk'>
    <driver name='qemu' type='raw'/>
    <source file='/main-storage-pool/test-volume-2.raw'/>
    <target dev='vdb' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</disk>
...
 
 
3. Optional: Delete the original storage volume from the pool with [[virsh vol-delete]]. Note that [[virsh vol-delete]] will also ''delete the content'' of the underlying storage, not just removes the storage volume definition from the pool.


  virsh vol-delete test-volume.img main-storage-pool
  virsh vol-delete test-volume.img main-storage-pool

Revision as of 15:52, 30 June 2017

Internal

Overview

There is no virsh command to rename a volume, but it can be achieved via the following sequence of steps:

1. Shutdown all the virtual machines that use the volume:

virsh shutdown test-vm

2. Clone the volume, under a different name.

virsh vol-clone --pool main-storage-pool test-volume.raw test-volume-2.raw

For more details, see virsh vol-clone.

3. Edit the definition of the virtual machines using the volume, and change the name of the logical volume in the definition.

Replace:

...
<disk type='file' device='disk'>
    <driver name='qemu' type='raw'/>
    <target dev='vdb' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</disk>
...

with

...
<disk type='file' device='disk'>
    <driver name='qemu' type='raw'/>
    <target dev='vdb' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</disk>
...


3. Optional: Delete the original storage volume from the pool with virsh vol-delete. Note that virsh vol-delete will also delete the content of the underlying storage, not just removes the storage volume definition from the pool.

virsh vol-delete test-volume.img main-storage-pool