建立硬件清單的初始配置的制作方法
【專利摘要】提供了用于自動(dòng)地配置硬件清單以無縫地與數(shù)據(jù)中心進(jìn)行交互的方法、系統(tǒng)和計(jì)算機(jī)可讀介質(zhì)。初始地,從用戶收集顧客專用規(guī)范,這些顧客專用規(guī)范自動(dòng)地用平臺(tái)專用規(guī)范來補(bǔ)充。這些規(guī)范被用于從一組預(yù)先定義的硬件群集中選擇硬件清單,其中預(yù)先定義的硬件群集中的每一個(gè)表示已經(jīng)被證明為一致地運(yùn)作的硬件資產(chǎn)和邏輯資產(chǎn)的兼容配置。從保持在描述所選硬件清單的庫存單元(SKU)中的數(shù)據(jù)得到群集配置文件。用用作針對(duì)目前未知的預(yù)期值的占位符的抽象符號(hào)表示來填充群集配置文件。通過抽象符號(hào)表示到具體值的自動(dòng)轉(zhuǎn)換來分配網(wǎng)絡(luò)資源。群集配置文件與數(shù)據(jù)中心清單的先前版本合并來創(chuàng)建數(shù)據(jù)中心清單的經(jīng)更新的版本。
【專利說明】建立硬件清單的初始配置
[0001]背景
[0002]一般而言,分布式服務(wù)應(yīng)用被主存(host)在云計(jì)算網(wǎng)絡(luò)中(跨多個(gè)節(jié)點(diǎn)),且主要是為了通過服務(wù)一應(yīng)用組件的冗余性、動(dòng)態(tài)可縮放性以及自動(dòng)復(fù)原功能來促進(jìn)高可用性。這些服務(wù)應(yīng)用通常被劃分成多個(gè)部分,這多個(gè)部分包括一組服務(wù)一應(yīng)用組件。這些服務(wù)一應(yīng)用組件可在一個(gè)或多個(gè)數(shù)據(jù)中心的節(jié)點(diǎn)(例如,物理機(jī)和虛擬機(jī))中主存。通常,存在以下需要:創(chuàng)建或擴(kuò)展這些數(shù)據(jù)中心的計(jì)算/存儲(chǔ)能力以適應(yīng)服務(wù)應(yīng)用的使用需要并幫助確保整個(gè)服務(wù)應(yīng)用不會(huì)由于缺乏來自底層硬件的支持而變得不可用。
[0003]數(shù)據(jù)中心的擴(kuò)展可涉及各個(gè)情況,諸如配置新的一組硬件或重新配置現(xiàn)有的一組硬件來與數(shù)據(jù)中心內(nèi)現(xiàn)有的節(jié)點(diǎn)協(xié)同操作。在一個(gè)示例中,新的一組機(jī)架(每個(gè)機(jī)架都適應(yīng)多個(gè)刀片)可被定為用于集成到與數(shù)據(jù)中心節(jié)點(diǎn)互連的結(jié)構(gòu)(fabric)中的目標(biāo)。該結(jié)構(gòu)幫助確??绗F(xiàn)有節(jié)點(diǎn)分布的服務(wù)一應(yīng)用組件和新添加的硬件(諸如機(jī)架、網(wǎng)絡(luò)設(shè)備(L2/3交換機(jī)、路由器、負(fù)載平衡器)、功率和串行設(shè)備以及刀片)能夠交互,就好像每個(gè)服務(wù)應(yīng)用在其自己獨(dú)立的計(jì)算設(shè)備上運(yùn)行。
[0004]當(dāng)進(jìn)行數(shù)據(jù)中心的擴(kuò)展時(shí),將該新的一組硬件集成到該結(jié)構(gòu)中的步驟當(dāng)前是手動(dòng)進(jìn)行的。這些手動(dòng)進(jìn)行的步驟通常是耗時(shí)、低效的且在結(jié)果方面是不一致的,由此,可能導(dǎo)致服務(wù)在該結(jié)構(gòu)中中斷。因此,擴(kuò)建一組指定的硬件以供部署到結(jié)構(gòu)中的自動(dòng)化的端對(duì)端過程將幫助實(shí)現(xiàn)高效的、穩(wěn)健的且可縮放的框架以供擴(kuò)展數(shù)據(jù)中心的計(jì)算/存儲(chǔ)能力。
[0005]概述
[0006]提供本概述是為了以簡化的形式介紹將在以下【具體實(shí)施方式】中進(jìn)一步描述的概念。本概述不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
[0007]本發(fā)明的各實(shí)施例涉及用于實(shí)現(xiàn)自動(dòng)化的引導(dǎo)進(jìn)程的系統(tǒng)、方法和計(jì)算機(jī)存儲(chǔ)介質(zhì),該引導(dǎo)進(jìn)程驗(yàn)證未被配置的硬件的清單的物理拓?fù)浣Y(jié)構(gòu)并將硬件清單集成/部署為數(shù)據(jù)中心的云計(jì)算結(jié)構(gòu)內(nèi)的結(jié)構(gòu)計(jì)算群集(FCC)。在其中實(shí)現(xiàn)引導(dǎo)進(jìn)程的自動(dòng)化的方式避免從手動(dòng)執(zhí)行的用于重新配置數(shù)據(jù)中心或?qū)⒛芰μ砑拥綌?shù)據(jù)中心的過程所引起的有問題的影響(以上討論的)。因此,在本發(fā)明的各實(shí)施例中,自動(dòng)化的引導(dǎo)進(jìn)程使得能夠擴(kuò)建硬件清單并將其以一致且高效的方式合并到云計(jì)算結(jié)構(gòu)中。
[0008]一般而言,在接收到創(chuàng)建或擴(kuò)展數(shù)據(jù)中心的計(jì)算/存儲(chǔ)能力的指示之際觸發(fā)引導(dǎo)進(jìn)程。在各實(shí)施例中,數(shù)據(jù)中心包括多個(gè)節(jié)點(diǎn)(例如,物理機(jī)或虛擬機(jī))、網(wǎng)絡(luò)設(shè)備、串行設(shè)備、功率設(shè)備以及可經(jīng)由云計(jì)算結(jié)構(gòu)操作地互連和管理的其他裝置。結(jié)構(gòu)提供對(duì)遍及數(shù)據(jù)中心內(nèi)分布的服務(wù)應(yīng)用的底層支持。尤其,可通過結(jié)構(gòu)的控制器來管理在節(jié)點(diǎn)中遍及分布的這些服務(wù)應(yīng)用的各部分(例如,角色實(shí)例或程序組件)。結(jié)構(gòu)控制器一般負(fù)責(zé)圍繞以下的各種職責(zé):監(jiān)視、維護(hù)和管理計(jì)算機(jī)資源、網(wǎng)絡(luò)設(shè)備、串行設(shè)備和支持結(jié)構(gòu)的底層功能性的功率單元的健康。
[0009]在一示例性實(shí)施例中,引導(dǎo)進(jìn)程在被事件(例如,對(duì)于擴(kuò)展數(shù)據(jù)中心的能力的調(diào)用)觸發(fā)之際在獨(dú)立的階段中執(zhí)行。這些階段分別通過執(zhí)行自包含工作流來實(shí)現(xiàn)并一般地在圖2處描繪。初始地,可進(jìn)行共同創(chuàng)作階段來指定硬件清單的初始設(shè)置。這個(gè)階段涉及用于實(shí)現(xiàn)以下過程中的一個(gè)或多個(gè)的工作流:接收指定在顧客的場所上要求的附加能力的顧客的依賴性方案;標(biāo)識(shí)滿足該依賴性方案的硬件;與顧客對(duì)接以收集用于配置所標(biāo)識(shí)的硬件的值;從值中生成符號(hào)表示;在遞送硬件之際使用該符號(hào)表示來確認(rèn)配置;以及準(zhǔn)備記錄拓?fù)浣Y(jié)構(gòu)的布局的模板文件。
[0010]在準(zhǔn)備模板文件之際,涉及網(wǎng)絡(luò)設(shè)備和硬件設(shè)備的發(fā)現(xiàn)和確認(rèn)的階段可開始。用于為這些設(shè)備中的每一個(gè)執(zhí)行發(fā)現(xiàn)和確認(rèn)的工作流一般涉及經(jīng)由基于網(wǎng)絡(luò)的連接和/或基于串行的連接與網(wǎng)絡(luò)設(shè)備通信以發(fā)現(xiàn)圍繞硬件設(shè)備的物理拓?fù)浣Y(jié)構(gòu)(例如,機(jī)架間位置和接線安排)的用戶設(shè)備。這些用戶設(shè)備可針對(duì)模板文件來交叉參考所發(fā)現(xiàn)的物理拓?fù)浣Y(jié)構(gòu)以便確認(rèn)硬件設(shè)備。一旦拓?fù)浣Y(jié)構(gòu)物理/邏輯配置被完整地生成,對(duì)新的結(jié)構(gòu)實(shí)例的部署或?qū)ΜF(xiàn)有結(jié)構(gòu)實(shí)例的擴(kuò)展可開始。
[0011]接著,用戶設(shè)備可發(fā)起與數(shù)據(jù)中心的云計(jì)算結(jié)構(gòu)的通信以實(shí)現(xiàn)將數(shù)據(jù)中心的結(jié)構(gòu)內(nèi)的硬件清單部署為結(jié)構(gòu)計(jì)算群集(FCC)并對(duì)FCC提供安全性的階段。這些階段涉及支持設(shè)置硬件群集來與資源和數(shù)據(jù)中心內(nèi)的現(xiàn)有硬件進(jìn)行交互的各個(gè)工作流。此外,這些工作流可包括以下步驟:在驗(yàn)證硬件清單的物理拓?fù)浣Y(jié)構(gòu)之際從收集的信息中準(zhǔn)備基礎(chǔ)結(jié)構(gòu)狀態(tài);通過將基礎(chǔ)結(jié)構(gòu)狀態(tài)與結(jié)構(gòu)控制器共享來將硬件清單集成到數(shù)據(jù)中心的結(jié)構(gòu)中;在硬件清單內(nèi)部署在結(jié)構(gòu)上運(yùn)行的服務(wù);以及將硬件清單指定為數(shù)據(jù)中心FCC。因此,當(dāng)接連實(shí)現(xiàn)時(shí),引導(dǎo)進(jìn)程的這些階段推動(dòng)用于擴(kuò)建硬件清單和用于將硬件清單集成到數(shù)據(jù)中心的結(jié)構(gòu)內(nèi)的端對(duì)端自動(dòng)化。該端對(duì)端自動(dòng)化可進(jìn)一步在數(shù)據(jù)中心內(nèi)預(yù)先建立的硬件清單內(nèi)(例如,將現(xiàn)有的FCC重新配置為表示數(shù)據(jù)中心內(nèi)新的FCC實(shí)例)或在對(duì)于數(shù)據(jù)中心而言外部的站點(diǎn)處(例如,將遠(yuǎn)程硬件清單集成為數(shù)據(jù)中心內(nèi)新的FCC實(shí)例)實(shí)現(xiàn)高效、穩(wěn)健和可縮放的框架。
[0012]附圖簡要說明
[0013]以下參考附圖詳細(xì)描述本發(fā)明的實(shí)施例,附圖中:
[0014]圖1是適用于在實(shí)現(xiàn)本發(fā)明的各實(shí)施例時(shí)使用的示例性計(jì)算環(huán)境的框圖;
[0015]圖2是顯示根據(jù)本發(fā)明的一實(shí)施例的用于將硬件清單合并到數(shù)據(jù)中心的云計(jì)算結(jié)構(gòu)中的引導(dǎo)進(jìn)程的示例性階段的流程圖;
[0016]圖3是示出用于共同創(chuàng)作硬件清單的拓?fù)浣Y(jié)構(gòu)的示例性系統(tǒng)體系結(jié)構(gòu)的圖示,該系統(tǒng)體系結(jié)構(gòu)適合在實(shí)現(xiàn)本申請(qǐng)的各實(shí)施例中使用;
[0017]圖4A和4B描繪了示出用于根據(jù)本申請(qǐng)的一實(shí)施例來建立硬件清單的初始配置的技術(shù)的概覽的可操作流程圖;
[0018]圖5是顯示根據(jù)本發(fā)明的一實(shí)施例的用于從顧客的規(guī)范中選擇硬件清單的總體方法的流程圖;以及
[0019]圖6是根據(jù)本發(fā)明的一實(shí)施例的示出用于確定硬件清單的初始拓?fù)浣Y(jié)構(gòu)的總體方法的流程圖。
【具體實(shí)施方式】
[0020]本文中用細(xì)節(jié)來描述本發(fā)明各實(shí)施例的主題以滿足法定要求。然而,該描述本身并非旨在限制本專利的范圍。相反,發(fā)明人已設(shè)想所要求保護(hù)的主題還可結(jié)合其它當(dāng)前或未來技術(shù)以其它方式來實(shí)施,以包括不同的步驟或類似于本文中所描述的步驟的步驟組口 O
[0021]一般而言,本發(fā)明的各實(shí)施例介紹了在云計(jì)算結(jié)構(gòu)中用于通過采用引導(dǎo)進(jìn)程來自動(dòng)地將未細(xì)化的一組硬件或硬件清單與數(shù)據(jù)中心合并的技術(shù)。如在此使用的,短語“硬件清單”不旨在限制到任何特定的組件配置,而是泛指可最終被集成到結(jié)構(gòu)中的任何設(shè)備匯編(例如,網(wǎng)絡(luò)設(shè)備、計(jì)算設(shè)備、以及電源設(shè)備)。在一個(gè)實(shí)例中,硬件清單可位于由云計(jì)算網(wǎng)絡(luò)服務(wù)提供商的顧客管理的私有企業(yè)網(wǎng)絡(luò)中,其中將引導(dǎo)進(jìn)程實(shí)現(xiàn)為這種類型的硬件清單上的裝置允許數(shù)據(jù)中心和私有企業(yè)網(wǎng)絡(luò)之間的遠(yuǎn)程可到達(dá)性。在另一實(shí)例中,硬件清單可位于由云計(jì)算網(wǎng)絡(luò)服務(wù)提供商管理的數(shù)據(jù)中心內(nèi),其中實(shí)現(xiàn)引導(dǎo)進(jìn)程允許擴(kuò)建數(shù)據(jù)中心的本地存儲(chǔ)/計(jì)算能力。
[0022]如將在以下更完整描述的,引導(dǎo)進(jìn)程使用一個(gè)或多個(gè)工作流引擎來特征化端對(duì)端自動(dòng)化,該一個(gè)或多個(gè)工作流引擎驅(qū)動(dòng)對(duì)包括引導(dǎo)進(jìn)程的各個(gè)階段的編排和執(zhí)行。在各實(shí)施例中,這些階段可被實(shí)現(xiàn)為獨(dú)立的工作流,使得每個(gè)階段可被分開地調(diào)用和驅(qū)動(dòng)來完成,而無需依賴另一階段或工作流的并發(fā)操作。通過允許各階段以自包含形式來獨(dú)立地實(shí)現(xiàn),每個(gè)階段一致地將遞增的改進(jìn)遞送到硬件清單,而沒有對(duì)先前或后續(xù)工作流的任何不利交互。
[0023]在本發(fā)明的一個(gè)方面,提供了計(jì)算機(jī)可讀介質(zhì),其中計(jì)算機(jī)可讀介質(zhì)包括具體化在其上的計(jì)算機(jī)可執(zhí)行指令,當(dāng)被執(zhí)行時(shí),計(jì)算機(jī)可執(zhí)行指令執(zhí)行用于從顧客的規(guī)范中選擇硬件清單的方法。在各實(shí)施例中,方法涉及接收描述附加的存儲(chǔ)或計(jì)算能力以供顧客使用的依賴性方案。典型地,依賴性方案指定用于征用附加能力的邏輯制品和設(shè)備參數(shù)。該方法可進(jìn)一步涉及部分基于在依賴性方案內(nèi)接收到的信息來自動(dòng)地從一組庫存單元(SKU)中進(jìn)行選擇。在一個(gè)實(shí)例中,SKU分別標(biāo)識(shí)能夠被集成在云計(jì)算網(wǎng)絡(luò)內(nèi)的預(yù)先定義的硬件群集。
[0024]在各實(shí)施例中,自動(dòng)地從一組SKU中選擇合適的SKU的處理至少包括以下步驟:使用邏輯制品來指定被預(yù)先定義的硬件群集中的一個(gè)或多個(gè)支持的網(wǎng)絡(luò)配置;以及使用設(shè)備參數(shù)來指定被包括在預(yù)先定義的硬件群集內(nèi)的網(wǎng)絡(luò)資源。自動(dòng)地選擇合適的SKU的過程可進(jìn)一步包括從該組SKU中挑選合適的SKU的步驟,其中合適的SKU 一般從預(yù)先定義的硬件群集中標(biāo)識(shí)硬件清單。在操作中,硬件清單被裝備來支持指定的網(wǎng)絡(luò)配置并包括指定的網(wǎng)絡(luò)資源。
[0025]在其他實(shí)施例中,方法被設(shè)計(jì)成從SKU中得到群集配置文件,其中群集配置文件包括向擴(kuò)建操作者征求反饋的抽象符號(hào)表示。在從擴(kuò)建操作者征求反饋后,在服務(wù)提供者處接收到針對(duì)抽象符號(hào)表示的反饋。典型地,反饋包括網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值。接著,群集配置文件可通過將網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值與其合并來更新。在功能上,經(jīng)更新的群集配置文件被用來確認(rèn)所標(biāo)識(shí)的硬件清單。
[0026]在本發(fā)明的進(jìn)一步的方面,可通過一個(gè)或多個(gè)處理設(shè)備來實(shí)現(xiàn)用于確定硬件清單的拓?fù)浣Y(jié)構(gòu)的計(jì)算化的方法。初始地,計(jì)算機(jī)化的方法涉及訪問規(guī)范以從一組預(yù)先定義的硬件群集中選擇硬件清單。典型地,規(guī)范部分基于用戶手動(dòng)提交的偏好并且部分基于從手動(dòng)提交的偏好中自動(dòng)得到的系統(tǒng)特征。群集配置文件可根據(jù)手動(dòng)提交的偏好結(jié)合自動(dòng)得到的系統(tǒng)特征來生成。
[0027]計(jì)算機(jī)化的方法可進(jìn)一步涉及使用群集配置文件來從用戶請(qǐng)求網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值以及生成描述硬件清單的拓?fù)浣Y(jié)構(gòu)的模板文件的步驟。在一個(gè)實(shí)例中,從網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值結(jié)合從群集配置文件中讀取的信息中生成模板文件。典型地,生成模板文件包括采用命名約定映射來將網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值轉(zhuǎn)換成虛擬局域網(wǎng)(VLAN)內(nèi)組件的具體標(biāo)識(shí)符。如在此使用的,短語“命名約定映射”一般表示用于維護(hù)和/或訪問網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值和VLAN內(nèi)組件的具體標(biāo)識(shí)符之間的關(guān)聯(lián)的工具。在操作中,模板文件可被用于分配硬件資產(chǎn)和邏輯資產(chǎn)以供配置硬件清單。
[0028]一旦硬件資產(chǎn)和邏輯資產(chǎn)被分配來配置硬件清單,計(jì)算機(jī)化的方法就可進(jìn)一步涉及使用模板文件來驗(yàn)證所分配的硬件資產(chǎn)和所分配的邏輯資產(chǎn)的身份/配置。在特定實(shí)施例中,驗(yàn)證資產(chǎn)的過程包括將IP地址范圍分配到邏輯資產(chǎn),并用所分配的IP地址范圍對(duì)硬件資產(chǎn)進(jìn)行編程。在其他實(shí)施例中,計(jì)算化的方法還可涉及使用模板文件來進(jìn)行對(duì)硬件清單的發(fā)現(xiàn)。一般而言,如以下更加詳細(xì)討論的,進(jìn)行發(fā)現(xiàn)包括標(biāo)識(shí)被提供到硬件資產(chǎn)和邏輯資產(chǎn)的MAC地址以及用所標(biāo)識(shí)的MAC地址來更新模板文件。
[0029]在本發(fā)明的另一方面,計(jì)算機(jī)系統(tǒng)被提供來執(zhí)行從各個(gè)規(guī)范中建立硬件清單的方法。計(jì)算機(jī)系統(tǒng)包括耦合到計(jì)算機(jī)存儲(chǔ)介質(zhì)的一個(gè)或多個(gè)服務(wù)器,其中計(jì)算機(jī)存儲(chǔ)介質(zhì)包括多個(gè)可由服務(wù)器執(zhí)行的計(jì)算機(jī)軟件組件。初始地,計(jì)算機(jī)軟件組件包括至少第一擴(kuò)建機(jī)制和第二擴(kuò)建機(jī)制。第一擴(kuò)建機(jī)制被配置成使用外部貢獻(xiàn)的顧客指定的規(guī)范以及部分地基于顧客指定的規(guī)范來內(nèi)部生成的平臺(tái)專用規(guī)范來生成群集配置文件。
[0030]在一示例性實(shí)施例中,生成群集配置文件的過程包括:使用顧客指定的規(guī)范和平臺(tái)專用規(guī)范來從一組預(yù)先定義的硬件群集中選擇硬件清單;從描述所選硬件清單的SKU內(nèi)保持的數(shù)據(jù)中得到群集配置文件;并且用用作針對(duì)缺失的預(yù)期值的占位符的抽象符號(hào)表示來填充群集配置文件。在操作中,抽象符號(hào)表示用作向顧客征求網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值。第二擴(kuò)建機(jī)制通過使用命名約定映射來將網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值轉(zhuǎn)換成VLAN內(nèi)組件的具體標(biāo)識(shí)符來生成模板文件。并且,擴(kuò)建機(jī)制可使用網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值和從群集配置文件中提取的信息來生成模板文件。
[0031]在簡要描述了本發(fā)明的各實(shí)施例的概覽后,以下描述適于實(shí)現(xiàn)本發(fā)明的各實(shí)施例的示例性操作環(huán)境。
[0032]操作環(huán)境
[0033]首先具體參考圖1,示出了用于實(shí)現(xiàn)本發(fā)明的各實(shí)施方式的示例性操作環(huán)境,并將其概括地指定為計(jì)算設(shè)備100。計(jì)算設(shè)備100只是合適的計(jì)算環(huán)境的一個(gè)示例,并且不旨在對(duì)本發(fā)明的使用范圍或功能提出任何限制。也不應(yīng)該將計(jì)算設(shè)備100解釋為對(duì)所示出的任一組件或其組合有任何依賴性或要求。
[0034]本發(fā)明可以在由計(jì)算機(jī)或諸如個(gè)人數(shù)據(jù)助理或其他手持式設(shè)備之類的其他機(jī)器執(zhí)行的計(jì)算機(jī)代碼或機(jī)器可使用指令(包括諸如程序模塊之類的計(jì)算機(jī)可執(zhí)行指令)的一般上下文中描述。一般而言,包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等的程序模塊是指執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的代碼。本發(fā)明可以在各種系統(tǒng)配置中實(shí)施,這些系統(tǒng)配置包括手持式設(shè)備、消費(fèi)電子產(chǎn)品、通用計(jì)算機(jī)、專用計(jì)算設(shè)備等等。本發(fā)明也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)施。
[0035]參考圖1,計(jì)算設(shè)備100包括直接或間接耦合以下設(shè)備的總線110:存儲(chǔ)器112、一個(gè)或多個(gè)處理器114、一個(gè)或多個(gè)呈現(xiàn)組件116、輸入/輸出(I/O)端口 118、輸入/輸出組件120、和說明性電源122??偩€110表示可以是一條或多條總線(諸如地址總線、數(shù)據(jù)總線、或其組合)。雖然為了清楚起見利用線條示出了圖1的各框,但是實(shí)際上,各組件的輪廓并不是那樣清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。例如,可以將諸如顯示設(shè)備等呈現(xiàn)組件認(rèn)為是I/O組件。而且,處理器也具有存儲(chǔ)器。發(fā)明人認(rèn)識(shí)到這是本領(lǐng)域的特性,并重申,圖1的圖示只是例示可以結(jié)合本發(fā)明的一個(gè)或多個(gè)實(shí)施方式來使用的示例性計(jì)算設(shè)備。諸如“工作站”、“服務(wù)器”、“膝上型計(jì)算機(jī)”、“手持式設(shè)備”等分類之間沒有區(qū)別,它們?nèi)慷急徽J(rèn)為是在圖1的范圍之內(nèi)的并且被稱為“計(jì)算設(shè)備”。
[0036]計(jì)算設(shè)備100通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是可由計(jì)算設(shè)備100訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、EEPR0M、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備、或能用于存儲(chǔ)所需信息且可以由計(jì)算設(shè)備100訪問的任何其它介質(zhì)。通信介質(zhì)一般將計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)包含在經(jīng)調(diào)制的數(shù)據(jù)信號(hào)中,諸如載波或其它傳輸介質(zhì)并且包括任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”是指使得以在信號(hào)中編碼信息的方式來設(shè)置或改變其一個(gè)或多個(gè)特性的信號(hào)。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線路連接,以及無線介質(zhì),諸如聲學(xué)、RF、紅外線和其他無線介質(zhì)。上述的任意組合也應(yīng)包含在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
[0037]存儲(chǔ)器112包括易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì)。存儲(chǔ)器可以是可移動(dòng)的、不可移動(dòng)的、或其組合。示例性硬件設(shè)備包括固態(tài)存儲(chǔ)器、硬盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器等。計(jì)算設(shè)備100包括從諸如存儲(chǔ)器112或I/O組件120等各種實(shí)體讀取數(shù)據(jù)的一個(gè)或多個(gè)處理器。呈現(xiàn)組件116向用戶或其他設(shè)備呈現(xiàn)數(shù)據(jù)指示。示例性呈現(xiàn)組件包括顯示設(shè)備、揚(yáng)聲器、打印組件、振動(dòng)組件等等。
[0038]I/O端口 118允許計(jì)算設(shè)備100邏輯上耦合至包括I/O組件120的其他設(shè)備,其中某些設(shè)備可以是內(nèi)置的。說明性組件包括話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀、打印機(jī)、無線設(shè)備等等。
[0039]引導(dǎo)進(jìn)程的各階段
[0040]引導(dǎo)進(jìn)程的用于建立硬件清單和數(shù)據(jù)中心的云計(jì)算結(jié)構(gòu)之間的互操作的各階段現(xiàn)在將參考圖2來討論。一般而言,圖2示出了根據(jù)本發(fā)明的一實(shí)施例的顯示用于將硬件清單合并到數(shù)據(jù)中心的結(jié)構(gòu)中的引導(dǎo)進(jìn)程的5個(gè)示例性階段的流程圖200。在各實(shí)施例中,使用以下討論的各階段來將硬件清單擴(kuò)建成結(jié)構(gòu)計(jì)算群集(FCC)可通過用戶設(shè)備或服務(wù)器(參見圖3的附圖標(biāo)記320)上的配置軟件(參見圖3的附圖標(biāo)記321和322)來實(shí)現(xiàn)。服務(wù)器以及硬件清單、數(shù)據(jù)中心和/或其他網(wǎng)絡(luò)設(shè)備一起協(xié)同工作以形成各個(gè)生態(tài)系統(tǒng),每個(gè)生態(tài)系統(tǒng)實(shí)現(xiàn)引導(dǎo)進(jìn)程的一個(gè)或多個(gè)階段。
[0041]參考圖2,如在框210中描繪的,引導(dǎo)進(jìn)程的第一階段包括用于指定硬件清單的初始設(shè)置的工作流。一般而言,該工作流導(dǎo)致生成需要被用于在框230和240之間部署結(jié)構(gòu)網(wǎng)絡(luò)的邏輯/物理配置。在第一階段期間,該工作流可涉及在將硬件清單發(fā)布為數(shù)據(jù)中心的FCC之前獲得關(guān)于該硬件清單的初始配置的了解。例如,第一階段工作流可嘗試確認(rèn)硬件清單的初始配置以確保它對(duì)應(yīng)于預(yù)期的硬件布局(例如,設(shè)備位置、IP地址、VLAN以及接線(wiring))并確保它滿足由數(shù)據(jù)中心實(shí)施的特定規(guī)則(例如,標(biāo)記的不安全組件缺失而理想的通信組件存在)。
[0042]在一示例性實(shí)施例中,第一階段的工作流涉及驗(yàn)證初始的邏輯資源以及這些資源的適當(dāng)規(guī)范匹配支持的配置。驗(yàn)證的一個(gè)實(shí)例可涉及確定在配置中是否提供了足夠的網(wǎng)絡(luò)資源(例如,IP地址、VLAN、端口等)來與規(guī)范所表達(dá)的理想配置匹配。例如,第一階段工作流可驗(yàn)證每個(gè)機(jī)器至少被提供一個(gè)IP地址,如果這樣的條件存在于規(guī)范內(nèi)的話。
[0043]驗(yàn)證的另一實(shí)例可涉及確定是否存在配置與已知現(xiàn)有范圍的重疊(例如,被意外提供的當(dāng)前正在使用的資源)。驗(yàn)證的還一實(shí)例可涉及確定所計(jì)劃的一組資源是否構(gòu)成支持的配置(例如,是否有足夠的每個(gè)需要的資源來滿足規(guī)范、是否支持這些類型的資源的組合、所檢測到的TOR交換機(jī)是否兼容所檢測到的刀片)。驗(yàn)證的另一實(shí)例涉及確定是否需要與終端用戶/顧客的交互來收集執(zhí)行所需要的資源(例如,口令、地址、IP塊、VLAN等)。
[0044]如在框220中描繪的,可在硬件清單上實(shí)現(xiàn)用于發(fā)現(xiàn)、確認(rèn)網(wǎng)絡(luò)設(shè)備和接線檢查的第二階段。在各實(shí)施例中,第二階段的工作流可涉及分別經(jīng)由基于串行的連接和基于網(wǎng)絡(luò)的連接與架頂式(TOR)交換機(jī)和網(wǎng)絡(luò)設(shè)備的串行接入設(shè)備進(jìn)行通信。此外,第二階段工作流可涉及通過連接中的一個(gè)或多個(gè)來發(fā)送向TOR交換機(jī)和/或串行接入設(shè)備提示選擇性地引起硬件設(shè)備(例如,處理器、處理單元、計(jì)算設(shè)備、服務(wù)器以及插入機(jī)架的刀片)向用戶設(shè)備發(fā)送通信以供分析的指令并可涉及使用功率分配單元(rou)來選擇性地對(duì)設(shè)備循環(huán)上電以重置它們的狀態(tài)。這一分析可包括發(fā)現(xiàn)和確認(rèn)硬件設(shè)備,如在框230中描繪的。SP,引導(dǎo)進(jìn)程的第三階段采用從硬件設(shè)備輸送到用戶設(shè)備的數(shù)據(jù)分組。第三階段的工作流可涉及解析數(shù)據(jù)分組的內(nèi)容(例如,有效載荷和頭部)以確定硬件設(shè)備的位置或缺失、硬件設(shè)備的配置以及到硬件設(shè)備的內(nèi)部連接。
[0045]在各實(shí)施例中,第三階段工作流還可向各個(gè)設(shè)備和/或刀片發(fā)送特定工作流、工具等以執(zhí)行對(duì)設(shè)備/刀片本身內(nèi)硬件和/或軟件組件(例如,B1S和設(shè)備固件)的確認(rèn)、更新和/或配置。在其他實(shí)施例中,第三階段的工作流可執(zhí)行“煙霧測試(smoke test)”,其用于使用設(shè)備/刀片來驗(yàn)證組件是可工作的并且滿足結(jié)構(gòu)要求。此外,第三階段工作流可標(biāo)識(shí)設(shè)備/刀片的型號(hào)、制造商以及固件版本以供記錄和最終使用。
[0046]如在框240中描繪的,引導(dǎo)進(jìn)程的第四階段涉及將清單部署為數(shù)據(jù)中心的結(jié)構(gòu)內(nèi)的FCC實(shí)例。在一示例性實(shí)施例中,第四階段工作流可涉及與結(jié)構(gòu)共享硬件清單的基礎(chǔ)結(jié)構(gòu)狀態(tài)(例如,在至少一個(gè)先前的階段期間生成的)并在硬件清單上安裝允許與結(jié)構(gòu)進(jìn)行交互的服務(wù)。將服務(wù)安裝到硬件清單上可對(duì)應(yīng)于多個(gè)場景之一,其將在以下段落中討論。如在框250中描繪的,引導(dǎo)進(jìn)程的第五階段涉及群集范圍的確認(rèn)以及對(duì)硬件清單的安全措施的提供,一旦該硬件清單被指定為FCC實(shí)例的話。在一示例性實(shí)施例中,第五階段工作流可涉及在與新的FCC實(shí)例相關(guān)聯(lián)的秘密存儲(chǔ)與結(jié)構(gòu)的控制器之間傳遞數(shù)據(jù)(例如,設(shè)備憑證、原始證書、私鑰和口令)。
[0047]雖然描述了引導(dǎo)進(jìn)程的5個(gè)不同階段,但是應(yīng)當(dāng)了解并理解,可使用幫助提前數(shù)據(jù)中心的結(jié)構(gòu)內(nèi)硬件清單的合并的其他類型的工作流的合適安排,并且本發(fā)明的實(shí)施例并不限定為在此描述的5個(gè)階段。例如,本發(fā)明的各實(shí)施例構(gòu)想將單個(gè)階段(例如,階段五)的工作流劃分到能以互斥方式執(zhí)行的分開的工作流(例如,群集范圍確認(rèn)和安全性提供)中。
[0048]現(xiàn)在將描述用于將服務(wù)安裝到硬件清單之上的多個(gè)場景的示例。在一個(gè)場景中,硬件清單表示對(duì)于數(shù)據(jù)中心是新的且先前沒被配置的裝備。因此,新的硬件被配置成與數(shù)據(jù)中心的現(xiàn)有資源透明地操作并且作為新的FCC實(shí)例或由云計(jì)算結(jié)構(gòu)的控制器管理的云計(jì)算戳記被干凈地集成到數(shù)據(jù)中心中。
[0049]在另一場景中,硬件清單表示在數(shù)據(jù)中心請(qǐng)求附加的存儲(chǔ)/計(jì)算能力之際被添加的數(shù)據(jù)中心的本地?cái)U(kuò)展。本地?cái)U(kuò)展可包括擴(kuò)建以允許結(jié)構(gòu)控制器來管理的刀片的機(jī)架。在各實(shí)施例中,擴(kuò)建的過程涉及發(fā)現(xiàn)機(jī)架內(nèi)刀片的接線模式、針對(duì)預(yù)先定義的模板文件來確認(rèn)該接線模式以及批準(zhǔn)刀片用于合并進(jìn)入數(shù)據(jù)中心內(nèi)。實(shí)際上,擴(kuò)建刀片幫助確保機(jī)架內(nèi)任何潛在的接線問題或硬件問題(例如,物理缺陷缺失部分、無效的部分版本或不合適的配置)被檢測并解決,從而確保刀片在數(shù)據(jù)中心內(nèi)的合并將不會(huì)不利地影響正由數(shù)據(jù)中心提供到在其上運(yùn)行的服務(wù)的實(shí)時(shí)底層支持。
[0050]在還一場景中,硬件清單被配置有其自己的云計(jì)算結(jié)構(gòu)的實(shí)例,該云計(jì)算結(jié)構(gòu)與當(dāng)前與數(shù)據(jù)中心的資源相互耦合的結(jié)構(gòu)分開并分隔。由此,在將硬件清單合并到數(shù)據(jù)中心之際,數(shù)據(jù)中心將運(yùn)行至少兩個(gè)用于將分配到被新引導(dǎo)的硬件清單的服務(wù)與被分配到原始數(shù)據(jù)中心的服務(wù)相隔離的云計(jì)算結(jié)構(gòu)(例如,操作系統(tǒng))。通過這種方式,分開的結(jié)構(gòu)可專用于特定顧客的服務(wù),從而虛擬地和物理地從數(shù)據(jù)中心內(nèi)的其他服務(wù)(例如,數(shù)據(jù)中心容器中的擴(kuò)建/引導(dǎo))中排除一些服務(wù)/保護(hù)一些服務(wù)免受其他服務(wù)損害。
[0051]在另一場景中,稱為返回制造商授權(quán)(RMA)場景,硬件清單表示被認(rèn)為不被數(shù)據(jù)中心的結(jié)構(gòu)的控制器(此后稱為“結(jié)構(gòu)控制器”)可到達(dá)的(例如,不可操作的或斷開連接的)(諸)計(jì)算設(shè)備或其他設(shè)備(例如,網(wǎng)絡(luò)、PDU以及串行)。在對(duì)硬件的生命周期管理期間,結(jié)構(gòu)控制器可周期性地請(qǐng)求被聚集在數(shù)據(jù)中心內(nèi)的計(jì)算設(shè)備(例如,物理機(jī)和/或虛擬機(jī))的狀態(tài)。請(qǐng)求狀態(tài)可涉及將請(qǐng)求傳遞到分別在計(jì)算設(shè)備上運(yùn)行的代理,并接收作為返回的健康信息。如果結(jié)構(gòu)控制器由于任何原因而不能到達(dá)特定的計(jì)算設(shè)備(例如,將計(jì)算設(shè)備互連到結(jié)構(gòu)控制器的網(wǎng)絡(luò)設(shè)備發(fā)生故障),則結(jié)構(gòu)控制器可發(fā)出指示硬件清單不可到達(dá)的警告。
[0052]在將硬件清單識(shí)別為不可到達(dá)之際,結(jié)構(gòu)控制器可發(fā)起自動(dòng)復(fù)原過程。在各實(shí)施例中,自動(dòng)復(fù)原過程包括至少撤離和確認(rèn)的步驟,其中確認(rèn)通常也在引導(dǎo)進(jìn)程的一個(gè)或多個(gè)階段中實(shí)現(xiàn)。撤離步驟可涉及將消耗不可到達(dá)的硬件清單上的資源的服務(wù)(例如,顧客擁有的應(yīng)用和基于系統(tǒng)的應(yīng)用)轉(zhuǎn)移到替代硬件清單。由此,撤離確保自動(dòng)修復(fù)過程對(duì)于數(shù)據(jù)中心的顧客而言是透明的,這是因?yàn)樵诖_認(rèn)和維護(hù)期間,對(duì)他們的服務(wù)的可見性不受影響。
[0053]一旦撤離被成功執(zhí)行,就調(diào)用確認(rèn)步驟。在一示例性實(shí)施例中,確認(rèn)步驟包括實(shí)現(xiàn)引導(dǎo)進(jìn)程的驗(yàn)證駐留在不可到達(dá)硬件清單內(nèi)組件的配置設(shè)置并針對(duì)不可到達(dá)硬件清單的預(yù)期物理拓?fù)浣Y(jié)構(gòu)(例如,在模板文件內(nèi)提供的)來交叉參考不可到達(dá)硬件清單的所檢測到的物理拓?fù)浣Y(jié)構(gòu)(例如,組件之間的鏈接和設(shè)備之間的接線)的工作流。由此,確認(rèn)步驟確定不可到達(dá)硬件清單是否被適當(dāng)?shù)嘏渲脕砼c結(jié)構(gòu)控制器的驅(qū)動(dòng)程序進(jìn)行交互,其中驅(qū)動(dòng)程序被設(shè)計(jì)為與特定硬件配置交互。
[0054]如在以下更完整討論的,確認(rèn)步驟涉及將不可到達(dá)硬件清單離線,這是預(yù)先進(jìn)行撤離步驟的理由。一般而言,由于發(fā)生若干個(gè)將中斷服務(wù)在不可到達(dá)硬件清單的設(shè)備上和/或數(shù)據(jù)中心的設(shè)備上的執(zhí)行的破壞性動(dòng)作,將不可到達(dá)硬件清單離線。這些破壞性動(dòng)作可包括以下各項(xiàng)中的一個(gè)或多個(gè):通過請(qǐng)求串行接入設(shè)備來選擇性地(經(jīng)由rou)將功率驅(qū)動(dòng)到刀片來操縱到刀片的功率流(例如,開啟和關(guān)閉);從發(fā)送自被操縱的刀片的通信中收集信息;從在該通信內(nèi)發(fā)送的數(shù)據(jù)分組的內(nèi)容中提取信息(例如,刀片的MAC地址);以及通過針對(duì)模板文件和執(zhí)行確認(rèn)來評(píng)估所提取的信息以驗(yàn)證刀片的位置和接線。應(yīng)當(dāng)注意,串行接入設(shè)備通常被用于帶外通信,而TOR交換機(jī)采用帶內(nèi)通信(例如,經(jīng)由以太網(wǎng))。
[0055]在選擇性地將功率驅(qū)動(dòng)到刀片的一示例中,結(jié)構(gòu)控制器可關(guān)閉到饋送未知/無效硬件清單的刀片的端口范圍的功率。接著,結(jié)構(gòu)控制器可直接或間接地指示PDU開啟到鏈接到主體刀片的所選端口的功率。結(jié)構(gòu)控制器接著可從當(dāng)前正在發(fā)送通信的主體刀片發(fā)送的數(shù)據(jù)分組中讀取MAC地址。由此,當(dāng)所選端口對(duì)應(yīng)于模板文件的預(yù)期端口時(shí),主體刀片的連接性被驗(yàn)證。除了驗(yàn)證所選端口以供接收來自PDU的功率之外,確認(rèn)步驟可進(jìn)一步涉及TOR交換機(jī),該TOR交換機(jī)可確定(被分配到未知硬件清單的刀片的端口范圍內(nèi)的)哪個(gè)端口被連接到主體刀片。該確定由標(biāo)識(shí)端口范圍中正接收從主體刀片遞送的數(shù)據(jù)分組的主體端口來作出。
[0056]用于實(shí)現(xiàn)共同創(chuàng)作階段的系統(tǒng)的體系結(jié)構(gòu)
[0057]一般地,引導(dǎo)進(jìn)程內(nèi)的各個(gè)階段被采用來實(shí)現(xiàn)將云操作系統(tǒng)合并到指定的硬件上而不管位置的高效的、穩(wěn)健的且可縮放的框架。因此,本發(fā)明的各方面涉及用于將未被配置的硬件清單構(gòu)建到數(shù)據(jù)中心戳記(其將最終被合并到云計(jì)算平臺(tái)的結(jié)構(gòu)中)中的配置創(chuàng)作階段(此后稱為“共同創(chuàng)作階段”)。如在以下更加充分討論的,構(gòu)建未被配置的硬件清單涉及以下步驟中的一個(gè)或多個(gè):接收顧客的規(guī)范以供征用新的或附加的硬件清單;用自動(dòng)生成的參數(shù)來補(bǔ)充顧客的規(guī)范;將顧客的規(guī)范和參數(shù)打包到預(yù)先定義的標(biāo)識(shí)符(例如,SKU)中;從SKU內(nèi)的信息中開發(fā)群集配置文件;在群集配置文件內(nèi)使用網(wǎng)絡(luò)配置的符號(hào)表示以確保人員/團(tuán)隊(duì)能容易地理解需求;并且通過將驗(yàn)證分開到物理概念和邏輯概念中來進(jìn)行網(wǎng)絡(luò)確認(rèn)。
[0058]現(xiàn)在將參考圖3討論能夠發(fā)現(xiàn)、確認(rèn)并配置網(wǎng)絡(luò)和硬件清單內(nèi)的硬件設(shè)備的系統(tǒng)的體系結(jié)構(gòu)。一般而言,圖3描繪了示出用于在建立和確認(rèn)硬件清單的拓?fù)浣Y(jié)構(gòu)時(shí)實(shí)現(xiàn)共同創(chuàng)作階段的示例性系統(tǒng)體系結(jié)構(gòu)300的圖形表示,其中該系統(tǒng)體系結(jié)構(gòu)300適合用于實(shí)現(xiàn)本發(fā)明的各實(shí)施例。
[0059]本領(lǐng)域普通技術(shù)人員可以理解和明白,圖3中示出的系統(tǒng)體系結(jié)構(gòu)300僅僅是用于實(shí)現(xiàn)引導(dǎo)進(jìn)程的共同創(chuàng)作階段的環(huán)境的一個(gè)合適的部分的示例并且不旨在對(duì)本發(fā)明的各實(shí)施方式的使用范圍或功能提出任何限制。系統(tǒng)體系結(jié)構(gòu)300也不應(yīng)解釋為具有與其中示出的任何單個(gè)資源或資源的組合有關(guān)的任何依賴性或要求。此外,盡管為了清楚起見用線條示出了圖3的各個(gè)框,但是在實(shí)際上,各組件的輪廓并不是那樣清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。
[0060]硬件清單360包括經(jīng)由基于串行的連接和/或基于網(wǎng)絡(luò)的連接內(nèi)部地互連并外部地與服務(wù)器320耦合的各個(gè)裝備/資源。雖然圖3中示出了單個(gè)服務(wù)器320,但是服務(wù)器320可表示協(xié)同操作地一組服務(wù)器(S卩,云計(jì)算網(wǎng)絡(luò))或(諸)其他計(jì)算設(shè)備。如在此描述的這些裝備/資源可包括軟件組件(例如,安裝在網(wǎng)絡(luò)設(shè)備中的邏輯資產(chǎn)361)以及有形硬件元件(例如,諸如具有刀片的機(jī)架或駐留在其上的計(jì)算設(shè)備的硬件資產(chǎn)362)。在各實(shí)施例中,裝備/資源可跨各個(gè)物理資源分布;由此,服務(wù)器320可通過發(fā)現(xiàn)和確認(rèn)階段(參見圖2的附圖標(biāo)記220和230)來識(shí)別裝備/資源的位置以建立它們之間的通信。此外,可提供通過連接裝備/資源以及引導(dǎo)進(jìn)程所要求的任何其他元件的信道來促進(jìn)這種通信的網(wǎng)絡(luò)310。該網(wǎng)絡(luò)可包括但不限于一個(gè)或多個(gè)局域網(wǎng)(LAN)和/或廣域網(wǎng)(WAN)。這樣的聯(lián)網(wǎng)環(huán)境常見于辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中。因此,不在此進(jìn)一步描述該網(wǎng)絡(luò)。
[0061]示例性系統(tǒng)體系結(jié)構(gòu)300可包括服務(wù)器320、第一計(jì)算設(shè)備330和第二計(jì)算設(shè)備340。在圖3中示出的服務(wù)器320和這些設(shè)備330和340中的每個(gè)都可采取各種類型的計(jì)算設(shè)備的形式,諸如例如,上文中參考圖1描述的計(jì)算設(shè)備100。作為示例而非限制,服務(wù)器320以及設(shè)備330和340可以是個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消費(fèi)者電子設(shè)備、手持式設(shè)備(例如,個(gè)人數(shù)字助理)、各種服務(wù)器、刀片等。然而,應(yīng)當(dāng)注意,本發(fā)明不限于在這些計(jì)算設(shè)備上實(shí)現(xiàn),而是可在處于本發(fā)明的各實(shí)施例的范圍內(nèi)的各種不同類型的計(jì)算設(shè)備的任一種上實(shí)現(xiàn)。
[0062]通常,服務(wù)器320以及設(shè)備330和340中的每一個(gè)包括或被鏈接到某種形式的計(jì)算單元(例如,中央處理單元、微處理器等)以支持在其上運(yùn)行的(諸)組件的操作(例如,在接收到信號(hào)或被提供功率之際始發(fā)數(shù)據(jù)分組)。如本文所使用的,短語“計(jì)算單元” 一般指的是具有處理能力和存儲(chǔ)存儲(chǔ)器的專用計(jì)算設(shè)備,它支持作為其上的軟件、應(yīng)用和計(jì)算機(jī)程序的執(zhí)行的基礎(chǔ)的操作軟件。在一個(gè)實(shí)例中,該計(jì)算單元是用有形硬件元件或機(jī)器來配置的,所述有形硬件元件或機(jī)器是集成的、或者可操作地耦合到服務(wù)器320以及設(shè)備330和340以使得每個(gè)設(shè)備都能夠執(zhí)行與通信有關(guān)的過程和其他操作。
[0063]在另一實(shí)例中,該計(jì)算單元可以涵蓋處理器(未示出),該處理器耦合到由服務(wù)器320以及設(shè)備330和340中的每一個(gè)所容納的計(jì)算機(jī)可讀介質(zhì)。一般而言,計(jì)算機(jī)可讀介質(zhì)至少臨時(shí)地存儲(chǔ)可由處理器執(zhí)行的多個(gè)計(jì)算機(jī)軟件組件。如本文所使用的,術(shù)語“處理器”不旨在是限制性的,并且可包含具有計(jì)算能力的計(jì)算單元的任何要素。在這種能力中,處理器可被配置為處理指令的有形物品。在一示例性實(shí)施例中,處理可涉及抓取、解碼/解釋、執(zhí)行和寫回指令(例如,通過呈現(xiàn)運(yùn)動(dòng)模式的動(dòng)畫來重構(gòu)物理姿勢)。
[0064]同樣,除了處理指令外,處理器可以向集成到或部署在服務(wù)器320以及設(shè)備330和340上的其他資源傳送信息或從中傳出信息。一般而言,資源指的是使服務(wù)器320以及設(shè)備330和340能夠執(zhí)行特定功能的軟件和硬件機(jī)制。僅僅作為示例,資源可包括以下機(jī)制中的一個(gè)或多個(gè):第一擴(kuò)建機(jī)制321 ;第二擴(kuò)建機(jī)制322以及駐留在計(jì)算設(shè)備330和340內(nèi)的組件。
[0065]在操作中,第一擴(kuò)建機(jī)制321和第二擴(kuò)建機(jī)制322表示被主存在可由服務(wù)器320訪問的計(jì)算機(jī)存儲(chǔ)介質(zhì)上的一個(gè)或多個(gè)計(jì)算機(jī)軟件組件。此外,第一擴(kuò)建機(jī)制321和第二擴(kuò)建機(jī)制322可由服務(wù)器320執(zhí)行(聯(lián)合地或單獨(dú)地)來實(shí)現(xiàn)用于從各個(gè)規(guī)范中建立硬件清單360的方法。第一擴(kuò)建機(jī)制321通常被配置成使用外部貢獻(xiàn)的顧客指定的規(guī)范以及部分地基于顧客指定的規(guī)范來內(nèi)部生成的平臺(tái)專用規(guī)范來生成群集配置文件。外部貢獻(xiàn)的顧客指定的規(guī)范可從開發(fā)者351以依賴性方案353的形式來提供,其中依賴性方案353包括硬件清單360的存儲(chǔ)/計(jì)算能力的偏好和/或要求。應(yīng)當(dāng)注意,如在此使用的術(shù)語“開發(fā)者”不一定指引導(dǎo)系統(tǒng)的開發(fā)者。例如,開發(fā)者可表示完全分開的證明實(shí)體,其證明新類型的硬件SKU和群集。如示出的,依賴性方案353可通過開發(fā)者351經(jīng)由第一計(jì)算設(shè)備300上的用戶界面(Π) 331來被電子地提交。在一個(gè)實(shí)例中,電子提交可涉及開發(fā)者351通過從預(yù)先確定選項(xiàng)列表中選擇來輸入依賴性方案353的規(guī)范,其中所選的選項(xiàng)被用于標(biāo)識(shí)滿足開發(fā)者351的計(jì)劃以供提升的能力的SKU。
[0066]如在此使用的,表達(dá)“SKU”并不旨在限定,而是可廣泛地包含用于可被購買的不同產(chǎn)品的任意唯一標(biāo)識(shí)符,從而允許用戶(例如,顧客、開發(fā)者351、供應(yīng)商以及圖4A的服務(wù)提供者410)系統(tǒng)地跟蹤分發(fā)或產(chǎn)品可用性。SKU被分配到各個(gè)項(xiàng)(例如,硬件清單360的配置)并通常以商家等級(jí)被串行化。例如,一旦開發(fā)者351的規(guī)范從預(yù)先確定的選項(xiàng)列表中標(biāo)識(shí)合適的SKU,該SKU就可指定要在硬件清單360中被實(shí)現(xiàn)為邏輯資產(chǎn)361和硬件資產(chǎn)362的網(wǎng)絡(luò)資源(例如,VLAN的數(shù)量和VLAN的大小)和網(wǎng)絡(luò)配置(例如,機(jī)架上設(shè)備的位置和互連)。在另一實(shí)例中,在開發(fā)者在當(dāng)前存儲(chǔ)/或計(jì)算能力上進(jìn)行擴(kuò)展的情況下,所選的SKU可用于描述要購買以增加目前正在使用的機(jī)架或刀片數(shù)量的機(jī)器的數(shù)量和類型。
[0067]雖然已經(jīng)描述了用于選擇合適的SKU的規(guī)范的電子提交的一個(gè)配置,但是應(yīng)當(dāng)理解并了解,可使用允許開發(fā)者351提交依賴性方案353的其他類型的合適機(jī)制,并且本發(fā)明的各實(shí)施例不對(duì)在此描述的Π 331進(jìn)行限制。例如,規(guī)范可通過簡單地調(diào)用顧客一服務(wù)代理來被提交,該顧客一服務(wù)代理基于對(duì)規(guī)范的總體考量來手動(dòng)地選擇合適的SKU。此外,雖然開發(fā)者351和管理員352被示為分開的個(gè)體,但是 申請(qǐng)人:構(gòu)想了這些分開的貢獻(xiàn)者是同一顧客或?qū)嶓w。
[0068]在操作中,合適的SKU可通常從預(yù)先定義的SKU列表中選擇并被用于生成群集配置文件。如以上提到的,選擇涉及使用顧客指定的規(guī)范和平臺(tái)專用規(guī)范來從(與預(yù)先確定的SKU列表相關(guān)聯(lián)的)一組預(yù)先定義的硬件群集中選擇(與SKU相關(guān)聯(lián)的)硬件清單。一般而言,預(yù)先定義的硬件群集中的每一個(gè)表示已經(jīng)被證明為一致地運(yùn)作的硬件資產(chǎn)和邏輯資產(chǎn)的兼容配置。一旦所選硬件清單的SKU已知,第一擴(kuò)建機(jī)制321就可從保持在SKU中的數(shù)據(jù)中得到群集配置文件,該群集配置文件描述了所選硬件清單。此外,第一擴(kuò)建機(jī)制321可被配置為用于用用作針對(duì)缺失的預(yù)期值的占位符的抽象符號(hào)表示來填充群集配置文件。在操作中,抽象符號(hào)表示用于向顧客(例如,管理員352)或網(wǎng)絡(luò)設(shè)備征求網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值354。在各實(shí)施例中,抽象符號(hào)表示用作針對(duì)群集配置文件中為初始缺失的預(yù)期值的字段的占位符。這些字段與以下至少之一相關(guān)聯(lián)=VLAN的名稱、VLAN的大小、VLAN的配置、IP地址或不能直接從SKU定義中可用的其他配置數(shù)據(jù)。
[0069]一般而言,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值354表示從管理員352接收到的用作完成群集配置文件的不完整字段中缺失屬性的信息,其中接收到的信息協(xié)助適當(dāng)?shù)嘏渲糜布鍐?60。在從顧客(例如,管理員352)或其他源(諸如從網(wǎng)絡(luò)設(shè)備的直接發(fā)現(xiàn))接收到網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值354后,第二擴(kuò)建機(jī)制322生成模板文件??赏ㄟ^使用命名約定映射來將網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值354轉(zhuǎn)換到VLAN內(nèi)組件的具體標(biāo)識(shí)符來實(shí)現(xiàn)對(duì)模板文件的生成。并且,第二擴(kuò)建機(jī)制322可使用網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值和從群集配置文件中提取的信息來生成模板文件。在操作中,如將在以下更加完整討論的,模板文件被用于分配和/或配置硬件清單360的邏輯資產(chǎn)361和硬件資產(chǎn)362。
[0070]這個(gè)示例性系統(tǒng)體系結(jié)構(gòu)300只是可以被實(shí)現(xiàn)以實(shí)現(xiàn)本發(fā)明的各方面的合適的環(huán)境的一個(gè)示例,而非旨在對(duì)本發(fā)明的使用范圍或功能提出任何限制。所示示例性系統(tǒng)體系結(jié)構(gòu)300也不應(yīng)被解釋成對(duì)于所示組件321和322中的任一組件或其組合有任何依賴或要求。在一些實(shí)施例中,組件321和322中的一個(gè)或多個(gè)可被實(shí)現(xiàn)為獨(dú)立設(shè)備。在其他實(shí)施例中,組件321和322中的一個(gè)或多個(gè)可被直接集成到計(jì)算設(shè)備330或340或甚至硬件清單360中。本領(lǐng)域普通技術(shù)人員可以理解,圖3所示的組件321和322在本質(zhì)和數(shù)量上是示例性的,并且不應(yīng)被解釋為限制。
[0071]用于共同創(chuàng)作階段的工作流
[0072]配置創(chuàng)作階段的工作流(參考圖2的框210)(其在此被稱為“共同創(chuàng)作階段”)促進(jìn)指定圖3的硬件清單360的原始設(shè)置并且作為結(jié)果,生成在發(fā)現(xiàn)和確認(rèn)期間被咨詢的模板文件。初始地,在發(fā)出硬件清單之前,原始設(shè)備制造商(OEM)被期望(例如,作為貨物合同的一部分)來驗(yàn)證設(shè)備間接線。這可通過個(gè)別地分開調(diào)用工作流的前三個(gè)階段(在圖2的框210、220、230處來描繪)來完成。此外,OEM被期望采用提供描述安裝在硬件清單的設(shè)備內(nèi)的軟件的屬性的清單的工具。接線驗(yàn)證和軟件屬性清單被與硬件清單相關(guān)聯(lián)地維護(hù)以協(xié)助對(duì)合適硬件清單的選擇。在一些實(shí)施例中,OEM可將硬件清單設(shè)置為零配置。
[0073]接下來的兩個(gè)段落將一般地以高級(jí)方式來描述共同創(chuàng)作階段,而本說明書的這個(gè)章節(jié)中隨后的段落將更加具體地描述共同創(chuàng)作階段。初始地,共同創(chuàng)作階段工作流涉及自動(dòng)地或由顧客手動(dòng)地發(fā)起對(duì)硬件清單的訂購以補(bǔ)救存儲(chǔ)/計(jì)算能力缺陷。在一個(gè)實(shí)例中,發(fā)起訂購涉及用圍繞用于滿足能力缺陷的一組裝備(例如,設(shè)備、機(jī)架和軟件)的非特定數(shù)據(jù)來生成表單(例如,XML文檔)。這個(gè)表單被用于選擇SKU或特定硬件清單的其他標(biāo)識(shí)符。該SKU被用于生成包括抽象符號(hào)表示以用于向顧客(例如,圖3的管理員352)征求初始值(例如,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值)的表單(例如,群集配置文件)。初始值可被自動(dòng)地或被顧客手動(dòng)地輸入到表單上,其中初始值反映一些特定于數(shù)據(jù)中心的細(xì)節(jié)(例如,VLAN范圍、端口范圍和IP地址)或顧客定義的拓?fù)浣Y(jié)構(gòu)方案。拓?fù)浣Y(jié)構(gòu)方案定義硬件的類型、數(shù)量和接線模式以及硬件清單的網(wǎng)絡(luò)設(shè)備并指示被用于運(yùn)行設(shè)備的附加信息(例如,機(jī)架的數(shù)量、VLAN范圍、端口的數(shù)量以及支持資源)。
[0074]在輸入初始值后,表單(例如,群集配置文件)可被轉(zhuǎn)換成模板文件。一般而言,模板文件用作裝備(例如,設(shè)備)的以及它們之間路由(例如,接線)的高級(jí)、邏輯藍(lán)圖。例如,模板文件可指示哪些裝備被分組到共同的VLAN中。在某一時(shí)刻,模板文件可基于場景被發(fā)送到OEM、顧客或管理員以分配硬件清單的適當(dāng)?shù)倪壿嫼陀布Y產(chǎn)。在一個(gè)實(shí)例中,對(duì)適當(dāng)?shù)馁Y產(chǎn)的選擇包括將模板文件與和硬件清單相關(guān)聯(lián)地維護(hù)在OEM處的接線驗(yàn)證和/或軟件屬性清單進(jìn)行比較。在為硬件清單選擇適當(dāng)?shù)馁Y產(chǎn)后,硬件清單可針對(duì)模板文件被驗(yàn)證和/或被視覺上檢查來確認(rèn)硬件清單的接線(例如,串行和網(wǎng)絡(luò)電纜連接)并根據(jù)檢查或通過自動(dòng)化的方式來確定硬件清單的實(shí)際值(例如,端口號(hào)、IP地址、VLAN成員資格和設(shè)備位置)。
[0075]用于建立硬件清單的初始配置的技術(shù)在圖4A和圖4B中被顯示為示出用于根據(jù)本發(fā)明的一個(gè)實(shí)施例的建立硬件清單的初始配置的技術(shù)的概覽的操作流程圖400。初始地,顧客420可確定附加的數(shù)據(jù)中心或附加的數(shù)據(jù)中心能力(例如,存儲(chǔ)和/計(jì)算)被希望來分別建立或擴(kuò)展數(shù)據(jù)中心。顧客420可經(jīng)由Π或任何其他用作充當(dāng)用于傳遞信息的管道的機(jī)制來向服務(wù)提供者410提供顧客專用規(guī)范421 (例如,圖3的依賴性方案353)。
[0076]在檢測到顧客專用規(guī)范421的到達(dá)后,服務(wù)提供者410可向數(shù)據(jù)庫430發(fā)送對(duì)于用于補(bǔ)充顧客專用規(guī)范421的信息的請(qǐng)求431。作為響應(yīng),數(shù)據(jù)庫430可返回用于補(bǔ)充顧客專用規(guī)范421的平臺(tái)專用規(guī)范432,從而通過聚焦于顧客420貢獻(xiàn)的規(guī)范來產(chǎn)生效率。如在操作435處描述的,規(guī)范421和432被用來從一組預(yù)先定義的SKU中選擇一個(gè)SKU。在一個(gè)示例中,請(qǐng)求附加計(jì)算能力的規(guī)范可選擇具有大的硬盤驅(qū)動(dòng)器的若干機(jī)器的SKU。在另一示例中,請(qǐng)求附加處理能力的規(guī)范調(diào)用多個(gè)機(jī)器的SKU。一般而言,該組預(yù)先定義的SKU分別標(biāo)識(shí)一組預(yù)先定義的已經(jīng)被測試過一起工作的(即,被證明為兼容的)硬件群集。有利地,通過允許顧客420從該預(yù)先定義的一組預(yù)先定義的SKU中選擇一個(gè)SKU,服務(wù)提供者410可提供有限數(shù)量的設(shè)備(rou、網(wǎng)絡(luò)交換機(jī)以及驅(qū)動(dòng)器以用于通信和管理目的)。
[0077]在各實(shí)施例中,所選的SKU可清楚表達(dá)出于運(yùn)行云計(jì)算服務(wù)的目的正被使用的硬件清單的各個(gè)屬性,諸如預(yù)先定義的連接(例如,接線圖)、多個(gè)機(jī)器以及它們?cè)谡w配置中的角色以及多個(gè)資源(例如,LAN、網(wǎng)絡(luò)ID和路由器的數(shù)量)。此外,針對(duì)刀片,所選的SKU可指示CPU的數(shù)量、存儲(chǔ)器的數(shù)量和/或硬盤驅(qū)動(dòng)器容量。(這些刀片參數(shù)可稍后基于規(guī)范421和432在預(yù)先建立的限制內(nèi)被定制。)在其他實(shí)施例中,所選的SKU可定義一起工作的方案的數(shù)量(指示要安裝(依賴性)的網(wǎng)絡(luò)資源(拓?fù)浣Y(jié)構(gòu))和軟件組件)。
[0078]換言之,SKU可包括從規(guī)范421和432中得到的與物理機(jī)器/設(shè)備相關(guān)的信息(此后稱為“設(shè)備參數(shù)”)以及與網(wǎng)絡(luò)/軟件配置相關(guān)的信息(此后稱為“邏輯制品”)。如在操作440處描繪的,可從所選SKU內(nèi)的信息中抽象出群集配置文件。在具體實(shí)例中,對(duì)群集配置文件的抽象可涉及以下操作:使用在規(guī)范421和432內(nèi)提交的設(shè)備參數(shù)來標(biāo)識(shí)網(wǎng)絡(luò)資源(參見操作441);以及使用在規(guī)范421和432內(nèi)提交的邏輯制品來標(biāo)識(shí)網(wǎng)絡(luò)配置(參見操作442)。通過這種方式,網(wǎng)絡(luò)資源和網(wǎng)絡(luò)配置被分開地確定并且可各自存在在群集配置文件內(nèi)。
[0079]群集配置文件可用抽象符號(hào)表示451 (例如,符號(hào)VLAN列表)來生成,該抽象符號(hào)表示451征求支持硬件清單的內(nèi)部和外部功能的資源的信息。如在此使用的,短語“抽象符號(hào)表示”一般表示請(qǐng)求應(yīng)該在某些設(shè)備上被驗(yàn)證的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和/或配置(例如,VLAN設(shè)置)的實(shí)際值的占位符,從而使得那些設(shè)備能夠以滿足硬件清單的意圖或邏輯目標(biāo)的方式來相互通信。在一個(gè)示例中,抽象符號(hào)表示451從擴(kuò)建操作者450取得設(shè)置信息反饋(例如,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值452)以供配置VLAN來將外部IP地址展示給其他網(wǎng)絡(luò),由此,提示硬件清單的可訪問性被建立。此外,設(shè)置信息反饋可描述VLAN的大小(例如,被分配到硬件清單的IP地址的數(shù)量)。在另一示例中,關(guān)于計(jì)算能力,抽象符號(hào)表示451從擴(kuò)建操作者450取得設(shè)置信息反饋以供標(biāo)識(shí)針對(duì)硬件清單內(nèi)部或外部的網(wǎng)絡(luò)交換機(jī)的機(jī)架級(jí)(L2)和路由器級(jí)(L3)組件。
[0080]當(dāng)擴(kuò)建操作者450填補(bǔ)群集配置文件的缺失部分時(shí)(即,用網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值452來滿足抽象符號(hào)表示451),在各實(shí)施例中,可能不需要提供子網(wǎng)地址和/或路由器地址的具體數(shù)量,因?yàn)榉?wù)提供者410自動(dòng)地將這個(gè)信息轉(zhuǎn)換成最終數(shù)量。即,擴(kuò)建操作者450可解決群集配置文件的一些缺失字段(即,手動(dòng)地指定外部設(shè)備、共享路由器的名稱以及外部設(shè)備的接線信息(例如,串行端口的類型和交換機(jī)的IP地址)),而服務(wù)提供者410可自動(dòng)地解決群集配置文件的其他缺失字段,從而簡化擴(kuò)建操作者450的任務(wù)。因此,完整的群集配置文件用作定義需要什么硬件、該硬件的邏輯目的以及應(yīng)當(dāng)被安裝在該硬件上的網(wǎng)絡(luò)配置(例如,VLAN設(shè)置)。此外,在其中群集配置文件被發(fā)送以供抽象符號(hào)表示451的解析的操作445期間,可生成分開的報(bào)告。該報(bào)告包括與多個(gè)新的子網(wǎng)有關(guān)的缺失值列表以及它們各自的大小。報(bào)告的意圖是請(qǐng)求用于配置網(wǎng)絡(luò)所需的VLAN列表以及請(qǐng)求每個(gè)VLAN內(nèi)IP地址的具體數(shù)量。
[0081]如在操作453處描述的,命名約定映射被用于將符號(hào)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值452轉(zhuǎn)換成群集配置文件內(nèi)組件的具體標(biāo)識(shí)符?!懊s定映射”表示為符號(hào)表示中的一個(gè)或多個(gè)提供的值和在硬件清單上可被確認(rèn)的物理名稱之間的映射。在操作中,服務(wù)提供者410使用命名約定映射來將來自擴(kuò)建操作者450的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值452 (例如,子網(wǎng)名稱和設(shè)備名稱)轉(zhuǎn)換成具體的標(biāo)識(shí)符。這些具體標(biāo)識(shí)符允許在遞送之際用實(shí)際信息來配置硬件清單的設(shè)備。該實(shí)際信息可以包括但不限于以下:實(shí)際IP地址;用于子網(wǎng)的命名約定;用于命名VLAN的群集ID ;子網(wǎng)類型以及子網(wǎng)索引。這些具體標(biāo)識(shí)符還允許自動(dòng)地將IP/VM/MAC和VLAN分別分配到硬件清單的硬件資產(chǎn)和邏輯資產(chǎn)。在一個(gè)具體實(shí)例中,轉(zhuǎn)換可包括將VLAN=250個(gè)IP地址:機(jī)架I取得10個(gè)IP地址:機(jī)架2取得50個(gè)IP地址等的示例性網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值轉(zhuǎn)換成硬件清單的各機(jī)架中的每一個(gè)的明確的、非相交的IP地址范圍。在本發(fā)明的附加實(shí)施例中,將網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值452轉(zhuǎn)換成特定群集配置內(nèi)組件的具體標(biāo)識(shí)符可包括將IP地址范圍分配到邏輯資產(chǎn)(參見操作454)和/或用所分配的IP地址范圍來對(duì)硬件資產(chǎn)進(jìn)行編程(參見操作455)。
[0082]一旦適當(dāng)?shù)男畔⒈惶峁┑饺杭渲梦募娜笔ё侄危暾娜杭渲梦募杀挥糜趥€(gè)別地或聯(lián)合地配置(參見操作456)和/或驗(yàn)證(參見操作460)硬件清單的硬件資產(chǎn)和邏輯資產(chǎn)。一般而言,配置邏輯和硬件資產(chǎn)允許對(duì)其可用的資源(例如,高級(jí)網(wǎng)絡(luò)交換機(jī))與新生成的VLAN協(xié)同工作。為此,服務(wù)提供者410可直接查看/配置設(shè)備、采用部分基于在Π處的顧客規(guī)范輸入(諸如出于被分配到硬件清單的意圖或目的的顧客規(guī)范輸入)或提供查看和修改VLAN的配置的能力的其他方式來展示并引導(dǎo)配置的服務(wù)。
[0083]在各實(shí)施例中,驗(yàn)證確保所配置的硬件清單滿足群集配置文件中的參數(shù)。驗(yàn)證可包括分開地驗(yàn)證硬件清單的物理硬件資產(chǎn)和基于軟件的邏輯資產(chǎn)。分開地驗(yàn)證的過程包括至少以下步驟:從群集配置文件中抽象各個(gè)XML文件(例如,用于驗(yàn)證硬件資產(chǎn)的模板.XML(template.XML)和用于驗(yàn)證邏輯資產(chǎn)的全局設(shè)置.XML(GlobalSettings.XML));使用模板.XML來驗(yàn)證機(jī)架內(nèi)設(shè)備的位置和連接(例如,接線);以及使用全局設(shè)置.XML來驗(yàn)證在設(shè)備內(nèi)運(yùn)行的軟件以及專用于設(shè)備或設(shè)備的邏輯分組的配置設(shè)置。
[0084]在進(jìn)行初始配置和驗(yàn)證后,從配置和驗(yàn)證中獲取的信息(例如,VLAN路由條目)被導(dǎo)入或填充到群集配置文件中。這個(gè)經(jīng)更新的群集配置文件接著被用于得到模板文件(例如,機(jī)架.XML(racks.XML)或群集.XML(cluster.XML))以供在組件發(fā)現(xiàn)目的中使用,如在操作470處描述的。在各實(shí)施例中,模板文件被用于用先前被分配的實(shí)際配置設(shè)置值(例如,IP地址、子網(wǎng)掩碼、網(wǎng)關(guān))來對(duì)硬件清單的物理機(jī)架進(jìn)行編程。因此,對(duì)實(shí)際配置設(shè)置值進(jìn)行編程允許硬件清單內(nèi)的設(shè)備適當(dāng)?shù)剡\(yùn)作和交互。此外,模板文件不僅包括實(shí)際配置設(shè)置值(例如,IP地址)和它們所被分配到的設(shè)備,還包括設(shè)備的列表以及它們?nèi)绾伪唤泳€在一起(即,硬件清單的網(wǎng)絡(luò)配置)。
[0085]在操作中,模板文件用作實(shí)現(xiàn)硬件清單的發(fā)現(xiàn)的模板,如在操作475處描述的。一般而言,發(fā)現(xiàn)涉及來自硬件清單的設(shè)備的網(wǎng)絡(luò)設(shè)置信息,其中網(wǎng)絡(luò)設(shè)置信息(例如,哪些IP地址被分配到哪些VLAN、哪些機(jī)器工具被安裝、負(fù)載平衡規(guī)則以及路由規(guī)則)最終被用于適當(dāng)?shù)毓芾碛布鍐?。發(fā)現(xiàn)可涉及以下操作:將MAC地址分配到邏輯資產(chǎn)(例如,使用分配圖);標(biāo)識(shí)被提供到硬件資產(chǎn)的MAC地址(參見操作476);以及用所標(biāo)識(shí)的MAC地址來更新模板文件(參見操作477)。發(fā)現(xiàn)可涉及其他操作:標(biāo)識(shí)特定設(shè)備之間的接線、標(biāo)識(shí)設(shè)備的邏輯或物理配置以及可能從模板文件中缺失的其他信息。
[0086]在運(yùn)行硬件清單的發(fā)現(xiàn)之前和/或之后,服務(wù)提供者可安裝對(duì)于硬件清單的用戶訪問許可。安裝這些許可可需要?jiǎng)?chuàng)建或更新設(shè)備(例如,架頂式交換機(jī))內(nèi)的訪問控制列表(ACL),其中ACL分別提供附加到組件的許可列表。在特定實(shí)例中,ACL指定哪些用戶或系統(tǒng)過程被授予對(duì)對(duì)象的訪問以及在給定對(duì)象上允許哪些操作。
[0087]如在操作485處描述的,服務(wù)提供者可確認(rèn)經(jīng)更新的模板文件與硬件清單的預(yù)期設(shè)置一致。在完成發(fā)現(xiàn)后,確認(rèn)可初始地涉及將在確認(rèn)期間收集到的信息(例如,設(shè)置和位置)合并到模板文件中來創(chuàng)建經(jīng)更新的模板文件或“群集表示文件”(例如,數(shù)據(jù)中心.XML (datacenter.XML)),其描述整個(gè)數(shù)據(jù)中心并同時(shí)丟棄任何冗余信息并將其他文件鏈接在一起,如在操作490處描述的。由此,模板文件被用于生成群集表示文件以及關(guān)于對(duì)新設(shè)備的發(fā)現(xiàn)的信息(例如,作為當(dāng)前能力或其他發(fā)現(xiàn)過程的一部分的任意先前發(fā)現(xiàn)的設(shè)備)。群集確認(rèn)文件隨后被用于硬件清單的集成。確認(rèn)還可涉及確認(rèn)新的清單的物理和邏輯配置不與現(xiàn)有清單的一些的物理或邏輯配置沖突(例如,重復(fù)的MAC地址、沖突的IP地址等)。所構(gòu)想的其他可能的確認(rèn)是,但不限于,對(duì)全局設(shè)置、資產(chǎn)標(biāo)識(shí)符、跨數(shù)據(jù)中心路由配置的確認(rèn)。
[0088]當(dāng)將硬件清單部署為對(duì)云計(jì)算網(wǎng)絡(luò)的資產(chǎn)時(shí),群集確認(rèn)文件可被輸出到數(shù)據(jù)中心內(nèi)的結(jié)構(gòu)控制器并被該結(jié)構(gòu)控制器消費(fèi),如在操作495處描述的。在一個(gè)實(shí)例中,數(shù)據(jù)中心.XML被傳播到云計(jì)算網(wǎng)絡(luò)的合適組件以便實(shí)現(xiàn)完整的擴(kuò)建。在另一實(shí)例中,數(shù)據(jù)中心.XML被用于部署數(shù)據(jù)中心內(nèi)的結(jié)構(gòu)控制器以便將硬件清單添加為對(duì)數(shù)據(jù)中心的實(shí)例,其中結(jié)構(gòu)控制器使用來自數(shù)據(jù)中心.XML的一些信息來促進(jìn)新的硬件清單與現(xiàn)有機(jī)架的適當(dāng)交互(例如,負(fù)載平衡器和/或路由器設(shè)置被擴(kuò)展以考慮新的硬件清單的新設(shè)備)。
[0089]過程流
[0090]現(xiàn)在參考圖5,顯示了示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于從顧客的規(guī)范中選擇硬件清單的總的方法500的流程圖。盡管術(shù)語“步驟”和/或“框”可在此處用于指示所采用方法的不同元素,但除非而且僅當(dāng)明確描述了各個(gè)步驟的順序時(shí),該術(shù)語不應(yīng)被解釋為意味著此處公開的多個(gè)步驟之中或之間的任何特定順序。初始地,硬件清單表示網(wǎng)絡(luò)和實(shí)用設(shè)備(例如,網(wǎng)絡(luò)路由器、串行接入聚集器等)和機(jī)架,其中機(jī)架可包括其他網(wǎng)絡(luò)和實(shí)用設(shè)備(例如,架頂式網(wǎng)絡(luò)交換機(jī)、串行接入設(shè)備、功率分配單元等)以及一組計(jì)算單元(例如,插入到機(jī)架中的一組刀片)。
[0091]如在框502處描繪的,方法500可涉及接收描述附加的存儲(chǔ)或計(jì)算能力以供顧客使用的依賴性方案。典型地,依賴性方案指定用于征用附加能力的邏輯制品和設(shè)備參數(shù)。方法500可進(jìn)一步涉及部分基于在依賴性方案內(nèi)接收到的信息來從一組SKU中自動(dòng)地選擇,如在框504處描述的。在一個(gè)實(shí)例中,SKU分別標(biāo)識(shí)能夠被集成在云計(jì)算網(wǎng)絡(luò)內(nèi)的預(yù)先定義的硬件群集。
[0092]在各實(shí)施例中,自動(dòng)地從一組SKU中選擇合適的SKU的處理至少包括以下步驟:使用邏輯制品來指定被預(yù)先定義的硬件群集中的一個(gè)或多個(gè)支持的網(wǎng)絡(luò)配置(參見框506);以及使用設(shè)備參數(shù)來指定被包括在預(yù)先定義的硬件群集內(nèi)的網(wǎng)絡(luò)資源(參見框508)。自動(dòng)地選擇合適的SKU的過程可進(jìn)一步包括從該組SKU中挑選合適的SKU的步驟,如在框510處描述的,其中合適的SKU—般從預(yù)先定義的硬件配置中標(biāo)識(shí)硬件清單。在操作中,硬件清單被裝備來支持指定的網(wǎng)絡(luò)配置并包括指定的網(wǎng)絡(luò)資源。
[0093]在其他實(shí)施例中,方法500被設(shè)計(jì)成從SKU中得到群集配置文件,如在框512處描述的,其中群集配置文件包括向擴(kuò)建操作者征求反饋的抽象符號(hào)表示。在從擴(kuò)建操作者征求反饋后,在服務(wù)提供者處接收到針對(duì)抽象符號(hào)表示的反饋,如在框514處描述的。典型地,反饋包括網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值。如在框516處描述的,群集配置文件可通過將網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值合并到其來更新。在功能上,經(jīng)更新的群集配置文件被用來確認(rèn)所標(biāo)識(shí)的硬件清單。
[0094]現(xiàn)在參考圖6,顯示了示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于確定硬件清單的初始拓?fù)浣Y(jié)構(gòu)的總的方法600的流程圖。初始地,如在框602處描述的,計(jì)算機(jī)化的方法600涉及訪問規(guī)范以從一組預(yù)先定義的硬件群集中選擇硬件清單。典型地,規(guī)范部分基于用戶手動(dòng)提交的偏好并且部分基于從手動(dòng)提交的偏好中自動(dòng)得到的系統(tǒng)特征。群集配置文件可根據(jù)手動(dòng)提交的偏好結(jié)合自動(dòng)得到的系統(tǒng)特征來生成,如在框604處描述的。
[0095]計(jì)算化的方法600可進(jìn)一步涉及使用群集配置文件來從用戶請(qǐng)求網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值(參見框606)以及生成描述硬件清單的拓?fù)浣Y(jié)構(gòu)的模板文件(參見框608)的步驟。在一個(gè)實(shí)例中,從網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值結(jié)合從群集配置文件中讀取的信息中生成模板文件。典型地,生成模板文件包括采用命名約定映射來將網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)抽象符號(hào)表示轉(zhuǎn)換成網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)配置設(shè)置的具體值。如在此使用的,短語“命名約定映射”一般表示用于維護(hù)和/或訪問網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)抽象符號(hào)表示和網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)配置設(shè)置的具體值之間的關(guān)聯(lián)的工具。在操作中,模板文件可被用于分配硬件資產(chǎn)和邏輯資產(chǎn)以供配置硬件清單。
[0096]一旦硬件資產(chǎn)和邏輯資產(chǎn)被分配來配置硬件清單,計(jì)算化的方法600就可進(jìn)一步涉及使用模板文件來驗(yàn)證所分配的硬件資產(chǎn)和所分配的邏輯資產(chǎn)的身份/配置,如在框610處描述的。在具體實(shí)施例中,驗(yàn)證資產(chǎn)的過程包括將具體值(例如,IP地址范圍、MAC地址)分配到邏輯資產(chǎn),并用所分配的值來對(duì)硬件資產(chǎn)進(jìn)行編程并驗(yàn)證資產(chǎn)的存在和適當(dāng)配置。在其他實(shí)施例中,計(jì)算化的方法還可涉及使用模板文件在沒有某種物理或邏輯配置的具體值的情況下進(jìn)行對(duì)硬件清單的發(fā)現(xiàn)。一般而言,如以下更加詳細(xì)討論的,進(jìn)行發(fā)現(xiàn)包括標(biāo)識(shí)硬件資產(chǎn)和邏輯資產(chǎn)的一些特征(例如,MAC地址、端口名稱)以及用所標(biāo)識(shí)的特征來更新模板文件。
[0097]參考具體實(shí)施例描述了本發(fā)明的實(shí)施例,具體實(shí)施例在所有方面都旨在是說明性的而非限制性的。在不背離本發(fā)明范圍的情況下各替換實(shí)施例對(duì)本發(fā)明的各實(shí)施例的所屬領(lǐng)域的普通技術(shù)人員將變得顯而易見。
[0098]從前面的描述可以看出,本發(fā)明很好地適用于實(shí)現(xiàn)上文所闡述的所有目的和目標(biāo),并且具有對(duì)于該系統(tǒng)和方法是顯而易見且固有的其他優(yōu)點(diǎn)??衫斫獾氖?,某些特征和子組合是有用的,并且可以加以利用而無需參考其它特征和子組合。這由權(quán)利要求所構(gòu)想的,并在權(quán)利要求的范圍內(nèi)。
【權(quán)利要求】
1.一個(gè)或多個(gè)其上包含計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在被執(zhí)行時(shí)執(zhí)行一種用于從顧客的規(guī)范中選擇硬件清單的方法,所述方法包括: 接收描述附加的存儲(chǔ)或計(jì)算能力以供所述顧客使用的依賴性方案,其中所述依賴性方案指定用于征用所述附加的能力的邏輯制品和設(shè)備參數(shù); 部分基于在所述依賴性方案內(nèi)接收到的信息來從一組庫存單元(SKU)中自動(dòng)選擇,其中所述SKU分別標(biāo)識(shí)預(yù)先定義的能被集成在云計(jì)算網(wǎng)絡(luò)內(nèi)的硬件群集,并且其中自動(dòng)選擇包括: (a)使用所述邏輯制品來指定被所述預(yù)先定義的硬件群集中的一個(gè)或多個(gè)支持的網(wǎng)絡(luò)配置; (b)使用所述設(shè)備參數(shù)來指定被包括在所述預(yù)先定義的硬件群集中的一個(gè)或多個(gè)內(nèi)的網(wǎng)絡(luò)資源;以及 (c)從所述一組SKU中選擇從所述一個(gè)或多個(gè)預(yù)先定義的硬件群集中標(biāo)識(shí)硬件清單的SKU,其中所述硬件清單支持所述網(wǎng)絡(luò)配置并包括所述網(wǎng)絡(luò)資源; 從所述SKU中得到群集配置文件,其中所述群集配置文件包括向擴(kuò)建操作者征求反饋的抽象符號(hào)表不; 從所述擴(kuò)建操作者或自動(dòng)化機(jī)制接收針對(duì)所述抽象符號(hào)表示的反饋,其中所述反饋包括網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值;以及 通過將所述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值合并到所述群集配置文件來更新所述群集配置文件,其中經(jīng)更新的群集配置文件被用于確認(rèn)所標(biāo)識(shí)的硬件清單。
2.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所選SKU表示所述硬件清單的不同硬件資產(chǎn)和不同邏輯資產(chǎn)的唯一標(biāo)識(shí)符以及它們的各自交互。
3.如權(quán)利要求2所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述方法還包括采用命名約定映射來將所述抽象符號(hào)表示轉(zhuǎn)換成網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)配置設(shè)置的具體值,并且其中所述命名約定映射表示所述抽象符號(hào)表示和所述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)配置設(shè)置的具體值之間的關(guān)聯(lián)。
4.如權(quán)利要求3所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述方法還包括: 從所述具體標(biāo)識(shí)符和從所述群集配置文件中讀取的信息中得到模板文件,其中所述模板文件描述所述硬件清單的拓?fù)浣Y(jié)構(gòu);以及 使用所述模板文件來配置所述硬件清單的所述邏輯資產(chǎn)和所述硬件資產(chǎn)。
5.如權(quán)利要求4所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述方法還包括使用所述模板文件來分配所述硬件資產(chǎn)和所述邏輯資產(chǎn)以供配置所述硬件清單。
6.如權(quán)利要求5所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,配置所述硬件清單的所述邏輯資產(chǎn)和所述硬件資產(chǎn)包括: 將具體值分配到所述邏輯資產(chǎn); 用所分配的具體值來對(duì)所述硬件資產(chǎn)進(jìn)行編程;以及 驗(yàn)證所述硬件資產(chǎn)的存在和配置。
7.一種由一個(gè)或多個(gè)處理設(shè)備實(shí)現(xiàn)的用于確定硬件清單的拓?fù)浣Y(jié)構(gòu)的計(jì)算機(jī)化的方法,所述方法包括: 訪問規(guī)范以從一組預(yù)先定義的硬件群集中選擇所述硬件清單,其中所述規(guī)范部分基于用戶手動(dòng)提交的偏好并且部分基于自動(dòng)地從所述手動(dòng)提交的偏好中得到的系統(tǒng)特征; 部分使用所述手動(dòng)提交的偏好結(jié)合所述自動(dòng)得到的系統(tǒng)特征來生成群集配置文件;使用所述群集配置文件來向所述用戶請(qǐng)求網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值或經(jīng)由自動(dòng)化機(jī)制來確定所述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值; 從所述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值結(jié)合從所述群集配置文件中讀取的信息來生成描述所述硬件清單的拓?fù)浣Y(jié)構(gòu)的模板文件,其中生成所述模板文件包括采用命名約定映射來將抽象符號(hào)表示轉(zhuǎn)換成網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)配置設(shè)置的具體值; 使用所述模板文件來分配硬件資產(chǎn)和邏輯資產(chǎn)以供配置所述硬件清單;以及將所述硬件資產(chǎn)和所述邏輯資產(chǎn)與數(shù)據(jù)中心清單內(nèi)它們先前的版本合并來創(chuàng)建所述數(shù)據(jù)中心清單的經(jīng)更新的版本。
8.如權(quán)利要求7所述的計(jì)算機(jī)化的方法,其特征在于,進(jìn)一步包括使用所述模板文件來驗(yàn)證所分配的硬件資產(chǎn)和所分配的邏輯資產(chǎn),其中驗(yàn)證所述資產(chǎn)包括: 將具體值分配到所述邏輯資產(chǎn); 用所分配的具體值來對(duì)所述硬件資產(chǎn)進(jìn)行編程;以及 驗(yàn)證所述硬件資產(chǎn)的存在和配置。
9.如權(quán)利要求7所述的計(jì)算機(jī)化的方法,其特征在于,進(jìn)一步包括使用所述模板文件來進(jìn)行對(duì)所述硬件清單的發(fā)現(xiàn),其中進(jìn)行所述發(fā)現(xiàn)包括: 標(biāo)識(shí)所述硬件資產(chǎn)和所述邏輯資產(chǎn)的特征;以及 用所標(biāo)識(shí)的特征來更新所述模板文件。
10.一種用于執(zhí)行用于從各個(gè)規(guī)范中建立硬件清單的方法的計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括耦合到計(jì)算機(jī)存儲(chǔ)介質(zhì)的一個(gè)或多個(gè)服務(wù)器,所述計(jì)算機(jī)存儲(chǔ)介質(zhì)具有存儲(chǔ)在其上的可由所述一個(gè)或多個(gè)服務(wù)器執(zhí)行的多個(gè)計(jì)算機(jī)軟件組件,所述計(jì)算機(jī)軟件組件包括: 第一擴(kuò)建機(jī)制,所述第一擴(kuò)建機(jī)制使用外部貢獻(xiàn)的顧客指定的規(guī)范以及部分地基于所述顧客指定的規(guī)范來內(nèi)部生成的平臺(tái)專用規(guī)范來生成群集配置文件,其中生成所述群集配置文件包括: (a)使用所述顧客指定的規(guī)范和所述平臺(tái)專用規(guī)范來從一組預(yù)先定義的硬件群集中選擇硬件清單; (b)從保持在描述所選硬件清單的庫存單元(SKU)中的數(shù)據(jù)得到所述群集配置文件; (c)用用作針對(duì)缺失的預(yù)期值的占位符的抽象符號(hào)表示來填充所述群集配置文件,其中所述抽象符號(hào)表示用作向所述顧客或經(jīng)由自動(dòng)化機(jī)制來征求網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值;以及 第二擴(kuò)建機(jī)制,所述第二擴(kuò)建機(jī)制通過使用命名約定映射將所述抽象符號(hào)表示轉(zhuǎn)換成網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)配置設(shè)置的具體值來從所述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)值和從所述群集配置文件中提取的信息中生成模板文件,其中所述模板文件被用于分配所述硬件清單的硬件資產(chǎn)和邏輯資產(chǎn)。
【文檔編號(hào)】G06Q10/08GK104395888SQ201380032832
【公開日】2015年3月4日 申請(qǐng)日期:2013年6月20日 優(yōu)先權(quán)日:2012年6月22日
【發(fā)明者】M·E·朱伯蘭, A·格沙夫特, W·胡, V·齊布林克 申請(qǐng)人:微軟公司