欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種雙控制器集群共享資源的調(diào)度方法與流程

文檔序號(hào):12730087閱讀:198來源:國知局
一種雙控制器集群共享資源的調(diào)度方法與流程

本發(fā)明涉及一種雙控制器集群共享資源的調(diào)度方法,適用于雙控制器集群存儲(chǔ)系統(tǒng),屬于集群海量數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域。



背景技術(shù):

數(shù)據(jù),已經(jīng)成為所有企業(yè)、個(gè)人最重要的資產(chǎn)。圍繞著數(shù)據(jù)的存儲(chǔ),誕生了各式各樣的存儲(chǔ)技術(shù)。

為了提高存儲(chǔ)性能,保障數(shù)據(jù)安全,增大存儲(chǔ)容量,兼顧存儲(chǔ)成本,人們?cè)O(shè)計(jì)了多種類型的獨(dú)立磁盤冗余陣列(Redundant Arrays of Independent Disks,RAID)。

為了提高存儲(chǔ)系統(tǒng)的可用性,保障業(yè)務(wù)的連續(xù)性,人們?cè)O(shè)計(jì)了集群存儲(chǔ)系統(tǒng),集群內(nèi)的各控制器節(jié)點(diǎn)通過網(wǎng)絡(luò)等手段進(jìn)行通信。目前使用最廣泛的是由兩個(gè)控制器組成的雙控制器集群。雙控制器集群的后端存儲(chǔ)介質(zhì)是通過光纖或SAS鏈路共享磁盤陣列的邏輯卷,或是通過SAS鏈路共享expander上的磁盤,前端業(yè)務(wù)則是通過以太網(wǎng)或光纖,使用nfs、cifs、scst等協(xié)議,提供文件級(jí)或塊級(jí)的存儲(chǔ)導(dǎo)出服務(wù)。

雙控制器集群有兩種工作模式,一種是active-standby模式:集群中的兩個(gè)控制器一個(gè)為主控制器,另一個(gè)為備控制器。應(yīng)用程序主要運(yùn)行在主控制器上,當(dāng)主控制器出現(xiàn)故障時(shí),通知備控制器接管原先在主控制器上的業(yè)務(wù),以使業(yè)務(wù)不間斷;另一種是active-active模式:集群中的兩個(gè)控制器同時(shí)對(duì)外提供業(yè)務(wù),兩個(gè)控制器互為主備,一個(gè)控制器出現(xiàn)故障后,將其上的業(yè)務(wù)切換到另一個(gè)控制器上。

對(duì)于雙控制器集群來說,兩個(gè)控制器共享后端的存儲(chǔ)介質(zhì),然而存儲(chǔ)介質(zhì)不能同時(shí)被兩個(gè)控制器使用,所以必須為存儲(chǔ)介質(zhì)設(shè)定屬主。當(dāng)某個(gè)控制器出現(xiàn)某些故障時(shí),將該控制器上的共享資源全部切換到另一控制器上,以保證雙機(jī)集群系統(tǒng)的高可用性,保證業(yè)務(wù)的連續(xù)性。

但是這種資源的調(diào)度方法存在一定的局限性。當(dāng)某控制器僅某部分出現(xiàn)故障,僅對(duì)某些共享資源有影響,而對(duì)該控制器上的其它共享資源并無影響,此時(shí)將該控制器上的所有共享資源都切換到另一控制器上,會(huì)加大另一控制器上的壓力,嚴(yán)重影響其性能,同時(shí)造成原有控制器上物理帶寬和計(jì)算能力等資源的閑置和浪費(fèi)。

下面對(duì)本專利用到的一些技術(shù)術(shù)語進(jìn)行解釋:

鏈路:包括控制器上向外提供業(yè)務(wù)所使用的以太網(wǎng)鏈路、FC鏈路等,以及控制器連接后端存儲(chǔ)介質(zhì)所使用的SAS鏈路、FC鏈路等。

虛擬存儲(chǔ)池:使用共享的后端存儲(chǔ)介質(zhì)在某個(gè)控制器上創(chuàng)建的存儲(chǔ)池,其在同一時(shí)間只能屬于一個(gè)控制器,但可以在兩個(gè)控制器之間進(jìn)行切換。為使該虛擬存儲(chǔ)池向外提供業(yè)務(wù),需使用控制器上的一些鏈路,包括連接后端存儲(chǔ)介質(zhì)的SAS鏈路、FC鏈路,提供NAS業(yè)務(wù)、ISCSI業(yè)務(wù)所需的以太網(wǎng)鏈路,提供FC業(yè)務(wù)所需的FC鏈路。

