当前位置:网站首页>不止跑路,拯救误操作rm -rf /*的小伙儿
不止跑路,拯救误操作rm -rf /*的小伙儿
2022-08-10 11:05:00 【51CTO】
摘要:误执行了 rm -rf /* 之后,除了跑路还能怎么办?
本文分享自华为云社区《 拯救被 rm -rf 伤到的小伙》,作者:Gauss 松鼠会。
灵魂画师再次上线

在开饭前我们先了解下两个关键的配置文件
1. 数据目录下的 postgresql.conf
比对一下主备节点的 postgresql.conf,应该有以下几个参数不一致
来自踩坑者的 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 可以从主机拷贝后修改,如果日常养成了备份的习惯那就更方便了

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

开胃菜拼盘之 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 用户下执行

在执行扩节点之前,为减少不必要的麻烦,请确保新的节点足够干净,邪 恶代码如下,谨慎使用
传说中的甜点
如果整个集群都被 干掉了咋办~~既然有主备节点,就可以有主备集群啦
OM 重磅功能支持主备集群 - 流式容灾搭建即将上线,敬请期待
边栏推荐
- 力扣练习——56 寻找右区间
- 老板加薪!看我做的WPF Loading!!!
- 【小程序 | 启航篇】一文打通任督二脉
- std::move()
- GPU accelerated Pinterest recommendation model, the number of parameters increased by 100 times, and the user activity increased by 16%
- Short video software development - how to break the platform homogenization
- 十年架构五年生活-09 五年之约如期而至
- CPU多级缓存与缓存一致性
- 【勇敢饭饭,不怕刷题之链表】链表中有环的问题
- Codeforces 862 C. Mahmoud and Ehab and the xor (技巧)
猜你喜欢

一文带你搞懂中断按键驱动程序之poll机制

A little self-deprecating deconstruction about farmers "code"

推荐6个自媒体领域,轻松易上手

VSCode remote connection server error: Could not establish connection to "xxxxxx" possible error reasons and solutions

接口定义与实现

关于振弦采集模块及采集仪振弦频率值准确率的问题

关于“码农”的一点自嘲解构

【勇敢饭饭,不怕刷题之链表】有序链表的合并

Spss-多元回归案例实操

4 of huawei offer levels, incredibly side is easing the bit in the interview ali?
随机推荐
今天面了个腾讯拿38K出来的大佬,让我见识到了基础的天花板
微信小程序提交审核历史版本记录从哪里查看
Nocalhost - Making development more efficient in the cloud-native era
为什么Redis很快
力扣练习——64 最长和谐子序列
In August the DB list latest scores - database Engines
三个绘图工具类详解Paint(画笔)Canvas(画布)Path(路径)
C#实战:基于ItextSharp技术标签生成小工具
A little self-deprecating deconstruction about farmers "code"
How can an organization judge the success of data governance?
AutoCAD Map 3D功能之一暴力处理悬挂点(延伸)
软件架构简介
JWT implements login authentication + Token automatic renewal scheme
[Go WebSocket] 多房间的聊天室(一)思考篇
Several small projects that I have open sourced over the years
使用哈工大LTP测试分词并且增加自定义字典
Codeforces 814 C. An impassioned circulation of affection (dp)
【勇敢饭饭,不怕刷题之链表】链表中有环的问题
HDU 1520 Anniversary party (树型dp)
第2章-矩阵及其运算-矩阵运算(2)