ALM-27007 數據庫進入只讀模式
更新時間 2023-08-24 10:00:25
最近更新時間: 2023-08-24 10:00:25
分享文章
本章節主要介紹ALM-27007 數據庫進入只讀模式的告警。
告警解釋
系統每30秒周期性檢查DBServer主節點的數據目錄磁盤空間使用率,當數據目錄磁盤空間使用率超過90%時,系統將產生此告警。
當數據目錄磁盤空間使用率低于80%時,此告警恢復。
告警屬性
| 告警ID | 告警級別 | 是否自動清除 |
|---|---|---|
| 27007 | 緊急 | 是 |
告警參數
| 參數名稱 | 參數含義 |
|---|---|
| 來源 | 產生告警的集群名稱。 |
| 服務名 | 產生告警的服務名稱。 |
| 角色名 | 產生告警的角色名稱。 |
| Trigger Condition | 系統當前指標取值滿足自定義的告警設置條件。 |
對系統的影響
數據庫進入只讀模式,業務數據丟失。
可能原因
磁盤配置無法滿足業務需求,磁盤使用率達到上限。
處理步驟
檢查磁盤使用率是否達到上限
- 在FusionInsight Manager,選擇“集群 > 待操作集群的名稱 > 服務 > DBService”。
- 在“概覽”頁面查看“數據目錄磁盤空間使用率”圖表,檢查數據目錄磁盤空間使用率是否超過90%。
- 是,執行步驟3。
- 否,執行步驟13。
- 以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)
- 是,執行步驟4。
- 否,執行步驟13。
- 執行以下命令,打開“dbservice.properties”文件:
source $DBSERVER_HOME/.dbservice_profile
vi ${DBSERVICE_SOFTWARE_DIR}/tools/dbservice.properties
- 修改“gaussdb_readonly_auto”的值為“OFF”,默認為“ON”。
- 執行以下命令,打開“postgresql.conf”文件:
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
- 是,執行步驟11。
- 否,執行步驟13。
- 根據實際情況處理誤寫入的文件。
- 登錄FusionInsight Manager,選擇“集群 > 待操作集群的名稱 > 服務 > DBService”,在“概覽”頁面查看“數據目錄磁盤空間使用率”圖表,檢查數據目錄磁盤空間使用率是否低于80%。
- 是,處理完畢。
- 否,執行步驟13。
收集故障信息
- 在FusionInsight Manager界面,選擇“運維 > 日志 > 下載”。
- 在“服務”中勾選待操作集群的“DBService”。
- 設置日志收集的主機,可選項,默認所有主機。
- 單擊右上角的

設置日志收集的“開始時間”和“結束時間”分別為告警產生時間的前后10分鐘,單擊“下載”。 - 請聯系運維人員,并發送已收集的故障日志信息。
告警清除
此告警修復后,系統會自動清除此告警,無需手工清除。
參考信息
無。