检查失效的Segment

检查失效的Segment

如果启用了镜像,在发生失效时,系统中会出现失效的Segment而不会中断服务或者出现任何迹象。可以使用gpstate工具验证系统的状态。gpstate提供一个Greenplum数据库系统中每个单体组件的状态,包括主Segment、镜像Segment、Master和后备Master。

要检查失效的Segment

  1. 在Master上,用-e选项运行gpstate工具显示有错误情况的Segment:
    $ gpstate -e

    Change Tracking模式下的Segment表示对应的镜像Segment已经宕机。当一个Segment不是其首选角色时,该Segment没有按照系统初始化时指定给它的角色操作。这意味着系统可能处于一种不平衡的状态,因为一些Segment主机上的活动Segment比系统处于最好性能时多。

    修复这种情况的指导请见从Segment失效中恢复

  2. 要得到一个失效Segment的详细信息,可检查gp_segment_configuration目录表。例如:
    $ psql -c "SELECT * FROM gp_segment_configuration WHERE status='d';"
  3. 对于失效的Segment实例,要关注其主机、端口、首选角色和数据目录。这些信息将会有助于确定要排除故障的主机和Segment实例。
  4. 要显示有关镜像Segment实例的信息,可运行:
    $ gpstate -m