本發(fā)明涉及存儲系統(tǒng),尤其涉及一種集群網(wǎng)絡存儲系統(tǒng)及其存儲方法。
背景技術:
1、目前市面上的大型網(wǎng)絡存儲過程中,很多情況下采用分布式存儲方案,但是分布式存儲有幾個缺陷:
2、首先,分布式存儲鏈路復雜,存儲鏈路中至少有三種功能節(jié)點:監(jiān)控節(jié)點、安全節(jié)點和存儲節(jié)點,每種節(jié)點都是一臺單獨的設備,監(jiān)控節(jié)點和安全節(jié)點的節(jié)點數(shù)量都是至少為2,存儲節(jié)點的數(shù)量至少為3。并且,在存儲過程中,不同種節(jié)點之間要相互通訊,相同種節(jié)點之間也要通訊,就導致存儲過程中鏈路的通訊非常復雜,從而導致網(wǎng)絡延時情況常見,而且每兩個節(jié)點之間通訊的網(wǎng)絡延時會疊加,從而導致分布式存儲的網(wǎng)絡延時比較嚴重。分布式存儲在將一個文件處理成多個副本存儲到不同的存儲單元中時,需要偵測數(shù)據(jù)延遲情況,當數(shù)據(jù)延遲達到十幾毫秒就容易觸發(fā)報錯,導致分布式存儲過程中錯誤頻出。
3、因此,需要提供一種更為可靠的網(wǎng)絡存儲系統(tǒng)。
技術實現(xiàn)思路
1、本發(fā)明的主要目的在于提供一種集群網(wǎng)絡存儲系統(tǒng)及其存儲方法,旨在解決現(xiàn)有的大型網(wǎng)絡存儲過程中鏈路復雜且容易觸發(fā)延時報錯的問題。
2、為實現(xiàn)上述目的,本發(fā)明提供的一種集群網(wǎng)絡存儲系統(tǒng)的存儲方法中,存儲系統(tǒng)包括存儲管理模塊,所述存儲管理模塊設置有若干個網(wǎng)口;所述存儲管理模塊還提供若干個存儲接口;所述存儲管理模塊包括存儲驅動單元、存儲單元和管理單元;所述方法,包括如下步驟:
3、所述管理單元在偵測到有新增的nas設備接入所述存儲管理模塊的網(wǎng)口時,為新增的所述nas設備分配ip地址;
4、所述存儲驅動單元在識別到新增的所述ip地址時,向新增的所述nas設備執(zhí)行配置操作,以將新增的所述nas設備擴展到存儲池;
5、所述存儲單元偵測用戶端通過所述存儲接口向所述存儲管理模塊發(fā)送的讀寫請求,并根據(jù)所述讀寫請求,向所述存儲池進行讀寫操作。
6、優(yōu)選地,所述存儲驅動單元在識別到新增的所述ip地址時,向新增的所述nas設備執(zhí)行配置操作,以將新增的所述nas設備擴展到存儲池的步驟,包括:
7、所述存儲驅動單元在識別到新增的所述ip地址時,向新增的所述nas設備分配id號;
8、所述存儲驅動單元獲取新增的所述nas設備的存儲空間信息,并判斷新增的所述nas設備是否支持raid功能;
9、若新增的所述nas設備不支持raid功能,所述存儲驅動單元向新增的所述nas設備進行raid功能配置,以使新增的所述nas設備支持raid功能;
10、若新增的所述nas設備支持raid功能,所述存儲驅動單元在新增的所述nas設備進行存儲配置和raid功能分區(qū)配置,以使新增的所述nas設備劃分成不同存儲區(qū)塊,每個所述存儲區(qū)塊支持不同的raid功能;
11、所述存儲驅動單元根據(jù)新增的所述nas設備的配置信息,將新增的所述nas設備擴展到所述存儲池中,并更新所述存儲池的配置信息。
12、優(yōu)選地,所述存儲管理模塊包括本地存儲模塊,所述本地存儲模塊與所述存儲池通信連接;所述存儲單元偵測用戶端通過所述存儲接口向所述存儲管理模塊發(fā)送的讀寫請求,并根據(jù)所述讀寫請求,向所述存儲池進行讀寫操作的步驟,還包括:
13、所述存儲單元建立第一存儲鏈路和第二存儲鏈路;
14、所述存儲單元通過所述第一存儲鏈路,獲取用戶端向所述存儲管理模塊發(fā)送的待存儲數(shù)據(jù),并將所述待存儲數(shù)據(jù)存儲至所述本地存儲模塊;
15、所述存儲單元通過第二存儲鏈路,將所述本地存儲模塊存儲的待存儲數(shù)據(jù)向所述存儲池讀出,以寫入所述存儲池。
16、優(yōu)選地,所述存儲單元通過所述第一存儲鏈路,獲取用戶端向所述存儲管理模塊發(fā)送的待存儲數(shù)據(jù),并將所述待存儲數(shù)據(jù)存儲至所述本地存儲模塊的步驟,包括:
17、所述存儲單元獲取所述本地存儲模塊中存儲的數(shù)據(jù)的存儲時間;
18、所述存儲單元通過所述第一存儲鏈路,獲取用戶端向所述存儲管理模塊發(fā)送的待存儲數(shù)據(jù);
19、所述存儲單元獲取所述待存儲數(shù)據(jù)所需存儲空間,并獲取所述本地存儲模塊的剩余存儲空間,判斷所述剩余存儲空間是否達到所述所需存儲空間;
20、若是,所述存儲單元將所述待存儲數(shù)據(jù)存儲至所述本地存儲模塊;
21、若否,所述存儲單元按照所述本地存儲模塊中存儲的數(shù)據(jù)的存儲時間,擦除所述本地存儲模塊中存儲時間在前的數(shù)據(jù)后,將所述待存儲數(shù)據(jù)存儲至所述本地存儲模塊。
22、優(yōu)選地,所述存儲單元通過第二存儲鏈路,將所述本地存儲模塊存儲的待存儲數(shù)據(jù)向所述存儲池讀出,以寫入所述存儲池的步驟,包括:
23、所述存儲單元獲取用戶端發(fā)送的待存儲數(shù)據(jù)對應的數(shù)據(jù)類型;
24、當數(shù)據(jù)類型為安全模式數(shù)據(jù)時,所述存儲單元通過所述第二存儲鏈路,以串行方式將所述待存儲數(shù)據(jù)存儲至所述nas設備中的安全存儲區(qū)塊;
25、當數(shù)據(jù)類型為性能模式數(shù)據(jù)時,所述存儲單元通過所述第二存儲鏈路,根據(jù)性能存儲區(qū)塊對應的存儲節(jié)點數(shù)量,將所述待存儲數(shù)據(jù)進行分段,得到若干個子數(shù)據(jù),以將各個所述子數(shù)據(jù)按照條帶化存儲模式,存儲至所述nas設備中的性能存儲區(qū)塊,其中,所述安全存儲區(qū)塊為數(shù)據(jù)備份模式,所述性能存儲區(qū)塊為條帶化存儲模式。
26、優(yōu)選地,所述方法,還包括:
27、所述管理單元偵測用戶端向所述存儲管理模塊發(fā)送待存儲數(shù)據(jù)的傳送速率,并偵測所述存儲池中各個所述nas設備的狀態(tài);
28、當傳送速率達到預設值時,所述管理單元根據(jù)各個所述nas設備的狀態(tài),將至少一個所述nas設備擴展為所述本地存儲模塊的臨時擴展模塊。
29、優(yōu)選地,所述存儲單元偵測用戶端通過所述存儲接口向所述存儲管理模塊發(fā)送的讀寫請求,并根據(jù)所述讀寫請求,向所述存儲池進行讀寫操作的步驟,還包括:
30、所述存儲單元獲取所述用戶端通過所述存儲接口向所述存儲管理模塊發(fā)送的待存儲數(shù)據(jù);
31、所述存儲單元將所述待存儲數(shù)據(jù)的屬性信息存儲在所述存儲管理模塊;
32、所述存儲單元將所述待存儲數(shù)據(jù)的數(shù)據(jù)信息發(fā)送至所述存儲池進行存儲。
33、優(yōu)選地,所述集群網(wǎng)絡存儲系統(tǒng)還包括從屬存儲管理模塊;所述從屬存儲管理模塊與所述存儲管理模塊通信連接,且所述從屬存儲管理模塊通信連接各個nas設備;所述方法,還包括:
34、所述管理單元將用戶端與所述存儲管理模塊之間的交互信息,以及所述存儲管理模塊與所述存儲池之間的交互信息,分別同步至所述從屬存儲管理模塊;
35、當偵測到所述存儲管理模塊狀態(tài)異常時,采用所述從屬存儲管理模塊替換所述存儲管理模塊。
36、優(yōu)選地,根據(jù)如下方式,確定待存儲數(shù)據(jù)的數(shù)據(jù)類型,并確定對應的存儲區(qū)塊:
37、獲取待存儲數(shù)據(jù)所屬數(shù)據(jù)來源的數(shù)據(jù)特征,其中,所述數(shù)據(jù)特征包括讀頻率、寫頻率、數(shù)據(jù)重要等級和數(shù)據(jù)量大??;
38、根據(jù)待存儲數(shù)據(jù)的所述數(shù)據(jù)特征,計算待存儲數(shù)據(jù)的特征值;
39、根據(jù)待存儲數(shù)據(jù)的特征值對應的特征值區(qū)間,確定待存儲數(shù)據(jù)的數(shù)據(jù)類型,根據(jù)待存儲數(shù)據(jù)的數(shù)據(jù)類型確定待存儲數(shù)據(jù)對應的raid模式;
40、根據(jù)待存儲數(shù)據(jù)對應的raid模式,確定對應的存儲區(qū)塊;
41、;
42、其中,c為待存儲數(shù)據(jù)的特征值,,n為數(shù)據(jù)特征的數(shù)量;為待存儲數(shù)據(jù)的第i個數(shù)據(jù)特征的權重值,,為待存儲數(shù)據(jù)的第i個數(shù)據(jù)特征的分值;
43、根據(jù)存儲池中已存儲的同種數(shù)據(jù)來源的存儲數(shù)據(jù)的實際存儲情況確定,包括:
44、根據(jù)存儲池中同種數(shù)據(jù)來源的存儲數(shù)據(jù)的實際讀頻率,確定對應的讀頻率分值;
45、根據(jù)存儲池中同種數(shù)據(jù)來源的存儲數(shù)據(jù)的實際寫頻率,確定對應的寫頻率分值;
46、數(shù)據(jù)重要等級根據(jù)待存儲數(shù)據(jù)所屬數(shù)據(jù)來源對應的重要等級確定;
47、待存儲數(shù)據(jù)所屬數(shù)據(jù)來源的數(shù)據(jù)量大小為存儲池中同種數(shù)據(jù)來源的存儲數(shù)據(jù)在存儲池中的數(shù)據(jù)總量大小。
48、為實現(xiàn)上述目的,本發(fā)明還提出一種集群網(wǎng)絡存儲系統(tǒng),用于執(zhí)行所述方法;所述存儲系統(tǒng)包括存儲管理模塊,所述存儲管理模塊設置有若干個網(wǎng)口;所述存儲管理模塊還提供若干個存儲接口;所述存儲管理模塊包括存儲驅動單元、存儲單元和管理單元;
49、所述管理單元用于在偵測到有新增的nas設備接入所述存儲管理模塊的網(wǎng)口時,為新增的所述nas設備分配ip地址;
50、所述存儲驅動單元用于在識別到新增的所述ip地址時,向新增的所述nas設備執(zhí)行配置操作,以將新增的所述nas設備擴展到存儲池;
51、所述存儲單元用于偵測用戶端通過所述存儲接口向所述存儲管理模塊發(fā)送的讀寫請求,并根據(jù)所述讀寫請求,向所述存儲池進行讀寫操作。
52、本發(fā)明的技術方案中,存儲系統(tǒng)設置有存儲管理模塊,通過存儲管理模塊提供各個網(wǎng)口,以使各個nas設備可以接入網(wǎng)口,并將各個nas設備配置為存儲池,nas設備新增時,可以隨時靈活地擴展到存儲池;而用戶端通過存儲管理模塊提供的存儲接口,可以訪問存儲系統(tǒng),并實現(xiàn)對存儲池進行讀寫操作。因此,本發(fā)明的存儲系統(tǒng)結構簡單,存儲過程就是存儲管理模塊到存儲池之間的交互,存儲過程中的鏈路通訊簡單,克服了現(xiàn)有技術中分布式存儲中的嚴重網(wǎng)絡延時情況,并且不會出現(xiàn)由于網(wǎng)絡延時導致的報錯,因此,本發(fā)明的技術方案有利于克服現(xiàn)有技術中,大型網(wǎng)絡存儲過程中鏈路復雜且容易觸發(fā)延時報錯的技術問題。