gprecoverseg

1. 描述

在启动了镜像节点的集群中,恢复宕机的主Segment实例或镜像Segment实例。

2. 参数选项

参数名 描述
-a 不要提示用户确认。
-B parallel_processes 并行恢复的Segment数。如果未指定,将启动最多16个并行进程,具体取决于需要恢复多少个Segment实例。
-d master_data_directory Master主机的数据目录。如果未指定,则使用为$MASTER_DATA_DIRECTORY。
-F 在恢复故障节点时做全量复制,默认只做增量。
-i recover_config_file 指定包含需要恢复的故障节点内容的文件。样例文件可使用-o命令生成。
-l logfile_directory 写入日志文件的目录。默认为~/gpAdminLogs。
-o output_recover_config_file 指定文件路径以输出恢复时使用的配置文件样例。样例文件包含了当前有效的Segment信息和他们默认的恢复路径,文件按照-i选项的要求格式输出。与-p选项一起使用可输出恢复到不同主机上的示例文件。
-p new_recover_host[,...] 在当前MatrixDB集群之外指定一个备用主机,用于恢复故障Segment。用户可以通过逗号分割,指定多个主机。备用主机必须安装好MatrixDB,并具有与当前网段主机相同的硬件和操作系统配置。
-q 以静默模式运行。命令输出不显示在屏幕上,但仍然写入日志文件。
-r 在Segment恢复之后,Segment实例可能并未回到系统初始化时为它指定的默认角色。这可能会让系统陷入一种潜在的非平衡状态,因为某些Segment主机拥有的主Segment数量可能超过系统的最高负载。这一选项通过将主Segment和镜像Segment返回到其默认角色来重新平衡。在运行gprecoverseg -r 之前,所有的Segment都必须有效且同步。如果有任何正在进行的查询,它们将被取消并回滚。
-s 顺序显示pg_basebackup进展而不是原地显示。在写入到文件或终端不支持转义序列时非常有用。
--no-progress 不显示pg_basebackup进展,在写入到文件时非常有用。
--hba-hostnames 在pg_hba.conf文件中使用主机名而不是CIDR
-v 将日志记录输出设置为verbose。
--version 显示此工具的版本。
-? 或 -h 或 --help 显示帮助信息。

3. 示例

恢复所有故障的Segment实例:

gprecoverseg

恢复后,重新平衡集群,将所有Segment重置为其默认角色:

gprecoverseg -r