公有云某客户ECS ESSD云盘磁盘延迟⾼案例分享

简介: 某客户反馈了3台ECS发生云盘IO抖动,体现在IOUtil、IOWait较⾼,此案例中出现的方法论值得借鉴与参考。

问题背景

某客户反馈了3台ECS发生云盘IO抖动,体现在IOUtil、IOWait较⾼, 同时提供了同时间的⽹络总流量不超过60Mb及相关负载较低的情况,表示在相关负载较低的情况下不 应该出现云盘IOUtil、IOWait⾼情况,同时此前已引导过该客户升级了云盘类型(使⽤了更⾼ 规格的SSD云盘)。


分析过程

分析过程1

1、复核客户所提供截图发现:当时客户的1分钟粒度⽹络PPS从20+k飙升到100+K,但是对于客户使⽤ 的ECS机型来说,这样的⽹络PPS算下来每秒⼤概在200+左右,并不算⾼,不过相对于之前的未发⽣ IOWait与IOUtil⾼的情况来说确实有所上升,客户反馈业务类型为顺序写类型,所以在写的过程中若这 些IO有落地的话,也是导致IOWait与IOUtil上升的可能点之⼀;

2、业务请求类型是顺序写,顺序写场景的IOUtil可能会出现偏差(由于顺序写的特征并不能代表当时的 磁盘处理性能,有可能仅仅是请求数量较多),所以可以暂时不以IOUtil作为参考;

3、客户提供了其中⼀台机器授权,登陆该机器从⽇志看未发现ECS OS层⾯的异常,但从sar历史记录 user态CPU负载有上所上升,user态⼀般是由⾮内核应⽤程序导致(⽐如hd、中间件等); 综上分析,由于客户反馈的是3台ECS同时存在异常现象(即不⼤可能是单⼀云盘问题,除⾮3台ECS的 云盘都在同⼀个云盘集群上),从客户提供截图看异常时间点也⽐较接近,加上⽹络PPS同时间有上 升,所以可以基本排除云盘底层问题,⼤概率是客户应⽤⾃身问题,需要定位该问题分两步⾛:

A、由于⽆法确认3台ECS云盘是否在同⼀个云盘集群上,且当时底层⾏为是否存在影响IO的情况,需要 找云盘PD进⾏⼆次确认;

B、客户反馈的时间点都在周三,那么在下次周三之前要准备好捕获现场的环境,我打算⽤atop先分析 看看,因为atop⽐较轻量,分析后有⽅向再针对性的部署dignose-tools进⾏堆栈录制进⾏深⼊分析,看 下客户业务上的影响点在哪⾥。


分析过程2

经过客户部署atop、blktrace后在2020-12-09 21:08 现场复现时成功捕获到相关数据,从客户提供的监 控图看当时客户⼤数据节点bdhbaes09存在IOwait⽑刺:

image.png

通过分析atop(秒级)08~09⼀分钟的数据,发现期间并未有IOwait上升的情况(客户涉及三个盘均未 出现):

image.png

通过分析blktrace分析的链路,未发现⾼延迟,耗时较⻓的主要在D2C链路,即ECS内IO到驱动(io vmexit到kvm的交互路径)上,但也未表现出异常(平均耗时为0.2ms):

image.png

通过sar分钟级归档数据确认,均摊在21:07、21:08、21:09期间的IOWait都不⾼:

image.png

经过询问客户是否有业务的体现,客户反馈⽆业务异常,故怀疑是客户侧监控数据体现形式不同,客户 反馈监控使⽤的是开源的openfalcon监控,分析openfalcon源码发现,openfalcon的iowait指标是经过 ⾃⼰的公式进⾏计算:

image.png

经过分析openfalcon的await计算公式的值来源于nux的diskstat,⽽该函数取值是通过读 取/proc/diskstat的不同域值来进⾏计算(相当于openfalcon⾃⼰实现了⼀个iostat),所以精度、敏感 度⽐借助iostat实现的云监控、atop都要⾼,因此粒度⽐云监控、atop⾼,当捕捉到⼀个(仅1个时)较 ⼤iowait时也会体现在MAX值上(客户反馈的曲线图取值来⾃于MAX):

image.png

