Software updating apparatus, software updating method, and program

In an updating method according to the present embodiment, a virtual machine (50-1A) is stopped, a virtual machine (50-1B) is started up using a new VM image (30-1B) to which a link to a database (20-1) is set, and the virtual machine (50-1B) is switched to an active system. A virtual machine (50-0A) is stopped and a virtual machine (50-0B) is started up using a new VM image (30-0B) to which a link to a database (20-0) is set.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a National Stage application under 35 U.S.C. § 371 of International Application No. PCT/JP2019/031125, having an International Filing Date of Aug. 7, 2019, the disclosure of which is considered part of the disclosure of this application, and is incorporated in its entirety into this application.

TECHNICAL FIELD

The present invention relates to an updating apparatus, an updating method, and a program.

BACKGROUND ART

With recent advancements in virtualization technology, proposals have been made to run, on general-purpose hardware using virtualization technology, network devices that have conventionally been run using dedicated hardware. For example, an application of virtualization technology to an SIP server is considered in NPL 1.

A network device may adopt an active/standby configuration (ACT-SBY configuration) for the purpose of improving reliability. When a failure occurs in ACT (also referred to as an active system or an operating system), service can be continuously provided by switching to SBY (also referred to as a reserve system or a standby system). Even when a network device is virtualized, reliability can be improved by running a plurality of virtual machines in an ACT-SBY configuration.

CITATION LIST

Non Patent Literature

SUMMARY OF THE INVENTION

Technical Problem

Processing of an SIP message times out when a response is not obtained within a certain amount of time and a recall or an abnormal call occurs. For this reason, an SIP server is required to be real-time capable. In order to be real-time capable, a conventional SIP server running on dedicated hardware keeps, within the SIP server, a database storing information (location data) inside a switchboard such as a translator and a routing table which are necessary when providing a communication service.

When virtualizing an SIP server, a configuration is conceivable in which a database storing information with low update frequency and a large capacity such as location data is arranged outside of a virtual machine. The virtual machine transmits and receives messages to and from the externally-arranged database to access the database. However, since the SIP server is required to quickly access the database, separating the database from the SIP server (virtual machine) may prevent the SIP server from becoming real-time capable.

Real-time capability can be secured by including the database inside the virtual machine. However, if the database is included in the virtual machine, when upgrading software running on the virtual machine, the database must be copied to a virtual machine after the upgrade from a snapshot of the virtual machine prior to the upgrade. When starting up the virtual machine using an image of the virtual machine (also referred to as a VM image or an image file), the database must be copied to the VM image. Therefore, there is a problem in that upgrading software that runs on a virtual machine takes time. This problem is not limited to SIP servers and a similar problem exists in virtualization of an apparatus which is required to be real-time capable and which internally includes a database storing large-capacity information.

The present invention has been made in consideration of the above and an object thereof is to reduce time required to upgrade software that runs on a virtual machine.

Means for Solving the Problem

An updating method according to an aspect of the present invention is an updating method of updating software of a first virtual machine of an active system and a second virtual machine of a reserve system, the updating method including the steps of: stopping the second virtual machine; setting a link to a second database to be used by the second virtual machine to a second image file after a software update; starting up the second virtual machine using the second image file to which the link has been set and switching the second virtual machine to the active system; switching the first virtual machine to the reserve system and subsequently stopping the first virtual machine; setting a link to a first database to be used by the first virtual machine to a first image file after a software update; and starting up the first virtual machine using the first image file to which the link has been set.

An updating apparatus according to another aspect of the present invention is an updating apparatus that updates software of a first virtual machine of an active system and a second virtual machine of a reserve system, the updating apparatus including: a control unit that controls the first virtual machine and the second virtual machine; and a setting unit that sets a first image file to be used to start up the first virtual machine and a second image file to be used to start up the second virtual machine, wherein the control unit stops the second virtual machine, the setting unit sets a link to a second database to be used by the second virtual machine to the second image file after a software update, the control unit starts up the second virtual machine using the second image file to which the link has been set and switches the second virtual machine to the active system, the control unit switches the first virtual machine to the reserve system and subsequently stops the first virtual machine, the setting unit sets a link to a first database to be used by the first virtual machine to the first image file after a software update, and the control unit starts up the first virtual machine using the first image file to which the link has been set.

Effects of the Invention

According to the present invention, time required to upgrade software that runs on a virtual machine can be reduced.

DESCRIPTION OF EMBODIMENT

