TWI453669B - Method of virtual machine migration and cloud server system - Google Patents

Method of virtual machine migration and cloud server system Download PDF

Info

Publication number
TWI453669B
TWI453669B TW100147598A TW100147598A TWI453669B TW I453669 B TWI453669 B TW I453669B TW 100147598 A TW100147598 A TW 100147598A TW 100147598 A TW100147598 A TW 100147598A TW I453669 B TWI453669 B TW I453669B
Authority
TW
Taiwan
Prior art keywords
hypervisor
node
type
specific
virtual machine
Prior art date
Application number
TW100147598A
Other languages
Chinese (zh)
Other versions
TW201327387A (en
Inventor
Ying Chih Lu
Original Assignee
Inventec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to TW100147598A priority Critical patent/TWI453669B/en
Publication of TW201327387A publication Critical patent/TW201327387A/en
Application granted granted Critical
Publication of TWI453669B publication Critical patent/TWI453669B/en

Links

Description

虛擬機器遷移方法與雲端伺服系統Virtual machine migration method and cloud servo system

本發明是有關於一種虛擬機器的應用,且特別是有關於一種遷移虛擬機器的方法與支援此方法的雲端伺服系統。The present invention relates to an application of a virtual machine, and more particularly to a method of migrating a virtual machine and a cloud server system supporting the method.

伺服器具有較高的運算能力,因而為網路系統中服務各電腦的核心電腦。而隨著雲端運算(cloud computing)與虛擬機器(virtual machine)的蓬勃發展,透過網路由多部伺服器分別進行數個運算處理,並具有易於擴充、能快速部署資源以提供服務,以及可以降低使用者終端之運算負擔等優勢的雲端伺服系統也越來越受到重視。The server has high computing power and is therefore the core computer that serves each computer in the network system. With the rapid development of cloud computing and virtual machines, several servers are routed through the network to perform several arithmetic processing, and it is easy to expand, can quickly deploy resources to provide services, and can be reduced. The cloud servo system, which has the advantages of the computing burden of the user terminal, is also receiving more and more attention.

雲端伺服系統中的每一節點可透過超管理器(hypervisor)的運作而模擬一個以上的虛擬機器。換句話說,除了主體作業系統(host operating system)之外,對應各虛擬機器的客體作業系統(guest operating system)也可在同一套硬體設備中同時執行。然而對目前大多數提供基礎架構即服務(Infrastructure as a Service,IaaS)的雲端伺服系統來說,其貨櫃(container)中每一節點都是運行同一種類型的超管理器。基此,當用戶需將既有的虛擬機器從正在使用之超管理器遷移到一雲端伺服系統時,若該雲端伺服系統不支援相同類型的超管理器,則必須花費額外的時間轉換客體作業系統的映像檔格式,且必須由遷移至之節點自行對模擬虛擬機器所須參照的組態檔進行設定,如此才能完成虛擬機器的遷移。然而,自行設定組態檔很可能造成客體作業系統的遷移失敗,且在節點上重新建立虛擬機器並執行客體作業系統與其上軟體也必須耗費許多時間來進行測試,對用戶來說容易感到不便,且會降低用戶使用此雲端伺服系統之意願。Each node in the cloud servo system can simulate more than one virtual machine through the operation of a hypervisor. In other words, in addition to the host operating system, the guest operating system corresponding to each virtual machine can also be executed simultaneously in the same set of hardware devices. However, for most cloud server systems that currently provide Infrastructure as a Service (IaaS), each node in the container runs the same type of hypervisor. Therefore, when the user needs to migrate the existing virtual machine from the hypervisor being used to a cloud server, if the cloud server does not support the same type of hypervisor, it must take extra time to convert the object. The image format of the system, and the configuration file to be referenced by the simulated virtual machine must be set by the node to which the migration is performed, so that the migration of the virtual machine can be completed. However, setting the configuration file by itself is likely to cause the migration of the guest operating system to fail, and it takes a lot of time to test the re-establishment of the virtual machine on the node and execute the guest operating system and the software on the node, which is easy for the user to feel inconvenience. And will reduce the user's willingness to use this cloud servo system.

有鑑於此,本發明提供一種虛擬機器遷移方法與雲端伺服系統,能選擇適當的節點來完成虛擬機器的遷移,以降低遷移虛擬機器所需耗費的時間。In view of this, the present invention provides a virtual machine migration method and a cloud server system, which can select an appropriate node to complete the migration of the virtual machine, so as to reduce the time required for migrating the virtual machine.

本發明提出一種虛擬機器遷移方法,用於雲端伺服系統,此雲端伺服系統包括一貨櫃,貨櫃包括服務節點、儲存節點以及數個計算節點。此方法包括由服務節點將所有計算節點劃分為至少一計算節點群組,其中各計算節點群組係一對一對應至一種特定超管理器類型。接著由服務節點接收對應於虛擬機器(virtual machine)的映像檔(image file)與組態檔(configuration file),並將映像檔與組態檔存入儲存節點,且依據映像檔識別模擬此虛擬機器之超管理器的類型。判斷在所有特定超管理器類型中是否存在與模擬此虛擬機器之超管理器相同的類型。若是,則從對應這種特定超管理器類型的計算節點群組中選擇一特定計算節點,並由特定計算節點根據映像檔與組態檔模擬虛擬機器。The invention provides a virtual machine migration method for a cloud server system. The cloud server system comprises a container, the container comprises a service node, a storage node and a plurality of computing nodes. The method includes dividing, by the service node, all of the compute nodes into at least one compute node group, wherein each compute node group is one-to-one corresponding to a particular hypervisor type. Then, the service node receives an image file and a configuration file corresponding to the virtual machine, and stores the image file and the configuration file in the storage node, and simulates the virtual image according to the image file identification. The type of super manager of the machine. Determine if there is the same type of hypervisor that emulates this virtual machine in all of the specific hypervisor types. If so, a particular compute node is selected from a group of compute nodes corresponding to the particular hypervisor type, and the virtual machine is simulated by the particular compute node based on the image file and the configuration file.

在本發明之一實施例中,其中依據映像檔識別模擬虛擬機器之超管理器的類型的步驟包括根據映像檔之檔頭(header)的內容以識別此超管理器的類型。In an embodiment of the invention, the step of identifying the type of hypervisor emulating the virtual machine based on the image file includes identifying the type of the hypervisor based on the content of the header of the image file.

在本發明之一實施例中,此虛擬機器遷移方法更包括若無法根據檔頭的內容識別出超管理器的類型,則分析組態檔的內容以識別超管理器的類型。In an embodiment of the present invention, the virtual machine migration method further includes analyzing the content of the configuration file to identify the type of the hypervisor if the type of the hypervisor cannot be identified according to the content of the header.

在本發明之一實施例中,其中判斷在所有特定超管理器類型中是否存在與模擬此虛擬機器之超管理器相同的類型的步驟之後,此方法更包括若不存在與此超管理器相同的特定超管理器類型,則從所有計算節點群組中選出一特定計算節點群組,並根據特定計算節點群組對應的特定超管理器類型,分別產生映像檔及組態檔的等價映像檔與等價組態檔。並且在特定計算節點群組中選擇特定計算節點,以及由此特定計算節點根據等價映像檔與等價組態檔來模擬虛擬機器。In an embodiment of the invention, wherein it is determined whether there is a step of the same type as the hypervisor simulating the virtual machine in all of the specific hypervisor types, the method further includes if there is no such hypervisor The specific hypervisor type, selects a specific group of computing nodes from all the computing node groups, and generates an equivalent image of the image file and the configuration file according to the specific hypervisor type corresponding to the specific computing node group. File and equivalent configuration file. And selecting a particular compute node in a particular group of compute nodes, and thereby the particular compute node emulates the virtual machine based on the equivalent image file and the equivalent configuration file.

在本發明之一實施例中,其中對應於虛擬機器的映像檔與組態檔是第二雲端伺服系統透過公共網路(public network)傳送至雲端伺服系統。In an embodiment of the present invention, the image file and the configuration file corresponding to the virtual machine are transmitted by the second cloud server system to the cloud server system through a public network.

從另一觀點來看,本發明提出一種雲端伺服系統,包括一貨櫃,此貨櫃包括多個計算節點與一服務節點、一儲存節點。儲存節點透過區域網路耦接上述計算節點。服務節點透過區域網路耦接上述計算節點與儲存節點,並將上述計算節點劃分為至少一計算節點群組,其中各計算節點群組分別對應一種特定超管理器類型。服務節點接收對應於一虛擬機器的映像檔與組態檔,將映像檔與組態檔存入儲存節點,依據映像檔識別模擬此虛擬機器之超管理器的類型,並判斷在所有特定超管理器類型中是否存在與此超管理器類型相同的特定超管理器類型。若是,服務節點從對應此特定超管理器類型的計算節點群組中選擇一特定計算節點,再由特定計算節點根據映像檔與組態檔模擬虛擬機器。From another point of view, the present invention provides a cloud servo system including a container including a plurality of computing nodes and a service node and a storage node. The storage node is coupled to the computing node through the area network. The service node is coupled to the computing node and the storage node through the area network, and divides the computing node into at least one computing node group, wherein each computing node group corresponds to a specific hypervisor type. The service node receives the image file and the configuration file corresponding to a virtual machine, stores the image file and the configuration file in the storage node, identifies the type of the hypervisor that simulates the virtual machine according to the image file, and determines the specific hyper management in all the virtual machines. Is there a specific hypervisor type of the same type as this hypervisor? If so, the service node selects a particular compute node from the group of compute nodes corresponding to the particular hypervisor type, and then the particular compute node emulates the virtual machine based on the image file and the configuration file.

在本發明之一實施例中,其中服務節點根據映像檔之檔頭的內容以識別模擬虛擬機器之超管理器的類型。In an embodiment of the invention, the service node identifies the type of hypervisor emulating the virtual machine based on the content of the header of the image file.

在本發明之一實施例中,其中若服務節點無法根據檔頭的內容識別出模擬虛擬機器之超管理器的類型,則分析組態檔的內容以識別超管理器的類型。In an embodiment of the present invention, if the service node cannot identify the type of the hypervisor of the simulated virtual machine according to the content of the header, the content of the configuration file is analyzed to identify the type of the hypervisor.

在本發明之一實施例中,其中若在所有特定超管理器類型中不存在與超管理器類型相同的特定超管理器類型,則服務節點從所有計算節點群組中選出一特定計算節點群組,並根據特定計算節點群組對應的特定超管理器類型分別產生映像檔及組態檔的等價映像檔與等價組態檔,以及在特定計算節點群組中選擇一特定計算節點,並由特定計算節點根據等價映像檔與等價組態檔模擬虛擬機器。In an embodiment of the invention, wherein if there is no specific hypervisor type of the same type as the hypervisor in all of the specific hypervisor types, the serving node selects a particular compute node group from all of the compute node groups Grouping, and generating an equivalent image file and an equivalent configuration file of the image file and the configuration file according to a specific hypervisor type corresponding to the specific computing node group, and selecting a specific computing node in the specific computing node group, The virtual machine is simulated by the specific computing node according to the equivalent image file and the equivalent configuration file.

在本發明之一實施例中,其中對應於虛擬機器的映像檔與組態檔是第二雲端伺服系統透過公共網路傳送至雲端伺服系統。In an embodiment of the invention, the image file and the configuration file corresponding to the virtual machine are transmitted by the second cloud server system to the cloud server system through the public network.

基於上述,本發明之雲端伺服系統的貨櫃中包含運行不同類型之超管理器的計算節點。當有虛擬機器要遷移至此雲端伺服系統時,首先識別原執行此虛擬機器的超管理器類型,據以在貨櫃中找尋適當的計算節點來完成虛擬機器的遷移動作。如此一來,藉由提供運行有相同類型之超管理器的計算節點來提升遷移虛擬機器的效率與品質。Based on the above, the container of the cloud servo system of the present invention includes computing nodes running different types of hypervisors. When a virtual machine is to be migrated to the cloud server system, the hypervisor type that originally executed the virtual machine is first identified, so that the appropriate computing node is found in the container to complete the virtual machine migration action. In this way, the efficiency and quality of the migrated virtual machine is improved by providing compute nodes running the same type of hypervisor.

為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。The above described features and advantages of the present invention will be more apparent from the following description.

圖1是依照本發明之一實施例所繪示之雲端伺服系統的示意圖。請參閱圖1,本實施例之雲端伺服系統100例如是提供基礎架構即服務(Infrastructure as a Service,IaaS)之貨櫃式資料中心(Data Center),其包括一或多個貨櫃(container)。以貨櫃10為例,其具有n個機架(rack)201 至20n (n為正整數),且每一機架中具有多個插槽(slot)。舉例來說,機架201 具有i個插槽(即,插槽S1-1 至S1-i ),而機架20n 具有j個插槽(即,插槽Sn-1 至Sn-j ),其中i、j為正整數。每個插槽包括多個節點,例如機架201 中的插槽S1-1 包括節點N110 與節點N111 。每一節點設置有一電子裝置,電子裝置包括中央處理器以及微控制器等實體硬體設備。此外,在貨櫃10中設置有交換機(switch)30,交換機30與各個節點中所設置的電子裝置耦接,進而在貨櫃10形成一區域網路。FIG. 1 is a schematic diagram of a cloud servo system according to an embodiment of the invention. Referring to FIG. 1, the cloud server system 100 of the present embodiment is, for example, a container type data center that provides Infrastructure as a Service (IaaS), and includes one or more containers. In an example the container 10, which has n racks (rack) 20 1 to 20 is n (n is a positive integer), and each rack having a plurality of slots (slot). For example, rack 20 1 has i slots (ie, slots S 1-1 through S 1-i ), while rack 20 n has j slots (ie, slots Sn -1 to S nj), where i, j is a positive integer. Each slot includes a plurality of nodes, for example, slot S 1-1 in rack 20 1 includes node N 110 and node N 111 . Each node is provided with an electronic device including a central processing unit and a physical hardware device such as a microcontroller. In addition, a switch 30 is provided in the container 10, and the switch 30 is coupled to the electronic devices provided in the respective nodes to form a regional network in the container 10.

以下將以圖2及圖3來說明本發明之虛擬機器遷移方法的詳細做法。首先請參閱圖2,雲端伺服系統100與200可透過公共網路(public network)220進行資料的傳送。在本實施例中,雲端伺服系統100與200例如是由不同的供應商(vendor)所提供,但本發明並不以此為限。The detailed description of the virtual machine migration method of the present invention will be described below with reference to FIGS. 2 and 3. Referring first to FIG. 2, the cloud servo systems 100 and 200 can transmit data through a public network 220. In this embodiment, the cloud server systems 100 and 200 are provided by different vendors, for example, but the invention is not limited thereto.

其中,雲端伺服系統200之貨櫃210內的一計算節點210a 運行有一超管理器(hypervisor)27。超管理器27根據記錄在組態檔(configuration file)中關於各種虛擬硬體、虛擬韌體以及虛擬開機裝置的設定資訊來模擬一虛擬機器25。進一步來說,超管理器27會模擬虛擬機器25以供客體作業系統23運作。Wherein a computing node in the cloud server system 200 of the container 210 210 a running a hypervisor (hypervisor) 27. The hypervisor 27 emulates a virtual machine 25 based on setting information recorded in a configuration file regarding various virtual hardware, virtual firmware, and virtual boot device. Further, hypervisor 27 will emulate virtual machine 25 for guest operating system 23 to operate.

而雲端伺服系統100之貨櫃10中的所有節點均連接至由交換機30形成的區域網路130,且上述節點依其功能被劃分為服務資源池(service resource pool)110、儲存資源池(storage resource pool)120,以及計算資源池(computing resource pool)140。其中,屬於服務資源池的節點稱為服務節點,其可提供如實體安裝、記錄管理,或資料庫等各種服務。特別是,本實施例之服務節點可用以將執行於其他雲端伺服系統之貨櫃的虛擬機器遷移至貨櫃10。屬於計算資源池的節點稱為計算節點,其負責各種運算工作以產生提供給使用者終端的處理結果。而屬於儲存資源池的節點稱為儲存節點,用以負責資料的備份或複製等工作及用以儲存虛擬機器的映像檔(image file)與組態檔。All the nodes in the container 10 of the cloud server system 100 are connected to the area network 130 formed by the switch 30, and the nodes are divided into a service resource pool 110 and a storage resource pool according to their functions. Pool) 120, and a computing resource pool 140. Among them, the nodes belonging to the service resource pool are called service nodes, which can provide various services such as physical installation, record management, or database. In particular, the service node of the present embodiment can be used to migrate virtual machines executing containers of other cloud server systems to the container 10. A node belonging to a computing resource pool is called a computing node and is responsible for various computing operations to produce processing results that are provided to the user terminal. The node belonging to the storage resource pool is called a storage node, and is responsible for the backup or copying of data and the image file and configuration file for storing the virtual machine.

