WO2014030221A1 - 仮想計算機システム、管理計算機及び仮想計算機管理方法 - Google Patents

仮想計算機システム、管理計算機及び仮想計算機管理方法 Download PDF

Info

Publication number
WO2014030221A1
WO2014030221A1 PCT/JP2012/071140 JP2012071140W WO2014030221A1 WO 2014030221 A1 WO2014030221 A1 WO 2014030221A1 JP 2012071140 W JP2012071140 W JP 2012071140W WO 2014030221 A1 WO2014030221 A1 WO 2014030221A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
memory
screen
virtual
page
Prior art date
Application number
PCT/JP2012/071140
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 US14/408,693 priority Critical patent/US9384035B2/en
Priority to JP2014531418A priority patent/JP5980335B2/ja
Priority to PCT/JP2012/071140 priority patent/WO2014030221A1/ja
Publication of WO2014030221A1 publication Critical patent/WO2014030221A1/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Definitions

  • the present invention relates to management of a virtual machine system.
  • the virtual computer system can construct one or a plurality of virtual computers (hereinafter referred to as “virtual computers”) on a single physical computer (hereinafter referred to as “physical computers”).
  • the virtual machine system can operate an OS (Operating System) independently on each virtual machine (sometimes referred to as LPAR (Logical Partition)). As a result, a plurality of OSs can be operated simultaneously on one physical computer.
  • OS Operating System
  • LPAR Logical Partition
  • Live migration is executed with the OS on LPAR running. Therefore, even when the data held in the memory is transferred from the migration source computer to the migration destination computer, the page is updated in the memory having a plurality of pages (storage areas) (for example, the data in the page). May be updated, or data to be transferred is newly written to the page). In this case, the updated page data is transferred to the migration destination computer.
  • pages storage areas
  • the updated page data is transferred to the migration destination computer.
  • the user must operate the virtual machine system without any problems even when live migration is executed. Therefore, the administrator (user) of the virtual machine system has a need to manage and control the state related to live migration in more detail. For example, if the OS or the like on the LPAR frequently accesses the memory, transfer of the memory page updated by the access may occur many times, and live migration may not be completed indefinitely. Therefore, the user has a need to know in advance whether or not the live migration process is normally completed in order to properly operate the virtual machine system.
  • An object of the present invention is to enable a user to grasp the state of live migration processing in a virtual machine system and appropriately manage and control a migration target.
  • a virtual computer system includes a plurality of computers in which at least one virtual computer is operated by a hypervisor, and a management computer that manages the plurality of computers.
  • the input unit that receives the operation input, and the first virtual machine operating on the first computer
  • the progress information regarding the live migration for moving the first virtual machine from the first computer to the second computer is acquired from the first computer.
  • generating a statistical information related to live migration based on the acquired progress information generating a statistical screen including the statistical information, and an output unit displaying the statistical screen.
  • the process of “displaying” performed by the output unit may be to display a statistical screen on a display device of the management computer, or to a remote computer having a display device connected to the management computer. It is also possible to send information on the statistics screen. In the latter case, the remote computer displays a statistical screen on the display device of the remote computer based on the information received from the management computer.
  • the user can grasp the state of the live migration process in the virtual machine system, and can appropriately manage and control the migration target.
  • Functional configuration of the management computer Example of live migration selection screen.
  • An example of generation and display of a memory map corresponding to the fourth display Sequence chart of live migration processing.
  • the flowchart of the memory writing process of a 1st computer The modification of the flowchart of the memory write-in process of a 1st computer.
  • the flowchart of the memory data transfer process of a 1st computer The flowchart of the data transfer process of the clean page of a 1st computer.
  • the flowchart of the screen generation process in a management computer Explanatory drawing of the method of producing
  • FIG. 1 shows the overall configuration of the virtual machine system.
  • the virtual computer system 1 includes, for example, a first computer 4-1 and a second computer 4-2, a management computer 2, and a storage device 6.
  • the first computer 4-1 and the second computer 4-2 may be referred to as the computer 4 without being distinguished.
  • the management computer 2, the first computer 4-1, and the second computer 4-2 are connected by a communication network 41.
  • the input unit 3a is connected to the management computer 2 via the input IF 15a.
  • the output unit 3b is connected to the management computer 2 via the output IF 15b.
  • the first computer 4-1 and the second computer 4-2 are connected to the storage device 6 via the FC cable 42 via an FC-SW (Fiber Channel-Switch) 5.
  • FC-SW Fiber Channel-Switch
  • FC-SW Fiber Channel-Switch
  • other types of switches may be employed instead of the FC-SW 5
  • other types of cables may be employed instead of the FC cable 42.
  • the output unit 3b outputs the output information generated by the management computer 2.
  • the output unit 3b displays screen information, for example.
  • the input unit 3 a receives an input instruction from the user and transmits the input instruction to the management computer 2.
  • the output unit 3b is, for example, a liquid crystal display that performs output using a screen, a speaker that performs output using sound, and the like.
  • the input unit 3a is, for example, a keyboard, a mouse, a microphone, or the like. Furthermore, the touch panel display etc. which serve as the input part 3a and the output part 3b may be sufficient.
  • the storage device 6 stores data related to the computer 4.
  • the storage device 6 includes a disk unit 31 and an FC-HBA (Fiber Channel-Host Bus Adapter) 32. Note that other types of HBAs may be employed instead of the FC-HBA 32.
  • FC-HBA Fiber Channel-Host Bus Adapter
  • the FC cable 42 is connected to the FC-HBA 32.
  • the storage device 6 writes the write data transmitted from the computer 4 to the disk unit 31.
  • the storage device 6 reads the read data requested from the computer 4 from the disk unit 31 and returns it to the computer 4.
  • the disk unit 31 includes, for example, an HDD (Hard Disk Drive), a flash memory, or the like.
  • the computer 4 executes various arithmetic processes.
  • the computer 4 includes, for example, a CPU (Central Processing Unit) 21, a memory 22, a hypervisor 23, a communication IF 25, and an FC-HBA 24. These elements 21 to 25 are connected by a bus (not shown) capable of bidirectional data transmission.
  • a bus not shown
  • the CPU 21 executes the computer program expanded in the memory 22.
  • a plurality of CPUs 21 may be provided.
  • the hypervisor 23 realizes a virtualization function.
  • the computer 4 can execute only one OS on one chip set including the CPU 21 and the memory 22.
  • the computer 4 can simultaneously execute a plurality of OSs on a single chip set including the CPU 21, the memory 22, and the like.
  • the first LPAR 100-1 and the second LPAR 100-2 can be constructed as virtual machines on the hypervisor 23, and different OSs can be simultaneously executed in each of the first LPAR 100-1 and the second LPAR 100-2.
  • the hypervisor 23 manages allocation (allocation) of resources such as the CPU 21 and the memory 22 to each LPAR (or OS). In other words, the hypervisor 23 appropriately allocates the resources of the physical CPU 21 and the memory 22 to a plurality of OSs that are simultaneously executed according to the situation at that time. From each OS, the virtual CPU and memory resources allocated from the hypervisor 23 are recognized as the actual CPU and memory. This virtual CPU and memory may be referred to as virtual CPU and virtual memory.
  • the hypervisor 23 manages the relationship between each OS and a predetermined storage area of the storage device 6.
  • the hypervisor 23 receives an instruction to write / read data to / from the storage apparatus 6 from a certain OS
  • the hypervisor 23 transmits the instruction to the storage apparatus 6 via the FC-HBA 24.
  • the hypervisor 23 receives a write / read response to a certain OS from the storage apparatus 6 via the FC-HBA 24, it transmits the received response to an appropriate OS.
  • the two FC-HBAs 24 are provided in order to appropriately realize live migration and increase redundancy.
  • the hypervisor 23 is executed, for example, as chipset firmware. That is, the hypervisor 23 can directly control and manage resources such as the physical CPU 21 and the memory 22.
  • the hypervisor 23 may be realized as a physical chipset (for example, a physical storage resource that stores the hypervisor 23 as a computer program and a physical CPU that executes the hypervisor 23). It may be a circuit that functions as a hypervisor by having the physical CPU execute the hypervisor 23), or may be realized as a computer program executed on the physical CPU.
  • the hypervisor 23 holds memory management information 102 that manages the correspondence between each LPAR 100 and the memory 22, and status management information 101 that manages information related to the settings and states of each LPAR 100 and the CPU 21. Next, the management information 101 and 102 will be described.
  • FIG. 2 shows an example of the memory management information 102 that the hypervisor 23 has.
  • the memory management information 102 manages the correspondence between the page address of the virtual memory provided to the OS running on the hypervisor 23 and the page address of the physical memory 22. That is, the hypervisor 23 manages the memory management information 102 for each LPAR 100.
  • the memory management information 102 includes a virtual memory page start address 121, a physical memory page start address 122, a page size 123, a rewrite flag 124, and a transfer flag 125 as data items.
  • a page is a unit of an area obtained by dividing a memory into a plurality of parts.
  • a function of monitoring writing by the OS in units of pages is important.
  • “Memory page” is a memory management unit handled by a memory management method generally called a paging method. That is, the memory area is handled not in units of 1 bit but in units of pages of a predetermined size (generally, 4 kBytes or 2 MBytes). For example, when data is updated even with one bit included in one page, the entire page is treated as being updated (rewritten).
  • the virtual memory page start address 121 indicates the start address of a virtual memory page recognized by a certain OS.
  • the physical memory page start address 122 indicates the start address of the physical memory page corresponding to the virtual memory page start address 121.
  • the page size 123 indicates the size of the memory page starting from the virtual memory page start address 121 or the physical memory page start address.
  • the rewrite flag 124 is a flag indicating whether or not rewriting has occurred in the memory page. That is, the rewrite flag 124 is a flag for managing, as a dirty page, a memory page that is rewritten due to a write request to the memory during live migration memory transfer. That is, the rewrite flag 124 is used to determine whether or not the corresponding memory page is a dirty page. When the rewrite flag 124 is “1”, it indicates that rewriting has occurred, and when the rewrite flag is “0”, it indicates that rewriting has not occurred. Details of the timing at which the rewrite flag 124 is updated will be described later. In order to manage the rewrite flag 124, it is necessary to always monitor access to the memory. For this reason, the read / write performance of the memory may be reduced as compared to when it is not monitored. Therefore, it is desirable that the rewrite flag 124 is not managed during normal operation (that is, when live migration is not being performed).
  • a dirty page is a state in which the LPAR OS of the first computer 4-1 that is the migration source is operating, and the memory of the first computer 4-1 is the memory of the second computer 4-2 that is the migration destination.
  • the live migration process to be transferred some writing by the OS or the like during data transfer to the second computer 4-2 as the migration destination among the plurality of pages of the memory of the first computer 4-1 as the migration source It is a page that has been rewritten by the above.
  • the virtual memory used by the LPAR that is the migration source of live migration has page addresses 1 to 100.
  • the page address is a virtual memory page address recognized by the OS on the LPAR, and may be different from the physical memory page address.
  • the correspondence between the page addresses of the virtual memory and the physical memory is managed by the memory management information 102.
  • the hypervisor 23 transfers the memory data from the page source 1 to the page destination computer one by one in order from the page address 1. At this time, if the Nth page (N is a positive integer) has already been rewritten, the transfer of the page is skipped.
  • the hypervisor 23 confirms the state of the entire memory (page addresses 1 to 100). In the memory, there are a) a page that has been rewritten because it has been rewritten, and b) a page that has been rewritten after the transfer. In both cases a) and b), the rewrite flag 124 is “1”. The hypervisor 23 regards pages with the rewrite flag 124 set to “1” as dirty pages.
  • the hypervisor 23 temporarily stops the migration source computer and proceeds to the final process of live migration in which all the remaining state and data at that time are transferred together. To do.
  • a process of transferring the dirty page is performed. Thereafter, the rewriting of the memory by the operating computer and the data transfer of the dirty page by the hypervisor 23 are repeated until the dirty page amount becomes a predetermined threshold value or less.
  • the transfer flag 125 is a flag indicating whether or not memory page data can be transferred (migration). When the transfer flag is “1”, transfer permission is indicated. When the transfer flag is “0”, the transfer is prohibited.
  • the transfer flag 125 corresponding to the page is set to “0”.
  • the transfer flag 125 corresponding to the page is set to “0”.
  • the start address “ADDR_L0 (predetermined page address number)” in the virtual memory page is changed to the start address “ADDR_P0 (predetermined page address number)” in the physical memory page. Indicates correspondence.
  • the size of this memory page is “MP0 (predetermined byte size)”. This memory page has been rewritten (rewrite flag 124 is “1”), and the data of this memory page is prohibited from being transferred (transfer flag 125 is “0”).
  • FIG. 3 shows an example of the status management information 101 that the hypervisor 23 has.
  • the status management information 101 manages execution status and setting information related to live migration processing of the LPAR 100. That is, the hypervisor 23 has status management information 101 for each LPAR 100.
  • the status management information 101 includes information that can be changed depending on the execution state of the OS or the like on the LPAR 100 (hereinafter referred to as “status information”) and information that can be changed by a setting from the user (hereinafter referred to as “setting information”).
  • the status management information 101 includes an item name 111, a value 112, and a setting flag 113 as data items.
  • the setting flag 113 is “1”
  • the user can set the value 112.
  • the setting flag 112 is “0”
  • the user cannot set the value 112.
  • the status management information 101 includes, as an item name 111 related to live migration processing, for example, current time 115a, migration status 115b, executing command 115c, transferred data amount 115d, dirty page amount 115e, determination threshold 115f, transfer bandwidth It has an upper limit value 115g, a virtual CPU allocated resource upper limit value 115h, a DMA interrupt upper limit value 115i, and a timeout time 115j.
  • the current time 115a is status information indicating the current time.
  • the migration status 115b is status information indicating the current status of the live migration process.
  • the migration status 115b includes information such as “not executed / executed / finally processed”, for example.
  • the in-execution command 115c is status information indicating a command currently being executed in the live migration process.
  • the transferred data amount 115d is status information indicating the total amount of data that has been transferred so far in the live migration process.
  • the dirty page amount 115e is the amount of dirty pages currently remaining in the live migration process (in this embodiment, the number of dirty pages).
  • the determination threshold value 115f is a setting value for determining the start of the final process of live migration.
  • the final process of live migration refers to the remaining data that cannot be transferred while the OS or the like is running on the migration source LPAR by temporarily stopping the virtual CPU of the LPAR and transferring it to the migration destination LPAR. It is a process to transfer. That is, in the final process of live migration, the dirty pages that remain until the end are transferred together by temporarily stopping the virtual CPU of the LPAR. Here, the time during which the virtual CPU can be stopped without affecting the execution of the OS or the like on the LPAR is limited. Therefore, the final process of live migration must be started after the amount of dirty pages is sufficiently reduced.
  • the determination threshold is used to determine whether the dirty page amount is small enough to start the final process of live migration.
  • the transfer bandwidth upper limit value 115g is a setting value indicating the upper limit of the communication bandwidth that can be used for data transfer in the live migration process.
  • the virtual CPU allocated resource upper limit value 115h is a setting value indicating the upper limit of the resource (physical CPU available time) allocated to the virtual CPU used by the migration source LPAR during live migration.
  • the upper limit value 115h of the virtual CPU allocation resource is to temporarily reduce the processing performance of the OS or LPAR in order to suppress an increase in dirty pages during live migration, for example, when it is desired to complete live migration within a predetermined time. It is a value set to slow down and slow down.
  • the DMA interrupt upper limit 115i is a setting value indicating the upper limit of the interrupt delay time from the DMA during the live migration process.
  • the timeout time 115j is a setting value indicating the time until the timeout of the live migration process. The live migration process is forcibly canceled if it is not completed by this timeout time.
  • Management computer 2 manages a plurality of computers 4.
  • the management computer 2 includes, for example, a CPU 11, a memory 12, a storage 13, a communication IF 14, an input IF 15a, and an output IF 15b.
  • the elements 11 to 15 are connected by a bus 16 capable of bidirectional data transmission. Has been.
  • the CPU 11 executes a computer program developed in the memory 12 to realize various functions of the management computer 2 described later.
  • the storage 13 holds computer programs and data.
  • the computer program and data are expanded in the memory 12 as necessary and executed by the CPU 11.
  • the communication IF 14 is connected to the communication network 41.
  • the CPU 11 can transmit / receive data to / from each computer 4 through the communication IF 14.
  • the input unit 3a is connected to the input IF 15a.
  • the output unit 3b is connected to the output IF 15b.
  • the CPU 11 outputs a screen display signal to the output unit 3b through the output IF 15b, and receives a signal related to a user operation from the input unit 3a through the input IF 15a.
  • FIG. 4 shows the functional configuration of the management computer 2.
  • the management computer 2 generates a GUI (Graphical User Interface) that allows the user to easily manage the plurality of computers 4.
  • the management computer 2 receives an instruction from the user through the GUI, and transmits a command for realizing the instruction to each computer 4.
  • GUI Graphic User Interface
  • the management computer 2 has a screen input / output unit 201 and a screen generation unit 202.
  • the screen input / output unit 201 outputs various screens (GUI) generated by the screen generation unit 202 described later to the output unit (display unit) 3b for display. Further, the screen input / output unit 201 selects a command group displayed as a GUI button or the like on the output unit 3b from the input unit 3a by a user operation, and the selection result is used as a user instruction to the screen generation unit 202 and / or migration. Tell the instruction unit 203. Based on the instruction transmitted from the screen input / output unit 201, the migration instruction unit 203 transmits a command related to live migration processing to each computer 4 and receives a response related to live migration processing from each computer 4.
  • GUI screens
  • the functions 201, 202, and 203 are realized, for example, by executing a corresponding computer program in the CPU 11. All or a part of the functions 201, 202, and 203 may be realized by dedicated hardware such as ASIC (Application Specific Integrated Circuit).
  • ASIC Application Specific Integrated Circuit
  • the screen generation unit 202 generates various screens related to live migration processing.
  • the screen generation unit 202 generates, for example, a selection screen 211, a setting screen 212, a progress screen 213, a statistics screen 214, a memory map screen 215, and the like. Details of each screen will be described below.
  • Fig. 5 shows an example of the selection screen for live migration processing.
  • the user selects the LPAR 100 that is the target of the live migration process on the selection screen 211.
  • the selection screen 211 includes a migration source selection area 301, a migration source LPAR information display area 303, a migration destination selection area 302, and a migration destination LPAR information display area 304.
  • the selection screen 211 has a tuning button 305 and an execution button 306.
  • the LPAR information of the selected first LPAR 307 is displayed in the migration source LPAR information display area 303.
  • the chassis ID, HVM ID, LPAR number, and LPAR name of the first LPAR 307 are displayed.
  • the LPAR information of the selected fourth LPAR 308 is displayed in the migration destination LPAR information display area 304.
  • the user selects an unused LPAR as the migration destination.
  • the tuning button 305 If the user selects the tuning button 305 before selecting the execution button 306, the screen transitions to the setting screen 212. Next, the setting screen 212 will be described.
  • FIG. 6 shows an example of a setting screen 212 for live migration processing.
  • the user can set setting values related to live migration processing on the setting screen 212.
  • the setting screen 212 includes a timeout time setting area 311, a virtual CPU allocation resource upper limit setting area 312, a DMA interrupt upper limit setting area 313, a transfer bandwidth upper limit setting area 314, and a virtual CPU stop time setting. And a region 315.
  • the setting screen 212 includes an OK button 317 and a cancel button 318.
  • the maximum value of the time until the live migration process times out can be entered.
  • the value input in the setting area 311 is set as the timeout time of the status management information 101.
  • an upper limit (maximum value) of a resource (for example, a time during which a physical CPU is allocated) allocated to a virtual CPU that can use the migration source LPAR during live migration is displayed. Can be entered.
  • the value input in the setting area 312 is set as the upper limit value 115h of the virtual CPU allocation resource in the status management information 101. In this way, during live migration execution, by deliberately setting an upper limit for the resources allocated to the virtual CPU and lowering the performance of the virtual CPU, the performance of the migration source LPAR is reduced, so that an increase in the amount of dirty pages can be suppressed. .
  • an upper limit value of the interrupt delay time from the DMA at the time of live migration processing can be input.
  • the value input to this setting area 313 is set to the DMA interrupt upper limit 115 i of the status management information 101.
  • an upper limit value of a communication band used for data transfer of live migration processing can be input.
  • the value input to the setting area 314 is set to the transfer bandwidth upper limit 115 g of the status management information 101.
  • the virtual CPU stop time setting area 315 a time during which the virtual CPU can be stopped can be input.
  • the value input to the setting area 315 is used to determine the start of the final process of live migration. That is, the value input to the setting area 315 is converted into a determination threshold value from the product of the upper limit value of the transfer bandwidth and set as the determination threshold value of the status management information 101.
  • the values input in the setting areas 311 to 315 are set in the status management information 101.
  • the OK button 317 is selected during the execution of the live migration process, the values input to the setting areas 311 to 315 are reflected in the live migration process being executed.
  • Fig. 7 shows an example of a live migration progress screen.
  • the execution button 306 is selected on the selection screen 211 shown in FIG. 5 and the live migration process is executed, the OS and virtual memory data of the first LPAR 307 are all transferred to the fourth LAPR virtual environment. . Furthermore, since it is “live” migration, the OS or the like of the first LPAR 307 continues to be executed even during transfer.
  • the progress screen 213 displays progress information related to the live migration being executed.
  • the progress screen 213 includes a migration source LPAR information display area 321, a migration destination LPAR information display area 322, a progress information display area 323, and a migration execution step display area 324.
  • the progress screen 213 includes an extension button 325, a cancel button 326, a tuning button 327, and a statistical information button 328.
  • the migration source LPAR information display area 321 LPAR information for specifying the migration source LAPR is displayed.
  • the migration destination LPAR information display area 322 displays LPAR information for identifying the migration destination LPAR.
  • the progress status display area 323 displays the progress status of live migration.
  • the progress status for example, the start time 332 of the live migration process, the elapsed time 333 since the start of the live migration process, the expected remaining time until completion of the live migration process (estimated completion time) 335, the remaining until the timeout of the live migration process A time (timeout time) 334, a status 331 of a process currently being executed, and the like are displayed.
  • the elapsed time 333 is obtained by calculating the difference between the time when the execution button 306 is selected and the current time of the management computer 2. Also, the remaining time 334 until timeout is obtained as a value obtained by subtracting the elapsed time 333 from the start of the live migration process from the timeout setting value (fixed value).
  • the steps already executed in the live migration process, the steps being executed, the steps to be executed in the future, and the like are displayed in a list format.
  • a step name, an execution state such as executed / executed / not executed, a time required for execution (execution time), a description of processing contents, and the like are displayed.
  • the migration instruction unit 203 extends the timeout time of the live migration process.
  • the cancel button 326 is selected, the migration instruction unit 203 cancels the live migration.
  • the tuning button 327 is selected, the screen changes to the setting screen 212 shown in FIG. The value set on the setting screen 212 transitioned from the progress screen 213 is reflected in real time on the live migration process being executed.
  • the statistical information button 328 is selected, a transition is made to a statistical screen 214 described later.
  • the first example is a case where the user wants to confirm whether or not the live migration is completed according to the pre-design before the execution of the live migration or as estimated.
  • the user estimates an approximate value of time required for memory transfer in live migration as “server memory amount / memory transfer speed”. Actually, because there is a dirty page, it may be longer than the value of the above formula. Therefore, the user gives an instruction to display the statistics screen 214 in order to check whether the live migration process is proceeding according to this estimate.
  • the second example is a case where the user wants to pursue the cause when live migration does not end even after the expected end time, or to confirm the current situation for planning countermeasures.
  • the user sees what the current status of live migration is (whether it takes more time to transfer because of dirty pages than expected, or the transfer rate or increase / decrease in dirty pages is an unexpected value) To display the statistics screen 214.
  • the virtual computer system of this embodiment can know the detailed current status of live migration, so even if it is completed normally, a) a sufficient margin for the transfer rate and timeout time.
  • the user may select the extension button 325 to extend the timeout time.
  • the user may select the cancel button 326 to cancel the live migration process.
  • the user may select the tuning button 327 and adjust resources used for the live migration process.
  • the user may select the statistical information button 328 to confirm the statistical information and analyze the cause.
  • FIG. 8 shows an example of the live migration statistics screen 214.
  • the statistical screen 214 displays various statistical information related to live migration being executed.
  • the statistics screen 214 includes a migration source LPAR information display area 341, a migration destination LPAR information display area 342, a statistics information display area 343, a transfer rate graph display area 344, and a dirty page amount graph display area 345. .
  • the statistics screen 214 includes an extension button 346, a cancel button 347, a tuning button 348, a memory map button 349, and a progress status button 350. Since the extension button 346, the cancel button 347, and the tuning button 348 are the same as described above, the description thereof is omitted.
  • the progress status button 350 is selected, the screen returns to the progress screen 213 shown in FIG.
  • the memory map button 349 is selected, a memory map screen 215 described later is displayed.
  • live migration the contents of the memory of the migration source computer are transferred to the memory of the migration destination computer.
  • dirty pages must be considered. In other words, whether or not the live migration is completed within a predetermined time depends on whether or not the transfer of the dirty page is completed.
  • the migration source LPAR information display area 341 the status management information 101 of the migration source LAPR being executed is displayed.
  • the migration destination LPAR information display area 342 displays the status management information 101 of the migration destination LAPR being executed.
  • the statistical information display area 343 displays statistical information related to the migration being executed in a table format. Next, the statistical information will be described.
  • FIG. 9 is an example of a statistical information table displayed in the statistical information display area 343.
  • the statistical information 103 displays time 131, transfer rate 132, average transfer rate 133, dirty page amount 134, dirty page amount increase / decrease 135, total transfer amount 136, and determination threshold value 137 as data items. To do.
  • Time 131 is the time when the statistical information 103 is acquired from the computer 4.
  • the transfer rate 132 indicates the transfer rate of transfer data from the migration source to the migration destination.
  • the transfer rate 132 may be calculated based on the amount of data output from the communication IF 25 of the migration source computer 4, for example.
  • a graph displayed in a transfer rate graph display area 344 described later is generated based on the value of the transfer rate 132.
  • the average transfer rate 133 indicates an average of transfer rates 132 of transfer data at a predetermined time.
  • Dirty page amount 134 indicates the amount of remaining dirty pages.
  • a dirty page amount graph display area 345 to be described later is generated based on the value of the dirty page amount 134.
  • the increase / decrease 135 in the dirty page amount indicates, for example, an increase / decrease value between the dirty page amount 104 related to the previous statistical information 103 and the dirty page amount 104 related to the current statistical information 103.
  • the total transfer amount 136 indicates the amount of data that has been transferred so far.
  • the determination threshold value 137 is a threshold value for determining whether or not to start the final process of live migration. This determination threshold value 137 corresponds to the determination threshold value of the status management information 101.
  • FIG. 10 shows an example of a transfer rate graph 401 displayed in the transfer rate graph display area 344.
  • the horizontal axis indicates time
  • the vertical axis indicates transfer rate. That is, the user can know how the transfer rate of the transfer data changes with the elapse of time from the graph 401.
  • the transfer rate temporarily decreases during a certain time period, if it is recovered after that, the user analyzes that there is no problem in the communication path between the migration source and the migration destination. can do. However, if the transfer rate becomes slow from a certain time and does not recover thereafter, the user can analyze that there may be a problem in the communication path between the migration source and the migration destination.
  • FIG. 11 shows an example of a dirty page amount graph 402 displayed in the dirty page amount graph display area 345.
  • the horizontal axis indicates time
  • the vertical axis indicates dirty page amount. That is, the user can know how the dirty page amount changes with the elapse of time from the graph 402.
  • the user can analyze that the migration process is smooth. However, if the dirty page amount does not decrease or the dirty page amount tends to increase from a certain time, the user can analyze that it may take time to complete the migration process.
  • the cause can be determined to some extent by analyzing both the transfer rate graph 401 and the dirty page amount graph 402. Thereby, the user can take appropriate measures.
  • the user can analyze that there may be a cause in the communication path between the migration source and the migration destination. Then, for example, it is possible to take measures such as stopping other applications that exclusively used the traffic on the communication path.
  • the user can analyze that there may be a cause in the OS executed in the migration source LPAR. For example, it is possible to take measures such as stopping an application that frequently accesses the virtual memory on the LPAR OS.
  • the user can select the tuning button 348, display the setting screen 212, and adjust resources required for live migration processing.
  • the user can select the memory map button 349 to display a memory map screen 215 to be described later for further detailed analysis.
  • a graph 402 showing change in dirty page amount is displayed together with a graph 401 showing change in transfer speed.
  • a cause of the change in the transfer rate a cause other than the change in the dirty page amount, that is, a change in state information other than the dirty page amount can be considered. Therefore, as a graph for assisting the user in estimating the cause of the change in the transfer rate, instead of or in addition to the graph shown in FIG. A graph may be displayed.
  • FIG. 12 shows an example of the memory map screen 215.
  • the memory map screen 215 shows the state of the dirty page.
  • the memory map screen 215 includes a previous button 361, a time display area 362, a next button 363, display selection buttons 364, 365, and 366, and a memory map display area 367.
  • the time display area 362 the time corresponding to the memory map displayed in the memory map display area 367 is displayed.
  • the previous button 361 is selected, if it exists, the previous memory map is displayed in the memory map display area 367.
  • the next button 363 is pressed, if present, the memory map at the next time point is displayed in the memory map display area 367.
  • the memory map is displayed in the memory map display area 367 by a display method corresponding to each.
  • the memory map shown in the memory map display area 367 in FIG. 12 corresponds to a first display described later.
  • generation and display of a memory map corresponding to the first display, the second display, the third display, and the fourth display will be described.
  • FIG. 13 is an example of generation and display of a memory map related to the first display.
  • the first display displays the state of the dirty page at a certain time as a graphical memory map.
  • FIG. 13A shows the state of the dirty page at time T.
  • Time T is the time when the state of the dirty page is checked.
  • the state of this dirty page is managed by the memory management information 102 of the hypervisor 23 of the computer 4.
  • a page with a value “1” is a dirty page
  • a page with a value “0” is a page that is not a dirty page (hereinafter referred to as “clean page”). is there.
  • FIG. 13A illustrates the rewrite flag 124 of the memory management information 102. Also in FIG. 13A, a page with a value “1” is a dirty page, and a page with a value “0” is a clean page.
  • the state of the dirty page shown in FIG. 13A is displayed in the memory map display area 367 of FIG. 12 as a graphical memory map shown in FIG. 13B.
  • Individual elements of the memory map shown in FIG. 13B may be referred to as map elements.
  • the memory map has a plurality of map elements respectively corresponding to a plurality of pages constituting the memory. Each map element is, for example, a region (rectangular region in the illustrated example).
  • the memory map according to the first display is, for example, a memory element corresponding to a dirty page (that is, a page having a value “1”) with a shaded memory element, and a clean page (that is, a page having a value “0”). Displayed as binary gradation with no multiplication.
  • the user can confirm at a glance how many dirty pages remain in which page of the memory at a certain time by the memory map related to the first display.
  • FIG. 14 is an example of generation and display of a memory map corresponding to the second display.
  • the second display displays the frequency state of dirty pages in a certain time zone as a graphical memory map.
  • FIG. 14A shows the state of the dirty page at times T3, T2, and T1 (T3> T2> T1).
  • Times T3, T2, and T1 are times when the state of the dirty page is checked.
  • the state of each dirty page is managed by the hypervisor 23 of the computer 4.
  • a page with a value “1” is a dirty page, and a page with a value “0” is not a dirty page.
  • FIG. 14 (B) is calculated by summing up the values (“0” or “1”) of each page at times T3, T2, and T1. This is called a dirty page frequency state. For example, if a certain page is “1” at any of the times T3, T2, and T1, the page is set to “3”. Similarly, when a certain page is “0” at any of the times T3, T2, and T1, the page is set to “0”. That is, in the dirty page frequency state, a page with a large value is updated more frequently.
  • the frequency state of the dirty page is calculated by using the states of a plurality of dirty pages acquired by the management computer 2 from the migration source computer 4 at different times.
  • the frequency state of the dirty page shown in FIG. 14 (B) is displayed in the memory map display area 367 of FIG. 12 as a graphical memory map as shown in FIG. 14 (C).
  • the value “0” is not shaded
  • the value “1” is lightly shaded
  • the value “2” is darkly shaded.
  • the portion with the value “3” is filled and displayed in multi-value gradation.
  • the user can confirm at a glance which page is updated and how frequently in a certain time zone by the memory map related to the second display.
  • FIG. 15 is an example of generation and display of a memory map corresponding to the third display.
  • the third display displays the outline state of the dirty page at a certain time as a graphical memory map.
  • FIG. 15A shows the state of the dirty page at time T.
  • Time T is the time when the state of the dirty page is checked.
  • a page with a value “1” is a dirty page
  • a page with a value “0” is not a dirty page.
  • Fig. 15 (B) is calculated by adding up the values of three pages. This is the outline state of the dirty page. For example, if the values of the three pages from the top of the memory are “1”, “1”, and “0”, respectively, they are added together to generate one page having “2”. Thereafter, this is repeated every three pages to generate a summary state of the dirty page as shown in FIG.
  • the outline state of this dirty page is managed by the hypervisor 23 of the computer 4.
  • the outline state of the dirty page shown in FIG. 15B is displayed in the memory map display area 367 of FIG. 12 as a graphical memory map as shown in FIG.
  • the value “0” is not shaded
  • the value “1” is lightly shaded
  • the value “2” is dark shaded.
  • the portion with the value “3” is filled and displayed in multi-value gradation.
  • the amount of data managed by the hypervisor 23 can be reduced by converting the state of the dirty page shown in FIG. 15A to the outline state of the dirty page shown in FIG. Furthermore, the management computer 2 can reduce the amount of communication data between the management computer 2 and the computer by acquiring the outline state of the memory map from the computer 4.
  • FIG. 16 is an example of generation and display of a memory map corresponding to the fourth display.
  • the fourth display displays the number of memory updates in a certain time zone as a graphical memory map.
  • FIG. 16A shows the number of times the memory is updated from a certain time to time T.
  • the number of times this memory is updated is managed by the hypervisor 23 of the computer 4.
  • the value of each page indicates the number of times the page has been updated. For example, a page with a value “3” indicates that the page has been updated three times during that time period.
  • the memory update count shown in FIG. 16A is displayed in the memory map display area 367 of FIG. 12 as a graphical memory map as shown in FIG.
  • the portion where the number of updates is 0 is not shaded
  • the portion where the number of updates is 1 is thinly shaded
  • the portion where the number of updates is 2 is shaded darkly
  • the portion where the number of updates is 3 or more is filled and displayed in multi-value gradation.
  • the user can confirm at a glance how many pages are updated in a certain time zone by the memory map related to the fourth display.
  • FIG. 17 shows a sequence chart of the live migration process.
  • processing among the management computer 2, the first computer 4-1, and the second computer 4-2 will be described with reference to FIG.
  • the screen input / output unit 201 of the management computer 2 outputs the selection screen 211 to the output unit 3b (S101).
  • the user selects the first LPAR 307 as the migration source, the fourth LPAR 308 as the migration destination, and the execute button 306 through the input unit 3a.
  • the LPAR selection result is transmitted to the management computer 2 (S102).
  • the migration instruction unit 203 of the management computer 2 requests the migration source first computer 4-1 and the migration destination second computer 4-2 to start live migration processing (S103).
  • the first computer 4-1 and the second computer 4-2 notify the management computer 2 of the migration progress state (for example, the current execution step and state) as appropriate (for example, periodically) (S104).
  • the hypervisor 23 of the first computer 4-1 transmits the configuration information of the migration source first LPAR 307 to the second computer 4-2 (S105).
  • the hypervisor 23 of the second computer 4-2 defines the LPAR as the migration destination based on the configuration information received from the first computer 4-1.
  • the hypervisor 23 of the first computer 4-1 executes memory data transfer with the second computer 4-2 (S 106). Details of this processing will be described later.
  • the hypervisor 23 of the management computer 2 requests information on the transfer state from the first computer 4-1, as necessary (S107). In response to this request, the hypervisor 23 of the first computer 4-1 transmits information related to the transfer state (S108).
  • the screen generation unit 202 of the management computer 2 generates a progress screen 213 and a statistics screen 214 using the acquired information regarding the transfer state, and outputs them to the output unit 3b (S109).
  • the hypervisor 23 of the first computer 4-1 When the hypervisor 23 of the first computer 4-1 completes the memory data transfer process and starts the final migration process, the hypervisor 23 of the migration source LPAR is stopped (S110).
  • the hypervisor 23 of the first computer 4-1 acquires the device status of the migration source LPAR and transmits it to the migration destination LPAR of the second computer 4-2 (S 111).
  • the hypervisor 23 of the second computer 4-2 reflects the device status received from the first computer 4-1 in the migration destination LPAR (S112).
  • the hypervisor 23 of the first computer 4-1 transfers the remaining dirty pages to the second computer 4-2 (S112).
  • the hypervisor 23 of the second computer 4-2 reflects the dirty page received from the first computer 4-1 in the memory of the migration destination LPAR (S113).
  • the hypervisor 23 of the second computer 4-2 starts the virtual CPU of the migration destination LPAR and starts executing the migration destination LPAR (S115).
  • the hypervisor 23 of the first computer 4-1 deletes the migration source LPAR (S116).
  • the hypervisor 23 of the first computer 4-1 and the second computer 4-2 notifies the management computer 2 that the live migration processing is completed (S117).
  • the screen generator 202 of the management computer 2 Upon receiving this completion notification, the screen generator 202 of the management computer 2 generates a live migration process completion screen and outputs it to the output unit 3b (S118).
  • FIG. 18 shows a flowchart of the memory writing process of the first computer 4-1.
  • the hypervisor 23 of the first computer 4-1 confirms the page address of the data write destination (S201).
  • the hypervisor 23 of the first computer 4-1 sets the rewrite flag of the memory management information 102 corresponding to the page address of the write destination to “1” and the transfer flag to “0” (S 202). That is, the hypervisor 23 of the first computer 4-1 registers that the memory page has been rewritten, and locks the data transfer of the memory page currently being rewritten. Then, the hypervisor 23 of the first computer 4-1 writes data to the memory page corresponding to the page address of the write destination (S 203).
  • FIG. 19 shows a modification of the flowchart of the memory writing process of the first computer 4-1. This flowchart is a modification of the process shown in FIG.
  • the hypervisor 23 of the first computer 4-1 confirms the page address of the data write destination (S301).
  • the hypervisor 23 of the first computer 4-1 adds “1” to the rewrite flag of the memory management information 102 corresponding to the write destination address, and sets the transfer flag to “0” (S 202). That is, the value of the rewrite flag is added every time rewriting is performed.
  • the first computer 4-1 writes data to the memory page corresponding to the write destination address (S403).
  • FIG. 20 shows a flowchart of the memory data transfer process of the first computer 4-1. This flowchart is the process of the first computer 4-1 in the memory data transfer process (S 106) of the sequence chart shown in FIG.
  • the hypervisor 23 of the first computer 4-1 sets the transfer flag of the memory management information 102 to “1” (S 401). That is, the hypervisor 23 of the first computer 4-1 releases the data transfer lock of the transfer target memory.
  • the hypervisor 23 of the first computer 4-1 determines whether or not it is the first transfer process (S402). That is, it is determined that the process is not the process after recurring from step S405.
  • the hypervisor 23 of the first computer 4-1 proceeds to the process of step S404.
  • the hypervisor 23 of the first computer 4-1 sets the rewrite flag of the memory management information 102 to “0” (S403).
  • the hypervisor 23 of the first computer 4-1 executes clean page data transfer processing (S ⁇ b> 404). Details of this processing will be described later.
  • the hypervisor 23 of the first computer 4-1 determines whether or not the “dirty page amount is equal to or less than a threshold value” (S 405).
  • This threshold value is a determination threshold value in the status management information 101 of FIG. If the “dirty page amount is equal to or less than the threshold” (S405: YES), the hypervisor 23 of the first computer 4-1 ends the process and proceeds to the final process of live migration. If “dirty page amount> threshold” (S405: NO), the hypervisor 23 of the first computer 4-1 returns to the process of step S401.
  • FIG. 21 shows a flowchart of data transfer processing other than the dirty page of the first computer 4-1. This process corresponds to the data transfer process (S404) other than the dirty page in the flowchart shown in FIG.
  • the hypervisor 23 of the first computer 4-1 initializes the address (S501).
  • the hypervisor 23 of the first computer 4-1 reads the memory management information 102 (S 502).
  • the hypervisor 23 of the first computer 4-1 determines whether or not it is the first transfer (S 503). First, the case of the first transfer (S503: YES) will be described.
  • the hypervisor 23 of the first computer 4-1 determines whether the rewrite flag is “0” and the transfer flag is “1” (S 504). That is, the hypervisor 23 of the first computer 4-1 determines whether or not rewriting has occurred and transfer is permitted.
  • step S504 If the determination in step S504 is negative (S504: NO), the hypervisor 23 of the first computer 4-1 proceeds directly to the process in step S510. That is, the hypervisor 23 of the first computer 4-1 does not perform data transfer.
  • step S504 If the determination in step S504 is positive (S504: YES), the hypervisor 23 of the first computer 4-1 transfers the memory page data to the second computer 4-2 (S505), and proceeds to the process of step S510. .
  • the hypervisor 23 of the first computer 4-1 determines whether the rewrite flag is “1” and the transfer flag is “1” (S 506). That is, the hypervisor 23 of the first computer 4-1 determines whether or not the data is rewritten and transfer is permitted.
  • step S506 If the determination in step S506 is negative (S506: NO), the hypervisor 23 of the first computer 4-1 proceeds directly to the process in step S510. That is, the hypervisor 23 of the first computer 4-1 does not perform data transfer.
  • step S506 If the determination in step S506 is positive (S506: YES), the hypervisor 23 of the first computer 4-1 transfers the data of the memory page to the second computer 4-2 (S507). Then, since the hypervisor 23 of the first computer 4-1 has completed the transfer of the rewritten data, the rewrite flag of the memory management information 102 is set to “0”, and the process proceeds to step S 510.
  • step S510 the hypervisor 23 of the first computer 4-1 determines whether there is still a next memory page to be transferred (S510). If there is still a next memory page to be transferred (S510: YES), the hypervisor 23 of the first computer 4-1 sets the address of the next page (S511) and returns to the process of step S502. When there is no next memory page to be transferred (S510: NO), the hypervisor 23 of the first computer 4-1 ends the process and proceeds to the processes after step S404 shown in FIG.
  • FIG. 22 shows a flowchart of the generation process of the progress screen 213 and the statistics screen 214 in the management computer 2.
  • the screen generator 202 of the management computer 2 acquires progress information from the first computer 4-1 (S 601). This progress information holds the status management information 101 and the memory management information 102 of the first computer 4-1 at the time when this acquisition is executed.
  • the screen generation unit 202 of the management computer 2 determines whether the previous progress information exists (S602).
  • step S605 If there is no previous progress information (S602: NO), the screen generator 202 of the management computer 2 assumes that there is no difference or the like (S604), and proceeds to the process of step S605.
  • the screen generation unit 202 of the management computer 2 calculates the difference between the previous progress information and the currently acquired progress information (S603), step The process proceeds to S605.
  • the screen generator 202 of the management computer 2 generates a statistical information table, graph, memory map, and the like based on the difference calculated in step S603 (S605). Hereinafter, this generation will be further described.
  • the status management information 101 included in the progress information has a transferred data amount 115d that is the total amount of data transferred up to that point (see FIG. 3). Therefore, the screen generation unit 202 calculates the difference between the previous transferred data amount 115d and the current transferred data amount 115d, thereby obtaining the data transfer amount in the time zone from the previous time to the current time. be able to.
  • the screen generation unit 202 can calculate the data transfer rate in the time zone by calculating “data transfer amount / time zone”.
  • the screen generation unit 202 generates a table and a graph 401 based on the data transfer amount and the data transfer speed.
  • the screen generation unit 202 calculates an increase / decrease amount of the dirty page in the time zone from the previous time to the current time by calculating a difference between the previous dirty page amount 115e and the current dirty page amount 115e. be able to. Then, the screen generation unit 202 can calculate the increase / decrease speed of the dirty page amount in the time zone by calculating “the increase / decrease amount of the dirty page / time zone”. The screen generation unit 202 generates a table and a graph 402 based on the dirty page increase / decrease amount and the dirty page increase / decrease speed.
  • the memory management information 102 included in the progress information has the value of the rewrite flag 124 of each page at that time (that is, the state of the dirty page).
  • the screen generation unit 202 uses the value of the rewrite flag 124 to generate a memory map at that time. Further, the screen generation unit 202 may generate a memory map as shown in FIG. 14 or 16 using the past memory management information 102 and the current memory management information 102. Hereinafter, a method for generating a memory map from the memory management information 102 will be further described.
  • FIG. 23 is an explanatory diagram of a method for generating a memory map from the memory management information 102.
  • the screen generation unit 202 of the management computer 2 extracts the value of the rewrite flag 124 in order from the top of the page address from the memory management information 102 included in the progress information, and forms a one-dimensional data string (FIG. 23A). reference). Then, the screen generation unit 202 wraps the one-dimensional data string by a predetermined number (for example, 100) and converts it into data having two-dimensional coordinates (FIG. 23B).
  • a predetermined number for example, 100
  • the screen generation unit 202 generates, for example, an image in which the data having the value “0” is “no color” and the data having the value “1” is “colored” with respect to the data having the two-dimensional coordinates. Is displayed on the output unit 3b (FIG. 23C). Thereby, the rewrite situation in the memory at a certain point in time can be graphically expressed.
  • the description returns to FIG.
  • the screen generation unit 202 of the management computer 2 calculates the expected completion time of the live migration process based on the average transfer rate related to the data transfer (S607).
  • the screen generation unit 202 of the management computer 2 determines whether “estimated completion time> timeout time” (S607).
  • step S607 If “expected completion time ⁇ timeout time” (S607: NO), the screen generation unit 202 of the management computer 2 proceeds to the process of step S609 as it is.
  • “expected completion time> timeout time” S607: YES
  • the screen generation unit 202 of the management computer 2 generates a warning screen (S608), and proceeds to the process of step S609.
  • step S609 the screen generator 202 of the management computer 2 generates a progress screen 213 or a statistics screen 214 and outputs it to the output unit 3b (S609). If a warning screen is generated in step S608, a screen including the warning screen is generated.
  • a clean page is a page that stores data that has been migrated in live migration processing and has not been updated from the virtual machine after migration. good.
  • other types of pages for example, free pages in which no data is stored may be managed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 ハイパバイザにより少なくとも1つ以上の仮想計算機が稼動する複数の計算機と、複数の計算機を管理する管理計算機とを備え、管理計算機は、操作者の操作入力を受ける入力部と、第1計算機上で第1仮想計算機を稼働した状態で、第1仮想計算機を第1計算機から第2計算機に移行するライブマイグレーションに関する進捗情報を第1計算機から取得し、その取得した進捗情報に基づきライブマイグレーションに関する統計情報を生成し、統計情報を含む統計画面を生成する画面生成部と、その統計画面を表示する出力部と、を備える。

