WO2010126048A1 - 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム - Google Patents

計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム Download PDF

Info

Publication number
WO2010126048A1
WO2010126048A1 PCT/JP2010/057470 JP2010057470W WO2010126048A1 WO 2010126048 A1 WO2010126048 A1 WO 2010126048A1 JP 2010057470 W JP2010057470 W JP 2010057470W WO 2010126048 A1 WO2010126048 A1 WO 2010126048A1
Authority
WO
WIPO (PCT)
Prior art keywords
physical
speed
virtual
physical device
area
Prior art date
Application number
PCT/JP2010/057470
Other languages
English (en)
French (fr)
Inventor
伸治 加美
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US13/258,915 priority Critical patent/US20120030306A1/en
Priority to JP2011511415A priority patent/JP5692065B2/ja
Publication of WO2010126048A1 publication Critical patent/WO2010126048A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects

Definitions

  • the present invention relates to speeding up movement of a virtual device in a computer system composed of virtual devices on physical machines connected to each other via a network.
  • Patent Document 1 a technique of moving (migrating) virtual devices between different physical devices according to the usage status of the physical devices is generally used (for example, Patent Document 1). reference).
  • Non-Patent Document 1 describes an example of a technology related to speeding up the movement of a virtual device in a virtual machine system configured with such a virtual device. This technique will be described with reference to FIG.
  • this virtual machine system has a first physical device 1000 and a second physical device 1100.
  • the first physical device 1000 has a memory 1001 and a network interface card (NIC: Network Interface Card) 1002 for connecting the physical devices.
  • the second physical device 1100 includes a memory 1101 and a network interface card 1102. Both devices are connected to each other by a network 1200 connected by, for example, a switch conforming to Ethernet (registered trademark). Further, both apparatuses have a virtualization unit 1010 and a virtualization unit 1110 typified by a hypervisor.
  • the pre-movement virtual device 1020 which is a virtual device represented by a virtual machine (Virtual Machine)
  • a virtual machine Virtual Machine
  • the virtual device 1020 before movement is represented by a broken line
  • the virtual device 1120 after movement is represented by a solid line.
  • the virtual device 1120 since the virtual device 1120 operates on the physical device 1100 after moving the data in the memory area 1001 of the physical device 1000 allocated to the virtual device 1020 before the movement, the virtual device moves faster. This is realized by high-speed copying to the memory 1101 assigned to the.
  • This copy is performed by data transfer between the virtualization units 1010 and 1110 using the network 1200.
  • this transfer is performed using a highly reliable data transfer method such as TCP (Transmission Control Protocol).
  • TCP Transmission Control Protocol
  • this transfer time depends on the amount of transfer data, the overhead due to the network bandwidth and protocol processing, and the memory read / write speed.
  • data transfer via a network protocol generally involves a plurality of data copies, in addition to the overhead caused by protocol processing, data copy (at least network interface ⁇ buffer area ⁇ corresponding memory area of virtual device) There is overhead due to copying.
  • Non-Patent Document 1 in order to shorten the stop time, instead of copying all the memory data, a memory that has been rewritten sequentially (hereinafter, such a memory is referred to as “dirty memory” as appropriate). Only).
  • dirty memory a memory that has been rewritten sequentially
  • the virtual device is stopped. Thereafter, a process is performed in which the last copy is performed and the virtual device is activated by the physical measure of the transfer destination. By performing such a process, it is possible to shorten the travel time.
  • Non-Patent Document 1 reduces the amount of data to be copied, which is a factor that determines the stop time of the virtual device.
  • the technique described in Non-Patent Document 1 is used, there is no change in the essence that data copy is accompanied via a network. Therefore, the point that the service of the virtual device needs to be stopped during data transfer or data copy processing using a highly reliable network protocol remains unchanged.
  • the overhead is particularly noticeable in cases where there is a wide range of rewriting.
  • the general technique has the following two problems when moving a virtual device between physical devices.
  • the first problem is that there is a limit to reducing the service stop time in the movement of virtual devices between different physical devices.
  • the second problem is that, depending on the type of application running on the virtual device, even if the technology described in Non-Patent Document 1 is used, the effect may be poor.
  • the present invention provides a virtual machine high-speed movement system, a method thereof, and a program thereof in a virtualized computer system that can move a virtual apparatus between different physical devices at high speed in a virtual computer system. For the purpose.
  • a virtual device high-speed movement system for moving virtual devices between physical devices, wherein each of the physical devices has a main storage means in addition to each of the physical devices so that no collision occurs when accessing the high-speed storage device.
  • the allocated area in the high-speed storage device is accessible, and the physical device has logical memory address space information created based on the storage area provided by the main storage means and the high-speed storage device, and
  • the virtual device having mapping information with physical memory address information and operating in one physical device is the high-speed storage device.
  • a high speed transfer system of the virtual device Via moved to another of the physical device, a high speed transfer system of the virtual device, which comprises using the mapping information Upon the movement is provided.
  • the memory data existing on the area mapped to the main storage means of the first physical device is Mapping to a high-speed storage device that is set to be usable in the first physical device, and copying to an area that is registered in the second physical device but is set to be unusable, while the virtual device is suspended
  • the ownership information of the second physical device can be changed by performing ownership change processing in which the ownership information regarding the availability of the high-speed storage device is disabled from the first physical device and is enabled again from the second physical device.
  • a virtual device high-speed movement system is provided that is dynamically set so that the virtual device can operate using an arithmetic processing unit.
  • a first device to manage a plurality of physical devices connected to each other via a network and a high-speed storage device accessible by the physical device, and to move a virtual device between the physical devices
  • the storage device of the high-speed storage device is exclusively allocated to each of the physical devices so that no collision occurs during access, and a virtual from the first physical device to the second physical device is allocated.
  • the memory data existing in the area mapped to the main storage means of the first physical device is mapped to the storage area of the high-speed storage device set to be usable in the first physical device,
  • it is copied to the storage area of the high-speed storage device that has been registered in the second physical device but set to be unusable, and the high-speed storage device can be used during the temporary suspension of the virtual device Virtual device using the arithmetic processing unit of the second physical device by performing ownership reassignment processing of resetting the ownership information relating to the second physical device to be impossible from the first physical device
  • a management apparatus is provided which is dynamically set so that the computer can operate.
  • the physical devices In the virtual device high-speed movement method, the physical device is assigned to each of the main storage devices so that there is no collision when accessing the high-speed storage device. An area within the high-speed storage device is accessible, and the physical device is logical memory address space information created based on the storage area provided by the main storage device and the high-speed storage device, and physical The virtual device operating in a certain physical device has another memory address information mapped to the other memory device via the high-speed storage device. Transferred to the physical devices, high-speed movement direction of the virtual device, which comprises using the mapping information Upon the movement is provided.
  • the memory data existing on the area mapped to the main storage device of the first physical device is changed. Mapping to a high-speed storage device that is set to be usable in the first physical device, and copying to an area that is registered in the second physical device but is set to be unusable, while the virtual device is suspended
  • the ownership information of the second physical device can be changed by performing ownership change processing in which the ownership information regarding the availability of the high-speed storage device is disabled from the first physical device and is enabled again from the second physical device.
  • a high-speed moving method of a virtual device is provided, which is dynamically set so that the virtual device can operate using an arithmetic processing unit.
  • a third method in order to manage a plurality of physical devices connected to each other via a network and a high-speed storage device accessible by the physical device, to move a virtual device between the physical devices A storage area of the high-speed storage device is exclusively allocated to each of the physical devices so that no collision occurs during access, and a virtual from the first physical device to the second physical device is allocated.
  • the memory data existing in the area mapped to the main storage device of the first physical device is mapped to the storage area of the high-speed storage device set to be usable in the first physical device,
  • it is copied to the storage area of the high-speed storage device that has been registered in the second physical device but set to be unusable, and the high-speed storage device can be used during the temporary suspension of the virtual device Virtual device using the arithmetic processing unit of the second physical device by performing ownership reassignment processing of resetting the ownership information relating to the second physical device to be impossible from the first physical device
  • a management method is provided which is dynamically set so that can operate.
  • the physical devices In the virtual device high-speed movement program for moving the virtual device, the physical device is assigned to each of the main storage means so that no collision occurs when accessing the high-speed storage device.
  • An area in the high-speed storage device is accessible, and the physical device has logical memory address space information created based on the storage area provided by the main storage means and the high-speed storage device, and physical
  • the virtual device operating within one physical device has the high-speed storage device Moved to another of the physical device, high-speed traveling program of the virtual device for causing a computer to function as a computer system using the mapping information Upon the movement is provided by.
  • the second program when the virtual device is moved from the first physical device to the second physical device, the actual memory data existing on the area mapped to the main storage means of the first physical device is stored.
  • the virtual device is mapped to a high-speed storage device that is set to be usable in the first physical device, and is copied to an area that is registered but not usable in the second physical device, and the virtual device is temporarily suspended.
  • the ownership information regarding the availability / impossibility of the use of the high-speed storage device is reset from the first physical device to the second physical device by resetting the ownership information to the second physical device.
  • a high-speed moving program for a virtual device is provided that causes a computer to function as a computer system that is dynamically set so that the virtual device can operate using the arithmetic processing device.
  • a third program to manage a plurality of physical devices connected to each other via a network and a high-speed storage device accessible by the physical device, and to move a virtual device between the physical devices And a storage area of the high-speed storage device is exclusively assigned to each of the physical devices so that no collision occurs during access, and a virtual from the first physical device to the second physical device is allocated.
  • the memory data existing in the area mapped to the main storage means of the first physical device is mapped to the storage area of the high-speed storage device set to be usable in the first physical device,
  • the data is copied to the storage area of the high-speed storage device that is registered in the second physical device but set to be unusable, and the high-speed storage device
  • the processing unit of the second physical device is changed by performing ownership change processing in which ownership information regarding availability is disabled from the first physical device and disabled from the second physical device.
  • a management program is provided that operates a computer as a management device that is dynamically set so that a virtual device can be operated.
  • ownership of an area is made using a high-speed storage device that is shared among a plurality of physical devices set separately from the main memory and ownership of the specific area can be dynamically set. Since the process of changing the rights between the physical devices is performed, the virtual device moves at high speed between different physical devices, and the service stop time can be reduced.
  • the embodiment of the present invention includes a first physical device 100 and a second physical device 200.
  • Both physical devices have arithmetic units 101 and 201, memory control units 102 and 202, main storage units 103 and 203, and communication interface units 104 and 204, respectively.
  • the arithmetic units 101 and 201 are arithmetic processing devices represented by a CPU.
  • the memory control units 102 and 202 are devices that control the main storage device, and are typically mounted on a chip set.
  • the main storage units 103 and 203 are main storage devices and have memory areas 103-1 and 203-1 as storage areas, respectively.
  • the communication interface units 104 and 204 are interfaces for performing communication between devices.
  • Both physical devices further include virtualization units 110 and 210. It is a program that operates on the physical device of each of the virtualization units 110 and 210, and a hypervisor is a typical example.
  • both physical devices have virtual devices 120 and 220 that are created and operated by their respective virtualization units.
  • the high-speed storage unit 300 installed outside both physical devices, the high-speed storage control unit 310 that is a control unit of the high-speed storage unit 300, the high-speed storage unit 300, and the high-speed storage control unit 310 And a communication interface 320 which is a communication interface used by.
  • the high-speed storage unit 300 includes a storage area 301 and a storage area 302 as storage areas.
  • the first physical device 100, the second physical device 200, the high-speed storage control unit 310, and the high-speed storage unit 300 are connected to each other via the communication interface units and the network 400 described above.
  • Ethernet registered trademark
  • the specific communication method is not particularly limited in the present embodiment, and any communication method can be adopted.
  • the present embodiment further includes a management device 500 connected to the virtual device 120 and the virtual device 220 via a network.
  • the memory control units 102 and 202 may be mounted in places other than the chip set.
  • it may be mounted inside the arithmetic units 101 and 201 instead of the chip set.
  • the high-speed storage unit 300 and the high-speed storage control unit 310 do not necessarily have to be external to both physical devices, and may be mounted inside the housing of either physical device.
  • this block diagram generally shows a logical relationship, and the physical connection state is not necessarily limited to this.
  • communication to the management apparatus 500, the virtualization units 110 and 210, and the high-speed storage control unit 310 may or may not pass through the network 400.
  • the calculation units 101 and 201 perform calculation processing for executing various programs.
  • the main storage units 102 and 202 are storage devices represented by DRAM, and the physical device has at least one main storage unit, and is generally mounted near the arithmetic units 101 and 201. It is assumed that the data communication is very fast.
  • the communication interface units 104 and 204 perform network protocol processing so that communication can be performed through the network 400 even when the memory control units 102 and 202 and the high-speed storage control unit 310 are remotely located.
  • the network 400 represents, for example, a network composed of switches and routers compliant with Ethernet, and enables data transmission / reception between endpoints. This data communication is preferably reliable. For this reason, it is desirable to have a function in a particularly hardware form, such as retransmitting when a packet is rejected and controlling congestion by controlling the transmission rate.
  • the function for realizing this processing may be implemented in the communication interface units 104 and 204, or may be implemented in both the network 400 and the communication interface units 104 and 204.
  • it can be realized by, for example, mounting a function conforming to TCP on an endpoint.
  • it can be realized by a mechanism that does not cause packet discard by the credit method in the network, and by implementing a transmission rate control function based on a congestion degree signal from the network side at the end point.
  • specific means are not necessarily limited as long as an equivalent function can be realized.
  • the high-speed storage device 300 is a device capable of high-speed data read / write processing such as a NAND flash memory (hereinafter referred to as “NAND Flash” as appropriate), DRAM, or SRAM. That is, it is a device that operates at an order of magnitude faster than at least a device such as a hard disk, and operates at least at or slightly slower than the main storage device.
  • NAND Flash NAND flash memory
  • DRAM dynamic random access memory
  • SRAM static random access memory
  • the high-speed storage control unit 310 performs setting and control so that the high-speed storage device 300 can be safely accessed from the arithmetic units 101 and 201.
  • a particularly important function in the description of the present embodiment is the storage area management method of the high-speed storage unit 300, but this restricts the constituent elements of the present embodiment only to the storage area management method of the high-speed storage unit 300. Not the purpose.
  • the memory control units 102 and 202 correspond to the addresses of the memory space managed by software having administrator authority represented by the operation system such as the virtualization units 110 and 210 and the physical addresses of the actual physical storage devices. It is a part to manage.
  • the virtual devices 120 and 220 are computer devices managed by the virtualization units 110 and 210 and provided with virtual resources, on which management software and application processes, typically an operation system, operate.
  • the management device 500 mainly manages the settings of the virtualization units 110 and 210 and the high-speed storage control unit 310.
  • the first physical device 100 and the second physical device 200 and the software program operating there are referred to as the first computer 1 and the second computer 2, respectively. Further, it is assumed that the disk device is shared between both computers using SAN (Storage Area Network), NFS (Network File System), or the like.
  • SAN Storage Area Network
  • NFS Network File System
  • the memory space 111 of the first computer 1 includes a main storage unit 103 and a high-speed storage unit 300.
  • a main storage unit 103 When an I / O device is recognized at the time of activation of a virtualization unit, it is possible to map an address for accessing the register to a memory and access it from the arithmetic unit, like the main storage unit.
  • the high-speed storage unit 300 maps all areas (areas 301 and 302 in the example of FIG. 1) in the same manner.
  • the current typical operating system is designed to have a memory space of about TB, for example.
  • the allocation is realized by giving attributes of an available area and an unusable area in the memory space.
  • a portion corresponding to the area 301 is set to be usable in the memory space of the first computer 1 and unusable in the second computer 2, and is set at startup by a command from the management device 500.
  • the area A ⁇ b> 1 is an available area.
  • the entire main storage unit 102 and the high-speed storage unit area 301 are set as available areas in the memory space of the virtualization unit 110.
  • the virtualization unit 110 performs allocation so that only this available area is used, and does not use an unusable area.
  • a portion corresponding to the storage area 302 is set to be usable together with the main storage device portion (this area corresponds to the area A2 in the figure), and the rest is used. The setting is disabled.
  • the high-speed storage control unit 310 may conform to an IO virtualization function in a virtualization system such as IOV (I / O Virtualization) defined by PCI-SIG. And by conforming to the IO virtualization function, it is possible to realize high-speed and safe device sharing with higher manageability for the area allocated to each virtual device, and this description also assumes that .
  • specific means are not necessarily limited as long as an equivalent function can be realized.
  • an object of the present invention is to provide a method for shortening the time required for memory transfer / copying between main storage units, which is a cause of stopping the service of a virtual device during migration.
  • the operation flow will be described below step by step. Prior to the migration, it is assumed that the available memory area A3 is allocated to the virtual device 120 from the main storage portion in the memory space 111 (corresponding to the area 103-1 in FIG. 1).
  • a migration start command is issued (step S601).
  • the area A4 having the same size as the area A3 is secured from the available area of the high-speed storage device 300, and the contents of the area A3 are copied to the area A4 in the background. During this time, the operation of the virtual device 120 is not stopped, and information is left as a dirty memory when rewriting occurs once copying is completed (step S602).
  • the migration destination virtualization unit 210 performs pre-processing for starting up the virtual device 120 (step S603).
  • a new virtual device activation such as resource settings (allocated memory area and parameters for CPU resource distribution) assigned to the virtual device Refers to the general settings required for.
  • the data in the memory overwrites what is currently in the memory space on the first computer 1, but at least the virtual device does not operate until the overwriting is completely completed. Make only a “box” of equipment.
  • a memory area having the same size as the memory area allocated to the virtual device to be moved is secured.
  • the memory to be secured is the area 203-1 of the main storage unit 203.
  • step S602 After the data synchronization process performed in step S602 is once completed, next, only the dirty memory is background copied again (step S604).
  • step S605 since the amount of dirty memory decreases, the sequential copying is repeated (No in step S605, step S604).
  • the memory update occurs at a certain rate (frequency), so the sequential copy amount does not decrease so much. come.
  • the saturation point is reached (Yes in step S605), the process proceeds to step S606.
  • the determination of the saturation point can be realized by comparing, for example, a preset value with the change rate of the dirty memory copy amount, but the method is not limited to this.
  • step S606 For subsequent memory writes of the virtual device, simultaneous writing to both the main storage unit 102 and the high-speed storage unit 300 synchronizes the main storage unit 102 and the high-speed startup unit 300. The remaining dirty memory continues to be written until the virtual device data areas of the main storage unit 102 and the fast startup unit 300 are completely synchronized (step S606).
  • the virtual device is temporarily stopped, and the area A4 is changed to be unusable in the first computer 1 and usable in the second computer 2 (step S607).
  • the area A4 where the high-speed storage control unit 310 is currently set to be usable by the second computer 2 is shown.
  • a method of preparing an area A5 having the same size as that in advance and exchanging the area can be used. This method is merely an example, and it is not always necessary to use this method.
  • the high-speed storage control unit 310 presents an address indicating a virtual storage device area, not a physical address itself, to a computer, and manages a correspondence table between a real physical address and a virtual address. It is also possible to exchange this table by rewriting it.
  • the virtualization unit 210 activates the virtual device using the area in the memory space corresponding to the area A4. This can be realized, for example, by setting in advance in the memory control unit 202 to use the physical address of the area A4 of the high-speed storage device for all accesses to the memory area 203-1 set in the pre-processing in step S603. (Step S608).
  • the data in the storage area A4 is copied to the memory area 203-1 of the main storage device (step S609).
  • the dirty memory is sequentially copied in the same manner as in Steps S604 to S605, and simultaneous writing to the high-speed storage unit and the main storage unit is performed at an appropriate place.
  • mapping is performed between the logical memory address and the physical memory address so as to use the area 203-1.
  • the memory data of the virtual device when the memory data of the virtual device is transferred from the first computer 1 to the second computer 2, it is not a copy using a network protocol, but a direct memory write process to the high-speed storage unit and the area It is configured to perform only replacement. Therefore, unnecessary protocol processing and memory copying can be reduced, and the migration of virtual devices can be speeded up.
  • the complete stop of the virtual device is only the time for changing the ownership of the area in the high-speed storage unit 300 from the first computer 1 to the second computer 2, and unlike the conventional method, the saturation point of the dirty memory occurrence rate Thus, there is no overhead caused by data transfer processing by copying over the network from the first computer 1 to the second computer 2.
  • TCP protocol processing is performed, data divided for each segment is copied to the NIC register, and the data is transferred over the network.
  • Send In the middle of transmission, ACK processing is performed, and if the packet is rejected, it is retransmitted.
  • the receiving side when an interrupt is received from the NIC, the received data is once copied to the receiving buffer, and the data is copied and passed to the corresponding receiving process.
  • the portion related to the reliable transfer is realized by hardware in the communication interface units 104 and 204, so that the overhead caused by the protocol process can be omitted.
  • unnecessary data copies for using the network protocol can be omitted.
  • the processing speed of the virtual device from immediately before the last dirty memory copy to the end of the area replacement depends on the access speed to the high-speed storage unit, but this dirty memory copy is a direct write from the arithmetic unit. Since this is performed by the same processing as data copying to a different memory address, the processing overhead as described above does not occur essentially, and it is not necessary to stop the virtual device above all.
  • a series of processing is performed by writing to the high-speed storage unit of the last dirty memory, changing ownership, from dirty data on the high-speed storage unit to the main storage unit.
  • a series of processing is performed by writing to the high-speed storage unit of the last dirty memory, changing ownership, from dirty data on the high-speed storage unit to the main storage unit.
  • the operation speed of the high-speed storage unit may be slow and the occurrence rate of dirty memory may be very high.
  • the migration from the high-speed storage unit 102 to the main storage unit 203 may be performed when necessary.
  • the migration process can be performed in consideration of the current load factor, dirty memory occurrence rate, access speed, and the like. is there.
  • the area allocation of the high-speed storage unit is performed exclusively between the first computer 1 and the second computer 2, but the read process does not destroy the data. It is possible to further increase the speed by permitting read processing from the computer 2 to area A4 (301 in FIG. 1) and copying data to the memory area 203-1.
  • Example 1 is shown in FIG.
  • the first physical device 2000 and the second 2100 include CPUs 2001 and 2101, NICs (network interface cards) 2006 and 2106, SOUTHBRIDGE 2005 and 2105, NORTHBRIDGE 2003 and 2103, main memories 2002 and 2102, Bridge 2004 and 2104, respectively.
  • NICs network interface cards
  • SOUTHBRIDGE 2005 and 2105 SOUTHBRIDGE 2005 and 2105
  • NORTHBRIDGE 2003 and 2103 main memories 2002 and 2102
  • Bridge 2004 and 2104 respectively.
  • Hypervisors 2010, 2110 represented by Xen, VMWare, and the like operate
  • a VM (Virtual Machine) 2022 is created and operated.
  • the VM 2022 currently operates on the physical device 2000 and operates on the physical device 2100 after movement.
  • the VM 2022 on the physical device 2000 is represented by a broken line
  • the VM 2022 on the physical device 2100 after movement is represented by a solid line.
  • the management server 2300, Bridge 2203, NICs 2006 and 2106 are connected to the switch 2204 and can communicate with each other.
  • This network is typically a network represented by Ethernet or the like, but is not limited thereto.
  • Bridge performs PCIe-Ethernet protocol conversion so that all are connected by one network switch 2204.
  • the management server 2300 accesses the hypervisor, the NICs 2006 and 2106 are used, and when the management server 2300 accesses the Bridge or MR-IOV PCIe controller, the bridge is used.
  • this configuration is an example, and these may be configured in separate networks.
  • the management server 2300 can also access the switch 2204 and change its settings.
  • the Bridge may be equipped with a transmission rate control function such as ECN, BCN, and QCN and a function of detecting and retransmitting packet loss.
  • a transmission rate control function such as ECN, BCN, and QCN
  • a function of detecting and retransmitting packet loss there is only a function for controlling the rate.
  • a mechanism that does not cause packet loss by a transmission / reception method such as PAUSE or a credit method is incorporated in the network side.
  • Bridge performs a highly reliable communication such as a transmission rate control and a retransmission control, and may be performed in cooperation by using a signal from the network, or may be completely controlled end-to-end.
  • a management program such as Hypervisor or a CPU incorporates a high-speed and highly reliable data transfer processing function in hardware in a transparent form. However, it is not limited to these methods as long as packet loss can be guaranteed to be zero.
  • the Bridge 2203 is connected to an MR-IOV NAND Flash controller 2202 which is an MR-IOV (Multi-Root I / O virtualization) compatible PCIe controller and a NAND Flash 2201 as a high-speed storage device.
  • MR-IOV Multi-Root I / O virtualization
  • NORTHBRIDGE is equipped with a memory controller, which processes high-speed signal parts such as access between the CPU and the flash through the main memory or Bridge.
  • Northbridge and the MR-IOV PCIe controller are connected by PCIe, and the access speed to the main memory is not greatly inferior, and a high-speed bandwidth is secured to the extent that communication between them does not become a bottleneck. Is desirable.
  • NORTHBRIDGE 2003 and 2103 are recognized as a root complex in the PCIe network.
  • MR-IOV was used.
  • SR-IOV Single Root Root IOV
  • the same effect can be given by dividing the address space by Bridge and network switch, and a function that can be set for operation even with multiple Root Complexes can be installed. Is possible.
  • SOUTHBRIDGE is mainly responsible for the low-speed interface, and is responsible for connecting the I / O card represented by NIC and the CPU.
  • the first physical device 2000 and the second 2100 at the time of start-up (the first physical device 2000 and the second 2100 as hardware are referred to as the words of the first physical device 2000 and the second 2100).
  • a program that operates on it, or a combination of a physical device and a program)) sets a part or all of the NAND flash 2201 as its own management device.
  • the management server 2300 sets in advance which area is visible to which physical device, and how much of that area is allocated as an available area to the NAND flash controller 2202 in advance.
  • the physical device registers the visible area as its management device at startup and maps it to the memory space.
  • the management server 2300 notifies the physical device of the available area.
  • the hypervisor recognizes which memory area can be allocated to each program and VM, and sets the attribute.
  • the memory controller mounted on NORTHBRIDGE performs access monitoring based on this information, and when there is an access request to the prohibited portion, the access is blocked and notified to the hypervisor.
  • the NAND flash controller has the same access management function and is set at the same time. This function enables direct access from the VM to the I / O device, thereby speeding up the processing.
  • the hypervisor allocates a memory area when starting up the VM, but the information is also notified to the NAND flash controller. Then, an area used by the VM is set using a function defined by the MR-IOV. As a result, the area can be protected against direct access from the VM.
  • the hypervisor 2010 starts VM migration.
  • the administrator may directly input the corresponding command of Hypervisor 2010.
  • the hypervisor copies the memory area of the VM 2022 to the area where the NAND flash is mapped, in the same flow as that shown in FIG. 4 as the embodiment of the present invention.
  • the sequential copying is repeated, and when the dirty memory occurrence rate is saturated, the hypervisor performs writing to the NAND FLASN simultaneously with writing to the main memory in response to the occurrence of memory writing processing from the VM 2022.
  • the dirty memory is copied in the background until the complete synchronization between the main memory and the NAND FLASH is realized.
  • the VM 2022 accesses only the NAND flash.
  • Hypervisor 2110 prepares to start a new VM.
  • the area used by the NAND flash VM 2022 may be made visible to the second computer 2 by READ ONLY, and the information may always be sequentially copied and synchronized to the area secured in the main memory. .
  • the VM is temporarily stopped at an appropriate timing while monitoring the load factor variation if necessary, and the NAND flash usable area and the unusable area are updated as described in the embodiment. .
  • the VM 2022 area can be accessed from the second computer 2, and the hypervisor 2110 starts by specifying the physical address of the newly created VM memory area in the data portion of the high-speed storage device. .
  • the dirty memory is copied to an area secured on the main memory to synchronize the two, and the mapping is completed at a proper timing by re-mapping to the main memory area.
  • the processing flow shown in FIG. 4 can be migrated step by step through NAND Flash, but at what timing and how the VM should be moved depends on the operation status of the VM and the access speed to the NAND FLASH. It will change.
  • the physical device 3000 is a master server and the physical device 3100 is a slave (for backup) server.
  • the NAND flash is shared through the network switch in the same manner as in the above embodiment, and is mapped to the logical memory spaces of the physical devices 3000 and 3100.
  • the physical device 3000 and the physical device 3100 share the NAND flash, and a part of the usable area of the physical device 3000 is set to be usable from the physical device 3100 as well.
  • the overlapping area can only be read from the physical device 3100.
  • the VM 3020 operates on the physical device 3000, and the memory area 3201 is secured in the main memory 3100.
  • the dirty memory is always copied to the area 3202 mapped on the NAND flash in the background, and this area 3202 is an area where only read access is permitted from the physical device 3100.
  • the VM 3120 is still operating in the physical device 3100, but the memory area is physically reserved as the area 3203 in the logical memory space in the main memory 3101.
  • the physical device 3100 always copies the difference data (dirty memory) from the readable area 3202 to 3203.
  • the memory data of the VM 3020 is the same except for the time required to copy the difference data and the memory data of the VM 3120. Even when an error occurs, by immediately switching to the VM 3120 on the physical device 3100, it is possible to instantly go to the backup server.
  • the first effect is that the virtual device can move at high speed between different physical devices and the service stop time can be reduced.
  • the reason is not a conventional data copy method, but a high-speed storage device that shares a high-speed storage device among multiple physical devices that are set separately from the main memory and that can dynamically set ownership of a specific area is used. This is because the same effect can be obtained only by changing the ownership of the area between the physical devices.
  • the second effect is that the processing necessary for realizing the first effect may be very simple.
  • the third effect is that the movement process can be set flexibly so that the performance can be maximized in the movement between different physical devices of the virtual device.
  • the setting range of the timing for starting and stopping the virtual device is wide based on various parameters such as the access speed to the high-speed storage unit, the dirty memory occurrence rate, and the load rate of the virtual device. It is for taking.
  • the fourth effect is that a plurality of host programs on a plurality of physical devices can share devices without being aware of each other and without contradiction.
  • a program that can completely manage a device called a host program with respect to sharing of an input / output device in one physical device updates mapping information for access of a virtual machine under its control.
  • the technique of performing can be considered.
  • a plurality of host programs among a plurality of physical devices cannot share devices without being aware of each other and without contradiction.
  • mapping information related to devices located on a network shared by a plurality of host programs operating on different physical machines is managed, and it is not just an update of mapping information. Therefore, as described above, it is possible to achieve an effect that device sharing can be performed without being inconsistent among a plurality of host programs without being aware of each other's existence.
  • the virtual device high-speed movement system can be realized by hardware, but the computer-readable recording program for causing the computer to function as the virtual device high-speed movement system. It can also be realized by reading from the medium and executing it.
  • the virtual device high-speed moving method according to the embodiment of the present invention can be realized by hardware, but the computer reads a program for causing the computer to execute the method from a computer-readable recording medium and executes the program. Can also be realized.
  • a virtual device In a virtualized computer system comprising a plurality of physical devices connected to each other via a network and a high-speed storage device accessible by the physical device, a virtual device is connected between the physical devices.
  • a high-speed movement system for virtual devices to be moved In addition to the main storage unit that each physical device has, each physical device can access an area in the high-speed storage device allocated to each other so that no collision occurs when accessing the high-speed storage device,
  • the physical device has logical memory address space information created based on a storage area provided by the main storage unit and the high-speed storage device, and mapping information with physical memory address information, The virtual device operating in the physical device moves to the other physical device via the high-speed storage device, and uses the mapping information for the movement.
  • the physical device further includes a virtualization unit, which is a part for creating the virtual device,
  • the virtualization unit has a logical memory address space mapped to a physical address space composed of both the physical address of the main storage unit and the physical address of the high-speed storage device.
  • a high-speed moving system for virtual devices is a high-speed moving system for virtual devices.
  • the high-speed storage device is a storage device that operates at a slightly lower speed or a speed equal to or higher than that of the main storage unit.
  • a high-speed movement system for virtual devices characterized by being connected with a high-speed interface that does not become a problem.
  • the virtual device high-speed movement system according to any one of Supplementary notes 1 to 4, It further comprises a storage device control unit that controls control between the high-speed storage device and access to the physical device, The storage device control unit manages ownership related to the access granted in units of the physical device or the virtual device sharing the high-speed storage device, particularly for a part or all of the storage area of the high-speed storage device A high-speed movement system for virtual devices.
  • the physical device manages the correspondence between the logical memory address and the physical memory address using a chipset, particularly NORTHBRIDGE, or a memory management unit mounted on an arithmetic device. Moving system.
  • a bridge that converts between a first protocol defined for communication via a connection via the network and a second protocol defined for communication between the physical device and the high-speed storage device;
  • the virtual device high-speed movement system is characterized in that the connection through the network is transparent to the software program operating in the physical device.
  • a computer different from the physical device is connected via the same network as the network used by the physical device and the high-speed storage device for communication or a dedicated network different from the same network,
  • a high-speed moving system for a virtual device characterized in that the computer manages a storage area on the computer including the address mapping information and a trigger for moving a virtual device.
  • the virtual device high-speed movement system is characterized in that the permission type can be set with fine granularity such as reading only or reading and writing.
  • the memory data existing in the area mapped to the main storage unit of the first physical device is changed to the first physical device.
  • the device maps to a high-speed storage device that is set to be usable, and is copied to an area that is registered in the second physical device but is set to be unusable.
  • ownership change processing that resets ownership information regarding availability / impossibility from the first physical device to disable it from the second physical device
  • the arithmetic processing unit of the second physical device is changed.
  • a high-speed moving system for a virtual device wherein the system is dynamically set so that the virtual device can operate.
  • the newly-started virtual device after movement that has the same setting information as the virtual device before movement and operates on the arithmetic device of the second physical device is By accessing the memory data of the virtual device on the high-speed storage device, the same operation as that of the pre-migration virtual device that has been operating on the first physical device is continued, and the second physical to the second physical device is continued. Additional data 14 or 8, wherein data is transferred from the high speed storage device to the main storage unit of the second physical device without stopping the virtual device in the same manner as the virtual device is moved to the device. 15.
  • a management device for managing a plurality of physical devices connected to each other via a network and a high-speed storage device accessible by the physical device, and for moving a virtual device between the physical devices.
  • a storage area of the high-speed storage device is exclusively allocated to each of the physical devices so that no collision occurs during access, and when the virtual device is moved from the first physical device to the second physical device, the first The memory data existing in the area mapped to the main storage unit of the physical device is mapped to the storage area of the high-speed storage device that is set to be usable in the first physical device, and in the second physical device Copy to the storage area of a registered high-speed storage device that cannot be used, and ownership information regarding the availability of the high-speed storage device is not available from the first physical device while the virtual device is suspended
  • the virtual device can be dynamically set to operate using the arithmetic processing unit of the second physical device. Management apparatus according to claim.
  • a virtual device In a virtualized computer system including a plurality of physical devices connected to each other via a network and a high-speed storage device accessible by the physical device, a virtual device is connected between the physical devices.
  • a method of moving a virtual device to be moved at high speed In addition to the main storage device that each physical device has, each physical device can access an area in the high-speed storage device assigned to each other so that no collision occurs when accessing the high-speed storage device,
  • the physical device has logical memory address space information created based on a storage area provided by the main storage device and the high-speed storage device, and mapping information with physical memory address information, The virtual device operating in the physical device moves to another physical device via the high-speed storage device, and uses the mapping information for the movement.
  • a storage area of the high-speed storage device is exclusively allocated to each of the physical devices so that no collision occurs during access, and when the virtual device is moved from the first physical device to the second physical device, the first The memory data existing in the area mapped to the main storage device of the physical device is mapped to the storage area of the high-speed storage device that is set to be usable in the first physical device, and in the second physical device Copy to the storage area of a registered high-speed storage device that cannot be used, and ownership information regarding the availability of the high-speed storage device is not available from the first physical device while the virtual device is suspended
  • the setting is dynamically changed so that the virtual device can be operated by using the arithmetic processing device of the second physical device by performing the ownership changing process of resetting the setting to be possible.
  • a virtual device In a virtualized computer system comprising a plurality of physical devices connected to each other via a network and a high-speed storage device accessible by the physical device, a virtual device is connected between the physical devices.
  • a high-speed movement program for a virtual device to be moved In addition to the main storage unit that each physical device has, each physical device can access an area in the high-speed storage device allocated to each other so that no collision occurs when accessing the high-speed storage device,
  • the physical device has logical memory address space information created based on a storage area provided by the main storage unit and the high-speed storage device, and mapping information with physical memory address information,
  • the virtual device operating in the physical device moves to another physical device via the high-speed storage device, and causes the computer to function as a computer system using the mapping information for the movement.
  • Fast moving program In a virtualized computer system comprising a plurality of physical devices connected to each other via a network and a high-speed storage device accessible by the physical device, a virtual device is connected between the physical devices.
  • the high-speed storage device is mapped to the high-speed storage device that is set to be usable in the physical device, and is copied to the area that is registered in the second physical device but is set to be unusable, and the virtual device is temporarily stopped Processing unit of the second physical device by performing ownership change processing in which the ownership information relating to the availability / non-usability of the property is disabled from the first physical device and re-set from the second physical device.
  • a high-speed moving program for a virtual device which causes a computer to function as a computer system that is dynamically set so that the virtual device can operate using the computer.
  • a storage area of the high-speed storage device is exclusively allocated to each of the physical devices so that no collision occurs during access, and when the virtual device is moved from the first physical device to the second physical device, the first The memory data existing in the area mapped to the main storage unit of the physical device is mapped to the storage area of the high-speed storage device that is set to be usable in the first physical device, and in the second physical device Copy to the storage area of a registered high-speed storage device that cannot be used, and ownership information regarding the availability of the high-speed storage device is not available from the first physical device while the virtual device is suspended
  • the present invention can be applied to uses such as setting change by high-speed virtual device migration in a system having at least two or more computers connected to each other via a network such as a data center. Further, the present invention can also be applied to a use in which a virtual device information area in a high-speed storage device is used as a backup server by being used in another computer in a read-only mode.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 少なくとも2台以上の計算機がネットワークを介して接続された仮想化計算機システムにおいて、仮想装置を第1の計算機から第2の計算機に動的に移動する際に発生するサービス停止時間を短縮する。 第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶手段にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定する。

