WO2020261412A1 - 仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム - Google Patents

仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム Download PDF

Info

Publication number
WO2020261412A1
WO2020261412A1 PCT/JP2019/025321 JP2019025321W WO2020261412A1 WO 2020261412 A1 WO2020261412 A1 WO 2020261412A1 JP 2019025321 W JP2019025321 W JP 2019025321W WO 2020261412 A1 WO2020261412 A1 WO 2020261412A1
Authority
WO
WIPO (PCT)
Prior art keywords
migration
information
determined
virtualization
healing
Prior art date
Application number
PCT/JP2019/025321
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/JP2019/025321 priority Critical patent/WO2020261412A1/ja
Priority to US17/619,540 priority patent/US20220229689A1/en
Priority to JP2021528729A priority patent/JP7176633B2/ja
Publication of WO2020261412A1 publication Critical patent/WO2020261412A1/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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 a virtualization platform control device for executing migration in a virtualization platform, a virtualization platform control method, and a virtualization platform control program.
  • Network virtualization is configured so that network functions that were previously realized using dedicated hardware are converted into software and run on a general-purpose server.
  • network function virtualization technology By applying such network function virtualization technology to the carrier network, it is possible to achieve both economic scalability and reliability, provide prompt services, flexibly allocate resources according to the demand of each service, and hardware. It is expected that service development that is not tied to the life of the hardware can be realized.
  • a system that abstracts and hides physical resources such as servers and networks using this virtualization technology and provides a common platform for multiple applications and services is called a virtualization platform.
  • migration means migrating a system, software, or the like to another physical device or the like. Specifically, in the example of a system having an ACT (Active) / SBY (Standby) configuration, migration is often realized by using a healing process in which the SBY side is restarted to another physical server.
  • Live migration which is a typical technology, enables migration without interrupting the service.
  • Non-Patent Document 1 DRS (Distributed Resource Scheduler) of VMware vSphere (“VMware vSphere” is a registered trademark) is known (Non-Patent Document 1). reference). According to the DRS, it is possible to confirm the threshold values of the CPU, memory, and the like, execute migration, select a migration destination host, and perform other processes (see Non-Patent Document 2).
  • DRS Distributed Resource Scheduler
  • the healing method When executing migration in the above-mentioned virtualization-based system, the healing method has the following problems. (1) Since the service is stopped, it is necessary to apply it to the SBY system, and a lot of incidental work such as system switching processing is required. (2) Along with the healing process, processes such as inputting the config before and after the process occur. (3) Since the SBY system is down, a lot of time is required for one-sided operation.
  • live migration does not involve the generation of VM / container, so it has the advantage that processing is completed in a shorter time than healing.
  • live migration in cases where the operating conditions are restricted, or in applications where memory updates occur frequently, memory transfer times out and processing does not end, or time is longer than healing. There are cases where it takes.
  • the present invention has been made in view of these points, and the present invention is a virtualization platform capable of determining and executing an appropriate migration method among healing and live migration according to the operation status of the service.
  • a control device, a virtualization infrastructure control method, and a virtualization infrastructure control program are provided.
  • the virtualization infrastructure control device is a virtualization infrastructure control device that causes a compute to execute VM or container migration, and is an operation for determining whether or not it is in a state that can be a constraint in executing live migration.
  • An operation parameter monitoring unit that acquires parameters, a resource monitoring unit that acquires predetermined load information about the compute, and a live migration or healing for each VM or container that is installed in the compute and provides services.
  • the operation parameter is provided with a migration determination unit that selects any of them as the execution method of the migration, and the operation parameters satisfy a predetermined operation condition for the migration determination unit to determine that the live migration can be executed.
  • a virtualization infrastructure control device a virtualization infrastructure control method, and a virtualization infrastructure control program that determine and execute an appropriate migration method among healing and live migration according to the operation status of a service. can do.
  • FIG. 1 is a block diagram showing a configuration of a virtualization infrastructure control system 1 including a virtualization infrastructure control device 10 according to the present embodiment.
  • Compute 30 physical resource: a host (computer) on which a VM / container operates
  • NW network
  • one or more VMs 20 can be constructed as a virtual environment based on the control of the virtualization infrastructure control device 10. Further, one or more applications can be arranged (mounted) on the VM20, and a service based on a request from a user terminal (not shown) is provided.
  • the compute 30 includes a virtual machine setting file 31 and a virtualization layer 32.
  • the VM20 setting information is stored in the virtual machine setting file 31.
  • the virtualization layer 32 controls the generation and processing of the VM 20.
  • the virtualization platform control device 10 is communication-connected to each compute 30, VM20, etc., controls the VM20, allocates resources, and gives instructions regarding migration of the VM20.
  • the virtualization platform control device 10 will be described in detail.
  • the virtualization platform control device 10 determines whether or not the operation condition that the compute 30 can execute live migration is satisfied, and the operation status of the compute 30 and the VM 20 (“operation parameter” and “load” described later). Information ”, etc.) is monitored, and the appropriate migration method of healing and live migration is determined and executed. Specifically, when executing the migration of each VM20, the virtualization platform control device 10 determines that the live migration is executed when the operating conditions are satisfied and the load is low, and when the operating conditions are not satisfied or the load is high. Then, it is determined that healing is performed. Further, the virtualization infrastructure control device 10 determines the order in which the migration is executed in consideration of the influence on each service when migrating a plurality of VM20s. By doing so, it is possible to reduce the influence of migration on the service.
  • the virtualization platform control device 10 shown in FIG. 1 is realized by a computer or the like including a control unit, an input / output unit (all not shown), and a storage unit 13.
  • the input / output unit includes a communication interface for transmitting and receiving information, and an input / output interface for transmitting and receiving information with an input device such as a touch panel and a keyboard, and an output device such as a monitor.
  • the storage unit 13 is composed of a flash memory, a hard disk, a RAM (Random Access Memory), and the like.
  • the resource information repository 130 and the virtual machine image repository 135 are stored in the storage unit 13 of the virtualization infrastructure control device 10.
  • resource management table 131 resource management information
  • FIG. 2 resource management information
  • the configuration management table 132 configuration management information
  • FIG. 3 configuration management information
  • the virtual machine image repository 135 stores a VM image that is a template for starting a virtual instance (VM) including an installed guest OS.
  • the storage unit 13 stores a program for executing each function of the control unit (virtualization infrastructure control program) and information necessary for processing of the control unit (described later, threshold information, etc.). ..
  • the storage unit 13 also includes other existing information necessary for realizing the virtualization infrastructure.
  • FIG. 2 is a diagram showing an example of the data structure of the resource management table 131 (resource management information) according to the present embodiment.
  • the information of the "allocation destination” is stored in association with the "Compute ID” which is the identification information of the compute 30.
  • the identification information of the VM 20 constructed in the compute 30 indicated by the "Compute ID” is stored.
  • FIG. 2 shows, for example, that the VM 20 of “VM # 1”, “VM # 2”, and “VM # 5” is assigned to the compute 30 whose Compute ID is “# 0”.
  • control unit includes a migration control unit 11 and a monitoring unit 12.
  • the control unit also has other existing functions required to realize the virtualization platform.
  • the monitoring unit 12 monitors the configuration and load status of the compute 30 and VM20, and includes a resource monitoring unit 121, an operation parameter monitoring unit 122, and a configuration information monitoring unit 123.
  • the resource monitoring unit 121 monitors each compute 30 and VM20, and acquires information (predetermined load information) indicating a load state such as a CPU usage rate and a memory usage rate as metric information.
  • predetermined load information for example, image size, disk I / O (Input / Output) of the local disk, memory loading amount, memory update frequency, effective NW bandwidth, etc. are set as monitoring targets. ..
  • the operation parameter monitoring unit 122 acquires the state of the operation parameter set in the compute 30.
  • the status of the operation parameters is, for example, whether to specify the emulator pin in the CPU allocation state, whether to mount the shared disk, whether to specify CPU Pinning, whether to use SR-IOV (Single Root I / O Virtualization), etc. This is information indicating the operating conditions that can be a constraint in.
  • the operation parameter monitoring unit 122 monitors the state of a predetermined operation parameter among these operation parameters.
  • the operation parameter monitoring unit 122 may check the virtual machine setting file 31 and acquire the status of these operation parameters, or may acquire the status of the operation parameter by inquiring each VM 20.
  • the configuration information monitoring unit 123 acquires the configuration information of the VM20 that executes the application to be moved (migrated) and provides the service.
  • This configuration information includes, for example, information on a plurality of VM20s that operate in cooperation with the application, and information that the VM20 that executes the application has a redundant configuration (ACT / SBY).
  • the information of the redundant configuration (ACT / SBY) configuration also includes information such as whether the VM20 is in the ACT state or the SBY state at the present time. Then, the configuration information monitoring unit 123 stores the acquired configuration information in the configuration management table 132 in the resource information repository 130.
  • FIG. 3 is a diagram showing an example of the data configuration of the configuration management table 132 according to the present embodiment.
  • the ID (identifier) (VM ID) of the VM 20 that operates in cooperation with the application name (App) and the application ID (App ID) is stored.
  • the configuration of the VM 20 corresponding to the application having the application name (App) of "VNF1" and the application ID (App ID) of "# 01" is the VM IDs "# 1" and "# 11". It shows that there is a redundant configuration (ACT / SBY) pair for the VM20 of.
  • the application whose application name (App) is "VNF10" and whose application ID (App ID) is "# 010" is a series of services (VM20 with VMID “# 5" and two VM20s with VMID “# 6". It shows that it provides one service).
  • the migration control unit 11 determines an appropriate migration method among healing and live migration, and controls the compute 30 to execute the execution.
  • the migration control unit 11 includes a migration determination unit 111, a migration instruction unit 112, and a migration execution unit 113.
  • the migration determination unit 111 uses a network management device (not shown) or the like to display a VM 20 whose service is being executed for system maintenance or upgrade, for example, from the current physical device (compute 30) to another physical device (compute 30).
  • a network management device not shown
  • the migration determination unit 111 uses the metric information (load information) acquired by the resource monitoring unit 121 and the state information of the operation parameters acquired by the operation parameter monitoring unit 122, and is appropriate for healing and live migration in units of VM20. Judge (select) the migration method.
  • the migration determination unit 111 determines whether or not a predetermined operation condition for executing live migration is satisfied by using the operation parameter information acquired by the operation parameter monitoring unit 122. Then, the migration determination unit 111 determines that the migration by healing is executed when the predetermined operating conditions are not satisfied.
  • the migration determination unit 111 determines whether or not live migration can be executed by using the metric information indicating the load state acquired by the resource monitoring unit 121 and determining whether or not the predetermined determination criteria are satisfied.
  • the migration determination unit 111 presets, for example, an image size, local disk I / O, memory loading amount, memory update frequency, effective NW bandwidth, and the like as indexes (load information) used for determination based on the load state. .. Then, a predetermined threshold value is set for the adopted load state index, and the live migration is determined whether or not the live migration can be executed by comparing with the threshold value.
  • the load status index may be a fixed value set in advance, or it may be dynamic change information (for example, free disk space, free disk read bandwidth, free NW bandwidth, etc.). May be good.
  • the migration instruction unit 112 executes the following processing.
  • the migration instruction unit 112 inquires the configuration information monitoring unit 123 for the configuration information of a plurality of VM20s that execute the application, for example.
  • the configuration information monitoring unit 123 acquires the latest (current) configuration information of the VM 20, responds to the migration instruction unit 112, and stores the acquired configuration information in the configuration management table 132.
  • the configuration information monitoring unit 123 monitors changes in the configuration information of the VM 20 at predetermined time intervals, stores the monitoring results in the configuration management table 132, and the migration instruction unit 112 acquires the configuration information. You may do so.
  • the migration instruction unit 112 determines the execution order of each VM 20 based on the acquired configuration information and considering the influence of each service. Specifically, the migration instruction unit 112 determines the execution order of each VM 20 so that the total value of the processing time of live migration or healing determined for each of the plurality of VM 20s is reduced. In this embodiment, the migration instruction unit 112 will determine whether or not the plurality of VMs 20 have a redundant configuration, determine the execution order of migration, and generate instruction information.
  • the migration instruction unit 112 determines that the configuration of a plurality of VM20s is a redundant configuration based on the acquired configuration information, the migration instruction unit 112 sequentially performs the migration processing (healing, live migration) determined by the migration determination unit 111 for each VM20. Generates instruction information to be executed.
  • the migration instruction unit 112 sequentially executes the healing for each of the plurality of VM20s. Generate. Further, when the migration method determined for the plurality of VM20s having a redundant configuration is all live migration, the migration instruction unit 112 sequentially executes the live migration for each of the plurality of VM20s. To generate. Further, the migration instruction unit 112 generates instruction information for sequentially executing healing and live migration when healing and live migration are mixed in the migration method determined for a plurality of VM20s having a redundant configuration. ..
  • the migration instruction unit 112 generates instruction information for executing migration (healing, live migration) of each VM20 in parallel when it is determined that the configurations of a plurality of VM20s are not redundant configurations based on the acquired configuration information. To do. In this way, by executing the migration (healing, live migration) of each VM20 in parallel, the processing time required for the migration of the entire service can be reduced. Then, the migration instruction unit 112 outputs the generated instruction information to the migration execution unit 113.
  • the migration execution unit 113 transmits a migration execution notification based on the instruction information acquired from the migration instruction unit 112 to the virtualization layer 32 of the compute 30. As a result, the migration execution unit 113 causes each compute 30 to execute the migration process.
  • the migration execution unit 113 executes the SBY transition of the VM 20 as necessary. After that, the SBY-based VM20 is evacuated to a different compute 30 by healing. Then, the necessary config input and the like are performed, and the process of incorporating into the system is performed after synchronization with the ACT system.
  • FIG. 4 is a flowchart showing the overall flow of the migration method determination process and the migration execution control process according to the present embodiment.
  • the virtualization infrastructure control device 10 has acquired migration request information (hereinafter referred to as “migration request”) relating to an application that provides a certain service from a network management device (not shown) or the like.
  • the migration request includes identification information of one or more VM20s to be migrated.
  • the migration instruction of a plurality of VM20s that provide a certain service has been received. If the target of migration is only one VM20, the migration method determination process (FIG. 5) is performed, and either healing or live migration is selected and executed.
  • the migration determination unit 111 of the virtualization infrastructure control device 10 refers to the migration request and selects one of the plurality of VM20s constituting the service (step S1). Subsequently, the migration determination unit 111 executes the migration method determination process (step S2). By this migration method determination process, the migration determination unit 111 selects either healing or live migration as the optimum method for the VM20. The details of this migration method determination process will be described later with reference to FIG.
  • the migration determination unit 111 determines whether or not all of the VM 20s constituting the service have been processed (step S3). Then, if there is a VM20 for which the migration determination process has not been performed yet (step S3 ⁇ No), the process returns to step S1 and the migration method determination process is continued. On the other hand, when the migration determination unit 111 finishes processing all the VM20s, the migration determination unit 111 proceeds to the next step S4.
  • the migration method determination process of the migration determination unit 111 the determination results of the following three cases can be obtained for the VM 20 constituting the service. (Case 1) Healing is performed for all VM20s. (Case 2) Healing and live migration are used together. (Case 3) Live migration is executed for all VM20s.
  • the migration instruction unit 112 of the virtualization infrastructure control device 10 inquires the configuration information monitoring unit 123 about the configuration information of the VM 20 constituting the service (step S4).
  • the configuration information monitoring unit 123 acquires the latest configuration information from the virtual machine setting file 31 of the compute 30 and each VM 20.
  • the information acquired by the configuration information monitoring unit 123 includes information on whether or not each VM 20 has a redundant configuration, and in the case of a redundant configuration, information indicating whether the VM 20 is in the ACT state or the SBY state at the present time. Is included.
  • the configuration information monitoring unit 123 stores the acquired configuration information in the configuration management table in the storage unit 13 and responds to the migration instruction unit 112.
  • the migration instruction unit 112 determines whether or not the configuration of the VM 20 is a redundant configuration (step S5). Here, the migration instruction unit 112 proceeds to step S6 unless it has a redundant configuration (step S5 ⁇ No).
  • step S6 the migration instruction unit 112 generates instruction information for executing the migration of each VM 20 in parallel. Then, the migration instruction unit 112 outputs the generated instruction information to the migration execution unit 113.
  • the migration instruction unit 112 does not execute the migration of all VM20s in parallel in consideration of the influence of the service unit due to the cooperative operation between the service components (VM20s) and the processing load of the compute 30, for example.
  • the VM 20s that execute the processing may be grouped so that the processing load of each compute 30 is equalized, and the migration processing may be executed for each group.
  • step S7 the migration instruction unit 112 instructs to sequentially execute the processing of each VM 20. Generate information. Then, the migration instruction unit 112 outputs the generated instruction information to the migration execution unit 113.
  • step S4 the migration instruction unit 112 uses information on whether the VM20 in the redundant configuration is in the ACT state or the SBY state, and performs the migration process of the VM20 in the SBY state first. Generates instruction information for which is set. By doing so, the system switching process between the SBY state and the ACT state can be reduced, so that the service interruption time for the entire service can be reduced.
  • step S8 the migration execution unit 113 executes the migration process of each VM 20 by transmitting the migration execution notification based on the instruction information of the migration instruction unit 112 to the virtualization layer 32 of the compute 30. ..
  • the virtualization platform control device 10 can reduce the service interruption time of the entire service by appropriately selecting healing and live migration. Further, by using healing and live migration together, it is possible to reduce the time for single-system operation as compared with the case where all the migration processing is executed by healing.
  • FIG. 5 is a flowchart showing the flow of the migration method determination process according to the present embodiment.
  • the migration determination unit 111 identifies the compute 30 to which the VM 20 is assigned with respect to the VM 20 selected in step S1 of FIG. 4 with reference to the resource management table 131, and uses the operation parameter monitoring unit 122 to identify the VM 20. Acquire the operation parameters of the compute 30 (step S21).
  • the migration determination unit 111 determines whether or not the operating state of the acquired operation parameter satisfies a predetermined operating condition in which live migration can be executed (step S22).
  • the migration determination unit 111 sets the SR-IOV as a predetermined operating condition in which live migration can be executed, for example, when the emulator pin in the CPU allocation state is specified, when the shared disk is not mounted, or when the CPU pinning is not specified. It is determined that the operating conditions for live migration can be satisfied when there is no use.
  • the migration determination unit 111 selects healing as the migration method (step S26).
  • step S22 if the migration determination unit 111 satisfies the predetermined operating conditions under which live migration can be executed (step S22 ⁇ Yes), the migration determination unit 111 proceeds to the next step S23.
  • step S23 the migration determination unit 111 acquires the metric information of the VM20 and the compute 30 equipped with the VM20 via the resource monitoring unit 121.
  • the migration determination unit 111 compares predetermined load information (image size, local disk I / O, memory loading amount, memory update frequency, effective NW bandwidth, etc.) with a preset threshold value based on the metric information. By doing so, it is determined whether or not live migration can be executed (step S24).
  • predetermined load information image size, local disk I / O, memory loading amount, memory update frequency, effective NW bandwidth, etc.
  • step S24 ⁇ executable when the migration determination unit 111 determines that the live migration is executable (step S24 ⁇ executable), the migration determination unit 111 selects live migration as the migration method (step S25). On the other hand, when the migration determination unit 111 determines that the live migration cannot be executed (step S24 ⁇ cannot be executed), the migration determination unit 111 selects healing as the migration method (step S26).
  • the virtualization infrastructure control device 10 selects live migration for migration of compute that satisfies predetermined operating conditions and has a low load. Further, the virtualization platform control device 10 can select healing for migration of a compute that does not satisfy a predetermined operating condition or has a high load. In addition, since it is determined whether healing or live migration should be selected based on the current operation status (operation parameters, load information, etc.), it is possible to select the optimum migration method according to the real-time operation status. ..
  • the virtualization platform control device 10 is realized by, for example, a computer 900 having a configuration as shown in FIG.
  • FIG. 6 is a hardware configuration diagram showing an example of a computer 900 that realizes the functions of the virtualization infrastructure control device 10.
  • the computer 900 includes a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM (Random Access Memory) 903, an HDD (Hard Disk Drive) 904, an input / output I / F (Interface) 905, and a communication I / F 906. And has media I / F907.
  • the CPU 901 operates based on the program stored in the ROM 902 or the HDD 904, and is controlled by the control unit (migration control unit 11, monitoring unit 12) of FIG.
  • the ROM 902 stores a boot program executed by the CPU 901 when the computer 900 is started, a program related to the hardware of the computer 900, and the like.
  • the CPU 901 controls an input device 910 such as a mouse and a keyboard and an output device 911 such as a display and a printer via the input / output I / F 905.
  • the CPU 901 acquires data from the input device 910 and outputs the generated data to the output device 911 via the input / output I / F 905.
  • the HDD 904 stores a program (virtualization infrastructure control program) executed by the CPU 901, data used by the program, and the like.
  • the communication I / F906 receives data from another device (for example, a network management device) which is not shown via the communication network (for example, network 5) and outputs the data to the CPU 901, and also outputs the data generated by the CPU 901. , Send to other devices via the communication network.
  • the media I / F907 reads the program (virtualization board control program) or data stored in the recording medium 912 and outputs the program (virtualization board control program) or data to the CPU 901 via the RAM 903.
  • the CPU 901 loads the program related to the target processing from the recording medium 912 onto the RAM 903 via the media I / F 907, and executes the loaded program.
  • the recording medium 912 is an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk), a magneto-optical recording medium such as MO (Magneto Optical disk), a magnetic recording medium, a conductor memory tape medium, a semiconductor memory, or the like. Is.
  • the CPU 901 of the computer 900 realizes the function of the virtualization board control device 10 by executing the program loaded on the RAM 903. .. Further, the data in the RAM 903 is stored in the HDD 904. The CPU 901 reads a program related to the target process from the recording medium 912 and executes it. In addition, the CPU 901 may read a program related to the target processing from another device via the communication network (network 5).
  • the virtualization infrastructure control device is the virtualization infrastructure control device 10 that causes the compute 30 to execute the migration of the VM 20 or the container 25, and determines whether or not the state can be a constraint in executing the live migration. Live migration or healing for each of the operation parameter monitoring unit 122 that acquires the operation parameters for the operation, the resource monitoring unit 121 that acquires the predetermined load information about the compute, and the VM 20 or the container 25 that is installed in the compute and provides the service.
  • a migration determination unit 111 that selects one of these as a migration execution method is provided, and the operation parameters satisfy a predetermined operating condition for the migration determination unit 111 to determine that live migration can be executed.
  • the load when it is determined that the load is low by comparing the predetermined load information with the predetermined threshold value for determining that the live migration can be executed, it is determined that the live migration is to be executed, and the operation parameters are predetermined. It is characterized in that it is determined that healing is performed when it is determined that the operating conditions are not satisfied or the load is high by comparing the predetermined load information with a predetermined threshold value.
  • the virtualization platform control device 10 is adjusted to the real-time operating state in order to determine whether to select healing or live migration based on the current operating state (operating parameters, load information, etc.). It is possible to select the optimum migration method. Therefore, it is possible to reduce the influence of migration on the service.
  • the configuration information monitoring unit 123 that acquires the configuration information for each VM 20 or container 25 that provides the service, and the service as a whole are determined for the plurality of VM 20 or container 25 based on the configuration information. It is further provided with a migration instruction unit 112 for instructing the execution order of the VM 20 or the container 25 constituting the service so that the total value of the processing time of the live migration or the healing is reduced.
  • the virtualization infrastructure control device 10 makes it possible to reduce the total processing time of live migration or healing determined for the plurality of VM 20s or containers 25 as a whole service. That is, the migration execution order for the VM 20 or the container 25 can be determined in consideration of the influence of the cooperative operation between the plurality of VM 20s or the containers 25 constituting the service on the service unit. In particular, according to the virtualization platform control device 10, it is possible to execute in combination with live migration as compared with the case where everything is executed by healing, so that the time for one-system operation due to the down of the SBY system is reduced. can do.
  • the configuration information includes information indicating a redundant configuration for a plurality of VMs 20 or containers 25, and the migration instruction unit 112 has a redundant configuration when the configuration information is acquired.
  • the migration instruction unit 112 When there is information indicating the redundant configuration, it is instructed to sequentially perform the live migration or healing determined for the plurality of VM20s or containers 25, and when there is no information indicating the redundant configuration, the determined live for the plurality of VM20s or containers 25 It is characterized by instructing migration or healing to be performed in parallel.
  • the virtualization infrastructure control device 10 sequentially executes migration so as not to stop the service. Further, when the configuration information does not include information indicating a redundant configuration for a plurality of VMs 20 or containers 25, the virtualization infrastructure control device 10 can reduce the service interruption time by executing migration in parallel.
  • Virtualization infrastructure control system 5 Network 10 Virtualization infrastructure control device 11 Migration control unit 12 Monitoring unit 13 Storage unit 20 VM 25 Container 30 Compute 31 Virtual machine configuration file 32 Virtualization layer 111 Migration judgment unit 112 Migration instruction unit 113 Migration execution unit 121 Resource monitoring unit 122 Operation parameter monitoring unit 123 Configuration information monitoring unit 130 Resource information repository 131 Resource management table (resource management) information) 132 Configuration management table (configuration management information) 135 Virtual Machine Image Repository

