更新时间:2024-04-18 GMT+08:00

ALM-27007 数据库进入只读模式

告警解释

系统每30秒周期性检查DBServer主节点的数据目录磁盘空间使用率,当数据目录磁盘空间使用率超过90%时,系统将产生此告警。

当数据目录磁盘空间使用率低于80%时,此告警恢复。

告警属性

告警ID

告警级别

是否自动清除

27007

紧急

告警参数

参数名称

参数含义

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

Trigger Condition

系统当前指标取值满足自定义的告警设置条件。

对系统的影响

数据库进入只读模式,业务数据丢失。

可能原因

磁盘配置无法满足业务需求,磁盘使用率达到上限。

处理步骤

检查磁盘使用率是否达到上限

  1. 在FusionInsight Manager,选择“集群 > 待操作集群的名称 > 服务 > DBService”。
  2. 在“概览”页面查看“数据目录磁盘空间使用率”图表,检查数据目录磁盘空间使用率是否超过90%。

    • 是,执行3
    • 否,执行13

  3. omm用户登录DBServer主管理节点,执行以下命令,查看数据库是否进入只读模式。

    source $DBSERVER_HOME/.dbservice_profile

    gsql -U omm -W password -d postgres -p 20051

    show default_transaction_read_only;

    其中password为DBService数据库的omm用户密码(omm用户初始密码可在用户账户一览表章节查看),用户可以执行\q退出数据库界面。

    结果如下所示,查看“default_transaction_read_only”的值是否为“on”。

    POSTGRES=# show default_transaction_read_only;
     default_transaction_read_only
    -------------------------------
     on
    (1 row)
    • 是,执行4
    • 否,执行13

  4. 执行以下命令,打开“dbservice.properties”文件:

    source $DBSERVER_HOME/.dbservice_profile

    vi ${DBSERVICE_SOFTWARE_DIR}/tools/dbservice.properties

  5. 修改“gaussdb_readonly_auto”的值为“OFF”,默认为“ON”。
  1. 执行以下命令,打开“postgresql.conf”文件:

    vi ${DBSERVICE_DATA_DIR}/postgresql.conf

  2. 删除“default_transaction_read_only = on”。
  3. 执行以下命令,使配置生效:

    gs_ctl reload -D ${DBSERVICE_DATA_DIR}

  4. 登录FusionInsight Manager,选择“运维 > 告警 > 告警”。单击告警“数据库进入只读模式”所在行右侧“操作”列中的“清除”,在弹出窗口中单击“确定”。手动清除该告警。
  1. omm用户登录DBServer主管理节点,执行以下命令查看数据目录磁盘空间下超过500MB的文件,检查该目录下是否有误写入的大文件存在。

    source $DBSERVER_HOME/.dbservice_profile

    find "$DBSERVICE_DATA_DIR"/../ -type f -size +500M

    • 是,执行11
    • 否,执行13

  2. 根据实际情况处理误写入的文件。
  3. 登录FusionInsight Manager,选择“集群 > 待操作集群的名称 > 服务 > DBService”,在“概览”页面查看“数据目录磁盘空间使用率”图表,检查数据目录磁盘空间使用率是否低于80%。

    • 是,处理完毕。
    • 否,执行13
    图1 数据目录磁盘空间使用率

收集故障信息

  1. 在FusionInsight Manager界面,选择“运维 > 日志 > 下载”。
  2. 在“服务”中勾选待操作集群的“DBService”。
  3. 设置日志收集的主机,可选项,默认所有主机。
  4. 单击右上角的设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后10分钟,单击“下载”。
  1. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

此告警修复后,系统会自动清除此告警,无需手工清除。

参考信息

无。