auto-failback:在雙控制器集群中控制資源調(diào)度的選項(xiàng)。當(dāng)某一控制器出現(xiàn)故障時(shí),控制器上的共享資源自動(dòng)切換到備用控制器上。若該選項(xiàng)處于開啟狀態(tài)時(shí),當(dāng)出現(xiàn)故障的控制器恢復(fù)正常時(shí),屬于該控制器上的共享資源從備用控制器自動(dòng)切換回來;若該選項(xiàng)處于關(guān)閉狀態(tài)時(shí),當(dāng)出現(xiàn)故障的控制器恢復(fù)正常時(shí),屬于該控制器上的共享資源并不從備用控制器切換回來。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是為解決在雙控制器集群中以控制器為粒度切換共享資源導(dǎo)致影響性能、資源閑置等的問題,提出一種雙控制器集群共享資源的調(diào)度方法。

本發(fā)明的思想是每個(gè)控制器監(jiān)視對(duì)外提供業(yè)務(wù)所需的所有鏈路的狀態(tài),并根據(jù)實(shí)際業(yè)務(wù)需求,對(duì)每條鏈路的權(quán)重進(jìn)行設(shè)置;當(dāng)使用共享資源時(shí),為其分配與其相關(guān)的鏈路,根據(jù)所有鏈路的狀態(tài)計(jì)算共享資源在兩個(gè)控制器上的權(quán)重,然后兩個(gè)控制器之間使用心跳盤或心跳網(wǎng)口等方式進(jìn)行心跳信息傳遞,通過比較兩個(gè)控制器上共享資源的權(quán)重對(duì)共享資源進(jìn)行調(diào)度。

本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的:

一種雙控制器集群共享資源的調(diào)度方法,包括以下內(nèi)容:

一、鏈路監(jiān)視:監(jiān)視兩個(gè)控制器上所有的鏈路狀態(tài),鏈路的權(quán)重可以根據(jù)實(shí)際需求進(jìn)行設(shè)置。包括以下內(nèi)容:

1)雙控制器集群中兩個(gè)控制器的鏈路默認(rèn)是相同的,因此將兩個(gè)控制器上的鏈路在邏輯上一對(duì)一建立綁定,以保證共享資源在每個(gè)控制器上能夠使用邏輯上相同的鏈路;

2)獨(dú)立的監(jiān)視連接在控制器上所有的SAS鏈路,并為每條SAS鏈路設(shè)置獨(dú)立的權(quán)重;

3)獨(dú)立的監(jiān)視連接在控制器上所有的FC端口,并為每個(gè)端口設(shè)置獨(dú)立的權(quán)重;所述FC端口或?yàn)閕nitiator模式,以連接磁盤陣列上的邏輯卷;或?yàn)閠arget模式,向外提供服務(wù);

4)獨(dú)立的監(jiān)視連接在控制器上的所有網(wǎng)口,并為每個(gè)網(wǎng)口設(shè)置獨(dú)立的權(quán)重;對(duì)于由多個(gè)網(wǎng)口創(chuàng)建的bond口情形同樣視為一個(gè)網(wǎng)口;

二、資源管理:使用共享的后端存儲(chǔ)介質(zhì)為某個(gè)控制器創(chuàng)建虛擬存儲(chǔ)池,即為共享資源分配屬主,同時(shí)為該虛擬存儲(chǔ)池設(shè)置與其相關(guān)的鏈路,鏈路需按照實(shí)際的物理連接、提供的業(yè)務(wù)類型等分成一個(gè)個(gè)監(jiān)控組,設(shè)置相關(guān)鏈路的方法具體包括以下內(nèi)容:

1)將與虛擬存儲(chǔ)池相關(guān)的每條連接expander的SAS鏈路設(shè)置為一個(gè)監(jiān)視組;

2)將與虛擬存儲(chǔ)池相關(guān)的每條連接磁盤陣列的SAS鏈路設(shè)置為一個(gè)監(jiān)視組;

3)將與虛擬存儲(chǔ)池相關(guān)的FC initiator模式的端口,根據(jù)實(shí)際的物理連接情況,設(shè)置為N個(gè)監(jiān)視組(N為自然數(shù)),每個(gè)監(jiān)視組中可以包含多條鏈路,只要組中一條鏈路狀態(tài)正常,即視為鏈路正常,該組鏈路的權(quán)重為組內(nèi)狀態(tài)正常的鏈路的最大權(quán)重;

