JP6394212B2 - 情報処理システム、ストレージ装置及びプログラム - Google Patents

情報処理システム、ストレージ装置及びプログラム Download PDF

Info

Publication number
JP6394212B2
JP6394212B2 JP2014184740A JP2014184740A JP6394212B2 JP 6394212 B2 JP6394212 B2 JP 6394212B2 JP 2014184740 A JP2014184740 A JP 2014184740A JP 2014184740 A JP2014184740 A JP 2014184740A JP 6394212 B2 JP6394212 B2 JP 6394212B2
Authority
JP
Japan
Prior art keywords
virtual machine
information
storage
volumes
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014184740A
Other languages
English (en)
Other versions
JP2016057933A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014184740A priority Critical patent/JP6394212B2/ja
Priority to US14/837,006 priority patent/US9710298B2/en
Publication of JP2016057933A publication Critical patent/JP2016057933A/ja
Application granted granted Critical
Publication of JP6394212B2 publication Critical patent/JP6394212B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Description

本発明は、情報処理システム、ストレージ装置及びプログラムに関する。
例えば、利用者に対してサービスを提供する業務システムにおいて、運用中のサーバ(以下、運用サーバとも呼ぶ)で動作している処理と同じ処理を実行することができるサーバ(以下、待機サーバとも呼ぶ)を準備する場合がある。この待機サーバは、例えば、運用サーバが設置されたデータセンタから数十kmから数百km程度離れた場所にあるデータセンタに設置される。これにより、例えば、自然災害の発生等によって運用サーバでの処理の継続が困難になった場合に、運用サーバで実行していた処理を待機サーバに実行させ、利用者に対するサービスの提供を継続することができる。そして、運用サーバの復旧が完了した後、運用管理者は、例えば、待機サーバで実行していた処理を、再び運用サーバで実行させる。(例えば、特許文献1及び2参照)。
特開2012−64012号公報 特表2006−508458号公報
運用管理者は、例えば、待機サーバがアクセスするストレージ装置(以下、待機側ストレージ装置とも呼ぶ)の構成を、運用サーバがアクセスしているストレージ装置(以下、運用側ストレージ装置とも呼ぶ)の構成と同じ構成にする場合がある。そして、運用管理者は、例えば、これらのストレージ装置に記憶されたデータを、所定の間隔(例えば、1日に1回)で同期する場合がある。この場合、運用サーバで障害が発生した際に、待機サーバでの処理を迅速に開始することが可能になる。
ここで、待機サーバでの処理の実行中(運用サーバの障害発生時)に、待機サーバでの処理の実行に伴って待機側ストレージ装置内の構成を変更する場合がある。具体的に、例えば、待機側ストレージ装置内のあるボリュームに空き容量がなくなったために、新たなボリュームにデータの記憶を開始する場合がこれに該当する。そのため、運用管理者は、この場合に、待機側ストレージ装置内の構成に関する情報に基づいて、運用側ストレージ装置の構成を更新する必要がある。
しかしながら、例えば、待機側ストレージ装置内の構成に関する情報に基づいて、運用サーバが運用側ストレージ装置の構成を更新する場合、運用側ストレージ装置の構成は、運用サーバの復旧が完了するまで更新されない。そのため、例えば、運用側ストレージ装置が運用サーバよりも先に復旧した場合や運用側ストレージ装置に障害が発生していない場合であっても、運用サーバが復旧するまでは運用側ストレージ装置の構成を更新できない。
また、例えば、待機サーバが独自の処理(運用サーバでは実行されていない処理)を行っている場合、運用側ストレージ装置が取得した待機側ストレージ装置内の構成に関する情報に、待機サーバにおける独自の処理に関する情報が含まれている場合がある。そのため、運用側ストレージ装置は、取得した待機側ストレージ装置内の構成に関する情報に基づいて運用側ストレージ装置の構成を更新する場合に、運用サーバが必要としない記憶領域を作成する場合がある。
そこで、一つの実施の形態の目的は、ストレージ装置間でデータの同期を行うことができる情報処理システム、ストレージ装置及びプログラムを提供することにある。
実施の形態の一つの側面によれば、第1の物理マシンに配置された第1の仮想マシンがアクセス可能な第1の記憶領域を有する第1のストレージ装置と、第2の物理マシンに配置された第2の仮想マシンがアクセス可能な第2の記憶領域を有する第2のストレージ装置とを有し、
前記第1の仮想マシンまたは前記第1のストレージ装置における所定の異常の発生に応じて、前記第1の仮想マシンが実行していた第1の処理を前記第2の仮想マシンが実行する場合、前記第2のストレージ装置は、前記第2の仮想マシンのうち前記第1の処理を実行する仮想マシンを識別する情報と、前記第2の記憶領域のうち前記識別された仮想マシンが前記第1の処理の実行時にアクセスする記憶領域を識別する情報とを対応させた第1の情報を情報記憶部に記憶し、
前記第1のストレージ装置は、前記第1の仮想マシンが前記第1の処理を再実行する前に、前記第1の記憶領域の構成を、前記第2の記憶領域のうち前記第1の情報に対応する記憶領域と同じ構成になるように再構成する。
一つの側面によれば、ストレージ装置間でデータの同期を行うことができる。
情報処理システムの全体構成を示す図である。 ストレージ装置の構成を説明する図である。 ストレージ装置の構成を説明する図である。 ストレージ装置の構成を説明する図である。 ストレージ装置の構成を説明する図である。 ストレージ装置の構成を説明する図である。 ストレージ装置の構成を説明する図である。 ストレージ装置の構成を説明する図である。 情報処理システムのハードウエア構成を示す図である。 図9のストレージ装置の機能ブロック図である。 図9のストレージ装置の機能ブロック図である。 第1の実施の形態における切換処理及び再構成処理の概略を示すフローチャート図である。 第1の実施の形態における再構成処理の概要を説明する図である。 第1の実施の形態における再構成処理の概要を説明する図である。 第1の実施の形態における再構成処理の詳細を説明するフローチャート図である。 第1の実施の形態における再構成処理の詳細を説明するフローチャート図である。 第1の実施の形態における再構成処理の詳細を説明する図である。 第1の実施の形態における再構成処理の詳細を説明する図である。 第1の実施の形態における再構成処理の詳細を説明する図である。 第2の実施の形態における再構成処理を説明するフローチャート図である。 第2の実施の形態における再構成処理を説明するフローチャート図である。 第2の実施の形態における再構成処理の詳細を説明する図である。 第2の実施の形態における再構成処理の詳細を説明する図である。
[情報処理システムの構成]
図1は、情報処理システムの全体構成を示す図である。図1に示す情報処理システム100は、第1サイト10と第2サイト20にそれぞれ設置された物理マシン等によって構成される。第1サイト10と第2サイト20は、例えば、数十kmから数百km程度離れた場所に存在するサイトである。
そして、第1サイト10には、例えば、管理サーバ11と、仮想マシン(VM:Virtual Machine)を作成する物理マシン12と、仮想マシン等がアクセス可能な記憶領域(以下、ボリュームとも呼ぶ)を有するストレージ装置15(以下、第1のストレージ装置15とも呼ぶ)とが設けられている。また、第2サイト20には、例えば、管理サーバ21と、仮想マシンを作成する物理マシン22と、仮想マシン等がアクセス可能なボリュームを有するストレージ装置25(以下、第2のストレージ装置25とも呼ぶ)とが設けられている。そして、第1サイト10内の機器と、第2サイト20内の機器とは、インターネットやイントラネット等のネットワークを介して互いにアクセス可能になっている。
物理マシン12、22は、図1の例では複数の物理マシンから構成されており、各物理マシンは、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、ハードディスク(HDD:Hard Disk Drive)等の大容量メモリとネットワークとを有する。そして、物理マシン12、22のリソースは、それぞれ複数の仮想マシン13、23に割り当てられる。
管理サーバ11、21は、例えば、それぞれ物理マシン12、22とアクセス可能であり、仮想マシンの作成指示や作成された仮想マシンの管理を行う。
仮想マシン13、23(以下、それぞれ第1の仮想マシン13、第2の仮想マシン23とも呼ぶ)は、例えば、サービス事業者がそのインフラ等をネットワーク経由で利用者に提供するもの(以下、クラウドサービスとも呼ぶ)である。クラウドサービスは、コンピュータシステムを構築し稼働させるための基盤、即ち、仮想マシンやネットワーク等のインフラストラクチャそのものを、ネットワーク経由で提供するサービスである。また、利用者は、例えば、利用者端末からクラウドサービスポータルサイトにアクセスして、仮想マシンに必要な仕様、例えばCPUのクロック周波数、メモリの容量(GB)、ハードディスクの容量(MB/sec、IOPS)、及びネットワークの通信帯域幅(Gbps)を選択する。そして、利用者は、それらについてクラウド利用契約を締結する。また、利用者端末は、例えば、仮想マシンの稼働状態を監視や、仮想マシンに対する操作等を可能にする。
なお、例えば、通常時においては、第1サイト10内の仮想マシン13が利用者にサービスを提供するためのサービスを行い、第2サイト20内の仮想マシン23がその他の処理(例えば、利用者によるサービスの利用状況を分析する処理)を行う。そして、災害の発生等に起因して、第1サイト10内の仮想マシン13において異常が発生した場合に、仮想マシン23は、仮想マシン13で実行されていた処理を引き継いで実行することにより、利用者へのサービスの提供を継続する。その後、仮想マシン13が復旧した場合、仮想マシン13は、例えば、仮想マシン23が行っていた処理の実行を再び開始する。そのため、図1の例において、第2サイト20内の各機器は、第1サイト10内のそれぞれ対応する機器が実行する処理を実行することができる環境を有している。具体的に、例えば、仮想マシン23には、仮想マシン13で動作するプログラム等がインストールされており、ストレージ装置25に記憶されているデータと、ストレージ装置15に記憶されているデータとは同期されている。
また、第2サイト20内の仮想マシン23が独自の処理(仮想マシン23が実行していない処理)を行っている場合、仮想マシン13は、仮想マシン23で動作しているプログラム等をインストールしておく。これにより、災害の発生等に起因して、第2サイト20内の仮想マシン23において異常が発生した場合に、仮想マシン13は、仮想マシン23で実行されていた処理を引き継いで実行することが可能になる。
そして、仮想化ソフトウエア14、24は、それぞれ管理サーバ11、21からの指示に応じて、物理マシン2のCPU、メモリ、ハードディスク、ネットワーク等のリソースを割り当てることにより、仮想マシン3を動作させる基盤ソフトウエアである。仮想化ソフトウエア14、24は、例えば、それぞれ物理マシン12、22で動作する。
また、仮想マシン13、23は、それぞれ物理マシン12、22のリソースが割り当てられることに加えて、例えば、OS(Operating System)、ミドルウエア、アプリケーション、データベース等を有するイメージファイルをそのハードディスク内に有する。そして、仮想マシン13、23は、例えば、起動時にイメージファイルをハードディスクからメモリに書き込み、所望のサービスに対応する動作を行う。
[物理サーバとストレージ装置の構成]
次に、ストレージ装置の構成を説明する。図2から図8は、ストレージ装置の構成を説明する図である。なお、以下の例では、第1サイト10が通常時に処理を実行する運用サイトであり、第2サイト20が第1サイト10で異常が発生した場合に、第1サイト10で実行されていた処理を引き継ぐ待機サイトであるものとして説明する。
図2は、通常運用時における物理サーバ及びストレージ装置の構成を説明する図である。図2の例において、第2サイト20の仮想マシン23Aは、第1サイト10の仮想マシン13Aで動作している処理の実行が可能であり、第2サイト20の仮想マシン23Bは、第1サイト10の仮想マシン13Bで動作している処理の実行が可能である。また、仮想マシン13A、13Bがアクセス可能なストレージ装置15内のボリュームと、仮想マシン23A、23Bがアクセス可能なストレージ装置25内のボリュームとはそれぞれ同期されている。具体的に、図2の例において、仮想マシン13Aがアクセス可能なボリューム15A、15Bに記憶されているデータは、仮想マシン23Aがアクセス可能なボリューム25A、25Bに記憶されているデータと同期している。また、図2の例において、仮想マシン13Bがアクセス可能なボリューム15Cに記憶されているデータは、仮想マシン23Bがアクセス可能なボリューム25Cに記憶されているデータと同期している。これにより、災害の発生等に起因して仮想マシン13A、13Bに異常が発生した際に、仮想マシン23A、23Bは、ボリューム15A、15Bに記憶されているデータとボリューム25A、25Bに記憶されているデータとを同期させる必要がない。そのため、仮想マシン23A、23Bは、仮想マシン13A、13Bに異常が発生した場合に、仮想マシン13A、13Bが行っていた処理を迅速に開始することが可能になる。以下、災害の発生等に起因して仮想マシン13A及び13Bに異常が発生した場合における具体的な処理について説明する。
[災害等が発生した場合の処理]
図3は、異常発生前における物理マシンと仮想マシンの構成を説明する図である。また、図4から図7は、仮想マシンに異常が発生した場合を説明する図である。
図3に示す例において、仮想マシン13Aは、処理の実行に伴ってボリューム15A、15Bにアクセスを行い、仮想マシン13Bは、処理の実行に伴ってボリューム15Cにアクセスを行う。また、図3に示す状態において、仮想マシン23A、23Bは、仮想マシン13A、13Bが行っている処理を実行していない。そのため、図3に示す例において、仮想マシン23A、23Bは、ボリューム25A、25B、25Cにアクセスしていない状態である。
図3に示す状態において、仮想マシン13A、13Bに異常が発生した場合、仮想マシン23A、23Bは、例えば、仮想マシン13A、13Bにアクセスができなくなったことを検知することにより、仮想マシン13A、13Bに異常が発生したものと判定する。そして、仮想マシン23A、23Bは、この場合、図4に示すように、仮想マシン13A、13Bが行っていた処理をそれぞれ引き継いで実行する。具体的に、仮想マシン23Aは、ボリューム15A、15Bと同期しているボリューム25A、25Bにアクセスして処理を行い、仮想マシン23Bは、ボリューム15Cと同期しているボリューム25Cにアクセスして処理を行う。これにより、災害の発生等があった場合に、利用者に対するサービスの提供を継続して行うことが可能になる。
ここで、例えば、仮想マシン13A、13Bに異常が発生した場合において、復旧作業に時間を要した場合、仮想マシン13A、13Bが実行していた処理を仮想マシン23A、23Bで実行する時間が長くなる。この場合、図5に示すように、仮想マシン23A、23Bによる処理の実行に伴って、各仮想マシンがアクセスするストレージ装置25内のボリュームの構成が変更される場合がある。すなわち、この場合、異常発生前の仮想マシン13A、13Bが処理の実行に伴ってアクセスしていたボリュームの構成と、仮想マシン23A、23Bが現在アクセスしているボリュームの構成が異なる。具体的に、図5に示す例では、図4における状態と異なり、仮想マシン23Aは、ボリューム25Aにのみアクセスし、仮想マシン23Bは、ボリューム25C及びボリューム26Cにアクセスしている。そのため、仮想マシン13A、13Bが復旧した場合、仮想マシン13A、13Bは、それぞれ仮想マシン23A、23Bがアクセスしていたボリュームに関する情報を取得する必要がある。具体的に、仮想マシン13Aは、例えば、ボリューム25Aに対応するボリューム15Aにのみアクセスを行う必要があることを示す情報を仮想マシン23Aから取得する。また、仮想マシン13Bは、例えば、ボリューム25C及びボリューム25Dに対応するボリューム15C及び図6に示すボリューム15Dにアクセスを行う必要がある旨を示す情報を仮想マシン23Bから取得する。そして、ストレージ装置15は、図6に示すように、仮想マシン13A、13Bが取得した情報に基づき、ストレージ装置15内のボリュームの構成を再構成する。
しかし、例えば、災害の発生時等において、仮想マシン13A及び仮想マシン13Bに異常が発生したが、ストレージ装置15には異常が発生していない場合がある。または、ストレージ装置15が、仮想マシン13A及び仮想マシン13Bよりも早く復旧する場合がある。この場合、ストレージ装置15は、仮想マシン13A及び仮想マシン13Bが復旧するまで、ストレージ装置15内のボリュームの構成を再構成させることができない。
また、図7に示すように、物理マシン12には存在しないが、物理マシン22においてのみ動作する仮想マシン(図7の例では仮想マシン23C)が存在する場合がある。この場合、ストレージ装置25の構成に関する情報に、仮想マシン23Cがアクセスするボリューム25Eに関する情報が含まれている。そのため、ストレージ装置15は、図8に示すように、ストレージ装置25の構成に関する情報に基づいてストレージ装置15の構成を更新した場合、仮想マシン13A、13Bが必要としないボリューム(図8の例ではボリューム15E)を作成する場合がある。
そこで、本実施の形態では、仮想マシン13A、13Bによって実行されていた処理を、仮想マシン23A、23Bが実行する際に、アクセスするストレージ装置25内のボリュームの情報に基づき、ストレージ装置15内のボリュームを再構成する。これにより、ストレージ装置15は、仮想マシン13A、13Bによる処理の実行を待つことなく、ストレージ装置15内のボリュームの再構成を行うことができる。すなわち、仮想マシン13A、13Bの復旧していない場合であっても、ストレージ装置15は、ストレージ装置15内のボリュームの再構成を行うことができる。
[情報処理システムのハードウエア構成]
次に、情報処理システム100の構成について説明する。図9は、情報処理システムのハードウエア構成を示す図である。図9の例における情報処理システム100は、第1サイト10に設置された物理マシン12及びストレージ装置15と、第2サイト20に設置された物理マシン22及びストレージ装置25とを含む。また、図9の例においては、物理マシン12、ストレージ装置15、物理マシン22及びストレージ装置25は、それぞれネットワークを介してアクセスが可能である。なお、以下、仮想マシン13A、13Bをまとめて仮想マシン13とも呼び、仮想マシン23A、23Bをまとめて仮想マシン23とも呼ぶ。
物理マシン12は、プロセッサであるCPU1201と、メモリ1202と、外部インターフェース(I/Oユニット)1203と、記憶媒体1204とを有する。各部は、バス1205を介して互いに接続される。記憶媒体1204は、例えば、記憶媒体1204内のプログラム格納領域(図示しない)に、仮想マシン23が実行していた処理を引き継ぐ処理(以下、切換処理とも呼ぶ)等を行うためのプログラム1210を記憶する。CPU1201は、図9に示すように、プログラム1210の実行時に、プログラム1210を記憶媒体1204からメモリ1202にロードし、プログラム1210と協働して切換処理等を行う。また、記憶媒体1204は、例えば、切換処理等を行う際に用いられる情報を記憶する情報格納領域1230を有する。
そして、ストレージ装置15は、プロセッサであるCPU1501と、メモリ1502と、外部インターフェース(I/Oユニット)1503と、記憶媒体1504とを有する。各部は、バス1505を介して互いに接続される。記憶媒体1504は、例えば、記憶媒体1504内のプログラム格納領域(図示しない)に、記憶媒体1504内のボリュームの再構成する処理(以下、再構成処理とも呼ぶ)を行うためのプログラム1510(以下、再構成プログラムとも呼ぶ)を記憶する。CPU1501は、図9に示すように、プログラム1510の実行時に、プログラム1510を記憶媒体1504からメモリ1502にロードし、プログラム1510と協働して再構成処理を行う。また、記憶媒体1504は、例えば、仮想マシンがアクセスする情報や、再構成処理を行う際に用いられる情報を記憶する情報格納領域1530を有する。なお、記憶媒体1504は、例えば、物理マシン12内のファイルシステム(図示しない)によって論理的なボリュームに分割されて管理される。
また、物理マシン22は、物理マシン12と同様に、プロセッサであるCPU2201と、メモリ2202と、外部インターフェース(I/Oユニット)2203と、記憶媒体2204とを有する。各部は、バス2205を介して互いに接続される。記憶媒体2204は、例えば、記憶媒体2204内のプログラム格納領域(図示しない)に、仮想マシン13が実行していた処理を引き継ぐ処理(以下、切換処理とも呼ぶ)等を行うためのプログラム2210を記憶する。CPU2201は、図9に示すように、プログラム2210の実行時に、プログラム2210を記憶媒体2204からメモリ2202にロードし、プログラム2210と協働して切換処理等を行う。また、記憶媒体2204は、例えば、切換処理等を行う際に用いられる情報を記憶する情報格納領域2230を有する。
そして、ストレージ装置25は、プロセッサであるCPU2501と、メモリ2502と、外部インターフェース(I/Oユニット)2503と、記憶媒体2504とを有する。各部は、バス2505を介して互いに接続される。記憶媒体2504は、例えば、記憶媒体2504内のプログラム格納領域(図示しない)に、記憶媒体2504内のボリュームの再構成処理を行うための再構成プログラム2510を記憶する。CPU2501は、図9に示すように、プログラム2510の実行時に、プログラム2510を記憶媒体2504からメモリ2502にロードし、プログラム2510と協働して再構成処理を行う。また、記憶媒体2504は、例えば、仮想マシンがアクセスする情報や、再構成処理を行う際に用いられる情報を記憶する情報格納領域2530を有する。なお、記憶媒体2504は、例えば、物理マシン22内のファイルシステム(図示しない)によって論理的なボリュームに分割されて管理される。
[ストレージ装置のソフトウエア構成]
図10は、図9のストレージ装置の機能ブロック図である。具体的に、図10は、第1サイト10のストレージ装置15の機能ブロック図である。CPU1501は、プログラム1510と協働することにより、例えば、データ参照部1511と、データ記憶部1512と、状態検知部1513と、対応情報記憶部1514として動作する。また、CPU1501は、プログラム1510と協働することにより、例えば、対応情報送信部1515と、対応情報受信部1516と、ボリューム構成部1517と、データ同期部1518として動作する。また、情報格納領域1530には、例えば、仮想マシン参照情報1531と、対応情報1532(以下、第2の情報1532とも呼ぶ)とが記憶されている。
データ参照部1511は、例えば、図1において説明した仮想マシン13からアクセス要求を受信したときに、受信したアクセス要求に対応する仮想マシン参照情報1531へのアクセスを行い、その取得したデータをアクセス要求の送信元に返す。なお、仮想マシン参照情報1531は、仮想マシン13がアクセス可能なデータの集合体であり、後述するボリューム構成部1517が作成した1つ以上のボリュームに記憶される。
データ記憶部1512は、例えば、仮想マシン13からデータ記憶要求を受信したときに、受信したデータ記憶要求に対応するデータを仮想マシン参照情報1531として記憶する。また、データ記憶部1512は、例えば、仮想マシン13からデータ更新要求を受信したときに、情報格納領域1530に記憶された仮想マシン参照情報1531を更新する。
状態検知部1513は、例えば、第2サイト20において所定の異常が発生した場合にこれを検知する。具体的に、状態検知部1513は、例えば、第2サイト20にアクセスができなくなったことを検知した場合に、第2サイト20において異常が発生したものと判定するものであってよい。そして、状態検知部1513は、例えば、第2サイト20において異常が発生したものと判定した場合、第2サイト20の仮想マシン23が実行していた処理を引き継ぐ。
対応情報記憶部1514は、例えば、仮想マシン13を識別する情報と、各仮想マシン13がアクセスしているボリュームを識別する情報とを対応させた対応情報1532を作成する。そして、対応情報記憶部1514は、例えば、作成した対応情報1532を情報格納領域1530に記憶する。具体的に、対応情報記憶部1514は、例えば、第2サイト20の仮想マシン23が実行していた処理を引き継いで実行している場合、仮想マシン13のうち第2サイト20での処理を実行している仮想マシンに関する対応情報1532のみを作成する。
対応情報送信部1515は、例えば、対応情報記憶部1514が記憶した対応情報1532をストレージ装置25に送信する。また、対応情報受信部1516は、例えば、対応情報2532(ストレージ装置25が作成した対応情報)を受信する。
ボリューム構成部1517は、例えば、対応情報記憶部1514が作成した対応情報1532と、対応情報受信部1516が受信した対応情報2532とに差異があるか否かを判定する。そして、ボリューム構成部1517は、これらの情報に差異があると判定した場合、対応情報2532の情報に基づき、ストレージ装置15内のボリュームを再構成する。また、ボリューム構成部1517は、例えば、対応情報受信部1516が受信した対応情報2532のみに基づいて、ストレージ装置15内のボリュームを再構成する。
データ同期部1518は、例えば、ストレージ装置15に記憶されたデータと、ストレージ装置25に記憶されたデータとの同期を行う。具体的に、データ同期部1518は、例えば、ボリューム構成部1517がボリュームの再構成を行った後にデータの同期を行う。
図11は、図9のストレージ装置の機能ブロック図である。具体的に、図11は、第2サイト20のストレージ装置25の機能ブロック図である。CPU2501は、プログラム2510と協働することにより、例えば、データ参照部2511と、データ記憶部2512と、状態検知部2513と、対応情報記憶部2514として動作する。また、CPU2501は、プログラム2510と協働することにより、例えば、対応情報送信部2515と、対応情報受信部2516と、ボリューム構成部2517と、データ同期部2518として動作する。また、情報格納領域2530には、例えば、仮想マシン参照情報2531と、対応情報2532(以下、第1の情報2532とも呼ぶ)とが記憶されている。なお、ストレージ装置25の各機能及び情報は、図10において説明したストレージ装置15の各処理及び情報と同じであるため、ここでは説明を省略する。
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図12は、第1の実施の形態における切換処理及び再構成処理の概略を示すフローチャート図である。また、図13及び図14は、第1の実施の形態における再構成処理の概略を説明する図である。図13及び図14を参照しながら図12の切換処理及び再構成処理の概略について説明する。なお、以下、仮想マシン13において異常が発生する場合について説明する。
初めに、図12の左側のフローチャートを参照しながら切換処理を説明する。図12における切換処理は、仮想マシン13及び仮想マシン23において実行される処理である。具体的に、仮想マシン23は、例えば、仮想マシン13において異常が発生するまで待機する(S1のNO)。仮想マシン23は、例えば、定期的に仮想マシン13へのアクセスを行い、そのアクセスに失敗した場合に、仮想マシン13に異常が発生したものと判定するものであってよい。
そして、仮想マシン23が仮想マシン13において異常が発生したものと判定した場合(S1のYES)、仮想マシン23は、例えば、仮想マシン13において実行されていた処理(以下、第1の処理とも呼ぶ)の実行を開始する(S2)。すなわち、仮想マシン23が仮想マシン13とアクセスできなくなった場合、仮想マシン13において、第1の処理の継続ができなくなっている可能性が考えられる。この場合、利用者に提供されるサービスに影響が及ぶ可能性がある。そのため、仮想マシン23は、仮想マシン13における異常を検知した場合に、仮想マシン13において実行されていた第1の処理を引き継いで実行を開始する。その後、仮想マシン23は、例えば、仮想マシン13が復旧するまで待機する(S3のNO)。
なお、運用管理者は、例えば、仮想マシン13からのエラー出力等によって、仮想マシン13に異常が発生したことを検知する場合がある。この場合、第1の処理を仮想マシン23で実行する必要があるか否かの判断を運用管理者が行うものであってもよい。そして、運用管理者は、仮想マシン23で処理を実行する必要があると判断した場合、仮想マシン23が第1の処理の実行を開始するためのオペレーションを行うものであってもよい。
そして、仮想マシン13が復旧した場合(S3のYES)、仮想マシン13は、仮想マシン23が実行していた第1の処理を引き継ぎ再実行する(S4)。なお、仮想マシン23は、例えば、運用管理者によって、仮想マシン13が復旧したことを示す入力があった場合に、第1の処理の引き継ぎを行うものであってよい。また、仮想マシン13は、後述するように、ストレージ装置15によるボリュームの再構成(S14)が完了した後に、第1の処理の再実行を行うことが好ましい。
次に、図12の右側のフローチャートを参照しながら再構成処理について説明する。図12における再構成処理は、ストレージ装置15及びストレージ装置25において実行される処理である。具体的に、ストレージ装置25は、例えば、仮想マシン13において異常が発生するまで待機する(S11のNO)。具体的に、例えば、ストレージ装置25は、上記の切換処理の場合と同様に、仮想マシン23が仮想マシン13において異常が発生したものと検知するまで待機する。
そして、仮想マシン23が仮想マシン13において異常が発生したものと判定した場合(S11のYES)、ストレージ装置25は、例えば、仮想マシン23が第1の処理の実行を開始した後に、図13に示すように、対応情報2532を作成して記憶する(S2、S12)。対応情報2532は、例えば、仮想マシン23のうち第1の処理を実行する仮想マシンの識別情報と、ストレージ装置25内のボリューム(以下、第2のボリュームとも呼ぶ)のうち第1の処理を実行する仮想マシンがアクセスするボリュームとを対応させた情報である。具体的に、ストレージ装置25は、ストレージ装置25が有する各可能マシンのWWN(World Wide Name)を仮想マシンの識別情報として、対応情報2532を作成するものであってよい。そして、ストレージ装置25は、仮想マシン13における異常の発生を検知した後、例えば、第2のボリュームの構成が変更される毎に対応情報2532を更新するものであってよい。対応情報2532の具体例については後述する。その後、ストレージ装置25は、例えば、ストレージ装置15が復旧するまで待機する(S13のNO)。そして、ストレージ装置15が復旧した場合(S13のYES)、ストレージ装置15は、例えば、図14に示すように、対応情報2532に基づき、ストレージ装置15内のボリューム(以下、第1のボリュームとも呼ぶ)の再構成を行う(S14)。
すなわち、仮想マシン23が仮想マシン13において実行されていた第1の処理を引き継いで実行する場合、第2のボリュームの構成が第1の処理の切換時における第1のボリュームの構成と異なる場合がある。この場合、ストレージ装置15は、第2のボリュームの構成に関する情報の取得に基づいて、第1のボリュームの再構成を行う必要がある。ここで、ストレージ装置15は、ストレージ装置25から第2のボリュームの構成に関する情報を直接取得し、第1のボリュームの再構成を行うことにより、仮想マシン13の復旧前に第1のボリュームの再構成を行うことが可能になる。そのため、ストレージ装置15は、例えば、ストレージ装置15に異常が発生していない場合やストレージ装置15が仮想マシン13よりも先に復旧した場合に、仮想マシン13の復旧を待つことなくボリュームの再構成を行うことができる。また、これにより、仮想マシン間で第2のボリュームの構成に関する情報を送受信するための回線を設ける必要がなくなる。
さらに、ストレージ装置25は、ストレージ装置25内のボリュームのうち、仮想マシン13が実行していた第1の処理を実行している仮想マシンがアクセスするボリュームに関する対応情報2532を作成する。そのため、対応情報2532には、仮想マシン23が独自の処理を実行するためにアクセスするボリュームに関する情報は含まれない。
このように、第1の実施の形態によれば、仮想マシン13における所定の異常の発生に応じて、仮想マシン13が実行していた第1の処理を仮想マシン23が実行する場合、ストレージ装置25は、対応情報2532を記憶する。そして、ストレージ装置15は、仮想マシン13が第1の処理を再実行する前に、第1のボリュームの構成を、第2のボリュームのうち対応情報2532に対応するボリュームと同じ構成になるように再構成する。これにより、ストレージ装置15は、仮想マシン13が異常から復旧しているか否かを問わず、ストレージ装置15のボリュームを再構成することができる。また、ストレージ装置15及びストレージ装置25は、仮想マシン13が使用しないボリュームが作成されることを防ぐことができる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図15及び図16は、第1の実施の形態における再構成処理の詳細を説明するフローチャート図である。また、図17から図19は、第1の実施の形態における再構成処理の詳細を説明する図である。図17から図19を参照しながら、図15及び図16の再構成処理の詳細を説明する。
[第2のストレージ装置での処理]
初めに、ストレージ装置25において実行される再構成処理を説明する。ストレージ装置25の対応情報記憶部2514は、例えば、図12で説明した対応情報2532を記憶するタイミングまで待機する(S21のNO)。この対応情報2532を記憶するタイミングは、例えば、例えば、仮想マシン13またはストレージ装置15の異常を検知した後、所定の時間毎(例えば、1時間毎)であってよい。そして、対応情報2532を記憶するタイミングになった場合(S21のYES)、対応情報記憶部2514は、例えば、対応情報2532の作成を行い、情報格納領域2530に記憶する(S22)。
また、ストレージ装置25の状態検知部2513は、例えば、ストレージ装置15の復旧を検知するまで待機する(S31のNO)。そして、ストレージ装置15が復旧していると判定した場合(S31のYES)、対応情報送信部2515は、例えば、対応情報記憶部2514が作成した最新の対応情報2532をストレージ装置15に送信する(S32)。これにより、ストレージ装置15は、仮想マシン13が復旧しているか否かに関わらず、対応情報2532を取得することが可能になる。そして、ストレージ装置15は、仮想マシン13が復旧していない状態であっても、ストレージ装置15のボリューム構成と、ストレージ装置25のボリューム構成との同期を取ることが可能になる。
[第1のストレージ装置での処理]
次に、ストレージ装置15において実行される再構成処理を説明する。ストレージ装置15の対応情報受信部1516は、例えば、ストレージ装置25から送信された対応情報2532を受信するまで待機する(S41のNO)。すなわち、対応情報受信部1516が対応情報2532を受信できる場合とは、ストレージ装置15に異常が発生しなかった場合またはストレージ装置15が異常から復旧した場合である。そして、対応情報受信部1516が対応情報2532を受信した場合(S41のYES)、ボリューム構成部1517は、例えば、対応情報2532に基づき、ストレージ装置15のボリュームを再構成する。具体的に、ボリューム構成部1517は、ストレージ装置15のボリュームの構成を、ストレージ装置25のボリュームの構成と同じ構成にする。
続いて、ストレージ装置15のデータ同期部1518は、例えば、第1のボリュームに記憶された内容を、第2のボリュームに記憶させた内容と同期させる(S43)。すなわち、ボリューム構成部1517がストレージ装置15とストレージ装置25のボリューム構成を同期させたことにより、データ同期部1518は、ストレージ装置15とストレージ装置25のそれぞれに記憶されたデータを同期させることが可能になる。そして、データ同期部1518は、例えば、仮想マシン13が復旧するまで待機する(S44のNO)。その後、仮想マシン13が復旧した場合に(S44のYES)、データ同期部1518は、例えば、仮想マシン13に再構成した第1のボリュームの構成に関する情報を送信する(S45)。この第1のボリュームの構成に関する情報は、例えば、ストレージ装置25から受信した対応情報2532であってもよい。すなわち、ストレージ装置15は、例えば、ストレージ装置15が仮想マシン13よりも先に復旧した場合に、復旧後の仮想マシン13がアクセスする必要があるボリュームの再構成を行う。そのため、仮想マシン13は、復旧後に第1のボリュームの構成に関する情報を受信することにより、その情報の内容に基づいてストレージ装置15のボリュームにアクセスを行うことが可能になる。したがって、仮想マシン13の復旧後、仮想マシン13が第1の処理を実行するまで要する時間を短縮させることが可能になる。
[再構成処理の具体例]
次に、再構成処理の具体例を説明する。図17から図19は、対応情報2532の具体例を説明する図である。図17から図19に示す例は、第1サイト10の仮想マシンに異常が発生した場合に、第2サイト20において作成される対応情報2532の例である。なお、以下、対応情報2532は、第1サイト10の仮想マシンと第2サイト20の仮想マシンとの対応を示す仮想マシン対応情報と、各仮想マシンがアクセスするボリューム対応情報とからなるものとして説明する。
図17は、仮想マシン対応情報の具体例を説明する図である。図17に示す仮想マシン対応情報は、第1サイト10側の仮想マシンと第2サイト側の仮想マシンとの組み合わせを識別する「グループ識別ID」と、第1サイト10側で仮想マシンが配置された物理マシンを識別する「プライマリ物理マシンID」とを項目として有する。また、図17に示す仮想マシン対応情報は、第1サイト10側の仮想マシンを識別する「プライマリ仮想マシンID」と、第2サイト20側で仮想マシンが配置された物理マシンを識別する「セカンダリ物理マシンID」とを項目として有する。さらに、図17に示す仮想マシン対応情報は、第2サイト20側の仮想マシンを識別する「プライマリ仮想マシンID」を項目として有する。なお、図17の例において、グループ識別IDは、それぞれ1台ずつのプライマリ物理マシンIDとセカンダリ物理マシンIDとに対応する。
具体的に、図17の例においては、例えば、第1サイト10側の仮想マシンVM−1−1は、第2サイト20側の仮想マシンVM−2−1と対応しており、これらの仮想マシンのグループ識別IDは1である。また、仮想マシンVM−1−1は、物理マシンSV−1−1に作成されており、仮想マシンVM−2−1は、物理マシンSV−2−1に作成されている。すなわち、図17に示す仮想マシン対応情報は、例えば、仮想マシンVM−1−1に異常が発生した場合、仮想マシンVM−1−1が実行していた処理を仮想マシンVM−2−1が引き継ぐことを示している。なお、グループ識別IDが2、3、4である情報は、グループ識別IDが1である情報と同じであるため説明を省略する。
次に、図18及び図19は、ボリューム対応情報の具体例を説明する図である。図18及び図19に示すボリューム対応情報は、図17において説明した「グループ識別ID」と、図17の項目「セカンダリ仮想マシンID」が示す仮想マシンがアクセスするデータが記憶されたボリュームを示す「セカンダリボリューム」とを項目として有している。
具体的に、図18に示すボリューム対応情報は、項目「グループ識別ID」が1である仮想マシン−2−1が、ボリュームVol−1−1−2、Vol−1−2−2、Vol−1−3−2にアクセスしていることを示している。なお、グループ識別IDが2、3、4である情報は、グループ識別IDが1である情報と同じであるため説明を省略する。
そして、図19は、図18に示す状態からボリューム構成が変化した場合のボリューム対応情報を示す例である。具体的に、図19に示す例は、図18に示すボリューム対応情報の状態から、ボリュームVol−1−4−2に関する情報が追加されている。また、図19に示す例は、図18に示すボリューム対応情報の状態から、ボリュームVol−1−2−2とボリュームVol−3−2−2に関する情報が削除されている。すなわち、仮想マシン23による第1の処理の実行時に、新たにボリュームVol−1−4−2へのアクセスが開始され、ボリュームVol−1−2−2とボリュームVol−3−2−2へのアクセスが終了したことを示している。したがって、ストレージ装置15は、第1サイト10の仮想マシンが異常から復旧した場合、例えば、図19に示すボリューム対応情報を受信することにより、ストレージ装置15内のボリューム構成とストレージ装置25内のボリューム構成とを同期させることが可能になる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。図20は、第2の実施の形態における再構成処理を示すフローチャートである。
第2の実施の形態では、ストレージ装置15は、第1の実施の形態と異なり、対応情報1532を作成する。そして、ストレージ装置15は、例えば、所定の時間間隔毎に、対応情報1532をストレージ装置25に送信し、ストレージ装置25は、対応情報2532をストレージ装置15に送信する。これにより、ストレージ装置15及びストレージ装置25は、異常が発生しているか否かに依らず、互いのボリューム構成を常に確認して同期させることが可能になる。
そして、ストレージ装置25は、仮想マシン13またはストレージ装置15に異常が発生した場合においても、対応情報2532の作成を継続する。さらに、ストレージ装置15が異常から復旧した場合、ストレージ装置25は、最新の対応情報2532をストレージ装置15に送信する。その後、ストレージ装置15は、受信した対応情報2532と異常発生時における対応情報1532とを差分情報を取得し、第1のボリュームの更新を行う。これにより、ストレージ装置15は、取得した差分情報に基づき、第1のボリュームの更新を迅速に行うことが可能になる。また、ストレージ装置15及びストレージ装置25の両方が対応情報を作成することにより、仮想マシン23に異常が発生した場合においても、仮想マシン13が作成した対応情報1532に基づき、第2のボリュームの再構成を行うことが可能になる。以下、第2の実施に形態における再構成処理の詳細を説明する。
[第2のストレージ装置での処理]
初めに、ストレージ装置25において実行される再構成処理を説明する。対応情報記憶部2514は、対応情報2532を記憶するタイミングまで待機する(S51のNO)。そして、対応情報2532を記憶するタイミングになった場合(S51のYES)、対応情報記憶部2514は、例えば、対応情報2532の作成を行い、情報格納領域2530に記憶する(S52)。その後、対応情報送信部2515は、例えば、対応情報記憶部2514が作成した対応情報2532を、ストレージ装置15に送信する(S53)。すなわち、第2の実施の形態では、第1の実施の形態と異なり、仮想マシン等における異常の発生有無に依らず、定常的に対応情報を作成する。そして、ストレージ装置15及びストレージ装置25は、例えば、相互に対応情報を送信することにより、それぞれのボリューム構成を同期させる。
[第1のストレージ装置での処理]
次に、ストレージ装置15において実行される再構成処理を説明する。対応情報記憶部1514は、例えば、ストレージ装置25と同様に、対応情報1532を記憶するタイミングまで待機する(S61のNO)。そして、対応情報1532を記憶するタイミングになった場合(S61のYES)、対応情報記憶部1514は、例えば、対応情報1532の作成を行い、情報格納領域1530に記憶する(S62)。その後、対応情報送信部1515は、例えば、対応情報記憶部1514が作成した対応情報1532を、ストレージ装置25に送信する(S63)。すなわち、第2の実施の形態におけるストレージ装置15は、第1の実施の形態と異なり、ストレージ装置25と同様に、対応情報1532を作成する。これにより、仮想マシン23に異常が発生した場合に、その異常の復旧後、仮想マシン13が作成した対応情報1532に基づいてストレージ装置25の再構成を行うことが可能になる。そのため、仮想マシン13と仮想マシン23とで異なる処理を行っている場合において、一方の仮想マシン等に障害が発生した場合に、その仮想マシンが実行していた処理を、他方の仮想マシンに切り替えることが可能になる。
また、対応情報受信部1516は、例えば、ストレージ装置25から送信された対応情報2532を受信するまで待機する(S71のNO)。すなわち、異常が発生した仮想マシン13は、復旧後、異常発生前と同様の処理を開始することになる。そのため、異常発生前と同様に、第1の情報を受信し、後述するようにストレージ装置15のボリューム構成とストレージ装置25のボリューム構成とを同期する。そして、対応情報受信部1516が対応情報2532を受信した場合(S71のYES)、ボリューム構成部1517は、例えば、対応情報1532と対応情報2532との差分情報を抽出する。さらに、ボリューム構成部1517は、抽出した差分情報に基づき、第1のボリュームを再構成する。具体的に、ボリューム構成部1517は、対応情報1532には情報が含まれるが対応情報2532には情報が含まれないボリュームを削除する。また、ボリューム構成部1517は、対応情報2532には情報が含まれるが対応情報1532には情報が含まれないボリュームを追加する。これにより、ボリューム構成部1517は、第1のボリュームの再構成を行うために必要な時間やコストを削減することが可能になる。
次に、ストレージ装置15のデータ同期部1518は、例えば、第1のボリュームに記憶された内容を、第2のボリュームに記憶させた内容と同期させる(S73)。そして、データ同期部1518は、例えば、仮想マシン13が復旧するまで待機する(S74のNO)。その後、仮想マシン13が復旧した場合に(S74のYES)、データ同期部1518は、例えば、仮想マシン13に再構成した第1のボリュームの構成に関する情報を送信する(S75)。これにより、ストレージ装置25は、仮想マシン13に異常が発生した場合に、最も新しい対応情報2532を情報格納領域2530から取得することにより、ストレージ装置15に送信することが可能になる。
[再構成処理の具体例]
次に、再構成処理の具体例を説明する。図22及び図23は、対応情報1532、2532の具体例を説明する図である。以下、対応情報1532、2532は、第1サイト10の仮想マシンと第2サイト20の仮想マシンとの対応を示す仮想マシン対応情報と、各仮想マシンがアクセスするボリューム対応情報とからなるものとして説明する。なお、第2の実施の形態における仮想マシン対応情報は、図17で説明したものと同じ内容であるため、ここでは説明を省略する。
初めに、図22は、異常発生前におけるボリューム対応情報の具体例を説明する図である。図22(A)は、ストレージ装置15が作成する対応情報1532の例であり、図22(B)は、ストレージ装置25が作成する対応情報2532の例である。
具体的に、図22(A)の例において、項目「グループ識別ID」が1である第1サイト10側の仮想マシンは、ボリュームVol−1−1−1、Vol−1−2−1、Vol−1−3−1にアクセスしていることを示している。また、項目「グループ識別ID」が1である第2サイト20側の仮想マシンは、ボリュームVol−1−1−2、Vol−1−2−2、Vol−1−3−2にアクセスしていることを示している。また、図22(A)において、同一の列に記憶されているボリュームは、それぞれに記憶された内容が同期されるボリュームであることを示している。すなわち、ボリュームVol−1−1−1とボリュームVol−1−1−2とは、記憶されている情報が同期している。なお、グループ識別IDが2、3、4である情報は、グループ識別IDが1である情報と同じであるため説明を省略する。
また、図22(B)に示す対応情報2532は、図22(A)に示す対応情報1532と同じ情報を有している。すなわち、ストレージ装置15及びストレージ装置25は、異常発生前において、互いに対応情報の送受信し、これに基づいてストレージ装置内の構成を同期する。したがって、図22に示す例において、対応情報1532と対応情報2532は、同じ情報を有している。
次に、図23は、異常発生後のボリューム対応情報の具体例を説明する図である。図23(A)は、ストレージ装置15が作成する対応情報1532の例であり、図23(B)は、ストレージ装置25が作成する対応情報2532の例である。例えば、仮想マシン13において異常が発生した場合、仮想マシン13によるストレージ装置15の更新は停止する。したがって、図23(A)に示す対応情報1532は、図22(A)に示す対応情報1532の状態から更新されない。
一方、仮想マシン13に異常が発生している場合であっても、仮想マシン23はストレージ装置25の更新を行う。したがって、仮想マシン13において異常が発生した場合、図22の場合とは異なり、対応情報1532の内容と対応情報2532の内容とは異なることになる。具体的に、図23(B)に示す例は、図22(B)に示すボリューム対応情報の状態から、ボリュームVol−1−4−2に関する情報が追加されている。また、図23(B)に示す例は、図22(B)に示すボリューム対応情報の状態から、ボリュームVol−1−2−2とボリュームVol−3−2−2に関する情報が削除されている。すなわち、仮想マシン23による第1の処理の実行に伴い、新たにボリュームVol−1−4−2へのアクセスが開始され、ボリュームVol−1−2−2とボリュームVol−3−2−2へのアクセスが終了したことを示している。
これにより、ストレージ装置15は、例えば、図23(B)に示す対応情報2532のセカンダリボリュームに関する情報と、図23(A)に示す対応情報1532のプライマリボリュームに関する情報とに基づき、差分情報を取得することが可能になる。そして、ストレージ装置15は、取得した差分情報に基づき、ストレージ装置15のボリューム構成をストレージ装置25のボリューム構成と同期させることが可能になる。
すなわち、第2の実施の形態によれば、ボリューム構成部1517は、ストレージ装置15で作成された対応情報1532と、ストレージ装置25で作成された対応情報2532との差分情報を参照して、第1のボリュームの再構成を行う。これにより、ストレージ装置25で作成された対応情報2532のみを参照して第1のボリュームの再構成を行うよりも短時間でボリュームの再構成を行うことが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
第1の物理マシンに配置された第1の仮想マシンがアクセス可能な第1の記憶領域を有する第1のストレージ装置と、
第2の物理マシンに配置された第2の仮想マシンがアクセス可能な第2の記憶領域を有する第2のストレージ装置と、を有し、
前記第1の仮想マシンまたは前記第1のストレージ装置における所定の異常の発生に応じて、前記第1の仮想マシンが実行していた第1の処理を前記第2の仮想マシンが実行する場合、前記第2のストレージ装置は、前記第2の仮想マシンのうち前記第1の処理を実行する仮想マシンを識別する情報と、前記第2の記憶領域のうち、前記識別された仮想マシンが前記第1の処理の実行時にアクセスする記憶領域を識別する情報とを対応させた第1の情報を情報記憶部に記憶し、
前記第1のストレージ装置は、前記第1の仮想マシンが前記第1の処理を再実行する前に、前記第1の記憶領域の構成を、前記第2の記憶領域のうち前記第1の情報に対応する記憶領域と同じ構成になるように再構成する、
情報処理システム。
(付記2)
付記1において、
前記第1のストレージ装置は、前記第1の仮想マシンを識別する情報と、前記第1の記憶領域のうち、前記第1の仮想マシンがアクセスする記憶領域とを対応させた第2の情報を記憶し、
前記第1のストレージ装置は、前記第1の情報と前記第2の情報との差分情報に基づき、前記第1の記憶領域の再構成を行う情報処理システム。
(付記3)
付記1において、
前記第1のストレージ装置は、前記第1の記憶領域の再構成を行った後、前記第1の記憶領域に記憶された内容を、前記第2の記憶領域に記憶された内容と同期させる情報処理システム。
(付記4)
付記1において、
前記第2のストレージ装置は、前記第1のストレージ装置とアクセスができなくなった場合に、前記所定の異常が発生したものと判定する情報処理システム。
(付記5)
物理マシンに配置された仮想マシンがアクセス可能な記憶領域を有するストレージ装置であって、
他の物理マシンに配置された他の仮想マシンまたは該他の仮想マシンがアクセス可能な他のストレージ装置における所定の異常の発生に応じて、前記他の仮想マシンが実行していた第1の処理を前記仮想マシンが実行する場合、前記仮想マシンのうち前記第1の処理を実行する仮想マシンを識別する情報と、前記記憶領域のうち、前記識別された仮想マシンが前記第1の処理の実行時にアクセスする記憶領域を識別する情報とを対応させた第1の情報を情報記憶部に記憶し、
前記他の仮想マシンが前記第1の処理を再実行する前に、前記他の記憶領域の構成を、前記記憶領域のうち前記第1の情報に対応する記憶領域と同じ構成になるように再構成するために、前記第1の情報を前記他のストレージ装置に送信する、
ストレージ装置。
(付記6)
物理マシンに配置された仮想マシンがアクセス可能な記憶領域を有するストレージ装置であって、
前記仮想マシンまたは前記ストレージ装置における所定の異常の発生に応じて、前記仮想マシンが実行していた第1の処理を他の物理マシンに配置された他の仮想マシンが実行した場合、前記他の仮想マシンのうち前記第1の処理を実行する仮想マシンを識別する情報と、該識別された仮想マシンが前記第1の処理の実行時にアクセスする他の記憶領域を識別する情報とを対応させた第1の情報を受信し、
前記仮想マシンが前記第1の処理を再実行する前に、前記記憶領域の構成を、前記他の記憶領域のうち前記第1の情報に対応する記憶領域と同じ構成になるように再構成する、
ストレージ装置。
(付記7)
物理マシンに配置された仮想マシンがアクセス可能な記憶領域を有するストレージ装置におけるプログラムであって、
他の物理マシンに配置された他の仮想マシン、または該他の仮想マシンがアクセス可能な他のストレージ装置における所定の異常の発生に応じて、前記他の仮想マシンが実行していた第1の処理を前記仮想マシンが実行する場合、前記仮想マシンのうち前記第1の処理を実行する仮想マシンを識別する情報と、前記記憶領域のうち前記識別された仮想マシンが前記第1の処理の実行時にアクセスする記憶領域を識別する情報とを対応させた第1の情報を情報記憶部に記憶し、
前記他の仮想マシンが前記第1の処理を再実行する前に、前記他の記憶領域の構成を、前記記憶領域のうち前記第1の情報に対応する記憶領域と同じ構成になるように再構成するために、前記第1の情報を前記他のストレージ装置に送信する、
処理をコンピュータに実行させるプログラム。
(付記8)
物理マシンに配置された仮想マシンがアクセス可能な記憶領域を有するストレージ装置におけるプログラムであって、
前記仮想マシンまたは前記ストレージ装置における所定の異常の発生に応じて、前記仮想マシンが実行していた第1の処理を他の物理マシンに配置された他の仮想マシンが実行した場合、前記他の仮想マシンのうち前記第1の処理を実行する仮想マシンを識別する情報と、該識別された他の仮想マシンが前記第1の処理の実行時にアクセスする他の記憶領域を識別する情報とを対応させた第1の情報を受信し、
前記仮想マシンが前記第1の処理を再実行する前に、前記記憶領域の構成を、前記他の記憶領域のうち前記第1の情報に対応する記憶領域と同じ構成になるように再構成する、
処理をコンピュータに実行させるプログラム。
10:第1サイト 12:物理マシン
13:仮想マシン 15:ストレージ装置
20:第2サイト 22:物理マシン
23:仮想マシン 25:仮想マシン

