ALM-27007 数据库进入只读模式
告警解释
系统每30秒周期性检查DBServer主节点的数据目录磁盘空间使用率,当数据目录磁盘空间使用率超过90%时,系统将产生此告警。
当数据目录磁盘空间使用率低于80%时,此告警恢复。
告警属性
告警ID |
告警级别 |
是否自动清除 |
---|---|---|
27007 |
紧急 |
是 |
告警参数
参数名称 |
参数含义 |
---|---|
来源 |
产生告警的集群名称。 |
服务名 |
产生告警的服务名称。 |
角色名 |
产生告警的角色名称。 |
Trigger Condition |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
数据库进入只读模式,业务数据丢失。
可能原因
磁盘配置无法满足业务需求,磁盘使用率达到上限。
处理步骤
检查磁盘使用率是否达到上限
- 在FusionInsight Manager,选择“集群 > 待操作集群的名称 > 服务 > DBService”。
- 在“概览”页面查看“数据目录磁盘空间使用率”图表,检查数据目录磁盘空间使用率是否超过90%。
- 以omm用户登录DBServer主管理节点,执行以下命令,查看数据库是否进入只读模式。
source $DBSERVER_HOME/.dbservice_profile
gsql -U omm -W password -d postgres -p 20051
show default_transaction_read_only;
其中password为DBService数据库的omm用户密码,用户可以执行\q退出数据库界面。
结果如下所示,查看“default_transaction_read_only”的值是否为“on”。
POSTGRES=# show default_transaction_read_only; default_transaction_read_only ------------------------------- on (1 row)
- 执行以下命令,打开“dbservice.properties”文件:
source $DBSERVER_HOME/.dbservice_profile
vi ${DBSERVICE_SOFTWARE_DIR}/tools/dbservice.properties
- 修改“gaussdb_readonly_auto”的值为“OFF”,默认为“ON”。
- 执行以下命令,打开dbservice.properties文件:
vi ${DBSERVICE_DATA_DIR}/postgresql.conf
- 删除“default_transaction_read_only = on”。
- 执行以下命令,使配置生效:
gs_ctl reload -D ${DBSERVICE_DATA_DIR}
- 登录FusionInsight Manager,选择“运维 > 告警 > 告警”。单击告警“数据库进入只读模式”所在行右侧“操作”列中的“清除”,在弹出窗口中单击“确定”。手动清除该告警。
- 以omm用户登录DBServer主管理节点,执行以下命令查看数据目录磁盘空间下超过500MB的文件,检查该目录下是否有误写入的大文件存在。
source $DBSERVER_HOME/.dbservice_profile
find "$DBSERVICE_DATA_DIR"/../ -type f -size +500M
- 根据实际情况处理误写入的文件。
- 登录FusionInsight Manager,选择“集群 > 待操作集群的名称 > 服务 > DBService”,在“概览”页面查看“数据目录磁盘空间使用率”图表,检查数据目录磁盘空间使用率是否低于80%。
- 是,处理完毕。
- 否,执行13。
收集故障信息
- 在FusionInsight Manager界面,选择“运维 > 日志 > 下载”。
- 在“服务”中勾选待操作集群的“DBService”。
- 设置日志收集的主机,可选项,默认所有主机。
- 单击右上角的设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后10分钟,单击“下载”。
- 请联系运维人员,并发送已收集的故障日志信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。