Description

仮想計算機システム、管理計算機及び仮想計算機管理方法
 本発明は、仮想計算機システムの管理に関する。
 仮想計算機システムは、1台の物理的な計算機(以下「物理計算機」という)上に、1又は複数の仮想的な計算機(以下「仮想計算機」という)を構築できる。そして、仮想計算機システムは、仮想計算機(LPAR(Logical Partition)と呼ばれることもある)上の各々で、独立してOS(Operating System)を動作させることができる。これにより、1台の物理計算機上で、複数のOSを同時に稼働させることができる。
 また、仮想計算機システムにおいて、或る物理計算機上の仮想計算機を構成するデータを、その仮想計算機を稼働させた状態のまま、他の物理計算機上の仮想計算機にマイグレーションするライブマイグレーション技術が知られている(特許文献1、2)。
特開2010-033403号公報 特開2012-108816号公報
 ライブマイグレーションは、LPAR上のOS等を稼働した状態で実行される。したがって、メモリの保持するデータをマイグレーション元の計算機からマイグレーション先の計算機に転送している間にも、複数のページ(記憶領域)を有するメモリにおいて、ページが更新される(例えば、ページ内のデータが更新される、或いは、転送されるべきデータが新たにページに書き込まれる)ことがある。この場合、更新されたページのデータは、マイグレーション先の計算機に転送される。
 マイグレーションでは、ハードウェア構成からメモリ上のデータまで、マイグレーション元の計算機の構成及び状態等の全ての情報を、マイグレーション先の計算機に転送する必要がある。「ライブ」マイグレーションは、計算機が稼働している状態でのマイグレーションである。したがって、マイグレーション中に更新されたメモリ上のデータも、全て正しくマイグレーション先の計算機に転送される必要がある。
 ユーザは、ライブマイグレーションを実行した場合であっても仮想計算機システムを問題なく運用しなければならない。したがって、仮想計算機システムの管理者(ユーザ)は、ライブマイグレーションに関する状態をより詳細に管理及び制御したいというニーズを有する。例えば、仮にLPAR上のOS等がメモリに頻繁にアクセスしていると、そのアクセスによって更新されたメモリページの転送が何度も発生してしまい、ライブマイグレーションがいつまでも完了しない可能性がある。よって、ユーザは、仮想計算機システムを適切に運用するために、ライブマイグレーション処理が正常に完了するか否かを前もって把握しておきたいというニーズを有する。
 本発明の目的は、ユーザが、仮想計算機システムにおけるライブマイグレーション処理の状態を把握し、マイグレーションの対象を適切に管理及び制御できるようにすることにある。
 本発明の一実施形態に係る仮想計算機システムは、ハイパバイザにより少なくとも1つ以上の仮想計算機が稼動する複数の計算機と、複数の計算機を管理する管理計算機と、を備え、管理計算機は、操作者の操作入力を受ける入力部と、第1計算機上で第1仮想計算機を稼動した状態で、第1仮想計算機を第1計算機から第2計算機に移行するライブマイグレーションに関する進捗情報を第1計算機から取得し、その取得した進捗情報に基づきライブマイグレーションに関する統計情報を生成し、統計情報を含む統計画面を生成する画面生成部と、統計画面を表示する出力部と、を備える。
 なお、出力部が行う「表示する」という処理は、管理計算機が有する表示装置上に統計画面を表示することであっても良いし、管理計算機に接続されており表示装置を有する遠隔の計算機に統計画面の情報を送信することであっても良い。後者の場合、その遠隔の計算機が、管理計算機から受信した情報を基に、その遠隔の計算機が有する表示装置上に統計画面を表示する。
 本発明によれば、ユーザは、仮想計算機システムにおけるライブマイグレーション処理の状態を把握し、マイグレーションの対象を適切に管理及び制御することができる。
