説明

高利用率と仮想化の観点から固体ドライブの管理を向上する方法

【課題】 機器の障害を復旧する方法を提供する。
【解決手段】 本発明の障害復旧方法は、(a)第1メモリ・デバイスと第2メモリ・デバイスと第3メモリ・デバイスとを用意するステップと、前記第2メモリ・デバイスは、第1と第2の仮想機械を有し、前記第1と第2の仮想機械は、前記第1と第2のメモリ・デバイスと通信しながらプロセッサ上で実行し、前記第2メモリ・デバイスは、前記第1メモリ・デバイスとは異なる固体ドライブ装置であり、(b)前記第1と第2の仮想機械を前記プロセッサ上で実行するステップと、(c)ファイルシステムと、ネットワーク状態と、前記第1と第2の仮想機械の出力を、前記第2メモリ・デバイスに記憶するステップと、(d)前記プロセッサと第1メモリ・デバイスに影響を及ぼす停電を検知するステップと、(e)前記動作(d)に応答し、バックアップ・パワーを保持するために、前記第1仮想機械の動作を継続すると決定するステップと、(f)前記プロセッサにより第2仮想機械の動作を終了させるステップとを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、高利用率と仮想化を実現するシステムに関し、特に、メモリをミラー転写する仮想化システム(memory mirrored visualization sytem)に関する。
【背景技術】
【0002】
固体ドライブ(SSDs:Solid-state drives)は、省エネで安定した記憶装置に向けた更なる一歩である。SSDは、永久的にデータを記憶するために、固体メモリを用いたデータ記憶装置である。SSDは、ハードディスク・ドライブ・インターフェースを模擬し、その代役を務める。フラッシュ・メモリを用いたSSDは、フラッシュ・ドライブとして知られている。SRAMとDRAMと用いたSSDは、RAMドライブと称する。DRAMベースのSSDは、内部バッテリ又は外部のAC/DCアダプタのいずれかに接続され、記憶システムをバックアップして、外部から電力がドライブに供給されない停電間でも、データの永続性を保障する。電源が失われると、バッテリが電力を供給し、その間、全ての情報は、RAMからバックアップ記憶装置にコピーされる。電源が回復すると、情報は、RAMにバックアップ記憶装置から戻され、SSDは、通常動作に戻る。
【発明の概要】
【発明が解決しようとする課題】
【0003】
省エネと仮想化とパフォーマンスを考慮に入れることにより、新たに注目され出したマーケットは生まれている。この為、SSDは、システムのミラー転写するメモリと、ファイル−ディスク状態に対する相互の実行装置として、仮想化技術と組み合わせての使用例を見出している。それ故に、これらを開発する様々な機会がある。例えば、SSD環境に独自の手段による障害回復(DR:disaster recovery)がある。通常、企業クラスのSSDは、SRAMでバックアップされ、これが次に低電源あるいは低コストのバッテリ(SSDユニット上のオンボードの充電可能なボタン電池)で、さらにバックアップ(例えば、fusion-io(商標)社の商品名Drive Duo(商標)で市販されているSSDにより)される。このようなSSDの使用は、安定した記憶が可能なメイン・メモリを有し、停電に備えて、バックアップし、ファイルシステムあるいは高度にダイナミックなシステム状態とファイルシステムをリアルタイムでバックアップする。
【課題を解決するための手段】
【0004】
上記の必要性あるいは他の必要性は、本発明の様々な実施例により解決される。本発明は、仮想環境において、固体ドライブを使用して、障害回復を提供する。
【0005】
本発明の第1の実施例によれば、本発明の障害復旧方法は、
(a)第1メモリ・デバイスと第2メモリ・デバイスと第3メモリ・デバイスとを用意するステップと、
前記第1メモリ・デバイスは、第1仮想機械を有し、
前記第1仮想機械は、前記第1メモリ・デバイスと通信しながらプロセッサ上で実行し、
前記第2メモリ・デバイスは、前記第1メモリ・デバイスとは異なる長期記憶装置であり、
前記第3メモリ・デバイスは、前記第1メモリ・デバイスと前記第2メモリ・デバイスとは異なる固体ドライブ装置であり、
(b)ファイルシステムと、第1メモリ・デバイスと、前記第1仮想機械のネットワーク状態の少なくとも1つを、前記第2メモリ・デバイスにミラー転写するステップと、
(c)下記の(i)と(ii)の内の少なくとも1つを検出するステップと、
(i)前記第1メモリ・デバイスと前記第2メモリ・デバイスの少なくとも一方に影響を及ぼす停電、
(ii)第2メモリ・デバイスに影響を及ぼすディスク故障、
(d)前記ステップに応答して、下記のサブステップ(d1)と(d2)の少なくとも一方を実行するステップと、
(d1)前記ファイルシステムと、前記第1メモリ・デバイスと、前記第2メモリ・デバイスから第3メモリ・デバイスへのネットワーク状態の内の少なくとも1つを故障回復するサブステップ、
これにより、前記第1仮想機械が前記第1メモリ・デバイス上で動き続け、
(d2)前記ファイルシステムと、前記第1メモリ・デバイスと、前記第1メモリ・デバイスと第2メモリ・デバイスから前記第3メモリ・デバイスへのネットワーク状態を故障回復するサブステップと、
これにより、前記第1仮想機械は、前記第1メモリ・デバイス上で動作することを終了し、前記第3メモリ・デバイス上で動作を開始する
を有する。
【0006】
本発明の一実施例によれば、第1メモリ(揮発性)と、サポーティング・プロセッサ・システムが、停電から限られた期間、機器を保護する機能を有する無停電電源(UPS:Uninterruptible Power Supply)によりバックアップされる。このUPSは、メイン・パワーアウテッジ(停電)・シグナルを出力するが、これはプロセッサ・システムを停止することなく行う。プロセッサ・システムのソフトウェアは、これを検知できる。これによりフォローアップ動作ができる。
【0007】
本発明の一実施例によれば、ステップ(d2)は、メモリ再マッピング・ステップを有する。このステップにより、停電信号を受領すると直ちに、現在の第1メモリ・デバイスを第3メモリ・デバイスに、再度マッピングする。このステップは、UPSが機能しなくなる遙か前に終了する。
【0008】
本発明の第2の実施例によれば、本発明の障害復旧方法は、
(a)第1メモリ・デバイスと第2メモリ・デバイスと第3メモリ・デバイスとを用意するステップと、
前記第2メモリ・デバイスは、第1と第2の仮想機械を有し、
前記第1と第2の仮想機械は、前記第1と第2のメモリ・デバイスと通信しながらプロセッサ上で実行し、
前記第2メモリ・デバイスは、前記第1メモリ・デバイスとは異なる固体ドライブ装置であり、
(b)前記第1と第2の仮想機械を前記プロセッサ上で実行するステップと、
(c)ファイルシステムと、ネットワーク状態と、前記第1と第2の仮想機械の出力を、前記第2メモリ・デバイスに記憶するステップと、
(d)前記プロセッサと第1メモリ・デバイスに影響を及ぼす停電を検知するステップと、
(e)前記動作(d)に応答し、バックアップ・パワーを保持するために、前記第1仮想機械の動作を継続すると決定するステップと、
(f)前記プロセッサにより第2仮想機械の動作を終了させるステップと
を有する。
【0009】
本発明は、様々な実施例があり、それにより様々な利点がある。本発明の一実施例により、低電力の動作モードが可能となる。この低電力の動作モードにおいて、重要ではないディスク向け(diskbound)のサービスが最少にできる。このようなシステムを用いて、長期化した停電あるいはディスクの故障を、ほとんどシームレスに(セッションの保存と呼びの保存を行いながら)フェイルオーバー(故障回復)することができる。低コストのSSDにより、仮想化のレベルと高利用性のレベルが上がり、高バンド幅のシステムのミラー転写に、ファイルシステムのフェイルオーバーによる(移行によるのではなく)非明示的な仮想環境のフェイルオーバー(故障回復)を与える。例えば、第2実施例は、SSDのRAMミラー転写を用いて直接仮想機械の故障回復を行うが、これは仮想機械の故障回復/切り替えを用いるものではない。システムの融通性により、計画通りのスイッチオーバー(切り替え)の場合には、短期間ではあるが完全なサービスへの切り替えか、長期間に渡る限られたサービスへの故障回復のいずれかを選択することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施例による仮想化システムのブロック図。
【図2】本発明の一実施例によるフローチャート図。
【図3】本発明の一実施例によるフローチャート図。
【図4】本発明の一実施例による仮想化システムのブロック図。
【図5】本発明の一実施例によるフローチャート図。
【発明を実施するための形態】
【0011】
本発明の仮想化システムは、SSDの使用範囲を広げて、操作の連続性を提供する。これは、高利用率と高利用率−仮想化のSSD記憶装置の永続性を利用して、短期のフェイルオーバ(故障回復)/スイッチオーバ(切り替え)を確保する。ディスクの故障や停電の場合には、SSDは、その間仮想機械に永続的なメモリを提供する。これは、システムのメイン・メモリ上の動作によるか、SSDそのものの動作によるかのいずれでもよい。その後、システムは、パワー回復のメイン・システムのモードにフェイルバック(故障から戻る)か、オンボード・バッテリの場合にはSSDの安定した記憶装置内での保持状態にフォールバック(待避)するか、長期の停電に対しては無停電電源装置(UPS)が切れることになる。
【0012】
図1は、本発明の仮想化システム100を示す。このシステム100は、プロセッサ104(複数の仮想機械を実行するマイクロ・プロセッサ)と、メイン・メモリ108と、ディスク記憶装置112と、SSD116とを有し、これらは、シグナル・キャリア(信号線)120で接続されている。メイン・メモリ108とディスク記憶装置112は、コンピュータで読み取り可能な記憶媒体を形成する。一般的に、ディスク記憶装置112は、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、磁気光学媒体、CD−ROM、他の光学媒体、パンチ・カード、ペーパーテープ、あるいは他の穴の開いた物理的媒体のいずれかである。シグナル・キャリア120は、バス(bus)、LAN、WAN、あるいは他の適宜なキャリアである。一実施例において、プロセッサ104とメイン・メモリ108は、例えば、近くに、例えばサーバー内に配置され、ディスク記憶装置112又はSSD116は、そこから離れて配置される。本発明は、クライアント−サーバ・ネットワーク・タイプについて議論するが、ピアツーピア(peer-to-peer)のネットワーク・タイプにも、採用できる。
【0013】
図1には示していないが、システム内のプロセッサ104とメイン・メモリ108は、無停電電源装置(パワーバックアップ機構)に接続されている。無停電電源装置は、停電を通知する信号をシステムに流す。VM制御モジュール156は、この通知信号を検知しそれに応答する。
【0014】
SSD116は、揮発性メモリ124とドライブ・コントローラ128とオンボード電源132と非揮発性メモリ136を有する。非揮発性メモリ136と揮発性メモリ124とドライブ・コントローラ128は、シグナル・キャリア140により相互に接続される。センサ144は、シングル・キャリア146を介して、ドライブ・コントローラ128に、オンボード電源132の残り寿命を通知する。パワーライン148は、オンボード電源132からの電力を、揮発性メモリ124とドライブ・コントローラ128に与える。SSD116は、fusion-io(商標)社より製造されたioDrive Duo(商標)である。
【0015】
ドライブ・コントローラ128により、プロセッサ104が、揮発性メモリ124と非揮発性メモリ136と通信する。
オンボード電源132は、オンボードのエネルギー貯蔵装置であり、例えば、バッテリー電源(例、SSD上のボタン電池)である。
揮発性メモリ124と非揮発性メモリ136は、コンピュータで読み取り可能な記憶媒体である。
【0016】
メイン・メモリ108は、第1、第2,−−第n(活性)の仮想機械152a−nとVM(仮想機械)制御モジュール156とを有する。VM制御モジュール156は、ハイパーバイザ(hypervisor:1台のコンピュータ上で複数のOSを動かす仮想化ソフトウェア)である。VM制御モジュール156は、メイン・メモリ108内の仮想機械システム内のドメイン又は仮想機械ゼロである。仮想機械の操作を制御することとは別に、VM制御モジュール156は、所定のフェイルオーバー(故障回復)措置を実行する。これについては、以下説明する。
【0017】
ディスク記憶装置112と揮発性メモリ124は、第1、2、...n番目のバックアップVMを有する。「バックアップVM(仮想機械)」とは、ミラー転写された(メイン)メモリ、ネットワーク(セッション)、対応する仮想機械に取り付けられたファイルシステムの内の1つを意味する。バックアップVMのメインテナンスは、様々な技術で実行可能である。
【0018】
Remus(商標)の商品名で市販されているソフトウェア・システムの一実施例において、ファイルシステム、ネットワーク(セッション)、VM出力キャッシュ(メイン・メモリ108内の)、選択された活性状態のVMのメイン・メモリ108の状態の周期的な「スナップショット」は、比較的高い頻度で複製される。これらの技術は、4つのステップを利用する。即ち、チェックポイント、送信、同期、リリース(開放)の各ステップを利用する。チェックポイント・ステップと送信ステップにおいては、仮想機械の実行は中断され、活性状態の仮想機械の状態をコピーし、このコピーされた状態を外部のバックアップ記憶装置(特に、ディスク記憶装置112又は揮発性メモリ124)に送信し、仮想機械が予測実行(speculative execution)を再開する。予測実行は、バックアップ記憶装置からの受領確認を待つことなく、行われる。状態の完全な組を受領すると、チェックポイントは、外部記憶装置からプロセッサ104に受領確認される。リリース・ステップにおいては、バッファされたネットワーク出力がリリースされる。通常の出力ストリームが、同期を取らなければならない時を指定する代わりに、仮想機械出力は、メイン・メモリ108内に、適宜の時点までバッファされ、同期ポイントに先立って予測的に計算を実行する。仮想機械出力をメイン・メモリ108内にバッファすることにより、複製が非同期的に行われる。外部バックアップ記憶装置において、仮想機械のイメージが、活性状態のシステムの故障を検知すると、直ちに実行を開始する。バックアップは、活性状態の仮想機械と周期的にしか一致していないために、全てのネットワーク出力は、状態がバックアップの記憶装置と同期を取るまで、メイン・メモリ108内にバッファ(一時的に記憶)される。
【0019】
Paragon Software Group(商標)社のSnaphot(商標)の商品名で市販されているソフトウェアシステムにより実行される実施例において、ファイルシステムは、所定の第1データ・ブロックを、コンピュータで読み取り可能な記憶媒体に書き込み、その時それらにポインターでマークを付ける。スナップショットが行われるが、このスナップショットは、データを記憶媒体に読み込んだり、書き込んだり、コピーしたりすることなく、行われる。スナップショットは、ファイルシステム、ネットワーク、第1VM152a−nの仮想機械出力キャッシュ状態のスナップショットである。スナップショットは、単に現在のロケーションを指すだけである。一変形例において、ファイルシステムは、第1データブロックの所定の1つを修正し、所定のブロックで第2データを記憶媒体に書き込む。最初に、所定の第1データブロックを新たなロケーションにコピーし、その後、元の所定の第1データブロックを第2データに変更する。このファイルシステムは、同一のロケーションを指す。他の変形例において、ファイルシステムは、第2データを記憶媒体に書き込むが、これは所定の第1データブロックを変更することなく行う。このファイルシステムは、所定の第1データブロックの代わりに、第2データを指すが、同時にスナップショットは、依然として選択された第1データブロック(これは変化していない)を指す。
【0020】
他のミラー転写技術は、Double-Take(商標)社から市販されているDouble-Take(商標)Softwareを用いる技術である。
【0021】
揮発性メモリ124は、アラーム・モジュール164を有し、ディスク記憶装置が故障した時や停電が発生した時を、決定する。これは、VM制御モジュール156からの警報信号や中断指令信号に応答して、行われる。この信号は、無停電電源装置UPS(図示せず)で受領する。
【0022】
図2に本発明のシステム100の動作を示す。この実施例において、第1VM152a−nのミラーリング(ミラー転写)動作は、ディスク記憶装置112で行われるものとする。
【0023】
ステップ200において、ディスク記憶装置112の故障を、VM制御モジュール156が検知し、警報信号あるいは中断信号が、アラーム・モジュール164に送信される。VM制御モジュール156には、故障が通知される。これは、書き込みあるいは読み出しコマンドに応答して受領したエラーメッセージにより、行われる。
【0024】
それに応答して、アラーム・モジュール164は、ドライブ・コントローラ128とVM制御モジュール156に、通知し、所定の故障復旧操作を実行する。この故障復旧操作は、VM(仮想機械)状態の変更を、ディスク記憶装置112の代わりにSSD116にミラー転写することである。この実施例において、揮発性メモリ124内の第1,第2,第n番目のバックアップVM160a−nで示すように、SSD116へファイルシステムのフェイルオーバー(故障回復)が行われ、活性状態にある連続した第1、第2,第n番目のVM152a−nの操作が可能となる。言い替えると、所定の活性状態にある仮想機械用のメイン・メモリ108へのデータ記憶装置のポインター(あるいはリファレンス)は、前記の所定の仮想機械に対し保持され、揮発性メモリ124に対するデータ記憶ポインターは、ディスク記憶装置112を参照する為に使用された前のものとは異なり、ディスク記憶装置112により以前にミラー転写された仮想機械状態情報を参照する為に、用いられる。その後、ミラー転写は、揮発性メモリ124内で継続する。これは上記の技術を用いて行われる。揮発性メモリ124によるミラー転写は、ディスク記憶装置112によるミラー転写と並行して行われるか、或いは揮発性メモリ124によりディスク記憶装置112の故障後にのみ行われる。揮発性メモリ124内の第1、第2、第n番目のバックアップVM160a−nのミラー転写は、非揮発性メモリ136内で同時に行われる。この実施例により、別のメモリ内の新たな(別の)活性仮想機械は、この操作を実行しないが、メイン・メモリ内の同一の活性仮想機械が、この操作を継続する。所定の活性状態のバックアップVM160に対して、特定のVMインスタンスから別のVMインスタンスへの切り替えは、行われない。
【0025】
図1、3、4を参照して、本発明のシステム100の動作を説明する。前の実施例と比較すると、本発明の実施例は、ファイルシステムのVM参照の切り替え(あるいはディスク記憶装置112からのSSD116の揮発性メモリ124へのフェイルオーバーの実行)のみならず、メイン・メモリ108からSSD116の揮発性メモリ124へのメモリのフェイルオーバーの実行をする。言い替えると、活性状態にある第1、第2,第n番目のVM152a−nは、SSD116の揮発性メモリ124に直接マッピングされる。ディスク記憶装置112の故障の場合、活性状態のVMフェイルオーバーがトリガーされて、メイン・インスタンス(あるいは活性VM)を走らす。これは、メイン・メモリ108をSSD116にメモリ・ミラー転写させ、かつメイン・メモリ108が活性VMを走らすことを停止させることにより、行う。
【0026】
ステップ300において、ディスク記憶装置112の故障が検出される。ディスク記憶装置112の故障の前において、図1に示す仮想化システムは、メイン・メモリ108内にある第1、第2,第n番目のVM152a−nは活性状態で、ディスク記憶装置112と、更には選択事項として、揮発性メモリ124内の第1,第2、第n番目のVM160a−nをバックアップしている。
【0027】
ステップ304においては、図4に示すように、活性状態にある第1VM152a−nを切り替えて、メイン・メモリ108ではなくSSD116を走らす。言い替えると、活性状態の第1VM152a−nの全てのリファレンスあるいはポインターを、メイン・メモリ108とディスク記憶装置112から、SSD116に切り替える。これは、活性状態にあるVM160a−nをパーシング(parsing:構文解析)し、活性状態にあるVM160a−nの物理的(実際の)ページを、SSD116のミラー転写された揮発性メモリ124の物理的(実際の)ページに再度マッピングし、その後、揮発性メモリ124上で、活性状態にあるVM160a−nの操作を再スタートすることにより、行う。言い替えると、メイン・メモリ108とディスク記憶装置112から、SSD116内の揮発性メモリ124への完全な切り替えがなされたことになる。SSD116の揮発性メモリ124は、チェックポイントされたメモリとネットワークとファイルシステムの状態に依存する、即ちそれを参照する。揮発性メモリ124内の第1VM152a−nのミラー転写は、非揮発性メモリ136内で同時に実行される。図4に示す実施例では、メイン・メモリ108は、VMミラー転写操作用に、使用される。
【0028】
図4、5を参照して、本発明のシステム100の動作を説明する。前と実施例に比較すると、この実施例は、活性状態にある第1VM152a−nのファイルシステムのリファレンスを、SSD116の揮発性メモリ124に直接マッピングし、このVM160a−nを、非揮発性メモリ136にミラー転写している。この実施例において、SSD116の揮発性メモリ124を、プロセッサ104のプライマリ・メモリとして使用しているために、ある記憶媒体から別の記憶媒体への切り替えとフェイルオーバーの複雑さを回避できる。選択的事項として、メイン・メモリ108は仮想機械操作用にのみ使用される。第1VM152a−nの動作がSSD116の揮発性メモリ124上で行われる。図4の実施例は、UPS(バックアップ用電源)400を含む。これにより、バックアップ・パワーを、ライン404を介して、電源の故障の場合には、プロセッサ104とメイン・メモリ108に与える。
【0029】
この実施例は、停電時の回復性を提供する。
図5において、停電がステップ500で検出される。この停電は、プロセッサ104と、メイン・メモリ108と、SSD116に、影響する。この停電の結果として、プロセッサ104と、メイン・メモリ108と、SSD116が、一時的な電源で動作する。SSD116の一時的電源はオンボード電源132であり、プロセッサ104とメイン・メモリ108の一時的電源は無停電電源装置(バックアップ電源)400である。
【0030】
ステップ504において、VM制御モジュール156は、第1、第2、第n番目のVM152a−nの内、どの仮想機械の動作を継続し、どの仮想機械の動作を止めるを決定する。これは、プロセッサ104と、メイン・メモリ108と、SSD116により消費される電力を減らし、かつ高い処理能力を維持するためである。仮想機械(VM)を選択をする際に用いられるファクターの一例は以下である。システム操作用に選択されたVMの重要性(これは仮想機械の種類と機能に依存する)と、各VMを走らすために使用されるメモリ量、各VMを実行するのに必要な処理パワー量(又はVMにより消費されるエネルギー量)と、VMがリアルタイムで実行すべきかあるいは時間差を持って実行してもよいかの判断(ディスク記憶装置の管理は、時間差を許容し、それ故に、より遅い非揮発性メモリ136内で走ることができる、これはより早い揮発性メモリ124を使用しなければならないのと対照的である)とを含む。
【0031】
ステップ508において、選択された仮想機械の状態は、非揮発性メモリ136に記憶され、その動作を終了する。その間動作を継続すべき仮想機械は、揮発性メモリ124上で走る。
【0032】
ステップ512において、センサ144は、オンボード電源132の残り寿命を決定する。
【0033】
ステップ516において、ドライブ・コントローラ128は、残り寿命が動作の継続に十分であるか否かを決定する。十分な場合には、プロセスはステップ512に行き、適宜の間隔で、又は別の構成として、ステップ504に戻り、そこで追加の仮想機械の動作を中止すべきか否かの決定がなされる。残寿命が十分でない場合には、プロセスはステップ520に移る。
【0034】
ステップ520において、ドライブ・コントローラ128は、メイン・メモリ108内のバックアップVM160a−nに移る。別の構成においては、第1、第2、第n番目のVM152a−nは、非揮発性メモリ136にミラー転写され、全てのVMの動作を終了する。
【0035】
ステップ524において、前の構成において、メイン・メモリ108上のバックアップVM152a−nの実行が開始される。SSD116のオンボード電源132が、所定のレベルまでチャージされると、VMの実行は、再び揮発性メモリ124に移され、動作が継続される。
【0036】
フェイルバック(故障から戻る)とスイッチバック(切り替えから戻る)は、フェイルオーバー(故障回避)とスイッチオーバー(切り替え)の反対動作である。フェイルオーバーとスイッチオーバーは、メイン・メモリ108が停電の障害を受け、第1、第2,第n番目のVM152a−nを記憶することを継続する時には、メイン・メモリ108に適応される。
【0037】
他の実施例において、第1、第2,第n番目のVM152a−nは、非揮発性メモリ136に直接マッピングされるが、選択的事項として、メイン・メモリ108を用いて、フェイルバック、或いは、第1、第2,第n番目のバックアップVM160a−nを、SSD116の揮発性メモリ124にミラー転写してもよい。言い換えると、第1、第2,第n番目のVM152a−nは、非揮発性メモリ136上で走らせてもよい。
【0038】
用語「ファイル・システム(filesystem)」とは、コンピュータファイルとそれが含む日付を記憶し組織化することにより、そのファイルを見出しアクセスを容易にするシステムである。ファイル・システムは、コンピュータで読み取り可能な記憶媒体を使用し、ファイルの物理的な位置(ロケーション)を保持する。
用語「ハイパーバイザ(hypervisor)」あるいは仮想機械のモニタは、仮想化を提供するソフトウェア・レイヤーを指す。ハイパーバイザは、ベアーなハードウェア(タイプIあるいはネイティブ仮想機械)、あるいはオペレーティング・システム(タイプIIあるいはホストされた仮想機械)上で動作する。
用語「ページ(page)」とは、ある時点でアクセス可能なメモリの一部を意味する。
用語「仮想機械」とは、システム仮想機械とプロセス仮想機械を含む。システム仮想機械は、ハードウェア仮想機械とも称し、完全なシステム・プラットフォームを提供して、完全なオペレーティング・システムの実行をサポートする。プロセス仮想機械は、1つのプロセスとサポートする1つのプログラムを動かす。システム仮想機械により、元となる物理的マシーンのリソースを異なる仮想機械間で共有できる。各仮想機械は、それ自身のオペレーティング・システム上で動作する。プロセス仮想機械は、オペレーティング・システム内の通常のアプリケーションとして動作し、サポートされるプロセスがスタートした時に作りだされ、そのプロセスが終了した時に壊される。仮想機械の共通の特徴は、内部のソフトウェア・ランニングが、仮想機械により提供されるリソースと、アブストラクションに限定される点である。
【0039】
用語「コンピュータで読み取り可能な媒体」とは、コンピュータが実行するプロセスを記憶する媒体或いは伝送媒体を意味する。媒体とは、非揮発性媒体、揮発性媒体、伝送媒体を意味する。非揮発性の媒体とは、NVRAM、磁気ディスク又は光学ディスクである。揮発性媒体とは、DRAM、メインメモリを意味する。このコンピュータで読み取り可能な媒体の一般的なものとしては、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気ディスク、他の磁気媒体、磁気光学媒体、CD−ROM、パンチカード、ペーパーテープ等、更にRAM、PROM、EPROM、FLASH−EPROM、メモリカード、メモリチップ、或いはカートリッジ等がある。e−mail或いは他の自己保存型の情報アーカイブに付属したデジタルファイルは、記憶媒体に等価な分配型の記憶媒体であり、本発明でいう記憶媒体と見なすことができる。コンピュータで読み取り可能な媒体がデータベースとして構築された場合には、このデータベースは、あらゆる種類のデータベース、例えば関連型、階層型、オブジェクト志向型のいずれをも含む。
冗長な説明を回避するために公知の構造については省略した、或いはブラックボックスの形態で示している。この省略は本発明の範囲を制限するものではない。ここに開示した実施例は、発明を理解するためのものであり、本発明は個々に述べた特定の実施例以外の様々な方法で実現できる。
上記の実施例では、システムの様々な構成要素或いはシステムのある構成要素は、遠隔地に即ち分散型ネットワーク(LAN、ケーブルネットワーク、インターネット)のノードに、又は専用のシステム内の離れた点に配置されている。しかしシステムのこれ等の構成要素は、1つの装置例えばゲートウエイに組み込むこともできる。或いは分散型ネットワーク(例えばアナログ又はデジタルの通信ネットワーク、パケット交換ネットワーク、回路交換ネットワーク、ケーブルネットワーク)の特定のノード上に、集めることもできる。
ここで議論したフローチャートは、特定のイベントのシーケンスを例に説明するが、本発明の操作に影響を及ぼすことなく、これ等のシーケンスの変更、追加、一部省略も可能である。本発明のシステムと方法は、特殊コンピュータ、プログラムされたマイクロプロセッサ、マイクロコントローラ、ASIC、他の集積回路DSP、ハードワイヤド電子素子、論理素子、例えばディスクリートな要素回路、プログラム可能な論理回路、ゲートアレイ、例えばPLD、PLA、FPGA、PAL、特殊目的コンピュータ或いは他の手段で実現できる。
他の実施例に於いては、ここに開示された方法は、オブジェクト指向のソフトウエア開発環境を用いたソフトウエアと組み合わせて実現できる。このソフトウエア環境は、様々なコンピュータ又はワークステーションで使用されるポータブルなソースコードを提供する。別の構成として、開示されたシステムは、標準の論理回路又はVLSIデザインを用いて一部又は全部のハードウエアで実現できる。本発明のシステムを実行するのにハードウエア又はソフトウエアを用いるかは、システムに要求される速度と効率に依存する。特に使用される特定のソフトウエア、ハードウエアのシステム、マイクロプロセッサ又はマイクロコンピュータシステムに依存する。
他の実施例に於いては、開示された方法は、コンピュータで読み取り可能な記憶媒体に記憶されたソフトウエアで実行され、コントローラとメモリとを有するプログラムされた汎用コンピュータ、特殊目的コンピュータ、マイクロプロセッサ等で実施される。これ等の実施例に於いては、本発明のシステムと方法は、パソコンに組み込まれたプログラムで実行できる。例えばアプレット、JAVA、CGIスクプリト、サーバ或いはコンピュータ、ワークステーションに記録された資源或いは専用の測定システムに組み込まれたルーチン等で実施できる。
本発明のシステムは、本発明のシステムと方法をソフトウエア又はハードウエアのシステムに物理的に組み込むことにより実施することもできる。 本発明は、特定の標準及びプロトコルを例に説明したが、本発明はこのような標準とプロトコルに制限されるものではない。他の類似の標準とプロトコルも本発明で用いることができる。これ等の標準とプロトコルは、今後開発されるより効率的な標準とプロトコルで置換されるかも知れないが、このような置換も本発明の一態様(一実施例)と考えられる。
【0040】
以上の説明は、本発明の一実施例に関するもので、この技術分野の当業者であれば、本発明の種々の変形例を考え得るが、それらはいずれも本発明の技術的範囲に包含される。特許請求の範囲の構成要素の後に記載した括弧内の番号は、図面の部品番号に対応し、発明の容易なる理解の為に付したものであり、発明を限定的に解釈するために用いてはならない。また、同一番号でも明細書と特許請求の範囲の部品名は必ずしも同一ではない。これは上記した理由による。用語「又は」に関して、例えば「A又はB」は、「Aのみ」、「Bのみ」ならず、「AとBの両方」を選択することも含む。特に記載のない限り、装置又は手段の数は、単数か複数かを問わない。
【符号の説明】
【0041】
100 システム
104 プロセッサ
108 メイン・メモリ
112 ディスク記憶装置
124 揮発性メモリ
128 ドライブ・コントローラ
132 オンボード電源
136 非揮発性メモリ
144 センサ

