欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

存儲快速路徑的制作方法

文檔序號:11288365閱讀:211來源:國知局
存儲快速路徑的制造方法與工藝

本發(fā)明通常涉及控制資源,更具體地,涉及控制云環(huán)境中的資源,并且特別地,涉及控制包括云環(huán)境中的計算組件、存儲組件和至少一個主機的系統(tǒng)中的計算資源和存儲資源。更詳細地,本發(fā)明涉及用于控制資源的方法、組件實體、系統(tǒng)、計算機程序和信號。



背景技術(shù):

就云計算來說,涉及從物理計算、網(wǎng)絡(luò)和存儲資源抽象出的并且提供對數(shù)據(jù)中心中的存儲資源、網(wǎng)絡(luò)和虛擬計算的共享訪問的計算的類型。其組件(典型地)通過網(wǎng)絡(luò)來連接。換句話說,云計算可以說是指用于使能對可以以最小的努力或服務(wù)生產(chǎn)商交互來快速供給和釋放的可配置資源(包括服務(wù)器、網(wǎng)絡(luò)、存儲、應(yīng)用、服務(wù)中的任何一個或者組合)的共享池的普遍存在的、便利的、按需的網(wǎng)絡(luò)訪問的模型。

云基礎(chǔ)設(shè)施的一部分是存儲。大多數(shù)虛擬機要求存儲以便于執(zhí)行。可以主要通過兩種不同的方式來提供存儲空間:從集中式存儲陣列或者分布在具有某些存儲容量的所有計算刀片上。虛擬化提供對計算資源(cpu、主存儲器)、連網(wǎng)和存儲的抽象訪問。在下面,關(guān)于虛擬機,涉及(虛擬化的)計算資源;因此,創(chuàng)建虛擬機指的是部署或者分配存儲資源和連網(wǎng)資源可以被按需添加(或者關(guān)聯(lián)或者連接)到的一個或多個計算資源。

一個共同部署提供了下列之間的解決方案:具有存儲容量(存儲盤)的每個主機將向云基礎(chǔ)設(shè)施中的任何虛擬機提供那個存儲。然而,每個主機獨立于其余的主機,并且因此應(yīng)當作為多個集中式存儲解決方案來考慮這個體系結(jié)構(gòu)而不應(yīng)當作為分布式存儲來考慮這個體系結(jié)構(gòu)(例如,相同文件的多個部分將不會分布在多個主機上)。

圖8中描繪了主機的存儲體系結(jié)構(gòu)的示例。抽象層(例如lvm840)在邏輯上將不同的本地磁盤850、855的所有物理存儲容量并入一個邏輯池中。由這個邏輯池,可以創(chuàng)建邏輯卷(例如圖8中的820)。經(jīng)由iscsi服務(wù)器將這些卷提供給其它主機(或者提供給在本地計算主機上運行的一個或多個vm)。因此,iscsi服務(wù)器和iscsi客戶機總是在主機內(nèi)部運行。iscsi是使得客戶機(發(fā)起者)能夠通過網(wǎng)絡(luò)與存儲設(shè)備(目標)通信的協(xié)議。它將標準scsi命令封裝進網(wǎng)絡(luò)分組中,因此使得遠程存儲設(shè)備在客戶機處表現(xiàn)為本地塊存儲設(shè)備。

為了編排和管理云基礎(chǔ)設(shè)施,可以使用openstack。openstack是控制遍及數(shù)據(jù)中心的計算資源、存儲資源和連網(wǎng)資源的大池的云操作系統(tǒng)或體系結(jié)構(gòu)。它包括管理特定系統(tǒng)組件或者系統(tǒng)區(qū)域的多個組件。特別地,nova管理計算資源,而cinder管理存儲資源。

更具體地,openstack的nova組件負責管理虛擬機的生存周期。它包括若干子組件,像:nova-api、nova調(diào)度器和nova計算。

openstack的cinder組件負責管理塊存儲卷的生存周期。它由若干子組件組成,包括:cinder-api、cinder調(diào)度器、cinder卷。

圖7示出了這兩個組件的說明性的體系結(jié)構(gòu)。通常,nova-api710、nova調(diào)度器720、cinder-api750和cinder調(diào)度器760可以在集中式控制器類型機器中運行。nova計算730、735在主機當中的每個主機中作為代理來運行,并且在考慮所描述的存儲解決方案時,cinder卷770、775在具有存儲容量(后端)的主機當中的每個主機中作為代理來運行。在部署虛擬機時,承租者將使用novaapi710來請求計算機資源(cpu、存儲器等等),并且使用cinderapi750來請求存儲資源。nova調(diào)度器720選擇最佳主機并且使用相應(yīng)的nova計算代理來部署虛擬機。cinder調(diào)度器760選擇最佳后端,以及使用cinder卷代理來創(chuàng)建存儲卷并且使用iscsi將它連接到虛擬機。

更具體地,分離openstack框架的不同組件(nova和cinder)中的計算資源和存儲資源的管理導致管理操作和調(diào)度決定的分離。特別地,創(chuàng)建虛擬機在要求的前端工具(nova客戶機和cinder客戶機)以及后端處理和調(diào)度操作(nova調(diào)度器/nova計算和cinder調(diào)度器/cinder卷)的兩方面是與分配由這個虛擬機所需要的塊存儲卷無關(guān)的。

由于nova和cinder的獨立管理和調(diào)度操作,虛擬機可能在與分配的塊存儲不同的主機上結(jié)束。結(jié)果,必須借助于網(wǎng)絡(luò)協(xié)議將塊存儲輸出到遠程虛擬機。

作為示例,為了給現(xiàn)有的虛擬機提供持久的塊存儲,三個獨立操作是必要的:使用nova(“nova引導”)來引導虛擬機;使用cinder(“cinder創(chuàng)建”)來分配塊存儲卷;使用nova(“nova卷附加”)來將cinder塊存儲卷附加到虛擬機。在第二步驟中,cinder不知道目標虛擬機。因此cinder調(diào)度器無法確定目標虛擬機的計算主機和在這個主機上分配塊存儲。

作為另外的示例,為了從cinder卷引導虛擬機,兩個獨立操作是必要的:使用cinder(“cinder創(chuàng)建”)來從glance圖像創(chuàng)建cinder卷;使用nova(“nova引導”)、利用塊設(shè)備映射來從所創(chuàng)建的cinder卷引導虛擬機。nova調(diào)度器不會并且目前無法考慮在步驟1中已經(jīng)在其上分配了塊存儲卷的計算主機。

總之,高百分比的云部署使用非常簡單然而有成本效率的存儲后端體系結(jié)構(gòu):使用計算主機中的本地磁盤,而不是專用且昂貴的存儲陣列。結(jié)果,每個計算主機充當小規(guī)模的存儲后端,各自典型地僅包括兩個或三個磁盤。

借助于協(xié)議(例如,典型地iscsi)輸出這個本地存儲,以便于使得遠程主機和虛擬機能夠用掉由存儲主機提供的存儲。這個中間協(xié)議將虛擬機的放置從存儲主機的位置解耦并且使能虛擬機遷移。盡管它的靈活性,這個體系結(jié)構(gòu)具有如本文中所認識到的兩個主要的缺陷或問題。

