ovirt的存储管理自成一体,有数据域,iso域,导出域,最值得分析的是其spm机制,红帽的官方文档非常丰富,可以直接查看在线文档。
SPM
Red Hat Virtualization 使用元数据来描述存储域的内部结构。结构元数据会被写到每个存储域的一个数据段中,它被用来记录镜像和快照的创建和删除操作,以及卷和域的扩展操作。所有主机会使用“一人写,多人读”的机制来处理存储域元数据。
可以对数据域的结构进行改变的主机为称为 SPM(Storage Pool Manager),它会协调数据中心中的所有存储域元数据的改变(如创建和删除磁盘镜像、创建和迁移快照、在存储域间复制镜像、创建模板和为块设备分配存储)。每个数据中心只能有一个主机作为 SPM,其它的主机只能读存储域的结构元数据。
共享裸设备的读写
描述有点抽象,考虑下远程存储上划了1块lun映射给多台主机,多台主机都可以直接读写这块盘,但是这种方式远程的存储是没有元数据管理的,客户端要读写哪个地址全部执行,不会去检查覆盖冲突,这种情况下如故出现多台客户端同时去创建新的文件,很有可能文件分配到重叠的地址,写入的数据就会被另一方覆盖,结果谁的数据都不全,这肯定是不行的。