6.3. 管理 RBD 镜像
作为存储管理员,您可以执行一系列任务来管理和维护 Ceph 块设备(RBD)镜像环境。
这些任务包括:
- 查看有关存储群集对等点的信息.
- 添加或删除对等存储群集。
- 获取池或镜像的镜像状态。
- 启用对池或镜像的镜像。
- 禁用对池或镜像的镜像。
- 延迟块设备复制。
- 提升和降级镜像。
这些任务有助于确保复制操作,并支持多站点部署中的故障转移和恢复场景。
6.3.1. 查看对等信息
查看有关存储集群对等点的信息。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
查看对等点的信息:
语法
rbd mirror pool info POOL_NAME
rbd mirror pool info POOL_NAME
Copy to Clipboard Copied! 示例
rbd mirror pool info data
[root@rbd-client ~]# rbd mirror pool info data Mode: pool Site Name: a Peer Sites: UUID: 950ddadf-f995-47b7-9416-b9bb233f66e3 Name: b Mirror UUID: 4696cd9d-1466-4f98-a97a-3748b6b722b3 Direction: rx-tx Client: client.rbd-mirror-peer
Copy to Clipboard Copied!
6.3.2. 管理池上的镜像
您可以使用命令行界面在 Ceph 块设备池中启用、禁用和获取镜像状态。
先决条件
- 开始之前,请确保您具有对节点的 root 级别访问权限。
6.3.2.1. 启用对池的镜像
在两个对等集群中运行以下命令,以便在池上启用镜像功能。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
在池上启用镜像:
语法
rbd mirror pool enable POOL_NAME MODE
rbd mirror pool enable POOL_NAME MODE
Copy to Clipboard Copied! 示例
rbd mirror pool enable data pool
[root@rbd-client ~]# rbd mirror pool enable data pool
Copy to Clipboard Copied! 这个示例启用对名为
data
的完整池进行镜像。示例
rbd mirror pool enable data image
[root@rbd-client ~]# rbd mirror pool enable data image
Copy to Clipboard Copied! 这个示例在名为
data
的池上启用镜像模式镜像。
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的镜像 Ceph块设备 部分。
6.3.2.2. 禁用对池的镜像
在禁用镜像前,删除对等集群。
当您禁用对池的镜像时,您还会在池中在镜像模式中单独启用镜像的镜像禁用它。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
在池上禁用镜像:
语法
rbd mirror pool disable POOL_NAME
rbd mirror pool disable POOL_NAME
Copy to Clipboard Copied! 示例
rbd mirror pool disable data
[root@rbd-client ~]# rbd mirror pool disable data
Copy to Clipboard Copied! 此示例禁用名为
data
的池的镜像。
6.3.2.3. 获取池的镜像状态
您可获取存储集群中池的镜像状态。
先决条件
- 一个运行的 Red Hat Ceph Storage 集群,带有基于快照的镜像配置。
- 节点的根级别访问权限。
流程
获取镜像池概述:
语法
rbd mirror pool status POOL_NAME
rbd mirror pool status POOL_NAME
Copy to Clipboard Copied! 示例
rbd mirror pool status data
[root@site-a ~]# rbd mirror pool status data health: OK daemon health: OK image health: OK images: 1 total 1 replaying
Copy to Clipboard Copied! 提示要输出池中每个镜像的状态详情,请使用
--verbose
选项。
6.3.3. 管理镜像上的镜像
您可以使用命令行界面在 Ceph 块设备镜像上启用和禁用镜像。您还可以获取镜像的镜像状态。另外,了解如何提升、降级和重新同步镜像。
6.3.3.1. 启用镜像镜像
在两个对等存储集群中,以镜像模式对整个池启用镜像功能。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
为池中的特定镜像启用镜像功能:
语法
rbd mirror image enable POOL_NAME/IMAGE_NAME
rbd mirror image enable POOL_NAME/IMAGE_NAME
Copy to Clipboard Copied! 示例
rbd mirror image enable data/image2
[root@rbd-client ~]# rbd mirror image enable data/image2
Copy to Clipboard Copied! 本例启用对
data
池中的image2
镜像启用镜像。
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的 在池上启用镜像 部分。
6.3.3.2. 禁用镜像镜像
您可以在镜像中禁用 Ceph Block Device 镜像。
先决条件
- 一个运行的 Red Hat Ceph Storage 集群,带有基于快照的镜像配置。
- 节点的根级别访问权限。
流程
禁用特定镜像的镜像:
语法
rbd mirror image disable POOL_NAME/IMAGE_NAME
rbd mirror image disable POOL_NAME/IMAGE_NAME
Copy to Clipboard Copied! 示例
rbd mirror image disable data/image2
[root@rbd-client ~]# rbd mirror image disable data/image2
Copy to Clipboard Copied! 本例禁用
data
池中image2
镜像的镜像。
6.3.3.3. 获取单个镜像的镜像状态
您可以通过运行 mirror image status
命令获取镜像的镜像状态。
先决条件
- 一个运行的 Red Hat Ceph Storage 集群,带有基于快照的镜像配置。
- 节点的根级别访问权限。
流程
获取已镜像镜像的状态:
语法
rbd mirror image status POOL_NAME/IMAGE_NAME
rbd mirror image status POOL_NAME/IMAGE_NAME
Copy to Clipboard Copied! 示例
rbd mirror image status data/image2
[root@site-a ~]# rbd mirror image status data/image2 image2: global_id: 1e3422a2-433e-4316-9e43-1827f8dbe0ef state: up+unknown description: remote image is non-primary service: pluto008.yuoosv on pluto008 last_update: 2021-10-06 09:37:58
Copy to Clipboard Copied! 本例获取
data
池中image2
镜像的状态。
6.3.3.4. 提升镜像
您可以升级或降级池中的镜像。
先决条件
- 一个运行的 Red Hat Ceph Storage 集群,带有基于快照的镜像配置。
- 节点的根级别访问权限。
流程
将镜像提升为主要步骤:
语法
rbd mirror image promote POOL_NAME/IMAGE_NAME
rbd mirror image promote POOL_NAME/IMAGE_NAME
Copy to Clipboard Copied! 示例
rbd mirror image promote data/image2
[root@rbd-client ~]# rbd mirror image promote data/image2
Copy to Clipboard Copied! 本例提升了
data
池中的image2
。根据您使用的镜像类型,请参阅通过 单向镜像从灾难中恢复 ,或者通过双向镜像从灾难中恢复。
语法
rbd mirror image promote --force POOL_NAME/IMAGE_NAME
rbd mirror image promote --force POOL_NAME/IMAGE_NAME
Copy to Clipboard Copied! 示例
rbd mirror image promote --force data/image2
[root@rbd-client ~]# rbd mirror image promote --force data/image2
Copy to Clipboard Copied! 当降级无法传播到对等 Ceph 存储群集时,请使用强制提升。例如,由于集群失败或通信中断。
6.3.3.5. 演示镜像
您可以降级池中的镜像。
不要强制提升仍在同步的非主镜像,因为镜像在提升后无效。
先决条件
- 一个运行的 Red Hat Ceph Storage 集群,带有基于快照的镜像配置。
- 节点的根级别访问权限。
流程
将镜像降级为非主要镜像:
语法
rbd mirror image demote POOL_NAME/IMAGE_NAME
rbd mirror image demote POOL_NAME/IMAGE_NAME
Copy to Clipboard Copied! 示例
rbd mirror image demote data/image2
[root@rbd-client ~]# rbd mirror image demote data/image2
Copy to Clipboard Copied! 本例降级
data
池中的image2
镜像。
6.3.3.6. 重新同步镜像
如果在两个对等集群之间发生不一致,您可以重新同步镜像。当镜像进入不一致的状态时,rbd-mirror
守护进程会跳过该镜像的镜像,直到问题解决为止。
先决条件
- 一个运行的 Red Hat Ceph Storage 集群,带有基于快照的镜像配置。
- 节点的根级别访问权限。
流程
请求到主镜像的重新同步:
语法
rbd mirror image resync POOL_NAME/IMAGE_NAME
rbd mirror image resync POOL_NAME/IMAGE_NAME
Copy to Clipboard Copied! 示例
rbd mirror image resync data/image2
[root@rbd-client ~]# rbd mirror image resync data/image2
Copy to Clipboard Copied! 这个示例请求在
data
池中重新同步image2
。
6.3.4. 在一致性组上管理镜像
使用命令行界面,了解如何在 Ceph 块设备一致性组中启用和禁用镜像。您还可以获取组的镜像状态。另外,了解如何提升、降级和重新同步组。以下部分中的命令支持可选 namespace
参数,您可以在命令中使用它作为 POOL_NAME/NAMESPACE/GROUP_NAME
。
您可以为每个集群最多镜像 100 个镜像,每个组最多可有 50 个镜像。
6.3.4.1. 在组上启用镜像
使用 mirror group enable
命令,为池中的组启用镜像功能。
- 组镜像仅适用于镜像模式。
- 一致性组镜像只支持快照镜像模式和日志模式。
先决条件
- 确保具有对节点的 root 级别访问权限。
- 池镜像在镜像模式中启用。有关更多信息,请参阅配置双向 Ceph 设备块镜像 中的第 5 步。
流程
运行以下命令在组上启用镜像功能。
语法
rbd mirror group enable _POOL_NAME_/_GROUP_NAME_
rbd mirror group enable _POOL_NAME_/_GROUP_NAME_
Copy to Clipboard Copied! 示例
以下示例为
test_pool
池中test_group
组启用镜像功能。rbd mirror group enable test_pool/test_group
[root@rbd-client ~]# rbd mirror group enable test_pool/test_group
Copy to Clipboard Copied!
- 为组启用镜像后,您无法向该组添加新镜像。要添加镜像,您必须禁用组镜像并添加所需的镜像。然后您可以重新启用镜像。
- 无法为镜像启用组中的镜像。
6.3.4.2. 禁用对组的镜像
使用 mirror group disable
命令,为池中的组禁用镜像功能。
先决条件
- 确保具有对节点的 root 级别访问权限。
流程
运行以下命令,以禁用组上的镜像。
语法
rbd mirror group disable _POOL_NAME_/_GROUP_NAME_
rbd mirror group disable _POOL_NAME_/_GROUP_NAME_
Copy to Clipboard Copied! 示例
以下示例禁用
test_pool
池中test_group
组的镜像。rbd mirror group disable test_pool/test_group
[root@rbd-client ~]# rbd mirror group disable test_pool/test_group
Copy to Clipboard Copied!
6.3.4.3. 获取组的镜像状态
您可以通过运行 mirror group status
命令获取组的镜像状态。
前提条件
- 确保具有对节点的 root 级别访问权限。
流程
运行以下命令来获取组镜像状态。
语法
rbd mirror group status _POOL_NAME_/_GROUP_NAME_
rbd mirror group status _POOL_NAME_/_GROUP_NAME_
Copy to Clipboard Copied! 示例
以下示例获取
test_pool
池中test_group
组的状态。rbd mirror group status test_pool/test_group
[root@site-a ~]# rbd mirror group status test_pool/test_group test_group: global_id: 8206677f-00e5-4b28-a6cc-121be028cb84 state: up+stopped description: local group is primary service: admin on dhcp53-181.lab.eng.abc.pqr.com last_update: 2025-06-13 17:59:16 images: image: 3/9c6c0e9b-abbb-4219-891a-b451396487a4 state: up+stopped description: local image is primary peer_sites: name: site-b state: up+replaying description: replaying, {"last_snapshot_bytes":0,"last_snapshot_complete_seconds":10,"local_snapshot_timestamp":1749817730,"remote_snapshot_timestamp":1749817730} last_update: 2025-06-13 17:59:16 images: image: 3/9c6c0e9b-abbb-4219-891a-b451396487a4 state: up+replaying description: replaying, {"bytes_per_second":0.0,"bytes_per_snapshot":0.0,"last_snapshot_bytes":0,"last_snapshot_sync_seconds":0,"local_snapshot_timestamp":1749817730,"remote_snapshot_timestamp":1749817730,"replay_state":"idle"} snapshots: .mirror.primary.8206677f-00e5-4b28-a6cc-121be028cb84.104dda662be0
Copy to Clipboard Copied!
6.3.4.4. 提升组
您可以在此过程中使用 命令来提升组。
前提条件
- 配置了带有基于快照组镜像的 Red Hat Ceph 存储集群。
- 节点的根级别访问权限。
流程
-
使用
mirror group promote
命令将组提升为主要组。
语法
rbd mirror group promote _POOL_NAME_/_GROUP_NAME_
rbd mirror group promote _POOL_NAME_/_GROUP_NAME_
示例
以下示例将 test_pool
池中的组 test_group
提升到 primary。
rbd mirror group promote test_pool/test_group
[root@rbd-client ~]# rbd mirror group promote test_pool/test_group
当因为集群故障或通信中断而无法传播到对等 Ceph 存储集群时,请使用强制提升。
在执行带有- force
标志的 mirror group promote
命令前,请确保二级镜像守护进程已停止。此步骤是已知问题的一个临时解决方案,在解决这些问题被解决后可能不需要。
运行 命令,以停止和终止次要镜像守护进程。
ceph orch stop rbd-mirror kill -SIGKILL PID_OF_SECONDARY_RBD_MIRROR
ceph orch stop rbd-mirror kill -SIGKILL PID_OF_SECONDARY_RBD_MIRROR
Copy to Clipboard Copied! 使用--
force
标志执行mirror group promote
命令,并在mirror group promote
命令完成后重启镜像守护进程。rbd mirror group promote --force POOL_NAME/GROUP_NAME ceph orch start rbd-mirror
rbd mirror group promote --force POOL_NAME/GROUP_NAME ceph orch start rbd-mirror
Copy to Clipboard Copied!
示例
rbd mirror group promote --force test_pool/test_group
[root@rbd-client ~]# rbd mirror group promote --force test_pool/test_group
6.3.4.5. 演示组
在此过程中使用 命令来降级组。
前提条件
- 配置了带有基于快照组镜像的 Red Hat Ceph 存储集群。
- 节点的根级别访问权限。
流程
- 使用 mirror group demote 命令将组降级为非主要组。
语法
rbd mirror group demote POOL_NAME/GROUP_NAME
rbd mirror group demote POOL_NAME/GROUP_NAME
示例
以下示例将 test_pool
池中的组 test_group
镜像降级为非主要镜像。
rbd mirror group demote test_pool/test_group
[root@rbd-client ~]# rbd mirror group demote test_pool/test_group
6.3.4.6. 重新同步组
如果在两个对等集群间出现不一致,您可以重新同步组。当组进入不一致的状态时,rbd-mirror 守护进程会跳过该组的镜像,直到问题解决为止。
在流程中使用命令重新同步组。
前提条件
- 节点的根级别访问权限。
流程
-
使用
mirror group resync
命令重新同步到主组。
语法
rbd mirror group resync _POOL_NAME_/_GROUP_NAME_
rbd mirror group resync _POOL_NAME_/_GROUP_NAME_
示例
以下示例请求在 test_pool
池中重新同步 test_group
。
rbd mirror group resync test_pool/test_group
[root@rbd-client ~]# rbd mirror group resync test_pool/test_group
6.3.5. 管理命名空间中的镜像
您可以使用命令行界面在命名空间上启用和禁用 Ceph 块设备镜像。
在将命名空间配置为使用不同的远程命名空间镜像前,必须为两个集群上的本地和远程命名空间禁用镜像功能。
6.3.5.1. 启用命名空间镜像
您可以在池中的一个命名空间中配置镜像功能。必须已经启用池以进行镜像。将命名空间镜像到远程集群(次要集群)的远程池中具有相同或不同名称的命名空间。
您可以使用-- remote-namespace
选项,将命名空间镜像到远程池中具有不同名称的命名空间。命名空间的默认行为是镜像到远程池中具有相同名称的命名空间。
先决条件
- 节点的根级别访问权限。
- 2 运行 Red Hat Ceph Storage 集群。
-
两个集群中都启用了
rbd-mirror
守护进程服务。 - 为添加命名空间的池启用镜像功能。
流程
在要在命名空间上启用镜像的两个集群中运行以下命令。
语法
rbd mirror pool enable POOL_NAME/LOCAL_NAMESPACE_NAME _MODE --remote-namespace REMOTE_NAMESPACE_NAME
rbd mirror pool enable POOL_NAME/LOCAL_NAMESPACE_NAME _MODE --remote-namespace REMOTE_NAMESPACE_NAME
Copy to Clipboard Copied! 注意--remote-namespace
参数是可选的。镜像模式可以是
image
或pool
:-
镜像
模式 :在镜像模式中配置时,必须在每个镜像上显式启用
镜像。 池模式(默认):
在池
模式中配置时,所有启用了日志记录功能的镜像都会被镜像。示例
rbd mirror pool enable image-pool/namespace-a image --remote-namespace namespace-b rbd mirror pool enable image-pool/namespace-b image --remote-namespace namespace-a
[root@rbd-client ~]# rbd mirror pool enable image-pool/namespace-a image --remote-namespace namespace-b Remote cluster: [root@rbd-client ~]# rbd mirror pool enable image-pool/namespace-b image --remote-namespace namespace-a
Copy to Clipboard Copied! 本例启用第一个集群上的 image-pool/namespace-a 镜像模式镜像(mirror)和第二个集群上的 image-pool/namespace-b 镜像模式。
第一个集群上的命名空间和远程命名空间必须分别与远程集群中的远程命名空间和命名空间匹配。
如果没有提供 -remote-namespace
选项,则命名空间会镜像到远程池中具有相同名称的命名空间。
6.3.5.2. 禁用命名空间镜像
您可以在命名空间中禁用 Ceph Block Device 镜像。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
-
如果在镜像模式中配置,则必须在命名空间中禁用镜像前明确禁用命名空间中的
镜像
。
流程
在您要在命名空间中禁用镜像的两个集群中运行以下命令。
语法
rbd mirror pool disable POOL_NAME/NAMESPACE_NAME
rbd mirror pool disable POOL_NAME/NAMESPACE_NAME
Copy to Clipboard Copied! 示例
rbd mirror pool disable image-pool/namespace-a rbd mirror pool disable image-pool/namespace-b
[root@rbd-client ~]# rbd mirror pool disable image-pool/namespace-a [root@rbd-client ~]# rbd mirror pool disable image-pool/namespace-b
Copy to Clipboard Copied!
要启用具有不同远程命名空间的命名空间,必须在重新启用它们前禁用这两个集群上的命名空间和对应的远程命名空间。
6.3.6. 添加存储集群对等集群
添加存储集群 peer,以启用 rbd-mirror
守护进程来发现远程集群。
例如,要将 site-a
存储集群添加为 site-b
的对等点,请从 site-b
集群中的客户端节点执行以下步骤。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
将 peer 注册到池:
语法
rbd --cluster CLUSTER_NAME mirror pool peer add POOL_NAME PEER_CLIENT_NAME@PEER_CLUSTER_NAME -n CLIENT_NAME
rbd --cluster CLUSTER_NAME mirror pool peer add POOL_NAME PEER_CLIENT_NAME@PEER_CLUSTER_NAME -n CLIENT_NAME
Copy to Clipboard Copied! 示例
rbd --cluster site-b mirror pool peer add data client.site-a@site-a -n client.site-b
[root@rbd-client ~]# rbd --cluster site-b mirror pool peer add data client.site-a@site-a -n client.site-b
Copy to Clipboard Copied!
6.3.7. 删除存储集群 peer
指定删除存储集群对等点的对等 UUID。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
指定池名称和同级通用唯一标识符 (UUID)。
语法
rbd mirror pool peer remove POOL_NAME PEER_UUID
rbd mirror pool peer remove POOL_NAME PEER_UUID
Copy to Clipboard Copied! 示例
rbd mirror pool peer remove data 7e90b4ce-e36d-4f07-8cbc-42050896825d
[root@rbd-client ~]# rbd mirror pool peer remove data 7e90b4ce-e36d-4f07-8cbc-42050896825d
Copy to Clipboard Copied! 提示若要查看对等 UUID,可使用
rbd mirror pool info
命令。
6.3.8. 延迟块设备复制
无论是使用单向复制还是双向复制,您可以为 RADOS 块设备(RBD)镜像镜像配置延迟复制。延迟复制提供了一个缓冲区周期,允许您在将主镜像传播到辅助镜像前恢复主镜像上的意外更改。
延迟块设备复制仅适用于基于日志的镜像。
为实施延迟复制,目标存储集群内的 rbd-mirror
守护进程应设置 rbd_mirroring_replay_delay = MINIMUM_DELAY_IN_SECONDS
配置选项。此设置可以在 rbd-mirror
守护进程使用的 ceph.conf
文件中全局应用,也可以在单个镜像基础上应用。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
要使用特定镜像的延迟复制,在主镜像上运行以下
rbd
CLI 命令:语法
rbd image-meta set POOL_NAME/IMAGE_NAME conf_rbd_mirroring_replay_delay MINIMUM_DELAY_IN_SECONDS
rbd image-meta set POOL_NAME/IMAGE_NAME conf_rbd_mirroring_replay_delay MINIMUM_DELAY_IN_SECONDS
Copy to Clipboard Copied! 示例
rbd image-meta set vms/vm-1 conf_rbd_mirroring_replay_delay 600
[root@rbd-client ~]# rbd image-meta set vms/vm-1 conf_rbd_mirroring_replay_delay 600
Copy to Clipboard Copied! 本例在
vms
池中设置镜像vm-1
的最小复制延迟 10 分钟。
6.3.9. 将基于日志的镜像转换为基于快照的镜像
您可以通过禁用镜像并启用快照,将基于日志的镜像转换为基于快照的镜像。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
登录到 Cephadm shell:
示例
cephadm shell
[root@rbd-client ~]# cephadm shell
Copy to Clipboard Copied! 为池中的特定镜像禁用镜像功能:
语法
rbd mirror image disable POOL_NAME/IMAGE_NAME
rbd mirror image disable POOL_NAME/IMAGE_NAME
Copy to Clipboard Copied! 示例
[ceph: root@rbd-client /]# rbd mirror image disable mirror_pool/mirror_image Mirroring disabled
[ceph: root@rbd-client /]# rbd mirror image disable mirror_pool/mirror_image Mirroring disabled
Copy to Clipboard Copied! 为镜像启用基于快照的镜像:
语法
rbd mirror image enable POOL_NAME/IMAGE_NAME snapshot
rbd mirror image enable POOL_NAME/IMAGE_NAME snapshot
Copy to Clipboard Copied! 示例
[ceph: root@rbd-client /]# rbd mirror image enable mirror_pool/mirror_image snapshot Mirroring enabled
[ceph: root@rbd-client /]# rbd mirror image enable mirror_pool/mirror_image snapshot Mirroring enabled
Copy to Clipboard Copied! 本例为
mirror_pool
池中mirror_image
镜像启用基于快照的镜像功能。
6.3.10. 创建镜像 mirror-snapshot
在使用基于快照的镜像的镜像时,创建镜像快照以在 Ceph 块设备镜像中复制更改。
先决条件
- 至少运行两个健康的 Red Hat Ceph Storage 集群。
- 对 Red Hat Ceph Storage 集群的 Ceph 客户端节点的根级别访问权限。
- 具有管理员级别功能的 CephX 用户。
- 访问创建快照镜像的 Red Hat Ceph Storage 集群。
默认情况下,最多保留 5 个镜像 mirror-snapshot。如果达到限制,则最新镜像 mirror-snapshot 会自动被删除。如果需要,可以通过 rbd_mirroring_max_mirroring_snapshots
配置覆盖限制。镜像 mirror-snapshot 会在镜像被删除或禁用镜像时自动删除。
流程
创建 image-mirror 快照:
语法
rbd --cluster CLUSTER_NAME mirror image snapshot POOL_NAME/IMAGE_NAME
rbd --cluster CLUSTER_NAME mirror image snapshot POOL_NAME/IMAGE_NAME
Copy to Clipboard Copied! 示例
rbd mirror image snapshot data/image1
[root@site-a ~]# rbd mirror image snapshot data/image1
Copy to Clipboard Copied!
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的镜像 Ceph块设备 部分。
6.3.11. 调度 mirror-snapshot
在定义 mirror-snapshot 调度时,可以自动创建 mirror-snapshots。mirror-snapshot 可以按池或镜像级别进行全局调度。可以在任何级别上定义多个 mirror-snapshot 调度,但只有与单个镜像的镜像匹配的最具体的快照调度才会运行。
6.3.11.1. 创建 mirror-snapshot 调度
您可以使用 snapshot schedule
命令创建 mirror-snapshot 调度。
先决条件
- 至少运行两个健康的 Red Hat Ceph Storage 集群。
- 对 Red Hat Ceph Storage 集群的 Ceph 客户端节点的根级别访问权限。
- 具有管理员级别功能的 CephX 用户。
- 访问需要调度镜像的 Red Hat Ceph Storage 集群。
流程
创建 mirror-snapshot 调度:
语法
rbd --cluster CLUSTER_NAME mirror snapshot schedule add --pool POOL_NAME --image IMAGE_NAME INTERVAL [START_TIME]
rbd --cluster CLUSTER_NAME mirror snapshot schedule add --pool POOL_NAME --image IMAGE_NAME INTERVAL [START_TIME]
Copy to Clipboard Copied! 只有在集群名称与默认名称
ceph
不同时,才应使用 CLUSTER_NAME。间隔可以分别使用 d、h 或 m 后缀以天、小时或分钟为单位指定。可选的 START_TIME 可以使用 ISO 8601 时间格式指定。示例
rbd mirror snapshot schedule add --pool data --image image1 6h
[root@site-a ~]# rbd mirror snapshot schedule add --pool data --image image1 6h
Copy to Clipboard Copied! 示例
rbd mirror snapshot schedule add --pool data --image image1 24h 14:00:00-05:00
[root@site-a ~]# rbd mirror snapshot schedule add --pool data --image image1 24h 14:00:00-05:00
Copy to Clipboard Copied!
6.3.11.2. 根据级别列出快照调度
您可以在特定级别列出所有快照计划。
先决条件
- 至少两个正在运行的 Red Hat Ceph Storage 集群。
- 对 Red Hat Ceph Storage 集群的 Ceph 客户端节点的根级别访问权限。
- 具有管理员级别功能的 CephX 用户。
- 访问需要调度镜像的 Red Hat Ceph Storage 集群。
流程
使用可选池或镜像名称列出特定全局、池或镜像级别的所有快照调度:
语法
rbd --cluster site-a mirror snapshot schedule ls --pool POOL_NAME --recursive
rbd --cluster site-a mirror snapshot schedule ls --pool POOL_NAME --recursive
Copy to Clipboard Copied! 此外,还可指定
`--recursive
选项来列出指定级别的所有调度,如下所示:示例
rbd mirror snapshot schedule ls --pool data --recursive
[root@rbd-client ~]# rbd mirror snapshot schedule ls --pool data --recursive POOL NAMESPACE IMAGE SCHEDULE data - - every 1d starting at 14:00:00-05:00 data - image1 every 6h
Copy to Clipboard Copied!
6.3.11.3. 删除 mirror-snapshot 调度
您可以使用 snapshot schedule remove
命令删除 mirror-snapshot 调度。
先决条件
- 至少运行两个健康的 Red Hat Ceph Storage 集群。
- 对 Red Hat Ceph Storage 集群的 Ceph 客户端节点的根级别访问权限。
- 具有管理员级别功能的 CephX 用户。
- 访问需要调度镜像的 Red Hat Ceph Storage 集群。
流程
删除 mirror-snapshot 调度:
语法
rbd --cluster CLUSTER_NAME mirror snapshot schedule remove --pool POOL_NAME --image IMAGE_NAME INTERVAL START_TIME
rbd --cluster CLUSTER_NAME mirror snapshot schedule remove --pool POOL_NAME --image IMAGE_NAME INTERVAL START_TIME
Copy to Clipboard Copied! 间隔可以分别使用 d、h 和 m 后缀来以天数、小时或分钟为单位指定。可选的 START_TIME 可以使用 ISO 8601 时间格式指定。
示例
rbd mirror snapshot schedule remove --pool data --image image1 6h
[root@site-a ~]# rbd mirror snapshot schedule remove --pool data --image image1 6h
Copy to Clipboard Copied! 示例
rbd mirror snapshot schedule remove --pool data --image image1 24h 14:00:00-05:00
[root@site-a ~]# rbd mirror snapshot schedule remove --pool data --image image1 24h 14:00:00-05:00
Copy to Clipboard Copied!
6.3.11.4. 查看即将开始的快照计划
查看要为基于快照的镜像 RBD 镜像创建下一快照的状态。
先决条件
- 至少运行两个健康的 Red Hat Ceph Storage 集群。
- 对 Red Hat Ceph Storage 集群的 Ceph 客户端节点的根级别访问权限。
- 具有管理员级别功能的 CephX 用户。
- 访问需要调度镜像的 Red Hat Ceph Storage 集群。
流程
查看要创建的下一个快照的状态:
语法
rbd --cluster site-a mirror snapshot schedule status [--pool POOL_NAME] [--image IMAGE_NAME]
rbd --cluster site-a mirror snapshot schedule status [--pool POOL_NAME] [--image IMAGE_NAME]
Copy to Clipboard Copied! 示例
rbd mirror snapshot schedule status
[root@rbd-client ~]# rbd mirror snapshot schedule status SCHEDULE TIME IMAGE 2021-09-21 18:00:00 data/image1
Copy to Clipboard Copied!
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的镜像 Ceph块设备 部分。
6.3.12. 创建一致性组镜像快照
您可以使用基于快照的镜像创建镜像组快照,以在 Ceph 块设备中复制更改。
先决条件
- 至少两个正在运行的 IBM Storage Ceph 集群。
- IBM Storage Ceph 集群的 Ceph 客户端节点的根级别访问权限。
- 具有管理员级别功能的 CephX 用户。
- 访问创建快照镜像的 IBM Storage Ceph 集群。
流程
- 创建镜像组镜像快照。
语法
rbd --cluster _CLUSTER_NAME_ mirror group snapshot _POOL_NAME_/_GROUP_NAME_
rbd --cluster _CLUSTER_NAME_ mirror group snapshot _POOL_NAME_/_GROUP_NAME_
示例
rbd --cluster site-a mirror group snapshot test_pool/test_group
[root@site-a ~]# rbd --cluster site-a mirror group snapshot test_pool/test_group
6.3.13. 调度一致性组镜像快照
您可以使用命令行界面创建、删除、列出和检查组镜像快照调度的状态。
先决条件
- 至少两个正在运行的 Red Hat Ceph Storage 集群。
- IBM Storage Ceph 集群的 Ceph 客户端节点的根级别访问权限。
- 具有管理员级别功能的 CephX 用户。
- 访问创建组 mirror-snapshot 的 Red Hat Ceph Storage 集群需要调度。
6.3.13.1. 创建调度
您可以使用 mirror group snapshot schedule add
命令创建组快照调度。
流程
- 运行以下命令,为组创建镜像快照调度。
语法
rbd --cluster _CLUSTER_NAME_ mirror group snapshot schedule add --pool _POOL_NAME_ --group _GROUP_NAME_ _INTERVAL_ [START_TIME]
rbd --cluster _CLUSTER_NAME_ mirror group snapshot schedule add --pool _POOL_NAME_ --group _GROUP_NAME_ _INTERVAL_ [START_TIME]
只有集群 名称与默认名称
ceph 不同时,才使用 use-cluster。
分别使用 d、h 或 m 后缀指定以天、小时或分钟为单位的时间间隔。可选的 START_TIME 必须使用 ISO 8601 (hh:mm:ss+|-hh:mm)时间格式来指定。
示例
以下示例每 6 小时创建的默认 ceph 集群的镜像组快照调度,而不指定开始时间。
rbd mirror group snapshot schedule add --pool test_pool --group test_group 6h
[root@site-a ~]# rbd mirror group snapshot schedule add --pool test_pool --group test_group 6h
以下示例创建的默认 ceph 集群的镜像组快照调度(每 24 小时创建),开始时间为 -5 GMT 的开始时间为 2:00 PM。
rbd mirror group snapshot schedule add --pool test_pool --group test_group 24h 14:00:00-05:00
[root@site-a ~]# rbd mirror group snapshot schedule add --pool test_pool --group test_group 24h 14:00:00-05:00
6.3.13.2. 根据级别列出快照调度
您可以使用 mirror group snapshot schedule ls
命令在全局、池、命名空间或组级别列出所有快照调度。
流程
- 运行以下命令,列出全局、池、命名空间或组级别的所有快照调度。
语法
rbd --cluster _CLUSTER_NAME_ mirror group snapshot schedule ls --pool _POOL_NAME_ --namespace _NAMESPACE_ --group _GROUP_NAME _--recursive
rbd --cluster _CLUSTER_NAME_ mirror group snapshot schedule ls --pool _POOL_NAME_ --namespace _NAMESPACE_ --group _GROUP_NAME _--recursive
使用 --recursive
选项列出指定级别的所有计划。
示例
# rbd --cluster site-a mirror group snapshot schedule ls --pool test_pool --recursive
[root@rbd-client ~]# # rbd --cluster site-a mirror group snapshot schedule ls --pool test_pool --recursive
POOL NAMESPACE GROUP SCHEDULE
test_pool test_group every 30m
- 要列出镜像组快照调度,请运行以下命令。
语法
rbd --cluster _CLUSTER_NAME_ mirror group snapshot schedule ls --pool _POOL_NAME_ --group _GROUP_NAME_ --recursive
rbd --cluster _CLUSTER_NAME_ mirror group snapshot schedule ls --pool _POOL_NAME_ --group _GROUP_NAME_ --recursive
示例
rbd --cluster site-a mirror group snapshot schedule ls --pool test_pool --group test_group --recursive
[root@rbd-client ~]# rbd --cluster site-a mirror group snapshot schedule ls --pool test_pool --group test_group --recursive
POOL NAMESPACE GROUP SCHEDULE
test_pool test_group every 30m
6.3.13.3. 删除计划
您可以使用 mirror group snapshot schedule remove
命令删除组快照调度。
流程
- 运行以下命令以删除组的快照调度。
语法
rbd --cluster _CLUSTER_NAME_ mirror group snapshot schedule remove --pool _POOL_NAME_ --group _GROUP_NAME_ _INTERVAL_ _START_TIME_
rbd --cluster _CLUSTER_NAME_ mirror group snapshot schedule remove --pool _POOL_NAME_ --group _GROUP_NAME_ _INTERVAL_ _START_TIME_
只有集群 名称与默认名称
ceph 不同时,才使用 use-cluster。
分别使用 d、h 或 m 后缀指定以天、小时或分钟为单位的时间间隔。可选的 START_TIME
必须使用 ISO 8601 (hh:mm:ss+|-hh:mm)时间格式来指定。
示例
以下示例每 6 小时删除默认 ceph 集群的快照调度,且不指定开始时间。
rbd mirror group snapshot schedule remove --pool test_pool --group test_group 6h
[root@site-a ~]# rbd mirror group snapshot schedule remove --pool test_pool --group test_group 6h
以下示例每 24 小时删除一个默认 ceph 集群的快照调度,开始时间为 -5 GMT 的 2:00 PM。
rbd mirror group snapshot schedule remove --pool test_pool --group test_group 24h 14:00:00-05:00
[root@site-a ~]# rbd mirror group snapshot schedule remove --pool test_pool --group test_group 24h 14:00:00-05:00
6.3.13.4. 查看即将开始的快照计划
您可以查看要为基于快照的镜像 Ceph 块设备一致性组创建下一个快照的状态。
流程
- 查看要创建的下一个快照的状态。
语法
rbd --cluster CLUSTER_NAME mirror group snapshot schedule status --pool _POOL_NAME_ --namespace _NAMESPACE_NAME_ --group _GROUP_NAME_
rbd --cluster CLUSTER_NAME mirror group snapshot schedule status --pool _POOL_NAME_ --namespace _NAMESPACE_NAME_ --group _GROUP_NAME_
示例
rbd mirror --cluster site-a mirror group snapshot schedule status --pool test_pool --group test_group
[root@rbd-client ~]# rbd mirror --cluster site-a mirror group snapshot schedule status --pool test_pool --group test_group
SCHEDULE TIME GROUP
2025-05-01 18:00:00 test_pool/test_group