探索GreatADM:圖形化部署MGR的全新體驗

来源:https://www.cnblogs.com/greatsql/archive/2023/08/23/17650372.html
-Advertisement-
Play Games

**摘要:** 在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,需要修改預設的初始密碼,用戶賬號可以是郵箱地址、可以是用戶名。

file

預設平臺超管為:用戶名adm[email protected]兩種可以登錄,如下

file

二、使用GreatADM部署GreatSQL MGR

GreatADM管理平臺預設對MySQL資料庫架構的4大分類,並且支持用戶已自建的MySQL5.7/8.0的統一納管到平臺和複製拓撲自動探測和拓撲繪製。支持GreatDB、GreatSQL、Percona Server、MySQL類型的資料庫類型。

file

A、GreatDBRouter三節點:

對應萬里GreatDB資料庫企業版高可用解決方案

B、PAXOS高可用複製:

支持MGR、以及GreatSQL MGR+VIP方案

C、主備多副本:

傳統的主從複製、雙主、雙主一從、多主多從等方案

D、單實例節點:

提供批量交付多個單點場景,以及實例的一鍵批量診斷、實例巡檢報告生成等服務,同時支持單節點升級為其他高可用架構。

接來下我們開始安裝MGR,本次我們選用GreatSQL版本來部署MGR,GreatSQL是適用於金融級應用的國內自主開源資料庫,可以作為MySQL或Percona Server的可選替換,用於線上生產環境,且完全免費並相容MySQL或Percona Server。

1.添加主機信息

file

自動識別操作系統版本和CPU平臺信息,可以按需增加機房、機架、機櫃等信息。GreatADM同時支持資源池方式的資料庫部署方式,可將多台物理主機的cpu、記憶體、磁碟標準化為一個計算資源池,通過從資源池中按需分配資料庫實例的算力,以提高物理主機的資源利用效率,這點倒是挺不錯。這個我們下期再做介紹。

file

2.調整參數模板、確認軟體包

查看內置的參數模板

file

當然用戶可以按需上傳參數,可以綁定項目名稱,作為私有項目獨享,也可以作為公共模板多項目共用

file
本次我們調整內置的參數模板,同時可按需【添加參數】暫時調整如下2項innodb_buffer_pool_size、innodb_buffer_pool_instances這裡的這個參數模板,以及參數搜索框不錯,可以快速模糊匹配參數

file

上傳資料庫二進位包,自動識別軟體包的屬性信息。

file

這裡我們上傳了GreatSQL社區版本,還有XtraBackup備份工具。當然GreatADM在安裝時,會自動搜索同目錄路徑是否存在資料庫包,如果有的話會自動識別載入。這點確實省去不少通過web瀏覽器上傳軟體包的時間。到此,我們部署資料庫的必要條件都已經具備,下一步準備執行MGR的圖形化安裝。

3.資料庫安裝部署

選擇Paxos高可用部署方案,因MGR採用Paxos協議,所以外部我們選擇Paxos架構,物理主機部署方式進行。選擇對應的資料庫版本、備份工具、參數模板、並填寫預設的資料庫名稱、管理員賬號密碼等。

進行三階段流程:

1、基礎配置

2、系統預檢查

3、執行交付部署

file

【安裝前配置】如下:

file

【主機預檢查】,檢查項如主機時區時間、swap交換分區、安全策略selinux、分區掛載、系統資源限制、內核參數等共計近20項預檢內容,均為歷史經驗積累的轉化。

file

當不滿足預檢內置條件時,會彈框提醒,按級別分為必檢項(必須滿足前置條件項),次要,僅提醒三類。

file

【交付部署】,同樣按標準流程進行交付,且記錄各階段的交付日誌,以便問題溯源和歷史記錄翻閱。

file

【完成交付】之後,跳轉到資料庫管理拓撲主頁

file

到此我們就完成了MGR的圖形化交付,並可直觀的看到拓撲狀態,和對應的事務執行情況等信息。感覺怎麼樣?

三、DBA運維中個人覺得實用的3點

1、拓撲繪製和可操作性

【拓撲作用】DBA可以直接基於拓撲圖查看當前資料庫節點運行狀態、複製延遲等待、實例角色信息,同時可以基於拓撲做MGR的節點切換,伺服器啟停等操作,直觀的拓撲結構,和狀態信息,以及啟停操作按鈕,用起來很愜意。

file

操作示例如在拓撲上執行【重啟實例】,所有的操作均記錄日誌,保證操作時間、任務狀態、操作暫停、終止和重試,做到操作有記錄,可查詢,防止誤操作和隨意變更操作。

file

歷史操作記錄

file

2、多視角監控清晰直觀

GreatADM提供了實時的集群狀態監控和管理功能。可以通過GreatADM查看集群狀態、執行數據同步、進行主從切換等操作。【實例所在主機負載實時動態更新】

file

【實例複製概覽】全覽實例狀態,以及延遲情況,並支持線上擴縮,以及節點操作

file

【實例負載】針對實例的實時會話信息,當前業務或者某一階段的繁忙程度,實例負載盡收眼底。

file

【負載趨勢】另外對DBA來說的主機層面的資源用量和趨勢,現在獨立一個面板,直接全局統計數據增長趨勢圖,並給出資源用量評估,直觀且高效。解決了做評估無依據或需要人工命令行統計,或者表格比對人工繪圖的耗時耗力的問題。

