10.2. 为 Ceph 文件系统配置快照镜像
您可以配置 Ceph 文件系统(CephFS),以镜像(CephFS)在远程 Red Hat Ceph Storage 集群上将快照复制到另一个 CephFS。
同步到远程存储集群所需的时间取决于文件大小和镜像路径中的文件总数。
先决条件
- 源和目标集群必须健康,且运行 Red Hat Ceph Storage 6.0 或更高版本。
- 对源和目标集群中的 Ceph Monitor 节点的 root 级别访问。
- 至少一个 Ceph 文件系统部署在存储集群中。
流程
登录到 Cephadm shell:
示例
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在源存储集群中,部署 CephFS 镜像守护进程:
语法
ceph orch apply cephfs-mirror ["NODE_NAME"]
ceph orch apply cephfs-mirror ["NODE_NAME"]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph orch apply cephfs-mirror "node1.example.com" Scheduled cephfs-mirror update...
[ceph: root@host01 /]# ceph orch apply cephfs-mirror "node1.example.com" Scheduled cephfs-mirror update...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令创建名为
cephfs-mirror的 Ceph 用户,并在给定的节点上部署cephfs-mirror守护进程。可选:部署多个 CephFS 镜像守护进程并实现高可用性:
语法
ceph orch apply cephfs-mirror --placement="PLACEMENT_SPECIFICATION"
ceph orch apply cephfs-mirror --placement="PLACEMENT_SPECIFICATION"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph orch apply cephfs-mirror --placement="3 host1 host2 host3" Scheduled cephfs-mirror update...
[ceph: root@host01 /]# ceph orch apply cephfs-mirror --placement="3 host1 host2 host3" Scheduled cephfs-mirror update...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例在不同的主机上部署三个
cephfs-mirror守护进程。警告不要用逗号分隔主机,因为它会产生以下错误:
Error EINVAL: name component must include only a-z, 0-9, and -
Error EINVAL: name component must include only a-z, 0-9, and -Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在目标存储集群中,为每个 CephFS 对等用户创建一个用户:
语法
ceph fs authorize FILE_SYSTEM_NAME CLIENT_NAME / rwps
ceph fs authorize FILE_SYSTEM_NAME CLIENT_NAME / rwpsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph fs authorize cephfs client.mirror_remote / rwps [client.mirror_remote] key = AQCjZ5Jg739AAxAAxduIKoTZbiFJ0lgose8luQ==[ceph: root@host01 /]# ceph fs authorize cephfs client.mirror_remote / rwps [client.mirror_remote] key = AQCjZ5Jg739AAxAAxduIKoTZbiFJ0lgose8luQ==Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在源存储集群中,启用 CephFS 镜像模块:
示例
[ceph: root@host01 /]# ceph mgr module enable mirroring
[ceph: root@host01 /]# ceph mgr module enable mirroringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在源存储集群中,在 Ceph 文件系统上启用镜像功能:
语法
ceph fs snapshot mirror enable FILE_SYSTEM_NAME
ceph fs snapshot mirror enable FILE_SYSTEM_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph fs snapshot mirror enable cephfs
[ceph: root@host01 /]# ceph fs snapshot mirror enable cephfsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:禁用快照镜像:
语法
ceph fs snapshot mirror disable FILE_SYSTEM_NAME
ceph fs snapshot mirror disable FILE_SYSTEM_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph fs snapshot mirror disable cephfs
[ceph: root@host01 /]# ceph fs snapshot mirror disable cephfsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 警告禁用文件系统上的快照镜像会删除配置的对等点。您需要通过引导方式再次导入同级服务器。
准备目标对等存储集群。
在目标节点上,启用
mirroringCeph Manager 模块:示例
[ceph: root@host01 /]# ceph mgr module enable mirroring
[ceph: root@host01 /]# ceph mgr module enable mirroringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在同一个目标节点上,创建 peer bootstrap:
语法
ceph fs snapshot mirror peer_bootstrap create FILE_SYSTEM_NAME CLIENT_NAME SITE_NAME
ceph fs snapshot mirror peer_bootstrap create FILE_SYSTEM_NAME CLIENT_NAME SITE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow SITE_NAME 是用户定义的字符串,用于识别目标存储集群。
示例
[ceph: root@host01 /]# ceph fs snapshot mirror peer_bootstrap create cephfs client.mirror_remote remote-site {"token": "eyJmc2lkIjogIjBkZjE3MjE3LWRmY2QtNDAzMC05MDc5LTM2Nzk4NTVkNDJlZiIsICJmaWxlc3lzdGVtIjogImJhY2t1cF9mcyIsICJ1c2VyIjogImNsaWVudC5taXJyb3JfcGVlcl9ib290c3RyYXAiLCAic2l0ZV9uYW1lIjogInNpdGUtcmVtb3RlIiwgImtleSI6ICJBUUFhcDBCZ0xtRmpOeEFBVnNyZXozai9YYUV0T2UrbUJEZlJDZz09IiwgIm1vbl9ob3N0IjogIlt2MjoxOTIuMTY4LjAuNTo0MDkxOCx2MToxOTIuMTY4LjAuNTo0MDkxOV0ifQ=="}[ceph: root@host01 /]# ceph fs snapshot mirror peer_bootstrap create cephfs client.mirror_remote remote-site {"token": "eyJmc2lkIjogIjBkZjE3MjE3LWRmY2QtNDAzMC05MDc5LTM2Nzk4NTVkNDJlZiIsICJmaWxlc3lzdGVtIjogImJhY2t1cF9mcyIsICJ1c2VyIjogImNsaWVudC5taXJyb3JfcGVlcl9ib290c3RyYXAiLCAic2l0ZV9uYW1lIjogInNpdGUtcmVtb3RlIiwgImtleSI6ICJBUUFhcDBCZ0xtRmpOeEFBVnNyZXozai9YYUV0T2UrbUJEZlJDZz09IiwgIm1vbl9ob3N0IjogIlt2MjoxOTIuMTY4LjAuNTo0MDkxOCx2MToxOTIuMTY4LjAuNTo0MDkxOV0ifQ=="}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在双引号之间复制令牌字符串,以便在下一步中使用。
在源存储集群中,从目标存储集群导入 bootstrap 令牌:
语法
ceph fs snapshot mirror peer_bootstrap import FILE_SYSTEM_NAME TOKEN
ceph fs snapshot mirror peer_bootstrap import FILE_SYSTEM_NAME TOKENCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph fs snapshot mirror peer_bootstrap import cephfs eyJmc2lkIjogIjBkZjE3MjE3LWRmY2QtNDAzMC05MDc5LTM2Nzk4NTVkNDJlZiIsICJmaWxlc3lzdGVtIjogImJhY2t1cF9mcyIsICJ1c2VyIjogImNsaWVudC5taXJyb3JfcGVlcl9ib290c3RyYXAiLCAic2l0ZV9uYW1lIjogInNpdGUtcmVtb3RlIiwgImtleSI6ICJBUUFhcDBCZ0xtRmpOeEFBVnNyZXozai9YYUV0T2UrbUJEZlJDZz09IiwgIm1vbl9ob3N0IjogIlt2MjoxOTIuMTY4LjAuNTo0MDkxOCx2MToxOTIuMTY4LjAuNTo0MDkxOV0ifQ==
[ceph: root@host01 /]# ceph fs snapshot mirror peer_bootstrap import cephfs eyJmc2lkIjogIjBkZjE3MjE3LWRmY2QtNDAzMC05MDc5LTM2Nzk4NTVkNDJlZiIsICJmaWxlc3lzdGVtIjogImJhY2t1cF9mcyIsICJ1c2VyIjogImNsaWVudC5taXJyb3JfcGVlcl9ib290c3RyYXAiLCAic2l0ZV9uYW1lIjogInNpdGUtcmVtb3RlIiwgImtleSI6ICJBUUFhcDBCZ0xtRmpOeEFBVnNyZXozai9YYUV0T2UrbUJEZlJDZz09IiwgIm1vbl9ob3N0IjogIlt2MjoxOTIuMTY4LjAuNTo0MDkxOCx2MToxOTIuMTY4LjAuNTo0MDkxOV0ifQ==Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在源存储集群中,列出 CephFS 镜像对等点:
语法
ceph fs snapshot mirror peer_list FILE_SYSTEM_NAME
ceph fs snapshot mirror peer_list FILE_SYSTEM_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph fs snapshot mirror peer_list cephfs {"e5ecb883-097d-492d-b026-a585d1d7da79": {"client_name": "client.mirror_remote", "site_name": "remote-site", "fs_name": "cephfs", "mon_host": "[v2:10.0.211.54:3300/0,v1:10.0.211.54:6789/0] [v2:10.0.210.56:3300/0,v1:10.0.210.56:6789/0] [v2:10.0.210.65:3300/0,v1:10.0.210.65:6789/0]"}}[ceph: root@host01 /]# ceph fs snapshot mirror peer_list cephfs {"e5ecb883-097d-492d-b026-a585d1d7da79": {"client_name": "client.mirror_remote", "site_name": "remote-site", "fs_name": "cephfs", "mon_host": "[v2:10.0.211.54:3300/0,v1:10.0.211.54:6789/0] [v2:10.0.210.56:3300/0,v1:10.0.210.56:6789/0] [v2:10.0.210.65:3300/0,v1:10.0.210.65:6789/0]"}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:删除快照对等点:
语法
ceph fs snapshot mirror peer_remove FILE_SYSTEM_NAME PEER_UUID
ceph fs snapshot mirror peer_remove FILE_SYSTEM_NAME PEER_UUIDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph fs snapshot mirror peer_remove cephfs e5ecb883-097d-492d-b026-a585d1d7da79
[ceph: root@host01 /]# ceph fs snapshot mirror peer_remove cephfs e5ecb883-097d-492d-b026-a585d1d7da79Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意有关如何查找对等 UUID 值,请参阅 查看 Ceph 文件系统的镜像状态。
在源存储集群中,为快照镜像配置目录:
语法
ceph fs snapshot mirror add FILE_SYSTEM_NAME PATH
ceph fs snapshot mirror add FILE_SYSTEM_NAME PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph fs snapshot mirror add cephfs /volumes/_nogroup/subvol_1
[ceph: root@host01 /]# ceph fs snapshot mirror add cephfs /volumes/_nogroup/subvol_1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要只有 Ceph 文件系统中的绝对路径有效。
注意Ceph Manager
mirroring模块规范路径。例如,/d1/d2/./dN目录等同于/d1/d2。为镜像添加了目录后,禁止为镜像添加自己的目录和子目录。可选:为目录停止快照镜像:
语法
ceph fs snapshot mirror remove FILE_SYSTEM_NAME PATH
ceph fs snapshot mirror remove FILE_SYSTEM_NAME PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph fs snapshot mirror remove cephfs /home/user1
[ceph: root@host01 /]# ceph fs snapshot mirror remove cephfs /home/user1Copy to Clipboard Copied! Toggle word wrap Toggle overflow