152a 第1VM
156 VM制御モジュール
160a 第1バックアップVM
164 アラーム・モジュール

図2
200:ディスク記憶装置の故障が検出された
204:状態変化の所定の組がディスク記憶装置の代わりにSSDにミラー転写される

図3
300:ディスク記憶装置の故障が検出された
304:仮想機械がSSD上のバックアップ用仮想機械に切り替わる。

図5
500:停電を検出した
504:停止すべき仮想機械を選択する。
508:選択された仮想機械の状態を非揮発性メモリにセーブし終了する
512:オンボード電源の残り寿命をチェックする
516:許容可能か?
520:メイン・メモリのバックアップVMに移行する
524:メイン・メモリを用いてVMを実行する



【特許請求の範囲】
【請求項1】
機器の障害を復旧する方法において、
(a)第1メモリ・デバイスと第2メモリ・デバイスと第3メモリ・デバイスとを用意するステップと、
前記第1メモリ・デバイスは、第1仮想機械を有し、
前記第1仮想機械は、前記第1メモリ・デバイスと通信しながらプロセッサ上で実行し、
前記第2メモリ・デバイスは、前記第1メモリ・デバイスとは異なる長期記憶装置であり、
前記第3メモリ・デバイスは、前記第1メモリ・デバイスと前記第2メモリ・デバイスとは異なる固体ドライブ装置であり、
(b)ファイルシステムと、第1メモリ・デバイスと、前記第1仮想機械のネットワーク状態の少なくとも1つを、前記第2メモリ・デバイスにミラー転写するステップと、
(c)下記の(i)と(ii)の内の少なくとも1つを検出するステップと、
(i)前記第1メモリ・デバイスと前記第2メモリ・デバイスの少なくとも一方に影響を及ぼす停電、
(ii)第2メモリ・デバイスに影響を及ぼすディスク故障、
(d)前記ステップに応答して、下記のサブステップ(d1)と(d2)の少なくとも一方を実行するステップと、
(d1)前記ファイルシステムと、前記第1メモリ・デバイスと、前記第2メモリ・デバイスから第3メモリ・デバイスへのネットワーク状態の内の少なくとも1つを故障回復するサブステップ、
これにより、前記第1仮想機械が前記第1メモリ・デバイス上で動き続け、
(d2)前記ファイルシステムと、前記第1メモリ・デバイスと、前記第1メモリ・デバイスと第2メモリ・デバイスから前記第3メモリ・デバイスへのネットワーク状態を故障回復するサブステップと、
これにより、前記第1仮想機械は、前記第1メモリ・デバイス上で動作することを終了し、前記第3メモリ・デバイス上で動作を開始する
を有する
ことを特徴とする機器の障害を復旧する方法。
【請求項2】
前記サブステップ(d1)が実行される際、
前記第1メモリ・デバイスは、サーバ内にあり、
前記第2メモリ・デバイスは、前記第1メモリ・デバイスから離れた場所にあり、
前記第1メモリ・デバイスと前記第2メモリ・デバイスは、ネットワークを介して通信状態にあり、
前記第2メモリ・デバイスは、ディスク記憶装置であり、
無停電電源装置を更に有し、
前記無停電電源装置は、停電を通知あるいは検知する機能を具備し、一定期間遮断されない電源を提供する
ことを特徴とする請求項1記載の方法。
【請求項3】
前記サブステップ(d2)が実行される際、
前記第1メモリ・デバイスは、サーバ内にあり、
前記第2メモリ・デバイスは、前記第1メモリ・デバイスから離れた場所にあり、
前記第1メモリ・デバイスと前記第2メモリ・デバイスは、ネットワークを介して通信状態にあり、
前記第2メモリ・デバイスは、ディスク記憶装置であり、
無停電電源装置を更に有し、
前記無停電電源装置は、停電を通知あるいは検知する機能を具備し、一定期間遮断されない電源を提供する
ことを特徴とする請求項1記載の方法。
【請求項4】
前記サブステップ(d2)は、
(d21)前記第1仮想機械をパースィングするステップと、
これにより、前記第1の仮想機械のページを、前記第1メモリ・デバイスに与え、
(d22)前記第1メモリ・デバイス内のページを、前記第3メモリ・デバイス内のページに再度マッピングするステップと、
(d23)その後、前記第3メモリ・デバイス上で、前記第1仮想機械の操作を再開するステップと、
を有し、
前記サブステップ(i)と(ii)の少なくとも一方は停電であり、
(i)前記第1メモリ・デバイスと前記第2メモリ・デバイスの少なくとも一方に影響を及ぼす停電、
(ii)第2メモリ・デバイスに影響を及ぼすディスク故障、
本発明の方法は、
(e)前記ステップ(c)に応答し、バックアップ・パワーを保持するために、前記第1仮想機械の操作を継続すると決定するステップと、
(f)前記プロセッサにより、第2仮想機械の動作を終了させるステップと、
をさらに有する
ことを特徴とする請求項3記載の方法。
【請求項5】
請求項1の各ステップを前記プロセッサが実行できるようなインストラクションを有するコンピュータで読み取り可能な記憶媒体。
【請求項6】
第1メモリ・デバイスと第2メモリ・デバイスと第3メモリ・デバイスとプロセッサとを有するマシンにおいて、
前記第1メモリ・デバイスは、第1仮想機械を有し、
前記第2メモリ・デバイスは、前記第1メモリ・デバイスとは異なる長期記憶装置であり、
前記第3メモリ・デバイスは、前記第1メモリ・デバイスと前記第2メモリ・デバイスとは異なる固体ドライブ装置であり、
前記プロセッサは、
(a)前記第1メモリ・デバイスを実行し、
(b)ファイルシステムと、第1メモリ・デバイスと、前記第1仮想機械のネットワーク状態の少なくとも1つを、前記第2メモリ・デバイスにミラー転写し、
(c)下記の(i)と(ii)の内の少なくとも1つを検出し、
(i)前記第1メモリ・デバイスと前記第2メモリ・デバイスの少なくとも一方に影響を及ぼす停電、
(ii)第2メモリ・デバイスに影響を及ぼすディスク故障、
(d)前記ステップに応答して、下記の動作(d1)と(d2)の少なくとも一方を実行し、
(d1)前記ファイルシステムと、前記第1メモリ・デバイスと、前記第2メモリ・デバイスから第3メモリ・デバイスへのネットワーク状態の内の少なくとも1つを故障回復する動作、
これにより、前記第1仮想機械が前記第1メモリ・デバイス上で動き続け、
(d2)前記ファイルシステムと、前記第1メモリ・デバイスと、前記第1メモリ・デバイスと第2メモリ・デバイスから前記第3メモリ・デバイスへのネットワーク状態を故障回復する動作、
これにより、前記第1仮想機械は、前記第1メモリ・デバイス上で動作することを終了し、前記第3メモリ・デバイス上で動作を開始する
ことを特徴とするマシン。
【請求項7】
前記動作(d1)が実行される際、
前記第1メモリ・デバイスは、サーバ内にあり、
前記第2メモリ・デバイスは、前記第1メモリ・デバイスから離れた場所にあり、
前記第1メモリ・デバイスと前記第2メモリ・デバイスは、ネットワークを介して通信状態にあり、
前記第2メモリ・デバイスは、ディスク記憶装置である
ことを特徴とする請求項6記載のマシン。
【請求項8】
前記動作(d2)が実行される際、
前記第1メモリ・デバイスは、サーバ内にあり、
前記第2メモリ・デバイスは、前記第1メモリ・デバイスから離れた場所にあり、
前記第1メモリ・デバイスと前記第2メモリ・デバイスは、ネットワークを介して通信状態にあり、
前記第2メモリ・デバイスは、ディスク記憶装置であり、
前記動作(d2)は、下記の(d21)−(d23)の動作を有する
(d21)前記第1仮想機械をパースィングする動作と、
これにより、前記第1の仮想機械のページを、前記第1メモリ・デバイスに与え、
(d22)前記第1メモリ・デバイス内のページを、前記第3メモリ・デバイス内のページに再度マッピングする動作と、
(d23)その後、前記第3メモリ・デバイス上で、前記第1仮想機械の操作を再開する動作と、
ことを特徴とする請求項6記載のマシン。
【請求項9】
前記サブステップ(i)と(ii)の少なくとも一方は停電であり、
(i)前記第1メモリ・デバイスと前記第2メモリ・デバイスの少なくとも一方に影響を及ぼす停電、
(ii)第2メモリ・デバイスに影響を及ぼすディスク故障、
本発明のマシンは、
(e)前記動作(c)に応答し、バックアップ・パワーを保持するために、前記第1仮想機械の動作を継続すると決定し、
(f)前記第2仮想機械の動作を継続しないとの決定に応じて、前記プロセッサにより第2仮想機械の動作を終了させ、
前記第1仮想機械は、前記第3メモリ・デバイス上で動作し、
前記プロセッサは、前記第1メモリ・デバイス上で、ファイルシステムと、前記第1メモリ・デバイスと、前記第1仮想機械のネットワーク状態の少なくとも1つを、ミラー転写する
ことを特徴とする請求項6記載のマシン。
【請求項10】
前記第3メモリ・デバイスは、揮発性メモリと非揮発性メモリを有し、
前記第1の仮想機械が、前記第3メモリ・デバイスの揮発性メモリ上で動いている間、前記プロセッサは、前記第3メモリ・デバイスの非揮発性メモリ上で、ファイルシステムと、前記第1メモリ・デバイスと、前記第1の仮想機械のネットワーク状態の少なくとも1つをミラー転写する
ことを特徴とする請求項6記載のマシン。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−70667(P2011−70667A)
【公開日】平成23年4月7日(2011.4.7)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−210466(P2010−210466)
【出願日】平成22年9月21日(2010.9.21)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
2.JAVA
【出願人】(508214019)アバイア インク. (75)
【Fターム(参考)】