Description

計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム
 本発明はネットワークを介して相互に接続された物理マシン上の仮想装置により構成されたコンピュータシステムにおける仮想装置の移動の高速化に関する。
 複数の物理装置上に仮想装置を設けるシステムにおいて、物理装置の使用状況等に応じて、異なる物理装置間で仮想装置を移動(マイグレーション)する、といった技術が一般に用いられている(例えば特許文献1参照)。
 このような仮想装置で構成された仮想化計算機システムにおける、仮想装置の移動の高速化に関する技術の一例が非特許文献1に記載されている。この技術について図7を用いて説明する。
 図7に示すように、この仮想化計算機システムは、第1の物理装置1000と第2の物理装置1100を有している。
 第1の物理装置1000は、メモリ1001と、物理装置間を接続するためのネットワークインターフェースカード(NIC:Network Interface Card)1002を有している。また、第2の物理装置1100も同様に、メモリ1101と、ネットワークインターフェースカード1102を有している。両装置は、例えばEthernet(登録商標)に準拠したスイッチ等で接続されたネットワーク1200により相互に接続されている。また、両装置はハイパーバイザ(Hyper visor)に代表される仮想化部1010、仮想化部1110を有している。
 次に、バーチャルマシン(Virtual Machine)に代表される仮想装置である移動前仮想装置1020を第1の物理装置1000から第2の物理装置1100へ移動する場合について説明する。なお、図中では、移動前仮想装置1020を破線、移動後の仮想装置1120を実線で表す。
 図7に示す仮想計算機システムは仮想装置の移動の高速化を、移動前仮想装置1020に割り当てられた物理装置1000のメモリ領域1001のデータを、移動後仮想装置1120が物理装置1100で動作するために割り当てられたメモリ1101に高速にコピーすることで実現する。
 このコピーはネットワーク1200を用いて、仮想化部1010及び1110間のデータ転送によって行なわれる。一般的に、この転送はTCP(Transmission Control Protocol)等の信頼性の高いデータ転送方式を用いて行なわれる。もっとも、この転送時間は転送データ量や、ネットワーク帯域やプロトコル処理に起因するオーバーヘッド、更には、メモリ読み書き速度などに依存する。具体例を1つ挙げると、一般にネットワークプロトコルを介したデータ転送には複数のデータコピーが伴うため、プロトコル処理に起因するオーバーヘッドに加えデータコピー(少なくともネットワークインターフェース→バッファ領域→仮想装置の該当メモリ領域へのコピー)に起因するオーバーヘッドが存在する。
 そして、この転送が終了するまでの間は、仮想装置の動作を停止する必要がある。そのため、この停止時間をなるべく短くすることが望ましい。
 たとえば非特許文献1では、停止時間を短くするために、すべてのメモリデータをコピーするのではなく、逐次的に書き換えのあったメモリ(以下、このようなメモリのことを適宜「ダーティメモリ」と表記する。)のみを転送する。そして、転送効率と書き換えレートが釣り合ったところで、仮想装置を停止する。その後、最後のコピーを行い、異動先の物理措置で仮想装置を起動する、という処理を行なっている。このような処理を行うことにより移動時間の短縮化を図ることが可能となる。
