JP2020135719A - 仮想化装置、仮想化方法及び仮想化プログラム - Google Patents

仮想化装置、仮想化方法及び仮想化プログラム Download PDF

Info

Publication number
JP2020135719A
JP2020135719A JP2019031573A JP2019031573A JP2020135719A JP 2020135719 A JP2020135719 A JP 2020135719A JP 2019031573 A JP2019031573 A JP 2019031573A JP 2019031573 A JP2019031573 A JP 2019031573A JP 2020135719 A JP2020135719 A JP 2020135719A
Authority
JP
Japan
Prior art keywords
processor
virtualization
storage
connection control
control unit
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.)
Pending
Application number
JP2019031573A
Other languages
English (en)
Inventor
慎也 網代
Shinya Ajiro
慎也 網代
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2019031573A priority Critical patent/JP2020135719A/ja
Publication of JP2020135719A publication Critical patent/JP2020135719A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】仮想化前後のデータの整合を保ちつつ、仮想化処理実行中のシステムのダウンタイムを短縮すること。【解決手段】仮想化装置100の仮想化制御部130は、第1のプロセッサ110がストレージ150と接続され、かつ、ストレージにアクセスしてOS151(Operating System)を実行中である場合に、第1のプロセッサへの電源供給を停止し、電源供給の停止後に、接続制御部140に対して、ストレージと第2のプロセッサ120との接続をさせる第1の接続制御を指示し、第1の接続制御後に、第2のプロセッサに対して、OSに対する仮想化処理の開始を指示し、仮想化処理の終了後、接続制御部に対して、ストレージと第2のプロセッサとの接続を切断させる第2の接続制御を指示し、第2の接続制御後に、第1のプロセッサへの電源供給を再開する。【選択図】図1

Description

本発明は、仮想化装置、仮想化方法及び仮想化プログラムに関し、特に、実行中のOS(Operating System)を仮想化するための仮想化装置、仮想化方法及び仮想化プログラムに関する。
近年、クラウドサービスが普及してきており、オンプレミス環境をクラウドシステム上に移行する需要が増えてきている。クラウドシステムでは特定の仮想イメージファイルでの移行手段を提供しているため、物理サーバに直接インストールされた環境の仮想化が求められている。
物理サーバに直接OSがインストールされたシステムを仮想化するための手段は幾つかある。ここで、仮想化対象のサーバの稼働中に仮想化したイメージファイルを取得した場合、仮想化中にデータの書き込みが発生するとタイミングによってはデータの不整合が発生する恐れがある。そこで、データの不整合なく安全に仮想化するために、コールドクローンと呼ばれる技術を用いることが一般的である。
コールドクローンでは、仮想化対象のサーバを一度シャットダウンした後、仮想化ツールが入ったLiveCDを物理サーバに接続して起動する。そして、LiveCDのOSが仮想化対象のサーバのストレージデバイス(HDD(Hard Disk Drive)やSSD(Solid State Drive))にアクセスし、別のストレージ上にシステムを仮想化したイメージファイルを出力する、といった手段が用いられる。例えば、特許文献1には、LiveCDを用いて計算機環境を移行する技術が開示されている。
特開2013−41342号公報
しかしながら、コールドクローンにより仮想化を行う場合、仮想化対象のサーバのシャットダウンと起動が必要となりダウンタイムが長いといった課題がある。
本開示は、このような問題点を解決するためになされたものであり、仮想化前後のデータの整合を保ちつつ、仮想化処理実行中のシステムのダウンタイムを短縮するための仮想化装置、仮想化方法及び仮想化プログラムを提供することを目的とする。
本開示の第1の態様にかかる仮想化装置は、
OS(Operating System)が格納されたストレージと、
第1のプロセッサと、
第2のプロセッサと、
前記ストレージと前記第1のプロセッサ及び前記第2のプロセッサとの接続を制御する接続制御部と、
仮想化制御部と、
を備え、
前記仮想化制御部は、
前記第1のプロセッサが前記ストレージと接続され、かつ、当該ストレージにアクセスして前記OSを実行中である場合に、前記第1のプロセッサへの電源供給を停止し、
前記電源供給の停止後に、前記接続制御部に対して、前記ストレージと前記第2のプロセッサとの接続をさせる第1の接続制御を指示し、
前記第1の接続制御後に、前記第2のプロセッサに対して、前記OSに対する仮想化処理の開始を指示し、
前記仮想化処理の終了後、前記接続制御部に対して、前記ストレージと前記第2のプロセッサとの接続を切断させる第2の接続制御を指示し、
前記第2の接続制御後に、前記第1のプロセッサへの前記電源供給を再開する。
本開示の第2の態様にかかる仮想化方法は、
OS(Operating System)が格納されたストレージと、
第1のプロセッサと、
第2のプロセッサと、
を備えるコンピュータが、
前記第1のプロセッサが前記ストレージと接続され、かつ、当該ストレージにアクセスして前記OSを実行中である場合に、前記第1のプロセッサへの電源供給を停止し、
前記電源供給の停止後に、前記ストレージと前記第2のプロセッサとの接続を行う第1の接続制御を行い、
前記第1の接続制御後に、前記第2のプロセッサに対して、前記OSに対する仮想化処理の開始を指示し、
前記仮想化処理の終了後、前記ストレージと前記第2のプロセッサとの接続を切断する第2の接続制御を行い、
前記第2の接続制御後に、前記第1のプロセッサへの前記電源供給を再開する。
本開示の第3の態様にかかる仮想化プログラムは、
OS(Operating System)が格納されたストレージと、
第1のプロセッサと、
第2のプロセッサと、
を備えるコンピュータに、
前記第1のプロセッサが前記ストレージと接続され、かつ、当該ストレージにアクセスして前記OSを実行中である場合に、前記第1のプロセッサへの電源供給を停止する処理と、
前記電源供給の停止後に、前記ストレージと前記第2のプロセッサとの接続を行う第1の接続制御を行う処理と、
前記第1の接続制御後に、前記第2のプロセッサに対して、前記OSに対する仮想化処理の開始を指示する処理と、
前記仮想化処理の終了後、前記ストレージと前記第2のプロセッサとの接続を切断する第2の接続制御を行う処理と、
前記第2の接続制御後に、前記第1のプロセッサへの前記電源供給を再開する処理と、
を実行させる。
本開示により、仮想化前後のデータの整合を保ちつつ、仮想化処理実行中のシステムのダウンタイムを短縮するための仮想化装置、仮想化方法及び仮想化プログラムを提供することができる。
本実施形態1にかかる仮想化装置の構成を示すブロック図である。 本実施形態1にかかる仮想化方法の流れを示すシーケンス図である。 本実施形態2にかかるサーバの構成を示すブロック図である。 本実施形態2にかかる仮想化方法の流れを示すシーケンス図である。 本実施形態2にかかるストレージデバイスとサーバプロセッサとが接続中の概念を示す図である。 本実施形態2にかかるストレージデバイスとサブプロセッサとが接続中の概念を示す図である。
以下では、本開示の実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
<実施形態1>
図1は、本実施形態1にかかる仮想化装置100の構成を示すブロック図である。仮想化装置100は、コンピュータであり、例えば、サーバ装置である。仮想化装置100は、第1のプロセッサ110と、第2のプロセッサ120と、仮想化制御部130と、接続制御部140と、ストレージ150とを備える。
ストレージ150は、主記憶装置(メモリ、不図示)よりも長期間固定的にデータやプログラムを保存する不揮発性記憶装置である。ストレージ150は、少なくともOS(Operating System)151を格納する。尚、仮想化装置100にはOS151がインストールされているものとする。
第1のプロセッサ110は、CPU((Central Processing Unit))、プロセッサコアといった制御回路である。第1のプロセッサ110は、接続制御部140を介してストレージ150と接続されている場合に、ストレージ150へアクセスしてOS151をメモリに読み出して実行する。また、第1のプロセッサ110は、OS151の実行状態もメモリに格納するものとする。
第2のプロセッサ120は、第1のプロセッサ110とは別の制御回路である。第2のプロセッサ120は、外部又は仮想化制御部130からの指示に応じて接続制御部140を介してストレージ150と接続されている場合に、ストレージ150へアクセスしてOS151に対して仮想化処理を実行することができる。ここで、仮想化処理は、公知の技術を適用可能である。例えば、第2のプロセッサ120は、LiveCDを読み込み実行することにより仮想化処理を実現してもよい。
接続制御部140は、ストレージ150と第1のプロセッサ110及び第2のプロセッサ120との接続を制御する制御回路である。つまり、接続制御部140は、ストレージ150と第1のプロセッサ110との間のバス等の通信経路を接続するか否かを制御する。同様に、接続制御部140は、ストレージ150と第2のプロセッサ120との間のバス等の通信経路を接続するか否かを制御する。尚、接続制御部140は、通常、ストレージ150と第1のプロセッサ110との間の通信経路を少なくとも接続しているものとする。また、接続制御部140は、仮想化制御部130からの指示に応じて上記接続の制御を行う。
仮想化制御部130は、第1のプロセッサ110、第2のプロセッサ120及び接続制御部140と接続され、これらを制御する。例えば、仮想化制御部130は、第1のプロセッサ110への電源供給を停止及び再開を行う。また、仮想化制御部130は、接続制御部140に対して、ストレージ150と第2のプロセッサ120との接続をさせる第1の接続制御を指示する。また、仮想化制御部130は、第2のプロセッサ120によるOS151に対する仮想化処理を制御する。また、仮想化制御部130は、接続制御部140に対して、ストレージ150と第2のプロセッサ120との接続を切断させる第2の接続制御を指示する。
ここで、ストレージ150又は他の内蔵記憶装置(不図示)には、本実施形態にかかる仮想化方法の処理が実装されたコンピュータプログラム(仮想化プログラム)が記憶されている。そして、第2のプロセッサ120は、ストレージ150等からコンピュータプログラムをメモリへ読み込み、当該コンピュータプログラムを実行する。これにより、第2のプロセッサ120は、仮想化制御部130の機能を実現するようにしてもよい。
尚、接続制御部140及び仮想化制御部130のそれぞれは、専用のハードウェアで実現されていてもよい。また、各構成は、汎用または専用の回路(circuitry)、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。また、プロセッサとして、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(field-programmable gate array)等を用いることができる。
図2は、本実施形態1にかかる仮想化方法の流れを示すシーケンス図である。まず、前提として、第1のプロセッサ110は、ストレージ150と接続済み、かつ、OS151を実行中であるものとする(S101)。このとき、仮想化制御部130は、第1のプロセッサ110への電源供給を停止する(S102)。これにより、第1のプロセッサ110によるOS151の実行も停止され、第1のプロセッサ110からストレージ150へのアクセスも発生しないこととなる。
仮想化制御部130は、第1のプロセッサ110への電源供給の停止後に、接続制御部140に対して、ストレージ150と第2のプロセッサ120との接続をさせる第1の接続制御を指示する(S103)。接続制御部140は、第1の接続制御の指示に応じて、ストレージ150と第2のプロセッサ120との接続を行う(S104)。言い換えると、ステップS103及びS104により、仮想化装置100は、第1のプロセッサ110への電源供給の停止後に、ストレージ150と第2のプロセッサ120との接続を行う第1の接続制御を行う。これにより、第2のプロセッサ120は、ストレージ150と接続済み(S105)となり、ストレージ150へアクセスが可能となる。
仮想化制御部130は、第1の接続制御後に、第2のプロセッサ120に対して、OS151に対する仮想化処理の開始を指示する(S106)。第2のプロセッサ120は、仮想化処理の開始指示に応じて、OSの仮想化処理を行う(S107)。すなわち、第2のプロセッサ120は、ストレージ150へアクセスしてOS151を読み出し、OS151に対する仮想化イメージファイルを生成する。尚、第2のプロセッサ120は、生成した仮想化イメージファイルをストレージ150、他の内蔵記憶装置又は外部の記憶装置へ格納する。
仮想化制御部130は、仮想化処理の終了後、接続制御部140に対して、ストレージ150と第2のプロセッサ120との接続を切断させる第2の接続制御を指示する(S109)。接続制御部140は、第2の接続制御の指示に応じて、ストレージ150と第2のプロセッサ120との接続を切断する(S110)。言い換えると、ステップS109及びS110により、仮想化装置100は、仮想化処理の終了後、ストレージ150と第2のプロセッサ120との接続を切断する第2の接続制御を行う。これにより、第2のプロセッサ120は、ストレージ150との接続が切断され(S111)となり、ストレージ150へアクセスができなくなる。
仮想化制御部130は、第2の接続制御後に、第1のプロセッサ110への電源供給を再開する(S112)。これにより、第1のプロセッサ110によるOS151の実行も再開され、第1のプロセッサ110からストレージ150へのアクセスも発生し得ることとなる。
このように、本実施形態1により、OS151の実行が停止中に仮想化処理が行われ、OS151に対応する仮想化イメージファイルが作成される。そのため、OS151と仮想化イメージファイルの間でデータの整合性が保たれる。その理由は、第1のプロセッサ110への電源供給が停止されるためストレージ150へのアクセスが発生せず、OS151の実行状態も変更されないためである。
また、本実施形態1は、仮想化処理の開始前に第1のプロセッサ110への電源供給を停止し、仮想化処理の終了後に第1のプロセッサ110への電源供給を再開するものである。そのため、コールドクーロン技術のように、仮想化処理の前後に、仮想化装置100をシャットダウン及び再起動を行うことに要する時間と比べて、本実施形態1の方が、OS151の実行が停止する時間を短くすることができる。よって、仮想化前後のデータの整合を保ちつつ、仮想化処理実行中のシステムのダウンタイムを短縮することができる。
<実施形態2>
本実施形態2は、上述した実施形態1の具体的な一実施例である。図3は、本実施形態2にかかるサーバ200の構成を示すブロック図である。サーバ200は、上述した仮想化装置100の一例である。サーバ200は、サーバプロセッサ210と、ICH(Intelligent Platform Management Interface)220と、メモリ230と、ICH240と、サブプロセッサ250と、仮想化制御部260と、ストレージデバイス270と、ストレージデバイス280とを備える。
サーバプロセッサ210は、上述した第1のプロセッサ110の一例であり、内部に2以上のプロセッサコアを備えていても良い。サーバプロセッサ210は、ICH220及び仮想化制御部260と接続されている。サーバプロセッサ210は、メモリ230のキャッシュデータ(メモリキャッシュ)の全てをストレージデバイス270又は280に書き出す処理であるsyncを実行可能である。また、サーバプロセッサ210は、仮想化制御部260からのスリープ指示に応じて、スリープ状態に遷移する。スリープ状態とは、メモリ230への給電は維持されるが、サーバプロセッサ210への給電が停止された状態であり、例えば、ACPI(Advanced Configuration and Power Interface)のS3の状態である。また、サーバプロセッサ210は、仮想化制御部260からのスリープ解除指示に応じて、スリープ状態から通常の運用状態に復帰する。つまり、サーバプロセッサ210への電源供給が再開される。尚、サーバ200は、サーバプロセッサ210以外のサーバプロセッサを備えていても良い。
ICH220は、いわゆるNorth Bridgeであり、サーバプロセッサ210、メモリ230及びICH240と接続されている。ICH220は、メモリ230を制御するメモリコントローラ221を備える。
メモリ230は、RAM(Random Access Memory))等の一次記憶装置、主記憶装置である。メモリ230は、サーバプロセッサ210がOS271を実行する際に、OS271やOSの実行状態等を一時的に保持する。
ICH240は、いわゆるSouth Bridgeであり、少なくとも仮想化制御部260、ストレージデバイス270及び280と接続されている。また、ICH240は、ICH220と第1の通信経路291により接続可能であり、サブプロセッサ250と第2の通信経路292により接続可能である。ICH240は、SATA(Serial AT Attachment)コントローラ241を備え、SATAコントローラ241は、経路切換制御部242を備える。
経路切換制御部242は、上述した接続制御部140の一例であり、仮想化制御部260からの経路切換指示に応じてストレージデバイス270及び280と接続する通信経路を、第1の通信経路291又は第2の通信経路292のいずれかに切り換える。つまり、経路切換制御部242は、仮想化制御部260からの経路切換指示に応じてストレージデバイス270及び280との接続先を、サーバプロセッサ210又はサブプロセッサ250のいずれかに切り換えを行う。ここで、通常、接続される通信バスは、第1の通信経路291であるものとする。
サブプロセッサ250は、上述した第2のプロセッサ120の一例であり、サーバプロセッサ210とは異なる電源で動作するシステム管理プロセッサである。サブプロセッサ250は、少なくともサーバ200に内蔵されたものであり、サーバ200の状態監視及び電源制御等を行うための管理チップである。サブプロセッサ250は、例えば、サーバプロセッサ210に供給される電源とは独立したスタンバイ電源で動作するBMC(Baseboard management Controller)である。
サブプロセッサ250は、外部から受け付けた仮想化実行指示を仮想化制御部260へ出力する。また、サブプロセッサ250は、仮想化制御部260からの指示に応じて、第2の通信経路292がストレージデバイス270及び280と接続されている場合に、ストレージデバイス270及び280にアクセスして、OS271の仮想化処理を行う。そして、サブプロセッサ250は、仮想化したイメージファイルをストレージデバイス270、280又は外部へ出力する。このとき、サブプロセッサ250は、ストレージデバイス270のうち空いているストレージ領域に仮想化したイメージファイルを格納してもよい。または、サブプロセッサ250は、空き領域のあるストレージデバイス280又は外部の記憶装置に仮想化したイメージファイルを格納してもよい。その場合、サブプロセッサ250は、第2の通信経路292を介したストレージデバイス270へのアクセスでは、少なくもデータの読み出しができればよい。
ストレージデバイス270及び280は、上述したストレージ150の一例であり、例えば、ストレージデバイス270は、OS271を格納する。尚、サーバプロセッサ210への電源供給が停止した場合であっても、SATAコントローラ241、サブプロセッサ250、仮想化制御部260、ストレージデバイス270及び280への電源供給は停止されないものとする。例えば、サーバプロセッサ210がスリープ状態であっても、SATAコントローラ241、サブプロセッサ250、仮想化制御部260、ストレージデバイス270及び280は動作する。
仮想化制御部260は、上述した仮想化制御部130の一例であり、ユーザからサブプロセッサ250を介して受け付けた仮想化実行指示に応じて、本実施形態2にかかる仮想化処理を開始する。仮想化制御部260は、サーバプロセッサ210に対して、syncを指示する。また、仮想化制御部260は、サーバプロセッサ210に対して、スリープ指示及びスリープ解除指示を行う。また、仮想化制御部260は、経路切換制御部242に対して、ストレージデバイス270及び280との接続を、第1の通信経路291と第2の通信経路292の間で切り換えるための経路切換指示を行う。
図4は、本実施形態2にかかる仮想化方法の流れを示すシーケンス図である。前提として、経路切換制御部242は、第1の通信経路291によりストレージデバイス270及び280とサーバプロセッサ210及びICH220と接続済みとする。つまり、経路切換制御部242は、第2の通信経路292によりストレージデバイス270及び280とサブプロセッサ250とを接続していないものとする。
まず、サブプロセッサ250は、ユーザから受け付けた仮想化実行指示を仮想化制御部260へ出力する(S201)。そして、仮想化制御部260は、サーバプロセッサ210に対して、syncを指示する(S202)。サーバプロセッサ210は、syncを実行し、メモリ230のキャッシュをストレージデバイス270又は280に書き出す(S203)。
ここで、図5は、本実施形態2にかかるストレージデバイスとサーバプロセッサとが接続中の概念を示す図である。ここでは、第1の通信経路291が接続され、第2の通信経路292が切断されており、メモリ230には、OS実行状態231が格納されていることを示す。そして、ステップS202に応じて、サーバプロセッサ210は、メモリ230からOS実行状態231を読み出し、第1の通信経路291を介してストレージデバイス270にOS実行状態272として格納する。
その後、仮想化制御部260は、サーバプロセッサ210に対して、スリープを指示する(S204)。すなわち、仮想化制御部260は、サーバプロセッサ210への電源供給の停止に際し、サーバプロセッサ210に対して、OS271のメモリキャッシュをストレージデバイス270又は280に出力させた後、スリープを指示する。これにより、サーバプロセッサ210は、スリープ状態に遷移し、OS271の実行も停止する。よって、サーバプロセッサ210から第1の通信経路291を介したストレージデバイス270及び280へのアクセスが発生しない。
続いて、仮想化制御部260は、経路切換制御部242に対して経路切換指示を行う(S205)。すなわち、仮想化制御部260は、サーバプロセッサ210への電源供給の停止後に、経路切換制御部242に対して、ストレージデバイス270及び280の接続先をサーバプロセッサ210からサブプロセッサ250へ切り換えさせる第1の接続制御を指示する。そして、経路切換制御部242は、サーバプロセッサ210からサブプロセッサ250へSATA接続を切り換える(S206)。つまり、経路切換制御部242は、ストレージデバイス270及び280との通信経路を第1の通信経路291から第2の通信経路292へ切り換える。これにより、ストレージデバイス270及び280とサブプロセッサ250とは第2の通信経路292により接続される。
その後、仮想化制御部260は、サブプロセッサ250に対して、仮想化実行許可を行う(S207)。これに応じて、サブプロセッサ250は、ストレージデバイス270にアクセスし、OS271の仮想化イメージファイルを生成する。そして、サブプロセッサ250は、生成した仮想化イメージファイルをストレージデバイス280に出力する(S208)。
ここで、図6は、本実施形態2にかかるストレージデバイスとサブプロセッサとが接続中の概念を示す図である。ここでは、第1の通信経路291が切断され、第2の通信経路292が接続されていることを示す。そして、ステップS207に応じて、サブプロセッサ250は、第2の通信経路292を介してストレージデバイス270からOS271及びOS実行状態272を読み出し、OS271及びOS実行状態272を用いて仮想化イメージファイルを生成する。そして、サブプロセッサ250は、生成した仮想化イメージファイルをストレージデバイス280に仮想化イメージファイル281として格納する。その後、サブプロセッサ250は、仮想化制御部260に対して、復旧指示を行う(S209)。
そして、仮想化制御部260は、経路切換制御部242に対して経路切換指示を行う(S210)。すなわち、仮想化制御部260は、仮想化処理の終了後、経路切換制御部242に対して、ストレージデバイス270及び280の接続先をサブプロセッサ250からサーバプロセッサ210へ切り換えさせる第2の接続制御を指示する。そして、経路切換制御部242は、サブプロセッサ250からサーバプロセッサ210へSATA接続を戻す(切り換える)(S211)。つまり、経路切換制御部242は、ストレージデバイス270及び280との通信経路を第2の通信経路292から第1の通信経路291へ切り換える。これにより、ストレージデバイス270及び280とサブプロセッサ250とは第2の通信経路292による接続が切断され、ストレージデバイス270及び280とサーバプロセッサ210とは第1の通信経路291により再び、接続される。
その後、仮想化制御部260は、サーバプロセッサ210に対して、スリープの解除を指示する(S212)。すなわち、仮想化制御部260サーバプロセッサ210の電源供給の再開に際し、サーバプロセッサ210に対して、スリープの解除を指示する。
このように、本実施形態では、物理サーバのプロセッサを一時的にスリープ状態にしている間に、当該物理サーバに直接OSがインストールされたシステムを仮想化することで、データの不整合なく、短いダウンタイムで仮想化できる。つまり、サーバ200は、シャットダウンと再起動を伴わずに、サーバプロセッサ210を一時的にスリープするだけで、システム(OS271)の仮想化イメージを取得することができる。物理サーバの長いシャットダウン処理時間と起動処理時間が、スリープ状態への移行と復旧に置き換わるため、短いダウンタイムでかつデータの不整合なく安全に行うことができる。
さらに、コールドクローン技術では、仮想化対象の物理サーバの一台ごとにLiveCDを接続し、起動及び仮想化を実行するため、多数台のときは多くの工数が掛かっていた。しかし、本開示では実行指示を出すだけでよいため多数台であっても容易に仮想化することができる。
<その他の実施形態>
尚、本開示は、サーバプロセッサへの電源供給の停止を、スリープ状態(ACPIのS3状態)ではなく休止状態(ACPIのS4状態)でも実施が可能である。ここで、休止状態は、ハイバネーションとも呼ばれ、メモリの状態をストレージデバイスに書き込み、メモリも電力供給を停止するものである。そのためサブプロセッサは仮想化を実施する際にはストレージデバイスに書き込まれたメモリの状態を無視して仮想化イメージを作成する。
すなわち、前記仮想化制御部は、第1のプロセッサへの前記電源供給の停止に際し、前記第1のプロセッサに対して、ハイバネーションを指示し、前記電源供給の再開に際し、前記第1のプロセッサに対して、前記ハイバネーションからの復帰を指示してもよい。
また、本開示はスリープ処理実施後に第1の通信経路291を第2の通信経路292の切り換えを行う代わりに、第2の通信経路292の有効無効を切り換えてもよい。
また、本開示は、電源制御と連動した物理マシンの仮想化方法ということもできる。
尚、上述の実施形態では、ハードウェアの構成として説明したが、これに限定されるものではない。本開示は、任意の処理を、CPUにコンピュータプログラムを実行させることにより実現することも可能である。
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、DVD(Digital Versatile Disc)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
なお、本開示は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施形態を適宜組み合わせて実施されてもよい。
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記A1)
OS(Operating System)が格納されたストレージと、
第1のプロセッサと、
第2のプロセッサと、
前記ストレージと前記第1のプロセッサ及び前記第2のプロセッサとの接続を制御する接続制御部と、
仮想化制御部と、
を備え、
前記仮想化制御部は、
前記第1のプロセッサが前記ストレージと接続され、かつ、当該ストレージにアクセスして前記OSを実行中である場合に、前記第1のプロセッサへの電源供給を停止し、
前記電源供給の停止後に、前記接続制御部に対して、前記ストレージと前記第2のプロセッサとの接続をさせる第1の接続制御を指示し、
前記第1の接続制御後に、前記第2のプロセッサに対して、前記OSに対する仮想化処理の開始を指示し、
前記仮想化処理の終了後、前記接続制御部に対して、前記ストレージと前記第2のプロセッサとの接続を切断させる第2の接続制御を指示し、
前記第2の接続制御後に、前記第1のプロセッサへの前記電源供給を再開する
仮想化装置。
(付記A2)
前記接続制御部は、前記ストレージの接続先を、前記第1のプロセッサ又は前記第2のプロセッサのいずれかに切り換えを行うものであり、
前記仮想化制御部は、
前記電源供給の停止後に、前記接続制御部に対して、前記ストレージの接続先を前記第1のプロセッサから前記第2のプロセッサへ切り換えさせる前記第1の接続制御を指示し、
前記仮想化処理の終了後、前記接続制御部に対して、前記ストレージの接続先を前記第2のプロセッサから前記第1のプロセッサへ切り換えさせる前記第2の接続制御を指示する
付記A1に記載の仮想化装置。
(付記A3)
前記第2のプロセッサは、前記第1のプロセッサとは異なる電源で動作するシステム管理プロセッサである
付記A1又はA2に記載の仮想化装置。
(付記A4)
前記仮想化制御部は、
前記電源供給の停止に際し、前記第1のプロセッサに対して、前記OSのメモリキャッシュを前記ストレージに出力させた後、スリープを指示し、
前記電源供給の再開に際し、前記第1のプロセッサに対して、前記スリープの解除を指示する
付記A1乃至A3のいずれか1項に記載の仮想化装置。