第一、所有存儲i/o操作總是被封裝進協(xié)議中并且通過網(wǎng)絡(luò)棧被發(fā)送,即使物理存儲和消耗的虛擬機位于相同的計算/存儲主機上。與通過管理程序?qū)⒈镜卮鎯χ苯颖┞督o虛擬機相比,這個封裝增加了性能開銷。

第二、在虛擬化的基礎(chǔ)設(shè)施中獨立處理計算資源和存儲資源。作為這個固有分離的結(jié)果,虛擬基礎(chǔ)設(shè)施的對應(yīng)的資源調(diào)度器不會相互作用并且因此不會優(yōu)化存儲空間和虛擬機相對于彼此的放置。特別地,在虛擬基礎(chǔ)設(shè)施框架openstack中,將虛擬機放置到計算主機上以及為這個虛擬機分配塊存儲卷是兩個完全獨立的資源調(diào)度操作。結(jié)果,虛擬機和對應(yīng)的分配的塊存儲卷可能在分離的計算主機上結(jié)束,從而由于附加的網(wǎng)絡(luò)業(yè)務(wù)導致增加了性能開銷。

因此期望提供克服或者至少減輕上述問題的改進的方法、實體和系統(tǒng)。



技術(shù)實現(xiàn)要素:

通過獨立權(quán)利要求的主題來實現(xiàn)目標。在從屬權(quán)利要求中限定了有利的實施例。為了便于理解本發(fā)明,提供了另外的示例。

根據(jù)本發(fā)明的第一方面,提供了一種用于控制系統(tǒng)中的第一資源和第二資源的方法,所述系統(tǒng)包括云環(huán)境中的第一組件、第二組件和至少一個主機,至少一個主機托管第二資源,第一資源由第一組件管理并且第二資源由第二組件管理,其中在第一組件和第二組件之中,一個包括計算組件并且一個包括存儲組件,在第一資源和第二資源之中,一個是計算資源并且一個是存儲資源,所述方法包括下列步驟:促使第一組件將詢問請求發(fā)送到第二組件,詢問請求包括與第二資源有關(guān)的詢問;促使第二組件將詢問響應(yīng)發(fā)送到第一組件,詢問響應(yīng)包括關(guān)于至少一個主機的信息;基于詢問響應(yīng)促使第一資源和第二資源在單個主機上的協(xié)同定位,單個主機是所述至少一個主機和托管第一資源的另外的主機之中的一個。

根據(jù)本發(fā)明的第二方面,提供了一種用于控制系統(tǒng)中的第一資源和第二資源中的至少一個的組件實體,所述系統(tǒng)包括云環(huán)境中的組件實體、另外的組件實體以及至少一個主機,至少一個主機托管第二資源,第一資源由組件實體管理并且第二資源由另外的組件實體管理,其中在組件實體和另外的組件實體之中,一個包括計算組件實體并且一個包括存儲組件實體,在第一資源和第二資源之中,一個是計算資源并且一個是存儲資源,組件實體包括:發(fā)送部件,所述發(fā)送部件被配置成將詢問請求發(fā)送到另外的組件實體,詢問請求包括與第二資源有關(guān)的詢問;接收部件,所述接收部件被配置成從另外的組件實體接收詢問響應(yīng),詢問響應(yīng)包括關(guān)于至少一個主機的信息;協(xié)同定位部件,所述協(xié)同定位部件被配置成基于詢問響應(yīng)來將第一資源和第二資源定位在單個主機上,單個主機是所述至少一個主機和托管第一資源的另外的主機之中的一個。

根據(jù)本發(fā)明的第三方面,提供了一種用于控制第一資源和第二資源的系統(tǒng),所述系統(tǒng)包括云環(huán)境中的第一組件、第二組件和至少一個主機,其中第一組件和第二組件中的至少一個包括根據(jù)本發(fā)明的第二方面的實體。

根據(jù)本發(fā)明的第四方面,提供了一種用于控制第一資源和第二資源的系統(tǒng),所述系統(tǒng)包括云環(huán)境中的第一組件、第二組件和至少一個主機,至少一個主機托管第二資源,第一資源由第一組件管理并且第二資源由第二組件管理,其中在第一組件和第二組件之中,一個是計算組件并且一個是存儲組件,在第一資源和第二資源之中,一個是計算資源并且一個是存儲資源,以及其中第一組件被配置成將詢問請求發(fā)送到第二組件,詢問請求包括與第二資源有關(guān)的詢問;第二組件被配置成將詢問響應(yīng)發(fā)送到第一組件,詢問響應(yīng)包括關(guān)于至少一個主機的信息;第一組件和第二組件中的至少一個被配置成基于詢問響應(yīng)來將第一資源以及分別地將第二資源定位在單個主機上,單個主機是所述至少一個主機和托管第一資源的另外的主機之中的一個。

根據(jù)本發(fā)明的第五方面,提供了一種用于控制系統(tǒng)中的第一資源和第二資源的程序,所述系統(tǒng)包括云環(huán)境中的第一組件、第二組件和至少一個主機,至少一個主機托管第二資源,第一資源由第一組件管理并且第二資源由第二組件管理,其中在第一組件和第二組件之中,一個包括計算組件并且一個包括存儲組件,在第一資源和第二資源之中,一個是計算資源并且一個是存儲資源,程序被配置成當在計算機上執(zhí)行所述程序時執(zhí)行根據(jù)是根據(jù)本發(fā)明的第一方面的方法的所有步驟。

根據(jù)本發(fā)明的第六方面,提供了一種攜帶數(shù)據(jù)結(jié)構(gòu)的信號,所述信號在管理第一資源的第一組件(310)和管理第二資源的第二組件(320)之間被交換,其中第一組件(310)、第二組件(329)和托管第二資源的主機被包括在云環(huán)境中,其中在第一組件和第二組件之中,一個包括計算組件并且一個包括存儲組件,并且其中在第一資源和第二資源之中,一個是計算資源并且一個是存儲資源。數(shù)據(jù)結(jié)構(gòu)包括關(guān)于第一資源和第二資源在單個主機上的協(xié)同定位的信息,單個主機是所述至少一個主機和托管第一資源的另外的主機(340)之中的一個。

根據(jù)本發(fā)明的第七方面,提供了一種用于控制系統(tǒng)中的第一資源和第二資源中的至少一個的方法,所述系統(tǒng)包括云環(huán)境中的組件實體、另外的組件實體以及至少一個主機,至少一個主機托管第二資源,第一資源由組件實體管理并且第二資源由另外的組件實體管理,其中在組件實體和另外的組件實體之中,一個包括計算組件實體并且一個包括存儲組件實體,在第一資源和第二資源之中,一個是計算資源并且一個是存儲資源。根據(jù)這個方面的方法包括下列步驟:在組件實體處促使將詢問請求發(fā)送到另外的組件實體,詢問請求包括與第二資源有關(guān)的詢問;在組件實體處促使接收來自另外的組件實體的詢問響應(yīng),詢問響應(yīng)包括關(guān)于至少一個主機的信息;基于詢問響應(yīng)促使執(zhí)行第一資源和第二資源在單個主機上的協(xié)同定位,單個主機是所述至少一個主機和托管第一資源的另外的主機(340)之中的一個。

附圖說明

圖1說明了根據(jù)本發(fā)明的第一實施例的方法的流程圖。

