JP2017161988A - サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム - Google Patents
サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム Download PDFInfo
- Publication number
- JP2017161988A JP2017161988A JP2016043432A JP2016043432A JP2017161988A JP 2017161988 A JP2017161988 A JP 2017161988A JP 2016043432 A JP2016043432 A JP 2016043432A JP 2016043432 A JP2016043432 A JP 2016043432A JP 2017161988 A JP2017161988 A JP 2017161988A
- Authority
- JP
- Japan
- Prior art keywords
- server device
- server
- virtual machine
- target
- deployment
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Abstract
【解決手段】サーバシステムが、第一サーバ装置と少なくとも1つの第二サーバ装置とを備え、前記第一サーバ装置は、前記第二サーバ装置のうち少なくとも1つに対して当該第二サーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う仮想マシンと、前記第二サーバ装置のうちいずれかに前記仮想マシンを移動させるマイグレーション部と、を備え、前記仮想マシンは、前記第一サーバ装置から前記第二サーバ装置に移動した後、前記第一サーバ装置に対して当該第一サーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う。
【選択図】図6
Description
例えば、特許文献1には、管理対象である仮想マシンの情報収集を、管理を行うサーバ上の管理マネージャへの負荷をかけずに行うための方法が示されている。特許文献に記載の方法では、管理仮想マシン(第1の管理仮想マシン)が第1のサーバ上の仮想マシンのデータを収集して共有記憶装置に格納する。データの収集を完了すると、管理仮想マシンは収集完了通知を管理サーバに送信した後に、ライブマイグレーション(Live Migration)機能によって第2のサーバに移動し、第2のサーバ上の仮想マシンのデータを収集して共有記憶装置に格納する。このように、管理仮想マシンは、管理対象のサーバを移動しながら、サーバ上の仮想マシンのデータを収集する。管理サーバは、仮想管理マシンが共有記憶装置に格納したデータを読み出す。
例えば、特許文献3には、様々なハードウェア構成のサーバ装置にデプロイを行うための技術が記載されている。特許文献3に記載のデプロイ方法では、管理サーバ装置がデプロイ元サーバ装置とデプロイ先サーバ装置とのハードウェア構成を比較し、その差異を検知して、検知した際に応じてデプロイ方法を変化させる。
図1は、本発明の一実施形態に係るコンピュータシステムの機能構成を示す概略ブロック図である。同図に示すように、コンピュータシステム1は、1つの起点サーバ装置101と、対象サーバ装置102−1〜102−n(nはn≧1の整数)とを備える。
以下、対象サーバ装置102−1〜102−nを総称して対象サーバ装置102と表記する。コンピュータシステム1が1つの対象サーバ装置102を備えていてもよいし、2つ以上の対象サーバ装置102を備えていてもよい。また、起点サーバ装置101と対象サーバ装置102とを総称してサーバ装置100と表記する。
サーバ装置100の各々はスイッチ300を介して通信接続されている。
起点サーバ装置101及び対象サーバ装置102に目的プログラムを実行させるため、起点サーバ装置101及び対象サーバ装置102のうち何れかが、他のサーバ装置に目的プログラムをデプロイする。ここでいうデプロイとは、サーバ装置にプログラムを展開(例えばインストール)して他の機器から当該プログラムの機能を実行可能な状態にすることである。
ここでの目的プログラムにはOS(Operating System)が含まれている。目的プログラムのデプロイはOSのインストールを伴っており、起点サーバ装置101上で機能する仮想マシンは起点サーバ装置101に目的プログラムをデプロイできない。そこで、起点サーバ装置101から目的プログラムをデプロイ済みの対象サーバ装置102へ仮想マシンをマイグレーションする(移動させる)。対象サーバ装置102上で機能する仮想マシンが起点サーバ装置101に目的プログラムをデプロイすることで、全てのサーバ装置100に目的プログラムをデプロイすることができる。
また、ここでの目的プログラムには、仮想マシン実行環境を構築するためのプログラムが含まれている。これにより、目的プログラムをデプロイされたサーバ装置100は、仮想マシンのマイグレーションを受けることができる。
なお、目的プログラムにOS等が含まれていない場合は、起点サーバ装置101が、起点サーバ装置101自らに目的プログラムをデプロイするようにしてもよい。あるいは、目的プログラムにOS等が含まれていない場合、起点サーバ装置101が、未だデプロイ済みでないサーバ装置100へデプロイ仮想マシンをマイグレーションするようにしてもよい。
サーバ装置100のうち、起点サーバ装置101は、デプロイ仮想マシンをサーバ装置100のうちで最初に実行することで、対象サーバ装置102に対して目的プログラムをデプロイする。また、起点サーバ装置101は、仮想マシンを対象サーバ装置102に移動させた後、目的プログラムのデプロイを受ける(デプロイされる)対象となる。起点サーバ装置101は、第一サーバ装置の例に該当する。
なお、サーバ装置100同士の通信を中継する通信ネットワークが、コンピュータシステム1に含まれていてもよいし、コンピュータシステム1とは別の存在として構成されていてもよい。例えば、図1の構成で、スイッチ300がコンピュータシステム1とは別の装置として構成されていてもよい。
同図の処理で、まず、起点サーバ装置101が、デプロイ仮想マシンを実行して、1つ以上の対象サーバ装置102に目的プログラムをデプロイする(シーケンスS101〜S102)。図2の例では、対象サーバ装置102は2つの対象サーバ装置102(対象サーバ装置102−1及び102−2)に目的プログラムをデプロイしている。
但し、サーバ装置100間でデプロイ仮想マシンを移動させる方法は、ライブマイグレーションに限らない。例えば、デプロイ仮想マシンを実行するサーバ装置100が、デプロイ仮想マシンを一旦停止させた後、停止した状態のデプロイ仮想マシンを他のサーバ装置100に移動させるようにしてもよい。
同図の処理で、まず、起点サーバ装置101が、デプロイ仮想マシンを実行して、1つ以上の対象サーバ装置102に目的プログラムをデプロイする(シーケンスS111)。図2の例では、対象サーバ装置102は1つの対象サーバ装置102(対象サーバ装置102−1)に目的プログラムをデプロイしている。
起点サーバ装置101からデプロイ仮想マシンを引き継いだ対象サーバ装置102(図3の例では対象サーバ装置102−1)は、残りの対象サーバ装置102のうち1つ以上に対して目的プログラムをデプロイする(シーケンスS113)。図3の例では、対象サーバ装置102−1が、対象サーバ装置102−2に対して目的プログラムをデプロイしている。
対象サーバ装置102からデプロイ仮想マシンを引き継いだ対象サーバ装置102は、起点サーバ装置101に対して目的プログラムをデプロイする(シーケンスS115)。また、対象サーバ装置102からデプロイ仮想マシンを引き継いだ対象サーバ装置102は、残りの対象サーバ装置102の全てに目的プログラムをデプロイする(シーケンスS116〜S117)。図3の例では、対象サーバ装置102−2は、対象サーバ装置102−3〜102−nの各々に目的プログラムをデプロイしている。
一方、コンピュータシステム1が1つのデプロイ仮想マシンを用いて目的プログラムのデプロイを行う場合、2つ以上のデプロイ仮想マシンを用いる場合よりも、デプロイ済みのサーバ装置100の把握が容易になる。
また、図1を参照して説明したように、コンピュータシステム1は、起点サーバ装置101と、対象サーバ装置102と、スイッチ300とを備え、起点サーバ装置101及び対象サーバ装置102の各々は、スイッチ300を介して通信接続されている。
DVDドライブ120は、DVDを挿入された状態で、DVDに対するデータの読み書きを行う装置である。特に、本実施形態では、DVDドライブ120は、デプロイ仮想マシンを構築し動作させるためのデータを記憶しているDVDの挿入を受ける。このDVDはデプロイイメージ記憶部121とサーバイメージ記憶部122とを含んでいる。
起点サーバ装置101が備えるCPU(Central Processing Unit、中央処理装置)が、デプロイイメージ記憶部121から第一オペレーティングシステム140のプログラムとVM管理部150のプログラムとを読み出して実行することで、第一オペレーティングシステム140とVM管理部150が構成される。これにより、仮想マシンの構築及び実行が可能になる。そして、VM管理部150は、デプロイ仮想マシン160のプログラムをデプロイイメージ記憶部121から読み出して実行することで、デプロイ仮想マシン160を構築する。また、起点サーバ装置101が備えるCPUが、デプロイイメージ記憶部121からサーバ負荷監視部170のプログラムを読み出して実行することでサーバ負荷監視部170が構成される。以下、サーバ装置100が備えるCPUをサーバ装置100のCPUと称する。例えば、起点サーバ装置101が備えるCPUを起点サーバ装置101のCPUと称する。
上述した起点サーバ装置101の各部の構成が自動的に行われるようにしてもよい。例えば、ユーザがDVDドライブ120にDVDを挿入すると、起点サーバ装置101のCPUが自動的にDVDからプログラムを読み出して実行することで、上述したように各部を構成する。
起点サーバ装置101がDVDドライブ120を用いる方法以外の方法でデプロイイメージ及びサーバイメージを取得する場合、起点サーバ装置101がDVDドライブ120を備えていなくてもよい。
デプロイ情報記憶部131は、デプロイ情報を記憶する。ここでいうデプロイ情報は、デプロイ仮想マシン160(OSデプロイ処理部161)が他のサーバ装置100にデプロイしたOSに関する情報を記憶する。デプロイ情報記憶部131は、例えば、デプロイ先のサーバ装置100のIP(Internet Protocol)アドレス及びMAC(Media Access Control)アドレスなど、デプロイ先のサーバ装置100でOSが動作するために必要な情報を含むデプロイ情報を記憶する。
システム構成情報記憶部132は、例えば、デプロイ先のサーバ装置100のシステムプログラムのコンフィグレーション(Configuration)を含むシステム構成情報を記憶する。
なお、起点サーバ装置101がデプロイ情報及びシステム構成情報を記憶する態様は、ディスク130を用いる態様に限らない。例えば、起点サーバ装置101が大容量の半導体メモリデバイスを備え、この半導体メモリデバイスにてデプロイ情報及びシステム構成情報を記憶するようにしてもよい。
VM管理部150は、OS上の仮想マシン基盤(ハイパーバイザ)として機能する。特に、VM管理部150は、仮想マシンを構築して動作させ、また、仮想マシンの動作及び終了(消滅)を管理する。
また、VM管理部150は、デプロイ仮想マシン160が目的プログラムをデプロイしたサーバ装置100のうちいずれかにデプロイ仮想マシン160をライブマイグレーションする。デプロイ仮想マシン160のライブマイグレーションはデプロイ仮想マシン160の移動の例に該当し、VM管理部150はマイグレーション部の例に該当する。
OSデプロイ処理部161は、他のサーバ装置100にOSをデプロイする。
デプロイ情報管理部162は、OSデプロイ処理部161が他のサーバ装置100にデプロイしたOSに関してデプロイ情報をデプロイ情報記憶部131に記憶させて管理する。
システム構成デプロイ処理部163が他のサーバ装置100にデプロイするプログラムには、VM管理部150を実現するプログラムも含まれている。すなわち、システム構成デプロイ処理部163は、VM管理部150を他のサーバ装置100にデプロイする。
また、システム構成デプロイ処理部163が他のサーバ装置100にデプロイするプログラムには、サーバ負荷監視部170を実現するプログラムも含まれている。すなわち、システム構成デプロイ処理部163は、サーバ負荷監視部170を他のサーバ装置100にデプロイする。
サーバ負荷監視部170は、サーバ負荷監視部170自らを含むサーバ装置100の負荷を監視する。
対象サーバ装置102のディスク130は、起点サーバ装置101のディスク130と同様である。但し、図5で対象サーバ装置102のディスク130が記憶している情報は、起点サーバ装置101のディスク130が記憶している情報と異なる。対象サーバ装置102のディスク130は、サーバイメージ記憶部122にサーバイメージを記憶し、システム構成情報記憶部132にシステム構成情報を記憶している。
また、起点サーバ装置101のシステム構成デプロイ処理部163が対象サーバ装置102にシステムプログラムをデプロイする際、対象サーバ装置102のCPUが、デプロイされたシステムプログラムに関する情報をディスク130に記憶させる。これにより、対象サーバ装置102のディスク130にシステムプログラム情報記憶部281が構成される。以下、システムプログラム情報記憶部281が記憶する情報(デプロイされたシステムプログラムに関する情報)をシステムプログラム情報と称する。システムプログラム情報は、例えばデプロイされたシステムプログラムのコンフィグレーションを含む。
このように、対象サーバ装置102がデプロイ仮想マシン160を実行するためのデータ参照先を対象サーバ装置102内に設けておくことで、デプロイ仮想マシン160のライブマイグレーション完了後のデータ参照先の切替を円滑に行うことができる。
同図の処理にて、起点サーバ装置101のVM管理部150及び対象サーバ装置102のVM管理部150は、起点サーバ装置101のデプロイ情報記憶部131のデータ及びシステム構成情報記憶部132のデータを、対象サーバ装置102の仮想マシンディスク230のコピーする(ステップS201)。
このように、デプロイ仮想マシン160のライブマイグレーションに際し、VM管理部150は、デプロイ仮想マシン160の実行に用いるデータを、デプロイ仮想マシン160の移動元のサーバ装置100からデプロイ仮想マシン160の移動先のサーバ装置100へコピーする。VM管理部150はデータコピー部の例に該当する。
そして、起点サーバ装置101のVM管理部150は、起点サーバ装置101が実行中のデプロイ仮想マシン160のデータ参照先を起点サーバ装置101のディスク130から対象サーバ装置102の仮想マシンディスク230に切り替える(ステップS203)。これにより、起点サーバ装置101が実行中のデプロイ仮想マシン160の動作に伴って、仮想マシンディスク230のデータが更新されるようになる。
このように、VM管理部150は、デプロイ仮想マシン160の実行に用いるデータの参照先を、デプロイ仮想マシン160の移動元のサーバ装置100が記憶しているデータから、デプロイ仮想マシン160の移動先のサーバ装置100にコピーしたデータに切り替える。VM管理部150は、参照先切替部の例に該当する。
ステップS203の後、図7の処理を終了する。
起点サーバ装置101のVM管理部150が、ステップS201の処理開始時からステップS203の処理終了まで、デプロイ仮想マシン160の動作を停止させるようにしてもよい。
この差分情報の送信及び反映を繰り返して、起点サーバ装置101のデプロイ情報記憶部131及びシステム構成情報記憶部132と対象サーバ装置102のデプロイ情報記憶部131及びシステム構成情報記憶部132とのデータの差分が小さくなった後、起点サーバ装置101のVM管理部150が、デプロイ仮想マシン160の動作を停止させる。デプロイ仮想マシン160の動作停止後、起点サーバ装置101のVM管理部150及び対象サーバ装置102のVM管理部150は、さらに差分情報の送信及び反映を行う。これにより、起点サーバ装置101のデプロイ情報記憶部131及びシステム構成情報記憶部132のデータと対象サーバ装置102のデプロイ情報記憶部131及びシステム構成情報記憶部132のデータとが一致する。
そして、起点サーバ装置101のVM管理部150は、ステップS203の処理終了後、デプロイ仮想マシン160の動作を再開させる。
これにより、デプロイ仮想マシン160の停止時間を比較的短くすることができる。
なお、図8の状態の後、起点サーバ装置101はシャットダウンする。これにより、起点サーバ装置101のデプロイ仮想マシン160は終了(消滅)し、コンピュータシステム1にデプロイ仮想マシン160が1つのみ存在する状態となる。但し、上述したように、コンピュータシステム1が複数のデプロイ仮想マシン160を備えるようにしてもよい。
図9の処理完了後、起点サーバ装置101のVM管理部150及び対象サーバ装置102のVM管理部150は、デプロイ仮想マシン160を起点サーバ装置101から対象サーバ装置102へ移動させる(ステップS211)。具体的には、起点サーバ装置101のVM管理部150が、起点サーバ装置101のデプロイ仮想マシン160を停止させる。そして、対象サーバ装置102のVM管理部150が、対象サーバ装置102のデプロイ仮想マシン160を動作させる。この時点では、デプロイ仮想マシン160を実行するためのデータの参照先は、対象サーバ装置102がエクスポートしている仮想マシンディスク230である。
ステップS212の後、図9の処理を終了する。
図10における起点サーバ装置101のNIC110及びDVDドライブ120は、図4の場合と同様である。但し、DVDドライブ120は起点サーバ装置101のシャットダウンの際にDVDを排出(Eject)しており、DVDドライブ120はDVDを挿入されていない状態になっている。
対象サーバ装置102のデプロイ仮想マシン160が起点サーバ装置101に対して目的プログラムをデプロイすることで、起点サーバ装置101は、図5の対象サーバ装置102が有する各機能を有している。これにより、起点サーバ装置101は、所定の機能(例えばWebサービスの提供)を実行する。
対象サーバ装置102のデプロイ仮想マシン160が他の対象サーバ装置102に対して目的プログラムをデプロイすることで、デプロイ先の対象サーバ装置102は、図5の対象サーバ装置102と同様の機能を有している。これにより、デプロイ先の対象サーバ装置102は、所定の機能(例えばWebサービスの提供)を実行する。
このようにOSをデプロイする場合、デプロイ仮想マシン160を備えているサーバ装置100が、このサーバ装置100自らに目的プログラムをデプロイすることはできない。この場合でも、上記のようにサーバ装置100が他のサーバ装置100へデプロイ仮想マシン160を移転させることで、コンピュータシステム1が備える全てのサーバ装置100に目的プログラムをデプロイすることができる。
具体的には、起点サーバ装置101に対しては、起点サーバ装置101が他のサーバ装置102へデプロイ仮想マシンを移転した後に、目的プログラムをデプロイすることができる。また、他のサーバ装置100からデプロイ仮想マシン160の移転を受けるサーバ装置100に対しては、このサーバ装置100が他のサーバ装置100からデプロイ仮想マシンの移転を受ける前に、又は、他のサーバ装置100へデプロイ仮想マシンを移転した後に、目的プログラムをデプロイすることができる。
この場合、デプロイ仮想マシン160の移転を受けた対象サーバ装置102は、既に目的プログラムをデプロイ済みなので、デプロイ仮想マシン160の移転を受けた後に目的プログラムのデプロイを受ける必要がない。
従って、目的プログラムにOSが含まれる場合など、デプロイ仮想マシン160を備えるサーバ装置100自らに対して目的プログラムをデプロイできない場合でも、デプロイ仮想マシン160をさらに他のサーバ装置100へ移動させる必要がない。この点で、コンピュータシステム1が備える全てのサーバ装置100に目的プログラムをデプロイする処理が比較的簡単になる。
このように、デプロイ仮想マシン160を実行するためのデータ参照先をデプロイ仮想マシン160の移動先の対象サーバ装置102内に設けておくことで、デプロイ仮想マシン160のライブマイグレーション完了後のデータ参照先の切替を円滑に行うことができる。
図12は、デプロイ仮想マシン160を実行するサーバ装置100が負荷に応じて他のサーバ装置100にデプロイ仮想マシン160を移動させている段階での、これらサーバ装置100の機能構成例を示す概略ブロック図である。図12におけるデプロイ元の対象サーバ装置102の構成は、図11の場合と同様であり、各部に同一の符号(110、122、130、131、132、150、160〜164、170、230、240、281、282)を付して説明を省略する。
以下では、サーバ装置100の負荷の大きさに関連する情報を負荷情報と称する。負荷情報は、数値で示される情報(従って、定量的な情報)であってもよいし、例えばON/OFF情報など定性的な情報であってもよい。
また、デプロイ仮想マシン160を実行するサーバ装置100のサーバ負荷監視部170は、負荷が所定の閾値以上であると判定すると、自らのサーバ装置100(当該サーバ負荷監視部170を備えるサーバ装置100)の負荷と、他のサーバ装置100における負荷とを比較する。他のサーバ装置100における負荷は、他のサーバ装置100の各々が備えるサーバ負荷監視部170が測定し、デプロイ仮想マシン160を実行するサーバ装置100へNIC110を介して送信する。
デプロイ仮想マシン160を実行するサーバ装置100のサーバ負荷監視部170が、自らのサーバ装置100の負荷よりも負荷が小さいサーバ装置100を検出(選択)した場合、デプロイ仮想マシン160を実行するサーバ装置100のVM管理部150は、サーバ負荷監視部170が検出したサーバ装置100へデプロイ仮想マシン160をマイグレーションする。サーバ負荷監視部170は、サーバ装置選択部の例に該当する。
そして、サーバ負荷監視部170は、当該サーバ負荷監視部170を備えるサーバ装置100の負荷情報が、負荷が所定の条件以上に大きいことを示す場合、他のサーバ装置100の負荷情報に基づいていずれかのサーバ装置100を選択する。そして、デプロイ仮想マシン160を実行しているサーバ装置100のVM管理部150は、サーバ負荷監視部170が選択したサーバ装置100にデプロイ仮想マシン160を移動させる。
このように、負荷が大きいサーバ装置100から負荷が比較的小さいサーバ装置100へデプロイ仮想マシン160を移動させることで、特定のサーバ装置100への負荷の集中を緩和させることができる。この点で、過負荷のサーバ装置100が発生する可能性を軽減させることができる。
例えば、ユーザがシステムプログラムのコンフィグレーションなどのシステム情報を作成してシステム構成情報記憶部132に記憶させた場合、システム構成情報管理部164は、作成されたシステム情報をシステム構成情報記憶部132から読み出す。そして、システム構成デプロイ処理部163は、システム構成情報管理部164が読み出したシステム情報は他のサーバ装置100にデプロイする。
このように、デプロイ仮想マシン160がシステム情報を他のサーバ装置100にデプロイすることで、システムプログラム及びそのコンフィグレーション等を管理することができる。
なお、この場合、コンピュータシステム1がデプロイ仮想マシン160を備えることが1つのみ備えることが好ましい。これにより、システムプログラム及びコンフィグレーション等のバージョン管理が比較的容易になる。
図13は、本発明に係るサーバシステムの最小構成を示す概略ブロック図である。同図に示すサーバシステム2は、第一サーバ装置11と、少なくとも1つの第二サーバ装置14とを備える。第一サーバ装置11は、仮想マシン12と、マイグレーション部13とを備える。
かかる構成にて、仮想マシン22は、他のサーバ装置のうち少なくとも1つに対して当該他のサーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う。そして、マイグレーション部23は、他のサーバ装置のうちいずれかに仮想マシン22を移動させる。仮想マシン22は、元のサーバ装置から他のサーバ装置への移動の後、元のサーバ装置に対して当該元のサーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を少なくとも1回行う。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
11 第一サーバ装置
12、22 仮想マシン
13、23 マイグレーション部
14 第二サーバ装置
21、100 サーバ装置
101 起点サーバ装置
110 NIC
120 DVDドライブ
121 デプロイイメージ記憶部
122 サーバイメージ記憶部
130 ディスク
131 デプロイ情報記憶部
132 システム構成情報記憶部
140 第一オペレーティングシステム
150 VM管理部
160 デプロイ仮想マシン
161 OSデプロイ処理部
162 デプロイ情報管理部
163 システム構成デプロイ処理部
164 システム構成情報管理部
170 サーバ負荷監視部
102 対象サーバ装置
230 仮想マシンディスク
240 第二オペレーティングシステム
281 システムプログラム情報記憶部
282 システムプログラム機能部
300 スイッチ
Claims (8)
- 第一サーバ装置と少なくとも1つの第二サーバ装置とを備え、
前記第一サーバ装置は、
前記第二サーバ装置のうち少なくとも1つに対して当該第二サーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う仮想マシンと、
前記第二サーバ装置のうちいずれかに前記仮想マシンを移動させるマイグレーション部と、
を備え、
前記仮想マシンは、前記第一サーバ装置から前記第二サーバ装置に移動した後、前記第一サーバ装置に対して当該第一サーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う、
サーバシステム。 - 前記仮想マシンは、OSを含む所定のプログラムを実行可能な状態にする前記実行可能化処理を行う、請求項1に記載のサーバシステム。
- 前記マイグレーション部は、前記仮想マシンが前記実行可能化処理を行った前記第二サーバ装置のうちいずれかに前記仮想マシンを移動させる、請求項1または請求項2に記載のサーバシステム。
- 前記第一サーバ装置は、
前記仮想マシンの実行に用いるデータを前記第二サーバ装置にコピーするデータコピー部と、
前記仮想マシンの実行に用いるデータの参照先を前記第二サーバ装置にコピーされたデータに切り替える参照先切替部と、
を備える請求項1から3のいずれか一項に記載のサーバシステム。 - 前記サーバシステムが備えるサーバ装置の各々は、
サーバ装置自らの負荷の大きさに関連する負荷情報を取得する負荷関連情報取得部と、
サーバ装置自らの前記負荷情報が、負荷が所定の条件以上に大きいことを示す場合、他のサーバ装置の前記負荷情報に基づいていずれかのサーバ装置を選択するサーバ装置選択部と、
前記マイグレーション部と、
を備え、
前記マイグレーション部は、前記サーバ装置選択部が選択したサーバ装置に前記仮想マシンを移動させる、
請求項1から4のいずれか一項に記載のサーバシステム。 - 他のサーバ装置のうち少なくとも1つに対して当該他のサーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う仮想マシンと、
前記他のサーバ装置のうちいずれかに前記仮想マシンを移動させるマイグレーション部と、
を備え、
前記仮想マシンは、元のサーバ装置から前記他のサーバ装置への前記移動の後、前記元のサーバ装置に対して当該元のサーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う、
サーバ装置。 - 第一サーバ装置で実行されている仮想マシンが、第二サーバ装置のうち少なくとも1つに対して当該第二サーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行い、
前記第一サーバ装置が備えるマイグレーション部が、前記第二サーバ装置のうちいずれかに前記仮想マシンを移動させ、
前記仮想マシンが、前記第二サーバ装置に移動した後、前記第一サーバ装置に対して当該第一サーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う、
プログラム実行可能化処理方法。 - サーバ装置に、
他のサーバ装置のうち少なくとも1つに対して当該他のサーバ装置が所定のプログラムを実行可能な状態にする実行可能化処理を行う仮想マシンであって、元のサーバ装置から前記他のサーバ装置のうちいずれかへの移動の後、前記元のサーバ装置に対して当該元のサーバ装置が所定のプログラムを実行可能な状態にする前記実行可能化処理を少なくとも1回行う仮想マシンを動作させ、
前記仮想マシンが前記実行可能化処理を行った前記他のサーバ装置のうちいずれかに前記仮想マシンを移動させるための
プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016043432A JP6372505B2 (ja) | 2016-03-07 | 2016-03-07 | サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム |
US15/448,940 US10467047B2 (en) | 2016-03-07 | 2017-03-03 | Server system and execution-facilitating method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016043432A JP6372505B2 (ja) | 2016-03-07 | 2016-03-07 | サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017161988A true JP2017161988A (ja) | 2017-09-14 |
JP6372505B2 JP6372505B2 (ja) | 2018-08-15 |
Family
ID=59722225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016043432A Active JP6372505B2 (ja) | 2016-03-07 | 2016-03-07 | サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10467047B2 (ja) |
JP (1) | JP6372505B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023032105A1 (ja) * | 2021-09-01 | 2023-03-09 | 楽天モバイル株式会社 | ジョブ制御システム及びその制御方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11010084B2 (en) * | 2019-05-03 | 2021-05-18 | Dell Products L.P. | Virtual machine migration system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009122963A (ja) * | 2007-11-15 | 2009-06-04 | Hitachi Ltd | デプロイ方法およびシステム |
JP2011159249A (ja) * | 2010-02-04 | 2011-08-18 | Nec Corp | コンピュータシステム、仮想マシン管理方法、及び仮想マシン管理プログラム |
JP2014041414A (ja) * | 2012-08-21 | 2014-03-06 | Nippon Telegr & Teleph Corp <Ntt> | 仮想マシンのマイグレーションシステム、制御装置およびマイグレーション方法 |
JP2015008365A (ja) * | 2013-06-24 | 2015-01-15 | 日本電信電話株式会社 | 管理装置、通信システム、管理方法、および、管理プログラム |
JP2016004509A (ja) * | 2014-06-19 | 2016-01-12 | 富士通株式会社 | システム、復元方法、コンピュータ及びプログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7761573B2 (en) * | 2005-12-07 | 2010-07-20 | Avaya Inc. | Seamless live migration of virtual machines across optical networks |
ATE451780T1 (de) | 2007-09-28 | 2009-12-15 | Zimory Gmbh | Verfahren und system zur automatischen remote- bereitstellung eines servers über virtuelle geräteanwendungen |
JP2011076370A (ja) | 2009-09-30 | 2011-04-14 | Hitachi Solutions Ltd | デプロイシステム |
US20120173653A1 (en) | 2010-12-30 | 2012-07-05 | International Business Machines Corporation | Virtual machine migration in fabric attached memory |
US10310878B2 (en) * | 2011-12-16 | 2019-06-04 | Vmware, Inc. | Execution of an application in a runtime environment installed in a virtual appliance |
JP2014142720A (ja) | 2013-01-22 | 2014-08-07 | Fujitsu Ltd | 仮想マシン移動方法、情報処理装置及びプログラム |
-
2016
- 2016-03-07 JP JP2016043432A patent/JP6372505B2/ja active Active
-
2017
- 2017-03-03 US US15/448,940 patent/US10467047B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009122963A (ja) * | 2007-11-15 | 2009-06-04 | Hitachi Ltd | デプロイ方法およびシステム |
JP2011159249A (ja) * | 2010-02-04 | 2011-08-18 | Nec Corp | コンピュータシステム、仮想マシン管理方法、及び仮想マシン管理プログラム |
JP2014041414A (ja) * | 2012-08-21 | 2014-03-06 | Nippon Telegr & Teleph Corp <Ntt> | 仮想マシンのマイグレーションシステム、制御装置およびマイグレーション方法 |
JP2015008365A (ja) * | 2013-06-24 | 2015-01-15 | 日本電信電話株式会社 | 管理装置、通信システム、管理方法、および、管理プログラム |
JP2016004509A (ja) * | 2014-06-19 | 2016-01-12 | 富士通株式会社 | システム、復元方法、コンピュータ及びプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023032105A1 (ja) * | 2021-09-01 | 2023-03-09 | 楽天モバイル株式会社 | ジョブ制御システム及びその制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170255487A1 (en) | 2017-09-07 |
US10467047B2 (en) | 2019-11-05 |
JP6372505B2 (ja) | 2018-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7391862B2 (ja) | 自動的に配備される情報技術(it)システム及び方法 | |
US10474508B2 (en) | Replication management for hyper-converged infrastructures | |
CN107247619B (zh) | 虚拟机热迁移方法、装置、系统、存储介质及设备 | |
US9912535B2 (en) | System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI) | |
JP2015062282A (ja) | 仮想ネットワークアプライアンス不良の検知及びハンドリング | |
JP2009116859A (ja) | 1つ以上の仮想マシンをマイグレートするシステムおよび方法 | |
JP2013544417A (ja) | 異種移動環境用の仮想マシンモーフィング | |
CN106068626B (zh) | 分布网络管理架构中的负载均衡 | |
US10860375B1 (en) | Singleton coordination in an actor-based system | |
JP2011060035A (ja) | アプリケーションデプロイシステム、アプリケーションデプロイ方法及びプログラム | |
KR102524540B1 (ko) | 멀티 클라우드 서비스 플랫폼 장치 및 방법 | |
JP2019101866A (ja) | アプリケーションの更新方法およびプログラム | |
US10613893B2 (en) | System and method for reducing downtime during hypervisor conversion | |
US10536518B1 (en) | Resource configuration discovery and replication system for applications deployed in a distributed computing environment | |
US20220171650A1 (en) | Network system, management method and apparatus thereof, and server | |
JP6372505B2 (ja) | サーバシステム、サーバ装置、プログラム実行可能化処理方法及びプログラム | |
US20190342172A1 (en) | Sending predefined configuration information from a first computer to a second computer in a management network group | |
US9183092B1 (en) | Avoidance of dependency issues in network-based service startup workflows | |
CN112084007A (zh) | 基于虚拟机技术的nas存储升级方法和装置 | |
JP5941442B2 (ja) | 仮想ホストのライブマイグレーション方法およびネットワーク装置 | |
CN111506388B (zh) | 容器性能探测方法、容器管理平台及计算机存储介质 | |
US9348672B1 (en) | Singleton coordination in an actor-based system | |
US11571618B1 (en) | Multi-region game server fleets | |
JP5391152B2 (ja) | サーバシステム、及び、仮想サーバの移行方式を選択する方法 | |
US9405605B1 (en) | Correction of dependency issues in network-based service remedial workflows |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180109 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180619 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180702 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6372505 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |