999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

自動化部署工具設計與實現(xiàn)

2018-12-24 07:56:26
微型電腦應用 2018年12期
關鍵詞:管理

, , , ,

(1.南瑞集團有限公司(國網(wǎng)電力科學研究院有限公司),南京 211106; 2.國電南瑞科技股份有限公司,南京 211106)

0 引言

隨著信息化技術的不斷發(fā)展,信息系統(tǒng)對電網(wǎng)企業(yè)運營的支撐作用愈加重要,機房建設規(guī)模也不斷隨之擴大,致使機房運維工作較之以往更為艱難。在機房運維管理當中,操作系統(tǒng)、數(shù)據(jù)庫、中間件等基礎軟件的部署是信息化工作的基礎條件,而且這些工作往往是不斷重復、耗時費力的,為了能夠將更多精力關注于應用和業(yè)務,不再關注不同廠商的服務器和軟件,需要解決標準化和自動化問題,才能滿足日常部署的需求。因此有必要研究,制定自動化運維的部署策略及相關規(guī)范,實現(xiàn)系統(tǒng)應用的自動化部署和快速交付,提高系統(tǒng)整體部署的質量。

國外,Google、Amazon、微軟等大型公司都建有成熟的自動化運維體系,如微軟公司開發(fā)了Autopilot工具提供自動化軟件部署與系統(tǒng)監(jiān)控、故障自動修復來管理數(shù)據(jù)中心大規(guī)模服務器,以減少人工干預[1-3]。在國內(nèi),互聯(lián)網(wǎng)公司是這方面的先行者,已經(jīng)做了大量研發(fā)工作,如阿里巴巴構建了一套支持資產(chǎn)核對、自動化裝機、環(huán)境配置、應用發(fā)布、運行監(jiān)控等功能的云效自動化運維平臺,支撐了雙11期間百萬量級主機管理能安全、穩(wěn)定、高效,可見自動化運維的重要作用[4]。還有開源部署配置軟件cobbler、ansible、Puppet和SaltStack等的廣泛使用[5-8],也減輕了運維的壓力。目前,自動化部署工具主要聚焦在應用層面上很少涉及硬件配置層面,本文設計開發(fā)了一款自動化部署工具,解決了硬件配置和軟件安裝配置自動化的問題,以更好地滿足機房統(tǒng)一運維部署的需求。

1 總體設計

設計自動化部署工具為運維人員提供機房物理資源集中部署和展示平臺,實現(xiàn)設備自動發(fā)現(xiàn)、自動部署、自動配置,中間結果數(shù)據(jù)實時推送,可定制化統(tǒng)一部署模板,實現(xiàn)部署工作的標準化、合規(guī)化、統(tǒng)一化作業(yè),極大提高運維工作效率,對機房設備實現(xiàn)集中式管理。

本文設計的自動化部署工具采用的是B/S架構,通過在自主設計的可引導操作系統(tǒng)中內(nèi)置Agent來對服務器的各項基本信息進行采集上報實現(xiàn)了服務器的自動發(fā)現(xiàn),再根據(jù)任務編制時選擇的腳本來決定設備要安裝的操作系統(tǒng),并將安裝步驟的中間結果實時反饋,安裝完成操作系統(tǒng)之后再進行其他基礎軟件的部署,接著進行腳本的下發(fā)、執(zhí)行結果的回收完成整個部署過程。系統(tǒng)整體架構圖如圖1所示。

圖1 系統(tǒng)整體架構圖

主要分資源層、服務層、應用層三層結構,資源層是指機房中各廠商服務器,也就是部署服務直接操作對象。服務層是應用層與資源層之間溝通的橋梁,包含HTTP、DHCP、TFTP、任務調度、執(zhí)行引擎等服務。通過DHCP為資源層分配臨時IP地址,HTTP、TFTP為應用層和資源層之間提供傳輸文件服務,任務調度、執(zhí)行引擎為應用層提供批量下發(fā)和執(zhí)行腳本服務。應用層負責處理具體的業(yè)務邏輯和操作,集成了引導安裝管理、硬件服務管理、腳本管理和任務管理四大功能模塊。

系統(tǒng)總體設計采用MVC分層思想,前后端分離,模塊之間相互獨立通過API接口進行調用,滿足系統(tǒng)的可擴展性需求。

各個模塊主要功能如下。

(1)可引導操作系統(tǒng)管理。通過在內(nèi)存操作系統(tǒng)上內(nèi)置agent進行信息采集上報,接口查詢,調用接口完成硬件配置,引導操作系統(tǒng)的安裝。其中,內(nèi)存操作系統(tǒng)被資源層中服務器開機PXE啟動自動加載。

(2)硬件服務管理。提供支持的硬件設備信息,提供手動添加新的硬件設備。服務器硬件配置由agent執(zhí)行,主要包括對RAID、OOB以及BIOS的設置。

(3)腳本管理。包括操作系統(tǒng)模板、數(shù)據(jù)庫、中間件等腳本的增刪改查功能以及對軟件部署的一系列腳本進行排序,形成能夠部署軟件的腳本庫。