圖3是依照本發明之一實施例所繪示之虛擬機器遷移方法的流程圖。請同時參閱圖2與圖3,以下是說明如何將一個已存在的虛擬機器遷移到不同雲端伺服系統來執行的詳細步驟。為了方便說明,本實施例係假設要將運行於計算節點210a 之超管理器27所模擬的虛擬機器25,從雲端伺服系統200之貨櫃210遷移到雲端伺服系統100之貨櫃10中執行。FIG. 3 is a flow chart of a virtual machine migration method according to an embodiment of the invention. Please refer to FIG. 2 and FIG. 3 at the same time. The following are detailed steps to explain how to migrate an existing virtual machine to different cloud servo systems. For convenience of explanation, embodiment-based Suppose you want to run on the computing node A hypervisor 210 of the present embodiment 27 simulated virtual machine 25, the servo system to migrate from the container 200 of the cloud 210 into the container 100 of the cloud server system 10 performs.

首先如步驟S310所示,雲端伺服系統100之貨櫃10中的服務節點110a 將計算資源池140中的所有計算節點劃分為至少一計算節點群組,其中各計算節點群組係一對一對應至一種特定超管理器類型。具體來說,服務節點110a 是依照每一計算節點所運行之超管理器的類型來進行分組。例如,計算節點N11 至N1k 運行相同類型的超管理器,因此被劃分為同一計算節點群組G1 ,而計算節點Nm1 至Nmp 因運行相同類型的超管理器,而被劃分為同一計算節點群組Gm (其中,m、k、p為正整數)。為了方便說明,以下將計算節點群組G1 至Gm 所個別對應的特定超管理器類型稱之為超管理器類型T1 至TmFirst, as shown in step S310, the container 100 of the cloud server system service nodes 10 110 a calculation of all the computing nodes in a resource pool 140 is divided into at least one group of computing nodes, wherein each computing node corresponding to one group of lines To a specific hypervisor type. Specifically, the service node 110 a packet is performed according to the type of running hypervisor of each computing node. For example, compute nodes N 11 through N 1k run the same type of hypervisor and are therefore divided into the same compute node group G 1 , while compute nodes N m1 through N mp are partitioned into the same type of hypervisor The same computing node group G m (where m, k, p are positive integers). For convenience of explanation, the specific hypervisor types corresponding to the respective calculation of the node groups G 1 to G m are hereinafter referred to as hypervisor types T 1 to T m .

在步驟S320中,服務節點110a接收既有之虛擬機器25所對應的映像檔與組態檔,其中映像檔是根據客體作業系統23所產生之。在本實施例中,對應虛擬機器25的映像檔與組態檔是由雲端伺服系統200透過公共網路220而傳送至雲端伺服系統100的服務節點110a 。其中,映像檔與組態檔會被存入儲存節點120aIn step S320, the service node 110a receives the image file and the configuration file corresponding to the existing virtual machine 25, wherein the image file is generated according to the object operating system 23. In the present embodiment, the corresponding virtual machine image file and the configuration file 25 is transmitted by the cloud server system 200 through a public Internet cloud 220 to the service node 100. The servo system 110 a. Wherein the image file and configuration file are stored in the storage node 120 a.

接下來如步驟S330所示,服務節點110a 依據映像檔(或映像檔以及組態檔)來識別模擬虛擬機器25之超管理器27的類型。具體來說,由於大多數超管理器所產生之映像檔的格式會隨著超管理器的類型而有所不同,因此服務節點110a可根據映像檔之檔頭(header)的內容以識別超管理器27的類型,例如,根據映像檔之檔頭中的特定欄位內容便可識別出超管理器27的類型。再例如,若映像檔之檔頭中之magic欄位之4個位元組的值為’Q’’F’’I’fb,則便可判定其映像檔格式為qcow,且由於KVM超管理器所支援之虛擬機器的映像檔格式為qcow,所以便可判定其超管理器為KVM超管理器。下表列出的是現今幾種常用之超管理器與其所支援之虛擬機器映像檔格式的對應關係:Next, as shown in step S330, the service node 110 a based image file (or image file and a configuration file) to identify the simulated virtual machine hypervisor 25 of type 27. Specifically, since the format of the image file generated by most hypervisors varies with the type of hypervisor, the service node 110a can identify the hyper management according to the content of the header of the image file. The type of the controller 27, for example, identifies the type of hypervisor 27 based on the particular field content in the header of the image file. For another example, if the value of the 4 bytes of the magic field in the header of the image file is 'Q''F''I'fb, then the format of the image file is determined to be qcow, and since KVM is super-managed The image format of the virtual machine supported by the device is qcow, so it can be determined that its super manager is KVM hypervisor. The following table lists the correspondence between several popular hypervisors today and the virtual machine image format they support:

然而,也因為有幾類超管理器會產生相同格式的映像檔,因此在無法僅根據檔頭的內容來正確識別出超管理器27的類型時,服務節點110a 會進一步分析組態檔的內容以識別超管理器27的類型。舉例來說,由於XEN超管理器與KVM超管理器都支援raw這種映像檔格式,因此若服務節點110a 接收到的是此種格式的映像檔,就無法僅根據映像檔的檔頭來明確判斷超管理器27是屬於XEN超管理器或KVM超管理器。但由於在XEN超管理器與KVM超管理器所分別對應的組態檔中關於虛擬記憶體的描述並不相同,以大小為512MB的記憶體為例,在XEN超管理器的組態檔中係記錄為「memory=512」,而在KVM超管理器的組態檔則是記錄為「<memory>512000</memory>」,因此服務節點110a 可藉由分析組態檔的內容來進一步識別出超管理器27的類型。However, because there are several types hypervisor will generate the same image file format, so when not only the type of surplus to correctly identify the manager 27 according to the contents of the file header, the service node 110 a further analysis of the configuration file Content to identify the type of hypervisor 27. For example, since the XEN hypervisor and hypervisor are KVM support this raw image file format, so if the serving node 110 a received image file format is such, can not only speed up according to the image file It is explicitly determined that the hypervisor 27 belongs to the XEN hypervisor or the KVM hypervisor. However, since the description of the virtual memory in the configuration file corresponding to the XEN hypervisor and the KVM hypervisor is different, the memory of the size of 512 MB is taken as an example in the configuration file of the XEN hypervisor. Department recorded as "memory = 512", and the KVM hypervisor's configuration file is recorded as "<memory> 512000 </ memory>", so the service node 110 a can by content analysis configuration file to further The type of hypervisor 27 is identified.

在識別超管理器27的類型之後,如步驟S340所示,服務節點110a 判斷在所有計算節點群組G1 至Gm 所各別對應特定超管理器類型中,是否存在與超管理器27之類型相同的特定超管理器類型。After identifying the type of the hypervisor 27, as shown in step S340, the serving node determines 110 a particular type of hypervisor 1 to G m corresponding to all the respective groups of nodes in G is calculated, and whether there hypervisor 27 A specific hypervisor type of the same type.

假設超管理器27之類型為超管理器類型T1 ,其與計算節點群組G1 所對應的特定超管理器類型相同,則步驟S340的判斷結果為是。接著如步驟S350所示,服務節點110a 從對應此超管理器類型T1 的計算節點群組(即,計算節點群組G1)中選擇一特定計算節點。並如步驟S360所示,由特定計算節點根據映像檔與組態檔模擬虛擬機器25。Assuming that the type of the hypervisor 27 is the hypervisor type T 1 which is the same as the specific hypervisor type corresponding to the computing node group G 1 , the result of the determination in step S340 is YES. Then as shown in step 110 a service node corresponding to this selected from S350 hypervisor type T computing node group 1 (i.e., computing node group G1) in a particular computing nodes. And as shown in step S360, the virtual machine 25 is simulated by the particular computing node based on the image file and the configuration file.

舉例來說,若特定計算節點為計算節點N11 ,由於運行在計算節點N11 上的超管理器與超管理器27具有相同類型,因此完全不需修改來自計算節點210a 的映像檔與組態檔,而能直接由運行於計算節點N11 的超管理器根據組態檔模擬出與虛擬機器25相同的虛擬機器,並部署映像檔以將對應的客體作業系統執行於計算節點N11For example, if a particular computing node to the computing node. 11 N, N due to the operation in the computing node hypervisor and hypervisor 1127 on the same type, and therefore no need to change the image file from the set of computing nodes 210 a The profile can be simulated directly from the hypervisor running the compute node N 11 according to the configuration file to the same virtual machine as the virtual machine 25, and the image file is deployed to execute the corresponding guest operating system to the compute node N 11 .

請回到步驟S340,倘若超管理器27之類型與計算節點群組G1 至Gm 所各別對應的特定超管理器類型均不相同,表示在雲端伺服系統100之貨櫃10中缺乏與計算節點210a 運行同類超管理器的計算節點。由於步驟S340的判斷結果為否,接著如步驟S370所示,服務節點110a 從計算節點群組G1 至Gm 中選出一特定計算節點群組。並且在步驟S380中,根據特定計算節點群組對應的特定超管理器類型,分別產生映像檔及組態檔的等價映像檔與等價組態檔。接下來如步驟S390所示,計算節點210a 在特定計算節點群組中選擇一特定計算節點,並由此特定計算節點根據等價映像檔與等價組態檔來模擬雖不相同但等價於虛擬機器25的虛擬機器。Go back to step S340, the specific type if the hypervisor and hypervisor type computing node 1 of group G 27 to G m are not the same as the respective corresponding indicating lack of cloud computing in the container 100 of the servo system 10 computing node 210 a similar run node hypervisor. Since the determination result of step S340 is NO, then as shown in step 110 a node serving a particular computing node group selected from the group computing node G 1 to G m in S370. And in step S380, according to the specific hypervisor type corresponding to the specific computing node group, the equivalent image file and the equivalent configuration file of the image file and the configuration file are respectively generated. Next, as shown in step S390, the computing node 210 a particular computing node selects a particular computing nodes in the group, and thereby a particular computing node configuration file, though different but equivalent to the analog image file according to the equivalent equivalents The virtual machine of the virtual machine 25.

