System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請實施例涉及通信,尤其涉及一種集群擴容方法、裝置及可讀存儲介質。
技術介紹
1、當對分布式存儲(以下簡稱為集群)進行擴容操作時,由于集群數據節點的拓撲結構發生變化進而引起置放群組(placement?group,pg)映射發生變化,pg映射發生變化會引起集群數據的遷移和重構,一部分集群數據會從老節點遷移到新擴容節點,最終達到各節點數據均衡的狀態。
2、集群數據的存儲池由多個節點組成,每個節點由多個對象存儲(object-basedstorage?device,osd)組成,每個osd內分布著多個pg。當節點數確定,節點內的osd數確定,則pg的分布是唯一固定的。當節點數或節點內的osd數變化時,pg的分布就會發生變化。當需要在線擴容多個節點時,通常一次只擴容一個節點,重構完成后再擴容下一個節點,那么在擴容第二個節點時由于集群數據節點的拓撲結構發生變化,會再次引起pg映射發生變化,且擴容進去的第一個節點中的剛剛遷移進來的數據又存在一部分需要遷移到擴容的第二個節點,以此類推,這種擴容方式會引起pg映射的多次變化,產生了大量多余的數據遷移,擴容效率較差。
技術實現思路
1、本申請提供了一種集群擴容方法、裝置及可讀存儲介質,用于實現提高對目標集群進行擴容時的效率。
2、為達到上述目的,本申請采用如下技術方案:
3、第一方面,提供了一種集群擴容方法,方法包括:獲取擴容消息,擴容消息包括多個擴容osd;擴容消息用于對目標集群進行擴容;目標集群包括多個原始
4、可選的,根據映射關系對目標集群進行擴容,包括:將第一擴容osd擴容至目標集群;第一擴容osd為多個擴容osd中的任一個;根據映射關系將目標pg遷移至第一擴容osd;目標pg為映射關系中擴容后位于第一擴容osd中的pg;迭代上述步驟,直至將多個擴容osd擴容至目標集群。
5、可選的,將第一擴容osd擴容至目標集群,包括:確定第一業務帶寬和第二業務帶寬,第一業務帶寬為第一時刻與當前時刻之間的時段內的業務帶寬均值,第二業務帶寬為第二時刻與當前時刻之間的時段內的業務帶寬均值;第一時刻位于第二時刻之前;根據第一業務帶寬和第二業務帶寬確定第一業務帶寬的下降幅度,在確定下降幅度小于或等于下降閾值的情況下,將第一擴容osd擴容至目標集群。
6、可選的,根據映射關系將目標pg遷移至第一擴容osd,包括:根據映射關系確定第一數量,第一數量為目標pg的總數量;確定集群的業務壓力級別,業務壓力級別與第一業務帶寬正相關;根據業務壓力級別,將目標數量的目標pg分配至第一擴容osd,直至將第一數量的目標pg分配完成。
7、可選的,該方法還包括:確定第一擴容osd的分配帶寬;在確定下降幅度小于或等于下降閾值的情況下,對分配帶寬進行第一調整,第一調整后的分配帶寬小于第一調整前的分配帶寬;在確定下降幅度大于下降閾值的情況下,對分配帶寬進行第二調整,第二調整后的分配帶寬大于第一調整前的分配帶寬。
8、可選的,確定多個pg的映射關系,包括:創建臨時crush?map,臨時crush?map包括多個原始osd以及多個擴容osd的拓撲結構;根據臨時crush?map生成臨時osd?map;根據臨時osd?map以及均衡腳本工具確定多個pg的映射關系。
9、基于本申請提供的技術方案,可以確定多個pg的映射關系,根據多個pg的映射關系對目標集群進行擴容。由于多個pg的映射關系包括每個pg的原位置和擴容后的位置,這樣,每次擴容時為擴容osd分配的pg參考的都是最終擴容完成時生成的映射關系,所以每次擴容時產生的集群拓撲結構變更不會影響已擴容至目標集群的擴容osd,也就不會產生多余的數據遷移,提高了目標集群的擴容效率。同時,擴容完成后目標集群的pg映射和預計算的映射關系一致,保證了目標集群中的集群數據的均衡性。
10、第二方面,提供了一種集群擴容裝置,裝置包括:獲取單元、確定單元、擴容單元;獲取單元,用于獲取擴容消息,擴容消息包括多個擴容osd;擴容消息用于對目標集群進行擴容;目標集群包括多個原始osd,每個原始osd包括多個置放群組pg;確定單元,用于確定多個pg的映射關系,映射關系包括每個pg的原位置和擴容后的位置;擴容單元,用于根據映射關系對目標集群進行多次擴容,多次擴容后的目標集群包括多個原始osd和多個擴容osd,多個pg位于平均分布于多個原始osd和多個擴容osd中。
11、可選的,擴容單元,具體用于:將第一擴容osd擴容至目標集群;第一擴容osd為多個擴容osd中的任一個;根據映射關系將目標pg遷移至第一擴容osd;目標pg為映射關系中擴容后位于第一擴容osd中的pg;迭代上述步驟,直至將多個擴容osd擴容至目標集群。
12、可選的,擴容單元,具體還用于:確定第一業務帶寬和第二業務帶寬,第一業務帶寬為第一時刻與當前時刻之間的時段內的業務帶寬均值,第二業務帶寬為第二時刻與當前時刻之間的時段內的業務帶寬均值;第一時刻位于第二時刻之前;根據第一業務帶寬和第二業務帶寬確定第一業務帶寬的下降幅度,在確定下降幅度小于或等于下降閾值的情況下,將第一擴容osd擴容至目標集群。
13、可選的,擴容單元,具體還用于:根據映射關系確定第一數量,第一數量為目標pg的總數量;確定集群的業務壓力級別,業務壓力級別與第一業務帶寬正相關;根據業務壓力級別,將目標數量的目標pg分配至第一擴容osd,直至將第一數量的目標pg分配完成。
14、可選的,確定單元,還用于確定第一擴容osd的分配帶寬;擴容單元,還用于在確定下降幅度小于或等于下降閾值的情況下,對分配帶寬進行第一調整,第一調整后的分配帶寬小于第一調整前的分配帶寬;擴容單元,還用于在確定下降幅度大于下降閾值的情況下,對分配帶寬進行第二調整,第二調整后的分配帶寬大于第一調整前的分配帶寬。
15、可選的,確定單元,具體用于:創建臨時crush?map,臨時crush?map包括多個原始osd以及多個擴容osd的拓撲結構;根據臨時crush?map生成臨時osd?map;根據臨時osd?map以及均衡腳本工具確定多個pg的映射關系。
16、第三方面,提供了一種集群擴容裝置,該集群擴容裝置可以實現上述各方面或者各可能的設計中集群擴容裝置所執行的功能,功能可以通過硬件實現,如:一種可能的設計中,該集群擴容裝置可以包括:處理器和通信接口,處理器可以用于支持集群擴容裝置實現上述第一方面或者第一方面的任一種可能的設計中所涉及的功能。
17、在又一種可能的設計中,集群擴容裝置還可以包括存儲器,存儲器用于保存集群擴容裝置必要的計算機執行指令和數據本文檔來自技高網...
【技術保護點】
1.一種集群擴容方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述根據所述映射關系對所述目標集群進行多次擴容,包括:
3.根據權利要求2所述的方法,其特征在于,所述將第一擴容OSD擴容至所述目標集群,包括:
4.根據權利要求2所述的方法,其特征在于,所述根據所述映射關系將目標PG遷移至所述第一擴容OSD,包括:
5.根據權利要求3所述的方法,其特征在于,所述方法還包括:
6.根據權利要求1所述的方法,其特征在于,所述確定所述多個PG的映射關系,包括:
7.一種集群擴容裝置,其特征在于,所述裝置包括:獲取單元、確定單元、擴容單元;
8.根據權利要求7所述的裝置,其特征在于,所述擴容單元,具體用于:
9.根據權利要求8所述的裝置,其特征在于,所述擴容單元,具體還用于:
10.根據權利要求8所述的裝置,其特征在于,所述擴容單元,具體還用于:
11.根據權利要求9所述的裝置,其特征在于:
12.根據權利要求7所述的裝置,其特征在
13.一種計算機可讀存儲介質,其特征在于,所述可讀存儲介質中存儲有指令,當所述指令被執行時,實現如權利要求1-6中任一項所述的方法。
14.一種集群擴容裝置,其特征在于,包括:處理器、存儲器和通信接口;其中,通信接口用于所述集群擴容裝置和其他設備或網絡通信;所述存儲器用于存儲一個或多個程序,該一個或多個程序包括計算機執行指令,當該集群擴容裝置運行時,處理器執行該存儲器存儲的該計算機執行指令,以使該基于集群擴容裝置執行權利要求1-6中任一項所述的方法。
...【技術特征摘要】
1.一種集群擴容方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述根據所述映射關系對所述目標集群進行多次擴容,包括:
3.根據權利要求2所述的方法,其特征在于,所述將第一擴容osd擴容至所述目標集群,包括:
4.根據權利要求2所述的方法,其特征在于,所述根據所述映射關系將目標pg遷移至所述第一擴容osd,包括:
5.根據權利要求3所述的方法,其特征在于,所述方法還包括:
6.根據權利要求1所述的方法,其特征在于,所述確定所述多個pg的映射關系,包括:
7.一種集群擴容裝置,其特征在于,所述裝置包括:獲取單元、確定單元、擴容單元;
8.根據權利要求7所述的裝置,其特征在于,所述擴容單元,具體用于:
9.根據權利要求8所述...
【專利技術屬性】
技術研發人員:曾楚軒,鄧玲,程偉,李飛鵬,鄧詩賢,胡宇杰,楊振東,藍文華,駱益民,??♀?/a>,劉惜吾,
申請(專利權)人:中國聯合網絡通信集團有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。