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
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言