專利名稱:一種實現(xiàn)基于機群結(jié)構(gòu)的高性能服務(wù)器動態(tài)部署方法
技術(shù)領(lǐng)域:
本發(fā)明涉及高性能服務(wù)器體系結(jié)構(gòu)領(lǐng)域,特別涉及一種實現(xiàn)基于機群結(jié)構(gòu)的高性能服務(wù)器動態(tài)部署方法。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)飛速發(fā)展,10千兆比以太網(wǎng)、10Gb infiniband網(wǎng)絡(luò)相繼成熟應(yīng)用,使得計算資源、存儲資源之間的高速互連成為可能;隨著操作系統(tǒng)向網(wǎng)絡(luò)化分布式系統(tǒng)的轉(zhuǎn)移,網(wǎng)絡(luò)協(xié)議功能已經(jīng)成為現(xiàn)代操作系統(tǒng)軟件必須具備的功能。在計算機網(wǎng)卡等部件的設(shè)計中,增加了對網(wǎng)絡(luò)啟動的支持,這樣,在系統(tǒng)啟動過程中,計算環(huán)境的載體可以在一定的階段進(jìn)行選擇,使用網(wǎng)絡(luò)存儲資源作為載體來建立計算環(huán)境成為可能。
目前機群是高性能服務(wù)器的主流體系結(jié)構(gòu),基于機群結(jié)構(gòu)的高性能服務(wù)器是由多臺相對獨立的服務(wù)器,通過高速互聯(lián)網(wǎng)連接起來構(gòu)成的,每一個服務(wù)器稱為一個結(jié)點,每個結(jié)點上都運行一個獨立的操作系統(tǒng),通過軟硬件的配合和管理,形成一個單一映像的高性能的計算機系統(tǒng)。
機群系統(tǒng)每個結(jié)點上引導(dǎo)和運行的操作系統(tǒng)一般來源于結(jié)點本地的硬盤。結(jié)點的計算資源(處理器為核心的部件)和存儲資源(本地硬盤為核心的部件)是靜態(tài)綁定的,也就是說,結(jié)點的計算特性是由它存儲在本地硬盤上的操作系統(tǒng)及其相關(guān)軟件決定的。
在機群的應(yīng)用環(huán)境中,機群常常被部署成支持多種應(yīng)用,劃分為不同的功能分區(qū),在某一時刻,不同的功能分區(qū)中應(yīng)用對資源的需求是不均衡的,很容易出現(xiàn)有些功能分區(qū)中結(jié)點利用率高,而有些分區(qū)結(jié)點的利用率低的現(xiàn)象。我們希望能夠動態(tài)調(diào)整功能分區(qū)中結(jié)點的數(shù)量,使得功能分區(qū)中計算結(jié)點數(shù)量與承擔(dān)的計算任務(wù)相匹配。但是,由于結(jié)點的計算特性已經(jīng)由本地的操作系統(tǒng)和系統(tǒng)軟件決定,不同功能分區(qū)中的結(jié)點如果不能改變所支持的應(yīng)用,即使從利用率低的功能池中加入到利用率高的功能分區(qū)中,也不一定可以能夠分擔(dān)利用率高的功能分區(qū)中的任務(wù)。
可見,需要一種可以快速改變結(jié)點計算特性的方法,通過動態(tài)改變結(jié)點的計算特性,方便的調(diào)整功能分區(qū)中結(jié)點的數(shù)量,提高資源的利用率。
發(fā)明內(nèi)容
本發(fā)明的目的在于一種動態(tài)綁定計算資源和存儲資源,快速改變結(jié)點的計算持性,提高服務(wù)器的利用率,實現(xiàn)基于機群結(jié)構(gòu)的高性能服務(wù)器動態(tài)部署方法。
把機群中的資源分成計算資源和存儲資源,分別為計算資源和存儲資源設(shè)置不同的標(biāo)識,動態(tài)綁定計算資源和存儲資源來構(gòu)建新的計算結(jié)點,然后通過改變計算結(jié)點的計算特性,把改變計算特性后計算結(jié)點動態(tài)部署到工作負(fù)載重的功能分區(qū)中,以提高服務(wù)器的整體利用率,部署方法分為以下步驟a、制作可以運行的操作系統(tǒng)和相關(guān)軟件的映像,并記錄該映像支持的應(yīng)用特征;利用已有的結(jié)點制作需要的映像數(shù)據(jù),拷貝已經(jīng)制作好的映像數(shù)據(jù),在映像數(shù)據(jù)中記錄制作源的基本屬性,如CPU、網(wǎng)卡、內(nèi)存信息,用于檢查所綁定的計算資源是否適合該映像運行。
b、設(shè)置計算資源和存儲資源綁定關(guān)系;c、控制計算資源和存儲資源的啟動和運行,由所連接的映像特征識別新計算結(jié)點可以支持的應(yīng)用程序,自動探測計算資源的硬件信息,對比映像資源中的約束信息,確定計算資源是否符合映像的運行條件;d、根據(jù)新構(gòu)建的計算結(jié)點特性和資源綁定關(guān)系,在某一時間,比如每個月的月末;一定的條件下,比如某個功能分區(qū)中的CPU利用率持續(xù)過高;自動把空閑分區(qū)中的計算結(jié)點轉(zhuǎn)移到需要該計算特性和工作負(fù)載重的功能分區(qū)中,自動調(diào)整機群的計算特性以適應(yīng)服務(wù)器不斷變化的運行情況;在本發(fā)明的動態(tài)部署方法中,計算資源只是以太網(wǎng)卡為唯一標(biāo)識;在帶有不支持遠(yuǎn)程引導(dǎo)存儲網(wǎng)卡的計算結(jié)點運行存儲設(shè)備映像的過程中,通過操作系統(tǒng)的兩階段引導(dǎo)過程來完成,在第一階段引導(dǎo)中加載存儲卡的驅(qū)動程序,識別出存儲設(shè)備,在第二階段引導(dǎo)把根文件系統(tǒng)切換到存儲設(shè)備上。
對于不支持遠(yuǎn)程引導(dǎo)的網(wǎng)絡(luò)部件,是通過支持遠(yuǎn)程引導(dǎo)網(wǎng)絡(luò)部件引導(dǎo)操作系統(tǒng)內(nèi)核并加載相應(yīng)的驅(qū)動程序,使其能夠在操作系統(tǒng)引導(dǎo)階段識別所連接在網(wǎng)絡(luò)上的設(shè)備。
圖1為計算資源和存儲資源的結(jié)構(gòu)示意圖;圖2為機群結(jié)構(gòu)示意圖;圖3為計算資源在NFS類型存儲資源上的啟動過程示意圖;圖4為計算資源在SAN類型存儲資源上的啟動過程示意圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合實施例和附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
本發(fā)明實現(xiàn)了機群系統(tǒng)中計算資源和存儲資源的動態(tài)組合,動態(tài)改變計算資源的計算特性,把空閑的計算結(jié)點快速方便的添加到工作負(fù)載高的功能分區(qū)中,提高資源的利用率。
圖1是一個計算資源和存儲資源的標(biāo)識和連接示意圖。計算結(jié)點C,包括處理器、內(nèi)存、以太網(wǎng)卡、HBA(HCA)卡等部件,由以太網(wǎng)卡的MAC地址唯一的標(biāo)識該計算結(jié)點。
存儲資源分為兩類,一類是NFS服務(wù)器上的存儲資源,資源的地址存儲資源的地址以NFS服務(wù)器IP地址+NFS輸出的目錄的組合標(biāo)識,記做S,另一類資源是SAN存儲設(shè)備上的資源,以SAN存儲交換機IP地址+LUN號的組合標(biāo)識,記做S’,以太網(wǎng)卡支持PXE等遠(yuǎn)程引導(dǎo)協(xié)議,HBA(HCA)卡可以不支持遠(yuǎn)程引導(dǎo)協(xié)議,計算結(jié)點C運行在SAN上的操作系統(tǒng)S’的引導(dǎo)過程是通過以太網(wǎng)卡引導(dǎo)成功后,切換到SAN上的。
圖2,是一個典型的機群結(jié)構(gòu)的高性能服務(wù)器的示意圖,機群中的結(jié)點C因為應(yīng)用的要求,被分配在不同的功能分區(qū)中,結(jié)點通過以太網(wǎng)連接到NFS服務(wù)器上,通過存儲網(wǎng)絡(luò)連接到存儲設(shè)備上。
通常使用機群的模式是,在NFS服務(wù)器或者SAN上存放與應(yīng)用相關(guān)的數(shù)據(jù),結(jié)點通過本地的硬盤啟動和運行每個結(jié)點獨立的操作系統(tǒng)。本地硬盤是在機群初始安裝時或根據(jù)后來的需要安裝的,結(jié)點上操作系統(tǒng)的安裝是一項非常耗時的工作,并且安裝后的操作系統(tǒng)不能被其他的結(jié)點使用。
本發(fā)明的方法是通過把操作系統(tǒng)安裝到共享的NFS服務(wù)器或者SAN存儲上,動態(tài)配置計算結(jié)點的啟動映像,達(dá)到動態(tài)改變結(jié)點的計算特性。通過快速部署計算結(jié)點需要的映像,能夠方便的改變結(jié)點的結(jié)算特性,使結(jié)點加入到需要該計算資源的功能分區(qū)中去。
實施例一如圖2所示;機群支持三類應(yīng)用,所使用的結(jié)點分別在功能分區(qū)1、2、3中運行,假設(shè)當(dāng)前功能分區(qū)1中的工作負(fù)載很重,而功能分區(qū)2工作負(fù)載很輕,動態(tài)部署的步驟如下1.監(jiān)控新加入機群中新的計算資源,作為備用的計算資源;2.監(jiān)控機群中各個功能分區(qū)中結(jié)點的工作負(fù)載,把工作負(fù)載較輕的結(jié)點
3.作為備用的計算資源;4.可以把功能分區(qū)2中的某一計算結(jié)點,如C2抽取出來;5.為C2動態(tài)綁定功能分區(qū)1需要的映像S1;6.C2引導(dǎo)和執(zhí)行映像S1,構(gòu)建支持功能分區(qū)1的新的計算結(jié)點C’;7.把C’加入到功能分區(qū)1中,增加功能分區(qū)1的計算能力。
實現(xiàn)該功能的前提時,結(jié)點的以太網(wǎng)卡支持網(wǎng)絡(luò)啟動,并設(shè)置為網(wǎng)絡(luò)啟動的優(yōu)先級高于本地硬盤的啟動優(yōu)先級;功能分區(qū)中的應(yīng)用支持動態(tài)的添加和刪除結(jié)點。
圖3和圖4進(jìn)一步說明構(gòu)建動態(tài)部署結(jié)點的具體步驟。
實施例二圖3所示的是一個動態(tài)部署控制臺,控制一臺新加入到機群中的結(jié)點從NFS服務(wù)器上的映像啟動的過程中,控制臺、計算結(jié)點、NFS服務(wù)器的交互過程??梢钥闯觯绻嬎憬Y(jié)點只是利用NFS服務(wù)器上的映像構(gòu)建新的計算結(jié)點,就不需要SAN設(shè)備,這樣可以節(jié)約昂貴的SAN設(shè)備的投資。只是NFS服務(wù)器作為集中的存儲會帶來IO訪問瓶頸,所以計算結(jié)點利用NFS服務(wù)器上的存儲映像的構(gòu)建結(jié)點的方法可以看作是一個廉價的、低性能要求的解決方案。
圖3中1-14步驟除去4-10步驟與建立一個基于NFS、PXE、tftp工具的無盤工作站的過程相同,4-10步的目的是檢查計算資源與綁定的映像資源是否匹配,防止因為硬件的差別造成構(gòu)建的新結(jié)點不能正常引導(dǎo)和運行。
實施例三如圖4所示,一個用動態(tài)部署控制臺控制一臺新加入到機群中的結(jié)點從SAN上的映像啟動過程中,關(guān)鍵是利用操作系統(tǒng)本身提供的兩階段引導(dǎo)過程,第一階段,利用以太網(wǎng)卡的引導(dǎo)功能,在以太網(wǎng)上引導(dǎo)操作系統(tǒng)的內(nèi)核和加載存儲卡的驅(qū)動程序(12、13步);第二雞階段,沒有網(wǎng)絡(luò)啟動功能的存儲卡在操作系統(tǒng)啟動階段結(jié)束后,根文件系統(tǒng)切換前識別出存儲設(shè)備,并把根文件系統(tǒng)切換到識別的SAN上(14步),此結(jié)點雖然在低速的以太網(wǎng)上引導(dǎo),但是運行過程中卻可以利用高速的網(wǎng)絡(luò),(如infiniband、光線通道網(wǎng)絡(luò))進(jìn)行高速通信和網(wǎng)絡(luò)存儲。
由上述的實施例可見,本發(fā)明的這種實現(xiàn)機群結(jié)構(gòu)的高性能服務(wù)器結(jié)點的動態(tài)部署方法,能夠保證快速、方便改變結(jié)點的計算特性,把空閑資源動態(tài)改變計算特性后添加到工作負(fù)載中的功能分區(qū)中去,提高服務(wù)器的利用率。
實施例四
1)把機群中的計算資源和存儲資源分離,計算資源及其相關(guān)部件的地址以以太網(wǎng)的網(wǎng)卡地址(MAC地址)為唯一標(biāo)識,記做C,存儲資源的地址以NFS服務(wù)器的IP地址+NFS的輸出目錄的組合標(biāo)識,記做S;以SAN存儲交換機的IP地址+LUN號的組合標(biāo)識,記做S’,S和S’做為集中的存儲資源標(biāo)識;2)將動態(tài)部署方法分為四個步驟,具體過程包括a、在S或者S’上制作可以運行的操作系統(tǒng)和相關(guān)軟件的映像,并記錄該映像支持的應(yīng)用特征b、計算資源和存儲資源綁定設(shè)置,設(shè)置C與S或者S’的對應(yīng)關(guān)系c、控制C從S或者S’上的映像中啟動,并且以S(S’)作為本地存儲使用,由C和S(S’)動態(tài)的構(gòu)成了一臺虛擬的機群中的結(jié)點,由所連接的映像特征認(rèn)定該結(jié)點可以支持的應(yīng)用d、根據(jù)新構(gòu)建的結(jié)點的特性把該結(jié)點加到需要該計算特性的功能分區(qū)中去。
其中,步驟1)SAN存儲交換機與計算資源連接的屬于計算資源的連接部件的地址,不作為計算資源的唯一標(biāo)識。
步驟2)根據(jù)提前制定的策略進(jìn)一步分出在一定時間(如每個月的月末),一定的條件下(如某個功能分區(qū)中的CPU利用率持續(xù)過高),自動執(zhí)行b,c,d過程,把空閑分區(qū)中的結(jié)點轉(zhuǎn)移到工作負(fù)載重的功能分區(qū)中,自動調(diào)整機群的計算特性,適合不斷變化的應(yīng)用情況。
步驟a可進(jìn)一步包括利用已有的結(jié)點(制作源)制作需要的映像數(shù)據(jù);拷貝已經(jīng)制作好的映像數(shù)據(jù);在映像數(shù)據(jù)中記錄制作源的基本屬性,如CPU、網(wǎng)卡、內(nèi)存信息,用于在與計算資源綁定階段檢查所綁定的計算資源是否適合該映像運行,在指定地址的存儲資源S(S’)上建立映像數(shù)據(jù)。
步驟b可以為查找和收集機群中新加入的計算資源或者把利用率不高的結(jié)點接受為計算資源,建立計算資源和存儲資源之間的綁定關(guān)系。
步驟c所述的控制計算資源C從存儲資源S或者S’上的映像中啟動方法可進(jìn)一步包括當(dāng)C從S上啟動和運行時,C直接通過以太網(wǎng)卡與S通信,構(gòu)建新的結(jié)點;當(dāng)C從S’上啟動和運行時,由于C不能直接通過以太網(wǎng)卡與S’通信,因為C與S’的連接是通過HBA(Host Bus Adapter)卡或者HCA(Host ChannelAdapter)卡連接的,本方法采用Linux類操作系統(tǒng)提供的“initial RAM disk”(或initrd)提供兩階段引導(dǎo)過程,在initrd中加載HBA卡或HCA卡的驅(qū)動,使得通過MAC網(wǎng)卡引導(dǎo)的存放在NFS Server上的內(nèi)核和initrd,可以識別S’,然后把根文件系統(tǒng)切換到S’上。該方法也包括利用其他類型的操作系統(tǒng)(如Windows、AIX等),計算資源先從可以網(wǎng)絡(luò)引導(dǎo)的網(wǎng)絡(luò)部件引導(dǎo),然后加載不能從網(wǎng)絡(luò)引導(dǎo)的網(wǎng)絡(luò)部件(如HCA卡)驅(qū)動后,識別出沒有直接連接在可以網(wǎng)絡(luò)引導(dǎo)的網(wǎng)絡(luò)部件的計算資源S’,把根文件系統(tǒng)切換到S’上的方法。
步驟c可以為利用以太網(wǎng)卡的PXE功能,通過DHCP、tftp服務(wù)的配置,實現(xiàn)C從S上的引導(dǎo)和運行;也可以通過通過DHCP、tftp服務(wù)的配置實現(xiàn)C從NFS Server上引導(dǎo)操作系統(tǒng)內(nèi)核和initrd,利用initrd中的驅(qū)動程序,識別初步SAN上連接的S’,把根文件切換到S’上。
步驟d可以為新構(gòu)建的結(jié)點,根據(jù)S(S’)上映像的信息可以獲知新結(jié)點支持的應(yīng)用,可以把新結(jié)點添加到相應(yīng)的功能分區(qū)中去。
由本發(fā)明的技術(shù)方案可見,本發(fā)明通過分離計算資源和存儲資源,動態(tài)綁定計算資源和存儲資源,實現(xiàn)了快速改變機群中結(jié)點的計算特性,使得計算資源的計算特性不受本地硬盤的存儲映像的約束,可以支持多種計算特性,根據(jù)應(yīng)用的需要,重構(gòu)機群部分和全部的計算特性,提高了計算資源和存儲資源的利用率。
權(quán)利要求
1.一種實現(xiàn)基于機群結(jié)構(gòu)的高性能服務(wù)器動態(tài)部署方法,其特征在于把機群中的資源分成計算資源和存儲資源,分別為兩種資源設(shè)置不同的標(biāo)識,動態(tài)綁定兩種資源構(gòu)建成新計算結(jié)點,然后改變計算結(jié)點的計算特性,并將其動態(tài)部署到工作負(fù)載重的功能分區(qū)中以實現(xiàn)服務(wù)器利用率的整體提高,該部署方法分以下步驟實現(xiàn)a、制作可以運行的操作系統(tǒng)和相關(guān)軟件的映像,并記錄該映像支持的應(yīng)用特征;利用已有的結(jié)點制作需要的映像數(shù)據(jù),在拷貝制作好的映像數(shù)據(jù)中記錄制作源的基本屬性,如CPU、網(wǎng)卡、內(nèi)存信息,用于檢查所綁定的資源是否適合該映像運行;b、設(shè)置計算資源和存儲資源綁定關(guān)系;c、控制計算資源和存儲資源的啟動和運行,由所連接的映像特征識別新計算結(jié)點支持的應(yīng)用程序,自動探測計算資源的硬件信息,對比映像資源中的約束信息,確定計算資源是否符合映像的運行條件;d、根據(jù)新構(gòu)建的計算結(jié)點特性和綁定關(guān)系,在某一時間,比如每個月的月末;一定的條件下,比如某個功能分區(qū)中利用率持續(xù)過高的CPU;自動把空閑分區(qū)中的計算結(jié)點轉(zhuǎn)移到需要該計算特性和工作負(fù)載重的功能分區(qū)中,自動調(diào)整機群的計算特性以適應(yīng)服務(wù)器不斷變化的運行情況。
2.如權(quán)利要求1所述的動態(tài)部署方法,其特征在于,計算資源是以太網(wǎng)卡為唯一標(biāo)識。
3.一種實現(xiàn)基于機群結(jié)構(gòu)的高性能服務(wù)器動態(tài)部署方法,其特征在于,在帶有不支持遠(yuǎn)程引導(dǎo)存儲網(wǎng)卡的計算結(jié)點運行存儲設(shè)備映像的方法,是通過操作系統(tǒng)的兩階段引導(dǎo)過程來完成,在第一階段引導(dǎo)中加載存儲卡的驅(qū)動程序,識別出存儲設(shè)備,在第二階段引導(dǎo)把根文件系統(tǒng)切換到存儲設(shè)備上。
4.如權(quán)利要求3所述的動態(tài)部署方法,其特征在于,通過支持遠(yuǎn)程引導(dǎo)網(wǎng)絡(luò)部件引導(dǎo)操作系統(tǒng)內(nèi)核并加載相應(yīng)的驅(qū)動程序,使得不支持遠(yuǎn)程引導(dǎo)的網(wǎng)絡(luò)部件能夠在操作系統(tǒng)引導(dǎo)階段識別所連接在網(wǎng)絡(luò)上的設(shè)備。
全文摘要
本發(fā)明提供了一種實現(xiàn)基于機群結(jié)構(gòu)的高性能服務(wù)器動態(tài)部署方法,該方法是把機群中的計算資源和存儲資源分離開來并分別為其設(shè)置不同的標(biāo)識;將設(shè)置有不同標(biāo)識的計算資源和存儲資源再動態(tài)綁定構(gòu)建成新的計算結(jié)點,然后改變新的計算結(jié)點的計算特性并將其添加到資源緊張的功能分區(qū)中去,以此實現(xiàn)提高服務(wù)器的整體利用率。本發(fā)明的這種實現(xiàn)機群結(jié)構(gòu)的高性能服務(wù)器結(jié)點的動態(tài)部署方法,能夠保證快速、方便改變結(jié)點的計算特性,把空閑資源動態(tài)改變計算特性后添加到工作負(fù)載重的功能分區(qū)中去,提高服務(wù)器的利用率。
文檔編號H04L12/24GK1744047SQ200510044818
公開日2006年3月8日 申請日期2005年9月27日 優(yōu)先權(quán)日2005年9月27日
發(fā)明者王恩東, 李景山, 魏健, 王守昊, 胡雷鈞, 董小社, 伍衛(wèi)國 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司, 西安交通大學(xué)