一種數(shù)據(jù)搶救方法及文件服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)搶救方法及文件服務(wù)器。
【背景技術(shù)】
[0002]在當(dāng)今信息時(shí)代,通過文件系統(tǒng)存儲(chǔ)和管理的數(shù)據(jù)成指數(shù)倍增長(zhǎng),為了有效地存儲(chǔ)和管理數(shù)據(jù),分布式文件系統(tǒng)將固定于一個(gè)物理地點(diǎn)的文件系統(tǒng),擴(kuò)展到多個(gè)物理地點(diǎn),從而組成一個(gè)文件系統(tǒng)網(wǎng)絡(luò),并通過網(wǎng)絡(luò)進(jìn)行不同物理地點(diǎn)間的通信和數(shù)據(jù)傳輸。參見圖1,每個(gè)物理地點(diǎn)的文件服務(wù)器可以管理一塊或多塊磁盤,其中的磁盤包括數(shù)據(jù)盤和校驗(yàn)盤。
[0003]分布式文件系統(tǒng)中的系統(tǒng)數(shù)據(jù)一般由數(shù)據(jù)磁盤和校驗(yàn)磁盤共同保存。當(dāng)超出校驗(yàn)數(shù)量的磁盤出現(xiàn)故障時(shí),分布式文件系統(tǒng)中的系統(tǒng)數(shù)據(jù)會(huì)丟失。此時(shí),需要及時(shí)搶救故障盤,并根據(jù)已搶救的故障盤中的數(shù)據(jù)以及分布式文件系統(tǒng)中剩余的非故障盤中的數(shù)據(jù),搶救分布式文件系統(tǒng)中的系統(tǒng)數(shù)據(jù)。
[0004]磁盤中的數(shù)據(jù)邏輯上可以劃分為管理元數(shù)據(jù)、目錄和文件三個(gè)層級(jí),參見圖2,其中的管理元數(shù)據(jù)是指磁盤的管理信息,用于提供關(guān)于資源或數(shù)據(jù)的一種結(jié)構(gòu)化的數(shù)據(jù),是對(duì)數(shù)據(jù)結(jié)構(gòu)化的描述,例如可以包括根目錄信息、磁盤空間管理信息等。當(dāng)磁盤出現(xiàn)故障時(shí),通常需要將故障盤中的數(shù)據(jù)掃描后拷貝到另一個(gè)新磁盤,以搶救故障盤中的數(shù)據(jù)。掃描過程需要不停地根據(jù)故障盤中的管理元數(shù)據(jù)解析目錄與故障盤位置的對(duì)應(yīng)關(guān)系,并根據(jù)目錄解析文件與故障盤位置的對(duì)應(yīng)關(guān)系,從而將文件拷貝至新磁盤。
[0005]上述復(fù)雜的文件解析過程使得數(shù)據(jù)拷貝速度慢,從而導(dǎo)致故障盤搶救速度慢,并且也進(jìn)一步導(dǎo)致了分布式文件系統(tǒng)中的系統(tǒng)數(shù)據(jù)的搶救速度慢。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例提供一種數(shù)據(jù)搶救方法及文件服務(wù)器,能夠解決現(xiàn)有技術(shù)中在將故障盤中的數(shù)據(jù)拷貝到新磁盤時(shí),由于需要進(jìn)行文件解析使得拷貝速度慢,從而導(dǎo)致故障盤搶救速度慢的問題。
[0007]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0008]第一方面,提供一種數(shù)據(jù)搶救方法,包括:
[0009]當(dāng)需要搶救故障盤中的數(shù)據(jù)時(shí),在新磁盤中創(chuàng)建管理元數(shù)據(jù),所述管理元數(shù)據(jù)為所述新磁盤的管理信息;
[0010]將所述故障盤中的節(jié)點(diǎn)數(shù)據(jù)塊拷貝至所述新磁盤,所述節(jié)點(diǎn)數(shù)據(jù)塊包括目錄數(shù)據(jù)塊或文件數(shù)據(jù)塊;
[0011]將從所述故障盤拷貝至所述新磁盤的節(jié)點(diǎn)數(shù)據(jù)塊掛載到所述新磁盤的管理元數(shù)據(jù)上。
[0012]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述管理元數(shù)據(jù)包括根目錄信息和磁盤管理信息。
[0013]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述節(jié)點(diǎn)數(shù)據(jù)塊包括描述符和數(shù)據(jù)內(nèi)容,所述描述符占用的存儲(chǔ)空間為預(yù)設(shè)字節(jié)數(shù),所述描述符包括起始標(biāo)識(shí)和第一字節(jié)數(shù),所述起始標(biāo)識(shí)位于所述描述符的頭部,用于指示所述節(jié)點(diǎn)數(shù)據(jù)塊的起始位置,所述第一字節(jié)數(shù)用于指示所述數(shù)據(jù)內(nèi)容占用的字節(jié)數(shù)量。
[0014]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述將所述故障盤中的節(jié)點(diǎn)數(shù)據(jù)塊拷貝至所述新磁盤包括:
[0015]在所述故障盤中查找所述起始標(biāo)識(shí);
[0016]從所述描述符的頭部開始,將所述預(yù)設(shè)字節(jié)數(shù)的描述符和所述第一字節(jié)數(shù)的數(shù)據(jù)內(nèi)容拷貝至所述新磁盤。
[0017]結(jié)合第一方面的第二或第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述描述符為索引節(jié)點(diǎn)inode。
[0018]結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,在第一方面的第五種可能的實(shí)現(xiàn)方式中,所述起始標(biāo)識(shí)為魔數(shù)字。
[0019]結(jié)合第一方面至第一方面的第五種可能的實(shí)現(xiàn)方式中的任意一種,在第一方面的第六種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0020]將所述新磁盤加入搶救磁盤池;
[0021 ] 將所述新磁盤中的數(shù)據(jù)拷貝至所述業(yè)務(wù)磁盤池中的業(yè)務(wù)磁盤。
[0022]結(jié)合第一方面至第一方面的第五種可能的實(shí)現(xiàn)方式中的任意一種,在第一方面的第七種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0023]將所述新磁盤中的數(shù)據(jù)發(fā)送給其它文件服務(wù)器。
[0024]結(jié)合第一方面至第一方面的第七種可能的實(shí)現(xiàn)方式中的任意一種,在第一方面的第八種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0025]接收其它文件服務(wù)器發(fā)送的數(shù)據(jù);
[0026]將所述數(shù)據(jù)保存至所述業(yè)務(wù)磁盤池中的業(yè)務(wù)磁盤。
[0027]第二方面,提供一種文件服務(wù)器,包括:
[0028]創(chuàng)建單元,用于當(dāng)需要搶救故障盤中的數(shù)據(jù)時(shí),在新磁盤中創(chuàng)建管理元數(shù)據(jù),所述管理元數(shù)據(jù)為所述新磁盤的管理信息;
[0029]拷貝單元,用于將所述故障盤中的節(jié)點(diǎn)數(shù)據(jù)塊拷貝至所述新磁盤,所述節(jié)點(diǎn)數(shù)據(jù)塊包括目錄數(shù)據(jù)塊或文件數(shù)據(jù)塊;
[0030]掛載單元,用于將從所述故障盤拷貝至所述新磁盤的節(jié)點(diǎn)數(shù)據(jù)塊掛載到所述新磁盤的管理元數(shù)據(jù)上。
[0031]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述管理元數(shù)據(jù)包括根目錄信息和磁盤管理信息。
[0032]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述節(jié)點(diǎn)數(shù)據(jù)塊包括描述符和數(shù)據(jù)內(nèi)容,所述描述符占用的存儲(chǔ)空間為預(yù)設(shè)字節(jié)數(shù),所述描述符包括起始標(biāo)識(shí)和第一字節(jié)數(shù),所述起始標(biāo)識(shí)位于所述描述符的頭部,用于指示所述節(jié)點(diǎn)數(shù)據(jù)塊的起始位置,所述第一字節(jié)數(shù)用于指示所述數(shù)據(jù)內(nèi)容占用的字節(jié)數(shù)量。
[0033]結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述拷貝單元具體用于:
[0034]在所述故障盤中查找所述起始標(biāo)識(shí);
[0035]從所述描述符的頭部開始,將所述預(yù)設(shè)字節(jié)數(shù)的描述符和所述第一字節(jié)數(shù)的數(shù)據(jù)內(nèi)容拷貝至所述新磁盤。
[0036]結(jié)合第二方面的第二或第三種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述描述符為索引節(jié)點(diǎn)inode。
[0037]結(jié)合第二方面的第四種可能的實(shí)現(xiàn)方式中,在第二方面的第五種可能的實(shí)現(xiàn)方式中,所述起始標(biāo)識(shí)為魔數(shù)字。
[0038]結(jié)合第二方面至第二方面的第五種可能的實(shí)現(xiàn)方式中的任意一種,在第二方面的第六種可能的實(shí)現(xiàn)方式中,還包括:
[0039]第一處理單元,用于將所述新磁盤加入搶救磁盤池;
[0040]所述拷貝單元還用于,將所述新磁盤中的數(shù)據(jù)拷貝至所述業(yè)務(wù)磁盤池中的業(yè)務(wù)磁盤。
[0041]結(jié)合第二方面至第二方面的第五種可能的實(shí)現(xiàn)方式中的任意一種,在第二方面的第七種可能的實(shí)現(xiàn)方式中,還包括:
[0042]發(fā)送單元,用于將所述新磁盤中的數(shù)據(jù)發(fā)送給其它文件服務(wù)器。
[0043]結(jié)合第二方面至第二方面的第七種可能的實(shí)現(xiàn)方式中的任意一種,在第二方面的第八種可能的實(shí)現(xiàn)方式中,還包括:
[0044]接收單元,用于接收其它文件服務(wù)器發(fā)送的數(shù)據(jù);
[0045]第二處理單元,用于將所述接收單元接收的所述數(shù)據(jù)保存至所述業(yè)務(wù)磁盤池中的業(yè)務(wù)磁盤。
[0046]本發(fā)明實(shí)施例提供一種數(shù)據(jù)搶救方法及文件服務(wù)器,在需要搶救故障盤中的數(shù)據(jù)時(shí),通過在新磁盤中創(chuàng)建管理元數(shù)據(jù),并將故障盤中的節(jié)點(diǎn)數(shù)據(jù)塊拷貝至新磁盤,而后將從故障盤拷貝至新磁盤的節(jié)點(diǎn)數(shù)據(jù)塊掛載到新磁盤的管理元數(shù)據(jù)上,從而將故障盤中的數(shù)據(jù)恢復(fù)至新磁盤,因而避免了現(xiàn)有技術(shù)中復(fù)雜的文件解析過程,提高了故障盤的搶救速度。因此,能夠解決現(xiàn)有技術(shù)中在將故障盤中的數(shù)據(jù)拷貝到新磁盤時(shí),由于需要進(jìn)行文件解析使得拷貝速度慢,從而導(dǎo)致故障盤搶救速度慢的問題。
【附圖說明】
[0047]為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0048]圖1為本發(fā)明實(shí)施例提供的一種分布式文件系統(tǒng)結(jié)構(gòu)示意圖;
[0049]圖2為本發(fā)明實(shí)施例提供的一種磁盤邏輯結(jié)構(gòu)示意圖;
[0050]圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)搶救方法流程示意圖;
[0051]圖4為本發(fā)明實(shí)施例提供的一種磁盤管理結(jié)構(gòu)示意圖;
[0052]圖5為本發(fā)明實(shí)施例提供的一種磁盤數(shù)據(jù)存放結(jié)構(gòu)示意圖;
[0053]圖6為本發(fā)明實(shí)施例提供的一種將故障盤中的節(jié)點(diǎn)數(shù)據(jù)塊拷貝至新磁盤的示意圖;
[0054]圖7為本發(fā)明實(shí)施例提供的一種節(jié)點(diǎn)數(shù)據(jù)塊的結(jié)構(gòu)示意圖;
[0055]圖8為本發(fā)明實(shí)施例提供的一種磁盤數(shù)據(jù)的邏輯結(jié)構(gòu)示意圖;
[0056]圖9為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)搶救方法流程示意圖;
[0057]圖10為本發(fā)明實(shí)施例提供的一種業(yè)務(wù)磁盤池和搶救磁盤池分布示意圖;
[0058]圖11為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)搶救方法流程示意圖;
[0059]圖12為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)搶救方法流程示意圖;
[0060]圖13為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)搶救方法流程示意圖;
[0061]圖14為本發(fā)明實(shí)施例提供的一種文件服務(wù)器結(jié)構(gòu)