写点什么

卷扩容业务失败了,在线等…

  • 2023-01-13
    中国香港
  • 本文字数:1635 字

    阅读完需:约 5 分钟

卷扩容业务失败了,在线等…

本文分享自华为云社区《【公有云公共】卷扩容业务失败》,作者:酷哥。

一、基本背景介绍


卷扩容一般指实例级的磁盘扩容。随着客户业务的不断开展,磁盘使用率也会随之增加。当磁盘使用率过高时,会影响数据库的使用,这时建议用户清理无用数据、运维清理无用日志或用户来操作卷扩容任务。


tips:


1、磁盘使用率过高时,会影响甚至完全阻塞客户的业务开展,所以 GaussDB 为各实例配置了巡检告警的指标参数,超过该指标的阈值时,即会上报告警。(该指标阈值必须设定的比 datastorage_threshold_value_check(数据库只读阈值)低一些,这样才能达到提醒的效果。)


2、当超过 datastorage_threshold_value_check(数据库只读阈值,百分数,默认值 85),且 enable_transaction_read_only(超过阈值后改为只读模式,默认为 on)参数为 on 时,实例会改为只读模式,禁止用户的写入操作。


3、default_transaction_read_only(数据库只读模式参数,默认值 off),设置为 on 后无法执行 dml 和写事务,即手动设置数据库为只读模式。

二、卷扩容任务失败处理办法

1、实例的磁盘使用率已经超过阈值,处于只读状态,导致卷扩容任务流失败。


处理思路:改善磁盘使用率

方法一:临时调大 datastorage_threshold_value_check(数据库只读阈值),保证卷扩容任务完成后,回调该阈值。


1)告警或问题单提权后登陆问题实例的 CMS 主节点。


2)cat /var/chroot/usr/local/cm/cm_server/cm_server.conf|grep "datastorage_threshold_value_check"(查询并记录当前只读阈值参数 X1)


3)gs_guc reload -Z cmserver -N all -I all -c "datastorage_threshold_value_check=X2"(调整只读阈值参数至 X2,X2 取值(1-99))


4)重试任务流至成功结束。


5)gs_guc reload -Z cmserver -N all -I all -c "datastorage_threshold_value_check=X1"(任务流重试成功结束后回调只读阈值参数至 X1)

方法二:删除无效或失效的日志文件(联系内核工程师确认)


使用 df –h 命令查看当前磁盘使用率较高的磁盘,确认当前使用率,可能存在风险的目录包括/home/Ruby/log、/home/Ruby、/home/Mike、$PGHOST、/user/local(DN);



其中/home/Ruby/log 下主要存放系统日志,管控日志以及 om_agent 日志,正常情况下这些日志均有自动清理和回收机制,若发现某类日志数量明显增加,则可能存在风险,需要手动清理(例如 om_agent 默认保留 10 个日志文件、管控日志默认保留 20 个等);


/home/Ruby 和/home/Mike 目录下主要会存放一些运维操作的临时文件,这些文件一般情况下在运维操作结束后就可以清理,可能存在忘记清理或者临时文件生成过大的情况,需要及时处理;


$PGHSOT 目录下主要存放数据库运行相关的临时文件,若存在较大文件,需要确认文件用途后,采取清理动作;DN 上的/usr/local 目录使用系统磁盘,可能有一些运维操作也会在此目录下落盘,需要及时清理。

2、管控或 AGENT 调用等报错导致任务流报错失败


(检查任务流信息,视报错内容及步骤联系管控或 AGENT 确认)


(1)任务流中在内核扩容步骤报错。


登录实例堡垒机 CN 节点后台,使用 df –h 命令查看当前磁盘使用情况,若看到磁盘容量已经更新,则说明内核的磁盘扩容任务已成功。需要联系管控人员,确认任务流的报错信息,定位报错在哪一步,并根据管控人员的指引操作。(若磁盘未扩容成功,说明确实为内核问题,联系内核工程师处理)


(2)任务流中还未到达内核扩容步骤,前置子任务流或步骤报错。 需要联系管控人员,确认任务流的报错信息,定位报错在哪一步,并根据管控人员的指引操作。


(3)任务流中内核扩容步骤已成功完成,后置子任务流或步骤报错。 需要联系管控人员,确认任务流的报错信息,定位报错在哪一步,并根据管控人员的指引操作。

三、卷任务流扩容失败处理案例分享


1、问题定位:确认任务流中子任务流下发报错,联系管控根据其指引定位问题,确认为管控节点存在异常。(管控自身的 3 个节点中 2 个节点存在问题,只要调用到异常节点就会报错)



2、处理办法:多次重试任务流以规避管控的故障节点,后重入任务流直至成功结束


点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 3
用户头像

提供全面深入的云计算技术干货 2020-07-14 加入

生于云,长于云,让开发者成为决定性力量

评论

发布
暂无评论
卷扩容业务失败了,在线等…_开发_华为云开发者联盟_InfoQ写作社区