有个老客户,机房里有台服务器跑了快八年,还是那种老款的 2U 机架,Windows Server 2008 R2,业务是他们的进销存系统,用的是 SQL Server 2008。

这台机器我劝了他至少三次换掉:系统早就停止支持了,硬盘是七年前的机械盘,内存才 8G,夏天机房温度一高,风扇就狂转。每次客户都说:再撑撑,等明年预算下来一起换。

结果今年夏天,该来的还是来了。

先是硬盘开始报错。SMART 显示重映射扇区数在涨,我跟他讲,这盘快不行了,赶紧准备换。他说:数据都有备份吧?我说有,但你这种老机器,备份恢复一次要半天,业务得停,你受得了吗?他不吭声。

然后有天下午,正热的时候,那台机器突然自己重启了。客户电话打过来,语气挺急:你们是不是动了我们服务器?我说没有,你自己看看是不是过热了。他上去一看,机房那台空调刚好坏了,室温 34 度,服务器风扇全速转,还是压不住,主板过热保护,自己重启了。

重启完倒是起来了,但 SQL Server 起不来,报数据库文件损坏。我当时心里一沉:硬盘本来就有坏道,突然断电重启,最容易把正在写的数据搞坏。客户在电话那头已经慌了,说库里都是今年的订单数据。

接下来就是常规操作:从昨晚的备份恢复。但那个备份是凌晨两点跑的,等于今天白天一天的订单全没了。客户听到这,声音都变了:那今天的单子怎么办?

我一边恢复一边跟他说:你现在知道我为啥一直劝你换了吧。他沉默了半天,说了句:这次换,你帮我看看买啥样的。

最后数据恢复到凌晨备份点,白天丢的那部分,他们自己拿纸质单据手工补录了两天。机器也换了新的,SSD + 新系统,快得他们自己都不适应。

这事过后,客户对我态度明显好了很多,以前觉得我老劝他花钱,现在知道是为他好。其实我们做运维的,看到一台跑了八年的机器,心里是真没底。硬件这东西,不是看你用了多久,是看它哪天想罢工——它不会提前通知你。

写下来是提醒自己,也提醒同行:该劝客户换设备的时候,一定得劝,别怕得罪人。真出事那天,客户不会怪机器老,只会怪你当时没拦住他。