rbd-mirror动手实践
rbd-mirror是jewel版本新加入的一个特性,目的是在不同的ceph集群中同步rbd设备上的数据。 rbd-mirror的内部实现如下图所示: 在两个相互独立的ceph集群中分别多了一个守护进程rbd-mirror,该守护进程负责同步rbd设备上的数据。rbd-mirror的主要处理流程如下图所示: 用户操作块设备向块设备中写入数据时,librbd首先将写操作写入日志,当日志写入完毕后应答用户写操作完毕。之后日志向本地块设备写入数据,于此同时日志通过rbd-mirror守护进程将日志发送到对端ceph集群。对端ceph集群将日志内容写入到块设备中,由此完成块设备的同步功能。由此看到rbd-mirror的核心在于rbd-mirror守护进程和块设备写入的日志。 rbd-mirror动手实践部分如下: 1、集群环境。 rbd-mirror的测试环境采用手动编译ceph源代码的方式安装并配置ceph集群,具体操作过程请参考http://my.oschina.net/linuxhunter/blog/682013。集群名称分别是ceph和ceph2。测试rbd-mirror使用的用户是各自集群中的admin用户(当然可以自行创建一个专门为rbd-mirror的特定用户)。 2、rbd-mirror设置。 1)复制ceph配置文件和admin用户的keyring到对端ceph集群。