运维监控对于出现故障及其处理方法

- 2018-06-04 -

  运维监控介绍影响云主机故障率的主要因素有:

  · 服务器硬件质量

  · 宿主机内核

  · 虚拟化层(KVM+QEMU或Xen)

  · Linux内核(承载业务程序)

  影响物理机故障率的主要因素有:

  · 服务器硬件质量

  · Linux 内核(承载业务程序)

  从上面的对比看,云主机比物理机故障率貌似要高,因为虚拟化层和宿主机内核非常复杂,引入额外的

  故障率。这是直觉,而且很有道理:AWS 去年就因为虚拟化层内核的安全漏洞大规模重启了物理机,多数AWS 用户受影响。虚拟化层和宿主

  机内核的BUG 也会同样造成宕机及重启。那为什么还说云主机故障率可以低于物理机呢?备注:这里我是从终端用户的角度看的,“从厂商购买的”物理机,来对比“从云平台购买的”云主机。

  原因在于:简单来说,云平台厂商往往管理几万几十万台物理服务器,并有比较专业的基础运维团队和

  内核团队,可以在故障率上做大量的工作,以达成这样的效果:

  1. 虚拟化层和宿主机内核的故障率接近0。这两层是内核,通过内核优化来达到;

  2. 服务器硬件质量可以不断提升;

  3. 承载业务程序的Linux内核,云平台可以帮助用户进行维护。并解决BUG,修复安全漏洞等。

  有人会说,我自己购买的物理机也能做上述优化,效果比云主机更好。真的是这样的么?现实情况是:绝大部分公司管理的服务器数量不多,不足以建立相应的团队;同时因为服务器数量少(比如不到万台),做软硬件优化的环境不理想。

  下面就上述要点展开。

  虚拟化层和宿主机内核的故障率如何降低?这主要通过自主掌控虚拟化层和宿主机内核,这整套内核来实现。

  1. 自主维护Linux内核

  商业Linux发行版(如RHEL6.X)的内核其实有不少BUG,因为内核太庞大、太复杂,BUG 修之不尽而且不断涌现,只要内核有人在改动,更多的BUG就还在路上。但我们自己维护的Linux内核,我们可以迅速修复并应用进实际环境,不像商业Linux要等待较长的发布周期。

  我们还可以预先研究别人犯过的错误,把更新补丁打入现在的内核;还可以屏蔽不必要的特性和改动避免BUG的引入。

  简单讲,自主维护内核很灵活,最终质量不低于商业Linux发行版。国内有海量服务器的公司如腾讯和阿里都运行自主维护的Linux内核。

  2. 免重启热补丁技术

  这是指运维监控通过二进制指令修改的方式修改Linux内核达到修复的目的。结合自主维护Linux内核,如果发现了BUG并制作修复补丁后,可以免重启应用到生产环境的Linux内核里

  。这点目前主流Linux厂商不提供。但云平台厂商可以自己做。

  3. 热迁移技术

  特殊情况下的热迁移,可规避尚未完全定位的内核问题。

  这三点的综合效果,使得某些云厂商,因为内核原因造成的宕机低到可以忽略。几万台服务器半年可以减少到一两次。

  可能有些早期用户应该比较有感觉,几年软件宕机不少,给客户推送的故障报告不时就和内核有关,但经过一年半载的工作后,现在几乎没有了。

  服务器硬件质量如何提升?

  运维监控南京风城云码介绍服务器硬件故障率的影响因素有厂商品牌、机型、服务器运行时间、以及部件型号的故障率。这里的工作需要海量服务器来做,比如上万台才有意义,而几百上千台意义不大。