阿里如何做到百万量级硬件故障自愈?

随着阿里大数据产品业务的增长,服务器数量不断增多,IT运维压力也成比例增大。各种软、硬件故障而造成的业务中断,成为稳定性影响的重要因素之一。本文详细解读阿里如何实现硬件故障预测、服务器自动下线、服务自愈以及集群的自平衡重建,真正在影响业务之前实现硬件故障自动闭环策略,对于常见的硬件故障无需人工干预即可自动闭环解决。

1.背景

1.1.面临挑战

对于承载阿里巴巴集团95%数据存储及计算的离线计算平台MaxCompute,随着业务增长,服务器规模已达到数十万台,而离线作业的特性导致硬件故障不容易在软件层面被发现,同时集团统一的硬件报障阈值常常会遗漏一些对应用有影响的硬件故障,对于每一起漏报,都对集群的稳定性构成极大的挑战。

针对挑战,我们面对两个问题:硬件故障的及时发现与故障机的业务迁移。下面我们会围绕这两个问题进行分析,并详细介绍落地的自动化硬件自愈平台——DAM。在介绍之前我们先了解下飞天操作系统的应用管理体系——天基(Tianji)。

1.2.天基应用管理

MaxCompute是构建在阿里数据中心操作系统——飞天(Apsara)之上,飞天的所有应用均由天基管理。天基是一套自动化数据中心管理系统,管理数据中心中的硬件生命周期与各类静态资源(程序、配置、操作系统镜像、数据等)。而我们的硬件自愈体系正是与天基紧密结合,利用天基的Healing机制构建面向复杂业务的硬件故障发现、自愈维修闭环体系。

透过天基,我们可以将各种物理机的指令(重启、重装、维修)下发,天基会将其翻译给这台物理机上每个应用,由应用根据自身业务特性及自愈场景决策如何响应指令。

2.硬件故障发现

2.1.如何发现

我们所关注的硬件问题主要包含:硬盘、内存、CPU、网卡电源等,下面列举对于常见硬件问题发现的一些手段和主要工具:

在所有硬件故障中,硬盘故障占比50%以上,下面分析一下最常见的一类故障:硬盘媒介故障。通常这个问题表象就是文件读写失败/卡住/慢。但读写问题却不一定是媒介故障产生,所以我们有必要说明一下媒介故障的在各层的表象。

a. 系统日志报错是指在/var/log/messages中能够找到类似下面这样的报错

Sep 3 13:43:22 host1.a1 kernel: : [14809594.557970] sd 6:0:11:0: [sdl] Sense Key : Medium Error [current]

Sep 3 20:39:56 host1.a1 kernel: : [61959097.553029] Buffer I/O error on device sdi1, logical block 796203507

b. tsar io指标变化是指rs/ws/await/svctm/util等这些指标的变化或突变,由于报错期间会引起读写的停顿,所以通常会体现在iostat上,继而被采集到tsar中。

 ●  在tsar io指标中,存在这样一条规则让我们区分硬盘工作是否正常 qps=ws+rs<100 & util>90,假如没有大规模的kernel问题,这种情况一般都是硬盘故障引起的。

c. 系统指标变化通常也由于io变化引起,比如D住引起load升高等。

d. smart值跳变具体是指197(Current_Pending_Sector)/5(Reallocated_Sector_Ct)的跳变。这两个值和读写异常的关系是:

 ●  媒介读写异常后,在smart上能观察到197(pending) +1,表明有一个扇区待确认。
 ●  随后在硬盘空闲的时候,他会对这个197(pending)中攒的各种待确认扇区做确认,如果读写通过了,则197(pending) -1,如果读写不通过则 197(pending)-1 且 5(reallocate)+1。

总结下来,在整条报错链路中,只观察一个阶段是不够的,需要多个阶段综合分析来证明硬件问题。由于我们可以严格证明媒介故障,我们也可以反向推导,当存在未知问题的时候能迅速地区分出是软件还是硬件问题。

