2.12. 逻辑卷扩展

Red Hat Virtualization Manager 使用精简分配策略来为一个存储池实现存储过度分配功能。虚拟机的操作会产生数据,使用精简分配磁盘镜像的虚拟机最终将会出现所写的数据大于它所在的逻辑卷的情况。当这个情况发生时,逻辑卷扩展控制功能会为虚拟机的正常运行提供更多的存储。
Red Hat Virtualization 提供了一个 LVM 的精简分配机制。当使用 QCOW2 格式的存储时,Red Hat Virtualization 使用主机的系统进程 qemu-kvm 来为磁盘上的存储块和逻辑块之间建立一个映射关系,这可以实现在小逻辑卷上创建大逻辑磁盘的功能,例如,可以在 1GB 的逻辑卷上创建一个 100GB 的逻辑磁盘。当 qemu-kvm 超过了 VDSM 所设置的阈值时,本地的 VDSM 会向 SPM 发出一个为逻辑卷增加 1GB 空间的请求。运行需要扩展逻辑空间的虚拟机的主机上的 VDSM 会通知 SPM VDSM 需要更多的存储空间。SPM 将扩展逻辑卷,SPM VDSM 通知主机的 VDSM 来更新逻辑组信息,并完成扩展的操作。
逻辑卷扩展的操作并不需要主机知道哪个主机是 SPM,即使需要扩展逻辑卷的主机本身就是 SPM 也可以,所有关于扩展的交流信息都是通过一个“存储邮箱”进行的。存储邮箱被保存在数据存储域中的一个专门的逻辑卷中。当一个主机需要 SPM 扩展逻辑卷时,它会在存储邮箱的相应区域中留下一条信息,而 SPM 会定期查看邮箱中的信息,执行逻辑卷扩展操作,并向发出扩展请求的主机返回一条信息。当主机发出扩展请求后,它会每隔 2 秒来检查它的新邮件。如果成功接收到了扩展请求的返回邮件,主机就会在设备映射表中刷新逻辑卷的信息,从而可以使用新分配的存储。
当一个存储池中的物理存储设备没有可用空间时,QEMU 会返回一个 enospc error。如果出现这个错误,正在运行的虚拟机会被自动暂停,这时需要手工来为卷组添加新的 LUN。
当一个新的 LUN 被添加到卷组中时,SPM 会自动把新增的存储分配给需要的逻辑卷,从而使相关的虚拟机可以自动被恢复运行。