TWI802385B - 遠端虛擬系統、主機伺服器及電腦系統 - Google Patents
遠端虛擬系統、主機伺服器及電腦系統 Download PDFInfo
- Publication number
- TWI802385B TWI802385B TW111115564A TW111115564A TWI802385B TW I802385 B TWI802385 B TW I802385B TW 111115564 A TW111115564 A TW 111115564A TW 111115564 A TW111115564 A TW 111115564A TW I802385 B TWI802385 B TW I802385B
- Authority
- TW
- Taiwan
- Prior art keywords
- controller
- firmware image
- bmc
- host server
- image file
- Prior art date
Links
- 230000004913 activation Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 8
- 238000000034 method Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
所揭露的是一種遠端虛擬系統,用於遠端啟動網路多節點系統之節點上的基板管理控制器(BMC)。主機伺服器儲存韌體映像檔。網路耦接至主機伺服器。第一節點耦接至網路。第一節點包含執行韌體映像檔的第一控制器。主機伺服器啟動第一控制器,並將該韌體映像檔發送至第一控制器,以完成第一控制器之啟動。
Description
本揭露主要涉及一種多節點計算系統之基板管理控制器(baseboard management controller;BMC)。更具體而言,本揭露之態樣涉及一種多節點網路系統,使用主機伺服器以儲存BMC韌體映像檔,以供多個網路節點上的BMC經由遠端啟動而執行。
伺服器被大量地運用在像是基於網路的系統或資料中心之類的高需求應用中。雲端計算應用的出現增加了對於資料中心的需求。資料中心具有眾多伺服器,儲存資料以及運行被遠端連接的電腦裝置之使用者所存取之應用程式。典型的資料中心具有物理機架結構,伴隨著電源及通訊連接。每個機架可支承多個計算伺服器及儲存伺服器。每個伺服器通常包含處理器、記憶體裝置、網路介面卡、電源供應及其他專用硬體等硬體組件。伺服器通常包含基板管理控制器(baseboard management controller;BMC),管理硬體組件之運作,並且支援像是電源供應及風扇之類的組件。BMC亦與透過網路管理機架之伺服器的中央管理站(central management station)通訊運作數據。BMC減輕伺服器之中央處理單元(central processing unit)對於監控伺服器運作之需要。因此,BMC必須能夠介接給定伺服器上之各式各樣的硬體組件,以及從這種硬體組件搜集運作數據。
基板管理控制器可以是具有複雜的處理器之晶片組,例如但不限於信驊科技(Aspeed Technology)、新唐科技(Nuvotech Technology)及德州儀器(TI)所販售之晶片組。目前已知的BMC亦包含多個輸入/輸出介面電路,以允許與使用不同通訊協定的各種硬體組件進行通訊,以及允許網路介接之能力。這種BMC需要韌體,以允許對BMC中之複雜的處理器進行編程,以執行不同的功能。
在已知的伺服器中,於BMC啟動之期間,儲存在快閃記憶體中的BMC韌體映像檔透過BMC晶片組而被載入至隨機存取記憶體(random access memory;RAM)。如以上所解釋,BMC監控電腦系統中的所有硬體,以允許在電腦系統運作之期間發現可能有問題的部件。然而,儲存BMC韌體映像檔所需的快閃碟,是伺服器之生產所需的額外成本。此外,BMC韌體升級頻繁。在此情況下,需要個別地更新每個BMC韌體映像檔。當資料中心中有數千台伺服器時,此程序變得繁瑣,因為技術人員必須手動將升級內容仔入至每個快閃碟。
因此,需要一種系統,允許將一個單獨的BMC韌體映像檔分享至網路上的所有伺服器。也需要一種技術,以符合成本效益的方式確保每個伺服器的BMC韌體是正確的,以簡化主機板設計並減少人力資源消耗。也需要一種方法,用以遠端啟動多個網路節點上的BMC。
「實施例」一詞及類似的用語,例如實作、設置、態樣、範例、選項,意圖廣泛地指代本發明及以下請求項的所有申請標的。包含這些用詞的陳述不應被理解為限制在此所述的申請標的或限制以下的請求項的含義或範圍。在此所涵蓋的本揭露之實施例,是由以下的請求項而非本發明內容所限定。本發明內容是本揭露之各方面的高階綜述,並且介紹了一些概念,這些概念在以下實施方式的段落中會進一步描述。本發明內容並不旨在標識出所請求的申請標的之必要特徵,也不旨在單獨用於決定所請求的申請標的之範圍。藉由參考本發明的整個說明書的適當部分、任何或所有的圖式,以及每個請求項,應當理解本申請標的。
根據本揭露之某些態樣,所揭露的是一種用於遠端啟動的遠端虛擬系統。主機伺服器儲存韌體映像檔。網路耦接至主機伺服器。第一節點耦接至網路。第一節點包含執行韌體映像檔的第一控制器。主機伺服器啟動第一控制器,並將該韌體映像檔發送至第一控制器,以完成第一控制器之啟動。
範例系統之進一步實作是一種實施例,其中第一控制器是基板管理控制器(BMC),韌體映像檔是BMC韌體映像檔。在另一實作中,第一控制器包含隨機存取記憶體(RAM),以儲存接收到的韌體映像檔。在另一實作中,範例系統更包含耦接至主機伺服器的儲存裝置,儲存啟動例行程序,啟動例行程序允許第一控制器之遠端啟動。在另一實作中,範例系統更包含第二節點,第二節點包含執行韌體映像檔的第二控制器。主機伺服器啟動第二控制器,並將韌體映像檔發送至第二控制器,以完成第二控制器之啟動。在另一實作中,範例系統更包含第二節點,第二節點包含執行第二類型韌體映像檔的第二控制器。主機伺服器儲存第二類型韌體映像檔。主機伺服器啟動第二控制器,並將第二類型韌體映像檔發送至第二控制器,以完成第二控制器之啟動。在另一實作中,主機伺服器是設置以將韌體升級映像檔發送至第一控制器。在另一實作中,主機伺服器運行動態主機設定協定(DHCP)例行程序以網路連接至第一控制器,運行預啟動執行環境(PXE)例行程序以供第一控制器之遠端啟動,以及運行簡易檔案傳送協定(TFTP)例行程序以傳輸韌體映像檔。在另一實作中,第一節點具有執行第二類型韌體映像檔的第二控制器。主機伺服器儲存第二類型韌體映像檔,並啟動第二控制器。主機伺服器將韌體映像檔發送至第二控制器,以完成第二控制器之啟動。
另一個所揭露的範例是一種主機伺服器,用以提供虛擬控制器給多節點系統中的節點。主機伺服器包含儲存裝置,儲存第一控制器韌體映像檔。主機伺服器包含網路儲存裝置,儲存啟動例行程序。主機伺服器包含網路介面,允許經由網路與複數個節點通訊。部分節點包含執行第一控制器韌體映像檔的控制器。主機伺服器包含處理器,執行啟動例行程序,以啟動複數個節點之其中一者的控制器。處理器經由網路,將第一控制器韌體映像檔發送至複數個節點之其中一者的控制器。
範例主機伺服器之進一步實作是一種實施例,其中控制器是基板管理控制器(BMC),韌體映像檔是BMC韌體映像檔。在另一實作中,儲存裝置儲存不同於第一控制器韌體映像檔的第二控制器韌體映像檔。處理器啟動複數個節點之第二節點的控制器 ,以及將第二控制器韌體映像檔發送至第二節點。在另一實作中,處理器可運作以將韌體映像檔發送至節點。在另一實作中,節點具有執行第二控制器韌體映像檔的第二控制器。儲存裝置儲存第二控制器韌體映像檔。處理器可運作以執行啟動例行程序以啟動第二控制器,以及經由網路將第二控制器韌體映像檔發送至第二控制器。
另一個所揭露的範例是一種電腦系統,包含基板管理控制器(BMC),BMC包含隨機存取記憶體(RAM)及唯讀記憶體,RAM用以儲存BMC韌體映像檔以供BMC執行,唯讀記憶體包含程式碼以供遠端啟動。電腦系統包含外部網路介面,允許與遠端主機伺服器進行網路通訊,以接收BMC韌體映像檔。BMC可運作以被遠端啟動,以及將接收到的BMC韌體映像檔載入至RAM。
範例電腦系統之進一步實作是一種實施例,其中唯讀記憶體包含程式碼以經由網路通訊接收檔案。主機伺服器運行動態主機設定協定(DHCP)例行程序以網路連接至電腦系統,運行預啟動執行環境(PXE)例行程序以供BMC之遠端啟動,以及運行簡易檔案傳送協定(TFTP)例行程序以傳輸BMC韌體映像檔。
另一個所揭露的範例是一種遠端啟動複數個網路節點之一者上的控制器的方法。可由控制器所執行的韌體映像檔,被儲存在位於節點之遠端的主機伺服器。從主機伺服器對控制器進行啟動,是經由網路所發起。所儲存的韌體映像檔經由網路而被發送至控制器。韌體映像檔被載入至隨機存取記憶體。韌體映像檔由控制器所執行。
範例方法之進一步實作是一種實施例,其中控制器是基板管理控制器(BMC),韌體映像檔是BMC韌體映像檔。在另一實作中,範例方法更包含將控制器可執行的升級韌體映像檔儲存進主機伺服器。控制器之啟動是從主機伺服器經由網路所發起。所儲存的升級韌體映像檔經由網路而被發送至控制器。升級韌體映像檔被載入至隨機存取記憶體,並由控制器所執行。
以上發明內容並非意圖代表本揭露的每個實施例或每個態樣。反之,前述的發明內容僅提供在此列舉的某些新穎的態樣及特徵之範例。以上特徵及優點,以及本揭露的其他特徵及優點,當關聯於搭配的圖式及附加的請求項,從以下用來實施本發明的代表性實施例及模式的詳細敘述中,將輕易地顯而易見。有鑑於參考圖式的各種實施例之詳細敘述,本揭露之額外的態樣對於本領域通常知識者而言是顯而易見的。以下提供圖式之簡單敘述。
各種實施例是參考附加的圖式所敘述,其中類似的參考符號在整個圖式中是用以指明類似的或均等的元件。圖式並不一定是依比例所繪製,且僅提供以繪示本揭露之態樣及特徵。列舉出的眾多特定細節、關係及方法提供對於本揭露之某些態樣及特徵的充分理解,然而相關領域之通常知識者將承認,這些態樣及特徵可以在沒有一或多種特定細節、有其他關係,或有其他方法的情況下所實施。在某些實例中,出於示圖之目的,並未展示出習知的結構或操作。在此揭露的各種實施例不一定受限於繪示出的動作或事件之順序,因為某些動作可依不同的順序發生,及/或與與其他動作或事件同時發生。此外,實作本揭露之某些態樣及特徵並非一定需要所有繪示出的動作或事件。
為了詳細敘述本發明,除非被具體地否認,否則單數形包含複數形,反之亦然。「包含」一詞意指「無限制地包含」。此外,表近似的用詞,例如「約」、「幾乎」、「大體上」、「大概」及類似的用詞,在此能被用來意指「在」、「近」、「近於」、「3-5%的範圍內」或「可接受的製造公差內」,或者其任何的邏輯組合。同樣地,「垂直」或「水平」等用詞是分別意圖額外包含「3-5%的範圍內」的垂直或水平朝向。此外,諸如「頂」、「底」、「左」、「右」、「上」、「下」等方向的用詞,是意圖涉及參考圖式中所描繪的均等方向;如從上下文所參考的物件或元件所理解的,像是從物件或元件普遍被使用的位置;或是如其他在此所敘述的。
本揭露涉及網路多節點系統,該系統包含主機伺服器,作為每個節點的虛擬控制器。每個節點可以是網路裝置,如伺服器。所有節點皆具有硬體控制器,如基板管理控制器(BMC),以協助監控伺服器之運作。系統允許虛擬BMC預啟動執行環境(pre-boot execution environment;PXE)從像是SD卡或嵌入式多媒體卡(embedded multi-media card;eMMC)之類的網路裝置啟動。儲存在主機伺服器上的BMC韌體映像檔,是與所有節點共享的。因此,當任一節點之BMC啟動時,會存取主機伺服器,以複製所儲存的BMC韌體映像檔。這免除了有一專用的快閃碟用以儲存伺服器上的BMC韌體映像檔之需要。此安排運作為主機伺服器上的虛擬BMC,以替代當下每個節點上的快閃記憶體。所揭露之系統可減低成本、簡化伺服器概要配置,並提升效能。所揭露之系統亦減少維持多個節點中的BMC所需之人力資源。
第1圖是資料中心中典型的網路節點之組件的方塊圖。在此範例中,網路節點為電腦系統100。在此範例中,電腦系統100為伺服器,但任何適合的電腦裝置可包含此處所揭露的原理。電腦系統100具有兩個中央處理單元(central processing unit;CPU)110及112。CPU 110及CPU 112這兩個CPU,可存取雙線記憶體模組(dual in-line memory modules;DIMMs)114。雖然途中僅示出兩個CPU,但電腦系統100可支援額外的CPU。專用的功能可由主機板上或電腦系統100中的擴充卡上的專用處理器,如GPU或場域可程式閘陣列(field programmable gate array;FPGA)所進行。
平台路徑控制器(platform controller hub;PCH)116俾利CPU 110及112與其他硬體組件,如串列進階技術附接(serial advanced technology attachment;SATA)裝置120、開放運算計畫(open compute project;OCP)裝置122,及USB裝置124之間的通訊。SATA裝置120可包含硬碟機(hard disk drives;HDDs)。替代地,可使用其他記憶儲存裝置,如固態硬碟(solid state drives;SSDs)。其他硬體組件,如PCIe裝置126,可被CPU 110或CPU 112透過擴充卡(未在圖中示出)直接存取。附加的PCIe裝置126可包含網路介面卡(network interface card;NIC)、廉價磁碟冗餘陣列(redundant array of inexpensive disks;RAID)卡、場域可程式閘陣列(field programmable gate array;FPGA)卡,以及處理器卡,如圖形處理單元(graphic processing unit;GPU)卡。
電腦系統100之硬體組件,在被基本輸入輸出系統(basic input-output system;BIOS)中的啟動例行程序(start-up routine)所檢查時,必須是運作中的,方可使電腦系統100成功啟動。因此,BIOS初始化並訓練記憶體裝置及PCIe裝置126。BIOS亦配置PCIe裝置126所需的資源。附加的硬體組件亦可以是運作中的,以使BIOS成功啟動電腦系統100。分離的基本輸入輸出系統(BIOS)快閃記憶體裝置132是儲存BIOD韌體的非揮發性記憶體,如快閃記憶體。當CPU 110及112啟動時,可透過PCH 116存取快閃記憶體裝置132,以促進BIOS韌體之載入。
基板管理控制器(BMC)130管理電腦系統100之運作,如電源管理及溫度管理。
以下將解釋,BMC 130可透過主機伺服器載入外部儲存的BMC韌體映像檔140。於BMC 130運作之期間,BMC 130可存取隨機存取記憶體(random access memory;RAM)142的一區塊。BMC 130可透過網路介面146進行網路通訊。在此範例中,網路介面146為簡化的吉比特媒體獨立接口(reduced gigabit media-independent interface;RGMII)類型之裝置。當BMC 130啟動時,BMC 130透過網路150存取BMC韌體映像檔140。在此範例中,網路150為本地區域網路(local area network;LAN),以允許主機伺服器從遠端監管節點。BMC 130運用網路介面146,以透過網路150發送及接收資料。BMC韌體映像檔140被載入RAM 142中,以供BMC 130執行。因此,電腦系統100不需要專用於BMC 130的快閃記憶體。網路介面146允許特定BMC功能,如韌體映像檔存取,透過主機伺服器220所運行的「虛擬BMC」來遠端進行。
雖然第1圖中的電腦系統100具有包含BMC 130的單一主機板,其他使用BMC的電腦系統架構亦可適用此處所述之原理。舉例來說,某些伺服器機箱設置可具有多個主機板,每個主機板各自有獨立的處理器及/或儲存裝置,全由單一BMC所支援。在這種設置中,BMC監控所有主機板上的硬體組件。
第2圖展示聯網多節點網路系統200,如具有210a、210b、210c、210d、210e及210n等多節點的資料中心。其中一個節點210a為第1圖中的電腦系統100。以下將解釋,210b、210c、210d、210e及210n等其他節點可以是與電腦系統100相同的伺服器,以允許資料中心操作員更流暢的維護及監控。節點210a、210b、210c、210d、210e及210n耦接至可與主機伺服器220進行通訊的網路150。在此範例中,主機伺服器220管理節點210a、210b、210c、210d、210e及210n之每一者。主機伺服器220可透過網路150管理其他節點,因此被管理的節點不限於節點210a、210b、210c、210d、210e及210n。以下將解釋,主機伺服器220包含經由網路150管理通訊的網路介面。主機伺服器220的一或多個處理器執行啟動例行程序,以啟動控制器,如節點210a、210b、210c、210d、210e及210n之任一者之BMC。主機伺服器220的一或多個處理器亦可運作以經由網路150直接發送主機伺服器220所儲存的韌體映像檔至節點210a、210b、210c、210d、210e及210n之任一者。
主機伺服器220亦具有運行特定BMC功能之能力,因此可視為節點210a、210b、210c、210d、210e及210n之任一者之虛擬BMC。在此範例中,節點210b、210c、210d、210e及210n具有BMC 230,允許BMC韌體映像檔備載入至RAM 232以供執行。每個BMC 230具有與第1圖中的電腦系統100之BMC 130相同的晶片組。如以上所解釋的,執行BMC韌體映像檔140的每個BMC 230允許監控如處理器、儲存裝置、電源裝置及網路介面控制器之類的對應伺服器硬體。
在此範例中,主機伺服器220包含儲存BMC韌體映像檔140的永久性儲存裝置222,如SSD或HDD。當BMC 230啟動時,BMC韌體映像檔140可經由網路150而被發送至節點210a、210b、210c、210d、210e及210n之任一者。主機伺服器220可存取儲存預啟動執行環境(PXE)啟動例行程序226的網路儲存裝置,如eMMC 224或SD卡。在此範例中,節點210a、210b、210c、210d、210e及210n之任一者透過由主機伺服器220所運行的PXE介面啟動。替代地,可從節點210a、210b、210c、210d、210e及210n之任一者之本地端發起啟動。
個別BMC 230之啟動是由嵌入式PXE介面所發起,嵌入式PXE介面存取PXE啟動例行程序226,以尋找要啟動的PXE伺服器。在此範例中,每個BMC 230分別包含唯讀記憶體(read only memory;ROM)中的程式碼,以支援PXE啟動、網路啟動(Netboot)啟動伺服器發現協議(Boot Server Discovery Protocol;BSDP),以及從網路150載入BMC韌體映像檔140的載入器。PXE 啟動例行程序226允許藉由介接目標BMC 230之ROM中的PXE啟動程式碼進行遠端啟動。BMC 230使用動態主機設定協定(Dynamic Host Configuration Protocol;DHCP)取得主機伺服器220之IP位址,並藉此獲取BMC 230之啟動所需的啟動映像檔資源。Netboot BSDP允許資源之動態獲取,以啟動目標BMC 230之合適的作業系統。
因此,節點210a、210b、210c、210d、210e及210n之任一者可由主機伺服器220遠端啟動。此外,於啟動程序之期間,目標BMC 230與主機伺服器220通訊,並經由如簡易檔案傳送協定(Trivial File Transfer Protocol;TFTP)的檔案傳輸協定,下載BMC韌體映像檔140。藉此,由於所有節點210a、210b、210c、210d、210e及210n經由網路150共享相同的BMC韌體映像檔140,故系統支援虛擬BMC設置,並可由主機伺服器220從遠端啟動。
由於BMC 230之任一者能在啟動之期間下載BMC韌體映像檔140,節點210a、210b、210c、210d、210e及210n皆不需要用以儲存BMC韌體映像檔的快閃記憶體。此外,韌體映像檔140之替代的映像檔或升級,可由主機伺服器220所儲存。每當BMC 230之其中一者啟動時,這種替代或升級的韌體映像檔可由主機伺服器220所分配。這免除了為節點210a、210b、210c、210d、210e及210n之每一者個別地更新韌體映像檔之需要。
第3圖展示遠端啟動以及為第2圖中的節點210a、210b、210c、210d、210e及210n存取BMC韌體映像檔的程序之流程圖。在此範例中,於步驟310,BMC 230之任一者的啟動是由主機伺服器220所發起。BMC啟動步驟310包含存取儲存在第2圖中的eMMC 224上的BMC啟動程式碼。理所當然地,其他儲存裝置,如SSD或另一非揮發性記憶體裝置,亦可儲存BMC啟動程式碼。啟動之能力是透過網路150執行儲存在目標BMC 230之ROM上的PXE客戶端、DHCP及TFTP所致能。DHCP建立主機伺服器220與目標BMC 230之間的網路連接。PXE客戶端允許透過PXE啟動例行程序226遠端啟動BMC 230。TFTP允許經由網路150,進行如韌體映像檔140之檔案傳輸。
然後,於步驟312,主機伺服器220從網路150發起遠端啟動。遠端啟動需要BMC 230尋找遠端的PXE伺服器,在此範例中遠端的PXE伺服器為主機伺服器220。接著,於步驟314,主機伺服器220開始將BMC韌體映像檔140傳輸至目標BMC 230。在此範例中,主機伺服器220是作為TFTP伺服器,並透過網路150、經由TFTP,將BMC韌體映像檔140傳輸至目標BMC 230。BMC 230將接收到的BMC韌體映像檔140儲存在RAM 232中。然後,於步驟316,BMC 230可被啟動。接著,BMC 230可執行BMC啟動載入器(boot loader)及核心(kernal),以載入與執行目前儲存於RAM 232中的BMC韌體映像檔140。
上述原理可用於在節點上的其他可程式裝置分配韌體映像檔。舉例來說,複雜可程式邏輯裝置(complex programmable logic device;CPLD)可執行韌體,以協助電腦系統100上的電源管理。對於所有節點,這種用於編寫CPLD電源管理功能的韌體映像檔,可由主機伺服器220所集中。另一種替代方案可允許主機伺服器220為每個節點儲存BIOS映像檔,藉此免除對於第1圖中的快閃記憶體裝置之需要。在任一種情況下,正確的韌體映像檔被從主機伺服器220載入至隨機存取記憶體,以供可程式裝置(如CPU 110或CPLD)執行。
替代地,主機伺服器220可為不同類型的BMC儲存多個韌體映像檔。因此,可以有一組伺服器具有第一架構設計,有第二組伺服器具有第二架構設計,每組伺服器需要不同的BMC韌體映像檔。主機伺服器220可被編寫以為不同架構載入正確的韌體映像檔。替代地,可使用類似於主機伺服器220之額外的主機伺服器,以支援每種類型之架構遠端載入BMC韌體映像檔。
雖然本發明已參考一或多種實作所繪示及敘述,當本領域通常知識者閱讀與理解本說明書及附加的圖式,將會想到或知道均等的替代及修改。此外,雖然本發明之特定特徵可能已僅參考數種實作之一所揭露,在可能需要或利於任何給定之特定應用的情況下,這種特徵可以與其他種實作的一或多個其他特徵合併。
雖然本發明之各種實施例已被敘述如上,應被理解的是,該等實施例僅被呈現以作為範例,而非限制。雖然所揭露的實施例已參考一或多種實作所圖示及敘述,當本領域通常知識者閱讀及理解本說明書及附加的圖式時,將想到或知曉均等的替換及修改。此外,雖然本發明之特定特徵可僅參考數個實作中的一者所揭露,這種特徵可與其他實施例的一或多個其他特徵進行組合,而該其他特徵對於任何給定的或特定的應用而言,可能是期望的或有利的。因此,本發明之廣度及範圍不應受限於任何以上敘述的實施例。反之,本發明之範圍應根據以下的請求項及其均等物所定義。
100:電腦系統
110,112:中央處理單元(CPU)
114:雙線記憶體模組(DIMMs)
116:平台路徑控制器(PCH)
120:串列進階技術附接(SATA)裝置
122:開放運算計畫(OCP)裝置
124:USB裝置
126:PCIe裝置
130:基板管理控制器(BMC)
132:快閃記憶體裝置
140:BMC韌體映像檔
142:隨機存取記憶體(RAM)
146:網路介面
150:網路
200:多節點網路系統
210a-210n:節點
220:主機伺服器
222:永久性儲存裝置
224:eMMC
226:PXE 啟動例行程序
230:基板管理控制器(BMC)
232:隨機存取記憶體(RAM)
310-316:步驟
本揭露及其優點與圖式,將可從以下代表性實施例之敘述,搭配附加的圖式,而更佳地理解。這些圖式僅描繪代表性實施例,且因此並非視為各種實施例或請求項的範圍之限制。
第1圖是根據本揭露之某些態樣的一種電腦系統之方塊圖,該電腦系統具有存取遠端基板管理控制器(BMC)韌體映像檔的BMC。
第2圖是根據本揭露之某些態樣的一種網路多節點系統之方塊圖,該系統為每個節點運用虛擬BMC。
第3圖是根據本揭露之某些態樣,第2圖中的任一節點所進行存取基於主機的BMC韌體映像檔之程序。
100:電腦系統
110,112:中央處理單元(CPU)
114:雙線記憶體模組(DIMMs)
116:平台路徑控制器(PCH)
120:串列進階技術附接(SATA)裝置
122:開放運算計畫(OCP)裝置
124:USB裝置
126:PCIe裝置
130:基板管理控制器(BMC)
132:快閃記憶體裝置
140:BMC韌體映像檔
142:隨機存取記憶體(RAM)
146:網路介面
150:網路
Claims (10)
- 一種用於遠端啟動的遠端虛擬系統,包括:一主機伺服器,儲存一韌體映像檔;一網路,耦接至該主機伺服器;以及一第一節點,耦接至該網路,該第一節點包含執行該韌體映像檔的一第一控制器,並且該第一節點不包含用以儲存該韌體映像檔的非揮發性記憶體;其中該主機伺服器啟動該第一控制器,並將該韌體映像檔發送至該第一控制器,以完成該第一控制器之啟動。
- 如請求項1之系統,更包括耦接至該主機伺服器的一儲存裝置,儲存一啟動例行程序,該啟動例行程序允許該第一控制器之遠端啟動。
- 如請求項1之系統,更包括一第二節點,該第二節點包含執行該韌體映像檔的一第二控制器,其中該主機伺服器啟動該第二控制器,並將該韌體映像檔發送至該第二控制器,以完成該第二控制器之啟動。
- 如請求項1之系統,更包括一第二節點,該第二節點包含執行一第二類型韌體映像檔的一第二控制器,其中該主機伺服器儲存該第二類型韌體映像檔,及其中該主機伺服器啟動該第二控制器,並將該第二類型韌體映像檔發送至該第二控制器,以完成該第二控制器之啟動。
- 如請求項1之系統,其中該第一節點具有執行一第 二類型韌體映像檔的一第二控制器,其中該主機伺服器儲存該第二類型韌體映像檔、啟動該第二控制器,以及將該韌體映像檔發送至該第二控制器,以完成該第二控制器之啟動。
- 一種主機伺服器,用以提供一虛擬控制器給一多節點系統中的節點,該主機伺服器包括:一儲存裝置,儲存一第一控制器韌體映像檔;一網路儲存裝置,儲存一啟動例行程序;一網路介面,允許經由一網路與複數個節點通訊,該複數個節點中的部分節點包含執行該第一控制器韌體映像檔的一控制器,並且該複數個節點不包含用以儲存該第一控制器韌體映像檔的非揮發性記憶體;以及一處理器,可運作以:執行該啟動例行程序,以啟動該複數個節點之其中一者的該控制器;以及經由該網路,將該第一控制器韌體映像檔發送至該複數個節點之該其中一者的該控制器。
- 如請求項6之主機伺服器,其中該儲存裝置儲存不同於該第一控制器韌體映像檔的一第二控制器韌體映像檔,其中該處理器可運作以啟動該複數個節點之一第二節點的該控制器,以及將該第二控制器韌體映像檔發送至該第二節點。
- 如請求項6之主機伺服器,其中該節點具有執行一第二控制器韌體映像檔的一第二控制器,其中該儲存裝置儲存 該第二控制器韌體映像檔,及其中該處理器可運作以:執行該啟動例行程序,以啟動該第二控制器;以及經由該網路,將該第二控制器韌體映像檔發送至該第二控制器。
- 一種電腦系統,包括:一基板管理控制器(BMC),包含一隨機存取記憶體(RAM)及一唯讀記憶體,該RAM用以儲存一BMC韌體映像檔以供該BMC執行,該唯讀記憶體包含程式碼以供遠端啟動,並且該唯讀記憶體不用以儲存該BMC韌體映像檔;以及一外部網路介面,允許與一遠端主機伺服器進行網路通訊,以接收一BMC韌體映像檔,其中該BMC可運作以被遠端啟動,以及將接收到的該BMC韌體映像檔載入至該RAM。
- 如請求項9之電腦系統,其中該唯讀記憶體包含程式碼以經由網路通訊接收一檔案,其中該遠端主機伺服器運行一動態主機設定協定(DHCP)例行程序以網路連接至該電腦系統,運行一預啟動執行環境(PXE)例行程序以供該BMC之遠端啟動,以及運行一簡易檔案傳送協定(TFTP)例行程序以傳輸該BMC韌體映像檔。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/646,277 US20230205549A1 (en) | 2021-12-28 | 2021-12-28 | Virtual controller in a multi-node system |
US17/646,277 | 2021-12-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI802385B true TWI802385B (zh) | 2023-05-11 |
TW202326432A TW202326432A (zh) | 2023-07-01 |
Family
ID=86897770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111115564A TWI802385B (zh) | 2021-12-28 | 2022-04-25 | 遠端虛擬系統、主機伺服器及電腦系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230205549A1 (zh) |
CN (1) | CN116360866A (zh) |
TW (1) | TWI802385B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200739417A (en) * | 2006-04-14 | 2007-10-16 | Benq Corp | Method for software processing and firmware updating in different OS and system thereof |
US20150052596A1 (en) * | 2013-08-13 | 2015-02-19 | American Megatrends, Inc. | Network based firmware feature configuration and firmware image generation |
TW201823978A (zh) * | 2016-12-21 | 2018-07-01 | 廣達電腦股份有限公司 | 用於自動更新數據中心中之伺服器系統之元件之韌體的電腦實施方法、系統以及非暫態電腦可讀取媒體 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160147271A1 (en) * | 2013-06-25 | 2016-05-26 | Hewlett-Packard Development Company, L.P. | Powering nodes |
US9998359B2 (en) * | 2013-12-18 | 2018-06-12 | Mellanox Technologies, Ltd. | Simultaneous operation of remote management and link aggregation |
US10148746B2 (en) * | 2014-01-28 | 2018-12-04 | Mellanox Technologies, Ltd. | Multi-host network interface controller with host management |
US10114653B2 (en) * | 2016-06-09 | 2018-10-30 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Multiple-stage bootloader and firmware for baseboard manager controller and primary processing subsystem of computing device |
US10747295B1 (en) * | 2017-06-02 | 2020-08-18 | Apple Inc. | Control of a computer system in a power-down state |
US10872046B2 (en) * | 2017-06-04 | 2020-12-22 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Remote power cycling of computing device via network packet |
-
2021
- 2021-12-28 US US17/646,277 patent/US20230205549A1/en not_active Abandoned
-
2022
- 2022-04-25 TW TW111115564A patent/TWI802385B/zh active
- 2022-05-07 CN CN202210491997.XA patent/CN116360866A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200739417A (en) * | 2006-04-14 | 2007-10-16 | Benq Corp | Method for software processing and firmware updating in different OS and system thereof |
US20150052596A1 (en) * | 2013-08-13 | 2015-02-19 | American Megatrends, Inc. | Network based firmware feature configuration and firmware image generation |
TW201823978A (zh) * | 2016-12-21 | 2018-07-01 | 廣達電腦股份有限公司 | 用於自動更新數據中心中之伺服器系統之元件之韌體的電腦實施方法、系統以及非暫態電腦可讀取媒體 |
Also Published As
Publication number | Publication date |
---|---|
TW202326432A (zh) | 2023-07-01 |
CN116360866A (zh) | 2023-06-30 |
US20230205549A1 (en) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170228228A1 (en) | Remote launch of deploy utility | |
US20200310774A1 (en) | System and Method to Install Firmware Volumes from NVMe Boot Partition | |
US9442876B2 (en) | System and method for providing network access for a processing node | |
US20170102952A1 (en) | Accessing data stored in a remote target using a baseboard management controler (bmc) independently of the status of the remote target's operating system (os) | |
US20100077066A1 (en) | Boot image discovery and delivery system | |
TW201502772A (zh) | 虛擬基板管理控制器 | |
WO2015042925A1 (zh) | 服务器的控制方法和服务器的控制设备 | |
US9459884B2 (en) | Self-healing using an alternate boot partition | |
US20240103971A1 (en) | Systems and methods for error recovery in rebootless firmware updates | |
US10996942B1 (en) | System and method for graphics processing unit firmware updates | |
US11977877B2 (en) | Systems and methods for personality based firmware updates | |
US20240103836A1 (en) | Systems and methods for topology aware firmware updates in high-availability systems | |
US20240103828A1 (en) | Systems and methods for thermal monitoring during firmware updates | |
TWI802385B (zh) | 遠端虛擬系統、主機伺服器及電腦系統 | |
JP2018181305A (ja) | プールされた物理リソースのローカルディスク消去メカニズム | |
US20240095020A1 (en) | Systems and methods for use of a firmware update proxy | |
US20240103849A1 (en) | Systems and methods for supporting rebootless firmware updates | |
US12073204B2 (en) | Systems and methods for firmware update using multiple remote access controllers | |
US20240103845A1 (en) | Systems and methods for grouped firmware updates | |
US20240103846A1 (en) | Systems and methods for coordinated firmware update using multiple remote access controllers | |
US20240103720A1 (en) | SYSTEMS AND METHODS FOR SUPPORTING NVMe SSD REBOOTLESS FIRMWARE UPDATES | |
US20240103847A1 (en) | Systems and methods for multi-channel rebootless firmware updates | |
US20240103835A1 (en) | Systems and methods for topology aware firmware updates | |
US11755334B2 (en) | Systems and methods for augmented notifications in remote management of an IHS (information handling system) | |
US11829772B2 (en) | Heterogeneous compute domains with an embedded operating system in an information handling system |