【银河麒麟高级服务器操作系统实际案例分享】数据库资源重启现象分析及处理全过程

news2025/3/7 0:10:09

 更多银河麒麟操作系统产品及技术讨论,欢迎加入银河麒麟操作系统官方论坛

https://forum.kylinos.cn


了解更多银河麒麟操作系统全新产品,请点击访问

麒麟软件产品专区:https://product.kylinos.cn

开发者专区:https://developer.kylinos.cn

文档中心:https://document.kylinos.cn


服务器环境以及配置

处理器:

Hygon C86 7285 32-core Processor

整机类型/架构:

x86_64

【内核版本】

4.19.90-23.6

【OS镜像版本】

银河麒麟高级服务器操作系统 Kylin-Server-V10-SP3-General-Release-2303-x86_64

【HA版本】

银河麒麟高可用 Kylin-HA-10-SP2-Release-Build10-20211124-x86_64-2021-11-25

【第三方软件】

现象描述

集群中pgsql资源重新启动。

现象分析

心跳连接及vip资源monitor超时

     分析日志信息,在Nov 11 13:28:22时集群心跳发现无法连接的问题,之后立即恢复:

20秒之后,集群vip1_sims资源monitor超时:

vip1_sims的monitor超时时间设置是20秒,所以在心跳出现问题的时间vip1资源正好执行监控操作并无法按时返回数据,说明此时系统的网络或者负载可能会有问题,导致HA集群无法及时获取数据。

脚本监控函数分析

vip1_sims资源使用的是IPaddr2脚本实现,该脚本在执行monitor的时候,主要判断和执行方式如下:

  1. 判断函数执行所需要的系统命令ip是否存在
  2. 通过uname命令判断当前系统是否为Linux系统
  3. 识别当前配置的ip地址的family和scope,将给定的netmask转换成对应的数字
  4. 判断是否给定的了网卡参数,如果给定,则通过ip命令 ip -o -f inet route list match ip/netmask scope link |grep “dev nic”命令查找并确认网络信息;
  5. 判断是否能够正确找到nic和netmask;
  6. 使用命令ip -o -f inet addr show |grep ip,判断当前ip是否存在;
  7. 通过/usr/libexec/heartbeat/findif命令获取当前环境变量中的nic netmask brdcast等信息;
  8. 通过ip link show nic命令判断是否为infiniband
  9. 判断是否配置了nic参数
  10. 根据配置的ip和netmask,使用ip -o -f inet addr show命令判断ip和nic是否存在;

如果不存在则monitor返回错误信息;如果存在则monitor返回正常。

如果在设置的超时时间内monitor没有任何返回值,则会报超时time out错误。

组资源先后关系

下图是资源配置中组资源中资源先后关系:

HA组资源是有顺序和依赖要求的,即启动的时候从第一个资源到最后一个资源顺序启动,停止的时候从最后一个资源到第一个资源顺序停止。如果有资源出现问题,则此资源后面的资源是无法启动的。所以当vip1_sims资源监控出现问题要求资源restart的时候,该资源后面的所有资源也要求随之重启,所以导致数据库资源pg_sims资源重启。

小结

如上,由于问题时间的vip1_sims资源出现monitor超时故障,导致组内该资源之后的所有资源必须随之尝试重新启动,所以导致数据库资源pg_sims重启。

vip1_sims出现monitor超时故障的原因,由于日志方面无法获取相关内容,所以猜测可能与当时即时的网络条件或者负载有关系,暂时无法确定原因。进一步的分析可以部署更细粒度的监控脚本获取系统及网络情况。

后续建议方案

  1. 通过分析集群心跳配置发现, 心跳网络和业务网络共用。如果业务负载较高,会影响集群心跳,建议分开。同时建议将HA集群的token设置为6000,降低集群心跳的敏感度。
  2. 由于当前的日志无法判断超时原因,建议给需要监控的资源增加trace_ra配置,监控记录脚本执行过程,方便排查问题原因。由于每次执行会产生一个文件, 需要定期清理,防止占用过多的空间。
  3. 如果vip资源和数据库资源不存在强依赖关系,建议可以将vip资源放在组的最后面,以减少其对其他资源的影响。

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

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

相关文章

开源架构与人工智能的融合:开启技术新纪元

最近五篇文章推荐: 开源架构的自动化测试策略优化版(New) 开源架构的容器化部署优化版(New) 开源架构的微服务架构实践优化版(New) 开源架构中的数据库选择优化版(New) 开…

【弹性计算】弹性裸金属服务器和神龙虚拟化(二):适用场景

