WayCa鲲鹏故障处理快速入门:RAS特性与rasdaemon使用指南
WayCa鲲鹏故障处理快速入门RAS特性与rasdaemon使用指南【免费下载链接】WayCaWayca repo display kunpeng featuer and establish ecology communication项目地址: https://gitcode.com/openeuler/WayCa前往项目官网免费下载https://ar.openeuler.org/ar/在当今数字化时代服务器系统的稳定运行至关重要。WayCa鲲鹏故障处理方案通过RAS可靠性、可用性、可服务性特性与rasdaemon工具的结合为用户提供了强大的故障检测、预测和处理能力。本文将详细介绍RAS特性的核心功能以及rasdaemon工具的安装配置与实际应用帮助新手用户快速掌握鲲鹏平台的故障处理技能。一、RAS特性保障系统稳定的三大支柱 ️1.1 什么是RASRAS是可靠性Reliability、可用性Availability和可服务性Serviceability的缩写是保障服务器系统稳定运行的关键技术可靠性产品在规定条件下和时间内完成规定功能的能力通常用FIT故障间隔时间或MTBF平均无故障时间衡量。可用性系统在给定时间内确保可运行的能力支持组件热插拔和在线替换确保宕机时间最小化如达到99.999%的五个九标准。可服务性系统提供便利的诊断功能如日志、动态检测方便管理人员快速定位和修复错误。1.2 为什么RAS对企业至关重要根据2016年ITIC调查数据显示98%的组织表示停机一小时成本超过10万美元81%的受访者报告60分钟停机造成超过30万美元损失33%的企业称一小时停机损失达100万至500万美元对于大规模集群如HPC场景单个节点故障可能导致整个业务重算随着集群规模扩大系统可用性挑战愈发严峻。1.3 鲲鹏RAS的四大组件协同工作鲲鹏RAS实现架构包含四个核心组件芯片负责故障检测和纠正记录错误并上报抑制不可纠正错误传播BIOS初始化RAS功能统一处理错误中断通过APEI上报OS和IPMB上报BMCOS带内故障搜集与修复支持固件优先处理、IO模块在线恢复等八大特性BMC带外故障搜集支持内存相关错误的在线预测和修复本文重点介绍OS层支持的RAS特性具体实现可参考WayCa-Kunpeng-故障处理-RAS特性介绍.md。二、核心RAS特性解析与应用场景 2.1 固件优先故障处理方案BIOS通过APEI的HEST表格采用GHESv2格式统一分级分类上报错误错误级别影响描述OS处理策略CE可纠正错误对系统无影响预测故障提前隔离潜在风险硬件NFE非致命错误影响部分功能无致命传播IO模块在线恢复内存错误处理FE致命错误导致系统关键功能不可用主动panic防止更严重损伤错误按模块分类上报Memory、PCIe和ARM Processor采用标准格式其余使用鲲鹏自定义格式。2.2 IO模块故障在线恢复鲲鹏处理器集成的主要IO模块支持在线恢复检测到不可纠正错误时通过驱动发起安全复位支持模块NIC、RoCE、SAS、ZIP、SEC和HPRE源码路径NICdrivers/net/ethernet/hisilicon/hns3/RoCEdrivers/infiniband/hw/hns/SASdrivers/scsi/hisi_sas/ZIP/SEC/HPREdrivers/crypto/hisilicon/2.3 内存故障处理机制可纠正错误CE按Page统计错误达到阈值后在线隔离未使用内存页不可纠正错误UE触发memory_failure处理kill出错进程并标记内存页为poisoned源码路径mm/memory-failure.c2.4 CPU执行路径故障处理SEA同步外部中止指令地址精确用户态可修复或kill进程内核态触发panicSEI同步外部中断指令地址不精确无法判断影响范围直接触发panic源码路径arch/arm64/mm/fault.c三、rasdaemon工具RAS故障管理的瑞士军刀 ️3.1 工具简介与核心功能rasdaemon是社区通用的RAS故障管理工具运行在用户空间通过trace event收集内核RAS信息支持终端打印和sqlite3数据库存储基于故障信息进行预测提前隔离风险硬件支持鲲鹏自定义错误格式解析OEM format1/2、PCIe Local error等3.2 快速安装与基础配置在openEuler系统中安装rasdaemon非常简单yum install rasdaemon安装后自动启动也可手动控制服务状态service rasdaemon stop # 停止服务 service rasdaemon start # 启动服务3.3 日志查看与统计分析rasdaemon默认使用sqlite3数据库存储日志路径为/usr/local/var/lib/rasdaemon/ras-mc_event.db。查看方式# 导出全部日志 sqlite3 /usr/local/var/lib/rasdaemon/ras-mc_event.db .dump # 查询鲲鹏特定错误统计 ras-mc-ctl --vendor-errors KunPeng9xx3.4 高级编译选项配置如需手动构建可使用rpmbuild并配置关键编译选项# 关键配置选项示例 --enable-mce # 使能内存错误收集 --enable-aer # 使能PCIe AER错误收集 --enable-sqlite3 # 使能sqlite3数据记录 --enable-hisi-ns-decode # 使能鲲鹏自定义错误解析 --enable-memory-ce-pfa # 使能内存CE错误预测隔离 --enable-cpu-fault-isolation # 使能CPU核故障隔离3.5 内核配置要求使用rasdaemon前需确保内核已开启以下配置路径kernel/arch/arm64/configs/CONFIG_ACPI_APEIy CONFIG_ACPI_APEI_GHESy CONFIG_ACPI_APEI_EINJy CONFIG_ACPI_APEI_MEMORY_FAILUREy CONFIG_ACPI_APEI_PCIEAERy CONFIG_ACPI_APEI_SEAy CONFIG_EDAC_GHESy CONFIG_TRACEPOINTSy四、实际操作案例内存错误注入与处理 4.1 内存CE错误注入测试加载einj驱动并启动rasdaemonmodprobe einj rasdaemon -r -f查看NUMA配置并绑定测试程序numactl -H # 查看NUMA配置 numactl -C 32-63 mca-recover # 绑定程序到指定CPU core执行错误注入假设地址为0x50000000echo 0x8 /sys/kernel/debug/apei/einj/error_type echo 0x50000000 /sys/kernel/debug/apei/einj/param1 echo 0xfffffffffffffff0 /sys/kernel/debug/apei/einj/param2 echo 1 /sys/kernel/debug/apei/einj/notrigger echo 1 /sys/kernel/debug/apei/einj/error_inject触发错误并查看日志devmem 0x50000000 32 0x1 # 触发错误 dmesg # 查看内核日志4.2 内存页隔离配置设置CE错误阈值和时间间隔export PAGE_CE_THRESHOLD5 # 阈值设为5次 export PAGE_CE_REFRESH_CYCLE10m # 时间间隔10分钟启动rasdaemon并验证配置rasdaemon -r -f # 后台运行并查看配置在时间间隔内注入达到阈值的CE错误rasdaemon将自动隔离问题内存页。五、总结与进阶学习 通过本文的介绍您已经了解了WayCa鲲鹏故障处理方案的RAS核心特性和rasdaemon工具的基本使用方法。这些工具和技术能够帮助您有效监控系统健康状态及时发现并处理潜在故障显著提高服务器系统的可靠性和可用性。如需深入学习建议参考以下资源官方文档WayCa-Kunpeng-故障处理-RAS特性介绍.md用户指南WayCa-Kunpeng-故障处理-rasdaemon用户使用指南.md要开始使用WayCa项目请克隆仓库git clone https://gitcode.com/openeuler/WayCa掌握RAS特性与rasdaemon工具让您的鲲鹏服务器系统更加稳定可靠【免费下载链接】WayCaWayca repo display kunpeng featuer and establish ecology communication项目地址: https://gitcode.com/openeuler/WayCa创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考