云計算戳記的自動化的擴建的制作方法
【專利摘要】本發(fā)明提供了用于自動地配置硬件清單以無縫地與數據中心的云計算結構進行交互的方法、系統(tǒng)和計算機可讀介質。初始地,通過分別經由基于串行的連接和基于網絡的連接向網絡設備發(fā)送通信和接收通信來定位硬件清單內的硬件設備。在硬件設備定位期間收集的信息針對模板文件來交叉參考以供確認的目的。該信息還被用于生成硬件清單的基礎結構狀態(tài)。該基礎結構狀態(tài)與結構的控制器共享以將硬件清單集成在其中。在集成之際,在被指定為數據中心的結構計算群集的硬件清單上提供服務和安全措施以便擴展結構的可到達性,而在硬件清單的可用部分上部署并啟用由結構控制器管理的分布式服務。
【專利說明】云計算戳記的自動化的擴建
【背景技術】
[0001]一般而言,分布式服務應用被主存(host)在云計算網絡中(跨多個節(jié)點),且主要是為了通過服務一應用組件的冗余性、動態(tài)可縮放性以及自動復原功能來促進高可用性。這些服務應用通常被劃分成多個部分,這多個部分包括一組服務一應用組件。這些服務一應用組件可在一個或多個數據中心的節(jié)點(例如,物理機和虛擬機)中主存。通常,存在以下需要:創(chuàng)建或擴展這些數據中心的計算/存儲能力以適應服務應用的使用需要并幫助確保整個服務應用不會由于缺乏來自底層硬件的支持而變得不可用。
[0002]數據中心的擴展可涉及各個情況,諸如配置新的一組硬件或重新配置現(xiàn)有的一組硬件來與數據中心內現(xiàn)有的節(jié)點協(xié)同操作。在一個示例中,新的一組機架(每個機架都適應多個刀片)可被定為用于集成到與數據中心節(jié)點互連的結構(fabric)中的目標。該結構幫助確??绗F(xiàn)有節(jié)點分布的服務一應用組件和新添加的硬件(諸如機架、網絡設備(L2/3交換機、路由器、負載平衡器)、功率和串行設備以及刀片)能夠交互,就好像每個服務應用在其自己獨立的計算設備上運行。
[0003]當進行數據中心的擴展時,將該新的一組硬件集成到該結構的步驟當前是手動進行的。這些手動進行的步驟通常是耗時、低效且在結果方面不一致的,由此,可能導致服務在該結構內中斷。因此,擴建一組指定的硬件以供部署到結構中的自動化的端對端過程將幫助實現(xiàn)高效的、穩(wěn)健的且可縮放的框架以供擴展數據中心的計算/存儲能力。
[0004]概述
[0005]提供本概述是為了以簡化的形式介紹將在以下【具體實施方式】中進一步描述的概念。本
【發(fā)明內容】
不旨在標識出所要求保護的主題的關鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。
[0006]本發(fā)明的各實施例涉及用于實現(xiàn)自動化的引導進程的系統(tǒng)、方法和計算機存儲介質,該引導進程驗證未被配置的硬件的清單的物理拓撲結構并將硬件清單集成/部署為數據中心的云計算結構內的結構計算群集(FCC)。在其中實現(xiàn)引導進程的自動化的方式避免從手動執(zhí)行的用于重新配置數據中心或將能力添加到數據中心所引起的有問題的影響(以上討論的)。因此,在本發(fā)明的各實施例中,自動化的引導進程使得能夠擴建硬件清單并將其以一致且高效的方式合并到云計算結構中。
[0007]一般而言,在接收到創(chuàng)建或擴展數據中心的計算/存儲能力的指示之際觸發(fā)引導進程。在各實施例中,數據中心包括多個節(jié)點(例如,物理機或虛擬機)、網絡設備、串行設備、功率設備以及可經由云計算結構操作地互連和管理的其他裝置。結構提供對分布在數據中心內的服務應用的底層支持。尤其,可通過結構的控制器來管理這些服務應用分布在節(jié)點中的各部分(例如,角色實例或程序組件)。結構控制器一般負責圍繞以下的各種職責:監(jiān)視、維護和管理計算機資源、網絡設備、串行設備和支持結構的底層功能性的功率單元的健康。
[0008]在一示例性實施例中,引導進程在被事件(例如,對于擴展數據中心的能力的調用)觸發(fā)之際在獨立的階段中執(zhí)行。這些階段分別通過執(zhí)行自包含工作流來實現(xiàn)并一般地在圖2處描繪。初始地,可進行共同創(chuàng)作階段來指定硬件清單的初始設置。這個階段涉及用于實現(xiàn)以下過程中的一個或多個的工作流:接收指定在顧客的場所上要求的附加能力的顧客的依賴性方案;標識滿足該依賴性方案的硬件;與顧客對接以收集用于配置所標識的硬件的值;從值中生成符號表示;在遞送硬件之際使用該符號表示來確認配置;以及準備記錄拓撲結構的布局的模板文件。
[0009]在準備模板文件之際,涉及網絡設備和硬件設備的發(fā)現(xiàn)和確認的階段可開始。用于為這些設備中的每一個執(zhí)行發(fā)現(xiàn)和確認的工作流一般涉及經由基于網絡的連接和/或基于串行的連接與網絡設備通信以發(fā)現(xiàn)圍繞硬件設備的物理拓撲結構(例如,機架間位置和接線安排)的用戶設備。這些用戶設備可針對模板文件來交叉參考所發(fā)現(xiàn)的物理拓撲結構以便確認硬件設備。一旦拓撲結構物理/邏輯配置被完整地生成,對新的結構實例的部署或對現(xiàn)有結構實例的擴展可開始。
[0010]接著,用戶設備可發(fā)起與數據中心的云計算結構的通信以實現(xiàn)將數據中心的結構內的硬件清單部署為結構計算群集(FCC)并對FCC提供安全性的階段。這些階段涉及支持設置硬件群集來與資源和數據中心內的現(xiàn)有硬件進行交互的各個工作流。此外,這些工作流可包括以下步驟:在驗證硬件清單的物理拓撲結構之際從收集的信息中準備基礎結構狀態(tài);通過將基礎結構狀態(tài)與結構控制器共享來將硬件清單集成到數據中心的結構中;在硬件清單內部署在結構上運行的服務;以及將硬件清單指定為數據中心FCC。因此,當接連實現(xiàn)時,引導進程的這些階段推動用于擴建硬件清單和用于將硬件清單集成到數據中心的結構內的端對端自動化。該端對端自動化可進一步在數據中心內預先建立的硬件清單內(例如,將現(xiàn)有的FCC重新配置為表示數據中心內新的FCC實例)或在對于數據中心而言外部的站點處(例如,將遠程硬件清單集成為數據中心內新的FCC實例)實現(xiàn)高效、穩(wěn)健和可縮放的框架。
[0011]附圖簡要說明
[0012]以下參考附圖詳細描述本發(fā)明的實施例,附圖中:
[0013]圖1是適用于實現(xiàn)本發(fā)明的各實施例的示例性計算環(huán)境的框圖;
[0014]圖2是顯示根據本發(fā)明的一實施例的用于將硬件清單合并到數據中心的云計算結構中的引導進程的示例性階段的流程圖;
[0015]圖3是示出用于發(fā)現(xiàn)、確認和配置硬件清單的第一類型的拓撲結構的示例性驗證生態(tài)系統(tǒng)的圖示表示,該驗證生態(tài)系統(tǒng)適用于在實現(xiàn)本發(fā)明的各實施例中使用;
[0016]圖4是示出用于發(fā)現(xiàn)、確認和配置硬件清單的第二類型的拓撲結構的示例性驗證生態(tài)系統(tǒng)的圖示表示,該驗證生態(tài)系統(tǒng)適用于在實現(xiàn)本發(fā)明的各實施例中使用;
[0017]圖5是示出用于在數據中心的云計算結構中集成和部署硬件清單的示例性引導生態(tài)系統(tǒng)的圖形表示,該引導生態(tài)系統(tǒng)適合于在實現(xiàn)本發(fā)明的各實施例中使用;
[0018]圖6是顯示根據本發(fā)明的一實施例的用于發(fā)現(xiàn)和確認被合并在數據中心的拓撲結構內的硬件清單的總的方法的流程圖;以及
[0019]圖7顯示了根據本發(fā)明的一實施例的用于在將新的硬件清單擴建到數據中心的結構計算群集(FCC)之際部署結構實例或在擴展數據中心內現(xiàn)有的FCC戳記之際添加所發(fā)現(xiàn)的和確認的新的/重新定位的硬件清單的總的方法的流程圖。
【具體實施方式】
[0020]本文中用細節(jié)來描述本發(fā)明各實施例的主題以滿足法定要求。然而,該描述本身并非旨在限制本專利的范圍。相反,發(fā)明人已設想所要求保護的主題還可結合其它當前或未來技術以其它方式來實施,以包括不同的步驟或類似于本文中所描述的步驟的步驟組口 ο
[0021]一般而言,本發(fā)明的各實施例介紹了在云計算結構中用于通過采用引導進程來自動地將未細化的一組硬件或硬件清單與數據中心合并的技術。如在此使用的,短語“硬件清單”不旨在限制到任何特定的組件配置,而是泛指可最終被集成到結構中的任何設備匯編(例如,網絡設備、計算設備、任何電源設備)。在一個實例中,硬件清單可位于由云計算網絡服務提供商的顧客管理的私有企業(yè)網絡中,其中將引導進程實現(xiàn)為這種類型的硬件清單上的裝置允許數據中心和私有企業(yè)網絡之間的遠程可到達性。在另一實例中,硬件清單可位于由云計算網絡服務提供商管理的數據中心內,其中實現(xiàn)引導進程允許擴建數據中心的本地存儲/計算能力。
[0022]如將在以下更完整描述的,引導進程使用一個或多個工作流引擎(在圖5的用戶設備310上運行)來特征化端對端自動化,該一個或多個工作流引擎驅動對包括引擎進程的各個階段的編排和執(zhí)行。在各實施例中,這些階段可被實現(xiàn)為獨立的工作流,使得每個階段可被分開地調用和驅動來完成,而無需依賴另一階段或工作流的并發(fā)操作。通過允許各階段以自包含形式來獨立地實現(xiàn),每個階段一致地將遞增的改進遞送到硬件清單,而沒有對先前或后續(xù)工作流的任何不利交互。
[0023]在簡要描述了本發(fā)明的各實施例的概覽后,以下描述適于實現(xiàn)本發(fā)明的各實施例的示例性操作環(huán)境。
[0024]操作環(huán)境
[0025]首先具體參考圖1,示出了用于實現(xiàn)本發(fā)明的各實施方式的示例性操作環(huán)境,并將其概括地指定為計算設備100。計算設備100只是合適的計算環(huán)境的一個示例,并且不旨在對本發(fā)明的使用范圍或功能提出任何限制。也不應該將計算設備100解釋為對所示出的任一組件或其組合有任何依賴性或要求。
[0026]本發(fā)明可以在由計算機或諸如個人數據助理或其他手持式設備之類的其他機器執(zhí)行的計算機代碼或機器可使用指令(包括諸如程序模塊之類的計算機可執(zhí)行指令)的一般上下文中描述。一般而言,包括例程、程序、對象、組件、數據結構等等的程序模塊是指執(zhí)行特定任務或實現(xiàn)特定抽象數據類型的代碼。本發(fā)明可以在各種系統(tǒng)配置中實施,這些系統(tǒng)配置包括手持式設備、消費電子產品、通用計算機、專用計算設備等等。本發(fā)明也可以在其中任務由通過通信網絡鏈接的遠程處理設備執(zhí)行的分布式計算環(huán)境中實施。
[0027]參考圖1,計算設備100包括直接或間接耦合以下設備的總線110:存儲器112、一個或多個處理器114、一個或多個呈現(xiàn)組件116、輸入/輸出(I/O)端口 118、輸入/輸出組件120、和說明性電源122??偩€110表示可以是一條或多條總線(諸如地址總線、數據總線、或其組合)。雖然為了清楚起見利用線條示出了圖1的各框,但是實際上,各組件的輪廓并不是那樣清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。例如,可以將諸如顯示設備等呈現(xiàn)組件認為是I/O組件。而且,處理器也具有存儲器。發(fā)明人認識到這是本領域的特性,并重申,圖1的圖示只是例示可以結合本發(fā)明的一個或多個實施方式來使用的示例性計算設備。諸如“工作站”、“服務器”、“膝上型計算機”、“手持式設備”等分類之間沒有區(qū)別,它們全部都被認為是在圖1的范圍之內的并且被稱為“計算設備”。
[0028]計算設備100通常包括各種計算機可讀介質。計算機可讀介質可以是可由計算設備100訪問的任何可用介質,而且包含易失性和非易失性介質、可移動和不可移動介質。作為示例而非限制,計算機可讀介質可包括計算機存儲介質和通信介質。計算機存儲介質包括以用于存儲諸如計算機可讀指令、數據結構、程序模塊或其它數據等信息的任何方法或技術實現(xiàn)的易失性和非易失性、可移動和不可移動介質。計算機存儲介質包括,但不限于,RAM、ROM、EEPR0M、閃存或其它存儲器技術、CD-ROM、數字多功能盤(DVD)或其它光盤存儲、磁帶盒、磁帶、磁盤存儲或其它磁性存儲設備、或能用于存儲所需信息且可以由計算設備100訪問的任何其它介質。通信介質一般將計算機可讀指令、數據結構、程序模塊或其它數據包含在經調制的數據信號中,諸如載波或其它傳輸介質并且包括任何信息傳遞介質。術語“已調制數據信號”是指使得以在信號中編碼信息的方式來設置或改變其一個或多個特征的信號。作為示例而非限制,通信介質包括有線介質,諸如有線網絡或直接線路連接,以及無線介質,諸如聲學、RF、紅外線和其他無線介質。上述的任意組合也應包含在計算機可讀介質的范圍內。
[0029]存儲器112包括易失性和/或非易失性存儲器形式的計算機存儲介質。存儲器可以是可移動的、不可移動的、或其組合。示例性硬件設備包括固態(tài)存儲器、硬盤驅動器、光盤驅動器等。計算設備100包括從諸如存儲器112或I/O組件120等各種實體讀取數據的一個或多個處理器。呈現(xiàn)組件116向用戶或其他設備呈現(xiàn)數據指示。示例性呈現(xiàn)組件包括顯示設備、揚聲器、打印組件、振動組件等等。
[0030]I/O端口 118允許計算設備100邏輯上耦合至包括I/O組件120的其他設備,其中某些設備可以是內置的。說明性組件包括話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀、打印機、無線設備等等。
[0031]引導進程的各階段
[0032]引導進程的用于建立硬件清單和數據中心的云計算結構之間的互操作的各階段現(xiàn)在將參考圖2來討論。一般而言,圖2示出了根據本發(fā)明的一實施例的顯示用于將硬件清單合并到數據中心的結構中的引導進程的5個示例性階段的流程圖200。在各實施例中,使用以下討論的各階段來將硬件清單擴建成結構計算群集(FCC)可通過用戶設備(參見圖3的附圖標記310)上的配置軟件(參見圖3的附圖標記311)來實現(xiàn)。用戶設備以及硬件清單、數據中心和/或其他網絡設備一起協(xié)同工作以形成各個生態(tài)系統(tǒng),每個生態(tài)系統(tǒng)實現(xiàn)引導進程的一個或多個階段。
[0033]參考圖2,如在框210中描繪的,引導進程的第一階段包括用于指定硬件清單的初始設置的工作流。一般而言,該工作流導致生成需要被用于在框230和240之間部署結構網絡的邏輯/物理配置。在第一階段期間,該工作流可涉及在將硬件清單發(fā)布為數據中心的FCC之前獲得關于該硬件清單的初始配置的了解。例如,第一階段工作流可嘗試確認硬件清單的初始配置以確保它對應于預期的硬件布局(例如,設備位置、IP地址、VLAN以及接線(wiring))并確保它滿足由數據中心實施的特定規(guī)則(例如,標記的不安全組件沒有而理想的通信組件存在)。
[0034]在一示例性實施例中,第一階段的工作流涉及驗證初始的邏輯資源以及這些資源的適當規(guī)范匹配支持的配置。驗證的一個實例可涉及確定在配置中是否提供了足夠的網絡資源(例如,IP地址、VLAN、端口等)來與規(guī)范所表達的理想配置匹配。例如,第一階段工作流可驗證每個機器至少被提供I個IP地址,如果這樣的條件存在于規(guī)范內。
[0035]驗證的另一實例可涉及確定是否存在配置與已知現(xiàn)有范圍的重疊(例如,被意外提供的當前正在使用的資源)。驗證的還一實例可涉及確定所計劃的一組資源是否構成支持的配置(例如,是否有足夠的每個需要的資源來滿足規(guī)范、是否支持這些類型的資源的組合、所檢測到的TOR交換機是否兼容所檢測到的刀片)。驗證的另一實例涉及確定是否需要與終端用戶/顧客的交互來收集執(zhí)行所需要的資源(例如,口令、地址、IP塊、VLAN等)。
[0036]如在框220中描繪的,可在硬件清單上實現(xiàn)用于發(fā)現(xiàn)、確認網絡設備和接線檢查的第二階段。在各實施例中,第二階段的工作流可涉及分別經由基于串行的連接和基于網絡的連接與架頂式(TOR)交換機和網絡設備的串行接入設備進行通信。此外,第二階段工作流可涉及通過連接中的一個或多個來發(fā)送向TOR交換機和/或串行接入設備提示選擇性地引起硬件設備向用戶設備發(fā)送通信以供分析的指令并可涉及使用功率分配單元(PDU)來選擇性地對設備循環(huán)上電以重置它們的狀態(tài)。這一分析可包括發(fā)現(xiàn)和確認硬件設備,如在框230中描繪的。即,引導進程的第三階段采用從硬件設備輸送到用戶設備的數據分組。第三階段的工作流可涉及解析數據分組的內容(例如,有效載荷和頭部)以確定硬件設備的位置或缺失、硬件設備的配置以及到硬件設備的內部連接。
[0037]在各實施例中,第三階段工作流還可向各個設備和/或刀片發(fā)送特定工作流、工具等以執(zhí)行對設備/刀片本身內硬件和/或軟件組件(例如,B1S和設備固件)的確認、更新和/或配置。在其他實施例中,第三階段的工作流可執(zhí)行“煙霧測試(smoke test)”,其用于使用設備/刀片來驗證組件是可工作的并且滿足結構要求。此外,第三階段工作流可標識設備/刀片的型號、制造商以及固件版本以供記錄和最終使用。
[0038]如在框240中描繪的,引導進程的第四階段涉及將清單部署為數據中心的結構內的FCC實例。在一示例性實施例中,第四階段工作流可涉及與結構共享硬件清單的基礎結構狀態(tài)(例如,在至少一個先前的階段中生成的)并在硬件清單上安裝允許與結構進行交互的服務。將服務安裝到硬件清單上可對應于多個場景之一,其將在以下段落中討論。如在框250中描繪的,引導進程的第五階段涉及群集范圍的確認以及對硬件清單的安全措施的提供,一旦該硬件清單被指定為FCC實例的話。在一示例性實施例中,第五階段工作流可涉及在與新的FCC實例相關聯(lián)的秘密存儲與結構的控制器之間傳遞數據(例如,設備憑證、原始證書、私鑰和口令)。
[0039]雖然描述了引導進程的5個不同階段,但是應當了解并理解,可使用工作流的幫助提前數據中心的結構內硬件清單的合并的其他類型的合適安排,并且本發(fā)明的實施例并不限定為在此描述的5個階段。例如,本發(fā)明的各實施例構想將單個階段(例如,階段五)的工作流劃分到能以互斥方式執(zhí)行的分開的工作流(例如,群集范圍確認和安全性提供)中。
[0040]現(xiàn)在將描述用于將服務安裝到硬件清單之上的多個場景的示例。在一個場景中,硬件清單表示對于數據中心是新的且先前沒被配置的裝備。因此,新的硬件被配置成與數據中心的現(xiàn)有資源透明地操作并且作為新的FCC實例或由云計算結構的控制器管理的云計算戳記干凈地集成到數據中心中。
[0041]在另一場景中,硬件清單表示在數據中心請求附加的存儲/計算能力之際被添加的數據中心的本地擴展。本地擴展可包括擴建以允許結構控制器來管理的刀片的機架。在各實施例中,擴建的過程涉及發(fā)現(xiàn)機架內刀片的接線模式、針對預定的模板文件來確認該接線模式以及批準刀片用于合并進入數據中心內。實際上,擴建刀片幫助確保機架內任何潛在的接線問題或硬件問題(例如,物理缺陷缺失部分、無效的部分版本或不合適的配置)被檢測并解決,從而確保刀片在數據中心內的合并將不會不利地影響正由數據中心提供到在其上運行的服務的實時底層支持。
[0042]在還一場景中,硬件清單被配置有其自己的云計算結構的實例,該云計算結構與當前與數據中心的資源相互耦合的結構分開并從其劃分。由此,在將硬件清單合并到數據中心之際,數據中心將運行至少兩個用于將分配到被新引導的硬件清單的服務與被分配到原始數據中心的服務相隔離的云計算結構(例如,操作系統(tǒng))。通過這種方式,分開的結構可專用于特定顧客的服務,從而虛擬地和物理地從數據中心內的其他服務(例如,數據中心容器內的擴建/引導)中排除一些服務/保護一些服務免受其他服務損害。
[0043]在另一場景中,稱為返回制造商授權(RMA)場景,硬件清單表示被認為不被數據中心的結構的控制器(此后稱為“結構控制器”)可到達的(例如,不可操作的或斷開的)(諸)計算設備或其他設備(例如,網絡、PDU以及串行)。在對硬件的生命周期管理期間,結構控制器可周期性地請求被聚集在數據中心內的計算設備(例如,物理機和/或虛擬機)的狀態(tài)。請求狀態(tài)可涉及將請求傳遞到分別在計算設備上運行的代理,并接收作為返回的健康信息。如果結構控制器由于任何原因而不能到達特定的計算設備(例如,將計算設備互連到結構控制器的網絡設備發(fā)生故障),則結構控制器可發(fā)出指示硬件清單不可到達的敬生目口 ο
[0044]在將硬件清單識別為不可到達之際,結構控制器可發(fā)起自動復原過程。在各實施例中,自動復原過程包括至少撤離和確認的步驟,其中確認通常也在引導進程的一個或多個階段中實現(xiàn)。撤離步驟可涉及將消耗不可到達的硬件清單上的資源的服務(例如,顧客擁有的應用和基于系統(tǒng)的應用)轉移到替代硬件清單。由此,撤離確保自動修復過程對于數據中心的顧客而言是透明的,這是因為在確認和維護期間,對他們的服務的可見性不受影響。
[0045]一旦撤離被成功執(zhí)行,就調用確認步驟。在一示例性實施例中,確認步驟包括實現(xiàn)引導進程的驗證駐留在不可到達硬件清單內組件的配置設置并針對不可到達硬件清單的預期物理拓撲結構(例如,在模板文件內提供的)來交叉參考不可到達硬件清單的所檢測到的物理拓撲結構(例如,組件之間的鏈接和設備之間的接線)的工作流。由此,確認步驟確定不可到達硬件清單是否被適當地配置來與結構控制器的驅動程序進行交互,其中驅動程序被設計為與特定硬件配置交互。
[0046]如在以下更完整討論的,確認步驟涉及將不可到達硬件清單離線,這是預先進行撤離步驟的理由。一般而言,由于發(fā)生若干個將中斷服務在不可到達硬件清單的設備上和/或數據中心的設備上的執(zhí)行的破壞性動作,將不可到達硬件清單離線。這些破壞性動作可包括以下各項中的一個或多個:通過請求串行接入設備來選擇性地(經由rou)將功率驅動到刀片來操縱到刀片的功率流(例如,開啟和關閉);從發(fā)送自被操縱的刀片的通信中收集信息;從在該通信內發(fā)送的數據分組的內容中提取信息(例如,刀片的MAC地址);以及通過針對模板文件和執(zhí)行確認來評估所提取的信息以驗證刀片的位置和接線。應當注意,串行接入設備通常被用于帶外通信,而TOR交換機采用帶內通信(例如,經由以太網)。
[0047]在選擇性地將功率驅動到刀片的一示例中,結構控制器可關閉到饋送未知/無效硬件清單的刀片的端口范圍的功率。接著,結構控制器可直接或間接地指示PDU開啟到鏈接到主體刀片的所選端口的功率。結構控制器接著可從當前正在發(fā)送通信的主體刀片發(fā)送的數據分組中讀取MAC地址。由此,當所選端口對應于模板文件的預期端口時,主體刀片的連接性被驗證。除了驗證所選端口以供接收來自PDU的功率之外,確認步驟可進一步涉及TOR交換機,該TOR交換機可確定(被分配到未知硬件清單的刀片的端口范圍內的)哪個端口被連接到主體刀片。該確定由標識端口范圍中正接收從主體刀片遞送的數據分組的主體端口來作出。
[0048]用于共同創(chuàng)作階段的工作流
[0049]共同創(chuàng)作階段的工作流(參考圖2的框210)促進指定硬件清單的原始設置并且作為結果,生成在確認期間被咨詢的模板文件。初始地,在發(fā)出硬件清單之前,原始設備制造商(OEM)被期望(例如,作為貨物合同的一部分)來驗證設備間接線。這可通過個別地分開調用工作流的前三個階段(在圖2的框210、220、230處來描繪)來完成。此外,OEM被期望來采用提供描述安裝在硬件清單的設備內的軟件的屬性的清單的工具。接線驗證和軟件屬性清單被與硬件清單相關聯(lián)地維護以協(xié)助對合適硬件清單的選擇。在一些實施例中,OEM可將硬件清單設置為零配置。
[0050]在共同創(chuàng)作階段工作流的操作中,可自動地或由管理員手動地啟動對硬件清單的訂購以補救存儲/計算能力缺陷。在一個實例中,啟動訂購涉及用關于用于滿足能力缺陷的一組裝備(例如,設備、機架和軟件)的非特定數據來生成表單(例如,XML文檔)。初始值可被自動地或被管理員手動地輸入到表單上,其中初始值反映特定于數據中心的細節(jié)(例如,VLAN范圍、端口范圍和IP地址)或顧客定義的拓撲結構方案。拓撲結構方案定義硬件的類型、數量和接線模式以及硬件清單的網絡設備并指示被用于運行設備的附加信息(例如,機架的數量、VLAN范圍、端口的數量以及支持資源)。
[0051]在輸入值之際,表單可被轉換成符號表不。符號表不用作裝備(例如,設備)的以及它們之間路由(例如,接線)的高級、邏輯藍圖。例如,符號表示可指示哪些裝備被分組到共同的VLAN中。
[0052]符號表示可基于該場景被發(fā)送到OEM、顧客或管理員以選擇適當的硬件清單。在一個實例中,對適當的硬件清單的選擇包括將符號表示與和硬件清單相關聯(lián)地維護在OEM處的接線驗證和/或軟件屬性清單進行比較。在選擇適當的硬件清單之際,可使用由顧客或管理員提供到OEM的輕量軟件來檢查所選的硬件清單。在各實施例中,輕量軟件還可在硬件清單到達數據中心之際(其發(fā)生在OEM移交之前)在遞送底座處運行。這種早期檢查可檢測可能在運輸期間已經被引入到硬件清單的任何問題。
[0053]一般而言,輕量軟件實現(xiàn)可在硬件清單設備上運行的一組任務,而無需知曉這些設備的IP或MAC地址。在操作中,輕量軟件在發(fā)貨之前在OEM處驗證物理接線,其中驗證咨詢符號表示以確保選擇是適當的。偶爾地,輕量軟件驗證可被用作圖2的框220和230處描述的階段的替換實現(xiàn),其中網絡檢查被改變使得不需要可全局訪問的IP地址。
[0054]在從OEM發(fā)貨后,管理員在收取硬件清單的遞送之際可視覺上確認設備以及設備的接線滿足符號表示。此外,管理員可視覺上檢查硬件清單的接線(例如,串行和網絡電纜連接),根據該檢查來確定硬件清單的真實值(例如,端口號、IP地址、VLAN成員資格以及設備位置)并用真實值來替換/轉換符號表示內輸入的初始值。除了管理員的手動檢查之夕卜,如果用于網絡設備的設備驅動程序可用,則檢查可是自動化的,其中自動化可被用于依照符號表示規(guī)范來配置網絡設備。這個具有被從遞送的硬件清單中挖掘的真實值替換的或被轉換到從遞送的硬件清單中挖掘的真實值的初始值的符號表示在此被稱為“模板文件”。如將在以下更完整討論的,模板文件被用在引導進程的后續(xù)階段中以指示用戶設備如何被連接到硬件清單以及提供硬件清單被適當配置的保證。
[0055]驗證生態(tài)系統(tǒng)的體系架構
[0056]現(xiàn)在將參考圖3和圖4來討論發(fā)現(xiàn)、確認和配置網絡和硬件清單的硬件設備的驗證生態(tài)系統(tǒng)的體系架構。一般而言,圖3描繪了示出用于發(fā)現(xiàn)、確認和配置硬件清單360的第一類型的拓撲結構的驗證生態(tài)系統(tǒng)300的圖形表示,而圖4描繪了示出用于發(fā)現(xiàn)、確認和配置硬件清單360的第二類型的拓撲結構的驗證生態(tài)系統(tǒng)400的圖形表示。
[0057]初始地,參考圖3,驗證生態(tài)系統(tǒng)300包括通信地與硬件清單360的各組件耦合的用戶設備310。在一示例性實施例中,通信耦合被組織到至少一個基于網絡的連接和基于串行的連接中。如在圖3中示出的,基于串行的連接涉及用戶設備310和串行接入設備361以及362之間經由串行聚集器320的通信路徑,其中串行聚集器320負責將指令從用戶設備310適當地分發(fā)到合適的串行接入設備(例如,通過對從用戶設備310流傳輸的數據分組內攜帶的地址進行處理)。基于網絡的連接涉及用戶設備310和架頂式(TOR)交換機350、351和352之間經由L3聚集器交換機330的通信路徑,其中L3聚集器交換機330負責將數據分組從TOR交換機350、351和352適當地遞送到用戶設備310 (例如,聚集來自多個網絡設備的數據分組),如和接入路由器340相反。應當注意,與TOR交換機350、351和352的通信也可經由串行聚集器320來完成。在操作中,接入路由器340用作現(xiàn)有基礎結構和硬件清單360之間的上行鏈路。因此,當如在圖3中指示的所呈現(xiàn)的可互操作時,接入路由器340用于將硬件清單360從現(xiàn)有基礎結構的其余部分以及因特網中隔離出來。如在以下更完整討論的,通過確保沒有廣播通信通過該上行鏈路進入或離開,接入路由器340幫助否定對于當前運行在現(xiàn)有基礎結構上的外部服務的任何影響。
[0058]通過這種方式,驗證生態(tài)系統(tǒng)300以自包含的方式操作,該自包含的方式將消息收發(fā)限制到用戶設備310和硬件清單360之間的互相通信,以便確保被擴建的硬件清單360和現(xiàn)有基礎結構(例如,數據中心550)之間的適當隔離。這種隔離在至少以下兩個方面是有用的:在引導進程期間通過限制外部干擾來提供更高的可靠性,以及確保在現(xiàn)有基礎結構內的任何當前活動的硬件不受引導進程的影響。在各實施例中,該隔離被配置為用作分隔現(xiàn)有基礎結構和硬件清單360的虛擬層的安全邊界,硬件清單360不被認為可信直到各階段的每個階段成功。因此,引導進程本身不依賴于現(xiàn)有基礎結構的安全性上下文一一般而言,在引導進程的最后階段期間(在確認和提供階段之前),安全性憑證/令牌被設置。
[0059]現(xiàn)在將討論驗證生態(tài)系統(tǒng)300的配置。初始地,生態(tài)系統(tǒng)300包括用于鏈接到硬件清單360內的機架301、302和303并控制其功能的用戶設備310。關于機架301 (例如,高密度機架),存在一個或多個功率分配單元(PDU) 381和382、計算單元(例如,刀片371-374)以及網絡設備(例如,TOR交換機350、上層串行接入設備361和下層串行接入設備362)。應當理解,每個機架可以有附加的TOR交換機(例如,上層和下層TORSI)。計算設備371-374被設計為用于實現(xiàn)計算/存儲任務的處理器并被OEM配置為在分別接收到功率之際個別地生成數據分組,而PDU被設計為選擇性地將功率提供到計算設備371-374。TOR交換機350被配置用于經由基于網絡的連接來發(fā)送數據分組,而串行接口設備361和362被配置用于在經由基于串行的連接接收指令之際調用對數據分組的生成。在各實施例中,串行接入設備362可被用于配置機架內的設備(例如,H)U、TOR交換機和刀片)。
[0060]用戶設備310包括被設計來驅動至少引導進程的初始階段的配置軟件311。配置軟件311經由基于網絡的連接(帶內信道)通信地耦合到TOR交換機350并經由基于串行的連接(帶外信道)通信地耦合到串行接入設備361和362。在各實施例中,引導進程的初始階段包括:發(fā)現(xiàn)網絡設備(TOR交換機350和串行接入設備361和362)以及該組刀片(計算單元371-374);并通過將數據分組內攜帶的信息針對描述機架301的物理拓撲結構的模板文件312來比較以確認該組刀片的位置。如以上討論的,在完成指定硬件清單360的初始設置的階段之際生成模板文件312。串行接入設備361和362被進一步配置成從配置軟件接收指令并在處理指令之際分別控制TOU381和382。在一個實例中,控制TOU381和382涉及向其傳達指令。在接收并讀取指令之際,PDU381和382可被配置成將功率遞送到計算設備371-374的至少一個所選刀片并對計算設備371-374的至少一個未被選擇的刀片扣留功率。作為響應,(諸)所選刀片可開始對數據分組的生成,數據分組在被路由到配置軟件之前在TOR交換機350處被聚集并隨后在L3聚集器交換機330處被聚集。另一方面,未被選擇的刀片將可能放棄發(fā)送數據分組。由此,配置軟件能夠根據指令所選的刀片的位置和在機架301內生成的數據分組的始發(fā)位置之間的比較來確認網絡設備350、361和362、計算設備371-374和TOU381和382之間的內部連接。附加地,計算設備371-374可被配置成經由串行輸出將數據發(fā)射到串行接入設備361和362,該串行接入設備361和362接著能夠確認從刀片到串行路徑以及到TOU381和382的內部連接。
[0061]雖然已經描述了網絡設備350、361以及362的各種不同的配置,但是應當理解并了解,可使用分發(fā)或聚集消息的其他類型的合適的設備和/或機器,本發(fā)明的各實施例不限于在此描述的串行接入設備361和362以及TOR交換機350。例如,可對整個機架301提供單個串行接入設備,其中串行接入設備用作到TOU381和382的串行連接/接口以及用作到每個刀片的串行連接/接口。在另一實例中,串行接入設備和PDU可被組合到單個設備中。在另一實例中,TOR交換機350可被具有以太網接口能力的專用刀片替換。因此,可使用任意數量的網絡設備來實現(xiàn)發(fā)現(xiàn)和確認階段,使得至少一個網絡設備包括用于網絡通信的帶內能力并且至少一個網絡設備包括用于串行通信的帶外能力。或者,如果帶外能力經由以太網被采用,那么可使用次級網絡交換機來替代串行設備。通過這種方式,帶內能力補充帶外能力并允許對網絡設備的調試和診斷以及在能力之一離線的情況下允許對計算設備371-374的繼續(xù)訪問。
[0062]本領域普通技術人員可以理解和明白,圖3中示出的生態(tài)系統(tǒng)300僅僅是用于實現(xiàn)引導進程的各階段的環(huán)境的一個合適的部分并且不旨在對本發(fā)明的各實施方式的使用范圍或功能提出任何限制。生態(tài)系統(tǒng)300也不應解釋為具有與其中示出的任何單個資源或資源的組合有關的任何依賴性或要求。此外,盡管為了清楚起見用線條示出了圖3的各個框,但是在實際上,各組件的輪廓并不是那樣清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。
[0063]硬件清單360包括經由基于串行的連接和/或基于網絡的連接互連到用戶設備310的各個裝備/資源。如在此描述的,這種裝備/資源可包括軟件組件(例如,安裝在網絡設備內的)以及有形硬件元件,諸如機架301、302和303和用戶設備310。裝備/資源可跨各個物理資源被可分布地放置,由此,用戶設備310可通過發(fā)現(xiàn)和確認階段(參見圖2的附圖標記220和230)來識別裝備/資源的位置以便建立它們之間的通信。此外,可提供通過連接裝備/資源以及引導進程所要求的任何其他元件的信道來促進這種通信的網絡(未示出)。該網絡可包括但不限于一個或多個局域網(LAN)和/或廣域網(WAN)。這樣的聯(lián)網環(huán)境常見于辦公室、企業(yè)范圍計算機網絡、內聯(lián)網和因特網中。因此,不在此進一步描述該網絡。
[0064]生態(tài)系統(tǒng)300的示例性系統(tǒng)架構包括用戶設備310和計算設備371-374。在圖3和圖4中示出的這些設備310和371-374中的每個都可采取各種類型的計算設備的形式,諸如例如,上文中參考圖1描述的計算設備100。作為示例而非限制,設備310和371-374可以是個人計算機、臺式計算機、膝上型計算機、消費者電子設備、手持式設備(例如,個人數據助理)、各種服務器、刀片等。然而,應當注意,本發(fā)明不限于在這些計算設備上實現(xiàn),而是可在處于本發(fā)明的各實施例的范圍內的各種不同類型的計算設備的任一種上實現(xiàn)。
[0065]通常,設備310和371-374中的每一個包括或被鏈接到某種形式的計算單元(例如,中央處理單元、微處理器等)以支持在其上運行的組件的操作(例如,在接收到信號或被提供功率之際始發(fā)數據分組)。如本文所使用的,短語“計算單元” 一般指的是具有處理能力和存儲存儲器的專用計算設備,它支持作為其上的軟件、應用和計算機程序的執(zhí)行的基礎的操作軟件。在一個實例中,該計算單元是用有形硬件元件或機器來配置的,所述有形硬件元件或機器是集成的、或者可操作地耦合到設備310和371-374以使得每個設備都能夠執(zhí)行與通信有關的過程和其他操作。在另一實例中,該計算單元可以涵蓋處理器(未示出),該處理器耦合到由設備310和371-374中的每一個所容納的計算機可讀介質。一般而言,計算機可讀介質至少臨時地存儲可由處理器執(zhí)行的多個計算機軟件組件。如本文所使用的,術語“處理器”不旨在是限制性的,并且可包含具有計算能力的計算單元的任何要素。在這種能力中,處理器可被配置為處理指令的有形物品。在一示例性實施例中,處理可涉及抓取、解碼/解釋、執(zhí)行和寫回指令(例如,通過呈現(xiàn)運動模式的動畫來重構物理姿勢)。
[0066]同樣,除了處理指令外,處理器可以向集成到或部署在設備310和371-374上的其他資源傳送或從中傳出信息。一般而言,資源指的是使設備310和371-374能夠執(zhí)行特定功能的軟件和硬件機制。僅僅作為示例,資源可包括以下機制中的一個或多個:配置軟件311 ;模板文件312 ;以及駐留在計算設備371-374內的各組件。
[0067]現(xiàn)在參考圖3來討論用于發(fā)現(xiàn)并確認生態(tài)系統(tǒng)300內的網絡設備350、361和362以及計算設備371-374(例如,刀片H)的示例性工作流。初始地,配置軟件311嘗試獲得經由基于串行的連接的串行聚集器320對硬件清單360的訪問。一旦獲得訪問,就作出對鏈接到硬件清單360的串行接入設備(例如,串行接入設備361和362)的串行聚集器320的端口的標識。接著,通過基于串行的連接從所標識的端口發(fā)送信號以發(fā)現(xiàn)串行接入設備361和362。從所發(fā)現(xiàn)的串行接入設備361和362中提取的信息是針對模板文件312來交叉參考的。如在以下更完整討論的,模板文件312包括以下:表示預期設備(例如,設備350、361、362和371-374)以及它們之間預期接線的藍圖的拓撲結構方案;以及定義被預期駐留在計算設備371-374中的每個計算設備內的組件的硬件方案。
[0068]在發(fā)現(xiàn)串行接入設備361和362為經由串行聚集器320適當地連接之際,配置軟件311可通過基于串行的連接將指令分發(fā)到串行接入設備361和362。一旦所分發(fā)的指令被串行接入設備361和362處理,就允許配置軟件311經由機架301的內部耦合來訪問TOR交換機350和TOU381和382。在到達TOU381和382之際,配置軟件311可提供選擇性地控制到計算設備371-374的功率的指令。應當注意,在各實施例中,在控制串行接入設備361和362以及TOU381和382之前,配置軟件311可確認設備,可確認這些設備上的軟件(例如,確保固件和OS是被支持的版本)并可將這些設備配置到結構所要求的(諸)規(guī)范。
[0069]例如,選擇性地控制功率可涉及關閉到計算設備371-374中的每一個的功率、以列在模板文件312上的計算設備371-374中的一個或多個為目標以及開啟對定為目標的(諸)計算設備的功率。一旦功率被提供到被定為目標的(諸)計算設備,數據分組可被生成并從被定為目標的(諸)計算設備發(fā)送。數據分組接著可在TOR交換機350處被聚集,該TOR交換機350可掃描被分配用于接收來自計算設備371-374的數據分組的端口范圍并從該端口范圍中標識實際正在接收數據分組的(諸)端口。并且,TOR交換機350可標識先前被分配到其的地址(例如,MAC地址或IP地址)。在收集這個信息之際,在經由L3聚集器交換機330通過基于網絡的連接將數據分組路由回配置軟件311之前,TOR交換機350可將所標識的(諸)端口和/或所標識的地址附加到數據分組。
[0070]配置軟件311被設計來捕捉來自從硬件清單360發(fā)送的通信流的數據分組。此外,配置軟件311被設計來確認計算設備371-374。確認可涉及以下步驟中的一個或多個:提取數據分組內攜帶的信息(例如,被定為目標的(諸)計算設備的地址和TOR交換機350,以及在TOR交換機350上的端口和被標識為內部地耦合到被定為目標的(諸)計算設備的串行接入設備361和362);以及將所提取的信息針對模板文件312來比較以確認地址和內部耦合匹配拓撲結構方案。
[0071]此外,數據分組可遞送以下信息:向配置軟件311提供對組件的洞察以及被應用到當前駐留在被定為目標的(諸)計算設備上的組件的配置設置。這些被遞送的配置設置可針對被維護在模板文件312的硬件方案內的預期配置設置來進行比較。當被遞送的配置設置不對應于預期配置設置時,可提示對被定為目標的(諸)計算設備的重新配置。該重新配置可經由串行接入設備361或經由網絡連接通過TOR交換機350來執(zhí)行。
[0072]應當理解并了解,以上用于發(fā)現(xiàn)和確認網絡和硬件設備的步驟可被迭代地執(zhí)行,使得計算設備371-374和網絡設備361、362和350可被遞歸地定為目標以接連確認設備371-374、361、362和360中的每一個的位置和到其的連接。由此,可從簡單地重復以上步驟來提取機架301的整個接線模式。
[0073]現(xiàn)在轉向圖4,現(xiàn)在將討論在生態(tài)系統(tǒng)300底層的系統(tǒng)體系架構的變型。一般而言,圖4顯示了示出用于發(fā)現(xiàn)、確認和配置硬件清單360的第二類型的拓撲結構的示例性驗證生態(tài)系統(tǒng)400的圖示表示,該驗證生態(tài)系統(tǒng)適用于在實現(xiàn)本發(fā)明的各實施例中使用。如顯示的,串行聚集器320被保持用于經由基于串行的連接來路由到通信,而圖3的L3聚集器交換機330被一個或多個脊柱(spine)設備411和412以及至少一個集成路由器設備410替換。這些設備410-412被一般地組織在樹形拓撲結構中,其中當沿著樹向上移動時,存在越來越少的連接(例如,兩個脊柱設備411和412是三個TOR交換機350-352的父節(jié)點并且是一個集成路由器設備410的子節(jié)點)。在操作中,這個樹形拓撲結構用于聚集來自多個設備(包括機架301-303的計算設備371-374)的通信。
[0074]現(xiàn)在將更加完整地描述圖4的生態(tài)系統(tǒng)400的設備410-412、路由器340和TOR交換機350-351。脊柱設備411和412被配置來扇出用戶設備310消息和硬件清單360內的其他內部通信以促進設備之間更快的通信速度。一般而言,在引導進程的初始階段期間,脊柱設備411和412以及其他設備之間的通信被本地地生成并被本地地分布(即,很少處理出站(outbound)通信)。此外,脊柱設備411和412可各自連接到多個公共機架301-303以便擴展和優(yōu)化機架301-303之間以及貫穿硬件清單360的本地通信。集成路由器設備410被配置成聚集本地通信,從而允許在引導進程期間的更大帶寬。
[0075]在各實施例中,TOR交換機350-352被配置成分別聚集來自機架301-303內的設備的通信并分別將通信分發(fā)到機架301-303內的設備。在一個實例中,TOR交換機350-352表示能夠在引導進程的初始設置階段期間建立的硬件清單360內的虛擬局域網(VLAN)內路由通信的L3類型網絡設備。然而,本發(fā)明的各實施例考慮將通信通過TOR交換機350-352所支持的不同通信層來進行傳達。
[0076]在各實施例中,接入路由器340用作硬件清單360和除了用戶設備310之外的任何外部設備之間的網關。通過這種方式,通過限制在接入路由器340處的入站和出站通信,硬件清單360作為自包含的部署單元。例如,當硬件清單360表示私有企業(yè)網絡內的部署單元時,硬件清單360在引導進程期間不能與私有企業(yè)網絡的本地服務器協(xié)同操作(例如,作為云計算網絡的實例)。在另一示例中,當硬件清單360表示遠程數據中心內的部署單元時,硬件清單360在引導進程期間不能與其他云計算戳記協(xié)同操作(例如,作為云計算戳記)。
[0077]雖然已經描述了硬件清單的各種不同配置,但是應當理解并了解,可使用允許增加存儲/計算能力的其他類型的合適的機器以及在機器之間路由通信的其他合適的設備,并且本申請的各實施例不被限于在此描述的生態(tài)系統(tǒng)300和400的布局。即,各種其他類型的設備的物理拓撲結構可出現(xiàn)在硬件清單360內,這些被本發(fā)明的各實施例所考慮。伴隨于變化的拓撲結構,模板文件312可對應地變化,使得用于交叉參考和確認的過程可適應接線內的修改(網絡方案)和設備內的改變(硬件方案)。因此,與每當對被擴建的新的硬件清單360的物理拓撲結構作出修改就要全部地重寫確認代碼相反,新的模板文件312基于新的硬件清單360來簡單地生成,而用于確認網絡和硬件設備的引導進程階段保持在過程中不被改變。由此,將引導進程應用到當前存在的各個物理拓撲結構以及應用到還沒有被開發(fā)的那些物理拓撲結構而無需大修各個階段的工作流的能力允許在對接線和設備的標準、統(tǒng)一的設置之外擴建和部署硬件清單。
[0078]現(xiàn)在將描述引導進程的用于發(fā)現(xiàn)和確認圖4的驗證生態(tài)系統(tǒng)400的硬件清單360內的網絡和硬件設備的各階段(參考圖200中的附圖標記220和230)。初始地,向用戶設備310提供在其上運行的用于設置來自硬件清單360的FCC的配置軟件311。用戶設備310被鉤住到串行聚集器320和集成路由器設備410以分別形成基于串行的連接和基于網絡的連接,其中串行聚集器320和集成路由器設備410用于用戶設備310的入口點來擴建硬件清單360。來自用戶設備310的連接性可直接地或通過附加的網絡設備來執(zhí)行以在設備310、320、330、340和410之間路由通信來實現(xiàn)它們之間的通信。
[0079]在各實施例中,串行聚集器320和集成路由器設備410是由OEM在零配置/零聯(lián)網狀態(tài)處設置的。在這種情況下,配置軟件311能夠建立設備310和360之間的通信?;蛘撸芯奂?20和集成路由器設備410被預先配置來自動地將消息路由到合適的機架301-303并聚集從機架301-303返回的通信。由此,鉤住用戶設備310 —般是引導進程中涉及的唯一手動設置,并且啟動配置軟件311發(fā)起自動地發(fā)現(xiàn)設備和自動地命令設備進行響應的工作流。
[0080]如以上提到的,模板文件312被提供在用戶設備310處或被維護在與用戶設備310通信的數據存儲處。一般而言,模板文件312揭示被組裝到機架301-303的設備的身份以及設備之間內部接線的模式。在一個實例中,模板文件312包括定義預期位置和地址(例如,MAC地址、IP地址或被分配到網絡接口以供在物理網絡分段上引導通信的其他唯一標識符)以供映射計算設備371-374的硬件方案。例如,硬件方案可指定機架301包括被標識為刀片工、刀片2、刀片3和刀片4 (計算設備371-374)的硬件設備,而機架301-313被分別配備有被標識為TORpTOR2和TOR3(TC)R交換機350-352)的網絡設備。這是注釋:在圖3中,框373應當是刀片3,而框373應當是刀片4。
[0081]此外,硬件方案可用來自允許對串行接入設備361和362的初始訪問的硬件清單360的供應商的默認的一組憑證來程序化。作為背景,在供應商的硬件接受技術人員掃描在硬件清單360內發(fā)貨的設備的條形碼之際,憑證和/或地址可被輸入到硬件方案。
[0082]在另一實例中,模板文件312包括定義在TOR交換機350、計算設備371-374、PDU381和382和串行接入設備361和362之間內部接線的拓撲結構方案。通常,拓撲結構方案分開指定用于各種功能類型(例如,存儲和計算)的接線。在一示例性實施例中,拓撲結構方案包括串行聚集器320內被分配來經由基于串行的連接與串行接入設備361和362進行通信的端口范圍。并且,拓撲結構方案可包括設備410-412內被分配來經由基于網絡的連接與TOR交換機350-352進行通信的端口范圍。更進一步,在各實施例中,拓撲結構方案指定所分配的端口范圍內預期的空位,在空位中,應該進行到特定設備的鏈接以便用于成功確認。例如,拓撲結構方案可指定在脊柱設備412處的端口范圍的空位“A”被指定為與TOR1 (TOR交換機350)鏈接,而在TOR1處的端口范圍的空位“B”被指定為與刀片2 (計算設備372)鏈接。在另一示例中,拓撲結構方案可指定在串行聚集器320處的端口范圍的空位“C”被指定為與上層串行接入設備361鏈接,而在上層串行接入設備361處的端口范圍的空位“D”和“E”被指定為與分別與刀片2和H)U2(PDU381)鏈接。由此,硬件和拓撲結構方案相結合來提供了用于從感知到的網絡通信中標識硬件和網絡設備的物理位置的方式。
[0083]此時,配置軟件311可開始通過控制TOU381和382來選擇性地向計算設備371-374提供功率來開始發(fā)現(xiàn)和確認設備位置和接線。初始地,配置軟件311向串行接入設備361和362中的一個或多個發(fā)送信號以便使得串行接入設備361和362能夠以可控制的方式驅動TOU381和382.出于解釋的目的,現(xiàn)在將討論對刀片2 (計算設備372)、TOR1 (TOR交換機350)和H)U2(PDU381)的發(fā)現(xiàn)和確認以示出引導進程階段的工作流。在這個示例性情況中,配置軟件311可通過引導串行聚集器320來經由串行聚集器320處的端口范圍的空位“C”來傳輸信號來將該信號指向到上層串行接入設備361,該空位“C”基于拓撲結構方案被知曉為指定為與上層串行接入設備361鏈接。
[0084]在一示例性實施例中,信號包括安裝在上層串行接入設備361內的配置設置以使得其安全、可訪問并順應法律、操作性方面和結構要求的指令。一旦用配置設置來對上層串行接入設備361進行設置,TOR1和TOU2也被配置。在一個實例中,TOR1通過引導上層串行接入設備361使用機架301內的內部耦合來在其上安裝配置設置來被間接地配置。在另一實例中,在軟件311的配置引導脊柱設備412經由脊柱設備412處的端口范圍的空位“A”來發(fā)送信號之際,TOR1被直接地配置,該空位“A”根據拓撲結構方案被知曉為指定為與TOR1鏈接。此外,在上層串行接入設備361經由被拓撲結構方案知曉為被指定為與I3DU2鏈接的端口范圍的空位“E”發(fā)送安裝配置設置的信號之際,PDU2可被配置。
[0085]在配置機架301的設備之際,可發(fā)現(xiàn)并確認TORp在各實施例中,發(fā)現(xiàn)和確認涉及向上層串行接入設備361發(fā)送包括用于調用TOR1來發(fā)送出站數據分組的指令的消息。如果在用戶設備310處經由脊柱設備411和412中的一個或多個接收到出站數據分組,則配置軟件311能夠針對模板文件312來確認上層串行接入設備361和TOR1被合適地內部耦合在由拓撲結構方案指定的預期空位處。
[0086]可使用以下工作流來發(fā)現(xiàn)和確認TOU2:指令上層串行接入設備361經由被指定為與PDU鏈接的端口范圍的預期空位“E”來與TOU2進行通信;指令TOR1經由被分配與PDU鏈接的端口范圍中的空位“F”來與rou2進行通信,其中根據拓撲結構方案,空位“F”被預期與TOU2鏈接;以及嘗試通過分別由上層串行接入設備361和TOR1調用的命令來控制(經由rou2)到機架301的上層部分的功率的提供。如果功率提供被配置軟件311檢測為被適當調用,那么上層串行接入設備361和rou2i間的內部耦合(基于串行的連接)以及TOR1和rou2i間的內部耦合(基于網絡的連接)被確認。通常,空位“E”和“F”被提供增強的安全性機制和/或被分配分別與上層串行接入設備361和TOR1內的端口范圍的其他空位比較而言更高的優(yōu)先級水平。
[0087]可通過控制rou2選擇性地向其提供功率來發(fā)現(xiàn)和確認刀片2。一般而言,選擇性地提供功率涉及以下工作流:指令上層串行接入設備361來引導rou2對駐留在機架301的上層部分的計算設備371和372中的每一個扣留功率;確保沒有通過TOR/串行設備的串行和/或網絡連接生成輸入以確認功率已被移除;引導rou2跨端口范圍內被指定與計算設備371和372鏈接的空位“G”來向刀片2提供功率,其中拓撲結構方案預期空位“G”內部地耦合rou2和刀片2。這個選擇性地提供功率的工作流導致刀片2重新引導(例如,使用PXE引導),觸發(fā)刀片2來生成數據分組。
[0088]這些弓丨導生成的數據分組在TOR1處被聚集,該TOR1標識端口范圍內被分配用于接收數據分組的計算設備371和372的空位。所標識空位的標記、TOR1的地址以及其他相關信息可被附加到數據分組的內容并被傳遞回用戶設備310。在用戶設備310處接收到經附加的數據分組之際,配置軟件311可讀取經附加的數據分組的內容并針對模板文件312來交叉參考從經附加的數據分組中提取的信息來確認刀片2的特定屬性。例如,在數據分組內傳達的刀片2的地址(例如,MAC地址)或標識符(例如,序號)可針對硬件方案處的預期地址或標識符來進行比較以便分別確認刀片2的預期位置或預期身份。在另一實例中,僅從刀片2接收數據分組用作確認上層串行接入設備361、刀片2和TOU2之間的內部耦合。在還另一實例中,在針對硬件方案來交叉參考被附加到數據分組的信息之際,被附加的信息確認刀片2和TOR1之間的內部耦合以及TOR1的位置或身份。并且,數據分組通過檢查來自刀片的經由到刀片的預期串行連接的輸出來幫助確認串行連接性。
[0089]如果在配置軟件311指令上層串行接入設備361引導TOU2來調用刀片2的重新引導之際沒有在用戶設備310處接收到數據分組,配置軟件311可將刀片2記錄為缺失或無響應。在找到以上情況中的差異之際,引導進程可被編程有靈活性以在當前階段內自動地決定是否進行工作流的下一階段或中斷引導過程和/或發(fā)出通知技術人員檢查硬件清單360的警報。自動決定可基于在引導進程期間發(fā)生的差異的質量和數量。在一個示例中,如果在確認期間檢測到的誤接線的數量超過預定的閾值,則用戶設備310可通知技術人員手動地修復接線并關于刀片2來重復該確認。在另一示例中,如果誤接線的數量保持在預定的閾值之下,則用戶設備310可潛在地在引導進程中向前移動,同時發(fā)出警報以指出該差異。由此,自動決定可幫助避免由于次要考慮的差異而停止引導進程。并且,即使誤接線的數量保持在預定的閾值之下,被檢測為是主要考慮的那些差異(諸如缺失的上層串行接入設備361)也可觸發(fā)引導進程的中斷此外,配置軟件311被設計為作出關于非預期的設備是否能夠替換硬件方案所預期的設備或缺失的預期設備是否應當由于其高的質量水平而絕對存在的判定。
[0090]此外,如果在配置軟件311讀取數據分組的內容并且針對模板文件312來交叉參考從數據分組中提取的信息之際,該數據分組被用戶設備310但在非預期的端口處接收,則配置軟件311可將刀片2記錄為具有在其接線模式方面的不一致。在這個實例中,可為技術人員發(fā)出通知來檢查刀片2周圍的接線模式并單獨地重新運行用于確認刀片2的工作流而不重新評估整個機架301。
[0091]在確認期間,配置軟件311可進一步從數據分組的內容收集機架301內設備的配置。例如,數據分組內的內容可揭示在刀片2內提供的某些組件與特定的安全性水平相關聯(lián)并用特定的特征來編程??舍槍τ布桨竵斫徊鎱⒖及踩运胶?或被編程的特征以便確定刀片2的配置是否是可接受的。例如,如果數據分組的內容指示從刀片2的組件中缺失特定的特征將導致對安全性水平的不理想的危險,則這些缺失的特征可導致警報或觸發(fā)配置軟件311來重新配置刀片2。
[0092]在各實施例中,可在引導進程的發(fā)現(xiàn)和確認階段期間或之后來進行重新配置或初始地配置空白設備的過程。初始地,可提供描述網絡和硬件設備的接口的驅動程序開發(fā)工具包(DDK),其中原始設備制造商(OEM)可采用該驅動程序開發(fā)工具包來在遞送之前在網絡和硬件清單360的硬件設備內實現(xiàn)驅動程序。例如,數據中心的服務提供商可向OEM提供DDK,其中OEM被要求根據DDK來在適當的網絡和硬件設備上安裝驅動程序。在操作中,所實現(xiàn)的驅動程序促進網絡和硬件設備之間的交互并允許配置軟件311通過發(fā)送到串行接入設備361和362的指令來控制它們。
[0093]可在確認發(fā)現(xiàn)階段期間來檢查網絡和硬件設備內的這些驅動程序以及組件的其他屬性。在各實施例中,該檢查可標識安裝在網絡和硬件設備上的固件和/或操作系統(tǒng)(OS)的類型(如果已經當前安裝的話)。如果當前安裝的固件和/或OS的類型相對于模板文件312而言是不適當的,那么調用重新配置過程。在一示例性實施例中,重新配置過程通過實現(xiàn)以下工作流來實現(xiàn):沖洗掉當前安裝的固件和/或OS ;以及部署維護OS,其中維護OS允許快速安裝并確保適當的驅動程序和組件出現(xiàn)在網絡和硬件設備上以實現(xiàn)確認。除了引導工作流之外,結構可負責用支持在數據中心內運行的服務的操作OS來替換維護OS。操作OS —般被配置成滿足數據中心的云計算規(guī)定,使得硬件清單360可被透明地集成在云計算網絡的特定拓撲結構內。在一個實施例中,安裝操作OS涉及下載與運行在數據中心內的硬件清單360被安排被部署在其中的云計算結構的屬性相對應的鏡像。
[0094]引導生態(tài)系統(tǒng)的體系架構
[0095]現(xiàn)在轉向圖5,現(xiàn)在將討論用于部署和集成圖3和圖4的硬件清單360的體系架構和引導進程階段(參見圖2的附圖標記240)。一般而言,圖5顯示了示出用于在數據中心550的云計算結構中集成和部署硬件清單的示例性引導生態(tài)系統(tǒng)500的圖形表示,引導生態(tài)系統(tǒng)500適合于在實現(xiàn)本發(fā)明的各實施例中使用。
[0096]初始地,在將配置設置和操作OS安裝到網絡和硬件設備之際(如以上更加完整討論的),從在驗證圖3的硬件清單360的物理拓撲結構時收集的數據分組的內容內檢索到的信息中準備基礎結構狀態(tài)。如在此使用的,短語“基礎結構狀態(tài)”旨在廣義地包含被用于描述當前被網絡和硬件設備展現(xiàn)的硬件和/或軟件特性的任何數據。在一特定示例中,基礎結構狀態(tài)幫助將硬件清單的實用程序標識為存儲、計算或存儲和計算的混合,其中實用程序基于諸如物理拓撲結構(例如,出于高安全性存儲目的,被鏈接到具有適當許可的端口的高姿態(tài)的刀片)、配置設置和網絡和硬件設備的身份的考量。由此,基礎結構狀態(tài)表面上用作當硬件清單被擴建到FCC戳記時、安裝在其內的軟件、配置設置以及操作OS的鏡像。
[0097]在操作中,當將硬件清單集成在云計算結構內時,基礎結構狀態(tài)被用戶設備310與數據中心550的一個或多個組件共享。通過這種方式,基礎結構狀態(tài)用作包括硬件清單的使得結構控制器能夠將硬件清單管理為FCC實例或云計算戳記的細節(jié)的輸入。例如,細節(jié)可包括MAC或IP地址以及網絡和硬件設備的配置、特定設備的位置、設備和PDU之間的端口連接以及需要被用于管理FCC戳記的其他信息。
[0098]在一個實施例中,用戶設備310被提供各種各樣的軟件來實現(xiàn)部署和集成階段。該軟件包括弓丨導數據中心管理器(DCM) 510、配置引擎511、部署引擎512和與駐留在秘密位置中的秘密存儲525進行通信的引導秘密存儲(SS) 520。引導DCM510表示驅動部署和集成階段的結構控制器的一部分,其能夠管理網絡和硬件設備。在一個實例中,引導DCM510有效地管理對數據中心550內擴建硬件清單或“FCC實例”的添加和移除。管理通常包括部署/擴展一個或多個結構(例如,主和客)。
[0099]管理FCC實例的添加可涉及以下工作流:提供用戶設備310的引導DCM510和數據中心550內的服務器530內的DCM542之間的接口 ;使用該接口來將FCC實例的基礎結構狀態(tài)(例如,機架級信息)從引導DCM510復制到DCM542 ;以及在網絡管理器514上授予使用最近共享的基礎結構狀態(tài)來自治FCC實例的能力。應當注意,主服務540可被部署在多個服務器上,并不限于服務器530的單設備實現(xiàn)。如在圖5中示出的,網絡管理器541和DCM542可包括主服務540,該主服務負責將新的FCC實例連同其他組件(諸如結構控制器、備份服務、倉庫等)一起集成在云計算結構中。
[0100]除了共享FCC實例的基礎結構狀態(tài)之外,在各實施例中,弓I導生態(tài)系統(tǒng)500被設計來將云計算結構的服務部署到FCC實例上。這些服務可包括核心承租人、基礎結構承租人和/或平臺承租人。在一個實例中,核心承租人表示能夠實現(xiàn)云計算結構的一般功能、支持數據中心550內的節(jié)點間通信(例如,域名服務器(DNS)能力)和管理存儲操作的關鍵服務?;A結構承租人表示例如能夠使得云計算戳記來高效地管理在數據中心550內分布地主存的顧客的服務應用的實用性和可用性服務?;A結構承租人的各示例包括支持尋找在位于遠程的賬戶上的顧客數據的存儲位置服務以及提供用于顧客與CTM531-533進行交互的前端API。平臺承租人通常表示作為選項被提供到顧客的服務(例如,用于在數據中心550和私有企業(yè)網絡之間鏈接的云到場所(premise)訪問)。由此,平臺承租人不一定被需要用于數據中心550的操作,但應當匹配基礎結構狀態(tài)的定義。
[0101]在根據FCC戳記的承租人部署期間,配置引擎511和部署引擎512可出借它們的參與。初始地,可調用部署引擎512來發(fā)起部署。一般而言,部署引擎512負責驅動引導進程的部署和集成階段的端對端自動化,包括對被用于實現(xiàn)階段內內在的工作流的工具和機制的執(zhí)行。例如,工作流可涉及將各個經擴建的硬件清單的部署調度到FCC實例中,管理目前實時的部署,對部署的進展進行報告以及對發(fā)生的任何干擾事項進行響應。通常,部署引擎512針對實時的云計算結構來執(zhí)行部署,使得部署引擎512能夠逐步升級關于實時的結構的問題并收集被用于隨著時間來實現(xiàn)部署提升的度量。
[0102]配置引擎511負責與數據中心550進行接口并在部署之際來配置和更新主服務540,從而將FCC戳記集成在云計算結構中。在集成的一個實例中,配置引擎511記錄硬件清單的初始配置,當將硬件清單擴建到FCC戳記中時檢測對配置的改變,以及提供對FCC戳記的配置的改變歷史。一般而言,該改變歷史可用于指示重新配置過程的影響并提供滿足順應性標準的保證。通過這種方式,改變歷史可展示在對FCC戳記的配置改變期間發(fā)生的任何沖突或潛在的缺失參數。因此,F(xiàn)CC戳記可用作核心、基礎結構和平臺承租人的配置的存儲庫。
[0103]在各實施例中,驅動請求附加存儲/計算能力(被FCC戳記滿足)的顧客還可提供依賴性方案,該依賴性方案概述要被FCC戳記滿足的以便合適地運行顧客的服務應用的標準。在操作中,依賴性方案可針對基礎結構狀態(tài)和配置中的改變歷史來進行比較以確保FCC實例以顧客指定的先決條件被滿足的方式來擴建。由此,當依賴性方案被FCC實例的已知屬性滿足時,F(xiàn)CC可被發(fā)布來開始主存顧客的服務應用。
[0104]雖然已經描述了被用于針對顧客的依賴性方案來檢查功能性的FCC實例的各種不同屬性(例如,基礎結構狀態(tài)和配置中的改變歷史),應當理解并了解,其他類型的合適信息可在部署期間在引導DCM510和DCM542之間傳遞,并且本發(fā)明的實施例不限制為在此描述的信息的特定制品。例如,F(xiàn)CC實例的整體大小(例如,節(jié)點數)和/或入口點的位置(例如,連接到FCC實例的方法)可從引導DCM510中繼到DCM542.在功能性檢查的另一實例中,進行最小的發(fā)現(xiàn)和確認以標識足以部署主服務540的清單并接著利用DCM542來驅動對FCC實例中剩余硬件的發(fā)現(xiàn)、確認和配置。在功能性檢查的另一實例中,現(xiàn)有的DCM實例被用于驅動對具有針對實時清單的適當的安全性以及隔離的硬件的發(fā)現(xiàn)、確認和配置。
[0105]在FCC戳記的部署期間,秘密存儲525可被訪問來提供在將圖3的硬件清單360擴建到FCC戳記中時生成的保密信息。如在此使用的,短語“秘密存儲”一般指與通常運行在用戶設備310上的引導SS520接口的單機機制。通過這種方法,秘密存儲525不具有對因特網或其他公眾可訪問的網絡的依賴性,從而保留存儲在秘密存儲525中的保密信息的私有本質。在一些實施例中,秘密存儲可表示經由因特網訪問的集中式保護的秘密存儲位置。
[0106]在對FCC戳記的部署之前,秘密存儲525采用管理API來管理在初始引導進程階段期間在擴建硬件清單時實時地生成的保密信息。該保密信息(例如,網絡和硬件設備的憑證、原始證書、私鑰、串行介入設備的口令以及其他許可)被連續(xù)地寫到秘密存儲525直到發(fā)現(xiàn)和確認階段(并且如果必要,包括重新配置過程)完成。在部署期間,秘密存儲525可自動地將一些保密信息傳輸到引導SS520以導出到主服務540,并且可將其他保密信息傳輸到高度可用的位置以供數據中心550的管理人查看。該配置信息隨后可被管理人使用來在當FCC實例被集成在數據中心550內時經歷問題之際調試FCC實例。
[0107]在成功地完成部署之際并在引導進程的群集范圍的確認階段之前,F(xiàn)CC實例可被集成在數據中心550內。在部署完成以及對主服務540的確認之際,對圖5中CTM531-533的進一步部署可開始。
[0108]集成還可包括用新的安全憑證來替換在硬件清單的擴建期間采用的本地生成的憑證(被用于訪問網絡和硬件設備)。在一個實例中,通過利用用于創(chuàng)建、審計和輪換現(xiàn)有節(jié)點上的安全性令牌的現(xiàn)有云計算結構過程來執(zhí)行憑證的替換。通過這種方式,在擴建硬件清單時可能已經與各方(例如,技術人員、OEM、管理者或管理員)共享的擴建憑證被停用,由此,F(xiàn)CC戳記變得更安全。應當注意,即使集成后,用戶設備310可保留作為網關設備來在引導進程完成后服務于結構實例(例如,主和客)。
[0109]在成功地完成部署和集成階段之際,開始群集范圍的確認階段。在各實施例中,成功完成需要確保部署和集成的每個先決條件是這樣的:部署和集成階段的所得輸出將FCC實例留在用于下一階段在不困難的情況下拾取的條件中。例如,如果部署和集成階段的所得輸出不允許操作者對FCC實例的充足訪問(即,部署和集成階段的先決條件),那么在進展到下一階段前存在要補救的問題。通過這種方法,部署和集成階段以及其他引導進程階段在它們各自的工作流中包括自評估從階段期間執(zhí)行的一系列操作中得到的輸出的步驟。自評估可導致工作流步驟被重復或可將特定階段指定為成功完成,從而允許后續(xù)階段開始。
[0110]除了對于各個階段而言內部的自評估之外,群集范圍確認階段(參見圖2的附圖標記250)被執(zhí)行以確保FCC實例準備好使用。在各實施例中,群集范圍確認包括實現(xiàn)可被自動地運行或可涉及經由測試用具的手動協(xié)助的一套測試。該套測試可針對來自各個位置的各個系統(tǒng)來進行。例如,該套測試可涉及引導主服務540來驗證FCC實例是否可經由CTM1內部地到達。在另一實例中,該套測試可涉及引導外部實體(例如,經由以太網的公司網絡或顧客請求的專用實體)來驗證FCC實例是否可外部到達。
[0111]應當理解,引導生態(tài)系統(tǒng)500的示例性系統(tǒng)體系架構只是可以被實現(xiàn)以實現(xiàn)本發(fā)明的各方面的合適的環(huán)境的一個示例,而非旨在對本發(fā)明的使用范圍或功能提出任何限制。所示出的引導生態(tài)系統(tǒng)500也不應被解釋成對于所示出的組件510-512、520、541、542和531-533中的任一組件或其組合有任何依賴或要求。在一些實施例中,組件510-512、520、541、542和531-533中的一個或多個可被實現(xiàn)為類似于秘密存儲525的單機設備或實現(xiàn)為服務或可執(zhí)行體。在其它實施例中,組件510-512、520、541、542和531-533中的一個或多個可以直接集成到計算服務器530和/或用戶設備310中。本領域普通技術人員可以理解,圖5所示的組件510-512、520、541、542和531-533在本質和數量上是示例性的,并且不應被解釋為限制。應當注意,可在無需以上列出的特定組件中的任意組件而用提供類似功能的替換過程的情況下來實現(xiàn)部署。
[0112]因此,可以采用任何數量的組件來實現(xiàn)本發(fā)明的各實施例的范圍內的所需功能。盡管為了清楚起見用線條示出了圖5的各組件,但是在實際上,各組件的描繪并不是那樣清楚,并且按比喻的說法,線條更精確地將是灰色的或模糊的。此外,雖然將圖5的某些組件示為單個框,但是這些描述在本質和數量上是示例性的且不應被解釋為限制(例如,雖然僅示出一個DCM542,多得多的DCM可通信地耦合到正在對硬件清單執(zhí)行引導進程的其他用戶設備)。
[0113]此外,服務器530可以是任何類型的計算設備,諸如例如以上參考圖1所描述的計算設備100。僅作為示例而非限制,服務器530可以是個人計算機、臺式計算機、膝上型計算機、手持式設備、移動手機、消費電子設備等。在各實施例中,數據中心550可包括以上列出的任何數量的物理資源,且可包括計算設備的任何集合或能夠以分布式方式執(zhí)行顧客的服務應用的其他機器。
[0114]附加地,以上列出的物理資源的其他設備可主存主服務540,其被顯示為駐留在服務器550上。這些其他設備可經由有線或無線網絡路徑通過數據中心550來管理主服務540的操作。然而,應理解,本發(fā)明的實施例不限于在圖5中示出的這樣的物理資源上的實現(xiàn),而可以在本發(fā)明的實施例范圍內的多種不同類型的計算設備和設施中的任一種上實現(xiàn)。換言之,所示出的數據中心550的資源描繪了僅旨在用于討論目的的示例性配置;因此,計算工業(yè)中已知的任何合適的資源布局可被使用并由本發(fā)明構想。
[0115]過程流
[0116]現(xiàn)在參考圖6,顯示了示出根據本發(fā)明的一個實施例的用于發(fā)現(xiàn)和確認硬件清單的總的方法600的流程圖。盡管術語“步驟”和/或“框”可在此處用于指示所采用方法的不同元素,但除非而且僅當明確描述了各個步驟的順序時,該術語不應被解釋為意味著此處公開的多個步驟之中或之間的任何特定順序。初始地,硬件清單表示機架,其中機架可包括網絡設備(例如,架頂式交換機和串行接入設備)和一組計算單元(例如,插入到機架中的一組刀片)。該組刀片通常在串行接入設備和TOR交換機之間互連。
[0117]如在框610處描繪的,方法600可涉及發(fā)起用戶設備和硬件清單內的串行接入設備或次網絡接入設備(如果帶外設備是次網絡交換機而非串行設備的話)之間的通信。在一個實例中,通過用戶設備經由基于串行的連接來發(fā)起到串行接入設備的通信。如在框620處描述的,方法600可進一步涉及配置串行接入設備來向PDU發(fā)送指令。如以上更加完整討論的,PDU—般負責選擇性地向一組計算單元提供功率。因此,在接收到來自串行接入設備的指令之際,該指令使得PDU將功率遞送到該組計算單元中的至少一個所選計算單元并對該組計算單元的至少一個未被選擇計算單元扣留功率。最終,如在框630處描述的,可在用戶設備處接收到來自所選計算單元的至少一個數據分組。通常,在用戶設備處經由與架頂式交換機(TOR)的基于網絡的連接接收數據分組,該架頂式交換機(TOR)被使得能夠檢測源自所選計算單元的數據分組。在一個實施例中,網絡設備被配置成標識數據分組在其處被檢測的端口并將所標識的端口的標記附加到數據分組。因此,當使用數據分組來標識所選計算單元的位置時,用戶設備可讀取并記錄在數據分組的有效載荷中攜帶的所標識的端口。此外,用戶設備可通過讀取并記錄在數據分組的頭部中攜帶的因特網協(xié)議(IP)地址或媒體訪問控制(MAC)地址來標識所選計算單元的位置。如在框640處描繪的,所選計算單元的這個所標識的位置可被用于部分地了解硬件清單的物理拓撲結構的安排。
[0118]在一示例性實施例中,如在框650處描繪的,方法600可包括針對模板文件來交叉參考所選計算單元的所標識的位置以驗證硬件清單的物理拓撲結構與模板文件是可比的。一般而言,模板文件可包括拓撲結構方案和/或硬件方案。一般而言,拓撲結構方案指定所選計算單元的預期位置并被用戶設備用于驗證硬件清單被適當地接線。另一方面,硬件方案一般被用于指定哪些組件被預期駐留在所選計算單元內。此外,硬件方案可被用戶設備用來驗證計算單元的內部配置。
[0119]在用戶設備驗證所選計算單元的位置與模板文件一致之際,用戶設備可經由基于串行的連接向串行接入設備發(fā)送調用在所選計算單元上安裝確認設置的信號。并且,用戶設備可注意串行接入設備的輸出來驗證串行連接性。此外,在用戶設備驗證硬件清單的物理拓撲結構之際,用戶設備可從在引導進程的發(fā)現(xiàn)和確認階段期間收集的信息中準備基礎結構狀態(tài)。在引導進程的集成和部署階段期間,用戶設備可與云計算結構的控制器共享基礎結構狀態(tài)以便促進硬件清單到數據中心的結構內的集成。并且,用戶設備可觸發(fā)對運行在硬件清單處的結構上的服務的部署,從而將硬件清單指定為結構的FCC。通過將硬件清單指定為FCC,結構控制器被允許在數據中心的上下文內管理并定位硬件清單。
[0120]現(xiàn)在轉向圖7,顯示了示出根據本發(fā)明的一實施例的用于將硬件清單擴建到數據中心的結構計算群集(FCC)的總的方法700的流程圖。如在框710處描繪的,方法700包括通過從用戶設備經由基于網絡的連接向架頂式(TOR)交換機和經由基于串行的連接向串行接入設備發(fā)送分別的信號來發(fā)現(xiàn)網絡設備。如在框720處描繪的,在TOR交換機和串行接入設備之間互連的一組計算單元可通過指令TOR交換機和串行接入設備經由被分配到該組計算單元的各自的端口范圍來監(jiān)聽信號(例如,圖3311的配置軟件311查詢TOR交換機/串行設備來檢索所要求的信息)來發(fā)現(xiàn)。
[0121]如在框730處描繪的,方法700可進一步涉及對串行接入設備進行配置以引導該組計算單元遞歸地向TOR交換機發(fā)送通信。如在框740處描繪的,可從遠程數據存儲或從用戶設備的本地存儲器中訪問描述硬件清單的物理拓撲結構的模板文件。如在框750處描繪的,可通過針對從該組計算單元接收到的通信中攜帶的信息來比較模板文件來分別確認該組計算單元的位置。如在框760處描繪的,可使用在來自該組計算單元的通信中接收到的信息來準備基礎結構狀態(tài)。如在框770處描繪的,可通過將基礎結構狀態(tài)與數據中心的云計算結構的控制器共享來將硬件清單集成到該云計算結構中。與集成同步或在稍后某個時刻,在云計算結構上運行的服務可被部署到硬件清單上(參見框780)并且硬件清單可在框790處被指定為數據中心內的FCC。例如,在將硬件清單指定為FCC戳記之前執(zhí)行確認,以確保該硬件清單被適當地部署/配置。
[0122]參考具體實施例描述了本發(fā)明的實施例,具體實施例在所有方面都旨在是說明性的而非限制性的。在不背離本發(fā)明范圍的情況下各替換實施例對本發(fā)明的各實施例的所屬領域的普通技術人員將變得顯而易見。
[0123]從前面的描述可以看出,本發(fā)明很好地適用于實現(xiàn)上文所闡述的所有目的和目標,并且具有對于該系統(tǒng)和方法是顯而易見且固有的其他優(yōu)點。可理解的是,某些特征和子組合是有用的,并且可以加以利用而無需參考其它特征和子組合。這由權利要求所構想的,并在權利要求的范圍內。
【權利要求】
1.一個或多個其上包含計算機可執(zhí)行指令的計算機可讀介質,所述計算機可執(zhí)行指令在被執(zhí)行時執(zhí)行一種用于發(fā)現(xiàn)和確認硬件清單的方法,所述方法包括: 發(fā)起與所述硬件清單內的串行接入設備或與所述硬件清單內的駐留在次帶外網絡上的網絡交換機設備的通信; 配置所述串行接入設備以發(fā)送到功率分配單元(rou)的指令,其中所述PDU負責向一組計算單元選擇性地提供功率,并且其中所述指令使得所述PDU將功率遞送到該組計算單元中至少一個所選計算單元并對該組計算單元的至少一個未被選擇計算單元扣留功率; 接收來自所述至少一個所選計算單元的數據分組; 使用所述數據分組來標識所述至少一個所選計算單元在所述硬件清單的物理拓撲結構內的位置;以及 針對模板文件來交叉參考所述至少一個所選計算單元的所標識的位置以驗證所述硬件清單的所述物理拓撲結構對應于所述模板文件。
2.如權利要求1所述的計算機可讀介質,其特征在于,所述數據分組經由與網絡設備的基于網絡的連接在用戶設備處被接收到,所述網絡設備被使得能夠檢測源自所述至少一個所選計算單元的所述數據分組,其中所述方法進一步包括向所述網絡設備詢問與經處理的通信有關的信息。
3.如權利要求2所述的計算機可讀介質,其特征在于,到所述串行接入設備的通信是通過所述用戶設備經由基于串行的連接來發(fā)起的。
4.如權利要求1所述的計算機可讀介質,其特征在于,所述模板文件包括指定所述至少一個所選計算單元的預期位置的拓撲結構方案,并且其中所述拓撲結構方案被用戶設備用于驗證所述硬件清單被適當地接線,并且其中所述拓撲結構方案包括接線規(guī)則、設備配置或設備位置中的至少一個。
5.如權利要求3所述的計算機可讀介質,其特征在于,所述方法還包括: 配置所述串行接入設備、所述網絡設備和所述功率單元來執(zhí)行發(fā)現(xiàn);或 在驗證所述至少一個所選計算單元的位置與所述模板文件一致之際,從所述用戶設備經由所述基于串行的連接向所述串行接入設備發(fā)送調用在所述至少一個所選計算單元上安裝確認設置的信號。
6.如權利要求4所述的計算機可讀介質,其特征在于,所述方法進一步包括在驗證所述硬件清單的所述物理拓撲結構之際,從收集的信息中準備基礎結構狀態(tài)。
7.如權利要求6所述的計算機可讀介質,其特征在于,所述方法還包括: 與云計算結構的控制器共享所述基礎結構狀態(tài); 將云計算結構的服務部署到所述硬件清單上;以及 將所述硬件清單指定為結構計算群集。
8.一種用于將硬件清單擴建到數據中心的結構計算群集(FCC)的計算機化的方法,所述方法包括: 通過從用戶設備經由基于網絡的連接向架頂式(TOR)交換機和經由基于串行的連接向串行接入設備發(fā)送分別的信號來發(fā)現(xiàn)一個或多個網絡設備; 通過指令所述TOR交換機和所述串行接入設備經由分配到一組計算單元的各自的端口范圍來監(jiān)聽信號來發(fā)現(xiàn)在所述TOR交換機和所述串行接入設備之間互連的該組計算單元; 配置所述串行接入設備以引導該組計算單元遞歸地向所述TOR交換機發(fā)送通信; 訪問描述所述硬件清單的物理拓撲結構的模板文件; 通過將所述模板文件與在從該組計算單元接收到的所述通信中攜帶的信息進行比較來分別確認該組計算單元的位置; 使用在從該組計算單元接收到的所述通信中接收到的所述信息來準備基礎結構狀態(tài); 通過將所述基礎結構狀態(tài)與所述數據中心的云計算結構的控制器共享來將硬件清單集成到所述云計算結構中; 將所述云計算結構的服務部署到所述硬件清單上;以及 將所述硬件清單指定為所述數據中心內的FCC。
9.一種用于執(zhí)行自動地將一個或多個計算單元合并到數據中心的云計算結構中的方法的計算機系統(tǒng),所述計算機系統(tǒng)包括: 機架; 駐留在所述機架內的多個網絡設備,其中所述多個網絡設備包括: (a)用于通過基于網絡的連接發(fā)送數據分組的架頂式(TOR)交換機; 插入在所述機架內的一組刀片,其中該組刀片包括被配置成在分別接收到功率之際個別地生成數據分組的所述一個或多個計算單元; 用于向該組刀片選擇性地提供功率的功率分配單元(PDU); 經由所述基于網絡的連接被通信地耦合到所述TOR交換機并且經由所述基于串行的連接通信地耦合到所述串行接入設備的用戶設備,其中所述用戶設備被配置成執(zhí)行引導進程,所述引導進程包括: (a)發(fā)現(xiàn)所述網絡設備和該組刀片;以及 (b)通過針對描述所述機架的物理拓撲結構的模板文件來比較所述數據分組內攜帶的信息來確認該組刀片的位置。
10.如權利要求9所述的計算機系統(tǒng),其特征在于,所述串行接入設備被進一步配置成接收來自所述用戶設備的所述指令并通過將所述指令傳達到所述PDU來控制所述rou。
【文檔編號】G06F13/38GK104081371SQ201380007350
【公開日】2014年10月1日 申請日期:2013年1月21日 優(yōu)先權日:2012年1月30日
【發(fā)明者】M·E·朱伯蘭, A·格沙夫特 申請人:微軟公司