我必须完成一个关于 kvm+ssd 的学术项目。主题是基于 SSD 的虚拟机缓存。
我认为当客户操作系统发出读取调用时,它将通过 KVM,然后到达主机操作系统。当控制权交给 KVM 时,我想检查请求的块是否存在于 SSD 缓存中。如果存在,则从缓存中返回该块。否则从 HDD 读取,保存到缓存并返回。将有一些映射表来提供隔离。
假设客户机尝试访问虚拟硬盘中的块号 x。那么当 KVM 尝试访问同一个块时,块号是多少?如果块号不同,转换在哪里进行?
为了实现这个系统,我应该在哪里进行修改以便我可以检查它是否被缓存?