更新时间:2026-08-03 GMT+08:00
分享

查看巡检

背景信息

DWS支持在变更操作前(扩/缩容和升级)进行集群巡检,即在对应变更页面单击“开始巡检”后会巡检当前集群的健康状态和集群指标是否满足变更要求,检查通过后可开始变更。如果巡检不通过,可打开巡检详情,查看不通过的巡检项,根据详情说明处理不通过的巡检项。如果用户无法处理不通过的巡检项,请联系技术支持人员,巡检项检查标准详情请参见表1

约束与限制

  • 该特性仅8.1.1及以上集群版本支持。
  • 集群已安装巡检插件并且插件版本为8.3.1.100及以上。
  • 当前巡检结果24小时内有效,在有效期可执行变更操作,超过后需要重新进行巡检。
  • 变更前集群24小时内没有巡检成功过,在变更操作(扩/缩容和升级)开始前需要先完成一次巡检,并保证巡检通过。

查看巡检详情

  1. 登录DWS管理控制台
  2. 左侧导航栏选择“集群 > 集群列表”,在集群列表中单击指定集群名称。
  3. 进入“集群详情”页面,切换至“巡检管理”页签。
  4. 单击指定任务名称旁边的图标,查看巡检结果(巡检状态、执行进度、巡检结果、通过率等),并单击所在行“查看详情”查看具体巡检项详情。在变更界面创建巡检任务后也可在当前页面查看巡检进度,巡检详情以及终止巡检。

    图1 查看巡检详情

终止巡检任务

  1. 登录DWS管理控制台
  2. 左侧导航栏选择“集群 > 集群列表”,在集群列表中单击指定集群名称。
  3. 进入“集群详情”页面,切换至“巡检管理”页签。
  4. 单击巡检中任务所在行操作列的“终止任务”终止该巡检任务。

巡检项检查标准说明

表1 巡检项详情

变更操作

巡检项名称

检查标准

扩/缩容、经典变更前巡检

CheckTimeZone

检查集群内各节点时区,如果时区一致则检查通过,否则检查项不通过。

CheckHDFSConfig

查询集群中的HDFS外表,确认是否能正常查询,如果有HDFS外表查询失败则检查不通过,否则检查通过。

CheckExpandVersionLimit

检查集群版本,如果小于8.1.3则检查不通过,否则通过。

CheckWalLevel

指定版本下,检查逻辑集群wal_level参数,如果值为hot_standby则检查不通过,建议先升级集群再做扩容。

CheckCrontab

如果产品crontab配置完整,则检查通过,否则检查不通过。

CheckRecursive

检查TopSQL中,近一周是否存在with recursive语句,如果不存在则检查通过,否则巡检结果为警告。

CheckDataNodeID

检查大集群DN实例是否包含多种编号,如果存在多种编号例如6xxx,4xxxx等则检查不通过,请联系技术支持工程师进行处理。

CheckExchangePartition

通过查询dbms_om.PGXC_WLM_SESSION_INFO,检查一周内是否有exchange partition语句,如果存在则检查不通过,涉及的表需要离线重分布。

CheckPCKTable

检查所有业务库是否存在pck表,如果存在则需要按照建议进行整改。

CheckExpandGUCSetting

检查用户级以及集群级的statement_timeout,如果参数设置大于12小时且temp_file_limit和sql_use_spacelimit均设置为-1则检查通过,否则检查报警告。

CheckModuleImport

检查运维工具是否能正常导入模块,导入模块失败可能是由于缺少动态链接库文件,请联系技术支持工程师整改。

CheckFilePermission

检查指定目录的文件权限,权限不满足要求时检查不通过。

CheckTopologyConsistency

检查静态配置文件和XML配置文件的一致性,不一致则检查不通过,否则检查通过。

CheckInsertOverWrite

指定版本下,存在序列则仅做告警,如果同时存在序列以及CN日志中有insert overwrite的关键日志则检查不通过,应当进行离线重分布。

CheckViewCount

在各业务库查询视图数量,超过20万则检查不通过,否则检查通过。

CheckHstoreAutoVacuumWorker

当autovacuum_max_workers_hstore大于或等于autovacuum_max_workers时检查不通过,会导致autovacuum线程全部分配给列存表。