结论

  1. 排查ECS内部IO情况、阿⾥云监控、ESSD云盘底层均未发现异常;
  2. 由于监控粒度不同,从openfalcon的源码级分析发现openfalcon的IOWait MAX值采集⽐较敏感,在 ⽆业务影响情况下,建议参考AVG(平均值)作为ESSD云盘性能参考;
  3. openfalcon采集到的个别IOwait较⾼导致MAX值曲线呈现⽑刺,建议atop抓到现场时再进⾏⼆次分 析,⽬前请保持在每周三进⾏导⼊数据时atop的秒级监控(通过设置归档天数可⻓期开着收集),在业 务有体现或者atop显示有IOWait有异常时提单反馈;
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
存储 弹性计算 NoSQL
阿里云服务器云盘类型怎么选?ESSD AutoPL、ESSD和ESSD Entry云盘区别及选择参考
云盘是阿里云为云服务器ECS提供的数据块级别的块存储产品,采用分布式三副本机制,为ECS实例提供99.9999999%的数据可靠性保证。目前阿里云服务器可选的云盘中,主要以ESSD AutoPL、ESSD和ESSD Entry云盘为主,有的用户并不清楚他们之间有什么区别,主要区别在于它们的目标应用场景、提供的性能级别以及成本效益比,本文就为大家介绍他们之间的区别及选择参考。
352 15
|
14天前
|
Oracle 关系型数据库 数据库
服务器数据恢复—服务器raid5阵列数据恢复案例
一台服务器上的8块硬盘组建了一组raid5磁盘阵列。上层安装windows server操作系统,部署了oracle数据库。 raid5阵列中有2块硬盘的硬盘指示灯显示异常报警。服务器操作系统无法启动,ORACLE数据库也无法启动。
49 17
|
22天前
|
运维 数据挖掘 Windows
服务器数据恢复—服务器硬盘指示灯亮黄灯的数据恢复案例
服务器硬盘指示灯闪烁黄灯是一种警示,意味着服务器硬盘出现故障即将下线。发现这种情况建议及时更换硬盘。 一旦服务器上有大量数据频繁读写,硬盘指示灯会快速闪烁。服务器上某个硬盘的指示灯只有黄灯亮着,而其他颜色的灯没有亮的话,通常表示这块硬盘出现故障,这时候更换新硬盘同步数据即可。 如果没有及时发现硬盘损坏或者更换硬盘失败导致服务器崩溃,应该如何恢复数据呢?下面通过一个真实案例讲解一下服务器硬盘指示灯亮黄色的数据恢复案例。
|
8天前
|
数据挖掘 数据库
服务器数据恢复—Zfs文件系统下误删除数据的恢复案例
服务器数据恢复环境&故障: 一台zfs文件系统的服务器,管理员误操作删除了服务器上的数据。
|
10天前
|
存储 数据挖掘 数据库
服务器数据恢复—EMC UNITY 400存储卷被误删除的数据恢复案例
EMC Unity 400存储连接了2台硬盘柜。2台硬盘柜上一共有21块硬盘(520字节)。21块盘组建了2组RAID6:一组有11块硬盘,一组有10块硬盘。 在存储运行过程中,管理员误操作删除了 2组POOL上的部分数据卷。
|
18天前
|
存储 算法 数据挖掘
服务器数据恢复—nas中raid6阵列失效,存储无法访问的数据恢复案例
一台nas上共有14块硬盘组建了一组raid6磁盘阵列。 该nas在工作过程中,raid6阵列中硬盘出现故障离线,导致raid6阵列失效,nas无法正常访问。
|
25天前
|
存储 数据挖掘 数据库
服务器数据恢复—OceanStor存储数据恢复案例
华为OceanStor T系列某型号存储中有一组由24块机械硬盘组建的一组RAID5阵列。 运行过程中该存储设备RAID5阵列上多块硬盘出现故障离线,阵列失效,存储中数据无法访问。
|
22天前
|
存储 数据挖掘
服务器数据恢复—zfs文件系统服务器数据恢复案例
一台配有32块硬盘的服务器在运行过程中突然崩溃不可用。经过初步检测,基本上确定服务器硬件不存在物理故障。管理员重启服务器后问题依旧。需要恢复该服务器中的数据。
|
1月前
|
运维 数据挖掘 索引
服务器数据恢复—Lustre分布式文件系统服务器数据恢复案例
5台节点服务器,每台节点服务器上有一组RAID5阵列。每组RAID5阵列上有6块硬盘(其中1块硬盘设置为热备盘,其他5块硬盘为数据盘)。上层系统环境为Lustre分布式文件系统。 机房天花板漏水导致这5台节点服务器进水,每台服务器都有至少2块硬盘出现故障。每台服务器中的RAID5阵列短时间内同时掉线2块或以上数量的硬盘,导致RAID崩溃,服务器中数据无法正常读取。
|
1月前
|
存储 数据挖掘
服务器数据恢复—V7000存储上多块Mdisk成员盘出现故障的数据恢复案例
服务器存储数据恢复环境: 一台V7000存储上共12块SAS机械硬盘(其中1块是热备盘),组建了2组Mdisk,创建了一个pool。挂载在小型机上作为逻辑盘使用,小型机上安装的AIX+Sybase。 服务器存储故障: V7000存储中磁盘出现故障,管理员发现问题后立即更换磁盘。新更换的硬盘在上线同步数据的时候,存储上另一块磁盘也出现问题,导致逻辑盘无法挂接在小型机上,业务暂时中断。V7000存储的管理界面上显示两块硬盘故障脱机。 pool无法加载,其中三个通用卷均无法挂载。