2018年11月22日 星期四

[經驗分享]MariaDB服務消失的離奇事件



近日架設 Moodle 當做測驗平台,卻無意中遇到一件離奇的事:資料庫服務自己消失了。





狀況

為了快速建置,這次我採用了 TurnKeyLinux (TKL) 所打包的 VM 檔,直接開機後一步一步往下操作,就立即完成可用的 Moodle 系統。

上線一天後,忽然 LibreNMS 發出 Moodle 服務異常警報,一試之下真的出錯。

Moodle 掛了



追查

第一次發生時,以為是自己架設有問題或沒調整好,就先倒回正常的快照點,讓系統恢復運作。

沒想到隔天下午又發生一次,ssh 連至主機查看,發現 mariadb 服務沒有運作,甚至連 service 的status/start/stop 都無法執行!

這可嚇壞我了,檢查一下設定檔都還在,但是關鍵的 mariadb.service 卻消失了。
Mariadb.Service 消失



這就有點不太對勁了,難道是惡意程式或入侵?

認真想了一下,是不是更新造成的問題?因為我有開啟 TurnKeyLinux 的 Security Patch 自動安裝,那就來試試看。



執行 TurnKeyLinux Security Patch


手動執行更新後發現關鍵字了,更新時「REMOVED」、「mariadb-server-10.1」 ...等,Mariadb 在這裡被移除,再往下看又另安裝了「mariadb-server-core-10.1」這個版本。

既然有重新安裝起來,為什麼服務會不見呢?

所以我又還原一次快照點,這次先把 mariadb.service 備份起來,更新完再 copy 回去,服務就能繼續正常運作。




參考

就在我解決不久後,同事剛好也查到相關資料,不看還好,一看令人扼腕。

因為我在 11/20 遇到問題,11/21 自己追查解決,結果這問題正是 11/20 超級新鮮,剛出爐的就被我遇到........

TurnKeyLinux 的官方說法,表示這問題是 Debian 的更新出了問題,大約有 70% 的使用者會遇到,他們建議的方法是「重新安裝一次 mariadb 即可」。

apt update
apt install default-mysql-server