數(shù)據(jù)遷移方法、設(shè)備及數(shù)據(jù)節(jié)點(diǎn)服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用于云存儲(chǔ)系統(tǒng)中的數(shù)據(jù)遷移方法、設(shè)備及數(shù)據(jù)節(jié)點(diǎn)服務(wù)器。
【背景技術(shù)】
[0002]在云存儲(chǔ)系統(tǒng)中,由于數(shù)據(jù)節(jié)點(diǎn)服務(wù)器和數(shù)據(jù)節(jié)點(diǎn)服務(wù)器上的磁盤都有使用壽命,而且數(shù)據(jù)節(jié)點(diǎn)服務(wù)器和磁盤也可能發(fā)生其他不可預(yù)估的故障,因此,當(dāng)數(shù)據(jù)節(jié)點(diǎn)服務(wù)器或者磁盤發(fā)生故障時(shí),云存儲(chǔ)數(shù)據(jù)的完整性和獲取云存儲(chǔ)數(shù)據(jù)的及時(shí)性就無(wú)法得到有效的保障。在現(xiàn)有技術(shù)中,對(duì)上述情況的處理方式,如下所示:
[0003]當(dāng)磁盤損壞后,需要等到數(shù)據(jù)節(jié)點(diǎn)服務(wù)器向元數(shù)據(jù)服務(wù)器周期匯報(bào)磁盤個(gè)數(shù)及狀態(tài)等信息時(shí),元數(shù)據(jù)服務(wù)器才能識(shí)別磁盤故障信息并下發(fā)數(shù)據(jù)塊恢復(fù),從而造成數(shù)據(jù)塊恢復(fù)延遲;
[0004]當(dāng)數(shù)據(jù)節(jié)點(diǎn)服務(wù)器故障或數(shù)據(jù)節(jié)點(diǎn)服務(wù)器壓力過(guò)大后,將數(shù)據(jù)節(jié)點(diǎn)服務(wù)器上可用的磁盤拔出,再插入其它數(shù)據(jù)節(jié)點(diǎn)服務(wù)器。新的數(shù)據(jù)節(jié)點(diǎn)服務(wù)器必須重啟,插入的磁盤才能在云存儲(chǔ)系統(tǒng)中識(shí)別并生效,由于需要重啟機(jī)器,而重啟機(jī)器意味著該數(shù)據(jù)節(jié)點(diǎn)暫停服務(wù),無(wú)法保障數(shù)據(jù)節(jié)點(diǎn)服務(wù)器持續(xù)運(yùn)行;
[0005]當(dāng)插入全新的磁盤時(shí),需先對(duì)插入的新磁盤人工格式化,且重啟插入新磁盤的數(shù)據(jù)節(jié)點(diǎn)服務(wù)器,插入的新磁盤才能在云存儲(chǔ)系統(tǒng)中識(shí)別并生效。
[0006]綜上所述,現(xiàn)有技術(shù)不能及時(shí)發(fā)現(xiàn)磁盤插拔事件的發(fā)生,從而無(wú)法快速修復(fù)相應(yīng)的數(shù)據(jù)節(jié)點(diǎn)服務(wù)器,無(wú)法快速達(dá)到數(shù)據(jù)節(jié)點(diǎn)服務(wù)器之間的負(fù)載均衡,并且,數(shù)據(jù)節(jié)點(diǎn)服務(wù)器在發(fā)生磁盤插拔事件時(shí)不能及時(shí)將相應(yīng)的數(shù)據(jù)塊的元數(shù)據(jù)信息上報(bào)給元數(shù)據(jù)服務(wù)器,因此導(dǎo)致元數(shù)據(jù)服務(wù)器上數(shù)據(jù)塊的元數(shù)據(jù)信息不完整,不能達(dá)到和數(shù)據(jù)節(jié)點(diǎn)服務(wù)器之間的及時(shí)同步。
【發(fā)明內(nèi)容】
[0007]本發(fā)明實(shí)施例提供了一種應(yīng)用于云存儲(chǔ)系統(tǒng)中的數(shù)據(jù)遷移方法、設(shè)備及數(shù)據(jù)節(jié)點(diǎn)服務(wù)器,用以及時(shí)發(fā)現(xiàn)磁盤插拔事件的發(fā)生,從而實(shí)現(xiàn)數(shù)據(jù)節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)的迅速遷移,快速修復(fù)數(shù)據(jù)節(jié)點(diǎn)服務(wù)器,使數(shù)據(jù)節(jié)點(diǎn)服務(wù)器達(dá)到負(fù)載均衡,并且保證元數(shù)據(jù)服務(wù)器與數(shù)據(jù)節(jié)點(diǎn)服務(wù)器之間關(guān)于數(shù)據(jù)塊的元數(shù)據(jù)信息的同步;對(duì)插入的全新磁盤自動(dòng)識(shí)別、格式化,并使該磁盤及時(shí)生效,從而簡(jiǎn)化了操作流程,提高了靈活性。
[0008]本發(fā)明實(shí)施例提供的一種應(yīng)用于云存儲(chǔ)系統(tǒng)中的數(shù)據(jù)遷移方法,包括:
[0009]數(shù)據(jù)節(jié)點(diǎn)服務(wù)器實(shí)時(shí)檢測(cè)是否發(fā)生磁盤插拔事件,并對(duì)實(shí)時(shí)檢測(cè)得到的磁盤插拔事件進(jìn)行處理;
[0010]所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器根據(jù)處理結(jié)果判斷對(duì)磁盤插拔事件所對(duì)應(yīng)的磁盤是否向與該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器同屬于一個(gè)文件系統(tǒng)集群中的元數(shù)據(jù)服務(wù)器進(jìn)行數(shù)據(jù)塊的元數(shù)據(jù)信息的上報(bào)。
[0011]通過(guò)該方法,實(shí)現(xiàn)了及時(shí)發(fā)現(xiàn)磁盤插拔事件的發(fā)生,從而實(shí)現(xiàn)數(shù)據(jù)節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)的迅速遷移,快速修復(fù)數(shù)據(jù)節(jié)點(diǎn)服務(wù)器,并快速使數(shù)據(jù)節(jié)點(diǎn)服務(wù)器的負(fù)載、容量均衡,并且保證元數(shù)據(jù)服務(wù)器與數(shù)據(jù)節(jié)點(diǎn)服務(wù)器之間關(guān)于數(shù)據(jù)塊的元數(shù)據(jù)信息的同步。
[0012]較佳地,所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器對(duì)實(shí)時(shí)檢測(cè)得到的磁盤插拔事件進(jìn)行處理之前,還包括:
[0013]當(dāng)發(fā)生磁盤插拔事件時(shí),所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器將該磁盤插拔事件發(fā)送到等待就緒隊(duì)列中。
[0014]較佳地,所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器對(duì)實(shí)時(shí)檢測(cè)得到的磁盤插拔事件進(jìn)行處理,包括:
[0015]對(duì)于所述等待就緒隊(duì)列中的磁盤插入事件,所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器將該磁盤插入事件轉(zhuǎn)移至預(yù)設(shè)的磁盤上線隊(duì)列中,并對(duì)該磁盤上線隊(duì)列中的磁盤插入事件對(duì)應(yīng)的磁盤進(jìn)行上線處理。
[0016]較佳地,所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器根據(jù)處理結(jié)果判斷對(duì)磁盤插拔事件所對(duì)應(yīng)的磁盤是否向與該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器同屬于一個(gè)文件系統(tǒng)集群中的元數(shù)據(jù)服務(wù)器進(jìn)行數(shù)據(jù)塊的元數(shù)據(jù)信息的上報(bào),包括:
[0017]當(dāng)所述磁盤插入事件對(duì)應(yīng)的磁盤上線結(jié)果成功時(shí),判斷該磁盤是否屬于該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器所屬的文件系統(tǒng)集群;
[0018]當(dāng)該磁盤屬于該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器所屬的文件系統(tǒng)集群時(shí),所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器將該磁盤上存儲(chǔ)的數(shù)據(jù)塊的元數(shù)據(jù)信息上報(bào)給該文件系統(tǒng)集群中的元數(shù)據(jù)服務(wù)器。
[0019]較佳地,當(dāng)該磁盤不屬于該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器所屬的文件系統(tǒng)集群時(shí),若該磁盤為全新磁盤,則所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器對(duì)該磁盤進(jìn)行格式化,并將該磁盤加入所述文件系統(tǒng)集群。
[0020]較佳地,所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器對(duì)實(shí)時(shí)檢測(cè)得到的磁盤插拔事件進(jìn)行處理之前,還包括:
[0021]當(dāng)在所述等待就緒隊(duì)列中新加入一磁盤拔出事件時(shí),所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器從所述等待就緒隊(duì)列中刪除該磁盤拔出事件之前的同一槽位的所有磁盤插拔事件。
[0022]較佳地,所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器根據(jù)處理結(jié)果判斷對(duì)磁盤插拔事件所對(duì)應(yīng)的磁盤是否向與該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器同屬于一個(gè)文件系統(tǒng)集群中的元數(shù)據(jù)服務(wù)器進(jìn)行數(shù)據(jù)塊的元數(shù)據(jù)信息的上報(bào),包括:
[0023]對(duì)于所述等待就緒隊(duì)列中的磁盤拔出事件,所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器判斷該磁盤拔出事件發(fā)生在該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器的運(yùn)行過(guò)程中還是初始化過(guò)程中;
[0024]當(dāng)該磁盤拔出事件發(fā)生在該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器的運(yùn)行過(guò)程中時(shí),所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器將該磁盤拔出事件所對(duì)應(yīng)的磁盤上存儲(chǔ)的數(shù)據(jù)塊的元數(shù)據(jù)信息上報(bào)給與該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器同屬于一個(gè)文件系統(tǒng)集群中的元數(shù)據(jù)服務(wù)器。
[0025]較佳地,當(dāng)該磁盤拔出事件發(fā)生在該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器的初始化過(guò)程中時(shí),所述數(shù)據(jù)節(jié)點(diǎn)服務(wù)器將該磁盤拔出事件所對(duì)應(yīng)的磁盤以外的所有本地磁盤上存儲(chǔ)的數(shù)據(jù)塊的元數(shù)據(jù)信息上報(bào)給與該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器同屬于一個(gè)文件系統(tǒng)集群中的元數(shù)據(jù)服務(wù)器。
[0026]本發(fā)明實(shí)施例提供的一種應(yīng)用于云存儲(chǔ)系統(tǒng)中的數(shù)據(jù)遷移設(shè)備,包括:
[0027]磁盤插拔處理模塊,用于實(shí)時(shí)檢測(cè)數(shù)據(jù)節(jié)點(diǎn)服務(wù)器是否發(fā)生磁盤插拔事件,并對(duì)檢測(cè)得到的磁盤插拔事件進(jìn)行處理;
[0028]數(shù)據(jù)塊上報(bào)處理模塊,用于根據(jù)磁盤插拔處理模塊的處理結(jié)果,判斷對(duì)磁盤插拔事件所對(duì)應(yīng)的磁盤是否向與該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器同屬于一個(gè)文件系統(tǒng)集群中的元數(shù)據(jù)服務(wù)器進(jìn)行數(shù)據(jù)塊的元數(shù)據(jù)信息的上報(bào)。
[0029]通過(guò)該設(shè)備,實(shí)現(xiàn)了及時(shí)發(fā)現(xiàn)磁盤插拔事件的發(fā)生,從而實(shí)現(xiàn)數(shù)據(jù)節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)的迅速遷移,快速修復(fù)數(shù)據(jù)節(jié)點(diǎn)服務(wù)器,并快速使數(shù)據(jù)節(jié)點(diǎn)服務(wù)器的負(fù)載、容量均衡,并且保證元數(shù)據(jù)服務(wù)器與數(shù)據(jù)節(jié)點(diǎn)服務(wù)器之間關(guān)于數(shù)據(jù)塊的元數(shù)據(jù)信息的同步。
[0030]較佳地,所述磁盤插拔處理模塊,還用于:
[0031]對(duì)實(shí)時(shí)檢測(cè)得到的磁盤插拔事件進(jìn)行處理之前,將該磁盤插拔事件發(fā)送到等待就緒隊(duì)列中。
[0032]較佳地,所述磁盤插拔處理模塊在對(duì)實(shí)時(shí)檢測(cè)得到的磁盤插拔事件進(jìn)行處理時(shí),具體用于:
[0033]對(duì)于所述等待就緒隊(duì)列中的磁盤插入事件,將該磁盤插入事件轉(zhuǎn)移至預(yù)設(shè)的磁盤上線隊(duì)列中,并所述磁盤插入事件對(duì)應(yīng)的磁盤進(jìn)行上線處理。
[0034]較佳地,所述數(shù)據(jù)塊上報(bào)處理模塊在根據(jù)磁盤插拔處理模塊的處理結(jié)果,判斷對(duì)磁盤插拔事件所對(duì)應(yīng)的磁盤是否向與該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器同屬于一個(gè)文件系統(tǒng)集群中的元數(shù)據(jù)服務(wù)器進(jìn)行數(shù)據(jù)塊的元數(shù)據(jù)信息的上報(bào)時(shí),具體用于:
[0035]當(dāng)所述磁盤插入事件對(duì)應(yīng)的磁盤上線結(jié)果成功時(shí),判斷該磁盤是否屬于該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器所屬的文件系統(tǒng)集群;
[0036]當(dāng)該磁盤屬于該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器所屬的文件系統(tǒng)集群時(shí),將該磁盤上存儲(chǔ)的數(shù)據(jù)塊的元數(shù)據(jù)信息上報(bào)給該文件系統(tǒng)集群中的元數(shù)據(jù)服務(wù)器。
[0037]較佳地,當(dāng)該磁盤不屬于該數(shù)據(jù)節(jié)點(diǎn)服務(wù)器所屬的文件系統(tǒng)集群,且該磁盤為全新磁盤時(shí),所述數(shù)據(jù)塊上報(bào)處理模塊觸發(fā)所述磁盤插拔處理模塊對(duì)該磁盤進(jìn)行格式化,并將該磁盤加入所述文件系統(tǒng)集群。
[0038]較佳地,所述磁盤插拔處理模塊,還用于:
[0039]當(dāng)在所述等待就緒隊(duì)列中新加入一磁盤拔出事件時(shí),從所述等待就緒隊(duì)列中刪除該磁盤拔出事件之前的同一槽位的所有磁盤插拔事件。
[00