圖2說明了根據(jù)本發(fā)明的第二實施例的組件實體。

圖3說明了根據(jù)本發(fā)明的第三和第四實施例的系統(tǒng)。

圖4說明了根據(jù)第一實施例的實現(xiàn)的示例的方法的流程圖。

圖5說明了根據(jù)第一實施例的實現(xiàn)的示例的方法的流程圖。

圖6說明了根據(jù)第一實施例的實現(xiàn)的示例的方法的流程圖。

圖7說明了nova和cinder的示范的體系結(jié)構(gòu)。

圖8說明了示出如何從主機提供本地存儲的體系結(jié)構(gòu)。

圖9說明了當存儲是本地的時的體系結(jié)構(gòu)。

圖10說明了本發(fā)明的示例,其中nova和cinder體系結(jié)構(gòu)配備有接口。

圖11說明了根據(jù)本發(fā)明的第七實施例的方法的流程圖。

圖12說明了能夠執(zhí)行本文中所描述的方法步驟中的任何一個方法步驟的說明布置。

具體實施方式

現(xiàn)在將通過參考附圖與特定實施例一起來描述本發(fā)明。然而,值得注意的是,這些特定實施例以及說明性附圖用來給技術(shù)人員提供本發(fā)明的更好的理解,但是不是用來以任何方式限制由獨立權(quán)利要求限定的本發(fā)明的范圍的。

現(xiàn)在將參考圖1來描述根據(jù)本發(fā)明的第一實施例的方法。根據(jù)第一實施例的方法是用于控制像稍后描述的圖3的系統(tǒng)(300)的系統(tǒng)中的第一資源和第二資源的。系統(tǒng)包括第一組件310、第二組件320和至少一個主機330并且在云環(huán)境中操作。在這個實施例中,至少一個主機托管第二資源,即第二資源被分配給至少一個主機。主機可以是被連接到計算機網(wǎng)絡(luò)的計算機或計算設(shè)備(像服務(wù)器、服務(wù)器刀片等等……)并且可以包括計算主機h和/或存儲主機s。主機可以管理任務(wù)、傳遞或執(zhí)行指令、將特定服務(wù)交付給其它連網(wǎng)的計算機或計算設(shè)備。最經(jīng)常地,充當主機的計算機允許其它計算設(shè)備訪問并運行特定的軟件應(yīng)用。

在這個上下文中,控制指在資源上執(zhí)行的操作并且包括將新的資源分配給已經(jīng)托管其它資源的主機(還參見稍后參考圖4和圖6描述的示例)或者重新配置兩個資源中的一個資源以使得兩者在相同的主機上被托管(還參見稍后參考圖5描述的示例)。

第一資源由第一組件管理并且第二資源由第二組件管理。在第一組件和第二組件之中,一個包括計算組件并且一個包括存儲組件,即一個包括計算機組件并且另一個包括存儲組件。在同樣稍后描述的一個示例中,第一和第二組件可以分別是nova和cinder,或者是分別包括在nova和cinder中的實體,或者是分別包括nova和cinder的對應(yīng)的實體(然而,本發(fā)明不限于cinder和nova,因為可以使用其它組件,只要它們能夠處理計算和/或存儲資源)。在第一資源和第二資源之中,一個是計算資源并且一個是存儲資源,即一個包括計算資源并且另一個是存儲資源。在一個示例中,計算資源可以是能夠處理或執(zhí)行虛擬機的資源,并且存儲資源可以是塊存儲卷,例如cinder卷。在一個示例中,當?shù)谝唤M件包括存儲組件時,第一資源包括存儲資源。在這個示例中,第二組件包括計算組件并且第二資源包括計算資源。

方法包括促使第一組件將詢問請求發(fā)送到第二組件的步驟s100,詢問請求包括與第二資源有關(guān)的詢問。在這里,促使的動作指第一組件內(nèi)的促使發(fā)送的單元或軟件元件(例如指示發(fā)送的處理器或軟件模塊);它還可以或者備選地指促使(例如在觸發(fā)的意義上)通過第一組件來發(fā)送的外部元件或設(shè)備(例如指示或發(fā)起發(fā)送的管理設(shè)備、數(shù)據(jù)中心、承租者、管理員)。

在一個示例中,詢問可以被視為請求或訊問并且可以包括關(guān)于用于識別托管第二資源的主機的信息的詢問。用于識別主機的信息可以指主機的id、主機的地址、關(guān)于主機位置的信息、或者關(guān)于主機容量的信息,例如用來托管另一資源的或者在其上它能夠處理它的資源的主機的容量。通常,用于識別主機的信息可以指使得其它設(shè)備能夠確定并識別所述主機的信息(例如,主機的id、地址等等……)。第一組件可以直接聯(lián)系主機(例如,基于主機的id、地址等等……)并且接收關(guān)于是否可以托管另一資源的響應(yīng);或者第二組件可以直接詢問主機(例如因為它知道id、地址等等……)并且以主機的id和/或主機的容量來響應(yīng)。此外,在它已經(jīng)知道它的容量的情況下(例如,因為它已經(jīng)超高速緩存了這樣的信息),第二組件可以直接響應(yīng),而不會訊問主機。

方法進一步包括促使第二組件將詢問響應(yīng)發(fā)送到第一組件的步驟s110,詢問響應(yīng)包括關(guān)于至少一個主機的信息。這樣的詢問響應(yīng)是對詢問請求的補充,即它包括例如關(guān)于主機的信息,所述關(guān)于主機的信息包括主機id和/或主機地址和/或id位置等等。通常,它包括用于定位或者識別主機的任何信息。

方法進一步包括基于詢問響應(yīng)促使第一資源和第二資源在單個主機上的協(xié)同定位的步驟s120,單個主機是所述至少一個主機和托管第一資源的另外的主機340之中的一個。在這里,第一資源和第二資源在單個主機上的協(xié)同定位包括在其中建立另一資源的主機上建立資源(參見例如圖4和圖6)或者重新配置資源中的一個資源使得兩者在相同的主機上(參見例如圖5)。

可以基于至少一個主機(已經(jīng)托管第二資源)是否還可以容納第一資源來執(zhí)行協(xié)同定位。更具體地,詢問響應(yīng)可以包括關(guān)于至少一個主機的容量的信息。即,一旦第一組件接收到包括關(guān)于至少一個主機的信息的詢問響應(yīng),第一組件可以檢查至少一個主機(已經(jīng)托管第二資源)是否還可以容納第一資源。然而,正如所預期的,響應(yīng)還可以或者備選地包括用于識別主機的信息,使得第一組件可以詢問主機是否它能夠托管另一資源以便于執(zhí)行協(xié)同定位。參考所述促使或步驟s110、s120,相同的考慮因素如參考步驟s100所示出的那樣適用,特別地,所述促使可以通過相應(yīng)的設(shè)備內(nèi)的單元和/或軟件模塊來生成或者從外部設(shè)備來生成。

結(jié)果,第一和第二組件可以共同做出調(diào)度決定,從而允許在相同主機上分配第一和第二資源。在一個示例中,第一和第二組件可以包括協(xié)調(diào)功能(參見圖10中的1025和1065,這將在下面被解釋),所述協(xié)調(diào)功能在被執(zhí)行時是關(guān)聯(lián)放置或者促使計算資源和存儲資源的協(xié)同定位的示例。更具體地,每個組件的協(xié)調(diào)功能可以經(jīng)由接口功能(參見例如稍后還作為允許詢問和詢問響應(yīng)的發(fā)送和接收的功能的示例描述的圖10中的接口1080)彼此通信。存儲資源和計算資源在相同主機上的協(xié)同定位導致更快的資源分配(存儲快速路徑),即,相對于傳統(tǒng)技術(shù),通過更短且更快的路徑附加存儲資源和計算資源。在同樣稍后描述的一個示例中,cinder卷的塊設(shè)備通過管理程序并且不會借助于協(xié)議棧和iscsi協(xié)議被直接附加到虛擬機,所以i/o操作采用更短且更快的路徑。實際上,正如由發(fā)明人所認識到的,由像iscsi的網(wǎng)絡(luò)協(xié)議要求的封裝增加了性能開銷;因此違反這樣的常用的解決方案以便將虛擬機和分配的存儲置于相同的計算和存儲主機上是有利的。在所說明的示例中,因此,cinder調(diào)度器和nova調(diào)度器被配置以便傳遞并且以便做出關(guān)于在何處部署虛擬機以及在何處分配塊存儲的共同決定。就部署虛擬機來說,涉及一個或多個計算資源的部署或者實例化以用于虛擬機的創(chuàng)建或者初始化。像存儲資源的其它資源還可以接著被關(guān)聯(lián)到vm。

根據(jù)第一實施例的可選的實現(xiàn),促使第一組件發(fā)送詢問的步驟包括促使響應(yīng)于用來部署或者重新配置第一資源和第二資源中的至少一個的請求來發(fā)送詢問。

根據(jù)第一實施例的另外的可選的實現(xiàn),方法包括在第一資源和第二資源之間建立直接連接的步驟,直接連接包括主機的本地(或者被限制的、在主機內(nèi))的連接。直接連接指例如管理存儲資源的管理組件(例如管理程序),所述管理組件直接在主機上(或者在主機的本地)并且不是通過網(wǎng)絡(luò)棧(例如借助于iscsi)訪問塊存儲卷/設(shè)備??赡艿闹苯訅K存儲設(shè)備可以是其中物理磁盤、邏輯lvm卷、磁盤映像。

根據(jù)第一實施例的另外的可選的實現(xiàn),在第一資源和第二資源之間建立直接連接包括在第一資源和第二資源之間建立物理相關(guān)。在這里,建立物理相關(guān)意味著計算資源(例如nova,并且更具體地,nova計算)直接將存儲資源附加到相同主機內(nèi)(在相同主機的本地)的計算資源,而無需借助于網(wǎng)絡(luò)連接。在一個示例中,nova計算可以直接地并且不會例如借助于iscsi將cinder卷的塊設(shè)備附加到虛擬機。

根據(jù)另外的可選的實現(xiàn),第一實施例的方法可以進一步被應(yīng)用于下列情況:其中第一組件包括存儲組件并且第二組件包括計算組件,第一資源是存儲資源并且第二資源是計算資源。此外,促使協(xié)同定位的步驟包括基于所述詢問響應(yīng)在所述至少一個主機上分配新的存儲資源。詢問響應(yīng)包括關(guān)于托管計算資源的至少一個主機的信息。

現(xiàn)在將參考圖4來描述第一實施例的這個實現(xiàn)的一個示例。圖4涉及為現(xiàn)有的虛擬機創(chuàng)建塊存儲卷。在這個示例中,承租者打算利用(附加的)塊存儲卷來擴展現(xiàn)有的虛擬機(盡管相同的考慮因素適用于第一次添加存儲卷的情況)。在這個示例中,在通過將一個或多個計算資源分配給現(xiàn)有的虛擬機已經(jīng)創(chuàng)建了現(xiàn)有的虛擬機的意義上,已經(jīng)部署了現(xiàn)有的虛擬機;同時或者此后,vm也可以已經(jīng)被關(guān)聯(lián)到(現(xiàn)有的)存儲資源。因此,承租者需要在正常的openstack環(huán)境中執(zhí)行兩個分離的操作:第一、承租者借助于cinder創(chuàng)建新的塊存儲卷。第二、承租者通過nova將新的卷附加到特定的虛擬機。

基于新的塊存儲卷打算供特定的虛擬機使用的事實,這個示例的解決方案是兩部分的:擴展cinder-api的接口使得“創(chuàng)建”命令接受用于指定目標虛擬機的通用唯一識別符(uuid)的選項;將新的調(diào)度算法(協(xié)調(diào)功能(例如圖10中的1025和1065)的一部分)添加到旨在協(xié)同定位新的塊存儲卷和目標虛擬機的cinder調(diào)度器。在下面描述的圖4中說明的算法1的框圖中示出了算法。調(diào)度算法是促使第一實施例中描述的協(xié)同定位的算法的說明性示例;因此,協(xié)調(diào)功能是促使這樣的協(xié)同定位(在示例中,借助于包括在其中的算法)的功能的示例。

首先,在步驟s401,承租者通過將虛擬機的id提供給cinder-api(在它已經(jīng)為設(shè)備所知的情況下,例如因為設(shè)備已經(jīng)超高速緩存它,或者因為設(shè)備可以從另一個設(shè)備(例如那些id的寄存器或者數(shù)據(jù)庫)獲得id,id不需要被必需發(fā)送)來為現(xiàn)有的虛擬機請求新的cinder卷。接下來,在步驟s402,cinder-api聯(lián)系cinder調(diào)度器。在步驟s403,cinder調(diào)度器聯(lián)系nova調(diào)度器以獲得虛擬機的計算主機h。因此,步驟s403表示圖1的步驟s100的示例(注意可以通過請求新的cinder卷的承租者、通過做出對應(yīng)請求的實體來促使步驟s403,或者通過被配置成促使這樣的步驟的模塊、硬件和/或軟件來促使步驟s403)。在步驟s404,nova調(diào)度器提供計算主機h。因此,步驟s404表示圖1的步驟s110的示例。接下來,在步驟s405,cinder調(diào)度器檢查足夠的本地存儲空間在計算主機h上是否是可利用的。如果在步驟s405確定足夠的本地存儲空間在計算主機h上是可利用的,則執(zhí)行步驟s406。在步驟s406,cinder調(diào)度器在計算主機h上部署卷。因此,步驟s406表示圖1的步驟s120的示例。接下來,在步驟s407,nova計算直接將cinder卷的塊設(shè)備附加到虛擬機并且過程結(jié)束。如果在步驟s405確定在計算主機h上沒有足夠的本地存儲空間是可利用的,則執(zhí)行步驟s411。在步驟s411,cinder調(diào)度器檢查是否請求卷和虛擬機的親和力。

反親和力以及親和力是由用戶或者由云管理員規(guī)定的、在做出決定時限制調(diào)度器選項的規(guī)則。這個限制被典型地推斷:例如,如果應(yīng)用是用兩個虛擬機的群集創(chuàng)建的,則期望每個虛擬機在不同的計算主機中結(jié)束使得一個主機的崩潰將僅僅導致一個虛擬機的崩潰,但是不會導致兩個虛擬機的崩潰。在這個示例中,反親和力規(guī)則可以被添加到nova調(diào)度器,規(guī)則規(guī)定這兩個虛擬機總是需要被部署在兩個不同的計算主機中。親和力或反親和力規(guī)則可以存在于nova和cinder調(diào)度器兩者中。在本文中所說明的流程圖中(參見例如圖1,圖4至圖6),當觸發(fā)了虛擬機的遷移或卷的遷移時,可以檢查任何親和力或反親和力規(guī)則未被違反。這將防止虛擬機或者卷被遷移。