計算機システムの全体構成。 ハイパバイザの有するメモリ管理情報の例。 ハイパバイザの有するステータス管理情報の例。 管理計算機の有する機能構成。 ライブマイグレーションの選択画面の例。 ライブマイグレーションの設定画面の例。 ライブマイグレーションの進捗画面の例。 ライブマイグレーションの統計画面の例。 統計画面に表示されるマイグレーション統計情報の表の例。 統計画面に表示される転送速度のグラフ。 統計画面に表示されるダーティページ量のグラフ。 メモリマップ画面の例。 第1の表示に対応するメモリマップの生成及び表示の例。 第2の表示に対応するメモリマップの生成及び表示の例。 第3の表示に対応するメモリマップの生成及び表示の例。 第4の表示に対応するメモリマップの生成及び表示の例。 ライブマイグレーション処理のシーケンスチャート。 第1計算機のメモリ書き込み処理のフローチャート。 第1計算機のメモリ書き込み処理のフローチャートの変形例。 第1計算機のメモリデータ転送処理のフローチャート。 第1計算機のクリーンページのデータ転送処理のフローチャート。 管理計算機における画面生成処理のフローチャート。 メモリ管理情報からメモリマップを生成する方法の説明図。
 以下、ライブマイグレーション中の各種情報をユーザにグラフィカルに提示する仮想計算機システムの一実施形態を説明する。
 図1は、仮想計算機システムの全体構成を示す。仮想計算機システム1は、例えば、第1計算機4-1及び第2計算機4-2と、管理計算機2と、ストレージ装置6とを備える。以下、第1計算機4-1と第2計算機4-2を区別せずに計算機4という場合がある。
 管理計算機2と、第1計算機4-1と、第2計算機4-2とは、通信ネットワーク41で接続されている。入力部3aは、入力IF15aを介して管理計算機2に接続されている。出力部3bは、出力IF15bを介して管理計算機2に接続されている。
 第1計算機4-1及び第2計算機4-2は、FC-SW(Fiber Channel-Switch)5を介して、ストレージ装置6と、FCケーブル42で接続されている。なお、FC-SW5に代えて他種のスイッチが採用されても良いし、FCケーブル42に代えて他種のケーブルが採用されても良い。
 出力部3bは、管理計算機2が生成した出力情報を出力する。出力部3bは、例えば画面の情報を表示する。入力部3aは、ユーザからの入力指示を受け付けて、その入力指示を管理計算機2に伝える。出力部3bは、例えば、画面による出力を行う液晶ディスプレイ、音声による出力を行うスピーカ等である。入力部3aは、例えば、キーボード、マウス、マイク等である。さらに又、入力部3aと出力部3bとを兼用するタッチパネルディスプレイ等であってもよい。
 ストレージ装置6は、計算機4に係るデータを記憶する。ストレージ装置6は、ディスクユニット31及びFC-HBA(Fiber Channel-Host Bus Adapter)32を備える。なお、FC-HBA32に代えて他種のHBAが採用されても良い。
 FC-HBA32には、FCケーブル42が接続される。ストレージ装置6は、計算機4から送信された書き込みデータをディスクユニット31に書き込む。ストレージ装置6は、計算機4から要求された読み出しデータをディスクユニット31から読み出して、計算機4に返す。ディスクユニット31は、例えば、HDD(Hard Disk Drive)、フラッシュメモリ等で構成される。
 計算機4は、様々な演算処理を実行する。計算機4は、例えば、CPU(Central Processing Unit)21と、メモリ22と、ハイパバイザ23と、通信IF25と、FC-HBA24とを備える。これら要素21~25は、双方向にデータの伝送が可能なバス(不図示)で接続されている。
 CPU21は、メモリ22に展開されたコンピュータプログラムを実行する。CPU21は、複数備えられても良い。
 ハイパバイザ23は、仮想化機能を実現する。一般的に、計算機4は、CPU21及びメモリ22等から構成される一つのチップセット上で一つのOSしか実行できない。しかし、ハイパバイザ23を介することにより、計算機4は、CPU21及びメモリ22等から構成される一つのチップセット上で複数のOSを同時に実行することができる。例えば、ハイパバイザ23上に仮想計算機として第1LPAR100-1と第2LPAR100-2を構築し、第1LPAR100-1と第2LPAR100-2の各々において異なるOSを同時に実行することができる。
 ハイパバイザ23は、各LPAR(又はOS)に対するCPU21及びメモリ22等のリソースの配分(割当)を管理する。つまり、ハイパバイザ23は、同時に実行されている複数のOSに対して、物理的なCPU21及びメモリ22のリソースを、その時々の状況に応じて適切に配分する。各OSからは、ハイパバイザ23から配分された仮想的なCPU及びメモリのリソースが、実際のCPU及びメモリと認識される。この仮想的なCPU及びメモリを、仮想CPU及び仮想メモリと呼ぶ場合がある。
 ハイパバイザ23は、各OSと、ストレージ装置6の所定の記憶領域との関係を管理する。ハイパバイザ23は、或るOSからストレージ装置6に対するデータの書き込み/読み出しの指示を受けると、FC-HBA24を介して、その指示をストレージ装置6に伝送する。ハイパバイザ23は、FC-HBA24を介して、ストレージ装置6から或るOSに対する書き込み/読み出しの応答を受けると、その受けた応答を適切なOSに伝える。FC-HBA24が2つ備えられているのは、ライブマイグレーションを適切に実現するためと、冗長性を高めるためである。
 ハイパバイザ23は、例えば、チップセットのファームウェアとして実行される。つまり、ハイパバイザ23は、物理的なCPU21及びメモリ22等のリソースを、直接的に制御及び管理することができる。ハイパバイザ23は、物理的なチップセットのような物として実現されても良いし(例えば、コンピュータプログラムとしてのハイパバイザ23を記憶した物理的な記憶資源とそのハイパバイザ23を実行する物理的なCPUとを有しておりその物理的なCPUでハイパバイザ23を実行することによってはハイパバイザとして機能する回路であっても良いし)、物理的なCPU上で実行されるコンピュータプログラムとして実現されても良い。
 ハイパバイザ23は、各LPAR100とメモリ22との対応関係を管理するメモリ管理情報102と、各LPAR100及びCPU21の設定及び状態に関する情報を管理するステータス管理情報101を保持する。次に、これらの管理情報101、102について説明する。
 図2は、ハイパバイザ23の有するメモリ管理情報102の例を示す。メモリ管理情報102は、ハイパバイザ23上で実行されているOSに提供している仮想メモリのページアドレスと、物理的なメモリ22のページアドレスとの対応関係を管理する。つまり、ハイパバイザ23は、LPAR100毎にメモリ管理情報102を管理する。
 メモリ管理情報102は、データ項目として、仮想メモリページ開始アドレス121と、物理メモリページ開始アドレス122と、ページサイズ123と、書き換えフラグ124と、転送フラグ125とを有する。
 なお、ページとは、メモリを複数に分割した領域の単位のことである。ライブマイグレーションを行うためには、ハードウェアの支援として、ページ単位でのOSによる書き込みを監視する機能が重要である。
 「メモリページ」は、一般的にページング方式と呼ばれるメモリ管理方式で扱われるメモリの管理単位である。つまり、メモリの領域を、1ビット単位ではなく、所定サイズのページ単位(一般的には、4kByte又は2MByte)で扱う。例えば、1ページ内に含まれる1ビットでもデータの更新があった場合、1ページ全体が更新された(書き換えられた)として扱われる。
 仮想メモリページ開始アドレス121は、或るOSが認識している仮想的なメモリページの開始アドレスを示す。
 物理メモリページ開始アドレス122は、仮想メモリページ開始アドレス121に対応する物理的なメモリページの開始アドレスを示す。
 ページサイズ123は、仮想メモリページ開始アドレス121又は物理メモリページ開始アドレスから開始されるメモリページのサイズを示す。
 書き換えフラグ124は、メモリページに書き換えが発生したか否かを示すフラグである。つまり、書き換えフラグ124は、ライブマイグレーションのメモリ転送中に、メモリへの書込み要求が発生して書き換えられたメモリページを、ダーティページとして管理するためのフラグである。つまり、書き換えフラグ124は、該当するメモリページが、ダーティページであるか否かを判別するために使用される。書き換えフラグ124が「1」の場合は書き換えが発生したことを示し、書き換えフラグが「0」の場合は書き換えが発生していないことを示す。書き換えフラグ124が更新されるタイミングの詳細については後述する。なお、書き換えフラグ124を管理するためには、メモリへのアクセスを常に監視する必要がある。そのため、メモリの読み書きの性能は、監視しない時と比較して、低下する可能性がある。そのため、通常稼動時(つまり、ライブマイグレーションの実行中以外)は、書き換えフラグ124は管理されない運用が望ましい。
 以下、ダーティページについて更に説明する。ダーティページとは、マイグレーション元となる第1計算機4-1のLPARのOSが動作している状態で、第1計算機4-1のメモリが、マイグレーション先となる第2計算機4-2のメモリに転送されるライブマイグレーション処理において、マイグレーション元となる第1計算機4-1のメモリが有する複数のページのうち、マイグレーション先となる第2計算機4-2へのデータ転送中に、OS等による何らかの書き込み等により書き換えられたページのことである。
 例えば、ライブマイグレーションの移行元であるLPARの使用している仮想メモリは、ページアドレス1から100を有するとする。なお、このページアドレスは、LPAR上のOSが認識している仮想メモリのページアドレスであり、物理メモリのページアドレスとは異なり得る。仮想メモリと物理メモリのページアドレスの対応は、メモリ管理情報102で管理される。
 ライブマイグレーションが開始されると、ハイパバイザ23が、ページアドレス1から1ページずつ順番にメモリデータを、移行元の計算機から移行先の計算機に転送する。この時、N番目(Nは正の整数)のページがすでに書き換えられていた場合、そのページの転送をスキップする。
 上記の手順でアドレス100までの処理を終えた時点で、ハイパバイザ23は、メモリ全体(ページアドレス1~100)の状態を確認する。メモリには、a)書き換えられていたので転送をスキップしたページと、b)転送後に書き換えられたページとが存在している。上記a)及びb)のいずれの場合も、書き換えフラグ124が「1」になっている。ハイパバイザ23は、これら書き換えフラグ124が「1」になっているページを、ダーティページと見なす。
 このダーティページ量が所定の閾値以下の場合は、ハイパバイザ23は、移行元の計算機を一時的に停止させて、その時点の残りの状態及びデータを全てまとめて転送するライブマイグレーションの最終処理に移行する。ダーティページ量が所定の閾値より大きい場合は、ダーティページを転送する処理を行う。以降、ダーティページ量が所定の閾値以下となるまで、稼働中の計算機によるメモリの書き換えと、ハイパバイザ23によるダーティページのデータ転送とが繰り返される。
 転送フラグ125は、メモリページのデータの転送(マイグレーション)の可否を示すフラグである。転送フラグが「1」の場合は転送の許可を示す。転送フラグが「0」の場合は転送の禁止を示す。
 例えば、或るページにデータが書き込まれている場合、そのページに対応した転送フラグ125は、「0」とされる。これにより、ページのデータが、書き込みの発生している途中で転送されないように保護することができる。具体的には、メモリ内容の変更の為の書き込みと、転送のための読み込みとが競合した場合に、中途半端なデータが転送されないようにする。結果として、システムの信頼性を高めることができる。
 図2に示すメモリ管理情報102の第1レコード127は、仮想メモリページにおける開始アドレス「ADDR_L0(所定のページアドレス番号)」が、物理メモリページにおける開始アドレス「ADDR_P0(所定のページアドレス番号)」に対応することを示す。そして、このメモリページのサイズが「MP0(所定のバイトサイズ)」であることを示す。そして、このメモリページには書き換えが発生しており(書き換えフラグ124が「1」)、このメモリページのデータは転送が禁止されている(転送フラグ125が「0」)ことを示す。
 図3は、ハイパバイザ23の有するステータス管理情報101の例を示す。ステータス管理情報101は、LPAR100のライブマイグレーション処理に関する実行状況及び設定の情報を管理する。つまり、ハイパバイザ23は、LPAR100毎にステータス管理情報101を有する。ステータス管理情報101は、LPAR100上のOS等の実行状態によって変化し得る情報(以下「状態情報」という)と、ユーザからの設定によって変更され得る情報(以下「設定情報」という)とを有する。
 ステータス管理情報101は、データ項目として、項目名111と、値112と、設定フラグ113とを有する。設定フラグ113が「1」の場合、ユーザは、値112を設定できる。設定フラグ112が「0」の場合、ユーザは、値112を設定できない。
 ステータス管理情報101は、ライブマイグレーション処理に関係する項目名111として、例えば、現在時刻115a、マイグレーション状況115b、実行中コマンド115c、転送済みデータ量115d、ダーティページ量115e、判定閾値115f、転送帯域の上限値115g、仮想CPU割当リソースの上限値115h、DMA割込の上限値115i、タイムアウト時間115jを有する。
 現在時刻115aは、現在の時刻を示す状態情報である。マイグレーション状況115bは、ライブマイグレーション処理の現在の状況を示す状態情報である。マイグレーション状況115bは、例えば、未実行/実行中/最終処理中等の情報を有する。実行中コマンド115cは、ライブマイグレーション処理において、現在実行中のコマンドを示す状態情報である。転送済みデータ量115dは、ライブマイグレーション処理において、現在までに転送を完了したデータの総量を示す状態情報である。ダーティページ量115eは、ライブマイグレーション処理において、現在残存しているダーティページの量(本実施形態では、ダーティページの数)である。
 判定閾値115fは、ライブマイグレーションの最終処理の開始を判定するための設定値である。ライブマイグレーションの最終処理とは、マイグレーション元のLPAR上においてOS等が実行されている間は転送することができない残りのデータを、一時的にLPARの仮想CPUを停止させて、マイグレーション先のLPARに転送する処理である。つまり、ライブマイグレーションの最終処理は、最後まで残存しているダーティページを、一時的にLPARの仮想CPUを停止させて、まとめて転送する。ここで、LPAR上のOS等の実行に影響を与えることなく仮想CPUを停止させることが可能な時間は、限られている。したがって、ライブマイグレーションの最終処理は、ダーティページ量が十分に少なくなってから開始されなければならない。判定閾値は、ダーティページ量が、このライブマイグレーションの最終処理を開始できるくらい十分に少ないか否かを判定するために用いられる。
 転送帯域の上限値115gは、ライブマイグレーション処理のデータ転送に使用可能な通信帯域の上限を示す設定値である。
 仮想CPU割当リソースの上限値115hは、ライブマイグレーション実行中において、マイグレーション元のLPARが使用する仮想CPUに割り当てられるリソース(物理CPUの利用可能時間)の上限を示す設定値である。つまり、仮想CPU割当リソースの上限値115hとは、例えばライブマイグレーションを所定時間内で完了させたい場合に、ライブマイグレーション中のダーティページの増加を抑えることを目的として、OSあるいはLPARの処理性能を一時的に落として遅くさせるために設定される値である。
 DMA割込の上限値115iは、ライブマイグレーション処理時におけるDMAからの割込遅延時間の上限を示す設定値である。タイムアウト時間115jは、ライブマイグレーション処理のタイムアウトまでの時間を示す設定値である。ライブマイグレーション処理は、このタイムアウト時間までに完了しない場合、強制的に中止となる。以下、図1の説明に戻る。
 管理計算機2は、複数の計算機4を管理する。管理計算機2は、例えば、CPU11と、メモリ12と、ストレージ13と、通信IF14と、入力IF15aと、出力IF15bとを備え、各要素11~15は、双方向にデータ伝送可能なバス16で接続されている。
 CPU11は、メモリ12に展開されたコンピュータプログラムを実行して、後述する管理計算機2の有する各種機能を実現する。
 ストレージ13は、コンピュータプログラム及びデータ等を保持する。コンピュータプログラム及びデータは、必要に応じてメモリ12に展開され、CPU11に実行される。
 通信IF14は、通信ネットワーク41と接続する。CPU11は、通信IF14を通じて、各計算機4とデータを送受信できる。
 入力IF15aには、入力部3aが接続される。出力IF15bには、出力部3bが接続される。CPU11は、出力IF15bを通じて出力部3bに画面表示用の信号を出力したり、入力IF15aを通じて入力部3aからユーザ操作に関する信号を受けたりする。
 図4は、管理計算機2の有する機能構成を示す。管理計算機2は、例えば、ユーザが複数の計算機4を簡単に管理できるようなGUI(Graphical User Interface)を生成する。管理計算機2は、ユーザからGUIを通じて指示を受け、その指示を実現するためのコマンドを各計算機4に送信する。
 管理計算機2は、画面入出力部201と、画面生成部202とを有する。画面入出力部201は、後述する画面生成部202によって生成された各種画面(GUI)を、出力部(表示部)3bに出力して表示させる。また、画面入出力部201は、出力部3bにGUIのボタン等として表示された命令群を、入力部3aからユーザ操作で選択させ、その選択結果をユーザ指示として画面生成部202及び/又はマイグレーション指示部203に伝える。マイグレーション指示部203は、画面入出力部201から伝えられた指示に基づいて、各計算機4にライブマイグレーション処理に関するコマンドを送信したり、各計算機4からライブマイグレーション処理に関する応答を受信したりする。
 上記機能201、202、203は、例えば、対応するコンピュータプログラムが、CPU11において実行されることによって実現される。上記機能201、202、203の全部又は一部は、ASIC(Application Specific Integrated Circuit)等のような専用のハードウェアによって実現されても良い。
 画面生成部202は、ライブマイグレーション処理に関する各種画面を生成する。画面生成部202は、例えば、選択画面211、設定画面212、進捗画面213、統計画面214、メモリマップ画面215等を生成する。以下、各画面の詳細について説明する。
 図5は、ライブマイグレーション処理の選択画面の例を示す。ユーザは、選択画面211で、ライブマイグレーション処理の対象とするLPAR100を選択する。
 選択画面211は、マイグレーション元の選択領域301と、マイグレーション元のLPAR情報表示領域303と、マイグレーション先の選択領域302と、マイグレーション先のLPAR情報表示領域304とを有する。また、選択画面211は、チューニングボタン305と、実行ボタン306を有する。
 ユーザが、マイグレーション元の選択領域301からマイグレーション元の第1LPAR307を選択すると、その選択された第1LPAR307のLPAR情報が、マイグレーション元のLPAR情報表示領域303に表示される。LPAR情報表示領域303には、例えば、第1LPAR307のシャーシID、HVM ID、LPAR番号及びLPAR名称等が表示される。
 ユーザが、マイグレーション先の選択領域302からマイグレーション先の第4LPAR308を選択すると、その選択された第4LPAR308のLPAR情報がマイグレーション先のLPAR情報表示領域304に表示される。ユーザは、未使用のLPARを、マイグレーション先として選択する。
 そして、ユーザが実行ボタン306を選択すると、ライブマイグレーション処理が開始され、後述する進捗画面213に遷移する。
 ユーザが実行ボタン306を選択する前に、チューニングボタン305を選択すると、設定画面212に遷移する。次に、設定画面212について説明する。
 図6は、ライブマイグレーション処理の設定画面212の例を示す。ユーザは、設定画面212で、ライブマイグレーション処理に関する設定値をセットすることができる。
 設定画面212は、タイムアウト時間設定領域311と、仮想CPU割当リソースの上限値設定領域312と、DMA割込の上限値設定領域313と、転送帯域の上限値設定領域314と、仮想CPU停止時間設定領域315とを有する。また、設定画面212は、OKボタン317と、キャンセルボタン318とを有する。
 タイムアウト時間設定領域311には、ライブマイグレーション処理のタイムアウトまでの時間の最大値を入力することができる。この設定領域311に入力された値は、ステータス管理情報101のタイムアウト時間に設定される。
 仮想CPU割当リソースの上限値設定領域312には、ライブマイグレーション実行中におけるマイグレーション元のLPARが利用可能な仮想CPUに割り当てられるリソース(例えば、物理CPUが割り当てられる時間)の上限値(最大値)を入力することができる。この設定領域312に入力された値は、ステータス管理情報101の仮想CPU割当リソースの上限値115hに設定される。このように、ライブマイグレーション実行中において、仮想CPUに割り当てるリソースに敢えて上限を設けて仮想CPUの性能を落とすことによって、マイグレーション元のLPARの性能が落ちるので、ダーティページ量の増加を抑えることができる。
 DMA割込の上限値設定領域313には、ライブマイグレーション処理時におけるDMAからの割込遅延時間の上限値を入力することができる。この設定領域313に入力された値は、ステータス管理情報101のDMA割込の上限値115iに設定される。
 転送帯域の上限値設定領域312には、ライブマイグレーション処理のデータ転送のために使用する通信帯域の上限値を入力することができる。この設定領域314に入力された値は、ステータス管理情報101の転送帯域の上限値115gに設定される。
 仮想CPU停止時間設定領域315には、仮想CPUを停止可能な時間を入力することができる。この設定領域315に入力された値は、ライブマイグレーションの最終処理の開始を判定するために用いられる。つまり、この設定領域315に入力された値は、転送帯域の上限値との積から判定閾値に換算され、ステータス管理情報101の判定閾値に設定される。
 OKボタン317が選択されると、各設定領域311~315に入力された値が、ステータス管理情報101に設定される。ここで、ライブマイグレーション処理の実行中にOKボタン317が選択された場合、各設定領域311~315に入力された値は、当該実行中のライブマイグレーション処理に反映される。
 キャンセルボタン318が選択されると、各設定領域311~315に入力された値は破棄され、直前の画面に遷移する。
 図7は、ライブマイグレーションの進捗画面の例を示す。例えば、図5に示す選択画面211において実行ボタン306が選択されて、ライブマイグレーション処理が実行されると、第1LPAR307の有するOS及び仮想メモリ上のデータは、全て第4LAPRの仮想環境に転送される。さらに、「ライブ」マイグレーションであるので、転送中であっても、第1LPAR307の有するOS等は実行され続ける。
 進捗画面213には、実行中のライブマイグレーションに係る進捗情報が表示される。進捗画面213は、マイグレーション元のLPAR情報表示領域321と、マイグレーション先のLPAR情報表示領域322と、進捗情報表示領域323と、マイグレーション実行ステップ表示領域324とを有する。また、進捗画面213は、延長ボタン325と、中止ボタン326と、チューニングボタン327と、統計情報ボタン328とを有する。
 マイグレーション元のLPAR情報表示領域321には、マイグレーション元のLAPRを特定するためのLPAR情報が表示される。マイグレーション先のLPAR情報表示領域322には、マイグレーション先のLPARを特定するためのLPAR情報が表示される。
 進捗状況表示領域323には、ライブマイグレーションの進捗状況が表示される。進捗状況としては、例えば、ライブマイグレーション処理の開始時刻332、ライブマイグレーション処理開始からの経過時間333、ライブマイグレーション処理の完了までの予想残り時間(完了予想時間)335、ライブマイグレーション処理のタイムアウトまでの残り時間(タイムアウト時間)334、現在実行中の処理の状況331等が表示される。
 なお、経過時間333は、実行ボタン306が選択された時刻と管理計算機2の現在時刻との差分を計算することで、求められる。また、タイムアウトまでの残り時間334は、タイムアウト設定値(固定値)から、ライブマイグレーション処理開始からの経過時間333を差し引いた値として求められる。
 実行ステップ表示領域324には、ライブマイグレーション処理において、既に実行されたステップ、実行中のステップ及びこれから実行される予定のステップ等が、一覧形式で表示される。そして、ステップ毎に、ステップ名と、実行済み/実行中/未実行等の実行状態と、実行に要した時間(実行時間)、処理内容の説明等が表示される。
 延長ボタン325は、選択されると、マイグレーション指示部203が、ライブマイグレーション処理のタイムアウト時間を延長する。中止ボタン326は、選択されると、マイグレーション指示部203が、ライブマイグレーションを中止する。チューニングボタン327は、選択されると、上記図6に示す設定画面212に遷移する。この進捗画面213から遷移した設定画面212で設定された値は、実行中のライブマイグレーション処理にリアルタイムに反映される。統計情報ボタン328は、選択されると、後述する統計画面214に遷移する。
 ユーザが、統計画面214を表示させるために、統計情報ボタン328を選択する契機としては、例えば以下の2つがある。
 一つ目の例は、ユーザが、ライブマイグレーション実行前の事前設計、或いは見積りどおりにライブマイグレーションが完了するかどうかを確認したい場合である。一般に、ユーザは、ライブマイグレーションにおけるメモリ転送に必要な時間の概算値を、「サーバのメモリ量/メモリ転送速度」として見積もる。実際には、ダーティページの存在があるため、上式の値よりも長くなることがある。そこで、ユーザは、この見積りどおりにライブマイグレーション処理が進行しているかどうかを確認するために、統計画面214の表示を指示する。
 二つ目の例は、ユーザが、ライブマイグレーションが予想終了時刻を過ぎても終わらないときの原因追求、又は対策立案に向けた現状確認をしたい場合である。ユーザは、ライブマイグレーションの現在の進捗がどうなっているのか(ダーティページが想定より多くて転送に時間が掛かっているのか、それとも、転送速度又はダーティページの増減が想定外の値となっているのか)を確認するために、統計画面214の表示を指示する。
 従来の仮想計算機システムでは、ライブマイグレーションの詳細な現在の状況を知る術が無かった。そのため、ライブマイグレーション開始後は、1)正常に終了、2)タイムアウトで強制終了(ゆえに、ライブマイグレーション失敗)、3)キャンセル操作で強制終了(ゆえに、ライブマイグレーション失敗)のうちいずれかに至っていた。
 これに対し、本実施例の仮想計算機システムでは、ライブマイグレーションの詳細な現在の状況を知ることができるので、正常に終了した場合であっても、a)転送速度やタイムアウト時間に対し十分なマージンがある、b)転送速度やタイムアウト時間に対し、ほとんどマージンが無い、のどちらの状態に近いのかを分析可能となる。或いは、タイムアウトまたはキャンセルした場合でも、c)転送速度又はタイムアウト時間に対し、もう少しマージンがあれば正常終了した、d)転送速度又はタイムアウト時間が足りていない、のどちらの状況に近いのかを分析可能となる。
 このように、ライブマイグレーション実行中の状況を知ることで、上記a)の場合は問題ないが、上記b)~d)の場合はマージンを十分に確保する等の対策が必要である、ということが分かる。
 図7において、「完了予想時間>タイムアウト時間」の場合は、ライブマイグレーション処理が完了する前に、タイムアウト時間によってライブマイグレーション処理が中止されてしまう虞がある。そこで、このような場合は、表示領域323に、その旨の警告画面を表示する。例えば、完了予想時間335を通常とは異なる目立つ赤色等に変化させる。警告画面を表示することにより、ユーザはライブマイグレーション処理が正常に完了しない虞があることに気づき、様々な対処を迅速に行うことができる。
 例えば、ユーザは、延長ボタン325を選択して、タイムアウト時間を延長しても良い。例えば、ユーザは、中止ボタン326を選択して、ライブマイグレーション処理を中止しても良い。例えば、ユーザは、チューニングボタン327を選択して、ライブマイグレーション処理に使用するリソースを調整しても良い。例えば、ユーザは、統計情報ボタン328を選択して、統計情報を確認し、その原因を分析しても良い。
 図8は、ライブマイグレーションの統計画面214の例を示す。統計画面214には、実行中のライブマイグレーションに関する様々な統計情報が表示される。
 統計画面214は、マイグレーション元のLPAR情報表示領域341と、マイグレーション先のLPAR情報表示領域342と、統計情報表示領域343と、転送速度グラフ表示領域344と、ダーティページ量グラフ表示領域345とを有する。
 また、統計画面214は、延長ボタン346と、中止ボタン347と、チューニングボタン348と、メモリマップボタン349と、進捗状況ボタン350とを有する。延長ボタン346と、中止ボタン347と、チューニングボタン348については、上述と同様であるので、説明を省略する。進捗状況ボタン350は、選択されると、図7に示す進捗画面213に戻る。メモリマップボタン349は、選択されると、後述するメモリマップ画面215を表示する。
 さて、ライブマイグレーションでは、マイグレーション元の計算機のメモリの内容を、マイグレーション先の計算機のメモリへ転送する、その過程では、ダーティページを考慮しなければいけない。すなわち、ライブマイグレーションが所定の時間内に完了するかどうかは、ダーティページの転送完了の可否が重要なポイントになる。
 ダーティページの転送を確実に完了させるためには、ライブマイグレーションを実行中の、マイグレーション元の計算機のメモリの状態を知ることが必要となる。その際、転送速度又はダーティページの残量といった統計的・定量的な情報に加え、メモリの使用状況、具体的にはどのプログラムがどの程度頻繁にアクセスしているのか、を把握することが、非常に有用である。メモリの使用状況が把握できれば、ダーティページの発生原因がどこにあるのか、例えばOSのカーネル領域なのか若しくはアプリケーション領域なのか、を判断する手助けとなる。
 メモリマップ画面215から得られるこのような情報を総合的に参照することで、複数あるライブマイグレーション処理に関わる設定値のうち、どれを変更すればライブマイグレーションが所定の時間内に完了するかを判断することが可能となる。なお、その判断は、ユーザが行なってもよいし、管理計算機2等が自動的に判断してもよい。
 マイグレーション元のLPAR情報表示領域341には、実行中のマイグレーション元のLAPRのステータス管理情報101が表示される。マイグレーション先のLPAR情報表示領域342には、実行中のマイグレーション先のLAPRのステータス管理情報101が表示される。
 統計情報表示領域343は、実行中のマイグレーションに関する統計情報を表形式で表示する。次に、その統計情報について説明する。
 図9は、統計情報表示領域343に表示される統計情報の表の例である。
 統計情報103は、データ項目として、時刻131と、転送速度132と、平均転送速度133と、ダーティページ量134と、ダーティページ量の増減135と、総転送量136と、判定閾値137とを表示する。
 時刻131は、その統計情報103が計算機4から取得された時刻である。転送速度132は、マイグレーション元からマイグレーション先への転送データの転送速度を示す。転送速度132は、例えば、マイグレーション元の計算機4の通信IF25から出力されたデータ量に基づいて算出されても良い。後述する転送速度グラフ表示領域344に表示されるグラフは、この転送速度132の値に基づいて生成される。平均転送速度133は、所定の時間における転送データの転送速度132の平均を示す。
 ダーティページ量134は、残存しているダーティページ量を示す。後述するダーティページ量グラフ表示領域345は、このダーティページ量134の値に基づいて生成される。
 ダーティページ量の増減135は、例えば、前回の統計情報103に係るダーティページ量104と、今回の統計情報103に係るダーティページ量104との間の増減値を示す。
 総転送量136は、これまでに転送を完了したデータ量を示す。判定閾値137は、ライブマイグレーションの最終処理を開始するか否かを判定するための閾値である。この判定閾値137は、ステータス管理情報101の判定閾値に対応する。
 図10は、転送速度グラフ表示領域344に表示される転送速度のグラフ401の例を示す。転送速度のグラフ401は、横軸が時刻、縦軸が転送速度を示す。つまり、ユーザはこのグラフ401によって、転送データの転送速度が時間の経過と共にどのように変化しているかを知ることができる。
 例えば、或る時間帯に一時的に転送速度が遅くなっていたとしても、その後回復しているのであれば、ユーザは、マイグレーション元からマイグレーション先との間の通信経路には問題がないと分析することができる。しかし、或る時刻から転送速度が遅くなってしまい、その後回復しないようであれば、ユーザは、マイグレーション元からマイグレーション先との間の通信経路に問題があるかもしれないと分析できる。
 図11は、ダーティページ量グラフ表示領域345に表示されるダーティページ量のグラフ402の例を示す。ダーティページ量のグラフ402は、横軸が時刻、縦軸がダーティページ量を示す。つまり、ユーザはこのグラフ402によって、ダーティページ量が時間の経過と共にどのように変化しているかを知ることができる。
 例えば、時間の経過と共にダーティページ量が減少傾向にある場合、ユーザは、マイグレーション処理は順調であると分析することができる。しかし、或る時刻からダーティページ量が減少しない、又はダーティページ量が増加傾向にある場合、ユーザは、マイグレーション処理の完了までに時間がかかるかもしれないと分析することができる。
 ライブマイグレーション処理の進捗に問題がある場合、転送速度のグラフ401及びダーティページ量のグラフ402の両方を分析することによって、その原因をある程度切り分けることができる。それによって、ユーザは、適切な対処を行うことができる。
 例えば、ダーティページ量は減少傾向にあるが転送速度が遅い場合、ユーザは、マイグレーション元とマイグレーション先との間の通信経路に原因があるかもしれないと分析することができる。そして、例えば、通信経路のトラフィックを専有していた他のアプリケーションを停止させる等の対処を行うことができる。
 例えば、転送速度は十分高速であるが、ダーティページ量が減少しない場合、ユーザは、マイグレーション元のLPARで実行されているOSに原因があるかもしれないと分析することができる。そして、例えば、LPARのOS上で頻繁に仮想メモリにアクセスしているアプリケーションを停止させる等の対処を行うことができる。若しくは、ユーザは、チューニングボタン348を選択して、設定画面212を表示させ、ライブマイグレーション処理に要するリソースを調整することができる。若しくは、ユーザは、メモリマップボタン349を選択して、後述するメモリマップ画面215を表示させ、更に詳細に分析をすることができる。
 本実施形態では、ダーティページ量の変化が転送速度の変化に影響しているという考えに従い、転送速度の変化を示すグラフ401と共に、ダーティページ量の変化を示すグラフ402が表示される。転送速度の変化が生じる原因として、ダーティページ量の変化以外の原因、すなわち、ダーティページ量以外の状態情報の変化が考えられる。このため、転送速度の変化の原因をユーザが推測することを支援するためのグラフとして、図11に示したグラフに代えて又は加えて、ダーティページ量とは異なる状態情報の実測値の変化を示すグラフが表示されても良い。
 図12は、メモリマップ画面215の例を示す。メモリマップ画面215は、ダーティページの状態を示す。
 メモリマップ画面215には、前ボタン361と、時刻表示領域362と、次ボタン363と、表示選択ボタン364、365、366と、メモリマップ表示領域367とを有する。
 時刻表示領域362には、メモリマップ表示領域367に表示するメモリマップに対応する時刻を表示する。前ボタン361は、選択されると、存在する場合は一つ前の時点のメモリマップを、メモリマップ表示領域367に表示する。次ボタン363は、押下されると、存在する場合は一つ後の時点のメモリマップを、メモリマップ表示領域367に表示する。
 表示選択ボタン364、365、366は、選択されると、それぞれに対応する表示方法で、メモリマップ表示領域367にメモリマップを表示する。図12のメモリマップ表示領域367に示すメモリマップは、後述する第1の表示に対応する。以下、第1の表示、第2の表示、第3の表示及び第4の表示に対応するメモリマップの生成及び表示について説明する。
 図13は、第1の表示に係るメモリマップの生成及び表示の例である。第1の表示は、或る時刻におけるダーティページの状態をグラフィカルなメモリマップとして表示する。
 図13(A)は、時刻Tにおけるダーティページの状態を示す。時刻Tは、ダーティページの状態をチェックした時刻である。このダーティページの状態は、計算機4のハイパバイザ23のメモリ管理情報102によって管理される。図2に示されるメモリ管理情報102の書き換えフラグ124において、値が「1」のページがダーティページであり、値が「0」のページがダーティページではないページ(以下「クリーンページ」という)である。
 メモリ管理情報102の書き換えフラグ124を図示化したものが、図13(A)である。図13(A)においても、値が「1」のページがダーティページであり、値が「0」のページがクリーンページである。
 第1の表示は、図13(A)に示すダーティページの状態を、図13(B)に示すようなグラフィカルなメモリマップとして、図12のメモリマップ表示領域367に表示する。図13(B)に示すメモリマップの個々の要素をマップ要素と呼ぶことがある。メモリマップは、メモリを構成する複数のページにそれぞれ対応した複数のマップ要素を有している。各マップ要素は、例えば、領域(図示の例では矩形領域)である。第1の表示に係るメモリマップは、例えば、ダーティページ(つまり、値が「1」のページ)に対応したメモリ要素を網掛け有りに、クリーンページ(つまり、値「0」のページ)を網掛け無しとして、二値階調で表示する。
 ユーザは、第1の表示に係るメモリマップによって、或る時刻において、メモリのどのページにどのくらいのダーティページが残っているのかを一目で確認することができる。
 図14は、第2の表示に対応するメモリマップの生成及び表示の例である。第2の表示は、或る時間帯におけるダーティページの頻度状態をグラフィカルなメモリマップとして表示する。
 図14(A)は、時刻T3、T2、T1(T3>T2>T1)におけるダーティページの状態を示す。時刻T3、T2、T1は、それぞれダーティページの状態をチェックした時刻である。それぞれのダーティページの状態は、計算機4のハイパバイザ23によって管理される。ここで、値が「1」のページはダーティページであり、値が「0」のページはダーティページではない。
 図14(B)は、時刻T3、T2、T1における各ページの値(「0」又は「1」)を合計して算出する。これを、ダーティページの頻度状態と呼ぶ。例えば、或るページが時刻T3、T2、T1の何れにおいても「1」の場合、そのページを「3」とする。同様に、或るページが時刻T3、T2、T1の何れにおいても「0」の場合、そのページを「0」とする。つまり、ダーティページの頻度状態において、値の大きいページは、より頻繁に更新されていることを示す。このダーティページの頻度状態は、管理計算機2が、マイグレーション元の計算機4から異なる時刻に取得した複数のダーティページの状態を用いて算出する。
 第2の表示は、図14(B)に示すダーティページの頻度状態を、図14(C)に示すようなグラフィカルなメモリマップとして、図12のメモリマップ表示領域367に表示する。第2の表示に係るメモリマップは、例えば、値が「0」の部分を網掛け無しに、値が「1」の部分を薄い網掛けに、値が「2」の部分を濃い網掛けに、値が「3」の部分を塗りつぶしにして、多値階調で表示する。
 ユーザは、第2の表示に係るメモリマップによって、或る時間帯において、どのページがどのくらいの頻繁で更新されているのかを一目で確認することができる。
 図15は、第3の表示に対応するメモリマップの生成及び表示の例である。第3の表示は、或る時刻におけるダーティページの概要状態をグラフィカルなメモリマップとして表示する。
 図15(A)は、時刻Tにおけるダーティページの状態を示す。時刻Tは、ダーティページの状態をチェックした時刻である。ここで、値が「1」のページはダーティページであり、値が「0」のページはダーティページではない。
 図15(B)は、3つのページの値を合計して算出する。これが、ダーティページの概要状態である。例えば、メモリの先頭から3ページの値がそれぞれ「1」、「1」、「0」の場合、それらを合計して「2」を有する1ページを生成する。以降、3ページ毎にこれを繰り返して、図15(B)に示すようなダーティページの概要状態を生成する。このダーティページの概要状態は、計算機4のハイパバイザ23によって管理される。
 第3の表示は、図15(B)に示すダーティページの概要状態を、図15(C)に示すようなグラフィカルなメモリマップとして、図12のメモリマップ表示領域367に表示する。第3の表示に係るメモリマップは、例えば、値が「0」の部分を網掛け無しに、値が「1」の部分を薄い網掛けに、値が「2」の部分を濃い網掛けに、値が「3」の部分を塗りつぶしにして、多値階調で表示する。
 図15(A)に示すダーティページの状態を、図15(B)に示すダーティページの概要状態に変換することにより、ハイパバイザ23で管理するデータ量を削減することができる。さらに、管理計算機2は、計算機4からメモリマップの概要状態を取得することで、管理計算機2と計算機との間の通信データ量を削減することができる。
 図16は、第4の表示に対応するメモリマップの生成及び表示の例である。第4の表示は、或る時間帯におけるメモリの更新回数をグラフィカルなメモリマップとして表示する。
 図16(A)は、或る時刻から時刻Tまでのメモリの更新回数を示す。このメモリの更新回数は、計算機4のハイパバイザ23によって管理される。ここで、各ページの値は、そのページが更新された回数を示す。例えば、値が「3」のページは、その時間帯に3回更新されたことを示す。
 第4の表示は、図16(A)に示すメモリの更新回数を、図16(B)に示すようなグラフィカルなメモリマップとして、図12のメモリマップ表示領域367に表示する。第4の表示に係るメモリマップは、例えば、更新回数が0回の部分を網掛け無しに、更新回数が1回の部分を薄い網掛けに、更新回数が2回の部分を濃い網掛けに、更新回数が3回以上の部分を塗りつぶしにして、多値階調で表示する。
 ユーザは、第4の表示に係るメモリマップによって、或る時間帯において、どのページがどのくらい頻繁に更新されているのかを一目で確認することができる。
 図17は、ライブマイグレーション処理のシーケンスチャートを示す。以下、図17を用いて、管理計算機2と、第1計算機4-1と、第2計算機4-2との間の処理を説明する。
 管理計算機2の画面入出力部201は、出力部3bに選択画面211を出力する(S101)。ユーザは、出力部3bに表示された選択画面211において、入力部3aを通じて、マイグレーション元として第1LPAR307を、マイグレーション先として第4LPAR308を選択し、実行ボタン306を選択する。このLPARの選択結果は、管理計算機2に伝えられる(S102)。
 管理計算機2のマイグレーション指示部203は、マイグレーション元の第1計算機4-1と、マイグレーション先の第2計算機4-2に、ライブマイグレーション処理の開始を要求する(S103)。第1計算機4-1及び第2計算機4-2は、マイグレーション進行状態(例えば、現在の実行ステップと状態)を、適宜(例えば定期的に)、管理計算機2に通知する(S104)。
 第1計算機4-1のハイパバイザ23は、第2計算機4-2に、マイグレーション元の第1LPAR307の構成情報を送信する(S105)。第2計算機4-2のハイパバイザ23は、その第1計算機4-1から受信した構成情報に基づいて、マイグレーション先となるLPARを定義する。そして、第1計算機4-1のハイパバイザ23は、第2計算機4-2との間でメモリデータ転送を実行する(S106)。この処理の詳細については後述する。
 管理計算機2のハイパバイザ23は、必要に応じて、第1計算機4-1に転送状態に関する情報を要求する(S107)。第1計算機4-1のハイパバイザ23は、この要求に応じて、転送状態に関する情報を送信する(S108)。
 管理計算機2の画面生成部202は、取得した転送状態に関する情報を用いて進捗画面213及び統計画面214を生成し、出力部3bに出力する(S109)。
 第1計算機4-1のハイパバイザ23は、メモリデータ転送処理を完了し、マイグレーションの最終処理を開始すると、マイグレーション元のLPARの仮想CPUを停止させる(S110)。第1計算機4-1のハイパバイザ23は、マイグレーション元のLPARのデバイス状態を取得して、それを第2計算機4-2のマイグレーション先のLPARに送信する(S111)。第2計算機4-2のハイパバイザ23は、第1計算機4-1から受信したデバイス状態を、マイグレーション先のLPARに反映させる(S112)。
 第1計算機4-1のハイパバイザ23は、残りのダーティページを、第2計算機4-2に転送する(S112)。第2計算機4-2のハイパバイザ23は、第1計算機4-1から受信したダーティページを、マイグレーション先のLPARのメモリに反映させる(S113)。第2計算機4-2のハイパバイザ23は、マイグレーション先のLPARの仮想CPUを開始させ、マイグレーション先のLPARの実行を開始する(S115)。第1計算機4-1のハイパバイザ23は、マイグレーション元のLPARを削除する(S116)。
 第1計算機4-1及び第2計算機4-2のハイパバイザ23は、ライブマイグレーション処理が完了したことを管理計算機2に通知する(S117)。管理計算機2の画面生成部202は、この完了通知を受けて、ライブマイグレーション処理の完了画面を生成し、出力部3bに出力する(S118)。
 図18は、第1計算機4-1のメモリ書き込み処理のフローチャートを示す。第1計算機4-1のハイパバイザ23は、データの書き込み先のページアドレスを確認する(S201)。第1計算機4-1のハイパバイザ23は、書き込み先のページアドレスに対応するメモリ管理情報102の書き換えフラグを「1」に、転送フラグを「0」にセットする(S202)。つまり、第1計算機4-1のハイパバイザ23は、当該メモリページが書き換えられたことを登録し、現在書き換え中の当該メモリページのデータ転送をロックする。そして、第1計算機4-1のハイパバイザ23は、書き込み先のページアドレスに対応するメモリページにデータを書き込む(S203)。
 図19は、第1計算機4-1のメモリ書き込み処理のフローチャートの変形例を示す。このフローチャートは、図18に示す処理の変形例である。
 第1計算機4-1のハイパバイザ23は、データの書き込み先のページアドレスを確認する(S301)。第1計算機4-1のハイパバイザ23は、書き込み先のアドレスに対応するメモリ管理情報102の書き換えフラグに「1」を加算し、転送フラグを「0」にセットする(S202)。つまり、書き換えフラグの値は、書き換えられる度に加算される。第1計算機4-1は、書き込み先のアドレスに対応するメモリページにデータを書き込む(S403)。
 図20は、第1計算機4-1のメモリデータ転送処理のフローチャートを示す。このフローチャートは、図17に示すシーケンスチャートのメモリデータ転送処理(S106)における第1計算機4-1の処理である。
 第1計算機4-1のハイパバイザ23は、メモリ管理情報102の転送フラグを「1」にセットする(S401)。つまり、第1計算機4-1のハイパバイザ23は、転送対象のメモリのデータ転送のロックを解除する。
 第1計算機4-1のハイパバイザ23は、初回の転送処理であるか否かを判定する(S402)。つまり、ステップS405から再帰した後の処理でないことを判定する。
 初回の転送でない場合(S402:NO)、第1計算機4-1のハイパバイザ23は、ステップS404の処理に進む。初回の転送の場合(S402:YES)、第1計算機4-1のハイパバイザ23は、メモリ管理情報102の書き換えフラグを「0」にセットする(S403)。
 そして、第1計算機4-1のハイパバイザ23は、クリーンページのデータ転送処理を実行する(S404)。この処理の詳細については、後述する。
 第1計算機4-1のハイパバイザ23は、「ダーティページ量が閾値以下」であるか否かを判定する(S405)。この閾値は、図3のステータス管理情報101における判定閾値である。「ダーティページ量が閾値以下」の場合(S405:YES)、第1計算機4-1のハイパバイザ23は、当該処理を終了し、ライブマイグレーションの最終処理に進む。「ダーティページ量>閾値」の場合(S405:NO)、第1計算機4-1のハイパバイザ23は、ステップS401の処理に戻る。
 図21は、第1計算機4-1のダーティページ以外のデータ転送処理のフローチャートを示す。この処理は、図20に示すフローチャートのダーティページ以外のデータ転送処理(S404)に該当する。
 第1計算機4-1のハイパバイザ23は、アドレスを初期化する(S501)。第1計算機4-1のハイパバイザ23は、メモリ管理情報102を読み出す(S502)。
 第1計算機4-1のハイパバイザ23は、初回の転送であるか否かを判定する(S503)。まず、初回の転送である場合(S503:YES)について、説明する。
 第1計算機4-1のハイパバイザ23は、書き換えフラグが「0」且つ転送フラグが「1」であるか否かを判定する(S504)。つまり、第1計算機4-1のハイパバイザ23は、書き換えが発生しておらず、且つ転送が許可されているか否かを判定する。
 ステップS504の判定が否定的な場合(S504:NO)、第1計算機4-1のハイパバイザ23は、そのままステップS510の処理に進む。つまり、第1計算機4-1のハイパバイザ23は、データ転送を行わない。
 ステップS504の判定が肯定的な場合(S504:YES)、第1計算機4-1のハイパバイザ23は、メモリページのデータを第2計算機4-2に転送し(S505)、ステップS510の処理に進む。
 次に、ステップS503の判定において、初回の転送でない場合(S503:NO)について、説明する。
 第1計算機4-1のハイパバイザ23は、書き換えフラグが「1」且つ転送フラグが「1」であるか否かを判定する(S506)。つまり、第1計算機4-1のハイパバイザ23は、書き換えられたデータであって、且つ転送が許可されているか否かを判定する。
 ステップS506の判定が否定的な場合(S506:NO)、第1計算機4-1のハイパバイザ23は、そのままステップS510の処理に進む。つまり、第1計算機4-1のハイパバイザ23は、データ転送を行わない。
 ステップS506の判定が肯定的な場合(S506:YES)、第1計算機4-1のハイパバイザ23は、メモリページのデータを第2計算機4-2に転送する(S507)。そして、第1計算機4-1のハイパバイザ23は、書き換えられたデータの転送を完了したので、メモリ管理情報102の書き換えフラグを「0」にセットして、ステップS510の処理に進む。
 ステップS510において、第1計算機4-1のハイパバイザ23は、転送すべき次のメモリページがまだ存在するか否かを判定する(S510)。転送すべき次のメモリページがまだ存在する場合(S510:YES)、第1計算機4-1のハイパバイザ23は、その次のページのアドレスをセットして(S511)、ステップS502の処理に戻る。転送すべき次のメモリページが存在しない場合(S510:NO)、第1計算機4-1のハイパバイザ23は、当該処理を終了して、図20に示すステップS404以降の処理に進む。
 図22は、管理計算機2における進捗画面213及び統計画面214の生成処理のフローチャートを示す。
 管理計算機2の画面生成部202は、第1計算機4-1から進捗情報を取得する(S601)。この進捗情報には、この取得が実行された時点における第1計算機4-1のステータス管理情報101及びメモリ管理情報102が保持されている。管理計算機2の画面生成部202は、1つ前の進捗情報が存在するか否かを判定する(S602)。
 1つ前の進捗情報が存在しない場合(S602:NO)、管理計算機2の画面生成部202は、差分等は無いものとして(S604)、ステップS605の処理に進む。1つ前の進捗情報が存在する場合(S602:YES)、管理計算機2の画面生成部202は、1つ前の進捗情報と今回取得した進捗情報との差分等を算出し(S603)、ステップS605の処理に進む。
 管理計算機2の画面生成部202は、ステップS603で算出した差分等に基づいて、統計情報の表、グラフ及びメモリマップ等を生成する(S605)。以下、この生成について更に説明する。
 進捗情報に含まれるステータス管理情報101は、その時点までに転送が完了したデータの総量である転送済みデータ量115dを有する(図3参照)。そこで、画面生成部202は、1つ前の転送済みデータ量115dと、今回の転送済みデータ量115dとの差分を算出することにより、1つ前から今回までの時間帯におけるデータ転送量を求めることができる。そして、画面生成部202は、「データ転送量/時間帯」を算出することにより、その時間帯におけるデータ転送速度を求めることができる。画面生成部202は、このデータ転送量及びデータ転送速度に基づいて、表及びグラフ401を生成する。
 また、進捗情報に含まれるステータス管理情報101は、その時点におけるダーティページ量115eを有する(図3参照)。そこで、画面生成部202は、1つ前のダーティページ量115eと、今回のダーティページ量115eとの差分を算出することにより、1つ前から今回までの時間帯におけるダーティページの増減量を求めることができる。そして、画面生成部202は、「ダーティページの増減量/時間帯」を算出することにより、その時間帯におけるダーティページ量の増減速度を求めることができる。画面生成部202は、このダーティページの増減量及びダーティページの増減速度に基づいて、表及びグラフ402を生成する。
 また、進捗情報に含まれるメモリ管理情報102は、その時点における各ページの書き換えフラグ124の値(つまり、ダーティページの状態)を有する。画面生成部202は、この書き換えフラグ124の値を用いて、その時点におけるメモリマップを生成する。また、画面生成部202は、過去のメモリ管理情報102と今回のメモリ管理情報102とを用いて、図14又は図16に示すようなメモリマップを生成しても良い。以下、メモリ管理情報102からメモリマップを生成する方法を更に説明する。
 図23は、メモリ管理情報102からメモリマップを生成する方法の説明図である。管理計算機2の画面生成部202は、進捗情報に含まれるメモリ管理情報102から、書き換えフラグ124の値をページアドレスの先頭から順番に抽出し、一次元のデータ列とする(図23(A)参照)。そして、画面生成部202は、この一次元のデータ列を所定の個数ずつ(例えば100個ずつ)で折り返し、二次元座標を有するデータに変換する(図23(B))。そして、画面生成部202は、この二次元座標を有するデータについて、例えば、値が「0」のデータを「色無し」、値が「1」のデータを「色有り」とした画像を生成して、出力部3bに表示する(図23(C))。これにより、或る時点におけるメモリ内の書き換え状況をグラフィカルに表現することができる。以下、図22の説明に戻る。
 管理計算機2の画面生成部202は、データ転送に係る平均転送速度に基づいて、ライブマイグレーション処理の完了予想時間を算出する(S607)。
 管理計算機2の画面生成部202は、「完了予想時間>タイムアウト時間」であるか否かを判定する(S607)。
 「完了予想時間≦タイムアウト時間」の場合(S607:NO)、管理計算機2の画面生成部202は、そのままステップS609の処理に進む。「完了予想時間>タイムアウト時間」の場合(S607:YES)、管理計算機2の画面生成部202は、警告画面を生成し(S608)、ステップS609の処理に進む。
 ステップS609において、管理計算機2の画面生成部202は、進捗画面213又は統計画面214を生成して出力部3bに出力する(S609)。ここで、ステップS608において警告画面が生成された場合は、その警告画面を含めた画面を生成する。
 上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。例えば、クリーンページは、ダーティページ以外のページであることに代えて、ライブマイグレーション処理において移行されたデータであって移行後にその仮想計算機から更新されていないデータを記憶しているページであっても良い。この場合、ダーティページ以外のページとして、クリーンページの他に、他種のページ、例えばデータが格納されていないフリーページが管理されても良い。
 1‥計算機システム 2‥管理計算機 3‥入出力装置 4‥計算機 23‥ハイパバイザ 211‥選択画面 212‥設定画面 213‥進捗画面 214‥統計画面 215‥メモリマップ画面
 

 

Claims (15)

  1.  ハイパバイザにより少なくとも1つ以上の仮想計算機が稼動する複数の計算機と、
     前記複数の計算機を管理する管理計算機と、を備え、
     前記管理計算機は、
      操作者の操作入力を受ける入力部と、
      第1計算機上で第1仮想計算機を稼動した状態で、前記第1仮想計算機を前記第1計算機から第2計算機に移行するライブマイグレーションに関する進捗情報を前記第1計算機から取得し、その取得した前記進捗情報に基づき前記ライブマイグレーションに関する統計情報を生成し、前記統計情報を含む統計画面を生成する画面生成部と、
      前記統計画面を表示する出力部と、
    を備える仮想計算機システム。
     
  2.  前記ハイパバイザは、
      前記計算機が有する演算部及びメモリを論理的に分割した仮想演算部及び仮想メモリを、前記計算機で動作する仮想計算機に割り当て、
      前記メモリと前記仮想メモリとの対応関係を前記仮想計算機毎に管理するメモリ管理情報を有し、
      前記第1計算機のハイパバイザは、前記第1仮想計算機に割り当てられた前記第1計算機のメモリが有する情報を、前記第2計算機のメモリに転送する
    請求項1記載の仮想計算機システム。
     
  3.  前記計算機のメモリは、前記メモリを分割した領域に対応するメモリページを複数有し、
     前記メモリ管理情報は、前記メモリのメモリページと前記仮想メモリのメモリページとの対応関係及び前記メモリページの書き換えの有無を管理し、
     前記画面生成部は、前記管理計算機の出力部が前記統計画面としてメモリマップを表示する場合、
      前記第1計算機のハイパバイザから、前記第1仮想計算機のメモリ管理情報を取得し、
      前記取得した第1仮想計算機のメモリ管理情報を参照して、書き換えのあるメモリページと書き換えの無いメモリページとを異なる表示形式としたメモリマップ画面を生成し、
      前記メモリマップ画面を前記出力部に出力する
    請求項2記載の仮想計算機システム。
     
  4.  前記書き換えのあるメモリページは、前記メモリ管理情報においてメモリページ書き換え有りの書き換えフラグが付与されたダーティページであり、
     前記書き換えの無いメモリページは、前記メモリ管理情報においてメモリページ書き換え無しの書き換えフラグが付与されたクリーンページであり、
     前記画面生成部は、前記取得したメモリ管理情報における書き換えフラグを参照して、前記メモリページ毎の書き換えフラグに基づき、前記メモリマップ画面を生成する
    請求項3記載の仮想計算機システム。
     
  5.  前記メモリ管理情報は、前記ライブマイグレーションにおける前記メモリページの転送の可否を表す転送フラグを有する
    請求項4記載の仮想計算機システム。
     
  6.  前記第1計算機のハイパバイザは、
      前記ライブマイグレーションの実行状況に関する情報を前記仮想計算機毎に管理するステータス管理情報を更に有し、
     前記画面生成部は、
      前記第1計算機の前記ハイパバイザから各時点で前記ステータス管理情報を取得し、各時点で取得された前記ステータス管理情報を基に、前記ライブマイグレーション処理における所定種類の値の変化を表すグラフを有するグラフ画面を生成し、
     前記出力部が、前記グラフ画面を表示する、
     請求項4記載の仮想計算機システム。
     
  7.  前記ステータス管理情報は、前記ダーティページの合計量を有し、
     前記所定種類の値は、前記ダーティページの合計量である
     請求項6記載の仮想計算機システム。
     
  8.  前記ステータス管理情報は、前記第1計算機から前記第2計算機にマイグレーションが完了したメモリページの総量を有し、
     前記画面生成部は、各時点の前記メモリページの総量に基づいてメモリページの転送速度を算出し、
     前記所定種類の値は、前記メモリページの転送速度である
     請求項7に記載の仮想計算機システム。
     
  9.  前記第1計算機のハイパバイザは、所定のタイムアウト時間を経過すると、前記ライブマイグレーション処理を中止し、
     前記画面生成部は、
      前記ダーティページの合計量及び前記メモリページの転送速度の時間的変化から前記ライブマイグレーション処理が完了するまでの残り時間を算出し、当該残り時間が、所定のタイムアウト時間までの残り時間よりも長い場合に、前記ライブマイグレーション処理が完了しない旨を示す警告画面を生成し、
     前記出力部が、前記警告画面を表示する、
     請求項8記載の仮想計算機システム。
     
  10.  前記画面生成部は、前記ライブマイグレーション処理の中止の要求を受け付ける中止受付画面を生成し、
     前記出力部が、前記警告画面と共に前記中止受付画面を表示する、
     請求項9記載の仮想計算機システム。
     
  11.  前記画面生成部は、
      前記タイムアウト時間の延長の要求を受け付ける延長受付画面を生成し、
     前記出力部が、前記警告画面と共に前記延長受付画面を表示する、
     請求項10記載の仮想計算機システム。
     
  12.  前記第1計算機のハイパバイザは、前記ライブマイグレーション処理に関する設定情報を有し、当該設定情報に基づいて前記ライブマイグレーション処理を実行し、
     前記画面生成部は、前記設定情報に関するパラメタの入力を受け付けるパラメタ入力画面を生成し、当該パラメタ入力画面において入力されたパラメタを前記ハイパバイザの有する前記設定情報に反映させる
     請求項2記載の仮想計算機システム。
     
  13.  前記パラメタ入力画面は、前記ライブマイグレーション処理のタイムアウト時間の入力領域を有し、当該入力領域に入力された前記タイムアウト時間は、前記設定情報に反映され、
     前記第1計算機のハイパバイザは、前記設定情報に反映された前記タイムアウト時間が経過すると、前記ライブマイグレーション処理を中止する
     請求項12記載の仮想計算機システム。
     
  14.  ハイパバイザにより少なくとも1つ以上の仮想計算機が稼動する複数の計算機を管理する管理計算機であって、
     操作者の操作入力を受ける入力部と、
     第1計算機上で第1仮想計算機を稼動した状態で、前記第1仮想計算機を前記第1計算機から第2計算機に移行するライブマイグレーションに関する進捗情報を前記第1計算機から取得し、その取得した前記進捗情報に基づき前記ライブマイグレーションに関する統計情報を生成し、前記統計情報を含む統計画面を生成する画面生成部と、
     前記統計画面を表示する出力部と、
    を備える管理計算機。
     
  15.  ハイパバイザにより少なくとも1つ以上の仮想計算機が稼動する複数の計算機を管理する計算機管理方法であって、
     操作者の操作入力を受け、
     第1計算機上で第1仮想計算機を稼動した状態で、前記第1仮想計算機を前記第1計算機から第2計算機に移行するライブマイグレーションに関する進捗情報を前記第1計算機から取得し、
     その取得した前記進捗情報に基づき前記ライブマイグレーションに関する統計情報を生成し、
     前記統計情報を含む統計画面を生成し、
     前記統計画面を表示する、
    計算機管理方法。
     

     