file

【多維度監控】在監控告警中,提供3個維度的視角,資料庫架構全局維度、單實例節點維度、主機維度來進行全方位監控。做不同維度按需監控,按需開關,按需分屏展示的可操作性和靈活性。

file

【自定義監控】基於統一模板化的面板之外,同時兼顧用戶想自定義監控面板的訴求,GreatADM做了展示面板的可配置性改進。將部分通用能力通用標準,以友好的web頁面組織起來,讓監控的dashboard可按用戶需求自助定製,尊重不同業務庫級差異性,而差異化監控的訴求。

file

3、基線參數和一鍵修複

GreatADM提供基線參數模板的校驗,以及變更參數歷史的記錄,和一鍵修複功能,這大大降低了DBA在維護資料庫過程中,因手動變更參數之後未將參數固定寫入到配置導致的丟失,遺忘等問題。個人覺得對DBA比較實用的功能。參數變更可按需應用不同節點,且支持差異化配置。

file

針對不同節點的參數,基於參數基線做變更比對

file

及時發現參數差異,並支持一鍵修正,這結局了DBA在一對多的資料庫運維管理中,不同業務資料庫的參數變更歷史,全靠記憶或者現場搜索、現場查看cnf要便捷高效的多,且不易出錯,相當實用。

file

這是目前個人使用過程中覺得比較不錯的幾個點。

四、內容總結

通過GreatADM創建MGR的過程,可以看到GreatADM從一鍵腳本安裝、再到創建MGR架構時主機、軟體包管理、參數模板、環境預檢、到完成,完全是流程化、模板化、規範化的交付。 特別是在國產化的背景下,版本差異交付適配難、運維管理頻踩坑、告警消息策略固化,各類告警無聚合壓制、巡檢診斷內容價值低廉、只有備份能力,恢復全靠人工,跨機房災備無法統籌管理等問題。GreatADM針對上述問題逐個擊破,使用戶在面臨多樣化環境中,管理更加規範、直觀、高效便捷。GreatADM就是結合部分金融和運營商私有國產化交付場景下,打造的一款全方位、多場景的覆蓋的資料庫管理平臺產品。

對於用戶而言,GreatADM提供了常見業務場景中,資料庫標準化交付、規範化擴縮變更操作、日常監控管理、以及運維歷史可溯源的能力,為業務的平穩運行保駕護航。

對於DBA而言,在一對多的資料庫架構管理中,選擇合適的工具,合適的平臺才能使工作更高效,處理問題更方便,才能保障資料庫平穩運行,減少DBA人工管理成本,降低定位問題的門檻,而GreatADM為DBA提供了一種全新的體驗。

如果大家有什麼問題或文中有描述錯誤,歡迎指出,大家可以隨時留言,感謝大家閱讀。


Enjoy GreatSQL

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # 任務與協程 ## 區別 > 一個程式可以只有任務、只有協程、二者都有,但不可以通過隊列/信號量互相傳遞數據 ## 任務特點 1. 任務之間可以互相獨立 2. 每個任務分配自己的堆棧,提高了RAM使用率 3. 操作簡單、按優先順序搶占式執行 4. 搶占容易導致重入(執行任務時被其他線程或進程調用了) ...
  • ![](https://img2023.cnblogs.com/blog/3076680/202308/3076680-20230822115524099-438612716.png) # 1. 在執行語句之前,會先檢查下列事項 ## 1.1. 是否有許可權執行該語句 ## 1.2. 是否有許可權訪問指 ...
  • 排序查詢:select 欄位列表 from [表名] order by [欄位名1] [asc升序/desc降序,預設值為升序],[欄位名2] [排序方式];//欄位名1為優先順序排序,如果欄位名1有相同的,再以欄位名2排序 聚合函數: count 統計數量(一般不選null的列) max 最大值 m ...
  • ## 1、字元集概述 - Oracle語言環境的描述包括三部分:language、territory、characterset(語言、地域、字元集) - language:主要指定伺服器消息的語言,提示信息顯示中文還是英文 - territory:主要指定伺服器的數字和日期的格式 - charact ...
  • 在日常工作中,有時會遇到一次性往頁面中插入大量數據的場景,在數棧的[離線開發](https://www.dtstack.com/dtinsight/batchworks?src=szsm)(以下簡稱離線)產品中,就有類似的場景。本文將通過分享一個實際場景中的[前端開發](https://www.dt ...
  • 第14屆中國資料庫技術大會(DTCC2023)上,華為雲資料庫GaussDB首席架構師馮柯對華為雲GaussDB資料庫的高級壓縮技術進行了詳細的解讀。 ...
  • 最近接到了一個新需求,要求提供查詢關註對象的粉絲列表介面功能。該功能的難點就是關註對象的粉絲數量過多,不少店鋪的粉絲數量都是千萬級別,並且有些大V粉絲數量能夠達到上億級別 ...
  • # Mybatis-9.28 環境: - JDK:1.8 - Mysql:8.032 - maven:3.9.2 - IDEA 回顧: - JDBC - Mysql - JavaSE - Maven - Junit ## 01 簡介 ### 1.1 什麼是MyBatis ![](https://im ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...