專利名稱:大規(guī)模分布式存儲系統的制作方法
技術領域:
本發(fā)明涉及的是一種計算機網絡應用技術領域的裝置,具體是一種大規(guī)模分布式 存儲系統。
背景技術:
在傳統的文件存儲系統或文件服務器中,比如,基于網路附加存儲(Network Attached Storage,NAS)中,數據是被一個巨大的、封閉的、獨立的系統所存儲和管理。企 業(yè)中往往需要部署多個文件服務器,來滿足迅速增長的數據處理需求。但是,部署多個文件 服務器會引起數據遷移、數據共享、負載和容量均衡以及高可用性等等問題,這些問題很多 時候需要人工參與解決,會產生諸多隱患。在傳統文件系統中,每個文件服務器限制了整個文件系統的訪問帶寬,并且由于 元數據和數據都存儲在一個單獨的系統中,越來越多的用戶訪問時,頻繁的隨機讀寫操作 使得系統的運行速度變慢,成為性能瓶頸。經過對現有技術的檢索發(fā)現,RedHat的《GFS-The Global File System(GFS文件 系統)》和Sun的《Lustre File System (Lustre文件系統)》等分布式文件系統解決了傳統 文件系統中的這些問題。但是該現有技術通常用于高性能計算或大型數據中心,對硬件設 施條件要求較高。以Lustre文件系統為例,它只對元數據管理器MDS提供容錯解決方案, 而對于具體的數據存儲節(jié)點OST來說,則依賴其自身來解決容錯的問題。例如,Lustre推 薦OST節(jié)點采用RAID技術或SAN存儲區(qū)域網來容錯,但由于Lustre自身不能提供數據存 儲的容錯,一旦OST發(fā)生故障就無法恢復,因此對OST的穩(wěn)定性就提出了相當高的要求,從 而大大增加了存儲的成本,而且成本會隨著規(guī)模的擴大線性增長。經過對現有技術的檢索發(fā)現,Google的《The Google File System (Google文件 系統)》是采用廉價的商用機器的分布式文件系統。Google GFS將容錯的任務交由文件系 統來完成,利用軟件的方法解決系統可靠性問題,這樣使得存儲的成本成倍下降;但是該現 有技術的設計是與Google應用的特點緊密結合的,僅適用于大文件、讀操作優(yōu)先的應用環(huán) 境,不適用于小文件隨機讀寫的應用環(huán)境,并且不支持通用的文件系統訪問協議。
發(fā)明內容
本發(fā)明針對現有技術存在的上述不足,提供一種大規(guī)模分布式存儲系統,采用可 配置的自動負載均衡和數據遷移,定期檢查數據的一致性,清除垃圾數據等,消除了人工操 作帶來的各種問題。并且具有很高的可擴展性,隨著存儲設備的增加,系統的容量和帶寬線 性增加。本發(fā)明的硬件環(huán)境例如廉價的商用機器或個人電腦等,并通過通用文件系統協議 訪問,適用于存儲各種大小的文件,支持用戶對文件系統的各種標準操作。本發(fā)明是通過以下技術方案實現的,本發(fā)明包括至少一個存儲文件的名字空間、 元數據信息、文件和對象的映射關系、對象號及對象的地址信息的管理節(jié)點、若干個存儲對 應的對象數據的存儲節(jié)點和若干個超級客戶端或客戶端,其中客戶端通過存儲節(jié)點訪問
3管理節(jié)點并在管理節(jié)點中查找待訪問文件的對象號及對象的地址信息并從對應的存儲節(jié) 點中訪問相應的對象數據,而超級客戶端則直接訪問管理節(jié)點并在管理節(jié)點中查找待訪問 文件的對象號及對象的地址信息并從對應的存儲節(jié)點中訪問相應的對象數據。所述的管理節(jié)點包括存儲有對象的名字空間和元數據信息的文件系統以及存儲 有對象號和對象的地址信息的數據庫,其中所述的訪問文件的方式使用租約管理文件的讀寫訪問,具體為超級客戶端的 一個讀寫請求需要向管理節(jié)點請求租約,得到租約后訪問其中一個存儲節(jié)點上的數據;當 多個讀寫請求到來時,要根據是否剝奪或訪問時間等信息來進行租約的分配。所述的文件和對象的映射關系是指文件被分割成最大為64MB的對象,一個文件 可能對應一組對象號,每個對象數據可能有多個相同內容的復本,這種文件和對象的映射 關系被保存在管理節(jié)點上;文件和對象的映射關系中包括文件的狀態(tài)信息等,這些信息常 被用于提高系統性能的一些策略中,這些策略有同步復制策略、異步復制策略和異步刪除 策略等。所述的對象數據可能有多個相同內容的復本,各個復本存儲于不同的存儲節(jié)點 上,這樣提高系統的可靠性,當其中某些復本錯誤時,通過一致性檢查恢復錯誤數據,并且 提高這個文件被讀訪問時的訪問帶寬。所述的同步復制策略是指超級客戶端向含有復本的存儲節(jié)點寫入數據時,各個 存儲節(jié)點對其含有的復本進行同步寫,當所有的復本都返回寫成功后更新管理節(jié)點的元數 據信息并返回寫成功給超級客戶端。所述的異步復制策略是指超級客戶端向含有復本的存儲節(jié)點寫入數據時,至少 一個存儲節(jié)點對其含有的復本進行異步寫,并當其余存儲節(jié)點的同步寫結束后即向超級客 戶端返回寫成功,該存儲節(jié)點在完成異步寫后對對象映射關系進行更新,并與其余存儲節(jié) 點進行一致性檢查。所述的異步刪除策略是指刪除管理節(jié)點中對象的名字空間和元數據后返回給 超級客戶端刪除成功,由對應存儲節(jié)點通過加入一個異步刪除任務隊列進行對象數據的刪 除,當異步刪除任務執(zhí)行后,管理節(jié)點對其存儲的對象號和對象的地址信息進行修改或刪 除。所述的一致性檢查是指通過管理節(jié)點周期性地向存儲節(jié)點發(fā)送對象號和對象的 地址信息并接收存儲節(jié)點返回的更新后的對象號和對象的地址信息進行數據檢查、垃圾數 據清除、數據恢復和數據遷移。所述的IP地址遷移是指當一個存儲節(jié)點與管理節(jié)點斷開連接或出現錯誤時,管 理節(jié)點將該存儲節(jié)點的IP地址動態(tài)遷移至其他的存儲節(jié)點。所述的訪問采用NFS、CIFS、HTTP或FTP協議。
圖1為本發(fā)明系統結構圖。圖2a為本發(fā)明的超級客戶端訪問存儲系統的結構圖。圖2b為本發(fā)明的超級客戶端訪問存儲系統的結構圖。圖3為本發(fā)明的管理節(jié)點的功能模塊圖。
圖4為本發(fā)明的存儲節(jié)點的功能模塊圖。圖5為本發(fā)明的超級客戶端的功能模塊圖。圖6為本發(fā)明的對象關系映射示意圖。圖7為本發(fā)明的目錄結構示意圖。圖8為本發(fā)明的租約管理示意圖。圖9為本發(fā)明的同步復制示意圖。圖10為本發(fā)明的同步復制時序圖。圖11為本發(fā)明的任務引擎示意圖。圖12為本發(fā)明的任務引擎的任務隊列示意圖。圖13為本發(fā)明的異步刪除任務示意圖。圖14為本發(fā)明的異步復制任務示意圖。圖15為本發(fā)明的IP地址遷移示意圖。圖16為本發(fā)明的監(jiān)控服務示意圖。圖17為本發(fā)明的文件訪問協議示意圖。
具體實施例方式下面對本發(fā)明的實施例作詳細說明,本實施例在以本發(fā)明技術方案為前提下進行 實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施 例。如圖1所述,本實施例包括至少一個存儲對象的名字空間、元數據信息、對象號 及對象的地址信息的管理節(jié)點、若干個存儲對應的對象數據的存儲節(jié)點和若干個超級客戶 端或客戶端,其中客戶端、超級客戶端、管理節(jié)點和存儲節(jié)點之間通過交互網絡進行通信。所述的管理節(jié)點為個人電腦、工作站或服務器等;存儲系統中可能存在影子管理 節(jié)點;包括存儲有對象的名字空間和元數據信息的文件系統以及存儲有對象號和對象的 地址信息的數據庫等。所述的影子管理節(jié)點是指系統中與管理節(jié)點是實時備份關系的管理節(jié)點,當管 理節(jié)點宕機時,影子管理節(jié)點代替管理節(jié)點工作,這樣提高了管理節(jié)點的可靠性。所述的存儲節(jié)點為個人電腦、工作站或服務器等;采用NTFS、EXT、XFS、ZFS等文件 系統來存儲數據對象。所述的客戶端是獨立的計算機系統,例如個人電腦、工作站、服務器、筆記本電腦 或掌上電腦等;通過NFS、CIFS、HTTP和FTP等遠程文件系統訪問協議來訪問存儲系統。所述的超級客戶端是獨立的計算機系統,例如個人電腦、工作站、服務器、筆記本 電腦或掌上電腦等;是在客戶端安裝了存儲系統的客戶端軟件。所述的交互網絡是采用IP協議連接的網絡。如圖2a所述,客戶端不能直接訪問管理節(jié)點,而是通過存儲系統中的某個存儲節(jié) 點訪問管理節(jié)點,其中客戶端的讀文件的簡單流程為步驟1,客戶端通過一個存儲節(jié)點的IP地址,向存儲系統發(fā)送訪問命令;步驟2,存儲節(jié)點將接收到的客戶端的訪問請求轉發(fā)給管理節(jié)點;步驟3,管理節(jié)點根據請求中的文件句柄查找對象映射關系庫找到相應的對象號以及對象的地址信息,并將查詢結果返回給存儲節(jié)點;步驟4,存儲節(jié)點將根據對象的映射關系,可能從本節(jié)點讀取數據或相應的別的存 儲節(jié)點上讀取對象數據;步驟5,存儲節(jié)點將相應的數據轉發(fā)給客戶端。如圖2b所述,超級客戶端是安裝客戶端軟件的客戶端,直接訪問管理節(jié)點,其中 超級客戶端的讀文件的簡單流程為步驟1,超級客戶端向存儲系統發(fā)送訪問命令;步驟2,超級客戶端中的客戶端軟件會將命令直接發(fā)送到管理節(jié)點;步驟3,管理節(jié)點根據請求中的文件句柄查找對象映射關系庫找到相應的對象號 以及對象的地址信息,并將查詢結果返回給超級客戶端;步驟4,超級客戶端將根據映射關系,直接從相應的存儲節(jié)點上讀取對象數據;如圖3所述,管理節(jié)點存儲對象的名字空間、元數據信息、對象號及對象的地址信 息,其主要功能模塊包括虛擬地址池管理、成員管理、監(jiān)控服務、負載均衡、元數據管理、系 統配置接口、數據管理、租約管理、目錄存儲和對象映射關系庫等。所述的虛擬地址池管理是指為存儲節(jié)點分配IP地址,客戶端通過相應存儲節(jié)點 的IP地址訪問存儲系統;根據存儲節(jié)點的性能、容量和負載等管理分配IP地址。所述的成員管理是指管理節(jié)點發(fā)現、添加和刪除存儲節(jié)點的模塊。所述的監(jiān)控服務是指監(jiān)控和報告管理節(jié)點和存儲節(jié)點的性能狀態(tài)信息,例如,正 常運行時間和吞吐量等。所述的負載均衡是指根據各個存儲節(jié)點的空間利用率、網絡包統計、文件類型和 訪問熱點等來決定客戶端對存儲節(jié)點的訪問,也是決策數據遷移重要參數。所述的元數據管理是指對所有系統中的元數據的管理,元數據包括目錄結構、 文件大小、文件所有者、文件訪問權限、文件類型和文件名字等。所述的系統配置接口是指提供給管理者配置存儲系統的圖形界面;比如,管理 者通過系統配置接口來指定文件的同步和異步復本個數,也通過系統配置接口來管理存儲 系統的成員等。所述的數據管理是指數據的一致性、數據遷移、數據的存放位置改變、數據錯誤 以及數據復本個數等的管理;比如,周期性地進行數據一致性檢查,周期性地清除垃圾數 據,異步復制后進行對象號與相應的地址信息的修改等。所述的租約管理是指管理一個文件正在被哪個存儲節(jié)點使用;租約可能分為讀 寫租約,每個租約會有租期,超出租期則會清除租約。所述的目錄存儲是指存儲名字空間、元數據等文件相關的信息。所述的對象映射關系庫是指存儲文件的元數據與對象號的映射關系和對象存儲 地址信息等;可能是文件系統或結構化數據庫等;可能會存儲存儲系統的其它配置信息, 例如,存儲系統的虛擬IP地址池的分配信息等。如圖4所述,存儲節(jié)點存儲文件的具體對象數據;其主要功能模塊包括數據處 理、文件訪問協議接口、用戶空間文件系統、任務引擎、租約處理、監(jiān)控代理和對象存儲等。所述的數據處理是指管理對文件訪問的服務,例如,對對象數據的讀寫操作,刪 除操作等提供服務。
所述的文件訪問協議接口是指處理存儲節(jié)點與不同文件訪問協議的交互模塊, 這些文件訪問協議可能有NFS、CIFS、HTTP和FTP等。所述的用戶空間文件系統是指實現用戶空間文件系統。所述的任務引擎是指處理異步數據復制、異步數據刪除及執(zhí)行數據遷移等不同 任務的模塊。所述的租約處理是指存儲節(jié)點向管理節(jié)點申請或清除文件的租約。所述的監(jiān)控代理是指監(jiān)控和報告存儲節(jié)點的狀態(tài)信息的模塊。所述的對象存儲是指存儲具體對象數據的模塊;對象存儲可能是NTFS、EXT、 XFS, ZFS等文件系統,并管理相應的存儲設備;存儲設備可能是SATA盤、SCSI盤或RAID陣列等。如圖5所述,超級客戶端是安裝了客戶端模塊的客戶端;其主要功能模塊包括數 據處理、用戶空間文件系統、租約處理和用戶界面等。所述的數據處理是指保存文件的元數據與對象的映射關系及對象的位置信息, 并負責讀寫相應的對象數據;數據處理模塊還負責將異步操作任務添加到相應的存儲節(jié)點 的任務隊列中等。所述的用戶空間文件系統是指實現用戶空間文件系統。所述的租約處理是指申請和清除文件租約的模塊。所述的用戶界面是指為用戶提供友好的圖形接口,用戶看到自己權限范圍內的 目錄結構,并提供方便用戶訪問文件的各種操作。如圖6所述,文件到相應的具體數據的映射關系通過目錄存儲找到相應文件,通 過對象關系映射庫找到文件對應的對象號和對象地址信息,通過相應存儲節(jié)點的對象存儲 找到對象具體存儲設備。簡單的訪問流程步驟1,超級客戶端通過客戶端模塊發(fā)送文件讀文件請求;步驟2,管理節(jié)點在目錄存儲中找到的文件元數據信息;步驟3,在對象映射關系庫中根據文件元數據信息查找到相應的對象號和對象的 地址信息;步驟4,管理節(jié)點將文件和對象的映射關系返回給超級客戶端;步驟5,超級客戶端根據對象的地址信息訪問相應的存儲節(jié)點;步驟6,被訪問存儲節(jié)點通過對象存儲模塊將相應存儲設備上的對象數據返回給 超級客戶端。如圖7所述,目錄存儲中按照樹狀結構組織的目錄樹,目錄樹中有文件夾和文件 等;其中文件的元數據信息,即文件屬性中,包含文件大小、文件所有者、文件所屬組、文 件創(chuàng)建時間、文件修改時間和訪問時間等。如圖8所述,存儲系統使用租約管理文件的讀寫訪問,存儲節(jié)點通過租約處理模 塊向管理節(jié)點提交租約申請或釋放的請求,管理節(jié)點的租約管理模塊根據租約管理規(guī)則對 文件的讀寫租約請求做出相應的應答,其中管理節(jié)點中的租約管理模塊中記錄了每個文 件的租約申請狀態(tài),主要有讀租約隊列和寫租約隊列,分別記錄獲得讀租約的客戶端和獲 得寫租約的客戶端信息。
所述的租約是指對文件的讀寫操作的期限;具體為存儲節(jié)點的租約處理模塊 維護一個倒計時,當租期快到時,租約處理模塊會重新申請或釋放租約,租約的申請或釋放 對用戶是透明的。所述的租約管理規(guī)則具體有三種情況情況1,多個寫操作申請寫同一文件時,按照FCFS(先來先服務)的原則,僅允許一 個寫操作進行,其余寫操作被拒絕;可配置的讀寫租約技術,允許管理員配置剝奪寫,這樣 客戶端選擇剝奪寫,即允許的有權限的客戶端強制獲得寫文件的權限,并提示之前在寫的 客戶端寫權限被剝奪;情況2,寫操作申請時,多個讀操作正在進行,寫操作申請成功,并通知所有讀操作 的客戶端文件正在被修改,或讀寫嚴格互斥;情況3,讀操作申請時,寫操作正在進行,讀操作申請成功,并及時更新自己的緩 存,更新操作由客戶端來觸發(fā),或讀寫嚴格互斥。所述的可配置的讀寫租約技術是指管理員配置文件是否剝奪寫,即對同一文件, 優(yōu)先級高的客戶端的寫操作剝奪優(yōu)先級低的客戶端的寫操作;文件的讀租約和寫租約的優(yōu) 先級配置通過管理節(jié)點中的系統配置接口來設置;即,讀寫是否被剝奪,以及允許剝奪的用 戶的權限等等。本實施例通過以下方式進行租約申請步驟1,客戶端通過存儲節(jié)點的租約處理模塊向管理節(jié)點發(fā)送某一文件的寫租約 請求,或超級客戶端的租約處理模塊直接向管理節(jié)點發(fā)送某一文件的讀租約請求;步驟2,管理節(jié)點的租約管理模塊根據租約管理規(guī)則管理文件的租約請求,將這個 請求加入申請租約隊列中;步驟3,如果寫租約隊列為空,將申請加入到寫租約隊列中,并通知超級客戶端或 存儲節(jié)點的租約處理租約申請成功,否則,返回租約申請失敗。如圖9所述,管理節(jié)點中設置文件的同步復本數和異步復本數;同步復制時,管理 節(jié)點提供各個復本的存放地址等信息給存儲節(jié)點。所述的同步復制策略是指,對象數據以流水線的方式完成多個復本的同步寫操作。本實施例通過以下方式進行同步寫步驟1,客戶端發(fā)送寫文件命令到存儲節(jié)點,主存儲節(jié)點發(fā)送命令到管理節(jié)點查找 文件的對象號和對象的地址信息和同步寫的復本數;步驟2,管理節(jié)點發(fā)送包含對象號和對象的地址信息以及復本數的命令到主存儲 節(jié)占.
I— /、、、 步驟3,主存儲節(jié)點接收客戶端數據并將其轉發(fā)給其余的存儲節(jié)點;步驟4,其余的存儲節(jié)點寫完數據后返回命令給主存儲節(jié)點;步驟5,主存儲節(jié)點等所有復本都寫完后,返回寫完成命令給客戶端。如圖10所述,多個復本同步寫時,需要等待所有復本寫完成后才完成一個寫操 作;本實施例中,當所有同步的復本都寫入內存緩存區(qū)時,提交寫完成,而真正寫入磁盤后, 再修改文件的元數據和對象映射關系;這樣設計,減少了用戶的等待,也提高了可靠性。本實施例同步寫時序如下
8
步驟1,客戶端發(fā)送數據到數據主復本,數據主復本將數據轉發(fā)至其它數據復本;步驟2,當所有復本的內存緩存區(qū)都有這份數據后,數據主復本向客戶端返回提交 點,這時,客戶端看到寫成功;步驟3,所有復本將內存緩存區(qū)的數據刷新到磁盤,當所有復本都刷新到磁盤后, 由數據主復本向客戶端返回最終提交點;步驟4,返回最終提交點時,數據主復本提交映射關系的修改請求給管理節(jié)點,包 括文件大小等信息。所述的提交點和最終提交點是指,數據寫入內存或磁盤后給出的成功返回。如圖11所述,任務引擎主要負責接收、分發(fā)任務以及匯報任務執(zhí)行結果;管理節(jié) 點會將不同的異步任務加入到不同存儲節(jié)點的任務引擎中;其中管理節(jié)點的數據管理模 塊周期性檢查各個存儲節(jié)點上數據的一致性和對象關系映射庫中的異步處理數據,將其加 入存儲節(jié)點中的任務引擎中。本實施例的任務引擎模塊的工作流程步驟1,管理節(jié)點中的數據管理添加任務到各個存儲節(jié)點的任務引擎中;步驟2,任務引擎發(fā)送執(zhí)行任務到相應的存儲節(jié)點的數據處理模塊;步驟3,所有復本將內存緩存區(qū)的數據刷新到磁盤,當所有復本都刷新到磁盤后, 由數據主復本向客戶端返回最終提交點;步驟4,返回最終提交點時,數據主復本所在的存儲節(jié)點提交映射關系的修改請求 給管理節(jié)點,修改請求信息包括對象的地址和文件大小等信息。如圖12所述,存儲節(jié)點的任務引擎中可能會有多種任務隊列,例如,異步復制隊 列和異步刪除隊列等;存儲節(jié)點的任務引擎會將不同的任務分派到各個存儲節(jié)點的數據處 理中執(zhí)行;分配的依據主要是不同存儲節(jié)點對任務的開銷和負載情況等;各個存儲節(jié)點的 任務引擎之間是相互獨立的,并發(fā)執(zhí)行的,并且與管理節(jié)點相互獨立;存儲節(jié)點的任務引擎 與管理節(jié)點的交互發(fā)生在任務執(zhí)行結束、任務執(zhí)行錯誤和添加新的任務等時機。如圖13所述,本實施例通過以下方式進行異步刪除步驟1,判斷異步刪除隊列頭是否為空;如果為空,結束;不為空,步驟2 ;步驟2,從異步刪除隊列中取任務,并將任務分配給一個存儲節(jié)點;步驟3,相應的存儲節(jié)點執(zhí)行刪除操作;步驟4,判斷刪除是否成功;如果不成功,任務加入異步刪除隊列尾,同時有可能 產生的垃圾數據需要添加任務到任務引擎中;成功,步驟5 ;步驟5,通知管理節(jié)點,修改相應的對象映射關系;步驟6,循環(huán)執(zhí)行異步刪除任務。如圖14所述,本實施例通過以下方式進行異步復制步驟1,判斷異步復制隊列頭是否為空;如果為空,結束;不為空,步驟2 ;步驟2,從異步復制隊列中取任務,并將任務分配給一個存儲節(jié)點;步驟3,向管理節(jié)點申請源數據的讀租約,并且這個租約的優(yōu)先級較低,這個租約 很容易剝奪,這樣,不影響用戶對存儲系統的這個文件的訪問,同時,復制任務比較快,很少 發(fā)生被剝奪現象;步驟4,判斷讀租約是否申請成功,如果不成功,任務加入到異步復制隊列尾;成
9功,步驟5 ;步驟5,相應的存儲節(jié)點執(zhí)行復制操作,將源數據復制到目的數據,復制過程中計 算各個復本的校驗和,復制結束后進行完整性檢查;步驟6,判斷復制是否成功;導致不成功的因素很多,可能是源數據的讀租約被剝 奪等;如果不成功,任務加入異步復制隊列尾,同時有可能產生的垃圾數據需要添加任務到 任務引擎中;成功,步驟7;步驟7,通知管理節(jié)點,修改相應的對象映射關系;步驟8,循環(huán)執(zhí)行異步復制任務。如圖15所述,虛擬地址池管理管理存儲系統的IP地址。虛擬地址池管理會根據 存儲系統的負載均衡等分配IP地址信息,并將錯誤節(jié)點的地址遷移到正常節(jié)點,這樣即使 有錯誤節(jié)點,用戶也能正常使用存儲系統,地址遷移對用戶是透明的。動態(tài)地址遷移實施例如下管理節(jié)點的虛擬地址池管理分配存儲節(jié)點135地址為10. 10. 1. 2,存儲節(jié)點140地 址為10. 10. 1. 3,存儲節(jié)點145地址為10. 10. 1. 4。假如,存儲節(jié)點140不能工作時,管理節(jié)點130的虛擬地址池管理305將存儲節(jié)點 140遷移給存儲節(jié)點135。所以,存儲節(jié)點135的IP地址為10. 10. 1. 2和10. 10. 1. 3。這 樣,客戶端105原先通過10. 10. 1. 3訪問存儲節(jié)點140,地址遷移后,客戶端將通過存儲節(jié)點 135訪問存儲系統。如圖16所述,監(jiān)控服務是監(jiān)控存儲系統的實時信息,包括每個節(jié)點的網絡包流 量、客戶端訪問數量、空間利用率和熱點文件等;監(jiān)控服務為負載均衡等提供參數。所述的監(jiān)控服務是指管理節(jié)點的監(jiān)控服務模塊接收存儲節(jié)點的監(jiān)控代理模塊的 實時信息,并進行統計分析,將一部分信息提供給負載均衡模塊,一部分信息提供給數據管 理模塊;這樣,負載均衡模塊就能根據各個節(jié)點的監(jiān)控信息分配客戶端的訪問;數據管理 模塊就能更好地決定數據復本的存放位置等。如圖17所述,本實施例有兩種客戶端,超級客戶端直接訪問存儲系統,客戶端通 過通用的文件訪問協議訪問存儲系統;其中客戶端使用NFS,或CIFS,或HTTP,或FTP等 協議通過存儲節(jié)點訪問存儲系統;存儲節(jié)點中的文件訪問協議接口包含了 NFS協議接口、 CIFS協議接口、HTTP協議接口和FTP協議接口等,通過這些接口,提供相應的存儲系統訪問 服務。
權利要求
1.一種大規(guī)模分布式存儲系統,其特征在于,包括至少一個存儲對象的名字空間、元 數據信息、對象號及對象的地址信息的管理節(jié)點、若干個存儲對應的對象數據的存儲節(jié)點 和若干個超級客戶端,其中超級客戶端通過存儲節(jié)點訪問管理節(jié)點并在管理節(jié)點中查找 待訪問文件的對象號及對象的地址信息并從對應的存儲節(jié)點中訪問相應的對象數據;所述的管理節(jié)點包括存儲有對象的名字空間和元數據信息的文件系統以及存儲有對 象號和對象的地址信息的數據庫。
2.根據權利要求1所述的大規(guī)模分布式存儲系統,其特征是,所述的通過存儲節(jié)點訪 問管理節(jié)點是指使用租約管理文件的讀寫訪問,具體為超級客戶端的一個讀寫請求需 要向管理節(jié)點請求租約,得到租約后訪問其中一個存儲節(jié)點上的數據;當多個讀寫請求到 來時,要根據是否剝奪或訪問時間等信息來進行租約的分配。
3.根據權利要求1所述的大規(guī)模分布式存儲系統,其特征是,所述的對象數據由多個 相同內容的復本組成,各個復本存儲于不同的存儲節(jié)點上,通過同步復制策略、異步復制策 略以及異步刪除策略實現所述從對應的存儲節(jié)點中訪問相應的對象數據。
4.根據權利要求3所述的大規(guī)模分布式存儲系統,其特征是,所述的同步復制策略是 指超級客戶端向含有復本的存儲節(jié)點寫入數據時,各個存儲節(jié)點對其含有的復本進行同 步寫,當所有的復本都返回寫成功后更新管理節(jié)點的元數據信息并返回寫成功給超級客戶 端。
5.根據權利要求3所述的大規(guī)模分布式存儲系統,其特征是,所述的異步復制策略是 指超級客戶端向含有復本的存儲節(jié)點寫入數據時,至少一個存儲節(jié)點對其含有的復本進 行異步寫,并當其余存儲節(jié)點的同步寫結束后即向超級客戶端返回寫成功,該存儲節(jié)點在 完成異步寫后對對象映射關系進行更新,并與其余存儲節(jié)點進行一致性檢查。
6.根據權利要求3所述的大規(guī)模分布式存儲系統,其特征是,所述的異步刪除策略是 指刪除管理節(jié)點中對象的名字空間和元數據后返回給超級客戶端刪除成功,由對應存儲 節(jié)點通過加入一個異步刪除任務隊列進行對象數據的刪除,當異步刪除任務執(zhí)行后,管理 節(jié)點對其存儲的對象號和對象的地址信息進行修改或刪除。
7.根據權利要求5所述的大規(guī)模分布式存儲系統,其特征是,所述的一致性檢查是指 通過管理節(jié)點周期性地向存儲節(jié)點發(fā)送對象號和對象的地址信息并接收存儲節(jié)點返回的 更新后的對象號和對象的地址信息進行數據檢查、垃圾數據清除、數據恢復和數據遷移。
8.根據權利要求7所述的大規(guī)模分布式存儲系統,其特征是,所述的數據遷移是指當 一個存儲節(jié)點與管理節(jié)點斷開連接或出現錯誤時,管理節(jié)點將該存儲節(jié)點的IP地址動態(tài) 遷移至其他的存儲節(jié)點。
9.根據權利要求1或2或3所述的大規(guī)模分布式存儲系統,其特征是,所述的訪問采用 NFS、CIFS、HTTP 或 FTP 協議。
全文摘要
一種計算機網絡應用技術領域的大規(guī)模分布式存儲系統,包括至少一個存儲對象的名字空間、元數據信息、對象號及對象的地址信息的管理節(jié)點、若干個存儲對應的對象數據的存儲節(jié)點和若干個超級客戶端,超級客戶端通過存儲節(jié)點訪問管理節(jié)點并在管理節(jié)點中查找待訪問文件的對象號及對象的地址信息并從對應的存儲節(jié)點中訪問相應的對象數據;管理節(jié)點包括存儲有對象的名字空間和元數據信息的文件系統以及存儲有對象號和對象的地址信息的數據庫。本發(fā)明采用可配置的自動負載均衡和數據遷移,定期檢查數據的一致性,清除垃圾數據等,消除了人工操作帶來的各種問題,并且具有很高的可擴展性。
文檔編號G06F17/30GK102136003SQ20111007345
公開日2011年7月27日 申請日期2011年3月25日 優(yōu)先權日2011年3月25日
發(fā)明者劉海濤, 史高峰, 李小勇, 王皓 申請人:上海交通大學