CheckClusterRing

  1. 检查逻辑集群不同Node group之间是否有交集,存在交集则检查不通过。
  2. 在条件1检查通过后,再检查集群各安全环是否是某个Node group的子集,如果是则检查通过,否则检查不通过。

CheckNodeGroup

如果有installation、query、optimal的group_name,检查不通过,否则检查通过。

CheckSpaceUsage

如果使用率超过warning阈值(默认为70%)报warning,超过NG阈值(默认为90%)则检查项不通过 。集群路径下检查“GAUSSHOME/PGHOST/GPHOME/GAUSSLOG/tmp/data”路径的剩余空间,不满足阈值则检查项不通过。

CheckClusterState

CM进程不存在,检查不通过;检查fenced UDF状态,如果为down则报warning;检查集群状态为Normal,则检查项通过,否则检查项不通过。

CheckEnvProfile

检查节点环境变量($GAUSSHOME、$LD_LIBRARY_PATH、$PATH),如果环境变量存在并配置正确则检查项通过,否则检查项不通过。

CheckReadonlyMode

检查集群中所有含CN节点上default_transaction_read_only值,如果为off则检查通过,否则不通过。

CheckCollector

查看信息收集是否成功,如果收集成功则检查项通过,否则检查项不通过。

CheckTrust

检查各个节点是否互信,如果有节点未互信则检查不通过,否则检查通过。

CheckBalanceState

如果集群Balanced属性为Yes,则检查项通过,否则Warning,如果查询失败则检查项不通过。

CheckUtilslib

如果$GAUSSHOME/utilslib目录存在,则检查不通过,否则检查通过。

CheckPgxcgroup

检查pgxc_group表中in_redistribution为Y的个数,如果数量为0则检查项通过,否则检查项不通过。

CheckLockState

检查集群是否被锁,如果集群未锁则检查通过,否则检查项不通过。

CheckDBConnection

检查能否连接数据库,如果连接成功则检查项通过,否则检查项不通过。

CheckGUCConsistent

检查各CN/DN实例的guc参数是否一致,如果全部一致则检查通过,否则检查不通过。

CheckTDDate

若存在TD模式数据库下的orc表,且包含date类型的列则检查不通过。

CheckNodeNums

9.0.x版本请升级到9.1.x及之后再做扩容,9.1.x版本如果存在V3表没有设置nodenums则检查不通过,不允许扩容。

CheckPgxcRedistb

检查数据库中是否存在重分布残留的临时表,如果不存在则检查通过,否则检查不通过。

CheckGUCSetting

postgresql.conf中GUC参数和pg_settings中参数是否一致,一致则检查通过,否则不通过。

CheckProacl

检查pg_proc系统表中proacl中是否存在纯数字用户名,如果存在,检查不通过,否则检查通过。

CheckUltraWideTable

如果存在超过996列的表,检查不通过,否则检查通过。

CheckDataRedisSchema

如果数据库中存在data_redis schema且属主用户名不是redisuser,则检查不通过,否则检查通过。

CheckDiskSpaceLimited

用户的磁盘空间是否受限,如果受限,检查不通过,否则检查通过。

CheckTableCollate

如果数据库中存在PCK表或者列存分区表使用collate字段,检查不通过,否则检查通过。

CheckDefaultOrientation

检测GUC参数,数据库设置和用户设置default_orientation均为行存则通过,否则检查不通过。

CheckReplicationUuid

不存在使用default uuid的复制表则通过,否则检查不通过。

CheckJsonb

执行SQL语句“select attrelid::regclass from pg_attribute a join pg_type t on a.atttypid = t.oid and t.typname = 'jsonb' group by 1”,如果使用jsonb类型检查不通过,否则检查通过。

CheckLengthOfIndex

执行SQL语句SELECT“ length(pg_get_indexdef(indexrelid)) FROM pg_index order by 1 desc limit 1”,如果结果大于192*1024检查不通过,否则检查通过。

CheckLengthOfTable

执行SQL语句“select c.oid from pg_class c,pg_namespace n where c.relnamespace=n.oid and relkind='r' and n.nspname not in ('cstore') and length(n.nspname||'.'||c.relname)>=64;”,如果结果不为空检查不通过,否则检查通过。

CheckUseWorkloadManager

