阿里云块存储快照服务背后技术原理
云计算存储后端往往采用分布式存储架构。在分布式环境下缺少全局逻辑时钟,这就使得实现单 ECS 实例及跨 ECS 实例,K8S 环境下的单 POD 及跨节点的多云盘的一致性组快照不是件容易的事情。要实现快照对 IO 性能影响最低更是富有技术挑战性的。业界针对多盘崩溃一致性快照的实现技术主要分为两大类:
采取快照期间阻塞写 IO 的方式,实现基于时间点的跨多盘数据崩溃一致性
采取逻辑时钟的定序算法,但依赖于分布式存储实现,实现难度较高。
一致性组快照采取第二种方式,追求快照对 IO 性能无损,实现快照对应用性能影响到最小
实现原理:采取基于 IO 定序算法,快照创建无需写 IO 阻塞。很多用户担心创建快照影响 IO 性能,只在业务低谷期才进行快照数据保护。我们优化提升的多盘一致性组快照算法打破了人们对快照 IO 影响印象,基于写顺序保序机制,主动按照写 IO 到达底层存储的顺序,采取 IO 打标及定序过程。基于快照完成时刻点及 IO 定序来确定快照中应该包含的 IO 数据集合。
由于快照定序过程相对于传统的方式,不会阻止 IO 写入过程;相比于传统的写时拷贝 COW 方式,快照生成过程采取写时重定向 ROW 的写入方式,后台数据集合引用生成过程对 IO 链路无影响,降低快照对 IO 性能的影响最小,对数据库业务的读写场景实现了 IO 性能无损。
————————————————
版权声明:本文为CSDN博主「凌云时刻」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bjchenxu/article/details/121206176