Landscapes

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

Abstract

仮想化基盤制御装置(10)は、動作パラメータを取得する動作パラメータ監視部(122)と、所定の負荷情報を取得するリソース監視部(121)と、マイグレーション判定部(111)と、を備える。マイグレーション判定部(111)は、動作パラメータが所定の動作条件を満たしており、かつ、所定の負荷情報について、所定の閾値と比較することにより負荷が低いと判定した場合に、ライブマイグレーションを実行すると判定し、動作パラメータが所定の動作条件を満たさない、若しくは、所定の負荷情報について、所定の閾値と比較することにより負荷が高いと判定した場合に、ヒーリングを実行すると判定する。

Description

仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム
 本発明は、仮想化基盤においてマイグレーションを実行させる仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラムに関する。
 近年、通信サービスにおいて、仮想化技術を適用したネットワーク機能の仮想化(NFV:Network Functions Virtualization)の採用が進展している。ネットワークの仮想化は、従来専用のハードウェアを用いて実現されていたネットワーク機能をソフトウェア化して汎用サーバ上で動作させるように構成する。このようなネットワーク機能の仮想化技術をキャリア網に適用することで、経済的にスケーラビリティと信頼性を両立させることや、迅速なサービスの提供、サービス毎の需要に応じた柔軟なリソース割当、ハードウェアの寿命に縛られないサービス展開等が実現できると期待されている。
 この仮想化技術を用いてサーバやネットワークといった物理資源を抽象化・隠蔽し、複数のアプリケーションやサービスに対して共通基盤を提供するシステムを仮想化基盤という。
 仮想化基盤上では、新たなVM(Virtual Machine:仮想マシン)/コンテナの生成や、既存のVM/コンテナの削除が容易になり、キャリアNWにおいて仮想化基盤上に搭載したアプリケーションをマイグレーションする際には、処理の停止を伴うヒーリングの手法が採用されるケースが存在する。なお、マイグレーションとは、システムやソフトウェアなどを、別の物理装置等へ移行することをいう。具体的には、ACT(Active)/SBY(Standby)構成のシステムの例では、SBY側を他の物理サーバに再立ち上げするヒーリング処理を用いて、マイグレーションを実現することが多い。
 一方、VM/コンテナ自体の処理能力を継続したままマイグレーションする手法が存在する。その代表的な技術であるライブマイグレーションでは、サービスを中断させずにマイグレーションすることができる。
 仮想化基盤において、このマイグレーションを実行する際の条件を判定する技術としては、例えば、VMware vSphere(「VMware vSphere」は登録商標)のDRS(Distributed Resource Scheduler)が知られている(非特許文献1参照)。DRSによれば、CPUやメモリ等の閾値を確認して、マイグレーションの実行および移行先ホストの選定等の処理を行うことができる(非特許文献2参照)。
