ceph之rados设计原理与实现:crush算法

执行命令

shell 复制代码
ceph osd crush dump

可以查看当前集群crush信息

其中会输出可调crush参数"tunables"、规定的若干规则"rules"、以及crush map。

这些规则"rules"可以与存储池绑定,针对特定存储池执行自制的crush算法映射。

"crushmap"包含了数据中心、机架、主机、osd等整个拓扑结构,除了osd都是虚拟的,并且记录了每个osd的weight和reweight,weight和reweight直接影响了随机哈希算法结果,但是由于crush是随机的,所以调整weight、reweight并不能精确控制pg在osd上的分布。

"tunables"大多数参数都不建议调整,如果选不出足够的样本数,那么应该调大全局重试次数,但显然这会增加哈希计算时间。

以上针对crush可以的参数调整,都会导致pg在osd迁移已达到数据分布均衡,但是为了在线平衡不影响业务的性能,每次调整都应该先模拟测试效果,并且做到多次微调。

调整crush只有两个目标,一个是增加crush计算效率,另一个就是数据负载均衡。针对数据重平衡,ceph有reweight、weight-set、umap、balancer。balancer依赖前三种工具,计算osd空间利用率的方差构建评分系统,既可以针对整个集群也可以针对存储池独占的osd,实现自动的评估系统评分,然后决定什么时候调整以及调整多少合适,从而代替了人工实现了自动化。因为针对上述参数的调整都是需要人工干预,都是多次微调实际非常麻烦,并且实际生产环境ceph扩容或者故障导致的pg自动迁移非常频繁,每次pg迁移后之前的调整都付之东流,因此自动化调整应运而生。

相关推荐
三十..12 小时前
Ceph分布式存储核心技术精要与运维实践指南
运维·分布式·ceph
一个行走的民14 小时前
Ceph OSD NUMA 亲和性、Page Cache 跨 NUMA 访问与绑核实践
ceph
潮起鲸落入海15 小时前
ceph集群组件管理 ceph orch 和ceph config命令
ceph
bukeyiwanshui15 小时前
20260529 Ceph 分布式存储 认证和授权管理
ceph
bukeyiwanshui16 小时前
20260528 Ceph 分布式存储 池管理
ceph
一个行走的民16 小时前
CephX 认证机制深度解析
ceph
马立杰17 小时前
Ceph 集群手动部署
ceph·分布式存储
bukeyiwanshui18 小时前
20260528 Ceph 分布式存储 集群配置
分布式·ceph
qq_3564086618 小时前
Kubernetes Rook-Ceph 高可用存储部署文档
ceph·容器·kubernetes
潮起鲸落入海18 小时前
ceph集群mon 以及池管理
ceph