TW202331510A - 用以部屬作業環境的方法與系統 - Google Patents

用以部屬作業環境的方法與系統 Download PDF

Info

Publication number
TW202331510A
TW202331510A TW111113274A TW111113274A TW202331510A TW 202331510 A TW202331510 A TW 202331510A TW 111113274 A TW111113274 A TW 111113274A TW 111113274 A TW111113274 A TW 111113274A TW 202331510 A TW202331510 A TW 202331510A
Authority
TW
Taiwan
Prior art keywords
virtual image
image file
bootable
parent
information processing
Prior art date
Application number
TW111113274A
Other languages
English (en)
Other versions
TWI808713B (zh
Inventor
楊明勳
Original Assignee
楊明勳
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 楊明勳 filed Critical 楊明勳
Application granted granted Critical
Publication of TWI808713B publication Critical patent/TWI808713B/zh
Publication of TW202331510A publication Critical patent/TW202331510A/zh

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Magnetically Actuated Valves (AREA)
  • Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)

Abstract

本發明提供一種資訊處理系統,一種用以佈署資訊系統的方法,以及一種使資訊處理系統能夠以多種環境運行的電腦實現的方法。位於虛擬映像檔案裡的檔案系統屬性包含於可延伸韌體介面開機程式內,在載入子虛擬映像檔案的作業系統之前,確認子虛擬映像檔是否失效。

Description