Claims (7)

  1. 第1の物理マシンに配置された第1の仮想マシンがアクセス可能な1以上のボリュームを含む第1のボリュームとして用いられる記憶領域を有する第1のストレージ装置と、
    第2の物理マシンに配置された第2の仮想マシンがアクセス可能な1以上のボリュームを含む第2のボリュームとして用いられる記憶領域を有する第2のストレージ装置と、を有し、
    前記第1の仮想マシンまたは前記第1のストレージ装置における所定の異常の発生に応じて、前記第1の仮想マシンが実行していた第1の処理を前記第2の仮想マシンが実行する場合、前記第2のストレージ装置は、前記第2の仮想マシンのうち、前記第1の処理を実行する仮想マシンを識別する情報と、前記第2のボリュームのうち、前記識別された仮想マシンが前記第1の処理の実行時にアクセスする1以上のボリュームとして用いられる記憶領域を識別する情報とのそれぞれを、互いに対応可能な状態で含む第1の情報を情報記憶部に記憶し、
    前記第1のストレージ装置は、前記第1の仮想マシンが前記第1の処理を再実行する前に、前記第1のボリュームに含まれる1以上のボリュームとしてそれぞれ用いられる記憶領域の構成を、前記第2のボリュームに含まれる1以上のボリュームとしてそれぞれ用いられる記憶領域のうち、前記第1の情報に対応する記憶領域と同じ構成になるように再構成する、
    情報処理システム。
  2. 請求項1において、
    前記第1のストレージ装置は、前記第1の仮想マシンを識別する情報と、前記第1のボリュームのうち、前記第1の仮想マシンが前記第1の処理の実行時にアクセスする1以上のボリュームとして用いられる記憶領域を識別する情報とのそれぞれを、互いに対応可能な状態で含む第2の情報を記憶し、
    前記第1のストレージ装置は、前記第1の情報と前記第2の情報との差分情報に基づき、前記第1のボリュームに含まれる1以上のボリュームとしてそれぞれ用いられる記憶領域の再構成を行う情報処理システム。
  3. 請求項1において、
    前記第1のストレージ装置は、前記第1のボリュームに含まれる1以上のボリュームとしてそれぞれ用いられる記憶領域の再構成を行った後、前記第1のボリュームに含まれる1以上のボリュームとしてそれぞれ用いられる記憶領域に記憶された内容を、前記第2のボリュームに含まれる1以上のボリュームとしてそれぞれ用いられる記憶領域のうち、前記第1の情報に対応する記憶領域に記憶された内容と同期させる情報処理システム。
  4. 物理マシンに配置された仮想マシンがアクセス可能な1以上のボリュームを含む特定のボリュームとして用いられる記憶領域を有するストレージ装置であって、
    他の物理マシンに配置された他の仮想マシンまたは該他の仮想マシンがアクセス可能な他のストレージ装置における所定の異常の発生に応じて、前記他の仮想マシンが実行していた第1の処理を前記仮想マシンが実行する場合、前記仮想マシンのうち、前記第1の処理を実行する仮想マシンを識別する情報と、前記特定のボリュームに含まれる1以上のボリュームのうち、前記識別された仮想マシンが前記第1の処理の実行時にアクセスする1以上のボリュームとして用いられる記憶領域を識別する情報とのそれぞれを、互いに対応可能な状態で含む第1の情報を情報記憶部に記憶し、
    前記他の仮想マシンが前記第1の処理を再実行する前に、前記他の仮想マシンがアクセス可能な1以上のボリュームとしてそれぞれ用いられる記憶領域の構成を、前記特定のボリュームに含まれる1以上のボリュームとしてそれぞれ用いられる記憶領域のうち、前記第1の情報に対応する記憶領域と同じ構成になるように再構成するために、前記第1の情報を前記他のストレージ装置に送信する、
    ストレージ装置。
  5. 物理マシンに配置された仮想マシンがアクセス可能な1以上のボリュームを含む特定のボリュームとして用いられる記憶領域を有するストレージ装置であって、
    前記仮想マシンまたは前記ストレージ装置における所定の異常の発生に応じて、前記仮想マシンが実行していた第1の処理を他の物理マシンに配置された他の仮想マシンが実行した場合、前記他の仮想マシンのうち、前記第1の処理を実行する仮想マシンを識別する情報と、前記他の仮想マシンがアクセス可能な1以上のボリュームとしてそれぞれ用いられる記憶領域のうち、前記識別された仮想マシンが前記第1の処理の実行時にアクセスする1以上のボリュームとして用いられる記憶領域を識別する情報とのそれぞれを、互いに対応可能な状態で含む第1の情報を受信し、
    前記仮想マシンが前記第1の処理を再実行する前に、前記特定のボリュームに含まれる1以上のボリュームとしてそれぞれ用いられる記憶領域の構成を、前記他の仮想マシンがアクセス可能な1以上のボリュームとしてそれぞれ用いられる記憶領域のうち、前記第1の情報に対応する記憶領域と同じ構成になるように再構成する、
    ストレージ装置。
  6. 物理マシンに配置された仮想マシンがアクセス可能な1以上のボリュームを含む特定のボリュームとして用いられる記憶領域を有するストレージ装置におけるプログラムであって、
    他の物理マシンに配置された他の仮想マシン、または該他の仮想マシンがアクセス可能な他のストレージ装置における所定の異常の発生に応じて、前記他の仮想マシンが実行していた第1の処理を前記仮想マシンが実行する場合、前記仮想マシンのうち、前記第1の処理を実行する仮想マシンを識別する情報と、前記特定のボリュームに含まれる1以上のボリュームのうち、前記識別された仮想マシンが前記第1の処理の実行時にアクセスする1以上のボリュームとして用いられる記憶領域を識別する情報とのそれぞれを、互いに対応可能な状態で含む第1の情報を情報記憶部に記憶し、
    前記他の仮想マシンが前記第1の処理を再実行する前に、前記他の仮想マシンがアクセス可能な1以上のボリュームとしてそれぞれ用いられる記憶領域の構成を、前記特定のボリュームに含まれる1以上のボリュームとしてそれぞれ用いられる記憶領域のうち、前記第1の情報に対応する記憶領域と同じ構成になるように再構成するために、前記第1の情報を前記他のストレージ装置に送信する、
    処理をコンピュータに実行させるプログラム。
  7. 物理マシンに配置された仮想マシンがアクセス可能な1以上のボリュームを含む特定のボリュームとして用いられる記憶領域を有するストレージ装置におけるプログラムであって、
    前記仮想マシンまたは前記ストレージ装置における所定の異常の発生に応じて、前記仮想マシンが実行していた第1の処理を他の物理マシンに配置された他の仮想マシンが実行した場合、前記他の仮想マシンのうち、前記第1の処理を実行する仮想マシンを識別する情報と、前記他の仮想マシンがアクセス可能な1以上のボリュームとしてそれぞれ用いられる記憶領域のうち、前記識別された他の仮想マシンが前記第1の処理の実行時にアクセスする1以上のボリュームとして用いられる記憶領域を識別する情報とのそれぞれを、互いに対応可能な状態で含む第1の情報を受信し、
    前記仮想マシンが前記第1の処理を再実行する前に、前記特定のボリュームに含まれる1以上のボリュームとしてそれぞれ用いられる記憶領域の構成を、前記他の仮想マシンがアクセス可能な1以上のボリュームとしてそれぞれ用いられる記憶領域のうち、前記第1の情報に対応する記憶領域と同じ構成になるように再構成する、
    処理をコンピュータに実行させるプログラム。
JP2014184740A 2014-09-11 2014-09-11 情報処理システム、ストレージ装置及びプログラム Active JP6394212B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014184740A JP6394212B2 (ja) 2014-09-11 2014-09-11 情報処理システム、ストレージ装置及びプログラム
US14/837,006 US9710298B2 (en) 2014-09-11 2015-08-27 Information processing system, storage apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014184740A JP6394212B2 (ja) 2014-09-11 2014-09-11 情報処理システム、ストレージ装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2016057933A JP2016057933A (ja) 2016-04-21
JP6394212B2 true JP6394212B2 (ja) 2018-09-26

Family

ID=55454836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014184740A Active JP6394212B2 (ja) 2014-09-11 2014-09-11 情報処理システム、ストレージ装置及びプログラム

Country Status (2)

Country Link
US (1) US9710298B2 (ja)
JP (1) JP6394212B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6440203B2 (ja) * 2015-09-02 2018-12-19 Kddi株式会社 ネットワーク監視システム、ネットワーク監視方法およびプログラム
US10528279B2 (en) * 2016-09-15 2020-01-07 Hitachi, Ltd. Storage management server, method of controlling storage management server, and computer system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0227786D0 (en) 2002-11-29 2003-01-08 Ibm Improved remote copy synchronization in disaster recovery computer systems
JP2004295465A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd 計算機システム
JP4842720B2 (ja) * 2006-06-29 2011-12-21 株式会社日立製作所 ストレージシステム及びデータ複製方法
JP4412509B2 (ja) * 2007-10-05 2010-02-10 日本電気株式会社 ストレージシステムの容量拡張制御方法
US8516209B2 (en) 2010-09-16 2013-08-20 Hitachi, Ltd. Computer system, storage volume management method, and computer-readable storage medium
JP5470594B2 (ja) 2010-09-16 2014-04-16 株式会社日立製作所 計算機システム及びストレージ・ボリューム管理方法
EP2652620B1 (en) * 2010-12-14 2015-06-17 Hitachi, Ltd. Failure recovery method in information processing system and corresponding information processing system
CN103080909A (zh) * 2011-02-24 2013-05-01 株式会社日立制作所 计算机系统及其管理方法以及程序
US9032248B1 (en) * 2012-10-04 2015-05-12 Amazon Technologies, Inc. Memory write tracking for virtual machines
US9280428B2 (en) * 2013-04-23 2016-03-08 Neftali Ripoll Method for designing a hyper-visor cluster that does not require a shared storage device

