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