用以部屬作業環境的方法與系統
本發明係有關於一種資訊持有系統及一種用以佈署資訊處理系統的方法,特別是有關於一種使資訊處理系統能夠在多種環境下運行的電腦實現的方法。
隨著資訊的價值和使用不斷增加,個人和企業尋求更多的方式來處理和儲存資訊。用戶可用的一種選擇是資訊處理系統(IHS;Information Handling System)。資訊處理系統通常出於商業、個人或其他目的處理、編譯、儲存和/或傳達資訊或資料,從而允許用戶利用資訊的價值。由於不同用戶或應用程式之間的技術和資訊處理需求和要求各不相同,因此資訊處理系統在處理何種資訊、如何處理資訊、多少資訊需要被處理、儲存或通訊,以及可能會被處理、儲存或傳遞的資訊在處理的速度與效率方面也可能有所不同。不同的資訊處理系統允許資訊處理系統是通用的或針對特定用戶或特定用途配置的,例如金融交易處理、航班預訂、企業資料儲存或全球通信。
統一可延伸韌體介面(UEFI;Unified extensible firmware interface)是一種規範,用於定義作業系統(OS;Operating System)和平台韌體(platform firmware)之間的軟體介面(software interface)。統一可延伸韌體介面取代了舊的資訊處理系統上的基本輸入/輸出系統(BIOS;Basic Input/Output System)。統一可延伸韌體介面提供標準架構和資料結構來管理元件的初始化(initialization)與配置(configuration)、平台資源的開機(booting)以及將控制權傳遞給作業系統。統一可延伸韌體介面規範允許通過載入統一可延伸韌體介面驅動程序和應用程式來擴充平台韌體。
作業系統是操作資訊處理系統的基礎。然而,作業系統安裝的複雜性包括來自不同供應商的不同硬體配置或資源的不同應用程式,以滿足各種需求。例如,資訊處理系統可能需要具有多個作業系統,例如微軟的視窗(Windows)或Linux的UBUNTU以進行教學。多個作業系統的缺點使得資訊處理系統的維護更加困難。
另一方面,雖然在應用資訊處理系統時,似乎教學是許多用戶的主要目標,但教師根據自己的需要選擇資訊處理系統,希望資訊處理系統的維護變得更加容易。例如,在電腦教室,電腦教師希望所有的資訊處理系統都有;通過這種方式,資訊處理系統可以針對特定學生,或在每學期或是每天開始時保持相同的設定狀態。管理數台電腦時,管理人員擁有帶有管理系統的電腦是有幫助的。此外,對於作為課堂助教的資訊處理系統,有效維護資訊敏感性是很重要,因為用戶包括具有不同安全要求的教師和學生。因此,很難維護資訊處理系統。如果將教室電腦用作行政電腦,則需要移除恢復卡以安裝行政管理軟體系統。所有上述改變都會增加資訊處理系統使用的複雜性。
出於資訊技術(IT;Information Technology)的商業需求,有時可能需要測試不同的作業環境或盡快恢復先前版本的作業環境以符合24小時製造。但是,如果在虛擬機器(virtual machine)下處理作業環境(operating environment),則會降低電腦效能,並且顯著增加儲存裝置的容量。此外,一些製造設備必須與具有原生作業環境的資訊處理系統聯繫,因此虛擬機 器不是一個合適的解決方案。
本發明的一個目的是提供一種具有多種作業環境的資訊處理系統,其中多種環境可以在一個作業系統下可以包括具有不同應用程式(Applications)和資料(data)。
本發明的一個目的是提供具有多個作業系統的資訊處理系統。
本發明的一個目的是提供一種佈署具有多個操作環境的資訊處理系統的方法,其中可以在載入作業系統之前檢查可開機虛擬映像檔(bootable virtual image files)和虛擬映像檔(virtual image files)之間的相依性。
本發明的一個目的是提供一種以顯著效率佈署多個資訊處理系統的方法。
本發明的一個目的是提供一種無需硬體、較少儲存容量和顯著效率的恢復資訊處理系統的方法。
本發明的一個目的是提供一種用於遠端佈署或恢復資訊處理系統的方法。
本發明的一個目的是提供一種電腦實現的方法,係用以使資訊處理系統能夠在多種環境下運行。
在本發明中,由於在統一可延伸韌體介面開機載入程序(bootloader)中包含了在可開機虛擬映像檔中的檔案系統屬性(file system attributes),因此可以檢查、確認和比較可開機虛擬映像檔中的資料和資訊。
據此,本發明提供一種佈署資訊處理系統的方法,包含以下步驟:在一儲存裝置(storage)中的一可延伸韌體介面(EFI;Extensible Firmware Interface)系統分割區(system partition)中,建立一統一可延伸韌體 介面(UEFI)開機載入程序(bootloader),其具有一主作業系統(primary operating system)之檔案系統(file system)屬性(attribute);建立一具有上述之主作業系統之第一母可開機虛擬映像檔(first bootable parent virtual image file)於前述儲存裝置之一分割區中;以及當一第一應用程式安裝於前述第一母可開機虛擬映像檔中,對前述之第一母可開機虛擬映像檔差分(differencing)為一第一子虛擬映像檔(first child virtual image file)於前述儲存裝置中之前述的分割區。
本發明之佈署方法中,當一第一資料加入第一子虛擬映像檔中,更包含一對第一子虛擬映像檔差分為一第一孫虛擬映像檔(first grandchild virtual image file)於儲存裝置中之分割區。
本發明之佈署方法中,更包含當一第二應用程式安裝於第一母可開機虛擬映像檔中,對第一母可開機虛擬映像檔差分為一第二子虛擬映像檔於儲存裝置中之分割區。
本發明之佈署方法中,當一第二資料加入第二子虛擬映像檔中,對第二子虛擬映像檔差分為一第二孫虛擬映像檔於儲存裝置中之分割區。
本發明之佈署方法中,更包含建立一具有一次作業系統(secondary operating system)之第二母可開機虛擬映像檔於儲存區之分割區中。
本發明之佈署方法中,更包含一步驟將第二作業系統之檔案系統屬性包含在可延伸韌體介面開機載入程序(UEFI bootloader)。
本發明同時提供一種用以佈署複數個資訊處理系統的方法,包含以下步驟:複製可延伸韌體介面開機載入系統至上述複數個資訊處理系統之複數個儲存裝置;複製第一母可開機虛擬映像檔至上述複數個 資訊處理系統之前述複數個儲存裝置;以及複製第一子虛擬映像檔至上述之複數個資訊處理系統之前述之複數個儲存裝置。
本發明更包含一種用以驗證中第一母可開機、第一/第二子、及第一/第二孫虛擬映像檔之間之相依性的方法,包含以下之步驟:確認第一母可開機虛擬映像檔與第一子虛擬映像檔之間之相依性;確認第一子虛擬映像檔與第一孫虛擬映像檔之間之相依性;確認第一母可開機虛擬映像檔與第二子虛擬映像檔之間之相依性;以及確認第二子虛擬映像檔與第二孫虛擬映像檔之間之相依性。
在本發明之一實施例中,其中上述之建立統一可延伸韌體介面開機載入程序(UEFI bootloader)步驟係在一自生作業系統環境(living operating system environment)下運行。
在本發明之一實施例中,其中上述之建立第一母可開機虛擬映像檔步驟係在一自生作業系統環境下運行。
在本發明之一實施例中,其中上述之統一可延伸韌體介面開機載入程序是在該自生作業系統環境下回復,當該統一可延伸韌體介面開機載入程序被一作業系統開機管理器覆蓋。
在本發明之一實施例中,其中上述之統一可延伸韌體介面開機載入程序(UEFI boot loader)與第一母可開機虛擬映像檔透過一雲端儲存器提供。
本發明更包含一種用以驗證第一母可開機虛擬映像檔與第一子虛擬映像檔之間之相依性的方法,包含一步驟為確認第一母可開機虛擬映像檔與第一子虛擬映像檔之間之相依性。
在本發明中之一實施例,其中上述之確認步驟包含:確認第一母可開機虛擬映像檔與第一子虛擬映像檔之間動態磁碟標頭(dynamic disk headers)是否相同;以及確認是否在第一子虛擬映像檔之動態磁碟標頭中一母通用唯一標示符(UUID;Universally Unique Identifier)與在第一母可開機虛擬映像檔的一硬碟頁標(footer)中一通用唯一標示符(UUID)是否相同。
在本發明中之一實施例,其中在上述之差分步驟中一資料加入於第一子虛擬映像檔。
本發明同時提供一種佈署資訊處理系統的方法,包含以下步驟:建立一開機管理管理程式以及一配置模組於一儲存裝置之一可延伸介面分割區;執行一雲端執行緒指令以下載一指定可開機虛擬映像檔於該儲存裝置之該分割區;附加一旗標於該指定可開機虛擬映像檔與該配置模組;以及對該資訊處理系統重新開機。
本發明同時提供一種電腦實現方法,係用以使得一資訊處理系統可以在多重環境下作業,包含以下之步驟:當上述之資訊處理系統開機時,藉由一統一可延伸韌體介面(UEFI)唯讀記憶體(ROM;Read Only Memory)確認前述資訊處理系統的所有元件是否配置正確;在一儲存裝置中的一可延伸韌體介面系統分割區(UEFI partition)中,載入一統一可延伸韌體介面開機載入程序(UEFI boot loader),其具有一母可開機虛擬映像檔、一第一子虛擬映像檔及一第二子虛擬映像檔於上述儲存裝置中一分割區;其中上述之第一與第二子虛擬映像檔係從前述之母可開機虛擬映像檔中產生,其中上述第一虛擬映像檔較前述第二虛擬映像檔為前;確認上述母可開機虛擬映像檔與前述第二子虛擬映像檔之間之相依性;確定上述第二子虛擬映像檔為一開機元件;以及載入上述開機元件之一作業系統。
在本發明中之一實施例,其中上述之可延伸韌體介面開機載入程序(UEFI bootloader)在前述之母可開機虛擬映像檔中包含上述之作業 系統檔案系統屬性。
在本發明中之一實施例,上述之確認步驟包含:確認第一母可開機虛擬映像檔與第二子虛擬映像檔之間動態磁碟標頭(dynamic disk headers)是否相同;以及確認是否在第二子虛擬映像檔之動態磁碟標頭中一母通用唯一標示符(parent UUID;Universally Unique Identifier)與在母可開機虛擬映像檔的一硬碟頁標(hard disk footer)中一通用唯一標示(UUID)符是否相同。
本發明之電腦實現方法,在上述之確認步驟中當第二子虛擬映像檔失效後,更包含一步驟以複蓋(duplicate)上述之第一子虛擬映像檔為前述之第二子虛擬映像檔。
在本發明中之一實施例,其中上述之覆蓋步驟為自動執行。
本發明同時提供一種資訊處理系統,包含:一儲存裝置用以儲存至少一統一可延伸韌體介面開機載入程序(UEFI bootloader);一處理器,與上述儲存裝置交互耦合,上述處理器具有韌體以在其上執行,使得前述之資訊處理系統得以在多重環境中作業,其中之韌體配置上述處理器用以:當上述資訊處理系統開機時,藉由一統一可延伸韌體介面(UEFI)唯讀記憶體(ROM)確認上述資訊處理系統的所有元件是否配置正確;在一儲存裝置中的一可延伸韌體介面系統分割區(UEFI partition)中,載入一統一可延伸韌體介面開機載入程序(UEFI bootloader),其具有一母可開機虛擬映像檔、一第一子虛擬映像檔及一第二子虛擬映像檔於前述儲存裝置中一分割區;其中上述第一與第二子虛擬映像檔係從前述母可開機虛擬映像檔中產生,其中之第一虛擬映像檔較第二虛擬映像檔為前;確認上述之母可開機虛擬映像檔與前述之第二子虛擬映像檔之間之相依性;確定上述第二子虛擬映像檔為一開機元件;以及載入上述開機元件之一作業系統。
在本發明中之一實施例,其中上述之可延伸韌體介面開機載入程序(UEFI bootloader)包含在母可開機虛擬映像檔中之作業系統之檔案系統屬性。
在本發明中之一實施例,其中上述之韌體配置處理器確認相依性中更進一步配置:確認第一母可開機虛擬映像檔與第二子虛擬映像檔之間動態磁碟標頭是否相同;以及確認是否在第二子虛擬映像檔之動態磁碟標頭中一母通用唯一標示符(UUID)與在母可開機虛擬映像檔的一硬碟頁標中一通用唯一標示符(UUID)是否相同。
在本發明中之一實施例,其中上述之韌體更進一步配置處理器以複蓋第一子虛擬映像檔為第二子虛擬映像檔。
在本發明中之一實施例,其中上述之第一子虛擬映像檔係自動覆蓋。
以上發明摘要包含簡化、概括和細節的省略,且非意圖作為所請求保護標的之完整描述,而是旨在提供與其相關聯的一些功能性的簡要摘述。通過檢查之後的圖示與詳細的書面描述,請求保護標的之其他系統、方法、功能、特徵和優點對於習知該技藝者是或將是變得顯而易見。
10:雲端儲存
20:大量複製
100:資訊處理系統
102:處理器
106:前端匯流排
108:平台控制集線器
110:圖形設備
112:圖形匯流排
113:隨機存取記憶體
114:系統記憶體
116:記憶體匯流排
120:儲存裝置
122:預設統一可延伸韌體介面磁碟
124:磁碟0
125:可延伸韌體介面系統分割區
126:微軟保留區
127:主分割區
130:埠、針腳(引腳)、連接器
134:匯流排
136:外設組件互連標準元件
138:外設組件互連標準匯流排
139:非揮發性記憶體
140:基本輸入輸出系統/統一可延伸韌體介面
142:超級輸入/輸出
144:基板管理控制器
146:低引腳數匯流排
160:網路介面設備
162:外設組件互連標準匯流排
170:網路
180:遠端存取控制器
182:外設組件互連標準匯流排
184:遠端存取控制器記憶體
186:邊帶匯流排
202:應用程式
204:作業系統
250:基本輸入輸出系統/統一可延伸韌體介面
252:統一可延伸韌體介面運行時服務表
253:統一可延伸韌體介面開機服務
254:統一可延伸韌體介面記憶體映射
255:多內存描述符能力位元
256:高級配置和電源介面表
260:韌體
262:開機管理程式
262-1:資訊處理系統統一可延伸韌體介面開機管理程式
262-2:作業系統開機管理程式OS Boot Manager
264:作業系統載入器
266:配置模組
268:開機選單
300:開機操作的時序圖或相位圖
310:開機操作包括安全階段
312:預驗證器
320:前可延伸韌體介面初始化階段
322:前可延伸韌體介面初始化階段核心
324:中央處理器初始化
326:晶片組初始化
328:板資源初始化
330:驅動程序執行環境階段
334:驅動程式
332:EFI驅動程序調度程序
340:開機設備選擇階段
350:瞬態系統載入階段
352:開機載入程序
354:啟動選單
356:自生作業系統環境
360:運行時階段
362:作業系統運行階段
400:桌面分層
402:作業系統層
404:應用層
406:資料層
412:作業系統層
414:應用層
416:資料層
422:作業系統層
424:應用層
502:虛擬磁碟
504:虛擬磁碟
506:虛擬磁碟
結合以下的圖示可以顯示出所舉例之實施例的敘述。應當理解,為了圖示的簡單和清楚起見,圖中所顯示的要件不一定按比例繪製。例如,某一些要件的尺寸相對於其他要件被誇大了。整合本揭露書之教導的實施例與相對於本文呈現的圖描述的實施例都會顯示,其中:
第1圖係根據本發明的一個或多個實施例,圖示資訊處理系統的一個實施例,其中可以實施本揭露書的各種方式。
第2A圖係根據本發明的一個或多個實施例,圖示資訊處理 系統中的系統記憶體的範例內容。
第2B圖係根據本發明的一個或多個實施例,圖示一種非揮發性記憶體的範例內容,其中包括用於開機資訊處理系統的韌體。
第3A圖是對於傳統的資訊處理系統的統一可延伸韌體介面(UEFI)開機的時序圖或相位圖。
第3B圖是根據本發明的一個實施例的資訊處理系統的統一可延伸韌體介面(UEFI)開機的時序圖或相位圖。
第3C圖是根據本發明的另一個實施例的資訊處理系統的統一可延伸韌體介面(UEFI)開機的時序圖或相位圖。
第4圖係根據本發明一實施例,圖示利用可開機虛擬映像檔進行資訊處理系統開機作業的示意圖。
第5圖係根據本發明的一個實施例,圖示具有分區的可開機儲存器的示意圖。
第6圖係本發明一實施例,圖示在諸多資訊處理系統、雲端儲存器以及具有可開機虛擬鏡像檔之實體硬碟與的關係示意圖。
第7圖係根據本發明的一個實施例,圖示用於佈署資訊處理系統的方法的一個的流程圖。
第8圖係根據本發明的一個實施例,圖示用於檢查可開機虛擬映像檔之間的相依性關係的方法的一個流程圖。
第9圖係根據本發明一實施例,圖示用於確認可開機虛擬映像檔資料的詳細檢查方法的一個例子的流程圖。
第10圖係根據本發明的一個實施例,圖示使資訊處理系統能夠以多種配置操作的方法的一個示例的流程圖。
解說的實施例提供了一種佈署方法、一種資訊處理系統和子系統,用於使資訊處理系統能夠使用不同的作業系統環境、不同的應用環境或不同的資訊數據來作業。
在之後本揭露書中的解說實施例之詳細描述中,充分詳細地描述了其中可以實施本揭露書的特定範例實施例,以使熟知本技術領域者能夠實施揭露書中的實施例。例如,已經呈現了諸如特定方法順序、結構、要件和連接之類的特定細節。然而,應當理解,在本發明中不需要利用所呈現的具體細節來實施本揭露書的實施例。且應當理解,在不脫離本揭露書的一般範圍的情況下,可以利用其他實施例並且可以進行邏輯、架構、程序化、機械、電氣和其他改變。因此,以下詳細描述不應被視為限制意義,並且本揭露書的範圍由所附權利請求項及其等效與以限定。
說明書中對“一個實施例”、“一個範例”、“多個實施例”或“一個或多個實施例”的引用旨在指示結合實施例描述的特定特徵、結構或特性,至少包括在本揭露書中的一個實施例。在說明書中不同地方出現的這些片語不一定都指代相同的實施例,也不是與其他實施例相互排斥之單獨或替代實施例。此外,描述了可以由一些實施例展示的各種特徵,且不由其他實施例。類似地,描述了各種要求,這些要求可能是一些實施例的要求而不是其他實施例的要求。
應當理解,特定組件(component)、元件和/或參數名稱和/或其對應的首字母縮略詞(acronyms)的使用,例如在此描述的執行實用程序、邏輯和/或韌體的那些,僅作為範例,並不意味著暗示任何對所描述的實施例的限制。實施例因此可以用不同的命名法和/或術語來描述,用於描述這裡的組件、設備、參數、方法和/或功能,而不受限制。在描述實施例的一個或多個要件、特徵或概念時對任何特定協議或專有名稱的引用僅作為一 種實現的範例提供,並且此類引用並不限制所要主張的實施例的延伸到使用不同要件、特徵、協議或概念名稱的實施例。因此,鑑於使用該術語的上下文,這裡使用的每個術語將被賦予其最廣泛的解釋。
第1圖舉例說明一種範例的資訊處理系統(HIS;Information Handling System)100的方塊示意圖,其中可以實現本揭露書的各種實施例的一個或多個所描述的特徵。出於本揭露書的目的,諸如資訊處理系統100之類的資訊處理系統可以包括可操作以計算、分類、處理、傳輸、接收、讀取(retrieve)、發起(originate)、切換(switch)、儲存、顯示、表示(manifest)、檢測(detect)、記錄、重製(reproduce)、處理(handle)或利用為商業、科學、控製或其他目的任何形式的資訊、情報或資料。例如,資訊處理系統可以是手持設備(handheld device)、個人電腦、伺服器(server)、網路儲存設備(network storage device)或任何其他合適的設備,並且可以在尺寸、形狀、性能、功能和價格方面變化。資訊處理系統可以包括隨機存取儲存器(RAM;Random Access Memory)、一個或多個處理資源例如中央處理器(CPU;Central Process Unit)或硬體或軟體控制邏輯、唯讀記憶體(ROM;Read Only Memory)和/或其他類型的非揮發性(Non-Volatile)記憶體。資訊處理系統的附加組件可能包括一個或多個磁碟機、一個或多個用於與外部設備以及各種輸入和輸出(I/O;Input/Output)設備通信的網路埠(port),例如鍵盤、滑鼠和顯示器。資訊處理系統還可包括可操作以在各種硬體組件之間傳輸通信的一條或多條匯流排(bus)。
具體參照第1圖,顯示一種資訊處理系統100的範例。資訊處理系統100包括一個或多個處理器102。在各種實施例中,資訊處理系統100可以是包括一個處理器102的單一處理器系統,或包括兩個或更多個處理器102(例如,兩個、四個、八個或任何其他合適數量)的多處理器系統。處理 器102包括能夠執行程序指令的任何處理器。在一個實施例中,提供了一種主機板(mother board),其被配置為在各種上述部件之間提供結構支撐、電力和電性連接。這樣的主機板可以包括各種配置的多個連接器插座,適用於接收可插拔電路卡、零件晶片封裝等。當處理器102包括系統記憶體(system memory)114的控制器時,處理器102經由隨機存取記憶體(RAM)匯流排113耦合到系統記憶體114。系統記憶體114可以被配置為儲存可由處理器102存取的程序指令和/或資料。在各種實施例中,系統記憶體114可以使用任何合適的儲存器技術來實現,例如靜態隨機存與記憶體(SRAM;Static RAM)、同步動態隨機存取記憶體(SDRAM;synchronous DRAM)、非揮發性記憶體/快閃記憶體(flash memory),或任何其他種類型的儲存器。
處理器102通過前端匯流排(front-end bus)106耦合到以英特爾(Intel)命名的平台控制器集線器(PCH;platform controller hub)、以超微(AMD)命名的融合控制器集線器(FCH;Fusion Controller Hubs)或晶片組(chipset)108,以下為簡單起見將稱為平台控制器集線器。平台控制器集線器108可以被配置為協調處理器102和其他組件之間的輸入/輸出流量。例如,在上述之特定實現中,平台控制器集線器108經由圖形匯流排112,例如,加速圖形端口(AGP;Accelerated Graphics Port)或加速圖形端口匯流排(AGP bus)、高速串列計算機擴展匯流排標準(PCI-E;Peripheral Component Interconnect-Express)匯流排,耦合到圖形設備110(例如,一個或多個顯示卡或附加卡等)。如果處理器102包括圖形設備110的控制器,則圖形設備110可以直接耦合到處理器102。在一個實施例中,圖形設備110可以內建在處理器102中。
同時耦合到儲存器匯流排(memory bus)116的是儲存設備(storage device)或儲存器(storage)120,其中可以儲存一個或多個軟體和/或韌 體模組和/或資料(未具體顯示)。在一實施例中,儲存器120可以是硬碟(Hard Disk或Hard Drive)或固態硬碟(Solid State Disk或Solid State Drive)。在資訊處理系統100的作業期間,可以將儲存器120內的一個或多個軟體和/或韌體模組載入到系統記憶體114中。
平台控制器集線器108還通過外設組件互連匯流排(PCI bus)138耦合到一個或多個外設組件互連設備(PCI devices)136,例如,數據機(MODEM)、網路卡、音效卡、顯示卡、共享記憶體等。平台控制器集線器108還通過匯流排134耦合到埠(port)、引腳(pin)和/或附加卡(adapter)130。通常,平台控制器集線器108可以被配置為處理不同的輸入/輸出操作,並且平台控制器集線器108可以提供介面,例如,透過位於匯流排134上的埠(port)、引腳(Pin)和/或附加卡(Adapter)130,通用串行匯流排(USB;Universal Serial Bus)、聲音、序列(serial)、並列(parallel)、以太網和其他介面。例如,平台控制器集線器108可以被配置為允許資料在資訊處理系統100和其他設備之間交換,例如連接到網路的其他資訊處理系統。在各種實施例中,平台控制器集線器108可以支援經由有線或無線通用數據網路,例如任何合適類型的以太網、經由電信/電話網路,例如類比語音網路或數字光纖通信網路、經由儲存區域網路,例如光纖通道的區域儲存網路(SAN;Storage Area Network)、或通過任何其他合適類型的網路和/或協定。
平台控制器集線器108還可以連接到一個或多個輸入設備,例如鍵盤、小鍵盤(keypad)、觸控螢幕(touch screen)、掃描設備、語音或光學識別設備或任何其他適合輸入或讀取資料的設備。資訊處理系統100中可能存在多個輸入/輸出設備。在一些實施例中,輸入/輸出設備可以與資訊處理系統100分離並且可以通過有線或無線連接與資訊處理系統100交互聯繫。平台控制器集線器108經由低引腳數(LPC;Low Pin Count)匯流排146耦 合到儲存基本輸入輸出系統(BIOS;Basic Input output System)/統一可延伸韌體介面(UEFI;Unified Extensible Firmware Interface)140的非揮發性記憶體(NV Memory;Nonvolatile Memory)或儲存器設備139。平台控制器集線器108還通過低引腳數匯流排146耦合到超級輸入/輸出控制器(Super I/O)142和基板管理控制器(BMC;Baseboard Management Controller)144。
基本輸入輸出系統(BIOS)/統一可延伸韌體介面(UEFI)140儲存在非揮發性記憶體139上並且包括儲存在其上的程序指令。這些指令可由處理器102用於初始化和測試其他硬體組件和/或將作業系統(OS;Operating System)載入到資訊處理系統100上。因此如下文更詳細描述的,基本輸入輸出系統/統一可延伸韌體介面140可以包括允許處理器102載入和執行特定韌體的韌體介面。在某些情況下,這種韌體可能包括與統一可延伸韌體介面(UEFI)規範兼容的程序代碼(code),但也可以使用其他類型的韌體。
基板管理控制器(BMC;Board Management Controller)144可以包括其上儲存有程序指令的非揮發性記憶體139,這些程序指令可由處理器102使用以實現資訊處理系統100的遠端管理。例如,基板管理控制器(BMC)144可以使用戶能夠發現、配置和管理基板管理控制器(BMC)144、設置配置選項、解決和管理硬體或軟體問題等。附加地或替代地,基板管理控制器(BMC)144可以包括一個或多個基板管理控制器韌體量(volume),每個量具有一個或多個韌體文件,基本輸入輸出系統的韌體介面使用該韌體文件來初始化和測試資訊處理系統100的組件。超級輸入/輸出(Super I/O)控制器142結合了各種低帶寬(bandwidth)或低數據速率設備的介面。這些設備可以包括例如軟碟、平行埠、鍵盤和滑鼠以及其他設備。
在一些情況下,資訊處理系統100可以被配置為存取(access) 與系統記憶體114分離的不同類型的電腦可存取媒體。一般而言,電腦可存取儲存設備可包括任何有形的(tangible)、非暫時性(non-transitory)的儲存媒介或儲存媒介,例如電子的、磁性或光學媒介(optical media),例如,磁碟機、硬碟、光碟(CD/DVD-ROM)、快閃儲存器等可耦合到平台控制集線器108。
資訊處理系統100還包括通過外設組件互連匯流排(PCI bus)162耦合到平台控制器集線器108的一個或多個網路介面設備(NID;Network Interface Device)160。網路介面設備160使資訊處理系統100能夠與位於資訊處理系統100外部之其他設備、服務和組件通信和/或介面溝通。這些設備、服務和組件可以使用一種或多種通信協議經由外部網路,例如範例的網路170,與資訊處理系統100溝通。在一個實施例中,客戶制定的系統/平台可以包括位於分佈式網路中的多個設備,並且網路介面設備160使資訊處理系統100能夠連接到這些其他設備。網路170可以是區域網、廣域網、個人網等,並且網路170和資訊處理系統100之間和/或之間的連接可以是有線或無線或其組合。為了討論的目的,為簡單起見,網路170被指示為單個集合組件。然而,應當理解,網路170可以包括一個或多個到其他設備的直接連接以及一組更複雜的互連,如可以存在於廣域網,例如網際網路中的互連網。
資訊處理系統100還包括通過外設組件互連匯流排(PCI bus)182耦合到平台控制器集線器108的遠端存取控制器(RAC;Remote Access Controller)180。遠端存取控制器(RAC)180提供管理功能,允許管理員佈署、監控、管理、配置、更新、故障排除和修復資訊處理系統100。遠端存取控制器(RAC)180還耦合到遠端存取控制器記憶體(RAC memory)184。在一個實施例中,遠端存取控制器記憶體184可以與處理器102 共享。遠端存取控制器180還通過邊帶(sideband)匯流排186與網路介面設備160通信耦合。
遠端存取控制器(RAC)180監視和控制資訊處理系統100以及與資訊處理系統100通信耦合的其他系統和設備的操作。遠端存取控制器(RAC)180還可以對其他連接的資訊處理系統進行配置和遠程控制。遠端存取控制器(RAC)180可以執行儲存在遠端存取控制器記憶體184中的某些軟體和/或韌體模組。處理器102和遠端存取控制器(RAC)180包括使處理器102和遠端存取控制器(RAC)180能夠執行這裡描述的各種功能的特定韌體。
在本文中使用時,術語“有形(tangible)”和“非暫時性(non-transitory)”旨在描述不包括傳播電磁信號的電腦可讀儲存媒介(或“記憶體”);但並非旨在以其他方式限制片語“電腦可讀媒介”或記憶體所涵蓋的實體電腦可讀儲存設備的類型。例如,術語“非暫時性電腦可讀媒介”或“有形記憶體”旨在涵蓋不一定永久儲存資訊的儲存設備類型,包括例如隨機存取記憶體。以非暫時性形式儲存在電腦可存取的有形儲存媒介上的程序指令和資料隨後可以通過傳輸媒介或信號,例如電、電磁或數字信號,進行傳輸,這些信號可以通過通信媒介,例如網路和/或無線連接(link)。
習知本技藝領域者將理解,資訊處理系統100僅是說明性的,並非旨在限制這裡描述之揭露書的範疇。特別地,任何電腦系統和/或設備可以包括能夠執行這裡描述的某些操作的硬體或軟體的任何組合。例如,雖然資訊處理系統100被圖示為遵循第一類型架構,但是這裡描述的各種系統和方法可以適於與具有不同晶片組和/或遠端存取控制器配置的任何其他架構一起工作。此外,在一些實施例中,由所示組件執行的操作可由較少組件執行或分佈在附加組件上。類似地,在其他實施例中,某些圖示 組件的操作可能無法執行,和/或可能還有其他額外的作業(operation)。
在其他實施方式中,可以不存在第1圖中所示的一個或多個設備或組件,或者可以添加一個或多個其他組件。因此,這裡描述的系統和方法可以用其他電腦系統配置來實現或執行。
現在參考第2A圖,舉例說明資訊處理系統100的系統記憶體114的範例內容的一個實施例。系統記憶體114包括資料、軟體和/或韌體模組,包括應用程式202和作業系統204。系統記憶體114還可以包括其他資料、軟體和/或韌體模組。
轉向第2B圖,舉例說明資訊處理系統100的非揮發性記憶體139的範例內容的一個實施例。非揮發性記憶體139包括基本輸入輸出系統/統一可延伸韌體介面(BOIS/UEFI)或統一可延伸韌體介面唯讀記憶體(UEFI ROM)140以及當基本輸入輸出系統/統一可延伸韌體介面140包含多個儲存器描述符(descriptors)時能夠啟動資訊處理系統100的單獨韌體260。基本輸入輸出系統/統一可延伸韌體介面140儲存可以在系統啟動期間由資訊處理系統100載入的統一可延伸韌體介面映像(UEFI image)250。統一可延伸韌體介面映像250包括統一可延伸韌體介面運行時服務表(UEFI runtime service table)252、統一可延伸韌體介面開機服務(UEFI boot service)253和高級配置和電源介面(ACPI;Advanced Configuration and Power Interface)表256。基本輸入輸出系統/統一可延伸韌體介面140還包括基本輸入輸出系統/統一可延伸韌體介面記憶體映射(UEFI memory map)254和多內存描述符能力(MMDC;Multiple Memory Descriptor Capable)位元(bit)255。
高級配置和電源介面是一種產業規範,其提供了一個開放標準,讓作業系統可以使用上述之標准進行電腦硬體發現、配置、電源管理和監控。高級配置和電源介面通過提供某些指令列表或表格作為系統韌體 的一部分來輸出可用功能。在系統啟動期間載入高級配置和電源介面表(ACPI table)256到系統記憶體114中,並且在作業系統啟動階段期間執行。高級配置和電源介面表256定義了符合高級配置和電源介面的作業系統和系統韌體之間的介面。大多數韌體高級配置和電源介面功能以儲存在高級配置和電源介面表256中的高級配置和電源介面機器語言(AML;ACPI Machine Language)位元組-代碼(byte-code)提供。當設置多內存描述符能力位元(MMDC bit)255時,作業系統支持多個運行時記憶體描述子(descriptor)。來自統一可延伸韌體介面運行時服務表(UEFI runtime service table)252的統一可延伸韌體介面運行時服務是在設備執行階段已經開始直到作業系統204運行之前在系統開機期間可用的服務。統一可延伸韌體介面開機服務(UEFI boot service)253是僅在韌體擁有平台時(即在ExitBootServices呼叫之前)可用的服務,其包括各種設備上的文字檔和圖形控制台,以及匯流排、區塊和文件服務。
韌體260包含開機管理器(boot manager)或統一可延伸韌體介面載入程式(UEFI loader)262、作業系統載入程式模組(OS loader module)264和配置模組(configuration module)266。韌體260是在資訊處理系統100的處理器102上執行的軟體和/或韌體模組(即,在啟動時)。在一個實施例中,開機管理器262包括資訊處理系統統一可延伸韌體介面開機管理器(IHS UEFI boot manager)262-1和作業系統開機管理器(OS boot manager)262-2,在開機的設備執行階段(DXE;device execution phase)期間運行並且促進統一可延伸韌體介面映像(UEFI image)250的載入。作業系統載入程式(OS loader)264在開機的瞬態系統載入階段(TSL;transient system load phase)期間運行並且促進作業系統204的載入。配置模組266在瞬態系統載入階段(TSL)階段期間運行並且使得資訊處理系統能夠執行小/特定任務。當作 業系統更新或其他因素導致資訊處理系統統一可延伸韌體介面開機管理器262-1被覆蓋成作業系統開機管理器262-2,開機會由作業系統開機管理器262-2執行。此時配置模組266會進入自生作業系統環境356將資訊處理系統統一可延伸韌體介面開機管理器262-1恢復原狀。
第3A圖圖示了資訊處理系統100的傳統開機操作的時序圖或相位圖300。如圖所示,開機操作包括安全階段(SEC;Security Phase)310、前可延伸韌體介面初始化階段(PEI;Pre-EFI Initialization Phase)320、驅動程序執行環境階段(DXE;Driver Execution Environment Phase)330、開機設備選擇階段(BDS;Boot Device Selection Phase)340、瞬態系統載入階段(TSL;Transient System Load Phase)350、和運行時階段(RT;Run Time)360。安全階段(SEC)310是資訊處理系統上統一可延伸韌體介面(UEFI)開機過程的第一階段,用於設置預驗證器(pre-verifier)312。預驗證器(pre-veritier)312處理資訊處理系統上的所有重新啟動事件,並臨時分配一部分儲存器以供其他開機階段使用。安全階段(SEC)310在駐留在資訊處理系統上的韌體中執行,並充當系統的信任基礎(root)。
開機操作包括安全階段(SEC)310將執行傳遞給前可延伸韌體介面初始化階段(PEI)320,前可延伸韌體介面初始化階段(PEI)320為資訊處理系統初始化系統記憶體。前可延伸韌體介面初始化階段(PEI)320設置前可延伸韌體介面初始化階段核心(PEI core)322,其包括中央處理器初始化(CPU initialization)324、晶片組初始化(chipset initialization)326和板資源初始化(board resource initialization)328。前可延伸韌體介面初始化階段(PEI)320將執行傳遞給驅動程序執行環境階段(DXE)330,驅動程序執行環境階段(DXE)330為資訊處理系統執行設備特定的初始化。特別地,驅動程序執行環境階段(DXE)330執行操作以載入設備、匯流排和服務驅動程序334的可延 伸韌體介面程序調度程序(EFI driver dispatcher)332。驅動程序執行環境階段(DXE)330將執行傳遞給開機設備選擇階段(BDS)340,後者執行開機管理器262和配置模組266。在特定實施例中,配置模組266在驅動程序執行環境階段(DXE)330和瞬態系統載入階段(TSL)350中運行。開機管理器262還識別開機目標,並將執行傳遞給瞬態系統載入階段(TSL)350。瞬態系統載入階段(TSL)350啟動作業系統載入程序264。作業系統載入程式264載入作業系統並且在作業系統運行時(OS runtime)362將執行傳遞給作業系統。還請注意,對於傳統的多個可開機作業系統環境,啟動過程中的指令和資料可能會在開機設備選擇階段(BDS)340、瞬態系統載入階段(TSL)350和運行時階段(RT;Run Time)360之間來回切換。如果啟動程序失敗,啟動操作需要回到安全階段(SEC)310並重新啟動完整的啟動程序。
第3B圖圖示了根據本發明的一個實施例的資訊處理系統的統一可延伸韌體介面(UEFI)開機的時序圖或相位圖300。提供一桌面分層(Desktop Layering)400於瞬態系統載入階段(TSL)350,使得不同的作業系統其中之一可以被選為開機作業系統。當一個位元欄(bit field),例如旗標(flag),被寫入配置模組266,則瞬態系統載入階段(TSL)350啟動作業系統載入程式264,其載入桌面分層400中一個指定的分層中的作業系統,並且將在作業系統運行時(OS runtime)362將執行傳遞給作業系統。
第3C圖圖示了根據本發明的另一個實施例的資訊處理系統的統一可延伸韌體介面(UEFI)開機的時序圖或相位圖300。開機設備選擇階段(BDS)340中的傳統啟動管理器262現在分為資訊處理系統統一可延伸韌體介面啟動管理器(IHS UEFI boot manager)262-1和作業系統啟動管理器262-2。資訊處理系統統一可延伸韌體介面啟動管理器262-1,也就是統一可延伸韌體介面開機載入器(UEFI bootloader),會確認或判斷桌面分層 (Desktop Layering)400中的所有層是正確還是失效。如果桌面分層400中的所有文件都是正確的,則對應到用戶所選擇的桌面分層400中的特定層顯示啟動選單(boot menu)268。包含自適應(self-adaptive)功能(有對應檔才顯示選單)的啟動選單268會首先確認所有設置列表的存在,然後將列表描述給用戶。瞬態系統載入階段(TSL)350啟動作業系統載入程式264,它載入桌面分層400中特定層的作業系統,並在作業系統運行時(OS runtime)362將執行傳遞給作業系統。
還請注意,對於多個可開機作業系統環境,啟動過程中的指令和資料可能會在開機設備選擇階段(BDS)340和瞬態系統載入階段(TSL)350之間來回切換。在本發明中,即使啟動程序失敗,啟動操作只需要回到開機設備選擇階段(BDS)340檢查桌面分層400中的層是否正確。上述的功能可以在一個自生作業系統環境(live operating system environment,LOE)下實行。當開機程序失效的時候,作業系統啟動管理器262-2開啟自生作業系統環境356,其中自生作業系統環境356可以利用系統記憶體模擬出一個虛擬硬碟,並且將自生作業系統載入這個虛擬硬碟。因此,在桌面分層400中的任何磁碟層可以建立、產生、或是覆蓋。自生作業系統環境,例如視窗預先安裝(WinPE;Windows Pre-Install)或任何作業系統的自生環境,這是一個簡單操作的迷你作業系統環境。自生系統的檔案非常小,可以在儲存器(storage)、通用序列磁碟(USB disk)或光碟中儲存和安裝。因此,可以在自生作業系統下創建或構建母可開機虛擬映像檔、子和孫虛擬映像檔。如果孫資料虛擬映像檔失敗或損壞,統一可延伸韌體介面開機載入程序(UEFI bootloader)可以啟動自生作業系統以回復以前版本的孫資料虛擬映像檔。此外,自生作業系統可以通過互聯網或雲端儲控制資訊處理系統,從而可以維護或恢復遠程資訊處理系統。
在一個實施例中,可以在桌面分層400中構建不同的作業系統,如第4圖所示。可以是微軟(Microsoft)視窗(Windows®)作業系統的第一作業系統層402、安裝有多個應用程式的第一應用(AP;Application)層404和其中儲存有一些資料和資訊的第一資料層406。可以為用戶提供可以包括GNU/Linux、FreeBSD、Unix或Chrome OS的第二作業系統層412。還提供了具有安裝到第二作業系統的應用程式的第二應用層414和第二資料層416。
作業系統載入器(OS loader)264和桌面分層400都儲存在儲存器120中。詳細說明可參考第5圖。提供預設統一可延伸韌體介面磁盤(default UEFI disk)122作為儲存器120,其包括由微軟定義的磁盤0(disk 0)區域124。在微軟要求下形成的三個分區包括一個可延伸韌體介面系統分割區(ESP;EFI System Partition)125、一個微軟保留(MSR;Microsoft Reserve)分割區126和一個主分割區127。微軟保留分割區126在本發明中不是必需的分割區。可延伸韌體介面系統分割區(ESP)125在指定目錄下包含檔案Bootx64.efi、Bootmgfw.efi或GRUB4DOS(Grand Unified Boot-loader for DOS)-for UEFI,可以是資訊處理系統可延伸韌體介面開機管理程式(IHS UEFI Boot Manager)262-1,也可以簡化為可延伸韌體介面開機載入程式(UEFI bootloader),其中Bootmgfw.efi是視窗啟動環境文件。所有可開機的虛擬映像檔(bootable virtual image file)和虛擬映像檔(virtual image file),作為桌面分層400中的分層,都儲存在主分割區127中。作業系統啟動管理器可以允許用戶通過視窗啟動管理器創建可開機的虛擬映像檔或虛擬映像檔,例如具有.VHD或.VHDX格式的虛擬硬碟。本機開機VHDX可用作指定硬體上運行的作業系統,無需任何其他母作業系統。這與VHDX連接到具有主作業系統(host OS)的資訊處理系統上的客虛擬機器(guest Virtual Machine)的情況不同。
第6圖係本發明一實施例,以圖顯示在諸多資訊處理系統、雲端儲存器以及具有可開機虛擬鏡像檔之實體硬碟與的關係示意圖。一資訊處理系統100包含一實體硬碟122,會在開機操作包括安全階段(SEC)310,前可延伸韌體介面初始化階段(PEI)320,驅動程序執行環境階段(DXE)330,以及開機設備選擇階段(BDS)340下運行。一個自生作業系統環境356存取在實體硬碟122上的所有檔案。所有檔案,例如第一作業系統層402、第一應用層404、第一資料層406、第二應用層414、第二資料層416、第二作業系統層422和第三應用層424都儲存在實體硬碟122。然而,如果選擇或確定載入第一資料層406,則第一作業系統層402和第一應用層404必須包括在第一資料層406中作為可開機環境,並且分區A(distribution A)的虛擬碟(virtual disk)502具有向用戶展示完整作業環境(operating environment)。因此,第一資料層406相依於第一應用層404,其相依於第一作業系統層402。如果選擇或確定載入第一應用層404,則包括第一作業系統層402必須與第一應用層404一起作為可開機環境,並且具有所有應用程式但沒有資料操作環境的分佈A的虛擬碟502以顯示給用戶。如果選擇或確定要載入第二資料層416,則第一作業系統層402和第二應用層414必須與第二資料層416包括在內一起作為可開機環境,並且顯示分區B的虛擬碟504。在一個實施例中,也相依於應用層414的備用(redundant)資料層418是用於第二資料層416的備用文件。如果後面的第二資料層416失效,可以使用備用資料層418複蓋(duplicate)第二個資料層416,而這個步驟可以在自生作業系統環境356下進行。如果選擇或確定要載入第三應用層426,則第二作業系統層422必須與第三應用層424一起作為可開機環境包括,並且顯示分區C的虛擬碟506。在最後一個實施例中,資料和應用程式都儲存在應用層424中。
在一實施例中,備用資料層(redundant data layer)418在自生 作業系統環境356下也可以直接透過第二應用層直接產生。在這個實施例中,用戶端有另外的資料備份可以產生備用資料層418。在另一實施例中,當第二資料層416更新時,備用資料層418可以自動的產生。由於只有資料的產生,因此第二資料層416與備用資料層418的檔案都不會太大,後者的實施例可以產生即時備援的方案。
自生作業系統環境356可以從雲端儲存器10更新或是回復在實體硬碟122裡的所有的檔案。在一實施例中,作業系統層422與應用層424可以在自生作業系統環境356中從雲端10下載。因此,一個管理端用戶可以透過網際網路進行大量佈署20在複數個資訊處理系統。
在一實施例中,使用者可以直接更新資訊處理系統100的作業系統而不需要透過自生作業系統環境356。一指定的作業系統層422可以直接從雲端儲存器10直接下載並且儲存在實體硬碟122。一位元欄(bit field),例如旗標(flag),可以寫入或是附加在此指定作業系統層422以及配置模組266。資訊處理系統100接下來重新開機後,此指定作業系統層422就可以直接開機,如第三B圖所示。
在另一實施例中,使用者可以直接更新或是安裝資訊處理系統100的作業系統而不需要透過在資訊處理系統100中預先安裝作業系統。一可上網儲存執行緒(cloud storage daemon),例如Linux的微核心(mini kernel),可以在資訊處理系統100中的儲存裝置120中儲存。當資訊處理系統100開機並且開機設備選擇階段340啟動開機管理程式262以載入基本輸入輸出系統/統一可延伸韌體介面140到系統記憶體114,開機管理程式262確認位於儲存裝置120當中的可上網儲存執行緒作為開機的標的。之後,可上網儲存執行緒可從雲端10下載一指定的作業系統層422,其為一指定可開機虛擬影像檔,及其子部至資訊處理系統100中的實體硬碟11。一位元欄(bit field),例如旗標(flag),可以寫入或是附加在此指定作業系統層422以及配置模組266。資訊處理系統100接下來重新開機後,此指定作業系統層422就可以直接開機,如第三A圖所示。
在本發明中,作業系統層402、自生作業系統環境356或是可上網儲存執行緒皆可執行上述相同功能,即為可上網執行緒可執行指令包含:對資訊處理系統100開機;從雲端10下載一指定作業系統層422;附加一位元欄於該作業系統層422以及配置模組266;以及對資訊處理系統100以指定的作業系統層422重新開機。
參考第7圖,提供了一種用於佈署資訊處理系統的方法。首先,在儲存器120的可延伸韌體介面服務分區(ESP)125中構建或創建具有主(primary)作業系統的檔案系統屬性的統一可延伸韌體介面開機載入程序(UEFI boot loader),如步驟S7-1所示。在一個傳統範例中,主要作業系統是微軟視窗10,檔案系統是NTFS(New Technology File System)。因此,所有與NTFS相關的檔案系統屬性都包含在作業系統載入程式中,從而在載入作業系統時可以識別虛擬映像檔中的資料或資訊。在本發明的一個實施例中,主作業系統為微軟視窗10,檔案系統(File System)可為NTFS、EXFAT(Extended File Allocation Table)、REFS(Resilient File System)或BTRFS(B-tree FS)。因此,與檔案系統相關的所有檔案系統屬性都必須包含在統一可延伸韌體介面開機載入程序(UEFI bootloader)中,以便在載入作業系統之前可以識別虛擬映像檔中的資料或資訊。在載入作業系統之前,可以檢查作業系統分層和應用分層之間的相依性關係,或者作業系統可開機虛擬映像檔和應用虛擬映像檔之間的相依性關係,這一點很重要。一個實施例中的統一可延伸韌體介面開機載入程序(UEFI bootloader)是Bootx64.efi。然後,在一個實施例中,通過磁碟指令(disk instruction)構建具 有主作業系統的第一母(parent)可開機虛擬映像檔,如步驟S7-2所示。
接著,利用磁碟指令將第一母可開機虛擬映像檔差分(differencing)為第一子(child)虛擬映像檔,同時將第一應用程式安裝到第一母可開機虛擬映像檔中,如步驟S7-3所示。然後,進一步利用磁碟指令將第一子虛擬映像檔差分為第一孫(grandchild)虛擬映像檔,同時向第一子虛擬映像檔添加或寫入第一資料,如步驟S7-4所示。因此,提供了專用於資訊處理系統100中的第一用戶的環境。如果第一個用戶想在她自己的環境中使用資訊處理系統100,她可以在啟動資訊處理系統100的同時啟動第一個孫虛擬映像檔。在本實施例中,選擇第一孫虛擬映像檔作為具有第一子虛擬映像檔和第一母可開機虛擬映像檔的啟動設備。
接著,利用磁碟指令將第一母可開機虛擬映像檔區分為第二子虛擬映像檔,同時將第二應用程式安裝到第一母可開機虛擬映像檔中,如步驟S7-5所示,如果第一個用戶想要測試特定應用程式,或者第二個用戶想要使用某些特定應用程式構建他自己的專用環境。然後,利用磁碟指令將第二子虛擬映像檔區分為第二孫虛擬映像檔,同時向第二子虛擬映像檔添加或寫入第二資料,如步驟S7-6所示。因此,提供了具有主作業系統的第二環境。
接著,建立具有次要(secondary)作業系統的第二母可開機虛擬映像檔,如步驟S7-7所示。在一實施例中,次要作業系統可為Linux,檔案系統可為ext(Extended File System)、ext2、ext3、ext4、JFS(Journal File System)、XFS(high-speed JFS)、REFS或Btrfs(B tree檔案系統)。然而,原始的統一可延伸韌體介面開機載入程式可能無法識別第二個母可開機虛擬映像檔中的檔案系統,因此統一可延伸韌體介面開機載入程式中必須包含次要作業系統的檔案系統屬性,如步驟S7-8所示。類似地,可以將第二母可開 機虛擬映像檔區分為第三子虛擬映像檔,從而為第二作業系統提供第三操作環境。
在上述方法的差分(differencing)步驟之後,子或孫虛擬映像檔可能會失效,需要修復,因此應提供檢查步驟以確認子或孫虛擬映像檔的正確性。請參考第8圖,檢查第一母可開機虛擬映像檔與第一子虛擬映像檔之間的相依性關係,如步驟S8-1所示。由於主作業系統的檔案系統屬性包含在統一可延伸韌體介面開機載入程式(UEFI bootloader)中,因此可以識別和檢查第一母可開機虛擬映像檔和第一子虛擬映像檔中的文件。同理,檢查第一子虛擬映像檔與第一孫虛擬映像檔之間的相依性關係,如步驟S8-2所示;檢查第一母可開機虛擬映像檔與第二子虛擬映像檔之間的相依性關係,如步驟S8-3所示;並且檢查第二子虛擬映像檔與第二孫虛擬映像檔之間的相依性關係,如步驟S8-4所示。
檢查相關性的詳細資訊可以參考圖9。首先,確認第一母可開機虛擬映像檔與第一子虛擬映像檔之間的動態磁碟標頭(dynamic disk headers)是否相符,如步驟S9-1所示。然後,確認第一子虛擬映像檔的動態磁碟頭中的母(parent)通用唯一標識符(UUID;Universally Unique Identifier)與第一母可開機虛擬映像檔的硬碟頁標(footer)相同,如步驟S9-2所示。
第10圖舉例說明範例性方法的流程圖,其中前述圖中的處理器102通過上述之方法執行實現本揭露書中一個或多個實施例的過程的不同面向。通常,一方法代表一種電腦實現的方法,用以使資訊處理系統能夠在多個環境下運行,其中前述之環境可以包括相同的作業系統但是不同的應用程式或資料,或者不同的作業系統。方法的描述一般會參考前面的第1-6圖中說明的特定元件。通常,方法會被描述為通過處理器102來實現,特別是由韌體260提供的代碼的執行,特別是由資訊處理系統統一可延伸韌 體介面開機管理器262-1、作業系統開機管理器262-2、作業系統載入程式264和配置模組的韌體執行266在處理器102內起作用。在一個實施例中,一種方法可以被描述為通過處理器102來實現,特別是由在處理器102內起作用的統一可延伸韌體介面開機服務提供的代碼的執行。然而應當理解,所描述的方法的某些方面可以通過其他處理設備和/或其他代碼的執行來實現。
處理器102在啟動資訊處理系統的同時,開始確認資訊處理系統的所有設備是否都被統一可延伸韌體介面唯讀記憶體(UEFI ROM)正確配置,如步驟S10-1所示。然後,處理器102在可延伸韌體介面系統分割區(ESP)125中載入統一可延伸韌體介面開機載入程式,其具有儲存在主分割區127中的母可開機虛擬映像檔、第一子虛擬映像檔和第二子虛擬映像檔,如步驟S10-2所示。在本實施例中,第一子虛擬映像檔和第二子虛擬映像檔均由母可開機虛擬映像檔創建(build),第一子虛擬映像檔在第二子虛擬映像檔之前,作為備用(redundant)支援。此外,第一個子虛擬映像檔已經被檢查並確認正確,而第二個子虛擬映像檔剛剛創建。
接著,處理器102檢查母可開機虛擬映像檔與第二子虛擬映像檔之間的相依性關係,如步驟S10-3所示。接著,若第二子虛擬映像檔失敗,則處理器102從第一子虛擬映像檔重建第二子虛擬映像檔,或將第一子虛擬映像檔複蓋(duplicate)為第二虛擬映像檔,如步驟S10-4。處理器102反應出用戶的選擇,將第二子虛擬映像檔確定為啟動設備,如步驟S10-5所示。接著,處理器102如步驟S10-6所示載入開機裝置的作業系統。上述過程和步驟可以在只能載入到系統記憶體的自生作業系統環境(Live Operating System Environment)下進行處理。
在本發明中,由於資料打包成數個虛擬映像檔儲存,對比安裝整個作業系統及應用軟體的的環境需要複製大量小檔案,複製或移動內 含多個小檔案的單個虛擬映像檔,儲存裝置硬碟和固態硬碟都將受益於更少的存取時間(access time),將比直接複製或移動儲存中的多個小檔案要快很多。因此,備份資料或回復過程比任何傳統的資料備份方案都要快得多。
在本發明中,可以在幾分鐘內佈署多個資訊處理系統,因為這些虛擬映像檔可以非常快地複製到多個資訊處理系統。此外,所有虛擬映像檔都可以通過互聯網從雲儲存複製到多個資訊處理系統。
在本發明中,可以在教學教室中佈署多個資訊處理系統,效率更高,安全控制更好。如果學生A在一個資訊處理系統的一個學期內創建或構建了一些資料,則學生A的所有資訊都可以打包到第一個資料虛擬映像檔中。如果學生B在同一個資訊處理系統的學期內還創建或構建了一些其他資料,則學生B的所有資訊都可以打包到第二個資料虛擬映像檔中。因此,學生B不能在學期內參考學生A的資料或在作業上作弊。資料隱私將比任何其他傳統安全方法好得多。
在本發明中,也可以以更好的效率和更好的安全控制為一個公司的一個部門佈署多個資訊處理系統。如果員工A在一個資訊處理系統中創建或構建了一些資料來測試資訊處理系統控制的一個設備的功能,特別是功能的結果是屬於第一家公司,則員工A創建或構建的所有資訊都可以打包成第一資料虛擬映像檔。如果員工A需要在資訊處理系統中創建或構建一些其他資料來測試資訊處理系統控制的設備的功能,並且功能結果屬於第二家公司,則員工A創建或構建的所有資訊都可以打包到第二個資料虛擬映像檔。如果工作人員A需要測試由特定資訊處理系統控制的設備,則在恢復過程中本發明可以很容易地去除資訊處理系統上的所有測試資訊和資料。
在本發明中,資料虛擬映像檔中沒有作業系統和應用程式。如果創建兩個資料虛擬映像檔用於回復目的,則與傳統恢復軟體相比,需 要的儲存容量更少。
在本發明中,由於統一可延伸韌體介面唯讀記憶體(UEFI ROM),支持的作業系統的數量不受限制。
在本發明中,可以通過互聯網和遠程控制恢復或佈署單個資訊處理系統或多個資訊處理系統。
在本發明中,可以無需任何通用串行匯流排磁碟或其他硬體設備,即可在批量資訊處理系統上進行恢復或佈署。
恢復或佈署過程非常快,因為可開機虛擬映像檔可以非常快地複製或移動,而許多要從一個目錄複製或移動到另一個目錄的小文件將花費大量時間來完成。當儲存器是固態硬碟時會更好。
在本發明中,可以在載入作業系統之前檢查任何可開機虛擬映像檔的相依性。並且可以自動處理恢復程序。
在以上所述之流程圖中,一個或多個方法可以體現在包含電腦可讀代碼的電腦可讀媒介中,使得當在計算設備上執行電腦可讀代碼時執行一系列功能處理。在一些實施方式中,在不偏離本揭露書的範圍的情況下,方法的某些步驟可組合、同時或以不同的順序執行、或者可能被省略。因此,雖然以特定順序描述和圖示了方法區塊,但是使用由區塊中表示的功能過程的特定順序並不意味著暗示對本揭露書的任何限制。在不脫離本揭露書的範圍的情況下,可以對過程的順序進行改變。因此,特定順序的使用不應被視為限制意義,並且本揭露書的範圍僅由所附之權利請求項所限定。
本揭露書的各觀點係在上述所描述,其參考了本揭露書中的實施例的方法的流程圖和/或方塊圖,設備(系統)和電腦程式產品。應當理解,流程圖和/或方塊圖的每個方塊,以及流程圖和/或方塊圖中的方塊的組 合,可以由電腦程序指令來實現。用於執行本揭露書的各方面的操作的電腦程序代碼可以用一種或多種編程語言的任意組合編寫,包括但不限於可編寫之統一可延伸韌體介面(UEFI Oriented)的編程語言。這些電腦程序指令可以提供給通用電腦、專用電腦(例如服務處理器)或其他可編程資料處理設備的處理器以生產機器,使得經由電腦的處理器執行的指令或其他可編程資料處理設備,執行用於實現在流程圖和/或方塊圖塊中指定的功能/動作的方法。
所描述的本揭露書的一個或多個實施例可以至少部分地使用軟體控制的可編程處理設備來實現,例如微處理器(microprocessor)、數位信號處理器(digital signal processor)或其他處理設備、資料處理裝置或系統。因此,可以理解,用於配置可編程設備、裝置或系統以實現前述方法的電腦程序被設想為本揭露書的一個面向。電腦程序可以體現為源代碼(source code)或經過編譯以在處理設備、裝置或系統上實現。適當地,電腦程序以機器或設備可讀的形式儲存在載體設備上,例如在固態儲存器、磁儲存器例如磁碟或磁帶、光學或磁光可讀儲存器(magneto-optically readable memory)例如光碟或數位多功能磁盤中(digital versatile disk),快閃記憶體等。處理裝置(device)、設備(apparatus)或系統利用程序或其一部分來配置處理裝置、設備或系統以進行操作。
進一步可以理解,本揭露書之實施例中的過程可以使用軟體、韌體或硬體的任意組合來實現。因此,本揭露書的各方面可以採用完全硬體實施例或結合軟體(包括韌體、常駐軟體、微代碼等)和硬體方面的實施例的形式,這些方面在本文中可以統稱為“電路”、“模組”或“系統”。此外,本揭露書的各方面可以採用包含在一個或多個電腦可讀儲存設備中的電腦程序產品的形式,該電腦可讀儲存設備具有包含在其上的電 腦可讀程序代碼。可以利用一個或多個電腦可讀儲存設備的任何組合。電腦可讀儲存設備可以例如但不限於電子、磁、光、電磁、紅外或半導體系統、裝置或設備,或前述的任何合適的組合。電腦可讀儲存設備的更具體示例(非詳盡列表)將包括以下內容:具有一或多電線的電連接、便攜式電腦磁碟、硬碟、隨機存取儲存器(RAM)、唯讀記憶體(ROM)、可抹除可編程唯讀儲存器(EPROM或快閃記憶體)、光纖、便攜式光碟唯讀儲存器(CD-ROM)、光儲儲存設備、磁儲存設備或任何前述的適當組合。在本文件的上下文中,電腦可讀儲存設備可以是可以包含或儲存由指令執行系統、裝置或設備使用或與其結合使用的程序的任何有形媒介。
雖然已經參考範例性的實施例以描述本揭露書,但是習知本領域之技藝者將理解,在不脫離本揭露書的範圍的情況下,可以做出各種改變並且可以用等同物替代其要件。此外,在不脫離本揭露書的本質範圍的情況下,可以進行許多修改以使特定系統、設備或其組件適應本揭露書的教導。因此,本揭露書旨在不限於為執行本揭露書而揭露的特定實施例,而是本揭露書將包括落入所附權利要求範圍內的所有實施例。此外,術語中第一、第二等的使用並不表示任何順序或重要性,而是術語第一、第二等用於將一個要件與另一個要件區分開來。再者,術語,“主要作業系統(primary OS)”與“次要作業系統(secondary OS)”僅用於標示一個“第一”與“第二”作業系統,並未意圖指出主作業系統會比次作業系統較佳或是更重要。
此處使用的術語僅用於描述特定實施例的目的,並不旨在限製本揭露書。如本文所用,單數形式“一”、“一種”和“該”也旨在包括複數形式,除非上下文另有明確指示。將進一步理解,術語“包含”和/或“包括”,當在本說明書中使用時,指定所述特徵、整數、步驟、操作、 要件和/或組件的存在,但不排除存在或添加一個或多個其他特徵、整數、步驟、操作、要件、組件和/或它們的群組。
本揭露書的描述是為了說明和描述的目的而呈現的,但並不旨在窮舉或限制所揭露書形式的公開。在不脫離本揭露書的範圍的情況下,許多修改和變化對於本領域普通技術人員來說將是顯而易見的。選擇和描述所陳述之實施例是為了最好地解釋本揭露書的原理和實際應用,並使本領域普通技術人員能夠理解本揭露書的各種實施例的各種修改,以適應預期的特定用途。
雖然本發明已依據所示之實施例詳述,習知此技藝者將容易認知存在諸多實施例的變型,並且這一些變型將在本發明的精神與範圍內。據此,在不脫離所附之諸多權利請求項中,習知此技藝者可得到諸多修正。
262-1:資訊處理系統統一可延伸韌體介面開機管理程式
262-2:作業系統開機管理程式
264:作業系統載入器
266:配置模組
268:開機選單
300:開機操作的時序圖或相位圖
310:開機操作包括安全階段
312:預驗證器
320:前可延伸韌體介面初始化階段
322:前可延伸韌體介面初始化階段核心
324:中央處理器初始化
326:晶片組初始化
328:板資源初始化
330:驅動程序執行環境階段
334:驅動程式
332:EFI驅動程序調度程序
340:開機設備選擇階段
350:瞬態系統載入階段
352:開機載入程序
356:自生作業系統環境
360:運行時階段
362:作業系統運行階段
400:桌面分層

Claims (10)

  1. 一種佈署資訊處理系統的方法,包含以下步驟:
    在一儲存裝置(storage)中的一可延伸韌體介面(EFI)系統分割區(system partition)中,建立一統一可延伸韌體介面(UEFI)開機載入程序(bootloader),其具有一主(primary)作業系統之檔案系統(file system)屬性(attribute);
    建立一具有該主作業系統之第一母可開機虛擬映像檔於該儲存區之一分割區中;以及
    當一第一應用程式安裝於該第一母可開機虛擬映像檔中,對該第一母可開機虛擬映像檔差分為一第一子虛擬映像檔於該儲存裝置中之該分割區。
  2. 如申請專利範圍第1項所述之方法,更包含以下步驟:
    當一第一資料加入該第一子虛擬映像檔中,更包含一對該第一子虛擬映像檔差分為一第一孫(grandchild)虛擬映像檔於該儲存裝置中之該分割區;
    當一第二資料加入該第一母可開機虛擬映像檔中,更包含對該第一母可開機虛擬映像檔差分為一第二子虛擬映像檔於該儲存裝置中之該分割區;
    當一第二資料加入該第二子虛擬映像檔中,對該第二子虛擬映像檔差分為一第二孫虛擬映像檔於該儲存裝置中之該分割區;
    建立一具有一第二主作業系統之第二母可開機虛擬映像檔於該儲存區之該分割區中;以及
    將該第二作業系統之檔案系統屬性包含在該可延伸韌體介面開機載入程序。
  3. 一種在申請專利範圍第2項用以驗證中該第一母可開機、第一/第二子、及第一/第二孫虛擬映像檔之間之相依性的方法,包含以下步驟:
    確認該第一母可開機虛擬映像檔與該第一子虛擬映像檔之間之相依性;
    確認該第一子虛擬映像檔與該第一孫虛擬映像檔之間之相依性;
    確認該第一母可開機虛擬映像檔與該第二子虛擬映像檔之間之相依性;以及
    確認該第二子虛擬映像檔與該第二孫虛擬映像檔之間之相依性,其中上述之確認步驟包含:
    確認該第一母可開機虛擬映像檔與該第一子虛擬映像檔之間動態磁碟標頭;以及
    確認是否在該第一子虛擬映像檔之該動態磁碟標頭中一母通用唯一標示符與在該第一母可開機虛擬映像檔的一硬碟頁標中一通用唯一標示符是否相同。
  4. 如申請專利範圍第1項所述之方法,其中上述之建立該統一可延伸韌體介面開機載入程序步驟以及上述之建立該第一母可開機虛擬映像檔步驟係在一自生作業系統環境下運行,當該統一可延伸韌體介面開機載入程序被一作業系統開機管理器覆蓋,上述之統一可延伸韌體介面開機載入程序是在該自生作業系統環境下回復。
  5. 如申請專利範圍第1項所述之方法,其中上述之統一可延伸韌體介面開機載入程序與該第一母可開機虛擬映像檔係透過一雲端儲存器提供。
  6. 一種用以佈署複數個資訊處理系統的方法,包含以下步驟:
    複製申請專利範圍第1項所述之可延伸韌體介面開機載入系統至該複數個資訊處理系統之複數個儲存裝置;
    複製申請專利範圍第1項所述之第一母可開機虛擬映像檔至該複數個資訊處理系統之該複數個儲存裝置;以及
    複製申請專利範圍第1項所述之第一子虛擬映像檔至該複數個資訊處理系統之該複數個儲存裝置。
  7. 一種電腦實現方法,係用以使得一資訊處理系統可以在多重環境下作業,包含以下步驟:
    當該資訊處理系統開機時,藉由一統一可延伸韌體介面唯讀記憶體確認該資訊處理系統的所有元件是否配置正確;
    在一儲存裝置中的一可延伸韌體介面系統分割區中,載入一統一可延伸韌體介面開機載入程序,其具有一母可開機虛擬映像檔、一第一子虛擬映像檔及一第二子虛擬映像檔於該儲存裝置中一分割區;
    其中該第一與第二子虛擬映像檔係從該母可開機虛擬映像檔中產生,
    其中該第一虛擬映像檔較該第二虛擬映像檔為前;
    確認該母可開機虛擬映像檔與該第二子虛擬映像檔之間之相依性;
    確定該第二子虛擬映像檔為一開機元件;以及
    載入該開機元件之一作業系統。
  8. 如申請專利範圍第7項所述之方法,其中上述之可延伸韌體介面開機載入程序在該母可開機虛擬映像檔中包含該作業系統檔案系統屬性,上述之確認步驟包含:
    確認該第一母可開機虛擬映像檔與該第二子虛擬映像檔之間動態磁碟標頭;以及
    確認是否在該第二子虛擬映像檔之該動態磁碟標頭中一母通用唯一標示符與在該母可開機虛擬映像檔的一硬碟頁標中一通用唯一標示符是否相同,
    在該確認步驟中當該第二子虛擬映像檔失效後,更包含一步驟以自動複蓋該第一子虛擬映像檔為該第二子虛擬映像檔。
  9. 一種佈署資訊處理系統的方法,包含以下步驟:
    建立一開機管理管理程式以及一配置模組於一儲存裝置之一可延伸介面分割區;
    執行一雲端執行緒指令以下載一指定可開機虛擬映像檔於該儲存裝置之該分割區;
    附加一旗標於該指定可開機虛擬映像檔與該配置模組;以及
    對該資訊處理系統重新開機。
  10. 一種資訊處理系統,包含:
    一儲存裝置用以儲存至少一統一可延伸韌體介面開機載入程序;
    一處理器,與該儲存裝置交互耦合,該處理器具有韌體以在其上執行, 使得該資訊處理系統得以在多重環境中作業,其中該韌體配置該處理器以:
    當該資訊處理系統開機時,藉由一統一可延伸韌體介面唯讀記憶體確認該資訊處理系統的所有元件是否配置正確;
    在一儲存裝置中的一可延伸韌體介面系統分割區中,載入一統一可延伸韌體介面開機載入程序,其具有一母可開機虛擬映像檔、一第一子虛擬映像檔及一第二子虛擬映像檔於該儲存裝置中一分割區;
    其中該第一與第二子虛擬映像檔係從該母可開機虛擬映像檔中產生,
    其中該第一虛擬映像檔較該第二虛擬映像檔為前;
    確認該母可開機虛擬映像檔與該第二子虛擬映像檔之間之相依性;
    確定該第二子虛擬映像檔為一開機元件;以及
    載入該開機元件之一作業系統。