"DRS PERFORMANCE," [online], VMware,[令和1年6月15日検索],インターネット<https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/drs-vsphere65-perf.pdf> "Japan Cloud Infrastructure Blog," [online], VMware,[令和1年6月15日検索],インターネット<https://blogs.vmware.com/jp-cim/2017/10/vexpert-nakagawa-vmware-vsphere-6-5-part6.html>
 上記した仮想化基盤のシステムにおけるマイグレーションを実行する場合に、ヒーリングの手法では、以下のような課題がある。
 (1)サービス停止を伴うため、SBY系システムへの適用が必要となり、系切替処理などの付随する多くの作業が必要になる。
 (2)ヒーリング処理に伴い、事前事後のコンフィグ投入などの工程が発生する。
 (3)SBY系システムのダウンを伴うため片系運転の時間が多く発生する。
 これに対し、ライブマイグレーションでは、VM/コンテナの生成を伴わないため、ヒーリングに比べ短時間で処理が完了するというメリットがある。しかしながら、ライブマイグレーションを実行しようとする場合に、動作条件に制約があるケースや、メモリ更新が高頻度で発生するようなアプリケーションでは、メモリ転送がタイムアウトとなり処理が終わらないケースや、ヒーリングよりも時間がかかってしまうケースがある。
 このような点を鑑みて本発明がなされたのであり、本発明は、サービスの運用状況に合わせて、ヒーリングとライブマイグレーションのうち適切なマイグレーション手法を判定して実行させることができる、仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラムを提供する。
 本発明に係る仮想化基盤制御装置は、VMまたはコンテナのマイグレーションをコンピュートに実行させる仮想化基盤制御装置であって、ライブマイグレーションを実行する上で制約となり得る状態か否かを判定するための動作パラメータを取得する動作パラメータ監視部と、前記コンピュートについての所定の負荷情報を取得するリソース監視部と、前記コンピュートに搭載され、サービスを提供する前記VMまたはコンテナごとに、前記ライブマイグレーションかヒーリングかのいずれかを、前記マイグレーションの実行手法として選択するマイグレーション判定部と、を備え、前記マイグレーション判定部が、前記ライブマイグレーションが実行可能と判定するための所定の動作条件を前記動作パラメータが満たしており、かつ、前記所定の負荷情報について、前記ライブマイグレーションが実行可能であると判定するための所定の閾値と比較することにより負荷が低いと判定した場合に、前記ライブマイグレーションを実行すると判定し、前記動作パラメータが前記所定の動作条件を満たさない、若しくは、前記所定の負荷情報について、前記所定の閾値と比較することにより負荷が高いと判定した場合に、ヒーリングを実行すると判定することを特徴とする。
 本発明によれば、サービスの運用状況に合わせて、ヒーリングとライブマイグレーションのうち適切なマイグレーション手法を判定して実行させる、仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラムを提供することができる。
本実施形態に係る仮想化基盤制御装置を含む仮想化基盤制御システムの構成を示すブロック図である。 本実施形態に係るリソース管理テーブル(リソース管理情報)のデータ構成の一例を示す図である。 本実施形態に係る構成管理テーブルのデータ構成の一例を示す図である。 本実施形態に係るマイグレーション手法判定処理およびマイグレーション実行制御処理の全体の流れを示すフローチャートである。 本実施形態に係るマイグレーション手法判定処理の流れを示すフローチャートである。 本実施形態に係る仮想化基盤制御装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
 次に、本発明を実施するための形態(以下、「本実施形態」と称する。)について説明する。まず、本実施形態に係る仮想化基盤制御装置10(図1参照)を含む仮想化基盤制御システム1について説明する。
 図1は、本実施形態に係る仮想化基盤制御装置10を含む仮想化基盤制御システム1の構成を示すブロック図である。
 仮想化基盤制御システム1は、1つ以上のコンピュート(Compute)30(物理リソース:VM/コンテナが動作するホスト(コンピュータ))と、仮想化基盤制御装置10とが、ネットワーク(NW)5を介して通信接続される。なお、以下に示す実施形態においては、コンピュート30上にVM20を構築した例として説明するが、コンピュート30上にコンテナ25を構築した場合でも同様の作用効果を奏する。
 コンピュート30には、仮想化基盤制御装置10の制御に基づき、仮想化環境として1つ以上のVM20を構築することができる。また、VM20には、1つ以上のアプリケーションを配置(搭載)することができ、ユーザ端末(図示省略)からの要求に基づくサービスを提供する。
 このコンピュート30は、図1に示すように、仮想マシン設定ファイル31および仮想化層32を備える。仮想マシン設定ファイル31には、VM20の設定情報が格納される。仮想化層32は、VM20の生成や処理の制御を行う。
 仮想化基盤制御装置10は、各コンピュート30やVM20等に通信接続され、VM20の制御やリソースの割当を行うとともに、VM20のマイグレーションに関する指示を行う。
 以下、仮想化基盤制御装置10について、詳細に説明する。
