国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

自動化批量部署管理的實(shí)踐

2017-11-15 06:53:25魏海濤
中國傳媒科技 2017年10期
關(guān)鍵詞:配置管理配置文件網(wǎng)卡

文/魏海濤

自動化批量部署管理的實(shí)踐

文/魏海濤

努力提高物理服務(wù)器環(huán)境下的自動化部署效率和可控管理能力,一直是運(yùn)維開發(fā)人員不斷追求的目標(biāo)。隨著新華社“媒體融合發(fā)展項(xiàng)目”的不斷推進(jìn),在統(tǒng)一運(yùn)維體系模式下,基礎(chǔ)平臺環(huán)境的建設(shè)在實(shí)際工作中面臨著為上層業(yè)務(wù)應(yīng)用系統(tǒng)提供基礎(chǔ)環(huán)境支撐的任務(wù),承擔(dān)了近千臺物理服務(wù)器節(jié)點(diǎn)的部署和運(yùn)維工作,急需解決操作系統(tǒng)自動化批量部署和管理,及時響應(yīng)業(yè)務(wù)系統(tǒng)部署需求的難題。

服務(wù)器;可控管理;自動化;批量

1.物理服務(wù)器部署的痛點(diǎn)

與傳統(tǒng)“豎井式業(yè)務(wù)”小規(guī)模運(yùn)維相比,統(tǒng)一運(yùn)維體系下規(guī)模化的操作系統(tǒng)部署存在以下幾方面的挑戰(zhàn):

(1)并存多個系統(tǒng)版本,數(shù)據(jù)和基礎(chǔ)類軟件要求的系統(tǒng)版本較低,適合容器化的應(yīng)用軟件要求的系統(tǒng)版本較高。

(2)交付界面上移,更加精細(xì)化。任務(wù)不再是簡單安裝操作系統(tǒng),而是在統(tǒng)一設(shè)計(jì)要求下,完成磁盤分區(qū)和掛載、軟件包安裝、網(wǎng)絡(luò)設(shè)置、NTP時間校對、用戶設(shè)置及個性化配置等。

(3)物理服務(wù)器部署節(jié)點(diǎn)需求數(shù)量通常在上百臺,網(wǎng)絡(luò)環(huán)境復(fù)雜,網(wǎng)絡(luò)安全域不同,服務(wù)器具有多塊網(wǎng)卡。

(4)部署過程中,要能夠監(jiān)控查看每一臺服務(wù)器的詳細(xì)進(jìn)度。

(5)對網(wǎng)絡(luò)連通、用戶賬戶和軟件包等進(jìn)行安裝結(jié)果驗(yàn)證。

面對以上挑戰(zhàn),如果靠人力部署,勢必效率低下,也極易因?yàn)槿藶橐蛩爻霈F(xiàn)配置差錯。

2.自動化部署方案

針對操作系統(tǒng)規(guī)模化部署運(yùn)維的弱點(diǎn),我們設(shè)計(jì)了適用于新華社實(shí)際環(huán)境的操作系統(tǒng)自動化部署和管理方案:

(1)搭建基于PXE的網(wǎng)絡(luò)自動安裝環(huán)境,自定義kickstart(簡稱ks)自動安裝配置文件和shell腳本。

(2)開發(fā)配置管理服務(wù),以服務(wù)器設(shè)備序列號為索引,將ks中的配置數(shù)據(jù)抽象為參數(shù)進(jìn)行封裝管理,用于服務(wù)器配置管理、配置API查詢等。

(3)開發(fā)監(jiān)控服務(wù),同樣以服務(wù)器設(shè)備序列號為索引,用于監(jiān)控?cái)?shù)據(jù)上傳、進(jìn)度監(jiān)控、安裝驗(yàn)證等。

技術(shù)架構(gòu)如圖1所示。核心為配置管理服務(wù)和監(jiān)控服務(wù),由服務(wù)器工程師規(guī)劃編制《服務(wù)器基礎(chǔ)規(guī)劃表》并上傳至配置管理服務(wù)器,目標(biāo)主機(jī)在自動安裝時從配置管理服務(wù)器根據(jù)設(shè)備序列號加載屬于自己的配置,全程進(jìn)度上傳監(jiān)控服務(wù)器,供服務(wù)器工程師瀏覽驗(yàn)證。

以下為各系統(tǒng)組件的功能描述。

DHCP服務(wù)器,為需要安裝操作系統(tǒng)的服務(wù)器提供DHCP/BOOTP服務(wù)。承擔(dān)該任務(wù)的為管理網(wǎng)的三層交換機(jī),安裝時在交換機(jī)上的對應(yīng)VlanIf上設(shè)置DHCP服務(wù)即可。相較于在服務(wù)器上配置DHCP服務(wù)的傳統(tǒng)方案,在交換機(jī)上配置更為穩(wěn)定,也適用于跨網(wǎng)段的批量服務(wù)器安裝。

TFTP服務(wù)器,對應(yīng)DHCP服務(wù)器上的next-server配置,提供最小啟動鏡像的下載服務(wù),承擔(dān)該任務(wù)的為中控服務(wù)器。依賴操作系統(tǒng)的xinetd服務(wù)對tftp服務(wù)進(jìn)行管理。將CentOS 6和CentOS 7等不同操作系統(tǒng)版本的最小啟動鏡像文件分開存放,實(shí)現(xiàn)不同操作系統(tǒng)的同時自動化安裝。

HTTP Web服務(wù)器,對應(yīng)TFTP服務(wù)器上的ks配置文件URL,提供ks配置文件以及操作系統(tǒng)rpm軟件安裝包的資源下載服務(wù),承擔(dān)該任務(wù)的為中控服務(wù)器。將CentOS 6和CentOS 7等不同操作系統(tǒng)版本的ks文件和rpm包分開存放。相較于傳統(tǒng)方案,根據(jù)配置自動化設(shè)計(jì),我們在這里增加了靜態(tài)路由、磁盤分區(qū)等配置文件的下載。

配置管理服務(wù)器,為安裝人員提供服務(wù)器配置管理操作,提供Excel格式的配置文件上傳和瀏覽功能,該部分為單獨(dú)開發(fā)實(shí)現(xiàn),承擔(dān)該任務(wù)的為中控服務(wù)器。

監(jiān)控服務(wù)器,為安裝人員提供服務(wù)器安裝部署實(shí)時監(jiān)控服務(wù),該部分為單獨(dú)開發(fā)實(shí)現(xiàn),承擔(dān)該任務(wù)的為中控服務(wù)器。

CMDB服務(wù)器,服務(wù)器配置的最終狀態(tài)記錄數(shù)據(jù)庫。

3.自動化原理與執(zhí)行流程

操作系統(tǒng)安裝自動化的原理是基于PXE和kickstart的網(wǎng)絡(luò)自動安裝。在此基礎(chǔ)上,我們以服務(wù)器設(shè)備序列號為索引,將個性化配置的數(shù)據(jù)抽取出來,封裝為配置管理服務(wù),結(jié)合ks配置文件的pre段和post段的自定義Shell腳本,實(shí)現(xiàn)個性化配置的自動化部署。

目標(biāo)主機(jī)的安裝執(zhí)行分為兩個階段。

第一階段為目標(biāo)主機(jī)的最小安裝啟動鏡像加載,如圖2所示。目標(biāo)主機(jī)通過支持PXE功能的網(wǎng)卡從DHCP服務(wù)器獲取網(wǎng)卡IP、網(wǎng)關(guān)、TFTP服務(wù)器地址和最小安裝啟動鏡像路徑,然后從TFTP服務(wù)器下載啟動鏡像和安裝啟動配置文件,從配置文件中獲取ks文件URL路徑。pxelinux.0為啟動文件(bootfile),pxelinux.cfg/default文件為安裝啟動配置文件,內(nèi)含ks文件URL;vmlinuz為啟動內(nèi)核,initrd.img為掛載文件系統(tǒng)。