舉例來說,假設特定計算節點群組為計算節點群組Gm ,其對應的特定超管理器類型為超管理器類型Tm ,服務節點110a 會根據來自計算節點210a 的組態檔獲知與超管理器27模擬虛擬機器25時相關的各項虛擬環境參數(例如,虛擬硬碟控制器、虛擬中央處理器、虛擬記憶體,及虛擬網路介面等等),接著可透過查表的方式取得屬於超管理器類型Tm 的超管理器利用相同虛擬環境參數去模擬虛擬機器時所應採用的設定資訊,進而根據這些設定資訊來建立映像檔的等價組態檔。此外,服務節點110a 會對來自計算節點210a 的映像檔進行格式轉換程序,進而產生等價映像檔。若服務節點110a 選擇的特定計算節點為計算節點Nm1 ,計算節點Nm1 便會根據等價組態檔模擬出與虛擬機器25等價的虛擬機器,並部署等價映像檔以將對應的客體作業系統執行於計算節點Nm1For example, if a particular computing node group for computing node group G m, which corresponds to the particular type of hypervisor hypervisor type T m, the service node 110 a will be notified in accordance with a configuration file from the computing nodes 210 a Various virtual environment parameters (eg, virtual hard disk controller, virtual central processing unit, virtual memory, and virtual network interface, etc.) associated with the hypervisor 27 emulating the virtual machine 25, and then information acquisition mode is set belonging to a hypervisor type of hypervisor T m using the same parameters of the virtual environment to simulate virtual machines should be used, and thus to establish the equivalent configuration file image file information based on these settings. In addition, the service node 110 a 210 a node will calculate from the image file format conversion process, thereby generating an equivalent image file. If a particular computing node 110 a selected service node to the computing node N m1, N m1 computing node configuration file will be equivalent in accordance with the virtual machine simulates the equivalent virtual machine 25, and deploy equivalent to the corresponding image file The object operating system is executed at the compute node N m1 .

綜上所述,本發明在將一個既有的虛擬機器遷移至其他雲端伺服系統的貨櫃中執行時,係先判斷模擬出此虛擬機器的超管理器的類型。若欲遷移至之貨櫃中具有運行同類型超管理器的節點,則直接以此節點模擬出完全相同的虛擬環境來執行客體作業系統,據此避免將虛擬機器轉移至不同超管理器執行所需耗費的時間,以提升遷移虛擬機器的效率與品質。然而,倘若欲遷移至之貨櫃中缺乏運行同類型超管理器的節點,則透過映像檔與組態檔的轉換,使得虛擬機器仍舊可以等價地遷移到不同貨櫃中。In summary, the present invention first determines the type of hypervisor that simulates the virtual machine when it is executed in a container that migrates an existing virtual machine to another cloud server. If the node to be migrated has a node running the same type of hypervisor, the node directly simulates the same virtual environment to execute the guest operating system, thereby avoiding the need to transfer the virtual machine to different hypervisors for execution. Elapsed time to improve the efficiency and quality of the migration virtual machine. However, if there is a lack of nodes running the same type of hypervisor in the container to which the migration is to be made, the virtual machine can still be migrated to different containers equivalently through the conversion of the image file and the configuration file.

雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。Although the present invention has been disclosed in the above embodiments, it is not intended to limit the invention, and any one of ordinary skill in the art can make some modifications and refinements without departing from the spirit and scope of the invention. The scope of the invention is defined by the scope of the appended claims.

100、200...雲端伺服系統100, 200. . . Cloud servo system

10、210...貨櫃10, 210. . . Container

201 、20n ...機架20 1 , 20 n . . . frame

S1-1 、S1-2 、S1-i 、Sn-1 、Sn-j ...插槽S 1-1 , S 1-2 , S 1-i , S n-1 , S nj . . . Slot

N110 、N111 、N120 、N121 、N1i0 、Nn10 、Nn11 、Nnj0 ...節點N 110 , N 111 , N 120 , N 121 , N 1i0 , N n10 , N n11 , N nj0 . . . node

30...交換機30. . . switch

110...服務資源池110. . . Service resource pool

110a ...服務節點110 a. . . Service node

120...儲存資源池120. . . Storage resource pool

120a ...儲存節點120 a . . . Storage node

130...區域網路130. . . Regional network

140...計算資源池140. . . Computing resource pool

G1 、Gm ...計算節點群組G 1 , G m . . . Compute node group

N11 、N1k 、Nm1 、Nmp 、210a ...計算節點N 11 , N 1k , N m1 , N mp , 210 a . . . calculate node

220...公共網路220. . . Public network

23...客體作業系統twenty three. . . Object operating system

25...虛擬機器25. . . Virtual machine

27...超管理器27. . . Super manager

S310~S390...本發明之一實施例所述之虛擬機器遷移方法的各步驟S310~S390. . . Steps of the virtual machine migration method described in one embodiment of the present invention

圖1是依照本發明之一實施例所繪示之雲端伺服系統的示意圖。FIG. 1 is a schematic diagram of a cloud servo system according to an embodiment of the invention.

圖2是依照本發明之一實施例所繪示之遷移虛擬機器的示意圖。2 is a schematic diagram of a migration virtual machine according to an embodiment of the invention.

圖3是依照本發明之一實施例所繪示之虛擬機器遷移方法的流程圖。FIG. 3 is a flow chart of a virtual machine migration method according to an embodiment of the invention.

S310~S390...本發明之一實施例所述之虛擬機器遷移方法的各步驟S310~S390. . . Steps of the virtual machine migration method described in one embodiment of the present invention