<仮想化基盤制御装置>
 本実施形態に係る仮想化基盤制御装置10は、コンピュート30がライブマイグレーションを実行できる動作条件を満たすか否かを判定するとともに、コンピュート30やVM20の運用状況(後記する「動作パラメータ」や「負荷情報」等)を監視し、ヒーリングとライブマイグレーションのうち適切なマイグレーション手法を判定して実行させる。具体的には、仮想化基盤制御装置10は、各VM20のマイグレーションの実行に際して、動作条件を満たしかつ負荷の低い場合では、ライブマイグレーションを実行すると判定し、動作条件を満たさない若しくは負荷の高い場合では、ヒーリングを実行すると判定する。
 さらに、仮想化基盤制御装置10は、複数のVM20をマイグレーションする場合において、サービス単位での影響を考慮してマイグレーションを実行する順序を決定する。このようにすることで、マイグレーションによるサービスへの影響を低減することが可能となる。
 図1に示す仮想化基盤制御装置10は、制御部、入出力部(いずれも図示省略)および記憶部13を備えるコンピュータ等により実現される。
 入出力部は、情報の送受信を行うための通信インタフェース、および、タッチパネルやキーボード等の入力装置や、モニタ等の出力装置との間で情報の送受信を行うための入出力インタフェースからなる。
 記憶部13は、フラッシュメモリやハードディスク、RAM(Random Access Memory)等により構成される。この仮想化基盤制御装置10の記憶部13には、図1に示すように、リソース情報リポジトリ130と仮想マシンイメージリポジトリ135とが記憶される。
 リソース情報リポジトリ130には、各コンピュート30に構築するVM20の情報(リソースの割当先の情報)を含むリソース管理テーブル131(リソース管理情報)(図2参照)と、アプリケーションを実行するVM20の構成情報が記憶される構成管理テーブル132(構成管理情報)(図3参照)とが格納される。また、仮想マシンイメージリポジトリ135には、インストール済みのゲストOSを含む仮想インスタンス(VM)を起動するためのテンプレートであるVMイメージが格納される。
 なお、この記憶部13には、制御部の各機能を実行させるためのプログラム(仮想化基盤制御プログラム)や、制御部の処理に必要な情報(後記する、閾値の情報等)が記憶される。なお、この記憶部13には、仮想化基盤を実現するために必要となる他の既存情報も備える。
 図2は、本実施形態に係るリソース管理テーブル131(リソース管理情報)のデータ構成の一例を示す図である。
 リソース管理テーブル131には、コンピュート30の識別情報である「Compute ID」に対応付けて、「割当先」の情報が格納される。
 この「割当先」には、その「Compute ID」で示されるコンピュート30に構築されたVM20の識別情報が格納される。図2では、例えば、Compute IDが「#0」のコンピュート30において、「VM#1」「VM#2」「VM#5」のVM20が割り当てられていることを示す。
 図1に戻り、制御部は、マイグレーション制御部11と、監視部12とを含んで構成される。なお、この制御部には、仮想化基盤を実現するために必要となる他の既存機能も備える。
 監視部12は、コンピュート30およびVM20の構成や負荷状態を監視しており、リソース監視部121、動作パラメータ監視部122、構成情報監視部123を備える。
 リソース監視部121は、各コンピュート30やVM20を監視し、CPU使用率、メモリ使用率等の負荷状態を示す情報(所定の負荷情報)を、メトリクス情報として取得する。所定の負荷情報には、この他にも、例えば、イメージサイズ、ローカルディスクのディスクI/O(Input/Output)、メモリ搭載量、メモリ更新頻度、有効NW帯域幅等が監視対象として設定される。
 動作パラメータ監視部122は、コンピュート30に設定される動作パラメータの状態を取得する。動作パラメータの状態は、例えば、CPU割付状態のemulatorpinの指定有無、共有Diskのマウント有無、CPU Pinning指定有無、SR-IOV(Single Root I/O Virtualization)の利用有無など、ライブマイグレーションを実行する上で制約となり得る動作条件を示す情報である。動作パラメータ監視部122は、これらの動作パラメータのうち、予め設定された所定の動作パラメータの状態を監視する。
 動作パラメータ監視部122は、仮想マシン設定ファイル31を確認してこれらの動作パラメータの状態を取得してもよいし、各VM20に問い合わせることにより動作パラメータの状態を取得してもよい。
 構成情報監視部123は、移動(マイグレーション)の対象となるアプリケーションを実行してサービスを提供しているVM20の構成情報を取得する。この構成情報には、例えば、アプリケーションを連携動作する複数のVM20の情報や、アプリケーションを実行するVM20が冗長構成(ACT/SBY)であることの情報を含む。ここで、冗長構成(ACT/SBY)構成の情報には、現時点でそのVM20がACT状態であるのかSBY状態であるのか等の情報も含まれる。そして、構成情報監視部123は、取得した構成情報を、リソース情報リポジトリ130内の構成管理テーブル132に格納する。
 図3は、本実施形態に係る構成管理テーブル132のデータ構成の一例を示す図である。
 構成管理テーブル132には、アプリケーション名(App)およびアプリケーションID(App ID)に対応付けて、連携して動作するVM20のID(識別子)(VM ID)が格納される。
 図3に示すように、例えば、アプリケーション名(App)が「VNF1」でアプリケーションID(App ID)が「#01」のアプリケーションに対応するVM20の構成は、VM ID「#1」「#11」のVM20について冗長構成(ACT/SBY)のペアあることを示している。また、アプリケーション名(App)が「VNF10」でアプリケーションID(App ID)が「#010」のアプリケーションは、VMIDが「#5」のVM20と「#6」の2つのVM20で、一連のサービス(1つのサービス)を提供していることを示している。
 図1に戻り、マイグレーション制御部11は、ヒーリングとライブマイグレーションのうち適切なマイグレーション手法を判定してコンピュート30に実行を指示する制御を行う。このマイグレーション制御部11は、マイグレーション判定部111、マイグレーション指示部112、マイグレーション実行部113を備える。
 マイグレーション判定部111は、不図示のネットワーク管理装置等から、例えば、システムの保守やアップグレードなどのためにサービス実行中のVM20について、現時点の物理装置(コンピュート30)から別の物理装置(コンピュート30)にマイグレーションする指示(後記する「マイグレーション要求」)を受け付けると、以下の処理を実行する。
 マイグレーション判定部111は、リソース監視部121が取得したメトリクス情報(負荷情報)や動作パラメータ監視部122が取得した動作パラメータの状態情報を用いて、VM20単位で、ヒーリングとライブマイグレーションのうち、適切なマイグレーション手法を判定(選択)する。
 具体的には、マイグレーション判定部111は、動作パラメータ監視部122が取得した動作パラメータ情報を用いて、ライブマイグレーションを実行するための所定の動作条件を満たすか否かを判定する。そして、マイグレーション判定部111は、当該所定の動作条件を満たさない場合には、ヒーリングによるマイグレーションを実行すると判定する。
 また、マイグレーション判定部111は、リソース監視部121が取得した負荷状態を示すメトリクス情報を用いて、所定の判定基準を満たすか否かにより、ライブマイグレーションが実行可能か否かを判定する。
 マイグレーション判定部111は、負荷状態による判定に用いる指標(負荷情報)として、例えば、イメージサイズ、ローカルディスクI/O、メモリ搭載量、メモリ更新頻度、有効NW帯域幅などを、予め設定しておく。そして、採用した負荷状態の指標に対して所定の閾値を設定しておき、その閾値と比較することにより、ライブマイグレーションが実行可能か否かを判定する。
 負荷状態の指標については、事前に設定される固定的な値であってもよいし、動的な変更情報(例えば、ディスク空き容量、ディスクの空き読込帯域、NWの空き帯域など)であってもよい。
 マイグレーション指示部112は、マイグレーション判定部111が各VM20について判定したマイグレーション手法(ヒーリングまたはライブマイグレーション)の情報を取得すると、以下の処理を実行する。
 マイグレーション指示部112は、例えばアプリケーションを実行する複数のVM20の構成情報を構成情報監視部123に問い合わせる。なお、構成情報監視部123は、この問い合わせを受けて、最新(現時点)のVM20の構成情報を取得し、マイグレーション指示部112に応答するとともに、取得した構成情報を構成管理テーブル132に格納する。また、構成情報監視部123は、VM20の構成情報の変更を所定の時間間隔で監視し、その監視結果を構成管理テーブル132に格納しておき、その構成情報を、マイグレーション指示部112が取得するようにしてもよい。
 マイグレーション指示部112は、取得した構成情報に基づき、サービス単位での影響を考慮して、各VM20の実行順序を決定する。具体的には、マイグレーション指示部112は、複数のVM20それぞれについて判定された、ライブマイグレーションまたはヒーリングの処理時間の合計値が低減されるように、各VM20の実行順序を決定する。なお、本実施形態では、マイグレーション指示部112が、複数のVM20が冗長構成であるか否か判定して、マイグレーションの実行順序を決定し指示情報を生成する例として説明する。
 マイグレーション指示部112は、取得した構成情報に基づき、複数のVM20の構成が冗長構成であると判定した場合には、各VM20についてマイグレーション判定部111が判定したマイグレーション処理(ヒーリング、ライブマイグレーション)を順次実行するようにした指示情報を生成する。
 このとき、マイグレーション指示部112は、冗長構成を持つ複数のVM20について判定されたマイグレーション手法がすべてヒーリングであった場合には、その複数のVM20それぞれに対するヒーリングの実行を順次行うようにした指示情報を生成する。
 また、マイグレーション指示部112は、冗長構成を持つ複数のVM20について判定されたマイグレーション手法がすべてライブマイグレーションであった場合には、その複数のVM20それぞれに対するライブマイグレーションの実行を順次行うようにした指示情報を生成する。
 さらに、マイグレーション指示部112は、冗長構成を持つ複数のVM20について判定されたマイグレーション手法において、ヒーリングとライブマイグレーションが混在する場合には、順次ヒーリング、ライブマイグレーションの実行するようにした指示情報を生成する。
 一方、マイグレーション指示部112は、取得した構成情報に基づき、複数のVM20の構成が冗長構成でないと判定した場合には、各VM20のマイグレーション(ヒーリング、ライブマイグレーション)を並列で実行する指示情報を生成する。
 このように、各VM20のマイグレーション(ヒーリング、ライブマイグレーション)を並列で実行させることにより、サービス全体でのマイグレーションにかかる処理時間を低減させることができる。
 そして、マイグレーション指示部112は、生成した指示情報を、マイグレーション実行部113に出力する。
 マイグレーション実行部113は、コンピュート30の仮想化層32に対して、マイグレーション指示部112から取得した指示情報に基づくマイグレーション実行通知を送信する。これにより、マイグレーション実行部113は、各コンピュート30に、マイグレーション処理を実行させる。
 具体的には、例えば、指示情報によるマイグレーションの手法がヒーリングの場合に、マイグレーション実行部113は、VM20のSBY遷移を必要に応じて実行させる。その後、ヒーリングによりSBY系のVM20を異なるコンピュート30に退避させる。そして、必要なコンフィグ投入などを行わせ、ACT系との同期を経て系に組み込む処理を行わせる。
