高级运维工程师讲述银河麒麟V10SP1服务器加固删除snmp服务引起keeplived莫名连带删除引起生产事故实战

高级运维工程师讲述银河麒麟V10SP1服务器加固删除snmp服务引起keeplived莫名连带删除引起生产事故实战

一、核实操作系统信息

uname -a
Linux localhost.localdomain 4.19.90-23.8.v2101.ky10.x86_64 #1 SMP Mon May 17 17:08:34 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
cat /proc/version
Linux version 4.19.90-23.8.v2101.ky10.x86_64 (KYLINSOFT@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Mon May 17 17:08:34 CST 2021
cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Tercel)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Tercel)"
ANSI_COLOR="0;31"

二、事故描述(卸载snmp服务会连带删除keepalived服务)

作为运维工程师经常会对生产服务器进行安全漏洞加固,一般服务厂商、或者甲方信息安全中心提供一些安全的shell脚本,一般这种shell脚本都是收回权限,或者权限加固,或者删除某些漏洞的操作系统插件!笔者我,就最近由于服务器加固引起的生产事故总结一下,希望给大家一个惊醒!加固过程中,会引起生产事故!出了数据库事故,运维工程师躺枪背锅,笔者希望尽量避免,常在河边走,难免不湿鞋!笔者写这个文章,就是为了提前惊醒大家!避免跳坑,雷就在哪里,啥时候爆就是时间问题!如果出现数据库故障,可能对企业、产品的损失无法估量!

卸载snmp
yumremovenet-snmp-5.8-7.ky10.x86_64
yumremovenet-snmp-libs.x86_64
卸载snmp,会导致导致服务器上的keepalived服务暂停,配置文件丢失!

卸载snmp服务会连带删除keepalived服务

三、连带原因说明

(1)Keepalived 简介:

Keepalived 是一个用于实现高可用性(High Availability)的开源软件。它的主要功能是通过检测服务器的状态,来实现故障转移(Failover)和负载均衡。

Keepalived 主要通过虚拟路由冗余协议(VRRP)来实现高可用性。VRRP 可以将多台路由器组成一个虚拟路由器,其中一台路由器作为主路由器,其他路由器作为备份路由器。当主路由器出现故障时,备份路由器会自动接管主路由器的工作,从而保证网络的连续性和可靠性。

在实际应用中,Keepalived 通常会与其他软件(如 LVS、Nginx 等)配合使用,以实现更加完善的高可用性和负载均衡解决方案。例如,Keepalived 可以与 LVS 配合使用,实现对服务器的负载均衡和高可用性;也可以与 Nginx 配合使用,实现对 Web 服务器的高可用性和负载均衡。

Keepalived 的配置相对简单,只需要在主、备服务器上进行一些简单的配置,就可以实现高可用性和负载均衡的功能。同时,Keepalived 还提供了丰富的监控和报警功能,可以及时发现服务器的故障和异常情况,并通过邮件、短信等方式进行报警,以便管理员及时进行处理。

总的来说,Keepalived 是一个非常实用的高可用性软件,它可以帮助企业提高服务器的可靠性和稳定性,保证业务的连续性和正常运行。以下是一个简单的 Keepalived 配置示例:

global_defs {
   notification_email {
      acme@example.com
   }
   notification_email_from keepalived@example.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.200.16
    }
}

在上述示例中,我们定义了一个全局参数和一个 VRRP 实例。在全局参数中,我们设置了通知邮件的相关信息和 SMTP 服务器的地址。在 VRRP 实例中,我们设置了实例的状态、接口、虚拟路由器 ID、优先级、通告间隔、认证信息和虚拟 IP 地址。这只是一个简单的示例,实际的配置可能会根据您的具体需求进行调整。

Keepalived 是一个用于实现高可用性的软件,它可以通过多种方式来检测服务器的状态,其中之一就是使用 SNMP(Simple Network Management Protocol,简单网络管理协议)。

SNMP 可以用于监控网络设备和服务器的各种信息,如 CPU 利用率、内存使用情况、磁盘空间等。当 Keepalived 结合 SNMP 时,可以通过 SNMP 获取到这些监控信息,从而更准确地判断服务器的健康状况。

例如,如果通过 SNMP 监测到服务器的 CPU 利用率过高或者内存不足,Keepalived 可以根据预设的规则进行相应的操作,如将流量切换到其他备用服务器上,以保证服务的连续性。

另外,使用 SNMP 还可以实现对多个服务器的集中管理和监控,提高管理效率。通过一个统一的 SNMP 管理平台,可以同时查看和管理多个服务器的状态信息,方便管理员及时发现和解决问题。

