首页 > 数据库 > > 服务端工具-gs_replace
数据库集群是由多台主机组成的,当集群中主机上的某些实例发生故障后,为了使GaussDB 200快速地恢复正常,用户可以使用gs_replace工具将发生故障的实例替换为正常实例。
如果替换前需要修改以下GUC参数:log_dir,listen_addresses,local_bind_address,port,pgxc_node_name,pooler_port,archive_mode, archive_command, log_directory和audit_directory,由于替换后服务器或实例无法同步这些参数在原来设置的值,会设置为默认值,所以在替换成功后,请使用gs_guc工具以reload方式修改替换后主机或实例中的GUC参数。
修复故障实例
注意事项
gs_replace -t config -h HOSTNAME [--dws-mode] [--force] [-l LOGFILE]启动新增实例
gs_replace -t start -h HOSTNAME [--dws-mode] [--force] [--time-out=SECS] [-l LOGFILE]显示帮助信息
gs_replace -? | --help显示版本号信息
gs_replace -V | --version参数说明
gs_replace参数可以分为如下几类:
om命令的类型。
取值范围:config和start.
“云上”环境标志,非“云上”环境不能指定该参数。
不指定该参数时,默认为非“云上”处理方式.
指定日志文件及存放路径。
默认值:$GAUSSLOG/om/gs_replace-YYYY-MM-DD_hhmmss.log
指定替换实例所在主机的名称。可以指定多个主机名称,以逗号分隔。
取值范围:主机名称。
如果指定主机的表空间所在磁盘出现故障,从而导致表空间中的数据损坏,更换新磁盘后指定该参数进行实例修复时,将对该主机强制进行表空间数据的恢复。如果在config阶段指定该参数,则在start阶段也必须指定该参数。
指定需要启动实例所在主机的名称。可以指定多个主机名称,以逗号分隔。
取值范围:主机名称。
如果指定主机的表空间所在磁盘出现故障,从而导致表空间中的数据损坏,更换新磁盘后指定该参数进行实例修复时,将对该主机强制进行表空间数据的恢复。如果在config阶段指定该参数,则在start阶段也必须指定该参数。
启动超时等待时间。
若--time-out取值过小时,有可能会因为需要启动的实例数过多而引起超时。若在超时时间内启动不成功,则会报错启动超时,但是集群会在后台继续启动。可以等待一段时间后,查询集群状态,检查集群是否启动成功。
取值范围:正整数,默认值300。
单位:秒(s)
显示帮助信息。
显示版本号信息。
以替换主机plat1、plat2上的实例为例。
操作系统用户omm登录的主机为非故障主机。
(if [ -f $PGHOST/GaussReplace.dat ];then rm $PGHOST/GaussReplace.dat;fi)说明:
该文件为替换故障实例、替换主机中产生的用于记录执行步骤的临时文件,如果在上次执行过程中出现宕机或网卡中断等,可能会导致该文件残留。在替换故障实例前检查该文件是否存在,且生成时间非本次替换故障实例的时间,则可判断为上次执行的残留文件,删除该文件后,继续执行替换故障实例。
gs_replace -t config -h plat1, plat2配置操作会清理替换实例的空间,初始化替换实例,配置替换实例。
如果收到提示:“GAUSS_50201: The XXX does not exist.”,则请检查对应的实例数据目录是否存在。如果不存在,请重新创建目录后再次执行上述命令。
如果指定主机的表空间所在磁盘出现故障,从而导致表空间中的数据损坏,更换新磁盘后,需要指定--force参数对该主机强制进行表空间数据的恢复。如果在config阶段指定--force参数,则在start阶段也必须指定--force参数。
gs_replace -t start -h plat1 , plat2启动操作会启动集群替换实例的主机。
switch为维护操作:确保集群状态正常,所有业务结束,并使用pgxc_get_senders_catchup_time()视图查询无主备追赶后,再进行switch操作。
gs_om -t switch --reset重置过程会恢复集群初始状态,以保证各主机的负载都是均衡的。
gs_om -t status
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3121282/ ,如需转载,请注明出处,否则将追究法律责任。