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

遷移虛擬機的方法和裝置的制作方法

文檔序號:6423057閱讀:155來源:國知局
專利名稱:遷移虛擬機的方法和裝置的制作方法
技術領域
本發(fā)明涉及虛擬機的遷移,更具體而言,涉及將虛擬機進行跨站點遷移的方法和
>J-U裝直。
背景技術
為了提高數據存儲的安全性和持續(xù)性,越來越多的企業(yè)選擇建立跨站點(crosssite)的數據中心,由此防止災害發(fā)生或者進行負載的調整和平衡。另一方面,隨著虛擬化技術的發(fā)展,許多數據中心采用虛擬機來執(zhí)行并管理。在進行站點維護、功率調整、平衡站 點之間的負載等多種情況下,都需要對站點中承載的虛擬機進行遷移,也就是將虛擬機從一個物理系統遷移到一個不同的物理系統。然而,如何使得虛擬機進行遷移而不影響其上的應用和服務成為值得研究的問題。多數提供主機虛擬化的公司都具有其特定的虛擬機遷移工具。例如,PowerVM提供了一種虛擬機遷移功能,能夠將運行中的虛擬機移動到不同的物理系統,而不產生當機時間。VMware具有類似的虛擬機遷移工具,稱為VMotion。然而,以上兩種遷移工具都要求遷移前后的物理機之間米用 SAN(storage area network),NAS(network-attached storage)之類的集中式共享外存設備。這樣的要求將虛擬機的遷移局限在同一站點之內,而無法實施跨站點的遷移。進一步地,為了克服上述局限性,一些專利還提出了其他的解決方案來進行跨站點的虛擬機遷移。在一個方案中提出,可以將虛擬機掛起并鏡像成為一個映像,然后通過網絡復制該映像,最后在另一計算機系統中重新啟動該映像,從而實現虛擬機的遷移。然而,上述過程是一個先停止再復制的過程,會明顯地中斷虛擬機的運行,造成虛擬機上的應用或服務中斷或超時。在另一種方案中提出,在主機之間動態(tài)建立光通路,從而通過光網絡來將一個虛擬機從源站點遷移到目標站點。但是,該方案需要在每個虛擬機上安裝可調的控制代理,并要求在主機之間具有S0NET/SDH或DWDM連接來復制內存和磁盤中的數據??梢岳斫猓谔摂M機遷移的同時,希望各個應用和服務仍在運行,因此磁盤上仍然存在數據的讀寫和改變。當磁盤的數據改變速率高于網絡復制速率時,就會有一部分數據無法被復制到目標站點,從而造成數據丟失。因此,該方案無法解決數據的一致性問題,這對于虛擬機遷移的安全性非常不利。

發(fā)明內容
考慮到上述問題,指出本發(fā)明,旨在提供一種跨站點的虛擬機遷移方案。根據本發(fā)明第一方面,提供一種切換管理設備,用于在虛擬機的異步遷移中基于虛擬機內存數據的遷移協助進行虛擬機存儲數據的切換,其中所述存儲數據的切換是將存儲數據從第一站點中的第一存儲設備切換到第二站點中的第二存儲設備,其中第一存儲設備和第二存儲設備之間建立有同步鏡像關系,所述設備包括通信單元,配置為在按照路徑表訪問第一存儲設備失敗時,發(fā)出訪問失敗報告;鏡像修改單兀,配置為響應于所述失敗報告,修改第一存儲設備和第二存儲設備之間的鏡像方向;通知單元,配置為發(fā)出路徑修改通知,要求更改到第二存儲設備的路徑設置;路徑修改單元,配置為根據所述路徑修改通知,通過修改路徑表來激活到第二存儲設備的路徑,使得第二存儲設備能夠被訪問。根據本發(fā)明第二方面,提供一種硬件管理裝置,用于在虛擬機的異步遷移中協助進行虛擬機內存數據的遷移以作為虛擬機存儲數據切換的基礎,其中所述內存數據的遷移是將內存數據從第一站點中的第一主機遷移到第二站點中的第二主機,其中第一站點還包括第一存儲設備,第二站點還包括第二存儲設備,所述第一存儲設備和第二存儲設備之間建立有同步鏡像關系,所述裝置包括接收單元,配置為接收遷移指令和第二站點的信息;復制單元,配置為指示第一主機將虛擬機的內存數據復制到所述第一存儲設備中的子邏輯單元,所述子邏輯單元在所述第二存儲設備中存在鏡像邏輯單元;通知單元,配置為根據所述第二站點的信息發(fā)出通知,所述通知用于指示第二主機從所述鏡像邏輯單元讀取內存數據。在本發(fā)明的其他方面還提供了與上述方面對應的方法。
根據本發(fā)明的裝置和方法,利用同步鏡像方式實現虛擬機數據的遷移和切換,從而實時地在不同站點之間遷移虛擬機,而不影響虛擬機及其應用的運行。