特開2008-217302号公報
Christopher Clark、 et al. "Live Migration of Virtual Machines"、 In Proceedings of the 2nd ACM/USENIX Symposium on Networked Systems Design and Implementation (NSDI 101)、[online][平成21年4月20日検索]、インターネット<URL:http://www.cl.cam.ac.uk/netos/papers/101-migration-nsdi-pre.pdf>
 上述のように非特許文献1に記載の技術は、仮想装置の停止時間を決定する要因であるコピーするデータの量を削減している。もっとも、非特許文献1に記載の技術を用いた場合であっても、ネットワーク経由でのデータコピーが伴うという本質に変化はない。そのため、信頼性の高いネットワークプロトコルを利用したデータ転送やデータコピー処理の間、仮想装置のサービスが停止する必要があるという点は変わらない。その上、広範囲にわたって書き換えがあるようなケースには特にそのオーバーヘッドが顕著となる。
 すなわち、一般的な技術には、物理装置間で仮想装置を移動するにあたって、以下のような2つの問題点が有ることとなる。
 第1の問題点は、仮想装置の異なる物理装置間の移動におけるサービス停止時間の低減には限界があるということである。
 その理由は、データコピー量を必要最低限にしたとしても、データコピーという動作自体は本質的に同じであり、コピーのための転送時間、処理オーバーヘッド分に費やされる時間が必ず必要となるためである。
 第2の問題点は、仮想装置上で動作するアプリケーションの種類によっては、非特許文献1に記載の技術等を用いたとしても、その効果が乏しい場合があるということである。
 その理由は、メモリの書き換えが広範囲にわたるようなアプリケーションが動作している場合、ダーティメモリ量が多いためその転送には時間がかかってしまうからである。
 そこで、本発明は、仮想計算機システムにおいて、仮想装置を異なる物理装置間で高速に移動することが可能な、仮想化された計算機システムにおける仮想装置の高速移動システム、その方法及びそのプログラムを提供することを目的とする。
 本発明によれば、第1のシステムとしてネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動システムであって、前記物理装置は、各々が有する主記憶手段に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶手段及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり前記マッピング情報を用いることを特徴とする仮想装置の高速移動システムが提供される。
 更に、第2のシステムとして、第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶手段にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする仮想装置の高速移動システムが提供される。
 更に、第1の装置として、ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理装置であって、前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶手段にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする管理装置が提供される。
 更に、第1の方法として、ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動方法であって、前記物理装置は、各々が有する主記憶装置に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶装置及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり前記マッピング情報を用いることを特徴とする仮想装置の高速移動方が提供される。
 更に、第2の方法として、第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶装置にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする仮想装置の高速移動方法が提供される。
 更に、第3の方法として、ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理方法であって、前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶装置にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする管理方法が提供される。
 更に、第1のプログラムとして、ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動プログラムであって、前記物理装置は、各々が有する主記憶手段に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶手段及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり前記マッピング情報を用いる計算機システムとしてコンピュータを機能させることを特徴とする仮想装置の高速移動プログラムが提供される。
 更に、第2のプログラムとして、第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶手段にマッピングされた領域上に存在する実態メモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定する計算機システムとしてコンピュータを機能させることを特徴とする仮想装置の高速移動プログラムが提供される。
 更に、第3のプログラムとして、ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理プログラムであって、前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶手段にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定する管理装置としてコンピュータを動作させることを特徴とする管理プログラムが提供される。
 本発明によれば、データコピー方式ではなく、メインメモリとは別に設定された複数物理装置間で共有しその特定領域の所有権が動的に設定可能な高速記憶デバイスを用いてその領域の所有権を物理装置間で付け替える処理を行うことから仮想装置が異なる物理装置の間で高速に移動し、そのサービス停止時間を削減することが可能となる。
本発明の発明を実施するための形態の構成を示すプロック図である。 発明を実施するための形態の構成における仮想化手段の保有するメモリ空間設定例の模式図である。 発明を実施するための形態の構成の仮想化手段の保有するメモリ空間において仮想装置に割り当てられた領域の所有権付け替え処理の模式図(1/2)である。 発明を実施するための形態の構成の仮想化手段の保有するメモリ空間において仮想装置に割り当てられた領域の所有権付け替え処理の模式図(2/2)である。 発明を実施するための形態の動作を示す流れ図である。 第1の実施例の構成を示すプロック図である。 第2の実施例の構成を示すプロック図である。 本発明に関連する技術の構成の一例を示すブロック図である。
100、1000、2000 第1の物理装置
101、201 演算部
102、202 メモリ制御部
103、203 主記憶部
103-1、203-1 メモリ領域
104、204、320 通信インターフェース部
110、210 仮想化部
111、211 メモリ空間
120、220 仮想装置
200、1100、2100 第2の物理装置
300 高速記憶部
301、302 記憶領域
310 記憶装置制御部
400、1200 ネットワーク
500 管理装置
1001、1101 メモリ
1002、1102 ネットワークインターフェースカード
1010、1110 仮想化部
1020 移動前仮想装置
1021 移動後仮想装置
2001、2101 CPU
2002、2102 メインメモリ
2003、2103 NORTHBRIFGE
2004、2104、2203 Bridge
2005、2105 SOUTHBRIDGE
2006、2106 ネットワークインターフェースカード
2010、2110 Hypervisor
2021、2022、2120 VM
2201 NAND FLASH
2202 MR-IOV対応NAND FLASHコントローラ
2204、3300 ネットワークスイッチ・ルータ
2300 管理サーバ
3000、3100 物理装置
3001、3101 メインメモリ
3010、3110 Hypervisor
3020、3120 Virtual Machine
3201、3202、3203 メモリ領域
A1、A2 利用可能領域
A3、A4、A5 記憶領域
 次に、発明を実施するための形態について図面を参照して詳細に説明する。
 [構成の説明]
 図1を参照すると、本発明の実施形態は、第1の物理装置100及び第2の物理装置200を有する。
 両物理装置は、それぞれ演算部101、201と、メモリ制御部102、202と、主記憶部103、203と、通信インターフェース部104、204と、を有している。
 演算部101、201は、CPUに代表される演算処理装置である。メモリ制御部102、202は主記憶装置を制御する装置であり、典型的にはチップセットに搭載される。主記憶部103、203は、主記憶装置であり、記憶領域としてそれぞれメモリ領域103-1、203-1を有している。通信インターフェース部104、204は、各装置間で通信を行うためのインターフェースである。
 両物理装置は、仮想化部110、210を更に有している。仮想化部110、210それぞれの当該物理装置の上で動作するプログラムであり、ハイパーバイザを典型例とするものである。
 加えて、両物理装置は、それぞれの仮想化部によって作成され、動作する仮想装置120、220を有している。
 更に、本発明の実施形態は、両物理装置の外部に搭載される高速記憶部300と、高速記憶部300の制御部である高速記憶制御部310と、高速記憶部300及び高速記憶制御部310が用いる通信インターフェースである通信インターフェース320と、を有している。また、高速記憶部300は、記憶領域として、記憶領域301及び記憶領域302を有している。
 第1の物理装置100、第2の物理装置200、高速記憶制御部310及び高速記憶部300は、上記した各通信インターフェース部及びネットワーク400を介して相互に接続されている。なお、通信方式の具体例としてはEthernet(登録商標)が挙げられるが、本実施形態において具体的な通信方式は特に限定されるものではなく、任意の通信方式を採用することが可能である。
 また、本実施形態は仮想装置120及び仮想装置220とネットワークを介して接続される管理装置500を更に有している。
 なお、図1に示したのは、あくまで実施形態としての一例であり種々の変更を加えることが可能である。例えばメモリ制御部102、202はチップセット以外の場所に実装されてもよい。例えばチップセットではなく、演算部101、201の内部に搭載されていてもよい。
 更に、高速記憶部300及び高速記憶制御部310は必ずしも両物理装置の外部にある必要はなく、どちらかの物理装置の筐体内部に搭載されていてもよい。
 また、本ブロック図は一般に論理的な関係を示すものであり、物理的接続状態は必ずしもこれに限定されるものではない。更に、管理装置500と仮想化部110、210及び高速記憶制御部310への通信はネットワーク400を経由してもよいし、経由しなくてもよい。
 これらの各部はそれぞれ概略次のように動作する。
 演算部101及び201は各種プログラムを実行する演算処理を行なう。
 主記憶部102及び202はDRAMに代表される記憶装置で、物理装置は少なくとも一つ以上の主記憶部を有し、一般に上記演算部101、201の近くに実装され、演算部101、201とのデータ通信は非常に高速であるとする。
 通信インターフェース部104、204はメモリ制御部102及び202と高速記憶制御部310が互いにリモートに位置していてもネットワーク400を通して通信できるようネットワークプロトコル処理を行なう。
 ネットワーク400は例えば、Ethernetに準拠したスイッチ・ルータなどで構成されるネットワークを表し、エンドポイント間でデータの送受信を可能にする。このデータ通信は信頼性を確保することが好ましい。そのため、パケットが棄却された場合は再送し、かつ送信レートをコントロールすることで輻輳を抑制する、といった機能を特にハードウェア化された形態で有することが望ましい。
 この処理を実現するための機能は、通信インターフェース部104、204に実装されていてもよいし、ネットワーク400と通信インターフェース部104、204の両方に実装されていてもよい。前者の場合、例えばTCPに準拠する機能のエンドポイントへの実装等により実現することが可能である。また、後者の場合はネットワークではクレジット方式によるパケット棄却が起きないような仕組み、エンドポイントではネットワーク側からの輻輳度合い信号をもとにした送信レートのコントロール機能の実装、等により実現可能である。もっとも、同等の機能が実現できるのであれば、具体的な手段は必ずしもこの限りではない。
 高速記憶装置300はNAND型フラッシュメモリ(以下、適宜「NAND Flash」と記述する。)やDRAM、SRAMといった高速でのデータ読み書き処理が可能なデバイスである。すなわち、少なくともハードディスクなどのデバイスに比べて桁違いに高速に動作し、主記憶装置と少なくとも同等若しくは若干低速で動作するデバイスである。
 高速記憶制御部310は、演算部101及び201からの高速記憶装置300に対する安全なアクセスが可能なように設定・制御を行なう。本実施形態の説明において特に重要な機能は高速記憶部300の記憶領域管理の方式などであるが、これは本実施形態の構成要素を高速記憶部300の記憶領域管理の方式のみに限定するという趣旨ではない。
 メモリ制御部102、202は仮想化部110、210等のオペレーションシステムに代表される管理者権限を持ったソフトウェアが管理するメモリ空間のアドレスと、実際の物理的な記憶デバイスの物理アドレスとの対応を管理する部分である。
 仮想装置120及び220は仮想化部110、210に管理され、仮想的な資源が提供されたコンピュータ装置であり、その上でオペレーションシステムを典型例とする管理ソフトウェアやアプリケーションプロセスが動作する。
 管理装置500は主に、仮想化部110、210と高速記憶制御部310の設定を管理する。
 以下の説明では、第1の物理装置100及び第2の物理装置200とそこで動作するソフトウェアプログラムとを含めて、それぞれ第1の計算機1、第2の計算機2と呼ぶこととする。また、ディスクデバイスはSAN(Storage Area Network)やNFS(Network File System)などを利用し両計算機で共有されているとする。
 [動作の説明] 
 次に、図1、図2、図3-1、図3-2及び図4のフローチャートを参照して本実施形態の全体の動作について詳細に説明する。
 1.処理設定
 まず、マイグレーションの際の動作について説明する前提として、第1の計算機1及び第2の計算機2を起動する際に、仮想化部110、210が管理するメモリ空間を構成する方法を詳細に説明する。併せて、本実施形態のメモリ割当ての概念についても説明する。
 第1の計算機1のメモリ空間111は主記憶部103と高速記憶部300から構成される。一般にI/Oデバイスは仮想化部の起動時に認識される際に、主記憶部と同様にそのレジスタへのアクセスのためのアドレスをメモリにマップし、演算部からアクセスすることが可能である。本実施形態において、高速記憶部300も同様の手法ですべての領域(図1の例では領域301と302)をマップしておく。
 オペレーティングシステムとして例えば64bit対応のものを用いれば理論的には16EBの領域をメモリ領域として持つことが可能である。この点、現在の典型的オペレーティングシステムでは例えばTB程度のメモリ空間を持つことができるよう設計されている。
 今回の説明においては、高速記憶部300の一部の領域301を第1の計算機1に、領域302を第2の計算機2に排他的に割り当てるとする。その割当ては、図2に示すように、メモリ空間のうち、利用可能領域と利用不可領域との属性を与えることで実現する。例えば領域301に該当する部分は第1の計算機1のメモリ空間内では利用可能に、第2の計算機2では利用不可に設定され、それは管理装置500からの命令によって起動時に設定される。図2では領域A1が利用可能領域で、例えば主記憶部102全てと高速記憶部の領域301が仮想化部110のメモリ空間における利用可能領域に設定されている。仮想化部110は仮想装置にメモリ空間を割り当てる時にはこの利用可能領域のみ利用するよう割り当てを行ない、利用不可領域は利用しない。
 同様に仮想化部210のメモリ空間においても、記憶領域302に対応する部分は主記憶装置部分とあわせて利用可能に設定され(この領域は、図中の領域A2に相当)、それ以外は利用不可に設定されている。
 一般に論理メモリアドレスと物理メモリアドレス変換は高速に行なわれる必要があるためメモリ制御部としてハードウェア回路デバイスを用いて実現される。そして、もし利用不可部分へのアクセスがあった場合は例外を発生させ、利用可能部分以外へのアクセスを禁止することで複数の計算機の間でセキュアな利用が確保される。高速記憶制御部310はPCI-SIGで規定されているIOV(I/O Virtualization)などの仮想化システムにおけるIO仮想化機能に準拠するようにしてもよい。そして、IO仮想化機能に準拠することで、各仮想装置に割り当てられた領域をより管理容易性が高く高速で安全なデバイス共有を実現することが可能であり、本説明もそれを前提とする。もっとも、同等の機能が実現できるのであれば、具体的な手段は必ずしもこの限りではない。
 [マイグレーション動作]
 次に図4のフローチャートと図3の概念図を参照して、本発明のマイグレーション部分の詳細動作について説明する。
 すでに述べた通り、本発明はマイグレーションの際に、仮想装置のサービスが停止する要因である主記憶部間でのメモリ転送・コピーにかかる時間を短縮する方法を提供することを目的としている。以下にその動作フローについて順を追って説明する。なおマイグレーションの実施前は、仮想装置120にはメモリ空間111のうち、主記憶部部分から利用可能メモリ領域A3が割り当てられている(図1では領域103-1に対応)とする。
 まず、管理装置500や、直接仮想化部110が操作を受け付けることにより、マイグレーションの開始コマンドが発行される(ステップS601)。
 高速記憶装置300部分の利用可能領域から領域A3と同じ大きさの領域A4を確保し、バックグラウンドで領域A3の内容を領域A4にコピーする。この間、仮想装置120の動作は停止せず、一度コピーが終わった後に再度書き換えが生じた場合はダーティメモリとして情報を残す(ステップS602)。
 次に、可能な限りサービス停止時間を短縮するために、移行先の仮想化部210において仮想装置120の立ち上げのための事前処理を行なっておく(ステップS603)。本処理は実装などにも依存するが、たとえばXenなどに代表される仮想化部の場合、仮想装置に割り当てるリソース設定(割り当てメモリ領域やCPU資源分配のためのパラメータなど)などの新規仮想装置起動のために必要な設定一般を指す。メモリの中身のデータは現在は第1の計算機1上のメモリ空間にあるものを上書きすることになるが、その上書きが完全に完了するまで少なくとも仮想装置は動作させず、比喩的にはいわば仮想装置の「箱」だけを作っておく。ここでは本実施形態において重要となるメモリ領域の説明のみを行なう。移動する仮想装置に割り当てられているメモリ領域と同じ大きさのメモリ領域を確保しておく。確保するメモリは主記憶部203の領域203-1とする。
 ステップS602で行なったデータ同期処理が一度終了した後、次はダーティメモリのみを再度バックグラウンドコピーする(ステップS604)。
 最初のうちはダーティメモリの量が減っていくため、逐次コピーを繰り返す(ステップS605においてNo、ステップS604)。もっとも、一般に逐次コピーを繰り返していると、コピー時間が有限で仮想装置が動作している以上、メモリの更新は或るレート(頻度)で起こっているため、逐次コピー量があまり減少しなくなってくる。その飽和点となったら(ステップS605においてYes)ステップS606に進む。なお飽和点の判断は例えば事前に設定した値と、ダーティメモリコピー量の変化率などを比較することで実現可能であるが、方法は必ずしもこの限りではない。
 仮想装置のこれ以降のメモリ書き込みに関しては主記憶部102と高速記憶部300の両方への同時書き込みを行なうことで、主記憶部102と高速起動部300を同期させる。主記憶部102と高速起動部300の仮想装置データの領域が完全に同期するまで残りのダーティメモリの書き込みを続ける(ステップS606)。
 同期処理が終了したら仮想装置を一時停止し領域A4を第1の計算機1では利用不可に、第2の計算機2では利用可能に変更する(ステップS607)。ここで、計算機に割り当てる総メモリサイズを保存するための一つの方法としては、高速記憶制御部310が図3に示したように、現在第2の計算機2で利用可能と設定されている領域A4と同じ大きさの領域A5をあらかじめ用意し、その領域を交換する方法を用いることができる。なお、この方法はあくまで一例であり、必ずしもこの方法を用いる必要はない。たとえば、高速記憶制御部310は、物理的なアドレスそのものではなく仮想的な記憶装置領域を示すアドレスを計算機に提示しておき、本当の物理的アドレスと仮想的なアドレスの対応テーブルを管理しておき、このテーブルを書き換える、ということによって交換するということも可能である。
 仮想化部210は領域A4に対応するメモリ空間内の領域を使って仮想装置を起動する。これは例えば、ステップS603でした事前処理で設定したメモリ領域203-1へのアクセスはすべて高速記憶装置の領域A4の物理アドレスを使うようにメモリ制御部202にあらかじめ設定することで実現可能である(ステップS608)。
 バックグラウンドで記憶領域A4部分のデータを主記憶装置のメモリ領域203-1にコピーする(ステップS609)。このコピーは、ステップS604~ステップS605と同様に逐次的にダーティメモリをコピーし、適当なところで高速記憶部と主記憶部への同時書き込みを行い完全に領域A4と領域203-1が同期したら、それ以降は領域203-1を用いるよう論理メモリアドレスと物理メモリアドレスをマッピング設定することにより行う。
 次に、本実施形態の効果について説明する。
 本実施形態では、仮想装置のメモリデータを第1の計算機1から第2の計算機2に移す際に、ネットワークプロトコルを利用したコピーではなく、高速記憶部へのダイレクトなメモリ書き込み処理と当該領域の付け替えのみで行なうように構成されている。そのため、不要なプロトコル処理やメモリコピーを減らすことができ、仮想装置のマイグレーションの高速化が図れる。
 仮想装置の完全停止は第1の計算機1から第2の計算機2への高速記憶部300における当該領域の所有権の付け替え処理の時間のみであり、従来の手法と異なりダーティメモリ発生率の飽和点から第1の計算機1から第2の計算機2へのネットワーク越しのコピーによるデータ転送処理に起因するオーバーヘッドは生じない。
 つまり例えば通常のTCPを利用した転送では、送信側では一度送信バッファにデータをコピーし、TCPのプロトコル処理を行ない、セグメントごとに分けられたデータをNICのレジスタにコピーし、それをネットワーク越しに送信する。そして送信途中には、ACK処理を行ない、もしパケットが棄却されたら再送信する。また、受信側では、NICから割り込みが入ったら受信データを一度受信バッファにコピーし、そのデータをコピーして該当する受信プロセスに渡すことで実現される。
 一方、本実施形態ではこれらの処理に対し、高信頼転送にかかわる部分は通信インターフェース部104、204でハードウェア化されるためプロトコル処理に起因するオーバーヘッドを省くことが可能である。加えて、ネットワークプロトコルを用いるための不要なデータコピーを省くことが可能である。
 最後のダーティメモリコピーの直前から領域付け替えが終了するまでの仮想装置の処理速度は高速記憶部へのアクセス速度に依存するが、このダーティメモリコピーは、演算部からの直接書き込みである。これは異なるメモリアドレスへのデータコピーと同様の処理で行なわれるため、上記のような処理オーバーヘッドは本質的に生じておらず、何より仮想装置を停止する必要はない。
 また、本発明実施形態では、さらに、仮想装置の移動に際して、一連の処理を、最後のダーティメモリの高速記憶部への書き込み、所有権の付け替え、高速記憶部上のダーティデータから主記憶部への書き込みに分割して考える。そして、その時の負荷率やダーティメモリ(データ)発生率にあわせた柔軟な仮想装置の移行による、連続サービス停止時間と仮想装置の処理速度の柔軟なマネジメントが可能である。仮想装置上で動くプログラムの特性によっては、例えば高速記憶部の動作速度が遅くかつダーティメモリ量の発生率が大変高いような場合がある。このような場合は、いったん仮想装置を停止し、最後のダーティメモリを移した後に再度仮想装置を再開し、付け替え処理の準備をすべて整えてから、次は所有権の付け替えのみを行なうといった処理など、その状況に合わせたマネジメントが可能となる。同様に高速記憶部102から主記憶部203への移動も必要なときに行えばよいため、例えば現在の負荷率やダーティメモリ発生率、アクセス速度などを勘案して移行処理を行なうことが可能である。さらに、今回の説明では高速記憶部の領域割り当ては第1の計算機1、第2の計算機2の間で排他的に行なったが、read処理はデータを破壊しないため、例えば付け替え直前までは第2の計算機2から領域A4(図1では301)へのread処理を許可し、メモリ領域203-1へのデータコピーを併せて行なわせておくことで更に高速化を図ることも可能である。
 次に、具体的な実施例を用いて本発明を実施するための形態の動作を説明する。
 図5に実施例1を示す。図5に示すように、第1の物理装置2000及び第2の2100はその内部にCPU2001、2101、NIC(ネットワークインターフェースカード)2006、2106、SOUTHBRIDGE2005、2105、NORTHBRIDGE2003、2103、メインメモリ2002、2102、Bridge2004、2104をそれぞれ有する。当該第1の物理装置2000及び第2の2100上でXenやVMWareなどに代表されるHypervisor2010、2110が動作し、VM(Virtual Machine)2022が作成され、動作している。
 なおここでVM2022現在は物理装置2000上で動作し、移動後は物理装置2100で動作するものを指すとする。この点を明示すべく図中では、物理装置2000上のVM2022を破線、移動後の物理装置2100上のVM2022を実線で表す。
 また管理サーバ2300、Bridge2203、NIC2006、2106はスイッチ2204に接続され、互いに通信が可能である。このネットワークは典型的にはEthernetなどに代表されるネットワークであるがそれに限定されるものではない。本実施例では一つのネットワークスイッチ2204で全てが接続されるようにBridgeはPCIe-Ethernetのプロトコル変換を行なう。そして、管理サーバ2300がHypervisorにアクセスする時はNIC2006及び2106を用い、BridgeやMR-IOV PCIeコントローラにアクセスする時はBridgeを介している。もっともこの構成は一例であり、これらは別々のネットワークで構成されていてもよい。管理サーバ2300はまたスイッチ2204にもアクセス可能でありその設定などを変更することができる。また、BridgeにはたとえばECN、BCNやQCNといった送信レートの制御機能及びパケットロスを検出し再送する機能が搭載されていてもよい。また、それ以外にも、レートをコントロールする機能のみがあり、たとえばPAUSEやクレジット方式による送受信方式などによりパケットロスを起こさない仕組みがネットワーク側に組み込まれていていることが望ましい。更にBridgeは送信レート制御や再送制御などの高信頼通信を行う上で、ネットワークからの信号を利用するなどして連携して行なってもよいし、完全にエンド-エンドで制御を行なってもよい。Hypervisorなどの管理プログラムやCPUからはTransparentな形でハードウェア的に高速かつ高信頼なデータ転送処理機能が組み込まれていることが望ましい。もっとも、パケットロスがゼロであることを保証できる限りにおいて、これらの方式に制限されるものではない。
 さらに本実施例において、Bridge2203にはMR-IOV(Multi-Root I/O virtualization)対応PCIeコントローラである、MR-IOV NAND Flashコントローラ2202と、さらに高速記憶装置としてNAND Flash2201が接続されている。
 NORTHBRIDGEにはメモリコントローラが実装されており、CPUとメインメモリやBridgeを通したFlash間のアクセスなどの高速信号部分を処理する。特にNorthbridgeとMR-IOV PCIeコントローラ間はPCIeで接続されており、メインメモリへのアクセス速度に対して大きく遜色せず、この間の通信がボトルネックにならない程度に高速な帯域が確保されていることが望ましい。ここでNORTHBRIDGE2003及び2103はPCIeネットワークにおけるRoot Complexとして認識される。本実施例ではMR-IOVを用いた。また、その他にもSR-IOV(Single Root IOV)を用いて、Bridgeとネットワークスイッチでアドレス空間を切り分けることで同等の効果を付与し、複数RootComplexでも動作設定可能なような機能を搭載することも可能である。
 SOUTHBRIDGEは主に低速側インターフェースを担い、NICに代表されるI/OカードとCPUなどとの接続を担当する。
 本実施例は、起動時に第1の物理装置2000及び第2の2100(第1の物理装置2000及び第2の2100の文言には、ハードウェアとしての第1の物理装置2000及び第2の2100、その上で動作するプログラム、若しくは物理装置とプログラムの組合せが含まれるものである。)はNAND Flash2201の一部または全部を自分の管理デバイスとして設定する。
 管理サーバ2300はあらかじめNAND Flashコントローラ2202に対してどの物理装置にどれくらいの領域を可視にして、そのうちどのくらいの領域を利用可能領域として割り当てるかを設定しておく。物理装置は起動時に可視領域を自分の管理デバイスとして登録し、メモリ空間にマップするが、同時に管理サーバ2300は物理装置に対してそのうちの利用可能領域を通知する。これにより、Hypervisorはどのメモリ領域が各プログラムやVMに対して割り当て可能であるかを認識し、属性設定を行なう。NORTHBRIDGEに搭載されたメモリコントローラはこの情報をもとにアクセス監視を行い、禁止された部分へのアクセス要求があった場合はそのアクセスを遮断し、Hypervisorに通知する。
 また、NAND Flashコントローラにおいても同様のアクセス管理機能が搭載され、同時に設定されていることが望ましい。本機能によりVMからI/Oデバイスへの直接アクセスが可能となるため処理の高速化が図れる。HypervisorはVMを起動する時にメモリ領域を割り当てるが、その情報はNAND Flashコントローラにも通知される。そして、MR-IOVで規定された機能を用いてそのVMが利用する領域を設定する。これによりVMから直接アクセスに対しても領域の保護が可能となる。
 次にVMのマイグレーション動作について詳細に説明する。管理サーバからVMのマイグレーションコマンドを発行すると、Hypervisor2010はVMのマイグレーションを開始する。これは直接管理者がHypervisor2010の該当コマンドを入力してもよい。Hypervisorは、本発明の実施形態として図4に示したものと同様のフローで、VM2022のメモリ領域をNAND Flashがマップされている領域にコピーする。逐次コピーを繰り返し、ダーティメモリ発生率が飽和したところでHypervisorはVM2022からのメモリ書き込み処理の発生に対してメインメモリへの書き込みと同時にNAND FLASNへの書き込みを行う。そして、メインメモリとNAND FLASHとの当該領域の完全同期が実現されるまでバックグラウンドではダーティメモリのコピーを行う。同期が達成された後にVM2022はNAND Flashのみへアクセスするようにする。同時にHypervisor2110は新しいVMの起動準備を行なう。このときに、まずNAND FlashのVM2022の利用する領域をREAD ONLYで第2の計算機2に可視にして、その情報をメインメモリに確保された領域に常に逐次コピーして同期させておいてもよい。同期が終了した後、必要なら負荷率の変動なども監視しながら、適当なタイミングでVMを一時停止し、実施の形態に記述の要領でNAND Flashの利用可能領域と利用不可領域の更新を行う。これにより、第2の計算機2からVM2022領域へのアクセスが可能であるようにし、Hypervisor2110は新規作成しておいたVMのメモリ領域の物理アドレスを当該高速記憶装置のデータ部分に指定して起動する。同時にダーティメモリをメインメモリ上に確保された領域にコピーすることで両者の同期をはかり、適当なタイミングでメインメモリ領域にマッピングしなおすことでマイグレーションは完全に終了する。
 なお、図4に示した処理フローはNAND Flashを介することで段階を踏みながらマイグレーションが可能であるが、どのタイミングでどうVMを移動させるべきかはVMの動作状況やNAND FLASHへのアクセス速度で変わるものである。
 本発明の第2の実施例としてバックアップサーバの構築へ応用することが考えられる。
 具体例としては、例えば図6に示すように、物理装置3000をマスターサーバ、物理装置3100をスレーブ(バックアップ用)サーバとする。NAND Flashは前記の実施の形態と同様にネットワークスイッチを通して共有され、物理装置3000及び3100の論理メモリ空間にマッピングされているとする。物理装置3000と物理装置3100はNAND Flashを共有し、物理装置3000の利用可能領域のうち一部を物理装置3100からでも利用可能と設定されている。ただし、その重複領域は物理装置3100からは読み出しのみが可能であるとする。物理装置3000の上ではVM3020が動作し、メインメモリ3100においてそのメモリ領域3201が確保されている。ここで、バックグラウンドで常にダーティメモリはNAND Flash上にマッピングされた領域3202にコピーされており、この領域3202は物理装置3100からも読み出しのみアクセスが許可されている領域であるとする。
 一方で物理装置3100ではやはりVM3120が動作しているが、そのメモリ領域は物理的にはメインメモリ3101に論理メモリ空間では領域3203として確保されている。物理装置3100は読み出し可能である領域3202から3203へ常に差分データ(ダーティメモリ)をコピーしている。このため、VM3020のメモリデータはVM3120のメモリデータと差分データのコピーにかかる時間を除けば同じものであり、例えば、ある瞬間に物理装置3000のCPUやメモリなどのデバイスが故障するなどのなんらかの障害が起きた時でも、すぐに物理装置3100上のVM3120に切り替えることで、瞬時にバックアップサーバへの以降が可能となる。
 典型的なアプリケーションとしては、Webサーバに代表される外部からのアクセスに対して何らかの処理を行なうようなシステムを考える。一般的にはこのようなサーバはユーザからのアクセスを契機に新たな演算を行なう。そして、物理装置3000が故障しても、すぐさま物理装置3100へ切り替えれば、次にユーザがアクセスしてもユーザからはその故障に気づくことなくサービス利用が継続して提供される。ちょうどユーザアクセスの処理をしている最中に故障した場合は、差分データの書き込みディレイ分に関係する処理については復旧不可能ではある。しかし、その場合のために、処理に不整合があったことを検出したらその処理事態をアボートする処理を入れるようアプリケーションプログラムを設計すればよく、問題とはならない。
 以上説明した、本発明の実施形態及び実施例は、以下のような効果を奏する。
 第1の効果は、仮想装置が異なる物理装置の間で高速に移動しそのサービス停止時間を削減できることにある。
 その理由は、従来のデータコピー方式ではなく、メインメモリとは別に設定された複数物理装置間で高速記憶デバイスを共有し、その特定領域の所有権が動的に設定可能な高速記憶デバイスを用いてその領域の所有権を物理装置間で付け替える処理のみで同等の効果を奏することができるためである。
 第2の効果は、第1の効果を実現する上で必要な処理が非常に簡略なものでよいことにある。
 その理由は、仮想化部などのソフトウェアの大幅な変更が不要であり、かつ高速記憶デバイスの追加にともなう設定処理は簡単に自動化ができ、実際の移動に際して必要な動的処理も非常に簡単な設定変更で実現できるためである。
 第3の効果は、仮想装置の異なる物理装置の間の移動において性能を最大限に発揮できるよう移動プロセスが柔軟に設定できることにある。
 その理由は、本発明の実施形態によれば高速記憶部へのアクセス速度やダーティメモリ発生率、仮想装置の負荷率など様々なパラメータを元に仮想装置の起動や停止のタイミングの設定幅が広く取れるためである。
 第4の効果は、複数の物理装置上の複数ホストプログラム間でお互いの存在を意識せずにかつ矛盾なくデバイス共有が行えることである。
 本発明に関連する技術として、例えば、一台の物理装置における入出力装置の共有に関して、ホストプログラムというデバイスを完全に管理できるプログラムが、その支配下にある仮想計算機のアクセスについてマッピング情報の更新を行うといった技術が考えられる。もっとも、このような技術では複数の物理装置間での複数ホストプログラム間でお互いの存在を意識せずにかつ矛盾なくデバイス共有することができなかった。
 しかし、本発明では、異なる物理マシン上で動作する複数のホストプログラムが共有するネットワーク上に位置するデバイスに関するマッピング情報の管理をしており、ただ単なるマッピング情報の更新ではない。そのため、上述したように、複数ホストプログラム間でお互いの存在を意識せずにかつ矛盾なくデバイス共有が行えるという効果を奏することができる。
 なお、本発明の実施形態である仮想装置の高速移動システムは、ハードウェアにより実現することもできるが、コンピュータをその仮想装置の高速移動システムとして機能させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
 また、本発明の実施形態による仮想装置の高速移動方法は、ハードウェアにより実現することもできるが、コンピュータにその方法を実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
 また、上述した実施形態は、本発明の好適な実施形態及び実施例ではあるが、上記実施形態及び実施例のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
 本願は、日本の特願2009-109083(2009年4月28日に出願)に基づいたものであり、又、特願2009-109083に基づくパリ条約の優先権を主張するものである。特願2009-109083の開示内容は、特願2009-109083を参照することにより本明細書に援用される。 
 本発明の代表的な実施の形態が詳細に述べられたが、様々な変更(changes)、置き換え(substitutions)及び選択(alternatives)が請求項で定義された発明の精神と範囲から逸脱することなくなされることが理解されるべきである。また、仮にクレームが出願手続きにおいて補正されたとしても、クレームされた発明の均等の範囲は維持されるものと発明者は意図する。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1) ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動システムであって、
 前記物理装置は、各々が有する主記憶部に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶部及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり前記マッピング情報を用いることを特徴とする仮想装置の高速移動システム。
 (付記2) 付記1に記載の仮想装置の高速移動システムにおいて、
 前記物理装置は、前記仮想装置を作成するための部分である、仮想化部を更に備えており、
 当該仮想化部は、前記主記憶部の物理的なアドレス及び前記高速記憶装置の物理的なアドレスの両方からなる物理的なアドレス空間にマッピングされた論理的なメモリアドレス空間を有していることを特徴とする仮想装置の高速移動システム。
 (付記3) 付記1又は2に記載の仮想装置の高速移動システムにおいて、
 或る仮想装置に対して割り当てられたメモリアドレス空間領域について、動的にその物理アドレスと論理アドレスの前記マッピング情報を変更し、アクセス制御のための記憶領域の所有権情報を併せて変更することを特徴とする仮想化された計算機システムにおける仮想装置の高速移動システム。
 (付記4) 付記1乃至3の何れか1項に記載の仮想装置の高速移動システムにおいて、
 前記高速記憶装置は、前記主記憶部と比べ若干の低速若しくは同等以上の速度で動作する記憶装置であり、当該高速記憶装置が、前記物理装置が更に備えるメモリ制御部及び演算部と性能ボトルネックにならない程度に高速なインターフェースで接続されていることを特徴とする仮想装置の高速移動システム。
 (付記5) 付記1乃至4の何れか1項に記載の仮想装置の高速移動システムにおいて、
 前記高速記憶装置の制御管理と、前記物理装置との間のアクセスを制御する記憶装置制御部を更に備えており、
 当該記憶装置制御部は、特に前記高速記憶装置の一部または全部の記憶領域について、当該高速記憶装置を共有している前記物理装置又は前記仮想装置単位で付与された前記アクセスに関する所有権を管理することを特徴とする仮想装置の高速移動システム。
 (付記6) 付記1乃至5の何れか1項に記載の仮想装置の高速移動システムにおいて、
 前記物理装置は、前記論理メモリアドレスと物理メモリアドレスとの対応を、チップセットの特にはNORTHBRIDGE、若しくは、演算装置に搭載されたメモリーマネジメントユニットを用いて管理することを特徴とする仮想装置の高速移動システム。
 (付記7) 付記1乃至6の何れか1項に記載の仮想装置の高速移動システムにおいて、
 前記物理装置間の前記ネットワークを介した接続による通信のために、ネットワークスイッチの集合を有しており、前記接続に際し、キュー管理に基づく輻輳制御、パケット棄却率の低減又はゼロ化、といった高信頼性通信のための機能を有することを特徴とする仮想装置の高速移動システム。
 (付記8) 付記7に記載の仮想装置の高速移動システムにおいて、
 前記ネットワークを介した接続による通信のために規定された第1のプロトコルと、前記物理装置と前記高速記憶装置との通信のために規定された第2のプロトコルと、を変換するブリッジを有しており、前記物理装置内で動作するソフトウェアプログラムからはネットワーク介した接続が透明的であることを特徴とする仮想装置の高速移動システム。
 (付記9) 付記8項に記載の仮想装置の高速移動システムにおいて、
 前記ブリッジと前記ネットワークスイッチが、前記ネットワークスイッチからのフィードバック信号を利用することにより連携し、送信レートの制御や、棄却されたパケットについて再送する、といった高信頼性を保つ機能を有することを特徴とする仮想化された計算機システムにおける仮想装置の高速移動システム。
 (付記10) 付記1乃至9の何れか1項に記載の仮想装置の高速移動システムにおいて、
 前記物理装置とは異なる計算機が、前記物理装置及び高速記憶装置が通信を行うために用いているネットワークと同一のネットワーク又は当該同一のネットワークとは別の専用ネットワークを介して接続されており、
 当該計算機が、前記アドレスマッピング情報を含む計算機上の記憶領域の管理や、仮想装置の移動の契機の管理を行なうことを特徴とする仮想装置の高速移動システム。
 (付記11) 付記1乃至10の何れか1項に記載の仮想装置の高速移動システムにおいて、
 前記アドレスマッピング情報のマッピングは当該計算機システムの起動時に行なわれ、前記高速記憶装置はI/Oデバイスとして読み込まれ、前記物理装置の管理するメモリ領域にマッピングされ、当該マッピングに際し、予め設定された領域割り当て情報を用いて、前記物理装置の各々に対して、認識・登録を許可する記憶領域と、認識・登録は許可するが使用不可の属性を付与する記憶領域と、を設定することを特徴とする仮想装置の高速移動システム。
 (付記12) 付記11に記載の仮想装置の高速移動システムにおいて、
 前記許可の種類は読み込みのみ、或いは、読み込み及び書き出しといった細かい粒度で設定が可能なことを特徴とする仮想装置の高速移動システム。
 (付記13) 付記1乃至12の何れか1項に記載の仮想装置の高速移動システムにおいて、
 前記物理装置上で動作するアプリケーションプログラム、若しくは前記仮想装置として動作するアプリケーションプログラムが、アクセスを許可されていない領域についてアクセスが発生した時は、当該アクセスが制限されることを特徴とする仮想装置の高速移動システム。
 (付記14) 第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする仮想装置の高速移動システム。
 (付記15) 前記主記憶部から前記高速記憶装置へのコピーの間、前記仮想装置は停止させず、バックグラウンドで逐次的に書き換えのあったデータ部分のみのコピーによる同期処理を行ない、当該コピーにかかる時間に書き換わるデータの量が飽和したと判断した時点から、差分データコピーと同時に仮想装置からの当該領域データへの書き込み処理の発生に対して主記憶部のみならず高速記憶装置へも同時書き込みを開始し、同期が完全に終了したところで、それ以降は主記憶部から高速記憶装置にアクセスするように論理アドレスと物理アドレスのマッピング更新を行うことにより仮想装置の動作を継続することを特徴とする付記14に記載の仮想装置の高速移動システム。
 (付記16) 前記所有権の付け替え処理の後、移動前仮想装置と同様の設定情報を有し、第2の物理装置の演算装置上で動作する新規に起動された移動後仮想装置が、前記高速記憶装置上の仮想装置のメモリデータにアクセスすることで第1の物理装置上で動作していた前記移動前仮想装置と全く同じ動作を継続し、前記第1の物理装置から第2の物理装置へ前記仮想装置移動させた方法と同様の方法で、前記高速記憶装置から第2の物理装置の主記憶部に仮想装置の停止を伴わずデータが移行されることを特徴とする付記14又は15に記載の仮想装置の高速移動システム。
 (付記17) 前記移動対象の仮想装置のメモリデータが逐次的に書き込まれる前記高速記憶装置の領域について、前記所有権の付け替え前から、第2の物理装置からのアクセスを完全利用不可から読み出しのみ可に設定することで予め第2の物理装置の主記憶部上の当該仮想装置のために確保されたメモリ領域にデータを逐次的に移動することを特徴とする付記14乃至16の何れか1項に記載の仮想装置の高速移動システム。
 (付記18) ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理装置であって、
 前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする管理装置。
 (付記19) 前記主記憶部から前記高速記憶装置へのコピーの間、前記仮想装置は停止させず、バックグラウンドで逐次的に書き換えのあったデータ部分のみのコピーによる同期処理を行なわせ、当該コピーにかかる時間に書き換わるデータの量が飽和したと判断した時点から、差分データコピーと同時に仮想装置からの当該領域データへの書き込み処理の発生に対して主記憶部のみならず高速記憶装置へも同時書き込みを開始させ、同期が完全に終了したところで、それ以降は主記憶部から高速記憶装置にアクセスするように論理アドレスと物理アドレスのマッピング更新を行わすことにより仮想装置の動作を継続させることを特徴とする付記18に記載の管理装置。
 (付記20) ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動方法であって、
 前記物理装置は、各々が有する主記憶装置に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶装置及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり前記マッピング情報を用いることを特徴とする仮想装置の高速移動方法。
 (付記21) 第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶装置にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする仮想装置の高速移動方法。
 (付記22) ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理方法であって、
 前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶装置にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする管理方法。
 (付記23) ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動プログラムであって、
 前記物理装置は、各々が有する主記憶部に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶部及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり前記マッピング情報を用いる計算機システムとしてコンピュータを機能させることを特徴とする仮想装置の高速移動プログラム。
 (付記24) 第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在する実態メモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定する計算機システムとしてコンピュータを機能させることを特徴とする仮想装置の高速移動プログラム。
 (付記25) ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理プログラムであって、
 前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定する管理装置としてコンピュータを動作させることを特徴とする管理プログラム。
 本発明によれば、データセンターなどの相互にネットワークを介して接続された少なくとも二つ以上の計算機を有するシステムにおける、高速な仮想装置のマイグレーションによる設定変更といった用途に適用できる。また、高速記憶装置における仮想装置情報の領域をリードオンリーモードで他の計算機で利用することでバックアップサーバとして用いるといった用途にも適用可能である。

