本發(fā)明涉及存儲的技術領域,特別是涉及雙控制存儲系統(tǒng)中同步緩存的方法及裝置。
背景技術:
在從事存儲的研究設計和測試當中,漸漸地意識到雙控制存儲系統(tǒng)中,當有一個控制器宕機后,另一個控制器的緩存將會關閉,這樣讀寫數(shù)據(jù)將會直接從后端硬盤中讀取,對性能影響很大。鑒于此,需要一種新的策略來改進上述雙控制一個控制器宕機而強制將另一個控制器緩存關閉的缺點。
技術實現(xiàn)要素:
本發(fā)明目的是提供一種同步緩存的方法及裝置,本發(fā)明通過預設第三方緩存機制,實現(xiàn)改進雙控制存儲系統(tǒng)一個控制器宕機而強制將另一個控制器緩存關閉的缺點。
為了實現(xiàn)上述目的,本發(fā)明采用以下的技術方案:
一種同步緩存的方法,包括以下步驟:
在雙控制存儲系統(tǒng)中預設第三方緩存;
監(jiān)測判斷雙控制存儲系統(tǒng)中的控制器是否宕機,若一方控制器宕機,則啟用第三方緩存;若否,繼續(xù)監(jiān)測;
第三方緩存與正??刂破魍骄彺妗?/p>
進一步的,第三方緩存與正常控制器同步緩存之后,還包括,修復宕機的控制器,恢復后的控制器重新啟動。
進一步的,在修復宕機的控制器,修復后的控制器重新啟動之后,第三方緩存將緩存數(shù)據(jù)同步給修復后的控制器的緩存。
進一步的,在修復宕機的控制器,修復后的控制器重新啟動之后,在第三方緩存將緩存數(shù)據(jù)同步給修復后的控制器的緩存之后,還包括,同步緩存完成后,第三方緩存下線。
進一步的,所述第三方緩存只在其中一個控制器宕機的情況下,被另一個控制器識別并啟用;其它情況下不啟用。
進一步的,所述第三方緩存是指SSD盤、Flash卡或磁盤陣列中的一塊磁盤。
進一步的,所述第三方緩存容量不小于單個控制器的總容量。
進一步的,第三方緩存位于雙控制存儲系統(tǒng)中的兩個控制器能夠正常訪問的公共區(qū)域。
一種同步緩存的裝置,包括:
預設模塊,用于在雙控制存儲系統(tǒng)中預設第三方緩存;
監(jiān)測模塊,用于監(jiān)測判斷雙控制存儲系統(tǒng)中的控制器是否宕機,若一方控制器宕機,則啟用第三方緩存;若否,繼續(xù)監(jiān)測;
同步模塊,用于第三方緩存與正??刂破魍骄彺?。
進一步的,該裝置還包括修復模塊,用于修復宕機的控制器;
優(yōu)選地,該裝置還包括恢復模塊,用于第三方緩存將緩存數(shù)據(jù)同步給恢復后的控制器的緩存;
優(yōu)選地,該裝置還包括下線模塊,用于同步緩存完成后,第三方緩存下線。
與現(xiàn)有技術相比,本發(fā)明通過預設第三方緩存機制,改進了雙控制存儲系統(tǒng)一個控制器宕機而強制將另一個控制器緩存關閉的缺點,具體有益效果體現(xiàn)在以下幾點:
1、第三方緩存機制設計簡單,可以是SSD盤、Flash卡、磁盤陣列中的一塊磁盤;
2、第三方緩存機制,避免了一個控制器宕機,另一個控制器單控情況下的緩存關閉,數(shù)據(jù)直接落盤的情況,提高了讀寫性能;
3、第三方緩存機制,在雙控制器正常工作時不起作用,只有當一個控制器宕機后才起第三方緩存的機制作用,減少了數(shù)據(jù)流的切換時間;
4、第三方緩存將緩存數(shù)據(jù)同步給恢復的控制器的緩存,減少控制器同步緩存導致數(shù)據(jù)有中斷的缺點。
附圖說明
圖1 是本發(fā)明一種同步緩存的方法的流程示意圖之一。
圖2 是本發(fā)明一種同步緩存的方法的流程示意圖之二。
圖3 是本發(fā)明一種同步緩存的裝置的結構示意圖。
具體實施方式
下面結合附圖和實施例,對本發(fā)明的具體實施方式作進一步詳細描述:
實施例1
請參考圖1,本實施例提供一種同步緩存的方法,包括以下步驟:
步驟S101,在雙控制存儲系統(tǒng)中預設第三方緩存;
步驟S102,監(jiān)測判斷雙控制存儲系統(tǒng)中的控制器是否宕機;
步驟S103,一方控制器宕機,則啟用第三方緩存;若否,繼續(xù)監(jiān)測;
步驟S104,第三方緩存與正??刂破魍骄彺妗?/p>
實施例2
請參考圖2,本實施例提供另一種同步緩存的方法,包括以下步驟:
步驟S201,在雙控制存儲系統(tǒng)中預設第三方緩存;
所述第三方緩存是指SSD盤、Flash卡或磁盤陣列中的一塊磁盤;所述第三方緩存容量不小于單個控制器的總容量;第三方緩存位于雙控制存儲系統(tǒng)中的兩個控制器能夠正常訪問的公共區(qū)域;
步驟S202,監(jiān)測判斷雙控制存儲系統(tǒng)中的控制器是否宕機;
所述雙控制存儲系統(tǒng)中的雙控制器都會有仲裁盤充當裁判,對于控制器宕機的判斷是通過另一臺控制器判斷的,比如正常情況下兩個控制器的內存是要同步的,一旦一臺控制器宕機,另一臺控制器將無法進行內存同步;
步驟S203,判斷另一臺控制器是否宕機;
步驟S204,正常控制器啟用第三方緩存;
一旦一臺控制器宕機,另一臺控制器將無法進行內存同步,這樣沒有宕機的控制器啟用所述第三方緩存。所述第三方緩存只在其中一個控制器宕機的情況下,被另一個控制器識別并啟用;其它情況下不啟用;
步驟S205,第三方緩存與正??刂破魍骄彺妫?/p>
第三方緩存起到同步對方緩存的作用;
步驟S206,修復宕機的控制器;
步驟S207,恢復后的控制器重新啟動;
步驟S208,在修復宕機的控制器,修復后的控制器重新啟動之后,第三方緩存將緩存數(shù)據(jù)同步給修復后的控制器的緩存;
步驟S209,同步緩存完成后,第三方緩存下線。
實施例3
請參考圖3,本實施例提供一種同步緩存的裝置,包括:
預設模塊301,用于在雙控制存儲系統(tǒng)中預設第三方緩存;
判斷模塊302,用于監(jiān)測判斷雙控制存儲系統(tǒng)中的控制器是否宕機,若一方控制器宕機,則啟用第三方緩存;若否,繼續(xù)監(jiān)測;
同步模塊303,用于第三方緩存與正??刂破骶彺嫱?;
修復模塊304,用于修復宕機的控制器;
恢復模塊305,用于第三方緩存將緩存數(shù)據(jù)同步給恢復后的控制器的緩存;
下線模塊306,用于同步緩存完成后,第三方緩存下線。
本發(fā)明涉及到雙控制存儲系統(tǒng)中,當存儲系統(tǒng)的一個控制器宕機后,另一個控制器不會因數(shù)據(jù)的一致性保護而導致本身控制器緩存關閉,由于緩存關閉數(shù)據(jù)會直接落盤這樣導致存儲性能下降且需要切換時間;而當宕機的控制器起來后,兩個控制器之間需要同步緩存,導致也會有切換時間。本發(fā)明所使用增加第三方緩存機制,將使雙控制中其中一個控制器宕機只有一個控制器運行時,緩存仍然開啟的狀態(tài),而不會導致另一個控制器緩存關閉的情況,從而使性能不會因一個控制器宕機而導致性能下降的結果。
以上所示僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。