《弹性裸金属服务器》系列,共包含以下文章: 弹性裸金属服务器和神龙虚拟化(一):功能特点弹性裸金属服务器和神龙虚拟化(二):适用场景弹性裸金属服务器和神龙虚拟化(三&a…

计算机毕业设计SpringBoot+Vue.js保险合同管理系统(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

58、深度学习-自学之路-自己搭建深度学习框架-19、RNN神经网络梯度消失和爆炸的原因(从公式推导方向来说明),通过RNN的前向传播和反向传播公式来理解。

一、RNN神经网络的前向传播图如下: 时间步 t1: x₁ → (W_x) → [RNN Cell] → h₁ → (W_y) → y₁ ↑ (W_h) h₀ (初始隐藏状态) 时间步 t2: x₂ → (W_x) → [RNN Cell] → h₂ → (W_y) → y₂ ↑ (W_h) h₁ 时间…

bge-large-zh-v1.5 与Pro/BAAI/bge-m3 区别

ge-large-zh-v1.5 和 Pro/BAAI/bge-m3 是两种不同的模型,主要区别在于架构、性能和应用场景。以下是它们的对比: 1. 模型架构 bge-large-zh-v1.5: 基于Transformer架构,专注于中文文本的嵌入表示。 参数量较大,适合处…

lamp平台介绍

一、lamp介绍 网站: 静态 动态 php语言 .php 作用:运行php语言编写动态网站应用 lamp Linux Apache MySQL PHP PHP是作为httpd的一个功能模块存在的 二、部署lamp平台 1、测试httpd是否可正常返回PHP的响应 2、测试PHP代码是否可正常连接数据…

Windows10系统构建本地安全私有化的个人知识库——采用DeepSeek+RAGFlow

一、为什么要构建本地私有化个人知识库 1.1、自身需求 1、需要相关隐私资料内容的安全保护可控; 2、需要根据自身的隐私资料内容构建出个性化的知识库; 一些常见的业务场景如:①希望我们的智能助手可以根据公司的管理制度回答问题,让员工可以随时了解公司相关制度内容信息;…

Linux: Centos7 Cannot find a valid baseurl for repo: base/7/x86_64 解决方案

Linux: Centos7 Cannot find a valid baseurl for repo: base/7/x86_64 解决方案 问题背景: 执行yum update出现如下报错 排查虚拟机是否联网: ping -c 4 www.baidu.com 可以看到网络链接没有问题 解决方案: 原因是国外的镜像源有问题&am…

Java 大视界 -- Java 大数据在智能金融反欺诈中的技术实现与案例分析(114)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

每日OJ_牛客_游游的字母串_枚举_C++_Java

目录 牛客_游游的字母串_枚举 题目解析 C代码 Java代码 牛客_游游的字母串_枚举 游游的字母串 描述: 对于一个小写字母而言,游游可以通过一次操作把这个字母变成相邻的字母。a和b相邻,b和c相邻,以此类推。特殊的&#xff0…

示例:在WPF中如何使用Segoe MDL2 Assets图标和使用该图标的好处

一、目的:分享在WPF中如何使用Segoe MDL2 Assets图标和使用该图标的好处 在WPF中使用Segoe MDL2 Assets字体,可以通过设置控件的FontFamily属性来实现。Segoe MDL2 Assets是一个包含许多图标的字体,通常用于Windows应用程序的图标显示。 二、…

h5 IOS端渐变的兼容问题 渐变实现弧形效果

IOS端使用渐变的时候有兼容问题 以下是问题效果,图中黑色部分期望的效果应该是白色的。但是ios端是下面的样子…… 安卓pc 支持: background-image: radial-gradient(circle 40rpx at 100% 0, #f3630c 40rpx, rgb(255, 255, 255) 50%);安卓pc ios支持…

Libgdx游戏开发系列教程(4)——显示中文文字

目录 2种方法优缺点 BitmapFont FreeTypeFont 方法1 使用BitmapFont 1.下载hiero工具 2.生成fnt文件 3.代码使用 测试效果 方法2 使用FreeType 1.依赖引入 2.代码使用 测试效果 使用疑问点 这里主要介绍关于在Libgdx显示文字的2种方法 本文代码示例采用kotl…

自然语言处理:朴素贝叶斯

介绍 大家好,博主又来和大家分享自然语言处理领域的知识了。按照博主的分享规划,本次分享的核心主题本应是自然语言处理中的文本分类。然而,在对分享内容进行细致梳理时,我察觉到其中包含几个至关重要的知识点,即朴素…

UltraScale系列FPGA实现SDI转PCIE3.0采集卡,基于UltraScale GTH+XDMA架构,提供工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目本博已有的 SDI 编解码方案我已有的PCIE方案本博客方案的PCIE2.0版本本博客方案的RIFFA版本 3、详细设计方案设计原理框图SDI 输入设备LMH1219RTWR 均衡器UltraScale …

Linux系列:如何调试 malloc 的底层源码

一:背景 1. 讲故事 上一篇我们聊过 C# 调用 C 的 malloc 代码来演示heap的内存泄露问题,但要想深入研究得必须把 malloc 的实现库 libc.so 给调试起来,大家都知道在Linux 上 libc 和 Windows 的 Win32 API 是一个层级的,由于 Li…

深入 PipeWire

简介 随着它的成熟,PipeWire 项目正在慢慢地变得流行。它的文档依然相对稀少,但正在逐渐增长。然而,让项目外部的人尝试用他们自己的语言来理解和解释它总是一个好主意,重申想法,从他们自己的角度来看待它。 在之前的…

20250304笔记-阅读论文

文章目录 前言一、寻找论文1.1寻找有代码的论文方法一:浏览器扩展1.1.1使用流程 方法二:使用Papers with Code 1.2大量搜索代码 二、阅读论文所用软件 三、引用文献格式总结 前言 一、寻找论文 1.1寻找有代码的论文 方法一:浏览器扩展 浏览…

线程POSIX信号量/基于环形队列的⽣产消费模型

一,POSIX线程信号量 信号量的本质就是一个计数器,也是对资源的预定机制,POSIX信号量和SystemV信号量作⽤相同,都是⽤于同步操作,达到⽆冲突的访问共享资源⽬的。但 POSIX可以⽤于线程间同步。 1,初始化信…

C# 类库打包dll文件

目录 前言操作流程注意事项 前言 在C#中,有多种方式可以对代码进行加密,以保护源代码不被轻易查看或修改,这篇文章主要介绍将C# cs类文件加密为dll文件的方式进行保护。 操作流程 在 Visual Studio 中,选择“创建新项目”。 选…