总之,将 Keepalived 与 SNMP 结合使用,可以增强服务器的高可用性和可管理性,提高整个系统的稳定性和可靠性。

(2)Keepalived 为啥用到SNMP

Keepalived 是一个用于实现高可用性的软件,它可以通过多种方式来检测服务器的状态,其中之一就是使用 SNMP(Simple Network Management Protocol,简单网络管理协议)。

SNMP 可以用于监控网络设备和服务器的各种信息,如 CPU 利用率、内存使用情况、磁盘空间等。当 Keepalived 结合 SNMP 时,可以通过 SNMP 获取到这些监控信息,从而更准确地判断服务器的健康状况。

例如,如果通过 SNMP 监测到服务器的 CPU 利用率过高或者内存不足,Keepalived 可以根据预设的规则进行相应的操作,如将流量切换到其他备用服务器上,以保证服务的连续性。

另外,使用 SNMP 还可以实现对多个服务器的集中管理和监控,提高管理效率。通过一个统一的 SNMP 管理平台,可以同时查看和管理多个服务器的状态信息,方便管理员及时发现和解决问题。

总之,将 Keepalived 与 SNMP 结合使用,可以增强服务器的高可用性和可管理性,提高整个系统的稳定性和可靠性。

四、解决方法(误删重传、配置还原)

这是上面删除的命令!

卸载snmp
yumremovenet-snmp-5.8-7.ky10.x86_64
yumremovenet-snmp-libs.x86_64

snmp服务还原!

yum install net-snmp-5.8-7.ky10.x86_64
yum install net-snmp-libs.x86_64

如果误删重装、配置还原!

1、实例环境说明

识别麒麟V10 操作系统信息

cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Tercel)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Tercel)"
ANSI_COLOR="0;31"

服务器名称IP角色部署MYSQL数据库
模拟172.18.21.140虚拟IP代理
物理机A172.18.21.146真实IP,主MYSQL数据库nasen_146
物理机B172.18.21.148真实IP,备MYSQL数据库nasen_148

2、服务器A安装部署详细步骤

步骤1:获取定制化安装包
在这里插入图片描述
安装包为麒麟V10 sp1特定版本,在互联网环境是搜不到的。Sp1跟SP2版本也略有不同。注意定制化版本。
步骤2:执行安装

rpm -ivh keepalived-2.0.20-5.ky10.x86_64.rpm

步骤3:配置keepalived配置文件

vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {

   router_id LVS_DEVEL

}

vrrp_instance VI_1 {
    state MASTER
    interface enp0s3
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.18.21.140
    }
}

virtual_server 172.18.21.140 3306 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 172.18.21.146 3306 {
        weight 3
        notify_down /etc/keepalived/restartKeepalived.sh
        TCP_CHECK {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }
    }
}




}

在这里插入图片描述
步骤4:补充一个脚本执行文件

cd /etc/keepalived 
touch restartKeepalived.sh
vi restartKeepalived.sh
#!/bin/bash

systemctl restart keepalived
chmod 777 restartKeepalived.sh

步骤5:执行启动命令

systemctl start keepalived

步骤6:是否正常启动

ip addr list

在这里插入图片描述

3、服务器B安装部署详细步骤

步骤1:获取定制化安装包
在这里插入图片描述
安装包为麒麟V10 sp1特定版本,在互联网环境是搜不到的。Sp1跟SP2版本也略有不同。注意定制化版本。
步骤2:执行安装

rpm -ivh keepalived-2.0.20-5.ky10.x86_64.rpm

步骤3:配置keepalived配置文件

vi /etc/keepalived/keepalived.conf

内容如下:

! Configuration File for keepalived

global_defs {

   router_id LVS_DEVEL

}

vrrp_instance VI_1 {
    state BACKUP
    interface enp0s3
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.18.21.140
    }
}

virtual_server 172.18.21.140 3306 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 172.18.21.148 3306 {
        weight 3
        notify_down /etc/keepalived/restartKeepalived.sh
        TCP_CHECK {

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }
    }
}




}

在这里插入图片描述

步骤4:补充一个脚本执行文件

cd /etc/keepalived 
touch restartKeepalived.sh
vi restartKeepalived.sh
#!/bin/bash

systemctl restart keepalived
chmod 777 restartKeepalived.sh

步骤5:执行启动命令

systemctl start keepalived

步骤6:是否正常启动

在这里插入图片描述

4、双活HA高可用验证