第二階段為KickStart方式自動安裝階段,如圖3所示。KickStart安裝方式為我們提供了安裝前(%pre)和安裝后(%post) 2個自定義執(zhí)行階段,允許我們利用這2個階段編寫Shell腳本實(shí)現(xiàn)配置自定義。我們將相同部分直接寫在ks文件中,包括軟件安裝包列表、root及公共賬號配置、SELinux和防火墻配置、NTP配置、DNS配置等。對于個性化配置,編寫變量shell腳本調(diào)用配置管理服務(wù),利用pre階段實(shí)現(xiàn)磁盤分區(qū)和主機(jī)名的配置導(dǎo)入,post階段實(shí)現(xiàn)IP、靜態(tài)路由及其他系統(tǒng)初始化配置。兩個階段的所有配置操作均上傳監(jiān)控服務(wù)器。

圖3 詳細(xì)執(zhí)行流程第二階段

4.配置管理和監(jiān)控服務(wù)設(shè)計(jì)

配置管理和監(jiān)控服務(wù)采用nodejs語言編寫,提供配置上傳和瀏覽、配置查詢API、安裝進(jìn)度監(jiān)控等功能,技術(shù)架構(gòu)如圖4所示。

圖4 配置管理服務(wù)技術(shù)架構(gòu)

配置管理服務(wù)具有以下幾個特點(diǎn):

(1)定位為工具類,采用內(nèi)存數(shù)據(jù)庫作為數(shù)據(jù)存儲方式;配置元數(shù)據(jù)包括:服務(wù)器序列號、機(jī)柜物理位置、操作系統(tǒng)版本、主機(jī)名、業(yè)務(wù)網(wǎng)卡和帶內(nèi)管理網(wǎng)卡IP(對應(yīng)于硬件網(wǎng)卡位置,含bonding)、遠(yuǎn)程帶外管理卡IP、RAID劃分、磁盤分區(qū)和掛載點(diǎn),如圖5所示。

圖5 配置列表及詳情頁

(2)為了配合服務(wù)器工程師的工作習(xí)慣,增加了Excel導(dǎo)入配置的轉(zhuǎn)換適配模塊;

(3)配置查詢接口采用Restful API格式。特別是針對網(wǎng)卡配置查詢進(jìn)行了詳細(xì)設(shè)計(jì),包括IP地址、網(wǎng)絡(luò)掩碼、子網(wǎng)、網(wǎng)關(guān)、網(wǎng)卡名稱等,以應(yīng)對ks自動安裝過程中的IP地址類查詢,減少shell腳本的文本解析工作。如:

http://[ip]:[port]/api/confs/[serialid]/operateIP

http://[ip]:[port]/api/confs/[serialid]/operateIPNetmask

http://[ip]:[port]/api/confs/[serialid]/operateIP

http://[ip]:[port]/api/confs/[serialid]/operateIPGateway

http://[ip]:[port]/api/confs/[serialid]/operateNic

4.1 安裝實(shí)施步驟

操作系統(tǒng)安裝自動化將服務(wù)器工程師從繁重的重復(fù)勞動中解放出來,只需少量手工操作,從而使其精力更多地集中在配置規(guī)劃設(shè)計(jì)。

(1)從配置管理服務(wù)器下載《服務(wù)器基礎(chǔ)規(guī)劃表》模板,借助Excel表格工具對服務(wù)器配置進(jìn)行規(guī)劃設(shè)計(jì)。

(2)將Excel文檔上傳到配置管理服務(wù)器,同時將列表中的服務(wù)器加入到待安裝服務(wù)器列表。

(3)在目標(biāo)主機(jī)所在管理網(wǎng)當(dāng)前網(wǎng)段的三層交換機(jī)的對應(yīng)VlanIf上設(shè)置DHCP服務(wù)配置DHCP服務(wù),開始安裝系統(tǒng)。

(4)通過監(jiān)控服務(wù)頁面瀏覽安裝進(jìn)度(見圖6),同時可以訪問每臺服務(wù)器的帶外管理地址,通過打開KVM遠(yuǎn)程Console來查看系統(tǒng)安裝情況(見圖7)。

(5)安裝完成后,通過安裝管理界面保存此次安裝過程和結(jié)果。

圖6 安裝監(jiān)控頁面

圖7 服務(wù)器安裝界面

4.2 實(shí)施中的一些經(jīng)驗(yàn)