<処理の流れ>
 次に、仮想化基盤制御装置10が実行する処理の流れについて説明する。
 図4は、本実施形態に係るマイグレーション手法判定処理およびマイグレーション実行制御処理の全体の流れを示すフローチャートである。
 ここでは、不図示のネットワーク管理装置などから仮想化基盤制御装置10が、あるサービスを提供するアプリケーションに関するマイグレーションの要求情報(以下「マイグレーション要求」と称する。)を取得したものとして説明する。このマイグレーション要求には、マイグレーションの対象となる1つ以上のVM20の識別情報が含まれる。なお、以下においては、あるサービスを提供する複数のVM20のマイグレーションの指示を受けたものとして説明する。なお、マイグレーションの対象が1つのVM20のみであった場合には、マイグレーション手法判定処理(図5)を行い、ヒーリングまたはライブマイグレーションのいずれかを選択して実行させるようにする。
 まず、仮想化基盤制御装置10のマイグレーション判定部111は、マイグレーション要求を参照し、サービスを構成する複数のVM20のうちの1つを選択する(ステップS1)。
 続いて、マイグレーション判定部111は、マイグレーション手法判定処理を実行する(ステップS2)。このマイグレーション手法判定処理により、マイグレーション判定部111は、そのVM20に最適な手法として、ヒーリングまたはライブマイグレーションのいずれかを選択する。なお、このマイグレーション手法判定処理の詳細は、図5を参照して後記する。
 次に、マイグレーション判定部111は、サービスを構成するVM20のすべてを処理したか否かを判定する(ステップS3)。そして、まだマイグレーション判定処理を行っていないVM20があれば(ステップS3→No)、ステップS1に戻り、マイグレーション手法判定処理を続ける。一方、マイグレーション判定部111は、すべてのVM20の処理を終えた場合には、次のステップS4へ進む。
 なお、ここで、マイグレーション判定部111のマイグレーション手法判定処理により、サービスを構成するVM20について、次の3つのケースの判定結果が得られる。
 (ケース1)すべてのVM20について、ヒーリングを実行する。
 (ケース2)ヒーリングとライブマイグレーションを併用して実行する。
 (ケース3)すべてのVM20について、ライブマイグレーションを実行する。
 続いて、仮想化基盤制御装置10のマイグレーション指示部112は、構成情報監視部123に、サービスを構成するVM20の構成情報を問い合わせる(ステップS4)。構成情報監視部123は、最新の構成情報をコンピュート30の仮想マシン設定ファイル31や、各VM20から取得する。このとき、構成情報監視部123が取得する情報には、各VM20が冗長構成となっているか否かの情報や、冗長構成の場合に、そのVM20が現時点でACT状態かSBY状態かを示す情報が含まれる。そして、構成情報監視部123は、取得した構成情報を記憶部13内の構成管理テーブルに格納するとともに、マイグレーション指示部112に応答する。
 次に、マイグレーション指示部112は、VM20の構成が冗長構成であるか否かを判定する(ステップS5)。ここで、マイグレーション指示部112は、冗長構成でなければ(ステップS5→No)、ステップS6へ進む。
 ステップS6において、マイグレーション指示部112は、各VM20のマイグレーションを並列で実行する指示情報を生成する。そして、マイグレーション指示部112は、生成した指示情報をマイグレーション実行部113に出力する。
 このようにVM20毎のマイグレーション(ヒーリング、ライブマイグレーション)を並列で処理させることにより、サービス全体でのサービス断時間を低減することができる。
 なお、マイグレーション指示部112は、サービス構成要素(VM20)間の連携動作によるサービス単位の影響や、コンピュート30の処理負荷を考慮して、すべてのVM20のマイグレーションを並列で実行するのではなく、例えば、各コンピュート30の処理負荷が均等になるように処理を実行するVM20のグループ分けを行い、そのグループごとにマイグレーション処理を実行させてもよい。
 一方、ステップS5において、VM20の構成が冗長構成であると判定された場合には(ステップS5→Yes)、ステップS7において、マイグレーション指示部112は、各VM20の処理を順次実行するようにした指示情報を生成する。そして、マイグレーション指示部112は、生成した指示情報をマイグレーション実行部113に出力する。
 ここで、マイグレーション指示部112は、ステップS4において、冗長構成となるVM20が、ACT状態であるかSBY状態であるかの情報を用いて、SBY状態であるVM20を先にマイグレーション処理するような順序を設定した指示情報を生成する。このようにすることで、SBY状態とACT状態との間の系切替処理を減らすことができるため、サービス全体でのサービス断時間を低減することができる。
 次に、ステップS8において、マイグレーション実行部113は、コンピュート30の仮想化層32に対して、マイグレーション指示部112の指示情報に基づくマイグレーション実行通知を送信することにより、各VM20のマイグレーション処理を実行させる。
 このように、仮想化基盤制御装置10は、ヒーリングとライブマイグレーションを適切に選択することにより、サービス全体でのサービス断時間を低減することができる。また、ヒーリングとライブマイグレーションを併用することにより、マイグレーション処理をすべてヒーリングで実行する場合に比べ、片系運転の時間を低減することができる。
