JP5968818B2 - 仮想デバイスタイムアウト時間算出装置、方法、およびプログラム - Google Patents

仮想デバイスタイムアウト時間算出装置、方法、およびプログラム Download PDF

Info

Publication number
JP5968818B2
JP5968818B2 JP2013068553A JP2013068553A JP5968818B2 JP 5968818 B2 JP5968818 B2 JP 5968818B2 JP 2013068553 A JP2013068553 A JP 2013068553A JP 2013068553 A JP2013068553 A JP 2013068553A JP 5968818 B2 JP5968818 B2 JP 5968818B2
Authority
JP
Japan
Prior art keywords
virtual
physical
timeout time
computer
virtual device
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.)
Expired - Fee Related
Application number
JP2013068553A
Other languages
English (en)
Other versions
JP2014191723A (ja
Inventor
泰芽 阿部
泰芽 阿部
崇博 大平
崇博 大平
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013068553A priority Critical patent/JP5968818B2/ja
Publication of JP2014191723A publication Critical patent/JP2014191723A/ja
Application granted granted Critical
Publication of JP5968818B2 publication Critical patent/JP5968818B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、仮想計算機が認識する仮想デバイスのタイムアウト時間を算出する技術に関する。
汎用インタフェースを持つ電子計算機においては、システム立ち上げ時に、汎用デバイスドライバの初期化プログラムが各デバイスのタイムアウト時間を設定する。汎用インタフェースに接続されるデバイスは多岐にわたるが、明示的に指定しない限り、接続されたデバイスによらず予め決められた初期値のタイムアウト時間が適用される。
これに関して、例えば汎用インタフェースにハードディスクが接続されている場合には下記のような問題が発生する。
汎用デバイスドライバが設定するタイムアウト時間がディスクのデータ書き込みあるいはデータ読み出し(以下「ディスクI/O」ともいう)に要する時間よりも短い場合、ディスクへのアクセス要求に対してディスクから適切な応答が返る可能性が残されているにも関わらず、無応答障害が検出されてしまう場合がある。
また、汎用デバイスドライバが設定するタイムアウト時間がディスクI/Oに要する時間よりも大幅に長い場合、ディスクが応答を返せないような障害が発生したとき、その障害を検出してエラー処理を行うまでに要する時間が無用に長くなってしまう。特に、要求を発行したアプリケーションが、ディスクからの応答を待つ方式のディスクI/O(同期I/O)を発行した場合には、アプリケーションは長い間応答を待って動作できない状態となってしまう。
上述のように適切なタイムアウト時間が設定されていないと様々な不具合が発生する。
一方、デバイスに応じて適切なタイムアウト時間を設定するにはデバイス固有のドライバを組み込むか、手動によりデバイス毎のタイムアウト時間を設定する必要があり、その作業は煩雑となる。
この問題に関して特許文献1では、各デバイスの内部にそのデバイス自身の適切なタイムアウト時間を保持させ、汎用インタフェースにはデバイス側からシステム側にそのタイムアウト時間を伝える手段を予め用意しておくという技術が開示されている。これにより、システム側が各デバイスに応じて適切なタイムアウト時間を設定することが可能となる。
特開平7−84688号公報
しかしながら、近年では、物理計算機のリソースを有効活用するため、特許文献1では想定されていないような仮想計算機という技術が実現されている。そのためソフトウェアで再現した複数の仮想計算機が物理計算機上で動作することがある。
これらの仮想計算機が認識する各種デバイスは、多種多様なデバイスを抽象的に表現した実デバイス上の仮想的なデバイス(仮想デバイス)である。そのため、同じ仮想デバイスであってもそれが動作している実デバイスにより適切なタイムアウト時間は様々となる。また、その実デバイスを駆動する物理計算機上のドライバが設定する初期値のタイムアウト時間も様々となる。また、物理計算機上での仮想計算機の動作環境も様々であり、仮想計算機の動作速度もそれによって変わる。
このような環境では、例えば、仮想計算機と物理計算機の間に存在する種々のソフトウェアが処理に要する時間が異なり、一意に定まらないため、特許文献1に記載された技術を仮想環境に適用し、固有のタイムアウト時間を仮想デバイスに保持させることでは対応できない。
また、例えば、物理ディスクを複数の仮想ディスクが共用する場合、どれだけの仮想ディスクが物理ディスクを共用するかによって物理ディスク全体のI/O処理量が異なる。物理ディスクの備えるI/O帯域に加わるI/O処理量が変われば、I/Oのレスポンスも変化する。このような場合もやはり、特許文献1の技術では適切に対応できない。
従って、本発明の第一の目的は、物理計算機上で仮想計算機が動作するような状況において仮想デバイスの適切なタイムアウト時間を算出することである。
また、仮想計算機においては、物理計算機を更新する場合や、ライブマイグレーションにより動的に物理計算機を変更する場合など、仮想デバイスが配置されている物理デバイスが変更となることがある。このときに以下のような問題が発生する。
例えば、ある物理計算機の物理ディスクドライバが設定するタイムアウト時間が18秒であるとする。そして、仮想計算機の仮想ディスクドライバが設定するタイムアウト時間は、上記18秒に、仮想計算機と物理計算機間に存在する種々のソフトウェアが処理に要する時間を加え、24秒に設定されているとする。
そのような状況において、仮想計算機が配置されている物理計算機のサポートが終了するため、仮想計算機を引き継ぐ形で物理計算機が更新され、その際に物理計算機に接続される物理ディスクも変更されるという場合を想定する。そして、新たに導入される固有のディスクドライバが設定するタイムアウト時間が60秒であるとする。
この場合、新たな環境においては、物理計算機の物理ディスクは最大で60秒間は正常な応答を返す可能性がある。しかし、それにも関わらず、煩雑な作業を避けて物理計算機の更新前のままタイムアウト時間の設定を24秒にしておけば、仮想計算機は24秒で無応答障害を検出してしまうことになる。
また別の例として、物理計算機のサポートが終了するため、物理計算機を更新し、物理計算機に接続される物理ディスクも変更される場合を想定する。そして、その固有の物理ディスクドライバが設定するタイムアウト時間が3秒であるとする。
この場合、仮想計算機と物理計算機間のソフトウェア処理において、無限ループ等により仮想計算機へ正常なリターンが返らなくなったとき、仮想計算機は無応答障害を検出するまで24秒間を要し、その間、つまり物理ディスクドライバが設定する物理ディスク固有のタイムアウト時間の3秒を過ぎても24秒経過するまでは、無応答障害が検出されないことになる。
このように、物理デバイス上に仮想デバイスを構築するような環境においては、対象の仮想デバイスを実現する物理デバイスが変更された場合、適切なタイムアウト時間が大幅に変化してしまい、タイムアウト時間の設定を変更しないと仮想計算機を含むシステムとして適切な動作を行えない場合がある。
従って、本発明の第二の目的は、仮想デバイスが実現される物理デバイスが変更された場合においても、適切な仮想デバイスのタイムアウト時間を算出することにある。
仮想デバイスタイムアウト時間算出装置は、物理計算機上の仮想計算機が認識する物理デバイス上の対象仮想デバイスにアクセスするシステムにおける仮想デバイスのタイムアウト時間を算出する装置である。仮想デバイスタイムアウト時間算出装置は、物理計算機による物理デバイスへのアクセスにおける無応答障害の検出に用いるべき物理デバイスタイムアウト時間を保持する物理タイムアウト時間取得保持手段と、物理計算機と仮想計算機の間のソフトウェア構成を保持するソフトウェア構成保持手段と、対象仮想デバイスを含む、物理計算機上で動作する仮想計算機の動作状況を保持する動作状況保持手段と、物理デバイスタイムアウト時間とソフトウェア構成と動作状況とに基づいて、対象仮想デバイスの無応答障害の検出に用いるべき仮想デバイスタイムアウト時間を算出するタイムアウト時間算出手段と、を有する。
仮想デバイスタイムアウト時間算出手段は、タイムアウト時間算出装置により算出された仮想デバイスタイムアウト時間を対象仮想デバイスに対応する仮想計算機に設定する設定手段を更に備えてもよい。
タイムアウト時間算出手段は、仮想計算機の起動時に、仮想計算機が認識する仮想デバイを対象仮想デバイスとして仮想デバイスタイムアウト時間を算出してもよい。
タイムアウト時間算出手段は、ライブマイグレーションによって物理計算機上の仮想計算機の構成が変更されるとき、新たな構成において物理計算機上の全ての仮想計算機が認識する仮想デバイスを対象仮想デバイスとして仮想デバイスタイムアウト時間を算出してもよい。
仮想デバイスタイムアウト時間は、ソフトウェア構成に基づく物理計算機と仮想計算機の間のソフトウェア処理に要するソフトウェア処理時間と、動作状況に基づく対象仮想デバイスの遅延見込み時間と、物理デバイスタイムアウト時間と、を含む。
遅延見込み時間は、動作状況を統計演算することにより得られる値である。
仮想デバイスタイムアウト時間算出装置は、物理計算機に実装されてもよい。
物理計算機上の仮想計算機が認識する物理デバイス上の対象仮想デバイスにアクセスするシステムにおける仮想デバイスのタイムアウト時間を算出する方法であって、方法は、物理計算機による前記物理デバイスへのアクセスにおける無応答障害の検出に用いるべき物理デバイスタイムアウト時間を保持する物理タイムアウト時間取得保持ステップと、物理計算機と仮想計算機の間のソフトウェア構成を保持するソフトウェア構成保持ステップと、対象仮想デバイスを含む、物理計算機上で動作する仮想計算機の動作状況を保持する動作状況保持ステップと、物理デバイスタイムアウト時間とソフトウェア構成と動作状況とに基づいて、対象仮想デバイスの無応答障害の検出に用いるべき仮想デバイスタイムアウト時間を算出するタイムアウト時間算出ステップと、を有する。
物理計算機上の仮想計算機が認識する物理デバイス上の対象仮想デバイスにアクセスするシステムにおける仮想デバイスのタイムアウト時間を算出するプログラムであって、プログラムは、物理計算機による物理デバイスへのアクセスにおける無応答障害の検出に用いるべき物理デバイスタイムアウト時間を保持し、物理計算機と仮想計算機の間のソフトウェア構成を保持し、対象仮想デバイスを含む、物理計算機上で動作する仮想計算機の動作状況を保持し、物理デバイスタイムアウト時間とソフトウェア構成と動作状況とに基づいて、対象仮想デバイスの無応答障害の検出に用いるべき仮想デバイスタイムアウト時間を算出する。
本発明によれば、物理計算機上で仮想計算機が動作するような状況において仮想デバイスの適切なタイムアウト時間の算出が可能となる。
本実施形態に係る仮想デバイスタイムアウト時間算出装置を含むシステムの構成図である。 仮想計算機を実装する物理計算機の変更について説明するための図である。 タイムアウト時間テーブルの一例である。 仮想計算機構成テーブルの一例である。 タイムアウト時間対応テーブルの一例である。 マージン対応テーブルの一例である。 仮想デバイスタイムアウト時間テーブルの一例である。 仮想デバイスタイムアウト算出部の処理の一例を示すフローチャートである。 各仮想計算機の仮想計算機タイムアウト時間設定処理の一例を示すフローチャートである。
本発明の一つの実施形態について図面を参照して説明する。
以下の説明では、オペレーティングシステムという用語を用いる場合があるが、説明で用いるオペレーティングシステムとは、厳密にカーネルのみを示すものではなく、例えば、仮想計算機の作成・動作のため等の周辺ソフトウェアも含めたものである。
以下の説明では、物理計算機用又は仮想計算機用オペレーティングシステム、又は、これらが有する機能を実現する処理部等を動作の主体として説明する場合があるが、これらの処理部は、プロセッサがソフトウェアプログラムを実行することにより、実現される仮想的な処理部であってもよい。
以下では、1つの物理計算機と、これに接続される物理デバイスとして1つの物理ディスクと、を有するシステムについて説明するが、これに限定されるものではない。システム上の物理計算機の数や、物理計算機に接続される物理デバイスの数及び種類は、どのようであってもよい。また、物理計算機上の仮想計算機の数、及び、物理ディスク上の仮想ディスクの数についても、以下の例には限られるものではない。
以下では、物理ディスクが保持する情報をテーブルとして説明する場合があるが、これら情報はテーブルとして保持されるものには限られない。
図1は、本実施形態に係る仮想デバイスタイムアウト時間算出装置を含むシステム1の構成図である。
システム1は、仮想デバイスタイムアウト時間算出装置が実装される物理計算機400と、物理計算機400に接続される物理ディスクと450とを有する。なお、物理ディスク450は、図示例では物理計算機400の外部に接続されているが、物理計算機400の内部設けられていてもよい。
物理計算機400は、主記憶装置410とプロセッサ440とを有する。主記憶装置410には、物理計算機用オペレーティングシステム(以下、物理計算機用OSという)430が記憶される。そして、プロセッサ440が、物理計算機用OS430の処理を実行することにより、種々の機能が実現される。
物理計算機用OS430は、物理ディスクドライバ433と、仮想・物理間通信インタフェース431と、仮想ディスクタイムアウト算出部432と、マージン算出部434とを含む。
物理ディスクドライバ433は、物理ディスク450を制御するとともに、物理計算機用OS430と物理ディスク450との間のインタフェースを提供する。
仮想・物理間通信インタフェース431は、物理計算機用OS430と、物理計算機400上に実現される仮想計算機(500A又は500B)の仮想計算機用OS(510A又は510B)との間の通信を行うインタフェースである。
マージン算出部434は、物理計算機400と各仮想計算機(500A及び500B)との間のソフトウェア構成と、物理計算機400上で動作する仮想計算機(500A及び500B)の動作状況とに基づいて、後述する、仮想デバイスタイムアウト時間の算出にて考慮すべきマージンを算出する。具体的な例は、後に詳述する。
仮想ディスクタイムアウト算出部432は、物理ディスク450に固有に設定される物理デバイスタイムアウト時間と、マージン算出部434で算出されたマージンとに基づいて、対象仮想ディスク(451A及び/又は451B)の無応答障害の検出に用いるべき仮想デバイスタイムアウト時間を算出する。
また、仮想ディスクタイムアウト算出部432は、算出した仮想デバイスタイムアウト時間を、その対象となる仮想ディスク(451A及び/又は451B)に対応する仮想計算機(500A及び/又は500B)に設定する。
次に、仮想計算機(500A及び500B)について説明する。なお、仮想計算機500Aと仮想計算機500Bとは、基本構成が同じであるため、ここでの説明においては、代表して仮想計算機500Aについてのみ説明し、仮想計算機500Bの説明を省略する。
仮想計算機500Aは、プロセッサ440が物理計算機用OS430を起動することにより、実現される。具体的には、主記憶装置410に、仮想計算機用論理区画420Aが設定され、そこに仮想計算機500Aが実現される。
仮想計算機500Aは、仮想計算機用オペレーティングシステム(以下、仮想計算機用OSという)510Aと、タイムアウト時間設定処理部520Aとを含む。
仮想計算機用OS510Aは、仮想ディスクドライバ512Aと、タイムアウト時間設定インタフェース511Aと、仮想・物理間通信インタフェース513Aと、を有する。
仮想ディスクドライバ512Aは、自身の仮想計算機500Aが認識する仮想ディスク451Aを制御するとともに、仮想計算機用OS510Aと仮想ディスク451Aとの間のインタフェースを提供する。
タイムアウト時間設定インタフェース511Aは、仮想計算機500Aが認識する仮想ディスク451Aのタイムアウト時間を、仮想計算機500Aに設定するためのインタフェースである。
仮想・物理間インタフェース513Aは、仮想計算機500Aの仮想計算機用OS510Aと、物理計算機用OS430との通信を行うインタフェースである。
物理ディスク450には、仮想ディスク(451A及び451B)が設定され、そのそれぞれに仮想計算機ディスクイメージ(452A及び452B)が実現される。なお、仮想計算機ディスクイメージ(452A及び452B)は、それぞれ、仮想計算機(500A及び500B)に接続される仮想ディスク(451A及び451B)のイメージファイルである。
また、物理ディスク450は、タイムアウト時間テーブル453と、仮想計算機構成テーブル454と、タイムアウト時間対応テーブル455と、マージン対応テーブル456と、仮想デバイスタイムアウト時間テーブル457とを有する。
タイムアウト時間テーブル453は、物理計算機400による物理ディスク450へのアクセスにおける無応答障害の検出に用いるべき物理デバイスタイムアウト時間を保持するテーブルである。
仮想計算機構成テーブル454は、物理計算機400と、物理計算機400上に実現される各仮想計算機(500A及び500B)の間のソフトウェア構成を保持するテーブルである。
タイムアウト時間対応テーブル455は、仮想計算機(500A及び500B)と、各仮想計算機(500A及び500B)を実現する物理計算機400固有のタイムアウト時間とが対応づけられたテーブルである。
マージン対応テーブル456は、仮想計算機(500A及び500B)毎のマージンが設定されるテーブルである。詳細は後述する。
仮想デバイスタイムアウト時間テーブル457は、仮想計算機(500A及び500B)毎に、仮想ディスクのタイムアウト時間が設定されるテーブルである。
図2は、仮想計算機を実装する物理計算機が変更された場合を説明するための図である。以下、同じネットワーク300上の他のシステムYの物理計算機y上で動作する仮想計算機420Bが、システム1の物理計算機400に移行される場合を説明する。
ネットワーク300には、仮想計算機420Bの移行元の物理計算機yを有するシステムYと、仮想計算機420Bの移行先となる物理計算機400を有するシステム1とが接続されている。移行元のシステムYの構成は、システム1の構成と基本的に同じである。システムYの物理計算機yには、仮想計算機用論理区画420Bが設定され、その内部に仮想計算機500Bが実現される。また、システムYの物理計算機yには、仮想計算機500Bが認識する仮想ディスク451Bを有する物理ディスクzが接続されている。
以下、ネットワーク300を介して、仮想計算機420Bを、移行元の物理計算機yから移行先の物理計算機400に移行する場合の処理を説明する。
(*)物理計算機用OS(ya)は、仮想計算機500Bを実現するためのデータと、仮想計算機500Bが認識する仮想ディスク451Bの仮想計算機ディスクイメージ(452B)とを、物理計算機400の物理計算機用OS430に送信する。
(*)物理計算機用OS430は、仮想計算機500Bを実現するためのデータと、仮想ディスクイメージ452Bとを受信する。そして、物理計算機用OS430は、受信したデータを物理ディスク450に保持する。
(*)物理計算機用OS430は、主記憶410A内に仮想計算機用論理区画420Bを設定する。
(*)物理計算機用OS430は、受信したデータに基づき、仮想計算機用論理区画420Bに仮想計算機500Bを実現する。
(*)物理計算機用OS430は、受信したデータに基づき、物理ディスク450に、仮想ディスク451Bを設定し、仮想ディスクイメージ452Bを実現する。
図3は、タイムアウト時間テーブル453の一例である。
テーブル453には、物理ディスクの物理ディスク名と、物理ディスクの固有のタイムアウト時間とが対応づけて設定される。具体的には、例えば、物理ディスク450の固有のタイムアウト時間は、15秒である。
図4は、仮想計算機構成テーブル454の一例である。
テーブル454には、仮想計算機の仮想計算機名と、仮想計算機に接続される仮想ディスクの仮想ディスク名と、仮想ディスク内に実現される仮想計算機ディスクイメージファイル名と、仮想ディスクイメージファイルのデータが保持される物理ディスク名と、仮想計算機と仮想ディスクとの間の通信のI/O帯域使用量(Mb/sec)とが設定される。I/O帯域使用量(Mb/sec)には、例えば、動作状況の統計演算としての過去(又は、過去のある期間)に測定されたI/O帯域使用量(Mb/sec)の平均値や、事前テストにおいて測定されたI/O帯域使用量(Mb/sec)の値が設定されてもよい。具体的には、例えば、仮想計算機500Aは、物理ディスク450内の仮想ディスクイメージ452Aを含む仮想ディスク451Aを認識する。
図5は、タイムアウト時間対応テーブル455の一例である。
テーブル455には、物理計算機が実現する仮想計算機の仮想計算機名と、仮想計算機が認識する仮想ディスクの仮想ディスク名とが、その物理計算機に接続される物理ディスクのタイムアウト時間に対応づけて設定される。具体的には、例えば、仮想計算機500Aが認識する仮想ディスク451Aを有する物理ディスク450の固有のタイムアウト値は、15秒である。
マージン算出部434により算出される、マージンの計算式の一例を示す。
Figure 0005968818
マージンの計算式は、例えば、物理ディスク450又は主記憶装置410の図示しないメモリ上に保持される。マージンは、ソフトウェア構成に基づく物理計算機と仮想計算機の間のソフトウェア処理に要するソフトウェア処理時間と、動作状況に基づく対象仮想デバイスの遅延見込み時間に応じて算出される。ここで、物理計算機と仮想計算機の間のソフトウェア処理に要するソフトウェア処理時間は、ソフトウェアの構成に依存し、ソフトウェアの動作状況(例えば、アクセス頻度)には、依存しない値である。また、遅延見込み時間は、動作状況を統計演算することにより得られる値である。なお、仮想計算機と物理計算機との間のソフトウェアの処理に要する時間は、例えば、予め測定されてメモリ上に保持されていてもよい。
上式においては、マージンは、仮想計算機と物理計算機との間のソフトウェアの処理に要する時間に、物理計算機上に実現される仮想計算機の数と、動作状況の統計演算された値としての、物理計算機上の仮想計算機及び仮想ディスク間のI/O帯域使用量の総量とを掛け合わせた値の10分の1の時間を加えて計算される。この場合は、同じ物理計算機に実装された仮想計算機に対しては、同じマージンの値が設定されてもよい。具体的には、マージンは、仮想計算機と物理計算機との間のソフトウェアの処理に要する時間(5秒)+仮想計算機数(2台)×仮想ディスク間の総I/O帯域使用量(15+50=65Mb/sec)より、18秒と算出される。なお、上述の計算式は一例である。このため、マージンは、ソフトウェア構成に基づく物理計算機と仮想計算機の間のソフトウェア処理に要するソフトウェア処理時間と、動作状況に基づく対象仮想デバイスの遅延見込み時間に応じて算出されるものであれば、どのようなものであってもよい。
図6は、マージン対応テーブル456の一例である。
マージン対応テーブル456には、仮想計算機の仮想計算機名と、その仮想計算機が実現される物理計算機のマージンとが対応づけられる。具体的には、仮想計算機500A及び仮想計算機500Bには、これら仮想計算機(500A及び500B)を実現する物理計算機400のマージン(18秒)が対応づけられている。
図7は、仮想デバイスタイムアウト時間テーブル457の一例である。
テーブル457は、仮想計算機の仮想計算機名と、仮想計算機に認識される仮想ディスク名と、仮想デバイスタイムアウト時間とが対応づけられる。本例では、仮想計算機500Aに認識される仮想ディスク451Aの仮想デバイスタイムアウト時間は、仮想計算機が実現される物理ディスクに依存する固有値として設定されたタイムアウト時間(15秒)に、仮想計算機を実現する物理ディスクのマージン(18秒)を加えた値(33秒)である。
図8は、仮想ディスクタイムアウト算出部432の処理の一例を示すフローチャートである。
この処理は、物理計算機400上で仮想計算機(500A及び/又は500B)が起動する際に行われる。例えば、この処理は、物理計算機の更新や、ライブマイグレーションによる物理計算機の動的変更を契機におこなわれてもよい。
ステップS81で、仮想ディスクタイムアウト算出部432は、主記憶装置410の図示しないメモリに、タイムアウト時間テーブル453と仮想計算機構成テーブル454とを読み込む。
ステップS82で、仮想ディスクタイムアウト算出部432は、タイムアウト時間対応テーブル455を作成する。具体的には、例えば、仮想ディスクタイムアウト算出部432は、タイムアウト時間テーブル453と仮想計算機構成テーブル454と基づき、物理ディスクに対応する仮想ディスクに、その物理ディスク固有のタイムアウト時間を対応づける。
ステップS83で、仮想ディスクタイムアウト算出部432は、マージン対応テーブル455を作成する。具体的には、例えば、以下の処理が行われる。
(*)仮想ディスクタイムアウト算出部432は、マージン算出部434に処理を渡す。
(*)マージン算出部434は、メモリに保持された、仮想計算機と物理計算機との間のソフトウェアの処理に要する時間と、仮想計算機構成テーブル454とに基づき、マージン計算式によって物理計算機毎にマージンを算出する。
(*)マージン算出部434は、算出された物理計算機毎のマージンを仮想ディスクタイムアウト算出部432に渡す。
(*)仮想ディスクタイムアウト算出部432は、渡されたマージンを、物理計算機410上の各仮想計算機に対応づけて、マージン対応455を作成する。
ステップS84で、仮想ディスクタイムアウト算出部432は、仮想デバイスタイムアウト時間テーブル457を作成する。具体的には、例えば、仮想ディスクタイムアウト算出部432は、仮想計算機構成テーブル453とマージン対応テーブル455とに基づき、物理ディスクの固定のタイムアウト時間に各仮想ディスクのマージンを加え、仮想計算機仮想ディスクのタイムアウト時間を算出し、仮想デバイスタイムアウト時間テーブル457を作成する。
ステップS85で、仮想ディスクタイムアウト算出部432は、作成した仮想デバイスタイムアウト時間テーブル457に基づき、各仮想計算機(500A及び500B)の仮想・物理間通信インタフェース(513A及び513B)へ、対応する仮想デバイスタイムアウト時間を送信し、処理を終了する。具体的には、例えば、仮想デバイスタイムアウト時間の送信は、物理計算機用OS430の仮想・物理管通信インタフェース431を介して、各仮想計算機(500A及び500B)が有する仮想計算機用OS(510A及び510B)の仮想・物理間通信インタフェース(513A及び513B)に送信される。
上記処理により、物理計算機上で仮想計算機を動作させる場合に、仮想デバイスの適切なタイムアウト時間の算出が可能となる。
特に、仮想デバイスタイムアウト時間は、物理デバイスタイムアウト時間と、ソフトウェア構成に基づく物理計算機と仮想計算機の間のソフトウェア処理に要するソフトウェア処理時間と、動作状況に基づく対象仮想ディスクの遅延見込み時間に応じて算出される。このため、物理計算機上で稼働する仮想計算機の状態を考慮した適切な仮想デバイスタイムアウト時間の算出が可能となる。また、遅延見込み時間は、動作状況を統計演算することにより得られる値であるため、実際に物理計算機上で稼働する仮想計算機の動作状況に基づいた適切な仮想デバイスタイムアウト時間が算出可能になる。
また、仮想デバイスが実現される物理デバイスが変更された場合においても、適切な仮想デバイスタイムアウト時間を算出が可能となる。具体的には、物理計算機を更新する場合や、ライブマイグレーションにより動的に物理計算機を変更する場合においても、仮想デバイスの適切なタイムアウト時間の算出が、仮想計算機の起動時に自動的に行われることで、適切なタイミングで適切な仮想デバイスタイムアウト時間の算出が可能となる。
また、仮想デバイスタイムアウト時間算出装置が、物理計算機に実装されていることで、仮想計算機の起動時の仮想デバイスタイムアウト時間の算出がよりスムースに実現可能となる。
図9は、各仮想計算機(500A及び500B)の仮想計算機タイムアウト時間設定処理の一例を示すフローチャートである。
ステップS91で、仮想・物理間通信インタフェース(513A及び513B)は、図9のステップS85において、仮想ディスクタイムアウト算出部432が送信した仮想デバイスタイムアウト時間を受信する。
ステップS92で、仮想・物理間通信インタフェース(513A及び513B)は、受信した仮想デバイスタイムアウト時間をタイムアウト時間設定インタフェース(511A及び511B)に渡す。
ステップS93で、仮想計算機用OS(510A及び510B)は、タイムアウト時間設定インタフェース(511A及び511B)が受信した仮想デバイスタイムアウト時間を、仮想ディスクドライバ(512A及び512B)に設定する。
上記処理により、仮想デバイスタイムアウト時間が算出された後、仮想計算機に自動的に設定されるため、設定のための処理が煩雑になることを防ぐことができる。
以上、本発明の実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲を上記した実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
上述のマージン計算式は、一例であり、これに限定されることはない。システムの設計時にシステムに好適な式を適宜設定すればよい。例えば、仮想計算機のそれぞれに、I/O帯域使用量の制限が設けられている場合には、その制限値をマージン計算式に含めることにしてもよい。
1 システム
400 物理計算機
420A(420B)仮想計算機用論理区画
430 物理計算機用オペレーティングシステム
431 仮想・物理管通信インタフェース
432 仮想ディスクタイムアウト算出部
433 物理ディスクドライバ
434 マージン算出部
440 プロセッサ
450 物理ディスク
451A(451B)仮想ディスク
452A(452B)仮想計算機ディスクイメージ
453 タイムアウト時間テーブル
454 仮想計算機構成テーブル
455 タイムアウト時間対応テーブル
456 マージン対応テーブル
457 仮想デバイスタイムアウト時間テーブル
500A(500B)仮想計算機
510A(510B)仮想計算機オペレーティングシステム
511A(511B)タイムアウト時間設定インタフェース
512A(512B)仮想ディスクドライバウ
513A(513B)仮想・物理間通信インタフェース
520A(520B)タイムアウト時間設定処理部

Claims (9)

  1. 物理計算機上の仮想計算機が認識する物理デバイス上の対象仮想デバイスにアクセスするシステムにおける仮想デバイスのタイムアウト時間を算出する仮想デバイスタイムアウト時間算出装置であって、
    前記物理計算機による前記物理デバイスへのアクセスにおける無応答障害の検出に用いるべき物理デバイスタイムアウト時間を保持する物理タイムアウト時間取得保持手段と、
    前記物理計算機と前記仮想計算機の間のソフトウェア構成を保持するソフトウェア構成保持手段と、
    前記物理計算機で動作する仮想計算機の動作状況を保持する動作状況保持手段と、
    前記物理デバイスタイムアウト時間と前記ソフトウェア構成と前記動作状況とに基づいて、前記対象仮想デバイスの無応答障害の検出に用いるべき仮想デバイスタイムアウト時間を算出するタイムアウト時間算出手段と、
    を有する仮想デバイスタイムアウト時間算出装置。
  2. 前記タイムアウト時間算出手段により算出された前記仮想デバイスタイムアウト時間を前記対象仮想デバイスに対応する前記仮想計算機に設定する設定手段を更に有する、請求項1に記載の仮想デバイスタイムアウト時間算出装置。
  3. 前記タイムアウト時間算出手段は、前記仮想計算機の起動時に、該仮想計算機が認識する仮想デバイスを対象仮想デバイスとして前記仮想デバイスタイムアウト時間を算出する、請求項1に記載の仮想デバイスタイムアウト時間算出装置。
  4. 前記タイムアウト時間算出手段は、ライブマイグレーションによって前記物理計算機上の仮想計算機の構成が変更されるとき、新たな構成において前記物理計算機上の全ての仮想計算機が認識する仮想デバイスを対象仮想デバイスとして前記仮想デバイスタイムアウト時間を算出する、請求項1に記載の仮想デバイスタイムアウト時間算出装置。
  5. 前記仮想デバイスタイムアウト時間は、前記ソフトウェア構成に基づく前記物理計算機と前記仮想計算機の間のソフトウェア処理に要するソフトウェア処理時間と、前記動作状況に基づく前記対象仮想デバイスの遅延見込み時間と、前記物理デバイスタイムアウト時間と、を含む、請求項1に記載の仮想デバイスタイムアウト時間算出装置。
  6. 前記遅延見込み時間は、前記動作状況を統計演算することにより得られる値である、請求項5に記載の仮想デバイスタイムアウト時間算出装置。
  7. 前記仮想デバイスタイムアウト時間算出装置は前記物理計算機に実装される、請求項1に記載の仮想デバイスタイムアウト時間算出装置。
  8. 物理計算機上の仮想計算機が認識する物理デバイス上の対象仮想デバイスにアクセスするシステムにおける仮想デバイスのタイムアウト時間を算出する方法であって、
    前記物理計算機による前記物理デバイスへのアクセスにおける無応答障害の検出に用いるべき物理デバイスタイムアウト時間を保持する物理タイムアウト時間取得保持ステップと、
    前記物理計算機と前記仮想計算機の間のソフトウェア構成を保持するソフトウェア構成保持ステップと、
    前記物理計算機で動作する仮想計算機の動作状況を保持する動作状況保持ステップと、
    前記物理デバイスタイムアウト時間と前記ソフトウェア構成と前記動作状況とに基づいて、前記対象仮想デバイスの無応答障害の検出に用いるべき仮想デバイスタイムアウト時間を算出するタイムアウト時間算出ステップと、
    を有する方法。
  9. 物理計算機上の仮想計算機が認識する物理デバイス上の対象仮想デバイスにアクセスするシステムにおける仮想デバイスのタイムアウト時間を算出するプログラムであって、
    前記物理計算機による前記物理デバイスへのアクセスにおける無応答障害の検出に用いるべき物理デバイスタイムアウト時間を保持し、
    前記物理計算機と前記仮想計算機の間のソフトウェア構成を保持し、
    前記物理計算機で動作する仮想計算機の動作状況を保持し、
    前記物理デバイスタイムアウト時間と前記ソフトウェア構成と前記動作状況とに基づいて、前記対象仮想デバイスの無応答障害の検出に用いるべき仮想デバイスタイムアウト時間を算出する、
    プログラム。
JP2013068553A 2013-03-28 2013-03-28 仮想デバイスタイムアウト時間算出装置、方法、およびプログラム Expired - Fee Related JP5968818B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013068553A JP5968818B2 (ja) 2013-03-28 2013-03-28 仮想デバイスタイムアウト時間算出装置、方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013068553A JP5968818B2 (ja) 2013-03-28 2013-03-28 仮想デバイスタイムアウト時間算出装置、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2014191723A JP2014191723A (ja) 2014-10-06
JP5968818B2 true JP5968818B2 (ja) 2016-08-10

Family

ID=51837875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013068553A Expired - Fee Related JP5968818B2 (ja) 2013-03-28 2013-03-28 仮想デバイスタイムアウト時間算出装置、方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5968818B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817371B (zh) * 2021-03-02 2022-03-15 北京深思数盾科技股份有限公司 一种虚拟时钟的时间计算方法及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4331742B2 (ja) * 2006-10-25 2009-09-16 株式会社日立製作所 I/oの割り振り比率に基づいて性能を管理する計算機システム、計算機及び方法
JP5428075B2 (ja) * 2009-04-17 2014-02-26 株式会社日立製作所 性能モニタリングシステム、ボトルネック判定方法及び管理計算機
JP5434616B2 (ja) * 2010-01-15 2014-03-05 富士通株式会社 仮想計算機、仮想計算機モニタ、および計算機の制御方法

Also Published As

Publication number Publication date
JP2014191723A (ja) 2014-10-06

Similar Documents

Publication Publication Date Title
US10275348B2 (en) Memory controller for requesting memory spaces and resources
US9086957B2 (en) Requesting a memory space by a memory controller
US9298633B1 (en) Adaptive prefecth for predicted write requests
US8825964B1 (en) Adaptive integration of cloud data services with a data storage system
TWI621023B (zh) 用於支持對經由nvme控制器、通過網路存取的遠端存儲設備的熱插拔的系統和方法
US10496613B2 (en) Method for processing input/output request, host, server, and virtual machine
KR101496325B1 (ko) 가상 머신의 상태를 저장, 복원하는 방법 및 장치
US9588787B2 (en) Runtime virtual process creation for load sharing
US11163452B2 (en) Workload based device access
US9058197B2 (en) Method for sharing memory of virtual machine and computer system using the same
JP2005222123A5 (ja)
US20150370721A1 (en) Mapping mechanism for large shared address spaces
US9858191B2 (en) Electronic system with data management mechanism and method of operation thereof
GB2494490A (en) Reallocating memory with a garbage collector in response to memory module overheating
US20140310493A1 (en) Migrating data across storages with dissimilar allocation sizes
JP5968818B2 (ja) 仮想デバイスタイムアウト時間算出装置、方法、およびプログラム
CN113312141A (zh) 用于虚拟机的虚拟串行端口
US10120594B1 (en) Remote access latency in a reliable distributed computing system
KR102377729B1 (ko) 멀티 코어 프로세서 및 그것의 동작 방법
JP2016173741A (ja) 情報処理装置、情報処理方法、及び、プログラム
TWI452468B (zh) 虛擬機器記憶體的分享方法與電腦系統
TWI530787B (zh) 電子裝置以及資料寫入方法
US9652296B1 (en) Efficient chained post-copy virtual machine migration
EP3094055B1 (en) Data storage with a distributed virtual array
WO2010064394A1 (ja) データ処理システム、そのコンピュータプログラムおよびデータ処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160303

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160706

R150 Certificate of patent or registration of utility model

Ref document number: 5968818

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees