提起今天的異常,有不少的吐槽的地方,不提歷史遺留的坑,單純的從技術方面回顧一下今天踩得坑,異常描述,內部自動化系統對接了zstack,建立虛擬機失敗,負責調度系統的同窗查了好久都沒搞定,只貼了一些異常日誌。初步懷疑是zstack的鍋,登陸控制節點排查java
{'createdDate': 'Jul 8, 2019 4:03:02 PM', 'state': 'Done', 'uuid': '71031d41519945339c0c8078c52e961f', 'result': {'org.zstack.header.vm.APICreateVmInstanceEvent': {'success': False, 'error': {'description': 'An internal error happened in system', 'details': 'org.hibernate.exception.SQLGrammarException: could not execute statement; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute statement', 'code': 'SYS.1000'}}}, 'finishedDate': 'Jul 8, 2019 4:03:02 PM'}", 'success': False, 'data': {}}]
三臺管理節點,其中兩臺機器部署了數據庫節點,爲主從架構,是咱們將zstack默認的MariaDB數據庫作了輕微的改造,將數據遷移到了MySQL,
python
解決和排查步驟數據庫
一、按照以往的套路先重啓zstack的管理節點,重啓數據庫所在的那臺機器時zstack節點時發現有python相關的報錯,當時先忽略去處理了其餘2臺bash
org.hibernate.exception.SQLGrammarException: could not execute statement; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute statement
二、重啓了其餘2臺機器上面的zstack 重啓後發現啓動不了,查看數據庫的鏈接發現數據庫沒有鏈接,再次回到當時重啓失敗的那臺,檢查詳細的報錯,發現有存儲空間不足的異常,df執行了一把 還剩80%的空間,又想起今天某傻叉開發乾的rm日誌磁盤空間不釋放的問題, 執行了一把lsof |grep delete ,結果看的我奔潰。。。。架構
若干MySQL相關的臨時文件被刪除了,終於知道啦問題出哪裏了,這是MySQL異常了,先重啓一把MySQL吧 。重啓完 再重啓Zstack 發現服務重啓成功,建立虛擬機測試。app