执行sql语句“show use_workload_manager”,如果结果为on,检查通过,否则检查不通过。8.1.3.320及以后的版本不再校验此项参数,即此后的版本检查通过。

CheckNecessarySchema

检查必要“schema(public)”是否都存在,如果缺失则检查不通过,否则检查通过。

CheckCMParamConsistency

获取主备CM节点上的cm.conf文件,对比参数设置,如果参数配置一致则检查通过,否则检查不通过。

CheckRoachFilePermissions

检查821及以上版本集群中roach插件文件权限是否过高,如果过高需要提前修改脚本规避,否则导致扩容失败。

CheckSQLCompatibility

mysql兼容性模式下,重分布临时表带索引会导致重分布慢。在对应的业务库中“SHOW sql_compatibility;”,如果值是mysql,且behavior_compat_options没有设置枚举值disable_including_all_mysql则检查不通过,否则检查通过。

CheckCgroup

检查各个节点Cgroup数据,若各节点数据一致则检查项通过,否则检查项不通过。

CheckRoleLockState

指定版本下,检查是否存在用户被锁。

CheckTableSize

指定版本下,检查表的relpages,如果大于1125899906842623则检查不通过。

CheckGaussVer

检查各节点$GAUSSHOME/bin目录下二进制文件版本是否一致。如果不一致检查不通过。

CheckBinaryUpgrade

检查“/DWS/manager/upgrade_backup/”下是否有对应的备份文件,如果存在备份的文件,则检查不通过,否则检查通过。

CheckXFS

查看“/etc/os-release”文件获取版本信息,如果是EulerOS且版本在4.19.87及以下则涉及XFS bug,检查不通过,否则检查通过。

CheckGTMConfigConsistency

获取主备GTM配置文件参数,如果参数设置一致则检查通过,否则检查不通过。

CheckColversion

检查如果存在没有标记为1.0列存表,且当前默认列存为2.0,则检查不通过,否则检查通过。

CheckTopSqlSize

检查TopSQL表大小, 如果超过50G,则检查不通过,否则检查通过。

CheckDeltaTable

检查是否存在delta表,如果存在delta表则该项检查不通过,否则检查通过。

CheckMaxDatanode

检查comm_max_datanode的值,如果不等于实际主datanode个数,检查不通过,否则检查通过。

CheckSSHIP

获取主备CM节点上的cm.conf文件,对比参数设置,如果参数配置一致则检查通过,否则检查不通过。

CheckTimeZoneLink

在沙箱内执行“ll /etc/localtime”,如果链接指向的文件路径包含“/var/chroot”则检查不通过,否则检查通过。

CheckSpecialFile

检查程序目录($GAUSSHOME以及各实例目录)下文件是否存在特殊字符以及非Ruby用户的文件,如果不存在则检查通过,否则检查不通过。

CheckTableUsage

检查有使用V3表、HStore、HStore_opt、冷热表、Turbo_store表则检查项不通过,需要联系技术支持工程师进行评审再扩容。

CheckNextOid

检查OID回卷问题。

CheckRSCompressTable

如果存在使用行存压缩表情况,检查不通过,否则检查通过。

CheckSysSchemaTable

如果系统schema下有用户自建的表检查不通过,否则检查通过。

升级前巡检

CheckClusterParams

集群配置类参数(ip类、 Port类、路径类参数)在postgresql.conf或者pgxc_node的配置,必须和静态配置文件一致。不一致则检查不通过。

CheckCNNum

检查集群CN实例个数,如果CN个数大于2,小于10则检查项通过,否则检查项不通过。

CheckDDL

启动事务创建/删除schema和表,如果事务能够提交,检查通过,否则检查不通过。

CheckTimeZone

检查集群内各节点时区,如果时区一致则检查通过,否则检查项不通过。

CheckXidEpoch

检查xid消耗量,如果大于等于2的32次方,检查不通过。

CheckCnNumberSame

如果“/opt/dws/xml/cluster.xml和cm_ctl query -Cv”查询出来的CN数量一致,检查通过,否则检查不通过。

CheckGaussVer

检查各节点$GAUSSHOME/bin目录下二进制文件版本是否一致。如果不一致,检查不通过。

CheckPsort

如果有psort索引,检查不通过。

CheckCatchup

检查gaussdb进程堆栈是否能搜索到CatchupMain函数,若搜索不到则检查项通过,否则检查项不通过。

