亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

有助于進(jìn)行存儲(chǔ)系統(tǒng)恢復(fù)的方法、裝置以及一種存儲(chǔ)系統(tǒng)與流程

文檔序號:12824598閱讀:148來源:國知局
有助于進(jìn)行存儲(chǔ)系統(tǒng)恢復(fù)的方法、裝置以及一種存儲(chǔ)系統(tǒng)與流程

本發(fā)明的實(shí)施方式涉及存儲(chǔ)系統(tǒng)領(lǐng)域,更具體地,涉及一種用于從故障中有助于進(jìn)行存儲(chǔ)系統(tǒng)恢復(fù)的方法和裝置、一種啟動(dòng)存儲(chǔ)系統(tǒng)的方法和裝置、以及一種存儲(chǔ)系統(tǒng)。



背景技術(shù):

存儲(chǔ)系統(tǒng)是指計(jì)算機(jī)中由存放程序和數(shù)據(jù)的各種存儲(chǔ)設(shè)備、控制部件及管理信息調(diào)度的設(shè)備和算法所組成的系統(tǒng)。在存儲(chǔ)系統(tǒng)包括多個(gè)磁盤驅(qū)動(dòng)(或簡稱為磁盤)的情況下,通常將一部分磁盤驅(qū)動(dòng)用于存儲(chǔ)存儲(chǔ)系統(tǒng)的系統(tǒng)信息,由存儲(chǔ)系統(tǒng)自身使用,這部分磁盤驅(qū)動(dòng)在本文中被稱為“系統(tǒng)盤驅(qū)動(dòng)”(或簡稱為“系統(tǒng)盤”)。與之相對地,其余由用戶用來存儲(chǔ)數(shù)據(jù)的磁盤驅(qū)動(dòng)被稱為“用戶盤驅(qū)動(dòng)”(或簡稱為“用戶盤”)。由于系統(tǒng)盤中存儲(chǔ)的是與系統(tǒng)相關(guān)的信息,對于存儲(chǔ)系統(tǒng)的運(yùn)行來說至關(guān)重要,因此,對系統(tǒng)盤的管理以及在系統(tǒng)盤發(fā)生故障時(shí),如何從故障中恢復(fù)系統(tǒng)盤、進(jìn)而恢復(fù)存儲(chǔ)系統(tǒng)成為存儲(chǔ)系統(tǒng)領(lǐng)域的研究熱點(diǎn)之一。

目前,獨(dú)立磁盤冗余陣列(以下簡稱為“raid”或“磁盤陣列”)廣泛應(yīng)用于管理存儲(chǔ)系統(tǒng)的系統(tǒng)盤,其利用數(shù)據(jù)和設(shè)備的冗余度而防止由于磁盤或者存儲(chǔ)設(shè)備的失效造成的數(shù)據(jù)丟失。根據(jù)保護(hù)程度需求的不同,定義有不同的raid級別,例如raid0、raid1、raid3、raid5、raid6、raid10、三重鏡像(triplemirror)等。然而,即便采用raid來管理系統(tǒng)盤,如果發(fā)生故障的系統(tǒng)盤的數(shù)目過大(如針對raid3或raid5,兩塊系統(tǒng)盤發(fā)生故障),也無法依賴于raid的冗余度而恢復(fù)系統(tǒng)盤數(shù)據(jù)。在這一情形下,現(xiàn)有技術(shù)的做法往往是將系統(tǒng)盤返回廠商、系統(tǒng)盤將被重新鏡像到初始狀態(tài)。這樣造成的結(jié) 果是,所有陣列中的數(shù)據(jù)都將丟失,系統(tǒng)將還原到出廠默認(rèn)狀態(tài),既增加了成本效率也很低下。



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

為了解決現(xiàn)有技術(shù)中存在的問題,本公開的各個(gè)實(shí)施方式提供一種有助于進(jìn)行存儲(chǔ)系統(tǒng)恢復(fù)的方案、相應(yīng)的啟動(dòng)存儲(chǔ)系統(tǒng)的方案以及該存儲(chǔ)系統(tǒng)本身。

根據(jù)本發(fā)明的第一方面,提供一種有助于進(jìn)行存儲(chǔ)系統(tǒng)恢復(fù)的方法,該存儲(chǔ)系統(tǒng)包括用于存儲(chǔ)該存儲(chǔ)系統(tǒng)的系統(tǒng)信息的多個(gè)系統(tǒng)盤,以及與該多個(gè)系統(tǒng)盤關(guān)聯(lián)以用于管理該多個(gè)系統(tǒng)盤的一個(gè)或多個(gè)磁盤陣列,該方法包括:響應(yīng)于該多個(gè)系統(tǒng)盤中的一個(gè)或多個(gè)系統(tǒng)盤發(fā)生故障,確定該一個(gè)或多個(gè)磁盤陣列的性能劣化程度;以及響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的性能劣化程度為第一級別,將該一個(gè)磁盤陣列的啟動(dòng)信息置為第一值,該第一值用于在該存儲(chǔ)系統(tǒng)的啟動(dòng)過程中指示跳過對該一個(gè)磁盤陣列的創(chuàng)建。

在本發(fā)明的可選實(shí)施方式中,該方法進(jìn)一步包括響應(yīng)于發(fā)生故障的系統(tǒng)盤中的一個(gè)系統(tǒng)盤被替換,確定該一個(gè)或多個(gè)磁盤陣列的性能劣化程度;以及響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的性能劣化程度為第二級別,通知該一個(gè)磁盤陣列該一個(gè)系統(tǒng)盤的數(shù)據(jù)要被恢復(fù)。在本發(fā)明的進(jìn)一步可選實(shí)施方式中,該第一級別劣于該第二級別。

在本發(fā)明的可選實(shí)施方式中,該方法進(jìn)一步包括:當(dāng)與該一個(gè)系統(tǒng)盤關(guān)聯(lián)的所有磁盤陣列均被通知該一個(gè)系統(tǒng)盤的數(shù)據(jù)要被恢復(fù)時(shí),將替換后的系統(tǒng)盤作為存儲(chǔ)系統(tǒng)的一部分使用。在本發(fā)明的進(jìn)一步可選實(shí)施方式中,該方法還包括從該存儲(chǔ)系統(tǒng)的備份數(shù)據(jù)中恢復(fù)該被替換的系統(tǒng)盤的數(shù)據(jù)。

在本發(fā)明的可選實(shí)施方式中,在替換后的系統(tǒng)盤作為存儲(chǔ)系統(tǒng)的一部分使用之后,該方法進(jìn)一步包括:將其值為第一值的該啟動(dòng)信息修改為第二值,該第二值用于在該存儲(chǔ)系統(tǒng)的啟動(dòng)過程中指示創(chuàng)建與之相應(yīng)的磁盤陣列,且被創(chuàng)建的該磁盤陣列中的所有數(shù)據(jù)將被置零。

在本發(fā)明的可選實(shí)施方式中,該第一級別或該第二級別根據(jù)發(fā)生 故障的系統(tǒng)盤的數(shù)量來確定。

在本發(fā)明的可選實(shí)施方式中,磁盤陣列包括raid3和raid5中的至少一種。

在本發(fā)明的可選實(shí)施方式中,該一個(gè)或多個(gè)系統(tǒng)盤發(fā)生故障包括兩個(gè)系統(tǒng)盤發(fā)生故障。

根據(jù)本發(fā)明的第二方面,提供一種啟動(dòng)存儲(chǔ)系統(tǒng)的方法,該存儲(chǔ)系統(tǒng)包括用于存儲(chǔ)該存儲(chǔ)系統(tǒng)的系統(tǒng)信息的多個(gè)系統(tǒng)盤,以及與該多個(gè)系統(tǒng)盤關(guān)聯(lián)以用于管理該多個(gè)系統(tǒng)盤由一個(gè)或多個(gè)磁盤陣列,該方法包括:讀取該一個(gè)或多個(gè)磁盤陣列的相應(yīng)啟動(dòng)信息;以及響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的啟動(dòng)信息為第一值,跳過對該一個(gè)磁盤陣列的創(chuàng)建。

在本發(fā)明的可選實(shí)施方式中,該方法進(jìn)一步包括:響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的啟動(dòng)信息為不同于該第一值的第二值,創(chuàng)建該一個(gè)磁盤陣列。

根據(jù)本發(fā)明的第三方面,提供一種有助于進(jìn)行存儲(chǔ)系統(tǒng)恢復(fù)的裝置,該存儲(chǔ)系統(tǒng)包括用于存儲(chǔ)該存儲(chǔ)系統(tǒng)的系統(tǒng)信息的多個(gè)系統(tǒng)盤,以及與該多個(gè)系統(tǒng)盤關(guān)聯(lián)以用于管理該多個(gè)系統(tǒng)盤的一個(gè)或多個(gè)磁盤陣列,該裝置包括:第一確定裝置,用于響應(yīng)于該多個(gè)系統(tǒng)盤中的一個(gè)或多個(gè)系統(tǒng)盤發(fā)生故障,確定該一個(gè)或多個(gè)磁盤陣列的性能劣化程度;以及第一設(shè)置裝置,用于響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的性能劣化程度為第一級別,將該一個(gè)磁盤陣列的啟動(dòng)信息置為第一值,該第一值用于在該存儲(chǔ)系統(tǒng)的啟動(dòng)過程中指示跳過對該一個(gè)磁盤陣列的創(chuàng)建。

在本發(fā)明的可選實(shí)施方式中,該裝置進(jìn)一步包括:第二確定裝置,用于響應(yīng)于發(fā)生故障的該系統(tǒng)盤中的一個(gè)系統(tǒng)盤被替換,確定該一個(gè)或多個(gè)磁盤陣列的性能劣化程度;以及通知裝置,響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的性能劣化程度為第二級別,通知該一個(gè)磁盤陣列該一個(gè)系統(tǒng)盤的數(shù)據(jù)要被恢復(fù)。在本發(fā)明的進(jìn)一步可選實(shí)施方式中,該第一級別劣于該第二級別。

在本發(fā)明的可選實(shí)施方式中,該裝置進(jìn)一步包括:新盤上線裝置,用于當(dāng)與該一個(gè)系統(tǒng)盤關(guān)聯(lián)的所有磁盤陣列均被通知該一個(gè)系統(tǒng)盤 的數(shù)據(jù)要被恢復(fù)時(shí),將替換后的該系統(tǒng)盤作為存儲(chǔ)系統(tǒng)的一部分使用。在本發(fā)明的進(jìn)一步可選實(shí)施方式中,該新盤上線裝置進(jìn)一步用于在替換后的系統(tǒng)盤作為存儲(chǔ)系統(tǒng)的一部分使用之后,將其值為第一值的該啟動(dòng)信息修改為第二值。

在本發(fā)明的可選實(shí)施方式中,該裝置進(jìn)一步包括:恢復(fù)裝置,用于從該存儲(chǔ)系統(tǒng)的備份數(shù)據(jù)中恢復(fù)該被替換的系統(tǒng)盤的數(shù)據(jù)。

在本發(fā)明的可選實(shí)施方式中,該第一級別或該第二級別根據(jù)發(fā)生故障的該系統(tǒng)盤的數(shù)量來確定。

在本發(fā)明的可選實(shí)施方式中,該磁盤陣列包括raid3和raid5中的至少一種。

在本發(fā)明的可選實(shí)施方式中,該一個(gè)或多個(gè)系統(tǒng)盤發(fā)生故障包括兩個(gè)系統(tǒng)盤發(fā)生故障。

