RBD 镜像

为了设置 RBD 镜像复制,主集群方面不需要做太多事情。必须将 ceph_rbd_mirror_configure 设置为 true,以使 ceph-ansible 创建在 ceph_rbd_mirror_pool 中定义的镜像池以及将用于添加 rbd 镜像对等体的密钥环。

来自主集群的 group_vars

ceph_rbd_mirror_configure: true
ceph_rbd_mirror_pool: rbd

您可以选择告诉 ceph-ansible 设置您想要创建的密钥环的名称和密钥

ceph_rbd_mirror_local_user: client.rbd-mirror-peer  # 'client.rbd-mirror-peer' is the default value.
ceph_rbd_mirror_local_user_secret: AQC+eM1iKKBXFBAAVpunJvqpkodHSYmljCFCnw==

从辅助集群添加 rbd 镜像对等体时需要此密钥。如果您不按上面所示强制执行此操作,可以通过运行以下命令从监视器获取它:ceph auth get {{ ceph_rbd_mirror_local_user }}

$ sudo ceph auth get client.rbd-mirror-peer

定义变量后,您可以运行 playbook(您可能希望使用 --limit 选项运行)

$ ansible-playbook -vv -i hosts site-container.yml --limit rbdmirror0

严格来说,rbd 镜像复制的配置是在辅助集群上完成的。rbd-mirror 守护程序从主集群拉取数据。这是必须完成 rbd 镜像对等体添加的地方。配置与在主集群上完成的配置类似,它只需要一些额外的变量。

ceph_rbd_mirror_remote_user:此用户必须与主集群中变量 ceph_rbd_mirror_local_user 中定义的名称匹配。ceph_rbd_mirror_remote_mon_hosts:这必须是主集群监视器地址的逗号分隔列表。ceph_rbd_mirror_remote_key:这必须与主集群中用户 ({{ ceph_rbd_mirror_local_user }}) 密钥环密钥的值相同。

来自辅助集群的 group_vars

ceph_rbd_mirror_configure: true
ceph_rbd_mirror_pool: rbd
ceph_rbd_mirror_remote_user: client.rbd-mirror-peer  # This must match the value defined in {{ ceph_rbd_mirror_local_user }} on primary cluster.
ceph_rbd_mirror_remote_mon_hosts: 1.2.3.4
ceph_rbd_mirror_remote_key: AQC+eM1iKKBXFBAAVpunJvqpkodHSYmljCFCnw==  # This must match the secret of the registered keyring of the user defined in {{ ceph_rbd_mirror_local_user }} on primary cluster.

定义变量后,您可以运行 playbook(您可能希望使用 --limit 选项运行)

$ ansible-playbook -vv -i hosts site-container.yml --limit rbdmirror0