(マイグレーション手法判定処理)
 図5は、本実施形態に係るマイグレーション手法判定処理の流れを示すフローチャートである。
 まず、マイグレーション判定部111は、図4のステップS1において選択したVM20について、そのVM20が割当てられているコンピュート30をリソース管理テーブル131を参照して特定し、動作パラメータ監視部122を介して、当該コンピュート30の動作パラメータを取得する(ステップS21)。
 続いて、マイグレーション判定部111は、取得した動作パラメータの動作状態が、ライブマイグレーションの実行可能な所定の動作条件を満たしているか否かを判定する(ステップS22)。
 マイグレーション判定部111は、ライブマイグレーションの実行可能な所定の動作条件として、例えば、CPU割付状態のemulatorpinの指定がある場合、共有Diskのマウントがない場合、CPU Pinning指定がない場合、SR-IOVの利用がない場合などに、ライブマイグレーションが実行可能な動作条件を満たすと判定する。
 ここで、所定の動作条件を満たしていない場合(ステップS22→No)、マイグレーション判定部111は、マイグレーションの手法としてヒーリングを選択する(ステップS26)。
 一方、ステップS22において、マイグレーション判定部111は、ライブマイグレーションの実行可能な所定の動作条件を満たしている場合には(ステップS22→Yes)、次のステップS23に進む。
 ステップS23において、マイグレーション判定部111は、当該VM20および当該VM20を搭載するコンピュート30のメトリクス情報を、リソース監視部121を介して取得する。
 続いて、マイグレーション判定部111は、メトリクス情報に基づき、所定の負荷情報(イメージサイズ、ローカルディスクI/O、メモリ搭載量、メモリ更新頻度、有効NW帯域幅など)について、予め設定した閾値と比較することにより、ライブマイグレーションが実行可能か否かを判定する(ステップS24)。
 そして、マイグレーション判定部111は、ライブマイグレーションが実行可能であると判定した場合(ステップS24→実行可能)、マイグレーションの手法としてライブマイグレーションを選択する(ステップS25)。一方、マイグレーション判定部111は、ライブマイグレーションが実行不可であると判定した場合(ステップS24→実行不可)、マイグレーションの手法として、ヒーリングを選択する(ステップS26)。
 このようにすることで、仮想化基盤制御装置10は、所定の動作条件を満たし、かつ、負荷の低いコンピュートのマイグレーションには、ライブマイグレーションを選択する。また、仮想化基盤制御装置10は、所定の動作条件を満たさない、若しくは、負荷の高いコンピュートのマイグレーションには、ヒーリングを選択することができる。また、現時点の運用状況(動作パラメータや負荷情報など)に基づいて、ヒーリングとライブマイグレーションのどちらを選択すべきかを判定するため、リアルタイムの運用状態にあわせた最適なマイグレーション手法の選択が可能となる。
<ハードウェア構成>
 本実施形態に係る仮想化基盤制御装置10は、例えば図6に示すような構成のコンピュータ900によって実現される。
 図6は、仮想化基盤制御装置10の機能を実現するコンピュータ900の一例を示すハードウェア構成図である。コンピュータ900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903、HDD(Hard Disk Drive)904、入出力I/F(Interface)905、通信I/F906およびメディアI/F907を有する。
 CPU901は、ROM902またはHDD904に記憶されたプログラムに基づき作動し、図1の制御部(マイグレーション制御部11、監視部12)による制御を行う。ROM902は、コンピュータ900の起動時にCPU901により実行されるブートプログラムや、コンピュータ900のハードウェアに係るプログラム等を記憶する。
 CPU901は、入出力I/F905を介して、マウスやキーボード等の入力装置910、および、ディスプレイやプリンタ等の出力装置911を制御する。CPU901は、入出力I/F905を介して、入力装置910からデータを取得するともに、生成したデータを出力装置911へ出力する。
 HDD904は、CPU901により実行されるプログラム(仮想化基盤制御プログラム)および当該プログラムによって使用されるデータ等を記憶する。通信I/F906は、通信網(例えば、ネットワーク5)を介して図示せぬ他の装置(例えば、ネットワーク管理装置など)からデータを受信してCPU901へ出力し、また、CPU901が生成したデータを、通信網を介して他の装置へ送信する。
 メディアI/F907は、記録媒体912に格納されたプログラム(仮想化基盤制御プログラム)またはデータを読み取り、RAM903を介してCPU901へ出力する。CPU901は、目的の処理に係るプログラムを、メディアI/F907を介して記録媒体912からRAM903上にロードし、ロードしたプログラムを実行する。記録媒体912は、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、磁気記録媒体、導体メモリテープ媒体又は半導体メモリ等である。
 例えば、コンピュータ900が実施形態に係る仮想化基盤制御装置10として機能する場合、コンピュータ900のCPU901は、RAM903上にロードされたプログラムを実行することにより、仮想化基盤制御装置10の機能を実現する。また、HDD904には、RAM903内のデータが記憶される。CPU901は、目的の処理に係るプログラムを記録媒体912から読み取って実行する。この他、CPU901は、他の装置から通信網(ネットワーク5)を介して目的の処理に係るプログラムを読み込んでもよい。
<効果>
 以下、仮想化基盤制御装置の効果について説明する。
 本発明に係る仮想化基盤制御装置は、VM20またはコンテナ25のマイグレーションをコンピュート30に実行させる仮想化基盤制御装置10であって、ライブマイグレーションを実行する上で制約となり得る状態か否かを判定するための動作パラメータを取得する動作パラメータ監視部122と、コンピュートについての所定の負荷情報を取得するリソース監視部121と、コンピュートに搭載され、サービスを提供するVM20またはコンテナ25ごとに、ライブマイグレーションかヒーリングかのいずれかを、マイグレーションの実行手法として選択するマイグレーション判定部111と、を備え、マイグレーション判定部111が、ライブマイグレーションが実行可能と判定するための所定の動作条件を動作パラメータが満たしており、かつ、所定の負荷情報について、ライブマイグレーションが実行可能であると判定するための所定の閾値と比較することにより負荷が低いと判定した場合に、ライブマイグレーションを実行すると判定し、動作パラメータが所定の動作条件を満たさない、若しくは、所定の負荷情報について、所定の閾値と比較することにより負荷が高いと判定した場合に、ヒーリングを実行すると判定することを特徴とする。
 このように、仮想化基盤制御装置10は、現時点の運用状況(動作パラメータや負荷情報など)に基づいて、ヒーリングとライブマイグレーションのどちらを選択すべきかを判定するため、リアルタイムの運用状態に合わせた最適なマイグレーション手法の選択が可能となる。よって、マイグレーションによるサービスへの影響を低減することが可能となる。
 また、仮想化基盤制御装置10において、サービスを提供するVM20またはコンテナ25ごとの構成情報を取得する構成情報監視部123と、構成情報に基づき、サービス全体として、複数のVM20またはコンテナ25について判定されたライブマイグレーションまたはヒーリングの処理時間の合計値が低減されるように、サービスを構成するVM20またはコンテナ25の実行順序の指示するマイグレーション指示部112と、をさらに備えることを特徴とする。
 このように、仮想化基盤制御装置10は、サービス全体として、複数のVM20またはコンテナ25について判定されたライブマイグレーションまたはヒーリングの処理時間の合計値が低減されるようにする。つまり、サービスを構成する複数のVM20またはコンテナ25間の連携動作によるサービス単位での影響を考慮して、VM20またはコンテナ25に関するマイグレーションの実行順序を決定できる。
 特に、仮想化基盤制御装置10によれば、すべてをヒーリングで実行する場合に比べ、ライブマイグレーションと組み合わせて実行することが可能となるため、SBY系システムのダウンに伴う片系運転の時間を低減することができる。
 また、仮想化基盤制御装置10において、構成情報には、複数のVM20またはコンテナ25についての冗長構成を示す情報が含まれており、マイグレーション指示部112は、構成情報を取得した場合に、冗長構成を示す情報があるときには、複数のVM20またはコンテナ25について判定されたライブマイグレーションまたはヒーリングを順次実行するように指示し、冗長構成を示す情報がないときには、複数のVM20またはコンテナ25について判定されたライブマイグレーションまたはヒーリングを並列で実行させるように指示することを特徴とする。
 このように、仮想化基盤制御装置10は、構成情報に、複数のVM20またはコンテナ25についての冗長構成を示す情報があるときには、サービスを停止させないように順次マイグレーションを実行させる。また、仮想化基盤制御装置10は、構成情報に、複数のVM20またはコンテナ25についての冗長構成を示す情報がないときには、マイグレーションを並列で実行させることで、サービス断時間を低減することができる。
 1   仮想化基盤制御システム
 5   ネットワーク
 10  仮想化基盤制御装置
 11  マイグレーション制御部
 12  監視部
 13  記憶部
 20  VM
 25  コンテナ
 30  コンピュート
 31  仮想マシン設定ファイル
 32  仮想化層
 111 マイグレーション判定部
 112 マイグレーション指示部
 113 マイグレーション実行部
 121 リソース監視部
 122 動作パラメータ監視部
 123 構成情報監視部
 130 リソース情報リポジトリ
 131 リソース管理テーブル(リソース管理情報)
 132 構成管理テーブル(構成管理情報)
 135 仮想マシンイメージリポジトリ

