雙元數(shù)據(jù)服務器的管理方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種雙元數(shù)據(jù)服務器的管理方法和裝置,其中,每個元數(shù)據(jù)服務器包括主列表和從列表,該管理方法包括:元數(shù)據(jù)服務器將接收到的信息存儲到自身的主列表中,并將該信息同步到另一個服務器的從列表中;每個元數(shù)據(jù)服務器根據(jù)存儲的主列表中的信息對副本進行操作。本發(fā)明通過采用主備模式實現(xiàn)了雙元數(shù)據(jù)服務器的系統(tǒng),并且每個元數(shù)據(jù)服務器都根據(jù)各自的主列表中的信息對副本進行操作,能夠在提高系統(tǒng)的服務能力,此外,在元數(shù)據(jù)服務器中備份另一個元數(shù)據(jù)服務器的信息,能夠增強系統(tǒng)的容錯能力,簡化主備模式的雙元數(shù)據(jù)服務器系統(tǒng)的管理方式。
【專利說明】雙元數(shù)據(jù)服務器的管理方法和裝置
【技術領域】
[0001]本發(fā)明涉及計算機領域,并且特別地,涉及一種雙元數(shù)據(jù)服務器的管理方法和裝置。
【背景技術】
[0002]對象服務的系統(tǒng)中,一般采用多副本的方式存儲對象,同一對象的不同副本存儲在不同OSD (Object-based Storage Device,基于對象的存儲設備)上,多副本的存儲方式有利于增強系統(tǒng)的容錯能力。數(shù)據(jù)的元數(shù)據(jù)存儲在MDS(Metadata Server,元數(shù)據(jù)服務器)上,MDS作為分布式系統(tǒng)中重要的元數(shù)據(jù)服務器,在應用中一般通過主備模式來實現(xiàn)容錯機制,或者也可采用互為主備的模式,提高系統(tǒng)的服務能力。當主MDS宕機,可以由備MDS進行接管,再次啟動宕機的主MDS,控制權從備MDS轉(zhuǎn)移回去主MDS。
[0003]現(xiàn)有技術中,采用單個MDS的系統(tǒng)的元數(shù)據(jù)存儲方面容錯能力較低,因此為了提高系統(tǒng)的容錯能力,會采用主備方式的MDS,但是此方法系統(tǒng)的服務能力不高,而現(xiàn)有技術中采用互為主備的兩個MDS具有較高的復雜度,難以實現(xiàn)。
[0004]針對相關技術中系統(tǒng)的服務能力和容錯能力低不能兼得的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]針對相關技術中系統(tǒng)的服務能力和容錯能力低不能兼得的問題,本發(fā)明提出一種雙元數(shù)據(jù)服務器的管理方法和裝置,能夠在提高系統(tǒng)的服務能力的同時,增強系統(tǒng)的容錯能力。
[0006]本發(fā)明的技術方案是這樣實現(xiàn)的:
[0007]根據(jù)本發(fā)明的一個方面,提供了一種雙元數(shù)據(jù)服務器的管理方法,每個元數(shù)據(jù)服務器包括主列表和從列表。
[0008]上述管理方法包括:
[0009]元數(shù)據(jù)服務器將接收到的信息存儲到自身的主列表中,并將該信息同步到另一個服務器的從列表中;
[0010]每個元數(shù)據(jù)服務器根據(jù)存儲的主列表中的信息對副本進行操作。
[0011]此外,上述管理方法進一步包括:
[0012]在一個元數(shù)據(jù)服務器出現(xiàn)故障的情況下,另一元數(shù)據(jù)服務器根據(jù)存儲的從列表接管出現(xiàn)故障的元數(shù)據(jù)服務器的任務。
[0013]并且,上述管理方法進一步包括:
[0014]在出現(xiàn)故障的元數(shù)據(jù)服務器恢復的情況下,另一元數(shù)據(jù)服務器對該恢復的元數(shù)據(jù)服務器進行數(shù)據(jù)同步。
[0015]優(yōu)選地,每個元數(shù)據(jù)服務器根據(jù)存儲的主列表中的信息對副本進行操作包括:
[0016]每個元數(shù)據(jù)服務器根據(jù)當前主副本對出現(xiàn)故障的從副本進行數(shù)據(jù)同步。[0017]可選地,在出現(xiàn)故障的副本為主副本的情況下,選擇從副本作為當前主副本;
[0018]根據(jù)該當前主副本對出現(xiàn)故障的主副本進行數(shù)據(jù)同步。
[0019]并且,進一步包括:
[0020]元數(shù)據(jù)服務器根據(jù)上報的故障信息建立故障對象的索引文件;
[0021]元數(shù)據(jù)服務器遍歷索引文件,查詢根據(jù)故障對象所在的文件的當前狀態(tài)確定是否進行對象修復。
[0022]根據(jù)本發(fā)明的一個方面,提供了一種雙元數(shù)據(jù)服務器的管理裝置,每個元數(shù)據(jù)服務器包括主列表和從列表。
[0023]該管理裝置包括:
[0024]存儲模塊,位于每個元數(shù)據(jù)服務器內(nèi),用于將接收到的信息存儲到元數(shù)據(jù)服務器的主列表中,存儲模塊還用于將該信息同步到另一個服務器的從列表中;
[0025]操作模塊,位于每個元數(shù)據(jù)服務器內(nèi),用于根據(jù)存儲的主列表中的信息對副本進行操作。
[0026]此外,上述管理裝置進一步包括:
[0027]任務接管模塊,位于每個元數(shù)據(jù)服務器內(nèi),在一個元數(shù)據(jù)服務器出現(xiàn)故障的情況下,另一元數(shù)據(jù)服務器的任務接管模塊用于根據(jù)所在元數(shù)據(jù)服務器中存儲的從列表接管出現(xiàn)故障的元數(shù)據(jù)服務器的任務。
[0028]并且,上述管理裝置進一步包括:
[0029]數(shù)據(jù)同步模塊,位于每個元數(shù)據(jù)服務器內(nèi),在出現(xiàn)故障的元數(shù)據(jù)服務器恢復的情況下,另一元數(shù)據(jù)服務器的數(shù)據(jù)同步模塊對該恢復的元數(shù)據(jù)服務器進行數(shù)據(jù)同步。
[0030]優(yōu)選地,操作模塊進一步用于根據(jù)當前主副本對出現(xiàn)故障的從副本進行數(shù)據(jù)同
止/J/ O
[0031]本發(fā)明通過采用主備模式實現(xiàn)了雙元數(shù)據(jù)服務器的系統(tǒng),并且每個元數(shù)據(jù)服務器都根據(jù)各自的主列表中的信息對副本進行操作,能夠在提高系統(tǒng)的服務能力,此外,在元數(shù)據(jù)服務器中備份另一個元數(shù)據(jù)服務器的信息,能夠增強系統(tǒng)的容錯能力,簡化主備模式的雙元數(shù)據(jù)服務器系統(tǒng)的管理方式。
【專利附圖】
【附圖說明】
[0032]圖1是根據(jù)本發(fā)明實施例的雙元數(shù)據(jù)服務器的管理方法的流程圖;
[0033]圖2是根據(jù)本發(fā)明實施例在雙元數(shù)據(jù)服務器系統(tǒng)中修復從副本故障的示意圖;
[0034]圖3是根據(jù)本發(fā)明實施例的在雙元數(shù)據(jù)服務器系統(tǒng)中進行數(shù)據(jù)修復的示意圖;
[0035]圖4是根據(jù)本發(fā)明實施例在主MDS宕機情況下對系統(tǒng)進行管理的示意圖;
[0036]圖5是根據(jù)本發(fā)明實施例的雙元數(shù)據(jù)服務器的管理裝置的框圖。
【具體實施方式】
[0037]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。[0038]根據(jù)本發(fā)明的實施例,提供了一種雙元數(shù)據(jù)服務器的管理方法,每個元數(shù)據(jù)服務器包括主列表和從列表。
[0039]如圖1所示,根據(jù)本發(fā)明實施例的管理方法包括:
[0040]步驟S101,元數(shù)據(jù)服務器將接收到的信息存儲到自身的主列表中,并將該信息同步到另一個服務器的從列表中;
[0041]步驟S103,每個元數(shù)據(jù)服務器根據(jù)存儲的主列表中的信息對副本進行操作,優(yōu)選地,每個元數(shù)據(jù)服務器根據(jù)當前主副本對出現(xiàn)故障的從副本進行數(shù)據(jù)同步。
[0042]此外,根據(jù)本發(fā)明實施例的管理方法可以在一個元數(shù)據(jù)服務器出現(xiàn)故障的情況下,另一元數(shù)據(jù)服務器根據(jù)存儲的從列表接管出現(xiàn)故障的元數(shù)據(jù)服務器的任務。此外,在出現(xiàn)故障的元數(shù)據(jù)服務器恢復的情況下,另一元數(shù)據(jù)服務器對該恢復的元數(shù)據(jù)服務器進行數(shù)據(jù)同步。
[0043]可選地,在出現(xiàn)故障的副本為主副本的情況下,選擇從副本作為當前主副本,其中,可以根據(jù)從副本的當前狀態(tài),或是從副本所在的OSD的性能等方面進行新主副本的選擇;根據(jù)該當前主副本對出現(xiàn)故障的主副本進行數(shù)據(jù)同步。
[0044]并且,根據(jù)本發(fā)明實施例的管理方法可以進一步元數(shù)據(jù)服務器根據(jù)上報的故障信息建立故障對象的索引文件;元數(shù)據(jù)服務器遍歷索引文件,查詢根據(jù)故障對象所在的文件的當前狀態(tài)確定是否進行對象修復。
[0045]根據(jù)本發(fā)明的一個實施例,提供了一種雙元數(shù)據(jù)服務器的管理方法。具體包括以下方面:采用固定大小(例如,64MB)的對象存儲文件,其中,文件的元數(shù)據(jù)存放在兩個MDS上,兩個MDS采用互為備份的方式,兩個MDS上可以以不同的方式存儲相同的元數(shù)據(jù),每個MDS具有主列表和從列表,系統(tǒng)可以將系統(tǒng)中的任務根據(jù)本領域公知的任務分配方法分配到兩個MDS上,主列表中存儲的信息為分配到本機上的任務,而從列表中的信息為另一 MDS的主列表中的信息。對象存儲在OSD上,對象的多副本采用主從的方式進行存儲,即,不同的副本存儲在不同的OSD上。
[0046]在對象的多個副本出現(xiàn)故障或不一致時,主副本將故障信息上報MDS(可以將該故障信息分配的MDS作為主MDS,將另一 MDS稱為備份MDS),MDS記錄到本地同時記錄到備份MDS上;正常情況下,主MDS負責處理對象的修復,當主MDS宕機時,備MDS根據(jù)從列表替代主MDS負責對象的修復,通過這樣的方式能夠在只存在一份元數(shù)據(jù)和一份數(shù)據(jù)副本的情況下,能順利完成正常操作和數(shù)據(jù)修復。
[0047]在外部數(shù)據(jù)交互過程中,用戶通過客戶端與系統(tǒng)進行數(shù)據(jù)讀寫,客戶端提供通用文件系統(tǒng)接口,用戶使用時與本地文件系統(tǒng)沒有區(qū)別。
[0048]在內(nèi)部數(shù)據(jù)交互過程中,客戶端向MDS獲取對象的存儲信息,如果對象不存在,則MDS負責創(chuàng)建新對象,客戶端向OSD發(fā)起操作請求;0SD響應客戶端的請求,如果是修改操作,則主副本將請求轉(zhuǎn)發(fā)給從副本,即,對副本進行同步操作。
[0049]在對象修復過程中,MDS定期遍歷故障對象索引文件,查詢inode (故障對象所在的文件)中對象的最新信息,如果對象存在故障副本,則通知OSD進行對象修復,OSD修復完成后,通知MDS更新對象副本的狀態(tài)信息,并在故障對象索引文件中刪除該對象的記錄。
[0050]當一個MDS宕機時,另一個MDS除了修復自身的對象外,需要讀取自身的從列表中為另一個MDS備份的故障對象的信息,發(fā)給主0SD,在主OSD修復完成后,報告?zhèn)浞軲DS修復完成,備份MDS記錄到inode中,待宕機的MDS重啟后,由另一個MDS根據(jù)系統(tǒng)的一致性機制對重啟的MDS進行元數(shù)據(jù)同步。
[0051]根據(jù)本發(fā)明的另一個實施例,提供了一種雙元數(shù)據(jù)服務器中從副本故障的的修復方法。如圖2所示,1.主副本操作從副本;2.從副本返回操作失敗的信息,主副本發(fā)現(xiàn)從副本出錯,或者,在未示出的實施例中,可以通過主從副本間的心跳機制等方式來判斷出錯的從副本;3.主副本向主MDS報告從副本的故障信息,主MDS在主列表中記錄對象的從副本故障;4.主MDS將從副本的故障信息同步到備MDS的從列表中;5.主MDS應答主OSD ;6.主MDS應答對象的主副本,然后,可以通過主副本對出現(xiàn)故障的從副本進行數(shù)據(jù)同步。
[0052]根據(jù)本發(fā)明的另一個實施例,提供了一種雙元數(shù)據(jù)服務器時的數(shù)據(jù)修復過程。如圖3所示,1.主MDS通知主副本,對從副本進行修復;2.主副本對從副本進行修復;3.在主副本對從副本修復完成后,從副本應答王副本;4.王副本應答王MDS。此外,未在圖中不出,主MDS對備MDS的同步操作,僅示出了主MDS對數(shù)據(jù)進行修復的過程。
[0053]根據(jù)本發(fā)明的另一個實施例,提供了一種在主MDS宕機情況下對象的修復方法。如圖4所示,在主MDS宕機的情況下,備MDS根據(jù)自身的從列表接管主MDS的業(yè)務,其下的過程包括:1.備MDS通知主副本對從副本進行對象修復;2.主副本對從副本進行修復;3.對象修復完成后,應答主副本;4.主副本對備MDS進行應答。圖中未示出,當主MDS恢復后,備MDS根據(jù)系統(tǒng)的一致性機制對恢復后的主MDS進行數(shù)據(jù)同步,然后將主MDS的業(yè)務轉(zhuǎn)移回去。
[0054]根據(jù)本發(fā)明的一個實施例,提供了一種雙元數(shù)據(jù)服務器的管理裝置,每個元數(shù)據(jù)服務器包括主列表和從列表。
[0055]如圖5所示,根據(jù)本發(fā)明實施例的管理裝置包括:
[0056]存儲模塊51,位于每個元數(shù)據(jù)服務器內(nèi),用于將接收到的信息存儲到元數(shù)據(jù)服務器的主列表中,存儲模塊還用于將該信息同步到另一個服務器的從列表中;
[0057]操作模塊52,位于每個元數(shù)據(jù)服務器內(nèi),用于根據(jù)存儲的主列表中的信息對副本進行操作。
[0058]此外,根據(jù)本發(fā)明實施例的管理裝置進一步包括:
[0059]任務接管模塊(未示出),位于每個元數(shù)據(jù)服務器內(nèi),在一個元數(shù)據(jù)服務器出現(xiàn)故障的情況下,另一元數(shù)據(jù)服務器的任務接管模塊用于根據(jù)所在元數(shù)據(jù)服務器中存儲的從列表接管出現(xiàn)故障的元數(shù)據(jù)服務器的任務。
[0060]并且,根據(jù)本發(fā)明實施例的管理裝置進一步包括:
[0061]數(shù)據(jù)同步模塊(未示出),位于每個元數(shù)據(jù)服務器內(nèi),在出現(xiàn)故障的元數(shù)據(jù)服務器恢復的情況下,另一元數(shù)據(jù)服務器的數(shù)據(jù)同步模塊對該恢復的元數(shù)據(jù)服務器進行數(shù)據(jù)同
止/J/ O
[0062]優(yōu)選地,操作模塊52進一步用于根據(jù)當前主副本對出現(xiàn)故障的從副本進行數(shù)據(jù)同步。
[0063]綜上所述,借助于本發(fā)明的上述技術方案,本發(fā)明通過采用主備模式實現(xiàn)了雙元數(shù)據(jù)服務器的系統(tǒng),并且每個元數(shù)據(jù)服務器都根據(jù)各自的主列表中的信息對副本進行操作,能夠在提高系統(tǒng)的服務能力,此外,在元數(shù)據(jù)服務器中備份另一個元數(shù)據(jù)服務器的信息,能夠增強系統(tǒng)的容錯能力,簡化主備模式的雙元數(shù)據(jù)服務器系統(tǒng)的管理方式。[0064]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權利要求】
1.一種雙元數(shù)據(jù)服務器的管理方法,其特征在于,每個元數(shù)據(jù)服務器包括主列表和從列表,所述管理方法包括: 元數(shù)據(jù)服務器將接收到的信息存儲到自身的主列表中,并將該信息同步到另一個服務器的從列表中; 每個元數(shù)據(jù)服務器根據(jù)存儲的主列表中的信息對副本進行操作。
2.根據(jù)權利要求1所述的管理方法,其特征在于,進一步包括: 在一個元數(shù)據(jù)服務器出現(xiàn)故障的情況下,另一元數(shù)據(jù)服務器根據(jù)存儲的從列表接管出現(xiàn)故障的元數(shù)據(jù)服務器的任務。
3.根據(jù)權利要求2所述的管理方法,其特征在于,進一步包括: 在出現(xiàn)故障的元數(shù)據(jù)服務器恢復的情況下,另一元數(shù)據(jù)服務器對該恢復的元數(shù)據(jù)服務器進行數(shù)據(jù)同步。
4.根據(jù)權利要求1所述的管理方法,其特征在于,每個元數(shù)據(jù)服務器根據(jù)存儲的主列表中的信息對副本進行操作包括: 每個元數(shù)據(jù)服務器根據(jù)當前主副本對出現(xiàn)故障的從副本進行數(shù)據(jù)同步。
5.根據(jù)權利要求4所述的管理方法,其特征在于,在出現(xiàn)故障的副本為主副本的情況下,選擇從副本作為當前主副本; 根據(jù)該當前主副本對出現(xiàn)故障的主副本進行數(shù)據(jù)同步。
6.根據(jù)權利要求1所述的管理方法,其特征在于,進一步包括: 元數(shù)據(jù)服務器根據(jù)上報的故障信息建立故障對象的索引文件; 元數(shù)據(jù)服務器遍歷所述索引文件,查詢根據(jù)所述故障對象所在的文件的當前狀態(tài)確定是否進行對象修復。
7.—種雙元數(shù)據(jù)服務器的管理裝置,其特征在于,每個元數(shù)據(jù)服務器包括主列表和從列表,所述管理裝置包括: 存儲模塊,位于每個元數(shù)據(jù)服務器內(nèi),用于將接收到的信息存儲到元數(shù)據(jù)服務器的主列表中,所述存儲模塊還用于將該信息同步到另一個服務器的從列表中; 操作模塊,位于每個元數(shù)據(jù)服務器內(nèi),用于根據(jù)存儲的主列表中的信息對副本進行操作。
8.根據(jù)權利要求7所述的管理裝置,其特征在于,進一步包括: 任務接管模塊,位于每個元數(shù)據(jù)服務器內(nèi),在一個元數(shù)據(jù)服務器出現(xiàn)故障的情況下,另一元數(shù)據(jù)服務器的任務接管模塊用于根據(jù)所在元數(shù)據(jù)服務器中存儲的從列表接管出現(xiàn)故障的元數(shù)據(jù)服務器的任務。
9.根據(jù)權利要求8所述的管理裝置,其特征在于,進一步包括: 數(shù)據(jù)同步模塊,位于每個元數(shù)據(jù)服務器內(nèi),在出現(xiàn)故障的元數(shù)據(jù)服務器恢復的情況下,另一元數(shù)據(jù)服務器的數(shù)據(jù)同步模塊對該恢復的元數(shù)據(jù)服務器進行數(shù)據(jù)同步。
10.根據(jù)權利要求7所述的管理裝置,其特征在于,所述操作模塊進一步用于根據(jù)當前主副本對出現(xiàn)故障的從副本進行數(shù)據(jù)同步。
【文檔編號】G06F11/16GK103544081SQ201310505078
【公開日】2014年1月29日 申請日期:2013年10月23日 優(yōu)先權日:2013年10月23日
【發(fā)明者】付根希, 姜國梁, 彭成, 楊浩, 苗艷超 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司