云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎的制作方法
【專利說明】云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎
[0001 ] 背景
[0002] 隨著數(shù)據(jù)中心設(shè)備的數(shù)量增多,云基礎(chǔ)結(jié)構(gòu)和服務(wù)的硬件和軟件的部署變得越來 越復(fù)雜化。當(dāng)將跨許多物理和虛擬機(jī)安裝和配置操作系統(tǒng)和軟件組件時(shí),數(shù)據(jù)中心操作員 可能很難檢測(cè)何時(shí)許多組件中的一者或多者發(fā)生故障、標(biāo)識(shí)哪些組件已發(fā)生了故障并分析 故障以確定合適的解決辦法。
[0003] 通常,現(xiàn)有的數(shù)據(jù)中心組件展示并不綁定在一起并且跨多個(gè)服務(wù)器或操作系統(tǒng)實(shí) 例不好使的多個(gè)錯(cuò)誤檢測(cè)機(jī)制。結(jié)果,在當(dāng)前配置中,由操作員負(fù)責(zé)以人工方式來使多個(gè)系 統(tǒng)和/或設(shè)備上的錯(cuò)誤日志和事件相關(guān)并對(duì)其進(jìn)行解釋以診斷故障??绱罅康臄?shù)據(jù)中心設(shè) 備和分布式服務(wù)標(biāo)識(shí)時(shí)間依賴的或瞬時(shí)問題的源(諸如臨時(shí)網(wǎng)絡(luò)假信號(hào)、安全入侵、部署故 障等等)可能特別困難。當(dāng)數(shù)據(jù)中心服務(wù)提供商配置它們的云服務(wù)時(shí),可花數(shù)天或數(shù)周才能 成功地安裝服務(wù)。
[0004] 概述
[0005] 提供概述是為了以精簡(jiǎn)的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。 本概述并不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求 保護(hù)的主題的范圍。
[0006] 云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎可通過自動(dòng)化安裝確認(rèn)和故障診斷來使數(shù)據(jù)中心或云 服務(wù)被快速地安裝。另外,確認(rèn)引擎可用于通過故意的錯(cuò)誤注入并觀察故障轉(zhuǎn)移操作來驗(yàn) 證災(zāi)難恢復(fù)和備份操作。
[0007] 云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎向作者提供通用可插入、靈活并且可擴(kuò)展的框架,并執(zhí) 行狀態(tài)確認(rèn)器、診斷操作以及補(bǔ)救動(dòng)作。云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)器消耗來自安裝日志文件的 數(shù)據(jù)以及安裝、配置和操作期間的實(shí)時(shí)事件。確認(rèn)器查詢組件及相關(guān)的事件以確定當(dāng)前執(zhí) 行狀態(tài)、連接性、錯(cuò)誤狀態(tài)、系統(tǒng)入侵或符合性問題。如果確認(rèn)器不滿足預(yù)定的條件,則可以 自動(dòng)地調(diào)用診斷操作以診斷該系統(tǒng)并潛在地使該系統(tǒng)自我修復(fù)或向操作員提供解決的指 導(dǎo)。
[0008] 本發(fā)明的各實(shí)施例提供一組確認(rèn)器,這些確認(rèn)器可以被用來確定安裝是否在期望 的參數(shù)內(nèi)操作并符合任何要求??梢越o確認(rèn)器提供例如軟件應(yīng)用程序或版本,并且確認(rèn)器 可以在安裝期間和/或安裝之后運(yùn)行以測(cè)試應(yīng)用操作。當(dāng)確認(rèn)器檢測(cè)到錯(cuò)誤時(shí),可以觸發(fā)一 組自我修復(fù)操作。這可使軟件應(yīng)用程序自動(dòng)診斷并自動(dòng)自我修復(fù)任何檢測(cè)到的錯(cuò)誤。
[0009]確認(rèn)器消耗將服務(wù)器與角色鏈接并標(biāo)識(shí)特定確認(rèn)器想要確認(rèn)哪個(gè)角色的圖。例 如,可以將SQL Server?角色映射到物理機(jī),并且確認(rèn)器可以確認(rèn)對(duì)跨越多個(gè)服務(wù)器節(jié)點(diǎn)的 高度可用的SQL Server?集群的成功配置。
[0010] 單一角色可以要求多個(gè)確認(rèn)器。使用清單來描述這些確認(rèn)器之間的依賴關(guān)系。當(dāng) 確認(rèn)單一角色時(shí),測(cè)試管理器知道要調(diào)用哪些確認(rèn)器以及它們之間存在什么依賴關(guān)系(例 如,如果確認(rèn)器A成功,則只調(diào)用確認(rèn)器B,而確認(rèn)器C、D和E可以全部都并行運(yùn)行,且它們之 間沒有交叉依賴關(guān)系)。角色清單還描述需要經(jīng)由日志聚集器聚集哪些日志。
[0011] 當(dāng)確認(rèn)器返回錯(cuò)誤或警告時(shí),測(cè)試管理器可以具有適當(dāng)?shù)膶⒃\斷器與特定確認(rèn)器 相關(guān)聯(lián)的依賴關(guān)系。診斷器可以解析與正被確認(rèn)的服務(wù)器角色相關(guān)聯(lián)的經(jīng)聚集的日志文件 (例如,SQL Server?安裝日志文件、集群中的各服務(wù)器節(jié)點(diǎn)的事件日志等)。診斷器可以搜 索已知的設(shè)置錯(cuò)誤字符串或特定的事件,以及使用事件日志中的時(shí)間戳來確定各錯(cuò)誤之間 的依賴關(guān)系(例如,對(duì)節(jié)點(diǎn)X的設(shè)置失敗觸發(fā)在節(jié)點(diǎn)Y和Z上引起的跨集群事件)。
[0012] 在某些情況下,診斷器可能能夠調(diào)用解決器(例如,通過重試特定操作的自我修 復(fù)、強(qiáng)制更新特定網(wǎng)絡(luò)設(shè)置等等),此后重新調(diào)用原始確認(rèn)器將以確認(rèn)所提供的解決方案實(shí) 際上解決了該問題。在自我修復(fù)不可能的情況下,診斷器可以提供指向在線幫助文檔、對(duì)特 定錯(cuò)誤代碼的解決方案或類似于FAQ解決方案的指針(例如,"在發(fā)生X的情況下,嘗試進(jìn)行 Y,,)。
[0013] 附圖簡(jiǎn)述
[0014] 為進(jìn)一步闡明本發(fā)明的各實(shí)施例的上述及其他優(yōu)點(diǎn)和特征,將參考附圖,呈現(xiàn)對(duì) 本發(fā)明的各實(shí)施例的更具體的描述。應(yīng)該理解,這些附圖只描述了本發(fā)明的典型的實(shí)施例, 因此,不應(yīng)該被視為限制本發(fā)明的范圍。將通過使用附圖并利用附加特征和細(xì)節(jié)來描述和 解釋本發(fā)明,在附圖中:
[0015] 圖1是示出根據(jù)一個(gè)實(shí)施例的云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎過程的流程圖。
[0016]圖2是支持云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)框架的云管理框架的框圖。
[0017] 圖3是示出一個(gè)實(shí)施例中的用于確認(rèn)監(jiān)視角色的確認(rèn)器的分層結(jié)構(gòu)的流程圖。
[0018] 圖4是根據(jù)一個(gè)實(shí)施例的云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎的內(nèi)部組件組織的框圖。
[0019]圖5示出根據(jù)一個(gè)實(shí)施例的云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎中的各層之間的控制流和通 {目。
[0020] 詳細(xì)描述
[0021] 提供插件確認(rèn)器、診斷器以及解決器的可擴(kuò)展框架可以跨數(shù)據(jù)中心設(shè)備的多個(gè)物 理和虛擬實(shí)例(例如,服務(wù)器硬件、網(wǎng)絡(luò)交換機(jī)等等)和操作系統(tǒng)運(yùn)行,以幫助查找、診斷和 解決與云基礎(chǔ)結(jié)構(gòu)和服務(wù)的安裝、配置以及操作有關(guān)的問題。
[0022] 例如,確認(rèn)器可以與產(chǎn)品或軟件應(yīng)用一起被發(fā)布。確認(rèn)器確保應(yīng)用正確地運(yùn)行,并 在檢測(cè)到故障時(shí)警告操作員。確認(rèn)器可以由應(yīng)用自動(dòng)地運(yùn)行或可以由操作員觸發(fā)。確認(rèn)器 可被用來在特定時(shí)間驗(yàn)證操作,或它們可以在后臺(tái)運(yùn)行,偶爾"蘇醒過來"以測(cè)試應(yīng)用。在檢 測(cè)到故障之際,確認(rèn)器可以觸發(fā)額外的確認(rèn)器以標(biāo)識(shí)故障的源和/或范圍。確認(rèn)器可以試圖 通過重新配置或重新安裝代碼來自我修復(fù)該故障。替換地,確認(rèn)器可以向操作員提供智能 指令,諸如提供要執(zhí)行以修復(fù)問題的步驟列表或標(biāo)識(shí)描述問題和潛在的解決方案的額外的 信息源(例如,網(wǎng)頁(yè)、文本文件、FAQ、安裝文檔等等)。
[0023]云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎是高度分布式和集成的,以提供拓?fù)渲獣缘目缦到y(tǒng)確認(rèn) (即,跨不同的服務(wù)器、虛擬機(jī)和機(jī)架)、虛擬實(shí)例及其他數(shù)據(jù)中心設(shè)備。通過使用自動(dòng)化超 時(shí)和重試,云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎能夠運(yùn)行每一個(gè)體確認(rèn)器,直到完成(即,成功或失?。?被報(bào)告。
[0024]云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎允許分層執(zhí)行以管理組件之間的依賴關(guān)系和多個(gè)獨(dú)立 代碼路徑的并行執(zhí)行。云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎消耗實(shí)時(shí)事件,并基于多個(gè)輸入來修改其 行為。
[0025]在檢測(cè)到故障之際,云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎啟用對(duì)配置的自我修復(fù),例如通過 觸發(fā)解決器或動(dòng)態(tài)網(wǎng)絡(luò)重新配置或通過向操作員提供指令和信息來啟用對(duì)配置的自我修 復(fù)。
[0026] 云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎可以使用前提條件和后續(xù)條件與期望的狀態(tài)配置集成, 以確保安裝的成功完成。另外,云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎支持事件(例如,錯(cuò)誤)注入,以執(zhí) 行完全配置的解決方案的恢復(fù)。
[0027] 可以以XML腳本、Windows PowerSheil?、Visual Basic?、C#,或任何.NET支持的 語(yǔ)言來編寫確認(rèn)器、診斷器及解決器。確認(rèn)器可以是標(biāo)識(shí)可用來確認(rèn)物理機(jī)或虛擬機(jī)、服務(wù) 器或設(shè)備上的角色或軟件應(yīng)用的操作的操作或測(cè)試的腳本、軟件應(yīng)用或代碼。診斷器可以 是標(biāo)識(shí)可以被用來在確認(rèn)器指示故障時(shí)標(biāo)識(shí)問題的源的診斷、操作或測(cè)試的腳本、軟件應(yīng) 用或代碼。解決器可以是標(biāo)識(shí)診斷器所標(biāo)識(shí)的問題的潛在解決方案的腳本、軟件應(yīng)用或代 碼。
[0028]圖1是示出了根據(jù)一個(gè)實(shí)施例的云部署基礎(chǔ)結(jié)構(gòu)確認(rèn)引擎過程的流程圖。在步驟 101中,調(diào)用角色確認(rèn)過程。在步驟102中,分析角色確認(rèn)的