上述的工具是结合运维经验和故障场景沉淀出来,同时我们也深知单纯的一个发现源是远远不够的,因此我们也引入了其他的硬件故障发现源,将多种检查手段结合到一起来最终确诊硬件故障。

2.2.如何收敛

上一章节提到的很多工具和路径用来发现硬件故障,但并不是每次发现都一定报故障,我们进行硬件问题收敛的时候,保持了下面几个原则:

 ●  指标尽可能与应用/业务无关:有些应用指标和硬件故障相关性大,但只上监控,不作为硬件问题的发现来源。 举一个例子,当io util大于90%的时候硬盘特别繁忙,但不代表硬盘就存在问题,可能只是存在读写热点。我们只认为io util>90且iops<30 超过10分钟的硬盘可能存在硬件问题。
 ●  采集敏感,收敛谨慎:对于可能的硬件故障特征都进行采集,但最终自动收敛分析的时候,大多数采集项只做参考,不作为报修依据。 还是上一个硬盘io util的例子,如果单纯出现io util>90且iops<30的情况,我们不会自动报修硬盘,因为kernel问题也可能会出现这个情况。只有当 smartctl超时/故障扇区 等明确故障项出现后,两者关联才确诊硬盘故障,否则只是隔离观察,不报修。

2.3.覆盖率

以某生产集群,在20xx年x月的IDC工单为例,硬件故障及工单统计如下:

去除带外故障的问题,我们的硬件故障发现占比为97.6%。

3.硬件故障自愈

3.1 自愈流程

针对每台机器的硬件问题,我们会开一个自动轮转工单来跟进,当前存在两套自愈流程:【带应用维修流程】和【无应用维修流程】,前者针对的是可热拔插的硬盘故障,后者是针对余下所有的整机维修硬件故障。

在我们的自动化流程中,有几个比较巧妙的设计:

a. 无盘诊断

 ●  对于宕机的机器而言,无法进无盘(ramos)才开【无故宕机】维修工单,这样能够大量地减少误报,减少服务台同学负担。
 ●  无盘中的压测可以完全消除当前版本的kernel或软件的影响,真实地判断出硬件是否存在性能问题。

b. 影响面判断/影响升级

 ●  对于带应用的维修,我们也会进行进程是否D住的判断。如果存在进程D住时间超过10分钟,我们认为这个硬盘故障的影响面已扩大到了整机,需要进行重启消除影响。
 ●  在重启的时候如果出现了无法启动的情况,也无需进行人工干预,直接进行影响升级,【带应用维修流程】直接升级成【无应用维修流程】。

c. 未知问题自动化兜底

 ●  在运行过程中,会出现一些机器宕机后可以进无盘,但压测也无法发现任何硬件问题,这个时候就只能让机器再进行一次装机,有小部分的机器确实在装机过程中,发现了硬件问题继而被修复了。

d. 宕机分析

 ●  整个流程巧妙的设计,使得我们在处理硬件故障的时候,同时具备了宕机分析的能力。
 ●  不过整机流程还以解决问题为主导向,宕机分析只是副产品。
 ●  同时,我们也自动引入了集团的宕机诊断结果进行分析,达到了1+1>2的效果。

3.2.流程统计分析

如果是同样的硬件问题反复触发自愈,那么在流程工单的统计,能够发现问题。例如联想RD640的虚拟串口问题,在还未定位出根因前,我们就通过统计发现了:同个机型的机器存在反复宕机自愈的情况,即使机器重装之后,问题也还是会出现。接下来我们就隔离了这批机器,保障集群稳定的同时,为调查争取时间。

3.3.业务关联误区

事实上,有了上面这套完整的自愈体系之后,某些业务上/kernel上/软件上需要处理的问题,也可以进入这个自愈体系,然后走未知问题这个分支。其实硬件自愈解决业务问题,有点饮鸩止渴,容易使越来越多还没想清楚的问题,尝试通过这种方式来解决兜底。

当前我们逐步地移除对于非硬件问题的处理,回归面向硬件自愈的场景(面向软件的通用自愈也有系统在承载,这类场景与业务的耦合性较大,无法面向集团通用化),这样也更利于软硬件问题分类和未知问题发现。

4.架构演进

4.1.云化

最初版本的自愈架构是在每个集群的控制机上实现,因为一开始时候运维同学也是在控制机上处理各种问题。但随着自动化地不断深入,发现这样的架构严重阻碍了数据的开放。于是我们采用中心化架构进行了一次重构,但中心化架构又会遇到海量数据的处理问题,单纯几个服务端根本处理不过来。

因此我们对系统进一步进行分布式服务化的重构,以支撑海量业务场景,将架构中的各个模块进行拆解,引入了 阿里云日志服务(sls)/阿里云流计算(blink)/阿里云分析数据库(ads) 三大神器,将各个采集分析任务由云产品分担,服务端只留最核心的硬件故障分析和决策功能。

下面是DAM1与DAM3的架构对比

4.2.数据化

随着自愈体系的不断深入,各阶段的数据也有了稳定的产出,针对这些数据的更高维分析,能让我们发现更多有价值且明确的信息。同时,我们也将高维的分析结果进行降维,采用健康分给每台机器打标。通过健康分,运维的同学可以快速知晓单台机器、某个机柜、某个集群的硬件情况。

4.3.服务化

基于对全链路数据的掌控,我们将整个故障自愈体系,作为一个硬件全生命周期标准化服务,提供给不同的产品线。基于对决策的充分抽象,自愈体系提供各类感知阈值,支持不同产品线的定制,形成适合个性化的全生命周期服务。

5.故障自愈闭环体系

在AIOps的感知、决策、执行闭环体系中,软件/硬件的故障自愈是最常见的应用场景,行业中大家也都选择故障自愈作为首个AIOps落地点。在我们看来,提供一套通用的故障自愈闭环体系是实现AIOps、乃至NoOps(无人值守运维)的基石,应对海量系统运维,智能自愈闭环体系尤为重要。

5.1.必要性

在一个复杂的分布式系统中,各种架构间不可避免地会出现运行上的冲突,而这些冲突的本质就在于信息不对称。而信息不对称的原因是,每种分布式软件架构在设计都是内敛闭环的。现在,通过各种机制各种运维工具,可以抹平这些冲突,然而这种方式就像是在打补丁,伴随着架构的不断升级,补丁似乎一直都打不完,而且越打越多。因此,我们有必要将这个行为抽象成自愈这样一个行为,在架构层面显式地声明这个行为,让各软件参与到自愈的整个流程中,将原本的冲突通过这种方式转化为协同。

当前我们围绕运维场景中最大的冲突点:硬件与软件冲突,进行架构和产品设计,通过自愈的方式提升复杂的分布式系统的整体鲁棒性。

5.2.普适性

透过大量机器的硬件自愈轮转,我们发现:

 ●  被纳入自愈体系的运维工具的副作用逐渐降低(由于大量地使用运维工具,运维工具中的操作逐渐趋于精细化)。
 ●  被纳入自愈体系的人工运维行为也逐渐变成了自动化。
 ●  每种运维动作都有了稳定的SLA承诺时间,不再是随时可能运行报错的运维脚本。

因此,自愈实际上是在复杂的分布式系统上,将运维自动化进行充分抽象后,再构筑一层闭环的架构,使得架构生态形成更大的协调统一。

 

原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

京东技术全景图首次展示 四大重磅智能技术驱动产业未来

近日主题为“突破与裂变”的2019京东全球科技探索者大会&#xff08;JDDiscovery&#xff09;在京盛大开幕&#xff0c;京东集团展示了完整的技术布局与先进而丰富的对外技术服务&#xff0c;对外明确诠释了“以零售为基础的技术与服务企业”的集团战略定位。 智能供应链国家人…

