JP5034495B2 - ストレージシステムとプログラム並びに方法 - Google Patents

ストレージシステムとプログラム並びに方法 Download PDF

Info

Publication number
JP5034495B2
JP5034495B2 JP2006352482A JP2006352482A JP5034495B2 JP 5034495 B2 JP5034495 B2 JP 5034495B2 JP 2006352482 A JP2006352482 A JP 2006352482A JP 2006352482 A JP2006352482 A JP 2006352482A JP 5034495 B2 JP5034495 B2 JP 5034495B2
Authority
JP
Japan
Prior art keywords
storage
migration
host
data
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006352482A
Other languages
English (en)
Other versions
JP2008165379A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2006352482A priority Critical patent/JP5034495B2/ja
Priority to US11/964,319 priority patent/US7805520B2/en
Publication of JP2008165379A publication Critical patent/JP2008165379A/ja
Application granted granted Critical
Publication of JP5034495B2 publication Critical patent/JP5034495B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージシステムに関し、特に、ストレージの移行を行う装置、プログラム並びに方法に関する。
昨今のITの進化とその適用分野の拡大に伴い、情報処理システムが扱うデータも日々増加している。これらのデータはストレージに格納され、ストレージ1台あたりに格納されるデータの容量も増加している。しかし、単一のストレージで格納できるデータ容量には限界がある。この容量を超えてデータを格納する際はストレージの台数を増やす必要がある。
また、格納されるデータの容量によらず、ホスト(クライアントやサーバなどのストレージにアクセスを行う装置など)の接続台数の増加などが原因でストレージの性能上の限界に達することがある。この場合、既存のストレージ(移行元ストレージ)から新規に増設したストレージ(移行先ストレージ)への交換、又はストレージ増設とデータの分散配置を行うことでストレージ容量の拡張、負荷分散を行っている。
複数存在する任意のホストが、増設の結果複数存在する任意のストレージに対してアクセスを可能にするために、ホスト、及びストレージをネットワークで相互に接続する必要がある。今日では、SAN(Storage Area Network)等のストレージをストレージ専用のネットワークで接続し、複数台数のストレージへの相互アクセス可能な接続形態を用いることが一般的となっている。SAN等のストレージをネットワークに接続し、共有するためには、一般的にファイバチャネル等のストレージ専用のインターフェイス、ネットワーク、及びプロトコルが用いられる。また、近年では新たなホスト、ストレージ間のプロトコルとして、汎用ネットワークプロトコルであるTCP/IP上で実現されるiSCSI(internet Small Computer System Interface)が用いられている。iSCSIレイヤは階層モデルとして、SCSIレイヤとTCP/IPレイヤの間に位置し、SCSIレイヤからのSCSIコマンド、データ、応答を受け取り、カプセル化してiSCSI PDU(Protocol Data Unit)を作成し、TCP/IPのTCP(Transport Control Protocol)接続を介して送信する。また、TCP接続で受信したiSCSI PDUからSCSIコマンド、データ、応答を抽出し、SCSIレイヤに引き渡す。
これらのSAN環境のように、複数ストレージが複数ホストとネットワークで接続された環境において、ストレージ容量の拡張、負荷分散を目的としたデータ格納先のストレージの変更を行い、柔軟にシステムの運用を図るためには、ストレージ間でのデータ移行が必要である。複数ストレージ環境における、複数ストレージ間(移行元ストレージから移行先ストレージ)でのデータの移行は、主に以下の二通りの方法で実現されている。
第一の方法は、移行元のストレージに対するアクセス(Read/Write等のストレージのデータに対する読み書き等の処理)を止めた状態で、移行先のストレージへのデータの移動を行う方法である。データの移動が完了した後に、ホストの接続先を移行先のストレージに切り替えてアクセスを再開させる。
第二の方法は、ホストからのアクセスを継続した状態でデータを移行先のストレージに複製すると同時に、ホストから更新された領域を差分として移行先のストレージの更新、ホストの接続先ストレージの切り替えを行う方法である。移行元から移行先ストレージへの接続の切り替えは、移行元と移行先の複製の一致を契機に、ホストからのアクセスを停止し、接続パスをホスト側の接続情報を変更することで実現する。
前記したストレージデータの移行方法の通り、複数ストレージ間のデータ移行には、接続先を移行元から移行先のストレージに切り替える操作が必要になる。移行先への切り替え対象となる接続は、ホストから移行対象となったデータにアクセスするための接続である。そのため、接続先の切り替え対象となる接続は、移行元であるストレージでのデータアクセス単位、データ管理単位によって決定される。
ホストからネットワーク経由でのストレージに対する接続は、ストレージ上のネットワークインターフェイスであるポートを介して行われている。各ポートには、単一又は複数ネットワークのアドレスが割り当てられる。
ストレージは、単一又は複数のアドレス毎に、「ターゲット」と呼ばれるストレージアクセスプロトコル上の、ホストに対するインターフェイスを設定する。
例えばiSCSIプロトコルの場合には、各ターゲットに対して、単一又は複数のIPアドレスが割り振られる。そして、ホストからストレージへの論理的な接続、アクセスは、ストレージ上に定義されたターゲットを単位として行われる。各ターゲットは、単一又は複数の「ボリューム」と呼ばれるストレージの記憶領域に対応する。
よって、移行元のターゲットを移行先であるストレージに移行する場合、ターゲットに対応するボリュームと、ターゲットに対する接続を移行する必要がある。
前記したストレージデータの移行方法では、ホストの接続先の切り替えは、いずれの場合でも、ホストからのアクセスを停止した状態で行う必要がある。すなわち、この移行方法を用いた場合、移行作業中には、ホストからストレージへのアクセスを停止する必要があることから、ホスト側のストレージへのアクセスを止めることができない場合には、別の手法を用いる必要がある。
ホストからのアクセスを停止せずにホストの接続先ストレージの切り替えを行う手段として、例えば以下の手法が挙げられる。
まず、SAN環境でも、特に接続にiSCSIを用いた環境下では、既存TCPプロトコル上でのハンドオーバー技術を用いることで、ホストからのアクセスを停止せずに、接続の切り替えが実現可能である。
TCPのハンドオーバー技術によって、接続パスのホストから見た透過的な切り替えが実現される。前述のストレージ専用プロトコルでは、ホスト側のOSやドライバなどに手を加えない限り、接続パスのホストから見た透過的な切り替えは実現できない。
TCPプロトコルでのハンドオーバーを行う技術としては、例えば非特許技術1で示されるようなTCPプロトコルの通信コネクション単位に異なる装置に切り替えるTCPマイグレーション技術がある。
また、ストレージに特化した形で、ホスト側のアクセスを止めずに接続先のストレージの切り替え、及びデータの移行を実現する技術も提案されている。例えば特許文献1(特開2001−249853号公報)には、ホストとストレージとを接続するネットワーク間に特殊なスイッチを設置してスイッチに移行元、移行先のストレージを接続する発明が開示されている。この発明では、2つのターゲットをスイッチによって、ホストから見て常に単一のターゲットであるようにホスト側に見せた状態で、スイッチ内部で移行元から移行先に接続をホストから透過的に切り替える。
Fine-Grained Failover Using Connection Migration インターネット<URL: http://nms.lcs.mit.edu/papers/migrate-failover.pdf> 高橋雅彦、菅原智義、著 データセンタ環境に適したTCP無切断プロセスマイグレーションの実現.情報処理学会、OS研究会 2004年6月17日 特開2001−249853号公報
しかし、iSCSI等のストレージアクセスプロトコルによる接続を非特許文献1のTCPマイグレーション技術を用いて切り替えた場合、TCPのコネクションを移行するために、多くの内部状態、バッファの情報を移行元から移行先ストレージに転送する必要がある。
iSCSI等のプロトコルは、TCPプロトコルの上で動作する。下位層であるTCPプロトコルは、iSCSI等の上位プロトコルの挙動を管理することは不可能である。そのため、TCPコネクションを移行することで上位プロトコルの動作に影響を及ぼさないためには、TCPコネクションの移行が上位層に対して透過である必要がある。
TCPではプロトコルのコネクションが確立してから、終了するまでのデータの流れが、単一のストリームとして定義されている。TCPコネクションの移行の際に単一ストリームに含まれる情報が完全な形で移行されないことにより、データの欠損などが発生する。よって、TCPコネクションを上位層に対して、透過的に(transparently)、データの欠損を発生させないように移行するためには、TCPコネクションが移行前後で同一の内部状態を保ったまま移行する必要がある。
TCPストリームには、装置の宛先を示すIPアドレス以外に、TCPのプロトコルを制御するために必要な情報が含まれる。例えばTCPのパケットの順序を示すシーケンス番号や3ウェイハンドシェイク(クライアントからサーバにSYN送信、サーバからクライアントにACK送信、クライアントからサーバにACK送信)の情報、TCPのプロトコルの処理の際に一時的バッファリングされる領域や、OS(オペレーティングシステム)で処理中のバッファの内容などである。
更に、TCPコネクションの移行に伴い、移行元のIPアドレスを移行先に移行するために、ARP(Address Resolution Protocol)による同一サブネットワーク内のIPアドレスとEthernet(登録商標)で使用されるMAC(Media Access Control)アドレス書き換えのためのリクエストを行わなければならない(非特許文献2)。転送される制御情報は、TCPストリームを送受信する各マシンのハードウェア構成、又はソフトウェア構成によって変化する。
このため、TCPコネクションの移行元と移行先のハードウェア、ソフトウェア構成が一致する場合には、前記内部情報を移行元から移行先にコピーすることで、内部状態を引き継ぐことが可能である。
しかしながら、TCPコネクションの移行元と移行先のハードウェア、ソフトウェア構成が相違する場合、マイグレーションの際に、内部情報を移行先のハードウェア、ソフトウェアの環境に合わせて、移行元の内部情報を変更して、使用する必要がある。
ハードウェア、ソフトウェア構成の組み合わせは、多岐にわたるため、移行元、移行先の任意の構成に対応することは困難である。
よって、非特許文献1等に記載されるTCPマイグレーション技術を用いて、任意のストレージ間で接続の移行を行う場合、移行元と移行先のハードウェア、ソフトウェア構成を揃えなければならない、という課題がある。
したがって、本発明の目的は、ホストとストレージがネットワーク接続するシステムにおいて、移行元と移行先でハードウェア/ソフトウェア環境が任意の異なる環境であっても、安定した接続の切り替えを行うことができるシステム、装置、方法、コンピュータプログラムを提供することにある。
本発明は、前記課題を解決するため、概略以下の構成とされる。本発明は、ホストとなる計算機とネットワークを介して接続されたストレージについて、ホストがアクセスするストレージに格納されたデータの他ストレージへの移行と、ホストとの接続を移行元から移行先のストレージに切り替えるシステムに適用される。
本発明に係るストレージシステムは、ストレージがホストに対して一旦接続を切断した後に、再接続を要求するメッセージを送信する再接続要求機能と、前記ストレージが前記ホストからの再接続のメッセージを受けた際に、前記接続は他のストレージに移動したことを示すメッセージと移動先のアドレス及び/又は識別子情報とを送る移動先通知機能と、これらのメッセージを一連の処理として、移行元から移行先への接続パスの切り替えを実現する。再接続要求の完了後に、前記移動メッセージを送るハンドオーバー制御手段と、を備えている。
本発明に係るストレージシシステムは、ホストと、前記ホストと接続する複数のストレージと、を備え、一のストレージは、前記ホストに対して再接続を要求する手段を備え、
前記再接続要求を受けた前記ホストは、前記一のストレージとの間の接続を一旦切断したのち、前記一のストレージと再接続し、
前記一のストレージは、前記ホストと再接続すると、他のストレージへ移動したことを示すメッセージを送る手段を備え、
前記メッセージを受けとった前記ホストは前記ストレージとの接続を切断し、前記他のストレージと接続する。
本発明に係るストレージ装置は、ホストからのコマンドを解釈するコマンド処理部と、
データを保持し、前記コマンド処理部がデータをアクセスするコマンドを解釈したときに出力される指示に従って、データの読み出し、更新を行うデータ記憶部と、
ストレージのデータ記憶領域を論理的に分割した領域であるボリュームについて、前記ストレージ内での各ボリューム及びボリュームに対応するターゲットの状態を記録し、各ボリューム及びターゲットの状態には、前記ボリューム及びターゲットが移行作業中であるかどうかを示す情報が含まれる、ボリューム情報格納部と、
ストレージにアクセスのためにホストから張られている接続、セッションについての情報を格納する接続情報格納部と、
ターゲット単位での移行要求を受け取り、前記ボリューム情報格納部、前記接続情報格納部にそれぞれ格納されたターゲットの情報、ホストからの接続、セッションの情報を参照して、移行先への切り替え対象の接続について、接続元であるホストを表すアドレス及び/又は識別子情報を、移行先ストレージに通知し、移行作業の開始を指示する移行要求処理部と、
前記移行要求処理部の指示を受け、移行対象となったターゲットに対して接続しているホストに対して、接続を一旦切断するように要求して、接続の切断を促す切断要求通知部と、
前記移行要求処理部の指示を受けて、前記ホストから新たに接続要求が行われた場合に、ターゲットが移行される、移行先のストレージを通知し、移行対象のターゲットに対して、接続中のホストに切断を要求すると同時に、移行先のストレージに、ターゲットが移ったことを通知する移行先指示部と、を備えている。
本発明に係るストレージ装置は、移行元となる他のストレージに対して移行先となるストレージ装置であって、入力されたコマンドを解釈するコマンド処理部と、
データを保持し、データの読み出し、更新を行うデータ記憶部と、
前記コマンド処理部、データコピー制御からの前記データ記憶部へのアクセス要求を処理するアクセス調停部と、
移行元となる前記他のストレージの移行対象ターゲットに格納されたデータを、対応するターゲットに移行するために、コマンド発行部に対して、前記他のストレージから移行対象ターゲットのデータを読み出すように指示し、前記アクセス調停部に対して、前記他のストレージから読み出したデータを書き込むように指示するデータコピー制御部と、
前記他のストレージからのデータ移行の進行状況、前記データコピー制御部において移行作業中の領域のアドレス、前記コマンド処理部が処理中のアクセス対象のアドレスの情報を保持するコピー進行状況格納部と、
前記アクセス調停部、前記データコピー制御部から、前記他のストレージへのアクセス要求を受け、前記アクセス要求からコマンドを生成して、前記他のストレージに含まれる移行対象ターゲットにアクセスするコマンド発行部と、
ストレージにアクセスのためにホストから張られている接続、セッションについての情報を格納する接続情報格納部と、
を備え、
前記コマンド発行部は、前記アクセス調停部からは、外部からのアクセス要求処理に伴う移行元へのアクセス要求を受け、前記データコピー制御部からは、移行元から移行先へのデータ移行に伴うデータの読み出し要求を受ける。
本発明に係るシステムは、ホストと、複数のストレージと、を備え、
一のストレージは、前記ホストに対して再接続を要求する手段を備え、
前記再接続要求を受けた前記ホストは、前記一のストレージとの間の接続を一旦切断したのち、前記一のストレージと再接続し、
前記一のストレージは、前記ホストと再接続すると、他のストレージへ移動したことを示すメッセージを送る手段を備え、
前記メッセージを受けとった前記ホストは前記ストレージとの接続を切断し、移行先の前記他のストレージと接続する、構成とされる。
本発明に係るシステムは、ホストと、複数のストレージと、を備え、
一のストレージは、前記ホストに対して、前記一のストレージとの接続の切断要求と移行先の他のストレージへの接続指示を通知するメッセージを送信する手段を備え、
前記ホストは、前記一のストレージから前記メッセージを受けると、前記一のストレージとの接続を切断し、移行先の前記他のストレージと接続する手段を備えた構成としてもよい。
あるいは、本発明に係るシステムは、ホストとストレージとがネットワーク通信を介して接続するストレージシステムであって、
前記ストレージは、前記ホストと前記ストレージとの間で、ネットワーク転送を担う所定のプロトコルの上層に位置する、ストレージアクセス用のプロトコルによる、アクセスのセッション中に、前記ストレージに対して他のストレージへの移行要求が発生した場合、前記ホストに対して、ストレージアクセス用のプロトコルレベルでのセッションを再開する要求を発行する手段を備え、
前記要求を受けた前記ホストは、前記ストレージとの間のセッションを再開して、移行先である他のストレージの情報を取得したのち前記ストレージとのセッションを終了し、移行先である前記他のストレージとの間でセッションを開始し、
前記ストレージを移行元とし前記移行元から移行先である前記他のストレージへのデータ移行が行われる。
本発明に係るコンピュータプログラムは、ホストに接続するストレージ装置のコンピュータに、
前記ホストに対して再接続を要求する処理と、
前記ホストと再接続すると、他のストレージへ移動したことを示すメッセージを前記ホストに送る処理と、
を実行させるプログラムよりなる。
本発明に係る方法は、ホストに接続する一のストレージから移行先の他のストレージへの接続パスの切替方法であって、
前記一のストレージはホストに対して再接続を要求する工程と、
前記再接続要求を受けた前記ホストは、前記一のストレージとの間の接続を一旦切断したのち前記一のストレージと再接続する工程と、
前記一のストレージは、前記ホストと再接続すると、前記他のストレージへ移動したことを示すメッセージを送る工程と、
前記メッセージを受けとった前記ホストは、前記ストレージとの接続を切断し、前記他のストレージと接続する工程と、を含む。
本発明に係る方法は、ホストとネットワーク通信を介して接続するストレージの切替方法であって、
前記ストレージは、前記ホストと前記ストレージとの間で、ネットワーク転送を担う所定のプロトコルの上層に位置する、ストレージアクセス用のプロトコルによる、アクセスのセッション中に、前記ストレージに対して他のストレージへの移行要求が発生した場合、前記ホストに対して、ストレージアクセス用のプロトコルレベルでのセッションを再開する要求を発行する工程と、
前記要求を受けた前記ホストは、前記ストレージとの間のセッションを再開して、移行先である他のストレージの情報を取得したのち前記ストレージとのセッションを終了し、移行先である前記他のストレージとの間でセッションを開始する工程と、
を含み、前記ストレージを移行元とし前記移行元から移行先である前記他のストレージへのデータ移行が行われる。
本発明に係る方法は、ホストと接続するストレージの切替方法であって、
一のストレージが、前記ホストに対して前記一のストレージとの接続の切断要求と移行先の他のストレージへの接続指示を通知するメッセージを送信する工程と、
前記ホストは、前記一のストレージから前記メッセージを受けると、前記一のストレージとの接続を切断し、移行先の前記他のストレージと接続する工程と、
を含む。
上記した構成の本発明によれば、移行元と移行先でハードウェア/ソフトウェア環境が任意の異なる環境であっても、安定した接続の切り替えを行うことができる、という効果を奏する。
本発明は、TCPマイグレーション機能を用いたストレージのデータ移行に較べ、TCP層より上位層に位置し、ストレージアクセスを行うプロトコル上で、接続の切り替え処理を行う。移行先への再接続処理を行うため、切り替え処理の際に、TCPマイグレーション機能等で必要とされた、移行元と移行先でコネクションの状態を同一に維持するための処理(状態情報の転送処理等)が必要とされず、切り替え処理の際にコネクションの内部状態を維持するための処理も必要とされない。移行元、移行先のハードウェア、ソフトウェア環境が任意の異なる環境であっても安定した接続の切り替えを可能としている。
本発明は、ストレージがホストに対して一度接続を切断した後に再接続を要求するメッセージを送信する機能(再接続要求機能)と、前記ストレージがホストからの再接続のメッセージを受けた際に、前記接続は他のストレージに移動したことを示すメッセージと移動先のアドレス及び/又は識別子情報を送る機能(移動先通知機能)と、これらのメッセージを一連の処理として、前記再接続要求の完了後に、前記移動メッセージを送るホストからの接続の切り替え手段と、を備え、移行元から移行先への接続パスの切り替えを実現する。
再接続要求機能は、ホスト側に対してストレージ側において接続コネクション維持できない状態が発生し、ホスト側に一度接続コネクションの接続と再接続を行うことを要求するメッセージを送信する。
ストレージへの接続プロトコルが例えばiSCSIである場合、これには、iSCSIプロトコル標準で備えられている、非同期メッセージ(Asynchronous Message)(Async Event = Target Indicated it will drop the connection)を用いる。非同期イベントは、ターゲットの接続ドロップである。
移動先通知機能は、ホストからのログイン(Login)時に、
(1)ホスト側で想定した接続コネクションが、他の装置に移ったことを示すステータスと、
(2)移動先のアドレス、名前など移動先のストレージを示す識別子と、
を返す機能を持つ。
この機能は、例えばiSCSI標準プロトコルを用いて実現される。iSCSIログインプロセスを通じてイニシエータとターゲット間のiSCSIセッションが行われる。ダーゲットのストレージは、ホストからのiSCSIプロトコルによるログイン(Login)要求に対する応答として、ログイン応答(Login Response)を返すが、その結果(ステータス)として、ターゲットの恒久移動状態(Target Moved permanently)をホストに対して返し、同時に、ホストが接続しようとしたターゲット(iSCSI上での仮想的なストレージを示す)の移動先を示すIPアドレスとポートアドレスを返し、ホストは、新しいアドレスに接続し直す。
ハンドオーバー制御手段は、以下のシーケンスを制御することで、ハンドオーバーを実現する。
ストレージは、ハンドオーバー要求を受け取ると、再接続要求機能により、ホストに対して、再接続を要求する。
ホストは、接続コネクションの再接続を行うために、iSCSIのログアウト要求(Logout Request)を発行する。
ストレージは、ホストからログアウト要求(Logout Request)を受け取ると、iSCSIの接続とTCPの接続コネクションの切断を行い、ホスト側も合わせて切断を行う。
これにより、ホストとストレージ間の接続は一旦切断される。
ホストは、接続コネクションの切断を確認すると、TCPの接続コネクションを確立するために、3ウェイハンドシェイクを実行し、ホストとストレージ間を接続する。
ホストは、その後に、iSCSIのログイン(Login)を実行する。
ストレージのハンドオーバー制御手段は、ホストからの同一ターゲットに対するログイン要求を再び受け取ると、前述の移動先通知機能を用いて前記ログイン要求に対する応答としてログイン応答を返し、他のストレージに移動したことを示すメッセージを送る。
ホストは、ログイン応答を受け取ると、新しいストレージにログインすべく、現在の接続コネクションを切断するために、一度、ログアウト要求(Logout Request)によるiSCSIの接続とTCPの接続におけるコネクションの切断を行う。
さらに、ホストは、iSCSIとTCPのコネクションの切断が確認できると、ストレージの移動先通知機能が受け取った新しい移動先アドレスでのTCPとiSCSIのコネクションの接続を行い、コネクションの接続が確認されると、以後、通常のアクセス(Read/Write動作)が可能な状態になりハンドオーバーを完了する。
本発明は、TCPマイグレーション機能を用いたストレージの移行に較べて、ハンドオーバー時に、移行元、移行先のハードウェア、ソフトウェア環境に依存しない、安定したハンドオーバーを実現している。
具体的には、TCPマイグレーションでは、特に、OSやTCPの処理において一時的に保持されているバッファの内容などTCPコネクションの内部状態を表す情報、シーケンス番号などTCPセッションの状態を表す情報の移行が必要である。加えて、ARPによる接続先IPアドレスに対応するMACアドレスの、移行元のMACアドレスから移行先のMACアドレスへの変更が必要である。
これに対して、本発明によれば、TCPコネクション、セッションの状態を表す情報の移行、ARPによる接続先IPアドレスに対応するMACアドレスの、移行元のMACアドレスから移行先のMACアドレスへの変更など、iSCSIなどストレージにアクセスするためのプロトコルよりも下位のプロトコルに関する内部情報の移行、変更を必要としない。このため、本実施例によれば、下位のプロトコルに関する内部状態に関する情報の引継ぎを省略可能とし、移行元、移行先のハードウェア、ソフトウェア構成に依存しない安定したハンドオーバーを実現している。
本発明によれば、再接続要求機能による、ホストへの再接続を要求するメッセージと、移動先通知機能による、前回の接続先が他のストレージに移動したことを示す移行メッセージと、移動先を示すアドレスや、名前などの識別子情報を送信するだけで済む。
本発明において、ホストへの再接続を要求するメッセージと、移動先通知機能による、前回の接続先が他のストレージに移動したことを示す移行メッセージは、ホストへの切断要求と指定した移動先への接続指示を同時に行うメッセージで代用してもよい。この場合、ストレージは、ホストに対して該ストレージとの接続の切断要求と移行先の他のストレージへの接続指示を通知するメッセージを送信し、該ホストは、該ストレージから前記メッセージを受けると、該ストレージとの接続を切断し、移行先の他のストレージと接続する。
本発明は、移行元、移行先のハードウェア、ソフトウェア構成に依存しない安定した移行を実現している。以下実施例に即して説明する。
図1は、本発明の一実施例のシステム構成を示す図である。図1を参照すると、本実施例のシステムは、データにアクセスする1又は複数のホスト1と、データの移行元である移行元ストレージ2と、データの移行先である移行先ストレージ3と、ホスト1とストレージ2、3とを接続するネットワーク4とを含む。
図2は、本発明の別の実施例のシステム構成を示す図であり、ストレージを仮想化したものである。図2において、ストレージ仮想化装置502は、複数のストレージを仮想化し、ホスト1から1つの仮想化ストレージとして扱うことを可能とし、ストレージ仮想化装置503も、複数のストレージを仮想化し、ホスト1から1つの仮想化ストレージとして扱うことを可能としている。
本実施例では、図1の移行元ストレージ2を、ストレージ仮想化装置502によって複数のストレージを仮想化した移行元仮想ストレージ52に置き換え、移行先ストレージ3を、ストレージ仮想化装置503によって複数のストレージを仮想化した移行先仮想ストレージ53に置き換えたものである。なお、図1の移行元ストレージ2と移行先ストレージ3の仮想ストレージへの置き換えはいずれか一方のみであってもよいことは勿論である。以下の実施例において、ストレージ仮想化装置による仮想ストレージに対して適用する場合には、図1の移行元ストレージ2と移行先ストレージ3は、それぞれ図2のストレージ仮想化装置502とストレージ仮想化装置503に置き換えられる。
図3は、図1の移行元ストレージ2の構成の一例を示す図である。図3を参照すると、移行元ストレージ2は、コマンド処理部21と、データ記憶部22と、ボリューム情報格納部23と、接続情報格納部24と、移行要求処理部25と、切断要求通知部26と、移行先指示部27と、を備えている。
コマンド処理部21は、移行元ストレージ2に格納されたデータをアクセスするために発行されるコマンドを解釈する。コマンドは、ホスト1等、ストレージ外部からネットワーク4を介して移行元ストレージ2に送信される。コマンド処理部21は、解釈した指示に従ってデータ記憶部22にアクセスする。コマンド処理部21は、アクセス要求以外にも外部からの接続要求、管理コマンドを解釈し、各要求に基づいた処理を行う。
データ記憶部22は、移行元ストレージ2に格納されるデータを保持する。データ記憶部22は、コマンド処理部21からの指示に従ってデータの読み出し、更新を行う。
また、データ記憶部22は、単一又は複数の「ボリューム」と呼ばれる領域に分割されている。ボリュームは、単体又は複数を単位として、一ターゲットに対して割り当てられている。
ホスト1はデータ記憶部22に格納されたデータに対して、ターゲットを単位として接続、アクセスを行う。
ボリューム情報格納部23は、移行元ストレージ2において、データを格納するデータ記憶部22を論理的に分割した領域であるボリュームについて、移行元ストレージ2内での各ボリュームの状態、及びボリュームとターゲットとの間の対応関係を記録する。この状態には、各ターゲットが移行作業中であるかどうかを示す情報が含まれる。
接続情報格納部24は、移行元ストレージ2に含まれる各ターゲットに対してホスト1から張られている各接続、セッションについての情報を格納する。
移行要求処理部25は、移行元ストレージ2のターゲットに対する移行要求を受け取る。移行要求処理部25は、切断要求通知部26、及び移行先指示部27に対して、動作の開始を指示し、接続切り替えの処理を開始する。
また、移行要求処理部25は、移行要求を行った相手に対して、移行要求を受理したという応答を返す。
さらに、移行要求処理部25は、ボリューム情報格納部23、接続情報格納部24から移行対象となるターゲット、及びセッションに関する情報を取得する。
そして、移行要求処理部25は、取得した情報から、移行対象のターゲットに対する接続について、接続元であるホスト1のアドレス又は識別子、あるいはアドレスと識別子の両方(アドレス及び/又は識別子という)の情報を取得し、移行先ストレージ3に通知する。
切断要求通知部26は、移行要求処理部25の指示を受けて移行対象となったターゲットに対して接続している各ホスト1に対して、接続を一旦切断するように要求して、接続の切断を促す。
移行先指示部27は、移行要求処理部25の指示を受けて、ホスト1から新たに接続要求が行われた場合に、ターゲットが移行先である、移行先ストレージ3を通知する。もしくは、移行先指示部27は、移行対象のターゲットに対して、接続中のホストに切断を要求すると同時に、移行先ストレージ3にターゲットが移ったことを通知する。
図4は、図1の移行先ストレージ3の構成の一例を示す図である。図4を参照すると、移行先ストレージ3は、コマンド処理部31と、データ記憶部32と、データアクセス調停部33と、データコピー制御部34と、コピー進行状況格納部35と、コマンド発行部36と、接続情報格納部37と、を備えている。
コマンド処理部31は、ホスト1等、外部から移行先ストレージ3に格納されたデータにアクセスするために発行されるコマンドを解釈する。
コマンド処理部31は、データ記憶部32に格納されたデータにアクセスするために、コマンドの解釈結果に基づいてアクセス調停部33に指示を与える。また、コマンド処理部31は、アクセスコマンド以外にも外部からの接続要求、管理コマンドを解釈し、各要求に基づいた処理を行う。
データ記憶部32は、移行先ストレージ3に格納されるデータを保持する。データ記憶部32は、アクセス調停部33からの指示に従ってデータの読み出し、更新を行う。また、データ記憶部32は、移行元ストレージ2の場合と同様に単一又は複数のボリュームに分割されている。
アクセス調停部33は、コマンド処理部31、データコピー制御部34からのデータ記憶部32へのアクセス要求を処理する。アクセス調停部33は、コマンド処理部31、データコピー制御部34が、移行先ストレージ3上のホスト1から見て、同一領域へのアクセスが同時に行われる場合、排他制御等によってアクセスを調停する。アクセス調停部33は、コピー進行状況格納部35から得られた、外部からのコマンドによるアクセスの対象領域についてのコピー完了/未完了の状態の情報から、必要な場合には、コマンド発行部36に対して、移行元ストレージ2へのアクセスを指示する。
データコピー制御部34は、移行元ストレージ2から移行先への切り替え対象の接続について、接続元であるホスト1のアドレス及び/又は識別子情報を受け取ることを契機として、データコピー処理を開始する。
データコピー制御部34は、データコピー処理開始後、接続情報格納部37から、予め用意された、移行対象ターゲットのデータの格納先となるターゲットに対する接続の情報を取得する。
データコピー制御部34は、移行先ストレージ3に対する接続の接続元のアドレス及び/又は識別子の情報と、移行対象の各接続の接続元の、対応するアドレス及び/又は識別子の情報と、を比較することで、移行先への切り替え対象の接続が移行先ストレージ3に移行する迄待つ。
データコピー制御部34は、移行対象の全接続の、移行先ストレージ3への切り替えの完了を契機として、移行元ストレージ2の移行対象ターゲットに対応するボリュームに格納されたデータを、移行先ストレージ3の対応するボリュームに移行する。そのために、データコピー制御部34は、コマンド発行部36に対して、移行元ストレージ2の移行対象ターゲットからデータを読み出すように指示する。
さらに、データコピー制御部34は、アクセス調停部33に対して、移行元ストレージ2から読み出したデータを書き込むように指示する。
データ移行の進行状況についての情報は、データコピー制御部34からコピー進行状況格納部35に書き込まれる。
コピー進行状況格納部35は、
・移行元ストレージ2からのデータ移行の進行状況、
・現在データコピー制御部34において移行作業中の領域のアドレス、
・コマンド処理部31が現在処理中のアクセス対象のアドレスの情報
を保持する。
コマンド発行部36は、アクセス調停部33、データコピー制御部34から、移行元ストレージ2へのアクセス要求を受ける。
コマンド発行部36は、これらの要求からコマンドを生成して、移行元ストレージ2に含まれる移行対象ターゲットにアクセスする。
コマンド発行部36は、アクセス調停部33からは、外部からのアクセス要求処理に伴う移行元へのアクセス要求を受ける。コマンド発行部36は、データコピー制御部34からは、移行元から移行先へのデータ移行に伴うデータの読み出し要求を受ける。
接続情報格納部37は、移行元ストレージ2に含まれる各ターゲットに対してホスト1から張られている各接続、セッションについての情報を格納する。
図5は、図1乃至図4を参照して説明した本実施例のシステムの、移行処理の動作を説明する流れ図である。
移行元ストレージ2の移行要求処理部25は、移行元ストレージ2内のターゲットに対する移行要求を受信すると、移行要求のあったターゲットの移行処理を開始する。
移行要求処理部25は、ボリューム情報格納部23から移行を要求されたターゲットと、ボリュームに関する情報を取得する。また、接続情報格納部24から移行を要求されたターゲットに対して接続している、移行元ストレージ2から移行先ストレージ3への切り替え対象の接続について、接続元であるホスト1のアドレス及び/又は識別子の情報を取得する(ステップS1)。
移行元ストレージ2の移行を要求されたターゲットに接続中のホスト1に対して、移行先ストレージ3への接続の切り替えを要求する。また、ステップS1において取得した、切り替え対象の接続についての接続元である、ホスト1のアドレス及び/又は識別子の情報を、移行先ストレージ3に通知する(ステップS2)。
移行元ストレージ2から移行先ストレージ3への接続の切り替えを要求されたことによって、ホスト1は、移行元ストレージ2との接続を切断して、移行先ストレージ3に接続する(ステップS3)。
移行対象のターゲットに対する接続が全て移行先ストレージ3に切り替わった後、移行先ストレージ3のデータコピー制御部34は、移行元ストレージ2から、移行先ストレージ3にデータを移行する(ステップS4)。以上のステップS1からS4までの処理を行い、システム全体の動作が終了する。
図6は、図5のステップS2の処理の詳細を示す図である。図6と、図1乃至図4を参照して、ステップS2の処理の詳細を説明する。
移行要求処理部25は、移行要求を受け取ると、ステップS1で収集した、移行要求のあったターゲットへの接続の接続元であるホスト1を識別するための、アドレス及び/又は識別子の情報を、移行先ストレージ3に通知する(ステップS21)。
移行要求処理部25は、切断要求通知部26に対して、移行対象ターゲットに接続している全ホストに対して、接続を一旦切断して、移行元ストレージ2に再接続する要求を送信するように指示する。あるいは、移行対象ターゲットに接続しているホストに対して送信する要求は、接続を切断して指定する移行先ストレージ3に接続を切り替えるという要求であってもよい(ステップS22)。
また移行要求処理部25は、移行先指示部27に対して、移行対象ターゲットに接続してくるホスト1に対して、移行先ストレージ3に接続し直すように応答するように指示する(ステップS23)。
移行要求処理部25は、移行を要求した相手に対して移行要求を受理したと応答を返す(ステップS24)。
上記のステップS21、S22、S23、S24は、図6に示した順序で処理される必要はなく、これらの処理の中で任意に実行順序が変更されてもよい。
次に、図8の流れ図と、図1乃至図4を参照して、移行元ストレージ2との接続を一旦切断して、ホスト1が移行元ストレージ2に再接続を行った場合、あるいは、ホスト1が新規に移行元ストレージ2に接続を試みた場合の動作について説明する。
ホスト1は、移行元ストレージ2に接続する際に、移行元ストレージ2のコマンド処理部21に対してターゲットに対する接続要求を送信する(ステップS25)。
コマンド処理部21はホスト1から接続要求を受信すると、ボリューム情報格納部23から接続要求のあったターゲット、及びターゲットを構成するボリュームについての情報を読み出し、該ターゲットが移行作業対象になっているかを確認する(ステップS26)。
ホスト1から接続要求のあったターゲットが移行作業対象でない場合(ステップS27のNo分岐)、ホスト1に対して接続処理を許可の応答を送信し、接続処理を行う。
また、ホスト1からの接続に関する情報を接続情報格納部24に反映する(ステップS29)。
ホスト1から接続要求のあったターゲットが移行作業対象である場合(ステップS27のYes分岐)、ホスト1に対して移行先ストレージ3への接続指示を送信して接続を拒否する(ステップS28)。
図9は、図5のステップS3の処理の詳細を示す図である。図9と、図1乃至図4を参照して、ステップS3の処理の詳細を説明する。
移行先ストレージ3のデータコピー制御部34が、移行元ストレージ2の移行要求処理部25から移行対象ターゲットの接続元である、ホスト1のアドレス及び/又は識別子情報を受け取ることを契機に、図9に示される、ステップS3での移行先ストレージ3における処理が開始される。
移行先ストレージ3のデータコピー制御部34は、接続情報格納部37から、移行対象となったターゲットのデータの格納先となる、移行先ストレージ3上のターゲットに接続するホスト1のアドレス及び/又は識別子の情報を取得する(ステップS31)。
データコピー制御部34は、ステップS31で取得したアドレス及び/又は識別子情報と、予め移行元ストレージ2の移行要求処理部25から通知された、移行対象ターゲットに接続していたホスト1の、対応するアドレス及び/又は識別子の情報を比較する(ステップS32)。
ステップS32における比較の結果、両者のアドレス及び/又は識別子情報が全て一致した場合(ステップS33のYes分岐)、データコピー制御部34は、図9に示した一連の処理を終了して、図5のステップS4に示された通り、移行元ストレージ2から移行先ストレージ3へのデータ移行処理を開始する。
ステップS32における比較の結果、両者のアドレス及び/又は識別子情報が互いに一致しなかった場合(ステップS33のNo分岐)、再びステップS31に戻り、移行先ストレージ3へのホスト1からの接続状態の監視を続ける。なお、移行対象ターゲット(移行元ストレージ2)に接続していた複数のホスト1に関して移行元ストレージ2から移行先ストレージ3への接続切替時には(図5のステップS3)、基本的に、複数のホスト1のそれぞれに対して、図9に示した処理手順が行われる(例外的な処理は本発明の主題と直接関係しないため省略する)。
<一具体例>
次に、図5のステップS1からS2の動作の具体例として、ホスト1と移行元ストレージ2、移行先ストレージ3との通信にiSCSIプロトコルを用いる場合の動作を、図3乃至図10を参照して説明する。図10は、本発明の一実施例において、ホストと移行元ストレージ、移行先ストレージとの間でiSCSIプロトコルによる通信を行う場合の、移行元ストレージの移行要求受け付けから移行先ストレージへの接続の指示までのシーケンスを示す図である。
ホスト1と移行元ストレージ2は、iSCSIプロトコルで接続中であるとき、移行要求を受信し、移行が可能と判断され、移行が開始されると移行元ストレージ2から移行対象ターゲットに接続しているホスト1に対して、非同期メッセージ(Asynchronous Message)が送信される(図10のステップS501、図6のステップS22)。
非同期メッセージ(Asynchronous Message)は、移行元ストレージ2からホスト1に対して、一旦ログアウトするように要求することを表す。この要求を受け取ると、ホスト1は、ログアウト要求を、移行元ストレージ2に送信する。また、Logout要求は次ステップでのログイン要求を直接行うことで省略してもよい(図10のステップS502)。
移行元ストレージ2はホストからのログアウト要求を受け取り、ログアウト処理が完了すると、ログアウトが完了したことを示すメッセージをホスト1に返す(図10のステップS503)。
移行元ストレージ2から一旦ログアウトしたホスト1は、再び移行元ストレージ2に対して、ログイン要求を送信して接続を要求する(図10のステップS504、図8のステップS25)。
移行元ストレージ2はホスト1からの再ログイン要求に対して、ターゲット移動(Target Moved)メッセージと応答することで、該当ストレージは取り除かれたと応答して接続を拒絶する。接続を拒絶すると同時に移行元ストレージの代用となる移動先として、移行先ストレージ3のネットワーク4上のアドレスを指定する(図10のステップS505、図6のステップS23、図8のステップS28)。
ターゲット移動メッセージを受け取ったホスト1は、ログアウト要求を、移行元ストレージ2に送信する(図10のステップS506)。
移行元ストレージ2はホストからのログアウト要求を受け取り、ログアウト処理が完了すると、ログアウトが完了したことを示すメッセージをホスト1に返す(図10のステップS507)。
移行元ストレージ2から接続を拒絶されたホスト1は、移動先として指定された移行先ストレージ3にログイン要求を送信して接続を要求する(図10のステップS508)。
移行先ストレージ3はホストからのログイン要求を受け取り、ログイン処理が完了すると、ログインが完了したことを示すメッセージをホスト1に返す(図10のステップS509)。
移行要求処理部25は、ターゲット移行要求の受理後に、移行対象ターゲットに接続していた接続の切り替え処理とは別に、移行先ストレージ3に対して、移行対象ターゲットの接続元であるホスト1を表す識別子であるイニシエータの名前(Initiator Name)を通知する(図10のステップS510、図6のステップS21)。この情報の移行先ストレージ3への通知時期は、図10における移行元ストレージ2に対する移行要求後であれば任意の時期でもよい。
上記ステップS2の動作をホスト1からの接続に対して行うことによって、ホスト1からの移行元ストレージ2における移行対象ターゲットへの接続は移行先ストレージ3への接続に切り替わる(図5のステップS3)。
移行元ストレージ2の移行要求処理部25は、接続情報格納部24の情報を監視し、移行元ストレージ2の移行対象ターゲットへの接続が切断されると移行先ストレージ3のデータコピー制御部34に対して移行元ストレージ2から移行先ストレージ3への移行対象ターゲットに格納されたデータの移行作業開始を指示する。
図7は、本発明の一実施形態における別の移行元ストレージ2の構成例を示す図である。図3に示した移行元ストレージ2の構成では、移行要求を移行要求処理部25が受け、データ移行作業開始の指示を移行要求処理部25が送信しているが、図7に示すように、移行元ストレージ2において、コマンド処理部21が移行要求を受け、移行要求処理部25経由でデータ移行作業開始の指示等を行う構成としてもよい。
また、図4に示した移行先ストレージ3の構成では、データ移行作業開始の指示を、移行元ストレージ2から直接データコピー制御部34で受信しているが、移行元ストレージ2から移行先ストレージ3に対するコマンドとして、データ移行作業開始の指示をコマンド処理部31で受信し、データコピー制御部34に通知する構成としてもよい。
なお、上記実施例では、iSCSIプロトコルによる実装例を説明したが、本発明はかかる構成に限定されるものでない。本実施例の変形として、図1の移行元ストレージ2がホスト1に対して該移行元ストレージ2との接続の切断要求と移行先ストレージ3への接続指示を通知するメッセージを送信し、ホスト1が移行元ストレージ2から該メッセージを受けると、該移行元ストレージ2との接続を切断し、移行先ストレージ3と接続するようにしてもよい。この変形例の処理手順を、図10を参照して説明しておく。ステップS501において、移行元ストレージ2は、切断要求と移行先ストレージ3への接続指示を通知するメッセージをホスト1に送信する。ホスト1は、ステップS502で移行元ストレージ2に対してログアウト要求を行い、ログアウト応答を受信すると、ステップS508で移行先ストレージ3にログイン要求を行う。すなわち、ホスト1によるステップS504とステップS506の処理、及び移行元ストレージ2によるステップS505とステップS507の処理は行われない。
本発明によれば、磁気ディスク装置を複数台数備えたディスクアレイ装置や光ディスク集合装置、テープ集合装置などにも適用できる。また、単体の磁気ディスクや、光ディスク装置、テープ装置などに適用できる。
さらに、複数のストレージを仮想化することで、1つのストレージに見せる機能を持つスイッチにも適用できる。すなわち、複数のホストとストレージの間に該スイッチを備え、ホストからは、該スイッチを介して複数のストレージは1つの仮想ストレージとして見える。
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
本発明の一実施形態のシステム構成を示す図である。 本発明の一実施形態のシステム構成について、移行元ストレージ、移行先ストレージが仮想化装置による仮想ストレージである場合の構成を示す図である。 本発明の一実施形態における移行元ストレージの構成を示す図である。 本発明の一実施形態における移行先ストレージの構成を示す図である。 本発明の一実施形態において、移行元ストレージの移行要求受け付けからデータ移行処理までの処理手順を示したフローチャートである。 本発明の一実施形態において、移行元ストレージの移行要求処理に基づく接続切り替え処理開始から移行対象ターゲットに接続していたホスト情報の移行先ストレージへの通知までの処理手順を示したフローチャートである。 本発明の一実施形態における別の移行元ストレージの構成を示す図である。 本発明の一実施形態において、移行元ストレージでのホストの接続から移行先ストレージへの接続の指示までの処理手順を示したフローチャートである。 本発明の一実施形態において、移行先ストレージにおける、移行対象ターゲットに接続していた全ホストの、移行先ストレージへの接続切り替え完了の待機処理の手順を示したフローチャートである。 本発明の一実施例の動作シーケンスを示す図である。
符号の説明
1 ホスト
2 移行元ストレージ
3 移行先ストレージ
4 ネットワーク
21 コマンド処理部
22 データ記憶部
23 ボリューム情報格納部
24 接続情報格納部
25 移行要求処理部
26 切断要求通知部
27 移行先指示部
31 コマンド処理部
32 データ記憶部
33 アクセス調停部
34 データコピー制御部
35 コピー進行状況格納部
36 コマンド発行部
37 接続情報格納部
52 移行元仮想ストレージ
53 移行先仮想ストレージ
502、503 ストレージ仮想化装置

