專利名稱:一種對象存儲系統(tǒng)的對象存放策略和訪問方法
技術領域:
本發(fā)明涉及計算機存儲領域,具體涉及一種基于對象存儲系統(tǒng)的對象存放策略 及訪問方法。
背景技術:
隨著信息化的發(fā)展,信息資源爆炸式的增長,存儲技術在各個方面出現(xiàn)了前所 未有的發(fā)展。然而,存儲容量的持續(xù)增長和存儲設備成本的不斷增加,存儲技系統(tǒng)成為 提高計算機性能的關鍵。對象存儲技術是充分利用對象存儲設備(OSD)的功能和處理能力,對外提供對 象接口,基于此建立的對象存儲系統(tǒng)具有很強的可擴展性、可共享性、高可靠性以及高 可用性等良好性能。對象存儲系統(tǒng)具有用戶多、用戶類型多、網絡環(huán)境復雜和存儲對象 類型多種多樣等特點,這對對象存儲系統(tǒng)在提供持續(xù)穩(wěn)定、高性能的存儲服務方面提出 了更高的要求。為了保障對象存儲系統(tǒng)能夠穩(wěn)定有效地提供高性能存儲服務,將副本技 術引入對象存儲系統(tǒng),通過創(chuàng)建對象副本,將副本放置在合適的存儲節(jié)點上,實現(xiàn)I/O 請求的就近響應,從而達到降低訪問延遲、節(jié)約網絡帶寬、提高系統(tǒng)性能的目的。OSD通常使用廉價的普通磁盤作為存儲設備,磁盤故障及OSD本身的故障發(fā)生 的概率較大,因此需要能夠在線處理磁盤故障及單點故障。
發(fā)明內容
本發(fā)明的目的在于提供一種高可靠性,高可用性的基于對象存儲的對象存放策 略和訪問方法,一種對象存儲系統(tǒng)的對象存放策略和訪問方法,存放策略如下A、采用多副本的存儲方式保存對象,同一對象的不同副本存儲在不同的OSD 上;B、設定同一對象的一個副本為主副本,所有的修改操作都發(fā)給主副本;C、在MDS中保存對象的副本可用性信息;D、磁盤或OSD失效時,通過其他副本將對象修復;訪問方法包括外部數(shù)據交互過程和內部數(shù)據交互過程所述外部數(shù)據交互過程是指用戶通過客戶端與系統(tǒng)進行數(shù)據讀寫,客戶端提供 通用文件系統(tǒng)接口,用戶使用時與使用本地文件系統(tǒng)沒有區(qū)別;所述內部數(shù)據交互過程是指客戶端向MDS獲取對象的存儲信息及副本信息,讀 操作選擇可用副本發(fā)送讀請求,寫操作向主副本發(fā)送寫請求;OSD響應客戶端請求,讀 操作讀取本地對象信息返回客戶端,寫操作進行本地寫對象,同時將寫信息發(fā)給其他可 用的從副本,主副本收集到所有的寫結果后,回應客戶端。本發(fā)明的一種優(yōu)選技術方案在于所述步驟D中的修復過程如下
磁盤失效修復過程客戶端寫主副本時,如果從副本磁盤失效或壞道,使得寫從副本失敗,主副本 向MDS報告副本丟失,同時主副本所在的OSD記錄該對象的副本信息,之后的寫操作不 再向失效的副本發(fā)送。如果是主副本所在的磁盤失效或壞道,主副本本身寫失敗,主副本收集完所有 的從副本寫結果,然后向MDS申請換主,換主成功后,刪除本地的對象記錄,回應客戶 端,對象已換主。OSD失效修復過程客戶端寫主副本時,如果主副本所在的OSD單點故障,客戶端向MDS申請換 主,MDS為對象選擇新的主副本,客戶端向新的主副本發(fā)送寫操作。主副本向從副本發(fā)送寫操作時,從副本所在的OSD單點故障,則主副本向MDS 報告對象丟失,回應客戶端寫結果。本發(fā)明的另一優(yōu)選技術方案在于所述MDS中保存了所有對象的狀態(tài)信息,通 過MDS能夠獲取所有丟失副本的對象,為這些對象選擇新副本的存儲位置并將這些對象 通過分批或全部發(fā)給對象主副本所在的OSD,由OSD負責為對象創(chuàng)建新的從副本,創(chuàng)建 新副本的過程中,阻止新的修改操作,同時在修復之前同步所有客戶端緩存并在修復過 程中不允許客戶端緩存MDS的信息,OSD每修復完一個對象,向MDS報告該對象的最 新副本信息。本發(fā)明帶來的有益效果如下
1、具備在線處理故障能力;
2、具備在線修復故障能力;
3、修復時僅影響正在修復的對象
4、能夠處理磁盤故障和單點故障
5、提供較高的讀取性能。
圖1為系統(tǒng)的交互模型工作過程圖。
圖2為系統(tǒng)的對象初次寫操作流程圖
圖3為系統(tǒng)的對象后續(xù)的寫操作流程圖
圖4為對象換主操作流程圖
圖5為OSD上磁盤故障
圖6為單個OSD故障
具體實施方案下面結合附圖舉例對本發(fā)明做更細地描述圖1為系統(tǒng)的交互模型工作過程圖??蛻舳藦腗DS處獲取對象信息,在OSD單點故障時,向MDS申請對象換主。MDS存儲對象副本及狀態(tài)信息,并處理對象換主,為對象選擇新副本位置。OSD存儲對象,提供對象的讀寫服務,并負責對象的副本同步和為對象創(chuàng)建新
4的從副本。圖2為系統(tǒng)的對象初次寫操作流程圖。1客戶端初次訪問對象時,向MDS獲取對象存儲位置及副本信息,然后向主副 本所在的OSD發(fā)送寫操作,同時對象的副本信息;2主副本所在的OSD2接到客戶端的寫請求后,異步發(fā)給從副本Sl和S2 ;3主副本得到所有副本成功應答后,向客戶端回應寫成功。圖3為系統(tǒng)的后續(xù)對象寫操作流程圖。1客戶端根據自身緩存的信息向主副本發(fā)送寫操作,同時攜帶副本信息;2主副本所在OSD接受數(shù)據寫操作,并向從副本發(fā)送寫操作;3應答客戶端。圖4為系統(tǒng)的對象換主流程圖。1當客戶端讀寫主副本時,遇到主副本失效;2如果是寫操作,主副本等待所有的副本寫結果;
3向MDS發(fā)送換主請求;4MDS在可用的從副本中選擇一個作為新的主副本;5舊主副本所在的OSD應答客戶端,并告知客戶端需更新對象副本信息。圖5為系統(tǒng)的磁盤故障處理流程圖OSD在寫的過程中發(fā)現(xiàn)磁盤失效或壞道,向MDS報告,同時本地保存副本的狀 態(tài),后續(xù)的寫操作不再發(fā)給這些從副本。圖6為數(shù)據修復的流程圖數(shù)據修復時,MDS為丟失副本的對象選擇新的副本位置,然后發(fā)給主副本所在 的 OSD。OSD先設置該對象“不可修改”,然后分塊讀取該對象的內容發(fā)給MDS選擇的 目的磁盤,直到完整創(chuàng)建新的從副本。OSD向MDS報告副本創(chuàng)建成功,MDS修改對象副本信息。OSD本地更新副本的狀態(tài),如果對象副本全部可用,從內存中刪除該對象信 肩、ο
權利要求
1.一種對象存儲系統(tǒng)的對象存放策略和訪問方法,其特征在于存放策略如下A、采用多副本的存儲方式保存對象,同一對象的不同副本存儲在不同的OSD上;B、設定同一對象的一個副本為主副本,所有的修改操作都發(fā)給主副本;C、在MDS中保存對象的副本可用性信息;D、磁盤或OSD失效時,通過其他副本將對象修復;訪問方法包括外部數(shù)據交互過程和內部數(shù)據交互過程所述外部數(shù)據交互過程是指用戶通過客戶端與系統(tǒng)進行數(shù)據讀寫,客戶端提供通用 文件系統(tǒng)接口,用戶使用時與使用本地文件系統(tǒng)沒有區(qū)別;所述內部數(shù)據交互過程是指客戶端向MDS獲取對象的存儲信息及副本信息,讀操作 選擇可用副本發(fā)送讀請求,寫操作向主副本發(fā)送寫請求;OSD響應客戶端請求,讀操作 讀取本地對象信息返回客戶端,寫操作進行本地寫對象,同時將寫信息發(fā)給其他可用的 從副本,主副本收集到所有的寫結果后,回應客戶端。
2.如權利要求1所述一種對象存儲系統(tǒng)的對象存放策略和訪問方法,其特征在于 所述步驟D中的修復過程如下磁盤失效修復過程客戶端寫主副本時,如果從副本磁盤失效或壞道,使得寫從副本失敗,主副本向 MDS報告副本丟失,同時主副本所在的OSD記錄該對象的副本信息,之后的寫操作不再 向失效的副本發(fā)送。如果是主副本所在的磁盤失效或壞道,主副本本身寫失敗,主副本收集完所有的從 副本寫結果,然后向MDS申請換主,換主成功后,刪除本地的對象記錄,回應客戶端, 對象已換主。OSD失效修復過程客戶端寫主副本時,如果主副本所在的OSD單點故障,客戶端向MDS申請換上, MDS為對象選擇新的主副本,客戶端向新的主副本發(fā)送寫操作。主副本向從副本發(fā)送寫操作時,從副本所在的OSD單點故障,則主副本向MDS報告 對象丟失,回應客戶端寫結果。
3.如權利要求1所述一種對象存儲系統(tǒng)的對象存放策略和訪問方法,其特征在于 所述MDS中保存了所有對象的狀態(tài)信息,通過MDS能夠獲取所有丟失副本的對象, 為這些對象選擇新副本的存儲位置并將這些對象通過分批或全部發(fā)給對象主副本所在的 0SD,由OSD負責為對象創(chuàng)建新的從副本,創(chuàng)建新副本的過程中,阻止新的修改操作, 同時在修復之前同步所有客戶端緩存并在修復過程中不允許客戶端緩存MDS的信息, OSD每修復完一個對象,向MDS報告該對象的最新副本信息。
全文摘要
本發(fā)明提供了一種對象存儲系統(tǒng)的對象存放策略和訪問方法。MDS根據一定的策略,將對象的副本分散在不同的數(shù)據服務器上;Client從MDS獲取對象的分布信息;如果是讀,任意選擇一個副本進行讀;如果是寫,向主副本進行寫,由主副本同步到從副本;從副本故障時,主副本通知MDS,MDS標識副本丟失,主副本所在的磁盤失效時,OSD向MDS提出換主請求,由MDS進行換主,MDS標記對象副本丟失;數(shù)據服務器宕機或退出時,由客戶端向元數(shù)據提出換主請求,由元數(shù)據服務器進行換主,并標記副本丟失;MDS在合適的時機為丟失副本的對象生成新副本。本發(fā)明提供了對象訪問的高可用性,能夠在線處理磁盤故障和單點故障。
文檔編號G06F3/06GK102023816SQ20101053648
公開日2011年4月20日 申請日期2010年11月4日 優(yōu)先權日2010年11月4日
發(fā)明者付根希, 常濤, 張東陽, 王勇, 王飛良, 苗艷超, 馬照云 申請人:天津曙光計算機產業(yè)有限公司