本發明專利技術涉及一種雙控制器集群共享資源的調度方法,適用于大數據集群存儲,屬于集群存儲技術領域。本發明專利技術針對雙控制器集群中,共享資源不能依據用戶實際業務需求在兩個控制器之間靈活的調度,導致雙控制器的物理帶寬和計算能力等資源無法充分發揮其作用的問題,設計實現一種雙控制器集群共享資源的調度方法,可以根據用戶的實際業務需求,靈活地配置共享資源及與其相關的鏈路,通過監控與資源相關的鏈路狀態,比較共享資源在兩個控制器上的鏈路權重和,并根據權重和的大小自動在兩個控制器之間進行資源調度,從而實現不間斷的對外提供服務,保證集群的高可靠性和高可用性。
Method for dispatching shared resource of dual controller cluster
The invention relates to a scheduling method of dual controller cluster shared resources, which is suitable for large data cluster storage and belongs to the field of cluster storage technology. The present invention for dual controller cluster, sharing resources can not according to the user's actual business needs between the two controller of flexible scheduling leads to dual controller physical bandwidth and computing ability of resources can not fully play its role, the design and implementation of a dual controller cluster resource scheduling method, according to the actual business needs of users flexible configuration, sharing resources and related links, through monitoring and resource link state related to the shared resources in the two controller on the link weights and, according to the weight and size automatically between two controller resource scheduling, providing service to achieve uninterrupted, to ensure the high reliability of cluster and high availability.
【技術實現步驟摘要】
一種雙控制器集群共享資源的調度方法
本專利技術涉及一種雙控制器集群共享資源的調度方法,適用于雙控制器集群存儲系統,屬于集群海量數據存儲
技術介紹
數據,已經成為所有企業、個人最重要的資產。圍繞著數據的存儲,誕生了各式各樣的存儲技術。為了提高存儲性能,保障數據安全,增大存儲容量,兼顧存儲成本,人們設計了多種類型的獨立磁盤冗余陣列(RedundantArraysofIndependentDisks,RAID)。為了提高存儲系統的可用性,保障業務的連續性,人們設計了集群存儲系統,集群內的各控制器節點通過網絡等手段進行通信。目前使用最廣泛的是由兩個控制器組成的雙控制器集群。雙控制器集群的后端存儲介質是通過光纖或SAS鏈路共享磁盤陣列的邏輯卷,或是通過SAS鏈路共享expander上的磁盤,前端業務則是通過以太網或光纖,使用nfs、cifs、scst等協議,提供文件級或塊級的存儲導出服務。雙控制器集群有兩種工作模式,一種是active-standby模式:集群中的兩個控制器一個為主控制器,另一個為備控制器。應用程序主要運行在主控制器上,當主控制器出現故障時,通知備控制器接管原先在主控制器上的業務,以使業務不間斷;另一種是active-active模式:集群中的兩個控制器同時對外提供業務,兩個控制器互為主備,一個控制器出現故障后,將其上的業務切換到另一個控制器上。對于雙控制器集群來說,兩個控制器共享后端的存儲介質,然而存儲介質不能同時被兩個控制器使用,所以必須為存儲介質設定屬主。當某個控制器出現某些故障時,將該控制器上的共享資源全部切換到另一控制器上,以保證雙機集群系統的高可用性,保證業務的連續性。但是這種資源的調度方法存在一定的局限性。當某控制器僅某部分出現故障,僅對某些共享資源有影響,而對該控制器上的其它共享資源并無影響,此時將該控制器上的所有共享資源都切換到另一控制器上,會加大另一控制器上的壓力,嚴重影響其性能,同時造成原有控制器上物理帶寬和計算能力等資源的閑置和浪費。下面對本專利用到的一些技術術語進行解釋:鏈路:包括控制器上向外提供業務所使用的以太網鏈路、FC鏈路等,以及控制器連接后端存儲介質所使用的SAS鏈路、FC鏈路等。虛擬存儲池:使用共享的后端存儲介質在某個控制器上創建的存儲池,其在同一時間只能屬于一個控制器,但可以在兩個控制器之間進行切換。為使該虛擬存儲池向外提供業務,需使用控制器上的一些鏈路,包括連接后端存儲介質的SAS鏈路、FC鏈路,提供NAS業務、ISCSI業務所需的以太網鏈路,提供FC業務所需的FC鏈路。auto-failback:在雙控制器集群中控制資源調度的選項。當某一控制器出現故障時,控制器上的共享資源自動切換到備用控制器上。若該選項處于開啟狀態時,當出現故障的控制器恢復正常時,屬于該控制器上的共享資源從備用控制器自動切換回來;若該選項處于關閉狀態時,當出現故障的控制器恢復正常時,屬于該控制器上的共享資源并不從備用控制器切換回來。
技術實現思路
本專利技術的目的是為解決在雙控制器集群中以控制器為粒度切換共享資源導致影響性能、資源閑置等的問題,提出一種雙控制器集群共享資源的調度方法。本專利技術的思想是每個控制器監視對外提供業務所需的所有鏈路的狀態,并根據實際業務需求,對每條鏈路的權重進行設置;當使用共享資源時,為其分配與其相關的鏈路,根據所有鏈路的狀態計算共享資源在兩個控制器上的權重,然后兩個控制器之間使用心跳盤或心跳網口等方式進行心跳信息傳遞,通過比較兩個控制器上共享資源的權重對共享資源進行調度。本專利技術的目的是通過以下技術方案實現的:一種雙控制器集群共享資源的調度方法,包括以下內容:一、鏈路監視:監視兩個控制器上所有的鏈路狀態,鏈路的權重可以根據實際需求進行設置。包括以下內容:1)雙控制器集群中兩個控制器的鏈路默認是相同的,因此將兩個控制器上的鏈路在邏輯上一對一建立綁定,以保證共享資源在每個控制器上能夠使用邏輯上相同的鏈路;2)獨立的監視連接在控制器上所有的SAS鏈路,并為每條SAS鏈路設置獨立的權重;3)獨立的監視連接在控制器上所有的FC端口,并為每個端口設置獨立的權重;所述FC端口或為initiator模式,以連接磁盤陣列上的邏輯卷;或為target模式,向外提供服務;4)獨立的監視連接在控制器上的所有網口,并為每個網口設置獨立的權重;對于由多個網口創建的bond口情形同樣視為一個網口;二、資源管理:使用共享的后端存儲介質為某個控制器創建虛擬存儲池,即為共享資源分配屬主,同時為該虛擬存儲池設置與其相關的鏈路,鏈路需按照實際的物理連接、提供的業務類型等分成一個個監控組,設置相關鏈路的方法具體包括以下內容:1)將與虛擬存儲池相關的每條連接expander的SAS鏈路設置為一個監視組;2)將與虛擬存儲池相關的每條連接磁盤陣列的SAS鏈路設置為一個監視組;3)將與虛擬存儲池相關的FCinitiator模式的端口,根據實際的物理連接情況,設置為N個監視組(N為自然數),每個監視組中可以包含多條鏈路,只要組中一條鏈路狀態正常,即視為鏈路正常,該組鏈路的權重為組內狀態正常的鏈路的最大權重;4)將與虛擬存儲池相關的FCtarget模式的端口,根據實際的物理連接情況,設置為N個監視組(N為自然數),每個監視組中可以包含多條鏈路,只要組中一條鏈路狀態正常,即視為鏈路正常,該組鏈路的權重為組內狀態正常的鏈路的最大權重;5)將與虛擬存儲池相關的每個網絡端口(此處網絡端口包含bond端口)設置為一個監視組;三、資源調度:根據虛擬存儲池及與其相關的監視組中鏈路的狀態,進行資源調度,包括以下內容:1)根據虛擬存儲池及與其相關的鏈路狀態,在兩個控制器使用下列公式分別計算權重:W=(ΣLSasDisk+ΣLFcInit+ΣLSasRaid)*(ΣLFcTar+∑LNet)其中,∑LSasDisk為共享expander上磁盤時狀態正常的的SAS鏈路監視組的所有鏈路的權重和,ΣLFcInit為所有FCinitiator模式端口監視組的權重和,每個FCinitiator模式端口監視組的權重為組內狀態正常的鏈路的最大權重;∑LSasRaid為共享后端磁盤陣列時狀態正常的SAS鏈路監視組的所有鏈路的權重和,∑LFcTar為所有FCtarget模式端口監視組的權重和,每個FCtarget模式端口監視組的權重為組內狀態正常的鏈路的最大權重;ΣLNet為狀態正常的網口監視組的所有鏈路的權重和;ΣLSasDisk+ΣLFcInit+∑LSasRaid表示后端連接存儲介質相關鏈路監視組的權重和,∑LFcTar+∑LNet表示向外提供業務相關鏈路監視組的權重和;如果虛擬存儲池與某些鏈路無關或是鏈路處于未連接狀態,則該鏈路的權重按0計算,否則按鏈路監視中設置的權重值計算;2)當創建虛擬存儲池或控制器上的鏈路狀態發生變化時,兩個控制器進行通信,獲取虛擬存儲池在對端控制器上的權重;作為優選,所述兩個控制器進行通信通過心跳盤或是心跳網口方式實現;3)比較虛擬存儲池在本地控制器與對端控制器上的權重,權重小的控制器放棄虛擬存儲池,權重大的控制器獲取虛擬存儲池;在權重相同的情況下,如果auto-failback開啟,則虛擬存儲池的屬主獲取虛本文檔來自技高網...