TW111113274A 2022-01-27 2022-04-07 用以部屬作業環境的方法與系統 TWI808713B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263303582P 2022-01-27 2022-01-27
US63/303,582 2022-01-27

Publications (2)

Publication Number Publication Date
TWI808713B TWI808713B (zh) 2023-07-11
TW202331510A true TW202331510A (zh) 2023-08-01

Family

ID=88149300

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111113274A TWI808713B (zh) 2022-01-27 2022-04-07 用以部屬作業環境的方法與系統

Country Status (1)

Country Link
TW (1) TWI808713B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009143124A1 (en) * 2008-05-20 2009-11-26 Citrix Systems, Inc. Methods and systems for patching multiple disk images derived from a common base disk image
US20170228228A1 (en) * 2016-02-05 2017-08-10 Quanta Computer Inc. Remote launch of deploy utility
WO2019113553A1 (en) * 2017-12-08 2019-06-13 Net-Thunder, Llc Automatically deployed information technology (it) system and method
CN112083964B (zh) * 2019-06-14 2024-02-13 佛山市顺德区顺达电脑厂有限公司 作业系统布署方法
CN113342365A (zh) * 2021-06-28 2021-09-03 深圳前海微众银行股份有限公司 操作系统部署方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
TWI808713B (zh) 2023-07-11

