一種數(shù)據(jù)存儲的方法和存儲服務(wù)器的制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種數(shù)據(jù)存儲的方法和存儲服務(wù)器,其中所述方法包括:檢測已配置的硬盤容量等級中初始容量等級所對應(yīng)硬盤的實(shí)際使用量,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的;當(dāng)根據(jù)檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),查找已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤;當(dāng)查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù)。采用本發(fā)明,可支持在海量存儲中的硬盤容量異構(gòu)。
【專利說明】一種數(shù)據(jù)存儲的方法和存儲服務(wù)器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲領(lǐng)域,尤其涉及一種數(shù)據(jù)存儲的方法和存儲服務(wù)器。
【背景技術(shù)】
[0002]海量分布式存儲系統(tǒng)大多以對象作為基本存儲形式,對象是數(shù)據(jù)和自描述信息的集合,是數(shù)據(jù)在磁盤上存儲的基本單元,而實(shí)現(xiàn)這些對象的分散性分布則通常采用一致性哈希算法。雖然一致性哈希算法保證了系統(tǒng)數(shù)據(jù)存儲的平衡性、分散性、容錯(cuò)性以及可擴(kuò)展性等,但是一致性哈希算法并不是保證絕對的平衡,尤其在物理節(jié)點(diǎn)較少的情況下,對象并不能被均勻的映射到各個(gè)節(jié)點(diǎn)上。為了解決這種情況,一致性哈希算法引入了虛擬節(jié)點(diǎn)的概念,虛擬節(jié)點(diǎn)是物理節(jié)點(diǎn)在環(huán)形空間的復(fù)制品,一個(gè)物理節(jié)點(diǎn)對應(yīng)了若干個(gè)虛擬節(jié)點(diǎn),通過增加擴(kuò)展虛擬節(jié)點(diǎn)數(shù)量,使得算法的平衡性得到較大的提升。
[0003]在現(xiàn)有技術(shù)中,海量存儲系統(tǒng)一般均采用相同容量的硬盤來組建存儲集群,為每個(gè)物理節(jié)點(diǎn)分配相同數(shù)量的虛擬節(jié)點(diǎn),使得各個(gè)節(jié)點(diǎn)在存儲容量上盡可能保持同步增長。
[0004]隨著硬盤技術(shù)的不斷發(fā)展,單盤的容量得到不斷的提升,海量存儲系統(tǒng)在擴(kuò)容、部件更換時(shí)不可避免的會(huì)面臨硬盤容量異構(gòu)的問題,但是現(xiàn)有的存儲方案無法支持在海量存儲中的硬盤容量異構(gòu),從而降低產(chǎn)品的使用體驗(yàn)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例所要解決的技術(shù)問題在于,提供一種數(shù)據(jù)存儲的方法和存儲服務(wù)器,可支持在海量存儲中的硬盤容量異構(gòu)。
[0006]本發(fā)明第一方面提供了一種數(shù)據(jù)存儲的方法,包括:
[0007]檢測已配置的硬盤容量等級中初始容量等級對應(yīng)硬盤的實(shí)際使用量,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的;
[0008]當(dāng)根據(jù)檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),查找已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤;
[0009]當(dāng)查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù)。
[0010]在第一種可能的實(shí)現(xiàn)方式中,在所述檢測已配置的硬盤容量等級中初始容量等級對應(yīng)硬盤的實(shí)際使用量之前,還包括:
[0011]在系統(tǒng)初始化時(shí),對已配置的硬盤容量等級所對應(yīng)的硬盤分配相同數(shù)量的虛擬節(jié)
占.[0012]其中,所述虛擬節(jié)點(diǎn)用于管理所存儲的數(shù)據(jù)。
[0013]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,在所述檢測已配置的硬盤容量等級中初始容量等級對應(yīng)硬盤的實(shí)際使用量之后,還包括:
[0014]檢測在所述初始容量等級對應(yīng)硬盤的實(shí)際使用量超過預(yù)置的使用閾值的硬盤數(shù)量是否達(dá)到預(yù)置的數(shù)量閾值;
[0015]若檢測達(dá)到所述數(shù)量閾值,則確定所述初始容量等級對應(yīng)硬盤超限。
[0016]結(jié)合第一方面,或第一方面的第一種可能的實(shí)現(xiàn)方式,或第一方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述當(dāng)查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù),包括:
[0017]當(dāng)查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例;
[0018]根據(jù)所述遷移比例將低于所述次高容量等級的硬盤容量等級所對應(yīng)硬盤中的所述虛擬節(jié)點(diǎn),遷移至高于或等于所述次高容量等級的硬盤容量等級所對應(yīng)的硬盤,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù)。
[0019]結(jié)合第一方面,或第一方面的第一種可能的實(shí)現(xiàn)方式,或第一方面的第二種可能的實(shí)現(xiàn)方式,或第一方面的第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,還包括:
[0020]當(dāng)未查找到已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級時(shí),發(fā)送擴(kuò)容提示信息。
[0021]結(jié)合第一方面,或第一方面的第一種可能的實(shí)現(xiàn)方式,或第一方面的第二種可能的實(shí)現(xiàn)方式,或第一方面的第三種可能的實(shí)現(xiàn)方式,或第一方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,還包括:
[0022]當(dāng)所述次高容量等級對應(yīng)的硬盤超限、且所述次高容量等級為已配置的等級中最大的硬盤容量等級時(shí),發(fā)送擴(kuò)容提示信息。
[0023]結(jié)合第一方面,或第一方面的第一種可能的實(shí)現(xiàn)方式,或第一方面的第二種可能的實(shí)現(xiàn)方式,或第一方面的第三種可能的實(shí)現(xiàn)方式,或第一方面的第四種可能的實(shí)現(xiàn)方式,或第一方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,還包括:
[0024]在擴(kuò)容或硬盤更換時(shí),對新增或更換的硬盤設(shè)置對應(yīng)的硬盤容量等級以便于在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移。
[0025]結(jié)合第一方面,或第一方面的第一種可能的實(shí)現(xiàn)方式,或第一方面的第二種可能的實(shí)現(xiàn)方式,或第一方面的第三種可能的實(shí)現(xiàn)方式,或第一方面的第四種可能的實(shí)現(xiàn)方式,或第一方面的第五種可能的實(shí)現(xiàn)方式,或第一方面的第六種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,還包括:
[0026]當(dāng)檢測到已配置的硬盤容量等級中對應(yīng)的硬盤數(shù)量占總硬盤數(shù)量的比例小于比例閾值時(shí),對小于所述比例閾值的硬盤容量等級進(jìn)行標(biāo)識;
[0027]更新具有標(biāo)識的硬盤容量等級以便于提升數(shù)據(jù)遷移性能。
[0028]本發(fā)明第二方面提供了一種存儲服務(wù)器,包括:
[0029]使用量檢測模塊,用于檢測已配置的硬盤容量等級中初始容量等級對應(yīng)硬盤的實(shí)際使用量,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的;
[0030]查找模塊,用于當(dāng)根據(jù)所述使用量檢測模塊檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),查找已配置的硬盤容量等級中高于所述初始容量等級的次聞容量等級對應(yīng)的硬盤;
[0031]確定遷移模塊,用于當(dāng)所述查找模塊查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù)。
[0032]在第一種可能的實(shí)現(xiàn)方式中,還包括:
[0033]分配模塊,用于在系統(tǒng)初始化時(shí),對已配置的硬盤容量等級所對應(yīng)的硬盤分配相同數(shù)量的虛擬節(jié)點(diǎn);
[0034]其中,所述虛擬節(jié)點(diǎn)用于管理所存儲的數(shù)據(jù)。
[0035]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,還包括:
[0036]數(shù)量檢測模塊,用于檢測在所述初始容量等級對應(yīng)硬盤的實(shí)際使用量超過預(yù)置的使用閾值的硬盤數(shù)量是否達(dá)到預(yù)置的數(shù)量閾值;
[0037]確定模塊,用于若檢測達(dá)到所述數(shù)量閾值,則確定所述初始容量等級對應(yīng)硬盤超限。
[0038]結(jié)合第二方面,或第二方面的第一種可能的實(shí)現(xiàn)方式,或第二方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述確定遷移模塊包括:
[0039]比例確定單元,用于當(dāng)所述查找模塊查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例;
[0040]遷移單元,用于根據(jù)所述遷移比例將低于所述次高容量等級的硬盤容量等級所對應(yīng)硬盤中的所述虛擬節(jié)點(diǎn),遷移至高于或等于所述次高容量等級的硬盤容量等級所對應(yīng)的硬盤,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù)。
[0041]結(jié)合第二方面,或第二方面的第一種可能的實(shí)現(xiàn)方式,或第二方面的第二種可能的實(shí)現(xiàn)方式,或第二方面的第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,還包括:
[0042]第一發(fā)送模塊,用于當(dāng)未查找到已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級時(shí),發(fā)送擴(kuò)容提示信息。
[0043]結(jié)合第二方面,或第二方面的第一種可能的實(shí)現(xiàn)方式,或第二方面的第二種可能的實(shí)現(xiàn)方式,或第二方面的第三種可能的實(shí)現(xiàn)方式,或第二方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,還包括:
[0044]第二發(fā)送模塊,用于當(dāng)所述次高容量等級對應(yīng)的硬盤超限、且所述次高容量等級為已配置的等級中最大的硬盤容量等級時(shí),發(fā)送擴(kuò)容提示信息。
[0045]結(jié)合第二方面,或第二方面的第一種可能的實(shí)現(xiàn)方式,或第二方面的第二種可能的實(shí)現(xiàn)方式,或第二方面的第三種可能的實(shí)現(xiàn)方式,或第二方面的第四種可能的實(shí)現(xiàn)方式,或第二方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,還包括:
[0046]設(shè)置模塊,用于在擴(kuò)容或硬盤更換時(shí),對新增或更換的硬盤設(shè)置對應(yīng)的硬盤容量等級以便于在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移。
[0047]結(jié)合第二方面,或第二方面的第一種可能的實(shí)現(xiàn)方式,或第二方面的第二種可能的實(shí)現(xiàn)方式,或第二方面的第三種可能的實(shí)現(xiàn)方式,或第二方面的第四種可能的實(shí)現(xiàn)方式,或第二方面的第五種可能的實(shí)現(xiàn)方式,或第二方面的第六種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,還包括:
[0048]標(biāo)識模塊,用于當(dāng)檢測到已配置的硬盤容量等級中對應(yīng)的硬盤數(shù)量占總硬盤數(shù)量的比例小于比例閾值時(shí),對小于所述比例閾值的硬盤容量等級進(jìn)行標(biāo)識;
[0049]更新模塊,用于更新具有標(biāo)識的硬盤容量等級以便于提升數(shù)據(jù)遷移性能。
[0050]本發(fā)明實(shí)施例通過根據(jù)硬盤實(shí)際容量劃分出不同的硬盤容量等級,并在初始容量等級對應(yīng)硬盤超限時(shí)對各個(gè)硬盤中攜帶有存儲數(shù)據(jù)的虛擬節(jié)點(diǎn)進(jìn)行遷移,使得不僅可以支持在海量存儲中的硬盤容量異構(gòu),同時(shí)由于虛擬節(jié)點(diǎn)中的數(shù)據(jù)是按照遷移比例進(jìn)行遷移的,所以還可以充分利用不同容量硬盤的存儲空間。
【專利附圖】
【附圖說明】
[0051]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
[0052]圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)存儲的方法的流程示意圖;[0053]圖2為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)存儲的方法的流程示意圖[0054]圖3為本發(fā)明實(shí)施例提供的又一種數(shù)據(jù)存儲的方法的流程示意圖[0055]圖4為本發(fā)明實(shí)施例提供的又一種數(shù)據(jù)存儲的方法的流程示意圖[0056]圖5為本發(fā)明實(shí)施例提供的其中一種更新容量等級的方法的流程示意圖;[0057]圖6為本發(fā)明實(shí)施例提供的一種存儲服務(wù)器的結(jié)構(gòu)示意圖;[0058]圖7為本發(fā)明實(shí)施例提供的另一種存儲服務(wù)器的結(jié)構(gòu)示意圖;[0059]圖8為本發(fā)明實(shí)施例提供的一種確定遷移模塊的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0060]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。
[0061]請參見圖1,為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)存儲的方法的流程示意圖,所述方法包括:
[0062]S101,檢測已配置的硬盤容量等級中初始容量等級對應(yīng)硬盤的實(shí)際使用量,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的;
[0063]具體的,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的。例如,某個(gè)分布式存儲系統(tǒng)中有1TB、2TB、3TB這三種容量的硬盤,那么可以配置ITB容量硬盤的硬盤容量等級為等級I,2TB容量硬盤的硬盤容量等級為等級2,3TB容量硬盤的硬盤容量等級為等級3。其中,所述初始容量等級是在已配置的硬盤容量等級中所選擇的,例如,在系統(tǒng)初始化時(shí),在已配置的硬盤容量等級中選擇最小的硬盤容量等級作為初始容量等級,即在等級I至等級3的硬盤容量等級中,選擇等級I的硬盤容量等級作為初始容量等級。在確定了所述初始容量等級后,可以檢測已配置的硬盤容量等級中初始容量等級所對應(yīng)硬盤的實(shí)際使用量。例如,若初始容量等級為等級I的硬盤容量等級,則檢測等級I的硬盤容量等級所對應(yīng)的硬盤中已存儲數(shù)據(jù)的容量大小。其中,所述硬盤可以包括固態(tài)硬盤、機(jī)械硬盤、混合硬盤等等。
[0064]S102,當(dāng)根據(jù)檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),查找已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤;
[0065]具體的,根據(jù)檢測到的所述實(shí)際使用量可以檢測所述初始容量等級對應(yīng)硬盤是否超限。例如,初始容量等級為等級I的硬盤容量等級,且等級I的硬盤容量等級所對應(yīng)硬盤的數(shù)量為10個(gè),當(dāng)檢測到所述實(shí)際使用量超過硬盤容量50%的硬盤的數(shù)量達(dá)到8個(gè)時(shí),可確定所述初始容量等級對應(yīng)硬盤超限。當(dāng)根據(jù)檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)的硬盤超限時(shí),可以查找已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤。例如,當(dāng)存儲系統(tǒng)中的硬盤可以分為等級1、等級2、等級3,且初始容量等級為等級I的硬盤容量等級時(shí),可以查找到已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤,即所述次高容量等級為等級2的硬盤容量等級對應(yīng)的硬盤。
[0066]S103,當(dāng)查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù);
[0067]具體的,當(dāng)查找到所述次高容量等級對應(yīng)的硬盤時(shí),可以根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù)。即將低硬盤容量等級的硬盤上的攜帶有存儲數(shù)據(jù)的虛擬節(jié)點(diǎn)遷移至高硬盤容量等級的硬盤上,使得可以同時(shí)對所述虛擬節(jié)點(diǎn)以及存儲于所述虛擬節(jié)點(diǎn)中的數(shù)據(jù)進(jìn)行遷移。并且遷移后的數(shù)據(jù)仍可以映射于與原來對應(yīng)的虛擬節(jié)點(diǎn),從而可以繼續(xù)正常的對遷移后的數(shù)據(jù)進(jìn)行存儲和提取。將低硬盤容量等級的硬盤中的虛擬節(jié)點(diǎn)以及存儲于所述虛擬節(jié)點(diǎn)中的數(shù)據(jù)遷移至高硬盤容量等級的硬盤中,可以減少低硬盤容量等級的硬盤的存儲負(fù)擔(dān),并充分的利用了高硬盤容量等級的硬盤的存儲空間。另外,還可以使高硬盤容量等級的硬盤可以擁有更多的虛擬節(jié)點(diǎn)以分擔(dān)更多存儲工作,從而可以提高性能的平衡性,并進(jìn)一步的充分利用大容量硬盤的存儲空間。
[0068]例如,存儲系統(tǒng)中硬盤容量等級包括等級1、等級2以及等級3,硬盤實(shí)際容量分別為1TB、2TB、3TB,每種硬盤容量等級對應(yīng)的硬盤數(shù)量相同,在系統(tǒng)初始化時(shí),為每個(gè)硬盤容量等級所對應(yīng)的硬盤分配48個(gè)虛擬節(jié)點(diǎn),且所述初始容量等級為等級I的硬盤容量等級。當(dāng)所述初始容量等級對應(yīng)的硬盤超限時(shí),將等級2的硬盤容量等級作為次高容量等級,并根據(jù)初始容量等級和次高容量等級確定虛擬節(jié)點(diǎn)的遷移比例,即等級1、等級2以及等級3的硬盤容量等級對應(yīng)硬盤的遷移比例為1:2:2。其中高于次高容量等級的硬盤所獲得的虛擬節(jié)點(diǎn)數(shù)量與次高容量等級的硬盤所獲得虛擬節(jié)點(diǎn)數(shù)量相同,此時(shí),等級I所對應(yīng)硬盤中的虛擬節(jié)點(diǎn)按照1:2:2的遷移比例遷移至等級2和等級3的硬盤中。由于每個(gè)虛擬節(jié)點(diǎn)中攜帶有相同大小的數(shù)據(jù),所以在虛擬節(jié)點(diǎn)遷移結(jié)束后,等級1、等級2以及等級3對應(yīng)硬盤中所存儲的數(shù)據(jù)大小比例也為1:2:2。此時(shí),等級I對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為29個(gè),等級2對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為57個(gè),等級3對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為58個(gè)。在完成虛擬節(jié)點(diǎn)的遷移之后,還可以將所述次高容量等級作為初始容量等級以進(jìn)行虛擬節(jié)點(diǎn)的遷移,即在等級2的硬盤容量等級對應(yīng)的硬盤超限時(shí),確定等級I至等級3的硬盤的虛擬節(jié)點(diǎn)的遷移比例為1:2:3。使得在虛擬節(jié)點(diǎn)遷移結(jié)束后,等級I至等級3對應(yīng)的硬盤中所存儲的數(shù)據(jù)大小和虛擬節(jié)點(diǎn)的數(shù)量的比例均為1:2:3,即等級I對應(yīng)的硬盤中虛擬節(jié)點(diǎn)的數(shù)量為24個(gè),等級2對應(yīng)的硬盤中虛擬節(jié)點(diǎn)的數(shù)量為48個(gè),等級3對應(yīng)的硬盤中虛擬節(jié)點(diǎn)的數(shù)量為64個(gè)。
[0069]又例如,存儲系統(tǒng)中硬盤容量等級包括等級1、等級2以及等級3,硬盤實(shí)際容量分別為1TB、2TB、3TB,且每種硬盤容量等級對應(yīng)的硬盤數(shù)量不相同,等級I對應(yīng)的硬盤數(shù)量為20個(gè),等級2對應(yīng)的硬盤數(shù)量為30個(gè),等級3對應(yīng)的硬盤數(shù)量為40個(gè)。在系統(tǒng)初始化時(shí),為每個(gè)硬盤容量等級所對應(yīng)的硬盤分配48個(gè)虛擬節(jié)點(diǎn),當(dāng)?shù)燃塈對應(yīng)的硬盤超限,且等級2為次高容量等級時(shí),所述遷移比例仍然為1:2:2,且在虛擬節(jié)點(diǎn)遷移結(jié)束后,等級I對應(yīng)的硬盤中虛擬節(jié)點(diǎn)的數(shù)量為27個(gè),等級2對應(yīng)的硬盤中虛擬節(jié)點(diǎn)的數(shù)量為54個(gè),等級3對應(yīng)的硬盤中虛擬節(jié)點(diǎn)的數(shù)量為54個(gè)。
[0070]又例如,存儲系統(tǒng)中硬盤容量等級包括等級1、等級2以及等級3,若等級I對應(yīng)的硬盤容量為1.5TB,等級2對應(yīng)的硬盤容量為2.5TB,等級3對應(yīng)的硬盤容量為3.5TB,且等級I對應(yīng)的硬盤超限、等級2為次高容量等級,則此時(shí)根據(jù)硬盤實(shí)際容量所確定的遷移比例為 1.5:2.5:2.5。
[0071 ] 本發(fā)明實(shí)施例通過根據(jù)硬盤實(shí)際容量劃分出不同的硬盤容量等級,并在初始容量等級對應(yīng)硬盤超限時(shí)對各個(gè)硬盤中攜帶有存儲數(shù)據(jù)的虛擬節(jié)點(diǎn)進(jìn)行遷移,使得不僅可以支持在海量存儲中的硬盤容量異構(gòu),同時(shí)由于虛擬節(jié)點(diǎn)中的數(shù)據(jù)是按照遷移比例進(jìn)行遷移的,所以還可以充分利用不同容量硬盤的存儲空間,而且高等級的硬盤可以擁有更多的虛擬節(jié)點(diǎn)以分擔(dān)更多存儲工作,從而可以提高性能的平衡性,并進(jìn)一步的充分利用大容量硬盤的存儲空間。
[0072]再請參見圖2,為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)存儲的方法的流程示意圖,所述方法包括:
[0073]S201,在系統(tǒng)初始化時(shí),對已配置的硬盤容量等級所對應(yīng)的硬盤分配相同數(shù)量的虛擬節(jié)點(diǎn);
[0074]具體的,在系統(tǒng)初始化時(shí),對已配置的硬盤容量等級所對應(yīng)的硬盤分配相同數(shù)量的虛擬節(jié)點(diǎn),使得異構(gòu)硬盤之間的數(shù)據(jù)接口盡可能的均衡到各個(gè)節(jié)點(diǎn)上。其中,所述虛擬節(jié)點(diǎn)用于管理所存儲的數(shù)據(jù)。
[0075]S202,檢測已配置的硬盤容量等級中初始容量等級所對應(yīng)硬盤的實(shí)際使用量,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的;
[0076]具體的,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的,例如,某個(gè)分布式存儲系統(tǒng)中有1TB、2TB、3TB這三種容量的硬盤,那么可以配置ITB容量硬盤的硬盤容量等級為等級I,2TB容量硬盤的硬盤容量等級為等級2,3TB容量硬盤的硬盤容量等級為等級3。其中,所述初始容量等級是在已配置的硬盤容量等級中所選擇的,例如,在系統(tǒng)初始化時(shí),在已配置的硬盤容量等級中選擇最小的硬盤容量等級作為初始容量等級,即在等級I至等級3的硬盤容量等級中,選擇等級I的硬盤容量等級作為初始容量等級。在確定了所述初始容量等級后,可以檢測已配置的硬盤容量等級中初始容量等級所對應(yīng)硬盤的實(shí)際使用量。例如,若初始容量等級為等級I的硬盤容量等級,則檢測等級I的硬盤容量等級所對應(yīng)的硬盤中已存儲數(shù)據(jù)的容量大小。
[0077]S203,檢測在所述初始容量等級對應(yīng)硬盤的實(shí)際使用量超過預(yù)置的使用閾值的硬盤數(shù)量是否達(dá)到預(yù)置的數(shù)量閾值;
[0078]S204,若檢測達(dá)到所述數(shù)量閾值,則確定所述初始容量等級對應(yīng)硬盤超限;
[0079]當(dāng)檢測到所述初始容量等級對應(yīng)硬盤的實(shí)際使用量超過預(yù)置的使用閾值的硬盤數(shù)量達(dá)到預(yù)置的數(shù)量閾值時(shí),確定所述初始容量等級對應(yīng)硬盤超限。例如,初始容量等級為等級I的硬盤容量等級,等級I的硬盤容量等級所對應(yīng)硬盤的數(shù)量為10個(gè),且所述使用閾值為硬盤容量的50%,所述數(shù)量閾值為某個(gè)硬盤容量等級對應(yīng)硬盤數(shù)量的80%。當(dāng)檢測到所述實(shí)際使用量超過硬盤容量50%的硬盤的數(shù)量達(dá)到8個(gè)時(shí),可確定所述初始容量等級對應(yīng)硬盤超限。
[0080]S205,當(dāng)根據(jù)檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),查找已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤;
[0081]當(dāng)根據(jù)檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),可以查找已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤。例如,當(dāng)存儲系統(tǒng)中的硬盤可以分為等級1、等級2、等級3,且初始容量等級為等級I的硬盤容量等級時(shí),可以查找到已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤,即所述次高容量等級為等級2的硬盤容量等級對應(yīng)的硬盤。
[0082]S206,當(dāng)查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例;
[0083]S207,根據(jù)所述遷移比例將低于所述次高容量等級的硬盤容量等級所對應(yīng)硬盤中的所述虛擬節(jié)點(diǎn),遷移至高于或等于所述次高容量等級的硬盤容量等級所對應(yīng)的硬盤,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù);
[0084]S208,將所述次高容量等級作為初始容量等級以進(jìn)行虛擬節(jié)點(diǎn)的遷移;
[0085]具體的,當(dāng)查找到所述次高容量等級對應(yīng)的硬盤時(shí),可以根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù)。即將低硬盤容量等級的硬盤上的攜帶有存儲數(shù)據(jù)的虛擬節(jié)點(diǎn)遷移至高硬盤容量等級的硬盤上,使得可以同時(shí)對所述虛擬節(jié)點(diǎn)以及存儲于所述虛擬節(jié)點(diǎn)中的數(shù)據(jù)進(jìn)行遷移。并且遷移后的數(shù)據(jù)仍可以映射于與原來對應(yīng)的虛擬節(jié)點(diǎn),從而可以繼續(xù)正常的對遷移后的數(shù)據(jù)進(jìn)行存儲和提取。將低硬盤容量等級的硬盤中的虛擬節(jié)點(diǎn)以及存儲于所述虛擬節(jié)點(diǎn)中的數(shù)據(jù)遷移至高硬盤容量等級的硬盤中,可以減少低硬盤容量等級的硬盤的存儲負(fù)擔(dān),并充分的利用了高硬盤容量等級的硬盤的存儲空間。另外,還可以使高硬盤容量等級的硬盤可以擁有更多的虛擬節(jié)點(diǎn)以分擔(dān)更多存儲工作,從而可以提高性能的平衡性,并進(jìn)一步的充分利用大容量硬盤的存儲空間。
[0086]例如,存儲系統(tǒng)中硬盤容量等級包括等級1、等級2以及等級3,硬盤實(shí)際容量分別為1TB、2TB、3TB,每種硬盤容量等級對應(yīng)的硬盤數(shù)量相同,在系統(tǒng)初始化時(shí),為每個(gè)硬盤容量等級所對應(yīng)的硬盤分配48個(gè)虛擬節(jié)點(diǎn),且所述初始容量等級為等級I的硬盤容量等級。當(dāng)所述初始容量等級對應(yīng)的硬盤超限時(shí),將等級2的硬盤容量等級作為次高容量等級,并根據(jù)初始容量等級和次高容量等級確定虛擬節(jié)點(diǎn)的遷移比例,即等級1、等級2以及等級3的硬盤容量等級對應(yīng)硬盤的遷移比例為1:2:2。其中高于次高容量等級的硬盤所獲得的虛擬節(jié)點(diǎn)數(shù)量與次高容量等級的硬盤所獲得虛擬節(jié)點(diǎn)數(shù)量相同,此時(shí),等級I所對應(yīng)硬盤中的虛擬節(jié)點(diǎn)按照1:2:2的遷移比例遷移至等級2和等級3的硬盤中。由于每個(gè)虛擬節(jié)點(diǎn)中攜帶有相同大小的數(shù)據(jù),所以在虛擬節(jié)點(diǎn)遷移結(jié)束后,等級1、等級2以及等級3對應(yīng)硬盤中所存儲的數(shù)據(jù)大小比例也為1:2:2。此時(shí),等級I對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為29個(gè),等級2對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為57個(gè),等級3對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為58個(gè)。在完成虛擬節(jié)點(diǎn)的遷移之后,還可以將所述次高容量等級作為初始容量等級以進(jìn)行虛擬節(jié)點(diǎn)的遷移,即在等級2的硬盤容量等級對應(yīng)的硬盤超限時(shí),確定等級I至等級3的硬盤的虛擬節(jié)點(diǎn)的遷移比例為1:2:3。使得在虛擬節(jié)點(diǎn)遷移結(jié)束后,等級I至等級3對應(yīng)的硬盤中所存儲的數(shù)據(jù)大小和虛擬節(jié)點(diǎn)的數(shù)量的比例均為1:2:3,即等級I對應(yīng)的硬盤中虛擬節(jié)點(diǎn)的數(shù)量為24個(gè),等級2對應(yīng)的硬盤中虛擬節(jié)點(diǎn)的數(shù)量為48個(gè),等級3對應(yīng)的硬盤中虛擬節(jié)點(diǎn)的數(shù)量為64個(gè)。
[0087]又例如,存儲系統(tǒng)中硬盤容量等級包括等級1、等級2以及等級3,硬盤實(shí)際容量分別為1TB、2TB、3TB,且每種硬盤容量等級對應(yīng)的硬盤數(shù)量不相同,等級I對應(yīng)的硬盤數(shù)量為20個(gè),等級2對應(yīng)的硬盤數(shù)量為30個(gè),等級3對應(yīng)的硬盤數(shù)量為40個(gè),在系統(tǒng)初始化時(shí),為每個(gè)硬盤容量等級所對應(yīng)的硬盤分配48個(gè)虛擬節(jié)點(diǎn),當(dāng)?shù)燃塈對應(yīng)的硬盤超限,且等級2為次高容量等級時(shí),所述遷移比例仍然為1:2:2,且在虛擬節(jié)點(diǎn)遷移結(jié)束后,等級I對應(yīng)的硬盤中虛擬節(jié)點(diǎn)的數(shù)量為27個(gè),等級2對應(yīng)的硬盤中虛擬節(jié)點(diǎn)的數(shù)量為54個(gè),等級3對應(yīng)的硬盤中虛擬節(jié)點(diǎn)的數(shù)量為54個(gè)。
[0088]又例如,存儲系統(tǒng)中硬盤容量等級包括等級1、等級2以及等級3,若等級I對應(yīng)的硬盤容量為1.5TB,等級2對應(yīng)的硬盤容量為2.5TB,等級3對應(yīng)的硬盤容量為3.5TB,且等級I對應(yīng)的硬盤超限、等級2為次高容量等級,則此時(shí)根據(jù)硬盤實(shí)際容量所確定的遷移比例為 1.5:2.5:2.5。
[0089]本發(fā)明實(shí)施例通過根據(jù)硬盤實(shí)際容量劃分出不同的硬盤容量等級,并在初始容量等級對應(yīng)硬盤超限時(shí)對各個(gè)硬盤中攜帶有存儲數(shù)據(jù)的虛擬節(jié)點(diǎn)進(jìn)行遷移,使得不僅可以支持在海量存儲中的硬盤容量異構(gòu),同時(shí)由于虛擬節(jié)點(diǎn)中的數(shù)據(jù)是按照遷移比例進(jìn)行遷移的,所以還可以充分利用不同容量硬盤的存儲空間,而且高等級的硬盤可以擁有更多的虛擬節(jié)點(diǎn)以分擔(dān)更多存儲工作,從而可以提高性能的平衡性,并進(jìn)一步的充分利用大容量硬盤的存儲空間。
[0090]再請參見圖3,為本發(fā)明實(shí)施例提供的又一種數(shù)據(jù)存儲的方法的流程示意圖,所述方法包括:
[0091]S301,檢測已配置的硬盤容量等級中初始容量等級所對應(yīng)硬盤的實(shí)際使用量,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的;
[0092]S302,當(dāng)根據(jù)檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),查找已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤;
[0093]S303,當(dāng)未查找到已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級時(shí),發(fā)送擴(kuò)容提示信息;
[0094]具體的,當(dāng)未查找到已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級時(shí),則說明初始容量等級對應(yīng)的硬盤為硬盤容量等級中的最高等級,為了讓存儲系統(tǒng)可以繼續(xù)存儲數(shù)據(jù),可以進(jìn)行擴(kuò)容,即可以發(fā)送擴(kuò)容提示信息到管理員的終端,以提示管理員需要對存儲系統(tǒng)進(jìn)行擴(kuò)容。
[0095]S304,在擴(kuò)容或硬盤更換時(shí),對新增或更換的硬盤設(shè)置對應(yīng)的硬盤容量等級以便于在已配置的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移;
[0096]具體的,在擴(kuò)容或硬盤更換時(shí),對新增或更換的硬盤設(shè)置對應(yīng)的硬盤容量等級以便于在已配置的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移。例如,存儲系統(tǒng)中,有1TB、2TB、3TB容量的硬盤,分別對應(yīng)的硬盤容量等級為等級1、等級2、等級3,硬盤實(shí)際容量分別為1TB、2TB、3TB,并且當(dāng)前的初始容量等級為等級3的硬盤容量等級。當(dāng)初始容量等級所對應(yīng)硬盤超限,且增加有4TB容量的硬盤時(shí),將4TB容量的硬盤設(shè)置為等級4的硬盤容量等級,并根據(jù)1:2:3:4的遷移比例在等級I至等級4的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移。當(dāng)初始容量等級所對應(yīng)硬盤沒有超限,且增加有4TB容量的硬盤時(shí),將4TB容量的硬盤設(shè)置為等級4的硬盤容量等級,并根據(jù)1:2:3:3的遷移比例在等級I至等級4的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移。在擴(kuò)容或更換硬盤時(shí),對攜帶有存儲數(shù)據(jù)的虛擬節(jié)點(diǎn)進(jìn)行遷移可以使存儲系統(tǒng)繼續(xù)正常存儲數(shù)據(jù)。
[0097]其中,步驟S301至S302的具體實(shí)現(xiàn)方式可以參見上述圖1對應(yīng)實(shí)施例中的SlOl至S102的具體實(shí)現(xiàn)方式,這里不再進(jìn)行贅述。
[0098]本發(fā)明實(shí)施例通過發(fā)送擴(kuò)容提示信息,可以對存儲系統(tǒng)進(jìn)行擴(kuò)容,并在擴(kuò)容或更換硬盤時(shí),對新增或更換的硬盤設(shè)置對應(yīng)的硬盤容量等級以便于在已配置的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,使得擴(kuò)容后的存儲系統(tǒng)仍然可以充分利用不同容量硬盤的存儲空間,同時(shí)還可以兼顧性能的平衡性。
[0099]再請參見圖4,為本發(fā)明實(shí)施例提供的又一種數(shù)據(jù)存儲的方法的流程示意圖,所述方法包括:
[0100]S401,檢測已配置的硬盤容量等級中初始容量等級所對應(yīng)硬盤的實(shí)際使用量,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的;
[0101]S402,當(dāng)根據(jù)檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),查找已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤;
[0102]S403,當(dāng)查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù);
[0103]S404,當(dāng)所述次高容量等級對應(yīng)的硬盤超限、且所述次高容量等級為已配置的等級中最大的硬盤容量等級時(shí),發(fā)送擴(kuò)容提示信息;
[0104]具體的,當(dāng)所述次高容量等級對應(yīng)的硬盤超限、且所述次高容量等級不為已配置的等級中最大的硬盤容量等級時(shí),可以將所述次高容量等級作為初始容量等級以進(jìn)行虛擬節(jié)點(diǎn)的遷移。當(dāng)所述次高容量等級對應(yīng)的硬盤超限、且所述次高容量等級為已配置的等級中最大的硬盤容量等級時(shí),說明存儲系統(tǒng)中沒有比所述次高容量等級更高的硬盤容量等級所對應(yīng)的硬盤,為了讓存儲系統(tǒng)可以繼續(xù)正常工作則需要進(jìn)行擴(kuò)容,即可以發(fā)送擴(kuò)容提示信息到管理員的終端,以提示管理員需要對存儲系統(tǒng)進(jìn)行擴(kuò)容。
[0105]S405,在擴(kuò)容或硬盤更換時(shí),對新增或更換的硬盤設(shè)置對應(yīng)的硬盤容量等級以便于在已配置的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移;
[0106]具體的,在擴(kuò)容或硬盤更換時(shí),對新增或更換的硬盤設(shè)置對應(yīng)的硬盤容量等級以便于在已配置的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移。例如,存儲系統(tǒng)中,有1TB、2TB、3TB容量的硬盤,分別對應(yīng)的硬盤容量等級為等級1、等級2、等級3,并且當(dāng)前的初始容量等級為等級3的硬盤容量等級,當(dāng)初始容量等級所對應(yīng)硬盤超限,且增加有4TB容量的硬盤時(shí),將4TB容量的硬盤設(shè)置為等級4的硬盤容量等級,并根據(jù)1:2:3:4的遷移比例在等級I至等級4的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移;當(dāng)初始容量等級所對應(yīng)硬盤沒有超限,且增加有4TB容量的硬盤時(shí),將4TB容量的硬盤設(shè)置為等級4的硬盤容量等級,并根據(jù)1:2:3:3的遷移比例在等級I至等級4的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移。在擴(kuò)容或更換硬盤時(shí),對攜帶有存儲數(shù)據(jù)的虛擬節(jié)點(diǎn)進(jìn)行遷移可以使存儲系統(tǒng)繼續(xù)正常存儲數(shù)據(jù)。
[0107]其中,步驟S401至S403的具體實(shí)現(xiàn)方式可以參見上述圖1對應(yīng)實(shí)施例中的SlOl至S103的具體實(shí)現(xiàn)方式,這里不再進(jìn)行贅述。
[0108]本發(fā)明實(shí)施例通過發(fā)送擴(kuò)容提示信息,可以對存儲系統(tǒng)進(jìn)行擴(kuò)容,并在擴(kuò)容或更換硬盤時(shí),對新增或更換的硬盤設(shè)置對應(yīng)的硬盤容量等級以便于在已配置的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,使得擴(kuò)容后的存儲系統(tǒng)仍然可以充分利用不同容量硬盤的存儲空間,同時(shí)還可以兼顧性能的平衡性。
[0109]再請參見圖5,為本發(fā)明實(shí)施例提供的其中一種更新容量等級的方法的流程示意圖,所述方法包括:
[0110]S501,當(dāng)檢測到已配置的硬盤容量等級中對應(yīng)的硬盤數(shù)量占總硬盤數(shù)量的比例小于比例閾值時(shí),對小于所述比例閾值的硬盤容量等級進(jìn)行標(biāo)識;
[0111]S502,更新具有標(biāo)識的硬盤容量等級以便于提升數(shù)據(jù)遷移性能;
[0112]具體的,當(dāng)檢測到已配置的硬盤容量等級中對應(yīng)的硬盤數(shù)量占總硬盤數(shù)量的比例小于比例閾值時(shí),對小于所述比例閾值的硬盤容量等級進(jìn)行標(biāo)識,并更新具有標(biāo)識的硬盤容量等級以便于提升數(shù)據(jù)遷移性能,更新的方法可以是將具有標(biāo)識的硬盤容量等級重新設(shè)置為較低級的硬盤容量等級。例如,在存儲系統(tǒng)中,可以預(yù)設(shè)所述比例閾值為20%,即當(dāng)某種硬盤容量等級對應(yīng)的硬盤數(shù)量低于所有硬盤總數(shù)的20%,則將該種硬盤容量等級對應(yīng)的硬盤視作低等級的硬盤使用,當(dāng)存儲系統(tǒng)中ITB的硬盤數(shù)量為40個(gè),2TB的硬盤數(shù)量為10個(gè),4TB的硬盤數(shù)量為50個(gè)時(shí),將2TB的硬盤所對應(yīng)的硬盤容量等級從等級2降為等級1,以減少系統(tǒng)的抖動(dòng)和提升數(shù)據(jù)遷移的性能。由于硬盤容量兼容主要為了兼容高容量硬盤,因此對于數(shù)量較少的硬盤種類可以不做考慮。
[0113]本發(fā)明實(shí)施例通過對數(shù)量較少的硬盤種類所對應(yīng)的硬盤容量等級進(jìn)行更新,以將該種硬盤視作低等級的硬盤使用,可以減少系統(tǒng)的抖動(dòng)和提升數(shù)據(jù)遷移的性能。
[0114]請參見圖6,為本發(fā)明實(shí)施例提供的一種存儲服務(wù)器I的結(jié)構(gòu)示意圖,所述存儲服務(wù)器I可以包括:使用量檢測模塊10、查找模塊20、確定遷移模塊30 ;
[0115]所述使用量檢測模塊10,用于檢測已配置的硬盤容量等級中初始容量等級對應(yīng)硬盤的實(shí)際使用量,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的;
[0116]具體的,所述使用量檢測模塊10可以檢測已配置的硬盤容量等級中初始容量等級所對應(yīng)硬盤的實(shí)際使用量。其中,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的,例如,某個(gè)分布式存儲系統(tǒng)中有1TB、2TB、3TB這三種容量的硬盤,那么可以配置ITB容量硬盤的硬盤容量等級為等級I, 2TB容量硬盤的硬盤容量等級為等級2,3TB容量硬盤的硬盤容量等級為等級3。其中,所述初始容量等級是在已配置的硬盤容量等級中所選擇的,例如,在系統(tǒng)初始化時(shí),在已配置的硬盤容量等級中選擇最小的硬盤容量等級作為初始容量等級,即在等級I至等級3的硬盤容量等級中,選擇等級I的硬盤容量等級作為初始容量等級。在確定了所述初始容量等級后,所述使用量檢測模塊10可以檢測已配置的硬盤容量等級中初始容量等級所對應(yīng)硬盤的實(shí)際使用量,例如,若初始容量等級為等級I的硬盤容量等級,則所述使用量檢測模塊10可以檢測等級I的硬盤容量等級所對應(yīng)的硬盤中已存儲數(shù)據(jù)的容量大小。
[0117]所述查找模塊20,用于當(dāng)根據(jù)所述使用量檢測模塊10檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),查找已配置的硬盤容量等級中高于所述初始容量等級的次聞容量等級對應(yīng)的硬盤;
[0118]具體的,當(dāng)根據(jù)檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),所述查找模塊20可以查找已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤。例如,當(dāng)存儲系統(tǒng)中的硬盤可以分為等級1、等級2、等級3,且初始容量等級為等級I的硬盤容量等級時(shí),所述查找模塊20可以查找到已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤,即所述次高容量等級為等級2的硬盤容量等級對應(yīng)的硬盤。
[0119]所述確定遷移模塊30,用于當(dāng)所述查找模塊20查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù);
[0120]具體的,當(dāng)所述查找模塊20查找到所述次高容量等級對應(yīng)的硬盤時(shí),所述確定遷移模塊30可以根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù),即所述確定遷移模塊30將低硬盤容量等級的硬盤上的攜帶有存儲數(shù)據(jù)的虛擬節(jié)點(diǎn)遷移至高硬盤容量等級的硬盤上,使得可以同時(shí)對所述虛擬節(jié)點(diǎn)以及存儲于所述虛擬節(jié)點(diǎn)中的數(shù)據(jù)進(jìn)行遷移。并且遷移后的數(shù)據(jù)仍可以映射于與原來對應(yīng)的虛擬節(jié)點(diǎn),從而可以繼續(xù)正常的對遷移后的數(shù)據(jù)進(jìn)行存儲和提取。所述確定遷移模塊30將低硬盤容量等級的硬盤中的虛擬節(jié)點(diǎn)以及存儲于所述虛擬節(jié)點(diǎn)中的數(shù)據(jù)遷移至高硬盤容量等級的硬盤中,可以減少低硬盤容量等級的硬盤的存儲負(fù)擔(dān),并充分的利用了高硬盤容量等級的硬盤的存儲空間,另外,還可以使高硬盤容量等級的硬盤可以擁有更多的虛擬節(jié)點(diǎn)以分擔(dān)更多存儲工作,從而可以提高性能的平衡性,并進(jìn)一步的充分利用大容量硬盤的存儲空間。
[0121]例如,存儲系統(tǒng)中硬盤容量等級包括等級1、等級2以及等級3,硬盤實(shí)際容量分別為1TB、2TB、3TB,每種硬盤容量等級對應(yīng)的硬盤數(shù)量相同,在系統(tǒng)初始化時(shí),為每個(gè)硬盤容量等級所對應(yīng)的硬盤分配48個(gè)虛擬節(jié)點(diǎn),且所述初始容量等級為等級I的硬盤容量等級。當(dāng)所述初始容量等級對應(yīng)硬盤超限時(shí),將等級2的硬盤容量等級作為次高容量等級,所述確定遷移模塊30可以根據(jù)初始容量等級和次高容量等級確定虛擬節(jié)點(diǎn)的遷移比例,即等級1、等級2以及等級3的硬盤容量等級對應(yīng)硬盤的遷移比例為1:2:2。其中高于次高容量等級的硬盤所獲得的虛擬節(jié)點(diǎn)數(shù)量與次高容量等級的硬盤所獲得虛擬節(jié)點(diǎn)數(shù)量相同,此時(shí),所述確定遷移模塊30將等級I對應(yīng)硬盤中的虛擬節(jié)點(diǎn)按照1:2:2的遷移比例遷移至等級2和等級3的硬盤中。由于每個(gè)虛擬節(jié)點(diǎn)中攜帶有相同大小的數(shù)據(jù),所以在虛擬節(jié)點(diǎn)遷移結(jié)束后,等級1、等級2以及等級3對應(yīng)硬盤中所存儲的數(shù)據(jù)大小比例也為1:2:2。此時(shí),等級I對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為29個(gè),等級2對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為57個(gè),等級3對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為58個(gè)。
[0122]本發(fā)明實(shí)施例通過根據(jù)硬盤實(shí)際容量劃分出不同的硬盤容量等級,并在初始容量等級對應(yīng)硬盤超限時(shí)對各個(gè)硬盤中攜帶有存儲數(shù)據(jù)的虛擬節(jié)點(diǎn)進(jìn)行遷移,使得不僅可以支持在海量存儲中的硬盤容量異構(gòu),同時(shí)由于虛擬節(jié)點(diǎn)中的數(shù)據(jù)是按照遷移比例進(jìn)行遷移的,所以還可以充分利用不同容量硬盤的存儲空間,而且高等級的硬盤可以擁有更多的虛擬節(jié)點(diǎn)以分擔(dān)更多存儲工作,從而可以提高性能的平衡性,并進(jìn)一步的充分利用大容量硬盤的存儲空間。
[0123]再請參見圖7,為本發(fā)明實(shí)施例提供的另一種存儲服務(wù)器I的結(jié)構(gòu)示意圖,所述存儲服務(wù)器I可以包括:分配模塊40、使用量檢測模塊10、數(shù)量檢測模塊50、確定模塊60、查找模塊20、第一發(fā)送模塊70、確定遷移模塊30、次高遷移模塊90、第二發(fā)送模塊80、設(shè)置模塊100、標(biāo)識模塊110、更新模塊120 ;
[0124]所述分配模塊40,用于在系統(tǒng)初始化時(shí),對已配置的硬盤容量等級所對應(yīng)的硬盤分配相同數(shù)量的虛擬節(jié)點(diǎn);
[0125]具體的,在系統(tǒng)初始化時(shí),所述分配模塊40可以對已配置的硬盤容量等級所對應(yīng)的硬盤分配相同數(shù)量的虛擬節(jié)點(diǎn),使得異構(gòu)硬盤之間的數(shù)據(jù)接口盡可能的均衡到各個(gè)節(jié)點(diǎn)上。其中,所述虛擬節(jié)點(diǎn)用于管理所存儲的數(shù)據(jù)。
[0126]所述使用量檢測模塊10,用于檢測已配置的硬盤容量等級中初始容量等級所對應(yīng)硬盤的實(shí)際使用量,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的;
[0127]具體的,所述使用量檢測模塊10可以檢測已配置的硬盤容量等級中初始容量等級所對應(yīng)硬盤的實(shí)際使用量。其中,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的,例如,某個(gè)分布式存儲系統(tǒng)中有1TB、2TB、3TB這三種容量的硬盤,那么可以配置ITB容量硬盤的硬盤容量等級為等級I, 2TB容量硬盤的硬盤容量等級為等級2,3TB容量硬盤的硬盤容量等級為等級3。其中,所述初始容量等級是在已配置的硬盤容量等級中所選擇的,例如,在系統(tǒng)初始化時(shí),在已配置的硬盤容量等級中選擇最小的硬盤容量等級作為初始容量等級,即在等級I至等級3的硬盤容量等級中,選擇等級I的硬盤容量等級作為初始容量等級。在確定了所述初始容量等級后,所述使用量檢測模塊10可以檢測已配置的硬盤容量等級中初始容量等級所對應(yīng)硬盤的實(shí)際使用量,例如,若初始容量等級為等級I的硬盤容量等級,則所述使用量檢測模塊10可以檢測等級I的硬盤容量等級所對應(yīng)的硬盤中已存儲數(shù)據(jù)的容量大小。
[0128]所述數(shù)量檢測模塊50,用于檢測在所述初始容量等級對應(yīng)硬盤的實(shí)際使用量超過預(yù)置的使用閾值的硬盤數(shù)量是否達(dá)到預(yù)置的數(shù)量閾值;
[0129]所述確定模塊60,用于若檢測達(dá)到所述數(shù)量閾值,則確定所述初始容量等級對應(yīng)硬盤超限;[0130] 當(dāng)所述數(shù)量檢測模塊50檢測到所述初始容量等級對應(yīng)硬盤中實(shí)際使用量超過預(yù)置的使用閾值的硬盤數(shù)量達(dá)到預(yù)置的數(shù)量閾值時(shí),所述確定模塊60可以確定所述初始容量等級對應(yīng)硬盤超限。例如,初始容量等級為等級I的硬盤容量等級,等級I的硬盤容量等級所對應(yīng)硬盤的數(shù)量為10個(gè),且所述使用閾值為硬盤容量的50%,所述數(shù)量閾值為某個(gè)硬盤容量等級對應(yīng)硬盤數(shù)量的80%,當(dāng)所述數(shù)量檢測模塊50檢測到所述實(shí)際使用量超過硬盤容量50%的硬盤的數(shù)量達(dá)到8個(gè)時(shí),所述確定模塊60可確定所述初始容量等級對應(yīng)硬盤超限。
[0131]所述查找模塊20,用于當(dāng)根據(jù)所述使用量檢測模塊10檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),查找已配置的硬盤容量等級中高于所述初始容量等級的次聞容量等級對應(yīng)的硬盤;
[0132]具體的,當(dāng)根據(jù)檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),所述查找模塊20可以查找已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤,例如,當(dāng)存儲系統(tǒng)中的硬盤可以分為等級1、等級2、等級3,且初始容量等級為等級I的硬盤容量等級時(shí),所述查找模塊20可以查找到已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤,即所述次高容量等級為等級2的硬盤容量等級。
[0133]所述第一發(fā)送模塊70,用于當(dāng)未查找到已配置的硬盤容量等級中高于所述初始容量等級的次聞容量等級時(shí),發(fā)送擴(kuò)容提不?目息;
[0134]具體的,當(dāng)所述查找模塊20未查找到已配置的硬盤容量等級中高于所述初始容量等級的次聞容量等級時(shí),則說明初始容量等級對應(yīng)的硬盤為硬盤容量等級中的最聞等級,為了讓存儲系統(tǒng)可以繼續(xù)存儲數(shù)據(jù),可以進(jìn)行擴(kuò)容,即所述第一發(fā)送模塊70可以發(fā)送擴(kuò)容提示信息到管理員的終端,以提示管理員需要對存儲系統(tǒng)進(jìn)行擴(kuò)容。
[0135]所述確定遷移模塊30,用于當(dāng)所述查找模塊20查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù);
[0136]所述次高遷移模塊90,用于將所述次高容量等級作為初始容量等級以進(jìn)行虛擬節(jié)點(diǎn)的遷移;
[0137]具體的,當(dāng)所述查找模塊20查找到所述次高容量等級對應(yīng)的硬盤時(shí),所述確定遷移模塊30可以根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù),即所述確定遷移模塊30將低硬盤容量等級的硬盤上的攜帶有存儲數(shù)據(jù)的虛擬節(jié)點(diǎn)遷移至高硬盤容量等級的硬盤上,使得可以同時(shí)對所述虛擬節(jié)點(diǎn)以及存儲于所述虛擬節(jié)點(diǎn)中的數(shù)據(jù)進(jìn)行遷移。并且遷移后的數(shù)據(jù)仍可以映射于與原來對應(yīng)的虛擬節(jié)點(diǎn),從而可以繼續(xù)正常的對遷移后的數(shù)據(jù)進(jìn)行存儲和提取。所述確定遷移模塊30將低硬盤容量等級的硬盤中的虛擬節(jié)點(diǎn)以及存儲于所述虛擬節(jié)點(diǎn)中的數(shù)據(jù)遷移至高硬盤容量等級的硬盤中,可以減少低硬盤容量等級的硬盤的存儲負(fù)擔(dān),并充分的利用了高硬盤容量等級的硬盤的存儲空間,另外,還可以使高硬盤容量等級的硬盤可以擁有更多的虛擬節(jié)點(diǎn)以分擔(dān)更多存儲工作,從而可以提高性能的平衡性,并進(jìn)一步的充分利用大容量硬盤的存儲空間。
[0138]例如,存儲系統(tǒng)中硬盤容量等級包括等級1、等級2以及等級3,硬盤實(shí)際容量分別為1TB、2TB、3TB,每種硬盤容量等級對應(yīng)的硬盤數(shù)量相同,在系統(tǒng)初始化時(shí),為每個(gè)硬盤容量等級所對應(yīng)的硬盤分配48個(gè)虛擬節(jié)點(diǎn),且所述初始容量等級為等級I的硬盤容量等級。當(dāng)所述初始容量等級對應(yīng)硬盤超限時(shí),將等級2的硬盤容量等級作為次高容量等級,所述確定遷移模塊30可以根據(jù)初始容量等級和次高容量等級確定虛擬節(jié)點(diǎn)的遷移比例,即等級1、等級2以及等級3的硬盤容量等級對應(yīng)硬盤的遷移比例為1:2:2。其中高于次高容量等級的硬盤所獲得的虛擬節(jié)點(diǎn)數(shù)量與次高容量等級的硬盤所獲得虛擬節(jié)點(diǎn)數(shù)量相同,此時(shí),所述確定遷移模塊30將等級I對應(yīng)硬盤中的虛擬節(jié)點(diǎn)按照1:2:2的遷移比例遷移至等級2和等級3的硬盤中。由于每個(gè)虛擬節(jié)點(diǎn)中攜帶有相同大小的數(shù)據(jù),所以在虛擬節(jié)點(diǎn)遷移結(jié)束后,等級1、等級2以及等級3對應(yīng)硬盤中所存儲的數(shù)據(jù)大小比例也為1:2:2。此時(shí),等級I對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為29個(gè),等級2對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為57個(gè),等級3對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為58個(gè)。在完成數(shù)據(jù)的遷移之后,所述次高遷移模塊90還可以將所述次高容量等級作為初始容量等級以進(jìn)行虛擬節(jié)點(diǎn)的遷移,即在等級2的硬盤容量等級對應(yīng)的硬盤超限時(shí),所述確定遷移模塊30可以確定等級I至等級3的硬盤遷移比例為1:2:3,使得在虛擬節(jié)點(diǎn)遷移結(jié)束后,等級I至等級3對應(yīng)的硬盤中所存儲的數(shù)據(jù)大小和虛擬節(jié)點(diǎn)的數(shù)量的比例均為1:2:3,即等級I對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為24個(gè),等級2對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為48個(gè),等級3對應(yīng)硬盤中虛擬節(jié)點(diǎn)的數(shù)量為64個(gè)。
[0139]所述第二發(fā)送模塊80,用于當(dāng)所述次高容量等級對應(yīng)的硬盤超限、且所述次高容量等級為已配置的等級中最大的硬盤容量等級時(shí),發(fā)送擴(kuò)容提示信息;
[0140]具體的,當(dāng)所述次高容量等級對應(yīng)的硬盤超限、且所述次高容量等級不為已配置的等級中最大的硬盤容量等級時(shí),所述次高遷移模塊90可以將所述次高容量等級作為初始容量等級以進(jìn)行虛擬節(jié)點(diǎn)的遷移。當(dāng)所述次高容量等級對應(yīng)的硬盤超限、且所述次高容量等級為已配置的等級中最大的硬盤容量等級時(shí),說明存儲系統(tǒng)中沒有比所述次高容量等級更高的硬盤容量等級所對應(yīng)的硬盤,為了讓存儲系統(tǒng)可以繼續(xù)正常工作則需要進(jìn)行擴(kuò)容,即所述第二發(fā)送模塊80可以發(fā)送擴(kuò)容提示信息到管理員的終端,以提示管理員需要對存儲系統(tǒng)進(jìn)行擴(kuò)容。
[0141]所述設(shè)置模塊100,用于在擴(kuò)容或硬盤更換時(shí),對新增或更換的硬盤設(shè)置對應(yīng)的硬盤容量等級以便于在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移;
[0142]具體的,在擴(kuò)容或硬盤更換時(shí),所述設(shè)置模塊100可以對新增或更換的硬盤設(shè)置對應(yīng)的硬盤容量等級以便于在已配置的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移。例如,存儲系統(tǒng)中,有1TB、2TB、3TB容量的硬盤,分別對應(yīng)的硬盤容量等級為等級1、等級2、等級3,并且當(dāng)前的初始容量等級為等級3的硬盤容量等級,當(dāng)初始容量等級所對應(yīng)硬盤超限,且增加有4TB容量的硬盤時(shí),所述設(shè)置模塊100將4TB容量的硬盤設(shè)置為等級4的硬盤容量等級,并由所述確定遷移模塊30根據(jù)1:2:3:4的遷移比例在等級I至等級4的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移;當(dāng)初始容量等級所對應(yīng)硬盤沒有超限,且增加有4TB容量的硬盤時(shí),所述設(shè)置模塊100將4TB容量的硬盤設(shè)置為等級4的硬盤容量等級,并由所述確定遷移模塊30根據(jù)1:2:3:3的遷移比例在等級I至等級4的硬盤容量等級所對應(yīng)硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移。在擴(kuò)容或更換硬盤時(shí),對攜帶有存儲數(shù)據(jù)的虛擬節(jié)點(diǎn)進(jìn)行遷移可以使存儲系統(tǒng)繼續(xù)正常存儲數(shù)據(jù)。
[0143]所述標(biāo)識模塊110,用于當(dāng)檢測到已配置的硬盤容量等級中對應(yīng)的硬盤數(shù)量占總硬盤數(shù)量的比例小于比例閾值時(shí),對小于所述比例閾值的硬盤容量等級進(jìn)行標(biāo)識;
[0144]所述更新模塊120,用于更新具有標(biāo)識的硬盤容量等級以便于提升數(shù)據(jù)遷移性倉泛;
[0145]具體的,當(dāng)檢測到已配置的硬盤容量等級中對應(yīng)的硬盤數(shù)量占總硬盤數(shù)量的比例小于比例閾值時(shí),所述標(biāo)識模塊110可以對小于所述比例閾值的硬盤容量等級進(jìn)行標(biāo)識,并由所述更新模塊120更新具有標(biāo)識的硬盤容量等級以便于提升數(shù)據(jù)遷移性能,更新的方法可以是將具有標(biāo)識的硬盤容量等級重新設(shè)置為較低級的硬盤容量等級。例如,在存儲系統(tǒng)中,可以預(yù)設(shè)所述比例閾值為20%,當(dāng)某種硬盤容量等級對應(yīng)的硬盤數(shù)量低于所有硬盤總數(shù)的20%時(shí),所述標(biāo)識模塊110對該種硬盤容量等級進(jìn)行標(biāo)識,并由所述更新模塊120將標(biāo)識后的硬盤容量等級設(shè)置為較低級的硬盤容量等級,即將該種硬盤容量等級對應(yīng)的硬盤視作低等級的硬盤使用,當(dāng)存儲系統(tǒng)中ITB的硬盤數(shù)量為40個(gè),2TB的硬盤數(shù)量為10個(gè),4TB的硬盤數(shù)量為50個(gè)時(shí),所述標(biāo)識模塊110可以對2TB的硬盤對應(yīng)的硬盤容量等級進(jìn)行標(biāo)識,并由所述更新模塊120將具有標(biāo)識的硬盤容量等級從等級2降為等級1,即將2TB的硬盤視作ITB的硬盤進(jìn)行使用,以減少系統(tǒng)的抖動(dòng)和提升數(shù)據(jù)遷移的性能。由于硬盤容量兼容主要為了兼容高容量硬盤,因此對于數(shù)量較少的硬盤種類可以不做考慮。
[0146]進(jìn)一步的,再請參見圖8,為本發(fā)明實(shí)施例提供的一種確定遷移模塊30的結(jié)構(gòu)示意圖,所述確定遷移模塊30包括:比例確定單元3001、遷移單元3002 ;
[0147]所述比例確定單元3001,用于當(dāng)所述查找模塊20查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例;
[0148]所述遷移單元3002,用于根據(jù)所述遷移比例將低于所述次高容量等級的硬盤容量等級所對應(yīng)硬盤中的所述虛擬節(jié)點(diǎn),遷移至高于或等于所述次高容量等級的硬盤容量等級所對應(yīng)的硬盤,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù);
[0149]具體的,當(dāng)所述查找模塊20查找到所述次高容量等級對應(yīng)的硬盤時(shí),所述比例確定單元3001可以根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,所述遷移單元3002可以根據(jù)所述遷移比例將低于所述次高容量等級的硬盤容量等級所對應(yīng)硬盤中的所述虛擬節(jié)點(diǎn),遷移至高于或等于所述次高容量等級的硬盤容量等級所對應(yīng)的硬盤,使得所述遷移單元3002可以同時(shí)對所述虛擬節(jié)點(diǎn)以及存儲于所述虛擬節(jié)點(diǎn)中的數(shù)據(jù)進(jìn)行遷移,并且遷移后的數(shù)據(jù)仍可以映射于與原來對應(yīng)的虛擬節(jié)點(diǎn),從而可以繼續(xù)正常的對遷移后的數(shù)據(jù)進(jìn)行存儲和提取。所述遷移單元3002將低等級的硬盤中的虛擬節(jié)點(diǎn)以及存儲于所述虛擬節(jié)點(diǎn)中的數(shù)據(jù)遷移至高等級的硬盤中,可以減少低等級的硬盤的存儲負(fù)擔(dān),并充分的利用了高等級的硬盤的存儲空間,另外,還可以使高等級的硬盤可以擁有更多的虛擬節(jié)點(diǎn)以分擔(dān)更多存儲工作,從而可以提高性能的平衡性,并進(jìn)一步的充分利用大容量硬盤的存儲空間。
[0150]本發(fā)明實(shí)施例通過根據(jù)硬盤實(shí)際容量劃分出不同的硬盤容量等級,并在初始容量等級對應(yīng)硬盤超限時(shí)對各個(gè)硬盤中攜帶有存儲數(shù)據(jù)的虛擬節(jié)點(diǎn)進(jìn)行遷移,使得不僅可以支持在海量存儲中的硬盤容量異構(gòu),同時(shí)由于虛擬節(jié)點(diǎn)中的數(shù)據(jù)是按照遷移比例進(jìn)行遷移的,所以還可以充分利用不同容量硬盤的存儲空間,而且高等級的硬盤可以擁有更多的虛擬節(jié)點(diǎn)以分擔(dān)更多存儲工作,從而可以提高性能的平衡性,并進(jìn)一步的充分利用大容量硬盤的存儲空間。
[0151]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(Random AccessMemory, RAM)等。
[0152]以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【權(quán)利要求】
1.一種數(shù)據(jù)存儲的方法,其特征在于,包括: 檢測已配置的硬盤容量等級中初始容量等級對應(yīng)硬盤的實(shí)際使用量,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的; 當(dāng)根據(jù)檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),查找已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤; 當(dāng)查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,在所述檢測已配置的硬盤容量等級中初始容量等級對應(yīng)硬盤的實(shí)際使用量之前,還包括: 在系統(tǒng)初始化時(shí),對已配置的硬盤容量等級所對應(yīng)的硬盤分配相同數(shù)量的虛擬節(jié)點(diǎn); 其中,所述虛擬節(jié)點(diǎn)用于管理所存儲的數(shù)據(jù)。
3.如權(quán)利要求1或2所述的方法,其特征在于,在所述檢測已配置的硬盤容量等級中初始容量等級對應(yīng)硬盤的實(shí)際使用量之后,還包括: 檢測在所述初始容量等級對應(yīng)硬盤的實(shí)際使用量超過預(yù)置的使用閾值的硬盤數(shù)量是否達(dá)到預(yù)置的數(shù)量閾值; 若檢測達(dá)到所述數(shù)量閾值,則確定所述初始容量等級對應(yīng)硬盤超限。
4.如權(quán)利要求1至3任一項(xiàng)`所述的方法,其特征在于,所述當(dāng)查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù),包括: 當(dāng)查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例; 根據(jù)所述遷移比例將低于所述次高容量等級的硬盤容量等級所對應(yīng)硬盤中的所述虛擬節(jié)點(diǎn),遷移至高于或等于所述次高容量等級的硬盤容量等級所對應(yīng)的硬盤,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù)。
5.如權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,還包括: 當(dāng)未查找到已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級時(shí),發(fā)送擴(kuò)容提示信息。
6.如權(quán)利要求1至5任一項(xiàng)所述的方法,其特征在于,還包括: 當(dāng)所述次高容量等級對應(yīng)的硬盤超限、且所述次高容量等級為已配置的等級中最大的硬盤容量等級時(shí),發(fā)送擴(kuò)容提示信息。
7.如權(quán)利要求1至6任一項(xiàng)所述的方法,其特征在于,還包括: 在擴(kuò)容或硬盤更換時(shí),對新增或更換的硬盤設(shè)置對應(yīng)的硬盤容量等級以便于在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移。
8.如權(quán)利要求1至7任一項(xiàng)所述的方法,其特征在于,還包括: 當(dāng)檢測到已配置的硬盤容量等級中對應(yīng)的硬盤數(shù)量占總硬盤數(shù)量的比例小于比例閾值時(shí),對小于所述比例閾值的硬盤容量等級進(jìn)行標(biāo)識; 更新具有標(biāo)識的硬盤容量等級以便于提升數(shù)據(jù)遷移性能。
9.一種存儲服務(wù)器,其特征在于,包括:使用量檢測模塊,用于檢測已配置的硬盤容量等級中初始容量等級對應(yīng)硬盤的實(shí)際使用量,所述硬盤容量等級是根據(jù)硬盤實(shí)際容量進(jìn)行劃分的;查找模塊,用于當(dāng)根據(jù)所述使用量檢測模塊檢測到的所述實(shí)際使用量確定出所述初始容量等級對應(yīng)硬盤超限時(shí),查找已配置的硬盤容量等級中高于所述初始容量等級的次高容量等級對應(yīng)的硬盤;確定遷移模塊,用于當(dāng)所述查找模塊查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例,并根據(jù)所述遷移比例在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù)。
10.如權(quán)利要求9所述的存儲服務(wù)器,其特征在于,還包括:分配模塊,用于在系統(tǒng)初始化時(shí),對已配置的硬盤容量等級所對應(yīng)的硬盤分配相同數(shù)量的虛擬節(jié)點(diǎn);其中,所述虛擬節(jié)點(diǎn)用于管理所存儲的數(shù)據(jù)。
11.如權(quán)利要求9或10所述的存儲服務(wù)器,其特征在于,還包括:數(shù)量檢測模塊,用于檢測在所述初始容量等級對應(yīng)硬盤的實(shí)際使用量超過預(yù)置的使用閾值的硬盤數(shù)量是否達(dá)到預(yù)置的數(shù)量閾值;確定模塊,用于若檢測達(dá)到所述數(shù)量閾值,則確定所述初始容量等級對應(yīng)硬盤超限。
12.如權(quán)利要求9至11任一項(xiàng)所述的存儲服務(wù)器,其特征在于,所述確定遷移模塊包括:比例確定單元,用于當(dāng)所述查找模塊查找到所述次高容量等級對應(yīng)的硬盤時(shí),根據(jù)所述初始容量等級、所述次高容量等級以及所述硬盤實(shí)際容量確定虛擬節(jié)點(diǎn)的遷移比例;遷移單元,用于根據(jù)所述遷移比例將低于所述次高容量等級的硬盤容量等級所對應(yīng)硬盤中的所述虛擬節(jié)點(diǎn),遷移至高于或等于所述次高容量等級的硬盤容量等級所對應(yīng)的硬盤,所述虛擬節(jié)點(diǎn)攜帶有所存儲的數(shù)據(jù)。
13.如權(quán)利要求9至12任一項(xiàng)所述的存儲服務(wù)器,其特征在于,還包括:第一發(fā)送模塊,用于當(dāng)未查找到已配置的硬盤容量等級中高于所述初始容量等級的次聞容量等級時(shí),發(fā)送擴(kuò)容提不?目息。
14.如權(quán)利要求9至13任一項(xiàng)所述的存儲服務(wù)器,其特征在于,還包括:第二發(fā)送模塊,用于當(dāng)所述次高容量等級對應(yīng)的硬盤超限、且所述次高容量等級為已配置的等級中最大的硬盤容量等級時(shí),發(fā)送擴(kuò)容提示信息。
15.如權(quán)利要求9至14任一項(xiàng)所述的存儲服務(wù)器,其特征在于,還包括:設(shè)置模塊,用于在擴(kuò)容或硬盤更換時(shí),對新增或更換的硬盤設(shè)置對應(yīng)的硬盤容量等級以便于在已配置的硬盤容量等級所對應(yīng)的硬盤之間進(jìn)行虛擬節(jié)點(diǎn)的遷移。
16.如權(quán)利要求9至15任一項(xiàng)所述的存儲服務(wù)器,其特征在于,還包括:標(biāo)識模塊,用于當(dāng)檢測到已配置的硬盤容量等級中對應(yīng)的硬盤數(shù)量占總硬盤數(shù)量的比例小于比例閾值時(shí),對小于所述比例閾值的硬盤容量等級進(jìn)行標(biāo)識;更新模塊,用于更新具有標(biāo)識的硬盤容量等級以便于提升數(shù)據(jù)遷移性能。
【文檔編號】G06F3/06GK103605484SQ201310611665
【公開日】2014年2月26日 申請日期:2013年11月26日 優(yōu)先權(quán)日:2013年11月26日
【發(fā)明者】林大云 申請人:華為技術(shù)有限公司