JP5555780B2 - 情報処理サービスの障害復旧方法及び仮想マシンイメージ生成装置 - Google Patents

情報処理サービスの障害復旧方法及び仮想マシンイメージ生成装置 Download PDF

Info

Publication number
JP5555780B2
JP5555780B2 JP2012557335A JP2012557335A JP5555780B2 JP 5555780 B2 JP5555780 B2 JP 5555780B2 JP 2012557335 A JP2012557335 A JP 2012557335A JP 2012557335 A JP2012557335 A JP 2012557335A JP 5555780 B2 JP5555780 B2 JP 5555780B2
Authority
JP
Japan
Prior art keywords
virtual machine
information processing
data
server
file
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
JP2012557335A
Other languages
English (en)
Other versions
JP2013529799A (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
Publication of JP2013529799A publication Critical patent/JP2013529799A/ja
Application granted granted Critical
Publication of JP5555780B2 publication Critical patent/JP5555780B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Description

本発明は、情報処理サービスの障害復旧方法及び仮想マシンイメージ生成装置に関する。
近年、コンピュータ関連技術の進歩に伴い、遠隔地に設置される情報処理装置により提供される情報処理サービスをクライアントから利用するようにした、情報処理サービスの利用形態が普及している。
このような情報処理サービスの可用性を向上させる技術の一つとして、情報処理装置をクラスタ化する技術がある(例えば特許文献1参照)。
特開2008−305353号公報
この技術は、情報処理サービスの提供を行う本番用の情報処理装置のほかに専用の待機用の情報処理装置を用意しておき、本番用の情報処理装置に障害等が発生し、情報処理サービスの提供を行えなくなった場合に、待機用の情報処理装置が本番用の情報処理装置から実行中の情報処理を引き継ぎ、クライアントに対する情報処理サービスの提供を継続することを可能にする技術である。
ところで、情報処理装置をクラスタ化する場合、本番用の情報処理装置の他に、1台以上の待機用の情報処理装置を専用に用意し、常に稼働させておく必要がある。このため、装置導入コストやランニングコストが大きい。また、2台以上の情報処理装置で1つの情報処理サービスを運用するため、管理コストも大きくなる。情報処理装置をクラスタ化するソフトウェアの設定や、待機用の情報処理装置のIPアドレスの準備やハードウェア障害を監視するためのハートビートLANの設定など、煩雑な管理が必要である。
一方でこのようなクラスタ化のデメリットを回避するために、情報処理装置のクラスタ化を行わないことも考えられる。しかし、クラスタ化せずに情報処理サービスの提供を行うようにした場合には、情報処理装置のハードウェアに障害等が発生し、情報処理サービスの提供を行えなくなると、新たな情報処理装置の調達や、OS(Operating System)、アプリケーションプログラムのインストール、システムの再設定等の作業が終わるまでの期間に亘り、情報処理サービスの提供が停止してしまうことになる。
本発明はこのような背景を鑑みてなされたもので、情報処理サービスを提供する情報処理装置をクラスタ化しなくても、障害が発生した情報処理サービスを直ちに復旧することを可能にする情報処理サービスの障害復旧方法、及び仮想マシンイメージ生成装置を提供することを一つの目的とする。
上記課題を解決するための手段の一つは、情報処理装置により提供される情報処理サービスの障害復旧方法であって、仮想マシンイメージを生成する仮想マシンイメージ生成装置と、前記仮想マシンイメージに基づき仮想マシンを実現する仮想マシン実現装置と、を設け、前記仮想マシンイメージ生成装置が、前記情報処理サービスの正常稼働時における前記情報処理サービスを実現しているシステムデータ及びハードウェア構成情報に基づき、前記仮想マシンイメージを生成して記憶し、前記仮想マシン実現装置が、前記情報処理サービスに障害が発生した際、前記仮想マシンイメージに基づき前記情報処理サービスの機能を提供する仮想マシンを実現し、前記情報処理装置は、前記情報処理サービスにおいて使用するデータを記憶するための記憶装置の未使用記憶領域が所定の閾値を下回ったと判定した場合、前記記憶装置内で所定期間使用されていないと判定されるデータを抽出して前記仮想マシンが使用する仮想記憶装置に格納し、前記データ抽出元である前記記憶装置内の当該データを削除し、前記抽出したデータの属性を記録しているメタデータと前記仮想記憶装置における前記データの保存場所を示す情報とを当該データの抽出元である前記記憶装置に格納し、前記情報処理サービスの障害復旧処理を実行する場合、前記データの抽出元である前記記憶装置に記憶されている全データについて、各データの保存場所を示す情報及び当該データのメタデータのみを記憶するのに必要な記憶容量を前記仮想記憶装置に設定する
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄の記載、及び図面の記載等により明らかにされる。
本発明によれば、情報処理サービスを提供する情報処理装置をクラスタ化しなくても、障害が発生した情報処理サービスを直ちに復旧することが可能になる。
実施形態に係る情報処理システムの全体構成を示す図である。 実施形態に係る情報処理システムのハードウェア構成を示す図である。 実施形態に係るサービス提供サーバのソフトウェア構成を示す図である。 実施形態に係る仮想アプライアンス配布サーバのソフトウェア構成を示す図である。 実施形態に係る仮想マシンイメージのひな型を示す図である。 実施形態に係る仮想マシン構成定義ファイルを示す図である。 実施形態に係る管理テーブルを示す図である。 実施形態に係る仮想マシンイメージの概要を示す図である。 実施形態に係る仮想マシンイメージの作成および更新処理のフローチャートである。 実施形態に係る仮想マシン稼働サーバのソフトウェア構成を示す図である。 実施形態に係る仮想マシンイメージのダウンロードページを示す図である。 実施形態に係る仮想マシンを示す図である。 実施形態に係る仮想メモリ上で動作するプログラムの構成を示す図である。 実施形態に係る情報処理システムの概要を示す図である。 実施形態に係る情報処理システムのハードウェア構成を示す図である。 実施形態に係るファイルサーバのソフトウェア構成を示す図である。 実施形態に係るバックアップサーバのソフトウェア構成を示す図である。 実施形態に係る仮想マシン稼働サーバのソフトウェア構成を示す図である。 実施形態に係る仮想アプライアンス配布サーバのソフトウェア構成を示す図である。 実施形態に係るマイグレーション処理のフローチャートである。 実施形態に係る保存ファイルリストを示す図である。 実施形態に係る通常ファイルとスタブファイルのデータ構成を示す図である。 実施形態に係る仮想マシンイメージのダウンロードページを示す図である。 実施形態に係る仮想マシンを示す図である。 実施形態に係る仮想メモリ上で動作するプログラムの構成を示す図である。 実施形態に係るリストア処理のフローチャートである。 実施形態に係る全ファイルのマイグレーション処理のフローチャートである。 実施形態に係る情報処理サービスの流れを示すフローチャートである。 実施形態に係る仮想マシンイメージの生成、更新の流れを示すフローチャートである。 実施形態に係る障害発生時の情報処理サービスの流れを示すフローチャートである。 実施形態に係る障害復旧時の情報処理サービスの流れを示すフローチャートである。
==第一の実施形態==
<全体構成>
本発明の第一の実施形態に係る情報処理システム1000の全体構成を図1に示す。
本実施形態に係る情報処理システム1000は、サービス提供サーバ(情報処理装置)103と、仮想マシン稼動サーバ(仮想マシン実現装置)108と、仮想アプライアンス配布サーバ(仮想マシンイメージ生成装置)111と、が通信可能に接続されて構成される。
サービス提供サーバ103は、通信可能に接続されるクライアント102から情報処理サービスの提供要求を受信し、それに応じて情報処理を実行し、その実行結果をクライアント102に送信する情報処理サービスを提供するコンピュータである。
サービス提供サーバ103は、例えば、インターネットを介してクライアント102から送信されるリクエストに応じて、Webページや動画データ等のコンテンツデータ107をクライアント102に送信する情報処理サービスを提供するコンピュータである。サービス提供サーバ103は、サービス提供プログラム105を実行することによって、上記情報処理サービスの提供を行う。サービス提供サーバ103は、サービス提供プログラム105を実行し、クライアント102からのサービス要求を受信し、コンテンツデータ107をクライアント102に送信する。
またサービス提供サーバ103はシステム設定プログラム104を実行し、管理サーバ101と連携することにより、サービス提供サーバ103のシステムの設定や変更を行う。例えば、システム管理者は、管理サーバ101にログインし、サービス提供サーバ103のIPアドレスやユーザの追加/削除等のシステムデータ106の設定や変更を行うことができる。またサービス提供サーバ103は、例えばサービス提供プログラム105がwebサーバの場合は、webサービスを提供する上での色々な設定情報も保存する。
またサービス提供サーバ103は、管理サーバ101から送信されるシステム設定変更要求に応じ、サービス提供サーバ103内のシステムデータ106の内容を変更する。システムデータ106には、サービス提供サーバ103のOS(Operating System)やプログラム、IPアドレス等のシステム設定データが格納されている。システム設定プログラム104が管理サーバ101から送信されるシステム設定変更要求を受信し、システムデータ106を更新する。
クライアント102は、サービス提供サーバ103から情報処理サービスの提供を受けるコンピュータである。
仮想アプライアンス配布サーバ111は、サービス提供サーバ103の仮想マシンイメージ118を作成し、記憶しておくコンピュータである。
仮想アプライアンス配布サーバ111は、仮想マシン作成プログラム112を実行することにより、サービス提供サーバ103が正常に情報処理サービスを提供している際のシステムデータ106やハードウェア構成情報に基づいて、仮想マシンイメージ118を生成する。詳細は後述するが、仮想マシン作成プログラム112内の仮想マシンイメージ作成部115が、サービス提供サーバ103の仮想マシンイメージ118を生成し、ディスク117内に記憶する。
なお、仮想マシンイメージ118内のシステムデータ119は、サービス提供サーバ103のシステムデータ106に基づいて生成される。また仮想マシンイメージ118内のコンテンツデータ120は、サービス提供サーバ103のコンテンツデータ107に基づいて生成される。
サービス提供サーバ103は、管理サーバ101からシステム設定変更要求を受信した場合には、サービス提供サーバ103は、そのシステム設定変更要求の内容に従ってシステムデータ106に記述されているシステム設定を変更する。またサービス提供サーバ103は、その変更内容を、仮想アプライアンス配布サーバ111に送信する。そうすると、仮想アプライアンス配布サーバ111内の設定受信部113は、設定反映部114に、システム設定の変更内容を転送する。そして設定反映部114は、仮想マシンイメージ118の内容を、その変更内容に応じて更新する。
なお、サービス提供サーバ103のハードウェア構成が変更された場合も同様に、サービス提供サーバ103は、その変更内容を仮想アプライアンス配布サーバ111に送信し、設定反映部114は仮想マシンイメージ118の内容をその変更内容に応じて更新する。
このようにして、仮想アプライアンス配布サーバ111は、サービス提供サーバ103と同様の情報処理サービスを提供可能な仮想マシンを実現するための仮想マシンイメージ118をディスク117内に保持しておく。
仮想マシン稼働サーバ108は、仮想マシンを実現可能な環境を有するコンピュータである。仮想マシン稼働サーバ108は、仮想マシンイメージ118を取得し、サービス提供サーバ103をエミュレートすることによって、サービス提供サーバ103により提供される情報処理サービスの機能を提供する仮想マシンを実現する。
本実施形態では、仮想マシン稼働サーバ108は、Webブラウザ109を介して、仮想アプライアンス配布サーバ111に対して仮想マシンイメージ118の送信要求を送信し、仮想アプライアンス配布サーバ111内のWebサーバ116から、仮想マシンイメージ118を取得する。そして仮想マシン稼動サーバ108は、仮想マシンモニタ110を用いて、取得した仮想マシンイメージ118に基づいて仮想マシンを実現する。仮想マシンイメージ118により実現される仮想マシンは、サービス提供サーバ103と同様の情報処理サービスを、クライアント102に対して提供する。
なお図1では、サービス提供サーバ103から情報処理サービスの提供を受けるクライアント102は1台のみだが、複数のクライアント102がサービス提供サーバ103から情報処理サービスの提供を受けてもよい。
また図1では、仮想アプライアンス配布サーバ111が作成し、配布する仮想マシンイメージ118は、1台のサービス提供サーバ103の仮想マシンイメージ118のみだが、サービス提供サーバ103が複数台ある場合には、それらのサービス提供サーバ103の仮想マシンイメージ118を作成、記憶し、配布するようにしてもよい。なおその場合、仮想アプライアンス配布サーバ111は、各サービス提供サーバ103の仮想マシンイメージ118を、各サービス提供サーバ103の識別情報と対応付けて記憶しておき、仮想マシン稼働サーバ108は、Webブラウザ109を介して、仮想マシンイメージ118を取得するサービス提供サーバ103の識別情報を指定して仮想マシンイメージ118の送信要求を仮想アプライアンス配布サーバ111に送信し、その識別情報に対応付けて記憶されている仮想マシンイメージ118を、仮想アプライアンス配布サーバ111内のWebサーバ116から取得する。
<ハードウェア構成>
次に、本実施形態における管理サーバ101、クライアント102、サービス提供サーバ103、仮想マシン稼動サーバ108、仮想アプライアンス配布サーバ111のハードウェア構成を図2に示す。
--管理サーバ--
管理サーバ101は、CPU(Central Processing Unit)202とメモリ203、記憶装置204とNIC(Network Interface Card)205を備えて構成される。
それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、NIC、記憶装置の数は図2に示す個数に限定されるものではない。
CPU202は、メモリ203に格納されるプログラムを実行する。
メモリ203は、例えば半導体メモリであり、CPU202が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC205は管理サーバ101がサービス提供サーバ103、仮想マシン稼働サーバ108とLAN(Local Area Network)211を介して、データの送受信を行うために用いる。
記憶装置204は管理サーバ101が使用するプログラムやファイルを格納するための二次記憶装置である。管理サーバ101は、SSD(Solid State Drive)、HDD(Hard Disk Drive)、テープ装置等を二次記憶装置として、利用することができる。記憶装置204は図2に示す例では内部バスによって、他の構成部位と接続しているが、 RAID(Redundant Array of Indexing Disk)コントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC(Fiber Channel) HBA(Host Bus Adaptor)を介して、SAN(Storage Area Network)上の記憶装置204と他の構成部位が接続してもよい。
--クライアント--
クライアント102はCPU207とメモリ208、記憶装置209とNIC210から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶措置、NIC、の数は図2に示す個数に限定されるものではない。
CPU207はメモリ208に格納されたプログラムを実行する。
メモリ208は、例えば半導体メモリであり、CPU207が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC210はクライアント102がサービス提供サーバ103、仮想マシン稼働サーバ108とLAN211を介して、データの送受信を行うために用いる。
記憶装置209はクライアント102が使用するプログラムやファイルを格納するための二次記憶装置である。クライアント102はSSD、HDD、テープ装置等を二次記憶装置として、利用することができる。記憶装置209は図2に示す例では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置209と他の構成部位が接続してもよい。
--サービス提供サーバ--
サービス提供サーバ103はCPU217とメモリ218、記憶装置219とNIC220、NIC221から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶装置、NIC、の数は図2に示す個数に限定されるものではない。
CPU217はメモリ218に格納されたプログラムを実行する。
メモリ218は、例えば半導体メモリであり、CPU217が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC220はサービス提供サーバ103が、LAN211を介して、管理サーバ101、クライアント102とデータの送受信を行うために用いる。
NIC221はサービス提供サーバ103が、WAN(Wide Area Network)228を介して、仮想アプライアンス配布サーバ111とデータの送受信を行うために用いる。
記憶装置219はサービス提供サーバ103が使用するプログラムやファイルを格納するための二次記憶装置である。サービス提供サーバ103はSSD、HDD、テープ装置等を二次記憶装置として、用いることができる。記憶装置219は図2に示す例では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置219と他の構成部位が接続してもよい。
--仮想マシン稼動サーバ--
仮想マシン稼働サーバ108はCPU223とメモリ224、記憶装置225とNIC226、NIC227から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶装置、NIC、の数は図2に示す個数に限定されるものではない。
CPU223はメモリ224に格納されたプログラムを実行する。
メモリ224は、例えば半導体メモリであり、CPU223が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC226は仮想マシン稼働サーバ108が、LAN211を介して、管理サーバ101、クライアント102とデータの送受信を行うために用いる。
NIC227は仮想マシン稼働サーバ108が、WAN228を介して、仮想アプライアンス配布サーバ111とデータの送受信を行うために用いる。
記憶装置225は仮想マシン稼働サーバ108が使用するプログラムやファイルを格納するための二次記憶装置である。仮想マシン稼働サーバ108はSSD、HDD、テープ装置等を二次記憶装置として、用いることができる。記憶装置225は図2に示す例では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置225と他の構成部位が接続してもよい。
--仮想アプライアンス配布サーバ--
仮想アプライアンス配布サーバ111はCPU233とメモリ234、記憶装置235とNIC236から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶措置、NIC、の数は図2に示す個数に限定されるものではない。
CPU233はメモリ234に格納されたプログラムを実行する。
メモリ234は、例えば半導体メモリであり、CPU233が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC236は仮想アプライアンス配布サーバ111が、サービス提供サーバ103、仮想マシン稼働サーバ108と、WAN228を介して、データの送受信を行うために用いる。
記憶装置235は仮想アプライアンス配布サーバ111が使用するプログラムやファイルを格納するための二次記憶装置である。仮想アプライアンス配布サーバ111はSSD、HDD、テープ装置等を二次記憶装置として、利用することができる。記憶装置235は図2に示す例では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置235と他の構成部位が接続してもよい。
--通信路--
通信路212、213、214、215、229、230、231には、例えばEthernet(登録商標)を用いることが考えられるが、通信可能であればこれ以外の媒体でも良い。
図2では、管理サーバ101、クライアント102、サービス提供サーバ103、仮想マシン稼働サーバ108がLANを介して接続しているが、WANを介して接続してもかまわない。
図2では、サービス提供サーバ103、仮想マシン稼働サーバ108、仮想アプライアンス配布サーバ111がWANを介して接続しているが、LANを介して接続してもかまわない。
図2では、LAN211を介して、サービス提供サーバ103に接続しているクライアント102は1台のクライアント102のみだが、複数のクライアント102が、LAN211に接続し、サービス提供サーバ103と通信をしてもかまわない。
図2では、WAN228を介して、仮想アプライアンス配布サーバ111に接続しているサービス提供サーバ103は1台のサービス提供サーバ103のみだが、複数のサービス提供サーバ103が、WAN228に接続し、仮想アプライアンス配布サーバ111と通信をしてもかまわない。
<動作の説明>
--サービス提供サーバ--
本実施形態に係るサービス提供サーバ103の動作について説明する。
図3は、サービス提供サーバ103が有するメモリ218に格納されているプログラムの構成を示す。
システム設定プログラム104は管理サーバ101からのシステム設定要求やシステム設定の変更要求(IPアドレスやユーザアカウントの追加/削除等)を受信し、サービス提供サーバ103のシステム設定や変更を行う。システム設定プログラム104は、管理サーバ101からシステム設定要求や変更要求を受信した際に、サービス提供サーバ103の記憶装置219に格納されているシステムデータ106の設定や更新を行う。
また、システム設定プログラム104は受信したシステム設定要求や変更要求を、仮想アプライアンス配布サーバ111上で動作する仮想マシン作成プログラム112の設定受信部113に転送する。
サービス提供プログラム105はクライアント102に情報処理サービスを提供するプログラムである。例えば、Webサーバ等がこれに当たる。サービス提供プログラム105はクライアント102からの要求に応じ、サービス提供サーバ103の記憶装置219に格納されている、コンテンツデータ107の提供等を行う。
--仮想アプライアンス配布サーバ--
本実施形態に係る仮想アプライアンス配布サーバ111の動作について説明する。
図4は、仮想アプライアンス配布サーバ111が有するメモリ234に格納されているプログラムとプログラムが参照するデータの構成を示す。
仮想マシン作成プログラム112は、サービス提供サーバ103の仮想マシンイメージ118を作成するプログラムである。
仮想マシン作成プログラム112の設定受信部113は、サービス提供サーバ103のシステム設定プログラム104から、サービス提供サーバ103へのシステム設定変更要求を受信する。受信したシステム設定の変更要求は設定反映部114に転送される。
また、設定受信部113は、システム設定プログラム104から、初めて設定変更要求を受信した際に、仮想マシンイメージ作成部115に、サービス提供サーバ103の仮想マシンイメージ118の作成要求を行う。
仮想マシンイメージ作成部115は、設定受信部113から仮想マシンイメージ118の作成要求を受信すると、サービス提供サーバ103の仮想マシンイメージ118を生成するためのひな型に基づいて、サービス提供サーバ103の仮想マシンイメージ118を作成する。サービス提供サーバ103の仮想マシンイメージ118を生成するためのひな型は、あらかじめ仮想アプライアンス配布サーバ111の記憶装置235に格納されている。
サービス提供サーバ216の仮想マシンイメージのひな型の一例を図5に示す。ひな形601は、仮想ディスク602と仮想マシン構成定義ファイル603から構成される。
仮想ディスク602には、サービス提供サーバ103の記憶装置219に格納されているデータ(OS、システム設定データ、プログラム、コンテンツデータ、その他のデータ)と同様のデータが格納されている。
仮想マシン構成定義ファイル603には、サービス提供サーバ103の仮想マシンイメージ118の仮想ハードウェア構成情報が記載されている。初期状態では、サービス提供サーバ103のハードウェア構成情報を模した仮想ハードウェア情報が記載されている。
仮想マシン構成定義ファイル603の一例を図6に示す。「Virtual Disk setting」なる記述701は、以降の記述が、仮想マシンが備える仮想ディスク602の設定であることを示している。なお仮想ディスク602の設定とは、仮想マシン稼動サーバ108で実現される仮想マシンに割り当てられる記憶領域の設定を意味する。
「Disk location:/use/home/usr1/vm/node1/disk1.vmkd」なる記述702は、仮想ディスク602が格納されている場所を示す。「Disk size:100GB」なる記述703は、仮想ディスク602のサイズを示す。仮想ディスク602のサイズはサービス提供サーバ103が有する記憶装置219と同様の容量としておくことができる。
「Virtual Network setting」なる記述704は、以降の記述が仮想NICの設定であることを示している。なお仮想NICの設定とは、仮想マシン稼動サーバ108で実現される仮想マシンに割り当てられるNICの設定を意味する。
「Number of NIC:2」なる記述705は、仮想マシン稼動サーバ108で実現される仮想マシンに割り振る仮想NICの個数を示す。仮想NICの個数はサービス提供サーバ103が持つNICの個数と同様の個数とする必要がある。
「Virtual CPU setting」なる記述706は、以降の記述が仮想CPUの設定であることを示している。仮想CPUの設定とは、仮想マシン稼動サーバ108で実現される仮想マシンに割り当てられるCPUの設定を意味する。
「Number of CPU:1」なる記述707は、仮想マシン稼動サーバ108で実現される仮想マシンに割り振るCPUの個数を示す。
「Virtual Memory setting」なる記述708は、以降の記述が仮想メモリの設定であることを示す。仮想メモリの設定とは、仮想マシン稼動サーバ108で実現される仮想マシンに割り当てられるメモリの設定を意味する。
「Memory:4GB」なる記述709は、仮想マシン稼動サーバ108で実現される仮想マシンに割り振るメモリのサイズを示す。
仮想マシンイメージ作成部115は、上述したような仮想マシンイメージのひな型601をコピーすることで、サービス提供サーバ103の仮想マシンイメージ118を生成する。仮想マシンイメージ作成部115は、ひな形601をコピーした際に、仮想マシン構成定義ファイル603の「Disk location:/use/home/usr1/vm/node1/disk1.vmkd」なる記述702の内容を、ひな形601のコピーの記憶先を示す内容に書き換える。
仮想アプライアンス配布サーバ111は、Webサーバ116を用いて、作成したサービス提供サーバ103の仮想マシンイメージ118を、仮想マシン稼働サーバ108に送信する。仮想マシン稼働サーバ108は、取得した仮想マシンイメージ118を、仮想マシンモニタ110を用いて実行する。仮想マシンイメージ118の実行については、後述する。
仮想アプライアンス配布サーバ111が、複数のサービス提供サーバ103の仮想マシンイメージ118を記憶している場合、どのサービス提供サーバ103がどの仮想マシンイメージ118に対応するかを管理する必要がある。
これを実現するため、サービス提供サーバ103のシステム設定プログラム104は、システム設定の変更内容を仮想アプライアンス配布サーバ111に送信する際に、サービス提供サーバ103ごとに一意に割り振られた識別子を含めて送信する。この識別子は、サービス提供サーバ103の記憶装置219内のシステム設定データにあらかじめ記録されているものとする。
仮想アプライアンス配布サーバ111の設定受信部113は、サービス提供サーバ103の識別子を含むシステム設定変更要求を仮想マシンイメージ作成部115に転送する。
仮想マシンイメージ作成部115は、当該サービス提供サーバ103の仮想マシンイメージ118を作成する際に、管理テーブル406に当該サービス提供サーバ103用のエントリを追加し、各サービス提供サーバ103と、作成した仮想マシンイメージ118と、を対応づけて記憶しておく。
管理テーブル406に、サービス提供サーバ103の識別子と仮想マシンイメージ118の識別子とが対応付けて記憶される様子を図7に示す。「識別子」欄801は、サービス提供サーバ103の識別子を記憶する。「仮想マシンイメージ」欄802は、対応する仮想マシンイメージ118の識別子を記憶する。
また、仮想マシンイメージ作成部115は、仮想マシンイメージ118の作成時に、ひな形601の仮想ディスク602内のシステム設定データに記録されているサービス提供サーバの識別子を、受信した識別子に書き換える処理を行う。
仮想アプライアンス配布サーバ111の設定反映部114は、設定受信部113から転送された、サービス提供サーバ103への設定変更要求の内容に従い、サービス提供サーバ103の仮想マシンイメージ118を更新する。その様子を図8に示す。
仮想マシンイメージ118は、仮想ディスク902と仮想マシン構成定義ファイル903とを含んで構成される。仮想ディスク902は、ひな形601の仮想ディスク602に基づいて生成されたものであり、前述したとおり、サービス提供サーバ103の記憶装置219に格納されているデータと同様のデータ(OS、システム設定データ、プログラム、コンテンツデータ、その他のデータ)が格納されている。
仮想アプライアンス配布サーバ111の設定反映部114は、設定受信部113から受信したサービス提供サーバ103のシステム設定変更要求の内容にしたがって、仮想ディスク902内のシステムデータ119を更新する。この際、設定反映部114は、システム設定の変更要求に含まれる、サービス提供サーバ103の識別子と管理テーブル406の内容を参照し、システムの設定変更を要求してきたサービス提供サーバ103に対応する仮想マシンイメージ118のシステムデータ119を更新する。
仮想ディスク902内のシステムデータ119を更新する方法としては、仮想アプライアンス配布サーバ111内に、仮想マシンイメージに基づいて仮想マシンを実現するためのソフトウェアである仮想マシンモニタをインストールした上で、仮想マシンイメージ118を実行することにより仮想マシンを実現し、設定反映部114が、仮想マシン上で実行されるシステム設定プログラム104にシステム設定変更を要求する方法や、仮想アプライアンス配布サーバ111のファイルシステムに仮想ディスク902をマウントした上で、設定反映部114がシステムデータ119を更新する方法などがある。
サービス提供サーバ103と同様のシステムデータ119を持つ仮想マシンを、仮想マシン稼働サーバ108が実現することにより、サービス提供サーバ103と同様の情報処理サービスをクライアント102に提供することが可能となる。
次に、仮想マシンイメージ118の作成処理および仮想マシンイメージ118の更新処理の流れを図9に示すフローチャートを参照しながら説明する。
まず、管理サーバ101は、システム管理者によるシステム設定指示を受け付けて、サービス提供サーバ103のシステム設定変更を行う(S1001)。次に、サービス提供サーバ103のシステム設定プログラム104が、システム設定の変更要求を受信する(S1002)。システム設定プログラム104は、システム設定変更要求の内容に従い、サービス提供サーバ103の記憶装置219に格納されているシステムデータ106を更新する(S1003)。次に、システム設定プログラム104は、システム設定の変更要求を仮想アプライアンス配布サーバ111上で動作する仮想マシン作成プログラム112の設定受信部113に転送する(S1004)。
仮想アプライアンス配布サーバ111の設定受信部113は、システム設定の変更要求を受信する(S1005)。設定受信部113は、それが最初のシステム設定変更要求かどうか判定する(S1006)。
最初のシステム変更要求だった場合、設定受信部113は仮想マシンイメージ118の作成を仮想マシンイメージ作成部115に要求する(S1007)。要求を受けた仮想マシンイメージ作成部115は、ひな形601をコピーすることによって、サービス提供サーバ103の仮想マシンイメージ118を作成する(S1008)。そして仮想マシンイメージ作成部115は、仮想マシンイメージ118の作成後、作成が終了したことを設定受信部113に通知する(S1009)。設定受信部113は、作成が終了した旨の通知を受信する(S1010)。
そうすると設定受信部113は、上記作成した仮想マシンイメージ118とひな形601との差分を更新すべく、システム設定の変更要求を設定反映部114に転送する(S1011)。設定反映部114はシステム設定の変更要求を受信する(S1012)。そして設定反映部114は、前述したとおりに仮想マシンイメージ118を更新する(S1013)。
一方、S1006において、最初のシステム変更要求でなかった場合は、設定受信部113は、作成済みの仮想マシンイメージ118に変更内容を反映すべく、システム設定の変更要求を設定反映部114に転送する(S1011)。設定反映部114はシステム設定の変更要求を受信する(S1012)。そして設定反映部114は、前述したとおりに仮想マシンイメージ118を更新する(S1013)。
以上の処理は、管理者が管理サーバ101を用いて、サービス提供サーバ103のシステム設定変更を行うたびに行われる。
--仮想マシン稼動サーバ--
本実施形態に係る仮想マシン稼動サーバ108の動作について説明する。
仮想マシン稼動サーバ108のメモリ224に格納されているプログラムの構成を図10に示す。
Webブラウザ109は、仮想アプライアンス配布サーバ111から、仮想マシンイメージ118を取得する際に用いるプログラムである。
仮想マシンモニタ110は、仮想アプライアンス配布サーバ111から取得した仮想マシンイメージ118に従ってサービス提供サーバ103をエミュレートすることにより、サービス提供サーバ103を仮想マシンとして実現する際に用いるプログラムである。
仮想マシン稼動サーバ108が仮想マシンイメージ118を実行することにより、仮想マシンイメージ118に基づいてサービス提供サーバ103による情報処理サービスを復旧する処理の流れを説明する。
まず、サービス提供サーバ103にハードウェア障害が発生した際に、システム管理者は、管理サーバ101から仮想マシン稼働サーバ108にログインする。そしてシステム管理者は、Webブラウザ109を用いて、ハードウェア障害が発生したサービス提供サーバ103の識別子を指定した仮想マシンイメージ118の送信要求を、仮想アプライアンス配布サーバ111に送信する。仮想アプライアンス配布サーバ111は、上記送信要求に応じて、指定されたサービス提供サーバ103の仮想マシンイメージ118を検索し、仮想マシン稼動サーバ108に送信する。
サービス提供サーバ103に一意に割り振られた識別子をWebブラウザ109上のページから指定することで、システム管理者は、仮想アプライアンス配布サーバ111が持つ仮想マシンイメージ118のなかから、上記識別子により特定されるサービス提供サーバ103に対応する仮想マシンイメージ118をダウンロードできる。
Webサーバ116は、システム管理者が上記仮想マシンイメージ118の送信要求を指示するためのWebページを仮想マシン稼動サーバ108に送信する。そうすると仮想マシン稼動サーバ108のWebブラウザ109は、図11に示すようなWebページ(ダウンロードページ)を仮想マシン稼動サーバ108のモニタ等の出力装置に表示する。
仮想マシン稼動サーバ108は、ダウンロードページの入力欄502にサービス提供サーバの識別子が入力され、ダウンロードボタン503がマウス等でクリックされると、識別子と共に仮想マシンイメージ118の送信要求をWebサーバ116に送信する。
Webサーバ116は、管理テーブル406を参照し、受信した識別子により特定されるサービス提供サーバ103に対応する仮想マシンイメージ118をWebブラウザ109に送信する。
以上のようにして、仮想マシン稼動サーバ108は、Webブラウザ109により仮想マシンイメージ118をダウンロードする。そして仮想マシン稼動サーバ108は、仮想マシンイメージ118を記憶装置225に保存する。
仮想マシン稼動サーバ108は、仮想マシンイメージ118を受信すると、仮想マシンイメージ118に基づいて、仮想マシンを実現する。具体的には、仮想マシン稼動サーバ108は、仮想マシンモニタ110を実行し、仮想マシンモニタ110が、仮想マシンイメージ118に従ってサービス提供サーバ103をエミュレートする。これにより、サービス提供サーバ103による情報処理サービスの機能を再現する仮想マシンが実現される。仮想マシンモニタ110が仮想マシンイメージ118を実行することで、サービス提供サーバ103が提供していたサービスを復旧することができる。
図12は、仮想マシンモニタ110が仮想マシンイメージ118を実行した際に実現される仮想マシン1101の構成と、仮想マシン稼働サーバ108を構成する各ハードウェアとの関係を示している。
仮想マシンイメージ118を実行する際、まず、仮想マシンモニタ110内の、仮想マシンイメージ作成部1112が、仮想ディスク902内のOS、プログラムおよびプログラムが参照されるデータが格納される仮想メモリ1106用の領域を、仮想マシン稼動サーバ108のメモリ224内に確保する。この際、仮想メモリ1106のサイズは、仮想マシン構成定義ファイル903の内容に従う。
次に、仮想マシンイメージ作成部1112は、仮想メモリ1106上のOS、プログラムが実行されるcoreを、CPU223から、仮想マシン1101に割り当てる。coreとはCPU内において、演算処理を実行する機能を持った構成要素である。割り当てるcoreの数は、仮想マシン構成定義ファイル903の内容に従う。図12では、core1102が仮想マシン1101に割り当てられている。
次に、仮想マシンイメージ作成部1112は、仮想メモリ1106上のOS、プログラムが、外部のコンピュータと通信を行うための、仮想NICを割り当てる。割り当てる仮想NICの個数は仮想マシン構成定義ファイル903の内容に従う。図12では、仮想NIC1108、仮想NIC1109が、仮想マシン1101に割り当てられている。
OS、プログラムから、各仮想NIC1108、1109に送られたデータは、仮想マシンモニタ110内のネットワークI/O実行部1110に転送される。ネットワークI/O実行部1110は、送られたデータの宛先を参照し、適切なNIC(物理ハードウェア)にデータを転送する。
外部のコンピュータから仮想マシン1101に送られてきたデータはNIC(物理ハードウェア)を介して、ネットワークI/O実行部1110に転送される。ネットワークI/O実行部1110は、データの宛先を参照し、適切な仮想NICにデータを転送する。
次に、仮想マシンイメージ作成部1112は、仮想メモリ1106上のOSやプログラムが、仮想ディスク902に読み書きを行うための、仮想ディスクコントローラ1107を割り当てる。仮想メモリ1106上のOSやプログラムは、仮想ディスクコントローラ1107を介して、仮想ディスク902上のデータの読み書きを行う。仮想ディスクコントローラ1107は、仮想マシンモニタ110内のディスクI/O実行部1111にOS、プログラムからのデータの読み書き要求を転送する。ディスクI/O実行部は、仮想ディスク902へのデータの読み書き要求の実行結果を仮想ディスクコントローラ1107に転送する。
図13は、仮想メモリ1106上に格納される、プログラムおよびプログラムが参照するデータの構成を示す。
システム設定プログラム1101Aは、システム設定プログラム104と同様に動作する。
サービス提供プログラム1102Aは、サービス提供プログラム105と同様に動作し、クライアント102に対して、サービス提供サーバ103と同様のサービスを提供する。
本実施の形態では、情報処理サービスを提供するサービス提供サーバ103の仮想マシンイメージ118を仮想アプライアンス配布サーバ111に記憶しておき、情報処理サービスに障害が発生した際に、仮想マシンイメージ118に基づき情報処理サービスの機能を提供する仮想マシン1101を実現することにより、情報処理サービスを提供するサービス提供サーバ103をクラスタ化しなくても、障害が発生した情報処理サービスを直ちに復旧することが可能になる。これにより、ユーザが情報処理サービスを受けられなくなる期間を短縮することが可能となる。
またサービス提供サーバ103のシステム設定の変更やハードウェア構成等が変更された場合に、サービス提供サーバ103がその変更内容を仮想アプライアンス配布サーバ111に送信し、仮想アプライアンス配布サーバ111が、その変更内容に応じて仮想マシンイメージ118を更新後の内容に更新しておくようにすることによって、サービス提供サーバ103に障害が発生した際に、障害発生直前の時点での最新状態のサービス提供サーバ103を再現した仮想マシン1101を実現できる。このため、クライアント102は、サービス提供サーバ103の障害発生後も、障害発生前と同様の情報処理サービスの提供を受けることが可能となる。
また、仮想アプライアンス配布サーバ111から仮想マシン稼動サーバ108への仮想マシンイメージ118の送信を、仮想マシン稼動サーバ108のWebブラウザ109からのリクエストに応じて行うようにすることにより、サービス提供サーバ103に障害が発生した場合に、例えば、システム管理者の判断によって、クライアント102への情報処理サービスの提供を中止することも可能となる。
あるいは、サービス提供サーバ103に障害が発生した場合に、システム管理者の判断によって、障害が発生したサービス提供サーバ103により提供される情報処理サービスとは異なるサービス(例えば、障害発生に伴う臨時運転中であることをユーザに知らせつつサービスを提供する)を提供可能なサービス提供サーバ103の仮想マシンイメージ118を仮想マシン稼動サーバ108にダウンロードして仮想マシン1101を実現し、クライアント102に情報処理サービスの提供を行うようなことも可能となる。
==第二の実施形態==
<全体構成>
以下に、第二の実施形態を説明する。
図14は、第二の実施形態における情報処理システム1010の全体構成を示す。
第二の実施形態は、ファイルサーバ1203がクライアント1202にファイルサービスを提供する場合を想定している。
管理サーバ1201は、ファイルサーバ(情報処理装置)1203内で動作するシステム設定プログラム1205と連携し、ファイルサーバ1203のシステム設定を行う。システム管理者は、管理サーバ1201にログインし、ファイルサーバ1203のIPアドレスやユーザの追加/削除等のシステム設定を行うことができる。またこれによりファイルサーバ1203は、例えばファイルサービスを提供する上での色々な設定情報も保存する。
クライアント(サービス利用装置)1202は、ファイルサーバ1203から、ネットワークファイルシステム1204を介してファイルサービスを受けるコンピュータである。クライアント1202は、ネットワークファイルシステム1204を介して、ファイルサーバ1203の記憶装置上に構築されているファイルシステム1206にファイルオペレーション(ファイルの読み書きやファイルの作成/削除等、データ入出力要求とも記す)を要求することができる。
ファイルサーバ1203は、クライアント1202に対して、ファイルサービスを提供するファイルサーバ装置等のコンピュータである。ネットワークファイルシステム1204が、クライアント1202からのファイルオペレーションを受信し、ファイルシステム1206に転送する。ファイルシステム1206は、要求されたファイルオペレーションを記憶装置上のユーザデータ1208(記憶装置上に格納されているクライアントが利用するファイル群)に対して実行し、実行結果をネットワークファイルシステムに1204に返す。実行結果を受信したネットワークファイルシステム1204は実行結果をクライアント1202に送信する。
また、ファイルサーバ1203は、管理サーバ1201からのシステム設定変更要求に応じ、自身のシステム設定を変更する。システムデータ1207には、ファイルサーバ1203のOS、プログラム、システム設定データが格納されている。システム設定プログラム1205が管理サーバ1201からのシステム設定変更要求を受信し、システムデータ1207内のシステム設定データを、受信したシステム設定変更要求に応じ、更新する。
また、ファイルサーバ1203は、バックアップサーバ1222と連携し、ユーザデータ1208をバックアップサーバ1222上の記憶装置にバックアップする機能を持つ。
ファイルシステム1206は、ファイルサーバ1203の記憶装置の残容量が所定値(あるいは所定割合)を下回った際に、ユーザデータ1208のなかから、所定期間使用されていないファイルを抽出し、バックアッププログラム1223を介し、バックアップサーバ1222の記憶装置に転送し、バックアップデータ1224に格納する。ファイルシステム1206は、バックアップサーバ1222にバックアップしたファイルをスタブファイルと呼ぶ特殊なファイルに変換する。スタブファイルは、ファイルのアクセス権限等が記録されているメタデータと当該ファイルがバックアップサーバ1222上のどこに保存されているかという位置情報のみで構成される(ファイルの実態であるデータ部分は削除される)。
ファイルシステム1206は、クライアント1202がスタブファイルに対して、書き込みを要求した際には、スタブファイルに記録されたバックアップファイルの位置情報を参照し、バックアッププログラム1223を介して、バックアップデータ1224から、当該スタブファイルに対応するファイルのデータを取得する。そして、位置情報をスタブファイルから削除し、代わりに、取得したファイルのデータをファイルに付加し、スタブファイルを通常のファイルに変換する。そして、保存したファイルに書き込みを実行する。
クライアント1202が、スタブファイルに対して読み込みを要求した場合は、ファイルシステム1206は、ファイルのデータを、バックアッププログラム1223を介して取得し、ネットワークファイルシステム1204を介して、クライアント1202に転送する。この際、スタブファイルを通常のファイルに変換する処理は行わなくても良い。
仮想アプライアンス配布サーバ(仮想マシンイメージ生成装置)1212は、ファイルサーバ1203と同様のファイルサービスを提供可能な仮想マシンを実現するための仮想マシンイメージを作成し、配布するためのサーバ装置等のコンピュータである。
仮想マシン作成プログラム1213内の仮想マシンイメージ作成部1216は、ファイルサーバ1203の仮想マシンイメージ1219をディスク1218内に作成する。仮想マシンイメージ1219内のシステムデータ1220はファイルサーバ1203のシステムデータ1207と同様のデータを格納する。仮想マシンイメージ1219内のユーザデータ1221は、ファイルを格納せず空のデータとしておいて良い。
システム設定プログラム1205は、管理サーバ1201からシステム設定変更要求を受信した際、前述したとおり、ファイルサーバ1203のシステム設定を変更すると同時に、システム設定の変更内容を、仮想マシン作成プログラム1213内の設定受信部1214に送信する。システム設定の変更内容を受信した設定受信部1214は、仮想マシン作成プログラム1213内の設定反映部1215に、システム設定の変更内容を転送する。システム設定の変更内容を受信した設定反映部1215は、システムデータ1220内のシステム設定データを、システム設定の変更内容に応じて更新する。このようにして、仮想アプライアンス配布サーバ1212は、ファイルサーバ1203と同様のファイルサービスを提供可能な仮想マシンイメージ1219をディスク1218内に保持する。
仮想マシン稼働サーバ1209は、仮想アプライアンス配布サーバ1212が保持する仮想マシンイメージ1219を実行するサーバ装置等のコンピュータである。仮想マシン稼働サーバ1209は、Webブラウザ1210を介して、仮想アプライアンス配布サーバ1212内のWebサーバ1217から、仮想マシンイメージ1219を取得し、仮想マシンモニタ1211を用いて実行する。実行された仮想マシンイメージ1219は、バックアップサーバ1222のバックアップデータ1224から、ファイルサーバ1203がバックアップしたファイルをユーザデータ1221にリストアすることで、ファイルサーバ1203と同様のファイルサービスを、クライアント1202に対して提供することが可能である。
図14では、ファイルサーバ1203からファイルサービスの提供を受けるクライアントは、クライアント1202のみだが、複数のクライアントがファイルサーバ1203からサービスの提供を受けてもよい。
図14では、仮想アプライアンス配布サーバ1223が作成し、配布する仮想マシンイメージは、ファイルサーバ1203の仮想マシンイメージ1219のみだが、複数のファイルサーバの仮想マシンイメージを作成、配布してもよい。
<ハードウェア構成>
図15は第二の実施形態におけるシステム全体のハードウェア構成図を示す。
--管理サーバ--
管理サーバ1301は、CPU1302とメモリ1303、記憶装置1304とNIC1305から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、NIC、記憶装置の数は図15中に示す個数に限定されるものではない。
CPU1302は、メモリ1303に格納されるプログラムを実行する。
メモリ1303は、例えば半導体メモリであり、CPU1302が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC1305は管理サーバ1301がファイルサーバ1316、仮想マシン稼働サーバ1322とLAN1311を介して、データの送受信を行うために用いる。
記憶装置1304は管理サーバ1301が使用するプログラムやファイルを格納するための二次記憶装置である。管理サーバ1301は、SSD、HDD、テープ装置等を二次記憶装置として、利用することができる。記憶装置1304は図15中では内部バスによって、他の構成部位と接続しているが、 RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置1304と他の構成部位が接続してもよい。
--クライアント--
クライアント1306はCPU1307とメモリ1308、記憶装置1309とNIC1310から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶措置、NIC、の数は図15中に示す個数に限定されるものではない。
CPU1307はメモリ1308に格納されたプログラムを実行する。
メモリ1308は、例えば半導体メモリであり、CPU1307が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC1310はクライアント1306がファイルサーバ1316、仮想マシン稼働サーバ1322とLAN1311を介して、データの送受信を行うために用いる。
記憶装置1309はクライアント1306が使用するプログラムやファイルを格納するための二次記憶装置である。クライアント1306はSSD、HDD、テープ装置等を二次記憶装置として、利用することができる。記憶装置1309は図15中では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置1309と他の構成部位が接続してもよい。
--ファイルサーバ--
ファイルサーバ1316はCPU1317とメモリ1318、記憶装置1319とNIC1320、NIC1321から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶装置、NIC、の数は図15中に示す個数に限定されるものではない。
CPU1317はメモリ1318に格納されたプログラムを実行する。
メモリ1318は、例えば半導体メモリであり、CPU1317が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC1320はファイルサーバ1316が、LAN1311を介して、管理サーバ1301、クライアント1306とデータの送受信を行うために用いる。
NIC1321はファイルサーバ1316が、WAN1328を介して、仮想アプライアンス配布サーバ1333、バックアップサーバ1338とデータの送受信を行うために用いる。
記憶装置1319はファイルサーバ1316が使用するプログラムやファイルを格納するための二次記憶装置である。ファイルサーバ1316はSSD、HDD、テープ装置等を二次記憶装置として、用いることができる。記憶装置1319は図15中では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置1319と他の構成部位が接続してもよい。
なお記憶装置1319は、第1記憶領域と第2記憶領域とを有しており、第1記憶領域には、ユーザデータ(読み出し及び書き込みの対象となるデータ)1208が記録される。
また第2記憶領域には、ファイルサーバ1316のシステムデータ1207やハードウェア構成情報が記憶されている。また、第1記憶領域と第2記憶領域とは、記憶装置1319の同一筐体内に形成されていてもよいし、異なる筐体にそれぞれ形成されていてもよい。また記憶装置1319は、ファイルサーバ1316に内蔵されている形態としてもよいし、外付けされている形態としても良い。
--仮想マシン稼動サーバ--
仮想マシン稼働サーバ1322はCPU1323とメモリ1324、記憶装置1325とNIC1326、NIC1327から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶装置、NIC、の数は図15中に示す個数に限定されるものではない。
CPU1323はメモリ1324に格納されたプログラムを実行する。
メモリ1324は、例えば半導体メモリであり、CPU1323が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC1326は仮想マシン稼働サーバ1322が、LAN1311を介して、管理サーバ1301、クライアント1306とデータの送受信を行うために用いる。
NIC1327は仮想マシン稼働サーバ1322が、WAN1328を介して、仮想アプライアンス配布サーバ1332、バックアップサーバ1338とデータの送受信を行うために用いる。
記憶装置1325は仮想マシン稼働サーバ1322が使用するプログラムやファイルを格納するための二次記憶装置である。仮想マシン稼働サーバ1322はSSD、HDD、テープ装置等を二次記憶装置として、用いることができる。記憶装置1325は図15中では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置1325と他の構成部位が接続してもよい。
--仮想アプライアンス配布サーバ--
仮想アプライアンス配布サーバ1333はCPU1334とメモリ1335、記憶装置1336とNIC1337から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶措置、NIC、の数は図15中に示す個数に限定されるものではない。
CPU1334はメモリ1335に格納されたプログラムを実行する。
メモリ1335は、例えば半導体メモリであり、CPU1334が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC1337は仮想アプライアンス配布サーバ1332が、ファイルサーバ1316、仮想マシン稼働サーバ1322と、WAN1328を介して、データの送受信を行うために用いる。
記憶装置1336は仮想アプライアンス配布サーバ1333が使用するプログラムやファイルを格納するための二次記憶装置である。仮想アプライアンス配布サーバ1333はSSD、HDD、テープ装置等を二次記憶装置として、利用することができる。記憶装置1336は図15中では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置1336と他の構成部位が接続してもよい。
--バックアップサーバ--
バックアップサーバ1338はCPU1339とメモリ1340、記憶装置1341とNIC1342から構成される。それぞれの構成部位は内部バス又は内部ネットワークにて接続される。CPU、メモリ、記憶措置、NIC、の数は図15中に示す個数に限定されるものではない。
CPU1339はメモリ1340に格納されたプログラムを実行する。
メモリ1340は、例えば半導体メモリであり、CPU1339が実行するプログラムやプログラムが参照するデータが格納される主記憶装置である。
NIC1342はバックアップサーバ1338が、ファイルサーバ1316、仮想マシン稼働サーバ1322と、WAN1328を介して、データの送受信を行うために用いる。
記憶装置1341はバックアップサーバ1338が使用するプログラムやファイルを格納するための二次記憶装置である。バックアップサーバ1338はSSD、HDD、テープ装置等を二次記憶装置として、利用することができる。記憶装置1341は図15中では内部バスによって、他の構成部位と接続しているが、RAIDコントローラのようなストレージコントローラを介して、他の構成部位と接続してもよい。また、FC HBAを介して、SAN上の記憶装置1341と他の構成部位が接続してもよい。
記憶装置1341には、ファイルサーバ1316のユーザデータ1208の複製が記録されている。
--通信路--
通信路1312、1313、1314、1315、1329、1330、1331、1332には、例えばEthernet(登録商標)を用いることが考えられるが、通信可能であればこれ以外の媒体でも良い。
図15では、管理サーバ1301、クライアント1306、ファイルサーバ1316、仮想マシン稼働サーバ1322がLANを介して接続しているが、WANを介して接続してもかまわない。
図15では、ファイルサーバ1316、仮想マシン稼働サーバ1322、仮想アプライアンス配布サーバ1333、バックアップサーバ1338がWANを介して接続しているが、LANを介して接続してもかまわない。
図15では、LAN1311を介して、ファイルサーバ1316に接続しているクライアントはクライアント1306のみだが、複数のクライアントが、LAN1311に接続し、ファイルサーバ1316と通信をしてもかまわない。
図15では、WAN1328を介して、仮想アプライアンス配布サーバ1333に接続しているファイルサーバはファイルサーバ1316のみだが、複数のファイルサーバが、WAN1328に接続し、仮想アプライアンス配布サーバ1333と通信をしてもかまわない。
<動作の説明>
--ファイルサーバ--
図16は、ファイルサーバ1316のメモリ1318上に格納されるプログラムの構成を示す。
システム設定プログラム1401は、第一の実施形態におけるシステム設定プログラム104と同様に動作する。
ネットワークファイルシステムプログラム1402は、クライアント1306から、記憶装置1319上のファイルに実行されるファイルオペレーションを受信し、ファイルシステムプログラム1403のファイルオペレーション実行部1404に転送する。そして、ファイルオペレーションの実行結果をファイルシステムプログラム1403から、取得し、クライアント1306に転送する。本実施形態では、ネットワークファイルシステムプログラムとして、例えばNFS(Network FileSystem)やCIFS(Common Internet FileSystem)を想定している。
ファイルシステムプログラム1403のマイグレーション実行部1405は、記憶装置1319の残容量が所定値(または所定割合)を下回った際に、所定期間アクセスされていない記憶装置1319上のファイルを抽出し、バックアップサーバ1322にマイグレーションし、スタブファイルを記憶装置1319上に作成する。
ファイルオペレーション実行部1404は、ネットワークファイルシステムプログラム1402から転送されたクライアント1306からのファイルオペレーションを処理する。ファイルオペレーションの対象がスタブファイルであった場合、ファイルオペレーション実行部1404は、バックアップサーバ1322から、当該スタブファイルに対応するファイルのデータを取得する。ファイルオペレーションが書き込み処理だった場合、バックアップサーバ1322から取得したファイルのデータを用い、スタブファイルを通常のファイルに変換し、書き込み処理を実行する。ファイルオペレーションが読み込み処理だった場合、バックアップサーバ1322から取得したファイルのデータを、ネットワークファイルシステムプログラム1402に転送する(スタブファイルを通常のファイルに変換する処理は行わなくても良い)。
リストア実行部1406は、バックアップサーバ1338にバックアップされたファイルサーバ1316のファイルを、ファイルサーバ1316上の記憶装置1319にリストアする機能を持つ。ファイルサーバ1316にハードウェア障害が発生した際、ファイルサーバ1316の仮想マシンイメージがリストア実行部を用いて、ファイルサーバ1316のファイルを仮想ディスク上にリストアする際に用いる。
--バックアップサーバ--
図17は、バックアップサーバ1338のメモリ1340上に格納されるプログラムおよびプログラムが参照するデータの構成を示す。
バックアッププログラム1501内のマイグレーション処理部1502は、マイグレーション実行部1405から送信されたファイルを受信し、バックアップサーバ1338の記憶装置1341にバックアップする。
ファイルオペレーション処理部1503は、ファイルオペレーション実行部1404からの要求に従い、バックアップサーバ1338の記憶装置1341上にバックアップされたファイルのデータをファイルオペレーション実行部1404に送信する。また、ファイルオペレーション実行部1404からの要求に従い、バックアップサーバ1338の記憶装置1341上にバックアップされたファイルの削除を行う。
リストア処理部1504は、リストア実行部1406の要求に従い、バックアップサーバ1338の記憶装置1341上にバックアップされたファイルをリストア実行部1404に送信する。
保存ファイルリスト1505は、ファイルサーバ1316からバックアップサーバ1338にバックアップされたファイルのリストを管理するテーブルである。
--仮想マシン稼動サーバ--
図18は、仮想マシン稼動サーバ1322のメモリ1324上に格納されるプログラムの構成を示す。
仮想マシンモニタ1601は、第一の実施形態における仮想マシンモニタ110と同様に動作する。
Webブラウザ1602は、第一次の実施形態におけるWebブラウザ109と同様に動作する。
--仮想アプライアンス配布サーバ--
図19は、仮想アプライアンス配布サーバ1333のメモリ1335に格納されるプログラムおよびプログラムが参照するデータの構成を示す。
仮想マシン作成プログラム1701および、仮想マシン作成プログラム1701内の設定受信部1702、設定反映部1703、仮想マシンイメージ作成部1704はそれぞれ、第一の実施形態における仮想マシン作成プログラム112、設定受信部113、設定反映部114、仮想マシンイメージ作成部115と同様に動作する。
管理テーブル1706は、第一の実施形態における管理テーブル406と同様である。
Webサーバ1705は、第一の実施形態におけるWebサーバ116と同様に動作し、ファイルサーバ1316の仮想マシンイメージを仮想マシン稼働サーバ1322にアップロードする役割を持つ。これに加え、Webサーバ1705は、ファイルサーバ1316に対応する仮想マシンイメージの仮想ディスクの容量を、システム管理者の要求に従い、変更する機能を持つ。
--マイグレーション処理--
マイグレーション実行部1405によって実行されるマイグレーション処理について説明する。
図20は、マイグレーション処理のフローチャートを示す。
マイグレーション実行部1405は、ファイルサーバ1316の記憶装置1319上の残容量が所定値(または所定割合)を下回った際に、マイグレーション処理を開始する(S1801)。
マイグレーション実行部1405は、ファイルサーバ1316の記憶装置1319上のファイルを走査し、所定期間アクセスされていないファイルを、マイグレーション対象のファイルとして抽出する(S1802)。
次に、マイグレーション実行部1405は、マイグレーションの開始を、バックアップサーバ1338のマイグレーション処理部1502に送信する(S1803)。
次に、マイグレーション実行部1405は、ファイルサーバ1316に一意に割り振られている識別子をバックアップサーバ1338のマイグレーション処理部1502に送信する(S1804)。ファイルサーバ1316の識別子は、当該ファイルサーバ1316のシステム設定データ内にあらかじめ記録されているものとする。
次に、マイグレーション実行部1405は、マイグレーション対象のファイルのパス(ファイルサーバ1316の記憶装置1319に構築されているファイルシステムにおいて当該ファイルが保存されている場所を示す情報)を、バックアップサーバ1338のマイグレーション処理部1502に送信する(S1805)。
そして、マイグレーション実行部1405は、S1805において送信したパスに対応するファイルを、バックアップサーバ1338のマイグレーション処理部1502に送信する(S1806)。
バックアップサーバ1338のマイグレーション処理部1502は、ファイルを受信すると(S1807)、当該ファイルを記憶装置1341上に保存する(S1808)。
そして、バックアップサーバ1338のマイグレーション処理部1502は、S1804において受信したファイルサーバ1316の識別子と、S1805において受信したファイルのパスをもとに、保存ファイルリスト1505に、保存したファイルのエントリを追加する(S1809)。保存ファイルリスト1505は、バックアップサーバ1338がバックアップしているファイルのリストを記録している。
図21は、保存ファイルリスト1505の概要を示している。カラム1902は、バックアップしたファイルが元々保存されていたファイルサーバの識別子である。カラム1903は、バックアップしたファイルのバックアップサーバ1338上でのパスである(バックアップサーバ1338の記憶装置1341に構築されているファイルシステムにおいて当該ファイルが保存されている場所)。カラム1904は、当該ファイルのファイルサーバ1316上でのパスである。
図20に戻って、バックアップサーバ1338のマイグレーション処理部1502は、バックアップしたファイルのバックアップサーバ1338上のパスを、ファイルサーバ1316のマイグレーション実行部1405に送信する(S1810)。
ファイルサーバ1316のマイグレーション実行部1405はパスを受信すると、マイグレーションしたファイルのデータ部分を削除し、代わりにS1810において受信したパスをファイルのデータ部分に記録し、スタブファイル化する(S1811)。
図22は、通常のファイルとスタブファイルのデータ構造を示す。通常ファイル2001は、図22に示す通り、ファイルのアクセス権限やファイルサイズ等が記録されるファイルのメタデータとファイルの実態であるファイルデータから成り立っている。それに対し、スタブファイル2002には、ファイルの実態であるファイルデータは存在せず、代わりに、当該ファイルのバックアップ先(バックアップサーバ1338上のパス)が記録されている。
図20に戻って、ファイルサーバ1316のマイグレーション実行部1405は、全マイグレーション対象ファイルをバックアップサーバ1338のマイグレーション処理部1502に送信したか判定する(S1812)。
全ファイルを送信していなかった場合、ファイルサーバ1316のマイグレーション実行部1405、及びバックアップサーバ1338のマイグレーション処理部1502は、全ファイルを送信するまで、S1805からS1812までの処理を繰り返す。
一方、全ファイルを送信していた場合、ファイルサーバ1316のマイグレーション実行部1405は、バックアップサーバ1338のマイグレーション処理部1502に、マイグレーションが終了したことを通知し(S1813)、マイグレーション処理を終了する(S1814)。
--スタブファイルに対するファイルオペレーション--
スタブファイルに対するファイルオペレーションについて説明する。
ファイルオペレーション実行部1404は、ネットワークファイルシステムプログラム1402から転送されてきたスタブファイルに対するファイルオペレーションが書き込み要求だった場合、スタブファイルに記録されているバックアップ先を参照し、バックアップサーバ1338のファイルオペレーション処理部1503に、バックアップしたファイルのデータの取得を要求する。バックアップサーバ1338のファイルオペレーション処理部1503は、要求されたファイルのデータをファイルサーバ1316のファイルオペレーション実行部1404に送信する。
ファイルオペレーション実行部1404はファイルのデータを取得し、スタブファイルに記録されているバックアップ先を示す情報を削除し、代わりに受信したファイルのデータを記録することで、スタブファイルを通常のファイルに変換する。そして、ファイルオペレーション実行部1404は、変換した通常のファイルに書き込み処理を実行し、書き込み処理の結果をネットワークファイルシステムプログラム1402に送信する。
一方、ネットワークファイルシステムプログラム1402から転送されてきたスタブファイルに対するファイルオペレーションが読み込み要求だった場合、ファイルシステム1316のファイルオペレーション実行部1404は、スタブファイルに記録されているバックアップ先を参照し、バックアップサーバ1338のファイルオペレーション処理部1503に、バックアップしたファイルのデータの取得を要求する。バックアップサーバ1338のファイルオペレーション処理部1503は、要求されたファイルのデータをファイルサーバ1316のファイルオペレーション実行部1404に送信する。
ファイルサーバ1316のファイルオペレーション実行部1404は、ファイルのデータを取得すると、所得したデータをネットワークファイルシステムプログラム1402に転送する。この際、書き込み処理時のように、スタブファイルを通常のファイルに変換する処理は行わなくても良い。
また、ネットワークファイルシステムプログラム1402から転送されてきたスタブファイルに対するファイルオペレーションがファイルの削除要求だった場合、ファイルサーバ1316のファイルオペレーション実行部1404は、当該スタブファイルに記録されているバックアップ先を参照し、バックアップファイルの削除を、バックアップサーバ1338のファイルオペレーション処理部1503に要求する。
要求を受信したファイルオペレーション処理部1503は、当該ファイルをバックアップサーバ1338の記憶装置1341上から削除し、当該ファイルのエントリを保存ファイルリスト1505から削除する。
そしてバックアップサーバ1338のファイルオペレーション処理部1503は、当該ファイルの削除終了通知をファイルサーバ1316のファイルオペレーション実行部1404に送信する。
ファイルサーバ1316のファイルオペレーション実行部1404は、ファイルの削除終了通知を受信すると、当該スタブファイルを削除し、削除要求に対する実行結果をネットワークファイルシステムプログラム1402に送信する。
ところで、ファイルサーバ1316に障害が発生した際、システムの管理者は、仮想アプライアンス配布サーバ1333が作成したファイルサーバ1316の仮想マシンイメージを仮想マシンモニタ1601上で実行し、ファイルサーバ1316と同様のサービスを復旧出来る。このとき、仮想マシン稼動サーバ1322により実現される仮想マシンは、ファイルサービスを復旧するために、バックアップサーバ1338にバックアップされているファイルサーバ1316のバックアップファイルを利用する。例えば具体的には、仮想マシンは、ファイルサーバ1316のバックアップファイルをバックアップサーバ1338から仮想ディスク2214にリストアして、ファイルサービスを復旧する。
本実施形態においては、そのため、仮想マシン稼動サーバ1322により実現される仮想マシンの仮想ディスクのサイズは、ファイルサーバ1316の記憶装置1319と同様のサイズとしても良いが、ファイルサーバ1316の記憶装置1319の記憶容量は数TB(terabyte)以上にも及ぶ巨大なサイズであることもある。
そのため、仮想マシンの仮想ディスクサイズをファイルサーバ1316の記憶装置1319の容量と同様のサイズとした場合、仮想マシン稼働サーバ1322が持つ記憶装置1325の容量では足りず、仮想マシンイメージ1319を仮想マシン稼働サーバ1322の記憶装置1325に保存することが困難となる可能性がある。
そこで、本実施形態では、ファイルサーバ1316に対応する仮想マシンの仮想ディスクサイズを仮想マシン稼働サーバ1322の環境に合わせて、変更する機能をWebサーバ1705に設ける。
図23は、Webサーバ1705が、Webブラウザ1602に提示する仮想マシンイメージのダウンロードページ2101を示す。
入力欄2102には、仮想マシンイメージをダウンロードするファイルサーバ1316の識別子を入力する。ダウンロードボタン2103が押下されることで、仮想マシン稼動サーバ1322は、当該ファイルサーバ1316に対応する仮想マシンイメージを、仮想アプライアンス配布サーバ1333からダウンロードする。
その際、minimunと記載されたチェックボックス2104が選択された場合(第1の割り当て方法が指定された場合)には、Webサーバ1705は、仮想ディスクのサイズを、バックアップサーバ1338にバックアップされている当該ファイルサーバの全バックアップファイルをスタブファイル化した場合の合計サイズを基準に算出されるサイズに変換し、仮想マシンイメージをWebブラウザ1602にアップロードする。
この際、Webサーバ1705は、Webブラウザ1602から受信したファイルサーバ1316の識別子を、バックアップサーバ1338のバックアッププログラム1501に送信する。識別子を受信したバックアッププログラム1501は、受信した識別子と保存ファイルリスト1505を参照し、当該ファイルサーバ1316の全バックアップファイルをスタブファイル化した際の合計サイズを計算する。各ファイルをスタブファイル化した際のサイズは、各ファイルのメタデータに各ファイルのバックアップサーバ1338上のパス情報を付与した際のサイズである。
そして、バックアップサーバ1338は、計算した合計サイズをWebサーバ1705に送信する。Webサーバ1705は受信した合計サイズをもとに、仮想ディスクのサイズを変更する。この場合の仮想ディスクのサイズをminimumモードの仮想ディスクサイズと定義する。
一方、originalと記載されたチェックボックス2105が選択された場合(第2の割り当て方法が指定された場合)には、Webサーバ1705は、仮想ディスクのサイズを当該ファイルサーバ1316の記憶装置1319の容量を基準に算出されるサイズとし、仮想マシンイメージをWebブラウザ1602にアップロードする。この場合の仮想ディスクのサイズをoriginalモードの仮想ディスクサイズと定義する。
また、入力欄2107に数値を入力して、customと記載さされたチェックボックス2106が選択された場合(第3の割り当て方法が指定された場合)には、Webサーバ1705は、仮想ディスクのサイズを、minimumモードの場合の記憶容量に、入力欄2107に入力された記憶容量を足したサイズに変換し、仮想マシンイメージをWebブラウザ1602にアップロードする。この場合の仮想ディスクのサイズをcustomモードの仮想ディスクサイズと定義する。
図24は、仮想マシンモニタ1601が、仮想アプライアンス配布サーバ1333からダウンロードしたファイルサーバ1316に対応する仮想マシンイメージ2213を実行した際に、仮想マシン稼動サーバ1322のメモリ1324上に格納される仮想マシン2201の構成と、仮想マシン稼働サーバ1322を構成する各ハードウェアの関係を示している。
仮想マシンモニタ1601は、仮想マシンイメージ2213を実行する際、まず、仮想マシンモニタ1601内の、仮想マシンイメージ作成部2212が、仮想ディスク2214内のOS、プログラムおよびプログラムが参照されるデータが格納される仮想メモリ2206用の領域をメモリ1324上に確保する。この際、仮想メモリ2206のサイズは、仮想マシン構成定義ファイル2215の内容に従う。
次に、仮想マシンイメージ作成部2212は、仮想メモリ2206上のOS、プログラムが実行されるcoreを、CPU1323から、仮想マシン2201に割り当てる。coreとはCPUの演算部分である。割り当てるcoreの数は、仮想マシン構成定義ファイル2215のCPU設定の内容に従う。図24では、core2202が仮想マシン2201に割り当てられている。
次に、仮想マシンイメージ作成部2212は、仮想メモリ2206上のOS、プログラムが、外部のコンピュータと通信を行うための、仮想NICを割り当てる。割り当てる仮想NICの個数は仮想マシン構成定義ファイル2215の内容に従う。図24では、仮想NIC2208、仮想NIC2209が、仮想マシン2201に割り当てられている。
OS、プログラムから、各仮想NICに送られたデータは、仮想マシンモニタ1601内のネットワークI/O実行部2210に転送される。ネットワークI/O実行部2210は、送られたデータの宛先を参照し、適切なNIC(物理ハードウェア)にデータを転送する。
外部から仮想マシン2201に送られてきたデータはNIC(物理ハードウェア)を介して、ネットワークI/O実行部2210に転送される。ネットワークI/O実行部2210は、データの宛先を参照し、適切な仮想NICにデータを転送する。
次に、仮想マシンイメージ作成部2212は、仮想メモリ2206上のOS、プログラムが、仮想ディスク2214に読み書きを行うための、仮想ディスクコントローラ2207を割り当てる。仮想ディスクコントローラ2207を介して、仮想メモリ2206上のOS、プログラムは、仮想ディスク2214上のデータの読み書きを行う。仮想ディスクコントローラ2207は、仮想マシンモニタ2201内のディスクI/O実行部2211にOS、プログラムからのデータの読み書き要求を転送する。ディスクI/O実行部2211は、仮想ディスク2214へのデータの読み書きを処理し、実行結果を仮想ディスクコントローラ2207に転送する。
なお仮想マシン稼動サーバ1322の記憶装置1325上に格納される仮想ディスク2214のサイズは、ダウンロードページ2101において、どのチェックボタンが選択されたかに応じて異なる。
第1の割り当て方法が選択された場合には、仮想マシン稼動サーバ1322は、仮想マシン稼動サーバ1322が有する記憶装置1325の記憶領域のうち、バックアップサーバ1338が記憶しているデータのバックアップサーバ1338における記憶位置を示すアドレス情報の総データ量に基づいて算出される記憶容量を有する記憶領域を仮想マシン2201に割り当てる。つまり、仮想ディスク2214のサイズは、バックアップサーバ1338にバックアップされているファイルサーバ1316の全バックアップファイルをスタブファイル化した場合の合計サイズを基準に算出されるサイズとなる。例えば、全スタブファイルの合計サイズにシステムデータのサイズを加えたサイズとする。
そしてこの場合、仮想マシン稼動サーバ1322は、仮想マシン2201を実現する際に、バックアップサーバ1338から全データのスタブファイルを取得し、取得したスタブファイルを、仮想マシン2201に割り当てた仮想ディスク2214に記憶する。
第2の割り当て方法が選択された場合には、仮想マシン稼動サーバ1322は、仮想マシン稼動サーバ1322が有する記憶装置1325の記憶領域のうち、ファイルサーバ1316が有する記憶装置1319の記憶容量に基づいて算出される記憶容量を有する記憶領域を仮想マシン2201に割り当てる。つまり、仮想ディスク2214のサイズは、ファイルサーバ1316の記憶装置1319の容量を基準に算出されるサイズとなる。例えば、ファイルサーバ1316の記憶装置1319の容量にシステムデータのサイズを加えたサイズとする。
そしてこの場合、仮想マシン稼動サーバ1322は、仮想マシン2201を実現する際に、バックアップサーバ1338に記憶されているデータをバックアップサーバ1338から取得し、取得したデータを、仮想マシン稼動サーバ1332が仮想マシン2201に割り当てた仮想ディスク2214に記憶する。
第3の割り当て方法が選択された場合には、仮想マシン稼動サーバ1322は、仮想マシン稼動サーバ1322が有する記憶装置1325の記憶領域のうち、バックアップサーバ1338が記憶しているデータのバックアップサーバ1338における記憶位置を示すアドレス情報の総データ量に基づいて算出される記憶容量に、入力された記憶容量を加えた記憶容量を有する記憶領域を仮想マシン2201に割り当てる。
この場合は、仮想マシン稼動サーバ1322は、仮想マシン2201を実現する際に、バックアップサーバ1338から全データのスタブファイルを取得し、取得したスタブファイルを、仮想マシン2201に割り当てた仮想ディスク2214に記憶する。
--仮想マシン--
図25は仮想メモリ2206上で実行されるプログラムおよびプログラムが参照するデータの構成を示す。
システム設定プログラム2301は、ファイルサーバ1316のメモリ1318に記憶されるシステム設定プログラム1401と同様に動作する。
ネットワークファイルシステムプログラム2302は、ファイルサーバ1316のメモリ1318に記憶されるネットワークファイルシステムプログラム1402と同様に動作する。これによりファイルサーバ1316と同様のファイルサービスが、クライアント1306に提供される。
ファイルシステムプログラム2303のファイルオペレーション実行部2304は、ファイルサーバ1316のメモリ1318に記憶されるファイルオペレーション実行部1404と同様に動作し、仮想ディスク2214に保存されているファイルおよびスタブファイルに対するファイルオペレーションを処理する。
マイグレーション実行部2305は、ファイルサーバ1316のメモリ1318に記憶されるマイグレーション実行部1405と同様に動作し、仮想ディスク2214の残容量が、所定値を下回った際に、仮想ディスク2214に保存されているファイルから、所定期間アクセスされていないファイルを抽出し、バックアップサーバ1338にマイグレーションする。
また、マイグレーション実行部2305は、仮想ディスク2214上の全ファイルをバックアップサーバ1338にマイグレーションする機能も持つ。このマイグレーションは、ファイルサーバ1316によるファイルサービスが復旧可能になった場合に、仮想マシン2201を用いたファイルサービスの提供を中止し、ファイルサーバ1316を用いたファイルサービスに復旧(本復旧)する際に行われる。ファイルサーバ1316を用いたファイルサービスの提供を再開する際に、バックアップサーバ1338にマイグレーションされたデータは、ファイルサーバ1316によってリストアされる。
リストア実行部2306は、仮想ディスク2214に、ファイルサーバ1316のバックアップファイルをリストアする機能を持つ。
ファイルサーバ1316のバックアップファイルを仮想ディスク2214にリストアする処理について説明する。リストア処理のフローチャートを図26に示す。
リストア処理は、システム管理者が管理サーバ1301から仮想マシン2201にログインし、仮想マシン2201のリストア実行部2306にリストア処理の開始を指示した際に開始される(S2401)。
まず、仮想マシン2201のリストア実行部2306は、バックアップサーバ1338のリストア処理部1504にリストア処理の開始を通知する(S2402)。
次に、仮想マシン2201のリストア実行部2306は、ファイルサーバ1316の識別子をバックアップサーバ1338のリストア処理部1504に送信し、その識別子により特定されるファイルサーバ1316のバックアップファイルのリストアを開始することを通知する(S2403)。
次に、バックアップサーバ1338のリストア処理部1504は、ファイルサーバ1316の識別子を受信する。そしてバックアップサーバ1338のリストア処理部1504は、保存ファイルリスト1505を参照し、受信した識別子により特定されるファイルサーバ1316の各ファイル(リストア対象のファイル)について、ファイルサーバ1316におけるパスとバックアップサーバ1338におけるパスとを抽出する(S2404)。
次に、バックアップサーバ1338のリストア処理部1504は、リストア対象のファイルのファイルサーバ1316上のパスを、保存ファイルリスト1505のカラム1904を参照し、仮想マシン2201のリストア実行部2306に送信する(S2405)。
次に、バックアップサーバ1338のリストア処理部1504は、リストア対象のファイルを仮想マシン2201のリストア実行部2306に送信する。ここで、図23に示すダウンロードページ2101において、minimumモードあるいはcustomモードが選択されていた場合には、バックアップサーバ1338のリストア処理部1504は、リストア対象のファイルをスタブファイルに変換し(S2406)、仮想マシン2201のリストア実行部2306に送信する。これにより、全リストア対象のファイルをそのまま送信する場合に比べリストアに要する時間を短縮することが可能となる。なおスタブファイルへの変換は、バックアップサーバ1338のリストア処理部1504が、保存ファイルリスト1505のカラム1903を参照して行う。
もちろん、図23に示すダウンロードページ2101において、originalモードが選択されていた場合には、バックアップサーバ1338のリストア処理部1504は、リストア対象のファイルをスタブファイルに変換することなく、仮想マシン2201のリストア実行部2306に送信する。これにより、仮想マシン2201がファイルサービスを提供する際に、クライアント1306からのリクエストの対象となるデータはすべて仮想マシン稼動サーバ1322の記憶装置1325上に構成される仮想ディスク2214上に記憶されるので、高速なファイルサービスをクライアントに提供することが可能となる。
以下の説明では、一例として、図23に示すダウンロードページ2101において、minimumモードが選択されていたものとして説明を行う。
仮想マシン2201のリストア実行部2306は、リストア対象ファイルのスタブファイルを受信すると(S2408)、受信したスタブファイルを、仮想ディスク2214上に保存する(S2409)。この際、仮想マシン2201のリストア実行部2306は、受信したスタブファイルを、S2405で受信したパスの位置に保存する。
なお、仮想ディスク2214上に構築されているファイルシステムに、上記パスが示すディレクトリが存在しなかった場合には、仮想マシン2201のリストア実行部2306は、パスが示すディレクトリを作成し、受信したスタブファイルを保存する。
一方、バックアップサーバ1338のリストア処理部1504は、S2404で抽出した全てのリストア対象ファイルを仮想マシン2201のリストア実行部2306に送信したか否かを判定する(S2410)。
全リストア対象ファイルを送信していなかった場合には、バックアップサーバ1338のリストア処理部1504及び仮想マシンのリストア実行部2306は、S2405からS2409の各処理を繰り返す。
全リストア対象ファイルを送信していた場合には、バックアップサーバ1338のリストア処理部1504は、リストア処理が終了した旨を、仮想マシン2201のリストア実行部2306に通知する(S2411)。これによりリストア処理が終了する。
リストア処理の終了後、クライアント1306は、仮想マシン2201のネットワークファイルシステムプログラム2302を介して、仮想ディスク2214にリストアされた、ファイルサーバ1316のバックアップファイルにファイルオペレーションを実行することができる。
なお、仮想ディスク2214のサイズがminimumモードのディスクサイズの場合、仮想ディスク2214は、全バックアップファイルのスタブファイルを保存するだけの容量しか持たない。このため、minimumモードが選択された場合には、仮想マシン2201は、クライアント1306からファイルのリード要求のみを受け付け、リード要求の対象となったファイルをクライアント1306に送信する。もちろん、仮想マシン2201は、例えば仮想ディスク2214上の既存のスタブファイルを削除するなどして、データを書き込むための空き容量を確保することにより、クライアント1306からライト要求を受け付け、ライト要求の対象となったファイルを空き領域に書き込むようにすることも可能である。
一方、仮想ディスク2214のサイズがcustomモードのディスクサイズの場合、クライアント1306は、全バックアップファイルに対して、読み込みと書き込みが可能である。図23に示したダウンロードページ2101の入力欄2107に適切な値を入力しておくことによって、仮想ディスク2214の未使用記憶領域を最小限に抑えつつ、全バックアップファイルに対して読み込みと書き込みを行うことが可能となる。このため、仮想ディスク2214の記憶領域を効率よく使用することが可能となる。もちろん、仮想ディスク2214の空き容量が所定値以下になった場合であっても、正しくマイグレーション処理が実行されて新たな空き容量が確保されるため、書き込みを続けることが可能である。
また仮想ディスクのサイズがoriginalモードのディスクサイズの場合、クライアント1306が、全バックアップファイルに対して、読み込みと書き込みが可能である。また、originalモードの場合、仮想マシン2201によるファイルサービスのパフォーマンスは、ファイルサーバ1316によるファイルサービスのパフォーマンスとほぼ同等にできる。
次に本復旧について説明する。本復旧とは、ファイルサーバ1316によるファイルサービスの提供が復旧可能になり、仮想マシン2201によるファイルサービスの提供を中止し、ファイルサーバ1316によるファイルサービスの提供を再開することをいう。
本実施形態は、仮想マシン2201による一時復旧から、ファイルサーバ1316による本復旧に移行する手段を提供する。
本復旧の際には、仮想マシン2201のマイグレーション実行部2305は、仮想ディスク2214上の全ファイルをバックアップサーバ1338にマイグレーションする。そして、本復旧に用いるファイルサーバ1316がリストア処理を実行する。これにより、ファイルサーバ1316は、一時復旧中に仮想マシン2201により更新されたファイルを、取得することが可能となる。そしてクライアント1306は、本復旧後も、一時復旧中に作成されたファイルや更新されたファイルにアクセスできるようになる。
図27は、仮想マシン2201のマイグレーション実行部2305が、仮想ディスク2214上の全ファイルをバックアップサーバ1338にマイグレーションする処理のフローチャートである。
まず、システム管理者が管理サーバ1201から仮想マシン2201にログインし、マイグレーション実行部2305に全ファイルのマイグレーションを指示する(S2501)。
次に、仮想マシン2201のマイグレーション実行部2305は、ファイルオペレーション実行部2304に対して、仮想ディスク2214上のファイルに対する書き込みと新たなファイルの作成を禁止するように通知する(S2502)。通知を受けたファイルオペレーション実行部2304は、以後のファイルに対する書き込み要求とファイルの新規作成要求に全てエラーを返し、仮想ディスク2214上のファイルの更新と新規作成を抑止する。
次に、仮想マシン2201のマイグレーション実行部2305は、仮想ディスク2214上の全ファイルをバックアップサーバ1338に送信する(S2503)。仮想マシン2201のマイグレーション実行部2305は、全ファイルをバックアップサーバ1338に送信した後、処理を終了する(S2504)。
システム管理者は、全ファイルのマイグレーションが終了したのち、仮想マシン2201を停止し、本復旧用のファイルサーバ1316を起動する。そして、ファイルサーバ1316は、リストア処理を実行する。これにより、ファイルサーバ1316は、バックアップサーバ1338からファイルサーバ1316の全ファイルを取得する。ファイルサーバ1316は、取得したファイルを記憶装置1319に記憶する。
これにより、クライアント1306は、本復旧後も、一時復旧中に作成されたファイルや更新されたファイルにアクセスすることが可能になる。
ところで、仮想マシン稼動サーバ1322によって実現された仮想マシン2201は、仮想マシン2201がファイルサービスの提供を開始してから所定期間経過後に、仮想マシン2201によるファイルサービスの提供を停止するようにしても良い。
これは、例えば、仮想マシン稼動サーバ1322が仮想マシン2201を実現する際にタイマをスタートさせるようにし、所定期間が経過すると、仮想マシン稼動サーバ1322が仮想マシン2201の機能を停止させるようにすることよって実現することができる。
なお、仮想マシン2201の機能が停止するまでの所定期間は、固定値として設定しておいても良いし、ファイルサーバ1316に発生した障害を復旧させるのに要する時間に準拠して設定することも可能である。例えば、ファイルサーバ1316の復旧に数時間を要することが見込まれる場合に、例えば、タイマを24時間にセットしておくようにしても良い。
このようにすることにより、仮想マシン2201が不正に利用されるのを防止することが可能となる。例えば、ファイルサーバ1316に障害が発生していないにもかかわらず、仮想マシンイメージ1219を仮想マシン稼動サーバ1322にコピーし、不正に仮想マシン2201を起動してファイルサービスを利用するようなことを防止することができる。
--全体の処理の流れ--
次に、図28から図31に示すフローチャートを参照しながら、本実施の形態に係るファイルサービスの提供の流れについて説明する。
まず、ファイルサーバ1316が正常にファイルサービスを提供している場合の処理の流れを、図28を参照しながら説明する。
クライアント1306は、ファイルサーバ1316にファイルアクセスのリクエスト(データ入出力要求)を送信する(S3000)。そうするとファイルサーバ1316は、リクエストに応じて、記憶装置1319に記憶されているユーザデータ1208に対して、データの読み出しや書き込み、削除を実行する(S3010)。そしてファイルサーバ1316は、その実行結果をクライアント1306に送信する(S3020)。
一方で、ファイルサーバ1316は記憶装置1319の空き容量を監視しており、空き容量が所定値以上ある場合には、ファイルのスタブ化は不要であると判定する(S3030)。
また、空き容量が所定値を下回った場合には、ファイルのスタブ化が必要であると判定する(S3030)。その場合ファイルサーバ1316は、記憶装置1319に記憶されているファイルの中から所定期間以上アクセスがないファイルを抽出し(S3040)、抽出したファイルをバックアップサーバ1338にマイグレーションする(S3050)。
バックアップサーバ1338は、それらのファイルを受信して記憶装置1341に保存する(S3060)。そしてバックアップサーバ1338は、それらのファイルの記憶位置を示すアドレス情報をファイルサーバ1316に送信する(S3070)。
そしてファイルサーバ1316は、スタブ化の対象として抽出したファイルのメタデータ以外の部分(ファイルの本体部分)をアドレス情報に置き換える(S3080)。
次に、ファイルサーバ1316の仮想マシンイメージ1219の生成、更新処理の流れを、図29を参照しながら説明する。
ファイルサーバ1316は、システムデータやハードウェア構成情報を仮想アプライアンス配布サーバ1333に送信する(S4000)。そうすると仮想アプライアンス配布サーバ1333は、受信したシステムデータやハードウェア構成情報に基づいて、ファイルサーバ1316の仮想マシンイメージ1219を生成し、記憶する(S4010)。
この際、詳しく上述したように、仮想アプライアンス配布サーバ1333は、ひな形601に基づいてファイルサーバ1316の仮想マシンイメージ1219を生成するようにしてもよい。あるいは、仮想アプライアンス配布サーバ1333は、CDやDVD等の記録媒体に記録されたシステムデータやハードウェア構成情報を読み込んで、ファイルサーバ1316の仮想マシンイメージ1219を生成するようにしてもよい。
一方、ファイルサーバ1316のシステムデータやハードウェア構成情報が変更された場合に、ファイルサーバ1316は、その変更内容を仮想アプライアンス配布サーバ1333に送信する(S4020)。そうすると、仮想アプライアンス配布サーバ1333は、その変更内容に従って、記憶してある仮想マシンイメージ1219を変更後の状態に更新する(S4030)。
次に、ファイルサーバ1316に障害が発生し、ファイルサーバ1316によるファイルサービスの提供が行えなくなった場合の処理の流れを、図30を参照しながら説明する。
ファイルサーバ1316に障害が発生すると、例えばシステム管理者が仮想マシン稼動サーバ1322を操作し、仮想マシン稼動サーバ1322から仮想アプライアンス配布サーバ1333に対して、仮想マシンイメージの送信要求を送信する(S5000)。そうすると仮想アプライアンス配布サーバ1333は、該当する仮想マシンイメージ1219を検索して(S5010)、仮想マシン稼動サーバ1322に送信する(S5020)。
仮想マシン稼動サーバ1322は、取得した仮想マシンイメージ1219に従って仮想マシン2201を実現する(S5030)。その際仮想マシン稼動サーバ1322は、バックアップサーバ1338に対してリストアの要求を送信する(S5040)。そうするとバックアップサーバ1338は、リストア対象のファイルを記憶装置1341から読み出して、仮想マシン稼動サーバ1322に送信する(S5050)。
その後、仮想マシン稼動サーバ1322によって実現された仮想マシン2201は、クライアント1306からのリクエストを受信すると(S5060)、リクエストの対象となっているファイルに対して、データの読み出し、あるいは書き込みを実行する(S5070)。そして仮想マシン2201は、その実行結果をクライアント1306に送信する(S5080)。
なお、仮想マシン稼動サーバ1322による仮想アプライアンス配布サーバ1333からの仮想マシンイメージ1219の取得は、例えば、CDやDVD等の記録媒体に記録された仮想マシンイメージ1219を、仮想マシン稼動サーバ1322が読み取ることにより行うようにしても良い。
次に、ファイルサーバ1316に発生した障害が復旧し、ファイルサーバ1316によるファイルサービスの提供を再開する場合の処理の流れを、図31を参照しながら説明する。
ファイルサーバ1316に発生した障害が復旧すると、例えばシステム管理者が仮想マシン2201を操作し、仮想マシン2201からバックアップサーバ1338に対して、仮想ディスク2214上の全ファイルを送信する(S6000)。バックアップサーバ1338は、受信した全ファイルを記憶装置1341に保存する(S6010)。
そして仮想マシン稼動サーバ1322は、仮想マシン2201の機能を停止させる(S6030)。
一方、ファイルサーバ1316は、バックアップサーバ1338に対して、全ファイルのリストア要求を送信する。リストア要求に応じて、バックアップサーバ1338は、リストア対象の全ファイルをファイルサーバ1316に送信する(S6020)。
ファイルサーバ1316は、リストア対象のファイルを受信すると、記憶装置1319に保存する(S6040)。
その後、ファイルサーバ1316は、クライアント1306からのリクエストを受信すると(S6050)、リクエストの対象となっているファイルに対して、データの読み出し、あるいは書き込みを実行する(S6060)。そしてファイルサーバ1316は、その実行結果をクライアント1306に送信する(S6070)。
以上説明したように、本実施の形態では、ファイルサービスを提供するファイルサーバ1316の仮想マシンイメージ1219を仮想アプライアンス配布サーバ1333に記憶しておき、ファイルサービスに障害が発生した際に、仮想マシンイメージ1219に基づきファイルサービスの機能を提供する仮想マシン2201を実現することにより、ファイルサービスを提供するファイルサーバ1316をクラスタ化しなくても、障害が発生したファイルサービスを直ちに復旧することが可能になる。これにより、ユーザがファイルにアクセスできない期間を短縮することが可能となる。
またファイルサーバ1316のシステム設定の変更やハードウェア構成等が変更された場合に、ファイルサーバ1316がその変更内容を仮想アプライアンス配布サーバ1333に送信し、仮想アプライアンス配布サーバ1333が、その変更内容に応じて仮想マシンイメージ1219を更新しておくようにすることによって、ファイルサーバ1316に障害が発生した際に、障害発生直前の時点でのファイルサーバ1316を再現した仮想マシン2201を実現できる。このため、クライアント1306は、ファイルサーバ1316の障害発生後も、障害発生前と同様の情報処理サービスの提供を受けることが可能となる。
また、仮想アプライアンス配布サーバ1333から仮想マシン稼動サーバ1322への仮想マシンイメージ1219の送信を、仮想マシン稼動サーバ1322のWebブラウザ1602からのリクエストに応じて行うようにすることにより、ファイルサーバ1316に障害が発生した場合に、例えば、システム管理者の判断によって、クライアント1306へのファイルサービスの提供を中止することも可能となる。
あるいは、ファイルサーバ1316に障害が発生した場合に、システム管理者の判断によって、障害が発生したファイルサーバ1316により提供されるファイルサービスとは異なるサービス(例えば、障害発生に伴う臨時運転中であることをユーザに知らせつつファイルサービスを提供する)を提供可能なファイルサーバ1316の仮想マシンイメージ1219を仮想マシン稼動サーバ1322にダウンロードして仮想マシン2201を実現し、クライアント1306にファイルサービスの提供を行うようなことも可能となる。
以上説明したように、本実施形態では、クラスタ化技術を導入せずに、サーバのハードウェア障害発生時、サーバが提供していたサービスを一時的に早期復旧する手段を提供する。
また本実施形態では、サービスを提供するサーバの仮想マシンイメージを、ネットワーク経由で配布する機能を持つ仮想アプライアンス配布サーバを設ける。この仮想アプライアンス配布サーバは、サービスを提供するサーバと同様のOS、システム設定データ、プログラム、コンテンツデータ、その他のデータが格納されている仮想ディスクを含む仮想マシンイメージをあらかじめ保持しておく。
本実施形態では、サービスを提供するサーバに、当該サーバのシステムの設定情報およびその更新を仮想アプライアンス配布サーバに送信する機能を設ける。仮想アプライアンス配布サーバには、受信したシステムの設定情報を、仮想マシンイメージの仮想ディスク内に保存されているシステム設定データに反映する機能を設ける。
上記の機能により、サービス提供サーバと同様のOS、システム設定データ、プログラム、その他データを持つ仮想マシンイメージを、仮想アプライアンス配布サーバから、ネットワーク経由でダウンロードすることを可能にする。また仮想アプライアンス配布サーバは、多数のサーバに対応する仮想マシンイメージをネットワーク経由で配布することを可能とする。
本実施形態によって、サービスを提供するサーバのハードウェア障害発生時に、当該サーバを利用するユーザが、当該サーバと同様のOS、システム設定データ、プログラム、コンテンツデータ、その他データを持つ仮想マシンイメージを、仮想アプライアンス配布サーバからダウンロードし、ダウンロードした仮想マシンイメージを、仮想マシンモニタが動作する任意の物理サーバ上で実行することで、サービスを一時的に早期復旧することが可能になる。
当該サーバと同様のOS、システム設定データ、プログラム、コンテンツデータ、その他データを持つ仮想サーバを、仮想アプライアンス配布サーバからダウンロードし、実行することで、代替ハードウェアの調達、サーバOSのインストール、システムの再設定を行わず、早期にサービスの一時的復旧を行うことができる。
サービス復旧用のサーバを、仮想マシンイメージとして配布するため、クラスタ化技術のように、専用の待機サーバを新たに設置する必要はなく、既設のサーバを用いてサービスの早期復旧が可能であり、クラスタ化技術と比べ、装置導入コストを軽減することができる。
また、障害発生時のみ、仮想マシンイメージを起動するため、常に待機サーバを稼働させておくクラスタ化技術と比べ、ランニングコストを軽減することができる。
また、クラスタ化技術のように、常に2台以上のサーバでサービスを運用する必要がないため、クラスタソフトウェアの設定等を行う必要がなく、管理コストを軽減することができる。
以上、本発明の好適な実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲を実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
103 サービス提供サーバ
108 仮想マシン稼働サーバ
110 仮想マシンモニタ
111 仮想アプライアンス配布サーバ
118 仮想マシンイメージ
1000 情報処理システム
1010 情報処理システム
1316:ファイルサーバ
1322:仮想マシン稼働サーバ
1333:仮想アプライアンス配布サーバ
1338:バックアップサーバ

Claims (14)

  1. 情報処理装置により提供される情報処理サービスの障害復旧方法であって、
    仮想マシンイメージを生成する仮想マシンイメージ生成装置と、前記仮想マシンイメージに基づき仮想マシンを実現する仮想マシン実現装置と、を設け、
    前記仮想マシンイメージ生成装置が、前記情報処理サービスの正常稼働時における前記情報処理サービスを実現しているシステムデータ及びハードウェア構成情報に基づき、前記仮想マシンイメージを生成して記憶し、
    前記仮想マシン実現装置が、前記情報処理サービスに障害が発生した際、前記仮想マシンイメージに基づき前記情報処理サービスの機能を提供する仮想マシンを実現し、
    前記情報処理装置は、
    前記情報処理サービスにおいて使用するデータを記憶するための記憶装置の未使用記憶領域が所定の閾値を下回ったと判定した場合、前記記憶装置内で所定期間使用されていないと判定されるデータを抽出して前記仮想マシンが使用する仮想記憶装置に格納し、前記データ抽出元である前記記憶装置内の当該データを削除し、前記抽出したデータの属性を記録しているメタデータと前記仮想記憶装置における前記データの保存場所を示す情報とを当該データの抽出元である前記記憶装置に格納し、
    前記情報処理サービスの障害復旧処理を実行する場合、前記データの抽出元である前記記憶装置に記憶されている全データについて、各データの保存場所を示す情報及び当該データのメタデータのみを記憶するのに必要な記憶容量を前記仮想記憶装置に設定する
    ことを特徴とする情報処理サービスの障害復旧方法。
  2. 請求項1に記載の情報処理サービスの障害復旧方法であって、
    前記情報処理装置は、前記仮想マシンイメージ生成装置と通信可能に接続し、
    前記情報処理装置が、前記システムデータ及び前記ハードウェア構成情報の内容が変更された場合に、前記変更内容を前記仮想マシンイメージ生成装置に送信し、
    前記仮想マシンイメージ生成装置が、前記変更内容に従って、記憶している前記仮想マシンイメージを変更後の内容に更新する
    ことを特徴とする情報処理サービスの障害復旧方法。
  3. 請求項1に記載の情報処理サービスの障害復旧方法であって、
    前記仮想マシンイメージ生成装置は、前記仮想マシン実現装置と通信可能に接続し、
    前記仮想マシン実現装置が、前記情報処理サービスに障害が発生した際に、前記仮想マシンイメージ生成装置から前記仮想マシンイメージを取得し、
    前記仮想マシン実現装置が、取得した前記仮想マシンイメージに従って前記情報処理装置をエミュレートすることによって、前記情報処理サービスの機能を提供する前記仮想マシンを実現する
    ことを特徴とする情報処理サービスの障害復旧方法。
  4. 請求項3に記載の情報処理サービスの障害復旧方法であって、
    前記仮想マシン実現装置による前記仮想マシンイメージ生成装置からの前記仮想マシンイメージの取得は、
    前記情報処理サービスに障害が発生した際に、前記仮想マシン実現装置が、前記仮想マシンイメージの取得要求の入力を契機に、前記仮想マシンイメージ生成装置に、前記仮想マシンイメージの送信要求を送信し、
    前記仮想マシンイメージ生成装置が、前記送信要求に応じて、記憶している前記仮想マシンイメージを前記仮想マシン実現装置に送信することにより行われる
    ことを特徴とする情報処理サービスの障害復旧方法。
  5. 請求項1に記載の情報処理サービスの障害復旧方法であって、
    前記情報処理装置は、
    前記情報処理サービスの障害復旧処理を実行する場合、前記情報処理装置が使用する前記記憶装置から所定のデータを抽出し、当該抽出したデータの属性を記録しているメタデータと前記記憶装置における前記データの保存場所を示す情報とを前記仮想記憶装置に格納する
    ことを特徴とする情報処理サービスの障害復旧方法。
  6. 請求項3に記載の情報処理サービスの障害復旧方法であって、
    前記情報処理装置は、通信可能に接続されたサービス利用装置からデータ入出力要求を受信し、前記データ入出力要求に応じて前記情報処理装置が有する記録媒体に対してデータの読み出し及び書き込みを行い、その実行結果を前記サービス利用装置に送信するサービスを前記情報処理サービスとして提供し、
    前記情報処理装置が有する前記記録媒体の第1記憶領域には、前記読み出し及び書き込みの対象となるデータが記憶され、前記記録媒体の第2記憶領域には、前記情報処理装置による前記情報処理サービスを実現している前記システムデータ及び前記ハードウェア構成情報が記憶されており、
    前記仮想マシン実現装置は、前記第1記憶領域に記録されているデータの複製を記憶するバックアップ装置と通信可能に接続され、
    前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求に応じて、前記バックアップ装置に記憶されている前記データの複製に対する読み出し及び書き込みを行うことにより、前記情報処理サービスを提供する
    ことを特徴とする情報処理サービスの障害復旧方法。
  7. 請求項6に記載の情報処理サービスの障害復旧方法であって、
    前記仮想マシン実現装置が、前記仮想マシンが前記データ入出力要求に応じてデータの読み出し及び書き込みを行う際に利用する記憶領域の、前記仮想マシンへの割り当て方法を指定する入力を受け付け、
    第1の割り当て方法が指定された場合には、前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記仮想マシン実現装置が有する記録媒体の記憶領域のうち、前記バックアップ装置が記憶している前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報の総データ量に基づいて算出される記憶容量を有する記憶領域を前記仮想マシンに割り当て、
    第2の割り当て方法が指定された場合には、前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記仮想マシン実現装置が有する記録媒体の記憶領域のうち、前記情報処理装置が有する前記記録媒体の記憶容量に基づいて算出される記憶容量を有する記憶領域を前記仮想マシンに割り当て、
    第3の割り当て方法が指定された場合には、前記仮想マシン実現装置が、前記仮想マシンに割り当てる記憶容量を指定する入力をさらに受け付け、前記仮想マシンを実現する際に、前記仮想マシン実現装置が有する記録媒体の記憶領域のうち、前記バックアップ装置が記憶している前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報の総データ量に基づいて算出される記憶容量に、指定された前記記憶容量を加えた記憶容量を有する記憶領域を前記仮想マシンに割り当てる
    ことを特徴とする情報処理サービスの障害復旧方法。
  8. 請求項7に記載の情報処理サービスの障害復旧方法であって、
    前記第1の割り当て方法が指定された場合には、
    前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記バックアップ装置から、前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報を取得し、
    前記仮想マシン実現装置が、取得した前記アドレス情報を、前記仮想マシン実現装置が前記仮想マシンに割り当てた前記記憶領域に記憶し、
    前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求のうちデータ入力要求のみを受け付け、前記データ入力要求の対象とされているデータの前記バックアップ装置における記憶位置を前記アドレス情報により特定し、記憶位置を特定した前記データに対して読み出しを行うことにより、前記情報処理サービスを提供する
    ことを特徴とする情報処理サービスの障害復旧方法。
  9. 請求項7に記載の情報処理サービスの障害復旧方法であって、
    前記第2の割り当て方法が指定された場合には、
    前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記バックアップ装置に記憶されている前記データの複製を前記バックアップ装置から取得し、
    前記仮想マシン実現装置が、取得した前記データの複製を、前記仮想マシン実現装置が前記仮想マシンに割り当てた前記記憶領域に記憶し、
    前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求に応じて、前記記憶領域に記憶されている前記データの複製に対して読み出し及び書き込みを行うことにより、前記情報処理サービスを提供する
    ことを特徴とする情報処理サービスの障害復旧方法。
  10. 請求項7に記載の情報処理サービスの障害復旧方法であって、
    前記第3の割り当て方法が指定された場合には、
    前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記バックアップ装置から、前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報を取得し、 前記仮想マシン実現装置が、取得した前記アドレス情報を、前記仮想マシン実現装置が前記仮想マシンに割り当てた前記記憶領域に記憶し、
    前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求のうちデータ入力要求に対しては、前記データ入力要求の対象とされているデータの前記バックアップ装置における記憶位置を前記アドレス情報により特定し、記憶位置を特定した前記データに対して読み出しを行い、データ出力要求に対しては、前記データ出力要求の対象とされているデータを前記仮想マシンに割り当てられた前記記憶領域に書き込むことにより、前記情報処理サービスを提供する
    ことを特徴とする情報処理サービスの障害復旧方法。
  11. 請求項3に記載の情報処理サービスの障害復旧方法であって、
    前記仮想マシン実現装置は、前記仮想マシンが前記情報処理サービスの提供を開始してから所定期間経過後に、前記仮想マシンによる前記情報処理サービスの提供を停止する
    ことを特徴とする情報処理サービスの障害復旧方法。
  12. 請求項6に記載の情報処理サービスの障害復旧方法であって、
    前記情報処理装置による前記情報処理サービスの障害が回復した場合には、
    前記情報処理装置が、前記バックアップ装置から、前記バックアップ装置に記憶されているデータ取得し、
    前記情報処理装置が、取得した前記データを前記情報処理装置が有する前記記録媒体の前記第1記憶領域に記憶し、
    前記情報処理装置が、前記サービス利用装置から受信する前記データ入出力要求に応じて、前記第1記憶領域に記憶されている前記データに対して読み出し及び書き込みを行うことにより、前記情報処理サービスを行う
    ことを特徴とする情報処理サービスの障害復旧方法。
  13. 請求項1に記載の情報処理サービスの障害復旧方法であって、
    前記情報処理装置は、前記仮想マシンイメージ生成装置と通信可能に接続し、
    前記情報処理装置が、前記システムデータ及び前記ハードウェア構成情報の内容が変更された場合に、前記変更内容を前記仮想マシンイメージ生成装置に送信し、
    前記仮想マシンイメージ生成装置が、前記変更内容に従って、記憶している前記仮想マシンイメージを変更後の内容に更新し、
    前記仮想マシンイメージ生成装置が、前記仮想マシン実現装置と通信可能に接続されている場合には、
    前記仮想マシン実現装置が、前記情報処理サービスに障害が発生した際に、前記仮想マシンイメージ生成装置から前記仮想マシンイメージを取得し、
    前記仮想マシン実現装置が、取得した前記仮想マシンイメージに従って前記情報処理装置をエミュレートすることによって、前記情報処理サービスの機能を提供する前記仮想マシンを実現し、
    前記仮想マシン実現装置による前記仮想マシンイメージ生成装置からの前記仮想マシンイメージの取得は、
    前記情報処理サービスに障害が発生した際に、前記仮想マシン実現装置が、前記仮想マシンイメージ生成装置に、前記仮想マシンイメージの送信要求を送信し、
    前記仮想マシンイメージ生成装置が、前記送信要求に応じて、記憶している前記仮想マシンイメージを前記仮想マシン実現装置に送信することにより行われ、
    前記仮想マシンイメージ生成装置には、複数の前記情報処理装置の前記仮想マシンイメージが、それぞれの前記情報処理装置の識別情報と対応付けて記憶されている場合には、
    前記仮想マシン実現装置による前記仮想マシンイメージ生成装置からの前記仮想マシンイメージの取得は、
    前記情報処理サービスに障害が発生した際に、前記仮想マシン実現装置が、前記仮想マシンイメージ生成装置に、前記情報処理サービスに障害が発生した前記情報処理装置の識別情報を指定して前記仮想マシンイメージの送信要求を送信し、
    前記仮想マシンイメージ生成装置が、前記送信要求により指定された前記識別情報と対応付けて記憶されている前記仮想マシンイメージを、前記仮想マシン実現装置に送信することにより行われ、
    前記情報処理装置が、通信可能に接続されたサービス利用装置からデータ入出力要求を受信し、前記データ入出力要求に応じて前記情報処理装置が有する記録媒体に対してデータの読み出し及び書き込みを行い、その実行結果を前記サービス利用装置に送信するサービスを前記情報処理サービスとして提供し、
    前記情報処理装置が有する前記記録媒体の第1記憶領域には、前記読み出し及び書き込みの対象となるデータが記憶され、前記記録媒体の第2記憶領域には、前記情報処理装置による前記情報処理サービスを実現している前記システムデータ及び前記ハードウェア構成情報が記憶されており、
    前記仮想マシン実現装置は、前記第1記憶領域に記録されているデータの複製を記憶するバックアップ装置と通信可能に接続されている場合には、
    前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求に応じて、前記バックアップ装置に記憶されている前記データの複製に対する読み出し及び書き込みを行うことにより、前記情報処理サービスを提供し、
    前記仮想マシン実現装置が、前記仮想マシンが前記データ入出力要求に応じてデータの読み出し及び書き込みを行う際に利用する記憶領域の、前記仮想マシンへの割り当て方法を指定する入力を受け付ける場合には、
    第1の割り当て方法が指定された場合には、前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記仮想マシン実現装置が有する記録媒体の記憶領域のうち、前記バックアップ装置が記憶している前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報の総データ量に基づいて算出される記憶容量を有する記憶領域を前記仮想マシンに割り当て、
    第2の割り当て方法が指定された場合には、前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記仮想マシン実現装置が有する記録媒体の記憶領域のうち、前記情報処理装置が有する前記記録媒体の記憶容量に基づいて算出される記憶容量を有する記憶領域を前記仮想マシンに割り当て、
    第3の割り当て方法が指定された場合には、前記仮想マシン実現装置が、前記仮想マシンに割り当てる記憶容量を指定する入力をさらに受け付け、前記仮想マシンを実現する際に、前記仮想マシン実現装置が有する記録媒体の記憶領域のうち、前記バックアップ装置が記憶している前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報の総データ量に基づいて算出される記憶容量に、指定された前記記憶容量を加えた記憶容量を有する記憶領域を前記仮想マシンに割り当て、
    前記第1の割り当て方法が指定された場合には、
    前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記バックアップ装置から、前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報を取得し、
    前記仮想マシン実現装置が、取得した前記アドレス情報を、前記仮想マシン実現装置が前記仮想マシンに割り当てた前記記憶領域に記憶し、
    前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求のうちデータ入力要求のみを受け付け、前記データ入力要求の対象とされているデータの前記バックアップ装置における記憶位置を前記アドレス情報により特定し、記憶位置を特定した前記データに対して読み出しを行うことにより、前記情報処理サービスを提供し、
    前記第2の割り当て方法が指定された場合には、
    前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記バックアップ装置に記憶されている前記データの複製を前記バックアップ装置から取得し、
    前記仮想マシン実現装置が、取得した前記データの複製を、前記仮想マシン実現装置が前記仮想マシンに割り当てた前記記憶領域に記憶し、
    前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求に応じて、前記記憶領域に記憶されている前記データの複製に対して読み出し及び書き込みを行うことにより、前記情報処理サービスを提供し、
    前記第3の割り当て方法が指定された場合には、
    前記仮想マシン実現装置が、前記仮想マシンを実現する際に、前記バックアップ装置から、前記データの複製の前記バックアップ装置における記憶位置を示すアドレス情報を取得し、
    前記仮想マシン実現装置が、取得した前記アドレス情報を、前記仮想マシン実現装置が前記仮想マシンに割り当てた前記記憶領域に記憶し、
    前記仮想マシンが、前記サービス利用装置から受信する前記データ入出力要求のうちデータ入力要求に対しては、前記データ入力要求の対象とされているデータの前記バックアップ装置における記憶位置を前記アドレス情報により特定し、記憶位置を特定した前記データに対して読み出しを行い、データ出力要求に対しては、前記データ出力要求の対象とされているデータを前記仮想マシンに割り当てられた前記記憶領域に書き込むことにより、前記情報処理サービスを提供し、
    前記仮想マシン実現装置は、前記仮想マシンが前記情報処理サービスの提供を開始してから所定期間経過後に、前記仮想マシンによる前記情報処理サービスの提供を停止し、
    前記情報処理装置による前記情報処理サービスの障害が回復した場合には、
    前記情報処理装置が、前記バックアップ装置から、前記バックアップ装置に記憶されているデータ取得し、
    前記情報処理装置が、送信された前記データを前記情報処理装置が有する前記記録媒体の前記第1記憶領域に記憶し、
    前記情報処理装置が、前記サービス利用装置から受信する前記データ入出力要求に応じて、前記第1記憶領域に記憶されている前記データに対して読み出し及び書き込みを行うことにより、前記情報処理サービスを行う
    ことを特徴とする情報処理サービスの障害復旧方法。
  14. 情報処理装置により提供される情報処理サービスの障害復旧に用いる仮想マシンイメージ生成装置であって、
    前記情報処理サービスの正常稼働時における前記情報処理サービスを実現しているシステムデータを前記情報処理装置から取得するシステムデータ取得部と、
    取得した前記システムデータに基づき、前記情報処理サービスの機能を提供する仮想マシンを実現するための仮想マシンイメージを生成して記憶する仮想マシンイメージ生成部と
    を備え、
    前記情報処理装置は、
    前記情報処理サービスにおいて使用するデータを記憶するための記憶装置の未使用記憶領域が所定の閾値を下回ったと判定した場合、前記記憶装置内で所定期間使用されていないと判定されるデータを抽出して前記仮想マシンが使用する仮想記憶装置に格納し、前記データ抽出元である前記記憶装置内の当該データを削除し、前記抽出したデータの属性を記録しているメタデータと前記仮想記憶装置における前記データの保存場所を示す情報とを当該データの抽出元である前記記憶装置に格納し、
    前記情報処理サービスの障害復旧処理を実行する場合、前記データの抽出元である前記記憶装置に記憶されている全データについて、各データの保存場所を示す情報及び当該データのメタデータのみを記憶するのに必要な記憶容量を前記仮想記憶装置に設定する
    ことを特徴とする仮想マシンイメージ生成装置。
JP2012557335A 2010-12-17 2010-12-17 情報処理サービスの障害復旧方法及び仮想マシンイメージ生成装置 Expired - Fee Related JP5555780B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/007324 WO2012081059A1 (en) 2010-12-17 2010-12-17 Failure recovery method for information processing service and virtual machine image generation apparatus

Publications (2)

Publication Number Publication Date
JP2013529799A JP2013529799A (ja) 2013-07-22
JP5555780B2 true JP5555780B2 (ja) 2014-07-23

Family

ID=44546048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012557335A Expired - Fee Related JP5555780B2 (ja) 2010-12-17 2010-12-17 情報処理サービスの障害復旧方法及び仮想マシンイメージ生成装置

Country Status (3)

Country Link
US (1) US8499191B2 (ja)
JP (1) JP5555780B2 (ja)
WO (1) WO2012081059A1 (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US8799915B1 (en) * 2010-12-31 2014-08-05 Emc Corporation Decommissioning virtual appliances
US8839241B2 (en) 2010-12-31 2014-09-16 Emc Corporation Virtual appliance deployment
US8601472B1 (en) * 2010-12-31 2013-12-03 Emc Corporation Instantiating virtual appliances
US8689054B1 (en) * 2011-07-29 2014-04-01 Emc Corporation Increased distance of virtual machine mobility over asynchronous distances
US8627152B1 (en) * 2011-11-14 2014-01-07 Amazon Technologies, Inc. Simultaneous error detection during VM import
US9304873B2 (en) * 2012-08-23 2016-04-05 Vmware, Inc. Recovery system and method for recreating a state of a datacenter
US9063815B2 (en) * 2012-09-17 2015-06-23 International Business Machines Corporation Provisioning a virtual machine from one or more VM images
GB2507816A (en) * 2012-11-13 2014-05-14 Ibm Calculating timeout for remote task execution from network delays and processing duration on local application/hardware replica
US9952936B2 (en) * 2012-12-05 2018-04-24 Hitachi, Ltd. Storage system and method of controlling storage system
US9250827B2 (en) 2012-12-14 2016-02-02 Vmware, Inc. Storing checkpoint file in high performance storage device for rapid virtual machine suspend and resume
US10725996B1 (en) * 2012-12-18 2020-07-28 EMC IP Holding Company LLC Method and system for determining differing file path hierarchies for backup file paths
US20140181044A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to identify uncharacterized and unprotected virtual machines
US9311121B2 (en) 2012-12-21 2016-04-12 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US9703584B2 (en) 2013-01-08 2017-07-11 Commvault Systems, Inc. Virtual server agent load balancing
JP6186787B2 (ja) * 2013-03-25 2017-08-30 富士通株式会社 データ転送装置、データ転送システム、データ転送方法及びプログラム
KR101429131B1 (ko) * 2013-06-12 2014-08-11 소프트캠프(주) 시스템 보호를 위한 파일 보안용 관리장치와 관리방법
US20150052382A1 (en) * 2013-08-14 2015-02-19 Netapp, Inc. Failover methods and systems for a virtual machine environment
US9471441B1 (en) * 2013-08-23 2016-10-18 Acronis International Gmbh Systems and methods for backup of virtual machines
US9939981B2 (en) 2013-09-12 2018-04-10 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
US9483352B2 (en) * 2013-09-27 2016-11-01 Fisher-Rosemont Systems, Inc. Process control systems and methods
US9477507B2 (en) 2013-12-20 2016-10-25 Vmware, Inc. State customization of forked virtual machines
US10977063B2 (en) 2013-12-20 2021-04-13 Vmware, Inc. Elastic compute fabric using virtual machine templates
US9323565B2 (en) 2013-12-20 2016-04-26 Vmware, Inc. Provisioning customized virtual machines without rebooting
US10705865B2 (en) * 2014-02-25 2020-07-07 Red Hat, Inc. Disk resize of a virtual machine
US9563518B2 (en) 2014-04-02 2017-02-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US9612924B1 (en) 2014-06-25 2017-04-04 Amazon Technologies, Inc. Fault tolerance in a distributed file system
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US9619268B2 (en) 2014-08-23 2017-04-11 Vmware, Inc. Rapid suspend/resume for virtual machines via resource sharing
US9417968B2 (en) 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9436555B2 (en) 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9836476B2 (en) 2014-09-25 2017-12-05 Netapp, Inc. Synchronizing configuration of partner objects across distributed storage systems using transformations
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US9798567B2 (en) 2014-11-25 2017-10-24 The Research Foundation For The State University Of New York Multi-hypervisor virtual machines
US11093296B2 (en) * 2015-01-28 2021-08-17 Nec Corporation System, virtualization control apparatus, method for controlling a virtualization control apparatus, and program
US10592350B2 (en) 2016-03-09 2020-03-17 Commvault Systems, Inc. Virtual server cloud file system for virtual machine restore to cloud operations
JP6221041B2 (ja) * 2016-03-30 2017-11-01 株式会社日本デジタル研究所 データ管理システムおよび方法
US10474548B2 (en) 2016-09-30 2019-11-12 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, using ping monitoring of target virtual machines
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10678758B2 (en) * 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10896100B2 (en) 2017-03-24 2021-01-19 Commvault Systems, Inc. Buffered virtual machine replication
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US20190050455A1 (en) * 2017-08-08 2019-02-14 Rubrik, Inc. Adaptive page rendering for a data management system
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US11461279B2 (en) * 2018-03-26 2022-10-04 Apple Inc. Share pools for sharing files via a storage service
US11016798B2 (en) 2018-06-01 2021-05-25 The Research Foundation for the State University Multi-hypervisor virtual machines that run on multiple co-located hypervisors
US20200026428A1 (en) * 2018-07-23 2020-01-23 EMC IP Holding Company LLC Smart auto-backup of virtual machines using a virtual proxy
US11726885B2 (en) * 2018-10-26 2023-08-15 EMC IP Holding Company LLC Efficient method and system of intelligent deploying file level restore agent in multicloud
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US10996974B2 (en) 2019-01-30 2021-05-04 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data
US11599375B2 (en) * 2020-02-03 2023-03-07 EMC IP Holding Company LLC System and method virtual appliance creation
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
CN114465953B (zh) * 2022-01-26 2023-07-07 亚信科技(成都)有限公司 一种标识生成方法、装置及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0490034A (ja) * 1990-08-02 1992-03-24 Hitachi Ltd 外部記憶装置のデータセット割当方法
JP3768775B2 (ja) * 2000-04-27 2006-04-19 三菱電機株式会社 バックアップ装置及びバックアップ方法
GB0112781D0 (en) * 2001-05-25 2001-07-18 Global Continuity Plc Method for rapid recovery from a network file server failure
US7143307B1 (en) 2002-03-15 2006-11-28 Network Appliance, Inc. Remote disaster recovery and data migration using virtual appliance migration
US20050108593A1 (en) * 2003-11-14 2005-05-19 Dell Products L.P. Cluster failover from physical node to virtual node
US8156490B2 (en) * 2004-05-08 2012-04-10 International Business Machines Corporation Dynamic migration of virtual machine computer programs upon satisfaction of conditions
US8185776B1 (en) * 2004-09-30 2012-05-22 Symantec Operating Corporation System and method for monitoring an application or service group within a cluster as a resource of another cluster
JP4544146B2 (ja) * 2005-11-29 2010-09-15 株式会社日立製作所 障害回復方法
US7487383B2 (en) * 2006-06-29 2009-02-03 Dssdr, Llc Data transfer and recovery process
US7814364B2 (en) 2006-08-31 2010-10-12 Dell Products, Lp On-demand provisioning of computer resources in physical/virtual cluster environments
JP2008305353A (ja) * 2007-06-11 2008-12-18 Hitachi Ltd クラスタシステム及びフェイルオーバ方法

Also Published As

Publication number Publication date
JP2013529799A (ja) 2013-07-22
US20120159232A1 (en) 2012-06-21
US8499191B2 (en) 2013-07-30
WO2012081059A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
JP5555780B2 (ja) 情報処理サービスの障害復旧方法及び仮想マシンイメージ生成装置
US9727430B2 (en) Failure recovery method in information processing system and information processing system
JP5706966B2 (ja) 情報処理システム、及び、それを用いたファイル復元方法
US8806154B1 (en) Thin provisioning row snapshot with reference count map
JP4456909B2 (ja) バックアップ方法、ストレージシステム及びそのプログラム
US8204858B2 (en) Snapshot reset method and apparatus
US8015157B2 (en) File sharing system, file server, and method for managing files
JP4990066B2 (ja) 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
JP4741371B2 (ja) システム、サーバ装置及びスナップショットの形式変換方法
JP5586892B2 (ja) 階層化ストレージシステム及び階層化ストレージシステムにおけるファイルのコピー制御方法
US9996421B2 (en) Data storage method, data storage apparatus, and storage device
JP2007334878A (ja) データを長期間アーカイブするシステムと方法
JP2005031716A (ja) データバックアップの方法及び装置
JP4278452B2 (ja) 計算機システム
US20110289058A1 (en) Information processing system and data backup method in information processing system
JP6133396B2 (ja) 計算機システム、サーバ、及び、データ管理方法
JP2012133772A (ja) リモートストレージシステムのためのデータ処理方法及び装置
US20100094811A1 (en) Apparatus, System, and Method for Virtual Storage Access Method Volume Data Set Recovery
WO2018076633A1 (zh) 一种远程数据复制方法、存储设备及存储系统
WO2019026222A1 (ja) ストレージシステム及びデータ転送制御方法
JP2021060818A (ja) ストレージシステムおよびデータ移行方法
JP6494787B2 (ja) 分散ストレージシステム
JP2004252957A (ja) 分散ファイルシステムのファイルレプリケーション方法及び装置
US11899534B2 (en) Techniques for providing direct host-based access to backup data using a proxy file system
TW201342052A (zh) 磁帶機系統伺服器

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140602

R150 Certificate of patent or registration of utility model

Ref document number: 5555780

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees