合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

        Ansible for openGauss自動(dòng)化部署 openGauss hfw.cc

        時(shí)間:2023-11-28  來(lái)源:  作者:hfw.cc 我要糾錯(cuò)


        前言

        大家好,今天我們?yōu)榇蠹彝扑]一套基于 Ansible 開(kāi)發(fā)的,自動(dòng)化部署及擴(kuò)容 openGauss 的腳本工具:Ansible for openGauss(以下簡(jiǎn)稱 AFO)。

        通過(guò)AFO,我們只需簡(jiǎn)單修改一些配置文件,即可快速部署多種架構(gòu)模式的 openGauss,以及對(duì)已有架構(gòu)進(jìn)行自動(dòng)化擴(kuò)容。

        解決部署痛點(diǎn)

        如果你有按照官方文檔部署一套 openGauss 的經(jīng)歷,你會(huì)發(fā)現(xiàn)不論是單點(diǎn)還是集群,均需做不少的前期工作。例如要根據(jù) CPU 和操作系統(tǒng),下載對(duì)應(yīng)版本的安裝包。又需要根據(jù)不同的 Linux 操作系統(tǒng),做一些額外配置。手工部署在這里不僅低效,而且容易有錯(cuò)漏。如果是多節(jié)點(diǎn)的部署,手工部署的弱勢(shì)會(huì)被進(jìn)一步放大。

        我開(kāi)發(fā)這套 Ansible 腳本的目標(biāo),就是盡可能地覆蓋部署前、部署中和部署后的場(chǎng)景,并且把手工部署過(guò)程中遇到的一些坑,也通過(guò)自動(dòng)化來(lái)解決掉。降低 openGauss 的部署門(mén)檻,推動(dòng) openGauss 的普及。

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

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

        部署過(guò)程中,有需要在 root 和 omm 賬號(hào)之間多次切換的操作,Ansible 里用 become_user 就可以輕松自動(dòng)切換。這些都是手工部署過(guò)程中的痛點(diǎn)。

        已實(shí)現(xiàn)的功能

        總結(jié)下來(lái),目前我們這個(gè)工具能實(shí)現(xiàn)以下功能:

        提供一個(gè)專屬的 ansible-docker 子項(xiàng)目,只要控制機(jī)可運(yùn)行 docker,即可運(yùn)行一個(gè) Ansible 容器,適配 AFO 的執(zhí)行。對(duì)于不熟悉 Ansible 的同學(xué)非常友好。

        自動(dòng)適配 CPU 架構(gòu)(條件受限,目前僅測(cè)試了 X86 架構(gòu))和操作系統(tǒng)(已支持 CentOS 和 openEuler 20.03),自動(dòng)下載對(duì)應(yīng)的 openGauss 安裝包,自動(dòng)對(duì)操作系統(tǒng)做適配修改。

        實(shí)現(xiàn)從單節(jié)點(diǎn)到多節(jié)點(diǎn)的多種架構(gòu)模式的一次性部署。

        使用本工具部署的單點(diǎn)或集群,還能通過(guò)添加服務(wù)器,再次運(yùn)行腳本,實(shí)現(xiàn)平滑擴(kuò)容。實(shí)測(cè)可直接從單主擴(kuò)容到 1 主 2 備 2 級(jí)聯(lián)。

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

        免除手工部署中的問(wèn)答環(huán)節(jié),自動(dòng)生成相關(guān)密碼,自動(dòng)填寫(xiě)。最后生成部署報(bào)告。

        效率是如何提升的?

        以配置網(wǎng)卡 MTU 為例,臺(tái)服務(wù)器的執(zhí)行時(shí)間如下:

        Ansible 在 0.517 秒的時(shí)間內(nèi),完成了 3 臺(tái)服務(wù)器的網(wǎng)卡 MTU 修改。因?yàn)椋遣⑿胁僮鞯摹?/p>

        以生成 cluster_config.xml 為例

        3 臺(tái)服務(wù)器的節(jié)點(diǎn),手工寫(xiě) cluster_config.xml,需要花費(fèi)多少時(shí)間,各位可以自己計(jì)時(shí)看看。

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

         

        我們甚至考慮到了在機(jī)房里使用小尺寸顯示器查看 cluster_config.xml 的場(chǎng)景,對(duì) xml 做了換行處理,避免出現(xiàn)單行過(guò)長(zhǎng)的問(wèn)題。

        自動(dòng)化思路

        AFO 主要的工作流如下:

        對(duì)部署環(huán)境的信息進(jìn)行采集。

        將用戶自定義的變量和腳本默認(rèn)變量合并,優(yōu)先使用自定義變量。

        檢查是否已部署 openGauss,如無(wú),進(jìn)入初次部署流程。

        如果已部署 openGauss,則檢查用戶是否有添加新節(jié)點(diǎn),進(jìn)入節(jié)點(diǎn)擴(kuò)容流程。

        節(jié)點(diǎn)擴(kuò)容流程里又分 2 步,先擴(kuò)容備機(jī)節(jié)點(diǎn),再擴(kuò)容級(jí)聯(lián)節(jié)點(diǎn)。因?yàn)榧?jí)聯(lián)節(jié)點(diǎn)只連接備機(jī)。

        如果集群節(jié)點(diǎn)數(shù)量為 3 或以上,且未部署 CM,則進(jìn)入 CM 部署流程。

        最后,檢查確認(rèn)集群已正常運(yùn)行,生成部署報(bào)告。

        結(jié)果展示

        以 3 臺(tái) VirtualBox 虛擬機(jī)為例,統(tǒng)一 8U+16GB 配置,都在 1 塊物理 SATA 盤(pán)上讀寫(xiě)。

        另外,虛擬機(jī)都已經(jīng)提前安裝好相關(guān)依賴包,openGauss 安裝包也已經(jīng)下載到本地。排除網(wǎng)絡(luò)下載速度的不確定因素。

        單節(jié)點(diǎn), 40 秒(下圖右下角)完成部署。

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

        從單點(diǎn)數(shù)據(jù)庫(kù),擴(kuò)容為 1  1  1 級(jí)聯(lián),耗時(shí) 23 分(下圖右下角)完成部署。

        擴(kuò)容模式需要額外的流程,因此耗時(shí)比直接部署 3 節(jié)點(diǎn)的要多。

        最后生成部署報(bào)告

        項(xiàng)目代碼

        這套工具已經(jīng)收錄在 openGauss 社區(qū)的官方代碼庫(kù),歡迎大家前往下載試用,并向我們多多提出寶貴意見(jiàn)。

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

         

        參與貢獻(xiàn)

        歡迎對(duì) Ansible 熟悉的同學(xué),加入我們,改進(jìn)完善我們的項(xiàng)目。

        更歡迎大家提交 issue,提出寶貴的意見(jiàn)和建議。

        也歡迎可以提供測(cè)試資源的同學(xué),與我聯(lián)系。目前我們需要 ARM 平臺(tái)的測(cè)試環(huán)境。

        TODO

        增加 openGauss 相關(guān)生態(tài)軟件的自動(dòng)化部署,例如圖形化管理,監(jiān)控管理。

        增加 ARM 平臺(tái)的適配。

        增加數(shù)據(jù)庫(kù)定時(shí)備份的配置流程。

        增加對(duì) 1 主 1 備架構(gòu)的主備自動(dòng)切換配置。

        有限度地提供 gs_guc 自動(dòng)化配置,方便運(yùn)維人員對(duì)數(shù)據(jù)庫(kù)參數(shù)做修改更新。

        更多的想法,由你們來(lái)補(bǔ)充。

        掃一掃在手機(jī)打開(kāi)當(dāng)前頁(yè)
      1. 上一篇:時(shí)尚東方珠寶品牌宏基總裁廖創(chuàng)賓獲頒“JWA非凡40”榮譽(yù)獎(jiǎng)項(xiàng)
      2. 下一篇:UC網(wǎng)盤(pán)家庭空間全新亮相 四大特色功能高效記錄生活點(diǎn)滴
      3. 無(wú)相關(guān)信息
        合肥生活資訊

        合肥圖文信息
        急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
        急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
        出評(píng) 開(kāi)團(tuán)工具
        出評(píng) 開(kāi)團(tuán)工具
        挖掘機(jī)濾芯提升發(fā)動(dòng)機(jī)性能
        挖掘機(jī)濾芯提升發(fā)動(dòng)機(jī)性能
        海信羅馬假日洗衣機(jī)亮相AWE  復(fù)古美學(xué)與現(xiàn)代科技完美結(jié)合
        海信羅馬假日洗衣機(jī)亮相AWE 復(fù)古美學(xué)與現(xiàn)代
        合肥機(jī)場(chǎng)巴士4號(hào)線
        合肥機(jī)場(chǎng)巴士4號(hào)線
        合肥機(jī)場(chǎng)巴士3號(hào)線
        合肥機(jī)場(chǎng)巴士3號(hào)線
        合肥機(jī)場(chǎng)巴士2號(hào)線
        合肥機(jī)場(chǎng)巴士2號(hào)線
        合肥機(jī)場(chǎng)巴士1號(hào)線
        合肥機(jī)場(chǎng)巴士1號(hào)線
      4. 短信驗(yàn)證碼 酒店vi設(shè)計(jì) deepseek 幣安下載 AI生圖 AI寫(xiě)作 aippt AI生成PPT 阿里商辦

        關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

        Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
        ICP備06013414號(hào)-3 公安備 42010502001045

        主站蜘蛛池模板: 九九无码人妻一区二区三区| 国产伦精品一区二区三区免费迷| 女同一区二区在线观看| 高清一区高清二区视频| 亚欧成人中文字幕一区| 精品无码人妻一区二区三区品 | 国产精品毛片VA一区二区三区| 福利一区国产原创多挂探花| 老熟妇高潮一区二区三区| 一区二区三区在线观看视频| 91麻豆精品国产自产在线观看一区| 天堂成人一区二区三区| 精品少妇一区二区三区在线| 国产一区精品视频| 国产在线一区观看| 日韩精品一区二区三区不卡| 久久精品无码一区二区三区| 国产午夜毛片一区二区三区 | 国精产品一区一区三区MBA下载 | 国产成人精品一区二区三区| 熟女精品视频一区二区三区| 精品少妇ay一区二区三区| 日韩精品一区二区三区国语自制 | 爆乳无码AV一区二区三区| 一区二区三区四区国产| 亚洲av日韩综合一区在线观看| 国产午夜精品一区二区三区嫩草| 国产一区二区精品| 精品人妻一区二区三区四区| 精品国产不卡一区二区三区| 久久精品无码一区二区WWW| 日本精品视频一区二区三区| 国产高清一区二区三区| A国产一区二区免费入口| 国产一区二区不卡老阿姨| 日本一区二区视频| 一区二区精品在线观看| 精品国产一区二区三区麻豆| 在线视频亚洲一区| 国产精品视频一区二区三区| 国产成人精品一区二三区|