ceph pg相关运维脚本工具(一)

20 篇文章 0 订阅

概述

  在生产环境中,经常需要对ceph集群进行一些调优,维护,设备替换等操作,为了简化和方便操作,陆续写过一些简单的小脚本工具,现整理出来。

共同PG检测工具
使用场景

  在一个双副本环境中,已经有部分osd离线(down and in)的状态,此时集群部分pg处于单副本状态,此时有另外一些osd设备(硬盘原因,机器原因)需要替换或者离线,预估受影响的pg;或者想查询出某些osd共同承载了哪些pg。

脚本

  在脚本所在目录要查询的osd编号写入warnosdlist中,执行脚本,返回对应的pg编号。

root@mon0:/opt/pgtools# cat warnosdlist
10
15
29
40
66
78
root@mon0:/opt/pgtools# cat check_warnosd_pg 
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import re,os
osd=[]

os.system("""ceph pg dump|grep 2019|grep "]" > pgmap""")
with open ('warnosdlist') as f:
    for i in f:
        osd.append(i.strip())

with open ('pgmap') as pg:
    for p in pg:
        info=p.strip()
        p1="\d+,\d+"
        pa=re.compile(p1)
        oid=pa.findall(info)[0]
        q="\d+"
        qa=re.compile(q)
        s=qa.findall(oid)
        if s[0] in osd and s[1] in osd:
            print p
硬盘温度/告警级别查询
原理

  本质是利用smartctl工具检测硬盘相关的几个参数,直接将命令粘贴到交互界面执行即可。

温度异常检测
root@mon0:~# cat hotdisk.sh 
#!/bin/bash
lsblk | awk '/disk/{print "/dev/"$1}' | while read dev; do echo -n "$dev : "; smartctl -A $dev | grep Tem|grep 190;echo "";done
告警级别
root@mon0:~# cat hddcheck.sh 
#!/bin/bash
lsblk | awk '/disk/{print "/dev/"$1}' | while read dev; do echo -n "$dev : "; smartctl -A $dev | awk '/^ *(5|187|188|197|198)/{if($NF > 0) count++} END {if(count>=4) print "err"; else if(count>=3) print "warning";  else if(count>0) print "some wrong"; else print "ok"}'; done
smartctl相关参数

  网上有更详细的说明信息,感兴趣的可以看一下。根据相关的资料和实际经验,将5,187,188,197,198作为关键检测项,其余的作为参考,作为硬盘的损坏程度。

属性ID属性名称属性含义
1Raw Read Error Rate底层数据读取错误率
2Throughput Performance磁盘读写通量性能
3Spin Up Time主轴起旋时间
4Start/Stop Count启停次数
5Reallocated_Sector_Ct重映射扇区数
10Spin_Retry_Count主轴起旋重试次数
11Calibration_Retry_Count磁盘校准重试次数
12Power_Cycle_Count磁盘通电次数
187Reported Uncorrectable Errors无法校正的错误
188Command Timeout命令超时
194Temperature_Celsius温度
197Current Pending Sector Count当前待映射扇区计数
198Offline Uncorrectable Sector Count脱机无法校正的扇区计数
199UDMA_CRC_Error_Count奇偶校验错误率
200Write_Error_Rate写错误率
241Total_LBAs_Written磁盘自出厂总共写入的的数据,单位是LBAS=512Byte
242Total_LBAs_Read磁盘自出厂总共读取的数据,单位是LBAS=512Byte

(未完)

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ceph是一个开源的分布式存储系统,具有高可靠性、高性能和可扩展性。对于Ceph运维,以下是一些常见的任务和注意事项: 1. 配置管理:确保正确配置Ceph集群的各个组件,包括监控器(Monitor)、对象存储设备(OSD)和元数据服务器(MDS)等。可以使用Ceph配置文件和命令行工具进行配置管理。 2. 存储池管理:创建和管理存储池,设置副本数、存储策略和存储配额等。需要根据实际需求和性能要求进行合理的存储池规划。 3. 故障监测和处理:监控Ceph集群的状态和性能指标,及时发现并处理故障。可以使用Ceph自带的监控工具或第三方监控工具进行故障监测。 4. 数据备份和恢复:制定数据备份策略,定期备份关键数据,并测试数据恢复过程的可行性。可以使用Ceph自带的快照功能或其他备份工具进行数据备份。 5. 性能优化:根据实际负载和性能需求,调整Ceph集群的配置参数,优化存储性能。可以使用Ceph自带的性能调优工具或第三方工具进行性能优化。 6. 安全管理:保护Ceph集群的安全性,设置合适的访问控制策略,限制未经授权的访问。可以使用Ceph自带的安全功能或其他安全工具进行安全管理。 7. 版本升级和维护:及时升级Ceph的版本,修复已知的漏洞和问题。在升级过程中,需要进行充分的测试和备份,确保数据的安全性和可用性。 总之,Ceph运维需要综合考虑集群的配置、性能、安全和稳定性等因素,以确保存储系统的正常运行和数据的可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值