cocalele / PureFlash

A ServerSAN storage system designed for flash device
GNU General Public License v3.0
97 stars 29 forks source link

需要元数据、空间管理、快照原理文档与讲解 #47

Open ihavec opened 7 months ago

ssbandjl commented 7 months ago

简单说下我的理解: 元数据和空间管理: 分为两层, 1. 卷到分片(副本),到节点和盘的元数据存储在分布式MySQL中, 以关系型的方式存储. 2.每个副本以更小的粒度记录的分配元数据, 直接记录在裸盘头(主备两份日志分区), 以redo_log的形式记录block_map(block_key/block_entry) 快照: 主要也是利用block_map中的block_entry中有个pre指针指向前一个block_entry, 打快照后, 对原卷block进行IO时, 触发cow, 分配新的block_entry 细节还是得从代码中梳理或等大佬汇总并分享

ssbandjl commented 7 months ago

简单说下我的理解: 元数据和空间管理: 分为两层, 1. 卷到分片(副本),到节点和盘的元数据存储在分布式MySQL中, 以关系型的方式存储. 2.每个副本以更小的粒度记录的分配元数据, 直接记录在裸盘头(主备两份日志分区), 以redo_log的形式记录block_map(block_key/block_entry) 快照: 主要也是利用block_map中的block_entry中有个pre指针指向前一个block_entry, 打快照后, 对原卷block进行IO时, 触发cow, 分配新的block_entry 细节还是得从代码中梳理或等大佬汇总并分享