(4)任務管理。為自發(fā)現(xiàn)的設備選擇腳本管理中軟件形成一次部署任務,任務要進行審核,審核通過之后才能進行執(zhí)行部署任務,并提供安裝進度監(jiān)控。

在系統(tǒng)的實現(xiàn)過程中使用以java語言為基礎的SpringMVC[9][10]框架,agent使用go[11]語言開發(fā),數(shù)據(jù)庫使用MySQL[12]。

2 主要功能模塊實現(xiàn)

2.1 引導安裝管理

引導安裝管理主要是收集服務器信息、配置RAID、引導安裝操作系統(tǒng)等,實現(xiàn)這些功能的基礎是可引導操作系統(tǒng)。可引導操作系統(tǒng)是一種基于內(nèi)存的操作系統(tǒng)。加載工作的基本原理。服務器上電→PXE網(wǎng)絡啟動→加載kernel→加載initrd→解壓rootfs→切換根文件系統(tǒng)→運行init進程→啟動服務→啟動登錄shell。通過這個流程可引導最小操作系統(tǒng)鏡像全部加載到內(nèi)存中,啟動了一個可用的操作系統(tǒng),而并不依賴磁盤設備。因此也就可以直接對服務器硬件進行操作,包括升級BIOS、修改RAID、配置OOB,以及對磁盤分區(qū)和創(chuàng)建文件系統(tǒng)等。

而且在內(nèi)存操作系統(tǒng)中內(nèi)置了Agent,Agent是控制采集信息、接口查詢、硬件配置、安裝操作系統(tǒng)等過程的核心,通過與Server端以接口方式進行交互完成部署任務。Agent工作流程如圖2所示。

圖2 Agent工作流程圖

(1)采集服務器信息

服務器信息采集是通過編寫的shell腳本在內(nèi)存操作系統(tǒng)上執(zhí)行來收集網(wǎng)卡、raid卡、廠商、內(nèi)存、磁盤等信息。以raid卡型號信息收集為例說明。lspci | grep SAS | sed ':a;N;!ba;s/ /\n/g' 。

采集腳本由Agent調用,并將采集的信息通過接口發(fā)送給Server端,這樣也完成了設備的自動發(fā)現(xiàn)。

(2)接口查詢

接口查詢是通過restful JSON api接口方式進行。以狀態(tài)查詢?yōu)槔珹gent查詢當前設備是否在安裝隊列里,通過http的POST方式發(fā)送json格式的數(shù)據(jù)到Server端。

Agent發(fā)送json格式數(shù)據(jù)詢問:

{ "Sn": "9XCE01" }

Server反饋結果json格式給Agent:

{

"Content":{ "Result":"true" },

"Message":"該設備在安裝隊列里",

"Status":"success"

}

2.2 硬件配置管理

服務器硬件配置主要包括對RAID、OOB以及BIOS的設置。如表1所示。

表1 廠商硬件配置工具

硬件的自動化配置包括。

(1)RAID。支持RAID 0、RAID 1、RAID 5、RAID 10等Raid卡策略

(2)OOB。支持用戶、密碼、網(wǎng)絡等初始化

(3)BIOS。支持VT、HT、NUMA、C-State、Turbo等配置

由表1可知,每個廠商提供的硬件配置工具不同,也給硬件的自動化配置提高了難度。為了能夠兼容更多的硬件設備配置,給每個設備廠商提供一套硬件配置腳本,支持RAID、OOB、BIOS的配置,并且封裝成rpm包。每個硬件配置有且只有一個入口腳本(如raid.sh、oob.sh、bios.sh),Agent會調用此腳本并接受傳遞的參數(shù)來進行硬件配置,每個入口腳本可以調用其他子腳本。除此之外Agent采集到廠商信息后會加載相應廠商腳本依賴的硬件配置工具包。

2.3 腳本管理

腳本管理是以軟件為管理單元,提供部署每款軟件所需一系列腳本的添加、刪除、下載、排序等操作,形成軟件腳本庫。以維護mysql部署腳本為例來說明,管理員首先創(chuàng)建一條mysql軟件記錄,再將mysql所需腳本上傳至服務器,以mysql記錄的唯一標識作為文件夾,存儲在服務器對應的路徑下。上傳腳本實現(xiàn)流程如圖3所示。

圖3 上傳腳本流程圖

系統(tǒng)前端使用layui的upload上傳腳本,控制器響應請求將腳本存入對應路徑下的根據(jù)所屬軟件唯一標識創(chuàng)建的文件夾,若在當前文件夾下文件存在,則覆蓋當前文件,始終保存最新的文件。當寫入成功時,控制器返回Success,頁面彈出提示框,顯示上傳成功,用戶可以通過預覽查看已經(jīng)上傳的腳本內(nèi)容。

2.4 任務管理