此外,如果在步驟s411確定請求卷和虛擬機的親和力,則執(zhí)行步驟s412。在步驟s412,cinder調(diào)度器請求將虛擬機遷移至目標計算主機。接下來,在步驟s413,nova調(diào)度器檢查遷移是否是不可能的。如果在步驟s413確定遷移是可能的,則執(zhí)行步驟s408。在步驟s408,nova調(diào)度器將虛擬機遷移至計算主機h'。因此,步驟s408是促使計算和存儲資源的協(xié)同定位的另外的示例。接下來,執(zhí)行步驟s407并且過程結(jié)束。另一方面,如果步驟s413確定遷移是不可能的,則執(zhí)行步驟s410。在步驟s410,cinder調(diào)度器在提供充足的存儲空間的另一個計算主機上部署卷。接下來,在步驟s409,nova計算從遠程存儲主機借助于iscsi附加卷并且過程結(jié)束。

另一方面,如果在步驟s411確定不請求卷和虛擬機的親和力,則執(zhí)行步驟s410和s409并且接著過程結(jié)束。

在協(xié)調(diào)功能(參見例如圖10中的1025和1065)已經(jīng)完成資源調(diào)度和分配過程之后,nova計算將存儲卷附加到對應(yīng)的虛擬機。這個步驟表示如參考第一實施例的可選的實現(xiàn)所解釋的、在資源之間建立物理相關(guān)的步驟的示例。為了完成這個操作,它利用由cinder提供的、指定nova計算應(yīng)當如何訪問塊設(shè)備(iscsi、在本地、群集等等)的卷連接信息。在不具有存儲快速路徑的openstack環(huán)境中,這典型地對應(yīng)于iscsi目標ip和lun(邏輯單元號)。正如上面所說明的,通過快速存儲路徑,它意味著資源之間的直接連接(在主機的本地的連接的意義上);例如,在卷直接附加到vm(即,直接通過管理程序并且不借助于協(xié)議棧和iscsi協(xié)議)的情況下,i/o操作采用更短且更快的路徑,并且因此導致快速路徑(在與經(jīng)由網(wǎng)絡(luò)的資源之間的連接相比更快的意義上)。因為協(xié)調(diào)功能知道存儲卷和目標虛擬機是否被定位在相同主機上的事實,它可以因此編碼連接信息。具體地,如果協(xié)同定位存儲卷和虛擬機,則連接信息包括本地lvm卷(例如圖8中的840),而在未協(xié)同定位存儲卷和虛擬機的情況下,連接信息包括iscsi目標ip和lun。nova計算可以透明地利用給定的信息來或者直接附加存儲卷或者使用遠程iscsi連接。

根據(jù)可選的實現(xiàn),第一實施例的方法可以進一步被應(yīng)用于其中促使協(xié)同定位的步驟包括重新配置第一資源和第二資源中的至少一個使得在單個主機上托管第一資源和第二資源兩者的情況。在這種情況下,具有第二主機id的詢問響應(yīng)在已經(jīng)知道第一主機id的第一組件處是有用的。組件可以接著評估它是否可以在另一主機上配置它的資源或者詢問另一組件以重新配置它的資源。

在這里,重新配置可以包括資源的重新配置和附加方法或連接方法的重新配置。更詳細地,重新配置資源包括將它的位置從一個主機重新配置到另一個主機;例如,或者計算資源或者存儲資源可以在托管另一資源的主機上被遷移,使得兩個資源都被定位在相同主機上。此外,重新配置附加方法包括從遠程到直接或者反之亦然地重新配置附加或連接方法。例如,當兩個資源都被定位在相同主機上時,可以從遠程(例如借助于iscsi)到直接(例如在相同主機的本地,沒有iscsi)重新配置資源之間的連接。在更具體的示例中,虛擬機或塊存儲卷可以被遷移,以便于被協(xié)同定位在相同主機上,并且當它們被協(xié)同定位在相同主機上時,從遠程到直接重新配置附加方法。即,當資源被定位在相同主機上時,nova可以直接將塊設(shè)備附加到虛擬機。

現(xiàn)在將參考圖5來描述第一實施例的這個實現(xiàn)的一個示例。在這個示例中,承租者打算將現(xiàn)有的塊存儲卷附加到現(xiàn)有的虛擬機。先前沒有為目標vm特別創(chuàng)建塊存儲卷。因此,vm和塊存儲卷可以被定位在不同的計算主機上(類似的考慮因素在vm和/或塊存儲卷剛剛被創(chuàng)建或初始化或者自它們的初始化以來的一段時間已經(jīng)在操作中的地方適用)。

這個示例的解決方案包括利用包括在新的協(xié)調(diào)功能(圖10中的1025、1065)中的新的調(diào)度算法來協(xié)同定位新的塊存儲卷和目標虛擬機。當基于cinder調(diào)度考慮系統(tǒng)時,對于說明性的解決方案包括旨在協(xié)同定位新的塊存儲卷和目標虛擬機的修改的cinder調(diào)度器。說明性的示例在圖5中所說明的算法2的框圖中被示出并且在下面被描述。

在步驟s501,承租者使用nova將cinder卷附加到虛擬機(在重新配置示例中,已經(jīng)附加了所有資源,即所有資源已經(jīng)在適當?shù)奈恢茫?。接下來,在步驟s502,nova計算向cinder調(diào)度器詢問cinder卷的位置(注意這表示上述的步驟s110的示例,因為它請求與存儲資源有關(guān)的信息)。在步驟s503,nova計算檢查虛擬機的計算主機和cinder卷的存儲主機是否不同(注意步驟隱含地包括或者暗示發(fā)送關(guān)于第二主機(即關(guān)于托管cinder卷的主機)的響應(yīng))。如果在步驟s503確定虛擬機的計算主機和cinder卷的存儲主機并無不同(即兩者已經(jīng)被協(xié)同定位),則執(zhí)行步驟s506。在步驟s506,nova計算直接將cinder卷的塊設(shè)備附加到虛擬機并且過程結(jié)束。另一方面,如果在步驟s503確定虛擬機的計算主機和cinder卷的存儲主機不同(即資源被定位在不同主機上或者未被協(xié)同定位),則執(zhí)行步驟s504。在步驟s504,nova計算檢查虛擬機遷移是否是可能的。如果在步驟s504確定虛擬機遷移是可能的,則執(zhí)行步驟s505。在步驟s505,nova計算將虛擬機遷移至存儲主機s(即這個遷移是協(xié)同定位的示例)。接下來,執(zhí)行s506并且過程結(jié)束。如果在步驟s504確定虛擬機遷移是不可能的,則執(zhí)行步驟s508。在步驟s508,cinder調(diào)度器檢查是否可以將卷遷移至計算主機h。如果在步驟s508確定無法將卷遷移至計算主機h,則執(zhí)行步驟s507。在步驟s507,nova計算從遠程存儲主機借助于iscsi附加卷并且過程結(jié)束。如果在步驟s508確定可以將卷遷移至計算主機h,則執(zhí)行步驟s509。在步驟s509,cinder調(diào)度器將cinder卷遷移至計算主機h(即這是協(xié)同定位的另外的示例)。接下來,執(zhí)行步驟s506并且過程結(jié)束。因此,可以重新配置資源的位置以便于獲得協(xié)同定位;相反,在資源已經(jīng)被協(xié)同定位的情況下,可以將附加方法從遠程改變到直接。

根據(jù)可選的實現(xiàn),第一實施例的方法可以進一步被應(yīng)用于其中第一組件包括計算組件并且第二組件包括存儲組件、第一資源是計算資源并且第二資源是存儲資源的情況。在這里,存儲資源可剛剛被創(chuàng)建(或初始化),或者可已經(jīng)被創(chuàng)建和利用了很長時間。此外,促使協(xié)同定位的步驟包括基于包括關(guān)于托管存儲資源的至少一個主機的信息的所述詢問響應(yīng)來在至少所述單個主機上分配新的計算資源。

現(xiàn)在將參考圖6來描述第一實施例的這個實現(xiàn)的一個示例。在這個示例中,承租者打算創(chuàng)建塊存儲卷并且從塊存儲卷引導虛擬機。這在正常的openstack環(huán)境中涉及兩個步驟:第一步驟包括通過cinder從glance圖像創(chuàng)建卷(glance是openstack映像服務(wù),其提供發(fā)現(xiàn)、注冊和交付服務(wù))。第二步驟包括通過nova從塊存儲卷引導虛擬機。

這個情況的說明性的解決方案包括促使新的塊存儲和目標虛擬機的協(xié)同定位的新的調(diào)度算法,調(diào)度可選地(在這個示例中)是新的協(xié)調(diào)功能的一部分。此外,在具體的示例中,算法和/或功能可以被包括在cinder調(diào)度器中,其旨在協(xié)同定位新的塊存儲卷和目標虛擬機。算法在圖6中說明的算法3的框圖中被示出并且在下面被描述。

在步驟s601,承租者請求新的虛擬機,所述新的虛擬機將使用nova從現(xiàn)有的cinder卷引導。在步驟s602,nova調(diào)度器通過協(xié)調(diào)功能來向cinder調(diào)度器詢問cinder卷的位置(這表示圖1的步驟s100的示例,其中調(diào)度器或者外部設(shè)備可以是促使請求的發(fā)送的那些)。在步驟s603,cinder調(diào)度器提供cinder卷的位置(即這個步驟表示圖1的步驟s110的示例)。在步驟s604,nova檢查虛擬機是否可以在相同位置引導。如果在步驟s604確定虛擬機無法在相同位置引導,則執(zhí)行步驟s605。在步驟s605,nova選擇nova計算主機來部署虛擬機并且開始圖5的算法2。如果在步驟s604確定虛擬機可以在相同的位置引導,則執(zhí)行步驟s606。在步驟s606,nova在計算主機中部署虛擬機(即它執(zhí)行協(xié)同定位的示例)。接下來,在步驟s607,直接將cinder卷的塊設(shè)備附加到虛擬機。盡管在這個示例中,由nova執(zhí)行附加,但是本發(fā)明不限于此。

接下來,將參考圖2來描述根據(jù)本發(fā)明的第二實施例的組件實體。根據(jù)第二實施例的組件實體用于控制系統(tǒng)中的第一資源和第二資源中的至少一個,所述系統(tǒng)包括云環(huán)境中組件實體、另外的組件實體和至少一個主機。特別地,組件實體可以是硬件和/或軟件設(shè)備,還分布在不同的單元中。組件實體可以通過圖10的新的“協(xié)調(diào)功能”1025和/或1065來體現(xiàn),或者它可以是包括“協(xié)調(diào)功能”1025和/或1065的整個組件。此外,在包括在實體中的塊之間示出的連接僅僅是說明性的;實際上,其它連接也是可能的,例如通過總線。關(guān)于根據(jù)第一實施例的方法的討論同樣適用于根據(jù)第二實施例的組件實體,并且因此將被省略。

正如上面所描述的,至少一個主機托管第二資源。此外,第一資源由組件實體管理并且第二資源由另外的組件實體管理。在組件實體和另外的組件實體之中,一個包括計算組件實體并且一個包括存儲組件實體。此外,在第一資源和第二資源之中,一個是計算資源并且一個是存儲資源。

組件實體包括發(fā)送部件210,所述發(fā)送部件210被配置成將詢問請求發(fā)送到另外的組件實體。詢問請求包括與第二資源有關(guān)的詢問。在一個示例中,發(fā)送部件可以由被配置成發(fā)送的發(fā)送組件替代。

組件實體進一步包括接收部件220,所述接收部件220被配置成從另外的組件實體接收詢問響應(yīng),其中詢問響應(yīng)包括關(guān)于至少一個主機的信息。在一個示例中,接收部件可以由被配置成接收的接收組件替代。

此外,組件實體包括協(xié)同定位部件230,所述協(xié)同定位部件230被配置成基于詢問響應(yīng)來將第一資源和第二資源定位在單個主機上。單個主機是所述至少一個主機和托管第一資源的另外的主機之中的一個。在一個示例中,協(xié)同定位部件可以由被配置成執(zhí)行資源的協(xié)同定位的協(xié)同定位組件替代。

根據(jù)第二實施例的可選的實現(xiàn),發(fā)送部件進一步被配置成響應(yīng)于用來部署(即分配)或者重新分配第一資源和第二資源中的至少一個的請求而發(fā)送詢問。

根據(jù)第二實施例的另外的可選的實現(xiàn),根據(jù)第一實施例的組件實體進一步包括相關(guān)部件,所述相關(guān)部件被配置成在第一資源和第二資源之間建立物理相關(guān)。

根據(jù)第二實施例的另一個可選的實現(xiàn),組件實體包括存儲組件,并且另外的組件實體包括計算組件。第二實施例的這個實現(xiàn)可以對應(yīng)于關(guān)于圖4所描述的第一實施例的方法。在這里,第一資源是存儲資源并且第二資源是計算資源。另外,協(xié)同定位部件進一步被配置成基于包括關(guān)于托管計算資源的至少一個主機的信息的所述詢問響應(yīng)來在所述至少一個主機上分配新的存儲資源。

根據(jù)第二實施例的另外的可選的實現(xiàn),在根據(jù)第一實施例的組件實體中,協(xié)同定位部件適于重新配置第一資源和第二資源中的至少一個,使得在所述單個主機上托管第一資源和第二資源兩者。第二實施例的這個實現(xiàn)可以對應(yīng)于關(guān)于圖5所描述的第一實施例的方法。