Claims (8)

  1. 移行元のストレージが、
    ホストからのコマンドを解釈するコマンド処理部と、
    データを保持し、前記コマンド処理部がデータをアクセスするコマンドを解釈したときに出力される指示に従って、データの読み出し、更新を行うデータ記憶部と、
    ストレージを論理的に分割した領域であるボリュームと、前記ホストからストレージに格納されたデータにアクセスする場合の接続先であるターゲットについて、前記ストレージ内での各ターゲット及びボリュームの状態を記録し、前記ターゲットの状態として、前記ターゲットが移行作業中であるか否かを示す情報を含む、ボリューム情報格納部と、
    ストレージにアクセスのためにホストから張られている接続、セッションについての情報を格納する接続情報格納部と、
    ターゲット単位での移行要求を受け取り、前記ボリューム情報格納部、前記接続情報格納部にそれぞれ格納されたターゲットの情報、ホストからの接続、セッションの情報を参照して、移行先への切り替え対象の接続について、接続元であるホストを表すアドレス及び/又は識別子情報を、移行先ストレージに通知し、移行作業の開始を指示する移行要求処理部と、
    前記移行要求処理部の指示を受け、移行対象となったターゲットに対して接続しているホストに対して、接続を一旦切断するように要求して、接続の切断を促す切断要求通知部と、
    前記移行要求処理部の指示を受けて、前記ホストから新たに接続要求が行われた場合に、ターゲットが移行される、移行先のストレージを通知し、移行対象のターゲットに対して、接続中のホストに切断を要求するとともに、移行先のストレージに、ターゲットが移ったことを通知する移行先指示部と、
    を備え
    前記移行先のストレージが、
    入力されたコマンドを解釈するコマンド処理部と、
    データを保持し、データの読み出し、更新を行うデータ記憶部と、
    前記コマンド処理部、データコピー制御部からの前記データ記憶部へのアクセス要求を処理するアクセス調停部と、
    前記移行元のストレージの移行対象ターゲットに格納されたデータを、対応するターゲットに移行するために、コマンド発行部に対して、前記移行元のストレージから移行対象ターゲットのデータを読み出すように指示し、前記アクセス調停部に対して、前記移行元のストレージから読み出したデータを書き込むように指示するデータコピー制御部と、
    前記アクセス調停部、前記データコピー制御部から、前記移行元のストレージへのアクセス要求を受け、前記アクセス要求からコマンドを生成して、前記移行元のストレージに含まれる移行対象ターゲットにアクセスするコマンド発行部と、
    を備え、
    前記コマンド発行部は、前記アクセス調停部からは、外部からのアクセス要求処理に伴う移行元へのアクセス要求を受け、前記データコピー制御部からは、移行元から移行先へのデータ移行に伴うデータの読み出し要求を受ける、ことを特徴とするストレージシステム
  2. 前記ホストと、前記移行元のストレージと、前記移行先のストレージは、iSCSI(internet SCSI)プロトコルで接続されることを特徴とする請求項1記載のストレージシステム。
  3. 前記ホストに対して、複数のストレージを1つの仮想化されたストレージとしてみせる仮想化手段を備え、仮想化されたストレージ間での移行が行われる、ことを特徴とする請求項1又は2記載のストレージシステム。
  4. 前記移行先のストレージが、前記移行元のストレージからのデータ移行の進行状況、前記データコピー制御部において移行作業中の領域のアドレス、前記コマンド処理部が処理中のアクセス対象のアドレスの情報を保持するコピー進行状況格納部を備えた、ことを特徴とする請求項記載のストレージシステム。
  5. データを保持し、コマンド解釈部でホストからデータをアクセスするコマンドを解釈したときに出力される指示に従って、データの読み出し、更新を行うデータ記憶部と、
    ストレージを論理的に分割した領域であるボリュームと、前記ホストからストレージに格納されたデータにアクセスする場合の接続先であるターゲットについて、前記ストレージ内での各ターゲット及びボリュームの状態を記録し、前記ターゲットの状態として、前記ターゲットが移行作業中であるか否かを示す情報を含む、ボリューム情報格納部と、
    ストレージにアクセスのためにホストから張られている接続、セッションについての情報を格納する接続情報格納部と、を有する移行元のストレージが、
    ターゲット単位での移行要求を受け取り、前記ボリューム情報格納部、前記接続情報格納部にそれぞれ格納されたターゲットの情報、ホストからの接続、セッションの情報を参照して、移行先への切り替え対象の接続について、接続元であるホストを表すアドレス及び/又は識別子情報を、移行先ストレージに通知し、移行作業の開始を指示し、
    前記移行対象となったターゲットに対して接続しているホストに対して、接続を一旦切断するように要求して、接続の切断を促し、
    前記ホストから新たに接続要求が行われた場合に、ターゲットが移行される、移行先のストレージを通知し、移行対象のターゲットに対して、接続中のホストに切断を要求するとともに、移行先のストレージに、ターゲットが移ったことを通知し、
    データを保持し、データの読み出し、更新を行うデータ記憶部と、前記データ記憶部へのアクセス要求を処理するアクセス調停部とを有する前記移行先のストレージが、
    前記移行元のストレージへのアクセス要求を受け、前記アクセス要求からコマンドを生成して、前記移行元のストレージに含まれる移行対象ターゲットにアクセスし、前記移行元のストレージの移行対象ターゲットに格納されたデータを、対応するターゲットに移行するために、前記移行元のストレージから移行対象ターゲットのデータを読み出し、前記移行元のストレージから読み出したデータを書き込みをアクセス調停部を介して行う、ことを特徴とする切替方法。
  6. 前記ホストと、前記移行元のストレージと、前記移行先のストレージは、iSCSI(internet SCSI)プロトコルで接続されることを特徴とする請求項5記載の切替方法。
  7. 前記ホストに対して、複数のストレージを1つのストレージに仮想化し、仮想化されたストレージ間での移行が行われる、ことを特徴とする請求項5又は6記載の切替方法。
  8. 前記移行先のストレージが、前記移行元のストレージからのデータ移行の進行状況、前記データコピー制御部において移行作業中の領域のアドレス、前記コマンド処理部が処理中のアクセス対象のアドレスの情報を保持する、ことを特徴とする請求項記載の切替方法。
