DWS_2000000006 DWS集群节点数据盘使用率超阈值
告警解释
DWS每30秒采集集群各节点所有磁盘的使用情况。
- 如果存在磁盘最近10分钟(可配置)内的最大使用率超过80%(可配置),则上报节点数据盘使用率超阈值的重要告警;如果平均使用率低于75%(即上报阈值减去5%),则消除该重要告警。
- 如果存在磁盘最近10分钟(可配置)内的最大使用率超过85%(可配置),则上报节点数据盘使用率超阈值的紧急告警;如果平均使用率低于80%(即上报阈值减去5%),则消除该紧急告警。
 
 
    如果存在磁盘的最大使用率一直大于上报阈值,那么在24小时(可配置)后将再次发起告警。
告警属性
| 告警ID | 告警归属 | 告警级别 | 告警类型 | 业务类型 | 是否可自动清除 | 
|---|---|---|---|---|---|
| DWS_2000000006 | 租户面 | >85% 紧急, >80% 重要 | 操作告警 | 数据仓库服务 | 是 | 
告警参数
| 类别 | 参数名称 | 参数含义 | 
|---|---|---|
| 定位信息 | 名称 | DWS集群节点数据磁盘使用率超阈值。 | 
| 类型 | 操作告警。 | |
| 发生时间 | 告警发生时间。 | |
| 附加信息 | 集群ID | 集群resourceId、domain_id等详细信息。 | 
对系统的影响
如果集群数据量或者业务临时下盘量增加,导致任意单盘磁盘使用率超过90%后,将触发集群的只读保护,影响客户业务的顺利执行。
可能原因
- 业务数据量增长较快,集群磁盘容量配置无法满足业务需求。
- 脏数据未及时清理。
- 存在倾斜表。
处理步骤
- 检查各节点磁盘使用情况。
     
     - 登录DWS管理控制台。
- 在“告警管理”界面,单击右上角“集群选择”下拉框,选中当前集群,查看集群最近7天的告警信息。通过定位信息锁定触发告警的节点名称和磁盘信息。
- 在“专属集群 > 集群列表”界面找到告警集群,在所在行操作列单击“监控面板”进入到监控界面。
- 选择“监控 > 节点监控 > 磁盘”可查看当前集群节点各磁盘使用率的具体情况,如果想要查看某个节点某个磁盘的历史监控信息,可单击最右的监控按钮 ,查看最近1/3/12/24小时的磁盘性能指标。 ,查看最近1/3/12/24小时的磁盘性能指标。
 
- 确认告警配置是否合理。
- 确认集群是否处于只读状态。
- 确认集群是否超过半数以上的数据盘使用率超过70%。
     
     - 手动执行VACUUM FULL进行清理,详情请参见磁盘使用率高清理方式。连接数据库,执行以下SQL语句查询脏页率超过30%的表,并且按照表大小从大到小排序。 
       1 2 3 4 5 SELECT schemaname AS schema, relname AS table_name, n_live_tup AS analyze_count, pg_size_pretty(pg_table_size(relid)) as table_size, dirty_page_rate FROM PGXC_GET_STAT_ALL_TABLES WHERE schemaName NOT IN ('pg_toast', 'pg_catalog', 'information_schema', 'cstore', 'pmk') AND dirty_page_rate > 30 ORDER BY table_size DESC, dirty_page_rate DESC; 该SQL可能的执行结果示例如下(有一张表脏页率较高):1 2 3 4 schema | table_name | analyze_count | table_size | dirty_page_rate --------+------------+---------------+------------+----------------- public | test_table | 4333 | 656 KB | 71.11 (1 row) 
- 如果SQL有回显结果,则对脏页率较高的表串行执行清理操作: 
       1VACUUM FULL ANALYZE schema.table_name   由于VACUUM FULL操作会占用额外的整理空间(表大小 * (1 - 脏页率)),将导致磁盘使用率临时上涨然后下降,执行时应确保磁盘距离触发集群只读剩余足够的空间,因此建议从相对较小的表开始处理。此外,VACUUM FULL会持有排他锁,期间对操作表的访问会阻塞,应合理安排执行时间,避免影响业务。 
- 如果SQL没有回显结果,说明无脏页率较高的表,可根据以下数仓类型,对集群进行节点扩容或磁盘扩容,避免磁盘使用进一步增长后触发只读导致业务中断。
 
- 手动执行VACUUM FULL进行清理,详情请参见磁盘使用率高清理方式。连接数据库,执行以下SQL语句查询脏页率超过30%的表,并且按照表大小从大到小排序。 
       
- 确认集群数据盘中最高和最低使用率相差是否超过10%。
     
     - 如果数据盘使用率相差较大,连接数据库,执行以下SQL语句查询集群是否存在倾斜表。 
       1SELECT schemaname, tablename, pg_size_pretty(totalsize), skewratio FROM pgxc_get_table_skewness WHERE skewratio > 0.05 ORDER BY totalsize desc; 该SQL可能的执行结果示例如下:1 2 3 4 5 6 7 schemaname | tablename | pg_size_pretty | skewratio ------------+---------------------+----------------+----------- scheduler | workload_collection | 428 MB | .500 public | test_table | 672 KB | .429 public | tbl_col | 104 KB | .154 scheduler | scheduler_storage | 32 KB | .250 (4 rows) 
- 如果SQL有回显结果,根据表的大小和倾斜率,将倾斜严重的表重新选择分布列,8.1.0及以上版本直接通过ALTER TABLE语法进行调整,其他版本参见如何调整分布列?
 
- 如果数据盘使用率相差较大,连接数据库,执行以下SQL语句查询集群是否存在倾斜表。 
       
告警清除
磁盘使用率下降后,自动消除告警。
 
   
    