4)將與虛擬存儲(chǔ)池相關(guān)的FC target模式的端口,根據(jù)實(shí)際的物理連接情況,設(shè)置為N個(gè)監(jiān)視組(N為自然數(shù)),每個(gè)監(jiān)視組中可以包含多條鏈路,只要組中一條鏈路狀態(tài)正常,即視為鏈路正常,該組鏈路的權(quán)重為組內(nèi)狀態(tài)正常的鏈路的最大權(quán)重;

5)將與虛擬存儲(chǔ)池相關(guān)的每個(gè)網(wǎng)絡(luò)端口(此處網(wǎng)絡(luò)端口包含bond端口)設(shè)置為一個(gè)監(jiān)視組;

三、資源調(diào)度:根據(jù)虛擬存儲(chǔ)池及與其相關(guān)的監(jiān)視組中鏈路的狀態(tài),進(jìn)行資源調(diào)度,包括以下內(nèi)容:

1)根據(jù)虛擬存儲(chǔ)池及與其相關(guān)的鏈路狀態(tài),在兩個(gè)控制器使用下列公式分別計(jì)算權(quán)重:

W=(ΣLSasDisk+ΣLFcInit+ΣLSasRaid)*(ΣLFcTar+∑LNet)

其中,∑LSasDisk為共享expander上磁盤時(shí)狀態(tài)正常的的SAS鏈路監(jiān)視組的所有鏈路的權(quán)重和,ΣLFcInit為所有FC initiator模式端口監(jiān)視組的權(quán)重和,每個(gè)FC initiator模式端口監(jiān)視組的權(quán)重為組內(nèi)狀態(tài)正常的鏈路的最大權(quán)重;∑LSasRaid為共享后端磁盤陣列時(shí)狀態(tài)正常的SAS鏈路監(jiān)視組的所有鏈路的權(quán)重和,∑LFcTar為所有FC target模式端口監(jiān)視組的權(quán)重和,每個(gè)FC target模式端口監(jiān)視組的權(quán)重為組內(nèi)狀態(tài)正常的鏈路的最大權(quán)重;ΣLNet為狀態(tài)正常的網(wǎng)口監(jiān)視組的所有鏈路的權(quán)重和;ΣLSasDisk+ΣLFcInit+∑LSasRaid表示后端連接存儲(chǔ)介質(zhì)相關(guān)鏈路監(jiān)視組的權(quán)重和,∑LFcTar+∑LNet表示向外提供業(yè)務(wù)相關(guān)鏈路監(jiān)視組的權(quán)重和;如果虛擬存儲(chǔ)池與某些鏈路無關(guān)或是鏈路處于未連接狀態(tài),則該鏈路的權(quán)重按0計(jì)算,否則按鏈路監(jiān)視中設(shè)置的權(quán)重值計(jì)算;

2)當(dāng)創(chuàng)建虛擬存儲(chǔ)池或控制器上的鏈路狀態(tài)發(fā)生變化時(shí),兩個(gè)控制器進(jìn)行通信,獲取虛擬存儲(chǔ)池在對(duì)端控制器上的權(quán)重;

作為優(yōu)選,所述兩個(gè)控制器進(jìn)行通信通過心跳盤或是心跳網(wǎng)口方式實(shí)現(xiàn);

3)比較虛擬存儲(chǔ)池在本地控制器與對(duì)端控制器上的權(quán)重,權(quán)重小的控制器放棄虛擬存儲(chǔ)池,權(quán)重大的控制器獲取虛擬存儲(chǔ)池;在權(quán)重相同的情況下,如果auto-failback開啟,則虛擬存儲(chǔ)池的屬主獲取虛擬存儲(chǔ)池,另一控制器放棄虛擬存儲(chǔ)池;如果auto-failback關(guān)閉,則虛擬存儲(chǔ)池不進(jìn)行切換。

有益效果

雙控制器存儲(chǔ)技術(shù)的核心之一在于高可用,當(dāng)一個(gè)控制器出現(xiàn)故障后,通過軟件進(jìn)行靈活的管理調(diào)度,由另一控制器接管相關(guān)的業(yè)務(wù),保證業(yè)務(wù)的連續(xù)性。對(duì)比現(xiàn)有的調(diào)度方法,本發(fā)明通過在雙控制器集群中監(jiān)控共享資源所使用的鏈路狀態(tài),根據(jù)系統(tǒng)的運(yùn)行狀態(tài)以虛擬存儲(chǔ)池為粒度動(dòng)態(tài)地調(diào)度虛擬存儲(chǔ)池,充分利用雙控制器集群的物理帶寬,充分發(fā)揮雙控制器集群的計(jì)算能力,使得雙控制器集群滿足用戶持續(xù)穩(wěn)定性和可用性的需求。

