• ceph之查看osd上pg的分布


    一、概述

      osd上pg的分布决定了数据分布的均匀与否,所以能直观的看到pg到osd的上分布是很有必要的;

      ceph只身提供了相关的命令:

    1 #ceph pg ls-by-osd.{osd_id}
    2 #for i in `ceph osd  ls`; do ceph pg ls-by-osd osd.$i |awk '{print $1}' >> /tmp/aaa ;done       #NOTE: 每次osd输出,第一行有一个pg_stat,需要去掉之后,就可以获取pg总数是ceph -s中 pg个数*副本数

      上述方式可以很好的解决问题,但还是另一种方式也可以:

      1、获取map:

    # ceph osd getmap -o osdmap
    got osdmap epoch 2381

      2、获取crushmap:

    #osdmaptool osdmap --export-crush crushmap
    osdmaptool: osdmap file 'osdmap'
    osdmaptool: exported crush map to crushmap

      也可以使用:

    #ceph osd getcrushmap -o crushmap    

      3、获取某个pool在pg上的分布情况

    #osdmaptool  osdmap  --import-crush crushmap  --test-map-pgs --pool {pool_id}

      例如:

     osdmaptool osdmap --import-crush crushmap --test-map-pgs --pool 16
    osdmaptool: osdmap file 'osdmap'
    osdmaptool: imported 864 byte crush map from crushmap
    pool 16 pg_num 32
    #osd    count    first    primary    c wt    wt
    osd.1    14    4    4    0.149994    1
    osd.2    5    1    1    0.149994    1
    osd.3    7    4    4    0.149994    1
    osd.4    6    1    1    0.149994    1
    osd.5    6    3    3    0.149994    1
    osd.6    5    3    3    0.149994    1
    osd.7    9    8    8    0.149994    1
    osd.8    6    4    4    0.149994    1
    osd.9    6    4    4    0.149994    1
     in 9
     avg 7 stddev 2.68742 (0.383917x) (expected 2.51416 0.359165x))
     min osd.2 5
     max osd.1 14
    size 0    0
    size 1    0
    size 2    32
    size 3    0
    osdmaptool: writing epoch 2383 to osdmap

    可以看出单个pool的pg分布在osd上不是均匀的,我们可以迭代所有的pool来比较;并且通过以下命令来修改:

    #ceph osd crush reweight osd.id  {value}
    
    

  • 相关阅读:
    javascript 版的 MD5
    一个通用的动态加载数据例子(IE5,NS6,Mozilla 1.3b)
    javascript 版的 MD4
    javascript 版的 sha1
    用dhtml做了一个密码管理器
    java版本的escape和unescape函数
    java版的MD5
    vue:app.vue中添加监听beforeunload事件,即当浏览器窗口关闭或刷新时删除vuex中的数据
    vue设置全局样式:loadOptions
    内网穿透frp
  • 原文地址:https://www.cnblogs.com/chris-cp/p/5755771.html
Copyright © 2020-2023  润新知