根據(jù)本發(fā)明的第四方面,提供一種啟動(dòng)存儲(chǔ)系統(tǒng)的裝置,該存儲(chǔ)系統(tǒng)包括用于存儲(chǔ)系統(tǒng)信息的多個(gè)系統(tǒng)盤,以及與所述多個(gè)系統(tǒng)盤關(guān)聯(lián)以用于管理該多個(gè)系統(tǒng)盤的一個(gè)或多個(gè)磁盤陣列,該裝置包括:讀取裝置,用于讀取該一個(gè)或多個(gè)磁盤陣列的相應(yīng)啟動(dòng)信息;以及創(chuàng)建裝置,用于響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的啟動(dòng)信息為第一值,跳過對該一個(gè)磁盤陣列的創(chuàng)建。

在本發(fā)明的可選實(shí)施方式中,該創(chuàng)建裝置進(jìn)一步用于:響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的啟動(dòng)信息為不同于該第一值的第二值,創(chuàng)建該一個(gè)磁盤陣列。

根據(jù)本發(fā)明的第五方面,提供一種存儲(chǔ)系統(tǒng),包括:多個(gè)系統(tǒng)盤,用于存儲(chǔ)該存儲(chǔ)系統(tǒng)的系統(tǒng)信息;以及一個(gè)或多個(gè)磁盤陣列,用于管理該多個(gè)系統(tǒng)盤;其中,該多個(gè)系統(tǒng)盤的一個(gè)或多個(gè)系統(tǒng)盤中存儲(chǔ)有分別用于該一個(gè)或多個(gè)磁盤陣列的一個(gè)或多個(gè)啟動(dòng)信息,并且其中,當(dāng)該啟動(dòng)信息的值為第一值時(shí),指示在該存儲(chǔ)系統(tǒng)的啟動(dòng)過程中跳過對相應(yīng)磁盤陣列的創(chuàng)建。

根據(jù)本發(fā)明的上述實(shí)施方式,可以在一個(gè)或多個(gè)系統(tǒng)盤發(fā)生故障時(shí),有助于使得新盤成功上線,從而能夠低成本、高效地從故障中恢復(fù)存儲(chǔ)系統(tǒng)。

附圖說明

通過結(jié)合附圖對本公開示例性實(shí)施方式進(jìn)行更詳細(xì)的描述,本公開的上述以及其它目的、特征和優(yōu)勢將變得更加明顯,其中,在本公開示例性實(shí)施方式中,相同的參考標(biāo)號通常代表相同部件。

圖1圖示了一種典型的包括系統(tǒng)盤和用戶盤的陣列。

圖2圖示了系統(tǒng)盤上的示意性存儲(chǔ)區(qū)域布局。

圖3圖示了根據(jù)本發(fā)明示例實(shí)施方式的用于恢復(fù)存儲(chǔ)系統(tǒng)的方法300。

圖4圖示了根據(jù)本發(fā)明示例實(shí)施方式的用于啟動(dòng)存儲(chǔ)系統(tǒng)的方法400。

圖5圖示了根據(jù)本發(fā)明示例實(shí)施方式的用于恢復(fù)存儲(chǔ)系統(tǒng)的裝置500的示意性框圖。

圖6圖示了根據(jù)本發(fā)明示例實(shí)施方式的用于啟動(dòng)存儲(chǔ)系統(tǒng)的裝置600的示意性框圖。

圖7示出了適于用來實(shí)踐本發(fā)明示例實(shí)施方式的計(jì)算機(jī)系統(tǒng)700的示意性框圖。

具體實(shí)施方式

下面將參照附圖更詳細(xì)地描述本公開的優(yōu)選實(shí)施方式。雖然附圖中顯示了本公開的優(yōu)選實(shí)施方式,然而應(yīng)該理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施方式所限制。相反,提供這些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。另外,貫穿附圖,相似的標(biāo)號表示相同或相似的部件。

圖1圖示了一種典型的包括系統(tǒng)盤和用戶盤的陣列。如圖1所示,第0-3號磁盤驅(qū)動(dòng)為系統(tǒng)盤,而第4-n號磁盤驅(qū)動(dòng)為用戶盤。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,雖然圖1僅示出系統(tǒng)盤包括4塊磁盤驅(qū)動(dòng),然而,在實(shí)現(xiàn)中,根據(jù)具體需求,系統(tǒng)盤可以是任何其他數(shù)目,本發(fā)明在此方面不受限制。

為了便于說明,以下以系統(tǒng)盤包括4塊磁盤驅(qū)動(dòng)為例。圖2圖示了系統(tǒng)盤上的示意性存儲(chǔ)區(qū)域布局。如圖2所示,系統(tǒng)盤驅(qū)動(dòng)0-3分別被劃分成若干區(qū)域(如區(qū)域1、2、3、4…),其中每個(gè)區(qū)域由具有特定級別的raid管理。例如,區(qū)域1由三重鏡像raid201管理,區(qū)域2由級別為raid5的raid202管理,區(qū)域3由級別為raid3的raid203管理,等等??傮w而言,每個(gè)系統(tǒng)盤驅(qū)動(dòng)將會(huì)與一個(gè)或多個(gè)raid相關(guān)。本領(lǐng)域技術(shù)人員也應(yīng)當(dāng)理解,雖然圖2具體示出了三個(gè)區(qū)域的raid201-203,但在實(shí)現(xiàn)中,根據(jù)具體需要還可以包括其他各種raid,本發(fā)明在此方面不受限制。

在如圖2所示的布局中,如果僅一塊系統(tǒng)盤0發(fā)生故障或丟失,由于各raid均提供冗余數(shù)據(jù),區(qū)域1-3的性能雖然會(huì)劣化,但仍能提供i/o服務(wù)。在兩塊系統(tǒng)盤0和1發(fā)生故障或丟失時(shí),針對三重鏡像raid201,由于丟失的數(shù)據(jù)仍然可以從剩余的盤中恢復(fù),因此其性能雖然會(huì)劣化,但仍能提供i/o服務(wù)。然而,針對raid5202或raid3203,由于其所提供的冗余度已經(jīng)無法支持對盤數(shù)據(jù)的恢復(fù),因此raid5202或raid3203級別的區(qū)域(例如圖2中的區(qū)域2和3)將為“損壞”狀態(tài)(broken),并且無法提供i/o服務(wù)。此時(shí),需要用新盤代替發(fā)生故障或丟失的系統(tǒng)盤,這樣,三重鏡像raid201能夠從尚未損壞的系統(tǒng)數(shù)據(jù)中自動(dòng)重構(gòu)丟失的數(shù)據(jù);而raid5203或raid3203則需要通過從備份數(shù)據(jù)中恢復(fù)丟失的數(shù)據(jù)。

無論哪種情形,都需要使得新盤能夠被存儲(chǔ)系統(tǒng)所接受,并能夠作為存儲(chǔ)系統(tǒng)的一部分來使用。為了便于說明,本文中將用新盤替換發(fā)生故障的系統(tǒng)盤、并作為存儲(chǔ)系統(tǒng)的一部分使用的過程稱為“新盤初始化”。每塊新盤的初始化過程主要包括以下步驟:

1、將新盤的配置信息更新到存儲(chǔ)系統(tǒng)中;

2、在已創(chuàng)建的(也即正在運(yùn)行的)所有磁盤陣列中,通知其性能處于劣化但仍可從中恢復(fù)的磁盤陣列(例如,圖2中,raid5202或raid3203在壞一塊系統(tǒng)盤時(shí)可恢復(fù);三重鏡像raid201在壞一塊或兩塊系統(tǒng)盤時(shí)可恢復(fù))要恢復(fù)盤中的數(shù)據(jù);

3、當(dāng)與該新盤(或被替換掉的原有系統(tǒng)盤)相關(guān)聯(lián)的所有已創(chuàng)建的磁盤陣列均被通知要恢復(fù)盤中的數(shù)據(jù)時(shí),將該新盤加入到存儲(chǔ)系統(tǒng)中,供存儲(chǔ)系統(tǒng)使用。

可以看到,在已創(chuàng)建的磁盤陣列中,如果存在性能極端劣化——例如磁盤陣列處于“損壞”狀態(tài)(例如,圖2中,raid5202或raid3203在壞兩塊系統(tǒng)盤時(shí)為“損壞”狀態(tài))——的磁盤陣列,則步驟2不會(huì)通知該磁盤陣列要恢復(fù)盤中的數(shù)據(jù),從而在步驟3中由于與該盤相關(guān)聯(lián)的磁盤陣列(例如針對系統(tǒng)盤0,共有三重鏡像raid201、raid5202和raid3203與之關(guān)聯(lián))中存在磁盤陣列沒有被通知要恢復(fù)盤中的數(shù)據(jù)(例如圖2中,壞兩塊系統(tǒng)盤,raid5202和raid3203由于處于“損壞”狀態(tài)而沒有被通知)而不會(huì)進(jìn)行,導(dǎo)致的結(jié)果是新盤初始化無法完成,該新盤不能作為存儲(chǔ)系統(tǒng)的一部分來使用。

為了解決此問題,圖3圖示了根據(jù)本發(fā)明示例實(shí)施方式的有助于進(jìn)行存儲(chǔ)系統(tǒng)恢復(fù)的方法300。該存儲(chǔ)系統(tǒng)包括用于存儲(chǔ)該存儲(chǔ)系統(tǒng)的系統(tǒng)信息的多個(gè)系統(tǒng)盤,以及與該多個(gè)系統(tǒng)盤關(guān)聯(lián)以用于管理該多個(gè)系統(tǒng)盤的一個(gè)或多個(gè)磁盤陣列。該方法300包括步驟s301,響應(yīng)于多個(gè)系統(tǒng)盤中的一個(gè)或多個(gè)系統(tǒng)盤發(fā)生故障,確定該一個(gè)或多個(gè)磁盤陣列的性能劣化程度。

如前所述,在系統(tǒng)盤發(fā)生故障時(shí),與該系統(tǒng)盤關(guān)聯(lián)以用于管理該系統(tǒng)盤的一個(gè)或多個(gè)磁盤陣列的性能會(huì)劣化。取決于故障的嚴(yán)重程度(例如所損壞的系統(tǒng)盤的數(shù)目),磁盤陣列的性能劣化程度也有所不同。例如,在一般的劣化情況下,磁盤陣列能夠從中恢復(fù),而在極端劣化的情況下,磁盤陣列可能處于“損壞”狀態(tài),磁盤陣列無法恢復(fù)。因此,步驟s301中所稱的性能劣化既包括磁盤陣列能夠從中恢復(fù)的一般劣化,也包括極端劣化下的“損壞”的情況。

接下來,方法300前進(jìn)到步驟s302,響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的性能劣化程度為第一級別,將該一個(gè)磁盤陣列的啟動(dòng)信息置為第一值,該第一值用于在存儲(chǔ)系統(tǒng)啟動(dòng)過程中指示跳 過對該一個(gè)磁盤陣列的創(chuàng)建。

應(yīng)當(dāng)理解,每個(gè)磁盤陣列均具有各自的啟動(dòng)信息。每次存儲(chǔ)系統(tǒng)啟動(dòng)時(shí),都要逐一創(chuàng)建各個(gè)磁盤陣列。在創(chuàng)建過程中,要參考其對應(yīng)的啟動(dòng)信息以例如了解這次啟動(dòng)是正常啟動(dòng)創(chuàng)建raid還是新盤上線后重新創(chuàng)建raid。其中,在正常啟動(dòng)創(chuàng)建raid和新盤上線后重新創(chuàng)建raid的情況下均會(huì)創(chuàng)建相應(yīng)的raid,不同之處僅在于后者在raid被創(chuàng)建之后,其中的數(shù)據(jù)將全被置為零。啟動(dòng)信息可以以例如三重鏡像raid的方式存儲(chǔ)在系統(tǒng)盤中,供創(chuàng)建磁盤陣列時(shí)取用。

在根據(jù)本發(fā)明的示例實(shí)施方式中,除了上述正常啟動(dòng)創(chuàng)建和重新創(chuàng)建這兩種創(chuàng)建磁盤陣列的指示之外,還可以例如提供另一種“不創(chuàng)建”指示。當(dāng)啟動(dòng)信息為“不創(chuàng)建”指示時(shí),表明在存儲(chǔ)系統(tǒng)的啟動(dòng)過程中,跳過(或不進(jìn)行)該啟動(dòng)信息所對應(yīng)的磁盤陣列的創(chuàng)建,而進(jìn)行下一磁盤陣列的創(chuàng)建環(huán)節(jié)。在根據(jù)本發(fā)明的實(shí)施方式的方法300的步驟s302中,控制使得處于預(yù)定級別(如第一級別)性能劣化程度的磁盤陣列不進(jìn)行創(chuàng)建。

以圖2的布局為例,在系統(tǒng)盤0和系統(tǒng)盤1均被損壞的情況下,根據(jù)圖3的方法300可使得處于例如“損壞”狀態(tài)的raid5202和raid3203的啟動(dòng)信息均被置為“不創(chuàng)建”,從而在啟動(dòng)存儲(chǔ)系統(tǒng)時(shí),raid5202和raid3203將均被跳過創(chuàng)建,而僅有三重鏡像raid201被創(chuàng)建。也即,已創(chuàng)建或正在運(yùn)行的磁盤陣列僅包括三重鏡像raid201。這時(shí),針對每一塊發(fā)生故障的系統(tǒng)盤,在用新盤替換該系統(tǒng)盤、從而執(zhí)行新盤初始化的過程中,已創(chuàng)建的磁盤陣列中并不包括raid5202和raid3203;而三重鏡像raid201由于為劣化狀態(tài)會(huì)被通知恢復(fù)盤中的數(shù)據(jù),新盤初始化過程的步驟2就能夠順利執(zhí)行。接著,由于與盤0和1相關(guān)聯(lián)的已創(chuàng)建的磁盤陣列僅有三重鏡像raid201,而該raid又被通知要恢復(fù)盤中的數(shù)據(jù),因此步驟3也能夠順利執(zhí)行,從而能夠完成新盤的初始化。

一旦新盤能夠成功被初始化,存儲(chǔ)系統(tǒng)就能夠自動(dòng)或手動(dòng)地恢復(fù)原有系統(tǒng)盤的數(shù)據(jù)。例如,在圖2中,針對三重鏡像raid201,在 替換兩塊系統(tǒng)盤0和1的情況下,可以從尚未被替換的系統(tǒng)盤2恢復(fù)數(shù)據(jù);而針對raid5202和raid3203,可以從備份數(shù)據(jù)中恢復(fù)系統(tǒng)盤的數(shù)據(jù)。從而避免了將系統(tǒng)盤返回廠商造成全部數(shù)據(jù)的重新寫入,節(jié)約了成本的同時(shí)提高了效率。

應(yīng)當(dāng)理解,雖然在對圖3的說明中以圖2的布局為例,針對raid5、raid3進(jìn)行了詳細(xì)描述,但本發(fā)明并不局限于此。例如,根據(jù)不同的磁盤陣列提供的冗余程度,步驟s302中的“第一級別”所代表的性能劣化程度或者損壞的系統(tǒng)盤的數(shù)目均可以有所不同。

此外,根據(jù)本發(fā)明的進(jìn)一步實(shí)施方式,方法300還可以包括步驟:響應(yīng)于發(fā)生故障的所述系統(tǒng)盤中的一個(gè)系統(tǒng)盤被替換,確定所述一個(gè)或多個(gè)磁盤陣列的性能劣化程度;以及響應(yīng)于所述一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的性能劣化程度為第二級別,通知所述一個(gè)磁盤陣列所述一個(gè)系統(tǒng)盤的數(shù)據(jù)要被恢復(fù)。

如前所述,在存儲(chǔ)系統(tǒng)的系統(tǒng)盤發(fā)生故障后,要用新盤替換原有的故障盤。在新盤插入對應(yīng)槽中時(shí),觸發(fā)前述的新盤初始化的過程。在該過程中,首先確定一個(gè)或多個(gè)磁盤陣列的性能劣化程度。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,這里所稱的要被確定性能劣化程度的“一個(gè)或多個(gè)磁盤陣列”指的是已創(chuàng)建好的或當(dāng)前正在運(yùn)行的磁盤陣列。對于性能劣化程度為第二級別的磁盤陣列,通知該磁盤陣列該被替換的系統(tǒng)盤的數(shù)據(jù)要被恢復(fù)。需要注意的是,這里所稱的“第二級別”的具體含義可以根據(jù)實(shí)際實(shí)現(xiàn)而有所差別,例如,其可以是指其性能處于劣化但仍可從中恢復(fù)的磁盤陣列(例如,圖2中,raid5202或raid3203在壞一塊系統(tǒng)盤時(shí)可以恢復(fù);三重鏡像raid201在壞一塊或兩塊系統(tǒng)盤時(shí)可以恢復(fù))。在根據(jù)本申請的一個(gè)具體實(shí)現(xiàn)中,劣化程度是處于第一級別還是第二級別可以根據(jù)發(fā)生故障的系統(tǒng)盤的數(shù)量來確定。例如,針對圖2的布局,壞一塊系統(tǒng)盤時(shí),raid5202、raid3203和三重鏡像raid201均處于一般劣化級別,而壞兩塊系統(tǒng)盤時(shí),三重鏡像raid201處于一般劣化級別,但raid5202和raid3203處于損壞級別??蛇x地,第一級別劣于第二級別。

另外,在本發(fā)明的可選實(shí)施方式中,方法300的步驟s301中一個(gè)或多個(gè)系統(tǒng)盤發(fā)生故障包括兩塊系統(tǒng)盤發(fā)生故障的情況,以便針對例如raid5或raid3的情形。

根據(jù)本發(fā)明的進(jìn)一步實(shí)施方式,方法300還可以包括如下步驟:當(dāng)與所述一個(gè)系統(tǒng)盤關(guān)聯(lián)的所有磁盤陣列均被通知所述一個(gè)系統(tǒng)盤的數(shù)據(jù)要被恢復(fù)時(shí),將替換后的系統(tǒng)盤作為存儲(chǔ)系統(tǒng)的一部分使用。

需要注意的是,該步驟中的“與所述一個(gè)系統(tǒng)盤關(guān)聯(lián)的所有磁盤陣列”是指在已經(jīng)創(chuàng)建或正在運(yùn)行的磁盤陣列中,與該系統(tǒng)盤關(guān)聯(lián)的所有磁盤陣列,而并不包括原本與系統(tǒng)盤關(guān)聯(lián)但由于某些原因(例如其啟動(dòng)信息被置為“不創(chuàng)建”)沒有被實(shí)際創(chuàng)建的磁盤陣列。以圖2所示的布局為例,在系統(tǒng)盤0和1損壞、更換系統(tǒng)盤0的情況下,雖然原本與系統(tǒng)盤0關(guān)聯(lián)的磁盤陣列有三重鏡像raid201、raid5202和raid3203,但如果raid5202和raid3203因?yàn)閱?dòng)信息被置為“不創(chuàng)建”而沒有被創(chuàng)建,此時(shí)與系統(tǒng)盤0關(guān)聯(lián)的磁盤陣列僅有三重鏡像raid201。在三重鏡像raid201被通知要恢復(fù)盤中的數(shù)據(jù)時(shí),即可將新盤加入到存儲(chǔ)系統(tǒng)中,供存儲(chǔ)系統(tǒng)使用。進(jìn)而,在根據(jù)本發(fā)明的進(jìn)一步實(shí)施方式中,可以從存儲(chǔ)系統(tǒng)的備份數(shù)據(jù)中恢復(fù)被替換的系統(tǒng)盤的數(shù)據(jù)。

此外,根據(jù)本申請的更進(jìn)一步實(shí)施方式,在替換后的系統(tǒng)盤作為存儲(chǔ)系統(tǒng)的一部分使用之后,方法300還可以包括:將其值為第一值的啟動(dòng)信息修改為第二值,該第二值用于在所述存儲(chǔ)系統(tǒng)的啟動(dòng)過程中指示創(chuàng)建與之相應(yīng)的磁盤陣列、且被創(chuàng)建的所述磁盤陣列中的所有數(shù)據(jù)將被置零。

由于在方法300中,為了使得新盤能夠成功被初始化,可能跳過了某些磁盤陣列(例如性能劣化程度為第一級別)的創(chuàng)建。此時(shí),在新盤被成功初始化之后,需要對先前跳過創(chuàng)建的磁盤陣列重新建立。為此,將先前被置為第一值的啟動(dòng)信息的值修改為不同于該第一值的第二值。例如,在實(shí)現(xiàn)中,第二值可以為“重新創(chuàng)建”或“創(chuàng)建”等等。該第二值會(huì)在下次存儲(chǔ)系統(tǒng)的啟動(dòng)過程中,指示創(chuàng)建該啟動(dòng)信息 對應(yīng)的磁盤陣列??蛇x地,針對新盤剛被初始化的情況,可以將第二值置為諸如“重新創(chuàng)建”之類的值,從而指示在啟動(dòng)過程中,該磁盤陣列中的所有數(shù)據(jù)都將被置零。

至此,方法300結(jié)束。

以下參照附圖4描述根據(jù)本發(fā)明示例實(shí)施方式的用于啟動(dòng)存儲(chǔ)系統(tǒng)的方法400。該存儲(chǔ)系統(tǒng)包括用于存儲(chǔ)該存儲(chǔ)系統(tǒng)的系統(tǒng)信息的多個(gè)系統(tǒng)盤,以及與該多個(gè)系統(tǒng)盤關(guān)聯(lián)以用于管理該多個(gè)系統(tǒng)盤的一個(gè)或多個(gè)磁盤陣列。該方法400包括步驟s401,讀取該一個(gè)或多個(gè)磁盤陣列的相應(yīng)啟動(dòng)信息;以及步驟s402,響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的啟動(dòng)信息為第一值,跳過對該磁盤陣列的創(chuàng)建。

本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,方法400中的各術(shù)語的含義以及相關(guān)實(shí)現(xiàn)與前文參照圖3描述的方法300類似。例如,根據(jù)方法300的步驟s302所描述的啟動(dòng)信息將用于方法400的步驟s401和s402中。因此,方法400的示例性實(shí)現(xiàn)細(xì)節(jié)參照方法300類似地執(zhí)行,不再贅述。同樣,通過方法400所描述的用于啟動(dòng)存儲(chǔ)系統(tǒng)的方法,可以使得存儲(chǔ)系統(tǒng)在啟動(dòng)過程中有選擇地跳過創(chuàng)建某些性能劣化到一定程度的磁盤陣列,從而保證用新盤更換發(fā)生故障的系統(tǒng)盤的過程能夠順利進(jìn)行,最終低成本且高效地恢復(fù)發(fā)生故障的存儲(chǔ)系統(tǒng)。

接下來參照附圖5描述根據(jù)本發(fā)明示例實(shí)施方式的用于恢復(fù)存儲(chǔ)系統(tǒng)的裝置500,該存儲(chǔ)系統(tǒng)包括用于存儲(chǔ)該存儲(chǔ)系統(tǒng)的系統(tǒng)信息的多個(gè)系統(tǒng)盤以及與該多個(gè)系統(tǒng)盤關(guān)聯(lián)以用于管理該多個(gè)系統(tǒng)盤的一個(gè)或多個(gè)磁盤陣列。如圖5所示,該裝置500包括:第一確定裝置501,用于響應(yīng)于該多個(gè)系統(tǒng)盤中的一個(gè)或多個(gè)系統(tǒng)盤發(fā)生故障,確定該一個(gè)或多個(gè)磁盤陣列的性能劣化程度;以及第一設(shè)置裝置502,用于響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的性能劣化程度為第一級別,將該一個(gè)磁盤陣列的啟動(dòng)信息置為第一值,該第一值用于在該存儲(chǔ)系統(tǒng)的啟動(dòng)過程中指示跳過對該一個(gè)磁盤陣列的創(chuàng)建。

在本發(fā)明的可選實(shí)施方式中,該裝置500進(jìn)一步包括:第二確定 裝置,用于響應(yīng)于發(fā)生故障的該系統(tǒng)盤中的一個(gè)系統(tǒng)盤被替換,確定該一個(gè)或多個(gè)磁盤陣列的性能劣化程度;以及通知裝置,響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的性能劣化程度為第二級別,通知該一個(gè)磁盤陣列該一個(gè)系統(tǒng)盤的數(shù)據(jù)要被恢復(fù)。在本發(fā)明的進(jìn)一步可選實(shí)施方式中,該第一級別劣于該第二級別。

在本發(fā)明的可選實(shí)施方式中,該裝置500進(jìn)一步包括:新盤上線裝置,用于當(dāng)與該一個(gè)系統(tǒng)盤關(guān)聯(lián)的所有磁盤陣列均被通知該一個(gè)系統(tǒng)盤的數(shù)據(jù)要被恢復(fù)時(shí),將替換后的系統(tǒng)盤作為存儲(chǔ)系統(tǒng)的一部分使用。在本發(fā)明的進(jìn)一步可選實(shí)施方式中,該新盤上線裝置進(jìn)一步用于在替換后的系統(tǒng)盤作為存儲(chǔ)系統(tǒng)的一部分使用之后,將其值為第一值的啟動(dòng)信息修改為第二值。

在本發(fā)明的可選實(shí)施方式中,該裝置500進(jìn)一步包括:恢復(fù)裝置,用于從該存儲(chǔ)系統(tǒng)的備份數(shù)據(jù)中恢復(fù)該被替換的系統(tǒng)盤的數(shù)據(jù)。

在本發(fā)明的可選實(shí)施方式中,該第一級別或第二級別根據(jù)發(fā)生故障的系統(tǒng)盤的數(shù)量來確定。

在本發(fā)明的可選實(shí)施方式中,該磁盤陣列包括raid3和raid5中的至少一種。

在本發(fā)明的可選實(shí)施方式中,該一個(gè)或多個(gè)系統(tǒng)盤發(fā)生故障包括兩個(gè)系統(tǒng)盤發(fā)生故障。

以下參照附圖6描述根據(jù)本發(fā)明示例實(shí)施方式的用于啟動(dòng)存儲(chǔ)系統(tǒng)的裝置600。該存儲(chǔ)系統(tǒng)包括用于存儲(chǔ)系統(tǒng)信息的多個(gè)系統(tǒng)盤,以及與該多個(gè)系統(tǒng)盤關(guān)聯(lián)以用于管理該多個(gè)系統(tǒng)盤的一個(gè)或多個(gè)磁盤陣列,該裝置600包括:讀取裝置601,用于讀取該一個(gè)或多個(gè)磁盤陣列的相應(yīng)啟動(dòng)信息;以及創(chuàng)建裝置602,用于響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的啟動(dòng)信息為第一值,跳過對該一個(gè)磁盤陣列的創(chuàng)建。

在本發(fā)明的可選實(shí)施方式中,該創(chuàng)建裝置進(jìn)一步用于:響應(yīng)于該一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的啟動(dòng)信息為不同于該第一值的第二值,創(chuàng)建該一個(gè)磁盤陣列。

下面參考圖7,其示出了適于用來實(shí)現(xiàn)本發(fā)明示例實(shí)施方式的計(jì)算機(jī)系統(tǒng)700的示意性框圖。例如,圖7所示的計(jì)算機(jī)系統(tǒng)700可以 用于實(shí)現(xiàn)如上文描述的用于恢復(fù)存儲(chǔ)系統(tǒng)的裝置500以及用于啟動(dòng)存儲(chǔ)系統(tǒng)的裝置600的各個(gè)部件,也可以用于固化或?qū)崿F(xiàn)如上文描述的用于恢復(fù)存儲(chǔ)系統(tǒng)的方法300以及用于啟動(dòng)存儲(chǔ)系統(tǒng)的方法400的各個(gè)步驟。

如圖7所示,計(jì)算機(jī)系統(tǒng)可以包括:cpu(中央處理單元)701、ram(隨機(jī)存取存儲(chǔ)器)702、rom(只讀存儲(chǔ)器)703、系統(tǒng)總線704、硬盤控制器705、鍵盤控制器706、串行接口控制器707、并行接口控制器708、顯示控制器709、硬盤710、鍵盤711、串行外部設(shè)備712、并行外部設(shè)備713和顯示器714。在這些設(shè)備中,與系統(tǒng)總線704耦合的有cpu701、ram702、rom703、硬盤控制器705、鍵盤控制器706、串行控制器707、并行控制器708和顯示控制器709。硬盤710與硬盤控制器705耦合,鍵盤711與鍵盤控制器706耦合,串行外部設(shè)備712與串行接口控制器707耦合,并行外部設(shè)備713與并行接口控制器708耦合,以及顯示器714與顯示控制器709耦合。應(yīng)當(dāng)理解,圖7所述的結(jié)構(gòu)框圖僅僅為了示例的目的而示出,而不是對本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況而增加或者減少某些設(shè)備。

如上所述,系統(tǒng)300可以實(shí)現(xiàn)為純硬件,例如芯片、asic、soc等。這些硬件可以集成在計(jì)算機(jī)系統(tǒng)700中。此外,本發(fā)明的實(shí)施方式也可以通過計(jì)算機(jī)程序產(chǎn)品的形式實(shí)現(xiàn)。例如,參考圖3或4描述的方法300或400可以通過計(jì)算機(jī)程序產(chǎn)品來實(shí)現(xiàn)。該計(jì)算機(jī)程序產(chǎn)品可以存儲(chǔ)在例如圖7所示的ram702、rom703、硬盤710和/或任何適當(dāng)?shù)拇鎯?chǔ)介質(zhì)中,或者通過網(wǎng)絡(luò)從適當(dāng)?shù)奈恢孟螺d到計(jì)算機(jī)系統(tǒng)700上。計(jì)算機(jī)程序產(chǎn)品可以包括計(jì)算機(jī)代碼部分,其包括可由適當(dāng)?shù)奶幚碓O(shè)備(例如,圖7中示出的cpu701)執(zhí)行的程序指令。所述程序指令至少可以包括用于實(shí)現(xiàn)方法300的步驟的指令。這些指令例如包括:用于響應(yīng)于所述多個(gè)系統(tǒng)盤中的一個(gè)或多個(gè)系統(tǒng)盤發(fā)生故障,確定所述一個(gè)或多個(gè)磁盤陣列的性能劣化程度的指令;以及用于響應(yīng)于所述一個(gè)或多個(gè)磁盤陣列中的一個(gè)磁盤陣列的性能劣化程度 為第一級別,將所述一個(gè)磁盤陣列的啟動(dòng)信息置為第一值的指令,所述第一值用于在所述存儲(chǔ)系統(tǒng)的啟動(dòng)過程中指示跳過對所述一個(gè)磁盤陣列的創(chuàng)建。

上文已經(jīng)結(jié)合若干具體實(shí)施方式闡釋了本發(fā)明的精神和原理。根據(jù)本發(fā)明的用于恢復(fù)存儲(chǔ)系統(tǒng)的方法和裝置、以及用于啟動(dòng)存儲(chǔ)系統(tǒng)的方法和裝置相對于現(xiàn)有技術(shù)具有諸多優(yōu)點(diǎn)。例如,本發(fā)明可以在存儲(chǔ)系統(tǒng)的系統(tǒng)盤發(fā)生故障時(shí),使得存儲(chǔ)系統(tǒng)在啟動(dòng)過程中有選擇地跳過創(chuàng)建某些性能劣化到一定程度的磁盤陣列,從而保證用新盤更換發(fā)生故障地系統(tǒng)盤的過程能夠順利進(jìn)行,最終低成本且高效地恢復(fù)發(fā)生故障的存儲(chǔ)系統(tǒng)。

應(yīng)當(dāng)注意,本發(fā)明的實(shí)施方式可以通過硬件、軟件或者軟件和硬件的結(jié)合來實(shí)現(xiàn)。硬件部分可以利用專用邏輯來實(shí)現(xiàn);軟件部分可以存儲(chǔ)在存儲(chǔ)器中,由適當(dāng)?shù)闹噶顖?zhí)行系統(tǒng),例如微處理器或者專用設(shè)計(jì)硬件來執(zhí)行。本領(lǐng)域的普通技術(shù)人員可以理解上述的設(shè)備和方法可以使用計(jì)算機(jī)可執(zhí)行指令和/或包含在處理器控制代碼中來實(shí)現(xiàn),例如在諸如磁盤、cd或dvd-rom的載體介質(zhì)、諸如只讀存儲(chǔ)器(固件)的可編程的存儲(chǔ)器或者諸如光學(xué)或電子信號載體的數(shù)據(jù)載體上提供了這樣的代碼。本發(fā)明的設(shè)備及其模塊可以由諸如超大規(guī)模集成電路或門陣列、諸如邏輯芯片、晶體管等的半導(dǎo)體、或者諸如現(xiàn)場可編程門陣列、可編程邏輯設(shè)備等的可編程硬件設(shè)備的硬件電路實(shí)現(xiàn),也可以用由各種類型的處理器執(zhí)行的軟件實(shí)現(xiàn),也可以由上述硬件電路和軟件的結(jié)合例如固件來實(shí)現(xiàn)。

應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了設(shè)備的若干裝置或子裝置,但是這種劃分并非強(qiáng)制性的。實(shí)際上,根據(jù)本發(fā)明的實(shí)施方式,上文描述的兩個(gè)或更多裝置的特征和功能可以在一個(gè)裝置中具體化。反之,上文描述的一個(gè)裝置的特征和功能可以進(jìn)一步劃分為由多個(gè)裝置來具體化。

此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須 執(zhí)行全部所示的操作才能實(shí)現(xiàn)期望的結(jié)果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個(gè)步驟合并為一個(gè)步驟執(zhí)行,和/或?qū)⒁粋€(gè)步驟分解為多個(gè)步驟執(zhí)行。雖然已經(jīng)參考若干具體實(shí)施方式描述了本發(fā)明,但是應(yīng)該理解,本發(fā)明并不限于所公開的具體實(shí)施方式。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。所附權(quán)利要求的范圍符合最寬泛的解釋,從而包含所有這樣的修改及等同結(jié)構(gòu)和功能。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1