(付記A5)
前記仮想化制御部は、
前記電源供給の停止に際し、前記第1のプロセッサに対して、ハイバネーションを指示し、
前記電源供給の再開に際し、前記第1のプロセッサに対して、前記ハイバネーションからの復帰を指示する
付記A1乃至A3のいずれか1項に記載の仮想化装置。
(付記B1)
OS(Operating System)が格納されたストレージと、
第1のプロセッサと、
第2のプロセッサと、
を備えるコンピュータが、
前記第1のプロセッサが前記ストレージと接続され、かつ、当該ストレージにアクセスして前記OSを実行中である場合に、前記第1のプロセッサへの電源供給を停止し、
前記電源供給の停止後に、前記ストレージと前記第2のプロセッサとの接続を行う第1の接続制御を行い、
前記第1の接続制御後に、前記第2のプロセッサに対して、前記OSに対する仮想化処理の開始を指示し、
前記仮想化処理の終了後、前記ストレージと前記第2のプロセッサとの接続を切断する第2の接続制御を行い、
前記第2の接続制御後に、前記第1のプロセッサへの前記電源供給を再開する
仮想化方法。
(付記C1)
OS(Operating System)が格納されたストレージと、
第1のプロセッサと、
第2のプロセッサと、
を備えるコンピュータに、
前記第1のプロセッサが前記ストレージと接続され、かつ、当該ストレージにアクセスして前記OSを実行中である場合に、前記第1のプロセッサへの電源供給を停止する処理と、
前記電源供給の停止後に、前記ストレージと前記第2のプロセッサとの接続を行う第1の接続制御を行う処理と、
前記第1の接続制御後に、前記第2のプロセッサに対して、前記OSに対する仮想化処理の開始を指示する処理と、
前記仮想化処理の終了後、前記ストレージと前記第2のプロセッサとの接続を切断する第2の接続制御を行う処理と、
前記第2の接続制御後に、前記第1のプロセッサへの前記電源供給を再開する処理と、
を実行させる仮想化プログラム。
以上、実施形態(及び実施例)を参照して本願発明を説明したが、本願発明は上記実施形態(及び実施例)に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
100 仮想化装置
110 第1のプロセッサ
120 第2のプロセッサ
130 仮想化制御部
140 接続制御部
150 ストレージ
151 OS
200 サーバ
210 サーバプロセッサ
220 ICH
221 メモリコントローラ
230 メモリ
231 OS実行状態
240 ICH
241 SATAコントローラ
242 経路切換制御部
250 サブプロセッサ
260 仮想化制御部
270 ストレージデバイス
271 OS
272 OS実行状態
280 ストレージデバイス
281 仮想化イメージファイル
291 第1の通信経路
292 第2の通信経路

Claims (7)

  1. OS(Operating System)が格納されたストレージと、
    第1のプロセッサと、
    第2のプロセッサと、
    前記ストレージと前記第1のプロセッサ及び前記第2のプロセッサとの接続を制御する接続制御部と、
    仮想化制御部と、
    を備え、
    前記仮想化制御部は、
    前記第1のプロセッサが前記ストレージと接続され、かつ、当該ストレージにアクセスして前記OSを実行中である場合に、前記第1のプロセッサへの電源供給を停止し、
    前記電源供給の停止後に、前記接続制御部に対して、前記ストレージと前記第2のプロセッサとの接続をさせる第1の接続制御を指示し、
    前記第1の接続制御後に、前記第2のプロセッサに対して、前記OSに対する仮想化処理の開始を指示し、
    前記仮想化処理の終了後、前記接続制御部に対して、前記ストレージと前記第2のプロセッサとの接続を切断させる第2の接続制御を指示し、
    前記第2の接続制御後に、前記第1のプロセッサへの前記電源供給を再開する
    仮想化装置。
  2. 前記接続制御部は、前記ストレージの接続先を、前記第1のプロセッサ又は前記第2のプロセッサのいずれかに切り換えを行うものであり、
    前記仮想化制御部は、
    前記電源供給の停止後に、前記接続制御部に対して、前記ストレージの接続先を前記第1のプロセッサから前記第2のプロセッサへ切り換えさせる前記第1の接続制御を指示し、
    前記仮想化処理の終了後、前記接続制御部に対して、前記ストレージの接続先を前記第2のプロセッサから前記第1のプロセッサへ切り換えさせる前記第2の接続制御を指示する
    請求項1に記載の仮想化装置。
  3. 前記第2のプロセッサは、前記第1のプロセッサとは異なる電源で動作するシステム管理プロセッサである
    請求項1又は2に記載の仮想化装置。
  4. 前記仮想化制御部は、
    前記電源供給の停止に際し、前記第1のプロセッサに対して、前記OSのメモリキャッシュを前記ストレージに出力させた後、スリープを指示し、
    前記電源供給の再開に際し、前記第1のプロセッサに対して、前記スリープの解除を指示する
    請求項1乃至3のいずれか1項に記載の仮想化装置。
  5. 前記仮想化制御部は、
    前記電源供給の停止に際し、前記第1のプロセッサに対して、ハイバネーションを指示し、
    前記電源供給の再開に際し、前記第1のプロセッサに対して、前記ハイバネーションからの復帰を指示する
    請求項1乃至3のいずれか1項に記載の仮想化装置。
  6. OS(Operating System)が格納されたストレージと、
    第1のプロセッサと、
    第2のプロセッサと、
    を備えるコンピュータが、
    前記第1のプロセッサが前記ストレージと接続され、かつ、当該ストレージにアクセスして前記OSを実行中である場合に、前記第1のプロセッサへの電源供給を停止し、
    前記電源供給の停止後に、前記ストレージと前記第2のプロセッサとの接続を行う第1の接続制御を行い、
    前記第1の接続制御後に、前記第2のプロセッサに対して、前記OSに対する仮想化処理の開始を指示し、
    前記仮想化処理の終了後、前記ストレージと前記第2のプロセッサとの接続を切断する第2の接続制御を行い、
    前記第2の接続制御後に、前記第1のプロセッサへの前記電源供給を再開する
    仮想化方法。
  7. OS(Operating System)が格納されたストレージと、
    第1のプロセッサと、
    第2のプロセッサと、
    を備えるコンピュータに、
    前記第1のプロセッサが前記ストレージと接続され、かつ、当該ストレージにアクセスして前記OSを実行中である場合に、前記第1のプロセッサへの電源供給を停止する処理と、
    前記電源供給の停止後に、前記ストレージと前記第2のプロセッサとの接続を行う第1の接続制御を行う処理と、
    前記第1の接続制御後に、前記第2のプロセッサに対して、前記OSに対する仮想化処理の開始を指示する処理と、
    前記仮想化処理の終了後、前記ストレージと前記第2のプロセッサとの接続を切断する第2の接続制御を行う処理と、
    前記第2の接続制御後に、前記第1のプロセッサへの前記電源供給を再開する処理と、
    を実行させる仮想化プログラム。
