4.4. 配置一次性镜像


单向镜像意味着一个集群中的主镜像会在次要集群中复制。在辅助集群中,复制的镜像不是主镜像;即块设备客户端无法写入镜像。

注意

单向镜像支持多个次要站点。要在多个次要站点上配置单向镜像,请在每个次要集群中重复以下步骤。

注意

单向镜像适合维护镜像的崩溃一致性副本。单向镜像可能并不适用于所有情况,如使用次要镜像与 OpenStack 自动故障转移和故障恢复,因为在使用单向镜像时集群无法故障恢复。在这些情况下,使用双向镜像。详情请查看 第 4.5 节 “配置两个镜像功能”

以下流程假设:

  • 您有两个集群,您想要将镜像从主集群复制到二级集群。就这个过程而言,我们将把主镜像作为 site-a 集群和您要复制镜像的集群作为 site-b 集群来区分两个集群。有关安装 Ceph 存储集群的详情,请参考 Red Hat Enterprise Linux 安装指南Ubuntu 安装指南
  • site-b 集群附加了一个客户端节点,其中 rbd-mirror 守护进程将运行。此守护进程将连接到 site-a 集群,将镜像同步到 site-b 集群。有关安装 Ceph 客户端的详情,请参考 Red Hat Enterprise Linux 安装指南 或 Ubuntu 安装指南
  • 两个集群中都创建具有相同名称的池。在以下示例中,池命名为 data。详情请参阅 存储策略指南中的 章节 或 Red Hat Ceph Storage 3。
  • 该池包含您要镜像的镜像,并在它们上启用日志。在以下示例中,镜像名为 image1image2。详情请参阅 启用日志

配置块设备镜像的方法有两种:

  • 池镜像 :要镜像池中的所有镜像,请使用 配置池镜像 流程。
  • 镜像镜像 : 要在池中镜像选择镜像,请使用 配置镜像镜像 流程。

配置池镜像

  1. 确保 数据池 中的所有镜像都启用了专用锁定和日志。详情请查看 第 4.1 节 “启用日志”
  2. site-b 集群的客户端节点上,安装 rbd-mirror 软件包。软件包由 Red Hat Ceph Storage 3 Tools 存储库提供。

    Red Hat Enterprise Linux

    # yum install rbd-mirror
    Copy to Clipboard Toggle word wrap

    Ubuntu

    $ sudo apt-get install rbd-mirror
    Copy to Clipboard Toggle word wrap
  3. site-b 集群的客户端节点上,通过在适当的文件中添加 CLUSTER 选项来指定集群名称。在 Red Hat Enterprise Linux 上,更新 /etc/sysconfig/ceph 文件,并在 Ubuntu 中相应地更新 /etc/default/ceph 文件:

    CLUSTER=site-b
    Copy to Clipboard Toggle word wrap
  4. 在这两个集群中,创建具有访问 数据池 权限的用户,并将其密钥环输出到 < cluster-name>.client.<user-name>.keyring 文件。

    1. site-a 集群中的 monitor 主机上,创建 client.site-a 用户,并将密钥环输出到 site-a.client.site-a.keyring 文件:

      # ceph auth get-or-create client.site-a mon 'profile rbd' osd 'profile rbd pool=data' -o /etc/ceph/site-a.client.site-a.keyring
      Copy to Clipboard Toggle word wrap
    2. site-b 集群中的 monitor 主机上,创建 client.site-b 用户,并将密钥环输出到 site-b.client.site-b.keyring 文件:

      # ceph auth get-or-create client.site-b mon 'profile rbd' osd 'profile rbd pool=data' -o /etc/ceph/site-b.client.site-b.keyring
      Copy to Clipboard Toggle word wrap
  5. 将 Ceph 配置文件和新创建的 RBD 密钥环文件从 site-a 监控节点复制到 site-b 监控和客户端节点:

    # scp /etc/ceph/ceph.conf <user>@<site-b_mon-host-name>:/etc/ceph/site-a.conf
    # scp /etc/ceph/site-a.client.site-a.keyring <user>@<site-b_mon-host-name>:/etc/ceph/
    
    # scp /etc/ceph/ceph.conf <user>@<site-b_client-host-name>:/etc/ceph/site-a.conf
    # scp /etc/ceph/site-a.client.site-a.keyring <user>@<site-b_client-host-name>:/etc/ceph/
    Copy to Clipboard Toggle word wrap
    注意

    将 Ceph 配置文件从 site-a 监控节点传输到 site-b 监视器和客户端节点的 scp 命令,将文件重命名为 site-a.conf。密钥环文件名保持不变。

  6. site-b 集群客户端节点上创建一个名为 site-b.conf 的符号链接,指向 ceph.conf

    # cd /etc/ceph
    # ln -s ceph.conf site-b.conf
    Copy to Clipboard Toggle word wrap
  7. site-b 客户端节点上启用并启动 rbd-mirror 守护进程:

    systemctl enable ceph-rbd-mirror.target
    systemctl enable ceph-rbd-mirror@<client-id>
    systemctl start ceph-rbd-mirror@<client-id>
    Copy to Clipboard Toggle word wrap

    <client-id > 更改为 rbd-mirror 守护进程要使用的 Ceph Storage 集群用户。用户必须具有对集群的适当 cephx 访问权限。如需更多信息,请参阅 Red Hat Ceph Storage 3 管理指南中的用户管理一 章。

    根据使用 site-b 的前导示例,运行以下命令:

    # systemctl enable ceph-rbd-mirror.target
    # systemctl enable ceph-rbd-mirror@site-b
    # systemctl start ceph-rbd-mirror@site-b
    Copy to Clipboard Toggle word wrap
  8. site-a 集群的监控节点上运行以下命令来启用位于 site-a 集群上的 数据池 镜像:

    # rbd mirror pool enable data pool
    Copy to Clipboard Toggle word wrap

    确保成功启用了镜像:

    # rbd mirror pool info data
    Mode: pool
    Peers: none
    Copy to Clipboard Toggle word wrap
  9. site-b 集群中的客户端节点运行以下命令来将 site-a 集群添加为 site-b 集群的对等点:

    # rbd --cluster site-b mirror pool peer add data client.site-a@site-a -n client.site-b
    Copy to Clipboard Toggle word wrap

    确保已成功添加 peer:

    # rbd mirror pool info data
    Mode: pool
    Peers:
      UUID                                 NAME   CLIENT
      7e90b4ce-e36d-4f07-8cbc-42050896825d site-a client.site-a
    Copy to Clipboard Toggle word wrap
  10. 一段时间后,检查 image1image2 镜像的状态。如果它们处于 up+replaying 状态,则镜像可以正常工作。从 site-b 集群中的监控节点运行以下命令:

    # rbd mirror image status data/image1
    image1:
      global_id:   7d486c3f-d5a1-4bee-ae53-6c4f1e0c8eac
      state:       up+replaying
      description: replaying, master_position=[object_number=3, tag_tid=1, entry_tid=3], mirror_position=[object_number=3, tag_tid=1, entry_tid=3], entries_behind_master=0
      last_update: 2019-04-22 13:19:27
    Copy to Clipboard Toggle word wrap
    # rbd mirror image status data/image2
    image2:
      global_id:   703c4082-100d-44be-a54a-52e6052435a5
      state:       up+replaying
      description: replaying, master_position=[object_number=3, tag_tid=1, entry_tid=3], mirror_position=[], entries_behind_master=3
      last_update: 2019-04-22 13:19:19
    Copy to Clipboard Toggle word wrap

