I have a secondary hdd that I would like to use as a storage pool for my KVM host.
Here is the xml file I use to create the storage pool,
<pool type='disk'> <name>guest_images_disk</name> <source> <device path='/dev/sdb' /> <format type='gpt' /> </source> <target> <path>/dev</path> </target> </pool>
Here is the pool-info output after createing and starting the storage pool,
Name: guest_images_disk UUID: 779b1ad8-093f-4c7f-a32e-4d120101088b State: running Persistent: no Autostart: no Capacity: 931.51 GiB Allocation: 931.51 GiB Available: 992.50 KiB
As one can see, even thought there is only one partition in my hdd, KVM doesn’t make available the entire allocated space.
Libvirt can’t make use of the space on your disk, because the disk is full.
When you tell libvirt to use a whole disk device, it expects to be able to use the entire block device, ignoring any existing partitions.
To resolve the problem, delete the partitions, or erase the partition table from the device:
dd bs=512 count=1 if=/dev/zero of=/dev/sdb partprobe
If you are suggested to reboot, then reboot. Otherwise, reload libvirtd:
systemctl reload libvirtd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.