不止跑路,拯救误操作rm -rf /*的小伙儿
摘要:误执行了 rm -rf /* 之后,除了跑路还能怎么办?
本文分享自华为云社区《拯救被 rm -rf 伤到的小伙》,作者:Gauss 松鼠会。
灵魂画师再次上线

在开饭前我们先了解下两个关键的配置文件
1. 数据目录下的 postgresql.conf
比对一下主备节点的 postgresql.conf,应该有以下几个参数不一致
listen_addresses 远程客户端连接使用的数据库主节点ip或者主机名
local_bind_address 当前节点连接openGauss其他节点时绑定的本地IP地址
replconninfo1 设置本端侦听和鉴权的第一个节点信息,如果备机有2个,就会有replconninfo2
log_directory 决定存放服务器日志文件的目录,om初始化安装时命名跟实例id相关
audit_directory 审计文件的存储目录,om初始化安装时命名跟实例id相关
application_name 连接请求时所使用的客户端名称,om初始化安装时命名跟实例id相关
来自踩坑者的 warning:根据某一个节点生成例外一个节点的 postgresql.conf 文件,俗手请按参数逐个修改,不可全量替换,容易改错 ip 等
2.$GAUSSHOME/bin/cluster_static_config
俗称静态配置文件,OM 工具的核心,记录了当前节点和集群的基本信息,二进制结构化文件
可以通过 gs_om -t view 来查看
可以通过 gs_om -t generateconf -X XMLFILE --distribute 重新生成
有静态配置文件,就有动态配置文件 cluster_static_config
动态配置文件最大的作用就是记录了当前节点状态,标记节点主备角色,这样重启的时候知道节点的启动方式
可以通过 gs_om -t refreshconf 生成 只有进行过主备切换才有必要执行这个命令
开胃菜拼盘之备机的数据目录丢失
建立 postgresql.conf 文件后 build 即可
postgresql.conf 可以从主机拷贝后修改,如果日常养成了备份的习惯那就更方便了
gs_om -t status --detail
scp xb01:/data1/zxbog/openGauss/data/dn1/postgresql.conf ./data1/zxbog/openGauss/data/dn2/
gs_ctl build -D /data1/zxbog/openGauss/data/dn2

开胃菜拼盘之主机的数据目录丢失
按修复备机的方式肯定是不行滴,需要先备升主,然后按备机方式修复,最后再主备切换
主机 down 的时候,需要在备机 failover 来实现备升主
主机 normal 的时候,需要在备机 switchover 来实现备升主
gs_ctl failover -D /data1/zxbog/openGauss/data/dn2
gs_ctl switchover -D /data1/zxbog/openGauss/data/dn1

开胃菜拼盘之 GPHOME/GAUSSHOME 目录丢失
GPHOME 下主要是 OM 脚本 (数据库运维工具),python 语言
如果丢失,可以从其他节点直接 cp(推荐),或者安装包直接解压覆盖,也可以重新执行一遍 gs_preinstall
GAUSSHOME 下主要存放数据库内核可执行文件,C/C++ 语言编译
如果丢失,可以从同集群其他节点 cp(推荐)或者解压安装包中的 bz 压缩包,由于 GAUSSHOME/bin 目录下存放了各自的静态配置文件,需要修改
为啥我都是推荐从其他节点 cp 呢,通过 om 安装的数据库会产生证书在每个节点,解压包是不会产生这些的,如果用到了 openssl,需要手动生成
正菜之节点替换与修复
节点替换与修复一般有两种场景
- 机器损坏,需要重新搭建一台,配置比如 ip 都不变
- 机器被征用,需要换一台新的机器,ip 地址也变更了
这种情况可以先用 gs_dropnode 删除老的节点,然后通过 gs_expansion 扩新的节点
这两个命令都是要求在主节点下执行,如果要修改主节点,请先主备切换,并刷新静态 / 动态配置文件
gs_dropnode 需要在普通用户下执行,gs_expansion 需要在 root 用户下执行
[xb0608@xb01 ~]$ gs_dropnode -U xb0608 -G xb0608 -h 192.168.0.26
[root@xb01 script]# /opt/software/script/gs_expansion -U xb0608 -G xb0608 -X ../double.xml -h 192.168.0.26

ps -ef|grep ^xb0608|awk '{print $2}'|xargs kill -9 && userdel -r xb0608
rm -rf /data1/zxbog/openGauss/
groupadd xb0608 && useradd xb0608 -g xb0608
passwd xb0608
传说中的甜点
如果整个集群都被 干掉了咋办~~既然有主备节点,就可以有主备集群啦
OM 重磅功能支持主备集群 - 流式容灾搭建即将上线,敬请期待
不止跑路,拯救误操作rm -rf /*的小伙儿的更多相关文章
- oracle truncate table recover(oracle 如何拯救误操作truncate的表)
生产上肯定是容易脑袋发热,truncate一张表,立马的心跳加速,眼神也不迷糊了,搞错了,完了-- 那么,truncate表后,能不能进行恢复? truncate操作是比较危险的操作,不记录redo ...
- 理解Linux文档的默认安全机制、隐藏属性、特殊权限,妈妈在也不用担心你从删库到跑路!!!
写在前面 前面的章节 详解Linux文档属性.拥有者.群组.权限.差异,介绍了文档的基本权限,包括读写执行(r,w,x),还有文档若干的属性,包括是否为目录(d).文件(-).链接文件(l).拥有者. ...
- Linux记录- Linux下限制rm -rf /
操作说明: 为了防止在linux下执行操作的时候误操作rm -rf /,或者rm -rf 一些比较重要的目录,我们做以下操作来限制rm的删除 1.下载源码安装包 https://raw.githubu ...
- 写了Bug,误执行 rm -fr /*,我删删删删库了,要跑路吗?
每日英语,每天进步一点点(偷笑): 前言 临近五一节,想到有 5 天假期,小林开始飘了. 写个简单的 Bash 脚本都不上心了,写完连检查都不检查,直接拖到到实体服务器跑. 结果一跑起来,发生不对劲, ...
- 数据误操作,删库跑路?教你使用ApexSQLLog工具从 SQLServer日志恢复数据!
前几天同事不小心误操作,将SQLServer库的一张表的一个状态字段给刷成了一个统一状态,由于是update执行所以原来的相关状态无法确定.发生这种事情的时候我的小伙伴背后 一凉,估计心里里面想这怕是 ...
- 干货,不小心执行了rm -f,除了跑路,如何恢复?
前言 每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行了误删,然后就要准备跑路了,毕竟人不是机器,更何况机器也有bug,呵呵. 那么如果真的删除了不该删除的文件,比如数据库. ...
- 干货,不小心执行了rm -f,除了跑路,如何恢复?https://www.cnblogs.com/justmine/p/10359186.html
前言 每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行了误删,然后就要准备跑路了,毕竟人不是机器,更何况机器也有bug,呵呵. 那么如果真的删除了不该删除的文件,比如数据库. ...
- 不小心执行了 rm -f,先别急着跑路
作者:justmine http://www.cnblogs.com/justmine/p/10359186.html 前言 每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行 ...
- rm误操作 which查看命令存放路径
目录 一:rm误操作 which查看命令存放路径 一:rm误操作 which查看命令存放路径 解决rm命令误操作 让别人使用不了自己的rm命令 将rm命令改一个名称 mv rm abc 查看命令存放路 ...
随机推荐
- net core天马行空系列-微服务篇:全声明式http客户端feign快速接入微服务中心nacos
1.前言 hi,大家好,我是三合,距离上一篇博客已经过去了整整两年,这两年里,博主通关了<人生>这个游戏里的两大关卡,买房和结婚.最近闲了下来,那么当然要继续写博客了,今天这篇博客的主要内 ...
- point pair feature在2D图像匹配中的应用
point pair feature在2D图像匹配中的应用 point pair feature(ppf) @article{BertramDrost2010ModelGM, title={Model ...
- Java 基础常见知识点&面试题总结(上),2022 最新版!| JavaGuide
你好,我是 Guide.秋招即将到来,我对 JavaGuide 的内容进行了重构完善,公众号同步一下最新更新,希望能够帮助你. 基础概念与常识 Java 语言有哪些特点? 简单易学: 面向对象(封装, ...
- 如何提高访问 GitHub 的速度
更新记录 本文迁移自Panda666原博客,原发布时间:2021年5月11日. 因为一些特殊的原因,国内访问Github的速度确实比较慢.国内访问Github经常会出现连接不上.图片加载不出来.文件无 ...
- 18.Tomcat部署及优化
Tomcat部署及优化 目录 Tomcat部署及优化 Tomcat简介 Tomcat核心组件 Web容器 什么是 servlet? 什么是 JSP? Container 结构分析 Tomcat 请求过 ...
- NC16649 [NOIP2005]校门外的树
NC16649 [NOIP2005]校门外的树 题目 题目描述 某校大门外长度为 \(L\) 的马路上有一排树,每两棵相邻的树之间的间隔都是 \(1\) 米.我们可以把马路看成一个数轴,马路的一端在数 ...
- 基于后端和爬虫创建的代理ip池
搭建免费的代理ip池 需要解决的问题: 使用什么方式存储ip 文件存储 缺点: 打开文件修改文件操作较麻烦 mysql 缺点: 查询速度较慢 mongodb 缺点: 查询速度较慢. 没有查重功能 re ...
- final关键字用于修饰局部变量和修饰成员变量
修饰变量 1. 局部变量--基本类型 基本类型的局部变量,被fifinal修饰后,只能赋值一次,不能再更改.代码如下: public class FinalDemo1 { public static ...
- SpringCloud Gateway微服务网关实战与源码分析-上
概述 定义 Spring Cloud Gateway 官网地址 https://spring.io/projects/spring-cloud-gateway/ 最新版本3.1.3 Spring Cl ...
- 关于 Flink 状态与容错机制
Flink 作为新一代基于事件流的.真正意义上的流批一体的大数据处理引擎,正在逐渐得到广大开发者们的青睐.就从我自身的视角看,最近也是在数据团队把一些原本由 Flume.SparkStreaming. ...