当OSD空间使用超过85%,ceph health就会有⚠️,说该OSD near full,这种情况下只是一个提醒,如果集群中很多OSD都near full,那么最合理的措施当然时添加OSD或者添加存储节点,即我们通常说的扩容。当osd使用满了后,集群将无法提供存储服务,无法继续写入数据,只读。所以需要对osd使用率进行监控并及时扩容或者迁移数据
实战脚本示例:
#!/bin/bash
#author:Albert_M
#date: 20230111
#count the usage of osd
if [ ! -d "/usr/check_osd" ];then mkdir -p /usr/check_osd;fi
log=/usr/check_osd/osd_usage.log
log_tmp=/usr/check_osd/osd_usage.tmp.log
log_time=/usr/check_osd/osd_usage_time.log
/var/lib/ceph/bin/ceph osd df | grep -v 'ID\|TOTAL\|MIN' | awk '{print $1,$7}' > $log_time
/var/lib/ceph/bin/ceph osd df | grep -v 'ID\|TOTAL\|MIN' | awk '{print $1,$7}' > $log_tmp
sed -i "s/^/`date +%F' '%T' '`/g" $log_time
cat $log_time >> $log
for i in `cat $log_tmp | awk '{print $2}'`;do
if [ $(echo "$i > 92"|bc) -eq 1 ];then
osd_id=`grep $i $log_tmp | awk '{print $1}'`
#echo $osd_id
/opt/product/zabbix/bin/zabbix_sender -c /opt/product/zabbix/conf/zabbix_agentd.conf -k "osd_id" -o "$osd_id"
/opt/product/zabbix/bin/zabbix_sender -c /opt/product/zabbix/conf/zabbix_agentd.conf -k "osd_usage" -o "$i"
fi
done
本文来自博客园,作者:Albert_M,转载请注明原文链接:https://www.cnblogs.com/Albert-M/p/17672655.html
浙公网安备 33010602011771号