WO2015193947A1 - 物理計算機及び仮想計算機移行方法 - Google Patents

物理計算機及び仮想計算機移行方法 Download PDF

Info

Publication number
WO2015193947A1
WO2015193947A1 PCT/JP2014/065907 JP2014065907W WO2015193947A1 WO 2015193947 A1 WO2015193947 A1 WO 2015193947A1 JP 2014065907 W JP2014065907 W JP 2014065907W WO 2015193947 A1 WO2015193947 A1 WO 2015193947A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
numa
physical
access
cpu
Prior art date
Application number
PCT/JP2014/065907
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 PCT/JP2014/065907 priority Critical patent/WO2015193947A1/ja
Publication of WO2015193947A1 publication Critical patent/WO2015193947A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Definitions

  • the present invention generally relates to migration of virtual machines from a first physical computer to a second physical computer.
  • a physical mechanism (multiple types of physical resource elements) of a physical computer is logically divided into a plurality of physical resource portions by a virtualization mechanism such as a hypervisor, and the plurality of physical resource portions are divided into a plurality of virtual computers (hereinafter, “ A technique of assigning to each LPAR (referred to as Logical Partition) and operating an OS (Operating System) on each LPAR is known.
  • Examples of the plurality of types of physical resource elements include one or more physical CPUs (Central Processing Units), one or more physical memories, and one or more IO (input / output) devices.
  • the physical resource part may include at least one of a physical CPU and a physical memory, for example.
  • a physical computer with a NUMA (Non-Uniform Memory Access) configuration is known.
  • the NUMA configuration means that the access cost to the memory in the same node (the node having the target CPU) when viewed from a certain CPU (“target CPU” in this paragraph) is a different node (a node different from the node having the target CPU).
  • a “node” refers to a set of one or more CPUs and one or more memories. Memory in the same node is called “local memory”, and memory in another node is called “remote memory”. Access to local memory is faster than access to remote memory.
  • Patent Document 1 JP 2012-521611 A discloses that in a computer system in which a physical resource portion is dynamically allocated to an LPAR, a physical resource portion is considered in consideration of a NUMA node (a node in a physical computer having a NUMA configuration). Dynamically assigned to LPAR.
  • the NUMA configuration differs between the active physical computer and the standby physical computer even if the physical resource configuration (for example, the number of CPUs and the memory capacity) is the same.
  • the physical resource configuration for example, the number of CPUs and the memory capacity
  • the NUMA configuration of the server blade is different from the NUMA configuration of the standby server blade. For this reason, there is a risk of LPAR migration failure or unexpected performance degradation after LPAR migration.
  • the first physical computer includes a plurality of first CPUs associated with a plurality of NUMA nodes, a plurality of first memories associated with a plurality of NUMA nodes, a plurality of first CPUs, and a plurality of first memories. And a first virtualization mechanism to be assigned.
  • the second physical computer manages a plurality of second CPUs associated with a plurality of NUMA nodes, a plurality of second memories associated with a plurality of NUMA nodes, a plurality of second CPUs, and a plurality of second memories. And a virtualization mechanism.
  • the NUMA configuration information (the first virtual machine, the first CPU, and the first virtual machine) is information about the first virtual machine that is the migration target of the plurality of virtual machines and is migrated from the first physical machine to the second physical machine.
  • Node access value which is a value related to access from the first CPU assigned to the first virtual machine to the physical memory assigned to the first virtual machine, based on the information representing the correspondence between one memory and the NUMA node) Is identified.
  • the second virtualization mechanism allocates the second CPU and the second memory to the first virtual machine based on the identified node access value.
  • FIG. 1 shows a configuration of a computer system according to an embodiment.
  • the logical configuration of the active server blade and the configuration of the first management data are shown.
  • An example of the flow of LPAR migration processing is shown.
  • An example of the LPAR configuration table of the active server blade is shown.
  • An example of the NUMA configuration table of the active server blade is shown.
  • An example (before LPAR migration) of a NUMA configuration table of a standby server blade is shown.
  • An example (after LPAR migration) of a NUMA configuration table of a standby server blade is shown. Details of step 345 of FIG. 3 are shown.
  • FIG. 9 shows part of the details of step 803 in FIG. The remaining details of step 803 of FIG. 8 are shown.
  • An example of an R nm table is shown.
  • the physical configuration of the server blade is shown.
  • FIG. 1 shows a configuration of a computer system according to the embodiment.
  • the computer system includes an active server chassis 110, a standby server chassis 120, a PC 102, a management server 100, and a plurality (for example, three) IO (input / output) devices 116 to 118. There may be one IO device.
  • An active server chassis 110, a standby server chassis 120, a PC 102 and a management server 100 are connected to the communication network 101.
  • the active server chassis 110 may be an example of a first computer subsystem, and has a plurality of (for example, three) active server blades 113, 114, and 115. There may be one active server blade.
  • One active server blade is an example of a first physical computer.
  • the active server chassis 110 includes an SVP (Service Processor) 111 that holds first management data referred to by a plurality of active server blades 113, 114, and 115.
  • the SVP 111 may be a computer having a storage device (for example, a nonvolatile storage device) 112 that stores the first management data.
  • the SVP 111 manages the active server blades 113, 114 and 115.
  • the spare server chassis 120 may be an example of a second computer subsystem, and its configuration is substantially the same as that of the chassis 110.
  • the standby server chassis 120 includes a plurality of (for example, two) standby server blades 124 and 125. There may be one spare server blade.
  • One spare server blade is an example of a second physical computer.
  • the two standby server blades 124 and 125 are shared by the three active server blades 113, 114, and 115. Although it is desirable that the number of spare server blades is smaller than the number of active server blades, the number of spare server blades may be the same as or more than the number of active server blades.
  • the standby server blade becomes the LPAR migration destination of the active server blade.
  • the standby server chassis 120 includes an SVP 121 that holds second management data referred to by the plurality of standby server blades 124 and 125.
  • the SVP 121 may be a computer having a storage device (for example, a nonvolatile storage device) 122 that stores the second management data.
  • the SVP 121 manages the standby server blades 124 and 125.
  • PC102 is an abbreviation for personal computer and is an example of an input / output console.
  • the PC 102 may be a client machine of the management server 100, for example. Instead of the PC 102, other types of computers may be employed.
  • the PC 102 is used by a user to confirm the state of the server blade and to give an instruction to the server blade.
  • the management server 100 is an example of a management computer, and manages the server blades 113 to 115, 124, and 125 in the plurality of server chassis 110 and 120.
  • Each of the IO devices 116 to 118 is a storage apparatus having one or more nonvolatile storage devices, for example.
  • Each of the IO devices 116 to 118 stores a plurality of OSs (guest OSs) respectively executed by a plurality of LPARs executed by the server blade. There may be one LPAR, and therefore one guest OS.
  • Each of the IO devices 116 to 118 is, for example, communicably connected to at least one of the active server blades 113 to 115 and at least one of the standby server blades 124 and 125.
  • FIG. 12 shows the physical configuration of the server blade 114.
  • the server blade 114 has physical resources.
  • the physical resources include one or more I / Fs (communication interface devices) 1202, one or more physical memories 1203, and one or more physical CPUs 1201 connected thereto. including.
  • I / F 1202, the physical memory 1203, and the physical CPU 1201 is an example of a physical resource element.
  • Each physical resource of the other server blade also includes one or more I / Fs, one or more physical memories, and one or more physical CPUs connected thereto.
  • the configuration of physical resources may be different.
  • the same physical CPU (the same product) is mounted on the plurality of server blades 113 to 115, 124, and 125, and the same physical memory (the same product) is mounted in order to make the explanation easy to understand. It is assumed that That is, at least for the physical CPU and the physical memory, the difference in number corresponds to the difference in configuration.
  • the one or more I / Fs 1202 may include an I / F that communicates with the SVP 111, an I / F that communicates with the management server 100, and an I / F that communicates with at least one of the IO devices 116 to 118.
  • the hypervisor 204 is an example of a virtualization mechanism.
  • the hypervisor 204 is executed by at least one of the one or more physical CPUs 1201 to logically divide the physical resource into a plurality of physical resource portions, and each of the plurality of physical resource portions (for example, three). LPARs 211 to 213 can be assigned.
  • the physical resource portion includes, for example, at least one physical CPU and at least one physical memory.
  • FIG. 2 shows the logical configuration of the active server blade 114 and the configuration of the first management data.
  • the first management data includes a plurality of server data respectively corresponding to the plurality of active server blades 113 to 115.
  • Each server data includes LPAR configuration data representing the LPAR configuration of the server blade corresponding to the server data, and NUMA configuration data representing the NUMA configuration of the server blade corresponding to the server data.
  • the server data 201 corresponds to the active server blade 114. Therefore, the LPAR configuration data 202 and the NUMA configuration data 203 in the server data 201 correspond to the active server blade 114.
  • the hypervisor 204 has an SVP-I / F unit 208, an LPAR configuration table 205, a NUMA configuration table 206, and a configuration management unit 207.
  • the SVP-I / F unit 208 controls an interface with the SVP 111.
  • the configuration management unit 207 manages the configurations of the LPARs 211 to 213 and physical resources, logically divides the physical resources into a plurality of physical resource parts, and assigns the plurality of physical resource parts to the plurality of LPARs 211 to 213, respectively,
  • the LPAR configuration table 205 and the NUMA configuration table 206 are stored on the memory.
  • These tables 205 and 206 are output to the storage device 112 of the SVP 111 via the SVP-IF unit 208.
  • LPAR configuration data 202 and NUMA configuration data 203 in the server data 201 are output results of the LPAR configuration table 205 and the NUMA configuration table 206, respectively.
  • Each output of the LPAR configuration table 205 and the NUMA configuration table 206 may be performed each time the tables are updated, or may be performed periodically.
  • the LPARs 211 to 213 have logical NUMA configurations 214 to 216, respectively. This is because the physical resource portion allocated to each of the LPARs 211 to 213 is a portion divided from the physical resource for which the NUMA configuration is defined.
  • the LPAR has logical resources (logical CPU, logical memory, etc.) based on the physical resource portion.
  • the LPAR 211 executes an OS corresponding to the LPAR 211 among a plurality of OSs stored in the IO device 116 corresponding to the active server blade 114.
  • FIG. 3 shows an example of the flow of LPAR migration processing. Assume that both the standby server blades 124 and 125 are powered off.
  • the SVP 111 detects a failure in the active server blade 114 (step 310) and notifies the management server 100 of the failure in the active server blade 114 (step 310). Step 311).
  • LPAR migration is performed due to a failure of the active server blade 114, all the LPARs 211 to 213 executed on the active server blade 114 are migration targets.
  • the management server 100 When the management server 100 is notified of the failure of the active server blade 114, the management server 100 transmits a switching request (LPAR migration request) to the SVP 111 (step 320).
  • a switching request LPAR migration request
  • the SVP 111 Upon receiving the switch request, the SVP 111 acquires server data 201 corresponding to the active server blade 114 (failed server), and transmits the server data 201 to the SVP 121 in the standby server chassis 120 (step 312). The SVP 111 shuts off the power source of the active server blade 114 (step 313).
  • the SVP 121 receives the server data 201 (step 330), and stores the server data 201 in the storage device 122 (step 331).
  • the SVP 121 powers on one of the spare server blades 124 and 125 (step 332).
  • Step 341 When the standby server blade 124 is powered on, the hypervisor is loaded in the standby server blade 124 (step 341), and the hypervisor is activated (step 342).
  • the hypervisor specifies the physical configuration of the standby server blade 124 (step 343).
  • Step 343 may refer to a table shown in FIG.
  • the hypervisor (for example, the configuration management unit) acquires server data 201 corresponding to the active server blade 114 (failed server) from the SVP 121 (step 344).
  • the hypervisor (for example, the configuration management unit) performs resource allocation control based on the physical configuration specified in step 343 and the server data 201 acquired in step 344 (step 345). Details of the resource allocation control are shown in FIGS.
  • the hypervisor (for example, the configuration management unit) activates the LPAR to which the physical resource portion is allocated in Step 345 (Step 346).
  • FIG. 4 shows an example of the LPAR configuration table 205 of the active server blade 114.
  • the LPAR configuration tables of other server blades both active and standby have the same configuration.
  • Each LPAR in the active server blade 114 has a record, and the record has an LPAR number 400, a CPU configuration 410, a node coefficient 413, a memory configuration 420, and a processing type 430.
  • the LPAR number 400 represents the number of the target LPAR.
  • the node coefficient 413 is an example of a node access value, and is a numerical value related to memory access (for example, access performance) of a physical CPU belonging to a target node among physical CPUs assigned to the target LPAR. In the description of the present embodiment, the numerical value is referred to as “node coefficient” for convenience. The smaller the node coefficient 413, the higher the memory access performance.
  • the “node” is an object defined by the server blade (in this case, the active server blade 114), and is a set of a physical CPU and a physical memory.
  • the CPU configuration 410 includes a node number 411 and a number 412.
  • the node number 411 represents the number of the node to which the physical CPU assigned to the target LPAR belongs
  • the number 412 represents the number of physical CPUs belonging to the node. That is, the CPU configuration 410 represents how many physical CPUs belonging to which node are allocated to the target LPAR.
  • the memory configuration 420 includes a node number 421 and a number 422.
  • the node number 421 represents the number of the node to which the physical memory allocated to the target LPAR belongs, and the number 422 represents the number of physical memory belonging to the node. In other words, the memory configuration 420 represents how many physical memories belonging to which node are allocated to the target LPAR.
  • the logical NUMA configuration of the target LPAR is a configuration according to the combination of the CPU configuration 410 and the memory configuration 420 of the target LPAR, that is, how many physical CPUs belonging to which node are assigned to the target LPAR, and how many belong to which node. Of physical memory may be allocated.
  • the processing type 430 is an example of a migration policy, and represents the type of processing of the target LPAR at the standby server blade that is the migration destination.
  • “Strict” is a type in which the migration of the target LPAR is stopped if the same logical NUMA configuration as that in the active server blade cannot be realized in the standby server blade.
  • “Mid” is a type for constructing a logical NUMA configuration in which the node coefficient for each node of the target LPAR is equal to or less than the node coefficient in the active server blade in the standby server blade. In other words, “mid” does not need to realize the same logical NUMA configuration as that of the active server blade in the standby server blade, but it has the same performance as that of the active server blade.
  • “Loose” is a type that can migrate the target LPAR without depending on the logical NUMA configuration in the active server blade. Therefore, the logical NUMA configuration of the target LPAR in the standby server blade may be the same as or different from the logical NUMA configuration in the active server blade. May be less than or equal to the node coefficient in the active server blade.
  • the node coefficient 413 for each node is as follows if one node is taken as an example (hereinafter referred to as “target node” in this paragraph). That is, the node coefficient of the target node for the target LPAR is a numerical value related to the access from the physical CPU belonging to the target node to the physical memory belonging to the access destination node (target node or another node), and all physical CPUs belonging to the target node. It is calculated by the hypervisor based on the number of combinations (number of access patterns) with all the physical memories belonging to the destination node (may be calculated by another module such as a management server or SVP).
  • the “numerical value related to access to physical memory” may be a numerical value based on at least one of the performance and occurrence rate of access to physical memory.
  • Node coefficient K n for physical CPU node of interest can be calculated for example by the "number 1" below.
  • n is a CPU node number (node number to which a physical CPU belongs).
  • m is the memory node number (the number of the node to which the physical memory belongs).
  • R nm is a numerical value related to the performance of access from the physical CPU in the target node to the physical memory in the access destination node, specifically, a numerical value specified from the R nm table 1100 illustrated in FIG.
  • the R nm table 1100 is held in the hypervisor 204, for example.
  • the R nm table 1100 if the target node and the access destination node are the same node, the access performance is high, and if the target node and the access destination node are different, the access performance is low (access speed is slow). Even if the target node and the access destination node are different, the access performance is higher as the target node is closer to the access destination node.
  • the nodes # 0 and # 3 are farthest apart, and the nodes # 0 to # 3 are arranged in series like the node # 0-node # 1-node # 2-node # 3 And Note that the distance and arrangement between nodes may be logical.
  • C nm is the number of combinations of the physical CPU in the target node and the physical memory in the access destination node for the target LPAR, specifically, the number of physical CPUs in the target node for the target LPAR and the access destination for the target LPAR It is the product of the number of physical memories in the node.
  • the node coefficient K 0 is as follows.
  • one physical CPU and one physical memory of the node # 0 are allocated to the LPAR # 1, and one physical CPU of the node # 1 and one physical CPU are allocated.
  • a physical memory is allocated, and neither a physical CPU nor a physical memory is allocated to any of the nodes # 2 and # 3.
  • the LPAR configuration table 205 in the active server blade 114 may be defined in advance by a user (for example, an administrator).
  • the LPAR configuration table corresponding to the spare server blade is generated by the hypervisor in the spare server blade by step 345 in FIG. 3 (the processing of FIGS. 8 to 10).
  • FIG. 5 shows an example of the NUMA configuration table 206 of the active server blade 114.
  • the NUMA configuration tables of other server blades (both active and standby) have the same configuration.
  • the number of records (the number of nodes (NUMA nodes) defined in the server blade) and the number of sub-records in one record (the number of physical CPUs belonging to one node and one node)
  • the number of physical memories to which they belong may vary depending on the server blade.
  • Each node in the active server blade 114 has a record, and the record has a node number 500, a CPU configuration 510, and a memory configuration 520.
  • the record has a node number 500, a CPU configuration 510, and a memory configuration 520.
  • target node taking one node as an example (referred to as “target node” in the description of FIG. 5), these items will be described.
  • Node number 500 represents the number of the target node.
  • the CPU configuration 510 includes a CPU number 511 and an LPAR number 512.
  • the CPU number 511 represents the number of the physical CPU belonging to the target node
  • the LPAR number 512 represents the number of the LPAR to which the physical CPU is assigned.
  • the memory configuration 520 includes a memory number 521 and an LPAR number 522.
  • the memory number 521 represents the number of the physical memory belonging to the target node
  • the LPAR number 522 represents the number of the LPAR to which the physical memory is allocated.
  • the access from the physical CPU in the target node to the physical memory in the access destination node is faster if the target node and the access destination node are the same node, and if the target node and the access destination node are different from each other. slow.
  • step 345 in FIG. 3 will be described in detail with reference to FIGS.
  • the server data 201 of the active server blade 114 is transmitted from the SVP 111 to the SVP 121.
  • the server data 201 is received by the SVP 121.
  • the server data 201 is converted into the SVP 121.
  • the LPAR configuration data 202 and the NUMA configuration data 203 in the server data 201 are transferred to the migration destination standby server as the migration source LPAR configuration table and the migration source NUMA configuration table.
  • the hypervisor of the blade 124 hereinafter referred to as a migration destination hypervisor
  • the NUMA configuration of the active server blade (migration source server blade) 114 may be taken over to the migration destination hypervisor by a method other than the method described above.
  • the NUMA configuration table of the migration destination standby server blade 124 is, for example, the NUMA configuration table 606 shown in FIG.
  • the configuration of the NUMA configuration table 606 is the same as the NUMA configuration table 206 of FIG. That is, the items 600, 610, 620, 611, 612, 621, and 622 are the same as the items 500, 510, 520, 511, 512, 521, and 522, respectively.
  • the NUMA configuration of the standby server blade 124 and the NUMA configuration of the migration source active server blade 114 may be the same, but differ according to the examples of FIGS.
  • the NUMA configuration table 606 in FIG. 6 is a table before the start of step 345. Therefore, although the NUMA configuration (corresponding relationship between the node, the physical CPU, and the physical memory) is expressed, the physical resource element (physical CPU) And the number of the LPAR to which the physical memory is allocated is not registered.
  • the migration destination hypervisor identifies the migration target LPARs # 1 to # 3 based on the migration source LPAR configuration table, and performs allocation control (preliminary) for each of the identified LPARs # 1 to # 3.
  • the process of assigning the physical resource portion of the system server blade 124 to the LPAR) is performed (step 803). Step 803 is performed first for the LPAR of the processing type “strict”, then for the LPAR of the processing type “mid”, and finally for the LPAR of the processing type “loose”.
  • Step 803 is performed for the “strict” LPAR first is that, if Step 803 is performed for the LPAR of another processing type first, the same logical NUMA configuration as that of the migration source server blade is set. This is because the possibility of realization becomes low.
  • step 803 is finally performed for the “loose” LPAR is that the conditions for the logical NUMA configuration of the LPAR are the loosest among all the processing types. Therefore, according to the example of FIG. 4, step 803 is performed in the order of LPAR # 1 ⁇ LPAR # 2 ⁇ LPAR # 3.
  • Step 803 is performed by the migration destination hypervisor (in particular, the configuration management unit, for example).
  • the migration destination hypervisor specifies the logical NUMA configuration of LPAR # 1 from the migration source LPAR configuration table, and assigns the same logical NUMA configuration as that logical NUMA configuration to LPAR # 1 in the standby server blade 124. Whether or not it is possible is determined based on the NUMA configuration table 606 (step 900). If this determination result is affirmative, the same logical NUMA configuration is assigned to LPAR # 1 (step 911), but according to the example of FIGS. 4 and 6, the determination result of step 900 is negative. . This is because the physical memory of node # 0 is allocated to LPAR # 1 at the migration source, but according to the NUMA configuration table 606, there is no physical memory belonging to node # 0.
  • step 900: No If the determination result in step 900 is negative (step 900: No), the migration destination hypervisor stops the migration for LPAR # 1 because the processing type of LPAR # 1 is “strict” (step 902: Yes) The failure is reported to the management server 100 (step 903). The report may be sent to the SVP 121 and sent from the SVP 121 to the management server 100. Also, since the allocation has failed, the NUMA configuration table 606 is not updated.
  • the migration destination hypervisor specifies the logical NUMA configuration of LPAR # 2 from the migration source LPAR configuration table, and assigns the same logical NUMA configuration as that logical NUMA configuration to LPAR # 1 in the standby server blade 124 Whether or not it is possible is determined based on the NUMA configuration table 606 (step 900). According to the example of FIGS. 4 and 6, this determination result is also negative for the same reason as LPAR # 1.
  • step 900 If the determination result in step 900 is negative (step 900: No), the migration destination hypervisor is “mid” as the processing type of LPAR # 2 (step 902: No and step 904: Yes), FIG. Step 910 and subsequent steps are performed.
  • the migration destination hypervisor sets n (CPU node number) “0” (step 910), and identifies the node coefficient “9.2” corresponding to the node # 0 of LPAR # 2 from the migration source LPAR configuration table. (Step 911).
  • the node coefficient specified in step 911 is a threshold node coefficient.
  • the migration destination hypervisor determines whether or not an allocation that gives a node coefficient equal to or less than the threshold node coefficient “9.2” is possible for the node # 0 of LPAR # 2 in the standby server blade 124 (step 912). .
  • the migration destination hypervisor performs the following processing: (A) The same number “2” physical CPUs as the migration source from the same node number “0” as the migration source are assigned candidates. (B) A node closest to the node having the node number of (A) and having a physical memory and all physical memories of the node that have not yet been assigned to LPAR are assigned candidates. (C) Based on the number of physical CPUs and CPU node numbers in (A), the number of physical memories and memory node numbers in (B), and the R nm table in FIG. Calculating the node coefficients in (A) and (B); (D) It is determined whether or not the node coefficient calculated in (C) is equal to or less than a threshold node coefficient.
  • the migration destination hypervisor makes the two physical CPUs of the node # 1 and the four physical memories of the node # 2 as allocation candidates, thereby the node coefficient “8.8”. Is calculated. Since the calculated node coefficient “8.8” is equal to or less than the threshold node coefficient “9.2”, the two physical CPUs of the node # 1 and the four physical memories of the node # 2 are determined as allocation targets. . In this way, the configuration of the migration destination is achieved by a simple processing step of sequentially selecting the physical CPU and physical memory from the node closest to the target node (the node having the node number closest to the node number of the target node). It can be expected to reduce the processing time required for the determination.
  • the migration destination hypervisor allocates the determined allocation target to LPAR # 2, and sets LPAR number “2” as the allocation destination of the two physical CPUs of node # 1 and the four physical memories of node # 2. Registration is made in the NUMA configuration table 606 (registration of numerical values represented by reference numerals 730 and 740 in FIG. 7) (step 913).
  • Step n 911 is performed for n (node # 1) after the update.
  • the allocation candidate (the remaining two physical CPUs of node # 1 and node # 2 so that the calculated node coefficient is equal to or less than the threshold node coefficient “8.8”) And the calculated node coefficient is “8.8”), and the candidate is assigned to LPAR # 2 as an assignment target (the registration of the numerical value represented by reference numeral 731 in FIG. 7).
  • step 912 determines that this is the case for LPAR # 2. 9 is canceled (the numerical values (registered numerical values) represented by reference numerals 730 and 740 in FIG. 7 are deleted), and step 905 in FIG. 9 is executed. In step 905, the migration destination hypervisor allocates at least one physical CPU and at least one physical memory to LPAR # 2.
  • the migration of the LPAR of the processing type “mid” even if the logical NUMA configuration same as the logical NUMA configuration at the migration source cannot be adopted at the migration destination, the access performance equivalent to the access performance at the migration source is obtained.
  • a logical NUMA configuration that can be realized at the migration destination is specified and assigned to the migration target LPAR at the migration destination. As a result, it is possible to operate the LPAR with the same performance as that before the transition, and it can be expected to prevent an unexpected performance degradation.
  • the migration destination hypervisor specifies the logical NUMA configuration of LPAR # 3 from the migration source LPAR configuration table, and assigns the same logical NUMA configuration as that logical NUMA configuration to LPAR # 3 in the standby server blade 124. Whether or not it is possible is determined based on the NUMA configuration table 606 (step 900). According to the examples of FIGS. 4, 6, and 7, this determination result is negative. This is because the physical memory of node # 2 is allocated to LPAR # 3 at the migration source, but according to the NUMA configuration table 606 of FIG. 7, all the physical memories belonging to node # 2 have already been allocated to LPAR # 2. This is because node # 2 has no physical memory that can be allocated.
  • step 900 If the determination result in step 900 is negative (step 900: No), the migration destination hypervisor is “loose” as the processing type of LPAR # 3 (step 902: No and step 904: No). Execute. In step 905, the migration destination hypervisor allocates at least one physical CPU and at least one physical memory to LPAR # 3. As a result, for example, as shown in FIG. 7, two physical CPUs of node # 0 and two physical memories of node # 3 are allocated to LPAR # 3 (see reference numerals 742 and 741 in FIG. 7).
  • the migration destination hypervisor generates and holds the LPAR configuration table in the standby server blade 124 based on the migration source LPAR configuration table and the NUMA configuration table 606 after performing step 803 for all LPARs.
  • the migration destination hypervisor can activate the LPAR to which the logical NUMA configuration is assigned.
  • the processing types may be more or less than the three types of strict, mid, and loose.
  • the number of nodes is the same (all four nodes) in the migration source server blade and the migration destination server blade, but the number of nodes may be different.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)

Abstract

 第1物理計算機は、複数の第1CPUと、複数の第1メモリと、それらを複数の仮想計算機へ割り当てる第1仮想化機構とを有する。第2物理計算機は、複数の第2CPUと、複数の第2メモリと、それらを管理する第2仮想化機構とを有する。第2仮想化機構が、第1物理計算機から第2物理計算機に移行される第1仮想計算機について、NUMA構成情報(第1仮想計算機と第1CPUと第1メモリとNUMAノードとの対応関係を表す情報)を基に、第1仮想計算機に割り当てられている第1CPUから前記第1仮想計算機に割り当てられている物理メモリへのアクセスに関する値であるノードアクセス値を、第1仮想計算機に割り当てられている物理CPUが属する各NUMAノードについて特定し、特定したノードアクセス値を基に、第1仮想計算機に第2CPU及び第2メモリを割り当てる。

Description

物理計算機及び仮想計算機移行方法
 本発明は、概して、第1物理計算機から第2物理計算機への仮想計算機の移行に関する。
 ハイパバイザのような仮想化機構により物理計算機の物理リソース(複数タイプの複数の物理リソースエレメント)を論理的に複数の物理リソース部分に分割し、複数の物理リソース部分を複数の仮想計算機(以下、「LPAR」(Logical Partition)と言う)にそれぞれ割り当て、各LPAR上でOS(Operating System)を動作させる技術が知られている。複数タイプの複数の物理リソースエレメントとしては、例えば、1以上の物理CPU(Central Processing Unit)、1以上の物理メモリ、及び、1以上のIO(入出力)デバイスなどがある。物理リソース部分は、例えば、物理CPU及び物理メモリのうちの少なくとも一方を含んでよい。
 NUMA(Non-Uniform Memory Access)構成の物理計算機が知られている。NUMA構成とは、あるCPU(この段落において「対象CPU」)から見て同じノード(対象CPUを有するノード)内のメモリへのアクセスコストが、別ノード(対象CPUを有するノードと別のノード)内のメモリへのアクセスコストと比べて小さくなるような計算機構成を言う。「ノード」とは、1以上のCPUと1以上のメモリとの1つの組を言う。同じノード内のメモリを「ローカルメモリ」と呼び、別ノード内のメモリを「リモートメモリ」と呼ぶ。ローカルメモリへのアクセスはリモートメモリへのアクセスに比べて高速である。
 したがって、物理計算機の物理リソース部分(例えばCPU及びメモリ)をLPARに割り当てる場合には、各LPARに対して、同じノードに属する物理リソース部分を割り当てることが望ましい。しかしながら、物理計算機の物理リソースには制限があるため、そのような割り当てが可能とは限らない。特表2012-521611号公報(特許文献1)には、物理リソース部分がLPARに動的に割り当てられる計算機システムにおいて、NUMAノード(NUMA構成の物理計算機内のノード)を考慮して物理リソース部分がLPARに動的に割り当てられる。
 一方、LPARに物理リソース部分を固定的に割り当てる計算機システムがある。このような計算機システムでは、複数のNUMAノードに跨る物理リソース部分を1つのLPARにやむを得ず割り当てることがあり得る。
 また、現用系の物理計算機で障害が起きた等の原因により、LPARを現用系の物理計算機から予備系の物理計算機に移行して計算機システムを稼働させる技術がある。
特表2012-521611号公報
 物理リソース部分をLPARに固定的に割り当てる計算機システムにおいて、現用系の物理計算機と予備系の物理計算機において、物理リソース構成(例えばCPUの数及びメモリの容量)が同じであってもNUMA構成が異なる場合がある。例えば、NUMA構成の異なる複数の現用系サーバブレード(サーバブレードは物理計算機の一例)で1つの予備系サーバブレードを共有する場合、現用系サーバブレードと予備系サーバブレードとで、少なくとも1つの現用系サーバブレードのNUMA構成と予備系サーバブレードのNUMA構成が異なる。このため、LPARの移行の失敗、或いは、LPAR移行後に予期せぬ性能低下が生じるおそれがある。
 第1物理計算機と第2物理計算機がある。第1物理計算機は、複数のNUMAノードに対応付けられる複数の第1CPUと、複数のNUMAノードに対応付けられる複数の第1メモリと、複数の第1CPU及び複数の第1メモリを複数の仮想計算機へ割り当てる第1仮想化機構とを有する。第2物理計算機は、複数のNUMAノードに対応付けられる複数の第2CPUと、複数のNUMAノードに対応付けられる複数の第2メモリと、複数の第2CPU及び複数の第2メモリを管理する第2仮想化機構とを有する。第2仮想化機構が、複数の仮想計算機のうちの移行対象であり第1物理計算機から第2物理計算機に移行される第1仮想計算機について、NUMA構成情報(第1仮想計算機と第1CPUと第1メモリとNUMAノードとの対応関係を表す情報)を基に、第1仮想計算機に割り当てられている第1CPUから第1仮想計算機に割り当てられている物理メモリへのアクセスに関する値であるノードアクセス値を特定する。第2仮想化機構は、特定したノードアクセス値を基に、第1仮想計算機に第2CPU及び第2メモリを割り当てる。
 物理計算機間で第1仮想計算機を移行した後に、予期しない性能低下の発生を防ぐことが期待できる。
実施形態に係る計算機システムの構成を示す。 現用系サーバブレードの論理構成と第1管理データの構成とを示す。 LPAR移行処理の流れの一例を示す。 現用系サーバブレードのLPAR構成テーブルの一例を示す。 現用系サーバブレードのNUMA構成テーブルの一例を示す。 予備系サーバブレードのNUMA構成テーブルの一例(LPAR移行前)を示す。 予備系サーバブレードのNUMA構成テーブルの一例(LPAR移行後)を示す。 図3のステップ345の詳細を示す 図8のステップ803の詳細の一部を示す。 図8のステップ803の詳細の残りを示す。 nmテーブルの一例を示す。 サーバブレードの物理構成を示す。
 以下、図面を参照して、一実施形態を説明する。
 図1は、実施形態に係る計算機システムの構成を示す。
 計算機システムが、現用系サーバシャーシ110と、予備系サーバシャーシ120と、PC102と、管理サーバ100と、複数(例えば3台)のIO(入出力)デバイス116~118とを有する。IOデバイスは1つでもよい。通信ネットワーク101に、現用系サーバシャーシ110、予備系サーバシャーシ120、PC102及び管理サーバ100が接続されている。
 現用系サーバシャーシ110は、第1計算機サブシステムの一例でよく、複数(例えば3台)の現用系サーバブレード113、114及び115を有する。現用系サーバブレードは1つでもよい。1つの現用系サーバブレードは、第1物理計算機の一例である。また、現用系サーバシャーシ110は、複数の現用系サーバブレード113、114及び115により参照される第1管理データを保持するSVP(Service Processor)111を有する。SVP111は、第1管理データを記憶する記憶デバイス(例えば不揮発記憶デバイス)112を有した計算機でよい。SVP111は、現用系サーバブレード113、114及び115を管理する。
 予備系サーバシャーシ120は、第2計算機サブシステムの一例でよく、その構成はシャーシ110と実質的に同様である。すなわち、予備系サーバシャーシ120は、複数(例えば2台)の予備系サーバブレード124及び125を有する。予備系サーバブレードは1つでもよい。1つの予備系サーバブレードは、第2物理計算機の一例である。本実施形態によれば、2台の予備系サーバブレード124及び125が3台の現用系サーバブレード113、114及び115に共有されている。予備系サーバブレードは、現用系サーバブレードより少ないことが望ましいが、現用系サーバブレードと同数でも現用系サーバブレードより多くてもよい。予備系サーバブレードは、現用系サーバブレードのLPARの移行先となる。予備系サーバシャーシ120は、複数の予備系サーバブレード124及び125により参照される第2管理データを保持するSVP121を有する。SVP121は、第2管理データを記憶する記憶デバイス(例えば不揮発記憶デバイス)122を有した計算機でよい。SVP121は、予備系サーバブレード124及び125を管理する。
 PC102は、パーソナルコンピュータの略であり、入出力コンソールの一例である。PC102は、例えば管理サーバ100のクライアントマシンでよい。PC102に代えて他種の計算機が採用されてもよい。PC102は、サーバブレードの状態を確認したりサーバブレードに対して指示を行ったりするためにユーザにより使用される。
 管理サーバ100は、管理計算機の一例であり、複数のサーバシャーシ110及び120内のサーバブレード113~115、124及び125を管理する。
 IOデバイス116~118の各々は、例えば、1以上の不揮発記憶デバイスを有するストレージ装置である。IOデバイス116~118の各々は、サーバブレードで実行される複数のLPARがそれぞれ実行する複数のOS(ゲストOS)を記憶する。LPARは1つでもよく、故にゲストOSも1つでもよい。IOデバイス116~118の各々は、例えば、現用系サーバブレード113~115のうちの少なくとも1つと、予備系サーバブレード124及び125のうちの少なくとも1つとに通信可能に接続されている。
 図12は、サーバブレード114の物理構成を示す。
 サーバブレード114は、物理リソースを有し、物理リソースは、例えば、1以上のI/F(通信インターフェイスデバイス)1202と、1以上の物理メモリ1203と、それらに接続された1以上の物理CPU1201とを含む。I/F1202、物理メモリ1203及び物理CPU1201の各々は、物理リソースエレメントの一例である。他のサーバブレードの各々の物理リソースも、1以上のI/Fと、1以上の物理メモリと、それらに接続された1以上の物理CPUとを含む。しかし、物理リソースの構成(例えば、物理リソースエレメントの数、物理リソースエレメントの仕様等)は、違っていてもよい。本実施形態では、説明を分かり易くするために、複数のサーバブレード113~115、124及び125において、同じ物理CPU(同じ製品)が搭載されており、また、同じ物理メモリ(同じ製品)が搭載されているものとする。つまり、少なくとも物理CPU及び物理メモリについては、それぞれ、数の違いが構成の違いに相当する。
 1以上のI/F1202は、SVP111と通信するI/Fと、管理サーバ100と通信するI/Fと、IOデバイス116~118の少なくとも1つと通信するI/Fとを含んでよい。
 1以上の物理メモリ1203が、ハイパバイザ204を記憶する。ハイパバイザ204は、仮想化機構の一例である。ハイパバイザ204は、1以上の物理CPU1201のうちの少なくとも1つに実行されることにより、物理リソースを複数の物理リソース部分に論理的に分割し、複数の物理リソース部分をそれぞれ複数(例えば3つ)のLPAR211~213に割り当てることができる。物理リソース部分は、例えば少なくとも1つの物理CPUと少なくとも1つの物理メモリとを含む。
 図2は、現用系サーバブレード114の論理構成と第1管理データの構成とを示す。
 第1管理データは、複数の現用系サーバブレード113~115にそれぞれ対応した複数のサーバデータを含む。各サーバデータは、そのサーバデータに対応したサーバブレードのLPAR構成を表すLPAR構成データと、そのサーバデータに対応したサーバブレードのNUMA構成を表すNUMA構成データとを有する。サーバデータ201は、現用系サーバブレード114に対応し、故に、サーバデータ201内のLPAR構成データ202及びNUMA構成データ203は、現用系サーバブレード114に対応する。
 現用系サーバブレード114において、ハイパバイザ204は、SVP-I/F部208と、LPAR構成テーブル205と、NUMA構成テーブル206と、構成管理部207とを有する。SVP-I/F部208は、SVP111とのインタフェースを制御する。構成管理部207は、LPAR211~213及び物理リソースの構成を管理したり、物理リソースを複数の物理リソース部分に論理的に分割し複数の物理リソース部分をそれぞれ複数のLPAR211~213に割り当てたり、物理メモリ上にLPAR構成テーブル205及びNUMA構成テーブル206を格納したりする。これらのテーブル205及び206は、SVP―IF部208を介して、SVP111の記憶デバイス112に出力する。サーバデータ201内のLPAR構成データ202及びNUMA構成データ203は、それぞれ、LPAR構成テーブル205及びNUMA構成テーブル206の出力結果である。LPAR構成テーブル205及びNUMA構成テーブル206の各々の出力は、そのテーブルが更新される都度に行われてもよいし定期的に行われてもよい。
 LPAR211~213は、それぞれ、論理NUMA構成214~216を有する。なぜなら、LPAR211~213の各々に割り当てられた物理リソース部分は、NUMA構成が定義された物理リソースから分割された部分だからである。物理リソース部分に基づく論理リソース(論理CPU及び論理メモリ等)をLPARが有する。LPAR211は、現用系サーバブレード114に対応したIOデバイス116が記憶する複数のOSのうち、LPAR211に対応するOSを実行する。
 図3は、LPAR移行処理の流れの一例を示す。予備系サーバブレード124及び125のいずれの電源もオフ状態であるとする。
 例えば現用系サーバブレード114で障害が発生した場合(ステップ300)、SVP111が、現用系サーバブレード114の障害を検出し(ステップ310)、現用系サーバブレード114の障害を管理サーバ100に通知する(ステップ311)。現用系サーバブレード114の障害が原因でLPAR移行が行われる場合、現用系サーバブレード114で実行される全てのLPAR211~213が移行対象である。
 管理サーバ100は、現用系サーバブレード114の障害の通知を受けた場合、SVP111に切替え要求(LPAR移行要求)を送信する(ステップ320)。
 切替え要求を受けたSVP111は、現用系サーバブレード114(障害サーバ)に対応したサーバデータ201を取得し、サーバデータ201を、予備系サーバシャーシ120内のSVP121に送信する(ステップ312)。SVP111は、現用系サーバブレード114の電源を遮断する(ステップ313)。
 SVP121は、サーバデータ201を受信し(ステップ330)、サーバデータ201を記憶デバイス122に格納する(ステップ331)。SVP121は、予備系サーバブレード124及び125のうちの1つの予備系サーバブレード124の電源を投入する(ステップ332)。
 予備系サーバブレード124の電源が投入されると、予備系サーバブレード124において、ハイパバイザがロードされ(ステップ341)、ハイパバイザが起動する(ステップ342)。ハイパバイザは、予備系サーバブレード124の物理構成を特定する(ステップ343)。ステップ343は、例えば後述の図6のテーブルの参照でよい。ハイパバイザ(例えば構成管理部)は、現用系サーバブレード114(障害サーバ)に対応したサーバデータ201をSVP121から取得する(ステップ344)。ハイパバイザ(例えば構成管理部)は、ステップ343で特定した物理構成と、ステップ344で取得したサーバデータ201とを基に、リソース割当て制御を行う(ステップ345)。リソース割当て制御の詳細は、図8~図10が示す。ハイパバイザ(例えば構成管理部)は、ステップ345において物理リソース部分が割り当てられたLPARを起動する(ステップ346)。
 図4は、現用系サーバブレード114のLPAR構成テーブル205の一例を示す。他のサーバブレード(現用系及び予備系の両方)のLPAR構成テーブルも同様の構成である。
 現用系サーバブレード114内のLPAR毎にレコードを有し、レコードは、LPAR番号400、CPU構成410、ノード係数413、メモリ構成420及び処理タイプ430を有する。以下、1つのLPARを例に取り(図4の説明において「対象LPAR」と言う)、これらの項目を説明する。
 LPAR番号400は、対象LPARの番号を表す。ノード係数413は、ノードアクセス値の一例であり、対象LPARに割り当てられた物理CPUのうち対象となるノードに属する物理CPUのメモリアクセス(例えばアクセス性能)に関する数値である。本実施形態の説明では、その数値を便宜上「ノード係数」と呼ぶ。ノード係数413が小さいほど、メモリアクセス性能が高い。なお、「ノード」とは、サーバブレード(ここでは現用系サーバブレード114)で定義されたオブジェクトであり、物理CPUと物理メモリの組である。
 CPU構成410は、ノード番号411及び個数412で構成されている。ノード番号411は、対象LPARに割り当てられている物理CPUが属するノードの番号を表し、個数412は、そのノードに属する物理CPUの数を表す。すなわち、CPU構成410は、対象LPARにどのノードに属する幾つの物理CPUが割り当てられているかを表す。
 メモリ構成420は、ノード番号421及び個数422で構成されている。ノード番号421は、対象LPARに割り当てられている物理メモリが属するノードの番号を表し、個数422は、そのノードに属する物理メモリの数を表す。すなわち、メモリ構成420は、対象LPARにどのノードに属する幾つの物理メモリが割り当てられているかを表す。
 対象LPARの論理NUMA構成は、対象LPARのCPU構成410及びメモリ構成420の組合せに従う構成、すなわち、対象LPARに、どのノードに属する幾つの物理CPUが割り当てられており、且つ、どのノードに属する幾つの物理メモリが割り当てられているかでよい。
 処理タイプ430は、移行ポリシーの一例であり、移行先である予備系サーバブレードでの対象LPARの処理のタイプを表す。「strict」は、現用系サーバブレードでの論理NUMA構成と同じ論理NUMA構成を予備系サーバブレードにおいて実現できなければ対象LPARの移行を中止するタイプである。「mid」は、予備系サーバブレードにおいて、対象LPARのノード毎のノード係数が現用系サーバブレードでのノード係数以下となるような論理NUMA構成を構築するタイプである。すなわち、「mid」は、現用系サーバブレードでの論理NUMA構成と同じ論理NUMA構成を予備系サーバブレードにおいて実現する必要は無いが、現用系サーバブレードでの性能と同等の性能を予備系サーバブレードにおいて実現することが望まれるタイプである。「loose」は、現用系サーバブレードでの論理NUMA構成に依存せず対象LPARを移行できればよいタイプである。従って、予備系サーバブレードでの対象LPARの論理NUMA構成は、現用系サーバブレードでの論理NUMA構成と同じであることもあれば違うこともあり、また、予備系サーバブレードでの対象LPARについて、ノード毎のノード係数が、現用系サーバブレードでのノード係数以下であることもあれば当該ノード係数を超えていることもある。
 対象LPARについて、ノード毎のノード係数413は、1つのノードを例に取れば(以下、この段落において「対象ノード」と言う)、以下の通りである。すなわち、対象LPARについて対象ノードのノード係数は、対象ノードに属する物理CPUからアクセス先ノード(対象ノード又は別ノード)に属する物理メモリへのアクセスに関する数値と、対象ノードに属する全ての物理CPUとアクセス先ノードに属する全ての物理メモリとの組合せ数(アクセスパターン数)とに基づいてハイパバイザにより算出される(管理サーバ又はSVP等、他のモジュールにより算出されてもよい)。「物理メモリへのアクセスに関する数値」は、物理メモリへのアクセスの性能及び発生率のうちの少なくとも1つに基づく数値でよい。対象ノードの物理CPUについてのノード係数Kは、例えば下記の「数1」により算出することができる。ここで、nは、CPUノード番号(物理CPUが属するノードの番号)である。mは、メモリノード番号(物理メモリが属するノードの番号)である。Rnmは、対象ノード内の物理CPUからアクセス先ノード内の物理メモリへのアクセスの性能に関する数値、具体的には図11に例示するRnmテーブル1100から特定された数値である。Rnmテーブル1100は、例えばハイパバイザ204に保持される。Rnmが低いほどアクセス性能が高い(アクセス速度が速い)。Rnmテーブル1100によれば、対象ノードとアクセス先ノードが同一ノードであればアクセス性能が高く、対象ノードとアクセス先ノードが異なるノードであればアクセス性能が低い(アクセス速度が遅い)。また、対象ノードとアクセス先ノードが異なるノードであっても、対象ノードとアクセス先ノード間が近い程アクセス性能が高い。本実施形態では、ノード#0とノード#3が最も離れており、ノード#0~#3は、ノード#0-ノード#1-ノード#2-ノード#3のように直列に並んでいるものとする。なお、ノード間の距離や並びは論理的なものでよい。Cnmは、対象LPARについて対象ノード内の物理CPUとアクセス先ノード内の物理メモリとの組合せ数、具体的には、対象LPARについての対象ノード内の物理CPUの数と対象LPARについてのアクセス先ノード内の物理メモリの数との積である。
Figure JPOXMLDOC01-appb-M000001
 「数1」によれば、例えば、LPAR#1(LPAR番号「1」のLPAR)のノード#0(ノード番号「0」のノード)について、ノード係数Kが下記の通りとなる。図4のLPAR構成テーブル205によれば、LPAR#1に、ノード#0の1個の物理CPU及び1個の物理メモリが割り当てられており、ノード#1の1個の物理CPUと1個の物理メモリが割り当てられており、ノード#2及び#3のいずれについても物理CPU及び物理メモリのいずれも割り当てられていない。
LPAR#1のK
=1(=R00)×1(=C00)+1.1(=R01)×1(=C01
=2.1
 また、「数1」によれば、例えば、LPAR#2のノード#0について、ノード係数K0が下記の通りとなる。図4のLPAR構成テーブル205によれば、LPAR#2に、ノード#0~#3の各々について、2個の物理CPU及び1個の物理メモリが割り当てられている。
LPAR#2のK
=1(=R00)×2(=C00)+1.1(=R01)×2(=C01)+1.2(=R02)×2(=C02)+1.3(=R01)×2(=C03
=9.2
 現用系サーバブレード114におけるLPAR構成テーブル205は、ユーザ(例えば管理者)により予め定義されていてよい。一方、予備系サーバブレードでは、図3ステップ345(図8~図10の処理)により、その予備系サーバブレードに対応したLPAR構成テーブルが、その予備系サーバブレード内のハイパバイザにより生成される。
 図5は、現用系サーバブレード114のNUMA構成テーブル206の一例を示す。他のサーバブレード(現用系及び予備系の両方)のNUMA構成テーブルも同様の構成である。但し、レコードの数(サーブレードに定義されているノード(NUMAノード)の数)、及び、1つのレコード内のサブレコードの数(1つのノードに属する物理CPUの数、及び、1つのノードに属する物理メモリの数)は、サーバブレードによって異なることがある。
 現用系サーバブレード114内のノード毎にレコードを有し、レコードは、ノード番号500、CPU構成510及びメモリ構成520を有する。以下、1つのノードを例に取り(図5の説明において「対象ノード」と言う)、これらの項目を説明する。
 ノード番号500は、対象ノードの番号を表す。
 CPU構成510は、CPU番号511及びLPAR番号512で構成されている。CPU番号511は、対象ノードに属する物理CPUの番号を表し、LPAR番号512は、その物理CPUが割り当てられているLPARの番号を表す。
 メモリ構成520は、メモリ番号521及びLPAR番号522で構成されている。メモリ番号521は、対象ノードに属する物理メモリの番号を表し、LPAR番号522は、その物理メモリが割り当てられているLPARの番号を表す。
 上述したように、対象ノード内の物理CPUからアクセス先ノード内の物理メモリへのアクセスは、対象ノードとアクセス先ノードが同一ノードであれば早く、対象ノードとアクセス先ノードが異なるノードであれば遅い。
 以下、図8~図10を参照して、図3のステップ345を詳細に説明する。
 なお、図3のステップ312で、現用系サーバブレード114のサーバデータ201がSVP111からSVP121に送信され、ステップ330で、SVP121によりそのサーバデータ201が受信され、ステップ331で、そのサーバデータ201がSVP121の記憶デバイス122に格納され、ステップ344で、そのサーバデータ201内のLPAR構成データ202及びNUMA構成データ203が、移行元のLPAR構成テーブル及び移行元のNUMA構成テーブルとして、移行先の予備系サーバブレード124のハイパバイザ(以下、移行先ハイパバイザ)に設定されたとする。なお、現用系サーバブレード(移行元サーバブレード)114のNUMA構成等は、上述した方法以外の方法で移行先ハイパバイザへと引き継がれてもよい。
 また、移行先の予備系サーバブレード124のNUMA構成テーブルは、例えば図6に示すNUMA構成テーブル606であるとする。NUMA構成テーブル606の構成は、図5のNUMA構成テーブル206と同じである。つまり、項目600、610、620、611、612、621及び622は、それぞれ、項目500、510、520、511、512、521及び522と同じである。予備系サーバブレード124のNUMA構成と移行元の現用系サーバブレード114のNUMA構成は、同じであることもあるが、図5及び図6の例によれば異なっている。具体的には、例えば、予備系サーバブレード124と現用系サーバブレード114において、物理CPUの数と、物理CPUとノードとの対応関係と、物理メモリの数は、同じであるが、物理メモリとノードとの対応関係が異なっている。また、図6のNUMA構成テーブル606は、ステップ345の開始前のテーブルであり、故に、NUMA構成(ノード、物理CPU及び物理メモリの対応関係)が表されているものの、物理リソースエレメント(物理CPU及び物理メモリ)の割当て先のLPARの番号は登録されていない。
 図8に示すように、移行先ハイパバイザは、移行元LPAR構成テーブルを基に、移行対象のLPAR#1~#3を特定し、特定したLPAR#1~#3の各々について、割当て制御(予備系サーバブレード124の物理リソース部分をLPARに割り当てる処理)を行う(ステップ803)。ステップ803は、処理タイプ「strict」のLPARについてまず行われ、次に、処理タイプ「mid」のLPARについて行われ、最後に、処理タイプ「loose」のLPARについて行われる。最初に「strict」のLPARについてステップ803が行われる理由は、先に他の処理タイプのLPARについてステップ803が行われてしまうと、移行元のサーバブレードでの論理NUMA構成と同じ論理NUMA構成を実現できる可能性が低くなるからである。また、最後に「loose」のLPARについてステップ803が行われる理由は当該LPARの論理NUMA構成についての条件が全ての処理タイプのうち最も緩いからである。従って、図4の例によれば、LPAR#1→LPAR#2→LPAR#3の順でステップ803が行われる。
 図9及び図10は、ステップ803の詳細を示す。以下、LPAR#1~#3の各々について、ステップ803の詳細を説明する。ステップ803は、移行先ハイパバイザ(特に例えば構成管理部)により行われる。
 <LPAR#1についてのステップ803>
 図9に示すように、移行先ハイパバイザは、移行元LPAR構成テーブルからLPAR#1の論理NUMA構成を特定し、その論理NUMA構成と同じ論理NUMA構成を予備系サーバブレード124においてLPAR#1に割り当てることが可能か否かを、NUMA構成テーブル606を基に判断する(ステップ900)。この判断結果が肯定であれば、その同じ論理NUMA構成がLPAR#1に割り当てられることになるが(ステップ911)、図4及び図6の例によれば、ステップ900の判断結果は否定となる。なぜなら、移行元ではノード#0の物理メモリがLPAR#1に割り当てられていたが、NUMA構成テーブル606によれば、ノード#0に属する物理メモリが無いからである。
 ステップ900の判断結果が否定の場合(ステップ900:No)、移行先ハイパバイザは、LPAR#1の処理タイプが「strict」であるので(ステップ902:Yes)、LPAR#1について移行を中止し、失敗を管理サーバ100に報告する(ステップ903)。その報告は、SVP121に送られ、SVP121から管理サーバ100に送られてもよい。また、割当ての失敗なので、NUMA構成テーブル606は更新されない。
 <LPAR#2についてのステップ803>
 図9に示すように、移行先ハイパバイザは、移行元LPAR構成テーブルからLPAR#2の論理NUMA構成を特定し、その論理NUMA構成と同じ論理NUMA構成を予備系サーバブレード124においてLPAR#1に割り当てることが可能か否かを、NUMA構成テーブル606を基に判断する(ステップ900)。図4及び図6の例によれば、LPAR#1と同じ理由で、この判断結果も否定となる。
 ステップ900の判断結果が否定の場合(ステップ900:No)、移行先ハイパバイザは、LPAR#2の処理タイプが「mid」であるので(ステップ902:No、且つ、ステップ904:Yes)、図10のステップ910以降を行う。
 すなわち、移行先ハイパバイザは、n(CPUノード番号)「0」を設定し(ステップ910)、LPAR#2のノード#0に対応したノード係数「9.2」を移行元LPAR構成テーブルから特定する(ステップ911)。ステップ911で特定されたノード係数が、閾値ノード係数である。そして、移行先ハイパバイザは、閾値ノード係数「9.2」以下のノード係数となるような割当てが予備系サーバブレード124においてLPAR#2のノード#0について可能か否かを判断する(ステップ912)。この判断では、例えば、移行先ハイパバイザは、以下の処理、
(A)移行元と同じノード番号「0」から移行元と同じ数「2」の物理CPUを割り当て候補とする、
(B)(A)のノード番号のノードから最も近いノードであり物理メモリを有するノードからそのノードが有する全ての物理メモリのうち未だLPARに割り当てていないものを割り当て候補とする、
(C)(A)での物理CPU数及びCPUノード番号と、(B)での物理メモリ数及びメモリノード番号と、図11のRnmテーブルとを基に、「数1」を用いて、(A)及び(B)でのノード係数を算出する、
(D)(C)で算出したノード係数が閾値ノード係数以下か否かを判断する、
(E)(D)の判断結果が肯定であれば、(A)及び(B)に従う論理NUMA構成を割り当て対象と決定する、
(F)(D)の判断結果が否定であれば、ノード番号を、(A)で決定したノード番号の次のノード番号に変更し、(A)を再度行う、
を行う。これにより、例えば、予備系サーバブレード124において、ノード#0の2個の物理CPUを割当て候補とし、物理メモリを有するノードのうちノード#0から一番近いノード#2の全て(4個)の物理メモリを割当て候補とすると、算出されるノード係数は「9.6」になり、閾値ノード係数「9.2」より大きい。そのため、その割当ては不採用とし、次に、移行先ハイパバイザは、ノード#1の2個の物理CPUとノード#2の4個の物理メモリを割り当て候補とし、それによりノード係数「8.8」を算出する。その算出ノード係数「8.8」は、閾値ノード係数「9.2」以下であるので、ノード#1の2個の物理CPUとノード#2の4個の物理メモリが割り当て対象に決定される。このように、対象とされたノードから最も近いノード(対象とされたノードのノード番号に最も近いノード番号のノード)から順次物理CPU及び物理メモリを選択するシンプルな処理ステップにより、移行先の構成決定にかかる処理時間を短く抑えることが期待できる。
 移行先ハイパバイザは、決定した割当て対象を、LPAR#2に割り当て、且つ、ノード#1の2個の物理CPUとノード#2の4個の物理メモリのそれぞれの割当て先としてLPAR番号「2」をNUMA構成テーブル606に登録する(図7の参照符号730及び740が表す数値の登録)(ステップ913)。
 次に、移行先ハイパバイザは、n=n+1(=1)とし(ステップ914)、更新後のn=1は最大ノード番号(ノード数-1)(=3)以下なので(ステップ915:Yes)、更新後のn(ノード#1)について、ステップ911を行う。
 ステップ911~915によれば、例えば、ノード#1について、算出ノード係数が閾値ノード係数「8.8」以下となるような割り当て候補(ノード#1の残りの2個の物理CPUとノード#2の4個の物理メモリ、算出ノード係数は「8.8」)が決定され、その候補が割り当て対象としてLPAR#2に割り当てられる(図7の参照符号731が表す数値の登録)。ノード#2について、算出ノード係数が閾値ノード係数「8.8」以下となるような割り当て候補(ノード#2の2個の物理CPUとノード#2の4個の物理メモリ、算出ノード係数は「8.0」)が決定され、その候補が割り当て対象としてLPAR#2に割り当てられる(図7の参照符号732が表す数値の登録)。ノード#3について、算出ノード係数が閾値ノード係数「9.2」以下となるような割り当て候補(ノード#2の残りの2個の物理CPUとノード#2の4個の物理メモリ、算出ノード係数は「8.0」)が決定され、その候補が割り当て対象としてLPAR#2に割り当てられる(図7の参照符号733が表す数値の登録)。n=3のときにステップ914が行われると、ステップ915の判断結果が否定となり、LPAR#2についてのステップ803が終了する。
 なお、ステップ912の判断結果が否定の場合(ステップ912:No)、すなわち、ステップ912の条件を満たすような論理NUMA構成の確保が不可能な場合、移行先ハイパバイザは、LPAR#2についてのこれまでの割当てをキャンセルし(図7の参照符号730、740等が表す数値(登録された数値)を削除し)、図9のステップ905を実行する。ステップ905では、移行先ハイパバイザは、LPAR#2に少なくとも1つの物理CPUと少なくとも1つの物理メモリを割り当てる。
 処理タイプ「mid」のLPARの移行によれば、移行元での論理NUMA構成と同じ論理NUMA構成を移行先で採用することができなくても、移行元でのアクセス性能と同等のアクセス性能を移行先でも実現できるような論理NUMA構成が特定され移行対象のLPARに移行先において割り当てられる。これにより、移行前と同等の性能でLPARが稼働することを可能にし、予期しない性能低下の発生を防ぐことが期待できる。
 <LPAR#3についてのステップ803>
 図9に示すように、移行先ハイパバイザは、移行元LPAR構成テーブルからLPAR#3の論理NUMA構成を特定し、その論理NUMA構成と同じ論理NUMA構成を予備系サーバブレード124においてLPAR#3に割り当てることが可能か否かを、NUMA構成テーブル606を基に判断する(ステップ900)。図4、図6及び図7の例によれば、この判断結果は否定となる。なぜなら、移行元ではノード#2の物理メモリがLPAR#3に割り当てられていたが、図7のNUMA構成テーブル606によれば、ノード#2に属する物理メモリは全て既にLPAR#2に割り当て済であり、ノード#2には割当て可能な物理メモリが無いからである。
 ステップ900の判断結果が否定の場合(ステップ900:No)、移行先ハイパバイザは、LPAR#3の処理タイプが「loose」であるので(ステップ902:No、且つ、ステップ904:No)、ステップ905を実行する。ステップ905では、移行先ハイパバイザは、LPAR#3に少なくとも1つの物理CPUと少なくとも1つの物理メモリを割り当てる。その結果、例えば図7に示すように、ノード#0の2個の物理CPUとノード#3の2個の物理メモリがLPAR#3に割り当てられる(図7の参照符号742及び741参照)。
 移行先ハイパバイザは、移行元LPAR構成テーブルと、全てのLPARについてステップ803を行なった後のNUMA構成テーブル606とを基に、予備系サーバブレード124でのLPAR構成テーブルを生成し保持する。移行先ハイパバイザは、論理NUMA構成が割り当てられたLPARを起動することができる。
 以上、一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、処理タイプは、strict、mid、looseの3タイプより多くても少なくてもよい。また、例えば、上記実施形態では、移行元サーバブレードと移行先サーバブレードにおいて、ノード数(NUMAノード数)が同じ(いずれも4つのノード)であるが、ノード数は異なっていてもよい。
113、114、115:現用系サーバブレード
124、125:予備系サーバブレード

 

Claims (7)

  1.  複数のNUMA(Non-Uniform Memory Access)ノードに対応付けられる複数の第1CPUと、前記複数のNUMAノードに対応付けられる複数の第1メモリと、前記複数の第1CPU及び前記複数の第1メモリを複数の仮想計算機へ割り当てる第1仮想化機構とを有する第1物理計算機から、前記複数の仮想計算機のうちの移行対象である第1仮想計算機が移行される第2物理計算機であって、
     複数のNUMAノードに対応付けられる複数の第2CPUと、
     前記複数のNUMAノードに対応付けられる複数の第2メモリと、
     前記複数の第2CPU及び前記複数の第2メモリを管理する第2仮想化機構と
    を有し、
     前記第2仮想化機構は、前記第1仮想計算機について、
      前記第1仮想計算機と第1CPUと第1メモリとNUMAノードとの対応関係を表す情報であるNUMA構成情報を基に、前記第1仮想計算機に割り当てられている第1CPUから前記第1仮想計算機に割り当てられている物理メモリへのアクセスに関する値であるノードアクセス値を、前記第1仮想計算機に割り当てられている物理CPUが属する各NUMAノードについて特定し、
      特定したノードアクセス値を基に、前記第1仮想計算機に第2CPU及び第2メモリを割り当てる、
    物理計算機。
  2.  前記第2仮想化機構は、前記第1仮想計算機についてノードアクセス値が特定されたNUMAノード毎に、特定されたノードアクセス値に基づく条件を満たすようなノードアクセス値となる第2CPU及び第2メモリを特定し、特定した第2CPU及び第2メモリを前記第1仮想計算機に割り当てる、
    請求項1記載の物理計算機。
  3.  前記第1物理計算機について、NUMAノードのノードアクセス値は、そのNUMAノードに属する第1CPUからアクセス先ノード内の第1メモリへのアクセスに関する値であるアクセス値と、そのNUMAノードに属する全ての第1CPUとアクセス先ノードに属する全ての第1メモリとの組合せ数とに基づく値であり、
     前記第2物理計算機について、NUMAノードのノードアクセス値は、そのNUMAノードに属する第2CPUからアクセス先ノード内の第2メモリへのアクセスに関する値であるアクセス値と、そのNUMAノードに属する全ての第2CPUとアクセス先ノードに属する全ての第2メモリとの組合せ数とに基づく値である、
    請求項2記載の物理計算機。
  4.  前記アクセス値及び前記組合せ数は、NUMAノードの複数のアクセス先ノードの各々について存在し、前記複数のアクセス先ノードは、NUMAノード及びそのNUMAノード以外のNUMAノードであり、
     NUMAノードであるアクセス先ノードに対応したアクセス値は、そのNUMAノード以外のいずれかのNUMAノードであるアクセス先ノードに対応したアクセス値が意味するアクセス性能よりも高いアクセス性能を意味する、
    請求項3記載の物理計算機。
  5.  前記複数の仮想計算機は、前記第1仮想計算機を含む2以上の仮想計算機を移行対象の仮想計算機として含み、
     前記第2仮想化機構は、前記2以上の仮想計算機のうち、割り当て対象とする第2CPU及び第2メモリに関する条件が最も厳しい移行ポリシーの仮想計算機から、優先的に、割り当てる第2CPU及び第2メモリを特定する、
    請求項1記載の物理計算機。
  6.  複数のNUMA(Non-Uniform Memory Access)ノードに対応付けられる複数の第1CPUと、前記複数のNUMAノードに対応付けられる複数の第1メモリと、前記複数の第1CPU及び前記複数の第1メモリを複数の仮想計算機へ割り当てる第1仮想化機構とを有する第1物理計算機から、前記複数の仮想計算機のうちの移行対象である第1仮想計算機を、複数のNUMAノードに対応付けられる複数の第2CPUと、前記複数のNUMAノードに対応付けられる複数の第2メモリと、前記複数の第2CPU及び前記複数の第2メモリを管理する第2仮想化機構とを有する第2物理計算機に移行する仮想計算機移行方法であって、
     前記第1仮想計算機と第1CPUと第1メモリとNUMAノードとの対応関係を表す情報であるNUMA構成情報を基に、前記第1仮想計算機に割り当てられている第1CPUから前記第1仮想計算機に割り当てられている物理メモリへのアクセスに関する値であるノードアクセス値を、前記第1仮想計算機に割り当てられている物理CPUが属する各NUMAノードについて特定し、
     特定したノードアクセス値を基に、前記第1仮想計算機に第2CPU及び第2メモリを割り当てる、
    仮想計算機移行方法。
  7.  第1物理計算機と、
     第2物理計算機と
    を有し、
     前記第1物理計算機は、複数のNUMA(Non-Uniform Memory Access)ノードに対応付けられる複数の第1CPUと、前記複数のNUMAノードに対応付けられる複数の第1メモリと、前記複数の第1CPU及び前記複数の第1メモリを複数の仮想計算機へ割り当てる第1仮想化機構とを有し、
     前記第2物理計算機は、複数のNUMAノードに対応付けられる複数の第2CPUと、前記複数のNUMAノードに対応付けられる複数の第2メモリと、前記複数の第2CPU及び前記複数の第2メモリを管理する第2仮想化機構とを有し、
     前記第2仮想化機構が、前記複数の仮想計算機のうちの移行対象であり前記第1物理計算機から前記第2物理計算機に移行される第1仮想計算機について、
      前記第1仮想計算機と第1CPUと第1メモリとNUMAノードとの対応関係を表す情報であるNUMA構成情報を基に、前記第1仮想計算機に割り当てられている第1CPUから前記第1仮想計算機に割り当てられている物理メモリへのアクセスに関する値であるノードアクセス値を、前記第1仮想計算機に割り当てられている物理CPUが属する各NUMAノードについて特定し、
      特定したノードアクセス値を基に、前記第1仮想計算機に第2CPU及び第2メモリを割り当てる、
    計算機システム。

     
PCT/JP2014/065907 2014-06-16 2014-06-16 物理計算機及び仮想計算機移行方法 WO2015193947A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/065907 WO2015193947A1 (ja) 2014-06-16 2014-06-16 物理計算機及び仮想計算機移行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/065907 WO2015193947A1 (ja) 2014-06-16 2014-06-16 物理計算機及び仮想計算機移行方法

Publications (1)

Publication Number Publication Date
WO2015193947A1 true WO2015193947A1 (ja) 2015-12-23

Family

ID=54934980

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/065907 WO2015193947A1 (ja) 2014-06-16 2014-06-16 物理計算機及び仮想計算機移行方法

Country Status (1)

Country Link
WO (1) WO2015193947A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090313445A1 (en) * 2008-06-11 2009-12-17 Vmware, Inc. System and Method for Improving Memory Locality of Virtual Machines
JP2012521611A (ja) * 2009-03-26 2012-09-13 マイクロソフト コーポレーション 仮想マシン用非一様仮想メモリーアーキテクチャー

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090313445A1 (en) * 2008-06-11 2009-12-17 Vmware, Inc. System and Method for Improving Memory Locality of Virtual Machines
JP2012521611A (ja) * 2009-03-26 2012-09-13 マイクロソフト コーポレーション 仮想マシン用非一様仮想メモリーアーキテクチャー

Similar Documents

Publication Publication Date Title
US10891162B2 (en) Methods and apparatus to improve external resource allocation for hyper-converged infrastructures based on costs analysis
EP3140734B1 (en) Mechanism for providing external access to a secured networked virtualization environment
JP5039947B2 (ja) 多数の論理パーティションにわたって仮想入力/出力操作を分散させるためのシステム及び方法
US9569245B2 (en) System and method for controlling virtual-machine migrations based on processor usage rates and traffic amounts
JP5689526B2 (ja) マルチキュー・ネットワーク・アダプタの動的再構成によるリソース・アフィニティ
US11375014B1 (en) Provisioning of clustered containerized applications
EP2867772B1 (en) Dynamic resource allocation for virtual machines
US11734137B2 (en) System, and control method and program for input/output requests for storage systems
US20160019078A1 (en) Implementing dynamic adjustment of i/o bandwidth for virtual machines using a single root i/o virtualization (sriov) adapter
JP6458146B2 (ja) 計算機及びメモリ領域管理方法
US9916215B2 (en) System and method for selectively utilizing memory available in a redundant host in a cluster for virtual machines
US10691481B2 (en) System and method for detection of underprovisioning of memory in virtual machines
WO2015118679A1 (ja) 計算機、ハイパーバイザ、物理コアの割り当て方法
US20130185531A1 (en) Method and apparatus to improve efficiency in the use of high performance storage resources in data center
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
US20110167067A1 (en) Classification of application commands
US10969959B2 (en) Effective resynchronization in virtual storage area network using dynamic partitioning and data deduplication techniques
US10447800B2 (en) Network cache deduplication analytics based compute cluster load balancer
US9891954B2 (en) Cluster resource management in a virtualized computing environment
JP2010205208A (ja) ホストコンピュータ、マルチパスシステム、パス割当方法およびプログラム
WO2015193947A1 (ja) 物理計算機及び仮想計算機移行方法
JP7107981B2 (ja) 計算機システム
JP2018133005A (ja) 制御装置及び制御方法
JP5504651B2 (ja) 仮想マシンシステム、情報処理装置、リソース管理方法、プログラム及び記録媒体
WO2018173300A1 (ja) I/o制御方法およびi/o制御システム

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14894889

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP