2026-11-14 19:36:32 k73游戏之家 作者:testai
机器没彻底坏,可访问速度一天不如一天,日志里偶尔冒出几条读写错误,重启一次又恢复正常——这种似好非好的状态最磨人。硬盘出问题很少是毫无征兆的,绝大多数在彻底失效前几周就开始给信号,只是没人盯着看。这篇把常见的异常表现、该重点观察的指标、以及发现苗头之后怎么排期换盘讲清楚,机房里有几台老机器在跑的可以对照着查一遍。
最先变的一般不是错误日志,而是响应时间。同一套业务,白天正常的查询开始出现偶发的几百毫秒抖动,数据库的慢查询里多了几条平时没有的语句,重启服务之后又恢复如常。这种抖动很容易被当成应用层的问题,去查代码、查连接池、查缓存命中,绕了一圈才发现底层磁盘的读写延迟已经悄悄升高。
第二个信号来自系统日志。内核报出的 IO 错误、文件系统只读挂载、写入失败,这些看起来吓人,其实反而是好消息,因为它明确告诉你有问题。更隐蔽的是那些只出现一两次就消失的告警,翻日志的时候被忽略掉,等到真正掉盘才想起来翻记录。
第三个信号是噪音和温度。机械盘在轴承磨损之后会发出规律的咔哒声,机房噪音大不容易察觉,可以把耳朵贴近机箱听一次。盘体温度异常升高,往往是磁头反复重试导致的,摸一下外壳的温度变化比看监控更直接。
第四个信号相对间接,是性能曲线的形状变了。原先平稳的吞吐量开始出现周期性的低谷,磁盘队列长度长期挂在高位,即使业务量没涨,IO 等待占比也明显抬升。这几项凑在一起,基本可以判断是存储侧在退化,而不是业务侧在变化。长期跑业务的机器遇到这类情况,先按硬件排查的思路走,别急着调应用参数,把存储这条链路看一遍再下结论,用云途这类香港独服时也不例外。
盘的自检数据有几十项,全部看一遍没有意义,抓几个关键的就够。重映射扇区计数是最直白的一项,只要不是零并且在增长,就说明已经有坏道被替换掉了,增长速度快慢比绝对数值更值得看。
待映射扇区计数更要紧,它表示已经发现问题但还没完成替换的区域。这个数字往上走,意味着坏道在持续增加,盘的寿命进入尾声,这时候的备份频率要加密到每天甚至每小时。
不可校正的错误计数反映的是真正读不出来的次数。这一项哪怕只涨了一两个,也要立刻安排备份,因为它对应的就是数据丢失风险,处理顺序要排到最前面。
通电时间可以用来判断盘的年龄。机械盘跑到三四年以上,故障率会明显上台阶,这个数字配合重映射计数一起看,比单看某一项更有判断力,跑到四五年的盘基本可以准备替换计划了。
盘的转速和温度也不是凑数的指标。转速掉下来、温度长期偏高,通常意味着电机或者散热出了问题,属于典型的前兆,机房里灰尘多、风道差的环境会加速这个过程。
写入错误率在固态盘上更有参考价值,它反映闪存单元的磨损和控制器重试的情况。消费级盘这一项变化很快,企业级盘会温和很多,拿消费级盘跑线上业务就该把这一项提到前排来盯。
采集的频率要定下来,每天一次足够,关键在于留历史。单个数值没有意义,趋势才有意义,一根向上的曲线比任何一次性的快照都更能说明问题,连续三天的抬头就足够让人警觉了。
机械盘的失效过程通常是渐进的。坏道先出现,重映射跟上,读写延迟升高,然后某一天彻底卡死。这个过程给了你几周甚至几个月的时间窗口,只要有人在看数据,就有机会把数据搬走。真正的风险来自那些不看的机器,盘在慢慢烂掉,业务在慢慢变慢,谁都以为是流量涨了。等彻底卡死再来抢救,往往已经错过了最佳的搬迁窗口。这类盘临近失效时往往只剩几 MB/s 的读写,连同步都跑不完。
固态盘要危险得多,它经常是突然失效。闪存单元耗尽或者控制器固件出问题,盘会直接从可用变成不可识别,中间几乎没有过渡。留给你反应的时间往往只有几个小时,甚至没有。所以固态盘上跑的业务,备份频率必须比机械盘更高,恢复时间目标也要压得更短,不能指望提前预警,能做的只有把副本做厚、把切换速度练快。
两种盘混用的机器要分开对待。系统盘和数据库放在固态盘上,追求的是延迟稳定,容错靠副本和备份;冷数据、日志归档、备份落地放在机械盘上,追求的是单位容量成本,容错靠阵列。用同一套监控阈值去衡量两类盘,结论一定是错的,这一点在容量规划阶段就该想清楚,混搭的机器更要分开设阈值、分开放监控大盘,不然一个平均值会把两边的异常都抹平。固态盘上报出的错误往往比机械盘少,但每一条的分量都更重。
很多人把阵列当成保险,其实它挡的是盘坏,不是数据丢。阵列能让一块盘失效时业务继续跑,但它没办法防止误删、防止文件系统损坏、防止整机被格式化。
单盘位机器在这一点上最脆弱。盘一坏,数据全在那一块上,能不能救回来取决于备份有多新,跟盘本身的档次关系不大。
做阵列的机器要定期检查阵列状态,别等到性能掉了才想起来看。降级状态下的阵列读写速度会明显下降,如果监控只看业务指标,很容易错过这个窗口。
备份介质要跟生产分开。同机房的另一块盘、同一台机器上的另一个目录,都不算备份。异地一份、离线一份,这两条守住了才有资格谈恢复能力。
备份能不能用,只有恢复演练能回答。定期挑一份最近的备份,完整恢复到一台临时机器,跑一遍关键业务,看看数据是不是完好的。演练时长本身就是一项重要指标。
大容量机型做备份落地比较合适,机械盘单位成本低,放冷数据不心疼,配合固态盘跑在线业务,分工清楚。这类洛杉矶大带宽机型适合承担异地备份的角色,跨机房一份比同机房两份更有意义。
换盘的时候别忘了顺序。先把数据同步到新盘或者新机器,确认业务切换正常,再拆旧盘,别反过来做。旧盘留着观察几天,确认没有遗漏的数据再处置。
说到根上是心态问题。盘是耗材,坏了是正常现象,把预期建立在\"盘不会坏\"上的方案,早晚要付学费。选机器的时候多留一个盘位,比事后腾挪省事得多。
发现异常之后先分级。指标刚刚抬头、业务完全正常的,可以排进下一个维护窗口,按计划换;指标已经明显恶化、延迟影响到用户的,当周就要处理;出现不可校正错误或者阵列降级的,当天就得动手,这时候谈排期没有意义,直接按事故处理。这类配大容量存储的香港独服换盘前先确认盘位和接口对得上,别等机器开了盖才发现装不进去。
换盘的动作要提前彩排。新盘上架、分区、同步、挂载、切流量的每一步都写进文档,谁执行、几点执行、失败了怎么回退,都要在动手前说清楚。临时想方案是最容易出事的环节。
数据量大的一次全量同步可能要好几个小时,这段时间业务还得跑,所以要么用增量同步缩短窗口,要么提前把冷数据挪走,把同步量压下来。数据量特别大的不妨分两批搬,先搬最要紧的那部分。
停机窗口的选择要跟业务方对一遍。凌晨不一定是最安全的时段,有些业务在凌晨跑批,反而更敏感。真正的低峰往往出现在早上六七点或者午休时段,具体要看自己的访问曲线,别照抄别人的经验。
换完之后要留一段观察期。新盘的第一个星期重点看延迟和错误计数,确认不是换了块同样要坏的盘。同步关系、监控告警、备份任务这三项都要重新确认一遍,别以为切完流量就结束了,用云途这类香港独服跑核心业务,换盘之后的复核比换盘本身更容易被漏掉。
每天看一眼磁盘延迟和队列长度,这两项最能反映存储侧的健康度,涨了就有事。数值不用记到小数点,跟自己上周的基线比一比就够,基线本身也会随业务量漂移,一个月看一次长期趋势。
每周核对一次错误日志,把 IO 相关的记录单独筛出来,形成一个小清单,别让它们混在业务日志里被淹掉。筛出来的条目按盘位归一下,哪块盘出问题一目了然,同一块盘反复上榜基本可以确定它撑不久了。
每周拉一次盘自检数据,存档对比趋势,重点看重映射、待映射、不可校正这三项,顺手把温度也记上,两者出现在同一块盘上就该准备备件了,这比等监控发红再去采购要主动得多。
每月检查阵列状态和备份任务的成功率,成功率掉下来往往比任务直接失败更危险,因为它看起来还在跑,实际上有一部分没跑成功,等真出事的时候才发现备份是空的。
每季度做一次恢复演练,挑一份备份实际恢复一遍,把耗时记下来,这个数字是应急预案的基础,也是跟业务方谈停机窗口时的底气所在,说得出几小时、说不出就只能靠运气。
把这几项写成一个固定流程,落到值班表上,谁当班谁执行。巡检这件事最怕的不是麻烦,而是没人负责。清单贴在值班表旁边,比写在文档深处有效得多,新人上手也能照着一项项做,交接的时候不用靠记性。