Claims (25)

  1.  ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動システムであって、
     前記物理装置は、各々が有する主記憶部に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶部及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり前記マッピング情報を用いることを特徴とする仮想装置の高速移動システム。
  2.  請求項1に記載の仮想装置の高速移動システムにおいて、
     前記物理装置は、前記仮想装置を作成する仮想化部を更に備えており、
     当該仮想化部は、前記主記憶部の物理的なアドレス及び前記高速記憶装置の物理的なアドレスの両方からなる物理的なアドレス空間にマッピングされた論理的なメモリアドレス空間を有していることを特徴とする仮想装置の高速移動システム。
  3.  請求項1又は2に記載の仮想装置の高速移動システムにおいて、
     或る仮想装置に対して割り当てられたメモリアドレス空間領域について、動的にその物理アドレスと論理アドレスの前記マッピング情報を変更し、アクセス制御のための記憶領域の所有権情報を併せて変更することを特徴とする仮想化された計算機システムにおける仮想装置の高速移動システム。
  4.  請求項1乃至3の何れか1項に記載の仮想装置の高速移動システムにおいて、
     前記高速記憶装置は、前記主記憶部と比べ若干の低速若しくは同等以上の速度で動作する記憶装置であり、当該高速記憶装置が、前記物理装置が更に備えるメモリ制御部及び演算部と性能ボトルネックにならない程度に高速なインターフェースで接続されていることを特徴とする仮想装置の高速移動システム。
  5.  請求項1乃至4の何れか1項に記載の仮想装置の高速移動システムにおいて、
     前記高速記憶装置の制御管理と、前記物理装置との間のアクセスを制御する記憶装置制御部を更に備えており、
     当該記憶装置制御部は、特に前記高速記憶装置の一部または全部の記憶領域について、当該高速記憶装置を共有している前記物理装置又は前記仮想装置単位で付与された前記アクセスに関する所有権を管理することを特徴とする仮想装置の高速移動システム。
  6.  請求項1乃至5の何れか1項に記載の仮想装置の高速移動システムにおいて、
     前記物理装置は、前記論理メモリアドレスと物理メモリアドレスとの対応を、チップセットの特にはNORTHBRIDGE、若しくは、演算装置に搭載されたメモリーマネジメントユニットを用いて管理することを特徴とする仮想装置の高速移動システム。
  7.  請求項1乃至6の何れか1項に記載の仮想装置の高速移動システムにおいて、
     前記物理装置間の前記ネットワークを介した接続による通信のために、ネットワークスイッチの集合を有しており、前記接続に際し、キュー管理に基づく輻輳制御、パケット棄却率の低減又はゼロ化、といった高信頼性通信のための機能を有することを特徴とする仮想装置の高速移動システム。
  8.  請求項7に記載の仮想装置の高速移動システムにおいて、
     前記ネットワークを介した接続による通信のために規定された第1のプロトコルと、前記物理装置と前記高速記憶装置との通信のために規定された第2のプロトコルと、を変換するブリッジを有しており、前記物理装置内で動作するソフトウェアプログラムからはネットワーク介した接続が透明的であることを特徴とする仮想装置の高速移動システム。
  9.  請求項8項に記載の仮想装置の高速移動システムにおいて、
     前記ブリッジと前記ネットワークスイッチが、前記ネットワークスイッチからのフィードバック信号を利用することにより連携し、送信レートの制御や、棄却されたパケットについて再送する、といった高信頼性を保つ機能を有することを特徴とする仮想化された計算機システムにおける仮想装置の高速移動システム。
  10.  請求項1乃至9の何れか1項に記載の仮想装置の高速移動システムにおいて、
     前記物理装置とは異なる計算機が、前記物理装置及び高速記憶装置が通信を行うために用いているネットワークと同一のネットワーク又は当該同一のネットワークとは別の専用ネットワークを介して接続されており、
     当該計算機が、前記アドレスマッピング情報を含む計算機上の記憶領域の管理や、仮想装置の移動の契機の管理を行なうことを特徴とする仮想装置の高速移動システム。
  11.  請求項1乃至10の何れか1項に記載の仮想装置の高速移動システムにおいて、
     前記アドレスマッピング情報のマッピングは当該計算機システムの起動時に行なわれ、前記高速記憶装置はI/Oデバイスとして読み込まれ、前記物理装置の管理するメモリ領域にマッピングされ、当該マッピングに際し、予め設定された領域割り当て情報を用いて、前記物理装置の各々に対して、認識・登録を許可する記憶領域と、認識・登録は許可するが使用不可の属性を付与する記憶領域と、を設定することを特徴とする仮想装置の高速移動システム。
  12.  請求項11に記載の仮想装置の高速移動システムにおいて、
     前記許可の種類は読み込みのみ、或いは、読み込み及び書き出しといった細かい粒度で設定が可能なことを特徴とする仮想装置の高速移動システム。
  13.  請求項1乃至12の何れか1項に記載の仮想装置の高速移動システムにおいて、
     前記物理装置上で動作するアプリケーションプログラム、若しくは前記仮想装置として動作するアプリケーションプログラムが、アクセスを許可されていない領域についてアクセスが発生した時は、当該アクセスが制限されることを特徴とする仮想装置の高速移動システム。
  14.  第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする仮想装置の高速移動システム。
  15.  前記主記憶部から前記高速記憶装置へのコピーの間、前記仮想装置は停止させず、バックグラウンドで逐次的に書き換えのあったデータ部分のみのコピーによる同期処理を行ない、当該コピーにかかる時間に書き換わるデータの量が飽和したと判断した時点から、差分データコピーと同時に仮想装置からの当該領域データへの書き込み処理の発生に対して主記憶部のみならず高速記憶装置へも同時書き込みを開始し、同期が完全に終了したところで、それ以降は主記憶部から高速記憶装置にアクセスするように論理アドレスと物理アドレスのマッピング更新を行うことにより仮想装置の動作を継続することを特徴とする請求項14に記載の仮想装置の高速移動システム。
  16.  前記所有権の付け替え処理の後、移動前仮想装置と同様の設定情報を有し、第2の物理装置の演算装置上で動作する新規に起動された移動後仮想装置が、前記高速記憶装置上の仮想装置のメモリデータにアクセスすることで第1の物理装置上で動作していた前記移動前仮想装置と全く同じ動作を継続し、前記第1の物理装置から第2の物理装置へ前記仮想装置移動させた方法と同様の方法で、前記高速記憶装置から第2の物理装置の主記憶部に仮想装置の停止を伴わずデータが移行されることを特徴とする請求項14又は15に記載の仮想装置の高速移動システム。
  17.  前記移動対象の仮想装置のメモリデータが逐次的に書き込まれる前記高速記憶装置の領域について、前記所有権の付け替え前から、第2の物理装置からのアクセスを完全利用不可から読み出しのみ可に設定することで予め第2の物理装置の主記憶部上の当該仮想装置のために確保されたメモリ領域にデータを逐次的に移動することを特徴とする請求項14乃至16の何れか1項に記載の仮想装置の高速移動システム。
  18.  ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理装置であって、
     前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする管理装置。
  19.  前記主記憶部から前記高速記憶装置へのコピーの間、前記仮想装置は停止させず、バックグラウンドで逐次的に書き換えのあったデータ部分のみのコピーによる同期処理を行なわせ、当該コピーにかかる時間に書き換わるデータの量が飽和したと判断した時点から、差分データコピーと同時に仮想装置からの当該領域データへの書き込み処理の発生に対して主記憶部のみならず高速記憶装置へも同時書き込みを開始させ、同期が完全に終了したところで、それ以降は主記憶部から高速記憶装置にアクセスするように論理アドレスと物理アドレスのマッピング更新を行わすことにより仮想装置の動作を継続させることを特徴とする請求項18に記載の管理装置。
  20.  ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動方法であって、
     前記物理装置は、各々が有する主記憶装置に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶装置及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり前記マッピング情報を用いることを特徴とする仮想装置の高速移動方法。
  21.  第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶装置にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする仮想装置の高速移動方法。
  22.  ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理方法であって、
     前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶装置にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする管理方法。
  23.  ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動プログラムであって、
     前記物理装置は、各々が有する主記憶部に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶部及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり前記マッピング情報を用いる計算機システムとしてコンピュータを機能させることを特徴とする仮想装置の高速移動プログラム。
  24.  第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在する実態メモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定する計算機システムとしてコンピュータを機能させることを特徴とする仮想装置の高速移動プログラム。
  25.  ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理プログラムであって、
     前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定する管理装置としてコンピュータを動作させることを特徴とする管理プログラム。
PCT/JP2010/057470 2009-04-28 2010-04-27 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム WO2010126048A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/258,915 US20120030306A1 (en) 2009-04-28 2010-04-27 Rapid movement system for virtual devices in a computing system, management device, and method and program therefor
JP2011511415A JP5692065B2 (ja) 2009-04-28 2010-04-27 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-109083 2009-04-28
JP2009109083 2009-04-28

Publications (1)

Publication Number Publication Date
WO2010126048A1 true WO2010126048A1 (ja) 2010-11-04

Family

ID=43032192

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/057470 WO2010126048A1 (ja) 2009-04-28 2010-04-27 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム

Country Status (3)

Country Link
US (1) US20120030306A1 (ja)
JP (1) JP5692065B2 (ja)
WO (1) WO2010126048A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221064A (ja) * 2011-04-05 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> メモリ同期方法及び運用系の仮想マシン及び待機系の仮想マシン及びメモリ同期プログラム
JP2013517539A (ja) * 2010-04-30 2013-05-16 株式会社日立製作所 計算機システム及びその制御方法
JP2015535636A (ja) * 2012-11-30 2015-12-14 華為技術有限公司Huawei Technologies Co.,Ltd. バーチャルマシーンのホットマイグレーションを実現する方法、装置及びシステム
US11005934B2 (en) 2016-03-16 2021-05-11 Google Llc Efficient live-migration of remotely accessed data
CN114327745A (zh) * 2021-11-25 2022-04-12 北京志凌海纳科技有限公司 一种跨主机虚拟机存储热迁移的方法及系统

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289684B2 (en) * 2011-05-03 2019-05-14 Vmware, Inc. Live migration of virtual machine persistent data using mirrored input-output operations
US9367452B1 (en) * 2011-09-30 2016-06-14 Emc Corporation System and method for apportioning storage
US9367453B1 (en) * 2011-09-30 2016-06-14 Emc Corporation System and method for migrating cache data
US9164795B1 (en) 2012-03-30 2015-10-20 Amazon Technologies, Inc. Secure tunnel infrastructure between hosts in a hybrid network environment
US9197489B1 (en) 2012-03-30 2015-11-24 Amazon Technologies, Inc. Live migration of virtual machines in a hybrid network environment
US9928107B1 (en) * 2012-03-30 2018-03-27 Amazon Technologies, Inc. Fast IP migration in a hybrid network environment
US9019832B2 (en) * 2013-03-14 2015-04-28 Mediatek Inc. Network switching system and method for processing packet switching in network switching system
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9444748B2 (en) 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9609086B2 (en) * 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9104643B2 (en) 2013-03-15 2015-08-11 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9118984B2 (en) 2013-03-15 2015-08-25 International Business Machines Corporation Control plane for integrated switch wavelength division multiplexing
WO2016164541A1 (en) * 2015-04-07 2016-10-13 K2M, Inc. Spinal stabilization device, system, and method of use
US9519433B2 (en) * 2015-05-13 2016-12-13 VSector Security Technologies, LLC Secure virtual sector erasure method and system
US20180107509A1 (en) * 2015-07-31 2018-04-19 Adrian Shaw Migration of computer systems
US10877920B2 (en) * 2015-10-16 2020-12-29 Avi Pty Ltd Communications device for routing signals on communications networks
US10079919B2 (en) 2016-05-27 2018-09-18 Solarflare Communications, Inc. Method, apparatus and computer program product for processing data
US11809899B2 (en) 2019-06-28 2023-11-07 Intel Corporation Methods and apparatus for accelerating virtual machine migration
US11550490B2 (en) * 2020-02-12 2023-01-10 Red Hat, Inc. Scalable storage cluster mirroring
KR20210124687A (ko) * 2020-04-07 2021-10-15 에스케이하이닉스 주식회사 스토리지 시스템, 이를 위한 스토리지 장치 및 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034508A (ja) * 1999-07-22 2001-02-09 Hitachi Ltd メモリダンプ採取方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2005327279A (ja) * 2004-05-11 2005-11-24 Internatl Business Mach Corp <Ibm> 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム
US20090089781A1 (en) * 2007-09-30 2009-04-02 Symantec Corporation System for and Method of Migrating One or More Virtual Machines

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845395B1 (en) * 1999-06-30 2005-01-18 Emc Corporation Method and apparatus for identifying network devices on a storage network
US20040131055A1 (en) * 2003-01-06 2004-07-08 Juan-Carlos Calderon Memory management free pointer pool
US7254497B2 (en) * 2005-06-06 2007-08-07 Spectra Logic Corporation Energy consumption analysis for use with a storage system
JP4806556B2 (ja) * 2005-10-04 2011-11-02 株式会社日立製作所 ストレージシステム及び構成変更方法
US7814307B2 (en) * 2006-03-16 2010-10-12 Microsoft Corporation Fast booting a computing device to a specialized experience
US8042108B2 (en) * 2006-03-18 2011-10-18 International Business Machines Corporation Virtual machine migration between servers
US9479341B2 (en) * 2006-08-22 2016-10-25 Centurylink Intellectual Property Llc System and method for initiating diagnostics on a packet network node
US20080052368A1 (en) * 2006-08-28 2008-02-28 Sony Ericsson Mobile Communications Ab System and method to shuffle and refill content
US8127412B2 (en) * 2007-03-30 2012-03-06 Cisco Technology, Inc. Network context triggers for activating virtualized computer applications
US8280974B2 (en) * 2007-07-31 2012-10-02 Hewlett-Packard Development Company, L.P. Migrating workloads using networked attached memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034508A (ja) * 1999-07-22 2001-02-09 Hitachi Ltd メモリダンプ採取方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2005327279A (ja) * 2004-05-11 2005-11-24 Internatl Business Mach Corp <Ibm> 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム
US20090089781A1 (en) * 2007-09-30 2009-04-02 Symantec Corporation System for and Method of Migrating One or More Virtual Machines

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013517539A (ja) * 2010-04-30 2013-05-16 株式会社日立製作所 計算機システム及びその制御方法
JP2012221064A (ja) * 2011-04-05 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> メモリ同期方法及び運用系の仮想マシン及び待機系の仮想マシン及びメモリ同期プログラム
JP2015535636A (ja) * 2012-11-30 2015-12-14 華為技術有限公司Huawei Technologies Co.,Ltd. バーチャルマシーンのホットマイグレーションを実現する方法、装置及びシステム
US9672075B2 (en) 2012-11-30 2017-06-06 Huawei Technologies Co., Ltd. Method, apparatus, and system for implementing hot migration of virtual machine
US11005934B2 (en) 2016-03-16 2021-05-11 Google Llc Efficient live-migration of remotely accessed data
US11824926B2 (en) 2016-03-16 2023-11-21 Google Llc Efficient live-migration of remotely accessed data
CN114327745A (zh) * 2021-11-25 2022-04-12 北京志凌海纳科技有限公司 一种跨主机虚拟机存储热迁移的方法及系统
CN114327745B (zh) * 2021-11-25 2022-10-25 北京志凌海纳科技有限公司 一种跨主机虚拟机存储热迁移的方法及系统