9008刷机怎么刷_手机刷机怎么刷

有人说玩安卓机不刷机就体验不到真正的乐趣&#xff0c;那么手机怎么刷机呢&#xff1f;下面小编会介绍方法给想刷机的朋友&#xff0c;一起来看看吧。手机刷机怎么刷步骤1&#xff1a;手机安装一款刷机软件【卓大师】&#xff0c;很多刷机软件都有一键ROOT的功能&#xff0c;刷…

阿里工业互联网平台“思考”:一场从0到1的蜕变

阿里云总裁胡晓明&#xff08;花名孙权&#xff09;曾在一场媒体采访中透露了自己的业务秘籍&#xff0c;说他永远记住两句话&#xff0c;一是“拓展商业边界”&#xff0c;二是“商业驱动技术进步”。 这句话不失为阿里的真实写照。的确&#xff0c;企业的安身立命之道&#…

JSON数据从MongoDB迁移到MaxCompute最佳实践

数据及账号准备 首先您需要将数据上传至您的MongoDB数据库。本例中使用阿里云的云数据库 MongoDB 版&#xff0c;网络类型为VPC&#xff08;需申请公网地址&#xff0c;否则无法与DataWorks默认资源组互通&#xff09;&#xff0c;测试数据如下。 {"store": {"…

SpringBoot 整合 Shiro thymeleaf _01_Shiro概念

文章目录shiro简介以及功能描述shiro实现原理理解shiro的架构理解shiro认证功能&#xff08;Authentication&#xff09;流程Realmshiro 拦截器规则shiro简介以及功能描述 Shiro 是 Java 的一个安全框架。目前&#xff0c;使用 Apache Shiro 的人越来越多&#xff0c;因为它相…

中正则表达式详解_python :正则表达式/re库 超级详细de注释解释

首先要解释&#xff0c;什么是正则表达式&#xff1a;给定一串字符串&#xff0c;我们可以提取他的特征&#xff0c;把他抽象成一个类型。 下次遇到和这个字符串同类的字符串&#xff0c;我们只需要判断是否符合特征&#xff0c;就知道这个字符串是不是同类的。举个例子&#x…

打破多项世界记录  双11背后最大的力量是技术

双11是一次全球商业奇迹&#xff0c;同时也是一次技术奇迹。正是诸多世界顶尖的技术&#xff0c;助力双11一次又一次打破成交纪录&#xff0c;形成了独一无二的世界奇观。 阿里巴巴核心系统100%上云、每秒订单创建峰值54.4万笔、自研数据库POLARDB和OceanBase分别处理8700万、6…

阿里巴巴下一代云分析型数据库AnalyticDB入选Forrester Wave™ 云数仓评估报告 解读

前言 近期, 全球权威IT咨询机构Forrester发布"The Forrester WaveTM: CloudData Warehouse Q4 2018"研究报告&#xff0c;阿里巴巴分析型数据库(AnalyticDB)成功入选 &#xff01;AnalyticDB作为阿里巴巴自主研发的PB级实时云数据仓库&#xff0c;全面兼容MySQL协议以…

广州云栖大会:阿里云携手虎牙,首次落地直播行业边缘节点及云企业网服务

2018年11月22日&#xff0c;由阿里巴巴集团主办的广东省大数据开发者大会暨2018广东云栖大会在广州正式召开&#xff0c;其中以助力游戏企业畅游全球为主题的游戏云专场也在上午如期举办。 在游戏云专场中&#xff0c;阿里云高级商务专家李知明首先发言&#xff1a;边缘计算节点…

一行 Python 代码能实现这么多丧心病狂的功能?(代码可复制)

最近看知乎上有一篇名为《一行 Python 能实现什么丧心病狂的功能&#xff1f;》&#xff08;https://www.zhihu.com/question/37046157&#xff09;的帖子&#xff0c;点进去发现一行Python代码可以做这么多丧心病狂的功能&#xff01;整理了一下知乎上这篇文章的内容&#xff…

