《A1--张璇--大规模复杂云解决方案下可靠性测试系统实践.pdf》由会员分享,可在线阅读,更多相关《A1--张璇--大规模复杂云解决方案下可靠性测试系统实践.pdf(36页珍藏版)》请在三个皮匠报告上搜索。
1、大规模复杂云解决方案下可靠性测试系统实践张璇华为云计算 主任工程师张璇华为云计算 主任工程师在华为从事测试工作10+年,工作经历涉及云及无线通信领域。业务主攻方向为DFx测试(非功能性测试),在可靠可用、性能和安全隐私有丰富的测试经验。现任华为云某解决方案DFx TSE,负责DFx测试设计及测试能力建设工作。目录C O N T E N T S1.议题背景云解决方案与云服务可靠性的挑战差异2.解题思路及经验打好可靠性的固定靶系统化模拟和注入故障通过度量KPI量化评估3.实践分享基于测试系统的测试工程方法解决方案可靠性测试系统实践议题背景01云服务及云解决方案概念对齐在云计算中,解决方案是指为满足
2、特定业务或技术需求而设计的硬件、软件和服务的组合。云解决方案可以定制以提供一系列服务,例如数据存储、应用程序托管和基础设施管理。定义 定义 云服务 是一种基于云计算技术的服务模式,通过 互联网以按需、易扩展的方式提供 计算资源与能力。云服务云解决方案or云服务组合 对象 对象服务自身业务逻辑及其上下游服务链可靠性,通常不关注底层资源及公共环境。整系统可用性,包含机房环境、网络及硬件设备,通常不深入至单个云服务业务流程内。解决方案可靠性主要解决的问题 Region2 Region1基础设施层运营管理员云服务API运维管理员运营 API运维 APIConsole集成系统运维界面API网关资源池层云
3、服务层弹性云服务器控制台块存储服务控制台虚拟私有网络服务控制台文件存储服务控制台安全服务控制台大数据服务控制台容器服务控制台对象存储服务控制台物理机服务控制台ECSSFS虚拟机池物理机池容器池云服务资源池OBSBMS灾备服务控制台灾备服务展现层块资源池对象资源池文件资源池网络资源池灾备异构资源池大数据资源池数仓资源池Console集成系统运营界面CCEEVS安全服务异构资源池服务数仓服务控制台网络服务数据库服务数据库服务控制台应用服务控制台集中式存储分布式存储对象存储X86服务器交换机鲲鹏服务器文件存储GPU/NPU负载均衡防火墙飞腾服务器海光服务器安全服务应用集成与治理EI服务IoT服务云办
4、公公共组件安全资源池KafkaNginxGaussDBLVSNTPETCDDNSAPIG日志监控告警性能报表统一认证组织管理流程审批云服务管理经营优化租户管理ManageOne 云管CloudScopeLite 运维工具eSightEI资源池云服务API租户/用户运营运维aPaaS基础服务 Global服务故障 基础设施及资源池故障 公共组件及中间件故障 影响全局的Region服务云解决方案级可靠性测试范围解决方案级可靠性测试重点:站点环境、网络设备、服务器、存储,覆盖站点级、主机级、部分服务级故障。软件系统级(6-13)站点级故障(1-2)主机级故障(3-5)解题思路及经验02解题的三个基本
5、要素基于故障注入的实验可靠性验证是发现系统可靠性瓶颈的有效途径l 故障模式库l 故障仿真注入工具l 可靠性能力评估固定靶:故障模式库模式库注入评估 故障模式表征特定层次特定对象的特定故障表现,故障模式的分层与可靠性能力预期的层级相对应;相同的故障表现可能由不同的故障原因导致,故障模式面向可靠性能力预期,故障注入面向测试执行;服务使用时需要按产品架构和业务形态,实例化到具体部件,并补充或调整特有故障模式及故障预期。Fault Mode已知场景+已知故障:构造已知场景类型(特性功能、压力、并发、长时间、规格、上层应用)下注入已知的故障进行测试(故障注入测试 面向可靠性设计验证测试)已知场景+未知故
6、障:仿真生产业务背景流量下,由于故障未知不能直接模拟,可以通过混沌因子编排、算法支持等加大对未知故障的探测(混沌测试)未知场景+已知故障:直接模拟故障,但由于场景未知,主要采用仿真业务背景流量下,随机变量(故障组合、业务变更、流量变化)注入的方式开展自动化场景探索(混沌测试)未知场景+未知故障:都未知的情况下通过白盒分析识别问题隐患,黑盒角度可以混沌测试探索进行反向补充(白盒可靠性测试+混沌测试)未知场景已知场景已知故障未知故障云解决方案故障模式库的开展思路基础设施和站点集群和主机节点机房网络机房环境外部网络集群系统物理机存储系统虚拟机容器操作系统进程线程业务和数据租户资源业务运行业务数据配置
7、数据业务负载和容量流量/容量异常流量业务异常服务依赖外部依赖API网关弹性伸缩缓存数据库分布式协调内部依赖负载均衡消息队列 容灾Region容灾AZ容灾故障隔离AI系统应用架构模式库注入评估解决方案故障模式库示例模式库注入评估建议1:使用故障魔方减少覆盖数量特性场景故障依赖服务异常网关异常 日常运维升级变更容量扩容 特性A特性B特性C 多维度因子分析(特性/场景/故障),可以建立起故障和场景间的关系,明确故障注入的时机和策略,有效减少故障覆盖的数量。模式库注入评估建议2:对故障模式库分层覆盖 微服务/服务可靠性测试(单服务独立交付,服务内建机制上的故障保护及容错):负责业务流程异常分支的可靠性
8、测试验证(SFMEA验收);负责对直接影响业务和数据可靠性的外部输入、环境异常和系统事件(含硬件部件故障)的测试验证。产品集成测试(服务对外的依赖与耦合,第三方关键可靠性能力):负责本产品的故障容错机制测试、业务压力的覆盖;负责本产品的业务交互、外部依赖和业务降级的测试验收;对不直接影响业务的第三方设备关键能力(含硬件故障)进行验收。解决方案集成测试(机房环境/组网,多服务间 故障隔离,可靠性验收):负责机房环境、多产品融合部署相关的可靠性验证;负责工程交付组网方面的可靠性机制验证;负责多产品之间的集成对接(业务时序、启动时序、业务间故障隔离等);负责影响多产品的基础服务、基础设施的故障验证;
9、负责多产品多点故障、随机故障的保护与应急。模式库注入评估故障注入方法分类模式库注入评估故障注入能力系统(通用)故障注入模式库注入评估故障注入能力云原生故障注入模式库注入评估建立模式库与故障注入方法间的映射贴近研发过程云原生武器服务器硬件CPU:CPU过载、CPU降频、CPU核下线、CPU核挂死、CPU硬件异常;内存:内存过载、内存CE风暴、内存UCE故障、内存地址UCE隔离;网卡:网卡Down、限制网卡带宽、PCIE网卡平面中断、PCIE网卡速率限制;硬盘:磁盘分区满、IO高、IO延迟、磁盘空间耗尽、慢盘、硬盘下线、硬盘闪断;RAID卡:RAID卡下线、RAID组降级、异常自复位;GPU:显卡
10、下线、GPU降频;NPU:NPU卡下线、NPU网络通信异常。操作系统系统管理:时钟漂移、执行命令行、系统服务异常、用户句柄泄漏、系统句柄耗尽;文件系统:文件内容损坏、文件丢失、文件系统只读、文件或目录不可读写、超大文件、inode耗尽、权限修改、文件内容追加;网络通信数据链路层:网络链路闪断、网络时延、网络丢包、网络错包、网络包重复、网络包乱序;网络层:ICMP丢包、重启网络服务;传输层:TCP连接吊死、TCP释放连接吊死、TCP连接中断、TCP连接重置、网络单通、端口占用、连接耗尽、网络报文限速;应用层:HTTP/S请求丢包故障、请求时延故障、请求篡改响应消息、请求篡改响应码。节点主机:主机
11、异常重启、主机下电、主机宕机。基础服务云原生计算云服务:;网络云服务:;存储云服务:存储池故障、存储集群故障、存储微服务故障、反压故障、xfs故障。容器资源:容器CPU过载、容器内存过载、容器磁盘故障、容器实例异常;网络通信:容器数据链路异常、容器传输异常;应用程序:容器内杀进程、容器内挂起进程、容器进程D状态、容器进程Z状态。软件武器中间件Redis:主从倒换、服务关闭、连接挂起、连接关闭、热点Key、缓存穿透;Mysql:Mysql延时、Mysql不通;RabbitMQ:节点重启、主备倒换、网络延时、服务重启;Tomcat:服务重启、异常抛出;Java:频繁GC、OOM、进程CPU满载、J
12、VM方法延时;Kafka:队列满、消息抛弃、消息网络延迟。进程管理:杀进程、挂起进程、进程CPU内存受限、进程数目过多、进程内存泄漏、进程CPU过载、进程内存过载、进程执行时延、进程D状态、进程Z状态。进程基础资源武器动力对象:UPS、发电机等指标:状态、电压、电流、功率等环境对象:空调等指标:回/送风温度、空调模式等系统组件微服务,业务进程中间件数据库,中间件虚拟化资源OS,容器,虚拟化硬件设备计算,存储,网络数据中心机房、机柜服务器对象:机架服务器等指标:配电状态,风扇状态等存储对象:磁盘阵列、FusionStorage等指标:磁盘使用、IOPS、读写延时等网络对象:路由器、交换机、负载均
13、衡器等指标:端口状态、端口出入流量/带宽、端口带宽使用率等操作系统对象:宿主机、VM、BMS等指标:CPU使用率、磁盘使用率、IOPS、网卡流量等容器对象:Cluster,Node,POD等指标:集群状态、CPU使用率、内存使用率、磁盘使用率等中间件对象:Kafka、MQ、Jetty等指标:吞吐量、并发连接数、消息积压量、CPU使用率等数据库业务进程对象:各云服务微服务实例、租户实例节点云服务进程等指标:进程状态、端口状态、集群状态、集群角色、可用状态等微服务对象:各云服务管控面微服务指标:进程状态、端口状态、集群状态、周边依赖组件可用状态、配置一致性状态、接口可用状态等云服务Web,接口云服
14、务对象:ELB、DCS、RDS等指标:成功率、时延、容量、可用性等租户实例对象:ELB、DCS、RDS等指标:成功率、时延、容量、可用性等对象:mysql、gaussdb等指标:连接数、查询缓存、CPU使用率、内存使用率等站点级主机级软件级模式库注入评估评估模型内层循环:D2R2Defend against challenges and threats to normal operationDetect when an adverse event or condition has occurred.Remediate the effects of the adverse event or co
15、ndition.Recover to original and normal operations.外层循环:DRDiagnose the fault that was the root cause.Refine behaviour for the future based on past D2R2 cycles.ResiliNets 韧性网络策略D2R2+DR,D2R2模型可以作为韧性测试模型可参考ENISA基于事件的度量:事件发现时间、业务恶化速度、业务恢复时间、业务恢复速度,可作为韧性评估参考模式库注入评估故障注入过程及指标分析模式库注入评估维度分类是否具备指标和业务影响分析系统模型自动
16、定位是故障在特定时间内被检测否检测时长无限大冗余容错是故障未恢复但系统能力恢复,业务受损收敛否故障不恢复,业务能力也不恢复故障自动恢复是故障可在特定时间被系统修复,业务受损收敛否需人工恢复,故障恢复时间依赖人工操作维度分类指标或观察项业务模型可用性(接入性和连续性)业务中断时间、业务成功率、受损时长、业务影响比例等恢复能力业务恢复时长、业务恢复率等可靠性评估指标分类及定义可靠性能力系统模型指标业务模型指标定义度量方法检测故障检测时长/从故障注入到检测出故障并给出故障指示所经过的时间通过预期告警产生的时间,与故障注入时间的差值计算获取响应是否自动恢复/自动恢复指故障发生后,系统处理能力可通过自愈
17、、容灾、容错等方式自动恢复系统处理能力是否能自动恢复到故障前水平/业务中断时长业务处理能力中断的时间通过获取业务受损和故障对象情况,业务中断时长=业务损失数/故障对象正常通过的流量速率。多类业务取最差值;恢复故障恢复时长/故障注入停止时间开始,到故障全部恢复所经过的时间通过故障注入停止时间,与故障全部恢复时间的差值计算获取/业务恢复率故障发生或恢复后,业务处理能力与故障前相比的比例恢复至故障前水平的业务数/业务总数/业务恢复时长从业务开始受损到业务全部恢复正常所经历的时间通过获取仿真工具业务受损情况,获取出现业务损失到业务损失全部收敛的时间值。多仿真工具的场景取最差值数据备份时长/从数据开始备
18、份到全部备份完成所经历的时间数据备份完成的时间,与数据开始备份时间差值计算获取其他其他自定义项模式库注入评估可靠性能力评估指标计算方法模式库注入评估可靠性能力指标指标类型计算方法检测故障检测时长(T1)时间类系统检测到故障时间点t1.2-故障开始时间点t1.1响应业务中断时长(T2)时间类中断业务流量/故障对象上正常通过的流量速率恢复故障恢复时长(T3)时间类故障恢复时间点t1.4-故障注入停止的时间点t1.3业务恢复时长(T4)时间类业务恢复时间点t2.2-故障开始时间点t2.1业务恢复率 (S1)概率类恢复至故障前水平业务数/业务总数数据备份时长 (T5)时间类数据备份完成的时间点t1.6
19、-系统开始备份时间点t1.5实践分享03基于模型解决云系统的测试复杂性基于测试系统的工程方法解决方案可靠性测试系统测试资产的 模型化、标准化、自动化xx领域测试系统xx领域测试系统xx测试系统解决方案测试系统实例云服务测试系统实例标准化原子测试资产测试系统模板测试行为建模行为=Func(obj,action,data)倒换UniEP参数打开SC.控制台检查资源云服务检查可用性云服务目标全面、快速的集成验证绑定对象模型不同状态不同规模不同流量不同服务组合基于经验的测试资产堆砌问题耗时长易漏测跨服务、跨专项资产不流通研发态交付态运行态维护态50PM100PM200PM500PM1000PM多种形态
20、规模增长流量增长云服务数增长接入数增长流量规模增长问题规模急剧膨胀和变化时,通过建模可以更好管理系统内部资产属性和要素,并确定它们之间的相互作用。测试系统的定义目标系统被测系统测试系统业务功能DFx功能功能支持模拟验证系统伴生微服务/虚拟机/组件测试套/测试环境/测试工具软件包/补丁包测试系统编排包开发使能系统CloudDevOps、CodeHub、IDE测试系统开发平台/测试系统硬平台功能实现编排组成实现测试资产和测试能力开放共建。生态化测试系统代表人执行测试活动,可被自动化调度。自动化测试系统编排包与测试作业平台分离,与被测系统一起组合发布,支持产品化测试验收。产品化测试能力沉淀为开发资产
21、,测试系统编排式低代码开发。低代码化与被测系统需求同源,架构同源、版本同步,历史可追溯。同源化测试系统与被测系统是目标系统的一体两面,是测试团队负责交付的产品。基于测试系统的工程方法解决方案可靠性测试系统测试系统框架下的可靠性测试架构基于测试系统的工程方法解决方案可靠性测试系统测试根技术测试系统业务应用环境与探针研发环境管理故障探针管理标准化原子测试资产测试资产接入适配层AW规范+测试装备接入标准解决方案X上下电测试系统L0平台层故障注入业务可用性检测L1能力层服务健康度分析应用调用链分析L3实例层L2模板层站点级故障主机站点级故障服务级故障公有云混合云伙伴云测试设计测试执行测试开发测试评估F
22、MEACA.压力工具 监控平台AW通用描述框架攻击模型测试评估模型可靠性基线故障注入测试资产定义资产模型+活动模型测试系统运营&生态运营规则模型指标集测试流程生产流程+应用流程数据汇聚自动化+AI大模型运营治理资产演进+活动治理测试生态工具链+共享+社区解决方案Y上下电测试系统解决方案X容灾测试系统解决方案Y容灾测试系统解决方案X主机级测试系统解决方案Y主机级测试系统服务A可靠性测试系统服务B可靠性测试系统评估模型检测、响应、恢复分层测试,快速发现可靠性问题服务健康度分析,问题定性调用分析,问题定界定位测试请求定义HTTP(S)、TCP/UDP、WebSocket、RTMP故障模式定义站点级故
23、障模式、主机级故障模式、软件级故障模式武器库定义硬件、OS、网络、容器、JVM武器库监控中心业务可用性指标资源使用情况运行状态集群状态可靠性测试系统站点级故障基于测试系统的工程方法解决方案可靠性测试系统场景单Region单AZ单Region计划性上下电异常掉电单Region跨AZ多Region多Region测试系统设计分析环境、账号信息停止变更获取信息下电前操作导出告警全量巡检跨AZ解除仲裁关闭虚拟机HAEI/数据库服务下电前配置下电前配置上电裸金属上电裸金属实例下电业务虚拟机下电虚拟机下电ServiceOM虚拟机下电FusionStorage下电硬件下电服务器上电业务虚拟机上电Service
24、OM虚拟机上电FusionStorage上电虚拟机上电硬件上电服务器下电裸金属下电裸金属实例打开虚拟机HAEI/数据库服务上电后配置上电后配置跨AZ对接仲裁数据库服务OBS服务IoT服务特殊云服务验证其他云服务其他云服务验证数据预置及状态检查停止业务并下电系统上电系统并启动业务状态检查及业务验证检查主机/虚机/服务状态检查状态并知会周边知会周边并停止变更关闭虚拟机HA执行EI/数据库服务下电前配置关闭HA及上层业务上电BMS实例ServiceOM页面上电裸金属资源ServiceOM下电业务虚拟机逐层下电各服务虚拟机CPS后台下电ServiceOM虚拟机关闭集群及FSM虚拟机下电服务器BMC下电
25、服务器ServiceOM上电业务虚拟机逐层上电各服务虚拟机CPS后台上电ServiceOM虚拟机启动集群及FSM虚拟机检查虚机状态上电服务器上电服务器并检查状态下电BMS实例ServiceOM页面下电裸金属资源打开虚拟机HA执行EI/数据库服务上电后配置开启HA并启动上层业务对接仲裁并检查状态检查虚拟机、服务状态检查云服务业务功能、执行功能用例云服务状态检查及功能验证异常告警比对上下电前后比对巡检失败项对比预置数据对比下电前准备及数据预置导出告警运行巡检跨AZ解除仲裁预置数据下电前配置下电上电上电后验证可靠性测试系统主机节点级故障基于测试系统的工程方法解决方案可靠性测试系统硬件故障注入(工具)
26、硬件故障场景(建模)故障注入适配业务对象(应用)故障注入:不能直接故障硬件配件,因此通过在HostOS层模拟对应硬件故障,集成各种故障注入工具以及linux系统命令,支持不同类型的硬盘、内存、网卡的各种故障自动注入;系统监控:通过测试系统监控各云服务虚拟机、容器、微服务、中间件的业务可用性指标、资源使用情况、运行状态和集群状态;业务拨测:通过云服务功能测试系统验证故障注入后、故障清除后的业务功能,并与故障注入前的正常阶段业务响应进行对照,验证故障对云服务业务功能的影响;异常使用内存场景建模 内存资源过载启动过程内存资源不足用户空间CE内核UCECE隔离用户空间UCECE风暴UCE隔离内部错误异常使用硬盘场景建模 下电空间满降速失效PCIE故障只读性能降零接口故障过温IO故障慢盘协商降速异常使用网卡场景建模流量过载不在位Link down协商降速丢包/错包闪断内部错误单通内存故障模拟原生能力Mce-InjectEINJStress-ngCFE(rMem)devmemMemtesterVir_to_physicalIDK Unicfg硬盘故障模拟原生能力)RdiskVdbenchCFE(rStorage)FIOVdiskLibStorage网卡故障模拟原生能力