JP2019031573A 2019-02-25 2019-02-25 仮想化装置、仮想化方法及び仮想化プログラム Pending JP2020135719A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019031573A JP2020135719A (ja) 2019-02-25 2019-02-25 仮想化装置、仮想化方法及び仮想化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019031573A JP2020135719A (ja) 2019-02-25 2019-02-25 仮想化装置、仮想化方法及び仮想化プログラム

Publications (1)

Publication Number Publication Date
JP2020135719A true JP2020135719A (ja) 2020-08-31

Family

ID=72263425

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019031573A Pending JP2020135719A (ja) 2019-02-25 2019-02-25 仮想化装置、仮想化方法及び仮想化プログラム

Country Status (1)

Country Link
JP (1) JP2020135719A (ja)

Similar Documents

Publication Publication Date Title
US9632888B2 (en) Memory data migration method and apparatus, and computer
US11036531B2 (en) Techniques to migrate a virtual machine using disaggregated computing resources
US10360114B2 (en) Hardware recovery systems
JP5637873B2 (ja) 計算機システムおよびpciカードのhba識別子引き継ぎ方式
US9910664B2 (en) System and method of online firmware update for baseboard management controller (BMC) devices
KR20060052086A (ko) 정보 처리 시스템 및 정보 처리 방법과 프로그램
JP2010510607A (ja) システムハードウェアの交換
JP2012220990A (ja) ハイパーバイザ置き換え方法および情報処理装置
JP2007219757A (ja) 仮想計算機システムを機能させるためのプログラム
US10809997B2 (en) Information processing apparatus and program update control method
US20160239079A1 (en) Power supply control apparatus and computer product
JP6111181B2 (ja) 計算機の制御方法及び計算機
US9514009B2 (en) Reducing server power consumption to compensate for a power supply failure in a multiple power supply configuration
JP5158187B2 (ja) ストレージ装置、ストレージ制御装置およびストレージ制御方法
US10802742B2 (en) Memory access control
JP2016189049A (ja) 半導体装置及びその制御方法
JP2012027655A (ja) 情報処理装置および省電力メモリ管理方法
JP2020135719A (ja) 仮想化装置、仮想化方法及び仮想化プログラム
US20200133562A1 (en) Information processing device, controlling method and program
US11347288B2 (en) Power management in a blade enclosure
JP5085611B2 (ja) 実環境と仮想環境を遷移させるコンピュータ・プログラム
JP6981098B2 (ja) 復旧制御装置、復旧制御システム、復旧制御方法、及び、復旧制御プログラム
JP5135462B1 (ja) 情報処理装置及びメモリ管理方法
JP2013073332A (ja) 電源装置およびプログラム
WO2022041839A1 (zh) 裸金属服务器在线迁移方法以及系统