A virtual environment including a virtualization management system10(an updating apparatus) according to a present embodiment will be described with reference toFIG.1. The virtual environment shown inFIG.1is an abstraction of resources provided by hardware70and runs a virtual machine50on a virtual infrastructure60. Software51including a virtual OS (vOS), middleware (MW), and an application (APL) are installed on the virtual machine50. The virtual machine50internally includes a database (DB)52.

The virtualization management system10manages the virtual machine50. For example, the virtualization management system10starts up the virtual machine50using a VM image30including necessary software31and a DB32and stops the running virtual machine50.

The VM image30is stored in a storage provided in the virtualization management system10or in an external storage. Using the VM image30enables the virtual machine50to be started up in a state where the software51has been installed. The virtualization management system10expands the VM image30in a memory on the virtual infrastructure60and starts up the virtual machine50. It should be noted that all of the pieces of software including the vOS, the MW, and the APL need not be installed in the VM image30. Necessary software may be installed in the virtual machine50after starting up the virtual machine50.

In the present embodiment, a DB20is arranged outside the VM image30and a link to the DB20is set as the DB32included in the VM image30. A link refers to information indicating an entity of the DB20. Accessing the link enables the entity of the DB20that is a destination of the link to be accessed. When the virtual machine50is started up using the VM image30to which a link to the DB20is set, the virtual machine50is started up in a state where a link to the DB20has been set as the DB52or, in other words, the virtual machine50is started up in a state where the DB20is referable. For example, when starting up the virtual machine50using the VM image30to which a link to the DB20is set, the virtualization management system10mounts (also referred to as “attaches”) a volume in which the DB20that is the link destination exists to the virtual machine50. Accordingly, when updating the software51of the virtual machine50, contents of a database of the running virtual machine need not be copied to a database of the new VM image. Alternatively, when starting up the virtual machine50using the VM image30to which a link to the DB20is set, the virtualization management system10may copy the contents of the DB20to the DB52of the virtual machine50. The DB52of the virtual machine50exists on a memory or a storage allocated to the virtual machine50. Even in this case, contents of the database of the running virtual machine need not be copied to the database of the new VM image.

For example, the DB20may be retained by an apparatus that provides the virtual machine50with a volume (a block storage device) or by an apparatus managed by the virtualization management system10(an apparatus in a virtual environment). The DB20stores data which has a large size and which is required to be real-time capable. For example, when the virtual machine50is to be run as an SIP server, the location data described earlier is to be stored in the DB20.

Next, a configuration of the virtualization management system10according to the present embodiment will be described.

The virtualization management system10shown inFIG.1includes a setting unit11and a control unit12.

The setting unit11generates the VM image30in which updated software31including a vOS, MW, and an APL has been installed and sets a link to the DB20to the VM image30.

The control unit12starts up the virtual machine50using the VM image30and stops the running virtual machine50. In addition, when starting up the virtual machine50, the control unit12mounts the DB20linked to the VM image30to the virtual machine50or copies contents of the DB20to the DB52of the virtual machine50.

Next, a flow of software update processing by the virtualization management system10according to the present embodiment will be described with reference toFIGS.2to4.FIG.2is a flow chart showing a flow of the software update processing.

As shown inFIG.3, it is assumed that a virtual machine50A started up using an old VM image30A is running. The virtual machine50A is linked to the DB20. InFIG.3, a surface of a virtual infrastructure on which the virtual machine runs is shown as a logical surface and a storage in which the VM image is stored is shown as a physical surface. The virtual machine runs by loading the VM image stored on the physical surface (for example, a disk) onto the logical surface (for example, a memory).

In step S11, the control unit12stops the virtual machine50A that is a software update target. Accordingly, update of the DB20is also stopped.

In step S12, the setting unit11sets a link to the DB20to a new VM image30B in which updated software has been installed. The new VM image30B not including a database can be prepared in advance before stopping the virtual machine50A.

In step S13, the control unit12starts up a virtual machine50B using the new VM image30B. When starting up the virtual machine50B, the control unit12mounts the DB20to which the new VM image30B is linked to the virtual machine50B.

According to the processing described above, as shown inFIG.4, the virtual machine50B of which software has been updated runs.

When copying the contents of the DB20to the memory of the virtual machine50instead of mounting the DB20to the virtual machine50B upon starting up the virtual machine50B, while the virtual machine50A is running and upon stopping the virtual machine50A in step S11, the database of the virtual machine50A and the DB20are synchronized with each other.

As described above, in the updating method according to the present embodiment, a link to the DB20to be used by the virtual machine50A is set to the new VM image30B and the virtual machine50B is started up using the new VM image30B. Accordingly, since there is no longer a need to copy the DB20to the VM image30B after stopping the virtual machine50A, the time required to upgrade software can be reduced.

Next, processing for updating software of virtual machines that run in an ACT-SBY configuration will be described with reference toFIGS.5to11. For example, virtual machines that run as SIP servers are duplexed to run in an ACT-SBY configuration.FIG.5is a flow chart showing a flow of processing for updating software of virtual machines that run in an ACT-SBY configuration.

As shown inFIG.6, a virtual machine50-0A of a 0-system and a virtual machine50-1A of a 1-system are started up in a virtual environment. Specifically, in the 0-system, the virtual machine50-0A is started up from a VM image30-0A to which a DB20-0has been linked. The virtual machine50-0A is mounted with the DB20-0. In the 1-system, the virtual machine50-1A is started up from a VM image30-1A to which a DB20-1has been linked. The virtual machine50-1A is mounted with the DB20-1. The 0-system is assumed to be ACT and the 1-system is assumed to be SBY. Since the virtual machine50-0A and the virtual machine50-1A that run in an ACT-SBY configuration are synchronized with each other, the DB20-0and the DB20-1are also synchronized with each other. Normally, the virtual machine50-0A runs and the virtual machine50-1A is on standby. When a failure occurs in the virtual machine50-0A, the virtual machine50-1A runs and takes over processing. Hereinafter, processing for updating software will be described. The following processing may be performed by the virtualization management system10or by an entire virtual environment.

In step S21, the virtual machine50-1A of the 1-system is stopped. Accordingly, update of the DB20-1is also stopped.

In step S22, as shown inFIG.7, a link to the DB20-1is set to a new VM image30-1B in which updated software has been installed. It should be noted that the virtual machine50-0A is running as ACT.

In step S23, a virtual machine50-1B is started up using the new VM image30-1B. Upon startup of the virtual machine50-1B, the DB20-1is mounted to the virtual machine50-1B.

According to the processing of steps S21to S23, as shown inFIG.8, the virtual machine50-1B of which software has been updated runs.

In step S24, when the DB20-0of the 0-system has been updated during the update of the virtual machine of the 1-system, the virtual machine50-0A and the virtual machine50-1B are synchronized with each other and the DB20-0and the DB20-1are synchronized with each other.

In step S25, switching of systems is performed and the 0-system becomes SBY and the 1-system becomes ACT as shown inFIG.9. After switching systems, the virtual machine50-1B runs as ACT.

In step S26, the virtual machine50-0A of the 0-system is stopped. Accordingly, update of the DB20-0is also stopped.

In step S27, as shown inFIG.10, a link to the DB20-0is set to a new VM image30-0B in which updated software has been installed.

In step S28, a virtual machine50-0B is started up using the new VM image30-0B. Upon startup of the virtual machine50-0B, the DB20-0is mounted to the virtual machine50-0B.

According to the processing of steps S26to S28, as shown inFIG.11, the virtual machine50-1B of which software has been updated runs.

In step S29, the virtual machine50-0B and the virtual machine50-1B are synchronized with each other. After the synchronization, the virtual machines run in an ACT-SBY configuration.

As described above, in the updating method according to the present embodiment, when upgrading software of the virtual machines50-0A and50-1A that run in an ACT-SBY configuration, the virtual machine50-1A is stopped, the virtual machine50-1B is started up using the new VM image30-1B to which a link to the DB20-1is set, and the virtual machine50-1B is switched to an active system. The virtual machine50-0A is stopped and the virtual machine50-0B is started up using the new VM image30-0B to which a link to the DB20-0is set. Accordingly, since information stored in the DBs20-0and20-1need no longer be copied and the time required to upgrade software of the virtual machines50-0A and50-1A of ACT and SBY can be reduced, a period of one-system operation can be reduced and a decline in reliability can be mitigated.

As the updating apparatus described above, for example, as shown inFIG.12, a general-purpose computer system including a central processing unit (CPU)901, a memory902, a storage903, a communication apparatus904, an input apparatus905, and an output apparatus906can be used. In the computer system, an updating apparatus is realized when the CPU901executes a predetermined program loaded onto the memory902. The program can be recorded on a computer-readable recording medium such as a magnetic disk, an optical disk, or a semiconductor memory and can also be distributed via a network.

REFERENCE SIGNS LIST