本發(fā)明涉及信息存儲技術(shù)領(lǐng)域,更具體的,涉及一種raid系統(tǒng)故障的恢復(fù)方法及裝置。
背景技術(shù):
raid是一個復(fù)雜的系統(tǒng),linux平臺中的軟raid是以塊設(shè)備的形式提供給用戶使用,并利用linux的通用塊層作為raid的cache緩沖管理,而且軟raid沒有自己的io調(diào)度模塊,借助磁盤驅(qū)動完成io的調(diào)度和處理。當創(chuàng)建raid系統(tǒng)之后,在每個raid系統(tǒng)成員盤中都會保存一份raid的元數(shù)據(jù)信息,raid系統(tǒng)通過元數(shù)據(jù)信息管理各成員盤。
當存儲系統(tǒng)出現(xiàn)硬件鏈路故障導(dǎo)致jbod(justabunchofdisks,磁盤簇)或者背板與主柜之間的sas鏈路斷開時,就會導(dǎo)致raid系統(tǒng)成員盤之間的元數(shù)據(jù)信息不一致。此時即使將硬件鏈路恢復(fù),raid系統(tǒng)也無法恢復(fù),要想恢復(fù)raid系統(tǒng),需要將掉線的磁盤中的數(shù)據(jù)進行轉(zhuǎn)移,非常耗費時間。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種raid系統(tǒng)故障的恢復(fù)方法及裝置,解決當出現(xiàn)硬件鏈路故障時導(dǎo)致raid系統(tǒng)無法恢復(fù)的問題,縮短了raid系統(tǒng)故障的恢復(fù)時間。
為了實現(xiàn)上述發(fā)明目的,本發(fā)明提供的具體技術(shù)方案如下:
一種raid系統(tǒng)故障的恢復(fù)方法,包括:
當檢測到待添加磁盤時,判斷所述待添加磁盤是否為raid系統(tǒng)的成員盤;
當所述待添加磁盤為所述raid系統(tǒng)的成員盤時,判斷所述待添加磁盤的元數(shù)據(jù)與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)是否一致;
若是,將所述待添加磁盤添加到所述raid系統(tǒng)中;
若否,將所述待添加磁盤的元數(shù)據(jù)更新為所述raid系統(tǒng)已有成員盤的元數(shù)據(jù),并將所述待添加磁盤添加到所述raid系統(tǒng)中。
優(yōu)選的,所述判斷所述待添加磁盤是否為raid系統(tǒng)的成員盤,包括:
提取所述待添加磁盤的raid信息;
判斷所述待添加磁盤的raid信息與所述raid系統(tǒng)的配置文件中的raid信息是否匹配,若是,所述待添加磁盤為所述raid系統(tǒng)的成員盤,若否,所述待添加磁盤不是所述raid系統(tǒng)的成員盤。
優(yōu)選的,所述判斷所述待添加磁盤的元數(shù)據(jù)與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)是否一致,包括:
計算所述待添加磁盤的元數(shù)據(jù)值與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)值的差值;
判斷所述差值是否大于預(yù)設(shè)值;
若是,所述待添加磁盤的元數(shù)據(jù)與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)不一致;
若否,所述待添加磁盤的元數(shù)據(jù)與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)一致。
優(yōu)選的,所述方法還包括:
當所述待添加磁盤不是所述raid系統(tǒng)的成員盤時,提示raid故障恢復(fù)失敗。
一種raid系統(tǒng)故障的恢復(fù)裝置,包括:
第一判斷單元,用于當檢測到待添加磁盤時,判斷所述待添加磁盤是否為raid系統(tǒng)的成員盤;
第二判斷單元,用于當所述待添加磁盤為所述raid系統(tǒng)的成員盤時,判斷所述待添加磁盤的元數(shù)據(jù)與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)是否一致,若是,觸發(fā)第一添加單元,若否,觸發(fā)第二添加單元;
所述第一添加單元,用于將所述待添加磁盤添加到所述raid系統(tǒng)中;
所述第二添加單元,用于將所述待添加磁盤的元數(shù)據(jù)更新為所述raid系統(tǒng)已有成員盤的元數(shù)據(jù),并將所述待添加磁盤添加到所述raid系統(tǒng)中。
優(yōu)選的,所述第一判斷單元包括:
提取子單元,用于提取所述待添加磁盤的raid信息;
第一判斷子單元,用于判斷所述待添加磁盤的raid信息與所述raid系統(tǒng)的配置文件中的raid信息是否匹配,若是,觸發(fā)所述第二判斷單元。
優(yōu)選的,所述第二判斷單元包括:
計算子單元,用于計算所述待添加磁盤的元數(shù)據(jù)值與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)值的差值;
第二判斷子單元,用于判斷所述差值是否大于預(yù)設(shè)值,若是,觸發(fā)所述第二添加單元,若否,觸發(fā)所述第一添加單元。
優(yōu)選的,所述裝置還包括:
提示單元,用于當所述待添加磁盤不是所述raid系統(tǒng)的成員盤時,提示raid故障恢復(fù)失敗。
相對于現(xiàn)有技術(shù),本發(fā)明的有益效果如下:
本發(fā)明提供的raid系統(tǒng)故障的恢復(fù)方法及裝置,當檢測到待添加磁盤時,先判斷所述待添加磁盤是否為raid系統(tǒng)的成員盤,當所述待添加磁盤為raid系統(tǒng)的成員盤時,判斷所述待添加磁盤的元數(shù)據(jù)與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)是否一致;若是,將所述待添加磁盤添加到所述raid系統(tǒng)中;若否,將所述待添加磁盤的元數(shù)據(jù)更新為所述raid系統(tǒng)已有成員盤的元數(shù)據(jù),并將所述待添加磁盤添加到所述raid系統(tǒng)中。有效的解決了由于硬件鏈路故障導(dǎo)致raid系統(tǒng)故障的問題,不需要將掉線磁盤中的數(shù)據(jù)進行轉(zhuǎn)移,只需更新掉線磁盤的元數(shù)據(jù)即可,縮短了raid系統(tǒng)故障的恢復(fù)時間。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例公開的一種raid系統(tǒng)故障的恢復(fù)方法流程圖;
圖2為本發(fā)明實施例公開的另一種raid系統(tǒng)故障的恢復(fù)方法流程圖;
圖3為本發(fā)明實施例公開的一種raid系統(tǒng)故障的恢復(fù)裝置結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本實施例公開的raid系統(tǒng)故障的恢復(fù)方法,在于解決由于sas鏈路故障、硬盤故障及其他硬件鏈路故障導(dǎo)致raid系統(tǒng)中部分raid成員盤掉線后無法重新加入并啟動raid系統(tǒng)的問題。具體的,請參閱圖1,本實施例公開了一種raid系統(tǒng)故障的恢復(fù)方法,具體包括以下步驟:
s101:當檢測到待添加磁盤時,判斷所述待添加磁盤是否為raid系統(tǒng)的成員盤,若是,執(zhí)行s102;
當硬件鏈路故障導(dǎo)致raid系統(tǒng)部分raid成員盤掉線后,需要工作人員人為將掉線的raid成員盤拔下并重新插入槽位。通過監(jiān)聽磁盤的熱插拔動作,檢測是否有待添加磁盤,所述待添加磁盤即為掉線的raid成員盤。
當檢測到待添加磁盤時,首先需要判斷所述待添加磁盤是否為raid系統(tǒng)的成員盤,具體判斷流程如下:
提取所述待添加磁盤的raid信息;
判斷所述待添加磁盤的raid信息與所述raid系統(tǒng)的配置文件中的raid信息是否匹配,若是,所述待添加磁盤為所述raid系統(tǒng)的成員盤,并執(zhí)行s102;若否,所述待添加磁盤不是所述raid系統(tǒng)的成員盤。
優(yōu)選的,請參閱圖2,當所述待添加磁盤不是所述raid系統(tǒng)的成員盤時,所述方法還包括:
s105:提示raid故障恢復(fù)失敗。
提示raid故障恢復(fù)失敗的方式可以為語音提示、文本提示、閃燈提示等任意一種可以起到提示作用的方式。
s102:判斷所述待添加磁盤的元數(shù)據(jù)與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)是否一致,若是,執(zhí)行s103,若否,執(zhí)行s104;
具體的,s102的執(zhí)行過程如下:
計算所述待添加磁盤的元數(shù)據(jù)值與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)值的差值;
判斷所述差值是否大于預(yù)設(shè)值;
若是,所述待添加磁盤的元數(shù)據(jù)與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)不一致;
若否,所述待添加磁盤的元數(shù)據(jù)與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)一致。
優(yōu)選的,所述預(yù)設(shè)值為2。
s103:將所述待添加磁盤添加到所述raid系統(tǒng)中;
s104:將所述待添加磁盤的元數(shù)據(jù)更新為所述raid系統(tǒng)已有成員盤的元數(shù)據(jù),并將所述待添加磁盤添加到所述raid系統(tǒng)中。
具體的,當所述待添加磁盤的元數(shù)據(jù)與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)不一致時,刪除所述待添加磁盤的元數(shù)據(jù),并將所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)拷貝到所述待添加磁盤中,使所述待添加磁盤的元數(shù)據(jù)更新為所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)。
本實施例提供的raid系統(tǒng)故障的恢復(fù)方法,當檢測到待添加磁盤時,先判斷所述待添加磁盤是否為raid系統(tǒng)的成員盤,當所述待添加磁盤為raid系統(tǒng)的成員盤時,判斷所述待添加磁盤的元數(shù)據(jù)與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)是否一致;若是,將所述待添加磁盤添加到所述raid系統(tǒng)中;若否,將所述待添加磁盤的元數(shù)據(jù)更新為所述raid系統(tǒng)已有成員盤的元數(shù)據(jù),并將所述待添加磁盤添加到所述raid系統(tǒng)中。有效的解決了由于硬件鏈路故障導(dǎo)致raid系統(tǒng)故障的問題,不需要將掉線磁盤中的數(shù)據(jù)進行轉(zhuǎn)移,只需更新掉線磁盤的元數(shù)據(jù)即可,縮短了raid系統(tǒng)故障的恢復(fù)時間。
基于上述實施例公開的一種raid系統(tǒng)故障的恢復(fù)方法,請參閱圖3,本實施例對應(yīng)公開了一種raid系統(tǒng)故障的恢復(fù)裝置,包括:
第一判斷單元101,用于當檢測到待添加磁盤時,判斷所述待添加磁盤是否為raid系統(tǒng)的成員盤;
優(yōu)選的,所述第一判斷單元101包括:
提取子單元,用于提取所述待添加磁盤的raid信息;
第一判斷子單元,用于判斷所述待添加磁盤的raid信息與所述raid系統(tǒng)的配置文件中的raid信息是否匹配,若是,觸發(fā)所述第二判斷單元102。
優(yōu)選的,所述裝置還包括:
提示單元,用于當所述待添加磁盤不是所述raid系統(tǒng)的成員盤時,提示raid故障恢復(fù)失敗。
即,當所述第一判斷單元101判斷所述待添加磁盤不是所述raid系統(tǒng)的成員盤時,觸發(fā)所述提示單元。
第二判斷單元102,用于當所述待添加磁盤為所述raid系統(tǒng)的成員盤時,判斷所述待添加磁盤的元數(shù)據(jù)與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)是否一致,若是,觸發(fā)第一添加單元103,若否,觸發(fā)第二添加單元104;
優(yōu)選的,所述第二判斷單元102包括:
計算子單元,用于計算所述待添加磁盤的元數(shù)據(jù)值與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)值的差值;
第二判斷子單元,用于判斷所述差值是否大于預(yù)設(shè)值,若是,觸發(fā)所述第二添加單元104,若否,觸發(fā)所述第一添加單元103。
所述第一添加單元103,用于將所述待添加磁盤添加到所述raid系統(tǒng)中;
所述第二添加單元104,用于將所述待添加磁盤的元數(shù)據(jù)更新為所述raid系統(tǒng)已有成員盤的元數(shù)據(jù),并將所述待添加磁盤添加到所述raid系統(tǒng)中。
本實施例提供的raid系統(tǒng)故障的恢復(fù)裝置,當檢測到待添加磁盤時,先判斷所述待添加磁盤是否為raid系統(tǒng)的成員盤,當所述待添加磁盤為raid系統(tǒng)的成員盤時,判斷所述待添加磁盤的元數(shù)據(jù)與所述raid系統(tǒng)已有成員盤的元數(shù)據(jù)是否一致;若是,將所述待添加磁盤添加到所述raid系統(tǒng)中;若否,將所述待添加磁盤的元數(shù)據(jù)更新為所述raid系統(tǒng)已有成員盤的元數(shù)據(jù),并將所述待添加磁盤添加到所述raid系統(tǒng)中。有效的解決了由于硬件鏈路故障導(dǎo)致raid系統(tǒng)故障的問題,不需要將掉線磁盤中的數(shù)據(jù)進行轉(zhuǎn)移,只需更新掉線磁盤的元數(shù)據(jù)即可,縮短了raid系統(tǒng)故障的恢復(fù)時間。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。