测试私有方法_史上最轻量!阿里开源了新型单元测试Mock工具

点击上方蓝色字体&#xff0c;选择“设为星标”回复”666“获取面试宝典TestableMock是基于源码和字节码增强的Java单元测试辅助工具&#xff0c;包含以下功能&#xff1a;访问被测类私有成员&#xff1a;使单元测试能直接调用和访问被测类的私有成员&#xff0c;解决私有成员初…

阿里云云效如何保障双11大型项目管理

每一年双11对阿里巴巴来说都是一个练兵场&#xff0c;一次更大规模技术创新、产品迭代、协同研发的练兵场。在2018年双11的“练兵场上”&#xff0c;阿里云云效——一站式企业协同研发平台支持着阿里巴巴众多部门、百个核心产品、千个垂直项目、几千人共同协作完成双十一大促的…

揭秘天猫双11背后:20万商家600万张海报,背后只有一个鹿班

还记得去年双11&#xff0c;秋裤厂商带着“五彩斑斓的黑”需求找设计师的故事吗&#xff1f; 现在&#xff0c;已经有超过20万客户把这个AI设计师鹿班带回家。 今年&#xff0c;鹿班除了为天猫淘宝平台提供服务之外&#xff0c;还通过阿里云全面为各行业客户输出AI设计能力。…

华为开源数据虚拟化引擎HetuEngine;全球超算500强:中国上榜数量增加;谷歌收购云计算公司CouldSimple ……...

关注并标星星CSDN云计算 速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周两次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go华为V30 渲染图&#xff1a;取消3.5mm耳机孔&…

三位数除以两位数怎么算竖式_青岛版三年级上册数学5.6三位数除以一位数(最高位商后有余数)微课知识点精讲+练习...

微课视频第一课时微课视频第二课时同步练习1、列竖式计算下面各题3753 2382 5884 62352、一片树林3年共增加了537棵树&#xff0c;平均每年增长多少棵树&#xff1f;3、新华小学一年级共报名448人&#xff0c;如果一年级预开设8个班&#xff0c;那每个班有多少人…

阿里云移动研发平台EMAS,是如何连续5年安全护航双11的?

2014年11月11日&#xff0c;阿里巴巴天猫双十一购物狂欢节全天交易额571亿元&#xff1b;2015年交易额912.17亿元&#xff1b; 2016年1207亿 &#xff1b;2017年1682亿元&#xff1b;2018年2135亿。五年内交易量不断攀升&#xff0c;屡创新高&#xff0c;这让双十一成为了全球商…

从双十一看阿里云安全的“创世纪”——采访阿里云安全掌门人肖力有感

“神说要有光于是就有了光。”在双十一采访了阿里云安全掌门人肖力之后&#xff0c;忽然对这句话有了全新的认识。从肖力的介绍中我们不难体会到&#xff0c;与云计算相伴而生的阿里云安全诞生的必然性&#xff0c;云的先天基因赐予它“原生的神力”&#xff0c;从最初单纯的攻…

这段 Python 代码让程序员赚 300W,公司已确认!网友:神操作!

Python到底还能给人多少惊喜&#xff1f;笔者最近看到了这两天关于Python最热门的话题&#xff0c;关于《地产大佬潘石屹学Python的原因》&#xff0c;结果被这个回答惊到了&#xff1a;来源&#xff1a;知乎 https://www.zhihu.com/question/355880221笔者翻了翻那些回答&…

奉上一份云上数据安全保护指南

阿里云资深安全专家黄瑞瑞 本方案的目标是为用户提供从底层云平台数据安全到上层的云上环境保护&#xff0c;并标明各层次模块&#xff0c;让用户可以像建房子一样&#xff0c;一层层的搭建可信的在云上数据的安全保护。在各横向层次模块之外&#xff0c;云上数据安全也需要纵…