打印指定bucket下的osd block分区对应的磁盘(限使用lvm做block的osd)

打印指定bucket下的osd block分区对应的磁盘(限使用lvm做block的osd):

#!/bin/sh
bucketname=$1
osdid=`ceph osd ls-tree $bucketname`
for i in $osdid
do
pvs |grep `lvs -o lv_tags --noheadings | grep "ceph.osd_id=$i,"|cut -d "=" -f2|cut -d "/" -f3` 2>/dev/null | awk '{print $1}'
done

使用方法:

1、使用ceph osd tree命令查看当前的bucket名称:

[root@node112 ~]# ceph osd tree
ID  CLASS WEIGHT  TYPE NAME              STATUS REWEIGHT PRI-AFF 
-22             0 root root_cache                                
-13             0     host node112_cache                         
-16             0     host node113_cache                         
 -9             0     host node114_cache                         
 -1       0.57953 root default                                   
 -7       0.19318     host node112                               
  1   hdd 0.06540         osd.1              up  1.00000 1.00000 
  4   hdd 0.06540         osd.4              up  1.00000 1.00000 
  6   ssd 0.03119         osd.6              up  1.00000 1.00000 
 10   ssd 0.03119         osd.10             up  1.00000 1.00000 
 -5       0.19318     host node113                               
  2   hdd 0.06540         osd.2              up  1.00000 1.00000 
  5   hdd 0.06540         osd.5              up  1.00000 1.00000 
  7   ssd 0.03119         osd.7              up  1.00000 1.00000 
  9   ssd 0.03119         osd.9              up  1.00000 1.00000 
 -3       0.19318     host node114                               
  0   hdd 0.06540         osd.0              up  1.00000 1.00000 
  3   hdd 0.06540         osd.3              up  1.00000 1.00000 
  8   ssd 0.03119         osd.8              up  1.00000 1.00000 
 11   ssd 0.03119         osd.11             up  1.00000 1.00000 

2、执行脚本,比如要查看node112这个bucket下面的osd的block分区对应的磁盘:

[root@node112 ~]# sh osdlist.sh node112
/dev/sdd3
/dev/sde3
/dev/sdb1
/dev/sdc1
posted @ 2022-02-17 17:10  xzy186  阅读(102)  评论(0编辑  收藏  举报