当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