【技術保護點】
一種雙控制器集群共享資源的調度方法,其特征在于:包括以下內容:一、鏈路監視:監視兩個控制器上所有的鏈路狀態,鏈路的權重根據實際需求進行設置;包括以下內容:1)雙控制器集群中兩個控制器的鏈路默認是相同的,因此將兩個控制器上的鏈路在邏輯上一對一建立綁定,以保證共享資源在每個控制器上能夠使用邏輯上相同的鏈路;2)獨立的監視連接在控制器上所有的SAS鏈路,并為每條SAS鏈路設置獨立的權重;3)獨立的監視連接在控制器上所有的FC端口,并為每個端口設置獨立的權重;所述FC端口或為initiator模式,以連接磁盤陣列上的邏輯卷;或為target模式,向外提供服務;4)獨立的監視連接在控制器上的所有網口,并為每個網口設置獨立的權重;對于由多個網口創建的bond口情形同樣視為一個網口;二、資源管理:使用共享的后端存儲介質為某個控制器創建虛擬存儲池,即為共享資源分配屬主,同時為該虛擬存儲池設置與其相關的鏈路,鏈路需按照實際的物理連接、提供的業務類型等分成一個個監控組,設置相關鏈路的方法具體包括以下內容:1)將與虛擬存儲池相關的每條連接expander的SAS鏈路設置為一個監視組;2)將與虛擬存儲池相關的每條連接磁盤陣列的SAS鏈路設置為一個監視組;3)將與虛擬存儲池相關的FC?initiator模式的端口,根據實際的物理連接情況,設置為N個監視組(N為自然數),每個監視組中可以包含多條鏈路,只要組中一條鏈路狀態正常,即視為鏈路正常,該組鏈路的權重為組內狀態正常的鏈路的最大權重;4)將與虛擬存儲池相關的FC?target模式的端口,根據實際的物理連接情況,設置為N個監視組(N為自然數),每個監視組中可以包含多條鏈路,只要組中一條鏈路狀態正常,即視為鏈路正常,該組鏈路的權重為組內狀態正常的鏈路的最大權重;5)將與虛擬存儲池相關的每個網絡端口(此處網絡端口包含bond端口)設置為一個監視組;三、資源調度:根據虛擬存儲池及與其相關的監視組中鏈路的狀態,進行資源調度,包括以下內容:1)據虛擬存儲池及與其相關的鏈路狀態,在兩個控制器使用下列公式分別計算權重:W=(ΣLSasDisk+ΣLFcInit+ΣLSasRaid)*(ΣLFcTar+ΣLNet)其中,ΣLSasDisk為共享expander上磁盤時狀態正常的的SAS鏈路監視組的所有鏈路的權重和,∑LFcInit為所有FC?initiator模式端口監視組的權重和,每個FC?initiator模式端口監視組的權重為組內狀態正常的鏈路的最大權重;∑LSasRaid為共享后端磁盤陣列時狀態正常的SAS鏈路監視組的所有鏈路的權重和,∑LFcTar為所有FC?target模式端口監視組的權重和,每個FC?target模式端口監視組的權重為組內狀態正常的鏈路的最大權重;∑LNet為狀態正常的網口監視組的所有鏈路的權重和;∑LSasDisk+∑LFcInit+∑LSasRaid表示后端連接存儲介質相關鏈路監視組的權重和,ΣLFcTar+ΣLNet表示向外提供業務相關鏈路監視組的權重和;如果虛擬存儲池與某些鏈路無關或是鏈路處于未連接狀態,則該鏈路的權重按0計算,否則按鏈路監視中設置的權重值計算;2)當創建虛擬存儲池或控制器上的鏈路狀態發生變化時,兩個控制器進行通信,獲取虛擬存儲池在對端控制器上的權重;3)比較虛擬存儲池在本地控制器與對端控制器上的權重,權重小的控制器放棄虛擬存儲池,權重大的控制器獲取虛擬存儲池;在權重相同的情況下,如果auto?failback開啟,則虛擬存儲池的屬主獲取虛擬存儲池,另一控制器放棄虛擬存儲池;如果auto?failback關閉,則虛擬存儲池不進行切換。...
【技術特征摘要】
2016.12.30 CN 20161125765481.一種雙控制器集群共享資源的調度方法,其特征在于:包括以下內容:一、鏈路監視:監視兩個控制器上所有的鏈路狀態,鏈路的權重根據實際需求進行設置;包括以下內容:1)雙控制器集群中兩個控制器的鏈路默認是相同的,因此將兩個控制器上的鏈路在邏輯上一對一建立綁定,以保證共享資源在每個控制器上能夠使用邏輯上相同的鏈路;2)獨立的監視連接在控制器上所有的SAS鏈路,并為每條SAS鏈路設置獨立的權重;3)獨立的監視連接在控制器上所有的FC端口,并為每個端口設置獨立的權重;所述FC端口或為initiator模式,以連接磁盤陣列上的邏輯卷;或為target模式,向外提供服務;4)獨立的監視連接在控制器上的所有網口,并為每個網口設置獨立的權重;對于由多個網口創建的bond口情形同樣視為一個網口;二、資源管理:使用共享的后端存儲介質為某個控制器創建虛擬存儲池,即為共享資源分配屬主,同時為該虛擬存儲池設置與其相關的鏈路,鏈路需按照實際的物理連接、提供的業務類型等分成一個個監控組,設置相關鏈路的方法具體包括以下內容:1)將與虛擬存儲池相關的每條連接expander的SAS鏈路設置為一個監視組;2)將與虛擬存儲池相關的每條連接磁盤陣列的SAS鏈路設置為一個監視組;3)將與虛擬存儲池相關的FCinitiator模式的端口,根據實際的物理連接情況,設置為N個監視組(N為自然數),每個監視組中可以包含多條鏈路,只要組中一條鏈路狀態正常,即視為鏈路正常,該組鏈路的權重為組內狀態正常的鏈路的最大權重;4)將與虛擬存儲池相關的FCtarget模式的端口,根據實際的物理連接情況,設置為N個監視組(N為自然數),每個監視組中可以包含多條鏈路,只要組中一條鏈路狀態正常,即視為鏈路正常,該組鏈路的權重為組內狀態正常的鏈路的最大權重;5)將與虛擬存儲池相關...
【專利技術屬性】
技術研發人員:段舒文,王道邦,周澤湘,王成武,沈晶,羅華,李艷國,潘興旺,張恒,于召鑫,馬趙軍,王爽,黃琤霖,
申請(專利權)人:北京同有飛驥科技股份有限公司,
類型:發明
國別省市:北京,11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。