2017年4月10日 星期一

find OSD and Journal

#!/bin/sh #https://github.com/ceph/ceph/blob/firefly/src/ceph-disk#L78 OSD_TYPE_CODE="4fbd7e29-9d25-41b8-afd0-062c0ceff05d" JOURNAL_TYPE_CODE="45b0969e-9b03-4f30-b4c6-b4b80ceff106" OSD_TYPE_CODE=$(echo $OSD_TYPE_CODE|sed 's/\-//g'|awk '{print toupper($0)}') JOURNAL_TYPE_CODE=$(echo $JOURNAL_TYPE_CODE|sed 's/\-//g'|awk '{print toupper($0)}') for disk in $(ls /dev/*|grep -E -o "sd[a-z]{1,}[0-9]{1,}|nvme[0-9]{1,}n1p[0-9]{1,}");do raw_disk=$(echo $disk|grep -E -o "sd[a-z]{1,}|nvme[0-9]{1,}n1p") part_id=${disk:${#raw_disk}} if [ ${#part_id} -gt 0 ];then type_code=$(sgdisk -i $part_id /dev/$raw_disk|grep "GUID code"|grep Unknown|awk '{print $4}'|sed 's/\-//g') type_code=$(echo $type_code|sed 's/\-//g'|awk '{print toupper($0)}') if [ ${#type_code} -gt 0 ];then case "$type_code" in "$OSD_TYPE_CODE") echo /dev/$disk OSD PARTUUID $( blkid /dev/$disk |grep -E -o "PARTUUID=.*"|cut -d'"' -f2|sed 's/\-//g') ;; "$JOURNAL_TYPE_CODE") osd_part_uuid=$(hexdump -s 0x10 -n 16 -e '16 1 "%02x" ' /dev/$disk) echo /dev/$disk journal for OSD_PARTUUID $osd_part_uuid ;; *) echo "Undefined type code " $disk ;; esac fi fi done

沒有留言: