<em id="rw4ev"></em>

      <tr id="rw4ev"></tr>

      <nav id="rw4ev"></nav>
      <strike id="rw4ev"><pre id="rw4ev"></pre></strike>
      合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

      Ansible for openGauss自動化部署 openGauss hfw.cc

      時間:2023-11-28  來源:  作者:hfw.cc 我要糾錯


      前言

      大家好,今天我們為大家推薦一套基于 Ansible 開發的,自動化部署及擴容 openGauss 的腳本工具:Ansible for openGauss(以下簡稱 AFO)。

      通過AFO,我們只需簡單修改一些配置文件,即可快速部署多種架構模式的 openGauss,以及對已有架構進行自動化擴容。

      解決部署痛點

      如果你有按照官方文檔部署一套 openGauss 的經歷,你會發現不論是單點還是集群,均需做不少的前期工作。例如要根據 CPU 和操作系統,下載對應版本的安裝包。又需要根據不同的 Linux 操作系統,做一些額外配置。手工部署在這里不僅低效,而且容易有錯漏。如果是多節點的部署,手工部署的弱勢會被進一步放大。

      我開發這套 Ansible 腳本的目標,就是盡可能地覆蓋部署前、部署中和部署后的場景,并且把手工部署過程中遇到的一些坑,也通過自動化來解決掉。降低 openGauss 的部署門檻,推動 openGauss 的普及。

      例如在 openEuler 20.03 系統里部署 openGauss 5.0,你會遇到 readline-devel 這個依賴包的版本是 8,而 openGauss 5.0 需要的是 libreadline.so.7,導致安裝過程失敗。我查找到解決方法后,加入到部署流程中,自動幫大家把這個坑給填了。

      在給未部署 CM 的架構做擴容時,需要在主備之間做一次 switchover 后才能安裝 CM。這些我們也加入到自動化流程中,免除了大家遇到這些問題還要花時間查找解決方法的麻煩。

      部署過程中,有需要在 root 和 omm 賬號之間多次切換的操作,Ansible 里用 become_user 就可以輕松自動切換。這些都是手工部署過程中的痛點。

      已實現的功能

      總結下來,目前我們這個工具能實現以下功能:

      提供一個專屬的 ansible-docker 子項目,只要控制機可運行 docker,即可運行一個 Ansible 容器,適配 AFO 的執行。對于不熟悉 Ansible 的同學非常友好。

      自動適配 CPU 架構(條件受限,目前僅測試了 X86 架構)和操作系統(已支持 CentOS 和 openEuler 20.03),自動下載對應的 openGauss 安裝包,自動對操作系統做適配修改。

      實現從單節點到多節點的多種架構模式的一次性部署。

      使用本工具部署的單點或集群,還能通過添加服務器,再次運行腳本,實現平滑擴容。實測可直接從單主擴容到 1 主 2 備 2 級聯。

      允許用戶自定義一些變量,例如指定部署目錄,指定 openGauss 版本(5.0 或以上),指定 sysctl 的參數配置。

      免除手工部署中的問答環節,自動生成相關密碼,自動填寫。最后生成部署報告。

      效率是如何提升的?

      以配置網卡 MTU 為例,臺服務器的執行時間如下:

      Ansible 在 0.517 秒的時間內,完成了 3 臺服務器的網卡 MTU 修改。因為,它是并行操作的。

      以生成 cluster_config.xml 為例

      3 臺服務器的節點,手工寫 cluster_config.xml,需要花費多少時間,各位可以自己計時看看。

      而我們利用 Ansible 的模板功能,可以在 1 秒內生成該文件,編排非常清晰,一目了然。

       

      我們甚至考慮到了在機房里使用小尺寸顯示器查看 cluster_config.xml 的場景,對 xml 做了換行處理,避免出現單行過長的問題。

      自動化思路

      AFO 主要的工作流如下:

      對部署環境的信息進行采集。

      將用戶自定義的變量和腳本默認變量合并,優先使用自定義變量。

      檢查是否已部署 openGauss,如無,進入初次部署流程。

      如果已部署 openGauss,則檢查用戶是否有添加新節點,進入節點擴容流程。

      節點擴容流程里又分 2 步,先擴容備機節點,再擴容級聯節點。因為級聯節點只連接備機。

      如果集群節點數量為 3 或以上,且未部署 CM,則進入 CM 部署流程。

      最后,檢查確認集群已正常運行,生成部署報告。

      結果展示

      以 3 臺 VirtualBox 虛擬機為例,統一 8U+16GB 配置,都在 1 塊物理 SATA 盤上讀寫。

      另外,虛擬機都已經提前安裝好相關依賴包,openGauss 安裝包也已經下載到本地。排除網絡下載速度的不確定因素。

      單節點, 40 秒(下圖右下角)完成部署。

       1 備, 48 秒(下圖右下角)完成部署。

      從單點數據庫,擴容為 1  1  1 級聯,耗時 23 分(下圖右下角)完成部署。

      擴容模式需要額外的流程,因此耗時比直接部署 3 節點的要多。

      最后生成部署報告

      項目代碼

      這套工具已經收錄在 openGauss 社區的官方代碼庫,歡迎大家前往下載試用,并向我們多多提出寶貴意見。

      代碼地址:https://gitee.com/opengauss/ansible-for-opengauss

       

      參與貢獻

      歡迎對 Ansible 熟悉的同學,加入我們,改進完善我們的項目。

      更歡迎大家提交 issue,提出寶貴的意見和建議。

      也歡迎可以提供測試資源的同學,與我聯系。目前我們需要 ARM 平臺的測試環境。

      TODO

      增加 openGauss 相關生態軟件的自動化部署,例如圖形化管理,監控管理。

      增加 ARM 平臺的適配。

      增加數據庫定時備份的配置流程。

      增加對 1 主 1 備架構的主備自動切換配置。

      有限度地提供 gs_guc 自動化配置,方便運維人員對數據庫參數做修改更新。

      更多的想法,由你們來補充。

      掃一掃在手機打開當前頁
    1. 上一篇:時尚東方珠寶品牌宏基總裁廖創賓獲頒“JWA非凡40”榮譽獎項
    2. 下一篇:UC網盤家庭空間全新亮相 四大特色功能高效記錄生活點滴
    3. 無相關信息
      合肥生活資訊

      合肥圖文信息
      挖掘機濾芯提升發動機性能
      挖掘機濾芯提升發動機性能
      戴納斯帝壁掛爐全國售后服務電話24小時官網400(全國服務熱線)
      戴納斯帝壁掛爐全國售后服務電話24小時官網
      菲斯曼壁掛爐全國統一400售后維修服務電話24小時服務熱線
      菲斯曼壁掛爐全國統一400售后維修服務電話2
      美的熱水器售后服務技術咨詢電話全國24小時客服熱線
      美的熱水器售后服務技術咨詢電話全國24小時
      海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
      海信羅馬假日洗衣機亮相AWE 復古美學與現代
      合肥機場巴士4號線
      合肥機場巴士4號線
      合肥機場巴士3號線
      合肥機場巴士3號線
      合肥機場巴士2號線
      合肥機場巴士2號線
    4. 幣安app官網下載 短信驗證碼 丁香花影院

      關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

      Copyright © 2024 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
      ICP備06013414號-3 公安備 42010502001045

      成人久久18免费网站入口