Claims (8)

一種虛擬機器遷移方法,用於一雲端伺服系統,該雲端伺服系統包括一貨櫃,該貨櫃包括一服務節點、一儲存節點以及多個計算節點,該虛擬機器遷移方法包括:由該服務節點將該些計算節點劃分為至少一計算節點群組,其中該至少一計算節點群組係一對一對應至少一特定超管理器類型;由該服務節點接收對應既有之一虛擬機器(virtual machine)的一映像檔(image file)與一組態檔(configuration file),並儲存該映像檔與該組態檔至該儲存節點;依據該映像檔識別模擬該虛擬機器之一超管理器的類型;判斷在該至少一特定超管理器類型中是否存在與該超管理器的類型相同的特定超管理器類型;若是,則從與該超管理器的類型相同之特定超管理器類型所對應的計算節點群組中選擇一特定計算節點;由該特定計算節點根據該映像檔與該組態檔模擬該虛擬機器;若否,則從該至少一計算節點群組中選出一特定計算節點群組;根據該特定計算節點群組對應的特定超管理器類型分別產生該映像檔及該組態檔的一等價映像檔與一等價組態檔;在該特定計算節點群組中選擇該特定計算節點;以及 由該特定計算節點根據該等價映像檔與該等價組態檔模擬該虛擬機器。 A virtual machine migration method is used for a cloud server system, the cloud server system includes a container, the container includes a service node, a storage node, and a plurality of computing nodes, and the virtual machine migration method includes: the service node The computing nodes are divided into at least one computing node group, wherein the at least one computing node group is one-to-one corresponding to at least one specific hyper-manager type; receiving, by the serving node, one of the existing virtual machines (virtual machines) An image file and a configuration file, and storing the image file and the configuration file to the storage node; identifying, according to the image file, a type of a hypervisor simulating the virtual machine; determining Whether there is a specific hypervisor type of the same type as the hypervisor in the at least one specific hypervisor type; if so, a compute node corresponding to a specific hypervisor type of the same type as the hypervisor Selecting a specific computing node in the group; the specific computing node simulates the virtual machine according to the image file and the configuration file; if not, And selecting a specific computing node group from the at least one computing node group; generating an image file and an equivalent image file of the configuration file according to the specific hypervisor type corresponding to the specific computing node group An equivalent configuration file; selecting the particular compute node in the particular set of compute nodes; The virtual machine is simulated by the particular computing node based on the equivalent image file and the equivalent configuration file. 如申請專利範圍第1項所述之虛擬機器遷移方法,其中依據該映像檔識別模擬該虛擬機器之該超管理器的類型的步驟包括:根據該映像檔之一檔頭(header)的內容以識別該超管理器的類型。 The virtual machine migration method of claim 1, wherein the step of identifying the type of the hypervisor emulating the virtual machine according to the image file comprises: according to the content of a header of the image file Identify the type of hypervisor. 如申請專利範圍第2項所述之虛擬機器遷移方法,更包括:若無法根據該檔頭的內容識別出該超管理器的類型,則分析該組態檔的內容以識別該超管理器的類型。 The virtual machine migration method of claim 2, further comprising: if the type of the hypervisor cannot be identified according to the content of the header, analyzing the content of the configuration file to identify the super manager Types of. 如申請專利範圍第1項所述之虛擬機器遷移方法,其中對應於該虛擬機器的該映像檔與該組態檔是一第二雲端伺服系統透過一公共網路(public network)傳送至該雲端伺服系統。 The virtual machine migration method of claim 1, wherein the image file corresponding to the virtual machine and the configuration file are a second cloud server system transmitted to the cloud through a public network. server system. 一種雲端伺服系統,包括:一貨櫃,包括:多個計算節點;一儲存節點,透過一區域網路耦接該些計算節點;以及一服務節點,透過該區域網路耦接該些計算節點與該儲存節點,其中該服務節點將該些計算節點劃分為至少一計算節點群組,且該至少一計算節點群組係一對一對應至少一特定超管理器類型; 其中,該服務節點接收對應既有之一虛擬機器的一映像檔與一組態檔,並將該映像檔與該組態檔儲存於該儲存節點,依據該映像檔識別模擬該虛擬機器之一超管理器的類型,並判斷在該至少一特定超管理器類型中是否存在與該超管理器的類型相同的特定超管理器類型,若是,該服務節點從與該超管理器的類型相同之特定超管理器類型所對應的計算節點群組中選擇一特定計算節點以及由該特定計算節點根據該映像檔與該組態檔模擬該虛擬機器,若在該至少一特定超管理器類型中不存在與該超管理器的類型相同的特定超管理器類型,則該服務節點從該至少一計算節點群組中選出一特定計算節點群組,並根據該特定計算節點群組對應的特定超管理器類型分別產生該映像檔及該組態檔的一等價映像檔與一等價組態檔以及在該特定計算節點群組中選擇該特定計算節點,並由該特定計算節點根據該等價映像檔與該等價組態檔模擬該虛擬機器。 A cloud server system includes: a container, comprising: a plurality of computing nodes; a storage node coupled to the computing nodes through a regional network; and a service node coupled to the computing nodes through the regional network The storage node, wherein the service node divides the computing nodes into at least one computing node group, and the at least one computing node group corresponds to at least one specific hypervisor type one-to-one; The service node receives an image file and a configuration file corresponding to one of the existing virtual machines, and stores the image file and the configuration file in the storage node, and identifies one of the virtual machines according to the image file. a type of hypervisor, and determining whether a specific hypervisor type of the same type as the hypervisor exists in the at least one specific hypervisor type, and if so, the service node is of the same type as the hypervisor Selecting a specific computing node from the group of computing nodes corresponding to the specific hypervisor type and simulating the virtual machine according to the image file and the configuration file by the specific computing node, if not in the at least one specific hypervisor type There is a specific hypervisor type of the same type as the hypervisor, the service node selects a specific group of computing nodes from the at least one group of computing nodes, and according to the specific super management corresponding to the specific computing node group The device type respectively generates an image file and an equivalent image file of the configuration file and an equivalent configuration file, and selects the specific in the specific computing node group Node count by the particular computing node profile based on the simulation of the virtual machine image files equivalent to the equivalent configuration. 如申請專利範圍第5項所述之雲端伺服系統,其中該服務節點根據該映像檔之一檔頭的內容以識別該超管理器的類型。 The cloud server system of claim 5, wherein the service node identifies the type of the hypervisor according to the content of the header of the image file. 如申請專利範圍第6項所述之雲端伺服系統,其中若該服務節點無法根據該檔頭的內容識別出該超管理器的類型,則分析該組態檔的內容以識別該超管理器的類型。 The cloud server system of claim 6, wherein if the service node cannot identify the type of the hypervisor according to the content of the header, analyzing the content of the configuration file to identify the hypervisor Types of. 如申請專利範圍第5項所述之雲端伺服系統,其中對應於該虛擬機器的該映像檔與該組態檔是一第二雲端伺 服系統透過一公共網路傳送至該雲端伺服系統。 The cloud server system of claim 5, wherein the image file corresponding to the virtual machine and the configuration file are a second cloud server. The service system is transmitted to the cloud servo system via a public network.
TW100147598A 2011-12-21 2011-12-21 Method of virtual machine migration and cloud server system TWI453669B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW100147598A TWI453669B (en) 2011-12-21 2011-12-21 Method of virtual machine migration and cloud server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW100147598A TWI453669B (en) 2011-12-21 2011-12-21 Method of virtual machine migration and cloud server system