Similar Documents

Publication Publication Date Title
US11144306B2 (en) Scheduling upgrades in distributed computing systems
US9940330B2 (en) System and method for converting a physical disk to a virtual disk
US8533164B2 (en) Method and tool to overcome VIOS configuration validation and restoration failure due to DRC name mismatch
US8631217B2 (en) Apparatus, system, and method for virtual machine backup
TWI262443B (en) Method, system and recording medium for automatically configuring data processing system
US10303458B2 (en) Multi-platform installer
US20100235828A1 (en) Cloning image creation using virtual machine environment
US7480793B1 (en) Dynamically configuring the environment of a recovery OS from an installed OS
US10303487B2 (en) System and method for booting an information handling system
US11709692B2 (en) Hot growing a cloud hosted block device
US10120671B1 (en) Multi-level image extraction
US20140325140A1 (en) Automatic creation, deployment, and upgrade of disk images
US20180157475A1 (en) System and method for updating a uefi image in an information handling system
WO2023087764A1 (zh) 算法应用元的打包方法及装置、设备、存储介质和计算机程序产品
JP2023054777A (ja) コンテナオーケストレーションシステムをテストする方法、システムおよびコンピュータプログラム(コンテナオーケストレーションシステムをテストするためのテストクラスタの生成)
US10768961B2 (en) Virtual machine seed image replication through parallel deployment
US20170185444A1 (en) System for batch processing of workflows for virtualized infrastructure
US8549545B2 (en) Abstraction of computer disk image cloning capabilities from bootable media
TWI808713B (zh) 用以部屬作業環境的方法與系統
US11573782B2 (en) Self updating agent
US10339011B1 (en) Method and system for implementing data lossless synthetic full backups
Blaas et al. Stateless provisioning: Modern practice in hpc
CN115509590B (zh) 持续部署方法及计算机设备
Ruiz et al. Embedded Systems
Venable Maintenance