为什么说云主机比物理机故障率更低?

简介:

引言

很多朋友对云平台可用性有所担心,认为用物理机更加放心。今天我想就这个话题抛出个人看法。希望对大家有参考意义。先抛出结论:

从业务程序的角度,云主机的可用性可以做到比物理机高,即故障率更低(可用性和故障率接近但不是一个概念,为了便于阐述,下面只讨论故障率)。

我见过很多客户抱怨云主机的故障率。同时,我也见过并且帮好几个使用物理机的客户解决问题:

他们没有专业团队及大规模环境,对于复杂点的软硬件故障几乎束手无策,有时甚至解决的过程把小问题变成大问题。

这也是我今天分享这个话题的动力。下面进入正题,下图是云主机和物理机软硬件层次对比:

为什么说云主机比物理机故障率更低?

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

  • 服务器硬件质量
  • 宿主机内核
  • 虚拟化层(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. 热迁移技术

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

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

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

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

服务器硬件故障率的影响因素有厂商品牌、机型、服务器运行时间、以及部件型号的故障率。

这里的工作需要海量服务器来做,比如上万台才有意义,而几百上千台意义不大。

这里有一张图,体现我们可以主动采取部分措施。

为什么说云主机比物理机故障率更低?

1. 服务器故障率和厂商机型关系密切

我们可以监控各厂商机型的故障率,主动下架比较差的,从而提升总体质量。

一般来说,小厂的服务器故障率会高一些,但大厂即使DELL、联想的个别机型也会有较高故障率。

这主要和机型设计和生产质量管控有关,就不阐述了。我们能做的是选择故障率低的厂商和机型。

2. 服务器运行时间久了,故障率会随之提升

对于云平台厂商,可以监控这一切故障发生前的征兆,并主动采取措施,通过热迁移手段避免云主机受影响。

3. 硬件宕机和部件缺陷关系很大

我们的统计发现,部件种类里,硬盘故障故障率最高,其次内存硬件、RAID卡等。

对于硬盘故障,可以通过RAID方式规避。对于内存硬件,可以通过内存故障隔离等内核手段,大幅度减少其硬件故障造成的宕机及影响。

总的来讲,通过上述这些工作,云平台厂商可以让服务器硬件故障率逐步降低。其实,可以做的更多,篇幅原因就不讲了。而这样的工作,对于没有海量环境的公司是很难做的,效果也不佳。

另外,云平台厂商可以替用户修复云主机内核的BUG和安全漏洞,降低内核故障率。

我们在这方面做了一些工作,内核版本会及时更新,关键漏洞会提供免重启热补丁修复包。

观点总结

简要总结一下本文的主要观点:

  1. 云主机相比物理机,虚拟化层和宿主机内核的额外复杂性及故障率可以被优化至接近0即可以忽略。
  2. 服务器硬件故障,云平台可以不断降低其故障率,主要手段通过内核隔离硬件故障、热迁移规避故障隐患,以及监控故障率并主动下架不良厂商机型等。

为什么说云主机比物理机故障率更低?

上述这些工作都需要非常专业的运维团队和内核团队才能实施,如果没有足够大的服务器数量是很难开展的。

而大型云厂商往往管理几万、几十万服务器,因此具备这样的条件。也因此,云主机故障率能低于物理机(当然,如果什么都不做,云主机故障率一定是高于物理机的)。

如何一起愉快地发展

“高效运维”公众号(如下二维码)值得您的关注,作为高效运维系列微信群的唯一官方公众号,每周发表多篇干货满满的原创好文:来自于系列群的讨论精华、运维讲坛线上精彩分享及群友原创。“高效运维”也是互联网专栏《高效运维最佳实践》及运维2.0官方公众号。

提示:目前高效运维两个微信主群仅有少量珍贵席位,如您愿意,可添加萧田国个人微信号 xiaotianguo 为好友,进行申请;或申请加入技术交流群(技术讨论为主,没主群那么多规矩,更热闹)。


本文作者:佚名

来源:51CTO

相关文章
|
监控 Kubernetes Cloud Native
浅谈基于 OpenStack 和 k8s 建设云原生研发基础设施
建设公司云原生研发基础设施,为研发部门提供安全、可靠、高效的基础资源、数据存储服务、DevOps 流水线以及运维自动化服务等。
5197 4
浅谈基于 OpenStack 和 k8s 建设云原生研发基础设施
|
8月前
|
供应链 监控 搜索推荐
反向海淘代购独立站:功能解析与搭建指南
“反向海淘”指海外消费者购买中国商品的现象,体现了中国制造的创新与强大。国产商品凭借高性价比和丰富功能,在全球市场备受欢迎。跨境电商平台的兴起为“反向海淘”提供了桥梁,而独立站因其自主权和品牌溢价能力逐渐成为趋势。一个成功的反向海淘代购独立站需具备多语言支持、多币种支付、物流跟踪、商品展示、购物车管理等功能,并通过SEO优化、社交媒体营销等手段提升运营效果。这不仅助力中国企业开拓海外市场,还推动了品牌全球化进程。
251 19
|
存储 持续交付 虚拟化
|
9月前
|
自然语言处理 安全 API
反向海淘Superbuy代购集运系统搭建攻略详解
Superbuy代购模式是跨境淘宝代购集运系统,提供一站式购物及物流解决方案。它整合了淘宝、天猫、京东等平台的商品资源,涵盖服装、电子产品等多品类,满足海外用户多样化需求。系统支持多语言和货币切换,提供代买、待收、代运等全程服务,并通过API接口实现实时数据同步。用户可享受集运、质检、仓储及高效国际物流服务,确保购物体验便捷、安全且经济。
|
SQL 搜索推荐 OLAP
Flink 流批一体场景应用及落地情况
本文由阿里云 Flink 团队苏轩楠老师撰写,旨在介绍 Flink 流批一体在几个常见场景下的应用。
68873 11
Flink 流批一体场景应用及落地情况
|
JSON JavaScript 前端开发
基于SpringBoot + Vue实现单个文件上传(带上Token和其它表单信息)的前后端完整过程
本文介绍了在SpringBoot + Vue项目中实现单个文件上传的同时携带Token和其它表单信息的前后端完整流程,包括后端SpringBoot的文件上传处理和前端Vue使用FormData进行表单数据和文件的上传。
732 0
基于SpringBoot + Vue实现单个文件上传(带上Token和其它表单信息)的前后端完整过程
|
关系型数据库 MySQL
mysql配置文件的使用
mysql配置文件的使用
370 1
mysql配置文件的使用
|
消息中间件 Java Kafka
【Kafka】微服务学习笔记九:什么是消息中间件&Kafka的介绍及使用
主要介绍什么是消息中间件以及Kafka在Docker上的安装配置及使用,最后还涉及到Kafka高级部分的备份机制。
1436 99
【Kafka】微服务学习笔记九:什么是消息中间件&Kafka的介绍及使用
|
弹性计算 安全 虚拟化
万字干货分享 | 阿里云CIPU技术解析
2022年6月,阿里云发布了云基础设施处理器CIPU(Cloud  Infrastructure Processing  Unit),将其定义为取代传统CPU的新一代云计算体系架构的核心。在这个全新体系架构下,CIPU向下对数据中心计算、存储、网络等底层基础设施快速云化并进行硬件加速,向上接入飞天云操作系统,将全球数百万台服务器构建为一台超级计算机,实现资源的灵活编排和调度,给用户提供高质量弹性云计算算力集群。
万字干货分享 | 阿里云CIPU技术解析