Publications (2)

Publication Number Publication Date
TW201327387A TW201327387A (en) 2013-07-01
TWI453669B true TWI453669B (en) 2014-09-21

Family

ID=49225088

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100147598A TWI453669B (en) 2011-12-21 2011-12-21 Method of virtual machine migration and cloud server system

Country Status (1)

Country Link
TW (1) TWI453669B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI699657B (en) * 2018-08-31 2020-07-21 碁曄科技股份有限公司 Cloud migration system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218544A1 (en) * 2005-03-25 2006-09-28 Microsoft Corporation Mechanism to store information describing a virtual machine in a virtual disk image
CN101765225A (en) * 2008-12-24 2010-06-30 华为技术有限公司 Virtual cluster management system and cluster node
CN102073462A (en) * 2010-11-29 2011-05-25 华为技术有限公司 Virtual storage migration method and system and virtual machine monitor
TW201120753A (en) * 2009-12-13 2011-06-16 Ibm Managing remote deployment of a virtual machine in a network environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218544A1 (en) * 2005-03-25 2006-09-28 Microsoft Corporation Mechanism to store information describing a virtual machine in a virtual disk image
CN101765225A (en) * 2008-12-24 2010-06-30 华为技术有限公司 Virtual cluster management system and cluster node
TW201120753A (en) * 2009-12-13 2011-06-16 Ibm Managing remote deployment of a virtual machine in a network environment
CN102073462A (en) * 2010-11-29 2011-05-25 华为技术有限公司 Virtual storage migration method and system and virtual machine monitor

Also Published As

Publication number Publication date
TW201327387A (en) 2013-07-01

Similar Documents

Publication Publication Date Title
US10567009B2 (en) Dynamic erasure coding
US9582221B2 (en) Virtualization-aware data locality in distributed data processing
US9323561B2 (en) Calibrating cloud computing environments
CN110865867B (en) Method, device and system for discovering application topological relation
JP6609696B2 (en) Network service life cycle management method and device
US9569245B2 (en) System and method for controlling virtual-machine migrations based on processor usage rates and traffic amounts
US10324754B2 (en) Managing virtual machine patterns
AU2011289736B2 (en) Methods and systems for extreme capacity management
US11036535B2 (en) Data storage method and apparatus
CN112395152B (en) Server resource acquisition method and acquisition system
CN109634718A (en) The method and system of cloud platform creation mirror image
CN104111867B (en) A kind of virtual machine (vm) migration device and method
JP2014191752A (en) Migration processing program, migration method, and cloud system
TW201347459A (en) Management method and system using the same
US10326826B1 (en) Migrating an on premises workload to a web services platform
TWI453669B (en) Method of virtual machine migration and cloud server system
CN103186423B (en) Virtual machine migration method and cloud servo system
CN112433812A (en) Method, system, equipment and computer medium for virtual machine cross-cluster migration
JP2015141552A (en) Performance prediction apparatus and performance model generation method
US10387578B1 (en) Utilization limiting for nested object queries
CN107329798A (en) Method, device and the virtualization system of data duplication
Ge et al. Memory sharing for handling memory overload on physical machines in cloud data centers
CN109617954B (en) Method and device for creating cloud host
Maenhaut et al. Efficient resource management in the cloud: From simulation to experimental validation using a low‐cost Raspberry Pi testbed
US10579301B1 (en) Processing platform configured to estimate storage system performance utilizing processor characteristics