第三组:openGauss 实例主备切换 场景:
openGauss 在运行过程中,数据库管理员可能需要手工对数据库节点做主备切换。例如发现数据库节点主备 failover 后需要恢复原有的主备角色,或怀疑硬件故障需要手动进行主备切换。级联备机不能直接转换为主机,只能先通过 switchover 或者 failover 成为备机,然后再切换为主机。
操作步骤:
以操作系统用户 omm 登录数据库任意节点。执行如下命令,查看主备情况:
gs_om -t status --detail
在主备机正常时,出于维护的需要,将备机切换为主机,以操作系统用户 omm 登录准备切换为主节点的备节点,执行如下命令:
gs_ctl switchover -D /home/omm/cluster/dn1/
或
在主机异常时,将备机切换为主机,以操作系统用户 omm 登录准备切换为主节点的备节点,执行如下命令:
gs_ctl failover -D /home/omm/cluster/dn1/
注:/home/omm/cluster/dn1/ 为备数据库节点的数据目录。
switchover 或 failover 成功后,执行如下命令保存数据库主备机器信息:
gs_om -t refreshconf
特别说明:
1)主备切换为维护操作,确保 openGauss 状态正常,所有业务结束后,再进行切换操作。
2)在开启极致 RTO 时,不支持级联备机。因为在极致 RTO 开启情况下,备机不支持连接,所以无法与级联备机同步数据。
3)对于同一数据库,上一次主备切换未完成,不能执行下一次切换。当业务正在操作时,发起 switchover,可能主机的线程无法停止导致 switchover 显示超时,实际后台仍然在运行,等主机线程停止后,switchover 即可完成。比如在主机删除一个大的分区表时,可能无法响应 switchover 发起的信号。
4、第四组:openGauss 备份与还原(数据导出 / 导入) 场景:
数据备份主要是从两方面考虑,一是数据库系统备份,二是数据本身的备份。其主要是为了预防一些意外,例如:数据库系统的硬件故障,人为错误的操作等情况造成的数据丢失。下面从数据本身出发,简单罗列一下 openGauss 数据库的数据导出导入操作。
copy 数据导出
切换到默认 omm 用户下
postgres=> \c - omm
使用 copy 命令进行导出
`postgres=# copy customer_t1 to '/gaussdb/backup/copy_cost.txt' delimiter '^';
COPY 4
postgres=# \q`
查看导出文件
`[omm@opengauss ~]$ cd /gaussdb/backup/
[omm@opengauss backup]$ ll
total 4.0K -rw------- 1 omm dbgrp 80 Jun 17 14:39 copy_cost.txt
[omm@opengauss backup]$ more copy_cost.txt
3769^hello^\N^\N
6885^maps ^Joes ^\N
4321^tpcds^Lily ^\N
9527^world^James ^\N`
gs_dump 数据导出
使用 gs_dump 命令将 postgres 数据库导出,导出为纯文本格式
本文详细介绍了openGauss数据库的主备切换场景,包括正常维护时的手动切换和异常情况下的故障切换,并强调了级联备机的限制。同时,阐述了数据备份的方法,如copy命令和gs_dump工具的使用,确保在面临硬件故障或人为错误时能有效保护数据。
585

被折叠的 条评论
为什么被折叠?