Claims (5)

  1.  VM(Virtual Machine)またはコンテナのマイグレーションをコンピュートに実行させる仮想化基盤制御装置であって、
     ライブマイグレーションを実行する上で制約となり得る状態か否かを判定するための動作パラメータを取得する動作パラメータ監視部と、
     前記コンピュートについての所定の負荷情報を取得するリソース監視部と、
     前記コンピュートに搭載され、サービスを提供する前記VMまたはコンテナごとに、前記ライブマイグレーションかヒーリングかのいずれかを、前記マイグレーションの実行手法として選択するマイグレーション判定部と、を備え、
     前記マイグレーション判定部は、
     前記ライブマイグレーションが実行可能と判定するための所定の動作条件を前記動作パラメータが満たしており、かつ、前記所定の負荷情報について、前記ライブマイグレーションが実行可能であると判定するための所定の閾値と比較することにより負荷が低いと判定した場合に、前記ライブマイグレーションを実行すると判定し、
     前記動作パラメータが前記所定の動作条件を満たさない、若しくは、前記所定の負荷情報について、前記所定の閾値と比較することにより負荷が高いと判定した場合に、ヒーリングを実行すると判定する
     ことを特徴とする仮想化基盤制御装置。
  2.  前記サービスを提供する前記VMまたはコンテナごとの構成情報を取得する構成情報監視部と、
     前記構成情報に基づき、前記サービス全体として、複数の前記VMまたはコンテナについて判定された前記ライブマイグレーションまたは前記ヒーリングの処理時間の合計値が低減されるように、前記サービスを構成する前記VMまたはコンテナの実行順序の指示するマイグレーション指示部と、をさらに備えること
     を特徴とする請求項1に記載の仮想化基盤制御装置。
  3.  前記構成情報には、複数の前記VMまたはコンテナについての冗長構成を示す情報が含まれており、
     前記マイグレーション指示部は、
     前記構成情報を取得した場合に、前記冗長構成を示す情報があるときには、複数の前記VMまたはコンテナについて判定された前記ライブマイグレーションまたは前記ヒーリングを順次実行するように指示し、前記冗長構成を示す情報がないときには、複数の前記VMまたはコンテナについて判定された前記ライブマイグレーションまたは前記ヒーリングを並列で実行させるように指示すること
     を特徴とする請求項2に記載の仮想化基盤制御装置。
  4.  VMまたはコンテナのマイグレーションをコンピュートに実行させる仮想化基盤制御装置の仮想化基盤制御方法であって、
     前記仮想化基盤制御装置は、
     ライブマイグレーションを実行する上で制約となり得る状態か否かを判定するための動作パラメータを取得する動作パラメータ監視ステップと、
     前記コンピュートについての所定の負荷情報を取得するリソース監視ステップと、
     前記コンピュートに搭載され、サービスを提供する前記VMまたはコンテナごとに、前記ライブマイグレーションかヒーリングかのいずれかを、前記マイグレーションの実行手法として選択するマイグレーション判定ステップと、を実行し、
     前記マイグレーション判定ステップにおいて、
     前記ライブマイグレーションが実行可能と判定するための所定の動作条件を前記動作パラメータが満たしており、かつ、前記所定の負荷情報について、前記ライブマイグレーションが実行可能であると判定するための所定の閾値と比較することにより負荷が低いと判定した場合に、前記ライブマイグレーションを実行すると判定し、
     前記動作パラメータが前記所定の動作条件を満たさない、若しくは、前記所定の負荷情報について、前記所定の閾値と比較することにより負荷が高いと判定した場合に、ヒーリングを実行すると判定する
     ことを特徴とする仮想化基盤制御方法。
  5.  請求項4に記載の仮想化基盤制御方法を、コンピュータに実行させるための仮想化基盤制御プログラム。
PCT/JP2019/025321 2019-06-26 2019-06-26 仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム WO2020261412A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/025321 WO2020261412A1 (ja) 2019-06-26 2019-06-26 仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム
US17/619,540 US20220229689A1 (en) 2019-06-26 2019-06-26 Virtualization platform control device, virtualization platform control method, and virtualization platform control program
JP2021528729A JP7176633B2 (ja) 2019-06-26 2019-06-26 仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/025321 WO2020261412A1 (ja) 2019-06-26 2019-06-26 仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム

Publications (1)

Publication Number Publication Date
WO2020261412A1 true WO2020261412A1 (ja) 2020-12-30

Family

ID=74060801

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/025321 WO2020261412A1 (ja) 2019-06-26 2019-06-26 仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム

Country Status (3)

Country Link
US (1) US20220229689A1 (ja)
JP (1) JP7176633B2 (ja)
WO (1) WO2020261412A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11822952B2 (en) * 2021-01-22 2023-11-21 Vmware, Inc. Managing downtime to networking managers during configuration updates in cloud computing environments
CN117173240B (zh) * 2023-11-03 2024-02-06 天津信天电子科技有限公司 伺服控制驱动器的ar辅助装配方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248616A (ja) * 2010-05-26 2011-12-08 Hitachi Ltd サーバシステム、及び、仮想サーバの移行方式を選択する方法
JP2014142678A (ja) * 2013-01-22 2014-08-07 Hitachi Ltd 仮想サーバ移行計画作成方法およびシステム
WO2016121728A1 (ja) * 2015-01-27 2016-08-04 日本電気株式会社 ネットワーク機能仮想化管理およびオーケストレーション装置とシステムと管理方法とプログラム
WO2017002812A1 (ja) * 2015-06-30 2017-01-05 日本電気株式会社 仮想化インフラストラクチャ管理装置、仮想ネットワークファンクション管理装置、仮想マシンの管理方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248616A (ja) * 2010-05-26 2011-12-08 Hitachi Ltd サーバシステム、及び、仮想サーバの移行方式を選択する方法
JP2014142678A (ja) * 2013-01-22 2014-08-07 Hitachi Ltd 仮想サーバ移行計画作成方法およびシステム
WO2016121728A1 (ja) * 2015-01-27 2016-08-04 日本電気株式会社 ネットワーク機能仮想化管理およびオーケストレーション装置とシステムと管理方法とプログラム
WO2017002812A1 (ja) * 2015-06-30 2017-01-05 日本電気株式会社 仮想化インフラストラクチャ管理装置、仮想ネットワークファンクション管理装置、仮想マシンの管理方法及びプログラム

Also Published As

Publication number Publication date
US20220229689A1 (en) 2022-07-21
JPWO2020261412A1 (ja) 2020-12-30
JP7176633B2 (ja) 2022-11-22

Similar Documents

Publication Publication Date Title
US10891168B2 (en) Automatically scaling up physical resources in a computing infrastructure
EP3606008B1 (en) Method and device for realizing resource scheduling
US10628273B2 (en) Node system, server apparatus, scaling control method, and program
JP6005795B2 (ja) 仮想マシンの信頼性のある決定論的ライブ移行
CN107534570B (zh) 用于虚拟化网络功能监控的计算机系统、方法和介质
JP6054522B2 (ja) 統合型ストレージ/vdiプロビジョニング方法
US9280380B2 (en) Management of I/O reqeusts in virtual machine migration
US8850432B2 (en) Controlling utilization in a multi-tenant platform-as-a-service (PaaS) environment in a cloud computing system
US9998399B2 (en) Cloud independent tuning service for autonomously managed workloads
US9223604B2 (en) Control method of virtual machine and virtual machine system
US20160156568A1 (en) Computer system and computer resource allocation management method
US8065560B1 (en) Method and apparatus for achieving high availability for applications and optimizing power consumption within a datacenter
US20140289205A1 (en) Data transfer apparatus, system, and method
US10846129B2 (en) Systems and methods for organizing on-demand migration from private cluster to public cloud
WO2014075875A1 (en) Automatic template creation based on new feeds
US10846079B2 (en) System and method for the dynamic expansion of a cluster with co nodes before upgrade
JP2016103179A (ja) 計算機リソースの割り当て方法及び計算機システム
US9965308B2 (en) Automatic creation of affinity-type rules for resources in distributed computer systems
US20210373968A1 (en) Load leveling device, load leveling method, and load leveling program
Ferdaus et al. Multi-objective, decentralized dynamic virtual machine consolidation using aco metaheuristic in computing clouds
WO2020261412A1 (ja) 仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム
WO2020158452A1 (ja) 仮想化基盤および仮想化基盤のスケーリング管理方法
US10877791B2 (en) Live migration of virtual machines between compute only nodes and hyperconverged nodes
US10831525B2 (en) Intelligent assignment of virtual machines to compute only or hyper converged nodes
JP2014067322A (ja) 仮想サーバの負荷分散システム、および負荷分散方法

Legal Events

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

Ref document number: 19935683

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021528729

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19935683

Country of ref document: EP

Kind code of ref document: A1