客户新买了两台服务器,配置不低:E5 的 U,64G 内存,系统盘是两块 Intel 的 SSD 做的 RAID1。装好系统、跑上业务,看着一切正常。但用了没两天,客户就反馈:机器时不时卡一下,大概几秒钟,然后自己又好,一天能来好几次。
卡的时候不是某个程序卡,是整个系统都卡,鼠标都飘。客户以为是新机器有问题,脾气已经上来了,说你们这机器还不如我们旧的。
我先上去看了负载,卡的时候 load 也不高,CPU 也没满。又看内存,够。看 dmesg,干干净净,没有报错。这就怪了——系统层面啥都看不出来,但客户就是卡。
后来我琢磨,客户说"鼠标都飘",这不像 CPU 或内存问题,像磁盘 IO 卡死。可我看了 iostat,卡的时候 util 也没到 100% 啊。
正没头绪的时候,客户又补了一句:卡的时候,他们发现服务器上的那个 SSD 的灯会灭一下。这线索太关键了——SSD 灯灭,说明盘掉了。
我赶紧去查 RAID 卡日志,果然:两块 SSD 组 RAID1,其中一块盘频繁"掉盘"——就是盘从阵列里掉出去,过几秒又自己回来。每次掉盘,RAID 卡都要做重新识别、重建,整个阵列 IO 就卡住几秒。系统层面看不到啥异常,因为掉盘的是物理盘,不是文件系统。
为什么新盘会掉?查了盘的信息,发现这块 SSD 的固件版本比较老,而这块盘在客户那批服务器上有个已知的兼容性问题——跟 RAID 卡的链路节能策略冲突,盘进入省电模式后醒不过来,就被卡当成掉盘了。
解决办法倒不复杂:把 RAID 卡上的硬盘链路节能(power saving)关掉,再把 SSD 固件刷到新版本。两件事做完,观察了一周,再没卡过,盘也没再掉。
这事给我的教训是:系统"时不时卡一下"这种问题,别光盯着 CPU、内存、IO 这些常规指标。硬件层面的偶发问题——掉盘、链路重训、温度降频——往往在系统日志里不留痕迹,只在硬件自己的日志里能看到。下次遇到玄学卡顿,先去翻 RAID 卡日志和硬盘 SMART,比在系统里瞎转强多了。
评论