会议记录:2019年08月02日
会议地点:西区图书馆208
会议内容:元数据迁移的后续工作
会议要点:
目前已发现的问题
- Node内部可以部署多个MDS实例以提升资源利用率,但是现有的结点内部MDS通信方式仍需经过网卡
- 现有的迁移方式是一种通用型的迁移方式,难以实现对特定workload的优化,例如针对遍历目录操作,迁移是无效的
- 迁移决策阶段仍然是按MDS为粒度考虑,忽略了Node层次
- 现有的迁移方式会对待迁移的目录及其父目录上锁,阻塞客户端请求
解决方案
- Node内部的MDS间通信采用更快的IPC方式,绕过网卡,加速消息传输
- 设计类似负载感知的迁移策略,例如针对遍历目录操作,迁移冷数据;针对局部性比较强的操作,迁移热数据;
- 在迁移决策阶段应该考虑Node与MDS两个层次,MDS在迁移时优先迁往Node内部的MDS(如果Node应该负载很高,则再考虑跨结点迁移)
- 乐观迁移策略:在进行迁移时,并不对待迁移目录和其父目录上锁,而是采用Copy on Write的方式进行迁移;但是当有请求更新了迁移的目录,则仍需要再迁移增量(read dominates的场景中可减少迁移增量的次数)