Ceph开发每周谈Vol 60 | 基于 Ceph 的 PostgreSQL 表复制

2017年02月 · 麦子迈

这是Ceph开发每周谈的第六十篇文章,记录从17年1月31号到17年2月5号的社区开发情况。笔者从前年开始做Ceph的技术模块分析到今年中告一段落,想必有挺多人期待下一篇Ceph技术分析。考虑到Ceph的发展已经从前年的一穷二白到现在的如火如荼,但对于社区的方向和实况仍有所脱节,笔者考虑开始Ceph开发每周谈这个系列。每篇文章都会综述上周技术更新,围绕几个热点进行深度解析,如果正好有产业届新闻的话就进行解读,最后有读者反馈问题的话并且值得一聊的话,就附上答疑部分。

  • 一句话消息

Sage 介绍 Ceph 的开发入门: http://youtube.com/watch?v=t5UIehZ1oLs

  • 复制 PostgreSQL 表到 Ceph 集群

https://github.com/noahdesu/pg_zlog 为 PostgreSQL 提供了一个逻辑表复制能力。复制功能通过基于 Ceph 的一致性共享日志 ZLog 库实现。Ceph 的强一致能力使得 PostgreSQL 节点能够回滚或前进的状态是一致的。

这个扩展基于 pg_paxos,而 pg_paxos 使用 PL/pgSQL 来实现利用 Paxos 算法记录表变化。pg_zlog 和 pg_paxos 的主要区别是 pg_zlog 解耦了日志实现跟 PostgreSQL 的关系,同时允许利用高性能 ZLog 库,去掉了 PostgreSQL 节点选举的必要,这样就可以利用 Ceph 提供的副本或者 EC 来进行存储。

pg_paxos: https://github.com/citusdata/pg_paxos

zlog: https://github.com/noahdesu/zlog

  • Ceph 一周一问题

Q: 如何部署 BlueStore 测试集群?

A: 参考 https://blog.widodh.nl/2017/01/testing-ceph-bluestore-with-the-kraken-release/