當前位置:法律諮詢服務網 - 中國稅務 - 如何搭建數據庫自動化運維體系

如何搭建數據庫自動化運維體系

需求背景:

隨著業務的增長、對運維效率和質量的要求不斷提高,對自動化運維體系的需求也不斷增強。

目前筆者服務的很多中大型企業客戶,運維其實還停留在“刀耕火種”的原始狀態。

這裏所說的“刀”和“火”就是運維人員的遠程客戶端,例如 xshell 和Windows 遠程桌面。

這種工作模式有很多局限性,

比如服務器、數據庫、中間件等的安裝、初始化,應用軟件部署、服務發布和監控都是通過手動方式來完成的。

這就需要運維人員登錄到服務器上,壹臺壹臺去管理和維護。

如果有個幾十上百臺,累就累死人了。

筆者曾運維過超過4000千臺服務器,團隊二十多個人,仔細想想這活靠人力能幹嗎?

另外人工操作方式過於依賴運維人員的執行順序和操作步驟,稍有不慎即可能導致生產事故,即便是變更前double check也很難保證不出事故。

常在河邊走哪有不濕鞋。

這時候運維人員開始探索使用使用腳本和批量管理工具。

這種方式確實提升了效率和質量,但是不具有普適性。

第壹是腳本的非標準化的問題。

每個運維人員都有自己的解決問題的風格,不同的人員之間存在巨大差異,那麽不同的人開發這些腳本的版本管理就是壹個挑戰。

第二是腳本的交接問題,公司人員的架構不是壹成不變的,有人來就有人離開。離職和工作交接,都會導致腳本無法很好地在運維人員之間傳承和再利用。

因此,構建自動化運維體系成了唯壹的選擇。

那麽如何建設自動化運維體系呢?本文研究分為三個大的方面:

第壹個是為什麽要建設自動化運維體系?

第二個是根據筆者經驗介紹運維系統是怎樣設計、運行和處理問題的。

第三個是筆者在自動化運維過程中遇到的壹些問題的思考,做壹個總結。

本文針對數據庫自動化運維系統

核心內容如下:

壹、建設自動化運維體系的原因

為什麽要建設壹個自動化運維體系。

肯定是運維過程中遇到的壹些挑戰。

第壹個是變更的需求。

它表現為三個方面:

壹是變更數量多,目前我們服務的客戶達到3萬家企業,這個體量是很大的。

二是變更種類多,不同的客戶需求是不壹樣的,包含但不限於擴容、性能優化、故障處理、DG切換遷移、RAC搭建等。

三是變更風險大,有些變更都是壹些高危操作,自動化處理更安全等。

第二個是運維環境方面,主要表現為服務器數量多、數據庫類型多。我們的客戶可以自由選擇使用哪種數據庫,分別對應不同的環境。

第三是人的因素。

在建設自動化運維體系過程中,有壹個比較重要的考慮點是人的因素。

正是因為每個運維人員的能力不壹樣,技術水平參差不齊,甚至是運維習慣和工具也不壹樣。

導致我們必須要創建壹套規範的自動化運維體系,來提升工作效率。

二、如何搭建自動化運維體系

下面我們來看壹下每個模塊是如何設計和工作的。

1、自動化安裝系統

安裝數據庫是比較繁瑣但數據又多的工作之壹。

操作系統多,但是人少,可用時間也比較少,自動化安裝省時省力。整個自動化流程采用通用的框架,主要是針對linux下的Oracle安裝和MySQL安裝。

交付用戶之前,會進行基本的安全設置,這在壹定程度上提高了安全性,也減少了需要人工做的壹些操作。

2、自動化運維平臺

當服務器由自動化安裝完數據庫以後,就會被自動化運維平臺接管。

自動化運維平臺是運維人員的操作平臺,它主要解決安全、高效、快速等因數量特別多而帶來的管理問題。

在設計的過程中要考慮了以下幾個因素:把整個運維系統的操作界面設計成基於堡壘機的架構。

運維工程師無論何時何地都可以登錄管理系統進行運維操作,這樣的話就比較方便,由SecureCRT對被操作的機器發布指令。

充分利用現有協議和工具。這個平臺的特點是所有的系統使用SSH管理,而不是自己開發壹些Agent,這也體現了自動化運維的觀點。

3、自動化巡檢系統

由於我們的客戶系統比較多,業務也比較多,怎樣設計壹套系統去巡檢它們的運行情況呢?

我們采用了兩種方式:自我開發的中控系統和第三方管理平臺先看自己開發的中控系統:

單獨使用壹臺服務器巡檢其他的數據庫節點,腳本可以選用shell或者Python。

設定遍歷時間間隔,遇到故障情況可以采用打電話或者發短信的方式及時通知運維人員。

第二是把所有的數據庫節點納管到第三方監控平臺。

4、自動化性能分析系統

系統並不用永遠都穩定運行,性能問題是無法逃避的問題。性能分析系統是重中之重。

這裏筆者單獨再寫壹篇文章。

5、自動化監控預警系統

通常客戶的系統都是7*24小時運行的,這就要求必須有預警監控。

預警監控系統+值班人員是標準配置。

預警監控系統的搭建方式參考巡檢系統,只不過采集的指標不壹樣。

6、自動化備份系統

兩地三中心+DG+NBU

三、建設自動化運維體系的思考

筆者將自動化運維體系的建設目標總結為四個詞。

第壹個是完備,這個系統要能涵蓋所有的運維需求。

第二個是簡潔,簡單好用。運維人員的學習成本不要高,越復雜難用的系統越不容易發揮系統本身的能力和效率。

第三個是高效,特別是在批量處理或者執行特定任務時要高效。

第四個是安全,如果壹個運維系統不安全,可能導致很快就被黑客接管了。

總結

筆者目前也在從數據庫的架構、優化和故障處理慢慢轉型做自動化運維體系。

對過去進行總結,我覺得有3個方面可以供大家參考。

第壹是循序漸進的原則:

聚焦當前的問題,把當前的問題處理好,後面的問題也就迎刃而解。

如果壹開始設計的系統很龐大、功能特別豐富,會導致壹些無法控制的局面。但是如果壹開始的目標是解決壹些特定的問題,有針對性,那麽推進起來也會比較簡單。在筆者參與的自動化運維體系建設過程中,我們的初始目標是構建的是壹個基礎的變更批量操作平臺,先把壹部分需要重復執行的工作搬到平臺上來。

再依據運維的需求豐富這個操作平臺的功能和提升效率,最後把周邊的系統打通,相互對接,形成完整的自動化運維體系。第二是考慮可擴展性:

設計系統的時候,功能或者設計方面可能不用考慮那麽多,但是要考慮當服務器數量發生比較大的擴張時,系統是否還能支撐。第三是以實用為目的:

使用不方便,運維人員第壹個就放棄了,何談推廣?

如何搭建數據庫自動化運維體系

標簽:能力兩種ble擴展事故團隊簡潔體系之間

  • 上一篇:全國會計碩士(MPAcc)招生院校名單有哪些?
  • 下一篇:如何寫整改報告
  • copyright 2024法律諮詢服務網