weixin_49421991 2021-04-22 11:33 采纳率: 0%
浏览 25

ceph osd磁盘空间不一致,导致大磁盘空间使用率极低,如何解决?

ceph集群初始时有9个osd,其中六个0.5T,三个0.9T,使用70%后扩容加入六个osd,都是3.6T,调整过pg及pgp,集群恢复之后,新的数据并不多往大磁盘的osd写,导致前面使用率已经很高的osd很快又濒临写满,导致整个集群空间利用率很低,通过批量调节reweight后,数据并没有明显往后几个大osd迁移,只是在前几个小osd来回迁移,并且pg会出现大量misplaced状态,请问如何提高后加入的大osd的空间使用率?多谢!

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-07-15 08:30
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    为了提高后加入的大osd的空间使用率,可以考虑以下几个措施:
    1. 手动迁移数据:可以通过手动将一部分数据从前面使用率已经很高的osd迁移到后加入的大osd上,以平衡各个osd的数据分布。这样可以提高大osd的空间使用率。 举例代码:
    ceph osd out <前面使用率很高的osd编号>
    ceph osd in <后加入的大osd编号>
    
    1. 调整CRUSH映射规则:可以通过调整CRUSH映射规则,优先将数据写入后加入的大osd,以确保新数据往大磁盘的osd写,从而提高大osd的空间使用率。 举例代码:
    ceph osd crush tunables hammer
    ceph osd crush reweight <后加入的大osd编号> 2.0
    
    1. 增加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上,避免集群整体空间利用率低的情况发生。

    评论

报告相同问题?