打开140默认指向146

在这里插入图片描述
模拟146数据库服务宕机

在这里插入图片描述
140自动转向148数据库服务

在这里插入图片描述
现在把146恢复

在这里插入图片描述
再把148数据库关闭模拟148宕机
140自动又跳回146服务器

在这里插入图片描述
双活HA高可用验证成功

五、笔者简介

笔者简介
国内某一线知名软件公司企业认证在职员工:任JAVA高级研发工程师,大数据领域专家,数据库领域专家兼任高级DBA!10年软件开发经验!现任国内某大型软件公司大数据研发工程师、MySQL数据库DBA,软件架构师。直接参与设计国家级亿级别大数据项目!并维护真实企业级生产数据库300余个!紧急处理数据库生产事故上百起,挽回数据丢失所造成的灾难损失不计其数!并为某国家级大数据系统的技术方案(国家知识产权局颁布)专利权的第一专利发明人!

在这里插入图片描述

在这里插入图片描述

笔者想说几句额外的:
某程删库事故的巨大影响值得警醒!!当然笔者在文章中惊提醒某些企业高管资本家,如果公司对一线的运维、DBA不够尊重、重视!如果裁员涉及到DBA或者高级运维,那将会是灾难噩梦的开始,如果因为裁员裁到大动脉,核心数据丢失事故给企业、产品、社会的影响巨大损失无法估量!某程删库的事故损失情况,可以去网上查查!核心数据丢失了,老板、企业家们高管很可能赔满全部身价!所以笔者倡导作为企业家、高管对于一线的运维、DBA要给予更多的爱与尊重与认可!愿社会更美好,愿每一个一线工程师都获得尊重与认可!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

收银系统源码-千呼新零售【手机端收银】

千呼新零售2.0系统是零售行业连锁店一体化收银系统,包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体,线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

44.商城系统(二十五):k8s基本操作,ingress域名访问,kubeSphere可视化安装

上一章我们已经配置好了k8s集群,如果没有配置好先去照着上面的配。 一、k8s入门操作 1.部署一个tomcat,测试容灾恢复 #在主机器上执行 kubectl create deployment tomcat6 --image=tomcat:6.0.53-jre8#查看k8s中的所有资源 kubectl get all kubectl get all -o wide#查看po…

【项目实训】对前期面经爬取为空的页面重新爬取

在前期经过团队成员对牛客网面试经验帖子的爬取,已经获得了部分面试经验的相关数据,但是在使用过程中,发现存在大量内容为空的数据记录,为了保证数据的可用性,我对这些页面重新进行了爬取。 牛客中之前爬取的面经存在…

【面试干货】Object 类中的公共方法详解

【面试干货】Object 类中的公共方法详解 1、clone() 方法2、equals(Object obj) 方法3、hashCode() 方法4、getClass() 方法5、wait() 方法6、notify() 和 notifyAll() 方法 💖The Begin💖点点关注,收藏不迷路💖 在 Java 中&#…

【环境配置】ubuntu中 Docker的安装

