服务器宕机可能是很多运维工程师最可怕的噩梦。谷歌的一项研究表明:大多数死机故障是由内存问题而引起的,而且每年有1/3的谷歌服务器都会出现可纠正的内存故障,而有1/100的谷歌服务器会出现不可纠正的内存故障,后者是造成系统宕机的典型情况之一。
如果有人说,用软件的方式,可以解决硬件的内存问题,还能减少30%的服务器宕机故障,你觉得可靠吗?
当前的数据中心已经走向软件定义的时代,从最初的软件定义网络SDN到软件定义数据中心SDDC。为了防止服务器宕机的意外发生,越来越多的企业开始考虑软件定义的解决方案,并通过软件定义的可靠性屏蔽服务器、内存等硬件故障带来的影响。
那么软件是如何实现对内存以及服务器可用性的提升呢?
基于MCA的内存ECC技术
内存故障非常多,就看系统能不能识别出来,有些故障是内存单个或多个bit字节故障,有些是内存颗粒故障,有些是内存颗粒上的单行或单列的存储单元出现故障,还有firmware故障、内存控制器故障,还有一些是内存金手指焊接点老化、主板上的内存插槽松动或有灰尘等等。
器件质量类的故障只能通过工艺的改进来解决,而信服云要解决的是软件层面可以控制的bit级故障。往往大故障来自于所谓bit级小故障的持续积累,这时要做的就是“防微杜渐” ,在小故障发生的时候就抓住它、,隔离它,避免影响扩大。
Intel有一种机制叫做MCA(Machine Check Architectu