JP2009205614A - ストレージシステムの制御方法、スイッチ装置およびストレージシステム - Google Patents

ストレージシステムの制御方法、スイッチ装置およびストレージシステム Download PDF

Info

Publication number
JP2009205614A
JP2009205614A JP2008049719A JP2008049719A JP2009205614A JP 2009205614 A JP2009205614 A JP 2009205614A JP 2008049719 A JP2008049719 A JP 2008049719A JP 2008049719 A JP2008049719 A JP 2008049719A JP 2009205614 A JP2009205614 A JP 2009205614A
Authority
JP
Japan
Prior art keywords
switch device
storage area
storage
virtualization switch
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008049719A
Other languages
English (en)
Inventor
Kotaro Sasage
宏太郎 捧
Kenichi Fujita
賢一 藤田
Atsushi Masaki
敦史 正木
Akira Sato
晃 佐藤
Koji Shiomi
浩志 潮見
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 JP2008049719A priority Critical patent/JP2009205614A/ja
Priority to US12/369,616 priority patent/US8171248B2/en
Publication of JP2009205614A publication Critical patent/JP2009205614A/ja
Pending legal-status Critical Current

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/2002Error 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 interconnections or communication control functionality are redundant
    • G06F11/2007Error 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 interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error 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 interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • 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/2033Failover techniques switching over of hardware resources

Abstract

【課題】ストレージ装置501、502を仮想化する複数のスイッチ装置200、300からなるシステムで、各スイッチ装置によるデータの更新を誤りなく実行する。
【解決手段】スイッチ200、300とストレージ装置501、502とを有し、各スイッチ装置はそれぞれ複数のストレージ装置の記憶領域の一部あるいは全部を組み合わせた仮想記憶領域250、350を管理し、スイッチ200は、仮想記憶領域250でデータのコピー処理を行う通知をスイッチ300に送信し、スイッチ200は、仮想記憶領域の記憶領域251に格納されたデータを記憶領域252にコピーし、スイッチ200はコピーの実行中にスイッチ300から記憶領域351、352にアクセスするリクエストを受信した場合、コピーの実行を停止し、スイッチ300はスイッチ200がコピーの実行を停止した後に記憶領域351、352にアクセスする。
【選択図】図1

Description

本発明は、ネットワークで接続された複数のスイッチ装置と複数のストレージ装置とを有するストレージシステムの制御方法に関する。
複数のホスト装置と複数のストレージ装置とをスイッチ装置を介したネットワークによって接続し、ホスト装置とストレージ装置との間でデータの送受信を行うストレージシステムがある。ストレージシステムにおいて、スイッチ装置は耐障害性を高めるために冗長に接続される。
ストレージシステムのストレージ装置の記憶領域を有効に使用するための技術としてストレージ装置の仮想化技術がある。ストレージ装置の仮想化はスイッチ装置によって管理される場合がある。スイッチ装置がストレージ装置の仮想化を管理することにより、複数のストレージ装置を組み合わせること、およびホスト装置でのストレージ装置の管理を低減させることが可能になる。
スイッチ装置は、仮想記憶領域に格納されたある時点でのデータの状態を他の仮想記憶領域にコピーするスナップショット処理がある。スナップショット処理において、スイッチ装置は、実際のデータのコピー処理の完了を待つこと無く、コピーの完了を通知する。通知後、スイッチ装置は実際のコピー処理を実行する。
このため、一つのスイッチ装置がスナップショット処理中であっても、他のスイッチ装置はスナップショット処理の対象の記憶領域にアクセスすることができ、対象の記憶領域のデータの不整合が生じる場合がある。
従来技術として下記の文献がある。
特開2006−72981号公報
本発明は、複数のストレージ装置を仮想化する複数のスイッチ装置を有するシステムで、各スイッチ装置によるデータの更新を誤りなく実行することを可能とする方法の提供を目的とする。
本制御方法は、ネットワークで接続された第一のスイッチ装置と第二のスイッチ装置と複数のストレージ装置とを有し、第一のスイッチ装置と第二のスイッチ装置はそれぞれ複数のストレージ装置の記憶領域を用いて構成される仮想記憶領域を備えたストレージシステムを対象とする。第一のスイッチ装置は、仮想記憶領域の中でデータのコピー処理を行う通知を第二のスイッチ装置に送信し、第一のスイッチ装置は、仮想記憶領域の第一の記憶領域に格納されたデータを仮想記憶領域の第二の記憶領域にコピーし、第一のスイッチ装置は、コピーの実行中に第二のスイッチ装置から第一の記憶領域あるいは第二の記憶領域にアクセスするリクエストを受信した場合、コピーの実行を停止し、第二のスイッチ装置は、第一のスイッチ装置がコピーの実行を停止した後に、第一の記憶領域あるいは第二の記憶領域にアクセスすることを特徴とする。
本発明は、第一のスイッチ装置は、仮想記憶領域の第一の記憶領域に格納されたデータを第二の記憶領域にコピー中に、第二のスイッチ装置から第一の記憶領域あるいは第二の記憶領域にアクセスするリクエストを受信すると、コピーの実行を停止する。その後、第二のスイッチ装置が第一の記憶領域あるいは第二の記憶領域にアクセスする。この結果、第一のスイッチ装置と第二のスイッチ装置との間でコピー処理を排他的に実行することが可能となり、各スイッチ装置はデータの更新を誤りなく実行することが可能になる。
以下、本発明の実施の形態について図面を用いて説明する。
図1は、一実施例でのストレージシステムである。本実施例のストレージシステムは、ホスト装置100、仮想化スイッチ装置200、仮想化スイッチ装置300、ストレージ装置501、ストレージ装置502、ビットマップ情報格納部400が接続される。ホスト装置100と仮想化スイッチ装置200および300、仮想化スイッチ装置200および300とストレージ装置501および502の間は、例えば、ファイバチャネルによって接続する。
ホスト装置100は、ネットワークを介して、図示しない他のコンピュータに処理、サービス等を提供する。
仮想化スイッチ装置200および300は、ホスト装置100とストレージ装置501および502との間でデータの送受信を管理する。本実施例のシステムの仮想化スイッチ装置200および300は、ストレージ装置501および502の仮想化が可能であるものとする。仮想化スイッチ装置でストレージ装置を仮想化することにより、複数のストレージ装置を組み合わせた仮想記憶領域を管理することが可能となるため、ストレージ装置の記憶領域を有効に使用することができる。また、仮想化スイッチ装置でストレージ装置を仮想化することにより、ホスト装置100は、仮想記憶領域にアクセスすれば良いため、ホスト装置100によるストレージ装置501および502の管理が容易になる。仮想化スイッチ装置200および300は、複数のストレージ装置の記憶領域を組み合わせた仮想記憶領域情報、仮想記憶領域内で定義された仮想ボリューム情報、および仮想ボリュームとホスト装置との関連情報を管理する。仮想化スイッチ装置200および300は耐障害性を高めるためにホスト装置100とストレージ装置501および502との間を冗長に接続する。冗長に接続するそれぞれの仮想化スイッチ装置200および300は、ホスト装置100からのアクセスがいずれの仮想化スイッチ装置200および300に対してなされた場合でも同一のアクセス結果が得られるように仮想記憶領域情報、仮想ボリューム情報、および関連情報を記憶する。
仮想化スイッチ装置200および300は、ホスト装置100とストレージ装置501およびストレージ装置502との間の経路が多重(冗長)になるように接続される)。仮想化スイッチ装置200と仮想化スイッチ装置300とは例えばローカルエリアネットワーク(LAN)602によって接続される。仮想化スイッチ装置200および300を接続するLAN602を多重の通信路にすることで、仮想化スイッチ装置200および300の間の耐障害性を高める。
ストレージ装置501およびストレージ装置502は、ホスト装置100から送信された書込データを仮想化スイッチ装置200あるいは300を経由して受信して格納する。また、ストレージ装置501および502は、ホスト装置100から送信された読出し依頼を仮想化スイッチ装置200あるいは300を経由して受信すると、対応するデータを読み出し、仮想化スイッチ装置200あるいは300を経由してホスト装置100に送信する。
仮想化スイッチ装置200および仮想化スイッチ装置300は、ストレージ装置501およびストレージ装置502のそれぞれのデータ記憶領域に対応する仮想的なデータ記憶領域を管理する。ホスト装置100は仮想的なデータ記憶領域に対してアクセスする。仮想化スイッチ装置200あるいは仮想化スイッチ装置300は、ホスト装置100からアクセスされた仮想的なデータ記憶領域に対応するストレージ装置501あるいはストレージ装置502のデータ記憶領域にアクセスする。
ここで、ストレージ装置の仮想化について説明する。ストレージの仮想化とは、複数の物理ストレージ装置を仮想的な一つのディスクスペースとすることである。仮想的なディスクスペースとすることにより、ホスト装置100は、物理ストレージ装置501および502の物理的なデータ記憶領域に制限されずに、データ記憶領域の使用が可能となる。例えば、ストレージシステムの管理者は仮想的なディスクスペースの一部のデータ記憶領域を仮想ボリュームとして設定する。
仮想化スイッチ装置200は、設定した仮想ボリュームをホスト装置100に認識させる。仮想化スイッチ装置200は、ホスト装置100と仮想ボリュームとを関連付けた情報、および仮想ボリュームとストレージ装置501あるいはストレージ装置502のデータ記憶領域とを関連付けた情報を有する。仮想化スイッチ装置200は、上記の情報に基づき、ホスト装置100からの仮想ボリュームに対するアクセスに応じて、アクセスされた仮想ボリュームに対応するストレージ装置501および502のデータ記憶領域にアクセスする。
以上から、ホスト装置100は、仮想化スイッチ装置200のストレージ仮想化モジュール211によって、通常のストレージ装置にアクセスするのと同様に仮想ボリュームに対してアクセスすることが可能となる。
次に、仮想化スイッチ装置200および仮想化スイッチ装置300が管理する仮想的なディスクスペース、および仮想ボリュームについて説明する。250および350は、仮想化スイッチ装置200および仮想化スイッチ装置300が管理する仮想的なディスクスペースである。仮想的なディスクスペース250および350は、仮想化スイッチ装置200および仮想化スイッチ装置300で共通であるとする。仮想的なディスクスペース250および350は、ストレージ装置501のデータ記憶領域およびストレージ装置502のデータ記憶領域が対応付けられる。
本実施例のストレージ装置の仮想化は、仮想化スイッチ装置200が仮想的なディスクスペース250を管理し、仮想化スイッチ装置300が仮想的なディスクスペース350を管理する。仮想的なディスクスペース250および350には、仮想ボリュームがある。仮想的なディスクスペース250には、仮想ボリューム(VVOLS)251および仮想ボリューム(VVOLD)252が設定されており、仮想的なディスクスペース350には、仮想ボリューム(VVOLS)351および仮想ボリューム(VVOLD)352が設定されているものとする。仮想ボリューム(VVOLS)251に対応するストレージ装置501およびストレージ装置502のデータ記憶領域は、仮想ボリューム(VVOLS)351に対応するストレージ装置501およびストレージ装置502のデータ記憶領域に対応する。仮想ボリューム(VVOLD)252に対応するストレージ装置501およびストレージ装置502のデータ記憶領域は、仮想ボリューム(VVOLD)352に対応するストレージ装置501およびストレージ装置502のデータ記憶領域に対応する。
本実施例の仮想化スイッチ装置200と仮想化スイッチ装置300とは、ストレージシステム内で冗長に接続される。仮想化スイッチ装置200あるいは仮想化スイッチ装置300のいずれかが管理する仮想ボリュームにホスト装置100がアクセスした場合であっても、ストレージ装置501およびストレージ装置502から取得するデータは同一であり、ストレージ装置501およびストレージ装置502にデータを書き込む先は同一である必要がある。本実施例では、仮想ボリューム(VVOLS)251と仮想ボリューム(VVOLS)351とが対応し、仮想ボリューム(VVOLD)252と仮想ボリューム(VVOLD)352とが対応するものとする。本実施例のスナップショット処理のコピー元の仮想ボリュームは、仮想ボリューム(VVOLS)251であるとする。また、本実施例のスナップショット処理のコピー先の仮想ボリュームは、仮想ボリューム(VVOLD)252であるとする。
ビットマップ情報格納部400は、ビットマップ情報410を格納する。ビットマップ情報410は、スナップショット処理の進行の状況をマップ上に配置された各ビットに対応付けて管理するための情報である。スナップショット処理は、ストレージ装置に格納されているデータの、ある時点での状態を別の領域に格納(バックアップ)する処理である。各ビットは、仮想ボリュームを所定の大きさの記憶領域で区切った単位記憶領域に対応付けられる。図1のビットマップ情報410は、ビットマップを図で示すものである。ビットマップ情報410の各矩形はそれぞれのビットを示す。各ビットは、各ビットに対応する単位記憶領域のスナップショット処理が終了したか否かによって状態が変わる。例えば、矩形内に斜線があるビット411は、ビット411に対応する単位記憶領域のスナップショット処理が終了したことを示す。一方、矩形内に斜線がないビット412は、ビット412に対応する単位記憶領域のスナップショット処理が終了していないことを示す。同様に、値が0のビットはスナップショット処理が終了したことを示し、一方値が1のビットはスナップショット処理が終了していないことを示してもよい。
ビットマップ情報410は、仮想化スイッチ装置200および仮想化スイッチ装置300が実行する仮想ボリューム対応するストレージ装置501およびストレージ装置502のデータのスナップショット処理を実行する際に使用される。仮想化スイッチ装置200および仮想化スイッチ装置300はビットマップ情報410を共有する。
次に仮想化スイッチ装置200および仮想化スイッチ装置300について説明する。本実施例のストレージシステムの仮想化スイッチ装置200および300は、ホスト装置とストレージ装置との間の通信路が冗長な関係になるように接続されている。冗長とは、一方の仮想化スイッチ装置が故障した場合であっても、他方の仮想化スイッチ装置によって、ホスト装置とストレージ装置との間の通信路が確保できる状態であることをいう。仮想化スイッチ装置では、ストレージ装置を仮想化するため、ホスト装置は仮想ボリュームにアクセスする。したがって、仮想化スイッチ装置が管理する仮想ボリュームは、仮想化スイッチ装置間で対応する必要がある。図2は、本実施例の仮想化スイッチ装置200の構成を示す図面である。なお、仮想化スイッチ装置300も図2図示の構成を有し、図2中のかっこ内の符号は、仮想化スイッチ装置300に対する符号である。
本実施例の仮想化スイッチ装置200は、制御部210、メモリ220、ファイバチャネル接続端子230、仮想化スイッチ装置間接続端子240を有する。本実施例の仮想化スイッチ装置300は、制御部310、メモリ320、ファイバチャネル接続端子330、仮想化スイッチ装置間接続端子340を有する。以下、仮想化スイッチ装置200について、その構成を説明する。
制御部210は、例えば、中央演算ユニット(CPU)やその他の演算ユニットであり、メモリ220に格納されたプログラムを実行する。
メモリ220は、データの読み書きが可能なメモリ(RAM)やデータの読み出しのみ可能なメモリ(ROM)などである。メモリ220は、制御部210が実行する制御プログラム221を記憶する。制御プログラム221は、例えば、ストレージ装置501および502の仮想化処理やデータのスナップショット処理を制御部210に実行させるためのプログラムである。制御部210は、制御プログラム221を実行することにより、ストレージ仮想化モジュール211およびスナップショット処理モジュール212として機能する。また、メモリ220は、可否情報222を有する。可否情報222は仮想化スイッチ装置200がビットマップ情報410を更新することが可能であるか否かを示す情報である。
ファイバチャネル接続端子230は、ファイバチャネルによってホスト装置100、ストレージ装置501、およびストレージ装置502に仮想化スイッチ装置200を接続する端子である。また、仮想化スイッチ装置200は、ファイバチャネル接続端子230からファイバチャネルを介して仮想化スイッチ装置300に接続する。
仮想化スイッチ装置間接続端子240は、仮想化スイッチ装置200と仮想化スイッチ装置300との間を接続するための端子である。仮想化スイッチ装置200と仮想化スイッチ装置300との間は、例えば、LAN602によって接続する。仮想化スイッチ装置間接続端子240は、耐障害性を高めるために仮想化スイッチ装置200に複数設けられても良い。
ストレージ仮想化モジュール211は、仮想化スイッチ装置200に接続されたストレージ装置501および502のデータ記憶領域の仮想化を実行する。ストレージ仮想化モジュール211は、複数のストレージ装置501、502のデータ記憶領域の一部、あるいは全部を組み合わせて仮想的なディスクスペースを生成し、管理する。例えば、ストレージシステムの管理者は仮想的なディスクスペースの一部のデータ記憶領域を仮想ボリュームとして設定する。ストレージ仮想化モジュール211は、仮想ボリュームをホスト装置100に認識させる。
ストレージ仮想化モジュール211は、ホスト装置100と仮想ボリュームとを関連付けた情報、および仮想ボリュームとストレージ装置501あるいはストレージ装置502のデータ記憶領域とを関連付けた情報を管理する。ストレージ仮想化モジュール211は、上記の情報に基づき、ホスト装置100からの仮想ボリュームに対するアクセスに応じて、アクセスされた仮想ボリュームに対応するストレージ装置501および502のデータ記憶領域にアクセスする。
仮想化スイッチ装置200のストレージ仮想化モジュール211は、ストレージ装置501およびストレージ装置502から得られる仮想的なディスクスペース250を管理する。また、ストレージ仮想化モジュール211は、仮想的なディスクスペース250内の仮想ボリューム(VVOLS)251および仮想ボリューム(VVOLD)252を管理する。仮想化スイッチ装置300のストレージ仮想化モジュール311は、ストレージ装置501およびストレージ装置502から得られる仮想的なディスクスペース350を管理する。また、仮想化スイッチ装置300のストレージ仮想化モジュール311は、仮想的なディスクスペース350内の仮想ボリューム(VVOLS)351および仮想ボリューム(VVOLD)352を管理する。仮想的なディスクスペース250に対応するストレージ装置501およびストレージ装置502のデータ記憶領域は、仮想的なディスクスペース350に対応するストレージ装置501およびストレージ装置502のデータ記憶領域と同じになる。
次に、制御部210のスナップショット処理モジュール212について説明する。
スナップショット処理は、定期的に実行されたり、ストレージシステムの管理者の指示によって実行されたりする。スナップショット処理モジュール212は、定期的にあるいはスナップショット処理の実行の開始命令をホスト装置100あるいは図示しないストレージシステム1の管理サーバから取得すると、スナップショット処理を実行する。
本実施例のスナップショット処理は、特定の仮想ボリュームに対応するストレージ装置501およびストレージ装置502のある時点でのデータの状態を他の仮想ボリュームに対応するストレージ装置501およびストレージ装置502のデータ記憶領域にコピーする処理を示す。スナップショット処理において、仮想化スイッチ装置200あるいは300は、仮想ボリューム(VVOLS)251に対応するストレージ装置501およびストレージ装置502のデータ記憶領域から仮想ボリューム(VVOLD)252に対応するストレージ装置501およびストレージ装置502のデータ記憶領域への実際のデータのコピーを実行する。仮想化スイッチ装置200あるいは300は、実際のデータのコピーの完了を待つこと無く、コピーの完了をホスト装置100に通知する。コピー完了の通知後、仮想化スイッチ装置200はスナップショット処理の対象となるデータのコピー処理を実行する。スナップショット処理モジュール212はスナップショット処理を実行する。スナップショット処理では、スナップショット処理モジュール212が第一のボリュームに格納された特定の時点のデータを第二のボリュームに格納する。
なお、スナップショット処理モジュール212は、スナップショット処理の実行の開始命令を取得すると、スナップショット処理の対象のデータ記憶領域のコピーが完了する前であっても、スナップショット処理の完了を返信する。このため、ホスト装置100は、仮想化スイッチ装置200あるいは300がスナップショット処理中であっても、各仮想ボリュームに対してアクセスすることが可能になる。ただし、ホスト装置100から仮想ボリューム(VVOLD)252に対応するストレージ装置501およびストレージ装置502へのアクセスは、アクセスに対応するストレージ装置501およびストレージ装置502のデータに関するコピー処理終了している必要がある。
スナップショット処理モジュール212は、ビットマップ情報410に応じてスナップショット処理を実行する。スナップショット処理モジュール212は、仮想化スイッチ装置200と仮想化スイッチ装置300との間でビットマップ情報410の排他制御をする。スナップショット処理モジュール212は、スナップショット処理中にホスト装置100からのアクセスがあると、アクセスの内容に応じた処理を実行する。
次に、本実施例でのスナップショット処理について説明する。本実施例のストレージシステムは、仮想化スイッチ装置200と仮想化スイッチ装置300とで一つのビットマップ情報410を共有する。仮想化スイッチ装置200および仮想化スイッチ装置300が同時にビットマップ情報410を更新すると、ビットマップ情報に矛盾が生じる場合がある。ビットマップ情報の矛盾は、例えば、ビットマップ情報410の各ビットを更新するのに要する時間と仮想ボリュームに対応するストレージ装置501およびストレージ装置502に格納されたデータをコピーするのに要する時間とが異なることが原因になる。そこで、本実施例では、ビットマップ情報410を更新する仮想化スイッチ装置を排他処理によって判別し、一方の仮想化スイッチ装置のみがビットマップ情報410を更新できることにする。
本実施例では、仮想化スイッチ装置200が主としてスナップショット処理を実行する。スナップショット処理の対象のデータの送信元は仮想ボリューム(VVOLS)251に対応するストレージ装置501およびストレージ装置502であり、スナップショット処理の対象のデータの送信先は仮想ボリューム(VVOLD)252に対応するストレージ装置501およびストレージ装置502である。仮想ボリューム(VVOLD)252に対応するストレージ装置501およびストレージ装置502は仮想ボリューム(VVOLS)251に対応するストレージ装置501およびストレージ装置502のデータを格納し得る記憶領域を有する。また、本実施例のストレージシステムは、仮想化スイッチ装置200を主に動作する仮想化スイッチ装置として機能させ、仮想化スイッチ装置300を補助的に動作する仮想化スイッチ装置として機能させるシステムであるとする。例えば、通常時、ホスト装置100は仮想化スイッチ装置200を経由してストレージ装置501および502に対してアクセスする。ホスト装置100は、スイッチ装置200を経由するアクセスの応答時間が遅くなる場合、仮想化スイッチ装置300を経由するアクセスも行う。
仮想化スイッチ装置300の制御部310、メモリ320、ファイバチャネル接続端子330、および仮想化スイッチ装置間接続端子340は、仮想化スイッチ装置200の制御部210、メモリ220、ファイバチャネル接続端子230、および仮想化スイッチ装置間接続端子240にそれぞれ対応するため、説明を省略する。また、ストレージ仮想化モジュール311、スナップショット処理モジュール312、および制御プログラム321は、ストレージ仮想化モジュール211、スナップショット処理モジュール212、および制御プログラム221にそれぞれ対応するため、説明を省略する。
図3は、仮想化スイッチ装置200および仮想化スイッチ装置300のスナップショット処理時の動作のシーケンス図である。図3では、仮想化スイッチ装置200がスナップショットを主として実行し、スナップショット処理が開始してから仮想化スイッチ装置200にはホストからのアクセスがなく、仮想化スイッチ300にホストからのアクセスがあった場合の処理を記載する。
仮想化スイッチ装置200の制御部210は、スナップショット処理を開始する(S01)。なお、仮想化スイッチ装置200のメモリ220の可否情報222は、ビットマップ情報410の更新が不可であることを示してあるものとする。仮想化スイッチ装置300のメモリ320の可否情報322は、ビットマップ情報410の更新が不可であることを示してあるものとする。
仮想化スイッチ装置200の制御部210は、スナップショット処理の開始の命令を、例えばホスト装置から受信すると、ビットマップ情報410を作成し、スナップショット処理の完了をホスト装置100に通知する。制御部210は、スナップショット処理に対応するデータのコピー処理を実行する。制御部210は、例えば、仮想ボリューム(VVOLD)252に対応するストレージ装置501およびストレージ装置502のデータ記憶領域を所定の大きさで区切った単位記憶領域を、ビットマップ情報410の各ビットに対応付ける制御部210は、ビットマップ情報410の各ビットを、初期値として単位記憶領域のコピーが完了していない状態を示す値にする。制御部210は、仮想ボリューム(VVOLS)251に対応するストレージ装置501およびストレージ装置502のデータ記憶領域に格納されたデータを仮想ボリューム(VVOLD)252に対応するストレージ装置501およびストレージ装置502のデータ記憶領域にコピーする。制御部210は、コピーが完了した単位記憶領域に対応するビットマップ情報410のビットを、単位記憶領域のコピーが完了したことを示す値に更新する。また、仮想化スイッチ装置200は、スナップショット処理を開始した旨の情報を、LAN602を介して、仮想化スイッチ装置300に送信する。制御部210は、仮想ボリューム(VVOLS)251に対応するストレージ装置501およびストレージ装置502のデータ記憶領域にから仮想ボリューム(VVOLD)252に対応するストレージ装置501およびストレージ装置502のデータ記憶領域へのデータのコピーが全て完了するまでコピー処理を実行する。スナップショット処理を開始した旨の情報は、例えば、コピー元の仮想ボリューム情報、コピー先の仮想ボリューム情報、対応するビットマップ情報410の格納先の情報等を含む。ストレージシステムは、一つのスナップショット処理について一つのビットマップ情報410を有する。よって、ビットマップ情報410の格納先を特定する必要がある。仮想化スイッチ装置200および仮想化スイッチ装置300は、特定されたビットマップ情報410の格納先にアクセスして、スナップショット処理を排他的に実行することが可能になる。また、仮想化スイッチ装置200および仮想化スイッチ装置300は、複数の仮想ボリュームを管理する。よって、コピー元の仮想ボリューム情報とコピー先の仮想ボリューム情報とを特定する必要がある。仮想化スイッチ装置200および仮想化スイッチ装置300は、複数の仮想ボリュームの内、コピー元の仮想ボリューム情報とコピー先の仮想ボリューム情報とを特定してスナップショット処理を実行することが可能になる。
ここで、ホスト装置100が仮想化スイッチ装置300に対してアクセスしたとする。仮想化スイッチ装置300の制御部310は、仮想化スイッチ装置200の制御部210で実行されるスナップショット処理中に、ホスト装置100が仮想化スイッチ装置300で管理する仮想ボリュームに対するアクセス処理命令を受信する(S02)。
仮想化スイッチ装置300の制御部310は、データに対するホスト装置100からのアクセスがビットマップ情報410の更新を必要とするか否かを判定する(S03)。ビットマップ情報410の更新が必要になるアクセスは、(1)スナップショット処理中のコピー元の仮想ボリューム(VVOLS)に対応するストレージ装置501およびストレージ装置502のデータ記憶領域であって、コピー処理を実施していない領域についてデータを書き込む処理(ライト処理)のアクセス、(2)スナップショット処理中のコピー先の仮想ボリューム(VVOLD)に対応するストレージ装置501およびストレージ装置502のデータ記憶領域であって、コピー処理を実施していない領域についてデータを書き込む処理(ライト処理)のアクセス、および(3)スナップショット処理中のコピー先の仮想ボリューム(VVOLD)に対応するストレージ装置501およびストレージ装置502のデータ記憶領域であって、コピー処理を実施していない領域についてデータを読み出す処理(リード処理)のアクセスである。
ホスト装置100からのアクセスがビットマップ情報410の更新を必要としない場合(S03:No)、仮想化スイッチ装置300の制御部310は、アクセスに応じた処理を実行する(S09)。一方、ホスト装置100からのアクセスがビットマップ情報410の更新を必要とする場合(S03:Yes)、仮想化スイッチ装置300の制御部310は、仮想化スイッチ装置300がビットマップ情報410を更新することが可能であるか否かを判別する(S04)。制御部310は、仮想化スイッチ装置300が可否情報322に基づき、仮想化スイッチ装置300によるビットマップ情報410更新の可否を判別する。以下の説明では、ビットマップ情報410を変更することができる権利を使用権と定義する。使用権があるとは、その仮想化スイッチ装置によるビットマップ情報の更新が許可されていることを言い、仮想化スイッチ装置に格納されている可否情報がビットマップ情報410の更新が許可されている状態であることを示す。使用権がないとは、その仮想化スイッチ装置がビットマップ情報の更新ができないことを言い、仮想化スイッチ装置に格納された可否情報がビットマップ情報410の更新が許可されていない状態であることを示す。
仮想化スイッチ装置300の制御部310は、ビットマップ情報410を更新することが可能である場合(S04:Yes)、ホスト装置100からのアクセスに対する処理を実行する(S09)。S05で仮想化スイッチ装置300がビットマップ情報410を更新することが可能に分岐するのは、例えば、仮想化スイッチ装置300でホスト装置100からのアクセスを処理中に、更に仮想化スイッチ装置300がホスト装置100からアクセスを受信した場合である。
一方、仮想化スイッチ装置300の制御部310は、可否情報322がビットマップ情報410の更新が可能であることを示す場合(S04:No)、仮想化スイッチ装置200に対して、ビットマップ情報410の更新を可能とする使用権情報の移動を依頼する(S05)。使用権情報の移動とは、具体的には、仮想化スイッチ装置200でのビットマップ情報410の更新を不可の状態にして、仮想化スイッチ装置300でのビットマップ情報410の更新を可能の状態にすることである。
使用権を有する仮想化スイッチ装置200の制御部210は、仮想化スイッチ装置300から使用権の移動依頼を受信すると、スナップショット処理を停止する(S06)。スナップショット処理は、例えば、ビットマップ情報410のビットに対応する単位記憶領域のコピーが完了するときに停止する。言い換えれば、任意の単位記憶領域のコピーが完了するまでは、仮想化スイッチ装置200によるスナップショット処理は停止しない。仮想化スイッチ装置200の制御部210は、仮想化スイッチ装置200がビットマップ情報410を更新することが不可能である状態に、可否情報222を変更する(S07)。制御部210は、仮想化スイッチ装置300がビットマップ情報410を更新することが可能であることを示す情報を、仮想化スイッチ装置300に送信する。仮想化スイッチ装置300の制御部310は、仮想化スイッチ装置200からビットマップ情報410を更新することが可能であることを示す情報を受信すると、仮想化スイッチ装置300がビットマップ情報410を更新することが可能である状態に可否情報322を変更する(S08)。仮想化スイッチ装置300の制御部310は、ホスト装置100からのアクセスに対する処理を実行する(S09)。
仮想化スイッチ装置300の制御部310は、ホスト装置100からのアクセスに対する処理の実行が完了すると、ビットマップ情報410のビットを更新する(S10)。ホスト装置100からのアクセスの対象のデータ領域に対応するビットが更新の対象になる。仮想化スイッチ装置300の制御部310は、仮想化スイッチ装置200に対して使用権を返却する(S11)。使用権の返却は、例えば、処理の完了の通知でよい。仮想化スイッチ装置300の制御部310は、S05で仮想化スイッチ装置300から使用権の移動を依頼していた場合、使用権を仮想化スイッチ装置200に返却する。
なお、ストレージシステムは、スナップショット処理を仮想化スイッチ装置300が継続して実行することも可能である。仮想化スイッチ装置300がスナップショット処理を継続して実行する場合、制御部310は、ビットマップ情報410を参照してコピー処理が完了していない領域からスナップショット処理を継続して実行する。
仮想化スイッチ装置300の制御部310は、仮想化スイッチ装置300がビットマップ情報410を更新することが可能ではない状態に変更する。制御部310は、仮想化スイッチ装置200がビットマップ情報410を更新することが可能であることを示す情報を仮想化スイッチ装置200に送信する。仮想化スイッチ装置200の制御部210は、仮想化スイッチ装置200がビットマップ情報410を更新することが可能であることを示す情報を受信すると、仮想化スイッチ装置200がビットマップ情報410を更新することが可能である状態に変更する。制御部210は、ビットマップ情報410に基づき、スナップショット処理の続きの処理を実行する。仮想化スイッチ装置200は、スナップショット処理が完了すると、スナップショット処理が完了した旨の情報を、LAN602を介して、仮想化スイッチ装置300に送信する。
以上の処理は、仮想化スイッチ装置が2台の場合について説明した。仮想化スイッチ装置が3台以上の場合、使用権を有する仮想化スイッチ装置に対して使用権の取得依頼をすればよい。
次に、制御部210および制御部310が実行する、ホスト装置100からのアクセスに対する処理を説明する。スナップショット処理中でのホスト装置100からのアクセスは、アクセス先がコピー元の仮想ボリューム(VVOLS)かコピー先の仮想ボリューム(VVOLD)か、スナップショット処理が完了した領域に対するアクセスか否か、ライト処理かリード処理かによって分類できる。
図4および図5は、制御部210あるいは制御部310が実行するスナップショット処理時の、ホスト装置100からのアクセスに対する処理のフローチャートである。図4および図5は、仮想化スイッチ装置200がスナップショット処理を主として実行し、仮想化スイッチ装置200および仮想化スイッチ装置300にホストからのアクセスがあった場合の処理のフローチャートである。
制御部210あるいは制御部310は、図4および図5のフローチャートに基づきホスト装置100からのアクセスがビットマップ情報410の更新を必要とするか否かを分類することが可能である。ホスト装置100からのアクセスは、対象のボリュームを識別する情報、Write命令かRead命令かを判別する情報、アクセスの対象の領域のアドレス情報、およびWrite処理の対象のデータ情報を含む。Write命令は、記憶領域にデータを格納する命令であり、Read命令は記憶領域に格納されたデータを読み出す命令である。
以下のフローチャートの処理は、ストレージシステムの仮想化スイッチ装置200がホスト装置100からのアクセスを受信したときに実行されるものとする。ストレージシステムの仮想化スイッチ装置300ホスト装置100からのアクセスを受信したときに実行する処理も同様であるため、説明を省略する。
制御部210はホスト装置100からのアクセス命令を受信する(S21)。制御部210はアクセス命令の内容を解析する。
制御部210は、アクセス命令が有するアクセス対象のボリュームを識別する情報から、アクセスの対象が仮想ボリューム(VVOLS)251か仮想ボリューム(VVOLD)252かを判別する(S22)。仮想ボリューム(VVOLD)252に対するアクセスの場合(S22:No)、制御部210は図5のS31以降の処理を実行する。一方、仮想ボリューム(VVOLS)251に対するアクセスの場合(S22:Yes)、制御部210はS23以降の処理を実行する。
制御部210は、アクセス命令が有するWrite命令かRead命令かを判別する情報から、アクセス命令がWrite命令かRead命令かを判別する(S23)。アクセス命令がRead命令である場合(S23:No)、制御部210は仮想ボリューム(VVOLS)251に対応するストレージ装置501およびストレージ装置502のデータ記憶領域に格納されたアクセスの対象のデータを読み出す(S28)。仮想ボリューム(VVOLS)251に対応するストレージ装置501およびストレージ装置502のデータ記憶領域には最新のデータが格納された状態であり、Read命令の場合、ビットマップ情報410の更新は不要である。一方、アクセス命令がWrite命令である場合(S23:Yes)、制御部210は、アクセスの対象のデータが格納された領域についてスナップショット処理が完了したか否かを判別する(S24)。スナップショット処理が完了した領域をコピー済領域とする。制御部210は、アクセスの対象がコピー済領域か否かをビットマップ情報410の各ビットの値と単位記憶領域とから判別する。
制御部210は、アクセスの対象がコピー済領域ではない場合(S24:No)、仮想ボリューム(VVOLS)251に対応するストレージ装置501およびストレージ装置502のデータ記憶領域でアクセスの対象の領域を含む単位記憶領域を、仮想ボリューム(VVOLD)252に対応するストレージ装置501およびストレージ装置502のデータ記憶領域にコピーする(S25)。制御部210は、コピーしたデータに対応するデータ記憶領域に対応する単位記憶領域に対応するビットマップ情報410のビットの値を更新する。(S26)。
制御部210は、S26でビットマップ情報410を更新した後、あるいはアクセスの対象がコピー済領域である場合(S24:Yes)、書き込み処理を実行する(S27)。書き込み処理は、アクセス命令が有する対象の領域のアドレス情報に対応する仮想ボリュームに対応するストレージ装置501およびストレージ装置502のデータ記憶領域の位置に、アクセス命令が有するWrite処理の対象のデータ情報を書き込む。例えば、制御部210は、仮想化モジュールのアドレス情報に対応するストレージ装置、およびストレージ装置内の記憶領域を特定して、Write処理の対象のデータ情報を書き込む。
図4のS22で、制御部210がアクセスを仮想ボリューム(VVOLD)252に対するものであると判別した場合(S22:No)、制御部210は図5のS31以降の処理を実行する。
制御部210は、アクセス命令のWrite命令かRead命令かを判別する情報から、アクセス命令がWrite命令かRead命令かを判別する(S31)。
アクセス命令がWrite命令である場合(S31:Yes)、制御部210は、アクセスの対象の領域のアドレス情報から、アクセスの対象の領域がコピー済領域か否かを判別する(S32)。制御部210は、アクセス対象領域がコピー済領域か否かをビットマップ情報410によって判別する。
アクセスの対象がコピー済領域ではない場合(S32:No)、制御部210は仮想ボリューム(VVOLS)251に対応するストレージ装置501およびストレージ装置502のデータ記憶領域のアクセスの対象の領域を含む単位記憶領域を、仮想ボリューム(VVOLD)252に対応するストレージ装置501およびストレージ装置502のデータ記憶領域にコピーする(S33)。制御部210は、コピーしたデータのデータ記憶領域に対応するビットマップ情報410のビットを更新する(S34)。制御部210は、S34でビットマップ情報410を更新した後、あるいはアクセスの対象がコピー済領域である場合(S32:Yes)、書き込み処理を実行する(S35)。
アクセス命令がRead命令である場合(S31:No)、制御部210は、アクセスの対象の領域がコピー済領域か否かを判別する(S36)。制御部210は、アクセス対象領域がコピー済領域か否かをビットマップ情報410によって判別する。
アクセスの対象の領域がコピー済領域ではない場合(S36:No)、制御部210は仮想ボリューム(VVOLS)251に対応するストレージ装置501およびストレージ装置502のデータ記憶領域へのアクセスの対象の領域を含む単位記憶領域を仮想ボリューム(VVOLD)252にコピーする(S37)。制御部210は、コピーしたデータのデータ記憶領域に対応するビットマップ情報410のビットを更新する(S38)。制御部210は、S38でビットマップ情報410を更新した後、あるいはアクセスの対象がコピー済領域である場合(S36:Yes)、仮想ボリューム(VVOLD)252に対応するストレージ装置501およびストレージ装置502のデータ記憶領域からアクセスの対象のデータを読み出す(S39)。
なお、図4および図5の処理の判別の順序は適宜変更可能である。
次に、主に動作する仮想化スイッチ装置として機能する仮想化スイッチ装置200とビットマップ情報格納部400との間の経路(パス)に異常があった場合の処理について説明する。図6は、経路611で異常が発生したストレージシステムである。図6のストレージシステムは、仮想化スイッチ装置200を主に動作する仮想化スイッチ装置として機能させ、仮想化スイッチ装置300を補助的に動作する仮想化スイッチ装置として機能させるシステムであるとする。仮想化スイッチ装置200および仮想化スイッチ装置300は、主として動作する仮想化スイッチ装置であるのか、補助的に動作する仮想化スイッチ装置であるのかを判別する情報を有する。
図7は、経路611で異常が発生した場合の処理のシーケンス図である。仮想化スイッチ装置200の制御部210は、スナップショット処理を開始する(S41)。しかし、仮想化スイッチ装置200とビットマップ情報格納部400とをつなぐ経路611に異常が発生しているため、制御部210は、ビットマップ情報410のビット情報の書き込みあるいは読み出しができないことを検出する(S42)。そのため、制御部210はスナップショット処理を停止する(S43)。なお、ビットマップ情報410を更新できない状態の仮想化スイッチ装置200は、ホスト装置100によるアクセスに対する応答をしない。ホスト装置100は仮想化スイッチ装置200の無応答によって仮想化スイッチ装置200のエラーを検知する。仮想化スイッチ装置200のエラーを検出したホスト装置100は、他の仮想化スイッチ装置、例えば、仮想化スイッチ装置300を経由して以降のアクセスを行う。制御部210は、S43に続いて、仮想化スイッチ装置200がビットマップ情報410を更新できない状態に変更する(S44)。制御部210は、ビットマップ情報410を更新できる旨の情報(使用権情報)および主として動作する仮想化スイッチ装置となる情報を、仮想化スイッチ装置300に送信する(S45)。
仮想化スイッチ装置300の制御部310は、ビットマップ情報410を更新できる旨の情報および主として動作する仮想化スイッチ装置となる情報を仮想化スイッチ装置200から受信すると、仮想化スイッチ装置300を主として動作する仮想化スイッチ装置とし、またビットマップ情報410を更新できる状態に変更する(S46)。制御部310は、スナップショット処理をビットマップ情報410に基づき実行する(S47)。
次に、仮想化スイッチ装置200に異常が発生した場合の動作を説明する。図8は、仮想化スイッチ装置200で異常が発生したストレージシステムである。図8のストレージシステムは、仮想化スイッチ装置200を主に動作する仮想化スイッチ装置として機能させ、仮想化スイッチ装置300を補助的に動作する仮想化スイッチ装置として機能させるシステムであるとする。各仮想化スイッチ装置は、主として動作する仮想化スイッチ装置であるのか、補助的に動作する仮想化スイッチ装置であるのかを判別する情報を有する。
仮想化スイッチ装置200および仮想化スイッチ装置300は、例えば、定期的にパトロール処理を実行する。パトロール処理は、ストレージシステムの冗長に接続された仮想化スイッチ装置同士で動作の異常を検出する処理である。例えば、一方の仮想化スイッチ装置が、他方の仮想化スイッチ装置が動作しているか否かを確認するパトロール情報を他方の仮想化スイッチ装置に送信する。パトロール情報を受信した仮想化スイッチ装置は、パトロール情報に応答する。パトロール情報を送信した仮想化スイッチ装置は、パトロール情報の応答を受信することにより、他方の仮想化スイッチ装置の動作を確認する。仮想化スイッチ装置200および仮想化スイッチ装置300は、例えば、LANあるいはファイバチャネルを経由してパトロールの情報の送受信をする。
図9は、仮想化スイッチ装置200に異常が発生した場合の処理のシーケンス図である。仮想化スイッチ装置200の制御部210は、スナップショット処理を開始する(S51)。
仮想化スイッチ装置300の制御部310は、仮想化スイッチ装置200にパトロール信号を送信する(S52)。仮想化スイッチ装置200からの応答を受信した場合(S53:Yes)、制御部310はパトロール処理を終了する。一方、仮想化スイッチ装置200からの応答がない場合(S53:No)、仮想化スイッチ装置300の制御部310は仮想化スイッチ装置200にエラーが発生したと判定する。制御部310は、仮想化スイッチ装置200の関与無く、ビットマップ情報410の更新を可能とする状態に仮想化スイッチ装置300を変更する(S54)。制御部310は、仮想化スイッチ装置300をストレージシステム内で主として動作する仮想化スイッチ装置に変更する。
なお、異常が検出されたとしても、仮想化スイッチ装置200に異常が発生したのか、仮想化スイッチ装置200と仮想化スイッチ装置300との間の通信経路に異常が発生したのかが不明な場合がある。しかし、仮想化スイッチ装置200と仮想化スイッチ装置300との間の通信経路は耐障害性を向上させるため、複数の通信経路によって接続する。したがって、仮想化スイッチ装置200と仮想化スイッチ装置300との間の全ての通信経路に異常が発生する可能性は低い。そこで、パトロール処理で応答がない仮想化スイッチ装置は故障したと判断することができる。
ここで、仮想化スイッチ装置200と仮想化スイッチ装置300との間の通信経路(パス)に異常があったことを検知した場合の動作を説明する。例えば、図8のLAN602の通信経路(パス)に異常があった場合、仮想化スイッチ装置のビットマップ情報410の更新の可否を示す情報を仮想化スイッチ装置間で送受信することができない。よって、スナップショット処理中で、通信経路に異常が発生した以降に補助的に動作する仮想化スイッチ装置300に対するホスト装置100からのアクセスがあった場合、制御部310はホスト装置100に対してエラーの応答をする。通信経路の異常の場合、他方の仮想化スイッチ装置は動作しているため、ビットマップ情報410の更新で矛盾が生じる可能性があるためである。
以上の説明により、複数の仮想化スイッチ装置が多重に接続されたストレージシステム内であっても、仮想ボリュームのスナップショット処理を実行することが可能となる。
本実施例の別の例として、ストレージシステムは、複数の仮想化スイッチ装置を管理する管理装置を有し、管理装置がスナップショット処理の実行を行う仮想化スイッチ装置を選択する方法もある。この場合、ストレージシステムは、管理装置を別に有する必要になる。
本実施例の適用前のストレージシステムで、ホスト装置とストレージ装置との間の経路が冗長になるように仮想化スイッチ装置を接続する場合、以下の問題が発生する。スナップショット処理を一方の仮想化スイッチ装置のみが実行する場合、他方の仮想化スイッチ装置は、ビットマップ情報を更新する必要があるアクセスについての処理をスナップショット処理中に実行できない。また、各仮想化スイッチ装置が独立したビットマップ情報をそれぞれ有する場合、双方のスナップショット処理の終了を知ることができなくなる。また、スナップショット処理の状況を互いのビットマップ情報を同期させる処理を実行することは、処理が複雑になるとともに処理時間が増加する。
一方、仮想化スイッチ装置をカスケード接続することにより、双方で管理する仮想ボリュームをリンクすることも可能である。ホスト装置が、カスケードの下段の仮想化スイッチ装置にアクセスする場合、カスケードの上段の仮想化スイッチ装置を経由する必要がある。したがって、カスケード接続では、下段の仮想化スイッチ装置の仮想ボリュームへのアクセスを上段の仮想化スイッチ装置で管理することが可能になるため、スナップショット処理時の問題は生じない。しかし、ホスト装置とストレージ装置との間の全てのデータの転送が上段の仮想化スイッチ装置を経由するため、上段の仮想化スイッチ装置は過負荷の状態となり、応答時間が増大する。さらに、カスケード接続のために仮想化スイッチ装置のファイバチャネル接続端子を使用する必要があり、他のホスト装置およびストレージ装置に接続するための端子の数が減少する。
一実施例でのストレージシステムである。 一実施例の仮想化スイッチ装置200である。 仮想化スイッチ装置200および仮想化スイッチ装置300のスナップショット処理時の動作のシーケンス図である。 制御部210あるいは制御部310が実行するスナップショット処理時のアクセスに対する処理のフローチャートである。 制御部210あるいは制御部310が実行するスナップショット処理時のアクセスに対する処理のフローチャートである。 経路611で異常が発生したストレージシステムである。 経路611で異常が発生した場合の処理のシーケンス図である。 仮想化スイッチ装置200で異常が発生したストレージシステムである。 仮想化スイッチ装置200に異常が発生した場合のシーケンス図である。
符号の説明
100 ホスト装置
200 仮想化スイッチ装置
210 仮想化スイッチ装置200の制御部
220 仮想化スイッチ装置200のメモリ
230 仮想化スイッチ装置200のファイバチャネル接続端子
240 仮想化スイッチ装置200の仮想化スイッチ装置間接続端子
221 仮想化スイッチ装置200の制御プログラム
300 仮想化スイッチ装置
310 仮想化スイッチ装置300の制御部
320 仮想化スイッチ装置300のメモリ
330 仮想化スイッチ装置300のファイバチャネル接続端子
340 仮想化スイッチ装置300の仮想化スイッチ装置間接続端子
321 仮想化スイッチ装置300の制御プログラム
400 ビットマップ情報格納部
501 ストレージ装置
502 ストレージ装置

