ceph集群初始时有9个osd,其中六个0.5T,三个0.9T,使用70%后扩容加入六个osd,都是3.6T,调整过pg及pgp,集群恢复之后,新的数据并不多往大磁盘的osd写,导致前面使用率已经很高的osd很快又濒临写满,导致整个集群空间利用率很低,通过批量调节reweight后,数据并没有明显往后几个大osd迁移,只是在前几个小osd来回迁移,并且pg会出现大量misplaced状态,请问如何提高后加入的大osd的空间使用率?多谢!
1条回答 默认 最新
关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
为了提高后加入的大osd的空间使用率,可以考虑以下几个措施:- 手动迁移数据:可以通过手动将一部分数据从前面使用率已经很高的osd迁移到后加入的大osd上,以平衡各个osd的数据分布。这样可以提高大osd的空间使用率。 举例代码:
ceph osd out <前面使用率很高的osd编号> ceph osd in <后加入的大osd编号>- 调整CRUSH映射规则:可以通过调整CRUSH映射规则,优先将数据写入后加入的大osd,以确保新数据往大磁盘的osd写,从而提高大osd的空间使用率。 举例代码:
ceph osd crush tunables hammer ceph osd crush reweight <后加入的大osd编号> 2.0- 增加pg_num和pgp_num:增加后加入的大osd的pg_num和pgp_num,可以让数据更均匀地分布到各个osd上,提高大osd的空间使用率。 举例代码:
ceph osd pool set <pool名称> pg_num <新的pg_num值> ceph osd pool set <pool名称> pgp_num <新的pgp_num值>通过以上措施,可以提高后加入的大osd的空间使用率,让数据更加均衡地分布到各个osd上,避免集群整体空间利用率低的情况发生。
解决 无用评论 打赏 举报