根據(jù)第二實施例的另一個可選的實現(xiàn),組件實體包括計算組件并且另外的組件實體包括存儲組件。在這里,第一資源是計算資源并且第二資源是存儲資源。另外,協(xié)同定位部件進一步被配置成基于包括關(guān)于托管存儲資源的至少一個主機的信息的詢問響應(yīng)來在至少單個主機上分配新的計算資源。第二實施例的這個實現(xiàn)可以對應(yīng)于關(guān)于圖6所描述的第一實施例的方法。例如,可以以包括下列項中的一個或多個項的布置來實現(xiàn)組件實體:處理器或微處理器、適當?shù)能浖陀糜诖鎯浖拇鎯ζ鳌⒖删幊踢壿嬈骷╬ld)、或者被配置成執(zhí)行上述動作的處理電路或者一個或多個其它電子組件,并且所述布置例如在圖12中被說明。更詳細地,圖12說明了這樣的布置的示范結(jié)構(gòu)。正如所說明的,布置可以包括用于例如通過網(wǎng)絡(luò)來與一個或多個其它布置通信的接口單元1210,以及用于執(zhí)行指令的處理器(或多個處理器)1220。此外,布置包括用于存儲指令和/或與指令有關(guān)的數(shù)據(jù)的存儲器1230(或任何合適種類的多個存儲器)。可以通過一個或多個程序代碼模塊來表示指令。存儲器560可以包括只讀存儲器(rom)(例如,閃速rom)、隨機存取存儲器(ram)(例如,動態(tài)ram(dram)或靜態(tài)ram(sram))、大容量存儲裝置(例如硬盤或固態(tài)盤)等等。在一個示例中,處理器、存儲器和接口通常是硬件組件,具有促使布置根據(jù)上面的方法或者根據(jù)上面的組件實體來運行的指令。在另一個示例中,布置包括定制的處理器、存儲器和接口中的一個或多個,其與特定指令結(jié)合促使布置根據(jù)上面的方法或者根據(jù)上面的組件實體來運行。

將會理解,如在圖12中說明的結(jié)構(gòu)僅僅是示意性的并且布置實際上可以包括另外的組件(為了清楚起見,沒有說明所述另外的組件),例如另外的接口或處理器。同樣地,將會理解,存儲器可以包括另外類型的指令或程序代碼模塊(其沒有被說明),例如用于實現(xiàn)服務(wù)器或網(wǎng)絡(luò)節(jié)點的例如已知功能性的程序代碼模塊。根據(jù)某些實施例,還可以提供用于實現(xiàn)實體(或者方法的對應(yīng)步驟)的功能性的計算機程序,例如以存儲將要被存儲在存儲器中的程序代碼和/或其它數(shù)據(jù)的物理介質(zhì)的形式,或者通過使程序代碼可用于下載,或者通過流式傳輸。

此外,現(xiàn)在將參考圖3來描述根據(jù)本發(fā)明的第三實施例的系統(tǒng)。根據(jù)第三實施例的系統(tǒng)用于控制第一資源和第二資源。系統(tǒng)300包括云環(huán)境中的第一組件310、第二組件320和至少一個主機330。在這里,第一組件和第二組件中的至少一個包括根據(jù)上述第二實施例的實體。

接下來,現(xiàn)在將參考圖3來描述根據(jù)本發(fā)明的第四實施例的系統(tǒng)。根據(jù)第四實施例的系統(tǒng)用于控制第一資源和的第二資源。系統(tǒng)300包括云環(huán)境中的第一組件310、第二組件320和至少一個主機330。在這里,至少一個主機托管第二資源。此外,第一資源由第一組件管理并且第二資源由第二組件管理,其中在第一組件和第二組件之中,一個是計算組件并且一個是存儲組件。此外,在第一資源和第二資源之中,一個是計算資源并且一個是存儲資源。

在根據(jù)第四實施例的系統(tǒng)中,第一組件被配置成將詢問請求發(fā)送到第二組件,其中詢問請求包括與第二資源有關(guān)的詢問。此外,第二組件被配置成將詢問響應(yīng)發(fā)送到第一組件,其中詢問響應(yīng)包括關(guān)于至少一個主機的信息。另外,第一組件和第二組件中的至少一個被配置成基于詢問響應(yīng)而將第一資源以及分別地第二資源定位在單個主機上,單個主機是所述至少一個主機和托管第一資源的另外的主機340之中的一個。即,一個組件可以在單個主機上分配資源,或者重新配置它使得它在單個主機上被執(zhí)行。

此外,現(xiàn)在將描述根據(jù)本發(fā)明的第五實施例的程序。根據(jù)第五實施例的程序用于控制系統(tǒng)中的第一資源和第二資源。系統(tǒng)300包括云環(huán)境中的第一組件310、第二組件320和至少一個主機330。在這里,至少一個主機托管第二資源。此外,第一資源由第一組件管理并且第二資源由第二組件管理,在第一組件和第二組件之中,一個包括計算組件并且一個包括存儲組件。此外,在第一資源和第二資源之中,一個是計算資源并且一個是存儲資源。程序被配置成當在計算機上執(zhí)行所述程序時執(zhí)行根據(jù)是根據(jù)第一實施例以及可選地它的可選的實現(xiàn)的方法的步驟。

此外,現(xiàn)在將描述根據(jù)第六實施例的攜帶數(shù)據(jù)結(jié)構(gòu)的信號。上面做出的考慮因素也適用于本實施例并且因此被省略。在管理第一資源的第一組件(310)和管理第二資源的第二組件(320)之間交換這樣的信號,其中第一組件(310)、第二組件(329)和托管第二資源的主機被包括在云環(huán)境中。第一組件和第二組件中的一個包括計算組件并且另一個包括存儲組件。此外,第一資源和第二資源之中的一個是計算資源并且另一個是存儲資源。數(shù)據(jù)結(jié)構(gòu)包括關(guān)于第一資源和第二資源在單個主機上協(xié)同定位的信息,單個主機是至少一個主機和托管第一資源的另外的主機(340)之中的一個。這里描述的信號的示例通過攜帶上面所說明的“創(chuàng)建”命令的信號來提供。此外,信號的示例通過如在圖10中所描繪的nova和cinder之間交換的信號來提供。此外,nova和cinder(1080)之間的接口可以在由信號攜帶的數(shù)據(jù)結(jié)構(gòu)中被體現(xiàn)或者被包括在由信號攜帶的數(shù)據(jù)結(jié)構(gòu)中。

此外,在信號上攜帶的數(shù)據(jù)結(jié)構(gòu)可以可選地包括關(guān)于詢問請求的信息和關(guān)于詢問響應(yīng)的信息之中的至少一個,所述詢問請求包括與第二資源有關(guān)的詢問,所述詢問響應(yīng)包括關(guān)于至少一個主機的信息。

根據(jù)第七實施例,提供了一種用于控制系統(tǒng)(300)中的第一資源和第二資源中的至少一個的方法,所述系統(tǒng)包括組件實體(310),如同上述類似的考慮因素適用于第七實施例并且因此為了簡明起見不再重復。根據(jù)這個實施例的方法說明了一個實體的操作或者一個實體內(nèi)的一個協(xié)調(diào)功能的操作。更特別地,方法包括在組件實體處促使將詢問請求發(fā)送到另外的組件實體的步驟s1110,詢問請求包括與第二資源有關(guān)的詢問。所述促使可以是實體內(nèi)的硬件或軟件組件的操作的結(jié)果,或者可以是來自觸發(fā)或發(fā)起這樣的發(fā)送的外部單元的命令或請求的結(jié)果。方法進一步包括在組件實體處促使接收來自另外的組件實體的詢問響應(yīng)的步驟s1120,詢問響應(yīng)包括關(guān)于至少一個主機的信息。同樣在這里,促使接收可以是來自外部單元或者來自設(shè)備的內(nèi)部操作的命令或請求的結(jié)果。此外,方法包括基于詢問響應(yīng)促使執(zhí)行第一資源和第二資源在單個主機上的協(xié)同定位的步驟s1130,單個主機是所述至少一個主機和托管第一資源的另外的主機(340)之中的一個。對于“促使”,類似的考慮因素在這里適用,就如對于步驟s1110和s1130來說類似的考慮因素適用一樣。