附圖說明

圖1為本發(fā)明實(shí)施例雙控制器物理鏈路連接示意圖(其中:C、H為SAS鏈路接口;D、E、I、J為網(wǎng)絡(luò)接口;F、G、K、L為FC接口(圖中未畫出FC接口的物理連接));

圖2為本發(fā)明實(shí)施例雙控制器所有鏈路的綁定示意圖;

圖3為本發(fā)明實(shí)施例虛擬資源池poolA相關(guān)鏈路的示意圖;

圖4為本發(fā)明實(shí)施例虛擬資源池poolB相關(guān)鏈路的示意圖。

具體實(shí)施方式

下面結(jié)合具體實(shí)施對(duì)本發(fā)明進(jìn)行詳細(xì)說明。

本實(shí)施例以由24塊磁盤組成的共享磁盤的雙控制器集群為例對(duì)本發(fā)明方法進(jìn)行詳細(xì)說明。

兩個(gè)控制器不妨稱為A控和B控。A、B控都通過一條SAS鏈路共享磁盤,都接一張F(tuán)C卡(兩個(gè)端口),都有兩個(gè)網(wǎng)口。兩個(gè)控制器的SAS接口C和SAS接口H共享expander上的所有磁盤;A控的的網(wǎng)口E和B控的網(wǎng)口J直連進(jìn)行通信;A控的的網(wǎng)口D和B控的網(wǎng)口I連接到網(wǎng)絡(luò)上,向外提供NAS或ISCSI業(yè)務(wù);FC端口F、G、K、L都為target端口;開啟auto-failback。具體的物理連接如圖1所示。

一:如圖2所示,對(duì)控制器A和控制器B中的SAS鏈路、FC端口、網(wǎng)口一對(duì)一建立綁定,即A控的網(wǎng)口D和B控的網(wǎng)口I邏輯上相同,A控的網(wǎng)口E和B控的網(wǎng)口J邏輯上相同,A控的FC口F和B控的FC口K邏輯上相同,A控的FC口G和B控的FC口L邏輯上相同,A控的SAS口C和B控的SAS口H邏輯上相同。本實(shí)施例設(shè)定每條SAS鏈路的權(quán)重為30,兩個(gè)控制器可以通過SAS鏈路共享expander上的磁盤,也可以通過SAS鏈路共享磁盤陣列上的邏輯卷。設(shè)定每個(gè)FC initiator模式的端口權(quán)重為30,每個(gè)FC target模式的端口權(quán)重為20。設(shè)定每個(gè)網(wǎng)口的權(quán)重為10。當(dāng)然,本領(lǐng)域技術(shù)人員知道,根據(jù)具體的業(yè)務(wù)需要,也可以將各鏈路的權(quán)重設(shè)為其它值。

二:選取12塊磁盤為控制器A創(chuàng)建RAID虛擬存儲(chǔ)池poolA,即共享磁盤,在池上創(chuàng)建文件系統(tǒng)數(shù)據(jù)集,文件系統(tǒng)數(shù)據(jù)集通過CIFS或NFS協(xié)議(不限于此二方式)對(duì)外提供訪問。如圖3所示,在創(chuàng)建虛擬存儲(chǔ)池時(shí),選取與其相關(guān)的SAS接口C(B控對(duì)應(yīng)接口為H)連接后端存儲(chǔ)介質(zhì),選取網(wǎng)絡(luò)接口D(B控對(duì)應(yīng)接口為I)對(duì)外提供NAS業(yè)務(wù)。與該虛擬存儲(chǔ)池相關(guān)的有SAS接口和網(wǎng)絡(luò)接口兩個(gè)監(jiān)視組。

poolA在A控上的權(quán)重WpoolAA=(30+0+0)*(0+10)=300。

poolA在B控上的權(quán)重WpoolAB=(30+0+0)*(0+10)=300。

三:選取另外12塊磁盤為控制器B創(chuàng)建RAID虛擬存儲(chǔ)池poolB,即共享磁盤,在池上創(chuàng)建裸設(shè)備卷,裸設(shè)備卷通過FC target端口對(duì)外映射(不限于此方式)。如圖4所示,在創(chuàng)建虛擬存儲(chǔ)池時(shí),選取與其相關(guān)的SAS接口H(A控對(duì)應(yīng)接口為C)連接后端存儲(chǔ)介質(zhì),選取FC target接口K、L(A控上對(duì)應(yīng)FC target端口F、G)對(duì)外提供FC業(yè)務(wù)。與該虛擬存儲(chǔ)池相關(guān)的有SAS接口和FC target模式端口兩個(gè)監(jiān)視組,其中FC target模式的監(jiān)視組中包含兩個(gè)FC端口。

