当前位置:网站首页>不止跑路,拯救误操作rm -rf /*的小伙儿
不止跑路,拯救误操作rm -rf /*的小伙儿
2022-08-10 17:19:00 【华为云开发者联盟】
摘要:误执行了rm -rf /* 之后,除了跑路还能怎么办?
本文分享自华为云社区《拯救被rm -rf伤到的小伙》,作者:Gauss松鼠会。
灵魂画师再次上线
在开饭前我们先了解下两个关键的配置文件
1.数据目录下的postgresql.conf
比对一下主备节点的postgresql.conf,应该有以下几个参数不一致
listen_addresses 远程客户端连接使用的数据库主节点ip或者主机名local_bind_address 当前节点连接openGauss其他节点时绑定的本地IP地址replconninfo1 设置本端侦听和鉴权的第一个节点信息,如果备机有2个,就会有replconninfo2log_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 --detailscp 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/dn2gs_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用户下执行
[[email protected] ~]$ gs_dropnode -U xb0608 -G xb0608 -h 192.168.0.26[[email protected] 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 xb0608rm -rf /data1/zxbog/openGauss/groupadd xb0608 && useradd xb0608 -g xb0608 passwd xb0608
传说中的甜点
如果整个集群都被 干掉了咋办~~既然有主备节点,就可以有主备集群啦
OM重磅功能支持主备集群-流式容灾搭建即将上线,敬请期待
边栏推荐
猜你喜欢
HDLBits: 在线学习 SystemVerilog(零)-在线“巡礼” HDLBits
Redis下载安装教程 (windows)
The DGIOT platform displays the whole process code analysis of OPC reporting data in real time
网易云信亮相LiveVideoStackCon2022,解构基于WebRTC的开源低延时播放器实践
1001 A+B Format (string processing)
HTTP学习——协议与术语、HTTP、缓存、Cookie
多线程与高并发(11)——经典面试题之实现一个容器,提供两个方法,add,size。
施工企业数字化转型解决方案设计思路
mysql主主复制+keepalived高可用
3 年 CRUD 从 8K 涨到 28K,谁知道这4个月我到底经历了什么?
随机推荐
最详解决:jupyter notebook不会自动打开浏览器问题
PC软件问题二[Win10系统将UltraEdit添加到右键菜单的方法]
施工企业数字化转型解决方案设计思路
mysql包select结果无法同步的问题
How to realize full backup and incremental backup of MySQL database
数据库注入提权总结(二)
JWT 实现登录认证 + Token 自动续期方案
shell获取前n天的日期
BalsnCTF2021
aliexpress API 接入说明
R语言使用ggpubr包的ggbarplot函数可视化柱状图、设置add参数为mean_se和jitter可视化不同水平均值的柱状图并为柱状图添加误差线(se标准误差)和抖动数据点分布
【云原生| Docker】 部署 Django & mysql 项目
【硬件架构的艺术】学习笔记(4)流水线的艺术
JNDI and RMI, LDAP
瑞虎8 PRO产品性能分析,一文读懂究竟何为“全域动力科技旗舰”
教你自己搭建一个IP池(绝对超好用!!!!)
R语言使用ggpubr包的ggsummarystats函数可视化箱图(通过ggfunc参数设置)、在可视化图像的下方添加描述性统计结果表格、设置add参数为jitter添加抖动数据点
事务的隔离级别,MySQL的默认隔离级别
未来5年的9大技术趋势
The DGIOT platform displays the whole process code analysis of OPC reporting data in real time