【银河麒麟高级服务器操作系统实例】虚拟化平台系统服务中断现象分析及处理建议

本文主要是介绍【银河麒麟高级服务器操作系统实例】虚拟化平台系统服务中断现象分析及处理建议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

服务器环境以及配置

【机型】虚机

处理器:

Kunpeng-920

内存:

40G

【内核版本】

4.19.90-23.8.v2101.ky10.aarch64

【OS镜像版本】

银河麒麟操作系统 Kylin-Server-10-SP1-Release-Build20-20210518-arm64

【第三方软件】

智能运维系统、mysql数据集群

现象描述

环境描述:Cas虚拟化平台,三台运行智能运维系统和mysql数据库集群的,银河麒麟虚拟机跑在一台物理机上。

故障现象:反馈智能运维系统登录页面提示500。初步排查,发现虚机B系统日志显示在系统出现软中断,并持续15分钟时间。虚机C系统日志也有软中断报错,虚机A系统日志无21号日志,因此无法判断是否有软中断报错,影响智能运维系统服务中断。

现象分析

分析B虚机系统messages日志,可以看到,xxx开始输出“watchdog: BUG: soft lockup - CPU#29 stuck”软中断相关堆栈日志信息,持续到xxx停止输出,日志信息输出时间在15分钟左右。查看Call trace相关堆栈信息,主要集中在,调用smp_call_function_many+0x348/0x3a0这个函数过程中产生,如图1:

图1

分析C虚机系统messages日志,也有相关软中断堆栈信息输出,日志信息输出时间在5分钟左右。查看Call trace相关堆栈信息,同样集中在,调用smp_call_function_many+0x348/0x3a0这个函数过程中产生,如图2:

图2

进一步分析,smp_call_function_many这个call trace堆栈函数的功能和产生的原因。可知,它的功能是在多个CPU上执行一个函数,smp_call_function_many函数发生soft lockup的原因是CPU在一段时间内没有响应中断,可能是由于CPU卡住或者CPU负载过高导致的。

分别分析查看,故障时间段,虚拟机B和C,系统sar性能日志,可知,内存使用率不高,性能瓶颈,不在内存使用,如图3和图4:

图3 虚拟机B内存使用率

图4 虚拟机C内存使用率

分析CPU使用情况和系统负载,可知,故障时间段内,CPU使用率比较高,%system和%iowait占用高,说明CPU处理内核态执行进程时间较长,CPU用于等待I/O操作时间较长,硬盘存在IO性能瓶颈。系统负载也高。如图5-图8:

图5 虚拟机B CPU使用率

图6 虚拟机C CPU使用率

图7 虚拟机B 系统负载

图8 虚拟机C 系统负载

分析系统磁盘IO使用情况,可知,故障时间段内,dev8-0系统磁盘、dev8-16和dev8-32应用磁盘的await,每次IO请求消耗时间大,有异常。%util ,I/O请求占用的CPU百分高,IO处理慢。说明磁盘IO存在比较严重性能问题,会影响系统正常IO读写,如图9和图10:

图 9 虚拟机B 磁盘IO

图10 虚拟机C 磁盘IO

分析结果

综上,系统日志和系统性能分析情况,可见,系统产生软中断,是因为故障时间段内,系统负载高,导致CPU没有正常响应中断请求。系统软中断,不是导致智能运维系统中断的原因。从sar性能日志,分析的情况,可知,CPU使用率较高,系统负载高,iowait较高,%util和await较高,这些性能相关指标,分析下来基本都指向磁盘IO性能出现问题。

结合智能运维系统厂商的问题分析情况,出故障时间段虚拟机A/B/C三台机器均出现网络连通性问题。怀疑,故障时间段内,虚机系统的状态,有暂停或卡死的可能性。

后续计划与建议

因麒麟系统是运行在Cas虚拟化平台上的虚机,建议虚拟化平台侧,排查虚拟化平台相关日志,分析运行虚机的宿主机日志。进一步分析,故障原因。

这篇关于【银河麒麟高级服务器操作系统实例】虚拟化平台系统服务中断现象分析及处理建议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1145247

相关文章

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Golang 日志处理和正则处理的操作方法

《Golang日志处理和正则处理的操作方法》:本文主要介绍Golang日志处理和正则处理的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录1、logx日志处理1.1、logx简介1.2、日志初始化与配置1.3、常用方法1.4、配合defer

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

java String.join()方法实例详解

《javaString.join()方法实例详解》String.join()是Java提供的一个实用方法,用于将多个字符串按照指定的分隔符连接成一个字符串,这一方法是Java8中引入的,极大地简化了... 目录bVARxMJava String.join() 方法详解1. 方法定义2. 基本用法2.1 拼接