用于管理云存儲的技術的制作方法
【專利說明】用于管理云存儲的技術
[0001 ] 領域
[0002]本公開總體上涉及用于管理存儲的系統、設備和方法(“技術”)并且更具體地涉及用于管理云計算環境中的存儲的技術。
[0003]背景
[0004]對使用云計算解決企業和其他實體的計算需要的興趣一直在增加。云計算可被理解為使用硬件、基礎設施、存儲、服務、接口、其組合等等來通過網絡(諸如企業網、私人網、或諸如因特網之類的公共網)將計算服務(諸如軟件、基礎設施和存儲)傳送到客戶端。在混合云模型中,企業或其他實體(“用戶”)可實現私人(例如,企業)云以便向客戶端提供軟件、存儲等等并且可使用第三方云(諸如公共(因特網)云、社區云、另一個私人云或其組合)來提供附加計算資源。在這種情況下,用戶可將工作負荷分配給第三方云,例如按需和/或當用戶的私人云上的資源耗盡/變得稀少時。混合云模型可特別在存儲(例如其中數據可存儲在一個或多個云存儲提供商所提供的云存儲中)的情況下有用。
[0005]盡管有用,混合云模型的管理(尤其在云存儲的情況下)會成本高昂并且費時。云存儲提供商經常對分配給具體用戶的每單位存儲收費。云存儲用戶可因此被對未使用的存儲或者正在用于存儲過時或以其他方式不感興趣的數據或其他信息的存儲收費。用戶可因此希望主動地管理云存儲和存儲在其中的數據以便降低成本。云存儲提供商還可能希望從云存儲用戶收回未使用的或不必要的云存儲,從而使得這種存儲可被重新分配用于更高效的用途。
[0006]存在用于管理(例如,收回和/或重新分配)云存儲的若干選項。盡管這種選項是功能性的,對其的有效使用可要求云存儲用戶和/或提供商的監控和手動管理。實際上為了謹慎地管理云存儲,可能有必要的是云存儲用戶知曉分配給他們的云存儲將何時期滿和/或包含在這種存儲中的信息何時未被使用。這會導致繁瑣的和物流上困難的手動監控,尤其是如果與眾多虛擬機相關聯地將云存儲分配給用戶。
[0007]云自動縮放是用于自動地縮放云資源以便滿足用戶需求的一個選項。盡管有用,云自動縮放選項通常集中在縮放計算資源而不是存儲資源。例如,云提供商可為用戶提供一個或多個虛擬機(VM),這些虛擬機各自可包括相關聯的云存儲配額。在這種情形下,云自動縮放可自動地從提供給用戶的資源刪除整個VM,例如,按照云提供商和用戶之間的服務級別協議(SLA)所規定的那樣。當VM自身可被刪除時,VM鏡像和相關聯的存儲可仍被分配給用戶并且在云中維護。用戶可因此仍因與VM相關聯的存儲而被收費,即使這不再需要。
[0008]附圖簡要描述
[0009]圖1是根據本公開的示例性系統的框圖。
[0010]圖2描繪可包括在根據本公開的系統中的示例性模塊。
[0011 ]圖3是根據本公開的管理云存儲的示例性方法的流程圖。
[0012]圖4是根據本公開的管理云存儲的一個示例的框圖。
[0013]盡管將參考說明性實施例進行以下詳細描述,其許多替代、修改和變化將對本領域普通技術人員明顯。
[0014]詳細描述
[0015]如在背景中所提及的,存在用于手動地或自動地管理云提供商所提供的資源的若干機制。盡管有用,手動地管理云資源可能是繁瑣的且費時的并且因此可能不是令人期望的。現有的自動機制(諸如云自動縮放)也有用,但是通常集中在管理云計算資源而不是云存儲。因此本領域中仍存在對用于管理云存儲的改進機制的需要。在此描述的技術旨在解決這種需要。
[0016]如以下將詳細描述的,本公開的技術涉及用于管理云存儲的設備、系統和方法。通常,這些技術采用可被執行以便標識“過時存儲”的基于策略的存儲掃描(sweep)過程。過時存儲可被理解為被分配給云用戶和/或虛擬機(VM)但是已經期滿(例如,根據服務級別協議)、未使用、不必要(如服務級別協議和/或存儲管理策略所定義的那樣)及其組合的云存儲。在此描述的技術可許可根據一個或多個策略的參數管理(即,收回和/或重新分配)過時存儲。例如,分配給云用戶和/或VM的過時存儲可被自動地重新分配給另一個用戶、用戶的另一個客戶端和/或用戶的另一個VM及其組合。作為替代或補充,過時存儲可由云存儲提供商收回并且添加到提供商的通用存儲池中,例如作為自由空間。以此方式,在此描述的技術可允許云存儲用戶和提供商動態地和/或自動地以高效的方式管理云存儲。
[0017]如在本申請中和在權利要求書中所使用的,用術語“和/或”連結的項目列表可意指所列出的項目的任何組合。例如,短語“A、B和/或C"可指A; B; C; A和B; A和C; B和C;或A、B和C。
[0018]術語“客戶端設備”和“客戶端”在此可互換地使用以便指代可用于訪問云資源提供商所提供的資源(例如,云存儲)的計算設備。任何類型的移動或其他電子設備可用作符合本公開的客戶端,只要其具有與云資源通信或以其他方式訪問云資源的能力。這種設備的非限制性示例包括移動和/或非移動設備,諸如照相機、蜂窩電話、計算機終端、桌上計算機、電子閱讀器、傳真機、自助服務終端、上網本計算機、筆記本計算機、因特網設備、支付終端、個人數字助理、媒體播放器和/或記錄器、服務器、機頂盒、智能電話、平板個人計算機、超移動個人計算機、有線電話、其組合等等。這種設備可以是便攜式的或靜止的。不作為限制地,在此描述的客戶端設備優選地處于一個或多個蜂窩電話、桌上計算機、膝上計算機、服務器、智能電話和平板個人計算機的形式。
[0019]術語“云存儲”在此用于指代可由云存儲提供商(例如,第三方計算系統,諸如數據中心、一個或多個服務器等等)主存以便存儲用戶(例如,客戶端)數據的一個或多個存儲池。云存儲可被配置成用于向用戶提供通用存儲池,可根據用戶的要求(例如,如服務級別協議(SLA)中所規定的那樣)將該存儲池虛擬化。云存儲提供商可然后將存儲作為一個或多個存儲池暴露給用戶,用戶可使用該存儲來存儲文件和/或數據對象。物理上,云存儲可由一個或多個大容量存儲設備(例如,硬盤驅動器、磁帶、固態存儲器、其組合等等)提供,該一個或多個大容量存儲設備可分布在地理上協同定位和/或分布的一個或多個云服務器上。
[0020]如在此所使用的,術語“管理”當與云存儲結合使用時(例如,“管理云存儲”)指代云存儲可被重新分配、收回或以其他方式更改或修改的過程。
[0021]在此所使用的,術語“模塊”可指代可被配置成用于執行根據本公開的一個或多個操作的軟件、固件、電路及其組合。軟件可被實現為記錄在一個或多個非瞬態計算機可讀存儲介質上的軟件包、代碼、指令、指令集和/或數據。固件可被實現為硬編碼在(例如,非易失性的)存儲器設備中的代碼、指令或指令集和/或數據。如在此在任何實施例中所使用的“電路”可單獨地或在任何組合中包括例如存儲由可編程電路執行的指令的硬連線電路、可編程電路(諸如包括一個或多個單獨的指令處理核的計算機處理器)、狀態機電路、軟件和/或固件。在此描述的模塊可一起或單獨地被實施為形成客戶端設備、云存儲設備/系統和/或云存儲管理設備/系統的一部分的電路。為了清晰的目的,可在此在其功能的上下文中描述模塊。在這種情形下,可理解的是這種模塊可獨立地能夠執行所提及的功能和/或可致使執行該模塊的主機計算系統的全部或一部分(例如,處理器)執行所陳述的功能。
[0022]如在此所使用的,術語“服務級別協議(SLA)”指代用戶(例如,客戶端)和云存儲提供商之間的規定雙方之間的通用服務條款的協議。例如,SLA可規定云存儲提供商將向用戶提供規定容量的通用云存儲池。在某些實施例中,SLA可規定有待由云存儲提供商維護的并且有待分配給用戶的最大和/或最小存儲量。
[0023]盡管云存儲可被虛擬化為可由用戶、用戶的客戶端和/或分配給用戶的虛擬機訪問的單個大型存儲池,并不要求這種虛擬化。實際上,可以根據適合用戶的并且可在SLA中規定的任何方式將云存儲虛擬化。例如,云存儲用戶和提供商之間的SLA可規定有待在一個或多個客戶端和/或虛擬機(VM)之間虛擬化云存儲。在某些實施例中,SLA可規定VM的一個或多個“口味(flavor)”,其中,每個口味可被分配特定量的云存儲。例如,SLA可規定第一口味的所有VM具有特定(例如,第一)量的所分配的云存儲,而第二口味的VM具有另一個特定(例如,第二)量的所分配的云存儲。當然,口味數量不限于兩個,并且本公開考慮了規定任何口味數量和相關聯的存儲量的SLA。仍此外,SLA可進一步規定每個虛擬機的存儲限制,例如,每個VM的最大和/或最小可用存儲(卷分配)、每個VM的最大和/或最小自由存儲(緩沖區)、其組合等等。
[0024]當然,SLA可規定支配云存儲提供商提供給用戶的服務的其他參數。例如,SLA可包括要求規定程度的正常工作時間、等待時間要求、通知要求(例如,用于維護)、備份服務、副本數量、地理位置、云存儲用戶所規定的后安裝配置、其組合等等的。
[0025]與SLA相反,術語“存儲管理策略”和“SMP”在此可互換地用于指代包括用于管理云存儲提供商分配給用戶的云存儲的一個或多個策略。如以下將詳細描述的,SMP的參數可準許用戶和/或云存儲提供商在SLA下管理分配給用戶的云存儲。通過舉例,例如通過應用SMP和/或SLA中的因素,SMP可允許在確定在SLA下分配給用戶的存儲過時的情況下允許云存儲提供商永久地或臨時地收回這種存儲。作為替代或補充,可在用戶、客戶端和/或虛擬機之間重新分配過時存儲。
[0026]通過舉例,SLA可規定云存儲提供商向用戶、客戶端或用戶和/或一個或多個虛擬機分配第一存儲量(例如100千兆字節(GB)或某個其他量)。在這種情形下,SMP可包括準許在某些規定的情況下管理該第一存儲量的全部或一部分的一個或多個參數。在一個示例性實施例中,SMP可包括準許在相關用戶、客戶端和/或虛擬機未使用該第一存儲量的全部或相關部分的情況下管理該第一存儲量的全部或一部分的參數。
[0027]例如,SMP的參數可準許在分配給用戶、客戶端和/或VM的云存儲的預定量未被使用(即,如果超過了SMP中設置的自由存儲分配閾值大小)的情況下管理這種存儲。例如,SMP可包括將超過自由存儲分配閾值的自由(即,未使用)存儲指定為過時并且因此可用于管理的參數。通過舉例,SMP的參數可設置50GB (千兆字節)的自由存儲分配閾值。如果100GB的云存儲被初始地分配給客戶端而該存儲的70GB未被使用,SMP參數可將分配給客戶端的云存儲的全部或一部分(例如,自由存儲)指定為過時并且可用于管理。
[0028]SMP可進一步包括規定在收回和/或重新分配之后維護某個服務/存儲水平的參數。例如,SMP可包括要求在SLA下分配給用戶、客戶端、虛擬機或其組合內維護的某個量(例如,最小)的自由空間(此后,自由存儲緩沖區)。自由存儲緩沖區可以是適合相關用戶、客戶端和/或虛擬機的任何量。例如,自由存儲緩沖區的范圍可根據需要從大于分配給用戶、客戶端和/或虛擬機的云存儲的O到小于100%。不作為限制地,自由存儲緩沖區優選地被設置為提供足夠的自由云存儲以便為用戶、客戶端和/或VM的即時需要服務,但是沒有大到對用戶帶來不必要的費用和/或大到相當于云存儲提供商的存儲資源的低效分配的量。因此,例如,自由存儲緩沖區的范圍可從分配給用戶、客戶端和/或虛擬機的第一存儲量的大約90%到大約5%,諸如第一存儲量的大約80%到大約10%、大約70%到大約10%、大約60%到大約10 %、大約50%到大約10%或者甚至大約20%到大約10 %。
[0029]SLA可例如致使云存儲提供商為客戶端分配100GB,并且可為該客戶端設置1GB的自由存儲緩沖區。SMP的參數可規定如果分配給客戶端的自由存儲量超過自由存儲緩沖區(為了本示例的目的,10GB),超過自由存儲緩沖區的自由存儲可被指定為過時并且可用于管理。因此,如果使用了分配給客戶端的100GB的50GB,SMP參數的應用可致使將40GB的未使用(自由)存儲指定為過時并且因此可用于管理。
[0030]SMP中的因素還可準許在這種存儲已經在SLA的條款下“期滿”的情況下管理第一存儲量的全部或一部分。例如,用戶和云存儲提供商之間的SLA可規定云存儲提供商為用戶(及其客戶端/虛擬機)提供第一存儲量達規定的時間段,例如,分鐘、小時、天、月、年等等的時段。已經超過規定時間段的數據存儲可被認為是“期滿存儲”。
[0031]在某些情形下,SLA(和/或云存儲提供商的策略)可要求云存儲提供商在SLA中規定的時間段之外維護所分配的存儲內存儲的數據。盡管這種條款在可保留用戶的數據的意義上可能是有利的,它會導致用戶的附加收費和/或其他復雜,尤其是在不需要或不想要用戶的數據的全部或一部分的情形下。可根據本公開使用包括將期滿存儲的全部或一部分指定為過時并且因此可用于管理的因素的SMP緩解或者甚至避免這些缺點。
[0032]存儲在云存儲中的數據可包括一個或多個指示標志位,例如處于一個或多個位、元數據、其組合等等的形式。這種標志位可充當數據以及因此底層存儲的相對重要性的指示符。例如,指示標志位可被設置為規定某些數據具有高重要性而其他數據具有中等和/或低重要性。在這種情形下,SMP中的因素可準許重新分配和/或收回由不承載指示符或承載在SMP中被指定為適合管理的指示符的數據所占用的存儲。例如,SMP的一個或多個參數可規定可重新分配和/或收回包含承載指示數據具有低重要性的數據的存儲,而不應當重新分配和/或收回包含承載中或高重要性指示符的數據的存儲。類似的指示符可用于將數據(以及因此底層存儲)指定為過時并且因此可用于管理。
[0033]作為替代或補充,存儲在云存儲中的數據還可包括涉及這種數據的相對使用以及因此底層存儲是否過時(并且因此適合收回和/或重新分配)的元數據或其他信息。例如,元數據或其他信息可規定云存儲中的數據(例如,文件、對象)上次被使用(例如,訪問、修改、其組合等等)的時間、這種數據被使用的頻率及其組合。在這種情形下,SMP中的因素可指示根據本公開包含具有某些使用特性的數據的云存儲過時并且因此可用于管理。
[0034]例如,SMP可包含如果被滿足則指示如果存儲包含在規定的時間段(例如,天、周、月、年等等)之后一直未被使用的數據則這種存儲過時的參數。換言之,SMP的因素可規定最小休眠使用閾值。包含在閾值時間段內超過最小休眠使用閾值(即,已經休眠/未被訪問)的數據的存儲可由SMP指定為過時并且因此可用于重新分配和/或收回。如先前所述,最小休眠使用閾值的范圍可以是天、周、月或甚至年。可通過檢查反映所討論的數據的使用的元數據或其他信息確定數據滿足還是超過最小休眠使用閾值。
[0035]SMP可進一步包括如果被滿足則指示如果存儲包含僅被偶爾訪問的數據則這種存儲過時的參數。換言之,SMP可設置閾值訪問限制。包含未滿足閾值訪問限制(例如,尚未被訪問/使用規定的次數)的數據的存儲可由SMP指定為過時并且因此可適合重新分配和/或收回。閾值訪問限制可由用戶和/或云存儲提供商設置并且可以是任何合適的訪問數量。例如,閾值訪問限制可以大于0、大于或等于大約5、大于或等于大約10、大于或等于大約25、大于或等于大約100、或者甚至大于或等于大約1000。閾值訪問限制還可以是時間相關的。也就是,閾值訪問限制可規定某個時間段(例如,分鐘、小時、天、月、年等等)內的最小訪問/使用數量。例如,閾值訪問限制可要求前述訪問量在大約I小時、大約I天、大約I周、大約I月、大約I年、或某個其他規定的時間范圍內發生。
[0036]SMP可被進一步配置為使得基于評估參數(諸如以上規定的那些)的組合將分配給用戶的云存儲指定為過時。例如,如果存儲包含不滿足最小訪問閾值和最小休眠使用閾值的組合,則SMP可將該存儲指定為過時并且因此適合管理。作為替代或補充,如果存儲包含承載低重要性指示符的數據并且尚未滿足規定的閾值訪問限制和/或最小休眠使用閾值,則SMP可將該存儲指定為過時并且適合管理。
[0037]SMP可進一步規定某些參數的重要性可比SMP中的其他參數更優先的控制層級。例如,SMP可使得要求符合SLA的因素、數據重要性等等的參數比其他參數(諸如最小休眠使用閾值和/或閾值訪問限制)更優先。因此,例如,SMP可被配置為使得如果包含在存儲中的數據被指定為重要和/或收回/重新分配將導致不符合SLA的條款則可將這種存儲指定為過時并且適合管理。同樣,如果數據被指定為重要(例如,具有指示標志位),可能不準許管理包含這種數據的存儲,即使這種數據不滿足最小休眠訪問限制和/或閾值訪問限制。這可與其他因素(諸如可用于具體用戶、客戶端、VM及其組合的資源的稀有性以及這種用戶、客戶端和VM的任一個或組合的需要)保持平衡。例如,SMP