6.4. 镜像 Ceph 块设备的管理
作为存储管理员,您可以执行各种任务来帮助您管理 Ceph 块设备镜像环境。您可以执行以下任务:
- 查看有关存储群集对等点的信息.
- 添加或删除对等存储群集。
- 获取池或镜像的镜像状态。
- 启用对池或镜像的镜像。
- 禁用对池或镜像的镜像。
- 延迟块设备复制。
- 提升和降级镜像。
先决条件
- 至少运行两个健康的 Red Hat Ceph Storage 集群。
- 对 Ceph 客户端节点的根级别访问权限。
- 单向或双向 Ceph 块设备镜像关系。
- 具有管理员级别功能的 CephX 用户。
6.4.1. 查看有关同级的信息 复制链接链接已复制到粘贴板!
查看有关存储集群对等点的信息。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
查看对等点的信息:
语法
rbd mirror pool info POOL_NAME
rbd mirror pool info POOL_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.2. 启用对池的镜像 复制链接链接已复制到粘贴板!
在两个对等集群中运行以下命令,在池上启用镜像功能。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
在池上启用镜像:
语法
rbd mirror pool enable POOL_NAME MODE
rbd mirror pool enable POOL_NAME MODECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rbd mirror pool enable data pool
[root@rbd-client ~]# rbd mirror pool enable data poolCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这个示例启用对名为
data的完整池进行镜像。示例
rbd mirror pool enable data image
[root@rbd-client ~]# rbd mirror pool enable data imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这个示例在名为
data的池上启用镜像模式镜像。
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的镜像 Ceph块设备 部分。
6.4.3. 禁用对池的镜像 复制链接链接已复制到粘贴板!
在禁用镜像前,删除对等集群。
当您禁用对池的镜像时,您还会在池中在镜像模式中单独启用镜像的镜像禁用它。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
在池上禁用镜像:
语法
rbd mirror pool disable POOL_NAME
rbd mirror pool disable POOL_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rbd mirror pool disable data
[root@rbd-client ~]# rbd mirror pool disable dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此示例禁用名为
data的池的镜像。
6.4.4. 启用镜像镜像 复制链接链接已复制到粘贴板!
在两个对等存储集群中,以镜像模式对整个池启用镜像功能。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
为池中的特定镜像启用镜像功能:
语法
rbd mirror image enable POOL_NAME/IMAGE_NAME
rbd mirror image enable POOL_NAME/IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rbd mirror image enable data/image2
[root@rbd-client ~]# rbd mirror image enable data/image2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例启用对
data池中的image2镜像启用镜像。
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的 在池上启用镜像 部分。
6.4.5. 禁用镜像镜像 复制链接链接已复制到粘贴板!
您可以在镜像中禁用 Ceph Block Device 镜像。
先决条件
- 一个运行的 Red Hat Ceph Storage 集群,带有基于快照的镜像配置。
- 节点的根级别访问权限。
流程
禁用特定镜像的镜像:
语法
rbd mirror image disable POOL_NAME/IMAGE_NAME
rbd mirror image disable POOL_NAME/IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rbd mirror image disable data/image2
[root@rbd-client ~]# rbd mirror image disable data/image2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例禁用
data池中image2镜像的镜像。
6.4.6. 镜像提升和降级 复制链接链接已复制到粘贴板!
您可以升级或降级池中的镜像。
不要强制提升仍在同步的非主镜像,因为镜像在提升后无效。
先决条件
- 一个运行的 Red Hat Ceph Storage 集群,带有基于快照的镜像配置。
- 节点的根级别访问权限。
流程
将镜像降级为非主要镜像:
语法
rbd mirror image demote POOL_NAME/IMAGE_NAME
rbd mirror image demote POOL_NAME/IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rbd mirror image demote data/image2
[root@rbd-client ~]# rbd mirror image demote data/image2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例降级
data池中的image2镜像。将镜像提升为主要步骤:
语法
rbd mirror image promote POOL_NAME/IMAGE_NAME
rbd mirror image promote POOL_NAME/IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rbd mirror image promote data/image2
[root@rbd-client ~]# rbd mirror image promote data/image2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例提升了
data池中的image2。根据您使用的镜像类型,请参阅通过 单向镜像从灾难中恢复 ,或者通过双向镜像从灾难中恢复。
语法
rbd mirror image promote --force POOL_NAME/IMAGE_NAME
rbd mirror image promote --force POOL_NAME/IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rbd mirror image promote --force data/image2
[root@rbd-client ~]# rbd mirror image promote --force data/image2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当降级无法传播到对等 Ceph 存储群集时,请使用强制提升。例如,由于集群失败或通信中断。
6.4.7. 镜像重新同步 复制链接链接已复制到粘贴板!
您可以重新同步镜像。如果两个对等集群之间状态不一致,rbd-mirror 守护进程不会尝试镜像导致不一致的镜像。
先决条件
- 一个运行的 Red Hat Ceph Storage 集群,带有基于快照的镜像配置。
- 节点的根级别访问权限。
流程
请求到主镜像的重新同步:
语法
rbd mirror image resync POOL_NAME/IMAGE_NAME
rbd mirror image resync POOL_NAME/IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rbd mirror image resync data/image2
[root@rbd-client ~]# rbd mirror image resync data/image2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个示例请求在
data池中重新同步image2。
6.4.8. 添加存储集群对等集群 复制链接链接已复制到粘贴板!
为 rbd-mirror 守护进程添加一个存储集群 peer,以发现其对等存储集群。例如,要将 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_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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-bCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.9. 删除存储集群 peer 复制链接链接已复制到粘贴板!
通过指定对等 UUID 来删除存储群集 peer。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
指定池名称和同级通用唯一标识符 (UUID)。
语法
rbd mirror pool peer remove POOL_NAME PEER_UUID
rbd mirror pool peer remove POOL_NAME PEER_UUIDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rbd mirror pool peer remove data 7e90b4ce-e36d-4f07-8cbc-42050896825d
[root@rbd-client ~]# rbd mirror pool peer remove data 7e90b4ce-e36d-4f07-8cbc-42050896825dCopy to Clipboard Copied! Toggle word wrap Toggle overflow 提示若要查看对等 UUID,可使用
rbd mirror pool info命令。
6.4.10. 获取池的镜像状态 复制链接链接已复制到粘贴板!
您可获取存储集群中池的镜像状态。
先决条件
- 一个运行的 Red Hat Ceph Storage 集群,带有基于快照的镜像配置。
- 节点的根级别访问权限。
流程
获取镜像池概述:
语法
rbd mirror pool status POOL_NAME
rbd mirror pool status POOL_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 提示要输出池中每个镜像的状态详情,请使用
--verbose选项。
6.4.11. 获取单个镜像的镜像状态 复制链接链接已复制到粘贴板!
您可以通过运行 mirror image status 命令获取镜像的镜像状态。
先决条件
- 一个运行的 Red Hat Ceph Storage 集群,带有基于快照的镜像配置。
- 节点的根级别访问权限。
流程
获取已镜像镜像的状态:
语法
rbd mirror image status POOL_NAME/IMAGE_NAME
rbd mirror image status POOL_NAME/IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例获取
data池中image2镜像的状态。
6.4.12. 延迟块设备复制 复制链接链接已复制到粘贴板!
无论您使用的是单向复制还是双向复制,您都可以延迟 RADOS 块设备 (RBD) 镜像镜像之间的复制。如果您要在复制到次要镜像之前恢复对主镜像的更改,则可能需要实施延迟复制。
延迟块设备复制仅适用于基于日志的镜像。
为实施延迟复制,目标存储集群内的 rbd-mirror 守护进程应设置 rbd_mirroring_replay_delay = MINIMUM_DELAY_IN_SECONDS 配置选项。此设置可以在 rbd-mirror 守护进程使用的 ceph.conf 文件中全局应用,也可以在单个镜像基础上应用。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
要使用特定镜像的延迟复制,在主镜像上运行以下
rbdCLI 命令:语法
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_SECONDSCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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 600Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例在
vms池中设置镜像vm-1的最小复制延迟 10 分钟。
6.4.13. 将基于日志的镜像转换为基于快照的镜像 复制链接链接已复制到粘贴板!
您可以通过禁用镜像并启用快照,将基于日志的镜像转换为基于快照的镜像。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
登录到 Cephadm shell:
示例
cephadm shell
[root@rbd-client ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为池中的特定镜像禁用镜像:
语法
rbd mirror image disable POOL_NAME/IMAGE_NAME
rbd mirror image disable POOL_NAME/IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[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 disabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为镜像启用基于快照的镜像:
语法
rbd mirror image enable POOL_NAME/IMAGE_NAME snapshot
rbd mirror image enable POOL_NAME/IMAGE_NAME snapshotCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[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 enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow 本例为
mirror_pool池中mirror_image镜像启用基于快照的镜像。
6.4.14. 创建镜像 mirror-snapshot 复制链接链接已复制到粘贴板!
在使用基于快照的镜像功能时,创建镜像 mirror-snapshot,以镜像 RBD 镜像已更改的内容。
先决条件
- 至少运行两个健康的 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_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rbd mirror image snapshot data/image1
[root@site-a ~]# rbd mirror image snapshot data/image1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的镜像 Ceph块设备 部分。
6.4.15. 调度 mirror-snapshot 复制链接链接已复制到粘贴板!
在定义 mirror-snapshot 调度时,可以自动创建 mirror-snapshots。mirror-snapshot 可以按池或镜像级别进行全局调度。可以在任何级别上定义多个 mirror-snapshot 调度,但只有与单个镜像的镜像匹配的最具体的快照调度才会运行。
6.4.15.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! Toggle word wrap Toggle overflow 只有在集群名称与默认名称
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 6hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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:00Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.15.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 --recursiveCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此外,还可指定
`--recursive选项来列出指定级别的所有调度,如下所示:示例
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
[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 6hCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.15.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_TIMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 间隔可以分别使用 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 6hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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:00Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.15.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! Toggle word wrap Toggle overflow 示例
rbd mirror snapshot schedule status SCHEDULE TIME IMAGE 2021-09-21 18:00:00 data/image1
[root@rbd-client ~]# rbd mirror snapshot schedule status SCHEDULE TIME IMAGE 2021-09-21 18:00:00 data/image1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的镜像 Ceph块设备 部分。