基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)存儲設(shè)備高可用的方法和裝置的制造方法
【專利說明】基于LVM鏡像實(shí)現(xiàn)Li nux系統(tǒng)存儲設(shè)備高可用的方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉Linux系統(tǒng)中存儲高可用性技術(shù)領(lǐng)域,特別是涉及一種基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)存儲設(shè)備高可用的方法和裝置。
【背景技術(shù)】
[0002]目前,Linux系統(tǒng)中采用單個(gè)共享磁盤存儲數(shù)據(jù),當(dāng)該單個(gè)共享磁盤發(fā)送故障時(shí),將會因該單個(gè)磁盤故障不可用而引起的數(shù)據(jù)丟失,存在單點(diǎn)故障問題,且對故障處理及數(shù)據(jù)恢復(fù)的難度較大,無法保障底層重要業(yè)務(wù)數(shù)據(jù)的冗余,進(jìn)而保證上層業(yè)務(wù)的連續(xù)性。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明實(shí)施例提供一種基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)存儲設(shè)備高可用的方法和裝置,以解決現(xiàn)有技術(shù)中Linux系統(tǒng)采用單個(gè)共享磁盤存儲數(shù)據(jù),當(dāng)該單個(gè)共享磁盤發(fā)送故障時(shí),將會因該單個(gè)磁盤故障不可用而引起的數(shù)據(jù)丟失,大大降低了故障處理及數(shù)據(jù)恢復(fù)的難度,無法保障底層重要業(yè)務(wù)數(shù)據(jù)的冗余,進(jìn)而為上層業(yè)務(wù)的連續(xù)性的問題。
[0004]為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供如下技術(shù)方案:
[0005]—種基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)中存儲設(shè)備高可用的方法,所述存儲設(shè)備包括至少2個(gè)存儲數(shù)據(jù)相同的共享磁盤,包括:
[0006]為每個(gè)所述共享磁盤均建立一數(shù)據(jù)卷,每個(gè)所述數(shù)據(jù)卷的容量和存儲數(shù)據(jù)相同,為本地磁盤建立一存儲日志的日志卷,并將所有所述數(shù)據(jù)卷和所述日志卷加入同一卷組中;
[0007]通過LVM鏡像技術(shù),將所有所述數(shù)據(jù)卷和日志卷中的存儲數(shù)據(jù)備份到LVM鏡像中,分別得到鏡像數(shù)據(jù)卷和鏡像日志卷;
[0008]檢測所述LVM鏡像的狀態(tài),若檢測存在未知鏡像數(shù)據(jù)卷,則確定所述未知鏡像數(shù)據(jù)卷對應(yīng)的未知數(shù)據(jù)卷和未知共享磁盤,將所述未知數(shù)據(jù)卷刪除,并在所述未知共享磁盤中建立一與所述未知數(shù)據(jù)卷容量相同的新數(shù)據(jù)卷,通過LVM鏡像技術(shù),將所述未知數(shù)據(jù)卷內(nèi)存儲數(shù)據(jù)恢復(fù)至所述新數(shù)據(jù)卷,用所述新數(shù)據(jù)卷替換所述未知數(shù)據(jù)卷。
[0009]其中,所述為每個(gè)所述共享磁盤均建立一數(shù)據(jù)卷前還包括:
[0010]在每個(gè)所述共享磁盤上均劃分一邏輯磁盤,每個(gè)所述邏輯磁盤的容量和存儲數(shù)據(jù)相同;
[0011]將所有所述邏輯磁盤均映射到同一服務(wù)器的同一節(jié)點(diǎn)上;
[0012]掃描所述服務(wù)器的光纖口或重啟所述服務(wù)器的所述節(jié)點(diǎn),使所述服務(wù)器對所有所述邏輯磁盤進(jìn)行識別。
[0013]其中,所述使所述服務(wù)器對所有所述邏輯磁盤進(jìn)行識別后還包括:
[0014]判斷所述服務(wù)器是否識別所有所述邏輯磁盤;
[0015]若否,則再次掃描所述服務(wù)器的光纖口或再次重啟所述服務(wù)器的所述節(jié)點(diǎn),直至所述服務(wù)器識別所有所述邏輯磁盤。
[0016]其中,所述為每個(gè)所述共享磁盤均建立一數(shù)據(jù)卷為:為每個(gè)所述邏輯磁盤均建立一數(shù)據(jù)卷。
[0017]其中,所述為本地磁盤建立一存儲日志的日志卷包括:
[0018]在所述本地磁盤中劃分預(yù)定容量的邏輯磁盤;
[0019]為所述預(yù)定容量的邏輯磁盤建立日志卷。
[0020]其中,所述根據(jù)LVM鏡像技術(shù),將所有所述數(shù)據(jù)卷和日志卷中的存儲數(shù)據(jù)備份到LVM鏡像中,分別得到鏡像數(shù)據(jù)卷和鏡像日志卷包括:
[0021 ] 在所述卷組中創(chuàng)建LVM鏡像;
[0022]格式化所述LVM鏡像并將所述LVM鏡像掛載到預(yù)定本地目錄中。
[0023]其中,所述通過LVM鏡像技術(shù),將所述未知數(shù)據(jù)卷內(nèi)存儲數(shù)據(jù)恢復(fù)至所述新數(shù)據(jù)卷包括:
[0024]將所述新數(shù)據(jù)卷加入所述卷組中;
[0025]根據(jù)所述日志卷對所述未知共享磁盤內(nèi)數(shù)據(jù)進(jìn)行恢復(fù),使所述新數(shù)據(jù)卷內(nèi)存儲數(shù)據(jù)與其他數(shù)據(jù)卷內(nèi)存儲數(shù)據(jù)相同。
[0026]—種基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)中存儲設(shè)備高可用的裝置,所述存儲設(shè)備包括至少2個(gè)共享磁盤,包括:建立模塊、備份模塊和檢測模塊;其中,
[0027]所述建立模塊,用于為每個(gè)所述共享磁盤均建立一數(shù)據(jù)卷,每個(gè)所述數(shù)據(jù)卷的容量和存儲數(shù)據(jù)相同,為本地磁盤建立一存儲日志的日志卷,并將所有所述數(shù)據(jù)卷和所述日志卷加入同一卷組中;
[0028]所述備份模塊,用于通過LVM鏡像技術(shù),將所有所述數(shù)據(jù)卷和日志卷中的存儲數(shù)據(jù)備份到LVM鏡像中,分別得到鏡像數(shù)據(jù)卷和鏡像日志卷;
[0029]所述檢測模塊,用于檢測所述LVM鏡像的狀態(tài),若檢測存在未知鏡像數(shù)據(jù)卷,則確定所述未知鏡像數(shù)據(jù)卷對應(yīng)的未知數(shù)據(jù)卷和未知共享磁盤,將所述未知數(shù)據(jù)卷刪除,并在所述未知共享磁盤中建立一與所述未知數(shù)據(jù)卷容量相同的新數(shù)據(jù)卷,通過LVM鏡像技術(shù),將所述未知數(shù)據(jù)卷內(nèi)存儲數(shù)據(jù)恢復(fù)至所述新數(shù)據(jù)卷,用所述新數(shù)據(jù)卷替換所述未知數(shù)據(jù)卷。
[0030]其中,所述基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)中存儲設(shè)備高可用的裝置還包括:掛載識別模塊,用于在每個(gè)所述共享磁盤上均劃分一邏輯磁盤,每個(gè)所述邏輯磁盤的容量和存儲數(shù)據(jù)相同;將所有所述邏輯磁盤均映射到同一服務(wù)器的同一節(jié)點(diǎn)上;掃描所述服務(wù)器的光纖口或重啟所述服務(wù)器的所述節(jié)點(diǎn),使所述服務(wù)器對所有所述邏輯磁盤進(jìn)行識別。
[0031]其中,所述備份模塊包括:創(chuàng)建單元和掛載單元;其中,
[0032]所述創(chuàng)建單元,用于在所述卷組中創(chuàng)建LVM鏡像;
[0033]所述掛載單元,用于格式化所述LVM鏡像并將所述LVM鏡像掛載到預(yù)定本地目錄中。
[0034]基于上述技術(shù)方案,本發(fā)明實(shí)施例提供的基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)中存儲設(shè)備高可用的方法和裝置,所述存儲設(shè)備包括至少2個(gè)存儲數(shù)據(jù)相同的共享磁盤,其中方法包括為每個(gè)所述共享磁盤均建立一數(shù)據(jù)卷,每個(gè)所述數(shù)據(jù)卷的容量和存儲數(shù)據(jù)相同,為本地磁盤建立一存儲日志的日志卷,并將所有所述數(shù)據(jù)卷和所述日志卷加入同一卷組中;通過LVM鏡像技術(shù),將所有所述數(shù)據(jù)卷和日志卷中的存儲數(shù)據(jù)備份到LVM鏡像中,分別得到鏡像數(shù)據(jù)卷和鏡像日志卷;檢測所述LVM鏡像的狀態(tài),若檢測存在未知鏡像數(shù)據(jù)卷,則確定所述未知鏡像數(shù)據(jù)卷對應(yīng)的未知數(shù)據(jù)卷和未知共享磁盤,將所述未知數(shù)據(jù)卷刪除,并在所述未知共享磁盤中建立一與所述未知數(shù)據(jù)卷容量相同的新數(shù)據(jù)卷,通過LVM鏡像技術(shù),將所述未知數(shù)據(jù)卷內(nèi)存儲數(shù)據(jù)恢復(fù)至所述新數(shù)據(jù)卷,用所述新數(shù)據(jù)卷替換所述未知數(shù)據(jù)卷。存儲設(shè)備包括至少2個(gè)共享磁盤,每個(gè)共享磁盤的存儲數(shù)據(jù)相同,當(dāng)當(dāng)前正在使用的一個(gè)共享磁盤故障時(shí),可以立即使用其他的共享磁盤來存取需要的數(shù)據(jù),同時(shí)將不同的鏡像數(shù)據(jù)磁盤分布到不同的存儲設(shè)備,實(shí)現(xiàn)了硬件層面數(shù)據(jù)的冗余和硬件隔離,有效地解決了單點(diǎn)故障問題;同時(shí),運(yùn)用LVM鏡像技術(shù),當(dāng)檢測到某一共享磁盤內(nèi)數(shù)據(jù)出現(xiàn)故障不可用時(shí),可以迅速將該共享磁盤內(nèi)數(shù)據(jù)恢復(fù)可用,降低了故障處理及數(shù)據(jù)恢復(fù)的難度,保障了底層重要業(yè)務(wù)數(shù)據(jù)的冗余,進(jìn)而保證了上層業(yè)務(wù)的連續(xù)性,實(shí)現(xiàn)了存儲設(shè)備的高可用性;另外,使用LVM鏡像技術(shù),不需要單獨(dú)的去購買設(shè)備來解決存儲的高可用及單點(diǎn)故障問題,節(jié)省了硬件成本。
【附圖說明】
[0035]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0036]圖1為本發(fā)明實(shí)施例提供基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)中存儲設(shè)備尚可用的方法流程圖;
[0037]圖2為本發(fā)明實(shí)施例提供基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)中存儲設(shè)備高可用的方法中為每個(gè)共享磁盤均建立一數(shù)據(jù)卷的方法流程圖;
[0038]圖3為本發(fā)明實(shí)施例提供的基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)中存儲設(shè)備尚可用的方法中為本地磁盤建立一日志卷的方法流程圖;
[0039]圖4為本發(fā)明實(shí)施例提供基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)中存儲設(shè)備尚可用的方法中得到鏡像數(shù)據(jù)卷和鏡像日志卷的方法流程圖;
[0040]圖5為本發(fā)明實(shí)施例提供基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)中存儲設(shè)備高可用的方法中將未知數(shù)據(jù)卷內(nèi)存儲數(shù)據(jù)恢復(fù)至新數(shù)據(jù)卷的方法流程圖;
[0041]圖6為本發(fā)明實(shí)施例提供基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)中存儲設(shè)備高可用的裝置的系統(tǒng)框圖;
[0042]圖7為本發(fā)明實(shí)施例提供基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)中存儲設(shè)備高可用的裝置的另一系統(tǒng)框圖;
[0043]圖8為本發(fā)明實(shí)施例提供基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)中存儲設(shè)備高可用的裝置中備份模塊的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0044]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0045]圖1為本發(fā)明實(shí)施例提供的基于LVM鏡像實(shí)現(xiàn)Linux系統(tǒng)中存儲設(shè)備尚可用的方法流程圖,存儲設(shè)備包括至少2個(gè)共享磁盤,每個(gè)共享磁盤的存儲數(shù)據(jù)相同,有效地解決了單點(diǎn)故障問題,同時(shí),運(yùn)用