cephfs snapshot mirror 调研

本文详细调研了CephFS的snapshot mirror功能,通过测试验证了CephFS快照异步复制到远程集群的可行性,探讨了在主从CephFS集群间数据同步的配置步骤和限制,发现当文件数量过多时可能出现同步问题,并评估了snapshot mirrors在生产环境的适用性。
摘要由CSDN通过智能技术生成

目的

测试实现 cephfs snapshot mirror 方法
实现两个集群 (CephFS) 实现数据同步
同步为异步方式
配合 snapshot schedule 实现两个 CephFS 集群异步自动数据统同步

参考

cephfs snapshot schedule 测试

需求

主, 从 CephFS 集群
Ceph 必须满足 16 或上版本
主,从 Ceph 集群 fsid 不可以重复, CephFS 命名不可以重复
通过 snapshot 创建实现复制 snapshot 后数据至 从 CephFS 集群

CephFS 环境

测试主要用于验证数据同步及方法
CephFS 集群空间,性能暂不考虑

os ceph 角色 CephFS 名称 osd 分布 ceph-mirror 进程 mds 进程
centos 8.4 ceph-17.2.7-0 主 CephFS test_fs 3ssd(metadata) + 21 sata (datapool) 3 3
centos 8.4 ceph-17.2.7-0 从CephFS snap_fs 24sata (共用 data, metadatal) 0 3

原理

CephFS 支持通过 cephfs-mirror工具将快照异步复制到远程 CephFS文件系统
快照的同步方法是镜像快照数据

测试总结

主 CephFS 集群器利用下文自动化文件创建脚本进行测试
每分钟创建 200 个 1MB 文件, 一小时 12000 个, 一天 288000 个文件
主集群器每小时创建一个 snapshot 并自动向从集群备份
当主 CephFS 集群文件数量达到一定程度 (当前约 2304000 个文件)snapshot mirror 无法完成
主 CephFS 集群所有 ceph-mds 进程不断故障 (mds 当前 32GB)
当前只对一个目录创建 snapshot, 并启动了 3 个 cephfs-mirror 进程,但只有一个 cephfs-mirror 进程负责对该目录进行数据同步
评估 snapshot mirrors 不可以用于生产

CephFS 主集群准备

创建用户

主 CephFS

首先在主 CephFS 创建用户用于 cephfs-mirror 进程使用
用户需要用于监视/通知操作的RADOS对象
需要数据池上的读取功能

参考命令

ceph auth get-or-create client.ns-yun-020057 mon 'profile cephfs-mirror' mds 'allow r' osd 'allow rw tag cephfs metadata=*, allow r tag cephfs data=*' mgr 'allow r'
[client.ns-yun-020057]
        key = AQD...你的key...w==

从 CephFS

其次需要在从 CephFS 上创建用户
需要具备 mds, mgr, osd 具有访问功能

ceph fs authorize snap_fs client.snap_mirror / rwps
[client.snap_mirror]
        key = AQD...你的key...w==

注意
上述命令虽然创建了用户
但用户没有 mgr 权限,因此需要手动添加权限否则后续会有问题

增加用户权限方法 (也可以参考这个命令直接创建用户)

# ceph auth caps client.snap_mirror mon 'allow r fsname=snap_fs' osd 'allow rw tag cephfs data=snap_fs' mds "allow rwps fsname=snap_fs" mgr "allow r"
updated caps for client.snap_mirror

启用 mirror 服务

只需要在 主 CephFS 集群中操作
安装软件

yum install -y cephfs-mirror.x86_64

导出之前创建的 client.ns-yun-020057 keyring

ceph auth get  client.ns-yun-020057 -o /etc/ceph/vip-ceph.client.ns-yun-020057.keyring

启动 cephfs-mirror 服务
可以选择多个机器启动 cpehfs-mirror 服务(也可以一台服务器同时启动多个 cephfs-mirror 服务)实现并发同步多个目录
cephfs-mirror 使用简单的 M/N 策略共享同步负载,其中M是目录数,N是cephfs镜像守护进程数
多个 cephfs-mirror 进程提供了高可用方案

systemctl start cephfs-mirror@ns-yun-020057
systemctl enable cephfs-mirror@
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Terry_Tsang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值