检测故障Segment

启用镜像的情况下,系统允许存在故障Segment并且不影响数据库服务正常运行。可以通过 gpstate工具查看整个数据库系统状态。gpstate 可以展示整个数据库系统中包括主Segment、镜像Segment、Master和备用Master在内的每 一个单独系统组件的状态。

如何检测故障Segment

  1. 在Master上,用-e选项运行[gpstate](../../../utility_guide/admin_utilities/gpstate.html)工具显示有错误情况的Segment:
$ gpstate -e

如果工具列出Segments with Primary and Mirror Roles Switched,表明 segment不在他的原始角色(系统初始化时赋予的角色)。这意味着系统处于一种潜在的不平衡状态, 因为一些segment主机可能比正常状态下拥有更多的活动segment,并不处于它们的最佳性能状态。

Segments展示Config statusDown则预示着 其对应的镜像segment产生故障下线了。

修复该问题的详细过程,请见从Segment故障中恢复

  1. 为了获取故障segment的详细信息,可以检查 [gp_segment_configuration](../../../ref_guide/system_catalogs/gp_segment_configuration.html)系统表。例如:
$ psql postgres -c "SELECT * FROM gp_segment_configuration WHERE status='d';"
  1. 针对那些故障的segment实例,注意主机、端口号、原来角色和数据目录。这些信息会帮助您在问题定位时 提供有用的决策信息。
  2. 要展示镜像segment实例的信息,运行:
$ gpstate -m

Parent topic: 检测故障的Segment

当前内容版权归GreenPlum和翻译组所有,若有侵权请联系删除下架 修订时间: 2024-09-15 21:48:07

results matching ""

    No results matching ""