
机房那台老伙计又报警了。IBM System x3650 M3圈里习惯叫它 3560M3的硬盘状态灯亮了一盏琥珀色阵列卡日志里清清楚楚写着“Predictive Failure”。这机器跑了七八年RAID5 阵列带三个 600G 的 10K SAS 盘说实话撑到现在才开始坏盘已经算给面子了。坏盘不稀奇稀奇的是很多刚接手老服务器的人一看到阵列降级就慌要么拔错盘要么换个不匹配的盘上去反而把原本能救的阵列折腾崩了。这篇记录就是用这台 3560M3 现场换盘的完整过程把从报警确认、备件选择、热插拔操作到重建监控的每一步都写清楚顺便把误拔盘、重建不启动、重建慢这些坑也一并拆掉给以后要动老阵列的人一份可以直接照做的清单。1. 动手之前先搞清“坏”到什么程度1.1 告警从哪来怎么确认老款 IBM System x3650 M3 自带一套 Integrated Management ModuleIMM机器前面板有个小液晶屏平时显示硬件健康状态。第一次发现异常通常是三种途径一是前面板液晶屏直接滚动“Event: Predictive failure on drive in bay 1”二是 MegaRAID Storage ManagerMSM装着一台机器上弹了黄色告警三是邮件或短信接到了服务器管理平台的告警推送。不管是哪种途径来的消息第一步不是急着拔盘而是先登录阵列管理界面把物理盘的真实状态拽出来看一眼。这台机器配的是 ServeRAID M5015 控制器管理端最常用的是 MSM登录后在左侧树形结构里展开控制器点 Physical Drive就能看到所有物理盘的状态。常见的状态有这么几类状态含义处理方向Online正常工作不需要动Unconfigured Good新盘或未加入阵列的盘可用于重建Rebuild正在重建耐心等待Failed已失效需要更换Predictive Failure即将失效SMART 报警尽快更换我这边看到的是 bay 1槽位1那块盘状态为 Predictive Failure另外两块 Online阵列逻辑盘状态从 Optimal 变成了 Degraded。也就是说当前 RAID5 还能扛坏盘还没彻底退出阵列但已经处在“随时会断开”的边缘了。1.2 看物理盘信息别只看灯告警确认之后还要把这块盘的型号、固件版本、容量、序列号记下来。MSM 里点开对应盘的属性就能看到重点看两个信息一个是盘的固件版本另一个是盘的类型SAS/SATA和转速10K/15K/7200。为什么不放心因为老服务器上的盘可能被前任管理员换过你以为槽位1里是原装的 600G 10K SAS打开一看可能是块 750G 的混合盘甚至 SATA 盘。如果我们按原装盘的规格去买备件买回来装上去可能会因为规格不匹配导致阵列不认盘那就麻烦透了。另外如果机器上有 IBM 的原厂管理工具或者能进 RAID BIOS开机按 CtrlH 进入 WebBIOS也可以在里面核对 Enclosure Device ID 和 Slot Number。这两个参数在物理定位槽位时特别管用尤其是机柜里线缆混乱、面板标签脱落的时候靠这个能精确锁定是哪一块。2. 换盘前的准备工作备件、备份、心理建设2.1 数据安全是满分前提RAID5 在单盘故障时阵列是降级的但数据还能正常读写。这并不代表你可以悠哉游哉——RAID5 只允许坏一块盘如果换盘期间另一块盘也挂了整个阵列直接 GG数据全没。所以我的习惯操作顺序是先看备份任务是否在计划内正常完成如果阵列上跑的业务没有最近的可用备份宁可先停机备份也不要贸然热插拔。尤其是这种服役多年的老盘机械部件老化程度不一致换盘过程中阵列出“二次故障”的概率并不低。我当时先确认了这台机器的备份策略是每天晚上异地复制到磁盘阵列柜最近一次备份成功且可以完整恢复这才决定现场热插拔更换。2.2 备件选择不是随便拿块盘就能上这是整个换盘过程里最容易踩坑的环节。很多朋友觉得“阵列坏了找个容量更大的盘换上不就行了”实际上这里有三个硬性条件接口类型必须匹配SAS 槽位不能插 SATA 盘反过来接口物理上插得进去但不建议混用老控制器对 SATA 盘的支持也和 SAS 不同。这台 M5015 支持 SAS 和 SATA但阵列里原本是 SAS 盘替换盘也推荐 SAS性能和兼容性都有保障。转速和缓存尽量一致RAID5 的有效容量按阵列里最小容量盘计算如果替换盘比原盘大多出来的空间也用不上。转速不一致比如原来 15K 盘换成 7.2K 盘会让整个阵列都按慢的盘来跑性能下降肉眼可见。企业级盘是底线不要拿台式机 SATA 盘往服务器里塞。桌面级盘没有 RAID 环境下的 TLER/ERC 纠错机制遇到轻微错误会自己反复重试阵列容易把盘踢出去重建成功率低得感人。我见过不下三回有人图便宜用监控盘还是紫盘换上去重建到一半盘就掉线的。我这次选的是和原装同型号的 600G 10K SAS 2.5 寸企业盘固件版本也尽量匹配。如果实在找不到同型号宁可选容量大一级的原厂兼容盘也别赌一块来路不明的拆机盘。2.3 工具和软件准备现场工具其实很简单防静电手环一副、服务器钥匙一把、十字螺丝刀一把拆面板和硬盘托架固定螺丝用。软件方面提前在笔记本电脑上装好对应版本的 MSM因为老的 ServeRAID M5015 需要配套版本装太新的 MegaRAID Storage Manager 可能连不上。另外建议提前下载好 storcli 命令行工具备用万一 MSM 图形界面连不上还能用命令行排查。还有一条容易被忽略登服务器控制台或 IMM 的账号密码要先确认可用。换盘过程中某些异常情况需要重启服务器进入 WebBIOS 操作如果这时候联系不到管理员、密码还得翻抽屉找那就尴尬了。3. 坏盘更换实操从确认槽位到重建完成3.1 换盘前最后一道确认物理槽位核对就算管理界面已经显示是 bay 1 坏盘也必须在服务器前面板上再次确认对应槽位的状态灯。正常待更换的故障盘状态灯一般呈琥珀色常亮或闪烁而正常的 Online 盘是绿色常亮。如果灯的颜色分辨不清可以找个人配合一个人看 MSM一个人摸灯把目标槽位确认无误后再动手。那一刻是真的要稳住的。我见过有同事换盘时没核对灯直接把另一块 Online 盘给拔了好在 RAID5 当时只坏了一块误拔后立刻插回去阵列从 Optimal 掉到 Degraded又重建了一次虚惊一场但没有丢数据。可如果当时已经有两块盘处于异常状态拔错盘就是灾难。3.2 热插拔步骤详解IBM 这款机器支持硬盘热插拔不需要关机具体操作如下按压硬盘托架前面板的解锁按钮让把手弹开。等待 5 到 10 秒确认目标盘状态灯仍然指示故障状态说白了就是再做一遍“灯号核对”。抓住把手把硬盘从槽位里平稳拉出。注意不要左右晃动拉容易弄弯托架导轨。把新盘装进托架如果新盘买了带托架的整盘跳过这步注意托架上有螺丝孔位固定螺丝拧到位不要让盘在托架里有松动。沿着导轨把新盘推入槽位推到推不动为止然后扣合把手。插进去后新盘指示灯会先闪几下接着阵列卡会重新扫描到新盘。如果阵列卡配置里开了 Auto Rebuild默认一般是开的新盘会被自动识别为重建目标盘状态从 Unconfigured Good 变成 Rebuild开始后台重建。我这次插下去大概 30 秒后再看 MSMbay 1 的状态已经从 Unconfigured Good 变成了 Rebuild阵列开始自动把原来坏盘上的数据重新计算写到新盘上。3.3 重建过程要盯多久RAID5 重建不是一下子完成的具体时间取决于盘容量、盘速、阵列卡性能和磁盘控制器当前负载。以 600G 10K SAS 盘在 M5015 上重建为例如果没有业务读写干扰大约需要 2 到 4 个小时如果服务器上有正在跑的业务重建时间可能拉到 6 小时甚至更长。重建期间可以用 MSM 里的 View Rebuild Progress 看百分比也可以用 storcli 在命令行下查./storcli /c0 /eall /sall show rebuild输出里会列出正在重建的盘和进度百分比。我习惯每 30 分钟看一眼进度确认百分比在涨如果发现一个小时内进度纹丝不动就得往下面第四节讲的问题去排查了。另外请注意重建期间阵列读写性能会明显下降这是正常的。RAID5 重建本质是读所有剩余磁盘数据、做 XOR 校验运算、再把结果写入新盘磁盘 IO 全部占满业务延迟上升甚至出现卡顿都是常见现象提前跟使用这台机器的人打好招呼。3.4 重建完成的验收动作当重建进度到 100% 后阵列逻辑盘状态会从 Degraded 恢复到 Optimal新盘状态变为 Online。这时可以做三件确认动作登录 MSM核对 Logical Drive 状态为 Optimal所有 Physical Drive 都是 Online。查看控制器事件日志Event Log里最后一条 Rebuild 完成记录确认时间是最近的。到系统层面比如操作系统的磁盘管理里确认逻辑盘容量、读写表现都正常。我当时还顺手跑了几个简单的磁盘读写测试确认阵列在重建后没有隐藏的坏道读数异常这才算真正收了工。4. 换盘过程遇到的坑重建不启动、误拔盘、重建慢4.1 新盘插上去重建却没开始这是最常见的坑。新盘插上去半天MSM 里还停在 Unconfigured Good阵列还是 Degraded。可能的原因有好几类控制器没有启用自动重建策略老的 ServeRAID 卡默认策略不一定都是 Auto Rebuild可以在控制器属性里手动触发。MSM 里右键物理盘选择“Rebuild”或“Start Rebuild”即可。新盘被识别为 Foreign外来盘如果新盘之前在其他阵列上用过盘上带了旧的 RAID 配置信息控制器会把它标记为 Foreign。这时候需要先将 Foreign Config 导入或清除才能让盘参与重建。导入时要注意别把旧配置整个覆盖到当前阵列上操作前先截图留底。盘本身没转起来或被识别为错误类型比如 SATA 盘插进 SAS 背板但背板线缆不支持或者盘通电异常。这种就要拔出重新插一次看看盘背面的电源/链路指示灯是否正常。遇到重建不自动开始的情况我的排查顺序是先看 MSM 里盘的状态是不是 Unconfigured Good → 再查有没有 Foreign 标记 → 然后手动触发 Rebuild → 最后才考虑是不是要重启服务器进 WebBIOS 调整。千万别直接重启重启只会让问题恢复的时间更长。4.2 误拔了 Online 盘怎么办虽然步骤里反复提醒了但真到现场还是可能出错。误拔 Online 盘后最常见的情况是阵列从 Optimal 变成 Degraded但数据还在因为 RAID5 在一盘掉线时依然能正常读写。这时候正确的操作是把误拔的盘立刻原样插回去等待阵列卡重新识别并触发重建。但如果误拔时阵列里已经有一块坏盘了那 RAID5 就会从 Degraded 直接变成 Offline阵列处于“不可用”状态。这种情况要冷静把误拔的盘插回去进 MSM 看能否识别如果识别后显示 Foreign导入 Foreign Config 有可能恢复到 Degraded然后继续重建。操作过程中禁止重启服务器、禁止格式化盘、禁止乱点删除配置。老话说得好阵列操作三件套“看三遍插回去等通知”。看三遍是为了不拔错插回去是误操作后发现不对立刻还原等通知是让阵列自己完成它该做的事不要着急出手。4.3 重建进度卡住或慢到不正常重建进度长期不动先排除是不是有大量业务读写正在占用磁盘 IO。如果业务负载很高可以尝试在控制器属性里调高 Rebuild Rate给重建任务分配更多 IO 带宽降低业务优先级别注意这是全局参数会影响正常业务性能调整前要和业务方确认。如果业务负载不高但重建还是卡住就要怀疑是盘本身有问题。看事件日志里有没有大量 SCSI 错误、介质错误记录如果有这块“新盘”很可能也是故障盘只能再换一块。老机器换盘有时候得换两三块才能碰到一块真正稳定的这是环境使然不是操作问题。另外重建期间如果服务器意外断电重建会中断。重新上电后控制器一般会自动继续重建但也出现过重建中断后阵列在启动阶段检测到多块盘“脏”的情况需要手动在 WebBIOS 里重新尝试重建。5. 经验小结老服务器换盘我记住的几件事这台 3560M3 换盘那天从确认告警到重建完成满打满算半天时间。真正花时间不是在插拔那两分钟而是确认盘位、选备件、等重建、查日志。回头想想有几个经验值得写下来一是槽位和盘的对应关系要提前整理成文档。哪怕只有三块盘的阵列时间一长谁都记不清哪块盘放在哪、序列号是多少。趁机器还健康把每块盘的序列号、槽位、型号、状态日期记录在案出问题时能省一半时间。二是同型号备件永远值得留一块。这种老服务器官方配件早就停了市面上的盘一代代淘汰今天不买明年想买同型号就难了。留一块同型号盘在手里下次坏盘直接换上连固件版本兼容问题都省了。三是换盘前一定确认备份有效。RAID5 给了你一块盘的冗余但老机器的冗余是“应急处置”级别不是“银行保险箱”级别。备份任务有没有跑、备份能不能恢复这两个问题在拔盘之前一定要有答案。我见过太多人把阵列当备份结果阵列崩了数据跟着一起没了。四是事件日志是个好东西。换完盘之后把控制器事件日志里最近几百条记录翻一遍看看有没有其他盘的预警信息。老盘的健康状况往往是“预谋已久”的前一坏盘只是开始后续跟着坏第二块、第三块是常态。日志里如果有其他盘出现“Medium Error”或“Predictive Failure”就得提前准备下一块备件了。最后再说个小技巧。如果条件允许换完盘重建结束后重启一次服务器进 WebBIOS 看一眼阵列拓扑确认所有盘都被正确识别、阵列顺序没有变化。虽然热插拔理论上不影响启动顺序但老服务器偶尔会有“槽位记忆”不稳定的情况重启验证一下比发现问题后再折腾省心得多。这台机器后续的走向我打算把另一块有预警迹象的盘也提前换掉再观察一阵子。老服务器就是这样细心维护还能再战几年但心里也得有数——它总有退役的一天该规划迁移的时候别因为一时舍不得而错过最佳窗口期。