PCT/JP2012/071140 2012-08-22 2012-08-22 仮想計算機システム、管理計算機及び仮想計算機管理方法 WO2014030221A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/408,693 US9384035B2 (en) 2012-08-22 2012-08-22 Virtual computer system, management computer, and virtual computer management method
JP2014531418A JP5980335B2 (ja) 2012-08-22 2012-08-22 仮想計算機システム、管理計算機及び仮想計算機管理方法
PCT/JP2012/071140 WO2014030221A1 (ja) 2012-08-22 2012-08-22 仮想計算機システム、管理計算機及び仮想計算機管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/071140 WO2014030221A1 (ja) 2012-08-22 2012-08-22 仮想計算機システム、管理計算機及び仮想計算機管理方法

Publications (1)

Publication Number Publication Date
WO2014030221A1 true WO2014030221A1 (ja) 2014-02-27

Family

ID=50149557

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/071140 WO2014030221A1 (ja) 2012-08-22 2012-08-22 仮想計算機システム、管理計算機及び仮想計算機管理方法

Country Status (3)

Country Link
US (1) US9384035B2 (ja)
JP (1) JP5980335B2 (ja)
WO (1) WO2014030221A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955399A (zh) * 2014-04-30 2014-07-30 华为技术有限公司 一种虚拟机迁移方法和装置及物理主机
JP2016184252A (ja) * 2015-03-26 2016-10-20 日本電気株式会社 ライブマイグレーション管理方法および装置
CN107111498A (zh) * 2014-11-12 2017-08-29 英特尔公司 利用图形虚拟化从/向主机计算机进行虚拟机的实时迁移
JP2018525706A (ja) * 2015-06-29 2018-09-06 アマゾン・テクノロジーズ、インコーポレイテッド 三角アプローチを用いた仮想マシンインスタンス
JP2020016934A (ja) * 2018-07-23 2020-01-30 富士通株式会社 ライブマイグレーション制御プログラム及びライブマイグレーション制御方法
JP7460594B2 (ja) 2021-12-13 2024-04-02 株式会社日立製作所 管理システム、データリバランス管理方法、及びデータリバランス管理プログラム

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013132741A1 (ja) * 2012-03-06 2013-09-12 パナソニック株式会社 マルチプロセッサシステム
US10241814B2 (en) * 2013-01-29 2019-03-26 Red Hat Israel, Ltd. Virtual machine memory migration by storage
US9882984B2 (en) * 2013-08-02 2018-01-30 International Business Machines Corporation Cache migration management in a virtualized distributed computing system
JP6248523B2 (ja) * 2013-10-07 2017-12-20 富士通株式会社 データ処理管理方法、情報処理装置およびデータ処理管理プログラム
JP6372074B2 (ja) * 2013-12-17 2018-08-15 富士通株式会社 情報処理システム,制御プログラム及び制御方法
US9509769B2 (en) * 2014-02-28 2016-11-29 Sap Se Reflecting data modification requests in an offline environment
US9442792B2 (en) 2014-06-23 2016-09-13 Vmware, Inc. Using stretched storage to optimize disaster recovery
US9489273B2 (en) * 2014-06-23 2016-11-08 Vmware, Inc. Using stretched storage to optimize disaster recovery
CN107924328B (zh) * 2015-09-25 2023-06-06 英特尔公司 选择虚拟机进行迁移的技术
US10037227B2 (en) * 2015-12-17 2018-07-31 Intel Corporation Systems, methods and devices for work placement on processor cores
WO2017101100A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Virtual machine batch live migration
US10042720B2 (en) 2016-02-22 2018-08-07 International Business Machines Corporation Live partition mobility with I/O migration
US10002018B2 (en) 2016-02-23 2018-06-19 International Business Machines Corporation Migrating single root I/O virtualization adapter configurations in a computing system
US10042723B2 (en) 2016-02-23 2018-08-07 International Business Machines Corporation Failover of a virtual function exposed by an SR-IOV adapter
US10025584B2 (en) 2016-02-29 2018-07-17 International Business Machines Corporation Firmware management of SR-IOV adapters
US9785451B1 (en) 2016-10-21 2017-10-10 International Business Machines Corporation Migrating MMIO from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US9720863B1 (en) 2016-10-21 2017-08-01 International Business Machines Corporation Migrating MMIO from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
US9715469B1 (en) 2016-10-21 2017-07-25 International Business Machines Corporation Migrating interrupts from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
US9760512B1 (en) * 2016-10-21 2017-09-12 International Business Machines Corporation Migrating DMA mappings from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
US9720862B1 (en) 2016-10-21 2017-08-01 International Business Machines Corporation Migrating interrupts from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US10540112B2 (en) * 2018-02-06 2020-01-21 Nutanix, Inc. System and method for migrating virtual machines with storage while in use
US10509567B2 (en) * 2018-02-06 2019-12-17 Nutanix, Inc. System and method for migrating storage while in use
US10509584B2 (en) * 2018-02-06 2019-12-17 Nutanix, Inc. System and method for using high performance storage with tunable durability
US11074099B2 (en) 2018-02-06 2021-07-27 Nutanix, Inc. System and method for storage during virtual machine migration
US10817333B2 (en) 2018-06-26 2020-10-27 Nutanix, Inc. Managing memory in devices that host virtual machines and have shared memory
US11809888B2 (en) 2019-04-29 2023-11-07 Red Hat, Inc. Virtual machine memory migration facilitated by persistent memory devices
US11243705B2 (en) * 2019-08-01 2022-02-08 EMC IP Holding Company LLC Method and system for policy class based data migration
US11537959B2 (en) * 2020-06-16 2022-12-27 Commvault Systems, Inc. Dynamic computing progress tracker
US11620156B2 (en) * 2020-12-04 2023-04-04 Red Hat, Inc. Live migration with guaranteed maximum migration downtimes
US20220382478A1 (en) * 2021-06-01 2022-12-01 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for page migration in memory systems
US11656933B2 (en) 2021-09-24 2023-05-23 International Business Machines Corporation System tuning across live partition migration

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS619533A (ja) 1984-06-22 1986-01-17 Showa Denko Kk 希土類金属の製造方法
JPS6311628A (ja) 1986-06-30 1988-01-19 Mitsubishi Chem Ind Ltd 希土類金属の製造法
JPH0790411A (ja) 1993-09-14 1995-04-04 Sumitomo Light Metal Ind Ltd 高純度希土類金属の製造方法
JPH0790410A (ja) 1993-09-14 1995-04-04 Sumitomo Light Metal Ind Ltd 低酸素希土類金属の製造方法
JPH0885833A (ja) 1994-09-16 1996-04-02 Shin Etsu Chem Co Ltd 希土類金属の精製方法
JP2009001866A (ja) 2007-06-21 2009-01-08 Nikko Kinzoku Kk エルビウムスパッタリングターゲット及びその製造方法
JP2010039685A (ja) * 2008-08-04 2010-02-18 Hitachi Ltd 複合型計算機及び複合型計算機の制御方法
WO2010087227A1 (ja) 2009-01-29 2010-08-05 日鉱金属株式会社 高純度エルビウムの製造方法及び高純度エルビウム並びに高純度エルビウムからなるスパッタリングターゲット及び高純度エルビウムを主成分とするメタルゲート膜
JP2011138184A (ja) * 2009-12-25 2011-07-14 Fujitsu Ltd 仮想マシン移動制御装置、仮想マシン移動制御方法および仮想マシン移動制御プログラム
JP2011232916A (ja) * 2010-04-27 2011-11-17 Hitachi Ltd 計算機システム及び管理計算機
JP2012088808A (ja) * 2010-10-15 2012-05-10 Fujitsu Ltd 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216182A (ja) 2000-01-31 2001-08-10 Hitachi Ltd メモリの使用状況表示装置
JP4894745B2 (ja) 2007-12-14 2012-03-14 富士通株式会社 仮想マシン移動制御方式
US20100017801A1 (en) * 2008-07-18 2010-01-21 Vmware, Inc. Profile based creation of virtual machines in a virtualization environment
JP5222651B2 (ja) 2008-07-30 2013-06-26 株式会社日立製作所 仮想計算機システムおよび仮想計算機システムの制御方法
JP5463267B2 (ja) 2010-11-19 2014-04-09 株式会社日立製作所 仮想計算機システムおよび仮想計算機の移行方法
JP5542788B2 (ja) 2011-12-13 2014-07-09 株式会社日立製作所 仮想計算機システムおよび仮想計算機の移行制御方法
JP5658197B2 (ja) 2012-06-04 2015-01-21 株式会社日立製作所 計算機システム、仮想化機構、及び計算機システムの制御方法
JP6051233B2 (ja) 2012-12-07 2016-12-27 株式会社日立製作所 計算機システム、管理計算機及び管理方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS619533A (ja) 1984-06-22 1986-01-17 Showa Denko Kk 希土類金属の製造方法
JPS6311628A (ja) 1986-06-30 1988-01-19 Mitsubishi Chem Ind Ltd 希土類金属の製造法
JPH0790411A (ja) 1993-09-14 1995-04-04 Sumitomo Light Metal Ind Ltd 高純度希土類金属の製造方法
JPH0790410A (ja) 1993-09-14 1995-04-04 Sumitomo Light Metal Ind Ltd 低酸素希土類金属の製造方法
JPH0885833A (ja) 1994-09-16 1996-04-02 Shin Etsu Chem Co Ltd 希土類金属の精製方法
JP2009001866A (ja) 2007-06-21 2009-01-08 Nikko Kinzoku Kk エルビウムスパッタリングターゲット及びその製造方法
JP2010039685A (ja) * 2008-08-04 2010-02-18 Hitachi Ltd 複合型計算機及び複合型計算機の制御方法
WO2010087227A1 (ja) 2009-01-29 2010-08-05 日鉱金属株式会社 高純度エルビウムの製造方法及び高純度エルビウム並びに高純度エルビウムからなるスパッタリングターゲット及び高純度エルビウムを主成分とするメタルゲート膜
JP2011138184A (ja) * 2009-12-25 2011-07-14 Fujitsu Ltd 仮想マシン移動制御装置、仮想マシン移動制御方法および仮想マシン移動制御プログラム
JP2011232916A (ja) * 2010-04-27 2011-11-17 Hitachi Ltd 計算機システム及び管理計算機
JP2012088808A (ja) * 2010-10-15 2012-05-10 Fujitsu Ltd 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955399A (zh) * 2014-04-30 2014-07-30 华为技术有限公司 一种虚拟机迁移方法和装置及物理主机
CN103955399B (zh) * 2014-04-30 2017-06-20 华为技术有限公司 一种虚拟机迁移方法和装置及物理主机
CN107111498A (zh) * 2014-11-12 2017-08-29 英特尔公司 利用图形虚拟化从/向主机计算机进行虚拟机的实时迁移
JP2018500646A (ja) * 2014-11-12 2018-01-11 インテル コーポレイション グラフィックス仮想化を用いたホストコンピュータからの/ホストコンピュータへの仮想マシンのライブマイグレーション
US10324748B2 (en) 2014-11-12 2019-06-18 Intel Corporation Augmented tracking of modified memory pages during live migration of virtual machines from/to host computers with graphics processors
JP2016184252A (ja) * 2015-03-26 2016-10-20 日本電気株式会社 ライブマイグレーション管理方法および装置
JP2018525706A (ja) * 2015-06-29 2018-09-06 アマゾン・テクノロジーズ、インコーポレイテッド 三角アプローチを用いた仮想マシンインスタンス
JP2020035465A (ja) * 2015-06-29 2020-03-05 アマゾン・テクノロジーズ、インコーポレイテッド 三角アプローチを用いた仮想マシンインスタンス
JP2020016934A (ja) * 2018-07-23 2020-01-30 富士通株式会社 ライブマイグレーション制御プログラム及びライブマイグレーション制御方法
JP7125601B2 (ja) 2018-07-23 2022-08-25 富士通株式会社 ライブマイグレーション制御プログラム及びライブマイグレーション制御方法
JP7460594B2 (ja) 2021-12-13 2024-04-02 株式会社日立製作所 管理システム、データリバランス管理方法、及びデータリバランス管理プログラム