Claims (8)

  1. ネットワークで接続された第一のスイッチ装置と第二のスイッチ装置と複数のストレージ装置とを有し、該第一のスイッチ装置と該第二のスイッチ装置はそれぞれ該複数のストレージ装置の記憶領域を用いて構成される仮想記憶領域を備えたストレージシステムの制御方法であって、
    該第一のスイッチ装置は、該仮想記憶領域の中でデータのコピー処理を行う通知を該第二のスイッチ装置に送信し、
    該第一のスイッチ装置は、該仮想記憶領域の第一の記憶領域に格納されたデータを該仮想記憶領域の第二の記憶領域にコピーし、
    該第一のスイッチ装置は、該コピーの実行中に該第二のスイッチ装置から該第一の記憶領域あるいは該第二の記憶領域にアクセスするリクエストを受信した場合、コピーの実行を停止し、
    該第二のスイッチ装置は、該第一のスイッチ装置がコピーの実行を停止した後に、該第一の記憶領域あるいは該第二の記憶領域にアクセスする
    ことを特徴とするストレージシステムの制御方法。
  2. 該第一のスイッチ装置および該第二のスイッチ装置は、該第一の記憶領域に格納されたデータを該第二の記憶領域にコピーする処理の進行の状態を示す管理情報を共有し、
    該第一のスイッチ装置および該第二のスイッチ装置は、該管理情報の更新の可否を示す可否情報を有し、
    該第二のスイッチ装置は、該アクセスが該管理情報の更新を要するか否かを判別し、
    該第二のスイッチ装置は、該アクセスが該管理情報の更新を要する場合に、該リクエストを第一のスイッチ装置に送信することを特徴とする請求項1に記載のストレージシステムの制御方法。
  3. 該第二のスイッチ装置は、該アクセスを実行した後に該可否情報を管理情報の更新が不許可であることを示す状態に変更することを特徴とする請求項2に記載のストレージシステムの制御方法。
  4. 該第一のスイッチ装置は、該第二のスイッチ装置から該可否情報の取得依頼を受信すると、該コピー処理を中断し、該可否情報を該管理情報の更新が不可であることを示す状態に変更し、該管理情報の更新を許可する情報を該第二のスイッチ装置に送信することを特徴とする請求項2に記載のストレージシステムの制御方法。
  5. 該第二のスイッチ装置は、該アクセスが該第一の記憶領域のコピー処理を実施していない領域についてデータを書き込む処理、該第二の記憶領域のコピー処理を実施していない領域についてデータを書き込む処理、および該第二の記憶領域のコピー処理を実施していない領域についてデータを読み出す処理のいずれかである場合に、該管理情報の更新を要するアクセスであると判別することを特徴とする請求項2に記載のストレージシステムの制御方法。
  6. 複数のストレージ装置および他のスイッチ装置にネットワークで接続するスイッチ装置であって、
    該複数のストレージ装置の記憶領域の一部あるいは全部を組み合わせた仮想記憶領域を管理し、
    該仮想記憶領域の中でデータのコピー処理を行う通知を該他のスイッチ装置に送信し、
    該仮想記憶領域の第一の記憶領域に格納されたデータを該仮想記憶領域の第二の記憶領域にコピーし、
    該コピーの実行中に該他のスイッチ装置から該第一の記憶領域あるいは該第二の記憶領域にアクセスするリクエストを受信した場合、コピーの実行を停止する
    ことを特徴とするスイッチ装置。
  7. 該仮想記憶領域の中でデータのコピー処理を行う通知を該他のスイッチ装置から受信し、
    該他のスイッチ装置が該コピーの実行中に該第一の記憶領域あるいは該第二の記憶領域にアクセスする場合、該アクセスのリクエストを該他のスイッチ装置に送信し、
    該他のスイッチ装置がコピーの実行を停止した後に該第一の記憶領域あるいは該第二の記憶領域にアクセスする
    ことを特徴とする請求項6に記載のスイッチ装置。
  8. ネットワークで接続された第一のスイッチ装置と第二のスイッチ装置と複数のストレージ装置とを有し、該第一のスイッチ装置と該第二のスイッチ装置はそれぞれ該複数のストレージ装置の記憶領域の一部あるいは全部を組み合わせた仮想記憶領域を管理するストレージシステムであって、
    該第一のスイッチ装置は、該仮想記憶領域の中でデータのコピー処理を行う通知を該第二のスイッチ装置に送信し、該仮想記憶領域の第一の記憶領域に格納されたデータを該仮想記憶領域の第二の記憶領域にコピーし、該コピーの実行中に該第二のスイッチ装置から該第一の記憶領域あるいは該第二の記憶領域にアクセスするリクエストを受信した場合、コピーの実行を停止し、
    該第二のスイッチ装置は該仮想記憶領域の中でデータのコピー処理を行う通知を該第一のスイッチ装置から受信し、該第一のスイッチ装置が該コピーの実行中に該第一の記憶領域あるいは該第二の記憶領域にアクセスする場合、該アクセスのリクエストを該第一のスイッチ装置に送信し、該第一のスイッチ装置がコピーの実行を停止した後に該第一の記憶領域あるいは該第二の記憶領域にアクセスする
    ことを特徴とするストレージシステム。
