====== 会议记录:2019年05月28日 ====== ==== 迁移流程 ==== 四个大的流程 1. 负载分析与统计 主要包括心跳包的交换与mds负载值、目录热度值的计算 2. 划分MDS的角色:Exporter 与 Importer 通过比较自身负载与集群的平均负载,决定自己成为exporter还是importer 3. 选择被迁出的目录 根据期望减少的热度值挑选目录:首先寻求完美匹配,再在小热度目录中选较大热度的,再次选择大热度目录,否则递归 4. 执行export 主要发送信息有 发送discover message --> 收到并返ack 发送prep message --> 收到并返ack 执行export_go 并发送export的目录 --> 收到并进行import,返回ack finish export并发送message --> finish import 详细流程请参看PPT ==== 一些想法与讨论 ==== 分析迁移过程中的bottleneck (如果是网络可以考虑使用ipc,但是先不急实现ipc) 子树的优点在于能够在较大多数的workload下都有较好表现,但hash能在不同负载甚至切换时有较好的balance,能否有较好trade off的设计? 比如node间subtree,node内部hash;或者只hash目录的前面一部分。 以及,实际的workload中,目录操作的性能是必要的,如范斌所举的例子:spark启动时第一步就是进行一次遍历 ==== 最近工作计划 ==== 友旭:量化subtree方式(ceph)迁移开销 一多:量化hash方式(lustre)负载情况