我有一个辅助硬盘,我想将其用作 KVM 主机的存储池。这是我用来创建存储池的 xml 文件,
<pool type='disk'>
<name>guest_images_disk</name>
<source>
<device path='/dev/sdb' />
<format type='gpt' />
</source>
<target>
<path>/dev</path>
</target>
</pool>
以下是创建并启动存储池后的pool-info输出,
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
正如我们所见,即使我的硬盘中只有一个分区,KVM 也无法提供整个分配的空间。
答案1
Libvirt 无法利用您磁盘上的空间,因为磁盘已满。
当您告诉 libvirt 使用整个磁盘设备时,它希望能够使用整个块设备,而忽略任何现有分区。
要解决该问题,请删除分区或从设备中擦除分区表:
dd bs=512 count=1 if=/dev/zero of=/dev/sdb
partprobe
如果系统提示重启,则重启。否则,重新加载 libvirtd:
systemctl reload libvirtd