更新时间:2024-10-08 GMT+08:00

查看巡检

背景信息

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

  • 该特性仅8.1.1及以上集群版本支持。
  • 如果用户无法处理不通过的巡检项,请联系技术支持人员。

注意事项

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

查看巡检详情

  1. 登录GaussDB(DWS) 管理控制台。
  2. 在集群列表中单击指定集群名称。
  3. 进入“集群详情”页面,切换至“巡检管理”页签。
  4. 单击指定任务名称旁边的下拉按钮,查看巡检结果(巡检状态、执行进度、巡检结果、通过率等),并单击所在行“查看详情”按钮查看具体巡检项详情。

    图1 查看巡检详情

    在变更界面创建巡检任务后也可在当前页面查看巡检进度,巡检详情以及终止巡检。

终止巡检任务

  1. 登录GaussDB(DWS) 管理控制台。
  2. 在集群列表中单击指定集群名称。
  3. 进入“集群详情”页面,切换至“巡检管理”页签。
  4. 单击巡检中任务所在行操作列的“终止任务”按钮终止该巡检任务。

巡检项检查标准说明

表1 巡检项详情

变更操作

巡检项名称

检查标准

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

CheckTimeZone

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

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则检查通过,否则不通过。

CheckCatchup

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

CheckCollector

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

CheckTrust

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

CheckBalanceState

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

CheckCnNumberSame

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

CheckCMParam

如果enable_transaction_read_only为on、coordinator_heartbeat_timeout各节点一致,检查通过。

CheckUtilslib

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

CheckPgxcgroup

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

CheckLockState

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

CheckDBConnection

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

CheckGUCConsistent

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

CheckTDDate

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

CheckPgxcRedistb

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

CheckMetaData

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

CheckGUCSetting

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

CheckProacl

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

CheckMetaDataConsistency

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

CheckReturnType

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

CheckUltraWideTable

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

CheckDataRedisSchema

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

CheckDiskSpaceLimited

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

CheckTableCollate

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

CheckDefaultOrientation

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

CheckReplicationUuid

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

CheckUserStatementTimeout

检测用户级的statement_timeout设置,未设置或设置为0则通过,否则检查不通过。

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文件,对比参数设置,如果参数配置一致则检查通过,否则检查不通过。

CheckSQLCompatibility

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

CheckBinaryUpgrade

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

CheckColdTableSpace

在所有库中检查是否存在冷热表,如果存在则检查不通过,否则检查通过。

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用户的文件,如果不存在则检查通过,否则检查不通过。

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”则检查不通过,否则检查通过。