JP2006352482A 2006-12-27 2006-12-27 ストレージシステムとプログラム並びに方法 Expired - Fee Related JP5034495B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006352482A JP5034495B2 (ja) 2006-12-27 2006-12-27 ストレージシステムとプログラム並びに方法
US11/964,319 US7805520B2 (en) 2006-12-27 2007-12-26 Storage system, program and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006352482A JP5034495B2 (ja) 2006-12-27 2006-12-27 ストレージシステムとプログラム並びに方法

Publications (2)

Publication Number Publication Date
JP2008165379A JP2008165379A (ja) 2008-07-17
JP5034495B2 true JP5034495B2 (ja) 2012-09-26

Family

ID=39585611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006352482A Expired - Fee Related JP5034495B2 (ja) 2006-12-27 2006-12-27 ストレージシステムとプログラム並びに方法

Country Status (2)

Country Link
US (1) US7805520B2 (ja)
JP (1) JP5034495B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010123140A1 (ja) * 2009-04-24 2010-10-28 日本電気株式会社 パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体
US8806150B2 (en) * 2011-03-28 2014-08-12 Hitachi, Ltd. Computer system and Fibre Channel migration method
US8639775B2 (en) * 2011-04-28 2014-01-28 Hitachi, Ltd. Computer system and its management method
JP5772443B2 (ja) * 2011-09-22 2015-09-02 富士通株式会社 ストレージ装置及びプログラム
GB2504987B (en) * 2012-08-16 2018-01-31 Metaswitch Networks Ltd Service migration
US10353640B2 (en) * 2016-12-06 2019-07-16 Dell Products L.P. Seamless data migration in a clustered environment
US10764360B2 (en) * 2017-03-01 2020-09-01 Huawei Technologies Co., Ltd. Managing persistent TCP connections in an IPVS environment
US10768837B2 (en) * 2018-10-31 2020-09-08 EMC IP Holding Company LLC Non-disruptive migration of a virtual volume in a clustered data storage system
JP6960491B2 (ja) * 2020-03-04 2021-11-05 株式会社日立製作所 管理システム及び基盤システムの管理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3918394B2 (ja) 2000-03-03 2007-05-23 株式会社日立製作所 データ移行方法
JP2004013215A (ja) * 2002-06-03 2004-01-15 Hitachi Ltd ストレージシステム、ストレージサブシステム、および、それらを含む情報処理システム
JP4175185B2 (ja) * 2003-06-06 2008-11-05 日本電気株式会社 ネットワーク情報記録装置
US7251745B2 (en) * 2003-06-11 2007-07-31 Availigent, Inc. Transparent TCP connection failover
CN100547583C (zh) * 2003-08-14 2009-10-07 甲骨文国际公司 数据库的自动和动态提供的方法
US20050086342A1 (en) * 2003-09-19 2005-04-21 Andrew Burt Techniques for client-transparent TCP migration
JP2005115506A (ja) * 2003-10-06 2005-04-28 Hitachi Ltd ストレージシステム
US8195835B2 (en) * 2004-01-28 2012-06-05 Alcatel Lucent Endpoint address change in a packet network
US7415470B2 (en) * 2004-08-12 2008-08-19 Oracle International Corporation Capturing and re-creating the state of a queue when migrating a session
JP4438582B2 (ja) * 2004-09-22 2010-03-24 株式会社日立製作所 データ移行方法
JP2006107351A (ja) * 2004-10-08 2006-04-20 Fujitsu Ltd データ移行方法、記憶装置及びプログラム
JP2006301820A (ja) * 2005-04-19 2006-11-02 Hitachi Ltd ストレージシステム及びストレージシステムのデータ移行方法
JP2008083939A (ja) * 2006-09-27 2008-04-10 Hitachi Ltd 計算機システム及び動的ポート割当方法

