一種共享存儲資源的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施例共享存儲資源的方法和系統(tǒng),將硬盤和存儲陣列的存儲資源劃分為多個存儲分區(qū)并組成共享存儲資源池,為所述每個存儲分區(qū)分配讀寫控制模塊,并生成全局分區(qū)信息以記錄所述共享存儲資源池中的每個存儲分區(qū)與讀寫控制模塊的對應(yīng)關(guān)系,使得后續(xù)接收到存儲請求消息,能夠確定所述存儲請求消息對應(yīng)的存儲分區(qū),并根據(jù)所述全局分區(qū)信息,確定所述存儲請求消息對應(yīng)的存儲分區(qū)對應(yīng)的讀寫控制模塊,最終能夠向確定的所述讀寫控制模塊發(fā)送所述存儲請求消息,以使所述讀寫控制模塊執(zhí)行所述存儲請求消息所請求的操作。本發(fā)明實施例實現(xiàn)異構(gòu)存儲資源之間的快速簡單融合,可以高效地利用各種存儲資源,節(jié)約成本以及避免資源浪費。
【專利說明】一種共享存儲資源的方法和系統(tǒng)【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種共享存儲資源的方法和系統(tǒng)。
【背景技術(shù)】
[0002]在云計算應(yīng)用中,服務(wù)器集群系統(tǒng)整合計算資源、存儲資源和網(wǎng)絡(luò)資源,利用虛擬化等技術(shù)并通過網(wǎng)絡(luò)提供給用戶使用。應(yīng)用的形式例如為虛擬機(jī)(Virtual Machine,簡稱為“VM”)、計算能力、存儲能力租用等。
[0003]目前,由于資源需求的類型不同等原因,服務(wù)器集群系統(tǒng)提供的存儲資源通常采用不同的設(shè)備,存儲資源來源多樣化。例如,服務(wù)器節(jié)點的自帶的存儲資源,以及獨立部署的存儲資源,例如存儲區(qū)域網(wǎng)絡(luò)(Storage Area Network,簡稱為“SAN”)等專用存儲陣列或存儲服務(wù)器。
[0004]現(xiàn)有技術(shù)中,服務(wù)器集群系統(tǒng)各存儲設(shè)備獨立對外提供存儲服務(wù),存儲資源的聯(lián)合利用率并不高。再一方面,企業(yè)原始積累的網(wǎng)絡(luò)存儲設(shè)備的存儲資源并不能那個被服務(wù)器集群系統(tǒng)再次利用,造成了極大的浪費。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種共享存儲資源的方法和系統(tǒng),以對異構(gòu)存儲資源進(jìn)行整合和共享利用,提高存儲資源利用率。
[0006]第一方面,本發(fā)明實施例提出了一種共享存儲資源的方法,應(yīng)用于服務(wù)器集群系統(tǒng),所述服務(wù)器集群系統(tǒng)包括服務(wù)器節(jié)點和網(wǎng)絡(luò)存儲節(jié)點,所述服務(wù)器節(jié)點包括硬盤,所述網(wǎng)絡(luò)存儲節(jié)點包括存儲陣列,所述方法包括:`[0007]將所述硬盤和所述存儲陣列的存儲資源劃分為多個存儲分區(qū),所述多個存儲分區(qū)組成共享存儲資源池;
[0008]為所述每個存儲分區(qū)分配讀寫控制模塊;
[0009]生成全局分區(qū)信息,所述全局分區(qū)信息記錄了所述共享存儲資源池中的每個存儲分區(qū)與讀寫控制模塊的對應(yīng)關(guān)系;
[0010]接收存儲請求消息,確定所述存儲請求消息對應(yīng)的存儲分區(qū);
[0011]根據(jù)所述全局分區(qū)信息,確定所述存儲請求消息對應(yīng)的存儲分區(qū)對應(yīng)的讀寫控制模塊;
[0012]向確定的所述讀寫控制模塊發(fā)送所述存儲請求消息,以使所述讀寫控制模塊執(zhí)行所述存儲請求消息所請求的操作。
[0013]結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,所述確定所述存儲請求消息對應(yīng)的存儲分區(qū)包括:
[0014]確定所述存儲請求消息待操作的數(shù)據(jù)所在的用戶卷ID和所述待操作的數(shù)據(jù)的至少一個數(shù)據(jù)塊的邏輯塊地址LBA ;
[0015]根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。
[0016]結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述方法還包括:
[0017]建立所述共享存儲資源池的每個存儲分區(qū)的元數(shù)據(jù),所述每個存儲分區(qū)的元數(shù)據(jù)記錄本存儲分區(qū)ID與被分配到本存儲分區(qū)的數(shù)據(jù)塊ID的對應(yīng)關(guān)系;
[0018]則,所述根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)包括:
[0019]根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA確定所述至少一個數(shù)據(jù)塊的ID,查詢所述每個存儲分區(qū)的元數(shù)據(jù),確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)的ID。
[0020]結(jié)合第一方面或者第一方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)包括:
[0021]將所述用戶卷ID和每個數(shù)據(jù)塊的LBA組成所述每個數(shù)據(jù)塊的key值,計算所述每個數(shù)據(jù)塊的key值對應(yīng)的value值,根據(jù)所述value值確定所述每個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。
[0022]結(jié)合第一方面的第一種可能的實現(xiàn)方式或者第一方面的第二種可能的實現(xiàn)方式或者第一方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述接收存儲請求消息包括:接收創(chuàng)建用戶卷的命令,所述創(chuàng)建用戶卷的命令指示所述用戶卷的大?。?br>
[0023]則所述確定所述存儲請求消息待操作的數(shù)據(jù)所在的用戶卷ID和所述待操作的數(shù)據(jù)的至少一個數(shù)據(jù)塊的邏輯塊地址LBA,根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū),包括:
[0024]為所述用戶卷分配所述用戶卷ID ;
[0025]根據(jù)所述所述用戶卷的大小,確定分配給所述用戶卷的初始存儲資源的大小,根據(jù)所述初始存儲資源的大小確定至少一個數(shù)據(jù)塊的LBA ;
[0026]根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。
[0027]結(jié)合第一方面的第一種可能的實現(xiàn)方式或者第一方面的第二種可能的實現(xiàn)方式或者第一方面的第三種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述接收存儲請求消息包括:接收寫數(shù)據(jù)操作請求;
[0028]根據(jù)所述寫數(shù)據(jù)操作請求攜帶的文件名,確定當(dāng)前寫操作對應(yīng)的用戶卷ID ;
[0029]將待寫入的數(shù)據(jù)劃分為多個待寫入數(shù)據(jù)塊,并為每個待寫入數(shù)據(jù)塊分配LBA ;
[0030]根據(jù)所述當(dāng)前寫操作對應(yīng)的用戶卷ID和所述每個待寫入數(shù)據(jù)塊的LBA,確定所述每個待寫入數(shù)據(jù)塊對應(yīng)的存儲分區(qū);
[0031]根據(jù)所述全局分區(qū)信息,確定所述每個待寫入數(shù)據(jù)塊對應(yīng)的存儲分區(qū)所對應(yīng)的讀寫控制模塊;
[0032]生成多個數(shù)據(jù)塊寫命令,其中,每個數(shù)據(jù)塊寫命令對應(yīng)一個所述待寫入數(shù)據(jù)塊,所述每個數(shù)據(jù)塊寫命令攜帶待寫入數(shù)據(jù)塊以及待寫入數(shù)據(jù)的ID ;
[0033]分別向所述每個待寫入數(shù)據(jù)塊對應(yīng)的讀寫控制模塊發(fā)送所述每個數(shù)據(jù)塊寫命令,以使得所述每個待寫入數(shù)據(jù)塊對應(yīng)的讀寫控制模塊將所述每個待寫入數(shù)據(jù)塊寫入存儲硬件資源。
[0034]結(jié)合第一方面的第一種可能的實現(xiàn)方式或者第一方面的第二種可能的實現(xiàn)方式或者第一方面的第三種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述接收存儲請求消息包括:接收讀數(shù)據(jù)操作請求,所述讀數(shù)據(jù)操作請求攜帶文件名和待讀取數(shù)據(jù)的偏移量;
[0035]則根據(jù)所述讀數(shù)據(jù)操作請求攜帶的文件名,確定當(dāng)前讀操作對應(yīng)的用戶卷ID ;
[0036]根據(jù)所述待讀取數(shù)據(jù)的偏移量信息,確定多個待讀取數(shù)據(jù)塊的LBA ;
[0037]根據(jù)所述當(dāng)前讀操作對應(yīng)的用戶卷ID和每個待讀取數(shù)據(jù)塊的LBA,確定所述每個待讀取數(shù)據(jù)塊對應(yīng)的存儲分區(qū);
[0038]根據(jù)所述全局分區(qū)信息,確定所述多個待讀取數(shù)據(jù)塊對應(yīng)的存儲分區(qū)所對應(yīng)的讀寫控制模塊;
[0039]生成多個數(shù)據(jù)塊讀命令,其中,每個數(shù)據(jù)塊讀命令對應(yīng)一個所述待讀取數(shù)據(jù)塊,所述每個數(shù)據(jù)塊讀命令攜帶待讀取數(shù)據(jù)塊以及待讀取數(shù)據(jù)塊的ID ;
[0040]分別向所述每個待讀取數(shù)據(jù)塊對應(yīng)的讀寫控制模塊發(fā)送所述每個數(shù)據(jù)塊讀命令,以使得所述每個待讀取數(shù)據(jù)塊對應(yīng)的讀寫控制模塊讀取所述每個待讀取數(shù)據(jù)塊。
[0041]第二方面,本發(fā)明實施例提出了一種服務(wù)器集群系統(tǒng),所述服務(wù)器集群系統(tǒng)包括服務(wù)器節(jié)點和網(wǎng)絡(luò)存儲節(jié)點,所述服務(wù)器節(jié)點包括硬盤,所述網(wǎng)絡(luò)存儲節(jié)點包括存儲陣列,所述服務(wù)器節(jié)點上運行分布式存儲控制器,所述分布式存儲控制器包括:
[0042]元數(shù)據(jù)控制器,用于將所述硬盤和所述存儲陣列的存儲資源劃分為多個存儲分區(qū),所述多個存儲分區(qū)組成共享存儲資源池,為所述每個存儲分區(qū)分配讀寫控制模塊,生成全局分區(qū)信息,所述全局分區(qū)信息記錄了所述共享存儲資源池中的每個存儲分區(qū)與讀寫控制模塊的對應(yīng)關(guān)系,以及向虛擬塊服務(wù)模塊下發(fā)所述全局分區(qū)信息;
[0043]所述虛擬塊服務(wù)模塊,用于面向業(yè)務(wù)層,接收存儲請求消息,確定所述存儲請求消息對應(yīng)的存儲分區(qū),根據(jù)所述全局分區(qū)信息,確定所述存儲請求消息對應(yīng)的存儲分區(qū)對應(yīng)的讀寫控制模塊,以及向確定的所述讀寫控制模塊發(fā)送所述存儲請求消息;
[0044]所述讀寫控制模塊,用于面向所述硬盤或所述網(wǎng)絡(luò)存儲節(jié)點,執(zhí)行所述存儲請求消息所請求的操作。
[0045]結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,所述讀寫控制模塊包括對象存儲代理和網(wǎng)絡(luò)存儲代理;
[0046]所述元數(shù)據(jù)控制器具體用于為所述本地硬盤組成的存儲分區(qū)分配所述對象存儲代理作為讀寫控制模塊,為所述存儲陣列組成的存儲分區(qū)分配所述網(wǎng)絡(luò)存儲代理作為讀寫控制|吳塊;
[0047]所述對象存儲代理,用于接收存儲請求消息,確定所述存儲請求消息對應(yīng)的物理地址,根據(jù)所述物理地址在所述硬盤上執(zhí)行所述存儲請求消息所請求的操作;
[0048]所述網(wǎng)絡(luò)存儲代理,用于接收存儲請求消息,確定所述存儲請求消息對應(yīng)的網(wǎng)絡(luò)存儲節(jié)點的邏輯地址,根據(jù)所述邏輯地址在所述存儲陣列上執(zhí)行所述存儲請求消息所請求的操作。
[0049]結(jié)合第二方面,在第二種可能的實現(xiàn)方式中,所述虛擬塊服務(wù)模塊,具體用于確定所述存儲請求消息待操作的數(shù)據(jù)所在的用戶卷ID和所述待操作的數(shù)據(jù)的至少一個數(shù)據(jù)塊的邏輯塊地址LBA,根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。
[0050]結(jié)合第二方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述虛擬塊服務(wù)模塊,具體用于建立所述共享存儲資源池的每個存儲分區(qū)的元數(shù)據(jù),所述每個存儲分區(qū)的元數(shù)據(jù)記錄本存儲分區(qū)ID與被分配到本存儲分區(qū)的數(shù)據(jù)塊ID的對應(yīng)關(guān)系,根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA確定所述至少一個數(shù)據(jù)塊的ID,查詢所述每個存儲分區(qū)的元數(shù)據(jù),確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)的ID。
[0051]結(jié)合第二方面的第二種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述虛擬塊服務(wù)模塊,具體用于將所述用戶卷ID和每個數(shù)據(jù)塊的LBA組成所述每個數(shù)據(jù)塊的key值,計算所述每個數(shù)據(jù)塊的key值對應(yīng)的value值,根據(jù)所述value值確定所述每個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。
[0052]結(jié)合第二方面以及第二方面的任意一種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述虛擬塊服務(wù)模塊,具體用于接收創(chuàng)建用戶卷的命令,所述創(chuàng)建用戶卷的命令指示所述用戶卷的大小,為所述用戶卷分配所述用戶卷ID,根據(jù)所述所述用戶卷的大小,確定分配給所述用戶卷的初始存儲資源的大小,根據(jù)所述初始存儲資源的大小確定至少一個數(shù)據(jù)塊的LBA,以及根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。
[0053]結(jié)合第二方面以及第二方面的任意一種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述虛擬塊服務(wù)模塊,具體用于接收寫數(shù)據(jù)操作請求,根據(jù)所述寫數(shù)據(jù)操作請求攜帶的文件名,確定當(dāng)前寫操作對應(yīng)的用戶卷ID,將待寫入的數(shù)據(jù)劃分為多個待寫入數(shù)據(jù)塊,并為每個待寫入數(shù)據(jù)塊分配LBA,根據(jù)所述當(dāng)前寫操作對應(yīng)的用戶卷ID和所述每個待寫入數(shù)據(jù)塊的LBA,確定所述每個待寫入數(shù)據(jù)塊對應(yīng)的存儲分區(qū),根據(jù)所述全局分區(qū)信息,確定所述每個待寫入數(shù)據(jù)塊對應(yīng)的存儲分區(qū)所對應(yīng)的讀寫控制模塊,生成多個數(shù)據(jù)塊寫命令,其中,每個數(shù)據(jù)塊寫命令對應(yīng)一個所述待寫入數(shù)據(jù)塊,所述每個數(shù)據(jù)塊寫命令攜帶待寫入數(shù)據(jù)塊以及待寫入數(shù)據(jù)的ID,以及分別向所述每個待寫入數(shù)據(jù)塊對應(yīng)的讀寫控制模塊發(fā)送所述每個數(shù)據(jù)塊寫命令。
[0054]結(jié)合第二方面以及第二方面的任意一種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,所述虛擬塊服務(wù)模塊,具體用于接收讀數(shù)據(jù)操作請求,所述讀數(shù)據(jù)操作請求攜帶文件名和待讀取數(shù)據(jù)的偏移量,根據(jù)所述讀數(shù)據(jù)操作請求攜帶的文件名,確定當(dāng)前讀操作對應(yīng)的用戶卷ID,根據(jù)所述待讀取數(shù)據(jù)的偏移量信息,確定多個待讀取數(shù)據(jù)塊的LBA,以及根據(jù)所述當(dāng)前讀操作對應(yīng)的用戶卷ID和每個待讀取數(shù)據(jù)塊的LBA,確定所述每個待讀取數(shù)據(jù)塊對應(yīng)的存儲分區(qū),根據(jù)所述全局分區(qū)信息,確定所述多個待讀取數(shù)據(jù)塊對應(yīng)的存儲分區(qū)所對應(yīng)的讀寫控制模塊,生成多個數(shù)據(jù)塊讀命令,其中,每個數(shù)據(jù)塊讀命令對應(yīng)一個所述待讀取數(shù)據(jù)塊,所述每個數(shù)據(jù)塊讀命令攜帶待讀取數(shù)據(jù)塊以及待讀取數(shù)據(jù)塊的ID,以及分別向所述每個待讀取數(shù)據(jù)塊對應(yīng)的讀寫控制模塊發(fā)送所述每個數(shù)據(jù)塊讀命令。
[0055]結(jié)合第二方面以及第二方面的任意一種可能的實現(xiàn)方式,在第八種可能的實現(xiàn)方式中,所述元數(shù)據(jù)控制器,還用于分別確定所述對象存儲代理和所述網(wǎng)絡(luò)存儲代理在所述服務(wù)器節(jié)點上的部署情況,并根據(jù)確定的部署情況生成讀寫控制模塊的視圖信息,所述讀寫控制模塊的視圖信息用于指示每個讀寫控制模塊部署的服務(wù)器節(jié)點的信息,以及向所述虛擬塊服務(wù)模塊下發(fā)所述讀寫控制模塊的視圖信息;
[0056]所述虛擬塊服務(wù)模塊,具體用于根據(jù)所述讀寫控制模塊的視圖信息確定讀寫控制模塊的路由信息,向確定的所述讀寫控制模塊發(fā)送所述存儲請求消息。
[0057]結(jié)合第二方面的第八種可能的實現(xiàn)方式,在第九種可能的實現(xiàn)方式中,所述元數(shù)據(jù)控制器具體用于確定將所述對象存儲代理部署在所述服務(wù)器集群系統(tǒng)中具備硬盤資源的服務(wù)器節(jié)點上,以及確定將所述網(wǎng)絡(luò)存儲代理部署在所述服務(wù)器集群系統(tǒng)中的負(fù)載小的服務(wù)器節(jié)點上。
[0058]結(jié)合第二方面的第八種可能的實現(xiàn)方式,在第十種可能的實現(xiàn)方式中,所述元數(shù)據(jù)控制器,還用于搜集所述服務(wù)器節(jié)點的硬盤的可用存儲資源和所述網(wǎng)絡(luò)存儲節(jié)點的存儲陣列的可用存儲資源,將所述硬盤和所述存儲陣列的可用存儲資源劃分為多個存儲分區(qū)。
[0059]第三方面,本發(fā)明實施例提供一種計算機(jī)。
[0060]第四方面,本發(fā)明實施例提供一種計算機(jī)存儲介質(zhì)。
[0061]由上述技術(shù)方案可知,本發(fā)明實施例,將硬盤和存儲陣列的存儲資源劃分為多個存儲分區(qū)并組成共享存儲資源池,為所述每個存儲分區(qū)分配讀寫控制模塊,并生成全局分區(qū)信息以記錄所述共享存儲資源池中的每個存儲分區(qū)與讀寫控制模塊的對應(yīng)關(guān)系,使得后續(xù)接收到存儲請求消息,能夠確定所述存儲請求消息對應(yīng)的存儲分區(qū),并根據(jù)所述全局分區(qū)信息,確定所述存儲請求消息對應(yīng)的存儲分區(qū)對應(yīng)的讀寫控制模塊,最終能夠向確定的所述讀寫控制模塊發(fā)送所述存儲請求消息,以使所述讀寫控制模塊執(zhí)行所述存儲請求消息所請求的操作。本發(fā)明實施例實現(xiàn)異構(gòu)存儲資源之間的快速簡單融合,可以高效地利用各種存儲資源,節(jié)約成本以及避免資源浪費。
【專利附圖】
【附圖說明】
[0062]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例。
[0063]圖1為本發(fā)明實施例提供的服務(wù)器集群系統(tǒng)的示意性框圖;
[0064]圖2為本發(fā)明實施例提供的共享存儲資源的劃分示意圖;
[0065]圖3為本發(fā)明實施例提供的使用共享存儲資源的流程圖;
[0066]圖4為本發(fā)明實施例提供的使用共享存儲資源的又一流程圖;
[0067]圖5為本發(fā)明實施例提供的使用共享存儲資源的又一流程圖;
[0068]圖6為本發(fā)明實施例提供的服務(wù)器集群系統(tǒng)的又一示意性框圖;
[0069]圖7是根據(jù)本發(fā)明實施例提供的一種計算機(jī)的組成圖。
【具體實施方式】
[0070]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。
[0071]另外,本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。
[0072]本發(fā)明實施例提供的技術(shù)方案通過在服務(wù)器上部署分布式控制器來實現(xiàn)異構(gòu)存儲資源的融合,實現(xiàn)無需另外購買異構(gòu)存儲融合的設(shè)備,即可實現(xiàn)異構(gòu)存儲資源的融合和利用,提升系統(tǒng)的性價比。
[0073]本發(fā)明實施例在實現(xiàn)計算資源與存儲資源的垂直融合的基礎(chǔ)上,再將各種存儲資源進(jìn)行水平整合,尤其是對異構(gòu)存儲資源進(jìn)行整合和利用,本發(fā)明實施例通過在服務(wù)器上部署分布式存儲控制器,將各種異構(gòu)存儲資源組成集群共享存儲資源池,統(tǒng)一進(jìn)行存儲資源的分配和管理。通過這種方法,可以實現(xiàn)異構(gòu)存儲資源之間的快速簡單融合,可以高效地利用各種存儲資源,節(jié)約成本以及避免資源浪費。
[0074]本發(fā)明實施例所說的異構(gòu)存儲資源,指的是兩種或者兩種以上不同類型的存儲設(shè)備,具體來說,第一種存儲設(shè)備意指服務(wù)器節(jié)點自帶的本地硬盤,例如固態(tài)硬盤(SolidState Disk, SSD)、機(jī)械硬盤(Hard Disk, HD)、混合硬盤(Hybrid Hard Disk, HHD)等;第二種存儲設(shè)備意指網(wǎng)絡(luò)存儲節(jié)點,所述的網(wǎng)絡(luò)存儲節(jié)點可以是存儲區(qū)域網(wǎng)絡(luò)(Storage AreaNetwork, SAN)存儲設(shè)備,也可以是網(wǎng)絡(luò)附加存儲(Network Attached Storage, NAS)存儲設(shè)備,所述的網(wǎng)絡(luò)存儲節(jié)點為服務(wù)器外置的硬件設(shè)備,并非服務(wù)器自身所帶的設(shè)備。
[0075]如圖1所示,為本發(fā)明實施例提供的服務(wù)器集群系統(tǒng)的組成圖,該服務(wù)器集群系統(tǒng)通過網(wǎng)絡(luò)層與應(yīng)用客戶端或者存儲管理中心通信,所述服務(wù)器集群系統(tǒng)由服務(wù)器節(jié)點和網(wǎng)絡(luò)存儲節(jié)點(本實施例以SAN存儲設(shè)備為例)組成,服務(wù)器節(jié)點和網(wǎng)絡(luò)存儲節(jié)點均可以是一個或多個,本實施例以2臺SAN存儲節(jié)點為例,每臺服務(wù)器節(jié)點的物理設(shè)備包含CPU、內(nèi)存、網(wǎng)絡(luò)和硬盤等,網(wǎng)絡(luò)存儲節(jié)點的物理設(shè)備包含存儲陣列和存儲陣列的控制器,本實施例將服務(wù)器節(jié)點的CPU和內(nèi)存等用于為接入所述服務(wù)器集群系統(tǒng)的應(yīng)用程序提供計算資源的物理設(shè)備統(tǒng)稱為所述服務(wù)器集群系統(tǒng)的計算資源,其為組成計算層的基礎(chǔ),將存儲資源層的服務(wù)器節(jié)點的硬盤和網(wǎng)絡(luò)存儲節(jié)點的存儲陣列統(tǒng)稱為統(tǒng)稱為所述服務(wù)器集群系統(tǒng)的存儲資源。
[0076]所述服務(wù)器集群用于對外將計算資源提供給不同的應(yīng)用程序使用,例如可以在所述服務(wù)器集群上運行WEB應(yīng)用或者HAD00P分布式集群系統(tǒng)。所述服務(wù)器集群的計算資源還可以進(jìn)一步被抽象成多臺虛擬機(jī),在每臺虛擬機(jī)上運行不同的應(yīng)用程序,或者多臺虛擬機(jī)組成虛擬機(jī)集群從而為同一個應(yīng)用程序提供服務(wù),本實施例對具體實現(xiàn)形式不拘一格。當(dāng)所述服務(wù)器集群上運行應(yīng)用程序,所述應(yīng)用程序的相關(guān)數(shù)據(jù)可以存儲在所述服務(wù)器集群系統(tǒng)的存儲資源上,即存儲在服務(wù)器節(jié)點的硬盤上或者SAN節(jié)點的存儲陣列中,也可以同時存儲在服務(wù)器節(jié)點的硬盤和SAN節(jié)點的存儲陣列中。
[0077]本發(fā)明實施例的所述服務(wù)器集群系統(tǒng)還運行了分布式存儲控制器,所述分布式存儲控制器用于將服務(wù)器節(jié)點的硬盤和網(wǎng)絡(luò)存儲節(jié)點(如SAN)提供的存儲陣列的存儲資源劃分為多個存儲分區(qū),所述多個存儲分區(qū)組成所述服務(wù)器集群系統(tǒng)的共享存儲資源池,運行在所述服務(wù)器集群上的應(yīng)用程序可以從所述共享存儲資源池中獲得分布的存儲資源塊并進(jìn)行使用,保證了存儲資源的較高的利用率和存儲的均勻分布,并由此提升了存儲資源的讀寫效率。在本發(fā)明實施例中所述分布式存儲控制器通過安裝在服務(wù)器的硬件設(shè)備上的軟件模塊來實現(xiàn),從而可以避免另外購置硬件設(shè)備作為存儲控制設(shè)備的問題,解決方案更加經(jīng)濟(jì)并節(jié)約成本。[0078]本發(fā)明實施例所述分布式存儲控制器是對每臺服務(wù)器節(jié)點上運行的存儲控制功能模塊的統(tǒng)稱,作為解決方案提供的分布式存儲控制器可以包含不同的功能模塊,而在實際部署的時候,每臺服務(wù)器節(jié)點根據(jù)其功能和部署策略可以運行分布式存儲控制器的不同的功能模塊,也就是說,根據(jù)服務(wù)器集群的部署策略,可以在不同的服務(wù)器節(jié)點上運行分布式存儲控制器的不同的功能模塊,每臺服務(wù)器節(jié)點可以運行分布式存儲控制器所有的功能模塊,也可以運行分布式存儲控制器部分的功能模塊,具體部署方式下文將詳細(xì)描述。
[0079]所述分布式存儲控制器主要用于:對所述服務(wù)器集群系統(tǒng)的計算資源提供數(shù)據(jù)訪問的接口,以及對所述服務(wù)器集群系統(tǒng)的共享存儲資源進(jìn)行管理和讀寫控制。
[0080]具體地,所述分布式存儲控制器從功能上可以劃分為如下模塊:
[0081]元數(shù)據(jù)控制器MDC,用于獲取服務(wù)器節(jié)點本地硬盤的存儲資源和網(wǎng)絡(luò)存儲節(jié)點的存儲陣列的存儲資源,將所述服務(wù)器節(jié)點的存儲資源和網(wǎng)絡(luò)存儲節(jié)點的存儲資源劃分為多個存儲分區(qū)(partition),并為每個存儲分區(qū)分配一個存儲分區(qū)標(biāo)識,再將所述多個存儲分區(qū)組成一個共享存儲資源池,以供運行在所述服務(wù)器集群系統(tǒng)上的應(yīng)用程序使用共享存儲資源。
[0082]具體地,所述MDC可以先對服務(wù)器節(jié)點的硬盤資源和網(wǎng)絡(luò)存儲節(jié)點的存儲陣列進(jìn)行健康檢查,搜集其中可用的存儲資源形成所述共享存儲資源池。所述MDC在劃分分區(qū)的時候,可以劃分為相同大小的存儲分區(qū),例如以IOGB為單位劃分。其中,所述MDC搜集的所述存儲資源可以包括:每塊硬盤的容量和ID、每塊硬盤所在的服務(wù)器的ID、每個存儲陣列包含的每個邏輯存儲單元LUN的容量和ID,以及每個LUN所在的網(wǎng)絡(luò)存儲節(jié)點的ID。
[0083]所述MDC搜集到的 存 儲資源的信息舉例如下:
【權(quán)利要求】
1.一種共享存儲資源的方法,其特征在于,應(yīng)用于服務(wù)器集群系統(tǒng),所述服務(wù)器集群系統(tǒng)包括服務(wù)器節(jié)點和網(wǎng)絡(luò)存儲節(jié)點,所述服務(wù)器節(jié)點包括硬盤,所述網(wǎng)絡(luò)存儲節(jié)點包括存儲陣列,所述方法包括: 將所述硬盤和所述存儲陣列的存儲資源劃分為多個存儲分區(qū),所述多個存儲分區(qū)組成共享存儲資源池; 為所述每個存儲分區(qū)分配讀寫控制模塊; 生成全局分區(qū)信息,所述全局分區(qū)信息記錄了所述共享存儲資源池中的每個存儲分區(qū)與讀寫控制模塊的對應(yīng)關(guān)系; 接收存儲請求消息,確定所述存儲請求消息對應(yīng)的存儲分區(qū); 根據(jù)所述全局分區(qū)信息,確定所述存儲請求消息對應(yīng)的存儲分區(qū)對應(yīng)的讀寫控制模塊; 向確定的所述讀寫控制模塊發(fā)送所述存儲請求消息,以使所述讀寫控制模塊執(zhí)行所述存儲請求消息所請求的操作。
2.如權(quán)利要求1所述的方法,其特征在于,所述確定所述存儲請求消息對應(yīng)的存儲分區(qū)包括: 確定所述存儲請求消息待操作的數(shù)據(jù)所在的用戶卷ID和所述待操作的數(shù)據(jù)的至少一個數(shù)據(jù)塊的邏輯塊地址LBA ; 根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。`
3.如權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 建立所述共享存儲資源池的每個存儲分區(qū)的元數(shù)據(jù),所述每個存儲分區(qū)的元數(shù)據(jù)記錄本存儲分區(qū)ID與被分配到本存儲分區(qū)的數(shù)據(jù)塊ID的對應(yīng)關(guān)系; 貝U,所述根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)包括: 根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA確定所述至少一個數(shù)據(jù)塊的ID,查詢所述每個存儲分區(qū)的元數(shù)據(jù),確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)的ID。
4.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)包括: 將所述用戶卷ID和每個數(shù)據(jù)塊的LBA組成所述每個數(shù)據(jù)塊的key值,計算所述每個數(shù)據(jù)塊的key值對應(yīng)的value值,根據(jù)所述value值確定所述每個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。
5.如權(quán)利要求2或3或4所述的方法,其特征在于,所述接收存儲請求消息包括:接收創(chuàng)建用戶卷的命令,所述創(chuàng)建用戶卷的命令指示所述用戶卷的大??; 則所述確定所述存儲請求消息待操作的數(shù)據(jù)所在的用戶卷ID和所述待操作的數(shù)據(jù)的至少一個數(shù)據(jù)塊的邏輯塊地址LBA,根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū),包括: 為所述用戶卷分配所述用戶卷ID ; 根據(jù)所述所述用戶卷的大小,確定分配給所述用戶卷的初始存儲資源的大小,根據(jù)所述初始存儲資源的大小確定至少一個數(shù)據(jù)塊的LBA ; 根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。
6.如權(quán)利要求5所述的方法,其特征在于,所述確定分配給所述用戶卷的初始存儲資源的大小包括: 所述初始存儲資源的大小小于或等于所述創(chuàng)建用戶卷的命令指示的所述用戶卷的大小。
7.如權(quán)利要求2或3或4所述的方法,其特征在于,所述接收存儲請求消息包括:接收寫數(shù)據(jù)操作請求; 則所述確定所述存儲請求消息待操作的數(shù)據(jù)所在的用戶卷ID和所述待操作的數(shù)據(jù)的至少一個數(shù)據(jù)塊的邏輯塊地址LBA,根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū),包括: 根據(jù)所述寫數(shù)據(jù)操作請求攜帶的文件名,確定當(dāng)前寫操作對應(yīng)的用戶卷ID ; 將待寫入的數(shù)據(jù)劃分為多個待寫入數(shù)據(jù)塊,并為每個待寫入數(shù)據(jù)塊分配LBA ; 根據(jù)所述當(dāng)前寫操作對應(yīng)的用戶卷ID和所述每個待寫入數(shù)據(jù)塊的LBA,確定所述每個待寫入數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。
8.如權(quán)利要求7所述的方法,其特征在于,所述將待寫入的數(shù)據(jù)劃分為大小平均的所述多個待寫入數(shù)據(jù)塊。
9.如權(quán)利要求8所述的方法,其特征在于,所述根據(jù)所述全局分區(qū)信息,確定所述存儲請求消息對應(yīng)的讀寫控制模塊;向確定的所述讀寫控制模塊發(fā)送所述存儲請求消息,以使所述讀寫控制模塊執(zhí)行所述存儲請求消息所請求的操作,包括: 根據(jù)所述全局分區(qū)信息,確定`所述每個待寫入數(shù)據(jù)塊對應(yīng)的存儲分區(qū)所對應(yīng)的讀寫控制豐旲塊; 生成多個數(shù)據(jù)塊寫命令,其中,每個數(shù)據(jù)塊寫命令對應(yīng)一個所述待寫入數(shù)據(jù)塊,所述每個數(shù)據(jù)塊寫命令攜帶待寫入數(shù)據(jù)塊以及待寫入數(shù)據(jù)的ID ; 分別向所述每個待寫入數(shù)據(jù)塊對應(yīng)的讀寫控制模塊發(fā)送所述每個數(shù)據(jù)塊寫命令,以使得所述每個待寫入數(shù)據(jù)塊對應(yīng)的讀寫控制模塊將所述每個待寫入數(shù)據(jù)塊寫入存儲硬件資源。
10.如權(quán)利要求2或3或4所述的方法,其特征在于,所述接收存儲請求消息包括:接收讀數(shù)據(jù)操作請求,所述讀數(shù)據(jù)操作請求攜帶文件名和待讀取數(shù)據(jù)的偏移量; 則所述確定所述存儲請求消息待操作的數(shù)據(jù)所在的用戶卷ID和所述待操作的數(shù)據(jù)的至少一個數(shù)據(jù)塊的邏輯塊地址LBA,根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū),包括: 根據(jù)所述讀數(shù)據(jù)操作請求攜帶的文件名,確定當(dāng)前讀操作對應(yīng)的用戶卷ID ; 根據(jù)所述待讀取數(shù)據(jù)的偏移量信息,確定多個待讀取數(shù)據(jù)塊的LBA ; 根據(jù)所述當(dāng)前讀操作對應(yīng)的用戶卷ID和每個待讀取數(shù)據(jù)塊的LBA,確定所述每個待讀取數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。
11.如權(quán)利要求10所述的方法,其特征在于,根據(jù)所述待讀取數(shù)據(jù)的偏移量信息,確定多個大小平均的所述待讀取數(shù)據(jù)塊。
12.如權(quán)利要求10所述的方法,其特征在于,所述根據(jù)所述全局分區(qū)信息,確定所述存儲請求消息對應(yīng)的讀寫控制模塊;向確定的所述讀寫控制模塊發(fā)送所述存儲請求消息,以使所述讀寫控制模塊執(zhí)行所述存儲請求消息所請求的操作,包括: 根據(jù)所述全局分區(qū)信息,確定所述多個待讀取數(shù)據(jù)塊對應(yīng)的存儲分區(qū)所對應(yīng)的讀寫控制豐旲塊; 生成多個數(shù)據(jù)塊讀命令,其中,每個數(shù)據(jù)塊讀命令對應(yīng)一個所述待讀取數(shù)據(jù)塊,所述每個數(shù)據(jù)塊讀命令攜帶待讀取數(shù)據(jù)塊以及待讀取數(shù)據(jù)塊的ID ; 分別向所述每個待讀取數(shù)據(jù)塊對應(yīng)的讀寫控制模塊發(fā)送所述每個數(shù)據(jù)塊讀命令,以使得所述每個待讀取數(shù)據(jù)塊對應(yīng)的讀寫控制模塊讀取所述每個待讀取數(shù)據(jù)塊。
13.一種服務(wù)器集群系統(tǒng),其特征在于,所述服務(wù)器集群系統(tǒng)包括服務(wù)器節(jié)點和網(wǎng)絡(luò)存儲節(jié)點,所述服務(wù)器節(jié)點包括硬盤,所述網(wǎng)絡(luò)存儲節(jié)點包括存儲陣列,所述服務(wù)器節(jié)點上運行分布式存儲控制器,所述分布式存儲控制器包括: 元數(shù)據(jù)控制器,用于將所述硬盤和所述存儲陣列的存儲資源劃分為多個存儲分區(qū),所述多個存儲分區(qū)組成共享存儲資源池,為所述每個存儲分區(qū)分配讀寫控制模塊,生成全局分區(qū)信息,所述全局分區(qū)信息記錄了所述共享存儲資源池中的每個存儲分區(qū)與讀寫控制模塊的對應(yīng)關(guān)系,以及向虛擬塊服務(wù)模塊下發(fā)所述全局分區(qū)信息; 所述虛擬塊服務(wù)模塊,用于面向業(yè)務(wù)層,接收存儲請求消息,確定所述存儲請求消息對應(yīng)的存儲分區(qū),根據(jù)所述全局分區(qū)信息,確定所述存儲請求消息對應(yīng)的存儲分區(qū)對應(yīng)的讀寫控制模塊,以及向確定的所述讀寫控制模塊發(fā)送所述存儲請求消息; 所述讀寫控制模塊,用于面向所述硬盤或所述網(wǎng)絡(luò)存儲節(jié)點,執(zhí)行所述存儲請求消息所請求的操作。
14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述讀寫控制模塊包括對象存儲代理和網(wǎng)絡(luò)存儲代理; 所述元數(shù)據(jù)控制器具體用于為所述本地硬盤組成的存儲分區(qū)分配所述對象存儲代理作為讀寫控制模塊,為所述存儲陣列組成的存儲分區(qū)分配所述網(wǎng)絡(luò)存儲代理作為讀寫控制模塊; 所述對象存儲代理,用于接收存儲請求消息,確定所述存儲請求消息對應(yīng)的物理地址,根據(jù)所述物理地址在所述硬盤上執(zhí)行所述存儲請求消息所請求的操作; 所述網(wǎng)絡(luò)存儲代理,用于接收存儲請求消息,確定所述存儲請求消息對應(yīng)的網(wǎng)絡(luò)存儲節(jié)點的邏輯地址,根據(jù)所述邏輯地址在所述存儲陣列上執(zhí)行所述存儲請求消息所請求的操作。
15.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述虛擬塊服務(wù)模塊,具體用于確定所述存儲請求消息待操作的數(shù)據(jù)所在的用戶卷ID和所述待操作的數(shù)據(jù)的至少一個數(shù)據(jù)塊的邏輯塊地址LBA,根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述虛擬塊服務(wù)模塊,具體用于建立所述共享存儲資源池的每個存儲分區(qū)的元數(shù)據(jù),所述每個存儲分區(qū)的元數(shù)據(jù)記錄本存儲分區(qū)ID與被分配到本存儲分區(qū)的數(shù)據(jù)塊ID的對應(yīng)關(guān)系,根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA確定所述至少一個數(shù)據(jù)塊的ID,查詢所述每個存儲分區(qū)的元數(shù)據(jù),確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)的ID。
17.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述虛擬塊服務(wù)模塊,具體用于將所述用戶卷ID和每個數(shù)據(jù)塊的LBA組成所述每個數(shù)據(jù)塊的key值,計算所述每個數(shù)據(jù)塊的key值對應(yīng)的value值,根據(jù)所述value值確定所述每個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。
18.如權(quán)利要求13-17任一項所述的系統(tǒng),其特征在于,所述虛擬塊服務(wù)模塊,具體用于接收創(chuàng)建用戶卷的命令,所述創(chuàng)建用戶卷的命令指示所述用戶卷的大小,為所述用戶卷分配所述用戶卷ID,根據(jù)所述所述用戶卷的大小,確定分配給所述用戶卷的初始存儲資源的大小,根據(jù)所述初始存儲資源的大小確定至少一個數(shù)據(jù)塊的LBA,以及根據(jù)所述用戶卷ID和所述至少一個數(shù)據(jù)塊的LBA,確定所述至少一個數(shù)據(jù)塊對應(yīng)的存儲分區(qū)。
19.如權(quán)利要求13-17任一項所述的系統(tǒng),其特征在于,所述虛擬塊服務(wù)模塊,具體用于接收寫數(shù)據(jù)操作請求,根據(jù)所述寫數(shù)據(jù)操作請求攜帶的文件名,確定當(dāng)前寫操作對應(yīng)的用戶卷ID,將待寫入的數(shù)據(jù)劃分為多個待寫入數(shù)據(jù)塊,并為每個待寫入數(shù)據(jù)塊分配LBA,根據(jù)所述當(dāng)前寫操作對應(yīng)的用戶卷ID和所述每個待寫入數(shù)據(jù)塊的LBA,確定所述每個待寫入數(shù)據(jù)塊對應(yīng)的存儲分區(qū),根據(jù)所述全局分區(qū)信息,確定所述每個待寫入數(shù)據(jù)塊對應(yīng)的存儲分區(qū)所對應(yīng)的讀寫控制模塊,生成多個數(shù)據(jù)塊寫命令,其中,每個數(shù)據(jù)塊寫命令對應(yīng)一個所述待寫入數(shù)據(jù)塊,所述每個數(shù)據(jù)塊寫命令攜帶待寫入數(shù)據(jù)塊以及待寫入數(shù)據(jù)的ID,以及分別向所述每個待寫入數(shù)據(jù)塊對應(yīng)的讀寫控制模塊發(fā)送所述每個數(shù)據(jù)塊寫命令。
20.如權(quán)利要求13-17任一項所述的系統(tǒng),其特征在于,所述虛擬塊服務(wù)模塊,具體用于接收讀數(shù)據(jù)操作請求,所述讀數(shù)據(jù)操作請求攜帶文件名和待讀取數(shù)據(jù)的偏移量,根據(jù)所述讀數(shù)據(jù)操作請求攜帶的文件名,確定當(dāng)前讀操作對應(yīng)的用戶卷ID,根據(jù)所述待讀取數(shù)據(jù)的偏移量信息,確定多個待讀取數(shù)據(jù)塊的LBA,以及根據(jù)所述當(dāng)前讀操作對應(yīng)的用戶卷ID和每個待讀取數(shù)據(jù)塊的LBA,確定所述每個待讀取數(shù)據(jù)塊對應(yīng)的存儲分區(qū),根據(jù)所述全局分區(qū)信息,確定所述多個待讀取數(shù)據(jù)塊對應(yīng)的存儲分區(qū)所對應(yīng)的讀寫控制模塊,生成多個數(shù)據(jù)塊讀命令,其中,每個數(shù)據(jù)塊讀命令對應(yīng)一個所述待讀取數(shù)據(jù)塊,所述每個數(shù)據(jù)塊讀命令攜帶待讀取數(shù)據(jù)塊以及待讀取數(shù)據(jù)塊的ID,以及分別向所述每個待讀取數(shù)據(jù)塊對應(yīng)的讀寫控制模塊發(fā)送所述每個數(shù)據(jù)塊讀命令。
21.如權(quán)利要求13-1`7任一項所述的系統(tǒng),其特征在于,所述元數(shù)據(jù)控制器,還用于分別確定所述對象存儲代理和所述網(wǎng)絡(luò)存儲代理在所述服務(wù)器節(jié)點上的部署情況,并根據(jù)確定的部署情況生成讀寫控制模塊的視圖信息,所述讀寫控制模塊的視圖信息用于指示每個讀寫控制模塊部署的服務(wù)器節(jié)點的信息,以及向所述虛擬塊服務(wù)模塊下發(fā)所述讀寫控制模塊的視圖信息; 所述虛擬塊服務(wù)模塊,具體用于根據(jù)所述讀寫控制模塊的視圖信息確定讀寫控制模塊的路由信息,向確定的所述讀寫控制模塊發(fā)送所述存儲請求消息。
22.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述元數(shù)據(jù)控制器具體用于確定將所述對象存儲代理部署在所述服務(wù)器集群系統(tǒng)中具備硬盤資源的服務(wù)器節(jié)點上,以及確定將所述網(wǎng)絡(luò)存儲代理部署在所述服務(wù)器集群系統(tǒng)中的負(fù)載小的服務(wù)器節(jié)點上。
23.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述元數(shù)據(jù)控制器,還用于搜集所述服務(wù)器節(jié)點的硬盤的可用存儲資源和所述網(wǎng)絡(luò)存儲節(jié)點的存儲陣列的可用存儲資源,將所述硬盤和所述存儲陣列的可用存儲資源劃分為多個存儲分區(qū)。
24.一種計算機(jī),其特征在于,包括:處理器、存儲器、總線和通信接口 ; 所述存儲器用于存儲計算機(jī)執(zhí)行指令,所述處理器與所述存儲器通過所述總線連接,當(dāng)所述計算機(jī)運行時,所述處理器執(zhí)行所述存儲器存儲的所述計算機(jī)執(zhí)行指令,以使所述計算機(jī)執(zhí)行如權(quán)利要求1-12任一項所述的創(chuàng)建虛擬機(jī)的方法。
25.一種計算機(jī)可讀介質(zhì),其特征在于,包括計算機(jī)執(zhí)行指令,當(dāng)計算機(jī)的處理器執(zhí)行所述計算機(jī)執(zhí)行指 令時,所述計算機(jī)執(zhí)行如權(quán)利要求1-12任一項所述的創(chuàng)建虛擬機(jī)的方法。
【文檔編號】H04L29/08GK103797770SQ201380002608
【公開日】2014年5月14日 申請日期:2013年12月31日 優(yōu)先權(quán)日:2012年12月31日
【發(fā)明者】顧炯炯, 閔小勇 申請人:華為技術(shù)有限公司