**摘要:** 在DBA的日常工作中,快速部署資料庫高可用架構,且標準化地入網部署資料庫是一項重要的基礎任務。本文將介紹常見的部署MGR的方式,並重點介紹萬里資料庫的GreatADM資料庫管理平臺進行圖形化、可視化、標準化的部署過程,以提高交付效率和質量,給DBA提供一種全新的體驗。(本文閱讀大約需 ...
摘要:
在DBA的日常工作中,快速部署資料庫高可用架構,且標準化地入網部署資料庫是一項重要的基礎任務。本文將介紹常見的部署MGR的方式,並重點介紹萬里資料庫的GreatADM資料庫管理平臺進行圖形化、可視化、標準化的部署過程,以提高交付效率和質量,給DBA提供一種全新的體驗。(本文閱讀大約需要4-6分鐘)
引言
常見的資料庫入網交付的方式和各自優缺點
方式一:手動部署
這是最基本的部署方式,需要手動在每個節點上安裝、配置cnf和管理各節點,命令交互太多。雖然藉助社區版的 MySQL Shell 操作相對簡單,但對於大規模部署,手動操作可能耗費大量時間和人力,並且容易出現配置錯誤和一致性問題。
方式二:批量管理工具
使用配置管理工具(如Ansible、Puppet、Chef等)可以實現自動化的資料庫安裝部署,來解決批量交付時重覆的勞動。通過編寫配置文件和定義任務,配置管理工具可以自動執行安裝、配置和啟動MGR的步驟。這種方式可以提高部署效率並確保一致性,但對於初學者來說,配置管理工具的學習和配置可能需要一定的時間和學習成本。
方式三:GreatADM資料庫管理平臺
也是今天要介紹的主角。GreatADM提供了圖形化、可視化、標準化、流程化的部署MGR的能力,極大地簡化了部署過程。說到這裡大家可能腦子有諸多疑問:
-
GreatADM是什麼?
-
都有哪些功能?
-
能解決什麼問題?
-
支不支持國產操作系統?
-
怎麼部署資料庫流程是什麼?
-
安裝平臺麻煩嗎?哪裡可以下載到?
我暫且先只回覆第一個問題,其他的大家可在文章中或者GreatSQL社區歷史文章中發現。
技術乾貨 | 從DBA視角看資料庫運維管理平臺
GreatADM是什麼?GreatADM(GreatDB Administrator Platform )
是一款萬里資料庫管理平臺。支持基於GreatDB 、GreatSQL、MySQL多種集中式方案全生命周期的管理的軟體。接下來我們就來動手邊實踐邊看。
Let's go
文章整體內容,圍繞如何圖形化交付MGR,以及交付之後GreatADM都有哪些功能,快速瞭解如何上手,以及個人覺得使用的幾個功能點。
一、GreatADM自身的安裝
二、圖形化部署MGR的流程
三、作為DBA個人覺得不錯的3個點
四、總結回顧
一、GreatADM資料庫管理平臺的快速安裝
1.安裝和配置GreatADM
首先解壓軟體包
拿到GreatADM軟體包為一個zip的壓縮包,解壓之後得到一個adm_install.sh
的shell安裝腳本和一個GreatADM的主程式包
。
GreatADM支持在多個國產操作系統安裝部署,如麒麟、歐拉、龍蜥、統信、BClinux等。
2.配置安裝腳本
這裡需要配置安裝的主機IP,以及WEB訪問GreatADM的埠和主機的操作系統用戶名和密碼,本次用是root,也可以使用sudo user密碼等信息。
命令:vim adm_install.sh
a)、ADM_IP_ARRAY=(172.17.139.50 )
如果是高可用安裝,此處可以配置多個IP地址,GreatADM支持平臺服務高可用配置和故障自切換。支持直接安裝部署在遠程主機上。
b)、ADM_WEB_PORT=80
預設瀏覽器訪問管理頁面埠,可按需自定義
c)、SSH_USER=root
SSH_PASSWORD=abc123
本地安裝是將GreatADM平臺單機部署。如果配置雙機高可用,則需要先行配置雙機之間的ssh互信認證,然後調整認證方式,填寫公鑰文件路徑即可
SSH_AUTH=pubkey
SSH_KEY_FILE=/root/.ssh/id_ras
平臺元資料庫配置,預設無需配置,內置sqlite3作為基礎元數據的資料庫,輕量且易用,一般建議支持20台主機以下私有規模。
如果超過20台主機,可考慮接入ADM自身部署的資料庫中,目前簡單測試了一下在16C 16G 500G/SSD
配置下,使用GreatSQL作為元資料庫,創建和納管了40多套萬里GreatRouter高可用集群、主從、MGR等多類架構大約130+台主機,無壓力。
3.執行安裝
命令: sh adm_install.sh install
安裝完成之後,可通過登錄http://172.17.139.50:80
來訪問GreatADM的管理頁面
4.登錄圖形界面
首次登錄GreatADM,需要修改預設的初始密碼,用戶賬號可以是郵箱地址、可以是用戶名。
預設平臺超管為:用戶名adm
和[email protected]
兩種可以登錄,如下
二、使用GreatADM部署GreatSQL MGR
GreatADM管理平臺預設對MySQL資料庫架構的4大分類,並且支持用戶已自建的MySQL5.7/8.0的統一納管到平臺和複製拓撲自動探測和拓撲繪製。支持GreatDB、GreatSQL、Percona Server、MySQL類型的資料庫類型。
A、GreatDBRouter三節點:
對應萬里GreatDB資料庫企業版高可用解決方案
B、PAXOS高可用複製:
支持MGR、以及GreatSQL MGR+VIP方案
C、主備多副本:
傳統的主從複製、雙主、雙主一從、多主多從等方案
D、單實例節點:
提供批量交付多個單點場景,以及實例的一鍵批量診斷、實例巡檢報告生成等服務,同時支持單節點升級為其他高可用架構。
接來下我們開始安裝MGR,本次我們選用GreatSQL版本來部署MGR,GreatSQL是適用於金融級應用的國內自主開源資料庫,可以作為MySQL或Percona Server的可選替換,用於線上生產環境,且完全免費並相容MySQL或Percona Server。
1.添加主機信息
自動識別操作系統版本和CPU平臺信息,可以按需增加機房、機架、機櫃等信息。GreatADM同時支持資源池方式的資料庫部署方式,可將多台物理主機的cpu、記憶體、磁碟標準化為一個計算資源池,通過從資源池中按需分配資料庫實例的算力,以提高物理主機的資源利用效率,這點倒是挺不錯。這個我們下期再做介紹。
2.調整參數模板、確認軟體包
查看內置的參數模板
當然用戶可以按需上傳參數,可以綁定項目名稱,作為私有項目獨享,也可以作為公共模板多項目共用
本次我們調整內置的參數模板,同時可按需【添加參數】暫時調整如下2項innodb_buffer_pool_size、innodb_buffer_pool_instances
這裡的這個參數模板,以及參數搜索框不錯,可以快速模糊匹配參數
上傳資料庫二進位包,自動識別軟體包的屬性信息。
這裡我們上傳了GreatSQL社區版本,還有XtraBackup備份工具。當然GreatADM在安裝時,會自動搜索同目錄路徑是否存在資料庫包,如果有的話會自動識別載入。這點確實省去不少通過web瀏覽器上傳軟體包的時間。到此,我們部署資料庫的必要條件都已經具備,下一步準備執行MGR的圖形化安裝。
3.資料庫安裝部署
選擇Paxos高可用部署方案,因MGR採用Paxos協議,所以外部我們選擇Paxos架構,物理主機部署方式進行。選擇對應的資料庫版本、備份工具、參數模板、並填寫預設的資料庫名稱、管理員賬號密碼等。
進行三階段流程:
1、基礎配置
2、系統預檢查
3、執行交付部署
【安裝前配置】如下:
【主機預檢查】,檢查項如主機時區時間、swap交換分區、安全策略selinux、分區掛載、系統資源限制、內核參數等共計近20項預檢內容,均為歷史經驗積累的轉化。
當不滿足預檢內置條件時,會彈框提醒,按級別分為必檢項(必須滿足前置條件項),次要,僅提醒三類。
【交付部署】,同樣按標準流程進行交付,且記錄各階段的交付日誌,以便問題溯源和歷史記錄翻閱。
【完成交付】之後,跳轉到資料庫管理拓撲主頁
到此我們就完成了MGR的圖形化交付,並可直觀的看到拓撲狀態,和對應的事務執行情況等信息。感覺怎麼樣?
三、DBA運維中個人覺得實用的3點
1、拓撲繪製和可操作性
【拓撲作用】DBA可以直接基於拓撲圖查看當前資料庫節點運行狀態、複製延遲等待、實例角色信息,同時可以基於拓撲做MGR的節點切換,伺服器啟停等操作,直觀的拓撲結構,和狀態信息,以及啟停操作按鈕,用起來很愜意。
操作示例如在拓撲上執行【重啟實例】,所有的操作均記錄日誌,保證操作時間、任務狀態、操作暫停、終止和重試,做到操作有記錄,可查詢,防止誤操作和隨意變更操作。
歷史操作記錄
2、多視角監控清晰直觀
GreatADM提供了實時的集群狀態監控和管理功能。可以通過GreatADM查看集群狀態、執行數據同步、進行主從切換等操作。【實例所在主機負載實時動態更新】
【實例複製概覽】全覽實例狀態,以及延遲情況,並支持線上擴縮,以及節點操作
【實例負載】針對實例的實時會話信息,當前業務或者某一階段的繁忙程度,實例負載盡收眼底。
【負載趨勢】另外對DBA來說的主機層面的資源用量和趨勢,現在獨立一個面板,直接全局統計數據增長趨勢圖,並給出資源用量評估,直觀且高效。解決了做評估無依據或需要人工命令行統計,或者表格比對人工繪圖的耗時耗力的問題。
【多維度監控】在監控告警中,提供3個維度的視角,資料庫架構全局維度、單實例節點維度、主機維度來進行全方位監控。做不同維度按需監控,按需開關,按需分屏展示的可操作性和靈活性。
【自定義監控】基於統一模板化的面板之外,同時兼顧用戶想自定義監控面板的訴求,GreatADM做了展示面板的可配置性改進。將部分通用能力通用標準,以友好的web頁面組織起來,讓監控的dashboard可按用戶需求自助定製,尊重不同業務庫級差異性,而差異化監控的訴求。
3、基線參數和一鍵修複
GreatADM提供基線參數模板的校驗,以及變更參數歷史的記錄,和一鍵修複功能,這大大降低了DBA在維護資料庫過程中,因手動變更參數之後未將參數固定寫入到配置導致的丟失,遺忘等問題。個人覺得對DBA比較實用的功能。參數變更可按需應用不同節點,且支持差異化配置。
針對不同節點的參數,基於參數基線做變更比對
及時發現參數差異,並支持一鍵修正,這結局了DBA在一對多的資料庫運維管理中,不同業務資料庫的參數變更歷史,全靠記憶或者現場搜索、現場查看cnf要便捷高效的多,且不易出錯,相當實用。
這是目前個人使用過程中覺得比較不錯的幾個點。
四、內容總結
通過GreatADM創建MGR的過程,可以看到GreatADM從一鍵腳本安裝、再到創建MGR架構時主機、軟體包管理、參數模板、環境預檢、到完成,完全是流程化、模板化、規範化的交付。 特別是在國產化的背景下,版本差異交付適配難、運維管理頻踩坑、告警消息策略固化,各類告警無聚合壓制、巡檢診斷內容價值低廉、只有備份能力,恢復全靠人工,跨機房災備無法統籌管理等問題。GreatADM針對上述問題逐個擊破,使用戶在面臨多樣化環境中,管理更加規範、直觀、高效便捷。GreatADM就是結合部分金融和運營商私有國產化交付場景下,打造的一款全方位、多場景的覆蓋的資料庫管理平臺產品。
對於用戶而言,GreatADM提供了常見業務場景中,資料庫標準化交付、規範化擴縮變更操作、日常監控管理、以及運維歷史可溯源的能力,為業務的平穩運行保駕護航。
對於DBA而言,在一對多的資料庫架構管理中,選擇合適的工具,合適的平臺才能使工作更高效,處理問題更方便,才能保障資料庫平穩運行,減少DBA人工管理成本,降低定位問題的門檻,而GreatADM為DBA提供了一種全新的體驗。
如果大家有什麼問題或文中有描述錯誤,歡迎指出,大家可以隨時留言,感謝大家閱讀。
Enjoy GreatSQL