分布式存储系统中,文件/对象,多采用副本的方式,提高数据的可靠性以及读数据的io throughput。系统中副本在节点间的分布策略,对于快速定位数据的位置,以及整个系统的网络流量、节点间io负载均衡,非常重要。副本分布策略,大致分为三种:
1.基于统计和监控的副本分布策略;
2.基于一致性hash的副本分布策略;
3.基于伪随机算法的副本分布策略;
基于统计和监控的策略:
这种策略在传统的,有中心(MDS metadata server)的架构中比较常见。全局统一的元数据服务器中,记录了当前系统中每个数据节点的存储空间使用率,可以监控到每个节点当前网络、blockio的负载。metadata sever相当于一个全能节点,时刻洞察到系统中变化。元数据服务器基于这些统计、监控信息,综合多种的负载均衡策略(例如空间使用率最低,机架位置选择,网络raid10、节点状态