poolB在A控上的權(quán)重WpoolBA=(30+0+0)*(20+0)=600。

poolB在B控上的權(quán)重WpoolBB=(30+0+0)*(20+0)=600。

四:拔掉A控制器D網(wǎng)口,模擬網(wǎng)口故障。檢查虛擬存儲(chǔ)池poolA和虛擬資源池poolB在A控和B控上的權(quán)重。poolB的權(quán)重未發(fā)生變化,poolA的權(quán)重為WpoolAA=(30+0+0)*(0+0)=0,WpoolAB=(30+0+0)*(0+10)=300。對(duì)虛擬存儲(chǔ)池poolA進(jìn)行調(diào)度,將其切換到B控上繼續(xù)對(duì)外提供服務(wù)。由于具體切換過程不再本專利所述范圍,在此不再贅述,本領(lǐng)域技術(shù)人員可以根據(jù)具體情況選用合適的現(xiàn)有技術(shù)實(shí)現(xiàn)此內(nèi)容。

五:拔掉B控制器上的FC端口K,模擬FC端口故障。檢查虛擬存儲(chǔ)池poolA和poolB在A控和B控上的權(quán)重。poolA和poolB的權(quán)重均未發(fā)生變化。

六:拔掉B控制器上的FC端口L,模擬FC端口故障。檢查虛擬存儲(chǔ)池poolA和poolB在A控和B控上的權(quán)重。poolA的權(quán)重未發(fā)生變化,poolB的權(quán)重為WpoolBA=(30+0+0)*(20+0)=600,WpoolBB=(30+0+0)*(0+0)=0。對(duì)虛擬存儲(chǔ)池poolB進(jìn)行調(diào)度,將其切換到A控上繼續(xù)對(duì)外提供服務(wù)。

七:恢復(fù)A控上的網(wǎng)絡(luò)端口D,恢復(fù)B控上的FC端口K、L。檢查虛擬存儲(chǔ)池poolA和poolB在A控和B控上的權(quán)重。poolA和poolB在A控和B控上均恢復(fù)正常并且auto-failback為開啟狀態(tài),故對(duì)poolA和poolB都進(jìn)行調(diào)度,將poolA切換到A控,將poolB切換到B控。

上述實(shí)施例表明,以虛擬存儲(chǔ)池為粒度,將虛擬存儲(chǔ)池所使用的所有鏈路分為連接后端存儲(chǔ)介質(zhì)和對(duì)外提供業(yè)務(wù)兩種類型,并根據(jù)鏈路的狀態(tài)按既定的公式計(jì)算在每個(gè)控制器上的權(quán)重,能夠很容易的判定虛擬存儲(chǔ)池是否需要調(diào)度。當(dāng)雙控制器中的某個(gè)控制器的某部分(包括SAS鏈路、FC鏈路、網(wǎng)絡(luò)鏈接等)出現(xiàn)故障時(shí),僅將受影響的業(yè)務(wù)切換到另一控制器上,不受影響的業(yè)務(wù)仍然運(yùn)行在原有的控制器上,能夠盡最大可能的利用兩個(gè)控制器的物理帶寬和計(jì)算能力,發(fā)揮出雙控制器集群性能優(yōu)勢(shì)。這充分體現(xiàn)出該雙控制器集群共享資源的調(diào)度方法的可行性和優(yōu)越性。

以上所述僅是本發(fā)明的一種很簡(jiǎn)單實(shí)施方式,應(yīng)當(dāng)指出,還可以根據(jù)用戶的不同業(yè)務(wù)需求、不同的物理介質(zhì),做出更為復(fù)雜的實(shí)施方式。對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換,這些改進(jìn)和替換也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
凌源市| 海伦市| 昭平县| 姚安县| 巴东县| 绥阳县| 思南县| 东兰县| 扬州市| 潞城市| 正安县| 中牟县| 静乐县| 郁南县| 房山区| 高淳县| 峨眉山市| 耒阳市| 滦南县| 思南县| 乐平市| 巨野县| 虞城县| 南部县| 思茅市| 沙坪坝区| 云龙县| 射阳县| 普宁市| 德钦县| 友谊县| 清新县| 大方县| 涞水县| 宁远县| 绥江县| 陆良县| 浦北县| 慈利县| 龙江县| 吉安县|