前言
为了更好的运维存储系统,必须对现有硬盘的硬件信息做良好的监控,不要等到硬盘坏了,才开始维护,要在它快怀时就做好还盘准备,不然分布式存储系统的数据处理事件会很烦人。
关注ssd磁盘的情况,所以针对ssd寿命的相关监控都有加上(Media_Wearout_Indicator
的剩余擦写次数),看起来,集群流转写入一次大概会降低2-6%的擦写寿命,坏块很少,在擦写次数足够多的情况下,坏块几乎不会产生。
监控频率及内容
- 每半小时或1小时监测一下硬盘信息,找出寿命将近、读写速度不佳的硬盘。
- 监测内容:状态、读写速度、坏块、寿命、容量。
- 推荐使用ansible-tow来跑任务,或者预警方式。
安装监测工具
1 | yum install smartmontools |
监测硬盘信息
1 | smartctl -a /dev/sdb |
smartctl命令
1 | 查询目标硬盘的错误信息汇总 |
测试硬盘的读写速度
1 | hdparm -Tt /dev/sdb |
监测硬盘坏块
1 | 以读数据的方式监测目标硬盘坏块 |
复制要坏的硬盘或者分区
1 | 整盘复制 |
osd删除脚本
1 | # cat delete_osd.sh |
新增OSD调整一下恢复速度,避免影响业务。
1 | sudo ceph tell osd.* injectargs '--osd_recovery_max_single_start 8 --osd_recovery_sleep_hdd 0 --osd_recovery_max_active 8 --osd_max_backfills 8' |