一種磁盤管理方法及裝置的制造方法
【專利摘要】本發明公開了一種磁盤管理方法和裝置,所述方法包括:根據待管理虛擬機的名稱,查找計算機系統中的虛擬機;若所述計算機系統中已存在所述待處理虛擬機,則根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理;將所述磁盤的存在標志位設為存在,以便于對磁盤的管理。本發明通過在計算機系統中查找虛擬機是否已經存在,當存在時,根據處理指令和處理信息,對虛擬機的磁盤進行管理,將虛擬機和磁盤進行關聯管理,符合一般用戶首先關注虛擬機,而后關注虛擬機中磁盤的管理習慣;同時通過磁盤的存在標志位來標識當前磁盤是否存在,能夠快速有效地確定當前磁盤是否已被刪除,方便對磁盤的管理。
【專利說明】
_種磁盤管理方法及裝置
技術領域
[0001 ]本發明涉及磁盤管理技術領域,具體涉及一種磁盤管理方法及裝置。
【背景技術】
[0002]精簡配置是云計算存儲領域的一種技術手段,經常用于虛擬機的磁盤管理中,當給虛擬機創建100G的磁盤,如果使用精簡配置,那么就只分配一部分磁盤(比如僅分配10G,但是虛擬機中的操作系統認為還是有100G磁盤),當磁盤快用滿1G時,精簡配置程序會為虛擬機申請磁盤空間(比如又申請了 20G),這樣就可以一點一點的增加磁盤空間,最終為虛擬機分配100G空間。
[0003]因此,使用精簡配置技術時,需要對虛擬機和磁盤進行管理。現有技術中,精簡配置關注的僅是磁盤,當磁盤空間不足時,會自動為磁盤擴容,并無對虛擬機的管理。
【發明內容】
[0004]由于現有技術中,精簡配置關注的僅是磁盤,當磁盤空間不足時,會自動為磁盤擴容,并無對虛擬機的管理的問題,本發明提出一種磁盤管理方法及裝置。
[0005]第一方面,本發明提出一種磁盤管理方法,包括:
[0006]根據待管理虛擬機的名稱,查找計算機系統中的虛擬機;
[0007]若所述計算機系統中已存在所述待處理虛擬機,則根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理;
[0008]將所述磁盤的存在標志位設為存在,以便于對磁盤的管理。
[0009]優選地,所述根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理,進一步包括:
[0010]若所述處理指令為添加磁盤,則根據所述處理信息在所述待處理虛擬機中建立新磁盤,并為所述新磁盤申請預設磁盤空間的內存;
[0011]其中,所述處理信息包括磁盤名稱和磁盤空間;所述磁盤空間包括已分配磁盤空間和定義磁盤空間。
[0012]優選地,所述根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理,進一步包括:
[0013]若所述處理指令為修改磁盤,則根據所述處理信息在所述待處理虛擬機中修改磁盤信息;
[0014]其中,所述處理信息包括磁盤名稱和磁盤空間;所述磁盤空間包括已分配磁盤空間和定義磁盤空間。
[0015]優選地,還包括:
[0016]將所述待管理虛擬機的所有磁盤的存在標志位設為不存在;
[0017]讀取數據庫中所述待管理虛擬機的磁盤,如果所述數據庫中存在當前磁盤,則將當前磁盤的存在標志位設為存在;
[0018]將存在標志位為不存在的磁盤從所述待管理虛擬機中刪除。
[0019]優選地,還包括:
[0020]若所述計算機系統中不存在所述待處理虛擬機,則根據所述處理信息在所述計算機系統中創建新虛擬機,并為所述新虛擬機申請預設虛擬機空間的內存;
[0021 ] 其中,所述處理信息包括虛擬機名稱和虛擬機空間;所述虛擬機空間包括已分配虛擬機空間和定義虛擬機空間。
[0022 ]第二方面,本發明還提出一種磁盤管理裝置,包括:
[0023]虛擬機查找模塊,用于根據待管理虛擬機的名稱,查找計算機系統中的虛擬機;
[0024]磁盤管理模塊,用于當所述計算機系統中已存在所述待處理虛擬機時,根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理;
[0025]標志位設置模塊,用于將所述磁盤的存在標志位設為存在,以便于對磁盤的管理。
[0026]優選地,所述磁盤管理模塊進一步用于當所述處理指令為添加磁盤時,根據所述處理信息在所述待處理虛擬機中建立新磁盤,并為所述新磁盤申請預設磁盤空間的內存;
[0027]其中,所述處理信息包括磁盤名稱和磁盤空間;所述磁盤空間包括已分配磁盤空間和定義磁盤空間。
[0028]優選地,所述磁盤管理模塊進一步用于當所述處理指令為修改磁盤時,根據所述處理信息在所述待處理虛擬機中修改磁盤信息;
[0029]其中,所述處理信息包括磁盤名稱和磁盤空間;所述磁盤空間包括已分配磁盤空間和定義磁盤空間。
[0030]優選地,還包括:
[0031 ]磁盤刪除模塊,用于將所述待管理虛擬機的所有磁盤的存在標志位設為不存在;讀取數據庫中所述待管理虛擬機的磁盤,如果所述數據庫中存在當前磁盤,則將當前磁盤的存在標志位設為存在;并將存在標志位為不存在的磁盤從所述待管理虛擬機中刪除。
[0032]優選地,還包括:
[0033]虛擬機刪除模塊,用于當所述計算機系統中不存在所述待處理虛擬機時,根據所述處理信息在所述計算機系統中創建新虛擬機,并為所述新虛擬機申請預設虛擬機空間的內存;
[0034]其中,所述處理信息包括虛擬機名稱和虛擬機空間;所述虛擬機空間包括已分配虛擬機空間和定義虛擬機空間。
[0035]由上述技術方案可知,本發明通過在計算機系統中查找虛擬機是否已經存在,當存在時,根據處理指令和處理信息,對虛擬機的磁盤進行管理,將虛擬機和磁盤進行關聯管理,符合一般用戶首先關注虛擬機,而后關注虛擬機中磁盤的管理習慣,可以快速有效地定位到虛擬機有哪些磁盤,磁盤屬于哪個虛擬機,便于用戶對磁盤的管理;同時通過磁盤的存在標志位來標識當前磁盤是否存在,能夠快速有效地確定當前磁盤是否已被刪除,方便對磁盤的管理。
【附圖說明】
[0036]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些圖獲得其他的附圖。
[0037]圖1為本發明一實施例提供的一種磁盤管理方法的流程示意圖;
[0038]圖2為本發明一實施例提供的另一種磁盤管理方法的流程圖;
[0039]圖3為本發明一實施例提供的一種磁盤管理裝置的結構示意圖。
【具體實施方式】
[0040]下面結合附圖,對發明的【具體實施方式】作進一步描述。以下實施例僅用于更加清楚地說明本發明的技術方案,而不能以此來限制本發明的保護范圍。
[0041 ] 實施例1:
[0042]圖1示出了本發明一實施例提供的一種磁盤管理方法的流程示意圖,包括:
[0043]S1、根據待管理虛擬機的名稱,查找計算機系統中的虛擬機;
[0044]其中,一個計算機系統中包括多個虛擬機。
[0045]S2、若所述計算機系統中已存在所述待處理虛擬機,則根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理;
[0046]S3、將所述磁盤的存在標志位設為存在,以便于對磁盤的管理。
[0047]本實施例通過在計算機系統中查找虛擬機是否已經存在,當存在時,根據處理指令和處理信息,對虛擬機的磁盤進行管理,將虛擬機和磁盤進行關聯管理,符合一般用戶首先關注虛擬機,而后關注虛擬機中磁盤的管理習慣,可以快速有效地定位到虛擬機有哪些磁盤,磁盤屬于哪個虛擬機,便于用戶對磁盤的管理;同時通過磁盤的存在標志位來標識當前磁盤是否存在,能夠快速有效地確定當前磁盤是否已被刪除,方便對磁盤的管理。
[0048]進一步地,在上述實施例1的基礎上,步驟S2中所述根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理,進一步包括:
[0049]S21、若所述處理指令為添加磁盤,則根據所述處理信息在所述待處理虛擬機中建立新磁盤,并為所述新磁盤申請預設磁盤空間的內存;
[0050]其中,所述處理信息包括磁盤名稱和磁盤空間;所述磁盤空間包括已分配磁盤空間和定義磁盤空間。
[0051 ] 通過為待處理虛擬機添加新磁盤,能夠將虛擬機與磁盤進行關聯,便于管理。
[0052]進一步地,在上述實施例1的基礎上,步驟S2中所述根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理,進一步包括:
[0053]S22、若所述處理指令為修改磁盤,則根據所述處理信息在所述待處理虛擬機中修改磁盤信息;
[0054]其中,所述處理信息包括磁盤名稱和磁盤空間;所述磁盤空間包括已分配磁盤空間和定義磁盤空間。
[0055]通過查找虛擬機來找到待修改的磁盤,并對磁盤進行修改,快速方便。
[0056]進一步地,在上述實施例1的基礎上,步驟S3之后,還包括:
[0057]S4、將所述待管理虛擬機的所有磁盤的存在標志位設為不存在;
[0058]S5、讀取數據庫中所述待管理虛擬機的磁盤,如果所述數據庫中存在當前磁盤,則將當前磁盤的存在標志位設為存在;
[0059]S6、將存在標志位為不存在的磁盤從所述待管理虛擬機中刪除。
[0060]通過讀取數據庫中的數據來確認當前磁盤是否存在,以便及時刪除虛擬機中不存在的磁盤。
[0061]若所述待管理虛擬機的所有磁盤的存在標志位均為不存在,則刪除所述待管理虛擬機。
[0062]精簡配置程序,會讀取數據庫中當前存在的虛擬機、磁盤的信息。但是由于無法讀取出已經刪除的虛擬機、磁盤的信息,因此需要做特殊處理,以確保刪除虛擬機時不會誤刪虛擬機中的磁盤。
[0063]更進一步地,所述方法還包括:
[0064]S4、若所述計算機系統中不存在所述待處理虛擬機,則根據所述處理信息在所述計算機系統中創建新虛擬機,并為所述新虛擬機申請預設虛擬機空間的內存;
[0065]其中,所述處理信息包括虛擬機名稱和虛擬機空間;所述虛擬機空間包括已分配虛擬機空間和定義虛擬機空間。
[0066]通過判斷計算機系統中不存在所述待處理虛擬機,則創建新虛擬機,能夠提高用戶體驗。
[0067]具體地,當創建新虛擬機時,記錄下新虛擬機相關信息,包括:
[0068]虛擬機在程序中的名字,程序中為了查找方便等原因,通常給虛擬機起一個獨一無二的名字,用來快速的區分虛擬機;
[0069]虛擬機的別名,記錄了人能夠理解的虛擬機的名字,該名字是創建虛擬機時人為起的名字,是人可以理解的;
[0070]鏈表結構,用來將各個虛擬機關聯成鏈表;
[0071 ]磁盤信息表,該信息表包括了當前虛擬機可用的磁盤信息,以及當前虛擬機不可用的磁盤信息。
[0072]當創建虛擬機時,還需要給虛擬機添加磁盤,因此需要對磁盤進行管理,要記錄下磁盤的信息,包括:
[0073]磁盤的名字,同樣是為了區分磁盤,人可以識別;
[0074]磁盤的路徑,對于磁盤來說,虛擬機中的操作系統認為是磁盤,虛擬機是位于主機的,那么該磁盤對于主機來說,可能就是主機的一個特殊格式的文件,也可能是主機可以識別的某個塊設備,無論是文件也好,塊設備也好,必然要有一個路徑,這樣根據路徑就可以訪問到磁盤;
[0075]定義的磁盤大小,在創建虛擬機時,給虛擬機分配的磁盤大小,比如分配了 100G,雖然在使用精簡配置時,沒有立刻分配100G,而是只分配了一部分(比如20G),但是磁盤的定義的大小永遠是創建時定義的,對于本例來說就是100G;
[0076]當前已經分配的大小,當前為虛擬機分配了多大的空間,比如20G,當然虛擬機可能僅用了 5G;
[0077]磁盤鏈表,用于將磁盤關聯起來;
[0078]虛擬機的信息,這就是前面記錄的虛擬機信息。這樣通過磁盤信息可以方便的找到虛擬機信息;
[0079]定時器句柄,通過該句柄可以獲取到定時器的一些資源信息。因為精簡配置程序要不停的監控磁盤,因此需要啟動定時器來定時監控,定時器也包括了很多信息,那么通過該句柄就可以獲取到定時器的信息,比如定時器的定時間隔,定時器的狀態等等;
[0080]存在標志位,表明磁盤在數據庫中是存在還是不存在的,用于添加、刪除磁盤時對磁盤狀態的獲取。
[0081 ] 具體地,當創建虛擬機時:
[0082]Al、根據虛擬機在程序中的名字(該名字是系統內部定義的、獨一無二的名字)來查找是否已經創建了該虛擬機。如果是則轉到A2,如果否則A3;
[0083]A2、已經創建了虛擬機,那么說明本次其實不是創建虛擬機而可能是為虛擬機添加磁盤,那么直接轉到A4,也可能是修改了虛擬機磁盤的一些信息(比如名字,定時器信息等等),那么轉到A5,當然也可以是什么都不修改,那么直接轉到A6;
[0084]A3、此時是新創建虛擬機,那么就分配內存,用來記錄虛擬機的信息;
[0085]A4、無論是新創建虛擬機還是為老虛擬機添加磁盤,都重新申請一塊內存用來記錄磁盤的信息;
[0086]A5、如果是修改老磁盤的信息,那么就找到對應的老磁盤信息,直接修改即可;
[0087]A6、設置磁盤存在標志位。
[0088]對于精簡配置來說,需要監控的是虛擬機中的磁盤信息,當一個虛擬機中沒有任何磁盤的時候,那么就不需要任何虛擬機的信息了,而只要虛擬機中有磁盤,那么就需要記錄虛擬機的信息。
[0089]在創建虛擬機時,虛擬機和磁盤的各種信息,都來自于數據庫,這是創建虛擬機的程序自己寫入的,且數據庫中僅保存當前存在的虛擬機,這樣做是為了減少數據庫的大小,否則已經刪除的虛擬機的信息也記錄下來,那么信息量太大,也沒有意義。
[0090]精簡配置程序,會讀取數據庫,讀取到當前存在的虛擬機、磁盤的信息。但是由于無法讀取出已經刪除的虛擬機、磁盤的信息,因此需要做特殊處理。
[0091 ]具體地,當需要刪除虛擬機時:
[0092]B1、設置所有虛擬機的所有磁盤信息中的存在標志位為不存在;
[0093]B2、讀取數據庫信息;
[0094]B3、根據讀取到的數據庫信息,執行創建虛擬機的步驟A 1-A6,由于該流程是復用的,對于添加磁盤,修改磁盤等也是有效的;
[0095]B4、在創建虛擬機流程中,最終需要再次為磁盤設置存在標志位,表明磁盤存在;
[0096]B5、遍歷所有虛擬機下的所有磁盤,如果有磁盤已經被刪除了的話,那么在B4中是不會設置存在標志位的,也就是說,此時該磁盤已經被刪除了,那么就可以安全的將該磁盤刪除了。
[0097]B6、如果某個虛擬機下的所有磁盤都被刪除了,那么就可以安全的刪除該虛擬機了。
[0098]舉例來說,假設當前有一個虛擬機,該虛擬機有兩個磁盤,A和B;
[0099]BI,、設置A和B為Not Exist,表明A和B存在;
[0100]B2’、讀取數據庫信息,此時,僅僅讀取到B的信息;
[0101]B3’、根據B的信息,走創建虛擬機的流程;
[0102]B4’、在創建虛擬機的流程最后,對磁盤B重新設置為Exist,表明磁盤存在;
[0103]B5’、遍歷所有虛擬機下的所有磁盤,對于本例來說,就是A和B,發現A還是NotExist,而B是Exist,那么說明A已經被刪除了,可以安全的刪除掉了。
[0104]B6’、由于當前虛擬機的磁盤B未被刪除,因此不能直接刪除當前虛擬機。
[0105]圖3示出了本發明一實施例提供的一種磁盤管理裝置的結構示意圖,所述裝置包括虛擬機查找模塊31、磁盤管理模塊32和標志位設置模塊33,其中,
[0106]所述虛擬機查找模塊31用于根據待管理虛擬機的名稱,查找計算機系統中的虛擬機;
[0107]所述磁盤管理模塊32用于當所述計算機系統中已存在所述待處理虛擬機時,根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理;
[0108]所述標志位設置模塊33用于將所述磁盤的存在標志位設為存在,以便于對磁盤的管理。
[0109]具體地,所述虛擬機查找模塊31根據待管理虛擬機的名稱,查找計算機系統中的虛擬機;當所述計算機系統中已存在所述待處理虛擬機時,所述磁盤管理模塊32根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理;所述標志位設置模塊33將所述磁盤的存在標志位設為存在,以便于對磁盤的管理。
[0110]本實施例通過在計算機系統中查找虛擬機是否已經存在,當存在時,根據處理指令和處理信息,對虛擬機的磁盤進行管理,將虛擬機和磁盤進行關聯管理,符合一般用戶首先關注虛擬機,而后關注虛擬機中磁盤的管理習慣,可以快速有效地定位到虛擬機有哪些磁盤,磁盤屬于哪個虛擬機,便于用戶對磁盤的管理;同時通過磁盤的存在標志位來標識當前磁盤是否存在,能夠快速有效地確定當前磁盤是否已被刪除,方便對磁盤的管理。
[0111]進一步地,所述磁盤管理模塊用于當所述處理指令為添加磁盤時,根據所述處理信息在所述待處理虛擬機中建立新磁盤,并為所述新磁盤申請預設磁盤空間的內存;
[0112]其中,所述處理信息包括磁盤名稱和磁盤空間;所述磁盤空間包括已分配磁盤空間和定義磁盤空間。
[0113]進一步地,所述磁盤管理模塊用于當所述處理指令為修改磁盤時,根據所述處理信息在所述待處理虛擬機中修改磁盤信息;
[0114]其中,所述處理信息包括磁盤名稱和磁盤空間;所述磁盤空間包括已分配磁盤空間和定義磁盤空間。
[0115]進一步地,所述裝置還包括:
[0116]磁盤刪除模塊34,用于將所述待管理虛擬機的所有磁盤的存在標志位設為不存在;讀取數據庫中所述待管理虛擬機的磁盤,如果所述數據庫中存在當前磁盤,則將當前磁盤的存在標志位設為存在;并將存在標志位為不存在的磁盤從所述待管理虛擬機中刪除。
[0117]更進一步地,所述裝置還包括:
[0118]虛擬機刪除模塊35,用于當所述計算機系統中不存在所述待處理虛擬機時,根據所述處理信息在所述計算機系統中創建新虛擬機,并為所述新虛擬機申請預設虛擬機空間的內存;
[0119]其中,所述處理信息包括虛擬機名稱和虛擬機空間;所述虛擬機空間包括已分配虛擬機空間和定義虛擬機空間。
[0120]本實施例所述的磁盤管理裝置可以用于執行上述方法實施例,其原理和技術效果類似,此處不再贅述。
[0121]本發明的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
【主權項】
1.一種磁盤管理方法,其特征在于,包括: 根據待管理虛擬機的名稱,查找計算機系統中的虛擬機; 若所述計算機系統中已存在所述待處理虛擬機,則根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理; 將所述磁盤的存在標志位設為存在,以便于對磁盤的管理。2.根據權利要求1所述的方法,其特征在于,所述根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理,進一步包括: 若所述處理指令為添加磁盤,則根據所述處理信息在所述待處理虛擬機中建立新磁盤,并為所述新磁盤申請預設磁盤空間的內存; 其中,所述處理信息包括磁盤名稱和磁盤空間;所述磁盤空間包括已分配磁盤空間和定義磁盤空間。3.根據權利要求1所述的方法,其特征在于,所述根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理,進一步包括: 若所述處理指令為修改磁盤,則根據所述處理信息在所述待處理虛擬機中修改磁盤信息; 其中,所述處理信息包括磁盤名稱和磁盤空間;所述磁盤空間包括已分配磁盤空間和定義磁盤空間。4.根據權利要求1所述的方法,其特征在于,所述將所述磁盤的存在標志位設為存在,以便于對磁盤的管理之后,還包括: 將所述待管理虛擬機的所有磁盤的存在標志位設為不存在; 讀取數據庫中所述待管理虛擬機的磁盤,如果所述數據庫中存在當前磁盤,則將當前磁盤的存在標志位設為存在; 將存在標志位為不存在的磁盤從所述待管理虛擬機中刪除。5.根據權利要求1所述的方法,其特征在于,還包括: 若所述計算機系統中不存在所述待處理虛擬機,則根據所述處理信息在所述計算機系統中創建新虛擬機,并為所述新虛擬機申請預設虛擬機空間的內存; 其中,所述處理信息包括虛擬機名稱和虛擬機空間;所述虛擬機空間包括已分配虛擬機空間和定義虛擬機空間。6.一種磁盤管理裝置,其特征在于,包括: 虛擬機查找模塊,用于根據待管理虛擬機的名稱,查找計算機系統中的虛擬機; 磁盤管理模塊,用于當所述計算機系統中已存在所述待處理虛擬機時,根據處理指令和處理信息,對所述待處理虛擬機的磁盤進行管理; 標志位設置模塊,用于將所述磁盤的存在標志位設為存在,以便于對磁盤的管理。7.根據權利要求6所述的裝置,其特征在于,所述磁盤管理模塊進一步用于當所述處理指令為添加磁盤時,根據所述處理信息在所述待處理虛擬機中建立新磁盤,并為所述新磁盤申請預設磁盤空間的內存; 其中,所述處理信息包括磁盤名稱和磁盤空間;所述磁盤空間包括已分配磁盤空間和定義磁盤空間。8.根據權利要求6所述的裝置,其特征在于,所述磁盤管理模塊進一步用于當所述處理指令為修改磁盤時,根據所述處理信息在所述待處理虛擬機中修改磁盤信息; 其中,所述處理信息包括磁盤名稱和磁盤空間;所述磁盤空間包括已分配磁盤空間和定義磁盤空間。9.根據權利要求6所述的裝置,其特征在于,還包括: 磁盤刪除模塊,用于將所述待管理虛擬機的所有磁盤的存在標志位設為不存在;讀取數據庫中所述待管理虛擬機的磁盤,如果所述數據庫中存在當前磁盤,則將當前磁盤的存在標志位設為存在;并將存在標志位為不存在的磁盤從所述待管理虛擬機中刪除。10.根據權利要求6所述的裝置,其特征在于,還包括: 虛擬機刪除模塊,用于當所述計算機系統中不存在所述待處理虛擬機時,根據所述處理信息在所述計算機系統中創建新虛擬機,并為所述新虛擬機申請預設虛擬機空間的內存; 其中,所述處理信息包括虛擬機名稱和虛擬機空間;所述虛擬機空間包括已分配虛擬機空間和定義虛擬機空間。
【文檔編號】G06F3/06GK105955671SQ201610323317
【公開日】2016年9月21日
【申請日】2016年5月16日
【發明人】李鵬
【申請人】漢柏科技有限公司