盡可能降低業(yè)務(wù)系統(tǒng)對基礎(chǔ)環(huán)境的個性化要求,強(qiáng)制約束系統(tǒng)命名規(guī)范、用戶賬號規(guī)范、操作系統(tǒng)版本等,是實(shí)現(xiàn)自動化部署和提高可控管理能力的先決條件。為此,我們重點(diǎn)從以下兩個方面對業(yè)務(wù)應(yīng)用系統(tǒng)做出限制。

(1)制定系統(tǒng)部署規(guī)范,保證系統(tǒng)部署的一致性。我們制定了《主機(jī)域名和內(nèi)部服務(wù)域名命名規(guī)范》、《用戶賬戶和目錄使用規(guī)范》、《操作系統(tǒng)初始化規(guī)范》、《多網(wǎng)卡IP使用規(guī)范》。

(2)強(qiáng)制操作系統(tǒng)基線版本。綜合考慮基礎(chǔ)軟件兼容性、操作系統(tǒng)穩(wěn)定性和官方維護(hù)支持期限,我們選用了CentOS6.8和CentOS7.3作為操作系統(tǒng)基線版本。對于數(shù)據(jù)庫、大數(shù)據(jù)等數(shù)據(jù)類軟件,考慮到軟件本身的兼容性和穩(wěn)定性,部署到CentOS6.8,對于移植性較好的Java/J2EE等應(yīng)用,適合容器化擴(kuò)展的,部署到CentOS7.3。CentOS官方提供維護(hù)支持的操作系統(tǒng)截至日期見表1 。

表1 操作系統(tǒng)官方維護(hù)截至日期

5.總結(jié)

該解決方案在傳統(tǒng)的自動化部署方案基礎(chǔ)上,根據(jù)新華社媒體融合發(fā)展項(xiàng)目的特點(diǎn)進(jìn)行了優(yōu)化完善,提高了服務(wù)器規(guī)?;渴鸬呐渲霉芾砟芰?,增強(qiáng)了部署管理的可視化驗(yàn)證。在新華社融發(fā)項(xiàng)目的實(shí)踐中,該方案從一定程度上解放了服務(wù)器工程師的重復(fù)繁重勞動,實(shí)現(xiàn)了系統(tǒng)批量安裝自動化,極大地提高了系統(tǒng)部署效率,增強(qiáng)了系統(tǒng)運(yùn)維管理能力,解決了系統(tǒng)按需按期交付的難題。

[1] Kickstart documentation. http://pykickstart.readthedocs.io/en/latest/

[2] BOOTP. https://en.wikipedia.org/wiki/Bootstrap_Protocol

[3] DHCP. https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol

[4] DHCP RFC. https://tools.ietf.org/html/rfc2132

[5] PXE. https://en.wikipedia.org/wiki/Preboot_Execution_Environment

(作者單位:新華社技術(shù)局)

TP311

A

1671-0134(2017)10-119-03

10.19483/j.cnki.11-4653/n.2017.10.050

猜你喜歡
配置管理配置文件網(wǎng)卡
在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
汽車委托外加工零件自動化配置管理
提示用戶配置文件錯誤 這樣解決
搭建簡單的Kubernetes集群
互不干涉混用Chromium Edge
Server 2016網(wǎng)卡組合模式
忘記ESXi主機(jī)root密碼怎么辦
挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
建設(shè)CMDB任重道遠(yuǎn)
配置管理在軟件測試中的應(yīng)用
科技視界(2015年4期)2015-01-02 05:16:00
施秉县| 保亭| 株洲市| 独山县| 福海县| 武乡县| 龙海市| 应城市| 东台市| 二手房| 彭山县| 宜昌市| 台北市| 新宁县| 五家渠市| 湖州市| 商城县| 城步| 西乌珠穆沁旗| 和静县| 阿尔山市| 徐闻县| 璧山县| 湖南省| 文登市| 金乡县| 江门市| 长兴县| 民和| 夹江县| 五峰| 安陆市| 太和县| 东光县| 福海县| 永新县| 广灵县| 上杭县| 大关县| 米泉市| 志丹县|