配置镜像镜像

  1. 确保 数据 池中的所选镜像启用了专用锁定和日志。详情请查看 第 4.1 节 “启用日志”
  2. 按照 配置池镜像 步骤中的步骤 2 - 7。
  3. site-a 集群中的监控节点中,启用 数据池 的镜像镜像:

    # rbd mirror pool enable data image
    Copy to Clipboard Toggle word wrap

    确保成功启用了镜像:

    # rbd mirror pool info data
    Mode: image
    Peers: none
    Copy to Clipboard Toggle word wrap
  4. site-b 集群上的客户端节点中,将 site-a 集群添加为对等集群:

    # rbd --cluster site-b mirror pool peer add data client.site-a@site-a -n client.site-b
    Copy to Clipboard Toggle word wrap

    确保已成功添加 peer:

    # rbd mirror pool info data
    Mode: image
    Peers:
      UUID                                 NAME   CLIENT
      9c1da891-b9f4-4644-adee-6268fe398bf1 site-a client.site-a
    Copy to Clipboard Toggle word wrap
  5. site-a 集群的监控节点中,明确启用 image1image2 镜像的镜像镜像:

    # rbd mirror image enable data/image1
    Mirroring enabled
    # rbd mirror image enable data/image2
    Mirroring enabled
    Copy to Clipboard Toggle word wrap
  6. 一段时间后,检查 image1image2 镜像的状态。如果它们处于 up+replaying 状态,则镜像可以正常工作。从 site-b 集群中的监控节点运行以下命令:

    # rbd mirror image status data/image1
    image1:
      global_id:   08027096-d267-47f8-b52e-59de1353a034
      state:       up+replaying
      description: replaying, master_position=[object_number=3, tag_tid=1, entry_tid=3], mirror_position=[object_number=3, tag_tid=1, entry_tid=3], entries_behind_master=0
      last_update: 2019-04-12 17:24:04
    Copy to Clipboard Toggle word wrap
    # rbd mirror image status data/image2
    image2:
      global_id:   596f41bc-874b-4cd4-aefe-4929578cc834
      state:       up+replaying
      description: replaying, master_position=[object_number=3, tag_tid=1, entry_tid=3], mirror_position=[object_number=3, tag_tid=1, entry_tid=3], entries_behind_master=0
      last_update: 2019-04-12 17:23:51
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat