JP2005196467A - ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置 - Google Patents

ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置 Download PDF

Info

Publication number
JP2005196467A
JP2005196467A JP2004002037A JP2004002037A JP2005196467A JP 2005196467 A JP2005196467 A JP 2005196467A JP 2004002037 A JP2004002037 A JP 2004002037A JP 2004002037 A JP2004002037 A JP 2004002037A JP 2005196467 A JP2005196467 A JP 2005196467A
Authority
JP
Japan
Prior art keywords
storage
heartbeat
information processing
heartbeat message
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.)
Pending
Application number
JP2004002037A
Other languages
English (en)
Inventor
Shinichiro Yamashita
真一郎 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004002037A priority Critical patent/JP2005196467A/ja
Priority to US10/806,986 priority patent/US7124264B2/en
Publication of JP2005196467A publication Critical patent/JP2005196467A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • A61B5/333Recording apparatus specially adapted therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

【課題】メインサイトのストレージ装置の異常によりメインサイトからのハートビットメッセージの送信が途絶えた場合に、リモートサイトのコンピュータシステムは、異常が発生しているメインサイトのストレージ装置であることを特定できるようにする。
【解決手段】第1ストレージ装置は第1記憶ボリュームにデータが書き込まれるとその複製を第2ストレージ装置に送信する複製データ送信部を備え、第2ストレージ装置は複製データ送信部により送信されるデータの複製を第2記憶ボリュームに書き込む複製データ受信部を備え、第1ストレージ装置は第1ハートビートメッセージを第1記憶ボリュームに所定時間以内の間隔で繰り返し書き込むディスクハートビート書き込み部を備え、第2ストレージ装置は複製データ受信部により第2記憶ボリュームへ書き込まれる第1ハートビートメッセージの複製の検知を行うディスクハートビート検知部を備える。
【選択図】 図5

Description

本発明は、ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置に関する。
近年の情報技術の進歩により、大地震等の災害発生時にコンピュータシステムを構成するストレージ装置に記憶されるデータの消失を回避するため、レプリケーションと呼ばれる技術が用いられるようになっている。レプリケーションは、メインサイトのコンピュータシステムが備えるストレージ装置の記憶ボリュームに記憶されるデータの複製を、リモートサイトのコンピュータシステムが備えるストレージ装置の記憶ボリュームに記憶するための技術である。
また、メインサイトのコンピュータシステムが停止したことをリモートサイトのコンピュータシステムが検知した場合には、リモートサイトのコンピュータシステムが、それまでメインサイトのコンピュータシステムにより行われていた情報処理を引き継いで行う技術も開発されている。
メインサイトのコンピュータシステムが備える情報処理装置は、ハートビートメッセージと呼ばれる所定のデータをリモートサイトのコンピュータシステムに所定時間以内の間隔で繰り返し送信する。このハートビートメッセージの送信を、レプリケーションの技術を利用して行う技術も開発されている。
特開2002−312189号公報
この場合、リモートサイトのコンピュータシステムは、メインサイトからのハートビートメッセージの送信が途絶えたことを検知することにより、メインサイトのコンピュータシステムに異常が発生したことを検知することができる。しかしながら、メインサイトのストレージ装置の異常によりメインサイトからのハートビートメッセージの送信が途絶えた場合に、リモートサイトのコンピュータシステムは、異常が発生しているのがメインサイトのストレージ装置であることを特定することができない。
本発明は上記課題を鑑みてなされたものであり、ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置を提供することを主たる目的とする。
上記課題を解決するために、本発明は、データを記憶する第1の記憶ボリュームを有する第1のストレージ装置と、前記第1のストレージ装置と通信可能に接続され、データを記憶する第2の記憶ボリュームを有する第2のストレージ装置と、を備え、前記第1のストレージ装置は、前記第1の記憶ボリュームにデータが書き込まれると、前記データの複製を前記第2のストレージ装置に送信する複製データ送信部を備え、前記第2のストレージ装置は、前記複製データ送信部により送信される前記データの複製を受信し、前記データの複製を前記第2の記憶ボリュームに書き込む複製データ受信部を備え、前記第1のストレージ装置は、第1のハートビートメッセージを前記第1の記憶ボリュームに所定時間以内の間隔で繰り返し書き込むディスクハートビート書き込み部を備え、前記第2のストレージ装置は、前記複製データ受信部により前記第2の記憶ボリュームへ書き込まれる前記第1のハートビートメッセージの複製の検知を行うディスクハートビート検知部を備えることを特徴とするストレージシステムに関する。
ここで、前記第1のストレージ装置には第1の情報処理装置が通信可能に接続され、前記第2のストレージ装置には第2の情報処理装置が通信可能に接続され、前記第1の情報処理装置は、前記第1の記憶ボリュームへの第2のハートビートメッセージの書き込み要求を前記第1のストレージ装置に所定時間以内の間隔で繰り返し送信するノードハートビート書き込み要求部を備え、前記第1のストレージ装置は、前記第2のハートビートメッセージの書き込み要求に応じて、前記第2のハートビートメッセージを前記第1の記憶ボリュームに書き込むノードハートビート書き込み部を備え、前記第2のストレージ装置は、前記複製データ受信部により前記第2の記憶ボリュームへ書き込まれる前記第2のハートビートメッセージの複製を前記第2の情報処理装置に送信するノードハートビート送信部を備え、前記第2の情報処理装置は、前記ノードハートビート送信部により送信される前記第2のハートビートメッセージの複製の検知を行うノードハートビート検知部を備えるようにすることもできる。
なお、以下第1のハートビートメッセージをディスクハートビート信号、第2のハートビートメッセージをノードハートビート信号とも記す。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置を提供することができる。
===全体構成例===
まず、本実施の形態に係るストレージシステム400の全体構成を示すブロック図を図1に示す。
本実施の形態に係るストレージシステム400は、情報処理装置A(第1の情報処理装置)(100)及びストレージ装置A(第1のストレージ装置)(200)と、情報処理装置B(第2の情報処理装置)(100)及びストレージ装置B(第2のストレージ装置)(200)とを含んで構成される。
情報処理装置A(100)とストレージ装置A(200)とは、メインサイト(プライマリサイト)に設置されるコンピュータシステム(第1のコンピュータシステム)を構成する。また情報処理装置B(100)とストレージ装置B(200)とは、リモートサイト(セカンダリサイト)に設置されるコンピュータシステム(第2のコンピュータシステム)を構成する。
情報処理装置A(100)は、ストレージ装置A(200)が備える記憶ボリューム230により提供される記憶資源を利用し、各種の情報処理サービスを提供するための情報機器である。情報処理装置A(100)により提供される情報処理サービスとしては、例えば銀行の自動預金預け払いサービスや、航空機の座席予約サービス等とすることができる。情報処理装置A(100)とストレージ装置A(200)とが設置される場所をメインサイトと呼ぶ。
記憶ボリューム230は、ハードディスクドライブ等により提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む、データを記憶するための記憶領域である。
一方、情報処理装置B(100)は、災害の発生などによりメインサイトに設置される情報処理装置A(100)による情報処理サービスの提供ができない状態になったときに、情報処理装置A(100)が行っていた情報処理サービスの提供を引き継いで行うための情報機器である。その際、情報処理装置B(100)はストレージ装置B(200)が備える記憶ボリューム230により提供される記憶資源を利用することにより情報処理サービスの提供を行う。そのためストレージ装置A(200)が備える記憶ボリューム230に記憶されているデータの複製は、ストレージ装置B(200)が備える記憶ボリューム230にも記憶されている。ストレージ装置A(200)に記憶されているデータの複製をストレージ装置B(200)に記憶するために、レプリケーションの制御が行われる。レプリケーションの制御が行われる場合には、ストレージ装置A(200)の記憶ボリューム230にデータが書き込まれると、ストレージ装置A(200)は、そのデータの複製をストレージ装置B(200)に送信する。そしてストレージ装置B(200)は、ストレージ装置A(200)から送信されるそのデータの複製を受信し、そのデータの複製をストレージ装置B(200)の記憶ボリューム230に書き込む。レプリケーションの制御については後述する。情報処理装置B(100)とストレージ装置B(200)とが設置される場所をリモートサイトと呼ぶ。
なお情報処理装置B(100)は、情報処理装置A(100)により提供される情報処理サービスを引き継いで行うだけでなく、独自の情報処理サービスの提供を行う様にすることもできる。この場合は、災害の発生により、情報処理装置B(100)による情報処理サービスの提供が行えない状態になった際に、情報処理装置A(100)に情報処理サービスの提供を引き継いで行わせる様にすることもできる。この場合、2つのコンピュータシステムは、互いに自己のコンピュータシステムがメインサイトに設置されるコンピュータシステムとなり、相手側のコンピュータシステムがリモートサイトに設置されるコンピュータシステムとなる。ここでは説明の簡略化のため、上述したように情報処理装置A(100)とストレージ装置A(200)とが設置される場所をメインサイトとし、情報処理装置B(100)とストレージ装置B(200)とが設置される場所をリモートサイトとする。
メインサイトに設置される情報処理装置A(100)と、リモートサイトに設置される情報処理装置B(100)とは、第1のネットワーク300で通信可能に接続されている。また、メインサイトに設置されるストレージ装置A(200)と、リモートサイトに設置されるストレージ装置B(200)とは、第2のネットワーク310で通信可能に接続されている。上述したレプリケーションの制御は第2のネットワーク310を介してデータの複製が送信されることにより行われる。また情報処理装置A(100)とストレージ装置A(200)との間は、入出力パスA(330)で通信可能に接続されている。情報処理装置B100)とストレージ装置B(200)との間も、入出力パスB(330)で通信可能に接続されている。
第1のネットワーク300としては、例えばTCP/IP(Transmission Control Protocol / Internet Protocol)通信プロトコルにより通信が行われるLAN(Local Area Network)やWAN(Wide Area Network)とすることができる。
また第2のネットワーク310としては、例えばファイバチャネル通信プロトコルにより通信が行われるSAN(Storage Area Network)とすることができる。入出力パス330も、例えばファイバチャネル通信プロトコルにより通信が行われるSANとすることができる。もちろん、例えばFICON(Fibre Connection)(登録商標)やESCON(Enterprise System Connection) (登録商標)、ACONARC(Advanced Connection Architecture)(登録商標)、FIBARC(Fibre Connection Architecture)(登録商標)、iSCSI(Internet Small Computer Systems Interface)等の通信プロトコルを用いるようにすることもできる。ストレージ装置A(200)とストレージ装置B(200)との間を、このような信頼性の高い通信プロトコルを用いて第2のネットワーク310で接続することにより、メインサイトのストレージ装置A(200)とリモートサイトのストレージ装置B(200)との間のデータの送受信を高信頼に行うことが可能となる。
===情報処理装置===
次に、本実施の形態に係る情報処理装置100の構成を示すブロック図を図2に示す。なお本実施の形態に係る情報処理装置100には、情報処理装置A(100)と情報処理装置B(100)とがあるが、いずれも基本的な構成は同様であるため、特に両者を区別する必要がない場合には、情報処理装置100と記す。
情報処理装置100は、CPU110、メモリ120、ポート130、記録媒体読取装置140、入力装置150、出力装置160、記憶装置170を備える。
CPU110は情報処理装置100の全体の制御を司るもので、メモリ120に記憶されたアプリケーションプログラム190を実行することにより上述した各種情報処理サービスの提供を行う。またCPU110は、メモリ120に記憶された、本実施の形態に係る各種の動作を行うためのコードから構成されるハートビート制御プログラム191や、ノードハートビート制御プログラム192、ストレージ管理プログラム193、クラスタリング制御プログラム196、オペレーティングシステム197を実行する。
例えばCPU110によりハートビート制御プログラム191が実行されることにより、動作状態判定部や動作状態表示部が実現される。また例えばCPU110によりノードハートビート制御プログラム192が実行されることにより、ノードハートビート書き込み要求部や、ノードハートビート検知部、ノードハートビート作成部が実現される。また例えばCPU110によりクラスタリング制御プログラム196が実行されることにより、フェイルオーバ制御部が実現される。またメモリ120には、ハートビート状態テーブル194、活性化/不活性化メッセージ195、ハートビート判定テーブル198が記憶される。これらの詳細は後述する。なお、ハートビート制御プログラム191や、ノードハートビート制御プログラム192、ストレージ管理プログラム193、クラスタリング制御プログラム196、オペレーティングシステム197は、それぞれ個別のプログラムとすることもできるし、これらのプログラムの少なくとも一部が同一プログラムにより構成されるようにすることもできる。また各プログラムが複数のプログラムにより構成されるようにすることもできる。
記録媒体読取装置140は、記録媒体170に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ120や記憶装置170に格納される。従って、例えば記録媒体170に記録されたハートビート制御プログラム191や、ノードハートビート制御プログラム192、ストレージ管理プログラム193、クラスタリング制御プログラム196、オペレーティングシステム197を、記録媒体読取装置140を用いて上記記録媒体170から読み取って、メモリ120や記憶装置180に記憶するようにすることができる。記録媒体170としてはフレキシブルディスクや磁気テープ、CD−ROM、半導体メモリ等を用いることができる。記録媒体読取装置140は情報処理装置100に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置180は、例えばハードディスク装置や半導体記憶装置等である。ハートビート制御プログラム191や、ノードハートビート制御プログラム192、ストレージ管理プログラム193、クラスタリング制御プログラム196、オペレーティングシステム197、ハートビート状態テーブル194、活性化/不活性化メッセージ195、ハートビート判定テーブル198は、記憶装置180に記憶されるようにすることもできる。
入力装置150はオペレータ等による情報処理装置100へのデータ入力等のために用いられるユーザインタフェースである。入力装置150としては例えばキーボードやマウス等を用いることができる。出力装置160は情報を外部に出力するためのユーザインタフェースである。出力装置160としては例えばディスプレイやプリンタ等を用いることができる。ポート130は通信を行うための装置である。例えば第1のネットワーク300を介して行う他の情報処理装置100との通信や、ストレージ装置200に対するデータ入出力要求の送信などは、ポート130を介して行われるようにすることができる。また例えば、アプリケーションプログラム190や、ハートビート制御プログラム191、ノードハートビート制御プログラム192、ストレージ管理プログラム193、クラスタリング制御プログラム196、オペレーティングシステム197を、ポート130を通じて他の情報処理装置100から受信して、メモリ120や記憶装置180に記憶するようにすることもできる。
===ストレージ装置===
次に本実施の形態に係るストレージ装置200について、図1を用いて説明する。なお本実施の形態に係るストレージ装置200には、ストレージ装置A(200)とストレージ装置B(200)とがあるが、いずれも基本的な構成は同様であるため、特に両者を区別する必要がない場合には、ストレージ装置200と記す。
ストレージ装置200は、ディスク制御装置(ストレージ制御装置)210と、ディスク駆動装置220と、管理端末260とを備える。
ディスク制御装置210は、情報処理装置100や他のストレージ装置200との間で通信を行い、ディスク駆動装置220が備える記憶ボリューム230に対するデータの読み書きを制御する。例えば情報処理装置100からデータの書き込み要求を受信し、ディスク駆動装置220が備える記憶ボリューム230に対するデータの書き込み処理を行う。
ディスク制御装置210は、CPU211、メモリ212、FC I/F(Fibre Channel InterFace)213、ディスクI/F(ディスクInterFace)214を備える。
CPU211は、ディスク制御装置210の全体の制御を司るもので、メモリ212に記憶された、本実施の形態に係る各種の動作を行うためのコードから構成されるディスクハートビート制御プログラム215や、レプリケーション制御プログラム217、ストレージ制御プログラム218を実行する。
例えばCPU211によりディスクハートビート制御プログラム215が実行されることにより、ディスクハートビート書き込み部やディスクハートビート検知部、ディスクハートビート作成部が実現される。また例えばCPU211によりレプリケーション制御プログラム217が実行されることにより、複製データ送信部や複製データ受信部が実現される。また例えばCPU211によりストレージ制御プログラム218が実行されることにより、ノードハートビート書き込み部や、ノードハートビート送信部、ディスクハートビート検知結果送信部が実現される。またメモリ212にはペア管理テーブル216が記憶されている。詳細は後述する。なお、ディスクハートビート制御プログラム215や、レプリケーション制御プログラム217、ストレージ制御プログラム218は、それぞれ個別のプログラムとすることもできるし、これらのプログラムの少なくとも一部が同一プログラムにより構成されるようにすることもできる。また各プログラムが複数のプログラムにより構成されるようにすることもできる。FC I/F213は情報処理装置100や他のストレージ装置200と通信を行うためのインタフェース機能を有する。ディスクI/F214はディスク駆動装置220とデータの授受を行うためのインタフェース機能を有する。
なお、第2のネットワーク310で通信可能に接続されたディスク制御装置A(210)とディスク制御装置B(210)とを、ストレージ制御システムとも記す。
ディスク駆動装置220はデータを記憶する記憶ボリューム230を有する。記憶ボリューム230は、ハードディスクドライブ等により提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む記憶領域である。図1では、ストレージ装置A(200)においてはLU01、LU02、LU03の3つの記憶ボリューム(第1の記憶ボリューム、第3の記憶ボリューム)230が示され、ストレージ装置B(200)においてはLU11、LU12、LU13の3つの記憶ボリューム(第2の記憶ボリューム)230が示されている。
管理端末260は、ストレージ装置200の保守管理を行うための情報機器である。管理端末260はストレージ装置200に内蔵されるように構成することもできるし、外付けされるように構成することもできる。また管理端末260はストレージ装置200の保守・管理を専用に行うコンピュータとすることもできるし、汎用のコンピュータに保守・管理機能を持たせたものとすることもできる。
管理端末260の構成を示すブロック図を図3に示す。
管理端末260は、CPU261、メモリ262、ポート263、記録媒体読取装置264、入力装置265、出力装置266、記憶装置268を備える。
CPU261は管理端末260の全体の制御を司るもので、メモリ262に格納された、本実施の形態に係る各種の動作を行うためのコードから構成される制御プログラム269を実行することによりストレージ装置200の保守管理機能等を実現する。
記録媒体読取装置264は、記録媒体267に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ262や記憶装置268に格納される。従って、例えば記録媒体267に記録された制御プログラム269やディスクハートビート制御プログラム215、レプリケーション制御プログラム217、ストレージ制御プログラム218を、記録媒体読取装置264を用いて上記記録媒体267から読み取って、メモリ262や記憶装置268に記憶することができる。記録媒体267としてはフレキシブルディスクやCD−ROM、磁気テープ、半導体メモリ等を用いることができる。記録媒体読取装置264は管理端末260に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置268は、例えばハードディスク装置や半導体記憶装置等とすることができる。制御プログラム269は記憶装置268に記憶されるようにすることもできる。
入力装置265はオペレータ等による管理端末260へのデータ入力等のために用いられるユーザインタフェースである。入力装置265としては例えばキーボードやマウス等を用いることができる。出力装置266は情報を外部に出力するためのユーザインタフェースである。出力装置266としては例えばディスプレイやプリンタ等を用いることができる。ポート263は情報処理装置100やストレージ装置200と通信を行うための装置である。これにより例えば、制御プログラム269やディスクハートビート制御プログラム215、レプリケーション制御プログラム217、ストレージ制御プログラム218を、情報処理装置100からポート263を通じて受信してメモリ262や記憶装置268に記憶することができる。またメモリ262や記憶装置268に記憶されたディスクハートビート制御プログラム215やレプリケーション制御プログラム217、ストレージ制御プログラム218を、ポート263を通じてディスク制御装置210に送信して、ディスク制御装置210のメモリ212に記憶させるようにすることもできる。
なお、本実施の形態に係る管理端末260の機能を情報処理装置100に設けるようにすることもできる。この場合、管理端末260を設けない構成とすることもできる。またこの場合、ストレージ装置200の保守管理は情報処理装置100を用いて行われることになる。
===レプリケーション制御===
次に本実施の形態に係るストレージシステム400において行われるレプリケーションの制御について説明する。レプリケーションの制御は、ディスク制御装置210のCPU211が、レプリケーション制御プログラム217を実行することにより行うことができる。レプリケーションの対象となる記憶ボリューム230や、レプリケーションの制御の方式等は、ペア管理テーブル216に定義されている。ペア管理テーブル216は、例えば情報処理装置100においてストレージ管理プログラム193が実行されることにより、情報処理装置100を操作するオペレータ等により入力装置150から入力されたデータに基づいて、作成されるようにすることができる。なお、ストレージ管理プログラム193を管理端末260に備える様にし、管理端末260のCPU261にストレージ管理プログラム193を実行させるようにすることにより、管理端末260を操作するオペレータ等により入力装置265から入力されたデータに基づいて、ペア管理テーブル216が作成されるようにすることもできる。
ペア管理テーブル216を図4に示す。
ペア管理テーブル216は、「ペア種類」欄、「複製方式」欄、「複製元装置」欄、「複製先装置」欄、「複製元ボリューム」欄、「複製先ボリューム」欄、「ペア状態」欄を備える。
ペアとは2つの記憶ボリューム230により形成される記憶ボリューム230の組み合わせを言う。また、ペアを形成する2つの記憶ボリューム230が同一のストレージ装置200にある場合を「ローカルペア」、異なるストレージ装置200にある場合を「リモートペア」と記す。ペアを形成する記憶ボリューム230は、一方を主記憶ボリューム230、他方を副記憶ボリューム230として管理される。主記憶ボリューム230にデータが書き込まれるとそのデータの複製が副記憶ボリューム230に書き込まれる。一つの主記憶ボリューム230に対して複数の副記憶ボリューム230を組み合わせることも可能である。
ストレージ管理プログラム193を実行する情報処理装置200が、データの複製元となるストレージ装置A(200)にリモートペアの形成を指示すると、ストレージ装置A(200)はペア管理テーブル216を更新する。その後ストレージ装置A(200)は、データの複製先となるストレージ装置B(200)にリモートペアの形成を指示する。そしてストレージ装置B(200)は、ストレージ装置B(200)内のメモリ212のペア管理テーブル216を更新する。
ペア管理テーブル216の「ペア種類」欄は当該ペアがローカルペアであるかリモートペアであるかを示す。「複製方式」欄は、当該ペアがリモートペアである場合に、レプリケーションの方式が同期方式であるか非同期方式であるかを示す。「複製元装置」欄と「複製先装置」欄は、当該ペアがリモートペアである場合に、複製元のストレージ装置200と複製先のストレージ装置200を示す。「複製元ボリューム」欄は当該ペアの主記憶ボリューム230の識別番号を、「複製先ボリューム」欄は当該ペアの副記憶ボリューム230の識別番号を示す。記憶ボリューム230の識別番号としては、例えばLUN(Logical Unit Number)とすることができる。
「ペア状態」欄は当該ペアの状態を示す。ペアの状態としては、「ペア中」、「スプリット中」、及び「リシンク中」がある。
「ペア中」の場合は、情報処理装置100から主記憶ボリューム230に書き込まれたデータの複製は副記憶ボリューム230にも書き込まれる。このような主記憶ボリューム230と副論理ボリューム230との対応付けにより、主記憶ボリューム230に記憶されている内容と副記憶ボリューム230に記憶されている内容との同一性を確保することができる。
「スプリット中」の場合は、情報処理装置100から主記憶ボリューム230にデータが書き込まれても副記憶ボリューム230には反映されない。
「リシンク中」は「スプリット中」から「ペア中」に移行する途中の状態である。すなわち、「スプリット中」に主記憶ボリューム230に対してなされたデータの更新を副論理ボリューム230に反映している状態である。反映が完了すると当該ペアの状態は「ペア中」になる。
上記ペアの形成、ペアのスプリット、及びペアのリシンクは、ストレージ制御プログラム193が実行されている情報処理装置100に対して入力装置150からオペレータが指示入力を与えることにより行われるようにすることができる。オペレータにより与えられた指示入力はディスク制御装置210に送信される。ディスク制御装置210は、レプリケーション制御プログラム217を実行して、上記指示に従って、ペアの形成やペア状態の変更を行う。ディスク制御装置210は、形成したペアのペア状態に応じて、例えば「ペア中」の主記憶ボリューム230に対してデータの書き込み要求を情報処理装置100から受信した場合には、データを主記憶ボリューム230に書き込むと共に、ペア管理テーブル216を参照して、そのデータの複製が書き込まれる記憶ボリュームB(230)を特定し、そのデータの複製をストレージ装置B(200)に送信する。そしてストレージ装置B(200)は、送信されたこのデータの複製を受信し、そのデータの複製を記憶ボリュームB(230)に書き込む。
以上のレプリケーションの制御を行うことによって、メインサイトのコンピュータシステムのデータを、リモートサイトのコンピュータシステムに記憶しておくようにすることが可能となる。
===クラスタ制御===
次に、本実施の形態に係るストレージシステム400で行われるクラスタ制御について説明する。
本実施の形態に係る情報処理装置A(100)及び情報処理装置B(100)は、互いにクラスタリング制御プログラム196を実行することにより、クラスタ制御を行う。クラスタ制御とは、メインサイトのコンピュータシステムが停止したことをリモートサイトのコンピュータシステムが検知した場合には、リモートサイトのコンピュータシステムが、それまでメインサイトのコンピュータシステムにより行われていた情報処理を引き継いで行うための制御をいう。なお情報処理を引き継ぐことをフェイルオーバするともいう。
ここで、メインサイトのコンピュータシステムが停止したことをリモートサイトのコンピュータシステムが検知するために、通常、メインサイトのコンピュータシステムは、リモートサイトのコンピュータシステムに対して、ハートビート信号(ハートビートメッセージ)と呼ばれる所定のデータを、所定時間以内の間隔で繰り返し送信する。リモートサイトのコンピュータシステムは、メインサイトのコンピュータシステムから送信されるハートビート信号を検知することにより、メインサイトのコンピュータシステムの動作状態を判定することができる。例えばリモートサイトのコンピュータシステムは、所定時間以上待ってもメインサイトのコンピュータシステムからのハートビート信号を検知できない場合には、メインサイトのコンピュータシステムに異常が発生したと判定することができる。
===ハートビート信号の送受信===
次に本実施の形態に係るストレージシステム400において行われるハートビート信号の送受信の制御について、図5乃至図14を用いて説明する。
まず本実施の形態に係るハートビート信号の送受信の制御を説明するためのシステム構成図を図5に示す。図5に示すシステム構成図は、図1に示したシステム構成図と比較して、メインサイト及びリモートサイトのそれぞれにおいて、複数の情報処理装置100を備えている点が異なる。この場合、例えばメインサイトのそれぞれの情報処理装置A(100)間において互いにハートビート信号の授受を行うことにより、メインサイト内の情報処理装置A(100)においてクラスタ制御を行うようにすることができる。すなわち、メインサイト内のある情報処理装置A(100)が動作を停止したことを、メインサイト内の他の情報処理装置A(100)が検知した場合、それまでその情報処理装置A(100)が行っていた情報処理を、メインサイト内の他の情報処理装置A(100)が引き継いで行うようにすることができる。リモートサイトの情報処理装置B(100)についても同様である。
また図5に示す「マイクロ制御VOL(VOLume)」、「ハートビートPVOL(Primary VOLume)」、「ユーザPVOL」、「ハートビートSVOL(Secondary VOLume)」、「ユーザSVOL」は、それぞれ記憶ボリューム230である。
マイクロ制御VOL(230)は、本実施の形態に係るハートビート信号の送受信の制御を行う際に用いられる記憶ボリューム230である。マイクロ制御VOL(230)には、ハートビート状態テーブル194が記憶される。詳細は後述する。
ハートビートPVOL(230)及びハートビートSVOL(230)は、レプリケーションのペアを構成しており、それぞれ主記憶ボリューム230及び副記憶ボリューム230である。ハートビートPVOL(230)には、ハートビート信号232が書き込まれる。そうすると、そのハートビート信号232の複製がペアを構成するハートビートSVOL(230)に書き込まれる。
ユーザPVOL(230)及びユーザSVOL(230)は、レプリケーションのペアを構成しており、それぞれ主記憶ボリューム230及び副記憶ボリューム230である。ユーザPVOL(230)には、情報処理装置100でアプリケーションプログラム190が実行されることにより生成される各種データが書き込まれる。そうすると、そのデータの複製が、ペアを構成するユーザSVOL(230)に書き込まれる。
本実施の形態に係るハートビート信号232の送受信は、オペレーティングシステム197の制御の下、情報処理装置100でハートビート制御プログラム191及びノードハートビート制御プログラム192が実行され、ストレージ装置200でディスクハートビート制御プログラム215、ストレージ制御プログラム218、及びレプリケーション制御プログラム217が実行されることにより行われる。
オペレーティングシステム197は、情報処理装置100でハートビート制御プログラム191等の各種プログラムが実行される際のAPI(Application Program Interface)を提供する。例えばオペレーティングシステム197は、記憶ボリューム230に対する”OPEN”、”READ”、”WRITE”、”CLOSE”を提供する。この場合、例えばノードハートビート制御プログラム192がストレージ装置(200)のハートビートPVOL(230)にハートビート信号232を書き込む場合には、ハートビートPVOL(230)へのポインタを得る際に”OPEN”を、ハートビート信号232を書き込む際に”WRITE”を、ハートビートPVOL(230)へのポインタを放棄する際に”CLOSE”を利用する。またノードハートビート制御プログラム192がストレージ装置(200)のハートビートSVOL(230)からハートビート信号232を読み出す場合には、ハートビートSVOL(230)へのポインタを得る際に”OPEN”を、ハートビート信号232を読みだす際に”READ”を、ハートビートSVOL(230)へのポインタを放棄する際に”CLOSE”を利用する。
ハートビート制御プログラム191は、情報処理装置100のメモリ120に記憶される活性化/不活性化メッセージ195やハートビート状態テーブル194の作成、更新、ストレージ装置200のマイクロ制御ボリューム230に記憶されるハートビート状態テーブル194の作成、更新等を行う。活性化/不活性化メッセージ195の作成や更新は、例えば情報処理装置100の入力装置150からオペレータによって入力されたデータに基づいて行われるようにすることができる。ハートビート状態テーブル194の作成、更新は、例えば活性化/不活性化メッセージ195の内容に基づいて行われるようにすることができる。またリモートサイトの情報処理装置100で実行されるハートビート制御プログラム191は、メインサイトのコンピュータシステムから送信されてくるハートビート信号232の検知の結果に応じて、メインサイトのコンピュータシステムの動作状態を判定する。詳細は後述する。
ノードハートビート制御プログラム192は、メモリ120に記憶されたハートビート状態テーブル194に基づいて、ストレージ装置200に対して、所定時間以内の間隔で繰り返し、ハートビートPVOL(230)に対するハートビート信号(第2のハートビートメッセージ、以下ノードハートビート信号232とも記す)232の書き込み要求を送信する。このノードハートビート信号232は、ストレージ装置200によってハートビートPVOL(230)に書き込まれる。またノードハートビート制御プログラム192は、メモリ120に記憶されたハートビート状態テーブル194に基づいて、ストレージ装置200に対して、ハートビートSVOL(230)に書き込まれたノードハートビート信号232の複製の読み出し要求を送信する。このノードハートビート信号232の複製は、ストレージ装置200によってハートビートSVOL(230)から読みだされ、情報処理装置100に送信される。そしてノードハートビート制御プログラム192は、ストレージ装置200から送信されたノードハートビート信号232の複製の検知を行う。そしてメモリ120のハートビート状態テーブル194の内容を更新する。詳細は後述する。
ディスクハートビート制御プログラム215は、マイクロ制御VOL(230)に記憶されたハートビート状態テーブル194に基づいて、所定時間以内の間隔で繰り返し、ハートビートPVOL(230)に対してハートビート信号(第1のハートビートメッセージ、以下ディスクハートビート信号232とも記す)232の書き込みを行う。ここでディスクハートビート制御プログラム215によってディスクハートビート信号232が書き込まれるハートビートPVOL(230)は、ノードハートビート制御プログラム192によって送信されるノードハートビート信号232が書き込まれるハートビートPVOL(230)と同じ記憶ボリューム230とすることもできるし、異なる記憶ボリューム230とすることもできる。またディスクハートビート制御プログラム215は、マイクロ制御VOL(230)に記憶されたハートビート状態テーブル194に基づいて、ハートビートSVOL(230)に書き込まれたディスクハートビート信号232の複製を読みだして、その検知を行う。そしてマイクロ制御VOL(230)に記憶されたハートビート状態テーブル194の内容を更新する。詳細は後述する。
レプリケーション制御プログラム217は、ペア管理テーブル216に基づいて、ハートビートPVOL(230)にハートビート信号232が書き込まれると、そのハートビート信号232の複製を第2のネットワーク310を介してリモートサイトのストレージ装置200に送信する。またレプリケーション制御プログラム217は、第2のネットワーク310を介してメインサイトのストレージ装置200から送信されたハートビート信号232の複製を受信し、そのハートビート信号232の複製をハートビートSVOL(230)に書き込む。
ストレージ制御プログラム218は、情報処理装置100から送信されるノードハートビート信号232の書き込み要求に応じて、そのノードハートビート信号232をハートビートPVOL(230)に書き込む。また情報処理装置100から送信されるノードハートビート信号232の複製の読み出し要求に応じて、そのノードハートビート信号232の複製をハートビートSVOL(230)から読みだして、情報処理装置100に送信する。またディスクハートビート信号232の複製の検知の結果を情報処理装置100に送信する。
===活性化/不活性化メッセージ===
次に本実施の形態に係る活性化/不活性化メッセージ195を図6に示す。
上述したように活性化/不活性化メッセージ195は、メインサイトの情報処理装置100の入力装置150からオペレータによって入力されたデータに基づいて作成される。活性化/不活性化メッセージ195の作成は、オペレータからデータの入力がある毎に行われる。つまりオペレータは、メインサイトのコンピュータシステムとリモートサイトのコンピュータシステムとの間で任意の数の種類のハートビート信号232が送受信されるようにすることができる。
活性化/不活性化メッセージ195は、「活性化/不活性化種別」欄、「ディスクハートビート/ノードハートビート種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄を備える。
「活性化/不活性化種別」欄は、ハートビート信号232の送受信を行うか行わないかを示す。ハートビート信号232の送受信を行うようにすることをハートビート信号232を活性化するという。ハートビート信号232の送受信を行わないようにすることをハートビート信号232を不活性化するという。「活性化/不活性化種別」欄に記載される値としては、例えば”ACTIVATE”、又は”DEACTIVATE”とすることができる。”ACTIVATE”の場合はハートビート信号232が活性化され、”DEACTIVATE”の場合はハートビート信号232が不活性化されることを示す。
「ディスクハートビート/ノードハートビート種別」欄は、活性化又は不活性化されるハートビート信号232がノードハートビート信号232なのかディスクハートビート信号なのかを示す。「ディスクハートビート/ノードハートビート種別」欄に記載される値としては、例えば”DISK HEARTBEAT”、又は”NODE HEARTBEAT”とすることができる。”DISK HEARTBEAT”の場合は、活性化又は不活性化されるハートビート信号232はディスクハートビート信号232であることを示し、”NODE HEARTBEAT”の場合は、活性化又は不活性化されるハートビート信号232はノードハートビート信号232であることを示す。
「ローカルデバイスアドレス」欄は、ハートビート信号232が書き込まれるハートビートPVOL(230)のアドレス(記憶位置)を示す。
「リモートデバイスアドレス」欄は、ハートビート信号232が書き込まれるハートビートSVOL(230)のアドレス(記憶位置)を示す。
ハートビート制御プログラム191は、オペレータにより入力されたデータに基づいて作成した活性化/不活性化メッセージ195をリモートサイトの情報処理装置100に送信する。活性化/不活性化メッセージ195のリモートサイトの情報処理装置100への送信は、第1のネットワーク300を介して行われるようにすることもできるし、第2のネットワーク310を介して行われるようにすることもできる。第2のネットワーク310を介して行われるようにする場合には、レプリケーションによって行われるようにすることもできる。
===ハートビート状態テーブル===
続いてメインサイトの情報処理装置100、及びリモートサイトの情報処理装置100はそれぞれ、活性化/不活性化メッセージ195に基づいて、ハートビート状態テーブル194を作成、更新する。本実施の形態に係るハートビート状態テーブルを図7に示す。
ハートビート状態テーブル194は、ノードハートビート信号232の状態を示す部分と、ディスクハートビート信号232の状態を示す部分とを備える。
ノードハートビート信号232の状態を示す部分は、「ノードハートビート状態」欄、「P/S種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄、「デバイス状態」欄を備える。「P/S種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄、「デバイス状態」欄は、ノードハートビート信号232の種類の数毎に一つ以上設けられる。つまり、ノードハートビート信号232の種類は、「P/S種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄の記載の組み合わせにより特定される。
「ノードハートビート状態」欄は、メインサイトのコンピュータシステムとリモートサイトのコンピュータシステムとの間で、ノードハートビート信号232の送受信が行われているか否かを示す。「ノードハートビート状態」欄に記載される値としては、”ENABLE”、又は”FAILED”とすることができる。”ENABLE”の場合は、少なくとも一種類以上のノードハートビート信号232の送受信が、メインサイトのコンピュータシステムとリモートサイトのコンピュータシステムとの間で行われていることを示す。”FAILED”の場合は、ノードハートビート信号232の送受信が全く行われていないことを示す。
「P/S種別」欄は、ノードハートビート信号232が送信されるべきものなのか、受信されるべきものなのかを示す。すなわち、引き続く「ローカルデバイスアドレス」欄がハートビートPVOL(230)であるのか、ハートビートSVOL(230)であるのかを示す。「P/S種別」欄に記載される値としては、”PVOL”、又は”SVOL”とすることができる。活性化/不活性化メッセージ195を作成した情報処理装置100は「P/S種別」欄を”PVOL”とする。活性化/不活性化メッセージ195を送信された情報処理装置100は「P/S種別」欄を”SVOL”とする。
「ローカルデバイスアドレス」欄は、同一コンピュータシステム内のストレージ装置200が備える記憶ボリューム230における、ノードハートビート信号232が書き込まれるアドレスを示す。「P/S種別」欄が”PVOL”の場合には、「ローカルデバイスアドレス」欄に記載されたアドレスに書き込まれたノードハートビート信号232が、レプリケーション制御プログラム217によって他のストレージ装置200に送信される。「P/S種別」欄が”SVOL”の場合には、「ローカルデバイスアドレス」欄に記載されたアドレスに、レプリケーション制御プログラム217によって他のストレージ装置200から送信されたノードハートビート信号232が書き込まれる。
「リモートデバイスアドレス」欄は、異なるコンピュータシステム内のストレージ装置200が備える記憶ボリューム230における、ノードハートビート信号232が書き込まれるアドレスを示す。
「デバイス状態」欄は、ノードハートビート信号232が正しく送受信されているか否かを示す。「デバイス状態」欄に記載される値としては、”ENABLE”、又は”FAILED”とすることができる。”ENABLE”の場合は、ノードハートビート信号232が正しく送受信されていることを示す。”FAILED”の場合は、ノードハートビート信号232が正しく送受信されていないことを示す。
全ての種類のノードハートビート信号232について、「デバイス状態」欄が”FAILED”となった場合は、ノードハートビート信号232の全ての送受信が正しく行われていないことになるので、「ノードハートビート状態」欄には”FAILED”が記載される。
なお、ノードハートビート信号232が正しく送受信されているか否かについての判断方法については後述する。
ディスクハートビート信号232の状態を示す部分は、「ディスクハートビート状態」欄、「P/S種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄、「デバイス状態」欄を備える。「P/S種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄、「デバイス状態」欄は、ディスクハートビート信号232の種類の数毎に一つ以上設けられる。つまり、ディスクハートビート信号232の種類は、「P/S種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄の記載の組み合わせにより特定される。
「ディスクハートビート状態」欄は、メインサイトのコンピュータシステムとリモートサイトのコンピュータシステムとの間で、ディスクハートビート信号232の送受信が行われているか否かを示す。「ディスクハートビート状態」欄に記載される値としては、”ENABLE”、又は”FAILED”とすることができる。”ENABLE”の場合は、少なくとも一種類以上のディスクハートビート信号232の送受信が、メインサイトのコンピュータシステムとリモートサイトのコンピュータシステムとの間で行われていることを示す。”FAILED”の場合は、ディスクハートビート信号232の送受信が全く行われていないことを示す。
「P/S種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄、「デバイス状態」欄については、ノードハートビート信号232の状態を示す部分と同様である。
なお、マイクロ制御VOL230に記憶されるハートビート状態テーブル194は、ディスクハートビート信号232の状態を示す部分のみとするようにすることもできる。これにより、ディスクハートビート信号232の状態をより少ない記憶容量で管理することが可能となる。
===ハートビート信号===
ノードハートビート制御プログラム192は、メモリ120に記憶されたハートビート状態テーブル194に基づいて、ノードハートビート信号232を作成し、ストレージ装置200に対して、所定時間以内の間隔、例えば1分以内の間隔で、繰り返し、ハートビートPVOL(230)に対するノードハートビート信号232の書き込み要求を送信する。ノードハートビート信号232は、ストレージ装置200で実行されるストレージ制御プログラム218によってハートビートPVOL(230)に書き込まれる。
またディスクハートビート制御プログラム215は、マイクロ制御VOL(230)に記憶されたハートビート状態テーブル194に基づいて、ディスクハートビート信号232を作成し、所定時間以内の間隔、例えば1分以内の間隔で、繰り返し、ハートビートPVOL(230)に対してディスクハートビート信号232の書き込みを行う。
本実施の形態に係るノードハートビート信号232、及びディスクハートビート信号232を図8に示す。図8に示すように、本実施の形態に係るノードハートビート信号232、及びディスクハートビート信号232は、「通し番号」欄、「時刻」欄、「ディスクハートビート/ノードハートビート種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄の少なくともいずれかを含んで構成される。
「通し番号」欄は、ハートビートPVOL(230)に所定時間以内の間隔で繰り返し書き込まれる同一種類のハートビート信号232のそれぞれを識別するための識別情報が記載される欄である。通し番号は、例えばハートビートPVOL(230)に順に書き込まれるハートビート信号232毎に1ずつ値が増えてゆくように付される番号とすることができる。
「時刻」欄は、ノードハートビート制御プログラム192、あるいはディスクハートビート制御プログラム215によって、ハートビート信号232が作成された時刻を示す情報が記載される欄である。時刻は、例えばハートビート信号232の作成日時とすることもできるし、ある基準日時からの差分を示す情報とすることもできる。
「ディスクハートビート/ノードハートビート種別」欄は、ノードハートビート制御プログラム192によって作成されたノードハートビート信号232であるのか、ディスクハートビート制御プログラム215によって作成されたディスクハートビート信号232であるのかを示す情報が記載される欄である。
「ローカルデバイスアドレス」欄は、当該ハートビート信号232が書き込まれるハートビートPVOL(230)の記憶位置を示す情報が記載される欄である。
「リモートデバイスアドレス」欄は、当該ハートビート信号232が書き込まれるハートビートSVOL(230)の記憶位置を示す情報が記載される欄である。
===ノードハートビート信号が正しく送受信されているか否かの確認===
リモートサイトの情報処理装置100で実行されるノードハートビート制御プログラム192は、ハートビート状態テーブル194を参照し、「P/S種別」欄が”SVOL”であり、「デバイス状態」欄が”ENABLE”であるものについて、それぞれ、「ローカルデバイスアドレス」欄に記載されているアドレスを指定して、ストレージ装置200に対して、ノードハートビート信号232の複製の読み出し要求を送信する。この読み出し要求の送信は、所定時間毎に、例えば1分間隔で行うようにすることができる。このノードハートビート信号232の複製は、ストレージ装置200によってハートビートSVOL(230)から読みだされ、情報処理装置100に送信される。そしてノードハートビート制御プログラム192は、ハートビートSVOL(230)から読みだされたノードハートビート信号232の複製の内容と、ハートビート状態テーブル194におけるそのノードハートビート信号232に対応する内容とを比較することにより、ノードハートビート信号232が正しく送受信されているか否かを判断する。
具体的には、ノードハートビート信号232の「リモートデバイスアドレス」欄の記載内容と、ハートビート状態テーブル194におけるそのノードハートビート信号232に対応する「リモートデバイスアドレス」欄の記載内容が一致するか否か、ノードハートビート信号232の「ローカルデバイスアドレス」欄の記載内容と、ハートビート状態テーブル194におけるそのノードハートビート信号232に対応する「ローカルデバイスアドレス」欄の記載内容が一致するか否か、ノードハートビート信号232の「ディスクハートビート/ノードハートビート種別」欄の記載内容が”NODE HEARTBEAT”であるか否かを比較する。さらに、ノードハートビート信号232の「通し番号」欄に記載された値が、前回に受信したノードハートビート信号232よりも増加しているか否かを確認する。
ノードハートビート信号232とハートビート状態テーブル194の上記各欄の記載内容が全て一致し、かつ、ノードハートビート信号232の「ディスクハートビート/ノードハートビート種別」欄の記載内容が”NODE HEARTBEAT”であり、かつ、ノードハートビート信号232の「通し番号」欄に記載された値が、前回に受信したノードハートビート信号232よりも増加している場合に、ノードハートビート制御プログラム192は、ノードハートビート信号232が正しく送受信されていると判断する。
そしてノードハートビート制御プログラム192は、ノードハートビート信号232が正しく送受信されているか否かに応じて、ハートビート状態テーブル194の「デバイス状態」欄に”ENABLE”、あるいは”FAILED”を記載する。
ノードハートビート制御プログラム192は、ハートビート状態テーブル194のノードハートビート信号232の状態を示す部分について、全ての「デバイス状態」欄が”FAILED”である場合には、「ノードハートビート状態」欄に”FAILED”を記載する。
===ディスクハートビート信号が正しく送受信されているか否かの確認===
ディスクハートビート制御プログラム215は、マイクロ制御VOL(230)に記憶されたハートビート状態テーブル194を参照し、「P/S種別」欄が”SVOL”であり、「デバイス状態」欄が”ENABLE”であるものについて、それぞれ、「ローカルデバイスアドレス」欄に記載されているハートビートSVOL(230)のアドレスから、ディスクハートビート信号232の複製を読みだす。この読み出しは、所定時間毎に、例えば1分間隔で行うようにすることができる。そしてディスクハートビート制御プログラム215は、ハートビートSVOL(230)から読みだされたディスクハートビート信号232の複製の内容と、ハートビート状態テーブル194におけるそのディスクハートビート信号232に対応する内容とを比較することにより、ディスクハートビート信号232が正しく送受信されているか否かを判断する。
具体的には、ディスクハートビート信号232の「リモートデバイスアドレス」欄の記載内容と、ハートビート状態テーブル194におけるそのディスクハートビート信号232に対応する「リモートデバイスアドレス」欄の記載内容が一致するか否か、ディスクハートビート信号232の「ローカルデバイスアドレス」欄の記載内容と、ハートビート状態テーブル194におけるそのディスクハートビート信号232に対応する「ローカルデバイスアドレス」欄の記載内容が一致するか否か、ディスクハートビート信号232の「ディスクハートビート/ノードハートビート種別」欄の記載内容が”DISK HEARTBEAT”であるか否かを比較する。さらに、ディスクハートビート信号232の「通し番号」欄に記載された値が、前回に受信したディスクハートビート信号232よりも増加しているか否かを確認する。
ディスクハートビート信号232とハートビート状態テーブル194の上記各欄の記載内容が全て一致し、かつ、ディスクハートビート信号232の「ディスクハートビート/ノードハートビート種別」欄の記載内容が”DISK HEARTBEAT”であり、かつ、ディスクハートビート信号232の「通し番号」欄に記載された値が、前回に受信したディスクハートビート信号232よりも増加している場合に、ディスクハートビート制御プログラム192は、ディスクハートビート信号232が正しく送受信されていると判断する。
そしてディスクハートビート制御プログラム215は、ディスクハートビート信号232が正しく送受信されているか否かに応じて、ハートビート状態テーブル194の「デバイス状態」欄に”ENABLE”、あるいは”FAILED”を記載する。
ディスクハートビート制御プログラム215は、ハートビート状態テーブル194のディスクハートビート信号232の状態を示す部分について、全ての「デバイス状態」欄が”FAILED”である場合には、「ディスクハートビート状態」欄に”FAILED”を記載する。
===メインサイトのコンピュータシステムの動作状態の判定===
リモートサイトの情報処理装置100で実行されるハートビート制御プログラム191は、リモートサイトのストレージ装置200に対して、マイクロ制御VOL(230)に記憶されたハートビート状態テーブル194の読み出し要求を送信する。この読み出し要求の送信は、所定時間毎に、例えば1分間隔で行うようにすることができる。そしてストレージ装置200は、マイクロ制御VOL(230)に記憶されたハートビート状態テーブル194を情報処理装置100に送信する。ハートビート制御プログラム191は、ストレージ装置200から送信されたハートビート状態テーブル194のうち、ディスクハートビート信号232の状態を示す部分を、メモリ120に記憶されるハートビート状態テーブル194に反映する。そしてハートビート制御プログラム191は、ノードハートビート信号232及びディスクハートビート信号232が、メインサイトのコンピュータシステムとリモートサイトのコンピュータシステムとの間で、正しく送受信されているか否かを確認する。これにより、ハートビート制御プログラム191は、ディスクハートビート信号232の複製の検知の結果と、ノードハートビート信号232の複製の検知の結果とに応じて、メインサイトのコンピュータシステムの動作状態を判定する。
さらにリモートサイトの情報処理装置100は、メインサイトのコンピュータシステムの動作状態に応じてフェイルオーバを行う必要があるか否かを判定し、必要に応じてリモートサイトのコンピュータシステムに、メインサイトのコンピュータシステムにおける情報処理をフェイルオーバさせる。フェイルオーバの実行はクラスタリング制御プログラム196により行うことができる。詳細は後述する。
===ハートビート信号の活性化/不活性化===
次に、ハートビート信号232を活性化する場合の処理の流れ、及びハートビート信号232を不活性化する場合の処理の流れについて説明する。まずハートビート信号232を活性化する場合の処理の流れについて、図9に示すフローチャートを参照しながら説明する。
まずハートビート制御プログラム191は、メインサイトの情報処理装置100の入力装置150に対してオペレータから入力されたデータに基づいて、活性化/不活性化メッセージ195を作成する。
オペレータからの指示がハートビート信号232の活性化である場合には、ハートビート制御プログラム191は、ハートビート用ミラーが生成されているか否かを確認する(S1000)。ハートビート用ミラーとは、レプリケーションのペアが形成されているハートビートPVOL(230)とハートビートSVOL(230)とのことをいう。ハートビート用ミラーが生成されていない場合には、ハートビート用ミラーを生成する(S1001)。ハートビート用ミラーの生成は、レプリケーション制御プログラム217により行われるようにすることもできる。
ハートビート用ミラーが生成されたらハートビート制御プログラム191は、メインサイトの情報処理装置100のメモリ120に記憶されているハートビート状態テーブル194を更新する(S1002)。例えば、ハートビート状態テーブル194の「ノードハートビート状態」欄を”ENABLE”に変更する。なお、図9その他の図面において記載されている生産系サイトはメインサイトである。また待機系サイトはリモートサイトである。
つづいてハートビート制御プログラム191は、オペレータから活性化の指示を受けたのがディスクハートビート信号232であるのか否かを確認する(S1003)。もしディスクハートビート信号232の活性化の指示を受けた場合には”YES”に進み、マイクロ制御VOL(230)に記憶されているハートビート状態テーブル194を更新する(S1004)。例えば、ハートビート状態テーブル194の「ディスクハートビート状態」欄を”ENABLE”に変更する。
そしてハートビート制御プログラム191は、活性化/不活性化メッセージ195をリモートサイトのコンピュータシステムに送信する(S1005)。リモートサイトのコンピュータシステムの情報処理装置200で実行されるハートビート制御プログラム191は、上記と同様の手順に従い、リモートサイトのコンピュータシステム内のハートビート状態テーブル194を更新する(S1006)。
次にハートビート信号232を不活性化する場合の処理の流れについて、図10に示すフローチャートを参照しながら説明する。
まずハートビート制御プログラム191は、メインサイトの情報処理装置100の入力装置150に対してオペレータから入力されたデータに基づいて、活性化/不活性化メッセージ195を作成する。
オペレータからの指示がハートビート信号232の不活性化である場合には、ハートビート制御プログラム191は、メインサイトの情報処理装置100のメモリ120に記憶されているハートビート状態テーブル194を更新する(S2000)。例えば、ハートビート状態テーブル194の「ノードハートビート状態」欄を”FAILED”に変更する。
つづいてハートビート制御プログラム191は、オペレータから不活性化の指示を受けたのがディスクハートビート信号232であるのか否かを確認する(S2001)。もしディスクハートビート信号232の不活性化の指示を受けた場合には”YES”に進み、マイクロ制御VOL(230)に記憶されているハートビート状態テーブル194を更新する(S2002)。例えば、ハートビート状態テーブル194の「ディスクハートビート状態」欄を”FAILED”に変更する。
そしてハートビート制御プログラム191は、活性化/不活性化メッセージ195をリモートサイトのコンピュータシステムに送信する(S2003)。リモートサイトのコンピュータシステムの情報処理装置200で実行されるハートビート制御プログラム191は、上記と同様の手順に従い、リモートサイトのコンピュータシステム内のハートビート状態テーブル194を更新する(S2004)。
そしてハートビート制御プログラム191は、不要なハートビート用ミラーが存在するか否かを確認する(S2005)。不要なハートビート用ミラーが存在する場合には削除する(S2006)。不要なハートビート用ミラーの削除は、レプリケーション制御プログラム217により行われるようにすることもできる。
===ノードハートビート信号の送信===
以上の処理により、ノードハートビート信号232の活性化が行われると、メインサイトのコンピュータシステムからリモートサイトのコンピュータシステムに対するノードハートビート信号232の送信が開始される。ノードハートビート信号232を送信する際の処理の流れについて、図11に示すフローチャートを参照しながら説明する。
まずノードハートビート制御プログラム192は、メモリ120に記憶されたハートビート状態テーブル194のうち、ノードハートビート信号232の状態を示す部分を参照し、「P/S種別」欄が”PVOL”であり、かつ、「デバイス状態」欄が”ENABLE”であるものについて、「ローカルデバイスアドレス」欄に記載されたハートビートPVOL(230)のアドレスを特定する(S3000)。そしてそのハートビートPVOL(230)のアドレスを指定して、ストレージ装置200に対して、ノードハートビート信号232の書き込み要求を送信する。このノードハートビート信号232は、ストレージ装置200で実行されるストレージ制御プログラム218によってハートビートPVOL(230)に書き込まれる(S3001)。そしてレプリケーション制御プログラム217は、ペア管理テーブル216に基づいて、ハートビートPVOL(230)に書き込まれたノードハートビート信号232を、第2のネットワーク310を介してリモートサイトのストレージ装置200に送信する。レプリケーション制御プログラム217は、第2のネットワーク310を介してメインサイトのストレージ装置200から送信されたノードハートビート信号232を、ハートビートSVOL(230)に書き込む(S3002)。これにより、メインサイトのコンピュータシステムからリモートサイトのコンピュータシステムに対するノードハートビート信号232の送信を行うことができる。なお図11その他の図面において記載されている遠隔ミラーはレプリケーション制御プログラム217である。
なお以上の処理は、メモリ120に記憶されたハートビート状態テーブル194のノードハートビート信号232の状態を示す部分の「P/S種別」欄が”PVOL”であり、かつ、「デバイス状態」欄が”ENABLE”であるもののそれぞれについて行われる。
===ディスクハートビート信号の送信===
また、ディスクハートビート信号232の活性化が行われると、メインサイトのコンピュータシステムからリモートサイトのコンピュータシステムに対するディスクハートビート信号232の送信が開始される。ディスクハートビート信号232を送信する際の処理の流れについて、図12に示すフローチャートを参照しながら説明する。
まずディスクハートビート制御プログラム215は、マイクロ制御VOL(230)に記憶されたハートビート状態テーブル194のうち、ディスクハートビート信号232の状態を示す部分を参照し、「P/S種別」欄が”PVOL”であり、かつ、「デバイス状態」欄が”ENABLE”であるものについて、「ローカルデバイスアドレス」欄に記載されたハートビートPVOL(230)のアドレスを特定する(S4000)。そしてそのハートビートPVOL(230)のアドレスに対してディスクハートビート信号232の書き込みを行う(S4001)。そしてレプリケーション制御プログラム217は、ペア管理テーブル216に基づいて、ハートビートPVOL(230)に書き込まれたディスクハートビート信号232を、第2のネットワーク310を介してリモートサイトのストレージ装置200に送信する。レプリケーション制御プログラム217は、第2のネットワーク310を介してメインサイトのストレージ装置200から送信されたディスクハートビート信号232を、ハートビートSVOL(230)に書き込む(S4002)。これにより、メインサイトのコンピュータシステムからリモートサイトのコンピュータシステムに対するディスクハートビート信号232の送信を行うことができる。
なお以上の処理は、マイクロ制御VOL(230)に記憶されたハートビート状態テーブル194のディスクハートビート信号232の状態を示す部分の「P/S種別」欄が”PVOL”であり、かつ、「デバイス状態」欄が”ENABLE”であるもののそれぞれについて行われる。
===ディスクハートビート信号の受信===
続いてディスクハートビート信号232を受信する際の処理の流れについて、図13に示すフローチャートを参照しながら説明する。
まず、ディスクハートビート制御プログラム215は、上述したように、マイクロ制御VOL(230)に記憶されたハートビート状態テーブル194に記載された内容と、ハートビートSVOL(230)に書き込まれたディスクハートビート信号232の内容とを比較することにより、ディスクハートビート信号232が正常であるか否かを調べる(S5000)。ディスクハートビート信号232が正常でない場合は、S5001にて”NO”に進み、マイクロ制御VOL(230)に記憶されているハートビート状態テーブル194の内容を更新する(S5002)。更新は、ハートビート状態テーブル194の「デバイス状態」欄に”FAILED”を記載することにより行う。
===ノードハートビート信号の受信===
次にノードハートビート信号232を受信する際の処理の流れについて、図14に示すフローチャートを参照しながら説明する。
まず、ノードハートビート制御プログラム192は、上述したように、メモリ120に記憶されたハートビート状態テーブル194に基づいて、ストレージ装置200に対して、ハートビートSVOL(230)に書き込まれたノードハートビート信号232の複製の読み出し要求を送信する。このノードハートビート信号232の複製は、ストレージ装置200で実行されるストレージ制御プログラム218によってハートビートSVOL(230)から読みだされ、情報処理装置100に送信される。そしてノードハートビート制御プログラム192は、メモリ120に記憶されたハートビート状態テーブル194に記載された内容と、ノードハートビート信号232の内容とを比較することにより、ノードハートビート信号232が正常であるか否かを調べる(S6000)。ノードハートビート信号232が正常でない場合は、S6001にて”NO”に進み、メモリ120に記憶されているハートビート状態テーブル194の内容を更新する(S6002)。更新は、ハートビート状態テーブル194の「デバイス状態」欄に”FAILED”を記載することにより行う。
一方、ハートビート制御プログラム191は、ストレージ装置200に対して、マイクロ制御VOL(230)に記憶されたハートビート状態テーブル194の読み出し要求を送信する。ハートビート制御プログラム191は、ストレージ装置200で実行されるストレージ制御プログラム218により送信されたハートビート状態テーブル194のうち、ディスクハートビート信号232の状態を示す部分を、メモリ120に記憶されるハートビート状態テーブル194に反映する(S6003)。そしてハートビート制御プログラム191は、メインサイトのコンピュータシステムの動作状態を判定し、故障部位を特定する(S6004)。
故障部位の特定は、例えば図15に示すハートビート判定テーブル198を参照することにより行うことができる。図15において、ノードハートビート信号232が「OK」とは、ハートビート状態テーブル194の「ノードハートビート状態」欄が”ENABLE”である状態をいう。またノードハートビート信号232が「NG」とは、ハートビート状態テーブル194の「ノードハートビート状態」欄が”FAILED”である状態をいう。ディスクハートビート信号232についても同様である。
そして、ノードハートビート信号232及びディスクハートビート信号232の送受信がそれぞれ正常に行われたか否かに応じて、ハートビート判定テーブル198の「1」、「2」、「3」、「4」のいずれかに分類され、故障部位が特定される。
例えば、図16に示す構成のストレージシステム400において、ノードハートビート信号232及びディスクハートビート信号232の送受信がおこなわれる場合には、図17に示すように故障部位が特定できる。
図17において、丸印が記載された部位は異常ではないことを示し、黒三角印が記載された部位は異常である可能性があることを示す。例えばノードハートビート信号232は正常に送受信されているのだが、ディスクハートビート信号232が正しく送受信されていない場合には、図15に示すハートビート判定テーブル198の「3」に分類されるので、メインサイトのストレージ装置200のディスク制御装置210が異常であるということが即座に判定できる。また例えばディスクハートビート信号232は正常に送受信されているのだが、ノードハートビート信号232が正しく送受信されていない場合には、図15に示すハートビート判定テーブル198の「2」に分類されるので、メインサイトの情報処理装置100が異常であるか、メインサイトの情報処理装置100とストレージ装置200とを接続する入出力パス330が異常であるかのどちらかであるということが即座に判定できる。
また例えば、図18に示す構成のストレージシステム400においては、図19に示すように故障部位を詳細に特定することができる。
さらに、例えば図20に示すように複数のノードハートビート信号232を送受信するようにする場合には、さらに詳細な故障部位の特定が可能となる。この場合のハートビート判定テーブル198は図21に示すようになる。そして、ノードハートビート信号232及びディスクハートビート信号232の送受信がそれぞれ正常に行われたか否かに応じて、ハートビート判定テーブル198の「1」乃至「8」のいずれかに詳細に分類され、故障部位を詳細に特定することができる。
以上のようにして故障部位が特定されると、ハートビート制御プログラム191は、メインサイトのコンピュータシステムの動作状態をユーザインタフェースに出力する。また故障部位に応じた処理を実行する(S6005)。動作状態の出力は、例えば図23に示すように、情報処理装置100の出力装置160であるディスプレイの画面上に表示されるウインドウを通じて行うようにすることができる。また管理端末260の出力装置266であるディスプレイの画面上に表示されるウインドウを通じて行うようにすることもできる。このように本実施の形態におけるストレージシステム400においては、故障部位が即座に特定され、ユーザインタフェースに出力されるので、故障部位の迅速な特定、保守管理負担の軽減、コンピュータシステムの信頼性の向上を図ることが可能となる。
またハートビート制御プログラム191は、故障部位に応じて例えばフェイルオーバを行うか行わないかを決定し、必要な場合にはクラスタリング制御プログラム196にフェイルオーバを行わせるようにすることができる。例えば、図20に示すストレージシステム400の構成において、ディスクハートビート信号232は正常に送受信されているが、2つのノードハートビート信号232の送受信がいずれも正常に行われていない場合には、黒三角印の部位に異常が発生しているか否かを、例えば診断プログラムを実行することにより一つずつ確認してゆき、最終的にメインサイトの情報処理装置200に異常が発生していると判断した場合には、フェイルオーバを行うようにすることもできる。
以上のように、本実施の形態に係るストレージシステム400においては、リモートサイトのコンピュータシステムは、メインサイトのコンピュータシステムからディスクハートビート信号232が送信されないことを検知することにより、メインサイトのストレージ装置200に異常が発生したことを検知することができる。これにより、メインサイトのストレージ装置200の異常をいち早く検知、特定することが可能となる。このため迅速な障害対応が可能となり、保守管理負担の軽減や、保守サービスの向上、さらにはコンピュータシステムの信頼性の向上を図ることが可能となる。
さらに本実施の形態に係るストレージシステム400においては、ディスクハートビート信号232の送受信に加え、ノードハートビート信号232の送受信を組み合わせることにより、コンピュータシステムにおける異常箇所の特定をより容易に、より詳細に、より正確に特定することが可能となる。またクラスタ制御を行う場合に、障害検出時の動作を特定することが可能となる。例えばハートビート状態テーブル194の「ノードハートビート状態」が”FAILED”であり、「ディスクハートビート状態」が”ENABLE”の場合は、メインサイトの情報処理装置A(100)での情報処理が続行できないと判断し、リモートサイトの情報処理装置B(100)での処理に切り替えることができる。このように、従来は情報処理サービスの提供の継続が不可能となっていた場合にも、情報処理サービスの提供を継続して行うことを可能とすることができる。
また本実施の形態に係るストレージシステム400は、これらのハートビート信号232の送受信を高信頼な第2のネットワーク310を介して行うので、信頼性の向上を図ることも可能となるのである。
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
本実施の形態に係るストレージシステムの全体構成を示すブロック図である。 本実施の形態に係る情報処理装置の構成を示すブロック図である。 本実施の形態に係る管理端末の構成を示すブロック図である。 本実施の形態に係るペア管理テーブルを示す図である。 本実施の形態に係るストレージシステムの全体構成を示すブロック図である。 本実施の形態に係る活性化/不活性化メッセージを示す図である。 本実施の形態に係るハートビート状態テーブルを示す図である。 本実施の形態に係るハートビート信号を示す図である。 本実施の形態に係るハートビート信号の活性化の処理の流れを示すフローチャートである。 本実施の形態に係るハートビート信号の不活性化の処理の流れを示すフローチャートである。 本実施の形態に係るノードハートビート信号の送信の処理の流れを示すフローチャートである。 本実施の形態に係るディスクハートビート信号の送信の処理の流れを示すフローチャートである。 本実施の形態に係るディスクハートビート信号の受信の処理の流れを示すフローチャートである。 本実施の形態に係るノードハートビート信号の受信の処理の流れを示すフローチャートである。 本実施の形態に係るハートビート判定テーブルを示す図である。 本実施の形態に係るストレージシステムの全体構成を示すブロック図である。 本実施の形態に係るハートビート判定テーブルを示す図である。 本実施の形態に係るストレージシステムの全体構成を示すブロック図である。 本実施の形態に係るハートビート判定テーブルを示す図である。 本実施の形態に係るストレージシステムの全体構成を示すブロック図である。 本実施の形態に係るハートビート判定テーブルを示す図である。 本実施の形態に係るハートビート判定テーブルを示す図である。 本実施の形態に係るコンピュータシステムの動作状態がユーザインタフェースに出力された様子を示す図である。
符号の説明
100 情報処理装置
191 ハートビート制御プログラム
192 ノードハートビート制御プログラム
193 ストレージ管理プログラム
194 ハートビート状態テーブル
195 活性化不活性化メッセージ
196 クラスタリング制御プログラム
197 オペレーティングシステム
198 ハートビート判定テーブル
200 ストレージ装置
215 ディスクハートビート制御プログラム
216 ペア管理テーブル
217 レプリケーション制御プログラム
218 ストレージ制御プログラム
232 ハートビート信号
260 管理端末
269 制御プログラム
300 第1のネットワーク
310 第2のネットワーク
330 入出力パス
400 ストレージシステム

Claims (19)

  1. データを記憶する第1の記憶ボリュームを有する第1のストレージ装置と、
    前記第1のストレージ装置と通信可能に接続され、データを記憶する第2の記憶ボリュームを有する第2のストレージ装置と、
    を備え、
    前記第1のストレージ装置は、
    前記第1の記憶ボリュームにデータが書き込まれると、前記データの複製を前記第2のストレージ装置に送信する複製データ送信部
    を備え、
    前記第2のストレージ装置は、
    前記複製データ送信部により送信される前記データの複製を受信し、前記データの複製を前記第2の記憶ボリュームに書き込む複製データ受信部
    を備え、
    前記第1のストレージ装置は、
    第1のハートビートメッセージを前記第1の記憶ボリュームに所定時間以内の間隔で繰り返し書き込むディスクハートビート書き込み部
    を備え、
    前記第2のストレージ装置は、
    前記複製データ受信部により前記第2の記憶ボリュームへ書き込まれる前記第1のハートビートメッセージの複製の検知を行うディスクハートビート検知部
    を備えることを特徴とするストレージシステム。
  2. 前記第1のストレージ装置には第1の情報処理装置が通信可能に接続され、
    前記第2のストレージ装置には第2の情報処理装置が通信可能に接続され、
    前記第1の情報処理装置は、
    前記第1の記憶ボリュームへの第2のハートビートメッセージの書き込み要求を前記第1のストレージ装置に所定時間以内の間隔で繰り返し送信するノードハートビート書き込み要求部
    を備え、
    前記第1のストレージ装置は、
    前記第2のハートビートメッセージの書き込み要求に応じて、前記第2のハートビートメッセージを前記第1の記憶ボリュームに書き込むノードハートビート書き込み部
    を備え、
    前記第2のストレージ装置は、
    前記複製データ受信部により前記第2の記憶ボリュームへ書き込まれる前記第2のハートビートメッセージの複製を前記第2の情報処理装置に送信するノードハートビート送信部
    を備え、
    前記第2の情報処理装置は、
    前記ノードハートビート送信部により送信される前記第2のハートビートメッセージの複製の検知を行うノードハートビート検知部
    を備えることを特徴とする請求項1に記載のストレージシステム。
  3. 前記第1のストレージ装置は、
    前記第1のハートビートメッセージであるディスクハートビート信号を作成するディスクハートビート作成部
    を備えることを特徴とする請求項1に記載のストレージシステム。
  4. 前記第1の情報処理装置は、
    前記第2のハートビートメッセージであるノードハートビート信号を作成するノードハートビート作成部
    を備えることを特徴とする請求項2に記載のストレージシステム。
  5. 前記第2のストレージ装置は、
    前記ディスクハートビート検知部による前記第1のハートビートメッセージの複製の検知の結果を前記第2の情報処理装置に送信するディスクハートビート検知結果送信部
    を備え、
    前記第2の情報処理装置は、
    前記ディスクハートビート検知結果送信部により送信される前記第1のハートビートメッセージの複製の検知の結果と、前記ノードハートビート検知部による前記第2のハートビートメッセージの複製の検知の結果とに応じて、前記第1の情報処理装置及び前記第1のストレージ装置を含んで構成される第1のコンピュータシステムの動作状態を判定する動作状態判定部
    を備えることを特徴とする請求項2に記載のストレージシステム。
  6. 前記第2の情報処理装置は、
    前記第1のコンピュータシステムの動作状態に応じて、前記第2の情報処理装置及び前記第2のストレージ装置を含んで構成される第2のコンピュータシステムに、前記第1のコンピュータシステムにおける情報処理をフェイルオーバさせるフェイルオーバ制御部
    を備えることを特徴とする請求項5に記載のストレージシステム。
  7. 前記第2の情報処理装置は、
    前記第1のコンピュータシステムの動作状態をユーザインタフェースに出力する動作状態表示部
    を備えることを特徴とする請求項5に記載のストレージシステム。
  8. 前記第1のハートビートメッセージは、
    前記第1のハートビートメッセージの識別情報、
    前記第1のハートビートメッセージが作成された時刻を示す情報、
    前記第1のハートビートメッセージが書き込まれる前記第1の記憶ボリュームの記憶位置を示す情報、
    及び、前記第1のハートビートメッセージが書き込まれる前記第2の記憶ボリュームの記憶位置を示す情報、
    の少なくともいずれかを含んで構成されること
    を特徴とする請求項1に記載のストレージシステム。
  9. データを記憶する第1の記憶ボリュームを有する第1のストレージ装置と、
    前記第1のストレージ装置と通信可能に接続され、データを記憶する第2の記憶ボリュームを有する第2のストレージ装置と、
    を備え、
    前記第1のストレージ装置は、
    前記第1の記憶ボリュームにデータが書き込まれると、前記データの複製を前記第2のストレージ装置に送信する複製データ送信部
    を備え、
    前記第2のストレージ装置は、
    前記複製データ送信部により送信される前記データの複製を受信し、前記データの複製を前記第2の記憶ボリュームに書き込む複製データ受信部
    を備えるストレージシステムの制御方法であって、
    前記第1のストレージ装置が、第1のハートビートメッセージを前記第1の記憶ボリュームに所定時間以内の間隔で繰り返し書き込み、
    前記第2のストレージ装置が、前記複製データ受信部により前記第2の記憶ボリュームへ書き込まれる前記第1のハートビートメッセージの複製の検知を行うこと
    を特徴とするストレージシステムの制御方法。
  10. 前記第1のストレージ装置には第1の情報処理装置が通信可能に接続され、
    前記第2のストレージ装置には第2の情報処理装置が通信可能に接続され、
    前記第1の情報処理装置が、前記第1のストレージ装置に、前記第1の記憶ボリュームへの第2のハートビートメッセージの書き込み要求を所定時間以内の間隔で繰り返し送信し、
    前記第1のストレージ装置が、前記第2のハートビートメッセージの書き込み要求に応じて、前記第2のハートビートメッセージを前記第1の記憶ボリュームに書き込み、
    前記第2のストレージ装置が、前記複製データ受信部により前記第2の記憶ボリュームへ書き込まれる前記第2のハートビートメッセージの複製を前記第2の情報処理装置に送信し、
    前記第2の情報処理装置が、前記第2のストレージ装置から送信される前記第2のハートビートメッセージの複製の検知を行うこと
    を特徴とする請求項9に記載のストレージシステムの制御方法。
  11. 前記第1のストレージ装置は、
    前記第1のハートビートメッセージであるディスクハートビート信号を作成するディスクハートビート作成部
    を備えることを特徴とする請求項9に記載のストレージシステムの制御方法。
  12. 前記第1の情報処理装置は、
    前記第2のハートビートメッセージであるノードハートビート信号を作成するノードハートビート作成部
    を備えることを特徴とする請求項10に記載のストレージシステムの制御方法。
  13. 前記第2のストレージ装置が、前記第1のハートビートメッセージの複製の検知の結果を前記第2の情報処理装置に送信し、
    前記第2の情報処理装置が、前記第2のストレージ装置から送信される前記第1のハートビートメッセージの複製の検知の結果と、前記第2のハートビートメッセージの複製の検知の結果とに応じて、前記第1の情報処理装置及び前記第1のストレージ装置を含んで構成される第1のコンピュータシステムの動作状態を判定すること
    を特徴とする請求項10に記載のストレージシステムの制御方法。
  14. 前記第2の情報処理装置が、前記第1のコンピュータシステムの動作状態に応じて、前記第2の情報処理装置及び前記第2のストレージ装置を含んで構成される第2のコンピュータシステムに、前記第1のコンピュータシステムにおける情報処理をフェイルオーバさせること
    を特徴とする請求項13に記載のストレージシステムの制御方法。
  15. 前記第2の情報処理装置が、前記第1のコンピュータシステムの動作状態をユーザインタフェースに出力すること
    を特徴とする請求項13に記載のストレージシステムの制御方法。
  16. 前記第1のハートビートメッセージは、
    前記第1のハートビートメッセージの識別情報、
    前記第1のハートビートメッセージが作成された時刻を示す情報、
    前記第1のハートビートメッセージが書き込まれる前記第1の記憶ボリュームの記憶位置を示す情報、
    及び、前記第1のハートビートメッセージが書き込まれる前記第2の記憶ボリュームの記憶位置を示す情報、
    の少なくともいずれかを含んで構成されること
    を特徴とする請求項9に記載のストレージシステムの制御方法。
  17. データを記憶する第1の記憶ボリュームを有する第1のストレージ装置、及び前記第1のストレージ装置と通信可能に接続される第1の情報処理装置を備える第1のコンピュータシステムと、
    前記第1のストレージ装置と通信可能に接続され、データを記憶する第2の記憶ボリュームを有する第2のストレージ装置、及び前記第2のストレージ装置と通信可能に接続される第2の情報処理装置を備える第2のコンピュータシステムと、
    を備え、
    前記第1のストレージ装置は、
    前記第1の記憶ボリュームにデータが書き込まれると、前記データの複製を前記第2のストレージ装置に送信する複製データ送信部
    を備え、
    前記第2のストレージ装置は、
    前記複製データ送信部により送信される前記データの複製を受信し、前記データの複製を前記第2の記憶ボリュームに書き込む複製データ受信部
    を備え、
    前記第1のストレージ装置は、
    所定時間以内の間隔で繰り返し第1のハートビートメッセージを作成するディスクハートビート作成部と、
    前記第1のハートビートメッセージを前記第1の記憶ボリュームに所定時間以内の間隔で繰り返し書き込むディスクハートビート書き込み部と
    を備え、
    前記第2のストレージ装置は、
    前記複製データ受信部により前記第2の記憶ボリュームへ書き込まれる前記第1のハートビートメッセージの複製の検知を行うディスクハートビート検知部と、
    前記ディスクハートビート検知部による前記第1のハートビートメッセージの複製の検知の結果を前記第2の情報処理装置に送信するディスクハートビート検知結果送信部と、
    を備え、
    前記第1の情報処理装置は、
    所定時間以内の間隔で繰り返し第2のハートビートメッセージを作成するノードハートビート作成部と、
    前記第1の記憶ボリュームへの前記第2のハートビートメッセージの書き込み要求を前記第1のストレージ装置に所定時間以内の間隔で繰り返し送信するノードハートビート書き込み要求部と
    を備え、
    前記第1のストレージ装置は、
    前記第2のハートビートメッセージの書き込み要求に応じて、前記第2のハートビートメッセージを前記第1の記憶ボリュームに書き込むノードハートビート書き込み部
    を備え、
    前記第2のストレージ装置は、
    前記複製データ受信部により前記第2の記憶ボリュームへ書き込まれる前記第2のハートビートメッセージの複製を前記第2の情報処理装置に送信するノードハートビート送信部
    を備え、
    前記第2の情報処理装置は、
    前記ノードハートビート送信部により送信される前記第2のハートビートメッセージの複製の検知を行うノードハートビート検知部と、
    前記ノードハートビート検知部による前記第2のハートビートメッセージの複製の検知の結果と、前記ディスクハートビート検知結果送信部により送信される前記第1のハートビートメッセージの複製の検知の結果とに応じて、前記第1のコンピュータシステムの動作状態を判定する動作状態判定部と、
    前記第1のコンピュータシステムの動作状態に応じて、前記第2のコンピュータシステムに、前記第1のコンピュータシステムにおける情報処理をフェイルオーバさせるフェイルオーバ実行部と、
    を備えること
    を特徴とするストレージシステム。
  18. 前記第1のハートビートメッセージは、
    前記第1のハートビートメッセージの識別情報、
    前記第1のハートビートメッセージが作成された時刻を示す情報、
    前記第1のハートビートメッセージが書き込まれる前記第1の記憶ボリュームの記憶位置を示す情報、
    及び、前記第1のハートビートメッセージが書き込まれる前記第2の記憶ボリュームの記憶位置を示す情報、
    の少なくともいずれかを含んで構成され、
    前記第2のハートビートメッセージは、
    前記第2のハートビートメッセージの識別情報、
    前記第2のハートビートメッセージが作成された時刻を示す情報、
    前記第2のハートビートメッセージが書き込まれる前記第1の記憶ボリュームの記憶位置を示す情報、
    及び、前記第2のハートビートメッセージが書き込まれる前記第2の記憶ボリュームの記憶位置を示す情報、
    の少なくともいずれかを含んで構成されること
    を特徴とする請求項17に記載のストレージシステム。
  19. データを記憶する第2の記憶ボリュームに対するデータの読み書きを制御する第2のストレージ制御装置と通信可能に接続され、データを記憶する第1、第3の記憶ボリュームに対するデータの読み書きを制御する第1のストレージ制御装置であって、
    前記第1の記憶ボリュームにデータが書き込まれると、当該データの複製を前記第2のストレージ制御装置に送信する複製データ送信部と、
    第1のハートビートメッセージを前記第1の記憶ボリュームに書き込むディスクハートビート書き込み部と、
    前記第2のストレージ制御装置により前記第2の記憶ボリュームに書き込まれた第2のハートビートメッセージの複製を、前記第2のストレージ制御装置から受信し、当該複製を前記第3の記憶ボリュームに書き込む複製データ受信部と、
    前記複製データ受信部により前記第3の記憶ボリュームへ書き込まれる前記第2のハートビートメッセージの複製の検知を行うディスクハートビート検知部と、
    を備えることを特徴とするストレージ制御装置。

JP2004002037A 2004-01-07 2004-01-07 ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置 Pending JP2005196467A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004002037A JP2005196467A (ja) 2004-01-07 2004-01-07 ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置
US10/806,986 US7124264B2 (en) 2004-01-07 2004-03-22 Storage system, control method for storage system, and storage control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004002037A JP2005196467A (ja) 2004-01-07 2004-01-07 ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置

Publications (1)

Publication Number Publication Date
JP2005196467A true JP2005196467A (ja) 2005-07-21

Family

ID=34709024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004002037A Pending JP2005196467A (ja) 2004-01-07 2004-01-07 ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置

Country Status (2)

Country Link
US (1) US7124264B2 (ja)
JP (1) JP2005196467A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007128414A (ja) * 2005-11-07 2007-05-24 Hitachi Ltd ストレージサブシステムのボリューム複製方法
JP2016004462A (ja) * 2014-06-18 2016-01-12 株式会社Nttドコモ データベースシステム及び運用切替方法
JP2017187868A (ja) * 2016-04-01 2017-10-12 横河電機株式会社 冗長化装置、冗長化システム、及び冗長化方法
JPWO2018056044A1 (ja) * 2016-09-21 2019-07-04 日本電気株式会社 計算機並びにクラスタ管理システム、方法及びプログラム

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685126B2 (en) 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US7146524B2 (en) 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US20040153692A1 (en) * 2001-12-28 2004-08-05 O'brien Michael Method for managing faults it a computer system enviroment
EP2284735A1 (en) 2002-11-14 2011-02-16 Isilon Systems, Inc. Systems and methods for restriping files in a distributed file system
US8051425B2 (en) 2004-10-29 2011-11-01 Emc Corporation Distributed system with asynchronous execution systems and methods
US8055711B2 (en) 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
US8238350B2 (en) 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
US7496701B2 (en) * 2004-11-18 2009-02-24 International Business Machines Corporation Managing virtual server control of computer support systems with heartbeat message
US20060259815A1 (en) * 2005-05-10 2006-11-16 Stratus Technologies Bermuda Ltd. Systems and methods for ensuring high availability
US7788303B2 (en) 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
US7917474B2 (en) 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
US7551572B2 (en) 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
US7797283B2 (en) 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
US7848261B2 (en) 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
US7756898B2 (en) 2006-03-31 2010-07-13 Isilon Systems, Inc. Systems and methods for notifying listeners of events
US8539056B2 (en) 2006-08-02 2013-09-17 Emc Corporation Systems and methods for configuring multiple network interfaces
US7882071B2 (en) 2006-08-18 2011-02-01 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7590652B2 (en) 2006-08-18 2009-09-15 Isilon Systems, Inc. Systems and methods of reverse lookup
US7680842B2 (en) 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7680836B2 (en) 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7676691B2 (en) 2006-08-18 2010-03-09 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7953704B2 (en) 2006-08-18 2011-05-31 Emc Corporation Systems and methods for a snapshot of data
US7899800B2 (en) 2006-08-18 2011-03-01 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7822932B2 (en) 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7752402B2 (en) * 2006-08-18 2010-07-06 Isilon Systems, Inc. Systems and methods for allowing incremental journaling
US8286029B2 (en) * 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US7593938B2 (en) 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US7509448B2 (en) 2007-01-05 2009-03-24 Isilon Systems, Inc. Systems and methods for managing semantic locks
US7779048B2 (en) 2007-04-13 2010-08-17 Isilon Systems, Inc. Systems and methods of providing possible value ranges
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
US7900015B2 (en) 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
US7966289B2 (en) 2007-08-21 2011-06-21 Emc Corporation Systems and methods for reading objects in a file system
US7882068B2 (en) 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7949692B2 (en) 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
US7720815B1 (en) * 2007-08-27 2010-05-18 Amazon Technologies, Inc. Circular replication of data
US7984324B2 (en) 2008-03-27 2011-07-19 Emc Corporation Systems and methods for managing stalled storage devices
US7870345B2 (en) 2008-03-27 2011-01-11 Isilon Systems, Inc. Systems and methods for managing stalled storage devices
US7953709B2 (en) 2008-03-27 2011-05-31 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7949636B2 (en) 2008-03-27 2011-05-24 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
WO2011121921A1 (ja) * 2010-03-29 2011-10-06 パナソニック株式会社 通信ノード及びネットワークノード
US8924967B2 (en) * 2011-04-28 2014-12-30 Vmware, Inc. Maintaining high availability of a group of virtual machines using heartbeat messages
US9274901B2 (en) * 2013-11-20 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. I/O request mirroring in a clustered storage system
US10409496B1 (en) * 2017-04-27 2019-09-10 EMC IP Holding Company LLC Write tagging for selective avoidance of inline compression
CN112162886B (zh) * 2020-09-18 2023-12-22 北京浪潮数据技术有限公司 一种后端存储设备切换方法、装置、设备和介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US6629264B1 (en) 2000-03-30 2003-09-30 Hewlett-Packard Development Company, L.P. Controller-based remote copy system with logical unit grouping
US6601187B1 (en) 2000-03-31 2003-07-29 Hewlett-Packard Development Company, L. P. System for data replication using redundant pairs of storage controllers, fibre channel fabrics and links therebetween
US7275100B2 (en) * 2001-01-12 2007-09-25 Hitachi, Ltd. Failure notification method and system using remote mirroring for clustering systems
US7093127B2 (en) 2001-08-09 2006-08-15 Falconstor, Inc. System and method for computer storage security
US6732243B2 (en) 2001-11-08 2004-05-04 Chaparral Network Storage, Inc. Data mirroring using shared buses
US7149769B2 (en) 2002-03-26 2006-12-12 Hewlett-Packard Development Company, L.P. System and method for multi-destination merge in a storage area network
US7076687B2 (en) 2002-10-16 2006-07-11 Hitachi, Ltd. System and method for bi-directional failure detection of a site in a clustering system
US7451359B1 (en) 2002-11-27 2008-11-11 Oracle International Corp. Heartbeat mechanism for cluster systems

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007128414A (ja) * 2005-11-07 2007-05-24 Hitachi Ltd ストレージサブシステムのボリューム複製方法
JP2016004462A (ja) * 2014-06-18 2016-01-12 株式会社Nttドコモ データベースシステム及び運用切替方法
JP2017187868A (ja) * 2016-04-01 2017-10-12 横河電機株式会社 冗長化装置、冗長化システム、及び冗長化方法
US10339018B2 (en) 2016-04-01 2019-07-02 Yokogawa Electric Corporation Redundancy device, redundancy system, and redundancy method
JPWO2018056044A1 (ja) * 2016-09-21 2019-07-04 日本電気株式会社 計算機並びにクラスタ管理システム、方法及びプログラム
JP7006606B2 (ja) 2016-09-21 2022-01-24 日本電気株式会社 計算機並びにクラスタ管理システム、方法及びプログラム

Also Published As

Publication number Publication date
US20050148891A1 (en) 2005-07-07
US7124264B2 (en) 2006-10-17

Similar Documents

Publication Publication Date Title
JP2005196467A (ja) ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置
JP4405509B2 (ja) データ管理方法、システム、およびプログラム(リモート記憶位置にフェイルオーバを行うための方法、システム、およびプログラム)
US7725776B2 (en) Method for displaying pair state of copy pairs
US9483366B2 (en) Bitmap selection for remote copying of updates
JP4939174B2 (ja) ミラーリングされたシステム内の障害を管理するための方法
JP4800046B2 (ja) ストレージシステム
US7188222B2 (en) Method, system, and program for mirroring data among storage sites
US7055057B2 (en) Coherency of non-committed replicate data after failover/failback
JP4387116B2 (ja) ストレージシステムの制御方法、及びストレージシステム
US7673173B2 (en) System and program for transmitting input/output requests from a first controller to a second controller
US7017003B2 (en) Disk array apparatus and disk array apparatus control method
US7114094B2 (en) Information processing system for judging if backup at secondary site is necessary upon failover
US7076687B2 (en) System and method for bi-directional failure detection of a site in a clustering system
US7865767B2 (en) Storage system and method for copying data to plurality of sites
US9189348B2 (en) High availability database management system and database management method using same
US7454655B2 (en) Autonomic recovery of PPRC errors detected by PPRC peer
US7111004B2 (en) Method, system, and program for mirroring data between sites
JP2011128917A (ja) データ割当制御プログラム、データ割当制御方法、およびデータ割当制御装置
JPH08227344A (ja) 二重磁気ディスク制御装置間の通信制御装置
KR20100061457A (ko) 스토리지 컨트롤러와 복제 엔진 사이에서 라이트들을 스플리트하는 기술
EP2101266A1 (en) Remote copy system and method having copy path check unit
JP2017174238A (ja) 制御プログラム、制御方法、および制御装置
JP2005242632A (ja) 情報処理装置の制御方法、情報処理装置、及びストレージ装置の制御方法
US20080294858A1 (en) Storage system and data management method
JP4452494B2 (ja) 複数リモートストレージでのリモートコピー停止後のデータ同期化方式