打印指定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