本發(fā)明涉及存儲領(lǐng)域,具體而言,涉及一種遷移策略調(diào)整方法、容量變更建議方法及裝置。
背景技術(shù):
傳統(tǒng)分級存儲依據(jù)存儲訪問的局部性突出的應(yīng)用場景,通過在原有的海量低性能存儲介質(zhì)基礎(chǔ)上引入一定空間比例的高性能(讀性能)存儲介質(zhì),將應(yīng)用對存儲系統(tǒng)的一定時長的內(nèi)容訪問歷史統(tǒng)計(jì)信息和手動預(yù)設(shè)的存儲分級策略進(jìn)行比對,對存儲在低層(低性能)介質(zhì)上且讀訪問熱度超過設(shè)定的上升熱度閥值的內(nèi)容向高層(高性能)存儲介質(zhì)上進(jìn)行上升式遷移;同時對存儲在高層(高性能)介質(zhì)上且讀訪問熱度低于設(shè)定的熱度下降閥值的內(nèi)容向低層(低性能)存儲介質(zhì)上進(jìn)行下降式遷移。使得熱數(shù)據(jù)盡可能駐留在高性能層介質(zhì)上,而冷數(shù)據(jù)盡可能駐留在低性能層存儲介質(zhì)上,內(nèi)容的熱度隨應(yīng)用訪問的變化而變化,在設(shè)定統(tǒng)計(jì)周期時長變熱或變冷或不變,變熱和變冷的數(shù)據(jù)對應(yīng)的遷移對應(yīng)用透明。
然而,傳統(tǒng)方式最大的問題是數(shù)據(jù)分片的遷移策略是手工預(yù)設(shè)的,不同層級的資源池分級架構(gòu)是靜態(tài)的,無法對不同層級資源池的動態(tài)擴(kuò)/縮容進(jìn)行實(shí)時感知并同步調(diào)整,無法對上層應(yīng)用存儲訪問模型中熱度閥值的范圍變化無法做到動態(tài)適應(yīng),從而會產(chǎn)生高層(高性能)存儲介質(zhì)無法充分利用的浪費(fèi)現(xiàn)象或頻繁的內(nèi)容升降遷移造成對實(shí)際業(yè)務(wù)的訪問性能降低。
針對相關(guān)技術(shù)中遷移策略由人工進(jìn)行靜態(tài)設(shè)置導(dǎo)致的高性能存儲介質(zhì)浪費(fèi)和業(yè)務(wù)的訪問性能降低的問題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種遷移策略調(diào)整方法、容量變更建議方法及裝置,以至少解決遷移策略由人工進(jìn)行靜態(tài)設(shè)置導(dǎo)致的高性能存儲介質(zhì)浪費(fèi)和業(yè)務(wù)的訪問性能降低的問題。
根據(jù)本發(fā)明的一個方面,提供了一種遷移策略調(diào)整方法,包括:統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)數(shù)據(jù)存儲服務(wù)器集群上的第一存儲資源池的容量信息,其中,所述第一存儲資源池用于存儲訪問熱度值超過預(yù)設(shè)訪問熱度閾值的數(shù)據(jù)分片;根據(jù)所述容量信息,判斷所述第一存儲資源池的存儲容量是否發(fā)生變化;在判斷到所述存儲容量發(fā)生變化的情況下,調(diào)整所述數(shù)據(jù)存儲服務(wù)器集群的數(shù)據(jù)分片的遷移策略。
優(yōu)選地,統(tǒng)計(jì)在所述預(yù)設(shè)時間段內(nèi)所述數(shù)據(jù)存儲服務(wù)器集群上的所述第一存儲資源 池的所述容量信息還包括:統(tǒng)計(jì)在所述預(yù)設(shè)時間段內(nèi)元數(shù)據(jù)服務(wù)器集群上的數(shù)據(jù)分片的訪問信息;在統(tǒng)計(jì)所述訪問信息之后,所述方法還包括:根據(jù)所述訪問信息,統(tǒng)計(jì)所述預(yù)設(shè)時間段內(nèi)的所述數(shù)據(jù)分片的訪問熱度值;根據(jù)所述訪問熱度值確定所述數(shù)據(jù)分片中需進(jìn)行遷移的數(shù)據(jù)分片,遷移需進(jìn)行遷移的數(shù)據(jù)分片。
優(yōu)選地,根據(jù)所述訪問熱度值確定所述數(shù)據(jù)分片中需進(jìn)行遷移的數(shù)據(jù)分片,遷移需進(jìn)行遷移的數(shù)據(jù)分片,包括:在所述第一存儲資源池被占用比例未達(dá)到預(yù)設(shè)滿閾值的情況下,根據(jù)所述訪問熱度值確定需要由第二存儲資源池遷移至所述第一存儲資源池的第一數(shù)據(jù)分片的第一數(shù)據(jù)量;判斷所述第一存儲資源池的剩余存儲空間是否滿足所述第一數(shù)據(jù)分片的存儲需求;在判斷到所述第一存儲資源池的剩余存儲空間滿足所述第一數(shù)據(jù)分片的存儲需求的情況下,將所述第一數(shù)據(jù)分片遷移至所述第一存儲資源池。
優(yōu)選地,在判斷到所述第一存儲資源池的剩余存儲空間不能滿足所述第一數(shù)據(jù)分片的存儲需求的情況下,根據(jù)所述訪問熱度值確定所述數(shù)據(jù)分片中需進(jìn)行遷移的數(shù)據(jù)分片,遷移需進(jìn)行遷移的數(shù)據(jù)分片,還包括:根據(jù)所述第一存儲資源池的剩余存儲空間和所述第一數(shù)據(jù)量,確定需要由所述第一存儲資源池遷移至所述第二存儲資源池的第二數(shù)據(jù)分片的第二數(shù)據(jù)量,其中,所述第二數(shù)據(jù)量大于或等于所述第一數(shù)據(jù)量與所述剩余存儲空間的差值;將所述第二數(shù)據(jù)分片遷移至所述第二存儲資源池;將所述第一數(shù)據(jù)分片遷移至所述第一存儲資源池。
優(yōu)選地,在判斷到所述存儲容量發(fā)生變化的情況下,調(diào)整所述數(shù)據(jù)存儲服務(wù)器集群的所述數(shù)據(jù)分片的所述遷移策略,包括:統(tǒng)計(jì)在所述預(yù)設(shè)時間段內(nèi)所述數(shù)據(jù)分片的遷移信息;根據(jù)所述遷移信息,確定在所述預(yù)設(shè)時間段內(nèi)在所述第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片;和/或,確定在所述預(yù)設(shè)時間段內(nèi)在所述第一存儲資源池和所述第二存儲資源池之間雙向遷移的次數(shù)低于所述預(yù)設(shè)遷移數(shù)的第四數(shù)據(jù)分片;在判斷到所述存儲容量增加的情況下,在當(dāng)前訪問熱度值統(tǒng)計(jì)周期之后的預(yù)設(shè)多個訪問熱度值統(tǒng)計(jì)周期內(nèi)將所述第三數(shù)據(jù)分片駐留在所述第一存儲資源池;和/或在判斷到所述第一存儲資源池容量減少的情況下,在當(dāng)前訪問熱度值統(tǒng)計(jì)周期之后的預(yù)設(shè)多個訪問熱度值統(tǒng)計(jì)周期內(nèi)將所述第四數(shù)據(jù)分片駐留在所述第二存儲資源池。
優(yōu)選地,在判斷到所述第一存儲資源池的容量發(fā)生變化的情況下,調(diào)整所述數(shù)據(jù)存儲服務(wù)器集群的所述數(shù)據(jù)分片的所述遷移策略,還包括以下至少之一:在判斷到所述第一存儲資源池容量增加的情況下,降低第一訪問熱度閾值;在判斷到所述第一存儲資源池容量增加的情況下,降低第二訪問熱度閾值;在判斷到所述第一存儲資源池容量減少的情況下,提升所述第一訪問熱度閾值;在判斷到所述第一存儲資源池容量減少的情況下,提升所述第二訪問熱度閾值;其中,所述第一訪問熱度閾值為需要由所述第二存儲資源池遷移至所述第一存儲資源池的第一數(shù)據(jù)分片的最小訪問熱度值,所述第二訪問熱度閾值為需要由所述第一存儲資源池遷移至所述第二存儲資源池的第二數(shù)據(jù)分片的最 大訪問熱度值。
優(yōu)選地,在統(tǒng)計(jì)所述數(shù)據(jù)存儲服務(wù)集群上的所述第一存儲資源池的所述容量信息之后,所述方法還包括:判斷在連續(xù)的多個訪問熱度值統(tǒng)計(jì)周期內(nèi)所述第一存儲資源池的利用率是否低于預(yù)設(shè)利用率;在判斷到在連續(xù)的所述多個訪問熱度值統(tǒng)計(jì)周期內(nèi)所述第一存儲資源池的利用率低于所述預(yù)設(shè)利用率的情況下,增大訪問熱度值統(tǒng)計(jì)周期,和/或,降低第二訪問熱度閾值,其中,所述第二訪問熱度閾值為需要由所述第一存儲資源池遷移至第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。
優(yōu)選地,統(tǒng)計(jì)在所述預(yù)設(shè)時間段內(nèi)所述數(shù)據(jù)存儲服務(wù)器集群上的所述第一存儲資源池的所述容量信息還包括:統(tǒng)計(jì)在所述預(yù)設(shè)時間段內(nèi)在所述第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片;在統(tǒng)計(jì)所述第三數(shù)據(jù)分片之后,所述方法還包括:上報針對所述第三數(shù)據(jù)分片的告警信息,其中,所述告警信息包括:用于指示當(dāng)前遷移策略性能收益低的告警,和/或用于指示所述第三數(shù)據(jù)分片頻繁遷移的告警。
優(yōu)選地,在統(tǒng)計(jì)在所述預(yù)設(shè)時間段內(nèi)在所述第一存儲資源池和所述第二存儲資源池之間雙向遷移的次數(shù)超過所述預(yù)設(shè)遷移數(shù)的所述第三數(shù)據(jù)分片之后,所述方法還包括:根據(jù)所述第三數(shù)據(jù)分片的數(shù)據(jù)量,上報對所述第一存儲資源池的容量變更建議。
優(yōu)選地,在上報對所述第一存儲資源池的所述容量變更建議之后,所述方法還包括:啟動計(jì)時器;在所述計(jì)數(shù)器超時且未收到所述容量變更建議的響應(yīng)消息的情況下,提升第一訪問熱度閾值,和/或,提升第二訪問熱度閾值,其中,所述第一訪問熱度閾值為需要由所述第二存儲資源池遷移至所述第一存儲資源池的第一數(shù)據(jù)分片的最小訪問熱度值,所述第二訪問熱度閾值為需要由所述第一存儲資源池遷移至所述第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。
根據(jù)本發(fā)明的另一個方面,還提供了一種容量變更建議方法,包括:統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)在數(shù)據(jù)存儲服務(wù)器集群上第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片;根據(jù)所述第三數(shù)據(jù)分片的數(shù)據(jù)量,上報對所述第一存儲資源池的容量變更建議。
優(yōu)選地,在統(tǒng)計(jì)在所述預(yù)設(shè)時間段內(nèi)在所述數(shù)據(jù)存儲服務(wù)器集群上所述第一存儲資源池和所述第二存儲資源池之間雙向遷移的次數(shù)超過所述預(yù)設(shè)遷移數(shù)的所述第三數(shù)據(jù)分片之后,所述方法還包括:上報針對所述第三數(shù)據(jù)分片的告警信息,其中,所述告警信息包括:用于指示當(dāng)前遷移策略性能收益低的告警,和/或用于指示所述第三數(shù)據(jù)分片頻繁遷移的告警。
優(yōu)選地,在上報對所述第一存儲資源池的所述容量變更建議之后,所述方法還包括:啟動計(jì)時器;在所述計(jì)數(shù)器超時且未收到所述容量變更建議的響應(yīng)消息的情況下,提升第一訪問熱度閾值,和/或,提升第二訪問熱度閾值,其中,所述第一訪問熱度閾值為 需要由所述第二存儲資源池遷移至所述第一存儲資源池的第一數(shù)據(jù)分片的最小訪問熱度值,所述第二訪問熱度閾值為需要由所述第一存儲資源池遷移至所述第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。
根據(jù)本發(fā)明的另一個方面,還提供了一種遷移策略調(diào)整裝置,包括:容量信息統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)數(shù)據(jù)存儲服務(wù)器集群上的第一存儲資源池的容量信息,其中,所述第一存儲資源池用于存儲訪問熱度值超過預(yù)設(shè)訪問熱度閾值的數(shù)據(jù)分片;容量信息判斷模塊,用于根據(jù)所述容量信息,判斷所述第一存儲資源池的存儲容量是否發(fā)生變化;遷移策略調(diào)整模塊,用于在判斷到所述存儲容量發(fā)生變化的情況下,調(diào)整所述數(shù)據(jù)存儲服務(wù)器集群的數(shù)據(jù)分片的遷移策略。
優(yōu)選地,所述容量信息統(tǒng)計(jì)模塊還用于:統(tǒng)計(jì)在所述預(yù)設(shè)時間段內(nèi)元數(shù)據(jù)服務(wù)器集群上的數(shù)據(jù)分片的訪問信息;所述裝置還包括:訪問熱度值統(tǒng)計(jì)模塊,用于根據(jù)所述訪問信息,統(tǒng)計(jì)所述預(yù)設(shè)時間段內(nèi)的所述數(shù)據(jù)分片的訪問熱度值;數(shù)據(jù)分片遷移模塊,用于根據(jù)所述訪問熱度值確定所述數(shù)據(jù)分片中需進(jìn)行遷移的數(shù)據(jù)分片,遷移需進(jìn)行遷移的數(shù)據(jù)分片。
優(yōu)選地,所述數(shù)據(jù)分片遷移模塊包括:第一數(shù)據(jù)量確定單元,用于在所述第一存儲資源池被占用比例未達(dá)到預(yù)設(shè)滿閾值的情況下,根據(jù)所述訪問熱度值確定需要由第二存儲資源池遷移至所述第一存儲資源池的第一數(shù)據(jù)分片的第一數(shù)據(jù)量;存儲需求判斷單元,用于判斷所述第一存儲資源池的剩余存儲空間是否滿足所述第一數(shù)據(jù)分片的存儲需求;第一數(shù)據(jù)分片遷移單元,用于在判斷到所述第一存儲資源池的剩余存儲空間滿足所述第一數(shù)據(jù)分片的存儲需求的情況下,將所述第一數(shù)據(jù)分片遷移至所述第一存儲資源池。
優(yōu)選地,所述數(shù)據(jù)分片遷移模塊還包括:第二數(shù)據(jù)量確定單元,用于在判斷到所述第一存儲資源池的剩余存儲空間不能滿足所述第一數(shù)據(jù)分片的存儲需求的情況下,根據(jù)所述第一存儲資源池的剩余存儲空間和所述第一數(shù)據(jù)量,確定需要由所述第一存儲資源池遷移至所述第二存儲資源池的第二數(shù)據(jù)分片的第二數(shù)據(jù)量,其中,所述第二數(shù)據(jù)量大于或等于所述第一數(shù)據(jù)量與所述剩余存儲空間的差值;第二數(shù)據(jù)分片遷移單元,用于將所述第二數(shù)據(jù)分片遷移至所述第二存儲資源池;其中,所述第一數(shù)據(jù)分片遷移單元,還用于在將所述第二數(shù)據(jù)分片遷移至所述第二存儲資源池之后,將所述第一數(shù)據(jù)分片遷移至所述第一存儲資源池。
優(yōu)選地,所述遷移策略調(diào)整模塊包括:遷移信息統(tǒng)計(jì)單元,用于統(tǒng)計(jì)在所述預(yù)設(shè)時間段內(nèi)所述數(shù)據(jù)分片的遷移信息;第三數(shù)據(jù)分片確定單元,用于根據(jù)所述遷移信息,確定在所述預(yù)設(shè)時間段內(nèi)在所述第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片;和/或,第四數(shù)據(jù)分片確定單元,用于確定在所述預(yù)設(shè)時間段內(nèi)在所述第一存儲資源池和所述第二存儲資源池之間雙向遷移的次數(shù)低于所述預(yù)設(shè)遷移數(shù)的第四數(shù)據(jù)分片;第三數(shù)據(jù)分片駐留單元,用于在判斷到所述存儲容量增加的情況下,在當(dāng)前訪問熱度值統(tǒng)計(jì)周期之后的預(yù)設(shè)多個訪問熱度值統(tǒng)計(jì)周期內(nèi)將所述 第三數(shù)據(jù)分片駐留在所述第一存儲資源池;和/或第四數(shù)據(jù)分片駐留單元,用于在判斷到所述第一存儲資源池容量減少的情況下,在當(dāng)前訪問熱度值統(tǒng)計(jì)周期之后的預(yù)設(shè)多個訪問熱度值統(tǒng)計(jì)周期內(nèi)將所述第四數(shù)據(jù)分片駐留在所述第二存儲資源池。
優(yōu)選地,遷移策略調(diào)整模塊還包括以下至少之一:第一訪問熱度閾值降低單元,用于在判斷到所述第一存儲資源池容量增加的情況下,降低第一訪問熱度閾值;第二訪問熱度閾值降低單元,用于在判斷到所述第一存儲資源池容量增加的情況下,降低第二訪問熱度閾值;第一訪問熱度閾值提升單元,用于在判斷到所述第一存儲資源池容量減少的情況下,提升所述第一訪問熱度閾值;第二訪問熱度閾值提升單元,用于在判斷到所述第一存儲資源池容量減少的情況下,提升所述第二訪問熱度閾值;其中,所述第一訪問熱度閾值為需要由所述第二存儲資源池遷移至所述第一存儲資源池的第一數(shù)據(jù)分片的最小訪問熱度值,所述第二訪問熱度閾值為需要由所述第一存儲資源池遷移至所述第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。
優(yōu)選地,所述裝置還包括:利用率判斷模塊,用于判斷在連續(xù)的多個訪問熱度值統(tǒng)計(jì)周期內(nèi)所述第一存儲資源池的利用率是否低于預(yù)設(shè)利用率;訪問熱度值統(tǒng)計(jì)周期和/或第二訪問熱度閾值調(diào)整模塊,用于在判斷到在連續(xù)的所述多個訪問熱度值統(tǒng)計(jì)周期內(nèi)所述第一存儲資源池的利用率低于所述預(yù)設(shè)利用率的情況下,增大訪問熱度值統(tǒng)計(jì)周期,和/或,降低第二訪問熱度閾值,其中,所述第二訪問熱度閾值為需要由所述第一存儲資源池遷移至第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。
優(yōu)選地,所述容量信息統(tǒng)計(jì)模塊還用于:統(tǒng)計(jì)在所述預(yù)設(shè)時間段內(nèi)在所述第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片;所述裝置還包括:告警信息上報模塊,用于上報針對所述第三數(shù)據(jù)分片的告警信息,其中,所述告警信息包括:用于指示當(dāng)前遷移策略性能收益低的告警,和/或用于指示所述第三數(shù)據(jù)分片頻繁遷移的告警。
優(yōu)選地,所述裝置還包括:容量變更建議上報模塊,用于根據(jù)所述第三數(shù)據(jù)分片的數(shù)據(jù)量,上報對所述第一存儲資源池的容量變更建議。
優(yōu)選地,所述裝置還包括:計(jì)時器啟動模塊,用于啟動計(jì)時器;第一訪問熱度閾值和/或第二訪問熱度閾值提升模塊,用于在所述計(jì)數(shù)器超時且未收到所述容量變更建議的響應(yīng)消息的情況下,提升第一訪問熱度閾值,和/或,提升第二訪問熱度閾值,其中,所述第一訪問熱度閾值為需要由所述第二存儲資源池遷移至所述第一存儲資源池的第一數(shù)據(jù)分片的最小訪問熱度值,所述第二訪問熱度閾值為需要由所述第一存儲資源池遷移至所述第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。
根據(jù)本發(fā)明的另一個方面,還提供了一種容量變更建議裝置,包括:第三數(shù)據(jù)分片統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)在數(shù)據(jù)存儲服務(wù)器集群上第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片;容量變更建議上報模塊, 用于根據(jù)所述第三數(shù)據(jù)分片的數(shù)據(jù)量,上報對所述第一存儲資源池的容量變更建議。
優(yōu)選地,所述裝置還包括:告警信息上報模塊,用于上報針對所述第三數(shù)據(jù)分片的告警信息,其中,所述告警信息包括:用于指示當(dāng)前遷移策略性能收益低的告警,和/或用于指示所述第三數(shù)據(jù)分片頻繁遷移的告警。
優(yōu)選地,所述裝置還包括:計(jì)時器啟動模塊,用于啟動計(jì)時器;第一訪問熱度閾值和/或第二訪問熱度閾值提升模塊,用于在所述計(jì)數(shù)器超時且未收到所述容量變更建議的響應(yīng)消息的情況下,提升第一訪問熱度閾值,和/或,提升第二訪問熱度閾值,其中,所述第一訪問熱度閾值為需要由所述第二存儲資源池遷移至所述第一存儲資源池的第一數(shù)據(jù)分片的最小訪問熱度值,所述第二訪問熱度閾值為需要由所述第一存儲資源池遷移至所述第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。
通過本發(fā)明,采用統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)數(shù)據(jù)存儲服務(wù)器集群上的第一存儲資源池的容量信息,其中,第一存儲資源池用于存儲訪問熱度值超過預(yù)設(shè)訪問熱度閾值的數(shù)據(jù)分片;根據(jù)容量信息,判斷第一存儲資源池的存儲容量是否發(fā)生變化;在判斷到存儲容量發(fā)生變化的情況下,調(diào)整數(shù)據(jù)存儲服務(wù)器集群的數(shù)據(jù)分片的遷移策略的方式,解決了遷移策略由人工進(jìn)行靜態(tài)設(shè)置導(dǎo)致的高性能存儲介質(zhì)浪費(fèi)和業(yè)務(wù)的訪問性能降低的問題,可以提高高性能存儲介質(zhì)的利用率,提升業(yè)務(wù)的訪問性能。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整方法的流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例的容量變更建議方法的流程圖;
圖3是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整裝置的結(jié)構(gòu)示意圖;
圖4是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整裝置的優(yōu)選結(jié)構(gòu)示意圖一;
圖5是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整裝置的優(yōu)選結(jié)構(gòu)示意圖二;
圖6是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整裝置的優(yōu)選結(jié)構(gòu)示意圖三;
圖7是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整裝置的優(yōu)選結(jié)構(gòu)示意圖四;
圖8是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整裝置的優(yōu)選結(jié)構(gòu)示意圖五;
圖9是根據(jù)本發(fā)明實(shí)施例的容量變更建議裝置的結(jié)構(gòu)示意圖;
圖10是根據(jù)本發(fā)明實(shí)施例的容量變更建議裝置的優(yōu)選結(jié)構(gòu)示意圖一;
圖11是根據(jù)本發(fā)明實(shí)施例的容量變更建議裝置的優(yōu)選結(jié)構(gòu)示意圖二;
圖12是根據(jù)本發(fā)明優(yōu)選實(shí)施例的智能分級存儲系統(tǒng)的結(jié)構(gòu)示意圖;
圖13是根據(jù)本發(fā)明優(yōu)選實(shí)施例的智能分級存儲方法的流程圖。
具體實(shí)施方式
下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。
在本實(shí)施例中提供了一種遷移策略調(diào)整方法,圖1是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整方法的流程圖,如圖1所示,該流程包括如下步驟:
步驟S102,統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)數(shù)據(jù)存儲服務(wù)器集群上的第一存儲資源池的容量信息,其中,第一存儲資源池用于存儲訪問熱度值超過預(yù)設(shè)訪問熱度閾值的數(shù)據(jù)分片;
步驟S104,根據(jù)容量信息,判斷第一存儲資源池的存儲容量是否發(fā)生變化;
步驟S106,在判斷到存儲容量發(fā)生變化的情況下,調(diào)整數(shù)據(jù)存儲服務(wù)器集群的數(shù)據(jù)分片的遷移策略。
通過上述步驟,根據(jù)第一存儲資源池的存儲容量變化情況,對數(shù)據(jù)分片的遷移策略進(jìn)行調(diào)整;例如,在第一存儲資源池為高性能存儲資源池的情況下,通過上述步驟可以動態(tài)根據(jù)高性能存儲資源池的存儲容量的變化對遷移策略進(jìn)行調(diào)整,相對于相關(guān)技術(shù)中手工靜態(tài)設(shè)置遷移策略的方式,解決了遷移策略由人工進(jìn)行靜態(tài)設(shè)置導(dǎo)致的高性能存儲介質(zhì)浪費(fèi)和業(yè)務(wù)的訪問性能降低的問題,可以提高高性能存儲介質(zhì)的利用率,提升業(yè)務(wù)的訪問性能。
優(yōu)選地,上述方法還包括:統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)元數(shù)據(jù)服務(wù)器集群上的數(shù)據(jù)分片的訪問信息;根據(jù)訪問信息,統(tǒng)計(jì)預(yù)設(shè)時間段內(nèi)的數(shù)據(jù)分片的訪問熱度值;根據(jù)訪問熱度值確定數(shù)據(jù)分片中需進(jìn)行遷移的數(shù)據(jù)分片,遷移需進(jìn)行遷移的數(shù)據(jù)分片。上述的訪問熱度值是指數(shù)據(jù)分片被訪問的頻度,被訪問頻度越高,則訪問熱度值越高。具體的訪問熱度值統(tǒng)計(jì)方式可以根據(jù)實(shí)際需要進(jìn)行設(shè)計(jì),在本發(fā)明實(shí)施例中并不限制其統(tǒng)計(jì)方式。數(shù)據(jù)分片一般存儲在多個存儲資源池中,例如,按照存儲性能分類,可以分為高性能存儲資源池(例如SSD介質(zhì)的存儲資源池)和低性能存儲資源池(例如,串行高級技術(shù)附件接口(Serial Advanced Technology Attachment,簡稱為SATA))。高性能存儲資源池中存儲的數(shù)據(jù)分片是訪問熱度值較大的數(shù)據(jù)分片,由于這些數(shù)據(jù)分片被訪問的頻度高,因此對于讀性能要求高;反之,低性能存儲資源池中存儲的數(shù)據(jù)分片是訪問熱度值較低的數(shù)據(jù)分片。
優(yōu)選地,在根據(jù)訪問熱度值確定數(shù)據(jù)分片中需進(jìn)行遷移的數(shù)據(jù)分片,遷移需進(jìn)行遷移的數(shù)據(jù)分片時,可以根據(jù)第一存儲資源池(例如高性能存儲資源池)的剩余存儲空間和待遷移至第一存儲資源池的數(shù)據(jù)量進(jìn)行處理。
例如,在第一存儲資源池被占用比例未達(dá)到預(yù)設(shè)滿閾值的情況下,根據(jù)訪問熱度值確定需要由第二存儲資源池(例如低性能存儲資源池)遷移至第一存儲資源池的第一數(shù)據(jù)分片的第一數(shù)據(jù)量;判斷第一存儲資源池的剩余存儲空間是否滿足第一數(shù)據(jù)分片的存儲需求;在判斷到第一存儲資源池的剩余存儲空間滿足第一數(shù)據(jù)分片的存儲需求的情況下,將第一數(shù)據(jù)分片遷移至第一存儲資源池。
優(yōu)選地,在判斷到第一存儲資源池的剩余存儲空間不能滿足第一數(shù)據(jù)分片的存儲需求的情況下,根據(jù)第一存儲資源池的剩余存儲空間和第一數(shù)據(jù)量,確定需要由第一存儲資源池遷移至第二存儲資源池的第二數(shù)據(jù)分片的第二數(shù)據(jù)量,其中,第二數(shù)據(jù)量大于或等于第一數(shù)據(jù)量與剩余存儲空間的差值;將第二數(shù)據(jù)量的第二數(shù)據(jù)分片遷移至第二存儲資源池;將第一數(shù)據(jù)量的第一數(shù)據(jù)分片遷移至第一存儲資源池。通過上述方式,在第二數(shù)據(jù)量等于第一數(shù)據(jù)量與剩余存儲空間的差值的情況下,實(shí)現(xiàn)了在高性能存儲資源池和低性能存儲資源池之間的最小數(shù)據(jù)量遷移,從而可以避免數(shù)據(jù)分片的大量遷移;同時,由于將盡可能多的數(shù)據(jù)分片存儲在高性能存儲資源池中,因此,也提高了高性能存儲資源池的利用率,提升了數(shù)據(jù)分片的訪問性能。
優(yōu)選地,在步驟S106中,調(diào)整遷移策略時,可以統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)數(shù)據(jù)分片的遷移信息;根據(jù)遷移信息,確定在預(yù)設(shè)時間段內(nèi)在第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片;在判斷到存儲容量增加的情況下,在當(dāng)前訪問熱度值統(tǒng)計(jì)周期之后的預(yù)設(shè)多個訪問熱度值統(tǒng)計(jì)周期內(nèi)將第三數(shù)據(jù)分片駐留在第一存儲資源池;或者,確定在預(yù)設(shè)時間段內(nèi)在第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)低于預(yù)設(shè)遷移數(shù)的第四數(shù)據(jù)分片;在判斷到第一存儲資源池容量減少的情況下,在當(dāng)前訪問熱度值統(tǒng)計(jì)周期之后的預(yù)設(shè)多個訪問熱度值統(tǒng)計(jì)周期內(nèi)將第四數(shù)據(jù)分片駐留在第二存儲資源池。通過上述方式,可以統(tǒng)計(jì)出頻繁遷移的數(shù)據(jù)分片,并且將頻繁遷移的數(shù)據(jù)分片在一定周期內(nèi)保持駐留在低層級存儲資源池或者高層級存儲資源池,避免了數(shù)據(jù)分片的頻繁遷移,從而可以提升系統(tǒng)穩(wěn)定性,降低數(shù)據(jù)分片遷移占用的資源。
優(yōu)選地,在判斷到第一存儲資源池的容量發(fā)生變化的情況下,在步驟S106中,調(diào)整數(shù)據(jù)存儲服務(wù)器集群的數(shù)據(jù)分片的遷移策略還可以包括以下至少之一:在判斷到第一存儲資源池容量增加的情況下,降低第一訪問熱度閾值;在判斷到第一存儲資源池容量增加的情況下,降低第二訪問熱度閾值;在判斷到第一存儲資源池容量減少的情況下,提升第一訪問熱度閾值;在判斷到第一存儲資源池容量減少的情況下,提升第二訪問熱度閾值;其中,第一訪問熱度閾值為需要由第二存儲資源池遷移至第一存儲資源池的第一數(shù)據(jù)分片的最小訪問熱度值,第二訪問熱度閾值為需要由第一存儲資源池遷移至第二 存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。通過上述方式,可以根據(jù)高性能存儲資源池的容量變化,對上遷/下遷的訪問熱度閾值進(jìn)行調(diào)整,從而可以使得熱點(diǎn)數(shù)據(jù)分片的數(shù)據(jù)量根據(jù)高性能存儲資源池的容量變化而擴(kuò)大或者收縮。
優(yōu)選地,在統(tǒng)計(jì)數(shù)據(jù)存儲服務(wù)集群上的第一存儲資源池的容量信息之后,可以根據(jù)容量信息判斷在連續(xù)的多個訪問熱度值統(tǒng)計(jì)周期內(nèi)第一存儲資源池的利用率是否低于預(yù)設(shè)利用率;在判斷到在連續(xù)的多個訪問熱度值統(tǒng)計(jì)周期內(nèi)第一存儲資源池的利用率低于預(yù)設(shè)利用率的情況下,增大訪問熱度值統(tǒng)計(jì)周期,和/或,降低第二訪問熱度閾值,其中,第二訪問熱度閾值為需要由第一存儲資源池遷移至第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。通過上述方式,可以根據(jù)高性能存儲資源池的利用率對上遷/下遷的訪問熱度閾值進(jìn)行調(diào)整,從而提升了高性能存儲資源池的利用率。
優(yōu)選地,上述方法還包括:統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)在第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片;上報針對第三數(shù)據(jù)分片的告警信息,其中,告警信息包括:用于指示當(dāng)前遷移策略性能收益低的告警,和/或用于指示第三數(shù)據(jù)分片頻繁遷移的告警。
優(yōu)選地,在上報告警信息時,還可以根據(jù)第三數(shù)據(jù)分片的數(shù)據(jù)量,上報對第一存儲資源池的容量變更建議。采用上述方式,在將容量變更建議上報之后,高層后續(xù)可以根據(jù)容量變更建議對高性能存儲資源池的容量進(jìn)行調(diào)整。
優(yōu)選地,在上報對第一存儲資源池的容量變更建議之后,還可以啟動計(jì)時器;在計(jì)數(shù)器超時且未收到容量變更建議的響應(yīng)消息的情況下,提升第一訪問熱度閾值,和/或,提升第二訪問熱度閾值,其中,第一訪問熱度閾值為需要由第二存儲資源池遷移至第一存儲資源池的第一數(shù)據(jù)分片的最小訪問熱度值,第二訪問熱度閾值為需要由第一存儲資源池遷移至第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。通過上述方式,在高層在預(yù)定時間內(nèi)沒有指示對高性能存儲資源池的存儲容量進(jìn)行變更的情況下,可以通過對訪問熱度閾值的調(diào)整,避免第三數(shù)據(jù)分片的頻繁遷移。
需要說明的是,在本發(fā)明實(shí)施例中所指的“第一數(shù)據(jù)分片”、“第二數(shù)據(jù)分片”、“第三數(shù)據(jù)分片”或者“第四數(shù)據(jù)分片”的數(shù)量可以是一個或者多個,并且,在通常情況下,由于存儲系統(tǒng)中數(shù)據(jù)量大,則遷移的數(shù)據(jù)一般也是由多個數(shù)據(jù)分片構(gòu)成的數(shù)據(jù)分片集。
在本實(shí)施例中還提供了一種容量變更建議方法,圖2是根據(jù)本發(fā)明實(shí)施例的容量變更建議方法的流程圖,如圖2所示,該流程包括如下步驟:
步驟S202,統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)在數(shù)據(jù)存儲服務(wù)器集群上第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片;
步驟S204,根據(jù)第三數(shù)據(jù)分片的數(shù)據(jù)量,上報對第一存儲資源池的容量變更建議。
通過上述步驟,可以根據(jù)數(shù)據(jù)分片的遷移情況,上報對第一存儲資源池(例如高性 能存儲資源池)的容量變更建議,從而使得高層可以自動根據(jù)容量變更建議對第一存儲資源池的容量進(jìn)行調(diào)整,解決了遷移策略由人工進(jìn)行靜態(tài)設(shè)置導(dǎo)致的高性能存儲介質(zhì)浪費(fèi)或者業(yè)務(wù)的訪問性能降低的問題,可以提高高性能存儲介質(zhì)的利用率,提升業(yè)務(wù)的訪問性能。
優(yōu)選地,在統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)在數(shù)據(jù)存儲服務(wù)器集群上第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片之后,還可以上報針對第三數(shù)據(jù)分片的告警信息,其中,告警信息包括:用于指示當(dāng)前遷移策略性能收益低的告警,和/或用于指示第三數(shù)據(jù)分片頻繁遷移的告警。
優(yōu)選地,在上報對第一存儲資源池的容量變更建議之后,可以啟動計(jì)時器;在計(jì)數(shù)器超時且未收到容量變更建議的響應(yīng)消息的情況下,提升第一訪問熱度閾值,和/或,提升第二訪問熱度閾值,其中,第一訪問熱度閾值為需要由第二存儲資源池遷移至第一存儲資源池的第一數(shù)據(jù)分片的最小訪問熱度值,第二訪問熱度閾值為需要由第一存儲資源池遷移至第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。通過上述方式,在高層在預(yù)定時間內(nèi)沒有指示對高性能存儲資源池的存儲容量進(jìn)行變更的情況下,可以通過對訪問熱度閾值的調(diào)整,避免第三數(shù)據(jù)分片的頻繁遷移。
需要說明的是,在本發(fā)明實(shí)施例中所指的“第一數(shù)據(jù)分片”、“第二數(shù)據(jù)分片”、“第三數(shù)據(jù)分片”或者“第四數(shù)據(jù)分片”的數(shù)量可以是一個或者多個,并且,在通常情況下,由于存儲系統(tǒng)中數(shù)據(jù)量大,則遷移的數(shù)據(jù)一般也是由多個數(shù)據(jù)分片構(gòu)成的數(shù)據(jù)分片集。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例的方法。
在本實(shí)施例中還提供了一種遷移策略調(diào)整裝置,用于實(shí)現(xiàn)上述實(shí)施例及優(yōu)選實(shí)施方式,已經(jīng)進(jìn)行過說明的不再贅述。如以下所使用的,術(shù)語“模塊”可以實(shí)現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實(shí)施例所描述的裝置較佳地以軟件來實(shí)現(xiàn),但是硬件,或者軟件和硬件的組合的實(shí)現(xiàn)也是可能并被構(gòu)想的。
圖3是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整裝置的結(jié)構(gòu)示意圖,如圖3所示,該裝置包括:容量信息統(tǒng)計(jì)模塊32、容量信息判斷模塊34和遷移策略調(diào)整模塊36,其中,容量信息統(tǒng)計(jì)模塊32,用于統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)數(shù)據(jù)存儲服務(wù)器集群上的第一存儲資源池的容量信息,其中,第一存儲資源池用于存儲訪問熱度值超過預(yù)設(shè)訪問熱度閾值的數(shù)據(jù)分片;容量信息判斷模塊34,用于根據(jù)容量信息,判斷第一存儲資源池的存儲容量是否發(fā)生變化;遷移策略調(diào)整模塊36,用于在判斷到存儲容量發(fā)生變化的情況下,調(diào)整數(shù)據(jù) 存儲服務(wù)器集群的數(shù)據(jù)分片的遷移策略。
圖4是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整裝置的優(yōu)選結(jié)構(gòu)示意圖一,如圖4所示,優(yōu)選地,容量信息統(tǒng)計(jì)模塊32還用于:統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)元數(shù)據(jù)服務(wù)器集群上的數(shù)據(jù)分片的訪問信息;裝置還包括:訪問熱度值統(tǒng)計(jì)模塊42,耦合至容量信息統(tǒng)計(jì)模塊32,用于根據(jù)訪問信息,統(tǒng)計(jì)預(yù)設(shè)時間段內(nèi)的數(shù)據(jù)分片的訪問熱度值;數(shù)據(jù)分片遷移模塊44,耦合至訪問熱度值統(tǒng)計(jì)模塊42,用于根據(jù)訪問熱度值確定數(shù)據(jù)分片中需進(jìn)行遷移的數(shù)據(jù)分片,遷移需進(jìn)行遷移的數(shù)據(jù)分片。
優(yōu)選地,數(shù)據(jù)分片遷移模塊44包括:第一數(shù)據(jù)量確定單元442,用于在第一存儲資源池被占用比例未達(dá)到預(yù)設(shè)滿閾值的情況下,根據(jù)訪問熱度值確定需要由第二存儲資源池遷移至第一存儲資源池的第一數(shù)據(jù)分片的第一數(shù)據(jù)量;存儲需求判斷單元444,耦合至第一數(shù)據(jù)量確定單元442,用于判斷第一存儲資源池的剩余存儲空間是否滿足第一數(shù)據(jù)分片的存儲需求;第一數(shù)據(jù)分片遷移單元446,耦合至存儲需求判斷單元444,用于在判斷到第一存儲資源池的剩余存儲空間滿足第一數(shù)據(jù)分片的存儲需求的情況下,將第一數(shù)據(jù)分片遷移至第一存儲資源池。
優(yōu)選地,數(shù)據(jù)分片遷移模塊44還包括:第二數(shù)據(jù)量確定單元448,耦合至存儲需求判斷單元444,用于在判斷到第一存儲資源池的剩余存儲空間不能滿足第一數(shù)據(jù)分片的存儲需求的情況下,根據(jù)第一存儲資源池的剩余存儲空間和第一數(shù)據(jù)量,確定需要由第一存儲資源池遷移至第二存儲資源池的第二數(shù)據(jù)分片的第二數(shù)據(jù)量,其中,第二數(shù)據(jù)量大于或等于第一數(shù)據(jù)量與剩余存儲空間的差值;第二數(shù)據(jù)分片遷移單元449,耦合至第二數(shù)據(jù)量確定單元448,用于將第二數(shù)據(jù)量的第二數(shù)據(jù)分片遷移至第二存儲資源池;其中,第一數(shù)據(jù)分片遷移單元446,還用于在將第二數(shù)據(jù)量的第二數(shù)據(jù)分片遷移至第二存儲資源池之后,將第一數(shù)據(jù)量的第一數(shù)據(jù)分片遷移至第一存儲資源池。
優(yōu)選地,遷移策略調(diào)整模塊36包括:遷移信息統(tǒng)計(jì)單元362,用于統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)數(shù)據(jù)分片的遷移信息;第三數(shù)據(jù)分片確定單元364,耦合至遷移信息統(tǒng)計(jì)單元362,用于根據(jù)遷移信息,確定在預(yù)設(shè)時間段內(nèi)在第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片;和/或,第四數(shù)據(jù)分片確定單元366,耦合至遷移信息統(tǒng)計(jì)單元362,用于根據(jù)遷移信息,確定在預(yù)設(shè)時間段內(nèi)在第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)低于預(yù)設(shè)遷移數(shù)的第四數(shù)據(jù)分片;第三數(shù)據(jù)分片駐留單元365,耦合至第三數(shù)據(jù)分片確定單元364,用于在判斷到存儲容量增加的情況下,在當(dāng)前訪問熱度值統(tǒng)計(jì)周期之后的預(yù)設(shè)多個訪問熱度值統(tǒng)計(jì)周期內(nèi)將第三數(shù)據(jù)分片駐留在第一存儲資源池;和/或第四數(shù)據(jù)分片駐留單元367,耦合至第四數(shù)據(jù)分片確定單元366,用于在判斷到第一存儲資源池容量減少的情況下,在當(dāng)前訪問熱度值統(tǒng)計(jì)周期之后的預(yù)設(shè)多個訪問熱度值統(tǒng)計(jì)周期內(nèi)將第四數(shù)據(jù)分片駐留在第二存儲資源池。
優(yōu)選地,遷移策略調(diào)整模塊36還包括以下至少之一:第一訪問熱度閾值降低單元,用于在判斷到第一存儲資源池容量增加的情況下,降低第一訪問熱度閾值;第二訪問熱 度閾值降低單元,用于在判斷到第一存儲資源池容量增加的情況下,降低第二訪問熱度閾值;第一訪問熱度閾值提升單元,用于在判斷到第一存儲資源池容量減少的情況下,提升第一訪問熱度閾值;第二訪問熱度閾值提升單元,用于在判斷到第一存儲資源池容量減少的情況下,提升第二訪問熱度閾值;其中,第一訪問熱度閾值為需要由第二存儲資源池遷移至第一存儲資源池的第一數(shù)據(jù)分片的最小訪問熱度值,第二訪問熱度閾值為需要由第一存儲資源池遷移至第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。
圖5是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整裝置的優(yōu)選結(jié)構(gòu)示意圖二,如圖5所示,優(yōu)選地,裝置還包括:利用率判斷模塊52,耦合至容量信息統(tǒng)計(jì)模塊32,用于判斷在連續(xù)的多個訪問熱度值統(tǒng)計(jì)周期內(nèi)第一存儲資源池的利用率是否低于預(yù)設(shè)利用率;訪問熱度值統(tǒng)計(jì)周期和/或第二訪問熱度閾值調(diào)整模塊54,耦合至利用率判斷模塊52,用于在判斷到在連續(xù)的多個訪問熱度值統(tǒng)計(jì)周期內(nèi)第一存儲資源池的利用率低于預(yù)設(shè)利用率的情況下,增大訪問熱度值統(tǒng)計(jì)周期,和/或,降低第二訪問熱度閾值,其中,第二訪問熱度閾值為需要由第一存儲資源池遷移至第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。
圖6是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整裝置的優(yōu)選結(jié)構(gòu)示意圖三,如圖6所示,優(yōu)選地,容量信息統(tǒng)計(jì)模塊32還用于:統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)在第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片;裝置還包括:告警信息上報模塊62,耦合至容量信息統(tǒng)計(jì)模塊32,用于上報針對第三數(shù)據(jù)分片的告警信息,其中,告警信息包括:用于指示當(dāng)前遷移策略性能收益低的告警,和/或用于指示第三數(shù)據(jù)分片頻繁遷移的告警。
圖7是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整裝置的優(yōu)選結(jié)構(gòu)示意圖四,如圖7所示,優(yōu)選地,裝置還包括:容量變更建議上報模塊72,耦合至容量信息統(tǒng)計(jì)模塊32,用于根據(jù)第三數(shù)據(jù)分片的數(shù)據(jù)量,上報對第一存儲資源池的容量變更建議。
圖8是根據(jù)本發(fā)明實(shí)施例的遷移策略調(diào)整裝置的優(yōu)選結(jié)構(gòu)示意圖五,如圖8所示,優(yōu)選地,裝置還包括:計(jì)時器啟動模塊82,耦合至容量變更建議上報模塊72,用于啟動計(jì)時器;第一訪問熱度閾值和/或第二訪問熱度閾值提升模塊84,耦合至計(jì)時器啟動模塊82,用于在計(jì)數(shù)器超時且未收到容量變更建議的響應(yīng)消息的情況下,提升第一訪問熱度閾值,和/或,提升第二訪問熱度閾值,其中,第一訪問熱度閾值為需要由第二存儲資源池遷移至第一存儲資源池的第一數(shù)據(jù)分片的最小訪問熱度值,第二訪問熱度閾值為需要由第一存儲資源池遷移至第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。
本實(shí)施例還提供了一種容量變更建議裝置,用于實(shí)現(xiàn)上述實(shí)施例及優(yōu)選實(shí)施方式,已經(jīng)進(jìn)行過說明的不再贅述。
圖9是根據(jù)本發(fā)明實(shí)施例的容量變更建議裝置的結(jié)構(gòu)示意圖,如圖9所示,該裝置包括:第三數(shù)據(jù)分片統(tǒng)計(jì)模塊92和容量變更建議上報模塊94,其中,第三數(shù)據(jù)分片統(tǒng) 計(jì)模塊92,用于統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)在數(shù)據(jù)存儲服務(wù)器集群上第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片;容量變更建議上報模塊94,耦合至第三數(shù)據(jù)分片統(tǒng)計(jì)模塊92,用于根據(jù)第三數(shù)據(jù)分片的數(shù)據(jù)量,上報對第一存儲資源池的容量變更建議。
圖10是根據(jù)本發(fā)明實(shí)施例的容量變更建議裝置的優(yōu)選結(jié)構(gòu)示意圖一,如圖10所示,優(yōu)選地,裝置還包括:告警信息上報模塊102,耦合至第三數(shù)據(jù)分片統(tǒng)計(jì)模塊92,用于上報針對第三數(shù)據(jù)分片的告警信息,其中,告警信息包括:用于指示當(dāng)前遷移策略性能收益低的告警,和/或用于指示第三數(shù)據(jù)分片頻繁遷移的告警。
圖11是根據(jù)本發(fā)明實(shí)施例的容量變更建議裝置的優(yōu)選結(jié)構(gòu)示意圖二,如圖11所示,優(yōu)選地,裝置還包括:計(jì)時器啟動模塊112,耦合至容量變更建議上報模塊94,用于啟動計(jì)時器;第一訪問熱度閾值和/或第二訪問熱度閾值提升模塊114,耦合至計(jì)時器啟動模塊112,用于在計(jì)數(shù)器超時且未收到容量變更建議的響應(yīng)消息的情況下,提升第一訪問熱度閾值,和/或,提升第二訪問熱度閾值,其中,第一訪問熱度閾值為需要由第二存儲資源池遷移至第一存儲資源池的第一數(shù)據(jù)分片的最小訪問熱度值,第二訪問熱度閾值為需要由第一存儲資源池遷移至第二存儲資源池的第二數(shù)據(jù)分片的最大訪問熱度值。
需要說明的是,上述各個模塊是可以通過軟件或硬件來實(shí)現(xiàn)的,對于后者,可以通過以下方式實(shí)現(xiàn),但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個處理器中。
本發(fā)明的實(shí)施例還提供了一種軟件,該軟件用于執(zhí)行上述實(shí)施例及優(yōu)選實(shí)施方式中描述的技術(shù)方案。
本發(fā)明的實(shí)施例還提供了一種存儲介質(zhì)。在本實(shí)施例中,上述存儲介質(zhì)可以被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
步驟S102,統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)數(shù)據(jù)存儲服務(wù)器集群上的第一存儲資源池的容量信息,其中,第一存儲資源池用于存儲訪問熱度值超過預(yù)設(shè)訪問熱度閾值的數(shù)據(jù)分片;
步驟S104,根據(jù)容量信息,判斷第一存儲資源池的存儲容量是否發(fā)生變化;
步驟S106,在判斷到存儲容量發(fā)生變化的情況下,調(diào)整數(shù)據(jù)存儲服務(wù)器集群的數(shù)據(jù)分片的遷移策略。
本發(fā)明的實(shí)施例還提供了一種存儲介質(zhì)。在本實(shí)施例中,上述存儲介質(zhì)可以被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
步驟S202,統(tǒng)計(jì)在預(yù)設(shè)時間段內(nèi)在數(shù)據(jù)存儲服務(wù)器集群上第一存儲資源池和第二存儲資源池之間雙向遷移的次數(shù)超過預(yù)設(shè)遷移數(shù)的第三數(shù)據(jù)分片;
步驟S204,根據(jù)第三數(shù)據(jù)分片的數(shù)據(jù)量,上報對第一存儲資源池的容量變更建議。
可選地,在本實(shí)施例中,上述存儲介質(zhì)可以包括但不限于:U盤、只讀存儲器(Read-Only Memory,簡稱為ROM)、隨機(jī)存取存儲器(Random Access Memory,簡稱為RAM)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
可選地,本實(shí)施例中的具體示例可以參考上述實(shí)施例及可選實(shí)施方式中所描述的示例,本實(shí)施例在此不再贅述。
為了使本發(fā)明實(shí)施例的描述更加清楚,下面結(jié)合優(yōu)選實(shí)施例進(jìn)行描述和說明。
本發(fā)明優(yōu)選實(shí)施例提供了一種基于分布式架構(gòu)的智能分級存儲系統(tǒng),以至少實(shí)現(xiàn)下列三個功能:
1、實(shí)時感知資源池硬件變化/調(diào)整,根據(jù)資源池的擴(kuò)/縮容進(jìn)行智能動態(tài)分級策略調(diào)整,減少/消除內(nèi)部遷移抖動,優(yōu)化系統(tǒng)訪問性能;
2、實(shí)時感知業(yè)務(wù)熱點(diǎn)模型變化,包括熱點(diǎn)內(nèi)容范圍的擴(kuò)展和收縮;
3、根據(jù)實(shí)時業(yè)務(wù)熱點(diǎn)模型變化給出智能資源池硬件調(diào)整建議,優(yōu)化硬件配置適配業(yè)務(wù)應(yīng)用性能需要;或進(jìn)行智能動態(tài)分級策略調(diào)整,減少/消除內(nèi)部遷移抖動,優(yōu)化系統(tǒng)訪問性能。
本發(fā)明優(yōu)選實(shí)施例將以云存儲領(lǐng)域中基于分布式文件系統(tǒng)且具有明顯讀訪問熱點(diǎn)一次寫多次讀(Write Once&Read Mostly,簡稱為WORM)模型的海量文件存儲應(yīng)用場景為例進(jìn)行描述和說明。在本發(fā)明優(yōu)選實(shí)施例中,高層級存儲資源池(或者高性能存儲資源池)相當(dāng)于上述的第一存儲資源池;低層級存儲資源池(或者低性能存儲資源池)相當(dāng)于上述的第二存儲資源池。
在本發(fā)明優(yōu)選實(shí)施例中,可以通過內(nèi)嵌于分布式文件存儲系統(tǒng)中的智能分級引擎實(shí)現(xiàn),智能分級引擎可實(shí)時感知當(dāng)前業(yè)務(wù)熱點(diǎn)模型的動態(tài)變化(熱點(diǎn)內(nèi)容范圍出現(xiàn)擴(kuò)散和收縮)以及不同層級資源池?cái)U(kuò)/縮容動態(tài)變化,實(shí)時統(tǒng)計(jì)分析當(dāng)前一段時間(包含多個周期內(nèi)所有數(shù)據(jù)分片熱度統(tǒng)計(jì)周期和遷移周期)的數(shù)據(jù)遷移方向和數(shù)據(jù)量,業(yè)務(wù)的訪問分布和分級性能提升收益統(tǒng)計(jì)與記錄,而實(shí)現(xiàn)分級存儲中內(nèi)容上升/下降熱度閥值以及對應(yīng)的遷移內(nèi)容等分級策略的智能自適應(yīng)調(diào)整,以及針對當(dāng)前業(yè)務(wù)熱點(diǎn)訪問模型對系統(tǒng)管理員提供智能硬件配置調(diào)整建議;以獲得存儲系統(tǒng)對當(dāng)前業(yè)務(wù)模型性能匹配的最優(yōu)化和存儲系統(tǒng)性能利用的最優(yōu)化。
為了實(shí)現(xiàn)上述功能,本發(fā)明優(yōu)選實(shí)施例的方案包括如下三個部分:
第一部分,系統(tǒng)當(dāng)前分級配置下數(shù)據(jù)遷移代價和性能提升收益實(shí)時計(jì)算:
實(shí)時記錄系統(tǒng)中數(shù)據(jù)遷移(雙向)量,數(shù)據(jù)遷移以在存儲服務(wù)器集群中的單節(jié)點(diǎn)間不同層級存儲介質(zhì)組為優(yōu)先,記錄可以包括:遷移方向,遷移開始時間,遷移結(jié)束時間,遷移占用的不同層級存儲介質(zhì)間的通道(存儲控制器)帶寬,數(shù)據(jù)遷移前的訪問量和訪 問頻率,數(shù)據(jù)遷移后的訪問量和訪問頻率,遷移前后各層級存儲介質(zhì)的空間占用情況。
第二部分,業(yè)務(wù)訪問熱點(diǎn)模型感知與分級策略智能自適應(yīng)調(diào)整:
在元數(shù)據(jù)服務(wù)器集群中,對存儲服務(wù)器集群中以數(shù)據(jù)分片為單位,按數(shù)據(jù)分片歸屬元數(shù)據(jù)服務(wù)器上實(shí)時記錄存儲數(shù)據(jù)分片的訪問類型、訪問量、訪問頻率,計(jì)算并記錄當(dāng)前系統(tǒng)中所有數(shù)據(jù)分片訪問的熱度值,并以此為基礎(chǔ)進(jìn)行定時匯總和排序。
結(jié)合不同層級存儲資源池的空間占用情況,對于高層級存儲資源池整體占用比例未達(dá)到滿閥值(假設(shè)滿閥值對應(yīng)的容量為T1)的情形,對低層級存儲資源池中的訪問熱度高于等于高層級存儲資源池中的數(shù)據(jù)分片內(nèi)容進(jìn)行遷移量計(jì)算(假設(shè)需要上升遷移的總量為A1),當(dāng)上升遷移量加上當(dāng)前無需遷移的數(shù)據(jù)容量(假設(shè)為C1)超過高層級存儲池滿閥值時(即:C1+A1>T1),首先對高層級存儲資源池中的訪問熱度低于等于低層級存儲資源池中的數(shù)據(jù)分片內(nèi)容按超出量(假設(shè)為D1,則D1=C1+A1-T1)進(jìn)行下降遷移,下降遷移完成后,對上升遷移總量(A1)進(jìn)行上升遷移操作。當(dāng)上升遷移量加上高層級存儲當(dāng)前無需遷移的數(shù)據(jù)容量(已占容量假設(shè)為C1)不超過高層級存儲池滿閥值時(即:C1+A1<=T1),無需先對高層級內(nèi)的任何內(nèi)容先進(jìn)行降級而直接對低存儲層級中需要上升遷移的總量數(shù)據(jù)分片(A1)進(jìn)行上升遷移操作。
對于每次遷移完成后的連續(xù)多個數(shù)據(jù)分片熱度統(tǒng)計(jì)周期內(nèi),同時增加對不同層級存儲資源池(特別是高層級存儲資源池)在每個周期內(nèi)的空間占用情況統(tǒng)計(jì),當(dāng)出現(xiàn)熱點(diǎn)范圍收縮而導(dǎo)致在連續(xù)一段時間(例如,多個熱度統(tǒng)計(jì)周期)內(nèi)高層級存儲資源池利用率低于滿閥值的設(shè)定最大值,則:1)自動調(diào)整熱度統(tǒng)計(jì)周期,例如,視熱點(diǎn)內(nèi)容收縮程度可將統(tǒng)計(jì)周期調(diào)整為原來的1.5或2倍以上,降低不同層級存儲資源池內(nèi)不必要的遷移消耗;2)在不超過高層級存儲資源池滿閥值的前提下,自動下調(diào)數(shù)據(jù)分片上升遷移的熱度閥值,保證高層級存儲資源池的適度充滿和高利用率;
對于不同層級存儲資源池,特別是高層級存儲資源池動態(tài)擴(kuò)/縮容做出適時反應(yīng),反應(yīng)分為兩個優(yōu)先級,1)降低遷移特別是相同數(shù)據(jù)分片內(nèi)容的雙向遷移。使那些在連續(xù)幾個周期內(nèi)被頻繁雙向遷移的數(shù)據(jù)分片內(nèi)容在一定時間內(nèi)能一直駐留在高層級(在高層級存儲資源池?cái)U(kuò)容的情況下)/低層級(在高層級存儲資源池縮容的情況下)存儲資源池中。2)降低低層級存儲資源池中新熱點(diǎn)數(shù)據(jù)上遷的熱度閥值或降低高層級存儲資源池中已有熱點(diǎn)數(shù)據(jù)下遷的熱度閥值(在高層級存儲資源池?cái)U(kuò)容的情況下),或者,提升低層級存儲資源池中新熱點(diǎn)數(shù)據(jù)上遷的熱度閥值或提升高層級存儲資源池中已有熱點(diǎn)數(shù)據(jù)下遷的熱度閥值(在高層級存儲資源池縮容的情況下);使高層級存儲資源池內(nèi)容隨擴(kuò)容而動態(tài)擴(kuò)展。
第三部分,業(yè)務(wù)訪問熱點(diǎn)模型下的智能硬件配置調(diào)整建議與分級策略自適應(yīng)調(diào)整:
當(dāng)應(yīng)用系統(tǒng)的存儲內(nèi)容訪問出現(xiàn)熱點(diǎn)范圍擴(kuò)散(或高層級存儲資源池被縮容)時,高層級存儲資源池在容量占用達(dá)到滿閥值(假設(shè)滿閥值對應(yīng)的容量為T1)時也無法完 全以最小模式承載系統(tǒng)中所有熱點(diǎn)分片數(shù)據(jù)時,高層級中的前一個統(tǒng)計(jì)周期中熱度排在后面的熱點(diǎn)數(shù)據(jù)會不斷被低層級中新統(tǒng)計(jì)周期中熱度排在前面的熱點(diǎn)數(shù)據(jù)置換,從而發(fā)生兩個層級存儲資源池之間雙向的頻繁的數(shù)據(jù)遷移。該遷移會導(dǎo)致系統(tǒng)對外的服務(wù)能力降低。
其中,最小模式承載是指在系統(tǒng)當(dāng)前的存儲冗余模式,例如多副本或者糾刪碼(Erasure Coding,簡稱為EC)模式,存儲服務(wù)集群對滿足上升遷移的數(shù)據(jù)量(A1)在高層級存儲資源池駐留的最小規(guī)模。如n(n>=1)完全副本模式下只有一個熱點(diǎn)副本駐留在高層級存儲資源池中,其余n-1份副本依然駐留在低層級存儲資源池中;EC模式下(假設(shè)冗余比為n:m)只有n份副本數(shù)據(jù)駐留在高層級存儲資源池中,其余m份副本數(shù)據(jù)駐留在低層級存儲資源池中。
在該情況下,智能分級引擎根據(jù)記錄的連續(xù)多個熱度統(tǒng)計(jì)和數(shù)據(jù)遷移周期內(nèi)數(shù)據(jù)分片遷移信息、訪問熱度統(tǒng)計(jì)信息,對頻繁雙向遷移的數(shù)據(jù)分片給出性能收益低告警和頻繁遷移告警。此外,還可以按頻繁遷移的數(shù)據(jù)分片數(shù),給出高層級存儲資源池?cái)U(kuò)容建議,例如,最小(最小承載模式下)容量和最佳容量兩個數(shù)量值建議。當(dāng)系統(tǒng)給出的高層級存儲資源池?cái)U(kuò)容建議在一定時長內(nèi)未被正常響應(yīng)時,則自動提升低層級存儲資源池?cái)?shù)據(jù)分片內(nèi)容上升遷移熱度閥值,或者提升高層級存儲資源池?cái)?shù)據(jù)分片內(nèi)容下降遷移熱度閥值。
優(yōu)選地,低層級存儲資源池?cái)?shù)據(jù)分片內(nèi)容上升遷移熱度閥值與高層級存儲資源池?cái)?shù)據(jù)分片內(nèi)容下降遷移熱度閥值可以為相同的值。
通過上述方案,可以實(shí)現(xiàn)存儲介質(zhì)資源變化實(shí)時感知與自動調(diào)整;系統(tǒng)訪問熱點(diǎn)模型變化實(shí)時感知與自適應(yīng)調(diào)整;以及基于系統(tǒng)業(yè)務(wù)和環(huán)境變化感知的智能決策建議;使傳統(tǒng)的分級存儲的具有自適應(yīng)性和智能性,為最大化發(fā)揮系統(tǒng)資源的利用率,提升存儲系統(tǒng)的在WORM應(yīng)用模型下對熱點(diǎn)模型擴(kuò)散和收縮、存儲硬件介質(zhì)變化的動態(tài)適應(yīng)性,最大化分布式存儲系統(tǒng)對應(yīng)用的性能響應(yīng)。
下面將結(jié)合附圖對本發(fā)明優(yōu)選實(shí)施例進(jìn)行描述和說明。
下面分別以高層級存儲資源池?cái)U(kuò)容和應(yīng)用熱點(diǎn)模型變化(熱點(diǎn)范圍擴(kuò)展)為例說明智能分級存儲的內(nèi)部自適應(yīng)與調(diào)整過程。
圖12是根據(jù)本發(fā)明優(yōu)選實(shí)施例的智能分級存儲系統(tǒng)的結(jié)構(gòu)示意圖,如圖12所示,該系統(tǒng)包括元數(shù)據(jù)服務(wù)器集群、文件訪問接入服務(wù)器集群、數(shù)據(jù)存儲服務(wù)器集群以及智能分級存儲引擎。其中,本發(fā)明優(yōu)選實(shí)施例的方案通過智能分級存儲引擎與其他服務(wù)集群的協(xié)作共同實(shí)現(xiàn)。
圖13是根據(jù)本發(fā)明優(yōu)選實(shí)施例的智能分級存儲方法的流程圖,下面結(jié)合圖13對高層級存儲資源池?cái)U(kuò)容的智能調(diào)整、高層級存儲資源池縮容的智能調(diào)整、系統(tǒng)熱點(diǎn)范圍擴(kuò) 展的智能硬件調(diào)整建議/自適應(yīng)調(diào)整進(jìn)行說明。
針對高層級存儲資源池?cái)U(kuò)容的智能調(diào)整包括下列步驟:
(1)數(shù)據(jù)存儲服務(wù)器集群中的部分/全部服務(wù)器新增/插入固態(tài)盤(Solid State Drives,簡稱為SSD)介質(zhì);
(2)新增/插入SSD的存儲服務(wù)器識別并將新SSD盤正常加入系統(tǒng)的高層級資源池中;
(3)部署于存儲服務(wù)器上的存儲資源池信息監(jiān)控和上報模塊將正常加入的SSD設(shè)備后的資源池信息上報給智能分級存儲引擎,其中包括不同層級存儲資源池的設(shè)備新組成信息,包括高層級存儲資源池當(dāng)前使用容量、新總?cè)萘康龋?/p>
(4)智能分級存儲引擎在新的數(shù)據(jù)分片訪問統(tǒng)計(jì)周期內(nèi),收集由元數(shù)據(jù)服務(wù)器集群上的實(shí)時數(shù)據(jù)分片訪問收集與上報模塊上報的數(shù)據(jù)分片訪問信息,其中包含數(shù)據(jù)分片所在資源池的位置,被訪問次數(shù)等;
(5)智能分級存儲引擎在新的數(shù)據(jù)分片訪問統(tǒng)計(jì)周期內(nèi),收集并記錄由數(shù)據(jù)存儲服務(wù)器集群上的數(shù)據(jù)分片遷移與上報模塊上報的基于數(shù)據(jù)分片詳細(xì)遷移信息,包括遷移方向;
(6)根據(jù)步驟(5)方式記錄的所有的前面連續(xù)2個統(tǒng)計(jì)周期內(nèi)存在雙向遷移的所有數(shù)據(jù)分片信息列表LT,包括當(dāng)前位置信息和訪問熱度信息;
(7)智能分級存儲引擎在新的數(shù)據(jù)分片訪問統(tǒng)計(jì)周期內(nèi),收集并統(tǒng)計(jì)系統(tǒng)內(nèi)所有的數(shù)據(jù)分片訪問熱度信息,對比當(dāng)前遷移熱度閥值,形成新的待上升遷移數(shù)據(jù)分片列表LA和新的待下降遷移數(shù)據(jù)分片列表LD;
(8)對步驟(7)中的LD,與步驟(6)中的當(dāng)前位置在低層級存儲資源池LT數(shù)據(jù)分片列表進(jìn)行選擇性合并,合并后按熱度統(tǒng)計(jì)信息形成新的LD1,計(jì)算高層級存儲資源池下一周期空間使用比率:r=LD1+LA+C1/C,其中C1表示高層級存儲資源池中當(dāng)前不需遷移數(shù)據(jù)分片;
(9)當(dāng)r小于等于高層級存儲資源池滿閥值時,直接置空本次統(tǒng)計(jì)所得的LD列表。當(dāng)r大于高層級存儲資源池滿閥值時,修正LD列表,修正后的LD列表中數(shù)據(jù)分片列表為:LD1+LA+C1-r·C;
通過上述步驟,擴(kuò)容后的高層級資源池被充分利用,特別是對未擴(kuò)容前頻繁被雙向遷移的數(shù)據(jù)分片,其抖動式遷移得以有效遏制,降低數(shù)據(jù)在不同層級資源池之間的內(nèi)部遷移消耗,提升性能收益值,同時,高層級存儲資源池包含的熱點(diǎn)數(shù)據(jù)分片數(shù)量自動擴(kuò)展為更多、更廣。系統(tǒng)對上層應(yīng)用整體訪問性能大幅提升。
針對高層級存儲資源池縮容的智能調(diào)整包括下列步驟:
(1)數(shù)據(jù)存儲服務(wù)器集群中的部分/全部服務(wù)器由于硬件設(shè)備異常/損壞導(dǎo)致部分SSD介質(zhì)不可用,或由于人為原因拔出部分SSD介質(zhì);
(2)系統(tǒng)存儲服務(wù)器集群內(nèi)由于正??捎玫腟SD盤減少導(dǎo)致系統(tǒng)的高層級資源池容量變??;
(3)部署于存儲服務(wù)器上的存儲資源池信息監(jiān)控和上報模塊將SSD設(shè)備異常或SSD設(shè)備被拔出后的新資源池信息上報給智能分級存儲引擎,其中包括不同層級存儲資源池的設(shè)備新組成信息,包括高層級存儲資源池當(dāng)前使用容量、新總?cè)萘康?。同時通過自身的操作維護(hù)管理(Operation&Maintenance Management,簡稱為OMM)模塊對發(fā)生異常的SSD盤/被拔出的SSD盤對外(系統(tǒng)管理員)給出相應(yīng)的系統(tǒng)告警機(jī)制;
(4)智能分級存儲引擎在新的數(shù)據(jù)分片訪問統(tǒng)計(jì)周期內(nèi),收集并記錄由數(shù)據(jù)存儲服務(wù)器集群上的數(shù)據(jù)分片遷移與上報模塊上報的基于數(shù)據(jù)分片詳細(xì)遷移信息,包括遷移方向;
(5)通常情況下,SSD盤發(fā)生異常(或SSD盤被拔出)時系統(tǒng)的熱點(diǎn)內(nèi)容數(shù)并未改變,但由于SSD盤的異常(或SSD盤被拔出)導(dǎo)致高層級存儲資源池總?cè)萘孔冃?,?dǎo)致在改變發(fā)生后的每個周期內(nèi)高層級存儲資源池空間使用比率r上升;
(6)統(tǒng)計(jì)高層級存儲存儲資源池使用比率上升后的至少兩個統(tǒng)計(jì)周期內(nèi)的平均新空間使用率r1、數(shù)據(jù)分片訪問熱度記錄、數(shù)據(jù)分片遷移記錄;
(7)如果r1小于等于高層級存儲資源池滿閥值,則系統(tǒng)可以什么也不做,表示當(dāng)前的SSD盤異常(或SSD盤拔出)未對當(dāng)前存儲于高層存儲資源池的熱點(diǎn)內(nèi)容訪問造成影響(下降遷移),亦即當(dāng)前熱點(diǎn)內(nèi)容性能收益值保持不變;
(8)如果r1大于系統(tǒng)當(dāng)前高層級資源池滿閥值,為保證高層級資源池的正常運(yùn)行,系統(tǒng)必須根據(jù)新的至少兩個統(tǒng)計(jì)周期內(nèi)數(shù)據(jù)分片訪問熱度記錄,將高層級資源池中占用超出資源池滿閥值的空間的熱度最低的數(shù)據(jù)分片內(nèi)容強(qiáng)行下降遷移到低層級存儲資源池中,導(dǎo)致系統(tǒng)性能提升收益下降;
(9)性能提升收益下降,由于熱點(diǎn)內(nèi)容范圍未出現(xiàn)變動,進(jìn)一步將導(dǎo)致高層級存儲資源池和低層級存儲資源池中熱度接近臨界值的數(shù)據(jù)分片內(nèi)容出現(xiàn)雙向的遷移抖動;
(10)步驟(9)中雙向遷移抖動的內(nèi)容將被智能分級存儲引擎中的數(shù)據(jù)分片訪問熱度統(tǒng)計(jì)記錄模塊、數(shù)據(jù)分片遷移統(tǒng)計(jì)記錄模塊準(zhǔn)確識別;
(11)系統(tǒng)識別出雙向遷移抖動之后,連續(xù)統(tǒng)計(jì)兩個或以上周期內(nèi)被雙向遷移的數(shù)據(jù)分片的在每個周期內(nèi)的被訪問熱度平均值Ha和熱度最大值Max_a,同時統(tǒng)計(jì)連續(xù)兩個或以上周期內(nèi)駐留在高層級存儲中無需下降遷移的數(shù)據(jù)分片被訪問平均熱度值Hb和 熱度最小值Min_b;
(12)對于步驟(11)中的Ha和Hb,Hb可能不存在,此時表明系統(tǒng)每個周期內(nèi)需要上升遷移的數(shù)據(jù)分片容量超過整個高層級資源池的最大容量r·C,則此時,將系統(tǒng)數(shù)據(jù)分片上升遷移的閥值調(diào)整為:Ha*LA/(r·C),智能完成熱度閥值調(diào)整,動態(tài)消除/降低了高層級資源池容量縮減造成的系統(tǒng)雙向遷移抖動。
針對系統(tǒng)熱點(diǎn)范圍擴(kuò)展的智能硬件調(diào)整建議/自適應(yīng)調(diào)整包括如下步驟:
(1)通常情況下,應(yīng)用于WORM模型中熱點(diǎn)明顯的業(yè)務(wù)場景,智能分級存儲開啟后,高層級存儲資源池的利用率都是接近或達(dá)到滿閥值的;
(2)某一時間點(diǎn)開始,系統(tǒng)內(nèi)熱點(diǎn)范圍出現(xiàn)擴(kuò)展,包含該時間點(diǎn)內(nèi)的熱度統(tǒng)計(jì)周期以及后續(xù)連續(xù)的幾個熱度統(tǒng)計(jì)周期發(fā)現(xiàn)熱點(diǎn)內(nèi)容出現(xiàn)擴(kuò)展,隨之由于高層級存儲資源池有限而導(dǎo)致出現(xiàn)大量訪問熱度接近臨界值的數(shù)據(jù)分片發(fā)生遷移抖動,同時伴隨每個統(tǒng)計(jì)周期內(nèi)性能提升收益下降;
(3)智能分級存儲引擎根據(jù)連續(xù)兩個或以上周期的數(shù)據(jù)分片雙向遷移的統(tǒng)計(jì)與記錄、以及相比熱點(diǎn)未擴(kuò)展前下降的性能提升收益,確定連續(xù)兩個或以上周期內(nèi)被頻繁換出和換入的數(shù)據(jù)分片集,對該分片集所需的容量按分布式存儲系統(tǒng)當(dāng)前存儲冗余模式設(shè)置,結(jié)合滿閥值計(jì)算出高層級存儲資源池需要擴(kuò)展的最小容量和最佳容量;
(4)智能分級存儲引擎給出的高層級存儲資源池需要擴(kuò)展的最小容量和最佳容量通過分布式存儲系統(tǒng)已有的OMM模塊告警渠道反饋給系統(tǒng)管理員,其中還包含系統(tǒng)具體的最近兩個或以上周期內(nèi)的分級性能收益下降和數(shù)據(jù)分片遷移統(tǒng)計(jì)記錄信息;
(5)智能分級引擎在反饋由于熱點(diǎn)范圍擴(kuò)展而引起的高層級存儲資源池?cái)U(kuò)展建議的同時,設(shè)定一個超時定時器,在超時定時器未到之前,系統(tǒng)管理員按建議進(jìn)行了擴(kuò)容,則系統(tǒng)自動按前面所述“高層級存儲資源池?cái)U(kuò)容的智能調(diào)整”描述步驟進(jìn)行;
(6)在超時定時器已到但系統(tǒng)的高層級存儲資源池仍未被有效擴(kuò)容,則開始統(tǒng)計(jì)連續(xù)兩個或以上周期內(nèi)被雙向遷移的數(shù)據(jù)分片的在每個周期內(nèi)的被訪問熱度平均值Ha和熱度最大值Max_a,同時統(tǒng)計(jì)連續(xù)兩個或以上周期內(nèi)駐留在高層級存儲中無需下降遷移的數(shù)據(jù)分片被訪問平均熱度值Hb和熱度最小值Min_b;
(7)對于步驟(6)中的Ha和Hb,Hb可能不存在,此時表明系統(tǒng)每個周期內(nèi)需要上升遷移的數(shù)據(jù)分片容量超過整個高層級資源池的最大容量r·C,則此時,將系統(tǒng)數(shù)據(jù)分片上升遷移的閥值調(diào)整為:Ha*LA/(r·C);
(8)對于步驟(6)中的Ha和Hb,如果Hb存在,則一定有(Hb>Ha)∩(Max_a≤Min_b),此時將系統(tǒng)數(shù)據(jù)上升遷移的閥值直接調(diào)整為Min_b;
(9)通過步驟(7)和步驟(8)的智能自動閥值調(diào)整,降低熱點(diǎn)內(nèi)容范圍擴(kuò)張導(dǎo)致的數(shù)據(jù)分片雙向抖動遷移。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個的計(jì)算裝置上,或者分布在多個計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲在存儲裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。