Also Published As

Publication number Publication date
JP5692065B2 (ja) 2015-04-01
JPWO2010126048A1 (ja) 2012-11-01
US20120030306A1 (en) 2012-02-02

Similar Documents

Publication Publication Date Title
JP5692065B2 (ja) 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム
EP3608792B1 (en) Managed switching between one or more hosts and solid state drives (ssds) based on the nvme protocol to provide host storage services
EP3985504B1 (en) Virtual machine migration
US10817333B2 (en) Managing memory in devices that host virtual machines and have shared memory
JP5459811B2 (ja) 仮想ストレージ移行のための方法およびシステム、ならびに仮想マシンモニタ
EP2577450B1 (en) Virtual machine migration techniques
US10797999B2 (en) Multichannel input/output virtualization
US9588787B2 (en) Runtime virtual process creation for load sharing
JP4947081B2 (ja) パススルーi/oデバイスを伴うlparの動的マイグレーション装置、その方法及びそのプログラム
US8930507B2 (en) Physical memory shared among logical partitions in a VLAN
US20170364394A1 (en) System and method to perform live migration of a virtual machine without suspending operation thereof
WO2012155555A1 (zh) 一种运行多个虚拟机的方法及系统
JP6663478B2 (ja) データ移行方法及び計算機システム
US10754783B2 (en) Techniques to manage cache resource allocations for a processor cache
US20120066676A1 (en) Disabling circuitry from initiating modification, at least in part, of state-associated information
WO2017166205A1 (en) High density virtual machine container with copy-on-dma-write
WO2016013098A1 (ja) 物理計算機及び仮想計算機移行方法
JPWO2018173300A1 (ja) I/o制御方法およびi/o制御システム
US12026110B2 (en) Dynamic interrupt provisioning
US20200210359A1 (en) Dynamic interrupt provisioning
WO2018083724A1 (ja) 仮想計算機システム及び仮想計算機のマイグレーション方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10769746

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011511415

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13258915

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10769746

Country of ref document: EP

Kind code of ref document: A1