任務管理主要包括任務編輯、任務執(zhí)行和任務狀態(tài)監(jiān)控等。任務編輯將服務器對象與需要部署的軟件關聯(lián)形成實例化任務。任務執(zhí)行實質是批量腳本下發(fā)和執(zhí)行,首先連接目標服務器,連接成功后將腳本管理中存放軟件部署腳本的整個文件夾拷貝至目標服務器,賦予每個腳本執(zhí)行權限并依次執(zhí)行,實現(xiàn)腳本批量下發(fā)和執(zhí)行的流程如圖4所示。

圖4 腳本批量下發(fā)和執(zhí)行流程圖

其中,部署任務所需的安裝包也是通過腳本以http的方式自動下載的。任務狀態(tài)監(jiān)控是提供在任務執(zhí)行過程中跟蹤部署狀態(tài),展示給用戶安裝進度和日志信息。這些信息的收集是通過接口反饋給Server端。

3 系統(tǒng)應用

目前系統(tǒng)已建成并投入到機房運維管理中,是實現(xiàn)機房標準化、自動化管理的重要工具。應用結果表明,系統(tǒng)運行穩(wěn)定,功能齊全,能夠滿足機房日常部署工作需求。系統(tǒng)的推廣應用,減輕了運維人員的工作壓力,提高了運維管理的效率,提升了軟件部署的交付質量。軟件效果如圖5所示。

圖5 軟件效果圖

4 總結

通過介紹一種一鍵部署操作系統(tǒng)、數(shù)據(jù)庫、中間件等軟件的實現(xiàn)方案,對工具的總體設計及功能模塊的設計進行論述,并給出了可行的設計方案。從服務器上架到交付使用的過程自動化,實現(xiàn)了硬件配置到軟件安裝后的交付使用。隨著虛擬化技術的大規(guī)模使用,后期還會繼續(xù)擴展對虛擬資源的支持。系統(tǒng)各功能模塊相互獨立,有良好的擴展性,可以擴展腳本,將腳本進行維護編排形成任務,支持更多種類軟件的部署。

猜你喜歡
管理
棗前期管理再好,后期管不好,前功盡棄
《水利建設與管理》征訂啟事
聆聽兩會
——關注自然資源管理
2020年《水利建設與管理》征稿函
運行管理
管理就是溝通
中國制筆(2019年1期)2019-08-28 10:07:26
加強土木工程造價的控制與管理
如何加強土木工程造價的控制與管理
解秘眼健康管理
“這下管理創(chuàng)新了!等7則
雜文月刊(2016年1期)2016-02-11 10:35:51
主站蜘蛛池模板: 亚洲狼网站狼狼鲁亚洲下载| 精品国产香蕉伊思人在线| 国产亚洲视频播放9000| 国产高清不卡视频| 国产91小视频在线观看| 久久99国产视频| 国模视频一区二区| 久久91精品牛牛| 久久亚洲国产最新网站| 毛片久久久| 欧美a级完整在线观看| 亚洲午夜18| 欧美日韩在线亚洲国产人| 亚洲日韩精品伊甸| 免费观看男人免费桶女人视频| 久热中文字幕在线| 亚洲男人的天堂视频| 亚洲有码在线播放| 福利视频一区| 国产成人欧美| av在线无码浏览| 一级毛片中文字幕| 亚洲成人免费在线| 中文字幕精品一区二区三区视频| 偷拍久久网| 中文字幕精品一区二区三区视频| 成年片色大黄全免费网站久久| 成人午夜视频免费看欧美| 日本三级欧美三级| 亚洲日本一本dvd高清| 青草精品视频| 日韩a级毛片| 亚洲人成色77777在线观看| 国产成人综合在线观看| 91最新精品视频发布页| 久久亚洲国产一区二区| 动漫精品啪啪一区二区三区| 国产视频大全| 欧美特级AAAAAA视频免费观看| 97在线视频免费观看| www成人国产在线观看网站| 亚洲综合第一区| 欧美特级AAAAAA视频免费观看| 日韩毛片基地| 国产打屁股免费区网站| 波多野结衣一区二区三区四区 | 国产精品福利一区二区久久| 2021国产v亚洲v天堂无码| 午夜a视频| 精品国产一区91在线| 直接黄91麻豆网站| 五月婷婷综合在线视频| 国产高清在线精品一区二区三区| 国产成人av一区二区三区| 亚洲欧美综合在线观看| 成人亚洲视频| 亚洲国产精品不卡在线 | 99re视频在线| 久草中文网| 亚洲无码37.| 欧美国产在线看| 亚洲va视频| 亚洲av无码成人专区| 凹凸国产熟女精品视频| 91成人免费观看在线观看| 免费在线观看av| 日本免费新一区视频| 天堂成人av| 精品91自产拍在线| 国产综合精品日本亚洲777| 久久免费视频播放| 欧美综合区自拍亚洲综合天堂| 性视频久久| 999国内精品久久免费视频| V一区无码内射国产| 日韩天堂网| 国产AV无码专区亚洲精品网站| 精品久久人人爽人人玩人人妻| h视频在线播放| 久久亚洲综合伊人| 波多野结衣在线se| 国产浮力第一页永久地址 |