新四季網

計算機系統和虛擬機遷移方法

2023-04-24 11:08:11 2

專利名稱:計算機系統和虛擬機遷移方法
技術領域:
本發明涉及計算機系統和虛擬機的遷移方法,更具體地說,涉及一種計算機系統, 其在實施網絡環境和IT環境的整合管理時可能進行虛擬機的遷移。
背景技術:
在最近幾年,通過運行在單物理伺服器中的多個虛擬機,使得更靈活的系統配置變得可能。在這種系統中,系統負荷分配、故障避免等等可通過遷移技術來實現,該遷移技術中不需要停止運行的虛擬機,運行的虛擬機可被遷移到另外一物理伺服器和一內存區域。作為遷移技術,已知的有例如W02005/083569(專利文獻1),JP2009-146106A(專利文獻2、,JP2004-78465A (專利文獻3)。專利文獻1揭示一網絡系統,其提供了一連接控制器和運行伺服器的交換控制器,將連接目的地從包含主伺服器的目標網絡切換到包含備份伺服器的切換目的地目標網絡。在這種配置中,在專利文獻1中揭示的系統可能實施遷移操作而沒有對用戶的服務停止和通信的重設。專利文獻2揭示一存儲系統,在該存儲系統中,通過切換作為虛擬埠的附加目的地的物理埠到另外一物理埠,並且基於切換目的地的物理埠的標識數據更新交換機單元的路由表,來改變到相同存儲器的接入路由。專利文獻3揭示一技術,在該技術在進程遷移處理中的遷移對象進程的停止時間被減少。在一計算機系統中,其中多個計算機通過一個網絡連接,通常單獨地需要管理網絡的網絡管理者和管理計算機的IT (信息技術)管理者。IT管理者考慮到在計算機側的負載(例如CPU和內存的使用率),但是沒有考慮到在網絡側的負載,來實施虛擬機的遷移。 當遷移虛擬機的內存映像時,有一種情況是數據的傳輸通過網絡來進行。在這個時期,不考慮在網絡側的內存映像的遷移,對虛擬機的訪問繼續著。所以擔心出現隨虛擬機的遷移而出現的流量會阻礙遷移對象虛擬機和另一虛擬機的通信。引用列表[專利文獻 l]W02005/083569[專利文獻 2] JP2OO9-H6IO6A
[專利文獻 3] JP2004-78465A

發明內容
以這種方式,因為計算機系統在網絡側和IT側被獨立地管理,所以虛擬機遷移的設置在網絡側和IT側被單獨地實施。但是,為了執行虛擬機的遷移,考慮到在網絡側和 IT(計算機)側的影響,需要實施在網絡側和IT側的集成管理。本發明的一個目的是提供一計算機系統,其中虛擬機的遷移可以通過集成地控制網絡側和計算機側而實施。為了得到上述的目的,本發明使用下述的方案。本發明的計算機系統提供有VM管理裝置、Openflow控制器和交換機。VM管理裝置被配置為指令運行在物理伺服器上的虛擬機遷移到管理所述虛擬機的虛擬機監控器和遷移目的地虛擬機監控器。當來自遷移已經完成的虛擬機的分組數據與設置到該交換機中的流所示的規則不相適應時,交換機向OpenFlow控制器通告包含在分組數據中的MAC地址。OpenFlow控制器設置用於遷移目的地VM的通信流,該通信流是根據向交換機通告的 MAC地址生成的。交換機基於用於遷移目的地VM的通信流所示的行動,傳輸遵循用於所述遷移目的地VM的通信流所示出的規則的所述虛擬機的分組數據到遷移目的地虛擬機。本發明的虛擬機遷移方法包括VM管理裝置指令運行在物理伺服器上的虛擬機遷移到管理所述虛擬機的虛擬機監控器和遷移目的地虛擬機監控器;當來自遷移已經完成的虛擬機的分組數據與設置到交換機中的流所示的規則不相適應時,向OpenFlow控制器通告分組數據的MAC地址;OpenFlow控制器設置用於遷移目的地VM的通信流到交換機,該通信流根據通告到所述交換機的MAC地址而生成;所述交換機根據用於遷移目的地VM的通信流所示的行動,傳輸遵循用於所述遷移目的地VM的通信流所示出的規則的所述虛擬機的分組數據到遷移目的地虛擬機。如上所述,根據本發明,通過設置根據所接收的第一個分組的MAC地址的流到交換機,與遷移對象虛擬機的通信可以被切換到遷移目的地虛擬機。通過至少設置虛擬機的遷移目的地到虛擬機管理裝置,可以對虛擬機的內存映像的傳輸和與遷移目的地虛擬機的通信進行切換。而且,在本發明中,因為交換機目的地的切換是通過OpenFlow控制器設置的流來實施的,所以從網絡側來看伴隨著虛擬機的遷移,虛擬機停止的時間可以被減少。根據本發明,虛擬機的遷移可以通過集成控制網絡側和像源的計算機側來進行。而且,可減少在虛擬機的遷移中的分組損失。


結合附圖,依據示範性實施例的描述,本發明的目的、效果和特徵將變得更加清楚圖1為示出了依據本發明的第一和第二示範性實施例的計算機系統結構的圖。圖2為示出了本發明的虛擬機管理裝置的結構的圖。圖3為示出了本發明的OpenFlow控制器的結構的圖。圖4為示出了本發明的OpenFlow控制器中流表的結構例子的圖。圖5為示出了本發明的OpenFlow控制器中拓撲數據的例子的圖。圖6為示出了本發明的OpenFlow控制器中通信路由數據的例子的圖。圖7為示出了依據本發明的OpenFlow交換機的結構的圖。圖8為示出了本發明的交換機中流表的例子的圖。圖9為示出了依據本發明的OpenFlow控制的圖。圖10為示出了第一示範性實施例中虛擬機在遷移操作中的準備流程的序列圖。圖11為示出了第一和第二示範性實施例中虛擬機在遷移操作中的內存映像傳輸流程的序列圖。
圖12為示出了第一示範性實施例中虛擬機在遷移操作中的訪問目的地改變流程的序列圖。圖13為示出了第二示範性實施例中虛擬機在遷移操作中的準備流程的序列圖。圖14為示出了第二示範性實施例中虛擬機在遷移操作中的訪問目的地改變流程的序列圖。圖15為示出了依據本發明第三示範性實施例的計算機系統的結構的圖。圖16為示出了第三示範性實施例中虛擬機在遷移操作中的訪問目的地改變流程的序列圖。圖17為示出了依據本發明第四示範性實施例的計算機系統的結構的圖。
具體實施例方式在下文中,將參照附圖,描述本發明的示範性實施例。在附圖中,相同和相似的參考數字表示相同和相似的組件。第一示範性實施例計算機系統的結構參考圖1-圖9,將描述根據本發明第一示範性實施例的計算機系統的結構。圖 1為示出根據本發明第一和第二示範性實施例的計算機系統的結構的方塊圖。本發明的計算機系統提供有一集成管理裝置1、虛擬機管理裝置2(下文中稱為VM管理裝置2)、 OpenFlow (開流)控制器3 (下文中稱為0FC3)、交換機組4 (下文中稱為OpenFlow交換機 (OFS)組4)、物理伺服器5和6和例如共享磁碟的存儲單元7。物理伺服器5和6通過具有至少一個OpenFlow交換機的OFS組4相互地連接。而且,物理伺服器5和6通過OFS組4,與例如網際網路的外部網絡8相連接。要注意的是,在本示範性實施例中,兩個物理伺服器5和6被描述了,但是物理伺服器的數量不限於是兩個。物理伺服器5和6是計算機,各個計算機提供了 CPU和RAM,並運行存儲在物理伺服器5和6中或者在存儲單元7中相互分開存儲的程序。所以,實現了至少一個虛擬機。詳細來說,物理伺服器5提供有虛擬機IOl-IOn (其中η為自然數),這些虛擬機通過邏輯地或者物理地劃分CPU(未示出)和存儲單元7的使用區域來實現。或者,通過使用運行在客戶作業系統(GOS)上軟體程序或者運行在於主機作業系統上模擬的GOS中的軟體程序,可實現虛擬機101到IOn。虛擬機101到IOn通過虛擬機監控器10 (在下文中,稱為VMM)而被管理,其中虛擬機監控器10通過使用CPU(未示出)執行存儲在存儲單元7中的程序來實現。物理伺服器6提供有至少一個虛擬機201到20m(m為自然數),像物理伺服器5那樣, 這些虛擬機201到20m由VMM20來管理。需要由虛擬機101到10η,201到20m所使用的磁碟映像(內存映像)被存儲在共享的磁碟中。例如,所述共享磁碟被描述為磁碟陣列、NAS(網絡附屬存儲)和資料庫伺服器,等等,它們通過FC (光纖通道)和以太(註冊商標)網絡連接一種使用VMM10管理虛擬機101到IOn的方法,和一種使用VMM20管理虛擬機201 到20m的方法是與常規現有技術相同的。例如,VMM10管理由虛擬機101到IOn所使用內存映像,VMM20管理由虛擬機201到20m所使用內存映像。虛擬機101到IOn中的每個虛擬機,經物理NIC (未示出)和由VMM10管理的虛擬交換機11,發送數據到另一單元並接收來自另一單元(例如,外部網絡8中的計算機或者另一物理伺服器6中的虛擬機)的數據。在本示範性實施例中,作為例子,分組傳輸是基於 TCP/IP (傳輸控制協議/網際網路協議)來實施的。以相同的方式,虛擬機201到20m中的每個虛擬機經虛擬交換機21,發送數據到另一單元並接收來自另一單元的數據。而且,在相同物理伺服器中的虛擬機之間的通信經虛擬交換機11或21而實施。假設即使虛擬機101到10η、虛擬機201到20m根據本發明遷移到不同的VMM或者物理伺服器,MAC地址不發生改變。而且,虛擬交換機11和21可通過於後描述的OpenFlow 技術而被控制,並且可實施常規技術中的交換操作(層2)。將描述一個在下述示範性實施例中的虛擬交換機11和21處理OpenFlow技術的例子。而且,在虛擬機101到IOn和201 到20m中,以及物理伺服器的外部單元中實施橋連接。也就是說,通過使用虛擬機101到 IOn和虛擬機201到20m的MAC地址和IP位址,可以直接向外部實施通信。VM管理裝置2管理運行在物理伺服器5和6中的虛擬機101到IOn和虛擬機201 到20m。圖2是示出本發明的VM管理裝置2的結構的圖。需要VM管理裝置2通過一提供有CPU和存儲單元的計算機來實現。在VM管理裝置2中,通過CPU(未示出)運行保存在存儲單元中的程序,實現如圖2所示的VM遷移控制部321和VM管理部322中的功能。VM遷移控制部321控制虛擬機的遷移。詳細地說,基於存儲在存儲單元中的VMM 管理數據323,VM遷移控制部321指明一虛擬機作為遷移目標,一虛擬機監控器作為遷移目的地,並且指令虛擬機到作為遷移源和遷移目的地的虛擬機監控器的遷移。因此,在被指令過的虛擬機監控器之間,實施虛擬機的遷移。VMM管理部322管理受管理的虛擬交換機和虛擬機監控器的數據(VMM管理數據 323)。VMM管理數據323包含各個虛擬機監控器的標識和由虛擬機監控器管理的虛擬機的標識的數據(即VMM數據324) ;VMM管理數據323還包含像虛擬交換機的標識和與虛擬交換機相連的虛擬機的標識這樣的數據(VSW數據32 。需要VMM數據3M和VSW數據325 與各個管理虛擬交換機的虛擬機監控器相關聯。VMM管理數據323可以被事先保存在存儲單元中,並可以在可選的時間點或者周期性地從VMMlO和VMM20獲取。當從VMMlO和VMM20獲取VMM管理數據323時,需要響應於來自VMM管理部322的指令,從VMMlO和VMM20處獲取VMM管理數據323,並且基於所獲取的數據,更新在存儲單元中的VMM管理數據323。因此,變得有可能在虛擬機遷移之後,監控虛擬交換機的被改變後的連接目的地和虛擬機的被改變後的遷移目的地。0FC3通過OpenFlow技術控制在系統中的通信。在OpenFlow技術中,根據路由策略(流規則+行動),控制器(在本例子中的OFO)設置在流單元中的多層單元的路由數據到交換機,以便實施路由控制和節點控制。這樣,路由控制功能被與路由器和交換機相分隔開,通過控制器實現的集中控制,最佳路由和流量控制變得可能。應用了 OpenFlow技術的交換機(0FS組4)將通信作為端對端的流,該端對端的流不是以常規路由器和交換機的分組和幀為單位。詳細地說,通過設置各個交換機或者節點的流(規則+行動),0FC3控制交換機和節點的運作(例如,分組數據的中繼操作)。在本例子中,由0FC3控制的交換機被舉例示為 OFS組4,虛擬交換機11和21等。由0FC3控制的節點被舉例示為虛擬機101到10n,201 到20m, VMM10和20,物理伺服器5和6,存儲單元7等。
圖3為示出了本發明0FC3的結構的圖。需要0FC3通過提供有CPU和存儲單元的計算機來實現。在0FC3中,通過CPU執行存儲在存儲單元中的程序,實現在圖3中示出的交換機控制部331、流管理部332、流生成部333的功能。所以,根據流表格334,交換機控制部331實施各個交換機或者節點的流(規則+ 行動)的設置或刪除。根據本發明,交換機和節點參考設置的流,並根據接收分組的頭數據,執行對應於規則的行動(例如,中繼和丟棄分組數據)。所述規則和行動的細節將稍後描述。圖4為示出了由本發明的0FC3所保存的流表格334的結構例子的圖。參見圖4, 在流表格334中,用於指明流的流標識441、用於指明流的設置對象(交換機和節點)的標識(對象單元44 、路由數據443、規則444、行動數據445和設置數據446相互關聯並被存儲。到所有交換機和節點的流(規則444+行動數據44 (是0FC3的控制目標)被設置到流表格334。在流表格334中,可以定義處理通信的方法,例如編碼各個流和Qos的數據。在規則441中,例如,定義了標識與OSI (開放式系統互聯)參考模型中層1到層4 的地址的結合體,並且其被包含在TCP/IP協議的分組數據的頭數據中。例如,層1的物理埠、層2的MAC地址、層3的IP位址、層4的埠號和VLAN標籤的結合體被設置為規則 444,如圖9所示。這裡,埠號的地址和標識的預定範圍可被設置到規則444。而且,需要在規則444中標識和設置目的地地址和源地址。例如,在規則444中設置有MAC目的地地址的範圍、指明了連接目的地的應用的目的地埠號的範圍、指明了連接源的應用的源埠號的範圍。此外,標明了數據傳輸協議的標識可以被設置為規則444。例如,在行動數據445中規定了處理TCP/IP分組數據的方法。例如,設置了顯示是否中繼接收分組數據,以及在中繼時的發送目的地的數據。並且,指令丟棄的數據和分組數據的複製件可以被設置在行動數據445中。路由數據443是用於指明路由的數據,其中流(規則444+行動數據445)被用於所述路由。這是一個與通信路徑數據336相關的標識,該通信路徑數據336將在後面被描述。設置數據446包含顯示是否當前流(規則444+行動數據44 被設置到通信路徑、交換機等的數據(「已經設置」或者「沒有設置」)。而且,因為設置數據446與對象單元 442和路徑數據443相關聯,有可能確認是否流被設置到了通信路徑,以及有可能確認是否流被設置到了在通信路徑中的各個交換機和節點。而且,設置數據446包括顯示是否產生的流是在可使用(合法)的狀態或者是在不可使用(非法)的狀態的數據。交換機控制部 331參考設置數據446,以僅設置合法流到交換機(OF。和節點,並且不設置非法流。流管理部332參考流表格334,以提取出對應於交換機和節點所通告的第一分組數據的頭數據的流(規則444+行動數據44 ,並通告該提取出的流到交換機控制部331。 而且,流管理部332將流標識441和由流產生部333產生的流(規則444+行動數據445) 相關聯,並將它們保存在存儲單元中。這時,流被使用的通信路徑的標識(路由數據443)、 流被使用的交換機或者節點的標識(對象單元44 被加入到流(規則444+行動數據445) 中並被保存。流產生部333通過使用拓撲數據335計算通信路徑,並將計算結果作為通信路由數據336保存到存儲單元中。在這個例子中,設置了通信路由末端的節點,以及通信路由上的交換機和節點。而且,基於通信路由數據336,流產生部333產生流(規則444+行動數據 445),該流被設置到通信路由上的交換機和節點。拓撲數據335包含交換機(例如,OFS組4,虛擬交換機11和21等)、節點(例如, 虛擬機101到10η,虛擬機201到20m, VMMlO和VMM20,物理伺服器5和6和存儲單元7)和外部網絡(例如,網際網路)的連接狀態的數據。特別地,指明了交換機或者節點(單元)的單元標識451與單元中的埠數452和埠連接目的地數據453相關聯,並且它們作為拓撲數據335存儲在存儲單元中。埠連接目的地數據453包含連接類型(交換機/節點/ 外部網絡),該連接類型指明連接對端和指明了連接的目的地的數據(在是交換機時,為交換機ID ;在是節點時,為MAC地址;在是外部網絡時,為外部網絡ID)。通信路由數據336為用於指明通信路由的數據。詳細地說,作為通信路由數據 336,指明一組節點(例如,虛擬機101到10η,虛擬機201到20m, VMMlO和20,物理伺服器 5和6,存儲單元7等)或者作為端點的外部網絡接口的端點數據461、指明通道交換機(例如,OFS組4,虛擬交換機11和21等)和埠對組的通道交換機數據462、附屬數據463 被關聯在一起,並被保存在存儲單元中。例如,當通信路由連接外部網絡和節點時,外部網絡ID和節點的MAC地址作為端點數據461保存。或者,當通信路由連接於節點之間時,一對作為端點的節點的MAC地址作為端點數據461保存。通道交換機數據462包含交換機 (OpenFlow交換機和虛擬交換機)的標識,該交換機被提供在端點之間的通信路由中,其中所述端點由端點數據461所示出。而且,通道交換機數據462可包含用於關聯被設置到交換機的流(規則444+行動數據44 和交換機的數據。在端點被改變之後,附屬數據463 包含在路由上的交換機(通道交換機)的數據。本發明的流管理部332響應於虛擬機的遷移指令(遷移準備指令)控制流產生部 333,產生用於傳輸內存映像的流(內存映像傳輸流),並控制交換機控制部331以設置內存映像傳輸流到在內存映像傳輸路徑上OFS和節點。而且,本發明的流管理部332響應於虛擬機的遷移指令(遷移準備指令)控制流產生部333,以產生在遷移後訪問虛擬機的流 (用於遷移目的地VM的通信流),並控制交換機控制部331以將用於遷移目的地VM的通信流設置到遷移目的地VM的通信路由上的OFS組和節點。OFS組4被提供有至少一個OpenFlow交換機41到4i (i是自然數)。圖7為示出了依據本發明的OpenFlow交換機4i (於下稱作0FS4i)的結構的圖。所以,0FS4i根據由 0FC3設置的流表格343決定接收分組的處理方法(行動)。0FS4i提供有傳輸處理部341 和流管理部342。傳輸處理部341和流管理部342可以被配置為硬體,並可實現為由CPU執行的軟體程序。圖8所示的流表格343被設置在0FS4i的存儲單元中。流管理部342設置從0FC3 獲取的流(規則444+行動數據44 到流表格343。而且,當由傳輸處理部341接收的接收分組的頭數據與存儲在流表格343中的規則444相匹配(相一致)時,流管理部342向傳輸處理部341通告對應於規則444的行動數據445。另一方面,當由傳輸處理部341接收的接收分組的頭數據與存儲在流表格;343中的規則444不相匹配(相一致)時,流管理部 342向0FC3通告接收到了第一分組,並且發送頭數據到0FC3。傳輸處理部341根據所述接收分組的頭數據實施傳輸操作。詳細地說,傳輸處理部341從所接收的分組數據中提取頭數據,並向流管理部342通告該頭數據。當從流管理部342接收行動數據445時,傳輸處理部341根據行動數據445實施處理。例如,傳輸處理部341傳輸所述接收分組數據到行動數據445所示的目的地節點。而且,當接收分組數據不具有在流表格343中規定的規則444時,傳輸處理部341在預定時間內保留分組數據,並且等待直到流被從0FC3所設置(流表格343被更新)。具體地說,設置有流的0FS4i的運作將被描述,其中規則444 :「A1_A3」的MAC發送源地址(L2),「B1-B3,,的IP目的地地址(L3),「HTTP」的協議,「C1-C3」的目的地埠號 (L4);和行動數據445:「中繼到物理伺服器5的虛擬機101」是相關聯的。當接收的分組具有「Al」的MAC源地址(L2)、「B2」的IP目的地地址(L3)、「HTTP」的協議、「C3」的目的地埠號(L4),0FS4i決定頭數據匹配規則444,並且發送所接收的分組數據到虛擬機101。另一方面,當接收的分組具有「A5」的MAC源地址(L2)、「B2」的IP目的地地址(L3)、「HTTP」 的協議、「C4」的目的地埠號(L4),0FS4i決定頭數據不匹配規則444,並且通告0FC3接收到了該第一分組,並發送所述頭數據到0FC3。0FC3從流表格334提取對應於所接收頭數據的流(規則444+行動數據44 ,並將其發送到0FS4i。要注意的是在流表格334中沒有合適的流時,可新產生一個流。0FS4i設置所發送的流到其自己的流表格343,並根據流表格 343執行接收分組的中繼操作。如前所提及的,OpenFlow技術(稱為可編程流技術)被運用到本發明的計算機系統中。要注意的是,除了 OFS組4,虛擬交換機11和21可以提供有一流表格,其中像0FS4i 那樣0FC3設置所述流表格中的流。在這種情形下,像OFS組4那樣0FC3可控制虛擬交換機11和21的運行。在第一示範性實施例中的計算機系統提供有集成管理裝置1,該裝置控制VM管理裝置2和0FC3。可取的是集成管理裝置1通過提供有CPU和存儲單元的計算機來實現。集成管理裝置1可取地具有輸入單元(例如鍵盤和滑鼠)、顯示單元(例如顯示器和印表機) 其可視地顯示各種類型的從VM管理裝置2或者0FC3傳輸來的數據。用戶(管理者)通過使用集成管理裝置1控制VM管理裝置2和0FC3,並執行虛擬機的遷移。集成管理裝置1、VM管理裝置2和0FC3中的每一個可以被提供在同一個計算機中或者分別地在不同的計算機中。虛擬機的遷移接著參見圖10-圖12,描述了依據本發明的第一示範性實施例的虛擬機的遷移操作。圖10為顯示了在虛擬機進行遷移操作時本發明第一示範性實施例中的準備處理的序列圖。管理者操作輸入單元(未示出)以指令集成管理裝置1來控制虛擬機的遷移(以下,稱作VM遷移)。在這時,遷移虛擬機(於下,稱為遷移對象VM)運行於其上的物理伺服器(或者虛擬機監控器)、遷移對象VM和作為遷移目的地的物理伺服器(或者虛擬機監控器)被指明。集成管理裝置1響應於VM遷移指令,發布數據通告指令到VM管理裝置2 (步驟S101)。這裡,集成管理裝置1發布一指令,以通告遷移源和遷移目的地的物理伺服器的虛擬機監控器的數據。VM管理裝置2傳輸遷移源和遷移目的地的物理伺服器的VMM管理數據323到集成管理裝置1 (步驟S102)。因此,集成管理裝置1獲取遷移源的虛擬機監控器 (於下,稱為遷移源VMM)的數據、遷移對象VM的數據、遷移目的地的虛擬機監控器(於下, 稱為遷移目的地VMM)的數據和遷移目的地的虛擬交換機(於下,稱為遷移目的地VSW)。
當獲取VMM管理數據323時,集成管理裝置1發布遷移準備指令到0FC3 (步驟 S103)。在這時,集成管理裝置1基於VMM管理數據323向0FC3指明遷移源VMM、遷移對象 VM、遷移目的地VMM和遷移目的地VSW。當接收所述遷移準備指令時,0FC3首先針對內存映像遷移設置通信路由和流。 0FC3基於拓撲數據335計算通信路由(內存映像傳輸路由)以在遷移源VMM和遷移目的地 VMM之間傳輸遷移對象VM的內存映像(步驟S104)。這裡,在遷移前遷移對象VM的內存映像保存於其中的區域,和在遷移後遷移對象VM的內存映像保存於其中的區域被設置為兩個端點,並被用於計算內存映像傳輸路由。所述被計算的內存映像傳輸路由的數據作為通信路由數據336進行保存。0FC3產生應當被設置到各個0FS4i中的流(內存映像傳輸流)(步驟105),其中所述各個0FS4i處在於步驟S104中計算的內存映像傳輸路由上。針對各個0FS4i所產生的內存映像傳輸的流(規則444+行動數據44 與各個0FS4i相關聯,並且被註冊在流表格334中。在這時,內存映像傳輸流的設置數據446被設置為「未設置」和「非法」。0FC3設置內存映像傳輸流到各個0FS4i或者節點(步驟S106到步驟S108)。詳細地說,0FC3指令在通信路由上的對應的0FS4i,以設置內存映像傳輸流(步驟106)。已經下指令設置流的0FS4i設置所發送的流(規則444+行動數據44 到其自己的流表格 343 (步驟S107)。完成了流設置的0FS4i向0FC3報告流設置完成(步驟S108)。這裡,除了 0FS4i,內存映像傳輸流被設置到了內存映像傳輸路由上的節點。而且,當虛擬交換機具有對應於OpenFlow技術的結構時,內存映像傳輸流被設置到內存映像傳輸路由上的虛擬交換機。設置到0FS4i和虛擬交換機的內存映像傳輸流的設置數據446被設置為「設置」和 「合法」。 接著,0FC3設置通信路徑,和用於在VM遷移後訪問遷移對象VM(於下,稱為遷移目的地VM)的流。首先,0FC3計算通信路由(用於遷移目的地VM的通信路由)(步驟S109)。 詳細地說,0FC3從預先保存的合法通信路由數據336選擇有關遷移對象VM的通信路由的通信路由數據336。這裡,合法通信路由(合法通信路由數據336)顯示流可能設置到0FS4i 的通信路由存在。通過將所選擇的通信路由的一端由遷移對象VM改變為與遷移目的地VM 相連接的虛擬交換機,0FC3使用拓撲數據335更正通信路由,並且計算作為遷移目的地VM 的通信路由。所計算的遷移目的地VM的通信路由的數據被作為通信路由數據336進行保存。0FC3產生設置到各個0FS4i的流(用於遷移目的地VM的通信流)(步驟Sl 10), 其中所述各個0FS4i是處於在步驟S109中計算的遷移目的地VM的通信路由上的。針對各個0FS4i所產生的遷移目的地VM的通信流(規則444+行動數據445)與各個0FS4i相關聯,並被註冊在流表格334中。在這時,遷移目的地VM的通信流的設置數據446被設為「未設置」和「非法」。當產生用於遷移目的地VM的通信流時,0FC3向集成管理裝置1報告遷移準備完成(步驟S111)。如前所提及,在本示範性實施例中的準備流程中實施了 計算遷移對象VM的內存映像的傳輸路由;為進行遷移控制的流設置;計算為訪問遷移目的地VM的通信路由;產生用於通信控制的流。在第一示範性實施例中,當設置內存映像傳輸流到0FS4i完成,並且產生用於遷移目的地VM的通信流完成後,遷移準備就結束了。圖11是示出了依據虛擬機的第一示範性實施例在遷移處理時內存映像傳輸處理的序列圖。參見圖11,當接收到遷移準備完成的報告時,集成管理裝置1發布遷移指令到VM 管理裝置2 (步驟S201)。VM管理裝置2發布遷移指令到遷移源VMM (在本例子中為VMM10) 和遷移目的地VMM (在本例子中為VMM20),其中遷移源VMM和遷移目的地VMM在準備處理中被指明(步驟S202和步驟S203)。這時,VM管理裝置2通告遷移對象VM到VMMlO和20。 要注意的是,在步驟S201中的遷移指令中,可指明遷移源VMM和遷移目的地VMM。響應於從VM管理裝置2來的遷移指令,在VMMlO和VMM20之間實施虛擬機的內存映像傳輸(步驟S204到S212)。詳細地說,在遷移目的地VMM (於下,遷移目的地VMM20) 中產生由VM管理裝置2指明的VM(步驟S204)。響應於由遷移目的地VMM20通告的VM產生結束報告,遷移源VMM(在本例子中為遷移源VMM10)傳輸遷移對象VM的內存映像(步驟 S205到步驟S207)。遷移源VMMlO發送內存映像到在步驟S204中產生的VM。經過在步驟 S104到步驟S107中設置的內存映像傳輸路徑,內存映像被傳輸。在這時,根據在步驟S107 中設置的內存映像傳輸流,在內存映像傳輸路由上的0FS4i傳輸所述內存映像。在傳輸內存映像期間,當訪問(例如數據傳輸)另一虛擬機,除了遷移對象VM之夕卜,的情形出現時,與所述訪問相關的0FS4i根據設置在其流表格343中的流,執行對應於接收分組的頭數據的行動(例如,數據中繼處理)。通過設置內存映像傳輸路由,以至不會阻礙對與遷移無關的另一虛擬機的訪問,這樣就變得可能遷移遷移對象VM,而不阻礙與另一虛擬機的通信。另一方面,在傳輸內存映像期間(例如,當用於遷移對象VM的數據被傳輸時),當訪問遷移對象VM的情形出現時,到遷移對象VM的通信路由上的0FS4i根據設置在其流表格343中的流,執行對應於接收分組的頭數據的行動(例如,數據中繼處理)。這裡,因為流是在假設遷移對象VM是運行在VMMlO上時而進行設置的,用於遷移對象VM的數據被傳輸到在物理伺服器5上的遷移對象VM。遷移源VMMlO記錄被指派給遷移對象VM的數據到遷移對象VM的內存頁中。在傳輸內存映像時,由於對遷移對象VM的處理和對指派給遷移對象VM的數據傳輸的處理,存在內存頁被修改或者被更新的情形。被改變的內存頁作為一複製對象被保存在保存單元的改變頁記錄區域(步驟S208)。可取的是,改變頁的記錄處理被實施一直到遷移目的地VM開始。當與遷移對象VM相關的所有內存映像的傳輸完成時,遷移源VMMlO通過在步驟 S104到S107中設置的內存映像傳輸路由,傳輸改變的頁到遷移目的地VMM20(步驟S209)。 但是,可取的是當在與遷移對象VM相關的所有內存映像的傳輸完成時記錄的改變頁的數量等於或者小於預定的數目時,在步驟S209中的對改變頁的傳輸處理被省略去。而且,在步驟S209中改變頁的傳輸處理時,存在一種內存頁被修改的情形。所以,在步驟S209中, 遷移源VMMlO在更多另一區域中保存保存在改變頁記錄區域中的改變頁,並且在清除改變頁記錄區域之後,傳輸所述改變頁到遷移目的地VMM20。當與遷移對象VM相關的所有內存映像的傳輸(包含改變頁的傳輸)完成時,運行在遷移源VMMlO上的遷移對象VM(於下,稱為遷移源VM)的操作被停止(步驟S210)。在這時,遷移源VM的虛擬網絡接口也被停止。要注意可取的是通過重複在步驟S209中的改變頁的傳輸和改變頁的記錄,在改變頁的數量等於或者小於預定的數量的情況下,遷移源 VMMlO停止遷移源VM。在遷移源VM停止後,遷移源VMMlO通過如步驟S104到步驟S107中的內存映像傳輸路由,傳輸改變頁到遷移目的地VMM20 (S211)。因此,從遷移源VMMlO到遷移目的地VMM的內存映像的傳輸完成。在遷移目的地VMM20上產生的VM(於下,稱為遷移目的地VM)可開始運行,但是可取的是實施在遷移源VM和遷移目的地VM中的內存映像的匹配判斷。詳細地說,遷移源VMMlO確認遷移源VM的停止,並發布傳輸確認指令到遷移目的地VMM20 (步驟S2U)。響應於傳輸確認指令,遷移目的地VMM20通過在步驟S104到步驟S107中設置的內存映像傳輸路由,傳輸遷移目的地VM的內存映像到遷移源VMMlO (步驟 S213)。遷移源VMMlO判斷從遷移目的地VMM20傳輸來的內存映像與遷移源VM的內存映像是否相互匹配(步驟S214)。當在步驟S214遷移目的地VM的內存映像與遷移源VM的內存映像相匹配被確認時,遷移源VMMlO通告遷移目的地VMM20 —匹配確認完成報告(步驟S2M)。遷移目的地 VMM20接收所述匹配確認完成報告,並控制遷移目的地VM運作(步驟S216)。在這時,遷移目的地VM的虛擬網絡接口變成運行狀態。在另一方面,在步驟S214中,當遷移目的地VM的內存映像與遷移源VM的內存映像不相匹配時,實施不匹配的內存頁的傳輸處理(未示出)。如前所提及的,通過使用由集成管理裝置1指明的路由(內存映像傳輸路由),實施VM的內存映像的傳輸。在這時,根據在遷移前被設置到OFS組4的流,實施對遷移源VM 的訪問。因此,VM的內存映像可以被傳輸而不停止到遷移源VM的通信。而且,因為內存映像傳輸路由可由集成管理裝置1可選地進行設置,所以路由可被選擇以不阻礙到另一虛擬機的通信。因此,不影響通信到其它虛擬機的內存映像傳輸變得可能。通常,當物理伺服器屬於相同子網時,在物理伺服器之間的數據傳輸通過層2的交換機而實施。但是,當物理伺服器屬於不同的子網時,需要在物理伺服器之間提供層3交換機。在另一方面,在本發明中通過使用OpenFlow技術傳輸內存映像,其中在OpenFlow技術中基於從層1到層4的標識和地址的組合確定行動(例如中繼操作)。所以,即使當物理伺服器5和6屬於不同的子網時,僅僅通過改變流的設置,在物理伺服器之間的數據傳輸變得可能。圖12為示出了第一示範性實施例的虛擬機的遷移操作中的訪問目的地切換操作的序列圖。這裡,將描述在於步驟S218中開始的遷移目的地VM被涉及為VM20m的條件下,從遷移源VM到遷移目的地VM20m的訪問目的地切換操作。參見圖12,當在遷移目的地 VMM20中產生的VM20m變為運行狀態時,VM20m實施RARP (反向地址解析協議)傳輸(步驟S301)。RARP被虛擬交換機21所檢測到,並被傳輸到0FS4i。0FS4i檢測到RARP,並向 0FC3通告所檢測到的RARP (步驟S3(^)。詳細地說,因為0FS4i通過RARP傳輸從變成運行狀態的遷移目的地VM接收分組數據,並且適合於分組數據的流(規則)沒有被設置,0FS4i 向0FC3通告第一分組的接收。在這時,0FS4i向0FC3通告分組數據或者含在分組數據中的MAC地址。0FC3選擇對應於所通告的MAC地址的通信路由作為遷移目的地VM的通信路由,並選擇出用於遷移目的地VM的通信流,該通信流是被設置到在所選擇的用於遷移目的地VM的通信路由上的交換機的。這裡,RARP的分組數據從0FS4i被傳輸,並且0FC3獲取在RARP中被傳輸的VM20m的MAC地址。
14
0FC3選擇被保存的合法通信路由數據336中對應於在步驟S302中通告的 RARP (MAC地址)的通信路由(通信路由數據336)(步驟30 。這裡,傳遞RARP (MAC地址) 的通信路由被從用於遷移目的地VM的通信路由中選出,其中所述用於遷移目的地VM的通信路由是在步驟S109中計算的。接著,0FC3設置在步驟SllO中產生的用於遷移目的地VM 的通信流到0FS4i和所選擇通信路由上的節點(步驟S304到步驟S307)。詳細地說,0FC3 從通信路由數據336和拓撲數據335中,提取出在所選擇的用於遷移目的地VM的通信路由上的節點和0FS4i,並且選擇對應於每個的遷移目的地VM的通信流(步驟S304)。接著, 0FC3發布針對各個0FS4i選擇的遷移目的地VM的通信流的設置指令(步驟S305)。響應於用於遷移目的地VM的通信流的設置指令,0FS4i設置傳輸的遷移目的地VM的通信流到其流表格343 (步驟S306)。0FS4i結束流的設置,並向0FC3通告流設置結束報告(步驟S307)。 被設置到0FS4i的遷移目的地VM的通信流的設置數據446被設置為「已經設置」或者「合法,,·0FC3設置用於遷移目的地VM的通信流到用於遷移目的地VM的通信路由上的節點和0FS4i,並且在確認設置完成時,通過使用拓撲數據335產生用於在遷移目的地VM和虛擬交換機21之間連接的流(步驟S308),其中所述節點和0FS4i在上。0FC3設置產生的流到虛擬交換機21 (步驟S309和S310)。詳細地說,0FC3發布對在步驟S308處產生的流的設置指令到虛擬交換機21 (步驟S309)。響應於流的設置指令,虛擬交換機21設置從0FC3 發送來的流到其自己的流表格343 (步驟S310)。虛擬交換機21結束流的設置,並向0FC3 通告流設置完成報告(步驟S311)。設置到了虛擬交換機21的遷移目的地VM的通信流的設置數據446被設置為「已經設置」和「合法」。當0FC3確認在遷移目的地VM20m和虛擬交換機21之間連接的流的設置完成時, 0FC3選擇用於遷移源VM的流,並發布流的刪除指令(步驟S312和S313)。0FS4i和節點刪除用於遷移源VM的流或者設置該流到不使用狀態(步驟S314)。0FS4i和節點結束流的刪除,接著向0FC3通告流刪除完成報告(步驟S315)。當確認了在用於遷移源VM的通信路由上的節點和0FS4i中的流的刪除時,0FC3設置用於遷移目的地VM的通信流為當前使用的流,並且設置用於遷移源VM的通信流為不使用的流(步驟S316)。這裡,顯示「使用」或者「不使用」(合法或者非法)的數據被設置在對應於各個流(規則444+行動數據445)的設置數據446中。這時,用於遷移源VM的沒被使用的通信流可以從流表格334中刪除。但是,通過改變設置數據446而不刪除不使用的流來設置流的使用或者不使用(合法或者非法),這樣當遷移的虛擬機被返回到初始物理伺服器或者VMM時,流可以被再次設置而不需要產生流。於下,根據設置到各個0FS4i的遷移目的地VM的通信流,向運行於物理伺服器6 上的VMM20執行遷移目的地VM20m的通信。如前所述,根據本發明的遷移方法,虛擬機的遷移變得可能而不打斷與虛擬機的通信。在本示範性實施例中,在不同物理伺服器之間的遷移作為一個例子已經進行了描述, 但是可以以相似的方法實現在相同物理伺服器中的遷移。而且,根據本發明,可以通過集成管理裝置1實施用於內存映像傳輸的設置和用於與遷移目的地VM通信的設置。也就是說,通過一個管理部來控制虛擬機遷移是所希望的。所以,根據本發明,由網絡管理者和IT管理者分別管理的計算機系統變得可有一個管理部來管理和操作。要注意的是,當虛擬交換機21為實施了常規交換(層2)操作的虛擬交換機時,步驟S308到S311的處理將被省略去。第二示範性實施例接著,參見圖11、圖13和圖14,將描述依據本發明第二示範性實施例在計算機系統中的虛擬機的遷移方法。因為在第二示範性實施例中的計算機的結構與第一示範性實施例中的相同,所以其描述被省略。不同於第一示範性實施例的操作將被描述。而且,通過添加相同的數字符號描述與第一示範性實施例的相同的操作。在第二示範性實施例中的虛擬機的遷移方法中,在遷移準備處理階段,用於遷移目的地VM的通信流被設置到0FS4i。所以,用於遷移對象VM的分組數據被複製並被傳輸到遷移源VM和遷移目的地VM。在第一示範性實施例中,因為在傳輸了遷移對象VM的內存映像之後,用於遷移目的地VM的通信流被設置了,所以有一種情形是在從遷移對象VM的停止到對用於遷移目的地VM的通信流進行設置(切換訪問目的地到遷移對象VM)的這段期間,出現分組丟失。但是,在第二示範性實施例中,因為在遷移準備階段用於遷移源VM的流和用於遷移目的地VM的流都被設置了,所以在切換訪問目的地到遷移目的地VM的場合,可以防止分組丟失的出現。圖13為示出了在第二示範性實施例中在虛擬機進行遷移處理時準備處理的序列圖。參見圖13,在第二示範性實施例的準備處理中,像第一示範性實施例那樣,首先實施步驟SlOl到SllO中的處理。在第二示範性實施例中,在遷移準備步驟中0FC3設置用於遷移目的地VM的通信流到各個0FS4i (步驟S401到S40!3)。詳細地說,0FC3提取在用於遷移目的地VM的通信路由上節點和0FS4i,並且選擇用於對應遷移目的地VM的通信流,其中所述通信路由是基於通信路由數據336和拓撲數據335而選擇的。接著,0FC3發布用於遷移目的地VM的通信流的設置指令(步驟S401),其中所述通信流是為各個0FS4i而選擇的。響應於用於遷移目的地VM的通信流的設置指令,0FS4i設置傳輸的用於遷移目的地VM的通信流到其流表格343(步驟S402)。當流設置結束時,0FS4i向0FC3通告流設置結束報告(步驟S403)。設置到0FS4i的遷移目的地VM的通信流的設置數據446被設置為「已經設置」 或者「合法」狀態。當用於遷移目的地VM的通信流的設置完成時,0FC3向集成管理裝置1通告遷移準備的完成(步驟S405)。如前所述,在本示範性實施例的準備流程中,實施了對遷移對象VM的內存映像的傳輸路由以及對控制遷移的流的設置,以及對用於訪問遷移目的地VM的通信路由以及對控制通信的流的設置。在第二示範性實施例中,當對0FS4i進行內存映像傳輸流設置和用於遷移目的地VM的通信流設置結束時,遷移準備結束。參見圖11,在第二示範性實施例的映像傳輸處理中,像第一示範性實施例那樣,首先執行在步驟S201到S207中的處理(內存映像的傳輸處理)。在內存映像的傳輸期間, 當出現對任何一除遷移對象VM之外的其它虛擬機的訪問(例如數據傳輸)時,與訪問相關的0FS4i根據設置在其自身中的流表格343中的流,執行對應於接收分組的頭數據的動作 (例如,數據的中繼處理)。在這種情況下,通過設置內存映像傳輸路由而不阻礙對其它與遷移不相關虛擬機的訪問,遷移對象VM可以被傳輸而不阻止與其它虛擬機的通信。
另一方面,在內存映像的傳輸期間(例如當用於遷移對象VM的數據被傳輸時)出現對遷移對象VM的訪問時,在到遷移對象VM的通信路由上的0FS4i,根據設置在其自己的流表格343中的流,執行對應於接收分組的頭數據的動作(例如,數據的中繼操作)。在本示範性實施例中,因為流是在假設遷移對象VM是運行在VMMlO或者VMM20上而設置的,所以用於遷移對象VM的數據被拷貝並被傳輸到在物理伺服器5上的遷移對象VM (遷移源VM) 和在物理伺服器6上的遷移目的地VM。遷移源VMMlO記錄為遷移對象VM而傳輸的數據在遷移對象VM的內存頁中。在這時,為遷移對象VM而傳輸的數據被存儲在遷移目的地VMM20 的遷移目的地VM的內存頁中。在內存映像的傳輸期間,有一種情況存在通過在進程處理中的遷移對象VM,基於為遷移對象VM而傳輸的數據內存頁被改變了。被改變的內存頁被作為複製對象而存儲在存儲單元的被改變頁記錄區域(步驟S208)。可取的是實施被改變頁的記錄處理,直到遷移目的地VM開始運行。自從那之後,從被改變頁(步驟S208)的記錄到遷移目的地VM的運行(步驟 S216),實施像第一示範性實施例那樣的處理。如前所提及,在第二示範性實施例的遷移方法中,像第一示範性實施例那樣,通過使用由集成管理裝置1指定的路由(內存映像傳輸路由),實施VM的內存映像的傳輸。在這時,因為依據在遷移之前設置到OFS組4的流,實施對遷移源VM的訪問,VM的內存映像可以被傳輸到遷移源VM而不停止通信。而且,因為內存映像傳輸路由可通過集成管理裝置 1隨意地設置,一路由可被選擇以不阻礙到另一虛擬機的通信。通過這樣,不影響與其它虛擬機通信的內存映像的傳輸變得可能。圖14為示出了第二示範性實施例中在虛擬機遷移處理時訪問目的地切換處理的序列圖。參見圖14,在第二示範性實施例的訪問目的地切換處理中,像在第一示範性實施例中那樣,首先實施步驟S301到步驟S303的通信路由選擇處理。接著,如在第一示範性實施例中所實施的那樣,在遷移準備處理時,實施用於遷移目的地VM的通信流設置到0FS4i的處理(步驟S304到S307)。所以,所述描述被省略。從那以後,像第一示範性實施例那樣,實施從用於在遷移目的地VM和虛擬交換機 21之間進行連接的流生成處理(步驟S308)到流設置處理(步驟S316)的流程。如前所提及,在第二示範性實施例中,在準備處理中,用於遷移源VM的流和用於遷移目的地VM的流被設置。所以,在從步驟S213中的遷移源VM停止到步驟S316中的流設置期間,用於遷移對象VM而傳輸的數據到達遷移目的地VM而不被丟棄。這樣,在本示範性實施例的計算機系統中,在虛擬機的遷移中可以防止分組丟失。而且,不會從外部網絡8 側故意進行虛擬機遷移。而且,在本示範性實施例中,在VM的遷移之後,對應於新通信路由(用於遷移目的地VM的通信路由)的流(用於遷移目的地VM的通信流)在遷移準備處理步驟中被設置。 因此,與第一示範性實施例中的新通信路由是在檢測到VM遷移之後建立相比,在本示範性實施例中建立新通信路由所需時間縮短了。第三示範性實施例接著,將參考圖15和圖16,描述在依據本發明的第三示範性實施例的計算機系統中的虛擬機遷移方法。圖15是示出了依據本發明的第三示範性實施例的計算機系統的配置的圖。參見圖15,在第三示範性實施例中的計算機系統具有一結構,在該結構中集成管理裝置1被從第一示範性實施例中的計算機系統中排除出去。於下,將描述與第一示範性實施例不同的操作。而且,通過使用相同的參考數字,描述與第一示範性實施例相同的操作。在第三示範性實施例中的虛擬機的遷移方法中,VM遷移的設置僅被實施到VM管理裝置2,並且0FC3檢測到虛擬機的遷移目的地,並實施流設置以改變數據傳輸目的地。所以,在第三示範性實施例中,通過集成管理裝置1對VM管理裝置2和0FC3的控制沒有實施。 也就是說,在第三示範性實施例中,不實施在VM管理裝置2和0FC3之間的合作。所以,在第三示範性實施例的虛擬機的遷移方法中,不像第一示範性實施例和第二示範性實施例那樣,不實施遷移準備流程。在內存映像的傳輸處理之前,管理者操作輸入單元(未示出)並指令VM管理裝置 2來執行VM遷移。在這時,其中有遷移對象VM運行的物理伺服器(或者虛擬機監控器)、 遷移對象VM和作為遷移目的地的物理伺服器(或者虛擬機監控器)被指明。不像第一和第二示範性實施例,VM管理裝置2響應於管理者的操作(指令)發布遷移指令到VMMlO和 VMM20。此後,像常規技術那樣,實施遷移對象VM的內存映像的傳輸處理。也就是說,實施在遷移目的地VMM中的VM生成流程,和到遷移目的地VM的遷移對象VM的內存映像的傳輸流程。在這時,通過與傳統技術相同的方法,實施在傳輸中被改變的內存頁記錄、所述改變等。當內存映像的傳輸完成時,如果在內存映像的傳輸期間被改變的內存頁的數量等於或者小於預定的數值,實施遷移源VM和遷移目的地VM的內存映像的匹配判決。當相互匹配時,遷移源VM停止,並且遷移目的地VM變到運行狀態。在另一方面,當被改變的內存頁的數量大於預定的數量時,實施被改變頁的重新發送,直到被改變頁的數量變得等於或者小於預定的數量。圖16是示出了第三示範性實施例中虛擬機的遷移操作時訪問目的地切換流程的序列圖。這裡,將描述從遷移源VM到遷移目的地VM20m的訪問目的地切換操作,並假設運行遷移目的地VM是VM20m。參見圖16,當產生在遷移目的地VMM20上的VM20m進入運行狀態時,VM20m首先實施RARP(反向地址解析協議)傳輸(步驟S501)。RARP被虛擬交換機21檢測並被傳輸到0FS4i。0FS4i檢測到所述RARP並向0FC3通告被檢測的RARP(步驟 S502)。詳細地說,所以0FS4i經RARP傳輸從進入運行狀態的遷移目的地接收分組數據,並向0FC3通告第一分組的接收,原因是與分組數據相合適的流(規則)沒有被設置。在這時,0FS4i向0FC3通告包含在分組數據中的MAC地址或者分組數據。0FC3選擇對應於被通告MAC地址的通信路由作為用於遷移目的地VM的通信路由,並產生用於遷移目的地VM的通信流。這裡,分組數據經RARP傳輸被從0FS4i所傳輸,並且經RARP傳輸而傳輸的VM20m 的MAC地址被0FC3所獲取。基於來自虛擬交換機21 (或者0FS4i)的RARP通告,0FC3檢測到開始操作的虛擬機的連接目的地(遷移目的地VM20m)的改變(步驟S503)。詳細地說,0FC3從保存的合法通信路由數據336中,查詢(提取)出對應於在步驟S502中被通告的RARP通告的通信路由(通信路由數據336)。明確地說,0FC3提取出帶有包含在被通告的RARP中的MAC地址作為一端點的通信路由(通信路由數據336)。接著,0FC3檢測到在被查詢(提取)出的通信路由上的作為端點的VM(或者物理伺服器)的連接目的地不同於接收RARP傳輸的虛擬交換機21(或者0FS4i)。因此,0FC3可以檢測到在運行狀態的虛擬機(遷移目的地VM20m)的連接目的地改變了。要注意的是,當物理伺服器5和6被連接到相同的0FS4i時,0FS4i 被連接至各個伺服器的埠是不同的。所以,通過檢測作為在0FC3中查詢(提取)到的通信路由上的端點的物理伺服器的連接目的地埠與接收RARP傳輸的交換機的連接目的地埠不同,虛擬機的遷移可以被檢測出來。當檢測到遷移目的地VM20m的連接目的地的改變時,0FC3在遷移目的地VM20m中複製與遷移源VM相關的通信路由(步驟S504到S516)。詳細地說,通過使用拓撲數據335, 0FC3計算一通信路由(用於遷移目的地VM的通信路由)(步驟S504),該通信路由是在不同於在步驟S503中查詢到的通信路由上的VM—側的端點與在步驟S502中檢測到RARP傳輸的端點之間的。計算出來的用於遷移目的地VM的通信路由的數據被保存為通信路由數據336。0FC3產生被設置到各個0FS4i的流(用於遷移目的地VM的通信流)(步驟S505), 其中所述各個0FS4i是在於步驟S504中計算出來的遷移目的地VM的通信路由上的。用於遷移目的地VM的通信流(規則444+行動數據445)針對各個0FS4i而產生,並被關聯到各個0FS4i,且保存在流表格334中。在這時,用於遷移目的地VM的通信流的設置數據446被設置為「未設置」和「無效」狀態。接著,0FC3設置在步驟S505處產生的遷移目的地VM的通信流,到在步驟S504中計算的通信路由上的虛擬交換機21和0FS4i (步驟S506到步驟S511)。詳細地說,0FC3提取在從通信路由數據336和拓撲數據335計算而來的遷移目的地VM的通信路由上的虛擬交換機21和0FS4i,並且0FC3發布對應於0FS4i和虛擬交換機21的遷移目的地VM的通信流的設置指令(步驟S506和S507)。0FS4i和虛擬交換機21,響應於用於遷移目的地VM的通信流的設置指令,設置傳輸的用於遷移目的地VM的通信流到其自己的流表格343 (步驟 S508和步驟S510)。接著,0FS4i結束流的設置,並且虛擬交換機21向0FC3通告流設置完成報告(步驟S509和S511)。設置到0FS4i和虛擬交換機21的遷移目的地VM的通信流的設置數據446被設置為「已經設置」和「合法」狀態。當確認了遷移目的地VM的通信流到0FS4i和虛擬交換機21的設置完成時,0FC3 選擇用於遷移源VM的流,並發布流的刪除指令(步驟S512和S513)。0FS4i和虛擬交換機 21設置對用於遷移源VM的流的刪除,以及設置使用不可能狀態(步驟S514)。當流的刪除結束時,0FS4i和虛擬交換機21向0FC3通告流刪除完成報告(步驟S515)。當確認了用於遷移源VM的通信路由上的0FS4i和節點中的用於遷移源VM的流被刪除時,0FC3設置用於遷移目的地VM的通信流為當前使用流,並設置用於遷移源VM的通信流為不使用的流(步驟S516)。這裡,顯示了使用或者沒有使用的狀態的數據被設置到對應各個流(規則444+ 行動數據44 的設置數據446。這時,沒有被使用的用於遷移源VM的通信流也可以從流表格334中刪除。但是,通過改變設置數據446來設置流的使用或者不使用而不刪除不使用的流,這樣在遷移虛擬機被遷移到初始物理伺服器或者VMM時,可以設置流而不再產生流。如前所述,在第三示範性實施例中,不可能通過0FC3控制內存頁的傳輸路由。但是,通過設置遷移對象VM和遷移目的地VMM僅到VM管理裝置2,這可能控制虛擬機的遷移和遷移目的地VM的訪問目的地的改變。也就是說,即使在第三示範性實施例的計算機系統中,VM遷移可以經一管理部被集成地控制。在第三示範性實施例中,根據RARP傳輸,實施用於遷移目的地VM的通信路由的計算和流生成。但是,可以根據在VMM之間的通信狀態,實施通信路由的計算和流生成。在這
19種情形下,0FC3監控在VMM之間的通信,並計算響應於內存頁的傳輸開始,變得合法的遷移目的地VM的通信路由,並產生將被設置到各個0FS4i和虛擬交換機21的流(規則444+行動數據445)。因此,在圖16中示出的步驟S501到S511的流程可以被刪除去。而且,因為從遷移源VM的停止到用於遷移目的地VM的通信流的設置的時間周期可以被縮減去,所以在上述時間周期中的分組丟失量可以被減少。第四示範性實施例圖17為示出了第四示範性實施例中的計算機系統的結構的圖。除了在第一和第二示範性實施例中的計算機系統,在第四示範性實施例中的計算機系統被進一步提供了一負載均衡器9,其被提供在外部網絡8和OFS組4之間。負載均衡器9在物理伺服器5和6中實施VMMlOl到VMMlOn,VMM201到VMM20m的負載分配。在第四示範性實施例中的計算機系統中,像第一到第三示範性實施例中的任意一個那樣實施VM遷移。但是,在第四示範性實施例中,集成管理裝置1或者VM管理裝置2 發布一指令到負載均衡器9,以便在VM遷移的執行被指令的步驟中不產生遷移源VM的處理(訪問)。以這種方式,因為被改變頁的記錄和傳輸被省略去,而且處理量被降低,VM遷移的時間被減少。而且,在遷移對象VM的內存頁的傳輸期間,遷移源VM的負載減少了。已經詳細地描述了本發明的示範性實施例。但是,所述的結構不限於是上述示範性實施例中的結構,在不超出本發明範圍的範圍內修改是被包含在本發明中的。例如,在第一、二、四示範性實施例中的VM遷移方法中,內存映像傳輸路由的QoS(服務質量)可以被設置為比其它通信具有更高的優先權。因此,用於VM遷移所需的時間被減少。或者,內存映像傳輸路由的QoS可以被設置為比其它通信具有更低的優先權。在這種情形下,VM遷移對其它通信的影響可以被減少。此外,在第一、二、四示範性實施例中的VM遷移的初步準備中(遷移準備處理),用於遷移目的地VM的通信路由的計算和用於遷移目的地VM的通信流的生成可以與內存映像的傳輸同時實施。因此,從網絡側的遷移準備處理時間可以被減少, 並且VM遷移的處理時間也被減少。0FC3通過使用由RARP傳輸所通告的MAC地址,實施「用於遷移目的地VM的通信路由的選擇」和「遷移目的地VM的改變的確認」。但是,本發明不是限於此的。例如,0FS4i 接收在遷移後、進入運行狀態的遷移目的地VM所傳輸的分組數據,並向0FC3通告第一分組的接收,原因是與所接收分組數據相適用的流(規則)沒有被設置。在這時,0FS4i向0FC3 通告分組數據的MAC地址。0FC3選擇對應於所通告的MAC地址的通信路由作為用於遷移目的地VM的通信路由,並且生成用於遷移目的地VM的通信流。或者,以相同的方式,0FC3提取出具有經第一分組的通告所獲取的MAC地址作為一端點的通信路由,並檢測出通信路由上作為端點的VM的連接目的地和接收分組數據的交換機不相同。因此,接收的連接目的地的改變可以被確認。這個專利申請主張基於申請號為JP2009-222857的日本專利申請的優先權。其揭示通過引用被合併於此。
權利要求
1.一種計算機系統,包括VM管理裝置,其被配置為指令運行在物理伺服器上的虛擬機遷移到管理所述虛擬機的虛擬機監控器和遷移目的地虛擬機監控器;控制器,其被配置為生成用於遷移目的地VM的通信流,作為控制用於所述遷移目的地虛擬機控制器的通信的通信流;和交換機,其被配置為當來自遷移已經完成的虛擬機的分組數據與設置到該交換機中的流所示的規則不相適應時,向所述控制器通告包含在分組數據中的第一數據;其中所述交換機基於用於遷移目的地VM的通信流所示的行動,傳輸遵循用於所述遷移目的地VM的通信流所示出的規則的所述虛擬機的分組數據到遷移目的地虛擬機。
2.根據權利要求1所述的計算機系統,其中,所述控制器設置對應於遷移對象的虛擬機的內存映像的傳輸路由的內存映像傳輸流,到所述交換機;並且其中所述交換機基於內存映像傳輸流所示的行動,傳輸遵循了由內存映像傳輸流示出的規則的內存映像到所述遷移目的地虛擬機。
3.根據權利要求2所述的計算機系統,進一步包括集成管理裝置,其配置為指明遷移對象虛擬機、所述遷移源虛擬機監控器和所述遷移目的地虛擬機監控器,並指令所述VM管理裝置和所述控制器實施所述虛擬機的遷移;其中所述控制器響應於所述指令,計算所述遷移對象虛擬機的內存映像的傳輸路由, 並生成將被設置到所述傳輸路由上的交換機上的內存映像傳輸流;並且其中所述VM管理裝置響應於所述指令,傳輸所述遷移對象虛擬機的內存映像到產生於所述遷移目的地虛擬機監控器上的虛擬機。
4.根據權利要求1或權利要求2所述的計算機系統,進一步包括集成管理裝置,其配置為指明所述遷移對象虛擬機、所述遷移源虛擬機監控器和所述遷移目的地虛擬機監控器,並向所述控制器發布虛擬機遷移指令,其中所述控制器響應於所述指令,計算用於所述遷移目的地虛擬機的通信路由,並生成將被設置到在所述通信路由上的交換機上的所述遷移目的地VM的通信流。
5.根據權利要求4所述的計算機系統,其中,所述控制器選擇用於所述遷移對象虛擬機的通信路由,將該通信路由的一個端點從所述遷移對象虛擬機改變為所述遷移目的地虛擬機,並設置用於所述遷移目的地虛擬機的通信路由。
6.根據權利要求5所述的計算機系統,其中,所述控制器基於來自於從運行的虛擬機接收RARP(反向地址解析協議)的交換機的通告,從所保存的通信路由中選擇用於所述遷移目的地虛擬機的通信路由,並且所述控制器從所保存的流中選擇將被設置到在所選擇通信路由上的交換機的所述遷移目的地VM的通信流,並且設置所選擇的流到在所選擇通信路由上的所述交換機。
7.根據權利要求1所述的計算機系統,其中,基於檢測到了運行虛擬機的RARP(反向地址解析協議)傳輸的交換機,與在已被從所保存通信路由中提取出的通信路由中的端點之間的不同,所述控制器檢測到所述虛擬機的連接目的地的改變。
8.根據權利要求7所述的計算機系統,其中,基於運行虛擬機的RARP傳輸中包含的 MAC地址,所述控制器從被保存的通信路由中提取通信路由,並計算在所提取通信路由中的虛擬機不同一側的端點和檢測了 RARP傳輸的端點之間的通信路由,以作為用於遷移目的地虛擬機的通信路由,並生成將被設置到所述通信路由上的交換機的遷移目的地VM的通信流。
9.根據權利要求1到8中任一權利要求所述的計算機系統,其中,所述控制器基於拓撲數據設置通信路由,並指明在所述被設置通信路由上的交換機,並保存對應於所述被指明交換機的規則和行動到流表格,以作為到指定交換機的流。
10.根據權利要求1到9中任一權利要求所述的計算機系統,其中,所述規則是基於包含在基於TCP/IP(傳輸控制協議/網際網路協議)的分組數據的頭數據中的OSI (開放式系統互聯)參考模型的標識符1和層1到層4的地址的組合進行規定的。
11.一種虛擬機的遷移方法,包括指令運行在物理伺服器上的虛擬機從VM管理裝置遷移到管理所述虛擬機的虛擬機監控器和遷移目的地虛擬機監控器;通過一控制器生成用於遷移目的地VM的通信流,作為用於控制所述遷移目的地虛擬機控制器的通信的流;當接收自遷移已經完成的虛擬機的分組數據與設置到交換機中的流所示的規則不相適應時,向所述控制器通告包含在分組數據中的第一數據;和所述交換機基於用於遷移目的地VM的通信流所示的行動,向遷移目的地虛擬機傳輸遵循用於所述遷移目的地VM的通信流所示出的規則的所述虛擬機的分組數據。
12.根據權利要求11所述的遷移方法,進一步包括所述控制器設置對應於遷移對象虛擬機的內存映像傳輸路由的內存映像傳輸流到所述交換機;並且所述交換機基於所述內存映像傳輸的流所示的行動,傳輸遵循了由所述內存映像傳輸流示出的規則的內存映像到所述遷移目的地虛擬機。
13.根據權利要求12所述的遷移方法,進一步包括所述集成管理裝置指明遷移對象虛擬機、所述遷移源虛擬機監控器和所述遷移目的地虛擬機監控器,並指令所述VM管理裝置和所述控制器進行虛擬機的遷移;所述控制器響應於所述指令,計算被指明遷移對象虛擬機的內存映像的傳輸路由; 所述控制器生成將被設置到所述傳輸路由上的交換機上的內存映像傳輸流;並且所述VM管理裝置響應於所述指令,傳輸所述被指明遷移對象虛擬機的內存映像到產生於所述遷移目的地虛擬機監控器上的虛擬機。
14.根據權利要求11或權利要求12所述的遷移方法,進一步包括所述集成管理裝置指明所述遷移對象虛擬機、所述遷移源虛擬機監控器和所述遷移目的地虛擬機監控器,並向所述控制器發布虛擬機的遷移指令;所述控制器響應於所述指令,計算用於所述遷移目的地虛擬機的通信路由;和所述控制器生成將被設置到在所述通信路由上的交換機上的所述遷移目的地VM的通信流。
15.根據權利要求14所述的遷移方法,其中,所述計算用於所述遷移目的地虛擬機的通信路由包括所述控制器選擇所述遷移對象虛擬機的通信路由;和所述控制器將所選擇的通信路由的一個端點由所述遷移對象虛擬機改變為所述遷移目的地虛擬機,以設置用於所述遷移目的地虛擬機的通信路由。
16.根據權利要求15所述的遷移方法,進一步包括所述控制器基於來自運行的虛擬機接收RARP(反向地址解析協議)交換機的通告,從所保存的通信路由中選擇用於所述遷移目的地虛擬機的通信路由;所述控制器從所保存的流中選擇將被設置到在所選擇通信路由上的交換機的所述遷移目的地VM的通信流;和所述控制器設置用於所選擇的遷移目的地VM的通信流到在所選擇通信路由上的交換機。
17.根據權利要求11所述的遷移方法,進一步包括基於檢測到運行虛擬機的RARP (反向地址解析協議)傳輸的交換機與在從所保存通信路由中提取出的通信路由中的端點之間的不同,所述控制器檢測到所述虛擬機的連接目的地的改變。
18.根據權利要求17所述的遷移方法,進一步包括基於運行虛擬機的RARP傳輸中包含的MAC地址,所述控制器從所保存的通信路由中提取通信路由;所述控制器計算在所提取通信路由中的虛擬機不同一側的端點和檢測了 RARP傳輸的端點之間的通信路由,以作為用於遷移目的地虛擬機的通信路由;和所述控制器生成將被設置到所述通信路由上的交換機的遷移目的地VM的通信流。
19.根據權利要求11到18中任一權利要求所述的遷移方法,其中,所述規則是基於包含在基於TCP/IP(傳輸控制協議/網際網路協議)的分組數據的頭數據中的OSI (開放式系統互聯)參考模型的標識符和層1到層4的地址的組合進行規定的。
全文摘要
本發明的計算機系統提供有OpenFlow控制器3和交換機4i。當來自遷移已經完成的虛擬機的分組數據與設置到該交換機4i中的流所示的規則不相適應時,交換機4i向OpenFlow控制器3通告包含在分組數據中的MAC地址。OpenFlow控制器3設置用於遷移目的地VM的通信流,該通信流是根據向交換機4i通告的MAC地址生成的。交換機4i基於用於遷移目的地VM的通信流所示的行動445,傳輸遵循用於所述遷移目的地VM的通信流所示出的規則444的所述虛擬機的分組數據到遷移目的地虛擬機。
文檔編號G06F11/30GK102576343SQ20108004353
公開日2012年7月11日 申請日期2010年9月22日 優先權日2009年9月28日
發明者大和純一, 蘆原浩司 申請人:日本電氣株式會社

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