Also Published As

Publication number Publication date
US20080162754A1 (en) 2008-07-03
JP2008165379A (ja) 2008-07-17
US7805520B2 (en) 2010-09-28

Similar Documents

Publication Publication Date Title
JP5034495B2 (ja) ストレージシステムとプログラム並びに方法
US7680953B2 (en) Computer system, storage device, management server and communication control method
EP2659375B1 (en) Non-disruptive failover of rdma connection
JP4448719B2 (ja) ストレージシステム
JP4871850B2 (ja) 仮想計算機システム及び仮想計算機移行制御方法
JP5026283B2 (ja) 協調的共用ストレージアーキテクチャ
US8560631B2 (en) Storage system
US8370588B2 (en) Computer system control method and computer system
US8375111B2 (en) Method and apparatus for HBA migration
US7519769B1 (en) Scalable storage network virtualization
CN101651559B (zh) 一种存储服务在双控制器存储系统中故障切换的方法
TW201027354A (en) Dynamic physical and virtual multipath I/O
US20060064466A1 (en) Data migration method
JP2004192305A (ja) iSCSIストレージ管理方法及び管理システム
JP5804189B2 (ja) 情報処理システム,情報処理方法,プログラム
JP2006059119A (ja) ストレージネットワークの移行方法、管理装置、管理プログラムおよびストレージネットワークシステム
JP2003323263A (ja) 共有メモリ制御方法および制御システム
JP2007011673A (ja) ホスト間データ転送方法、プログラム及びシステム
CN110830574B (zh) 一种基于docker容器实现内网负载均衡的方法
WO2014061054A1 (en) Storage system and method of controlling storage system
CN102111436B (zh) 一种通过iSCSI访问存储设备的方法和一种存储设备
JPWO2004088931A1 (ja) データ通信負荷分散制御プログラム、およびデータ負荷分散制御方法
US10798159B2 (en) Methods for managing workload throughput in a storage system and devices thereof
CN102118389B (zh) 一种通过iSCSI多路径访问存储设备的方法和一种存储设备
JP2007004710A (ja) ストレージアクセス方式、データ転送装置、ストレージアクセス方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120618

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5034495

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees