提升預啟動執行環境的伺服器穩定度的方法及伺服器裝置的製作方法
2023-08-06 22:34:21 2
專利名稱:提升預啟動執行環境的伺服器穩定度的方法及伺服器裝置的製作方法
技術領域:
本發明涉及一種提升預啟動執行環境的伺服器穩定度的方法及伺服器裝置,尤其涉及一種有效避免過多客戶機同時進行下載,進而防止伺服器毀損或客戶機放棄開機的方法及伺服器裝置。
背景技術:
預啟動執行環境(Preboot eXecution Environment, PXE)是一種網絡開機的環境,也可稱為無磁碟開機,旨在使網絡接口成為計算機開機裝置。簡單來說,在預啟動執行環境中,伺服器提供服務,使客戶機在無存儲介質(例如硬碟)的狀況下,不需事先安裝作業系統,就能開機進入作業系統。PXE通信協議結合了動態主機設定協議(Dynamic Host Configuration Protocol、DHCP)、小型文件傳輸協議(Trivial File Transfer Protocol、TFTP)及網絡引導程序(Network Bootstrap Program、NBP)三個既有的規範。其中,DHCP由伺服器執行, 用來自動分配網絡地址給客戶機,並指示客戶機相關於TFTP與NBP的信息;TFTP由伺服器執行,用來提供文件下載服務,使客戶機取得特定文件(即NBP) ;NBP是存儲在伺服器的文件,經由TFTP傳送到客戶機,由客戶機執行。關於已知PXE的開機運作方式,請參考圖1。如圖1所示,當啟動開機後,客戶機的基本輸出輸入系統(Basic Input/Output System)會執行開機測試等流程,接著將執行權交給開機程序。由開機程序取得執行權到客戶機取得作業系統(Operation System)可大致分為三個階段,分別為Al、A2、A3。在階段Al,開機程序向伺服器的DHCP單元提出服務需求,則DHCP單元會分配網絡地址給客戶機,並指示相關於TFTP與NBP的信息。在階段A2,開機程序根據DHCP單元所提供的信息, 向伺服器的TFTP單元提出下載需求,以取得NBP並將NBP存儲於存儲器中。最後,在階段 A3,開機程序將執行權交給NBP,則NBP會向伺服器的TFTP單元提出下載需求,以取得作業系統並將作業系統存儲於存儲器中。在階段A3取得作業系統後,NBP會將執行權交給作業系統,由作業系統完成開機程序。因此,通過階段Al、A2、A3,客戶機可取得作業系統,達到無磁碟開機的目的。然而,在階段A2或A3中,客戶機皆需由伺服器下載文件,如果同時間過多的客戶機同時處於階段A2或A3,則會對伺服器的TFTP單元造成很大的負擔。在此情形下,伺服器的TFTP單元的反應速度變慢、下載速度變慢,使得客戶機的NBP等待時間過長,而放棄或重新啟動開機。更有甚者,如果同時下載的客戶機激增,甚至可能會造成伺服器毀損,使所有客戶機無法下載文件,導致系統停擺。由此可知,已知PXE的運作方式實有改進的必要。
發明內容
因此,本發明的主要目的即在於提供一種提升預啟動執行環境的伺服器穩定度的方法及伺服器裝置。
本發明公開一種提升一伺服器的穩定度的方法,該伺服器支持一預啟動執行環境,該方法包含有於一客戶機通過該預啟動執行環境進行開機時,指示該客戶機執行一第一網絡引導程序;接收該第一網絡引導程序所輸出的一請求信號,該請求信號用來請求該伺服器允許該客戶機下載一第二網絡引導程序,該第二網絡引導程序用來由該伺服器下載一作業系統;以及根據該伺服器的服務情形,輸出對應於該請求信號的一回應信號,以允許或禁止該客戶機下載該第二網絡引導程序。本發明另公開一種可提升穩定度的伺服器裝置,該伺服器裝置支持一預啟動執行環境,其包含有一處理器;以及一存儲器,用來存儲一程序,該程序用來指示該處理器執行以下步驟於一客戶機通過該預啟動執行環境進行開機時,指示該客戶機執行一第一網絡引導程序;接收該第一網絡引導程序所輸出的一請求信號,該請求信號用來請求該伺服器允許該客戶機下載一第二網絡引導程序,該第二網絡引導程序用來由該伺服器下載一作業系統;以及根據該伺服器的服務情形,輸出一回應信號,以允許或禁止該客戶機下載該第二網絡引導程序。
圖1為已知技術中PXE開機運作方式的示意圖。圖2為本發明實施例PXE開機運作方式的示意圖。圖3為本發明實施例一流程30的示意圖。主要元件符號說明A1、A2、A3、B1、B2、B3、B4、B5階段30流程300、302、304、306、308步驟
具體實施例方式已知PXE開機流程的主要缺點在於TFTP規範對於所有客戶機要求,都是來者不拒,以致無法限制客戶機的數量,造成系統宕機或運作速度變慢。要改善此缺點,由於無法修改第三方編寫的NBP程序的TFTP等待時間,所以只能增加伺服器的效能或以人為的動作,來限制客戶機的數目,以確保每一個客戶機都能PXE開機成功。在此情形下,為了在不修改既有PXE系統的設定,也不更動客戶機的原始設定下,改善已知PXE的缺點,本發明導入一詢答機制,由客戶機先詢問TFTP的狀況,使伺服器可據以控制後續流程的進行。而此詢答機制的具體實現通過一新增的輔助NBP,並適當修改TFTP的流程,以決定是否允許客戶機下載用來取得作業系統的NBP (以下稱其為傳統NBP)。詳細來說,請參考圖2,圖2為本發明實施例一 PXE開機運作方式的示意圖。如圖2 所示,當啟動開機後,客戶機的基本輸出輸入系統會執行開機測試等流程,接著將執行權交給開機程序。由開機程序取得執行權到客戶機取得作業系統分為五個階段,分別為B1、B2、 B3、B4、B5。在階段Bi,開機程序向伺服器的DHCP單元提出服務需求,則DHCP單元會分配網絡地址給客戶機,並指示相關於TFTP與輔助NBP的信息。在階段B2,開機程序根據DHCP 單元所提供的信息,向伺服器的TFTP單元提出下載需求,以取得輔助NBP並將輔助NBP存儲於存儲器中。在階段B3,開機程序將執行權交給輔助NBP,輔助NBP會向伺服器的TFTP單元提出下載傳統NBP的請求。如果TFTP單元允許客戶機下載傳統NBP,則進入階段B4 ;反之,則維持在階段B3,等待伺服器的允許。當輔助NBP取得TFTP單元的許可後,在階段B4, 輔助NBP會向TFTP單元提出下載需求,以取得傳統NBP並將傳統NBP存儲於存儲器中。最後,在階段B5,輔助NBP將執行權交給傳統NBP,則傳統NBP會向TFTP單元提出下載需求, 以取得作業系統並將作業系統存儲於存儲器中。在階段B5得作業系統後,傳統NBP會將執行權交給作業系統,由作業系統完成開機程序。因此,比較圖1及圖2可知,本發明是修改TFTP流程(階段B2),並增加詢問TFTP 狀況的機制(階段B3、B4),換句話說,圖2中階段Bi、B5與圖1中階段Al、A3是相同運作方式。此外,需注意的是,在PXE架構中,客戶機僅具有被動執行NBP的功能,換句話說,本發明不需對客戶機的軟、硬體進行任何修改,僅需於伺服器中增加輔助NBP的下載機制,並修改TFTP的運作程序,因而可大幅降低具體實現時的複雜度或困難度。進一步地,在圖2中,階段B3是客戶機詢問伺服器相關於TFTP的狀況。因此,伺服器的TFTP單元可預設客戶機數量的判斷機制。例如,當同時下載的客戶機未達一預設上限值時,如果有一客戶機要求下載傳統NBP,則TFTP單元可允許其進行下載(即進入階段 B4)。反之,如果同時下載的客戶機已達預設上限值時,如果有一客戶機要求下載傳統NBP, 則TFTP單元不會允許其進行下載(即維持在階段B3)。在階段B3中,如果客戶機未受到伺服器的允許,則客戶機會保持在等待的狀態下,並持續詢問TFTP單元,直到得到允許進入階段B4為止。由於客戶機會詢問TFTP的狀況,且在未得到許可之前,會持續等待,不進行其他動作,因此伺服器可以藉此控制客戶機PXE開機的優先順序。也就是說,當同時下載的客戶機已達預設上限值時,後續要求下載傳統NBP的客戶機皆會保持在等待狀態下;此時,如果有一客戶機完成下載,而使伺服器可提供下載服務給等待狀態下的客戶機時,伺服器可依預設的判斷邏輯,設定客戶機的優先順序,並依照這個順序,給予客戶機許可。而優先順序的決定依據,可以是以提出下載請求的時間為準,或是依客戶機的型號、優先程度等為判斷依據,且不限於此。如果伺服器以提出下載請求的時間為準,則當客戶機提出下載請求時,TFTP單元應記錄客戶機的識別數據(如網絡地址)及提出請求的時間,然後依照時間的先後順序,給予客戶機許可,讓等待最久的客戶機優先執行。此外,如果伺服器依客戶機的型號為決定依據,則輔助NBP應先從客戶機的基本輸出輸入系統裡,取得系統信息,再將此系統信息伴隨下載請求傳送給TFTP單元,使TFTP單元可據以依照型號的順序,給予客戶機許可,讓特定型號的客戶機優先執行。需注意的是,前述依提出下載請求的時間或客戶機型號來判斷客戶機優先順序的做法僅為本發明可行的實施例,實際上,伺服器決定優先順序的依據不限於此,也可以同時考慮提出下載請求的時間及客戶機型號,或是依其他信息進行判斷。而此優先順序判斷機制的實現同樣不涉及客戶機的軟、硬體架構,而僅需調整TFTP流程或輔助NBP的內容。另一方面,由於輔助NBP會詢問伺服器的TFTP狀況,如果無法得到許可,則會保持在等待狀態,因此可確保客戶機的等待時間不會過期,而且每一個客戶機都可以順利開機, 僅有先後順序上的差別。換句話說,本發明不需修改第三方編寫的NBP程序的TFTP等待時間,即可確保客戶機的等待時間不會過期,且每一個客戶機都可以順利開機。更重要的是, 伺服器可通過排程或優先權控制的機制,避免過多客戶機同時進行下載,因而可防止伺服器毀損或客戶機放棄開機的情形。
在已知技術中,如果同時間過多的客戶機同時下載文件,則會對伺服器的TFTP單元造成很大的負擔,可能導致反應速度及下載速度變慢,甚至可能造成伺服器宕機。相較之下,本發明導入一詢答機制,由客戶機先詢問TFTP的狀況,使伺服器可據以控制後續流程的進行。而此詢答機制的實現不會更動客戶機的軟、硬體結構,僅需適度修改TFTP流程及增加輔助NBP,因而可有效降低具體實現時的複雜度或困難度。由於本發明僅需修改伺服器的運作,因此以下進一步將伺服器中相關於詢答機制的運作方式歸納為一流程30,如圖3所示。流程30可提升伺服器的穩定度,包含有以下步驟步驟300:開始。步驟302 於一客戶機通過PXE進行開機時,指示該客戶機執行輔助NBP。步驟304 接收輔助NBP所輸出的一請求信號,該請求信號用來請求伺服器允許該客戶機下載傳統NBP。步驟306 根據伺服器的服務情形,輸出對應於該請求信號的一回應信號,以允許或禁止該客戶機下載傳統NBP。步驟308:結束。流程30的詳細說明與可能的變化可參考前文,在此不贅述。另一方面,在硬體實現方面,可以軟體、固件等方式,將流程30轉換為一程序,並存儲於一存儲器中,以指示一處理器執行流程30的步驟。此等將流程30轉換為適當程序以實現對應的伺服器裝置,應為本領域技術人員所熟悉的技術。綜上所述,針對PXE開機流程,本發明導入一詢答機制,由客戶機先詢問TFTP的狀況,使伺服器可據以控制後續流程的進行。而此詢答機制的實現不會更動客戶機的軟、硬體結構,僅需適度修改TFTP流程及增加輔助NBP,因而可有效降低具體實現時的複雜度或困難度,同時可確保客戶機的等待時間不會過期,而且每一個客戶機都可以順利開機。更重要的是,本發明可有效避免過多客戶機同時進行下載,進而防止伺服器毀損或客戶機放棄開機。以上所述僅為本發明的優選實施例,凡依本發明權利要求書所做的均等變化與修飾,皆應屬本發明的涵蓋範圍。
權利要求
1.一種提升一伺服器的穩定度的方法,該伺服器支持一預啟動執行環境,該方法包含有在一客戶機通過該預啟動執行環境進行開機時,指示該客戶機執行一第一網絡引導程序;接收該第一網絡引導程序所輸出的一請求信號,該請求信號用來請求該伺服器允許該客戶機下載一第二網絡引導程序,該第二網絡引導程序用來由該伺服器下載一作業系統; 以及根據該伺服器的服務情形,輸出對應於該請求信號的一回應信號,以允許或禁止該客戶機下載該第二網絡引導程序。
2.如權利要求1所述的方法,其中根據該伺服器的服務情形,輸出對應於該請求信號的該回應信號的步驟,在該伺服器尚可提供下載該第二網絡引導程序的服務予該客戶機時,輸出該回應信號,以允許該客戶機下載該第二網絡引導程序。
3.如權利要求1所述的方法,其中根據該伺服器的服務情形,輸出對應於該請求信號的該回應信號的步驟,在該伺服器無法提供下載該第二網絡引導程序的服務予該客戶機時,輸出該回應信號,以禁止該客戶機下載該第二網絡引導程序。
4.如權利要求3所述的方法,其還包含設定該客戶機下載該第二網絡引導程序的一順序;以及根據該順序,對該客戶機下載該第二網絡引導程序的運作進行排程。
5.如權利要求4所述的方法,其中設定該客戶機下載該第二網絡引導程序的該順序的步驟,根據該第一網絡引導程序輸出該請求信號的時間,設定該順序。
6.如權利要求4所述的方法,其中設定該客戶機下載該第二網絡引導程序的該順序的步驟,根據該客戶機的一特徵,設定該順序。
7.如權利要求6所述的方法,其中該特徵是該客戶機的一型號。
8.一種可提升穩定度的伺服器裝置,該伺服器裝置支持一預啟動執行環境,其包含有一處理器;以及一存儲器,用來存儲一程序,該程序用來指示該處理器執行以下步驟 在一客戶機通過該預啟動執行環境進行開機時,指示該客戶機執行一第一網絡引導程序;接收該第一網絡引導程序所輸出的一請求信號,該請求信號用來請求該伺服器允許該客戶機下載一第二網絡引導程序,該第二網絡引導程序用來由該伺服器下載一作業系統; 以及根據該伺服器的服務情形,輸出一回應信號,以允許或禁止該客戶機下載該第二網絡引導程序。
9.如權利要求8所述的伺服器裝置,其中根據該伺服器的服務情形,輸出對應於該請求信號的該回應信號的步驟,在該伺服器尚可提供下載該第二網絡引導程序的服務予該客戶機時,輸出該回應信號,以允許該客戶機下載該第二網絡引導程序。
10.如權利要求8所述的伺服器裝置,其中根據該伺服器的服務情形,輸出對應於該請求信號的該回應信號的步驟,在該伺服器無法提供下載該第二網絡引導程序的服務予該客戶機時,輸出該回應信號,以禁止該客戶機下載該第二網絡引導程序。
11.如權利要求10所述的伺服器裝置,其還包含 設定該客戶機下載該第二網絡引導程序的一順序;以及根據該順序,對該客戶機下載該第二網絡引導程序的運作進行排程。
12.如權利要求11所述的伺服器裝置,其中設定該客戶機下載該第二網絡引導程序的該順序的步驟,根據該第一網絡引導程序輸出該請求信號的時間,設定該順序。
13.如權利要求11所述的伺服器裝置,其中設定該客戶機下載該第二網絡引導程序的該順序的步驟,根據該客戶機的一特徵,設定該順序。
14.如權利要求13所述的伺服器裝置,其中該特徵是該客戶機的一型號。
全文摘要
提升預啟動執行環境的伺服器穩定度的方法及伺服器裝置。在該方法中,該伺服器支持一預啟動執行環境,該方法包含有於一客戶機通過該預啟動執行環境進行開機時,指示該客戶機執行一第一網絡引導程序;接收該第一網絡引導程序所輸出的一請求信號,該請求信號用來請求該伺服器允許該客戶機下載一第二網絡引導程序,該第二網絡引導程序用來由該伺服器下載一作業系統;以及根據該伺服器的服務情形,輸出對應於該請求信號的一回應信號,以允許或禁止該客戶機下載該第二網絡引導程序。
文檔編號G06F9/445GK102299935SQ201010208970
公開日2011年12月28日 申請日期2010年6月25日 優先權日2010年6月25日
發明者葉順智, 李忠安, 郭遠翰 申請人:緯創資通股份有限公司