Also Published As

Publication number Publication date
US20160077861A1 (en) 2016-03-17
US9710298B2 (en) 2017-07-18
JP2016057933A (ja) 2016-04-21

Similar Documents

Publication Publication Date Title
US8949828B2 (en) Single point, scalable data synchronization for management of a virtual input/output server cluster
US9747179B2 (en) Data management agent for selective storage re-caching
US8615676B2 (en) Providing first field data capture in a virtual input/output server (VIOS) cluster environment with cluster-aware vioses
US9311199B2 (en) Replaying jobs at a secondary location of a service
JP6357243B2 (ja) データストリーム取り込み及び永続性ポリシ
US8819190B2 (en) Management of file images in a virtual environment
US9450700B1 (en) Efficient network fleet monitoring
CN103618627B (zh) 一种管理虚拟机的方法、装置及系统
WO2020248507A1 (zh) 基于容器云的系统资源监控方法及相关设备
CN105814544B (zh) 用于支持分布式数据网格中的持久化分区恢复的系统和方法
US20110125889A1 (en) Method and apparatus for web based storage on-demand
US20160154665A1 (en) Virtual machine deployment method, virtual machine deployment program, and virtual machine deployment system
US10394670B2 (en) High availability and disaster recovery system architecture
CN103973470A (zh) 用于无共享集群的集群管理方法和设备
CN116302352A (zh) 集群灾备处理方法、装置、电子设备和存储介质
CN103516734A (zh) 数据处理方法、设备和系统
CN111225003B (zh) 一种nfs节点配置方法和装置
JP6394212B2 (ja) 情報処理システム、ストレージ装置及びプログラム
CN112035062B (zh) 云计算的本地存储的迁移方法、计算机设备及存储介质
US11153173B1 (en) Dynamically updating compute node location information in a distributed computing environment
CN114661420A (zh) 基于Kubernetes容器平台的应用保护方法、装置及系统
CN114281600A (zh) 一种容灾备份和容灾恢复方法、装置、设备及存储介质
EP3387533B1 (en) Disaster recovery of cloud resources
JP6364203B2 (ja) システムの稼働状態を監視する監視サーバ及び監視サーバの制御方法
US10929250B2 (en) Method and system for reliably restoring virtual machines

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180718

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180813

R150 Certificate of patent or registration of utility model

Ref document number: 6394212

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150