前言 Docker的使用,一直没有系统的梳理和记录,刚好最近看视频又再次的全面介绍到docker。于是记录下方便后面自己的使用,毕竟安装过程中还是会存在小的不丝滑。 1 Docker的简单介绍 这里的介绍来自于大模型的问答(LLM时代的到来&a…

Linux /proc目录总结

1、概念 在Linux系统中,/proc目录是一个特殊的文件系统,通常被称为"proc文件系统"或"procfs"。这个文件系统以文件系统的方式为内核与进程之间的通信提供了一个接口。/proc目录中的文件大多数都提供了关于系统状态的信息&#xff0…

葡萄串目标检测YoloV8——从Pytorch模型训练到C++部署

文章目录 软硬件准备数据准备数据处理脚本模型训练模型部署数据分享软硬件准备 训练端 PytorchultralyticsNvidia 3080Ti部署端 fastdeployonnxruntime数据准备 用labelimg进行数据标注 数据处理脚本 xml2yolo import os import glob import xml.etree.ElementTree as ETxm…

Linux下VSCode的安装和基本使用

应用场景:嵌入式开发。 基本只需要良好的编辑环境,能支持文件搜索和跳转,就挺OK的。 之所以要在Linux下安装,是因为在WIN11上安装后,搜索功能基本废了,咋弄都弄不好,又不方便重装win系统&#x…

波音危机:星际客机飞船故障,宇航员被困太空!马斯克的SpaceX的“龙”飞船来救援?

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 在人类探索宇宙的漫漫征途中,波音公司的“星际客机”承载着无限的希望与梦想,却也面临着前所未有的挑战。从原计划的8天…

C++ 106 之 list容器

#include <iostream> #include <string> using namespace std; // #include <vector> // 容器头文件 #include <algorithm> // 标准算法头文件 #include <list>void printList(const list<int> & list1){for(list<int>::const…

牛客小白月赛97:D走一个大整数迷宫

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 给一个 nmn\times mnm 矩阵迷宫&#xff0c; 第 iii 行第 jjj 列的值为 ci,jc_{i,j}ci,j​ &#xff0c;LHLHLH 在迷宫中迷路了&#xff0c;他需要你的帮助。 LHLHLH 当前在 (1,1)(1…

Python28-2 机器学习算法之SVM(支持向量机)

SVM&#xff08;支持向量机&#xff09; 支持向量机&#xff08;Support Vector Machine&#xff0c;SVM&#xff09;是一种用于分类和回归分析的监督学习模型&#xff0c;在机器学习领域中被广泛应用。SVM的目标是找到一个最佳的分割超平面&#xff0c;将不同类别的数据分开&…

笔记本重装系统怎么操作? windows电脑重装系统,超实用的四种方法

重新安装操作系统是维护计算机性能和确保系统稳定运行的重要步骤。对于 Windows 笔记本用户而言&#xff0c;熟悉重装系统的方法可以帮助他们解决各种问题&#xff0c;从提高系统速度到修复软件故障。然而具体来讲&#xff0c;笔记本重装系统怎么操作呢&#xff1f;接下来&…

基于SpringBoot和PostGIS的某国基地可视化实战

目录 前言 一、Java后台开发设计与实现 1、模型层实现 2、控制层设计 二、WebGIS界面实现 1、列表界面的定义 2、全球基地可视化 三、成果展示 1、全球部署情况 2、亚太地区 3、欧洲基地分布 4、中东的部署 四、总结 前言 在之前的博客中&#xff0c;我们曾经对漂亮…

我在高职教STM32——GPIO入门之按键输入(2)

大家好&#xff0c;我是老耿&#xff0c;高职青椒一枚&#xff0c;一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次&#xff0c;同行应该都懂的&#xff0c;老师在课堂上教学几乎是没什么成就感的。正因如此&#xff0c;才有了借助 CSDN 平台寻求认同感和成就…

影响LED显示屏质量的关键因素

LED电子显示屏以其环保节能的特点&#xff0c;成为现代显示技术的重要选择。然而&#xff0c;确保显示屏的质量和安全使用&#xff0c;需要考虑多个方面。本文将探讨影响LED电子显示屏质量的关键因素&#xff0c;以及在不同环境下如何预防失火现象。 材质因素 显示屏的质量首先…

排序(冒泡排序、选择排序、插入排序、希尔排序)-->深度剖析(一)

欢迎来到我的Blog&#xff0c;点击关注哦&#x1f495; 前言 排序是一种基本的数据处理操作&#xff0c;它涉及将一系列项目重新排列&#xff0c;以便按照指定的标准&#xff08;通常是数值大小&#xff09;进行排序。在C语言中&#xff0c;排序算法是用来对元素进行排序的一系…

C语言从入门到进阶(15万字总结)

前言&#xff1a; 《C语言从入门到进阶》这本书可是作者呕心沥血之作&#xff0c;建议零售价1元&#xff0c;当然这里开个玩笑。 本篇博客可是作者之前写的所有C语言笔记博客的集结&#xff0c;本篇博客不止有知识点&#xff0c;还有一部分代码练习。 有人可能会问&#xff…

“ONLYOFFICE 8.1:提升用户体验和编辑功能的全面升级”

引言 官网链接 在当今快节奏的工作环境中&#xff0c;高效地处理文档是每个职场人士必备的技能。ONLYOFFICE 桌面编辑器凭借其强大的功能和用户友好的界面&#xff0c;成为了提升文档处理效率的得力助手。本文将介绍 ONLYOFFICE 桌面编辑器的核心特性&#xff0c;并展示如何通…

PAI3D: Painting Adaptive Instance-Prior for 3D Object Detection论文讲解

PAI3D: Painting Adaptive Instance-Prior for 3D Object Detection论文讲解 1. 引言2. PAI3D框架2.1 Instance Painter2.2 Adaptive Projection Refiner2.3 Fine-granular Detection Head 3. 实验结果3.1 消融实验 1. 引言 3D目标检测对于自动驾驶来说是一个非常重要的模块&a…