此外,注意方法還可以被說明性地解釋為包括發(fā)送詢問請求的步驟s1110、接收詢問響應(yīng)的步驟s1120和執(zhí)行協(xié)同定位的步驟s1130,其中所有剩余的考慮因素如上面所做的一樣適用。

總之并且用說明性的文字表明,據(jù)此引入使云環(huán)境中的計算資源和存儲資源的放置相關(guān)的協(xié)調(diào)功能(控制功能)。在某種程度上做這個以確保將存儲資源供給與使用這些存儲資源的虛擬機相同的計算主機。此外,可以經(jīng)由接口(例如計算控制器接口)重新配置虛擬機(例如將虛擬機遷移或者附加到存儲),以便于使能存儲和計算放置到相同主機上。

協(xié)調(diào)功能位于云環(huán)境中的存儲控制器和計算控制器兩者中,例如,在使用例如openstack時的cinder和nova調(diào)度器(參見例如圖10中的1025和1065)。新的協(xié)調(diào)功能的這些子組件經(jīng)由新的接口功能(例如1080)彼此通信并且與對應(yīng)的計算和存儲調(diào)度器通信。這個示例中的新的接口功能是負責交換詢問消息和詢問響應(yīng)消息的功能。新的接口允許從計算控制器和存儲控制器請求關(guān)于虛擬機和存儲卷的放置的信息。這個信息被用來決定在何處供給存儲卷以及在何處創(chuàng)建和/或遷移虛擬機。

協(xié)調(diào)功能還將確保將利用信息來修正來自計算控制器和虛擬機的請求以將存儲卷經(jīng)由快速路徑(例如不使用iscsi,直接通過管理程序)附加到虛擬機,正如圖9中所示出的。其中,實際上示出了,不是實現(xiàn)iscsi目標/客戶機,而是由于協(xié)同定位,vm可以直接訪問存儲資源。

本發(fā)明向當前的虛擬化的基礎(chǔ)設(shè)施的問題提議并且提供了解決方案,所述問題包括由于總是通過網(wǎng)絡(luò)棧來路由選擇存儲i/o導致增加的性能開銷的問題。此外,本發(fā)明考慮存儲資源調(diào)度器和計算資源調(diào)度器之間的協(xié)調(diào)的存在,因此避免了缺陷。

本發(fā)明使得nova和cinder的調(diào)度器能夠共同做出調(diào)度決定。這種聯(lián)合調(diào)度努力的主要益處是虛擬機和本地分配的存儲有很高的可能性被放置在相同計算主機上。這又允許直接借助于管理程序而不是通過網(wǎng)絡(luò)棧來將虛擬塊存儲卷附加到虛擬機。具體地,直接附加提供了除了別的以外的下列益處:通過避免在網(wǎng)絡(luò)分組中封裝和解封裝數(shù)據(jù)以及經(jīng)由本地網(wǎng)絡(luò)棧發(fā)送數(shù)據(jù)提供了更低的等待時間;通過避免進入需要經(jīng)由本地網(wǎng)絡(luò)棧被發(fā)送的多個網(wǎng)絡(luò)分組的大量讀寫操作的碎片化提供了更高的吞吐量;通過避免處理網(wǎng)絡(luò)棧中的讀寫操作的額外cpu開銷提供了更高數(shù)量的iops;通過避免數(shù)據(jù)需要經(jīng)由網(wǎng)絡(luò)被傳送提供了san上更低的負載。這為其它業(yè)務(wù)釋放了san中的資源。

組件實體是適于控制至少一個資源的云環(huán)境的組件并且可以在硬件、軟件或者它們的任何合適的組合中被實現(xiàn)。此外,組件實體可以被實現(xiàn)為網(wǎng)絡(luò)節(jié)點或設(shè)備(像服務(wù)器或者其部分)。在其它示例中,組件實體可以分布在若干網(wǎng)絡(luò)節(jié)點或設(shè)備上或者可以被包括在網(wǎng)絡(luò)節(jié)點或設(shè)備內(nèi)。

對于本領(lǐng)域技術(shù)人員來說將顯然的是,可以在本發(fā)明的實體、方法、系統(tǒng)、計算機程序和信號中以及在本發(fā)明的構(gòu)造中進行各種修改和改變而不會背離本發(fā)明的范圍或精神。

已經(jīng)關(guān)于在所有方面規(guī)定為是說明性的而不是限制性的特定實施例和示例描述了本發(fā)明。本領(lǐng)域技術(shù)人員將會意識到,硬件、軟件和固件的許多不同組合將適合于實施本發(fā)明。

在以此方法使用像發(fā)送單元、接收單元和協(xié)同定位單元的術(shù)語的地方,并未做關(guān)于如何可以分布這些單元以及關(guān)于如何可以聚集元件的限制。就是說,單元或元件或?qū)嶓w的組成部分可以分布在不同的軟件或硬件組件或設(shè)備中以用于產(chǎn)生預期的功能。多個截然不同的元件還可以被聚集以用于提供預期的功能性。

實體或元件或網(wǎng)絡(luò)設(shè)備或網(wǎng)絡(luò)節(jié)點等等的上面談及的單元中的任何一個可以在硬件、軟件、現(xiàn)場可編程門列陣(fpga)、特定用途集成電路(asic)、固件等等中被實現(xiàn)。

在本發(fā)明的另外的實施例中,像發(fā)送單元、接收單元、協(xié)同定位單元(這個列表不是窮舉的)的上面提及的和/或請求保護的部分中的任何一個可以由對應(yīng)的發(fā)送部件、接收部件或協(xié)同定位部件替代。

在本發(fā)明的另外的實施例中,上述步驟中的任何一個可以使用計算機可讀指令來實現(xiàn),例如以計算機可理解的過程、方法等等的形式、以任何種類的計算機語言、和/或以固件、集成電路等等上的嵌入式軟件的形式。

此外,從本文公開的發(fā)明的說明書和實踐的考慮因素,本發(fā)明的其它實現(xiàn)對于本領(lǐng)域技術(shù)人員來說將是顯然的。意圖是說明書和示例被視為僅僅是示范的。為此,將會理解,發(fā)明的方面處于比單個前述的公開的實現(xiàn)或配置的所有特征更少。因此,本發(fā)明的真實范圍和精神由下面的權(quán)利要求來表明。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
年辖:市辖区| 北宁市| 玉树县| 大新县| 昔阳县| 金坛市| 来安县| 丽江市| 宁国市| 科尔| 松原市| 盘锦市| 佛山市| 合江县| 尤溪县| 榆社县| 湖北省| 平定县| 清远市| 博湖县| 永州市| 宽城| 宜都市| 武山县| 永安市| 讷河市| 宁安市| 阿合奇县| 巴里| 新宾| 玉田县| 阳朔县| 东宁县| 巫山县| 姜堰市| 土默特右旗| 贺州市| 深圳市| 弋阳县| 陆丰市| 凤阳县|