基于共享資源的質量向經優先級排序的虛擬機和應用程序提供優化的服務質量的制作方法
【技術領域】
[0001]本公開整體涉及計算設備虛擬化,更具體地講,涉及基于共享計算資源的不同質量向經優先級排序的虛擬機和應用程序提供優化的服務質量。
【背景技術】
[0002]集群是計算機組,這些計算機組使用冗余計算資源組以便在單個系統組件失效時提供持續的服務。更具體地講,集群通過提供多個服務器、多個網絡連接、冗余數據存儲等消除了單點失效。集群系統通常與提供額外有用特征的存儲管理產品相結合,所述額外有用特征諸如日志文件系統、邏輯卷管理、多路徑輸入/輸出(I/O)功能等。例如,一些存儲管理產品,諸如 Veritas Volume Manager (Veritas 卷管理器)和 Dynamic Multipathing (動態多路徑處理),支持多路徑存儲設備,而在多路徑存儲設備中虛擬磁盤設備可供I/O的發起程序使用,其中在虛擬磁盤與基礎物理存儲裝置之間存在多個物理路徑。
[0003]在高可用性集群系統中,檢測到服務器(或服務器所用的具體計算資源,諸如網絡適配器、存儲設備等)的失效,并在另一個計算系統上自動重啟正在失效服務器上運行的應用程序。這個過程稱為“失效備援”。高可用性集群系統還可檢測應用程序本身的失效,并將應用程序失效備援到另一個節點。實際上,高可用性集群系統會監測應用程序、運行應用程序的服務器以及應用程序所使用的資源,以確保應用程序保持高度可用。集群可用于根據保證不同可用性水平的服務水平協議來向客戶提供應用程序。
[0004]計算設備的虛擬化可用于高可用性集群中和其他背景中。可在物理計算機(主計算機或主機)上的軟件層級將一個或多個虛擬機(VM或客機)實例化,使得每個VM運行其自有的操作系統實例。如同軟件應用程序(包括服務器應用程序,諸如數據庫、企業管理解決方案和電子商務網站)可以在物理計算機上運行一樣,這些應用程序也可以在虛擬機上運行。可構建VM的高可用性集群,其中受到高可用性集群系統監測的應用程序在VM上運行并在VM之間失效備援,這一點與物理服務器不同。
[0005]在一些虛擬化場景中,通常稱為超級管理程序(hypervisor)的軟件組件可充當客機與主機操作系統之間的接口,用于實現客機的一些或全部功能。在其他虛擬化具體實施中,在物理主計算機上未運行基礎主機操作系統。在這些場景中,超級管理程序充當客機與主計算機的硬件之間的接口,實際上用作客機運行所基于的主機操作系統。即使在存在主機操作系統的情況下,超級管理程序有時也與某些服務的硬件直接對接。在一些虛擬化場景中,主機本身是在另一個主機上運行的客機(即,虛擬主機)的形式。
[0006]超級管理程序從VM接收對資源的請求,并分配共享資源,諸如CPU、存儲器、I/O帶寬、I/o信道、存儲裝置、性能提升高速緩存、復制鏈接等。在存儲管理環境中,還可在VM或主機之間共享多路徑存儲裝置。盡管常規超級管理程序可向不同VM分配不同份額的資源,但常規超級管理程序將給定類型的所有可用資源(例如,CPU、存儲器和I/O信道)視為類似的并且以基本上相同的方式工作。這限制了基于不同VM和應用程序的優先級或與客戶的基礎服務水平協議可向所述不同VM和應用程序提供不同服務質量的程度。
[0007]因此,期望解決這些問題。
【發明內容】
[0008]基于不同共享計算資源的不同質量,向計算機上的經優先級排序的VM或其他應用程序提供服務質量。每個VM或應用程序均具有優先級,所述優先級可指示相對于其他VM或應用程序將為該VM或應用程序提供的服務質量。共享計算資源可供多個VM或應用程序訪問。共享計算資源可在于單個計算機上運行的多個VM或應用程序之間共享,例如以便促進虛擬化。為每個共享計算資源分配質量等級。在一些實施例中,質量等級包括具體共享計算資源的總體質量的單一量化。所分配的質量等級還可將與共享計算資源的特定類型或共享計算資源的特定實例有關的多個質量因素進行量化。可周期性地評估共享計算資源,以便基于其當前狀態確定當前質量等級。然后,將當前質量等級分配給共享計算資源。
[0009]接收由特定VM或應用程序發出的對共享計算資源的請求。例如,所接收的請求可以是由特定VM為了例如訪問虛擬磁盤而向超級管理程序發出的對共享計算資源的請求的形式。針對每個具體接收的請求,識別請求應用程序的優先級。識別請求應用程序的優先級還可包括,例如通過請求本身的標記,識別發出對共享計算資源的請求的特定應用程序。在所接收的請求為1操作的形式的情況下,可由目標LUN識別共享計算資源。響應于每個所接收的請求,將特定共享計算資源分配給特定請求應用程序。這種分配基于請求應用程序的優先級以及共享計算資源的質量等級來進行,從而向請求應用程序提供對應于其優先級的服務質量。在一些實施例中,記錄了應用程序隨時間推移對共享計算資源的信息記載使用情況,以供將來參考。
[0010]在一個實施例中,所接收的對共享計算資源的請求包括由特定應用程序為了發起以特定存儲設備為目標的1操作而發出的請求。在這種情況下,共享計算資源是用于訪問特定存儲設備的多個隊列的形式。每個隊列被配置為以不同的優先級水平訪問特定存儲設備。在該實施例中,為請求應用程序分配用于處理1操作的隊列中的特定一者。
[0011]在另一個實施例中,所接收的對共享計算資源的請求是由特定應用程序向多路徑處理組件發出的請求的形式,以便訪問多路徑存儲設備。在該實施例中,共享計算資源可包括用于對物理存儲裝置的多個路徑中的特定一者進行訪問的多個隊列,其中分配質量等級還包括將特定優先級水平分配給每個隊列。共享計算資源相反還可包括指向物理存儲裝置的多個路徑,在這種情況下,將質量等級作為特定路徑的質量的量化來分配給所述特定路徑。
[0012]本
【發明內容】
和以下【具體實施方式】中所述的特征和優點并未窮盡所有,并且特別地,相關領域的普通技術人員在考慮本發明附圖、說明書和權利要求書后,許多另外的特征和優點將顯而易見。此外,應該指出的是,說明書中所用的語言主要被選擇用于可讀性和指導目的,而不是被選擇用來限定或限制本發明的主題,必需借助權利要求書確定這樣的發明主題。
【附圖說明】
[0013]圖1為根據一些實施例的其中可實施服務質量管理器的示例性網絡架構的框圖。
[0014]圖2為根據一些實施例的適用于實施服務質量管理器的計算機系統的框圖。
[0015]圖3為根據一些實施例的服務質量管理器的操作的框圖。
[0016]圖4為根據一些實施例的由服務質量管理器使用的共享存儲架構的框圖。
[0017]圖5為根據一些實施例的服務質量管理器的模塊的框圖。
[0018]圖6為根據一些實施例的框圖,示出了服務質量管理器的操作的具體使用案例。
[0019]這些圖僅出于舉例說明的目的來示出各種實施例。本領域技術人員根據以下討論將易于認識到,在不脫離本文所述原理的情況下,可采用本文所述的結構和方法的替代實施例。
【具體實施方式】
[0020]圖1為其中可實施服務質量管理器101的示例性網絡架構100的框圖。在所示的網絡架構100中,客戶端系統103A、103B和103N以及服務器105A和105N可通信地耦接至網絡107。服務質量管理器101被示出為駐留在服務器105A和105N上,但在其他實施例中,服務質量管理器101可根據需要駐留在更多、更少或不同的計算機210上。在圖1中,服務器105A還被描繪為具有直接附接的存儲設備160A(1)-(N),并且服務器105N被描繪為具有直接附接的存儲設備160B(1)-(N)。服務器105A和105N還連接至SAN光纖網170,該SAN光纖網支持服務器105A和105N以及因此客戶端系統103A-N經由網絡107對存儲設備ISO(I)-(N)的訪問。智能存儲陣列190還被示出為可經由SAN光纖網170訪問的特定存儲設備的例子。在其他實施例中,使用FC或iSCSI (未示出)而不是SAN光纖網170 (或與SAN光纖網170的組合)來實施共享存儲裝置。
[0021]可使用多種不同的聯網技術來提供從客戶端計算機系統103A-N中的每一者到網絡107的連接能力。一些例子包括:LAN、WAN及各種無線技術。客戶端系統103A-N能夠使用例如Web瀏覽器或其他客戶端軟件(未示出)訪問服務器105A或105N上的應用程序和/或數據。這使得客戶端系統103A-N可以通過應用服務器105運行應用程序并且/或者訪問由存儲服務器105或存儲設備160Α(1)-(Ν)、160Β(1)-(Ν)、18(Κ1)-(Ν)中的一者或智能存儲陣列190托管的數據。
[0022]盡管圖1示出三個客戶端103Α-Ν和兩個服務器105Α-Ν作為例子,但在實踐中可部署更多(或更少)的計算機。在一個實施例中,網絡107是互聯網的形式。可在其他實施例中使用其他網絡1