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