ceph 对象存储多站点同步user id 配置方案

最近在配置多站点的时候,想了好久, 有一个纠结的地方是:

由于在异地有两套或两套以上的集群,在配置多站点同步前,需要在主zone上创建一个网关系统用户用于同步,数据的读取都是依赖这个用户的权限。可是时间久了(或者说换了个管理员), 我怎么找到当时配置多站点的时候用的是哪个网关用户呢?也就是用的这个同步的用户的用户id是多少呢,看官网文档的意思是,固定一个用户id 用做多站点同步,固定一个用户id就要求,这个固定的id 没有之前没有被占用,

突然想到一个办法是, 设置zone 的access key 的时候就等同于 system user id,这样每次查看zone的信息的时候就可以看到access key也就是可以看到用于同步的 system user id,

下面命令get zone info

radosgw-admin zone get

并且用户信息,zone信息是会在多个zone间同步的, 也就是你在异地的另一个集群也查看到指定的用于同步的网关用户信息。

当你要更换同步密钥的时候,更改该用户的密钥,然后在相继所有zone的key就可以了,当然也可以换用其他id的系统以后, 然后把该用户删掉就可以了。

此问题解决了如何在异地不同集群上找到用于同步的网关系统用户,不依赖于第三方的系统。

链接:配置ceph多站点官方文档