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

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

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.rhkb.cn/news/29135.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ Primer 拷贝、赋值与销毁

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…

Java面经

Java 知识点总结 1. 封装,继承和多态 封装: “高内聚,低耦合”,隐藏内部实现细节,只通过接口开放部分使用权限给外部。继承: 主要是提高代码复用性,通过子类继承父类,来增加功能扩…

常见的限流算法有哪些?

好的,关于这个问题,我会从几个方面来回答。 首先,限流算法是一种系统保护策略,主要是避免在流量高峰导致系统被压垮,造成系统不可用的问题。 常见的限流算法有 5 种。 1. (如图)计数器限流&a…

GitHub获取token

获取token clone代码 git clone https://$tokengithub.com/*****/*****.git

公司网络安全组织结构

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 第17章 网络安全应急响应技术原理与应用 17.1 网络安全应急响应概述 居安思危,思则有备,有备无患。网络安全应急响应是针对潜在发生的网络…

《深度学习进阶》第7集:深度实战 通过训练一个智能体玩游戏 来洞察 强化学习(RL)与决策系统

深度学习进阶 | 第7集:深度实战 通过训练一个智能体玩游戏 来洞察 强化学习(RL)与决策系统 在深度学习的广阔领域中,强化学习(Reinforcement Learning, RL)是一种独特的范式,它通过智能体与环境…

【web前端开发】CSS--CSS简介及其编写位置(上)

1、CSS简介 (1)CSS的全称为:层叠式样式表(Cascading Style Sheets) (2)CSS也是一种标记语言,用于给HTML结构设置样式,例如:文字大小、颜色、元素宽度等等…

计算机视觉|Swin Transformer:视觉 Transformer 的新方向

一、引言 在计算机视觉领域的发展历程中,卷积神经网络(CNN) 长期占据主导地位。从早期的 LeNet 到后来的 AlexNet、VGGNet、ResNet 等,CNN 在图像分类、目标检测、语义分割等任务中取得了显著成果。然而,CNN 在捕捉全…

UE4 组件 (对话组件)

制作一个可以生成对话气泡,显示对话台词的简单组件。这个组件要的变量:台词(外部传入)。功能:开始对话(生成气泡UI) ,结束对话。 一、对话组件创建 二、开始对话事件 1、注意这里获…

WPF高级 | WPF 应用程序部署与发布:确保顺利交付到用户手中

WPF高级 | WPF 应用程序部署与发布:确保顺利交付到用户手中 一、前言二、部署与发布基础概念2.1 部署的定义与目的2.2 发布的方式与渠道2.3 部署与发布的关键要素 三、WPF 应用程序打包3.1 使用 Visual Studio 自带的打包工具3.2 使用第三方打包工具 四、发布到不同…

Vue3自定义hooks

Vue3自定义hooks 什么是自定义hooks 把一个功能的所有数据和方法写到同一个ts文件里。 命名规范:useXxx,小驼峰。 在每一个hooks中,都可以写onMounted、computed等属性,互不干扰。 体现出了组合式AI的优势,一个功能的…

Win7重装不翻车!ISO镜像安全下载渠道+BIOS设置避雷手册

一、写在前面:为什么你需要这份教程? 当电脑频繁蓝屏、系统崩溃甚至无法开机时,重装系统可能是最后的救命稻草。但市面上的教程往往存在三大痛点: ⚠️ 镜像来源不明导致系统被植入后门 ⚠️ 启动盘制作失败反复折腾 ⚠️ 操作失…

DeepSeek大模型 —— 全维度技术解析

DeepSeek大模型 —— 全维度技术解析 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家!点我试试!! 文章目录 DeepSeek大模型 —— 全维度技术解析一、模型架构全景解析1.1…

AGI 之 【Dify】 之 使用 Docker 在 Windows 端本地部署 Dify 大语言模型(LLM)应用开发平台

AGI 之 【Dify】 之 使用 Docker 在 Windows 端本地部署 Dify 大语言模型(LLM)应用开发平台 目录 AGI 之 【Dify】 之 使用 Docker 在 Windows 端本地部署 Dify 大语言模型(LLM)应用开发平台 一、简单介绍 二、Docker 下载安…

外键 FK enable constraints enq:TM lock

ALTER TABLE X ENABLE NOVALIDATE CONSTRAINT XX; 如果referenced 表在DML 就会出现 enq:TM lock

深度学习语义分割数据集全景解析

一、语义分割任务概述 语义分割是计算机视觉领域的核心任务之一,目标是通过算法将图像中的每个像素精准划分到对应的语义类别(如道路、车辆、行人等)。高质量标注数据集是推动该领域发展的关键因素。本文将系统梳理主流数据集的技术特征与适…

【芯片设计】处理器芯片大厂前端设计工程师面试记录·20250307

面试问题和ds的参考答案 好的,我现在需要处理用户的请求,他们希望我扩展之前的回答,使其更详细、更丰富。首先,我需要回顾之前的回答,看看哪些部分可以进一步展开。用户提到“回答多说一些!”,这意味着他们希望每个问题的回答内容更深入,包含更多的技术细节、实际案例…

C++特殊类设计

目录 不能被拷贝的类 只能在堆上创建对象的类 构造函数私有化: 析构函数私有化: 只能在栈上创建对象的类 不能被继承的类 只能创建一个对象的类(单例模式) 设计模式: 单例模式: 饿汉模式: 懒汉模式: 线程…

Linux系统之配置HAProxy负载均衡服务器

Linux系统之配置HAProxy负载均衡服务器 前言一、HAProxy介绍1.1 HAProxy简介1.2 主要特点1.3 使用场景二、本次实践介绍2.1 本次实践简介2.2 本次实践环境规划三、部署两台web服务器3.1 运行两个Docker容器3.2 编辑测试文件3.3 访问测试四、安装HAProxy4.1 更新系统软件源4.2 安…

从零开始学机器学习——什么是机器学习

这个系列的文章旨在为初学者提供机器学习知识,避免使用专业术语和复杂的概念,以便更好地理解和应用。 首先给大家介绍一个很好用的学习地址:https://cloudstudio.net/columns 机器学习 在这里简要介绍机器学习:它利用真实世界或…