Also Published As

Publication number Publication date
JP5980335B2 (ja) 2016-08-31
JPWO2014030221A1 (ja) 2016-07-28
US20150193250A1 (en) 2015-07-09
US9384035B2 (en) 2016-07-05

Similar Documents

Publication Publication Date Title
JP5980335B2 (ja) 仮想計算機システム、管理計算機及び仮想計算機管理方法
US10895947B2 (en) System-wide topology and performance monitoring GUI tool with per-partition views
US8650562B2 (en) Method and apparatus for scalable monitoring of virtual machine environments combining base virtual machine and single monitoring agent for measuring common characteristics and individual virtual machines measuring individualized characteristics
JP6224824B2 (ja) コンピュータリソースサービスの性能能力の決定及び監視
US9645815B2 (en) Dynamically recommending changes to an association between an operating system image and an update group
CN109062512A (zh) 一种分布式存储集群、数据读写方法、系统及相关装置
US10503558B2 (en) Adaptive resource management in distributed computing systems
US20140067886A1 (en) Information processing apparatus, method of outputting log, and recording medium
US8938593B2 (en) Tracking ownership of memory in a data processing system through use of a memory monitor
JP6279816B2 (ja) ストレージ監視システムおよびその監視方法
US8433877B2 (en) Storage scalability management
US9654560B2 (en) Management system and method
US9678851B2 (en) Continuous monitoring and analysis of software events
US20150242142A1 (en) Data transfer control device and method for controlling data transfer
JPWO2018173300A1 (ja) I/o制御方法およびi/o制御システム
US11204820B2 (en) Failure detection for central electronics complex group management
US20220300312A1 (en) Hybrid push and pull event source broker for serverless function scaling
US8799996B2 (en) Logical unit number management device, logical unit number management method, and program therefor
EP4109255A1 (en) Scheduling in a container orchestration system utilizing hardware topology hints
US11029850B2 (en) System of controlling data rebalance and its method
US20140281210A1 (en) Dynamic storage device libraries
WO2019036101A1 (en) CORRELATION OF FUNCTION CALLS WITH FUNCTIONS IN ASYNCHRONOUSLY EXECUTED SONES

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: 12877089

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014531418

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14408693

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: 12877089

Country of ref document: EP

Kind code of ref document: A1