[發明專利]一種基于云平臺的硬盤及文件系統熱擴容的方法在審
| 申請號: | 202010882455.6 | 申請日: | 2020-08-28 |
| 公開(公告)號: | CN112035063A | 公開(公告)日: | 2020-12-04 |
| 發明(設計)人: | 王新雨;張暉;高傳集;蔣方文;王銘銳;張金生;丁瑞;孫繼赟 | 申請(專利權)人: | 浪潮云信息技術股份公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 闞恭勇 |
| 地址: | 250100 山東省濟南市高*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 平臺 硬盤 文件系統 擴容 方法 | ||
1.一種基于云平臺的硬盤及文件系統熱擴容的方法,其特征在于,
包括:
1)添加udev硬盤擴容規則及相應的執行腳本,并制作虛機鏡像用于創建用戶虛機;
2)用戶發送擴容請求,調度到虛機所在物理節點,執行相應命令擴容;
3)運行在云服務器內的udev守護進程,監聽到內核發出的uevent;當監聽到與定義的硬盤擴容規則相符合的uevent,調用相應的腳本;
4)腳本執行,完成相應的磁盤分區及文件系統的擴容功能。
2.根據權利要求1所述的方法,其特征在于,
udev檢測硬盤的變化;當滿足定義的規則時,執行相應的操作;預置硬盤擴容后,分區和文件系統擴容的相應腳本;將規則和腳本都寫入到云服務器鏡像當中,供給用戶創建云服務器。
3.根據權利要求1所述的方法,其特征在于,
用戶提出對現有的云服務器進行硬盤熱擴容請求,服務端程序調度到用戶云服務器所在計算主機上,并執行libvirt的blockresize命令,此命令調用具體hypervisor driver來實際熱擴容操作。
4.根據權利要求2所述的方法,其特征在于,
所述的udev硬盤擴容規則的添加與鏡像的制作過程,udev硬盤熱擴容規則匹配鍵,設置規則中ACTION(uevent事件的行為)為change表示當硬盤發生變動時,此規則生效;設備的子系統名稱SUBSYSTEM設置為block;DEVPATH設置為對應硬盤的內核設備路徑;當以上的匹配鍵與內核發送的uevent中的完全匹配時,才會執行后續的賦值鍵。
5.根據權利要求4所述的方法,其特征在于,
dev硬盤熱擴容規則賦值鍵,設置規則udev鍵RUN為執行預置的腳本。
6.根據權利要求5所述的方法,其特征在于,
預置腳本的內容為對擴容硬盤對應的分區及文件系統進行擴容;分區擴容使用growpart工具,文件系統的擴容使用resize2fs工具。
7.根據權利要求5所述的方法,其特征在于,
鏡像的制作過程中,需要預置準備好的udev硬盤熱擴容規則和腳本;并保證添加的規則已經裝載到udev中并生效;
鏡像的制作過程中,需要保證根分區為系統盤的最后一個分區,以保證系統盤擴容時,可以成功擴容根分區。
8.根據權利要求7所述的方法,其特征在于,
硬盤熱擴容請求處理過程如下:
(1)用戶使用以上制作的鏡像已創建云服務器;用戶針對此云服務器的,提出熱擴容請求;
(2)服務端驗證用戶請求,進行權限驗證。驗證通過后執行后續操作;
(3)服務端響應請求,并將請求通過消息隊列發送到云服務器所在的計算節點上;
(4)計算節點上對應程序響應請求,并通過云服務器塊設備映射查找該磁盤id對應的設備名;調用libvirt API傳入云服務器ID,設備名及新的磁盤大小;
(5)Libvirt調用具體的driver執行磁盤擴容操作。
9.根據權利要求8所述的方法,其特征在于,
分區及文件系統的擴容的步驟如下:
(1)磁盤大小發生變化,內核會發出action為change的uevent事件;
(2)udev守護進程監聽到該uevent消息,并將該uevent與現有的rules進行匹配,如果所有的匹配鍵都符合該規則的要求,則執行對應的賦值鍵;
(3)如果該uevent符合硬盤熱擴容規則,則執行預置的腳本;
(4)調用growpart擴容對應磁盤的最后一個分區;如果擴容的是系統盤,腳本會查找掛載點“/”所在的分區,即根分區進行擴容;如果磁盤已掛載到文件系統中,調用resize2fs擴容對應的文件系統。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮云信息技術股份公司,未經浪潮云信息技術股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010882455.6/1.html,轉載請聲明來源鉆瓜專利網。