圖I示出根據本發(fā)明一個實施例的系統的架構圖;圖2示出根據本發(fā)明一個實施例的硬件管理裝置的示意框圖;圖3示出根據本發(fā)明一個實施例的內存復制示意圖;圖4示出根據本發(fā)明一個實施例的鏡像管理裝置的示意框圖;圖5示出根據本發(fā)明一個實施例的路徑管理裝置的示意框圖;圖6示出在一個具體例子中鏡像管理裝置和路徑管理裝置的交互示意圖;圖7示出根據本發(fā)明一個實施例的切換管理設備的示意圖;圖8示出根據本發(fā)明一個實施例的遷移內存數據的方法的流程圖;以及圖9示出根據本發(fā)明一個實施例的切換存儲數據的方法的流程圖。圖10示出了適于用來實現本發(fā)明實施方式的示例性計算系統1000的框圖。
具體實施例方式所屬技術領域的技術人員知道,本發(fā)明的多個方面可以體現為系統、方法或計算機程序產品。因此,本發(fā)明的多個方面可以具體實現為以下形式,即,可以是完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等)、或者本文一般稱為“電路”、“模塊”或“系統”的軟件部分與硬件部分的組合。此外,本發(fā)明的多個方面還可以采取體現在一個或多個計算機可讀介質中的計算機程序產品的形式,該計算機可讀介質中包含計算機可用的程序碼??梢允褂靡粋€或多個計算機可讀的介質的任何組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是一但不限于——電的、磁的、光的、電磁的、紅外線的、或半導體的系統、裝置、器件或任何以上的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括以下有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任何合適的組合。在本文件的語境中,計算機可讀存儲介質可以是任何包含或存儲程序的有形的介質,該程序被指令執(zhí)行系統、裝置或者器件使用或者與其結合使用。計算機可讀的信號介質可包括在基帶中或者作為載波一部分傳播的、其中體現計算機可讀的程序碼的傳播的數據信號。這種傳播的信號可以采用多種形式,包括——但不限于——電磁信號、光信號或任何以上合適的組合。計算機可讀的信號介質可以是并非為計算機可讀存儲介質、但是能發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統、裝置或者器件使用或者與其結合使用的程序的任何計算機可讀介質。計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括——但不限于——無線、電線、光纜、RF等等,或者任何合適的上述組合。計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括一但不限于——無線、電線、光纜、RF等等,或者任何合適的上述組合。
用于執(zhí)行本發(fā)明的操作的計算機程序碼,可以以一種或多種程序設計語言的任何組合來編寫,所述程序設計語言包括面向對象的程序設計語言-諸如Java、Smalltalk、C++之類,還包括常規(guī)的過程式程序設計語言-諸如”C”程序設計語言或類似的程序設計語言。程序碼可以完全地在用戶的計算上執(zhí)行、部分地在用戶的計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶的計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在后一種情形中,遠程計算機可以通過任何種類的網絡一包括局域網(LAN)或廣域網(WAN)-連接到用戶的計算機,或者,可以(例如利用因特網服務提供商來通過因特網)連接到外部計算機。以下參照按照本發(fā)明實施例的方法、裝置(系統)和計算機程序產品的流程圖和/或框圖描述本發(fā)明的多個方面。要明白的是,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,使得通過計算機或其它可編程數據處理裝置執(zhí)行的這些指令,產生實現流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。也可以把這些計算機程序指令存儲在能指令計算機或其它可編程數據處理裝置以特定方式工作的計算機可讀介質中,這樣,存儲在計算機可讀介質中的指令產生一個包括實現流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruction means)的制造品。也可以把計算機程序指令加載到計算機或其它可編程數據處理裝置上,使得在計算機或其它可編程數據處理裝置上執(zhí)行一系列操作步驟,以產生計算機實現的過程,從而在計算機或其它可編程裝置上執(zhí)行的指令就提供實現流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。下面參照附圖,結合具體實施例對本發(fā)明進行描述。這樣的描述僅僅出于說明目的,而不意圖對本發(fā)明的范圍進行限制。在本發(fā)明的多個實施例中,通過數據的同步鏡像(Metro Mirror)和切換(swap),實現虛擬機的實時(live)跨站點遷移。一般來說,虛擬機的遷移主要包括操作系統的遷移和存儲數據的遷移,同時照顧主機級別的差異并處理不同的虛擬硬件。上述操作系統的遷移包括將與虛擬機的運行相關的重要數據進行復制或移動。只有將這些數據從源站點遷移到目標站點,才能使得虛擬機在目標站點的主機中啟動。這樣的數據例如包括,操作系統中的進程、系統狀態(tài)、系統上運行的應用的狀態(tài)等,這些數據一般存儲在主機的內存之中。因此,通常也將操作系統的遷移稱為內存的遷移或主機的遷移。另一方面,存儲數據的遷移主要包括將存儲在大容量非易失性存儲設備(例如磁盤)中的數據從源站點遷移到目標站點。通常,這樣的遷移也稱為存儲設備的遷移。對于實時遷移來說,希望運行在源站點中的虛擬機能夠在極短的時間內遷移到目標站點并啟動,也就是說,要將內存中的數據和存儲設備中的數據都復制到目標站點,并盡可能不影響虛擬機的運行。為了滿足這樣的遷移速度的要求,可以采用同步鏡像方式預先在源站點的存儲設備和目標站點的存儲設備之間建立鏡像關系,從而實現數據的復制和備份。在同步鏡像的方案中,來自主機的數據被寫往本地連接的磁盤系統,該磁盤系統同時將數據轉發(fā)給遠程連接的磁盤系統。只有當兩個磁盤系統都擁有數據的拷貝以后,本地系統才會向主機返回一個I/o完成指示。由此,在同步鏡像方案下,本地存儲設備和遠程的備用存儲設備都會保持最新的更新。通常來說,具有同步鏡像關系的磁盤系統之間通過光纖網絡進行數據傳輸,從而實現高速數據復制。在一種執(zhí)行方式下,通過鏡像管理裝置來管理存儲設備的鏡像關系。為了利用同步鏡像方式完成虛擬機的遷移,在本發(fā)明的實施例中,可以提供改進的硬件管理裝置來進行內存數據的復制和遷移。在此基礎上,本發(fā)明實施例還提供鏡像管理裝置和路徑管理裝置,這些裝置互相通信,彼此協作,從而協助進行虛擬機的存儲數據的切換。相對于將整個虛擬機作為一個映像進行傳輸的方案來說,分別進行內存數據的遷移和存儲數據的切換的虛擬機遷移方案可以稱為虛擬機的異步遷移。
圖I示出根據本發(fā)明一個實施例的系統的架構圖。如圖所示,虛擬機最初運行在源站點1000,或稱第一站點的主機之中,并向源站點中本地連接的存儲設備(或稱源存儲設備或第一存儲設備)讀寫數據。相應地,在第二站點2000,或稱目標站點中提供了對應的主機和存儲設備,分別稱為第二主機和第二存儲設備。為了將虛擬機從第一站點遷移到第二站點,在第一存儲設備和第二存儲設備之間建立同步鏡像關系。獨立于第一主機和第二主機,提供鏡像管理裝置20,通過管理數據的鏡像和切換,協助進行虛擬機的遷移。并且,與站點內的主機相對應地提供硬件管理裝置10,通過管理內存數據的復制來協助進行虛擬機的遷移。因此,第一主機和第二主機各自具有對應的硬件管理裝置10,它們之間可以互相通信。每個硬件管理裝置可以直接指示對應的主機執(zhí)行特定的操作。進一步地,在主機上所運行的虛擬機中安裝路徑管理裝置30,通過管理存儲設備的訪問路徑來協助進行虛擬機的遷移。以下具體描述各個裝置的工作方式。硬件管理裝置10與主機相對應,用以管理該主機中包括內存在內的硬件系統,協助實現內存的復制。在一個實施例中,硬件管理裝置可以通過在現有技術的硬件管理控制臺(Hardware Manage Console, HMC)的基礎上擴展功能而實現。在一個實施例中,硬件管理裝置10配置為利用光纖網絡實現內存數據的復制。盡管相比于磁盤數據來說內存數據并不算太大,但是如果通過常規(guī)以太網進行傳輸,仍然會造成較大的網絡負擔,并且難以保證實時遷移所要求的短時間內的快速復制。因此,硬件管理裝置10可以利用以太網進行常規(guī)的信號通信,而利用光纖網絡進行內存數據的復制。圖2示出根據本發(fā)明一個實施例的硬件管理裝置的示意框圖。如圖所示,硬件管理裝置10包括接收單元12,復 制單元14和通知單元16。具體地,在一個例子中,接收單元12可以作用為接口,配置為接收遷移指令和第二站點的信息。由此,用戶可以在需要遷移虛擬機時,通過接收單元12發(fā)出遷移指令,并指明遷移的目標站點的信息。例如,用戶可以指定目標主機的IP地址或其他標識信息,使得硬件管理裝置10能夠確定遷移的目的地。接著,硬件管理裝置10根據獲得的第二站點的信息,通過常規(guī)方式與第二主機所對應的硬件管理裝置,進而與第二主機進行信號通信,為數據的復制進行網絡方面的準備。之后,復制單元14根據第二站點的信息,指示第一主機通過光纖網絡將內存中的數據直接復制到第二站點,更具體地,復制到第二站點中的第二主機中。在復制完成后,通知單元16通過第二主機對應的硬件管理裝置向第二主機發(fā)出通知,通知其讀取內存數據,從而啟動虛擬機的操作系統。在另一實施例中,硬件管理裝置10利用已經建立的同步鏡像關系來進行內存的復制。圖3示出根據本發(fā)明一個實施例的內存復制示意圖。在圖中,第一站點中的第一存儲設備已經與第二站點中的第二存儲設備建立了同步鏡像關系。如本領域人員所知,每個存儲設備包括多個邏輯單元,通常用LUN(logical unit number)來指代。存儲設備之間的同步鏡像關系實際上是由各個邏輯單元LUN之間的同步鏡像關系構成的。根據圖3的復制方案,在第一站點的第一存儲設備中設立一塊小容量的子邏輯單元,如LUNls所示,其大小與虛擬機的內存大小相當。在此基礎上,硬件管理裝置10中的復制單元14配置為,響應于遷移指令,指示第一主機將虛擬機的內存信息復制到該子邏輯單元LUNls。由于第一存儲設備和第二存儲設備之間已經建立了同步鏡像關系,因此內存數據在復制到LUNls的同時,會通過光纖網絡寫入第二存儲設備中與LUNls相對應的鏡像單元LUN2s。于是,在LUN2s中就存在了仍然在第一主機中運行的虛擬機的內存數據。在完成內存復制之后,通知單元16根據上述的第二站點的信息,向第二主機對應的硬件管理裝置發(fā)出通知,第二主機對應的硬件管理裝置于是向第二主機發(fā)出指示,指示其從第二存儲設備讀取鏡像單元LUN2s中的數據。由此,第二主機就能夠從本地連接的第二存儲設備中讀取LUN2s中的數據作為內存數據,并基于這些內存數據啟動虛擬機。在以上配置方案中,復制單元14首先指示第一主機將內存數據復制到第一存儲設備;由于第一主機和第一存儲設備是本地連接的,因此這個復制過程非??焖佟_M一步地,基于第一存儲設備和第二存儲設備之間的同步鏡像關系,數據同時被寫入第二存儲設備。由于同步鏡像關系是預先設立完成的,因此這個寫入過程復用了已經構建好的同步鏡像光纖網絡,速度快且效率高。接著,通知單元16通過第二主機對應的硬件管理裝置向第二主機發(fā)出讀取數據的通知。如上所述,這樣的通知信號可以通過以太網來傳輸。在接收到通知信號之后,第二主機就可以從第二存儲設備中讀取數據了。同樣地,由于第二主機和第二存儲設備是本地連接的,因此這個讀取過程也非常迅速。因此,在這個配置方案中,盡管內存數據不是直接復制到第二主機而是借由存儲設備之間的鏡像來完成,但是,由于每個數據傳遞過程都非??焖伲⑶依昧艘呀洏嫿ǖ墓饫w網絡,因此復制效率也很高。在一個實施例中,復制單元14指示主機分步驟地進行內存的復制。例如,復制單元14首先指示主機復制內存數據中的核心數據,也就是,啟動虛擬機的操作系統所必須的最重要的數據;然后,復制其余的補充數據,例如狀態(tài)數據?,F有技術中已經存在多種算法和方案來判定和區(qū)分核心數據。復制單元14可以利用這樣的現有技術在內存數據中選擇出核心數據,并優(yōu)先對核心數據進行復制。由此,操作系統相關數據可以在盡量短的時間內得到遷移,因此虛擬機可以盡快地在目標主機中開始啟動,從而縮短停機時間。通過上述實施例的硬件管理裝置10,虛擬機的內存數據從第一主機復制到了第二主機。于是,虛擬機的操作系統會在第二主機中重新啟動。然而,此時,當虛擬機試圖訪問相關聯的存儲設備時,就會出現訪問失敗的情況。這是因為,虛擬機的內存數據只是復制到了第二主機中,操作系統中的相關配置并未發(fā)生改變。因此,在第二主機上重新啟動的虛擬機會按照原有配置運行操作系統??梢岳斫?,按照原有配置,第一存儲設備是本地連接的存儲設備,操作系統可以直接訪問其中的LUN。因此,在操作系統已經遷移到第二主機的情況下,虛擬機仍然會將第一存儲設備作為默認的本地存儲設備,利用原有路徑試圖進行訪問。然而,由于第二主機和第一存儲設備并不位于同一站點,顯然,這樣的訪問不會獲得成功。這時,就需要更改相關配置信息,切換存儲設備,才能使得虛擬機正常工作。
為了將存儲設備從第一站點切換到第二站點,在本發(fā)明一個實施例中,對圖I中的鏡像管理裝置20和路徑管理裝置30進行配置,使其互相協作,共同完成存儲設備的切換。具體地,在一個實施例中,鏡像管理裝置20通過在現有的鏡像管理裝置,例如IBM的TPC_R(Total Productivity Center for Replication)的基礎上進行功能擴展而實現?;蛘撸R像管理裝置20也可以完全獨立于現有鏡像管理裝置而實現。作為鏡像管理的基本功能,裝置20維持并保存有第一存儲設備和第二存儲設備之間的鏡像關系。為了協助進行存儲數據的切換,鏡像管理裝置20進ー步配置為圖4所示的結構。圖4示出根據本發(fā)明一個實施例的鏡像管理裝置的示意框圖。如圖所示,鏡像管理裝置20包括鏡像修改単元22,配置為響應于接收到的第一存儲設備訪問失敗的失敗報告,修改第一存儲設備和第二存儲設備之間的鏡像方向;以及通知単元24,配置為發(fā)出路徑修改通知,要求更改到第二存儲設備的路徑設置。與鏡像管理裝置20相互通信的是路徑管理裝置30。在一個實施例中,路徑管理裝置30可以基于現有的路徑管理裝置,例如SDD,來進行功能擴展。SDD(Multipath SubsystemDevice Driver)是ー種支持多路徑(Multipath)配置環(huán)境的工具,提供從主機到存儲設備的驅動和連接。通過SDD,主機可以通過多個數據通道同時訪問同一個邏輯単元LUN?;蛘?,路徑管理裝置30也可以完全獨立于現有路徑管理裝置而實現。為了協助進行存儲數據的切換,路徑管理裝置30進ー步配置為圖5所示的結構。圖5示出根據本發(fā)明一個實施例的路徑管理裝置的示意框圖。如圖所示,路徑管理裝置30包括通信単元32,配置為在按照路徑表訪問第一存儲設備失敗時,發(fā)送訪問失敗報告,并接收路徑修改通知;以及路徑修改単元34,配置為根據獲得的路徑修改通知,通過修改路徑表來激活到第二存儲設備的偽路徑,使得第二存儲設備能夠被訪問。下面結合具體例子來描述鏡像管理裝置和路徑管理裝置的具體執(zhí)行方式。圖6示出在ー個具體例子中鏡像管理裝置和路徑管理裝置的交互示意圖。為了對鏡像關系進行記錄和管理,鏡像管理裝置20中可以包含一個鏡像存儲單元(未示出),用于存儲當前的鏡像關系。另ー方面,路徑管理裝置30可以包含一個路徑表維持單元(未示出),用于維持路徑表,路徑表中記錄指向存儲設備中各個LUN的多個路徑的信息。在圖6的例子中,在第一存儲設備中包含LUN A,在第二存儲設備中包含LUN B。假定最初,第一存儲設備和第二存儲設備之間還未建立同步鏡像關系,并且虛擬機位于第一站點中。這時,由于虛擬機還未開始遷移,路徑管理裝置30位于第一主機中。因此,路徑管理裝置30的路徑表中僅記錄有指向本地連接的LUN A的路徑。此時的路徑表如下所示
DEV#: O DEVICE NAME: hdiskO TYPE: 2107900 ALGORITHM: Load Balance SERIAL: 75022812202 * * indicates the volume where I/O routed to
Path# Adapter/Path Name State Mode Select Errors
0vscsiO/pathO OPEN NORMAL 108583 0
1vscsiO/pathl OPEN NORMAL 108267 0 一旦LUN A和LUN B建立了同步鏡像關系,鏡像管理裝置20中的鏡像存儲單元就會對這樣的信息進行記錄。具體地,鏡像管理裝置20會記錄LUN B的信息以及鏡像的方向,例如,LUN A是主邏輯單元,LUN B是備份邏輯單元,如實線箭頭所示。并且,鏡像管理裝置20會與路徑管理裝置30進行通信,通知其鏡像關系的建立。響應于這樣的通知,路徑管理裝置30中的路徑表維持單元在其路徑表中創(chuàng)建出一個“偽路徑”,也就是指向LUN B的路徑。此時的路徑表如下所示
DEVftO DEVICE NAME: hdiskO TYPE: 2107900 ALGORITHM: Load Balance SESSION: newsession
PRIMARY SERIAL: 75022812202 ** indicates the volume where I/O routed to
Path#Adapter/Path NameStateMode Select Errors
0vscsiO/pathOOPENNORMAL 1085830
1vscsi 0/path IOPENNORMAL 1082670SECONDARY SERIAL: 75022811752
Path#Adapter/Path NameStateModeSelect Errors
2vscsi 0/path2CLOSE INACTIVE〇0
3vscsi 0/path3CLOSEINACTIVE00在上述路徑表中,路徑0/1是到LUN A的路徑(序號75022812202),路徑2/3是到LUN B的路徑(序號75022811752)。由于LUN B和LUN A之間的同步鏡像關系,因此,在一個實施例中,路徑管理裝置30可以將其分組到一起,識別為磁盤hdiskO。由于當前路徑管理裝置30位于第一主機中,與第一存儲設備本地連接,因此這吋,LUN A是可以訪問的(狀態(tài)為normal), LUN B不能訪問(狀態(tài)為inactive)。因此,指向LUN B的路徑可以稱為偽路徑。隨著虛擬機內存數據的遷移(利用上述的硬件管理裝置),操作系統遷移到第二主機上。由于路徑管理裝置30安裝在虛擬機中,因此也隨著操作系統的遷移轉移到了第二主機上。如上所述,此時,當第二主機通過路徑管理裝置30訪問關聯的存儲設備時,會按照上述路徑表將LUN A識別為主邏輯單元。然而,由于LUN A與第二主機并不是本地連接,這樣的訪問就會失敗。于是,路徑管理裝置30獲得ー個失敗報告,并通過通信単元32將該LUN A訪問失敗的報告發(fā)送給鏡像管理裝置20。鏡像管理裝置20接收到LUN A訪問失敗報告之后,從鏡像存儲單元讀取所維持的與LUN A相關的鏡像關系,并通過鏡像修改単元22對其進行修改。更具體而言,在所維持的原有鏡像關系中,LUN A是主邏輯單元,LUN B是備份邏輯單元,數據寫入的方向是從LUNA到LUN B。響應于對LUN A訪問失敗的報告,鏡像修改單元22修改鏡像關系的方向,將LUNB作為主邏輯單元,LUN B作為備份邏輯單元,使得數據從LUN B寫入LUN A,如虛線箭 頭所示。并且,鏡像管理裝置20利用通知単元24向路徑管理裝置30發(fā)出路徑修改通知,要求更改到LUN B的路徑設置。于是,路徑管理裝置30中的通信單元32獲取到路徑修改通知,其中包含與LUN B相關的信息。根據該路徑修改通知,路徑修改単元34對原有路徑表進行修改,激活到LUN B的偽路徑,使其能夠被訪問。具體而言,路徑修改単元34進ー步將路徑表修改為如下的形式
權利要求
1.一種切換管理設備,用于在虛擬機的異步遷移中基于虛擬機內存數據的遷移協助進行虛擬機存儲數據的切換,其中所述存儲數據的切換是將存儲數據從第一站點中的第一存儲設備切換到第二站點中的第二存儲設備,其中第一存儲設備和第二存儲設備之間建立有同步鏡像關系,所述切換管理設備包括 通信單元,配置為在按照路徑表訪問第一存儲設備失敗時,發(fā)出訪問失敗報告; 鏡像修改單元,配置為響應于所述失敗報告,修改第一存儲設備和第二存儲設備之間的鏡像方向; 通知單元,配置為發(fā)出路徑修改通知,要求更改到第二存儲設備的路徑設置; 路徑修改單元,配置為根據所述路徑修改通知,通過修改路徑表來激活到第二存儲設備的路徑,使得第二存儲設備能夠被訪問。
2.根據權利要求I的切換管理設備,還包括鏡像存儲單元,配置為響應于所述同步鏡像關系的建立,存儲所述第一存儲設備和第二存儲設備之間的同步鏡像關系,其中所述第一存儲設備為主存儲設備,第二存儲設備為備份存儲設備,數據從第一存儲設備寫往第二存儲設備。
3.根據權利要求2的切換管理設備,其中鏡像修改單元配置為,修改所述同步鏡像關系中的鏡像方向,使得所述第二存儲設備成為主存儲設備,所述第一存儲設備成為備份存儲設備,數據從第二存儲設備寫往第一存儲設備。
4.根據權利要求2的切換管理設備,還包括路徑表維持單元,配置為與所述鏡像存儲單元通信,從而響應于同步鏡像關系的建立,在路徑表中創(chuàng)建到第二存儲設備的路徑,其中指向第一存儲設備的路徑被設定為可用,指向第二存儲設備的路徑被設定為不可用。
5.根據權利要求4的切換管理設備,其中所述路徑修改單元配置為,根據所述路徑修改通知修改所述路徑表,將指向第一存儲設備的路徑設定為不可用,將指向第二存儲設備的路徑設定為可用。
6.一種硬件管理裝置,用于在虛擬機的異步遷移中協助進行虛擬機內存數據的遷移以作為虛擬機存儲數據切換的基礎,其中所述內存數據的遷移是將內存數據從第一站點中的第一主機遷移到第二站點中的第二主機,其中第一站點還包括第一存儲設備,第二站點還包括第二存儲設備,所述第一存儲設備和第二存儲設備之間建立有同步同步鏡像關系,所述裝置包括 接收單元,配置為接收遷移指令和第二站點的信息; 復制單元,配置為指示第一主機將虛擬機的內存數據復制到所述第一存儲設備中的子邏輯單元,所述子邏輯單元在所述第二存儲設備中存在鏡像邏輯單元; 通知單元,配置為根據所述第二站點的信息發(fā)出通知,所述通知用于指示第二主機從所述鏡像邏輯單元讀取內存數據。
7.根據權利要求6的硬件管理裝置,其中所述通知單元利用以太網發(fā)出通知,所述同步同步鏡像關系利用光纖網建立。
8.根據權利要求6的硬件管理裝置,其中所述子邏輯單元的大小與所述虛擬機內存大小相當。
9.根據權利要求6的硬件管理裝置,其中所述復制單元進一步配置為指示第一主機首先復制內存數據中的核心數據,然后復制其余的補充數據。
10.一種切換管理方法,用于在虛擬機的異步遷移中基于虛擬機內存數據的遷移協助進行虛擬機存儲數據的切換,其中所述存儲數據的切換是將存儲數據從第一站點中的第一存儲設備切換到第二站點中的第二存儲設備,其中第一存儲設備和第二存儲設備之間建立有同步同步鏡像關系,所述方法包括 在按照路徑表訪問第一存儲設備失敗時,發(fā)出訪問失敗報告; 響應于所述失敗報告,修改第一存儲設備和第二存儲設備之間的鏡像方向; 發(fā)出路徑修改通知,要求更改到第二存儲設備的路徑設置; 根據所述路徑修改通知,通過修改路徑表來激活到第二存儲設備的路徑,使得第二存儲設備能夠被訪問。
11.根據權利要求10的方法,還包括,響應于同步鏡像關系的建立,存儲所述第一存儲設備和第二存儲設備之間的同步鏡像關系,其中所述第一存儲設備為主存儲設備,第二存儲設備為備份存儲設備,數據從第一存儲設備寫往第二存儲設備。
12.根據權利要求11的方法,其中修改第一存儲設備和第二存儲設備之間的鏡像方向包括,修改所述同步鏡像關系中的鏡像方向,使得所述第二存儲設備成為主存儲設備,所述第一存儲設備成為備份存儲設備,數據從第二存儲設備寫往第一存儲設備。
13.根據權利要求11的方法,還包括,響應于同步鏡像關系的建立,在路徑表中創(chuàng)建到第二存儲設備的路徑,其中指向第一存儲設備的路徑被設定為可用,指向第二存儲設備的路徑被設定為不可用。
14.根據權利要求13的方法,其中所述修改路徑表包括,將指向第一存儲設備的路徑設定為不可用,將指向第二存儲設備的路徑設定為可用。
15.一種硬件管理方法,用于在虛擬機的異步遷移中協助進行虛擬機內存數據的遷移以作為虛擬機存儲數據切換的基礎,其中所述內存數據的遷移是將內存數據從第一站點中的第一主機遷移到第二站點中的第二主機,其中第一站點還包括第一存儲設備,第二站點還包括第二存儲設備,所述第一存儲設備和第二存儲設備之間建立有同步同步鏡像關系,所述方法包括 接收遷移指令和第二站點的信息; 指示第一主機將虛擬機的內存數據復制到所述第一存儲設備中的子邏輯單元,所述子邏輯單元在所述第二存儲設備中存在鏡像邏輯單元; 根據所述第二站點的信息發(fā)出通知,所述通知用于指示第二主機從所述鏡像邏輯單元讀取內存數據。
16.根據權利要求15的方法,其中所述通知利用以太網發(fā)出,所述同步同步鏡像關系利用光纖網建立。
17.根據權利要求15的方法,其中所述子邏輯單元的大小與所述虛擬機內存大小相當。
18.根據權利要求15的方法,其中指示第一主機將虛擬機的內存數據復制到所述第一存儲設備中的子邏輯單元包括指示第一主機首先復制內存數據中的核心數據,然后復制其余的補充數據。
全文摘要
本發(fā)明提供遷移虛擬機的裝置和方法,其中遷移虛擬機內存數據的裝置包括接收單元,用于接收遷移指令和第二站點的信息;復制單元,用于將內存數據復制到第一存儲設備中的子邏輯單元;通知單元,用于向第二主機發(fā)出通知,通知其從第二存儲設備中所述子邏輯單元的鏡像單元讀取數據。還提供了協助切換虛擬機的存儲數據的裝置,通過修改第一存儲設備和第二存儲設備之間的鏡像方向,以及修改與第一存儲設備和第二存儲設備相關的路徑表來實現存儲數據的切換。本發(fā)明還提供與上述裝置對應的方法。根據本發(fā)明的裝置和方法,利用同步鏡像方式實現虛擬機數據的遷移和切換,從而實時地在不同站點之間遷移虛擬機,而不影響虛擬機及其應用的運行。
文檔編號G06F9/455GK102761566SQ20111010477
公開日2012年10月31日 申請日期2011年4月26日 優(yōu)先權日2011年4月26日
發(fā)明者M·S·弗萊明, 姜鵬, 張昕, 張融 申請人:國際商業(yè)機器公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
务川| 侯马市| 于都县| 沐川县| 枣阳市| 呼和浩特市| 镇原县| 会同县| 三穗县| 绥芬河市| 绥棱县| 微山县| 惠东县| 两当县| 鲁甸县| 双江| 高尔夫| 长兴县| 宜春市| 宝鸡市| 平乡县| 偏关县| 浑源县| 定日县| 孝感市| 古丈县| 旬邑县| 琼结县| 大关县| 新巴尔虎右旗| 天峨县| 东乡县| 塔河县| 泽库县| 榕江县| 东乌珠穆沁旗| 元氏县| 抚顺县| 花莲市| 卢湾区| 饶阳县|