5.7. 镜像 Ceph 块设备的管理
作为存储管理员,您可以执行各种任务来帮助您管理 Ceph 块设备镜像环境。您可以执行以下任务:
- 查看有关存储群集对等点的信息.
- 添加或删除对等存储群集。
- 获取池或镜像的镜像状态。
- 启用对池或镜像的镜像。
- 禁用对池或镜像的镜像。
- 延迟块设备复制。
- 提升和降级镜像。
5.7.1. 先决条件
- 至少运行两个健康的 Red Hat Ceph Storage 集群。
- 对 Ceph 客户端节点的根级别访问权限。
- 单向或双向 Ceph 块设备镜像关系。
5.7.2. 查看有关同级的信息
查看有关存储集群对等点的信息。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
查看对等点的信息:
语法
rbd mirror pool info POOL_NAME
示例
[root@rbd-client ~]# rbd mirror pool info data Mode: pool Site Name: site-a Peer Sites: UUID: 950ddadf-f995-47b7-9416-b9bb233f66e3 Name: site-b Mirror UUID: 4696cd9d-1466-4f98-a97a-3748b6b722b3 Direction: rx-tx Client: client.site-b
5.7.3. 启用对池的镜像
在两个对等集群中运行以下命令,在池上启用镜像功能。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
在池上启用镜像:
语法
rbd mirror pool enable POOL_NAME MODE
示例
[root@rbd-client ~]# rbd mirror pool enable data pool
这个示例启用对名为
data
的完整池进行镜像。示例
[root@rbd-client ~]# rbd mirror pool enable data image
这个示例在名为
data
的池上启用镜像模式镜像。
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的镜像 Ceph 块设备一节。
5.7.4. 禁用对池的镜像
在禁用镜像前,删除对等集群。
当您禁用对池的镜像时,您还会在池中在镜像模式中单独启用镜像的镜像禁用它。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
在池上禁用镜像:
语法
rbd mirror pool disable POOL_NAME
示例
[root@rbd-client ~]# rbd mirror pool disable data
此示例禁用名为
data
的池的镜像。
5.7.5. 启用镜像镜像
在两个对等存储集群中,以镜像模式对整个池启用镜像功能。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
为池中的特定镜像启用镜像功能:
语法
rbd mirror image enable POOL_NAME/IMAGE_NAME
示例
[root@rbd-client ~]# rbd mirror image enable data/image2
本例启用对
data
池中的image2
镜像启用镜像。
其它资源
- 详情请参阅 Red Hat Ceph Storage Block Device 指南 中的 对池启用镜像部分。
5.7.6. 禁用镜像镜像
禁用镜像的镜像。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
禁用特定镜像的镜像:
语法
rbd mirror image disable POOL_NAME/IMAGE_NAME
示例
[root@rbd-client ~]# rbd mirror image disable data/image2
本例禁用
data
池中image2
镜像的镜像。
5.7.7. 镜像提升和降级
提升或降级镜像。
不要强制提升仍在同步的非主镜像,因为镜像在提升后无效。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
将镜像降级为非主要镜像:
语法
rbd mirror image demote POOL_NAME/IMAGE_NAME
示例
[root@rbd-client ~]# rbd mirror image demote data/image2
本例降级
data
池中的image2
镜像。将镜像提升为主要步骤:
语法
rbd mirror image promote POOL_NAME/IMAGE_NAME
示例
[root@rbd-client ~]# rbd mirror image promote data/image2
本例提升了
data
池中的image2
。根据您使用的镜像类型,请参阅通过单向镜像从灾难中恢复,或者通过双向镜像从灾难中恢复。
使用
--force
选项强制提升非主镜像:语法
rbd mirror image promote --force POOL_NAME/IMAGE_NAME
示例
[root@rbd-client ~]# rbd mirror image promote --force data/image2
当降级无法传播到对等 Ceph 存储群集时,请使用强制提升。例如,由于集群失败或通信中断。
其它资源
- 有关详细信息,请参阅 Red Hat Ceph Storage 块设备指南中的故障切换部分。
5.7.8. 镜像重新同步
重新同步镜像.如果两个对等集群之间状态不一致,rbd-mirror
守护进程不会尝试镜像导致不一致的镜像。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
请求主镜像重新同步:
语法
rbd mirror image resync POOL_NAME/IMAGE_NAME
示例
[root@rbd-client ~]# rbd mirror image resync data/image2
这个示例请求在
data
池中重新同步image2
。
其它资源
- 要因为灾难而需要从不一致的状态中恢复,请参阅通过单向镜像从灾难中恢复,或者通过双向镜像从灾难中恢复。
5.7.9. 添加存储集群对等集群
为 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
示例
[root@rbd-client ~]# rbd --cluster site-b mirror pool peer add data client.site-a@site-a -n client.site-b
5.7.10. 删除存储集群 peer
通过指定对等 UUID 来删除存储群集 peer。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
指定池名称和同级通用唯一标识符 (UUID)。
语法
rbd mirror pool peer remove POOL_NAME PEER_UUID
示例
[root@rbd-client ~]# rbd mirror pool peer remove data 7e90b4ce-e36d-4f07-8cbc-42050896825d
提示若要查看对等 UUID,可使用
rbd mirror pool info
命令。
5.7.11. 获取池的镜像状态
获取池的镜像状态。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
获取镜像池概述:
语法
rbd mirror pool status POOL_NAME
示例
[root@rbd-client ~]# rbd mirror pool status data health: OK images: 1 total
提示要输出池中每个镜像的状态详情,请使用
--verbose
选项。
5.7.12. 获取单个镜像的镜像状态
获取镜像的镜像状态。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
获取已镜像镜像的状态:
语法
rbd mirror image status POOL_NAME/IMAGE_NAME
示例
[root@rbd-client ~]# rbd mirror image status data/image2 image2: global_id: 703c4082-100d-44be-a54a-52e6052435a5 state: up+replaying description: replaying, master_position=[object_number=0, tag_tid=3, entry_tid=0], mirror_position=[object_number=0, tag_tid=3, entry_tid=0], entries_behind_master=0 last_update: 2019-04-23 13:39:15
本例获取
data
池中image2
镜像的状态。
5.7.13. 延迟块设备复制
无论您使用的是单向复制还是双向复制,您都可以延迟 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
示例
[root@rbd-client ~]# rbd image-meta set vms/vm-1 conf_rbd_mirroring_replay_delay 600
本例在
vms
池中设置镜像vm-1
的最小复制延迟 10 分钟。
5.7.14. 异步更新和 Ceph 块设备镜像
使用带有异步更新的 Ceph 块设备镜像来更新存储集群时,请遵循 Red Hat Ceph Storage 安装指南中的更新说明。完成更新后,重新启动 Ceph 块设备实例。
在重启实例时不需要按照一定顺序进行。红帽建议重启实例,使其指向主镜像池,然后实例指向镜像池。
5.7.15. 创建镜像 mirror-snapshot
在使用基于快照的镜像功能时,创建镜像 mirror-snapshot,以镜像 RBD 镜像已更改的内容。
先决条件
- 至少运行两个健康的 Red Hat Ceph Storage 集群。
- 对 Red Hat Ceph Storage 集群的 Ceph 客户端节点的根级别访问权限。
- 具有管理员级别功能的 CephX 用户。
- 访问创建快照镜像的 Red Hat Ceph Storage 集群。
默认情况下,每个镜像只能创建 3 个镜像 mirror-snapshot。如果达到限制,则最新镜像 mirror-snapshot 会自动被删除。如果需要,可以通过 rbd_mirroring_max_mirroring_snapshots
配置覆盖限制。镜像 mirror-snapshot 会在镜像被删除或禁用镜像时自动删除。
流程
创建 image-mirror 快照:
语法
rbd --cluster CLUSTER_NAME mirror image snapshot POOL_NAME/IMAGE_NAME
示例
root@rbd-client ~]# rbd --cluster site-a mirror image snapshot data/image1
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的镜像 Ceph 块设备一节。
5.7.16. 调度 mirror-snapshot
在定义 mirror-snapshot 调度时,可以自动创建 mirror-snapshots。mirror-snapshot 可以按池或镜像级别进行全局调度。可以在任何级别上定义多个 mirror-snapshot 调度,但只有与单个镜像的镜像匹配的最具体的快照调度才会运行。
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的镜像 Ceph 块设备一节。
5.7.17. 创建 mirror-snapshot 调度
创建 mirror-snapshot 调度。
先决条件
- 至少运行两个健康的 Red Hat Ceph Storage 集群。
- 对 Red Hat Ceph Storage 集群的 Ceph 客户端节点的根级别访问权限。
- 具有管理员级别功能的 CephX 用户。
- 访问创建快照镜像的 Red Hat Ceph Storage 集群。
流程
创建 mirror-snapshot 调度:
语法
rbd mirror snapshot schedule add --pool POOL_NAME --image IMAGE_NAME INTERVAL START_TIME
间隔可以分别使用 d、h 或 m 后缀以天、小时或分钟为单位指定。可选的 START_TIME 可以使用 ISO 8601 时间格式指定。
示例
在镜像级别调度:
[root@rbd-client ~]# rbd mirror snapshot schedule add --pool data --image image1 6h
在池级别调度:
[root@rbd-client ~]# rbd mirror snapshot schedule add --pool data 24h 14:00:00-05:00
按全局级别调度:
[root@rbd-client ~]# rbd mirror snapshot schedule add 48h
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的镜像 Ceph 块设备一节。
5.7.18. 列出特定级别的所有快照计划
列出特定级别的所有快照计划。
先决条件
- 至少运行两个健康的 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
此外,还可指定
`--recursive
选项来列出指定级别的所有调度,如下所示:示例
[root@rbd-client ~]# rbd --cluster site-a 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
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的镜像 Ceph 块设备一节。
5.7.19. 删除 mirror-snapshot 调度
删除 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_NAME/IMAGE_NAME INTERVAL START_TIME
间隔可以分别使用 d、h 和 m 后缀来以天数、小时或分钟为单位指定。可选的 START_TIME 可以使用 ISO 8601 时间格式指定。
示例
[root@rbd-client ~]# rbd --cluster site-a mirror snapshot schedule remove data/image1 6h
示例
[root@rbd-client ~]# rbd --cluster site-a mirror snapshot schedule remove data/image1 24h 14:00:00-05:00
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的镜像 Ceph 块设备一节。
5.7.20. 查看要创建的下一个快照的状态
查看要为基于快照的镜像 RBD 镜像创建下一快照的状态。
先决条件
- 至少运行两个健康的 Red Hat Ceph Storage 集群。
- 对 Red Hat Ceph Storage 集群的 Ceph 客户端节点的根级别访问权限。
- 具有管理员级别功能的 CephX 用户。
- 访问创建快照镜像的 Red Hat Ceph Storage 集群。
流程
查看要创建的下一个快照的状态:
语法
rbd --cluster site-a mirror snapshot schedule status POOL_NAME/IMAGE_NAME
示例
[root@rbd-client ~]# rbd --cluster site-a mirror snapshot schedule status SCHEDULE TIME IMAGE 2020-02-26 18:00:00 data/image1
其它资源
- 详情请参阅 Red Hat Ceph Storage 块设备指南中的镜像 Ceph 块设备一节。