
# 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;**
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   其中*password* 为DBService数据库的**omm** 用户密码（**omm** 用户初始密码可在[用户账号一览表](https://support.huaweicloud.com/usermanual-mrs/admin_guide_000239.html)章节查看），用户可以执行**\\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"。

6. 执行以下命令，打开"postgresql.conf"文件： 
   **vi ${DBSERVICE_DATA_DIR** }**/postgresql.conf**
   
   
7. 删除"default_transaction_read_only = on"。
8. 执行以下命令，使配置生效： 
   **gs_ctl reload -D ${DBSERVICE_DATA_DIR**}
   
   
9. 登录FusionInsight Manager，选择"运维 \> 告警 \> 告警"。单击告警"数据库进入只读模式"所在行右侧"操作"列中的"清除"，在弹出窗口中单击"确定"。手动清除该告警。

10. 以**omm** 用户登录DBServer主管理节点，执行以下命令查看数据目录磁盘空间下超过500MB的文件，检查该目录下是否有误写入的大文件存在。
    
    **source $DBSERVER_HOME/.dbservice_profile**
    **find "$DBSERVICE_DATA_DIR"/../ -type f -size +500M**
    - 是，执行[步骤 11]。
    
    - 否，执行[步骤 13]。
    
    
    
    
11. 根据实际情况处理误写入的文件。
12. 登录FusionInsight Manager，选择"集群 \> *待操作集群的名称* \> 服务 \> DBService"，在"概览"页面查看"数据目录磁盘空间使用率"图表，检查数据目录磁盘空间使用率是否低于80%。
    
    - 是，处理完毕。
    
    - 否，执行[步骤 13]。
    
    
    图1数据目录磁盘空间使用率   
    ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000001164827298.png)
    
    
**收集故障信息**
13. 在FusionInsight Manager界面，选择"运维 \> 日志 \> 下载"。
14. 在"服务"中勾选待操作集群的"DBService"。
15. 设置日志收集的主机，可选项，默认所有主机。
16. 单击右上角的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0267097168.png)设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后10分钟，单击"下载"。

17. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
无。