CheckClusterState

CM进程不存在,检查不通过;检查fenced UDF状态,如果为down则报warning;检查集群状态为Normal,则检查项通过,否则检查项不通过。

CheckMetaDataConsistency

检查系统表在CN和DN之间数据是否一致,一致则检查通过,否则检查不通过。

CheckDependSystemObj

如果用户自建的对象依赖系统对象,检查不通过,否则检查通过。

CheckPgKeyWords

如果表、列、函数、数据类型名为新增的保留关键字,检查不通过,否则检查通过。

CheckReadonlyMode

检查集群中所有含CN节点上default_transaction_read_only值,若为off则检查通过,否则不通过。

CheckMetaData

检查系统表元数据是否一致,如果一致,则检查通过,否则检查不通过。

CheckGUCSetting

postgresql.conf中GUC参数和pg_settings中参数是否一致,一致则检查通过,否则不通过。

CheckPgxcgroup

检查pgxc_group表中in_redistribution为Y的个数,如果数量为0则检查项通过,否则检查项不通过。

CheckCmserverStandby

如果集群cm_server属性为standby。则检查项通过,否则Warning。

CheckSpaceUsage

如果使用率超过warning阈值(默认为70%)报warning,超过NG阈值(默认为90%)则检查项不通过 。集群路径下检查“GAUSSHOME/PGHOST/GPHOME/GAUSSLOG/tmp/data”路径的剩余空间,不满足阈值则检查项不通过。

CheckEnvProfile

检查节点环境变量($GAUSSHOME、$LD_LIBRARY_PATH、$PATH),如果环境变量存在并配置正确则检查项通过,否则检查项不通过。

CheckBalanceState

如果集群Balanced属性为Yes,则检查项通过,否则Warning,如果查询失败则检查项不通过。

CheckTDDate

若存在TD模式数据库下的orc表,且包含date类型的列则检查不通过。

CheckCatalog

检查pg_catalog中是否有用户自定义的数据库对象,如果有检查不通过,否则检查通过。

CheckPgauthid

检查pg_authid中,oid的最高位如果等于1,检查不通过,否则检查通过。

CheckSysdate

检查表、视图、存储过程中是否使用sysdate视图,如果有使用,检查不通过,否则检查通过。

CheckFilesNumber

当GAUSSHOME/PGHOST/GPHOME/tmp文件数量大于10000时,检查不通过,否则检查通过。

CheckKeyFilesExist

检查upgrade_version文件、conf文件、control文件,data下关键目录是否存在,若有文件存在,检查通过,否则检查不通过。

CheckReturnType

用户自定义函数包含非法返回类型,检查不通过,否则检查通过。

CheckTrust

检查各个节点是否互信,若有节点未互信则检查不通过,否则检查通过。

CheckEnumGUCValue

检查pg_postgres.conf部分参数是否有引号,如果缺失单引号,则检查不通过,否则检查通过。

CheckSpecialFile

检查程序目录“$GAUSSHOME”下文件是否存在特殊字符以及非Ruby用户的文件,如果不存在则检查通过,否则检查不通过。

CheckNecessarySchema

检查必要“schema(public)”是否都存在。

CheckUserDefinedDataType

连接所有数据库,执行SQL语句“select count(*) from pg_type t,pg_namespace n,PG_ATTRIBUTE a where t.typnamespace=n.oid and t.oid=a.atttypid and t.typname ='time_stamp' and n.nspname='information_schema' and a.atttypid> 16384;”,结果为空则检查通过,否则检查不通过。

CheckCMParamConsistency

获取主备CM节点上的cm.conf文件,对比参数设置,如果参数配置一致则检查通过,否则检查不通过。

CheckLightProxy

检查参数enable_light_proxy,如果为off,且behavior_compat_options不包含枚举值enable_force_add_batch则检查不通过,否则检查通过。

CheckSSHIP

获取主备CM节点上的cm.conf文件,对比参数设置,如果参数配置一致则检查通过,否则检查不通过。

CheckSysSchemaTable

如果系统schema下有用户自建的表则检查不通过,否则检查通过。

CheckTimeZoneLink

在沙箱内执行“ll /etc/localtime”,如果链接指向的文件路径包含“/var/chroot”则检查不通过,否则检查通过。

相关文档