当一台Segment主机不可恢复时

当一台Segment主机不可恢复时

如果一台主机是不可操作的(例如由于硬件失效导致),就需要把那些Segment恢复到备用的硬件资源上。如果启用了镜像,可以使用gprecoverseg从Segment的镜像把它恢复到另一台主机上。例如:

$ gprecoverseg -i recover_config_file
      

其中recover_config_file的格式是:

filespaceOrder=[filespace1_name[:filespace2_name:...]failed_host_address:
port:fselocation [recovery_host_address:port:replication_port:fselocation
[:fselocation:...]]

例如,要恢复到不同于失效主机的另一主机上且该主机没有配置(除默认的pg_system文件空间外)额外的文件空间:

filespaceOrder=sdw5-2:50002:/gpdata/gpseg2 sdw9-2:50002:53002:/gpdata/gpseg2

gp_segment_configurationpg_filespace_entry系统目录表可以帮助确定当前的Segment配置,这样才能规划镜像恢复配置。例如,运行下面的查询:

=# SELECT dbid, content, hostname, address, port, 
   replication_port, fselocation as datadir 
   FROM gp_segment_configuration, pg_filespace_entry 
   WHERE dbid=fsedbid 
   ORDER BY dbid;

新恢复的Segment主机必须预装好Greenplum数据库软件并且按照现有Segment主机相同的方式配置。