JP2008049719A 2008-02-29 2008-02-29 ストレージシステムの制御方法、スイッチ装置およびストレージシステム Pending JP2009205614A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008049719A JP2009205614A (ja) 2008-02-29 2008-02-29 ストレージシステムの制御方法、スイッチ装置およびストレージシステム
US12/369,616 US8171248B2 (en) 2008-02-29 2009-02-11 Storage system controlling method, switch device and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008049719A JP2009205614A (ja) 2008-02-29 2008-02-29 ストレージシステムの制御方法、スイッチ装置およびストレージシステム

Publications (1)

Publication Number Publication Date
JP2009205614A true JP2009205614A (ja) 2009-09-10

Family

ID=41014071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008049719A Pending JP2009205614A (ja) 2008-02-29 2008-02-29 ストレージシステムの制御方法、スイッチ装置およびストレージシステム

Country Status (2)

Country Link
US (1) US8171248B2 (ja)
JP (1) JP2009205614A (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5470878B2 (ja) * 2008-03-18 2014-04-16 株式会社リコー 画像読取装置、画像読取方法、画像読取プログラム
US10713183B2 (en) * 2012-11-28 2020-07-14 Red Hat Israel, Ltd. Virtual machine backup using snapshots and current configuration
US9047238B2 (en) 2012-11-28 2015-06-02 Red Hat Israel, Ltd. Creating a virtual machine from a snapshot
US9946604B1 (en) * 2015-02-04 2018-04-17 Tintri Inc. Optimized remote cloning
US9727421B2 (en) * 2015-06-24 2017-08-08 Intel Corporation Technologies for data center environment checkpointing
US10452296B1 (en) 2018-03-23 2019-10-22 Amazon Technologies, Inc. Accelerated volumes
US11343314B1 (en) 2018-04-30 2022-05-24 Amazon Technologies, Inc. Stream-based logging for distributed storage systems
US10459655B1 (en) 2018-04-30 2019-10-29 Amazon Technologies, Inc. Rapid volume backup generation from distributed replica
US11023157B2 (en) 2018-04-30 2021-06-01 Amazon Technologies, Inc. Intermediary duplication to facilitate copy requests in distributed storage systems
US10931750B1 (en) 2018-07-30 2021-02-23 Amazon Technologies, Inc. Selection from dedicated source volume pool for accelerated creation of block data volumes
US10956442B1 (en) 2018-07-30 2021-03-23 Amazon Technologies, Inc. Dedicated source volume pool for accelerated creation of block data volumes from object data snapshots
US11068192B1 (en) 2019-03-26 2021-07-20 Amazon Technologies, Inc. Utilizing mutiple snapshot sources for creating new copy of volume in a networked environment wherein additional snapshot sources are reserved with lower performance levels than a primary snapshot source
US10983719B1 (en) * 2019-03-28 2021-04-20 Amazon Technologies, Inc. Replica pools to support volume replication in distributed storage systems

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0235537A (ja) * 1988-07-25 1990-02-06 Hitachi Ltd 多重化ボリューム更新制御方式
JPH08234923A (ja) * 1995-02-27 1996-09-13 Toshiba Corp 二重化記憶装置のオンラインコピー方法
JP2004013454A (ja) * 2002-06-06 2004-01-15 Hitachi Ltd データマッピング管理装置
JP2005115506A (ja) * 2003-10-06 2005-04-28 Hitachi Ltd ストレージシステム
JP2007066192A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd ストレージシステム及びその制御方法並びにコンピュータプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296037A (ja) 2002-04-05 2003-10-17 Hitachi Ltd 計算機システム
JP2003345525A (ja) 2002-05-24 2003-12-05 Hitachi Ltd 計算機システム及びレプリケーション方法
US20050138184A1 (en) * 2003-12-19 2005-06-23 Sanrad Ltd. Efficient method for sharing data between independent clusters of virtualization switches
JP4718851B2 (ja) * 2004-05-10 2011-07-06 株式会社日立製作所 ストレージシステムにおけるデータ移行
US7171532B2 (en) 2004-08-30 2007-01-30 Hitachi, Ltd. Method and system for data lifecycle management in an external storage linkage environment
JP2006146476A (ja) * 2004-11-18 2006-06-08 Hitachi Ltd ストレージシステム及びストレージシステムのデータ移行方法
US7702851B2 (en) 2005-09-20 2010-04-20 Hitachi, Ltd. Logical volume transfer method and storage network system
JP4955996B2 (ja) 2005-09-20 2012-06-20 株式会社日立製作所 ボリューム移行方法およびストレージネットワークシステム
JP5068081B2 (ja) * 2007-01-24 2012-11-07 株式会社日立製作所 管理装置および管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0235537A (ja) * 1988-07-25 1990-02-06 Hitachi Ltd 多重化ボリューム更新制御方式
JPH08234923A (ja) * 1995-02-27 1996-09-13 Toshiba Corp 二重化記憶装置のオンラインコピー方法
JP2004013454A (ja) * 2002-06-06 2004-01-15 Hitachi Ltd データマッピング管理装置
JP2005115506A (ja) * 2003-10-06 2005-04-28 Hitachi Ltd ストレージシステム
JP2007066192A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd ストレージシステム及びその制御方法並びにコンピュータプログラム

Also Published As

Publication number Publication date
US20090222632A1 (en) 2009-09-03
US8171248B2 (en) 2012-05-01

Similar Documents

Publication Publication Date Title
JP2009205614A (ja) ストレージシステムの制御方法、スイッチ装置およびストレージシステム
US7650446B2 (en) Storage system for back-end communications with other storage system
US7373469B2 (en) Data migration method
JP4353208B2 (ja) ストレージサブシステム、ストレージシステム、負荷分散方法、負荷分散プログラム
US6892203B2 (en) Method, apparatus and system for remote file sharing
CN110413213B (zh) 存储卷在存储阵列之间的无缝迁移
JP6663478B2 (ja) データ移行方法及び計算機システム
EP2144167B1 (en) Remote file system, terminal device, and server device
WO2014174594A1 (ja) ストレージシステムおよびストレージシステムの障害管理方法
JP2008112399A (ja) ストレージ仮想化スイッチおよびコンピュータシステム
JP2006018689A (ja) ストレージ制御装置、そのクラスタ間データ通信方法、及びそのクラスタ間通信制御プログラム
JP2008269469A (ja) ストレージシステム及びその管理方法
JP2009026091A (ja) 接続管理プログラム、接続管理方法および情報処理装置
JP6028415B2 (ja) 仮想サーバ環境のデータ移行制御装置、方法、システム
US11675545B2 (en) Distributed storage system and storage control method
JP5182162B2 (ja) 計算機システム及びi/o制御方法
US7272852B2 (en) Reserve/release control method
JP5516411B2 (ja) 情報処理システム
US20140089579A1 (en) Information processing system, recording medium, and information processing method
JP7147589B2 (ja) ストレージシステム、及びストレージ制御装置
JP2006134207A (ja) ストレージ仮想化装置およびそれを用いたコンピュータシステム
JP2004102852A (ja) ホットスタンバイ計算機システム
JP2017010102A (ja) 二重系システム
JP2011192053A (ja) ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法
JP2008047029A (ja) ストレージシステム及びキャッシュの冗長化方法とコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130416