LiSheng's blog LiSheng's blog
首页
笔记
个人简历
随笔集
GitHub (opens new window)
首页
笔记
个人简历
随笔集
GitHub (opens new window)
  • golang

  • cplus

  • leetcode

  • 存储技术

    • 学习大纲
    • 命令ls的执行过程
    • mmap && write
    • 命令write的执行过程
    • 块
    • VFS层
    • Ceph

      • Ceph架构设计
      • Crash算法
      • osd上的数据管理
      • ceph分布式存储-对象存储(RGW)搭建
      • ceph分布式存储-管理crushmap
      • ceph分布式存储-集群客户端连接
      • ceph分布式存储-集群容量评估
      • ceph分布式存储-集群通信
      • ceph分布式存储-块存储BlueStore性能测试
      • ceph分布式存储-日志和调试
      • ceph分布式存储-数据不均衡调整
      • ceph分布式存储-用户管理
      • ceph分布式存储-MDS介绍
      • ceph分布式存储-MON模块内部结构分析
      • ceph分布式存储-OS调优
      • ceph分布式存储-PG和PGP的区别
    • Daos

  • 分布式系统

  • 计算机网络

  • Linux操作系统

  • Redis

  • 其他

  • 笔记
  • 存储技术
  • Ceph
lisheng
2024-10-27

ceph分布式存储-MDS介绍

# 1. mds存储

  • 元数据的内存缓存,为了加快元数据的访问。
  • 保存了文件系统的元数据(对象里保存了子目录和子文件的名称和inode编号)
  • 还保存cephfs日志journal,日志是用来恢复mds里的元数据缓存
  • 重启mds的时候会通过replay的方式从osd上加载之前缓存的元数据

# 2. mds冷备/热备

  • 冷备就是备份的mds,只起到一个进程备份的作用,并不备份lru元数据。主备进程保持心跳关系,一旦主的mds挂了,备份mds replay()元数据到缓存,当然这需要消耗一点时间。
  • 热备除了进程备份,元数据缓存还时时刻刻的与主mds保持同步,当 active mds挂掉后,热备的mds直接变成主mds,并且没有replay()的操作,元数据缓存大小和主mds保持一致。

说明:

  • rejoin把客户端的inode加载到mds cache。
  • replay把从cephfs的journal恢复内存。

# 3. mds主备切换策略

  • 默认每个standby都一样
  • 指定后补
    • mds standby for name指定一 MDS 守护进程的名字,此进程将作为它的候补
    • mds standby for rank此 MDS 将作为本机架上 MDS 守护进程的候补
  • 优先级最高standby replay

# 4. 节点失效机制

  • 一个活跃的MDS定期向monitor发送交互信息,如果一个MDS在mds_beacon_grace(默认15s)时间内没有向monitor注册,则认为该MDS失效。

# 5. 恢复过程

  • 失效节点的相关日志被读入内存;
  • 处理有争议的子树分配问题和涉及多个MDS的transaction;
  • 与client重新建立会话并重新保存打开文件的状态;
  • 接替失效节点的MDS加入到MDS集群的分布式缓存中

# 6. resolve阶段的事件

  • 恢复节点向所有MDS发送一个resolve信息,该信息中包含了当前恢复节点管理的子树、在迁移过程中出现故障的子树;
  • 其他正常运行的MDS也要将这些信息发送给正在恢复的MDS;
  • 恢复中的MDS根据收到的子树信息重建自己缓存中的子树层次结构。

# 7. 重建分布式缓存和锁状态

  • 恢复节点向所有MDS发送一个rejoin信息,该信息包含了恢复节点所知道的接受节点拥有的元数据副本信息并宣称自己没有管理的恢复文件;
  • 原来有效的节点向恢复节点发送信息,告诉恢复节点自己拥有的元数据副本,并且向恢复节点加入锁状态
  • 恢复节点将自己原本不知道的副本信息加入到自己的缓存中
编辑 (opens new window)
上次更新: 2024/10/28, 07:19:14
ceph分布式存储-用户管理
ceph分布式存储-MON模块内部结构分析

← ceph分布式存储-用户管理 ceph分布式存储-MON模块内部结构分析→

最近更新
01
ceph分布式存储-对象存储(RGW)搭建
10-27
02
ceph分布式存储-集群客户端连接
10-27
03
ceph分布式存储-管理crushmap
10-27
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式