JP5272185B2 - 計算機システム及びストレージシステム - Google Patents

計算機システム及びストレージシステム Download PDF

Info

Publication number
JP5272185B2
JP5272185B2 JP2008247530A JP2008247530A JP5272185B2 JP 5272185 B2 JP5272185 B2 JP 5272185B2 JP 2008247530 A JP2008247530 A JP 2008247530A JP 2008247530 A JP2008247530 A JP 2008247530A JP 5272185 B2 JP5272185 B2 JP 5272185B2
Authority
JP
Japan
Prior art keywords
storage system
pool
identifier
volume
virtual volume
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
JP2008247530A
Other languages
English (en)
Other versions
JP2010079624A5 (ja
JP2010079624A (ja
Inventor
佑樹 長沼
慎一郎 菅野
弘隆 中川
正靖 淺野
博和 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008247530A priority Critical patent/JP5272185B2/ja
Priority to US12/275,271 priority patent/US20100082934A1/en
Publication of JP2010079624A publication Critical patent/JP2010079624A/ja
Publication of JP2010079624A5 publication Critical patent/JP2010079624A5/ja
Application granted granted Critical
Publication of JP5272185B2 publication Critical patent/JP5272185B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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]

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

本発明は、少量配備(Thin Provisioned)機能を備えたストレージシステムに関し、特に仮想ボリューム構成を移行する方法に関する。
データを格納する記憶領域をホスト計算機に提供するストレージシステムは、データを格納するために多数のハードディスク等の物理ディスクを備える。ストレージシステムは、RAID(Redundant Array of Independent Disks)の技術によって、複数の物理ディスクの記憶領域を冗長化し、RAIDグループを構成する。さらに、ストレージシステムは、RAIDグループの一部からホスト計算機が要求する容量の記憶領域として論理ボリュームを作成し、作成された論理ボリュームをホスト計算機に提供する。
さらに、少量配備(Thin Provisioned)という技術がある。少量配備は、論理ボリュームのようにホスト計算機へ固定された容量の記憶領域を提供するのではなく、仮想的な論理ボリューム(仮想ボリューム)をホスト計算機に提供しておき、ホスト計算機からの書き込み処理等に応じて、複数の論理ボリュームで作成された記憶領域(Pool)からセグメントを単位とする記憶領域を仮想ボリュームに割り当てる技術である。少量配備の技術を用いることによって、ホスト計算機に提供する記憶容量を動的に拡張することができるストレージシステムがある(例えば、特許文献1)。
なお、セグメントとは、Poolに含まれる論理ボリュームを論理ブロックアドレス(Logical Block Address。以下、LBA)等によって、適当な容量に分割した記憶領域である。ここで、LBAとは、ホスト計算機がデータを読み書きする場合に、論理ボリューム上の位置を指定するために用いるアドレスである。
また、SAN(Storage Area Network)等のデータ通信用のネットワークによって接続された2台のストレージシステム(ストレージシステムA及びストレージシステムB)において、一方のストレージシステムAが備える論理ボリュームを、ストレージシステムBがストレージシステムBに作成した仮想ボリュームに対応付けることによって、ストレージシステムAの論理ボリュームをストレージシステムBに取り込み、取り込んだ論理ボリュームをストレージシステムB側の論理ボリュームとしてホスト計算機等に提供する(以下、「外部接続」という。)技術がある(例えば、特許文献2)。
外部接続の技術を用いることによって、論理ボリュームを取り込むストレージシステムBの容量を拡張することができる。また、論理ボリュームを取りこんだストレージシステムBがホスト計算機への論理ボリュームをホスト計算機に提供するので、ストレージシステムの管理が容易となる。
特開2003−15915号公報 特開平10−283272号公報
PoolとPoolのセグメントが割り当てられた仮想ボリュームとを備えるストレージシステムAの仮想ボリュームを、例えば、ストレージシステムAよりも性能が優れたストレージシステムBで利用したい、又は、管理を集約するためにストレージシステムBを用いて管理者が管理したいという要求がある。
このような場合には、ストレージシステムAが備える仮想ボリュームをストレージシステムBに外部接続し、ストレージシステムAの仮想ボリュームをストレージシステムBの論理ボリュームとして扱う方法がある。
しかし、前述した方法では、ストレージシステムB側でストレージシステムAの仮想ボリュームをホスト計算機へ提供する等の管理をし、一方で、ストレージシステムA側でPoolに含まれる論理ボリュームを追加削除する等の管理をしなければならず、2台のストレージシステムの管理が必要となる。
また、2台のストレージシステムを管理するのではなく、ストレージシステムBのみでストレージシステムAのPoolとPoolを利用する仮想ボリュームとを管理するためには、ストレージシステムAからストレージシステムBへ、PoolとPoolを利用する仮想ボリュームとの両方を移行する必要がある。
この場合、特許文献2に記載された技術では、以下に述べる方法を用いる必要があった。
まず、ストレージシステムBに新たにPoolを作成し、作成されたPoolのセグメントを利用する仮想ボリュームを作成する。さらに、ストレージシステムAの仮想ボリュームのデータを、ストレージシステムBで作成した仮想ボリュームへコピーして、ストレージシステムAからストレージシステムBへ、PoolとPoolを利用する仮想ボリュームとの両方を移行する。
しかしながら、前述したようにデータのコピーを伴う移行を実行するためには、ストレージシステムBのPoolに、前記ストレージシステムAの仮想ボリュームからコピーされるデータを保存するのに十分な記憶領域が予め確保されていることが必要となる。
一方で、データのコピーが終了した後は、ストレージシステムBの仮想ボリュームをホスト計算機に提供することになるため、ストレージシステムAが仮想ボリュームのデータを格納するために用いていた記憶領域は不要となる。
つまり、データをコピーする過程においては、コピー元ストレージシステムとコピー先ストレージシステムとの両方で仮想ボリュームが備えるデータをコピーするために必要な記憶領域が確保されなければならず、必要以上のリソースの確保が求められる。
本発明の代表的な一例を示せば以下のとおりである。すなわち、第1の発明は、ホスト計算機に提供されるデータの記憶領域である第1ボリュームと、前記第1ボリュームを複数含む第1プールと、前記第1プールの記憶領域の一部を動的に使用する第1仮想ボリュームを備える第1ストレージシステムと、前記第1ストレージシステムと接続され、複数の第2ボリュームを含む第2プールと、第2仮想ボリュームを備える第2ストレージシステムと、を備える計算機システムであって、前記第1ストレージシステムは、前記ホスト計算機と接続されるインターフェースと、前記第2ストレージシステムに接続されるインターフェースと、前記インターフェースに接続される第1プロセッサと、前記第1プロセッサに接続される第1メモリと、を備え、前記複数の第1ボリュームと前記第1プールの各々の識別子を含み、前記複数の第1ボリュームと前記第1プールとの対応関係を表す第1セグメント情報と、前記第1プールと前記第1仮想ボリュームの各々の識別子を含み、前記第1プールと前記第1仮想ボリュームとの対応関係を表す第1仮想ボリューム情報と、前記第1ストレージシステムと前記第2ストレージシステムとの対応関係を表す接続情報と、を管理し、前記第2ストレージシステムは、前記ホスト計算機と接続されるインターフェースと、前記第1ストレージシステムと接続されるインターフェースと、前記インターフェースに接続される第2プロセッサと、前記第2プロセッサに接続される第2メモリと、を備え、前記複数の第2ボリュームと前記第2プールの各々の識別子を含み、前記複数の第2ボリュームと前記第2プールとの対応関係を表す第2セグメント情報と、前記第2プールと前記第2仮想ボリュームの各々の識別子を含み、前記第2プールと前記第2仮想ボリュームとの対応関係を表す第2仮想ボリューム情報と、を管理し、前記第2プロセッサは、前記第1ストレージシステムから前記第2ストレージシステムに前記第1プールを移行する指示を受信し、前記第1ストレージシステムから前記第1セグメント情報及び前記第1仮想ボリューム情報を取得し、前記取得した第1セグメント情報を参照して、前記第1ストレージシステムが備える前記第1プールに含まれる前記複数の第1ボリュームを特定し、前記第2ストレージシステムに複数の第3ボリュームを作成し、前記特定された各々の第1ボリュームを前記第2ストレージシステムが取り扱うことができる外部ボリュームとして前記作成した各々の第3ボリュームに対応付け、前記作成した各々の第3ボリュームの接続先と、前記特定された各々の第1ボリュームと前記作成した各々の第3ボリュームとの対応関係を表す外部ボリューム情報を作成し、前記第2セグメント情報を参照して、前記第2ストレージシステムが備える前記第2プールの識別子を確認し、前記第1プールの識別子が前記第2ストレージシステムで使用されていなければ前記第1プールの識別子を第3プールの識別子とし、前記第1プールの識別子が前記第2ストレージシステムで使用されていれば前記第2プールの識別子として使用されていない識別子を前記第3プールの識別子とし、前記取得した第1セグメント情報と前記外部ボリューム情報とに基づき、前記作成した各々の第3ボリュームを含む前記第3プールを前記第2ストレージシステムに作成し、前記第2仮想ボリューム情報を参照して、前記第2仮想ボリュームの識別子として使用されていない識別子を確認し、前記確認した識別子を第3仮想ボリュームの識別子とし、前記取得した第1仮想ボリューム情報に基づき、前記第3プールの記憶領域を使用する前記第3仮想ボリュームを前記第2ストレージシステムに作成し、前記取得した第1セグメント情報の前記特定された各々の第1ボリュームの識別子を前記作成した各々の第3ボリュームの識別子に置換し、前記取得した第1セグメント情報と第1仮想ボリューム情報の前記第1プールの識別子を前記第3プールの識別子に置換し、前記取得した第1仮想ボリューム情報の前記第1仮想ボリュームの識別子を前記第3仮想ボリュームの識別子に置換して、前記取得した第1セグメント情報と前記第1仮想ボリューム情報を変換し、前記変換した第1セグメント情報を前記第2セグメント情報に追加し、前記変換した第1仮想ボリューム情報を前記第2仮想ボリューム情報に追加することを特徴とする。
本発明の一実施形態によれば、ストレージシステムBは、ストレージシステムAが備えるPool及び仮想ボリュームをストレージシステムBに移行し、ストレージシステムBのみで、ストレージシステムAが備えるPool及び仮想ボリュームと同じ構成を備えたPool及び仮想ボリュームを管理することができる。
さらに、ストレージシステムAからストレージシステムBへのPool及び仮想ボリュームの移行に際して、ストレージシステムAのPoolに含まれる論理ボリュームのデータをコピーする記憶領域以外に、その他のデータを記憶するための記憶領域を追加で必要としない。
本発明の概要は以下のとおりである。
まず、ストレージシステムBは、ストレージシステムAから、ストレージシステムAのPoolに含まれる論理ボリュームとPoolのセグメントとの対応関係を記述したセグメント構成情報、及び、仮想ボリュームと仮想ボリュームに割り当てられるセグメントとの対応関係を記述した仮想ボリューム構成情報を取得する。
次に、ストレージシステムBは、取得したストレージシステムAのセグメント構成情報を参照し、ストレージシステムAのPoolに含まれる論理ボリュームを特定する。
そして、ストレージシステムBは、特定された論理ボリュームをストレージシステムBに外部接続し、外部接続されたストレージシステムAの論理ボリュームをストレージシステムBに取り込む。さらに、ストレージシステムBは、取り込まれたストレージシステムAの論理ボリュームから、PoolとPoolを利用する仮想ボリュームとを作成する。
そして、ストレージシステムBは、ストレージシステムAから取得した仮想ボリュームの構成情報を参照し、ストレージシステムAのPoolのセグメントと同じ割り当てによって、前述したPoolのセグメントを仮想ボリュームに割り当てる。これによって、ストレージシステムAと同じ構成を備えた仮想ボリュームがストレージシステムBに作成される。
<実施形態1>
以下、本発明の第1の実施形態を、図1から図23を用いて説明する。なお、以下に述べる第1の実施形態は本発明の実施形態の一つであって、本発明を制限するものではない。
図1は、本発明の第1の実施形態の計算機システムの構成を示すブロック図である。
第1の実施形態の計算機システムは、ストレージシステムA 1000と、ストレージシステムB 2000と、ストレージシステムB 2000(又はストレージシステムA 1000)の論理ボリュームを利用するホスト計算機3000とを備え、ストレージシステムA 1000、ストレージシステムB 2000及びホスト計算機3000は、SAN又はLAN(Local Area Network)等のデータ通信用のネットワーク100を介して互いに接続される。
また、ストレージシステムA 1000及びストレージシステムB 2000は、前述したネットワーク100とは別のSAN又はLAN等のデータ通信用のネットワーク200を介して互いに接続されている。
なお、第1の実施形態では、ストレージシステムA 1000及びストレージシステムB 2000はネットワーク200を介して接続されるが、ストレージシステムA 1000とストレージシステムB 2000とが、ホスト計算機とは関係なく保存しているデータを直接通信することができるならば、ネットワーク200は必ずしも必要ではない。
また、ストレージシステムA 1000、ストレージシステムB 2000及びホスト計算機3000は、それぞれが備える管理インターフェースによって、LAN等のデータ通信用のネットワーク300を介して互いに接続されてもよい。
以下、ストレージシステムA 1000及びストレージシステムB 2000のいずれにも該当する説明をする場合は、その説明において、ストレージシステムA 1000及びストレージシステムB 2000を総称して単にストレージシステムと記載する。
ホスト計算機3000は、データを記憶するためのローカルボリューム3010、データを一時記憶するためのメモリ3100、演算処理をするCPU3040、管理IF3020及びHBA(Host Bus Adapter)3030を備える計算機であり、例えば、パーソナルコンピュータ、ワークステーション等である。さらに、ホスト計算機3000は、キーボード等の入力装置及びディスプレイ等の出力装置等を備えてもよい(図示省略)。
メモリ3100は、データベース等を管理する業務プログラム3110を格納する。業務プログラム3110は、ストレージシステムから提供された記憶領域にデータを格納する。
HBA(Host Bus Adapter)3030は、ネットワーク100を介してホスト計算機3000をストレージシステムに接続するためのインターフェースである。管理IF3020は、管理計算機(図示省略)がLAN等のネットワーク300を介してホスト計算機3000を管理するためのインターフェースである。
なお、第1の実施形態において、ネットワーク100のインターフェースはHBAであるが、ネットワーク100に応じたインターフェースであってもよい。
ストレージシステムA 1000は、データの入出力及び構成を制御するコントローラ1100及びデータを記憶するために複数の物理ディスク1040を備える。コントローラ1100は、コントローラ1100が管理する論理ボリュームの構成情報等を外部から操作するための管理インターフェースである管理IF1010、データの入出力のインターフェースであるPort1020及びPort1030を備える。
Port1020は、SAN等のネットワーク100を介してストレージシステムAをホスト計算機3000等と接続するためのPortである。Port1030は、ストレージシステムA 1000を後述するストレージシステムB 2000に接続するためのPortである。
なお、一つのPortによって、ストレージシステムA 1000がホスト計算機3000へ論理ボリュームを提供し、かつ、論理ボリュームをストレージシステムB 2000に外部接続することができる場合には、Port1020とPort1030とは同一であってもよい。
ストレージシステムB 2000は、ストレージシステムA 1000と同じ構成である。ストレージシステムB 2000は、データの入出力及び構成を制御するコントローラ2100を備える。
コントローラ2100は、論理ボリュームを管理するための管理インターフェースである管理IF1010、ホスト計算機3000と接続するためのインターフェースであるPort2020、及び、ストレージシステムA 1000と接続するためのインターフェースであるPort1030を備える。
ただし、ストレージシステムB 2000は、ストレージシステムA 1000が備える物理ディスク1040を必ずしも備える必要はない。
なお、管理IF1010、管理IF2010及び管理IF3020は、単にLANの接続Portであってもよく、LAN等のネットワーク300を介して、ディスプレイ等の出力装置及びキーボード等の入力装置を備えた管理計算機(図示省略)と接続されてもよい。また、管理IF1010、管理IF2010及び管理IF3020は、LANでなく、SAN等のネットワークを介して接続されてもよい。
次に、ストレージシステムA 1000のコントローラ1100の内部の構成、及び、ストレージシステムB 2000のコントローラ2100の内部の構成を、それぞれ図2及び図3を用いて説明する。
図2は、本発明の第1の実施形態のストレージシステムAが備えるコントローラの構成を示すブロック図である。
ストレージシステムA 1000のコントローラ1100は、前述した管理IF1010、Port1020及びPort1030のほかに、キャッシュメモリ1110、管理用のメモリ1200及びプロセッサ1120を備える。
プロセッサ1120は、メモリ1200に格納された制御プログラムによってストレージシステムA 1000を制御する。キャッシュメモリ1110は、ストレージシステムA 1000に格納されたデータの一部を一時的に記憶し、ホスト計算機3000の要求に基づいて、データを高速に読み出す。
メモリ1200は、LUマップ処理部1210、仮想Vol処理部1220、セグメント処理部1230及び構成情報通信部1240を実現するプログラムを格納する。また、メモリ1200は、LUマップテーブルA4100、仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300を格納する。
なお、各処理部の処理については後述する。LUマップテーブルA4100については、図5を用いて後述する。仮想Vol管理テーブルA4200については、図7を用いて後述する。セグメント管理テーブルA4300については、図6を用いて後述する。
図3は、本発明の第1の実施形態のストレージシステムBが備えるコントローラの構成を示すブロック図である。
ストレージシステムB 2000のコントローラ2100は、ストレージシステムA 1000のコントローラ1100の構成と同じである。ただし、コントローラ2100のメモリ2200に格納されるプログラム及び構成情報のテーブルは、コントローラ1100のメモリ1200の構成と異なる。
メモリ2200は、仮想Vol移行部I2210、仮想Vol処理部2220、セグメント処理部2230及び外接処理部2240を実現するプログラムを格納する。また、メモリ2200は、仮想Vol管理テーブルB5200、セグメント管理テーブルB5300、ストレージ間パステーブルB5400、外接VolマップテーブルB5500、外接LDEV参照テーブルB5600、仮想Vol管理テーブルC5700及びセグメント管理テーブルC5800を格納する。
なお、各処理部の処理については後述する。仮想Vol管理テーブルB5200については、図20を用いて後述する。セグメント管理テーブルB5300については、図19を用いて後述する。ストレージ間パステーブルB5400については、図8を用いて後述する。外接VolマップテーブルB5500については、図17を用いて後述する。外接LDEV参照テーブルB5600については、図18を用いて後述する。
なお、仮想Vol管理テーブルC5700の構成は、図7に示す仮想Vol管理テーブルA4200の構成と同じである。セグメント管理テーブルC5800の構成は、図6に示すセグメント管理テーブルA4300の構成と同じである。仮想Vol管理テーブルC5700及びセグメント管理テーブルC5800については後述する。
コントローラ1100(又はコントローラ2100)は、ホスト計算機3000からのデータの読み出し、又は、書き込みの要求を実行するために論理ボリューム等を管理する。次に、論理ボリューム等の構造を、図4を用いて説明する。
図4は、本発明の第1の実施形態のストレージシステムのボリューム等の構成を示す説明図である。
ストレージシステムが備える複数の物理ディスク1040は、RAIDによって冗長化され、RAIDグループ1310を構成する。RAIDグループ1310は、論理ブロックという単位に分割され、各論理ブロックには論理ブロックアドレス(Logical Block Address。以下、LBA)というアドレス情報が付与される。RAIDグループ1310には、適当な大きさのLBA領域に区切られた論理ボリューム1320が作成される。
さらに、少量配備の機能を実現するために、複数の論理ボリューム1320によってPool1330という記憶領域が作成される。Pool1330に含まれる論理ボリューム1320は、所定の数の論理ブロックで作成されるセグメントという単位に分割される。ストレージシステムのコントローラは、セグメントによって論理ボリューム1320を管理する。
仮想ボリューム1340は、作成された時点で記憶領域の容量が定まっている論理ボリューム1320とは異なり、必要に応じてPool1330のセグメントが割り当てられることによって、動的に容量が拡張される。
そして、論理ボリューム1320又は仮想ボリューム1340は、コントローラによって、論理ユニット1350(Logical Unit)に対応付けられ、ホスト計算機3000に提供される。なお、論理ユニット1350には、Port1020毎に一意に設定されるLUN(Logical Unit Number)によって識別され、ホスト計算機3000は、LUNによって論理ユニット1350を認識する。
また、ホスト計算機3000は、LUN、及び、論理ボリューム1320のアドレス値であるLBAを用いて、Port1020に接続された論理ユニット1350に対応付けられた論理ボリューム1320又は仮想ボリューム1340へのデータの書き込み又読み出しを実行する。ここでは、論理ボリューム1320又は仮想ボリューム1340と、論理ユニット1350のLUNとを対応付けることをLUマッピングという。
次に、ストレージシステムA 1000が備えるコントローラ1100のメモリ1200に格納されたプログラム及び各テーブルについて説明する。
LUマップ処理部1210は、後述する図5に示すLUマップテーブルA4100を用いて、Port1020に接続されたホスト計算機3000が認識する論理ユニット1350のLUNと、ストレージシステムA 1000で使用している論理ボリュームの識別子であるDEVIDとのLUマッピングの対応関係を管理する。
なお、ストレージシステムB 2000がストレージシステムA 1000のLUマップ処理部1210及びLUマップテーブルA4100を管理してもよい。また、LUマップ処理部1210は、接続が許可されていないホスト計算機3000からのデータの入出力の処理を抑止する機能を備えてもよい。
図5は、本発明の第1の実施形態のLUマップテーブルAの構成を示す説明図である。
LUマップテーブルA4100は、ストレージシステムA 1000のコントローラ1100が備えるLUマップテーブルの例である。LUマップテーブルA4100は、PortID4110、ストレージWWN(World Wide Name)4120、接続hostWWN、LUN4140及びDEVID4150を含む。
PortID4110は、ストレージシステムA 1000が備えるPort(Port1020等)の識別子である。ストレージWWN4120は、PortID4110毎に付与されるストレージシステムのWWNであり、SAN(ネットワーク100)上で一意な識別子である。接続hostWWN4130は、各Portに接続されるホスト計算機3000の識別子であり、ホスト計算機3000側のインターフェースであるHBA3030に付与される識別子である。
LUN4140は、ホスト計算機3000が認識しているストレージシステムA 1000に作成された論理ユニット1350の識別子である。DEVID4150は、ストレージシステムA 1000の論理ユニット1350に対応付けられた論理ボリューム1320又は仮想ボリューム1340の識別子である。
例えば、ストレージシステムA 1000の「Port1」は、「WWN1」が付与され、HBAのWWNが「h1」であるホスト計算機3000と接続している。そして、ホスト計算機3000が認識しているストレージシステムA 1000の論理ユニットは「LUN1」であり、「LUN1」にはストレージシステムA 1000の仮想ボリューム「VVol1」が対応付けられている。
また、ホスト計算機3000が認識している論理ユニット「LUN2」にはストレージシステムA 1000の論理ボリューム「LDEV10」が対応付けられている。
セグメント処理部1230は、後述するセグメント管理テーブルA4300(図6)を用いて、仮想ボリューム1340に割り当てられるセグメントと論理ボリュームとの対応関係を管理し、Pool1330に含まれる論理ボリュームを追加又は削除する。なお、ストレージシステムA 1000のセグメント処理部1230は、セグメント管理テーブルA4300を、ストレージシステムB 2000のセグメント処理部2230は、後述するセグメント管理テーブルB5300をそれぞれ管理する。
図6は、本発明の第1の実施形態のセグメント管理テーブルAの構成を示す説明図である。
セグメント管理テーブルA4300は、ストレージシステムA 1000が備えるセグメント管理テーブルの例である。セグメント管理テーブルA4300は、PoolID4310、セグメントID4320、DEVID4330、開始LBA4340、セグメントサイズ4350及びVVolID4360を含む。
セグメント管理テーブルA4300は、ストレージシステムA 1000に作成されたPool1330の識別子(PoolID4310)毎に管理される。
セグメントID4320は、PoolID4310によって示されるPoolに割り当てられるセグメントの識別子である。DEVID4330は、セグメントID4320によって示されるセグメントに対応付けられている論理ボリューム1320の識別子である。開始LBA4340は、DEVID4330によって示される論理ボリューム1320の記憶領域の開始アドレスである。セグメントサイズ4350は、セグメントID4320によって示されるセグメントの容量である。VVolID4360は、セグメントID4320によって示されるセグメントが割り当てられる仮想ボリューム1340の識別子である。
なお、VVolID4360には、セグメントが仮想ボリューム1340に割り当てられている場合は、前記仮想ボリュームの識別子が記載され、割り当てられていない場合は、例えば、制御文字として「NULL」が記載される。
仮想Vol処理部1220は、後述する仮想Vol管理テーブルA4200(図7)を用いて、ホスト計算機3000に提供する仮想ボリューム1340を作成し、作成された仮想ボリューム1340にセグメントを割り当てることによって、仮想ボリューム1340の容量を制御し、また、仮想ボリューム1340を管理する。
なお、ストレージシステムA 1000の仮想Vol処理部1220は、仮想Vol管理テーブルA4200を、ストレージシステムB 2000の仮想Vol処理部2220は、仮想Vol管理テーブルB5200を管理する。
図7は、本発明の第1の実施形態の仮想Vol管理テーブルAの構成を示す説明図である。
仮想Vol管理テーブルA4200は、ストレージシステムA 1000が備える仮想Vol管理テーブルの例である。仮想Vol管理テーブルA4200は、VVolID4210、サイズ4220、開始VLBA4230、PoolID4240、セグメントID4250及びセグメントサイズ4260を含む。
VVolID4210は、仮想ボリューム1340の識別子である。サイズ4220は、仮想ボリュームが最初に作成された時に設定された容量である。開始VLBA4230は、ホスト計算機3000がデータを入出力する仮想ボリューム1340の仮想ブロックを特定するための論理ブロックアドレス(以下、VLBA)である。PoolID4240は、仮想ボリューム1340にセグメントを割り当てるPool1330の識別子である。セグメントID4250及びセグメントサイズ4260は、VVolID4210によって示される仮想ボリューム1340のVLBAに対応付けられたセグメントの識別子及び容量である。
なお、ストレージシステムA 1000に作成されるPoolが一つのみの場合、仮想Vol管理テーブルA4200は、PoolID4240を含まなくてもよい。
これによって、例えば、仮想ボリューム「VVol1」の開始VLBA「3048(=2048+1000)」で特定される仮想ブロックに対して、ホスト計算機3000から読み出しを要求された場合には、ストレージシステムA 1000のコントローラ1100は、仮想Vol管理テーブルA4200を参照して、「Pool1」に割り当てられたセグメント「101」にデータが格納されていることを知ることができる。
さらに、ストレージシステムA 1000のコントローラ1100は、セグメント管理テーブルA4300を参照して、セグメント「101」が論理ボリューム「LDEV2」のLBA値「1073741824+1000」で特定される論理ブロックであることを知り、また、特定された論理ブロックにデータが格納されていることを知ることができる。
このように、仮想Vol管理テーブルA4200によって、仮想ボリューム1340のVLBA値と、論理ボリューム1320のLBA値とは対応付けられている。
また、セグメントが割り当てられていない仮想ボリューム1340のVLBAに書き込みの処理が発生した場合等には、仮想Vol処理部1220は、セグメント管理テーブルA4300を参照し、利用されていないセグメント(すなわち、VVolID4360に「NULL」が記載されているセグメント)を仮想ボリューム1340に割り当てる。これによって、仮想Vol処理部1220は、仮想ボリューム1340の容量を動的に拡張することができる。
図8は、本発明の第1の実施形態のストレージ間パステーブルBの構成を示す説明図である。
ストレージシステムB 2000のコントローラ2100は、図8に示すストレージ間パステーブルB5400によって、ストレージシステム間でデータを送受信するためのPortの対応関係を記憶している。ストレージ間パステーブルB5400は、接続元WWN5410、接続先ストレージ5420及び接続先WWN5430を含む。
接続元WWN5410は、接続元であるストレージシステム(ここではストレージシステムB 2000)のPortに付与された識別子である。接続先ストレージ5420は、接続先のストレージシステム(ここではストレージシステムA 1000)の識別子である。接続先WWNは、接続先であるストレージシステムのPortに付与された識別子である。
図8に示した例では、「WWN4」が付与されたストレージシステムB 2000のPort2030と「WWN3」が付与されたストレージシステムA 1000のPort1030とが接続されている。
なお、第1の実施形態では、ストレージ間パステーブルB5400は、2台のストレージシステムが物理的に接続され、かつ、一般的なストレージシステム管理ソフトウェアによって接続の設定が終了した後に作成される。また、ストレージシステムB 2000は、作成されたストレージ間パステーブルB5400を備える。
なお、ストレージシステムB 2000が、接続されたストレージシステムのPortを自動的に調査し、ストレージ間パステーブルB5400を自動的に作成する機能を備える場合には、ストレージシステムB 2000は、この機能を利用してストレージ間パステーブルB5400を作成してもよい。
また、ストレージシステムB 2000のコントローラ2100は、外接処理部2240を備える。外接処理部2240は、後述する外接VolマップテーブルB5500(図17)を管理する。
外接処理部2240は、他のストレージシステム(ストレージシステムA 1000)の論理ボリューム1320を外部接続し、論理ボリューム1320をストレージシステムB 2000の論理ボリューム2321として取り込む。ストレージシステムB 2000は、取り込まれた論理ボリューム2321をホスト計算機3000に提供することができる。なお、外接処理部2240が実行する具体的な処理については後述する。
例えば、図8に示したように「WWN4」が付与されたストレージシステムB 2000のPort2030と「WWN3」が付与されたストレージシステムA 1000のPort1030とが接続され、かつ、「WWN3」が付与されたPort1030に、論理ボリューム1320が、LUNが付与された論理ユニット1350として対応付けられている場合には、ストレージシステムB 2000の外接処理部2240は、論理ユニット1350に対応付けられたストレージシステムA 1000の論理ボリューム1320に、ストレージシステムB 2000内で利用するDEVIDを付与する。これによって、ストレージシステムB 2000は、外部接続されたストレージシステムA 1000の論理ボリューム1320をストレージシステムB 2000の論理ボリューム2321として扱うことができる。
外接VolマップテーブルB5500は図17に示されており、詳細は後述するフローチャートの中で説明する。
このほか、ストレージシステムA 1000のコントローラ1100は、構成情報通信部1140を備える。また、ストレージシステムB 2000のコントローラ2100は、仮想Vol移行部I2210を備える。仮想Vol移行部I2210の処理については、図9から図15を用いて後述する。
構成情報通信部1140は、仮想Vol移行部I2210からの要求を契機として、ストレージシステムA 1000にある各構成情報のテーブルを仮想Vol移行部I2210に送信する。なお、各構成情報のテーブルは、管理IF1010経由のネットワーク300を介して送信されてもよいし、Port1020(又はPort1030)経由のネットワーク100(又はネットワーク200)を介して送信されてもよい。
また、ストレージシステムB 2000のコントローラ2100は、外接LDEV参照テーブルB5600、仮想Vol管理テーブルC5700、セグメント管理テーブルC5800を備える。
外接LDEV参照テーブルB5600は、ストレージシステムA 1000の論理ボリューム1320と、論理ボリューム1320を外部接続したストレージシステムB 2000の外接ボリュームのDEV IDの対応関係を記述したテーブルである。外接LDEV参照テーブルB5600については、図18を用いて後述する。
セグメント管理テーブルC5800の構成は、図6に示したセグメント管理テーブルA4300の構成と同じである。仮想Vol管理テーブルC5700の構成は、図7に示した仮想Vol管理テーブルA4200の構成と同じである。
第1の実施形態では、セグメント管理テーブルC5800及び仮想Vol管理テーブルC5700を用いる例を説明するが、セグメント管理テーブルC5800及び仮想Vol管理テーブルC5700は、ストレージシステムB 2000のPool及び仮想ボリュームを管理するために用いるテーブルではなく、第1の実施形態の処理の過程で一時的に作成するテーブルであって必ずしも必要ではない。
なお、外接LDEV参照テーブルB5600、仮想Vol管理テーブルC5700、セグメント管理テーブルC5800の説明については、図11を用いて後述する。
以下に、第1の実施形態の仮想ボリュームの移行処理の概要を説明する。
ストレージシステムA 1000は、仮想ボリューム移行処理の前に、前述した図5、図6、図7に示したテーブルの構成を備え、ストレージシステムB 2000は、図8に示したテーブルの構成を備えている。
ここで説明のため、ストレージシステムA 1000は、論理ボリューム1320(識別子は「LDEV1」及び「LDEV2」)、この「LDEV1」及び「LDEV2」の論理ボリューム1320によって作成されたPool1330(識別子は「Pool1」)を備えている。
さらに、ストレージシステムA 1000は、Pool(識別子は「Pool1」)のセグメントが割り当てられた仮想ボリューム1340(識別子は「VVol1」)を備える。また、一般的な管理プログラム等を用いて、ホスト計算機3000が論理ボリューム1320を利用しないように操作することができるため、仮想ボリューム1340は、ホスト計算機3000から利用されていないとする。
なお、前述した論理ボリューム1320、Pool1330及び仮想ボリューム1340の構成は一例であって、これらの数はストレージシステムA 1000の運用に応じて変更してよい。
図9は、本発明の第1の実施形態の仮想Vol移行部Iの処理を示すフローチャートである。
図9に示す処理7000から処理7500までの処理は、仮想Vol移行部I2210が実行する仮想ボリュームの移行の処理である。
なお、処理7100の詳細については、図11を用いて後述する。処理7200の詳細については、図13を用いて後述する。処理7300の詳細については、図14を用いて後述する。処理7400の詳細については、図15を用いて後述する。
ここで、図9に示す仮想ボリュームの移行処理を説明する前に、仮想ボリュームの移行の前後におけるストレージシステムA 1000及びストレージシステムB 2000の構成について説明する。
図10は、本発明の第1の実施形態の仮想ボリュームを移行する処理の概要を示す説明図である。
仮想ボリュームの移行処理の前のストレージシステムA 1000は、論理ボリューム1320(識別子は「LDEV1」及び「LDEV2」)を備え、これらの論理ボリューム1320から作成されたPool1330(識別子は「Pool1」)を備える。また、ストレージシステムA 1000は、このPool1330からセグメントを割り当てられた仮想ボリューム1340(識別子は「VVol1」)を備える。
仮想ボリュームの移行処理の後のストレージシステムB 2000は、外部接続によって取り込まれた論理ボリューム2321(識別子は「LDEV3」及び「LDEV4」)を備え、これらの論理ボリューム2321から作成されたPool2330(識別子は「Pool3」)を備える。
また、ストレージシステムB 2000は、このPool2330からセグメントを割り当てられた仮想ボリューム2340(識別子は「VVol3」)を備える。 図9の説明に戻り、ストレージシステムB 2000の仮想Vol移行部I2210の処理の概要を説明する。
まず、仮想Vol移行部I2210は、例えば、管理IF2010を経由して、ストレージシステムA 1000の「Pool1」をストレージシステムB 2000に移行する指示を受け取る(処理7000)。
次に、仮想Vol移行部I2210は、ストレージシステムA 1000から、仮想ボリューム1340の構成情報である仮想Vol管理テーブルA4200及びPool1330の構成情報であるセグメント管理テーブルA4300を取得する(処理7100)。
次に、仮想Vol移行部I2210は、取得したセグメント管理テーブルA4300を参照して、「Pool1」に含まれる論理ボリューム「LDEV1」及び「LDEV2」を外部接続する指示を外接処理部2240に与える(処理7200)。
そして、仮想Vol移行部I2210は、外部接続した論理ボリューム「LDEV1」及び「LDEV2」をストレージシステムB 2000で使用するため、セグメント管理テーブルA4300を変換する(処理7300)。また、仮想Vol移行部I2210は、外部接続によって取り込んだ論理ボリューム「LDEV3」及び「LDEV4」をストレージシステムB 2000内に作成する。
最後に、仮想Vol移行部I2210は、ストレージシステムA 1000から取得した仮想Vol管理テーブルA4200及び変換されたセグメント管理テーブルA4300によって、移行処理の前にストレージシステムA 1000が備えていた「Pool1」及び仮想ボリューム「VVol1」と同じ構成情報を備える「Pool3」及び仮想ボリューム「VVol3」を作成し(処理7400)、移行の処理を終了する(処理7500)。
なお、図10に示した例においては、移行処理の後にストレージシステムB 2000が備えるPool2330及び仮想ボリューム2340の識別子を、移行処理の前にストレージシステムA 1000が備えていたPool1330及び仮想ボリューム1340の識別子とは違う識別子に変換した。
ストレージシステムB 2000が備えるPool1330及び仮想ボリューム1340の識別子が、ストレージシステムA 1000が備えるPool1330及び仮想ボリューム1340の識別子と重複しない場合は、移行処理の前にストレージシステムA 1000が備えているPool1330及び仮想ボリューム1340の識別子を、移行処理の後のストレージシステムB 2000がそのまま用いてもよい。
この場合、移行処理の後のストレージシステムB 2000において、図10に示した「Pool3」を「Pool1」に、「VVol3」を「VVol1」に読み替えてよい。
また、ストレージシステムA 1000が一つ以上のPool1330を備える場合には、仮想Vol移行部I2210は、各Pool1330に対して、図9に示した処理7000から処理7400までの処理を繰り返し、ストレージシステムA 1000が備えるすべてのPool1330をストレージシステムB 2000へ移行する。
前述した一連の移行処理によって、ストレージシステムB 2000は、ストレージシステムA 1000のPool1330及び仮想ボリューム1340と同じ構成を備えるPool2330及び仮想ボリューム2340を利用することができる。
また、仮想ボリューム1340の移行処理において、ストレージシステムB 2000は、ストレージシステムA 1000の記憶領域に格納されたデータをストレージシステムB 2000の記憶領域にコピーすることなく、ストレージシステムA 1000の記憶領域を利用するので、データのコピーのために新たに記憶領域を必要としない。
さらに、前述した一連の移行処理によって、単純にストレージシステムA 1000の仮想ボリューム1340をストレージシステムB 2000の記憶領域にコピーした場合と異なり、ストレージシステムB 2000は、ストレージシステムA 1000の仮想ボリューム1340をストレージシステムB 2000の仮想ボリューム2340として扱うことができ、仮想ボリューム2340へのセグメント割り当ての情報を利用した機能(例えば、仮想ボリューム2340のセグメントが割り当てられている部分のみを別の論理ボリューム2321にコピーする機能等)を提供することができる。
そして、前述した一連の移行処理においては、ストレージシステムB 2000は、ストレージシステムA 1000のセグメント管理テーブルA4300及び仮想Vol管理テーブルA4200の構成情報のみを取得すればよい。したがって、ストレージシステムB 2000は、ストレージシステムA 1000の仮想ボリューム1340を仮想ボリューム1340に対応付けられている論理ボリューム1320に格納されたデータとともにストレージシステムB 2000の記憶領域にコピーする場合よりも早く、ストレージシステムA 1000が備えていた仮想ボリュームを利用することができる。
また、前述した移行処理において、移行元であるストレージシステムA 1000は、構成情報を通信する構成情報通信部1240のみを備えればよく、ストレージシステムA 1000は移行処理のために、そのほかの特別な処理部を必要としない。さらに、ストレージシステムA 1000は、ストレージシステムB 2000に論理ボリューム1320をコピーする機能を備える必要がない。
図9における各処理を図11から図15を用いて説明する。
まず、仮想Vol移行部I2210は、処理7000において、管理IF2010からストレージシステムA 1000のPool1330(識別子「Pool1」)を移行する指示を受け取り、移行元となるストレージシステムA 1000と、ストレージシステムA 1000のPool1330を特定する。Poolの移行は、ストレージシステムB 2000が備える管理用のコンソール(図示省略)、又は、後述する図21の管理計算機6000の管理プログラム6110が提供する管理画面(図22)を用いてユーザが指示してもよい。なお、「Pool1」を移行する指示は、所定の規則に従って、ネットワーク上を流れるデータのバイト列に埋め込まれてもよい。
次に、図9に示した処理7100を、図11を用いて具体的に説明する。
図11は、本発明の第1の実施形態のPool及び仮想ボリュームの構成情報を取得する処理を示すフローチャートである。
仮想Vol移行部I2210は、前述した処理7000によって、移行元の対象がストレージシステムA 1000の「Pool1」であることを特定している。
次に、仮想Vol移行部I2210は、ストレージシステムA 1000の構成情報通信部1240と通信することができるか否かを確認する(処理7110)。
なお、ストレージシステムB 2000は、例えば、管理IF2010経由でLAN等のネットワーク300を介してストレージシステムAと通信してもよいし、Port2020経由で、互いに接続されたSAN等のネットワーク100を介して通信してもよい。
以下では、ストレージシステムA 1000の構成情報通信部1240が管理IF1010経由で構成情報を送信する例を説明する。また、例えば、ネットワーク100がLANの場合、仮想Vol移行部I2210は、構成情報通信部1240に宛ててPing等を送信し、レスポンスがあるか否かを確認することによって、ストレージシステムA 1000との通信が可能であるかを判定する。
処理7110において、通信が不可能であった場合、仮想Vol移行部I2210は、処理を終了する(処理7500)。なお、管理IF2010に出力端末等(例えば、後述する図21に示す管理計算機6000)が接続されている場合には、仮想Vol移行部I2210は、処理が異常終了した旨を出力端末等に通知してもよい(処理7150)。この場合、出力端末等は、通知されたエラーの内容に基づいてエラー表示画面を表示してもよい。エラー表示画面の表示の例を、図12を用いて説明する。
図12は、本発明の第1の実施形態のエラー表示画面の例を示す説明図である。
エラー表示画面6400は、エラーの理由を通知する画面構成要素6410等を備える。図11の説明に戻る。
処理7110において、通信が可能であった場合は、仮想Vol移行部I2210は、処理7120へ進む。
次に、仮想Vol移行部I2210は、ストレージシステムA 1000が備える仮想ボリューム1340の構成情報である仮想Vol管理テーブルA4200及びPoolのセグメント管理情報であるセグメント管理テーブルA4300をストレージシステムB 2000に送信するよう構成情報通信部1240に対して要求する。
送信の要求を受け取った構成情報通信部1240は、管理IF1010経由によって、仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300を仮想Vol移行部I2210へ送信する。
これによって、仮想Vol移行部I2210は、仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300を取得する(処理7120)。
なお、仮想Vol移行部I2210は、構成情報通信部1240へ送信を要求する場合に、Poolの識別子を指定し、仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300から指定されたPoolの識別子を含むレコードのみを取得してもよい。
次に、仮想Vol移行部I2210は、取得したセグメント管理テーブルA4300が「Pool1」であるレコードを含むか否かを確認する(処理7130)。
処理7130において、確認の結果、「Pool1」であるレコードが含まれていない場合、仮想Vol移行部I2210は処理を終了する(処理7500)。
なお、管理IF2010に出力端末等が接続されている場合、仮想Vol移行部I2210は、ストレージシステムA 1000には指定された識別子が付与されたPool1330が存在しない旨を出力端末等に通知し(処理7150)、出力端末等は通知された終了理由を表示してもよい。
処理7130において、「Pool1」であるレコードが含まれている場合、仮想Vol移行部I2210は処理7140へ進む。
次に、仮想Vol移行部I2210は、取得した仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300から、「Pool1」であるレコードのみを抽出し、抽出されたレコードによって作成されるテーブルを仮想Vol管理テーブルC5700及びセグメント管理テーブルC5800としてストレージシステムB 2000のメモリ2200に格納する(処理7140)。
仮想Vol管理テーブルC5700及びセグメント管理テーブルC5800の構成は、図6及び図7に示した仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300の構成と同じである。
なお、処理7140は、仮想Vol移行部I2210が、それぞれの管理テーブルの各レコードに対して、レコードに記載されたPoolの識別子を判別し、「Pool1」を含むレコードを仮想Vol管理テーブルC5700又はセグメント管理テーブルC5800に記載することによって実行される。
仮想Vol移行部I2210は、仮想Vol管理テーブルC5700又はセグメント管理テーブルC5800を作成した後、処理7200へ進む。また、処理7200以降、仮想Vol移行部I2210は、取得した仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300を使用しないため、これらの管理テーブルをメモリ2200から削除してもよい。
なお、処理7120において、仮想Vol移行部I2210は、仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300から、「Pool1」を含むレコードのみを取得して、仮想Vol管理テーブルC5700及びセグメント管理テーブルC5800としてもよい。
また、処理7140は必ずしも必要でなく、仮想Vol移行部I2210は、ストレージシステムA 1000から取得した仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300をそのまま用いて、以降の処理に進んでもよい。
次に、図9に示した処理7200を、図13を用いて具体的に説明する。
図13は、本発明の第1の実施形態の論理ボリュームを外部接続する処理を示すフローチャートである。
処理7200(処理7210から処理7225)は、処理7100において、仮想Vol移行部I2210がストレージシステムA 1000の「Pool」の構成情報を取得した後に、「Pool1」に含まれる論理ボリューム「LDEV1」及び「LDEV2」をストレージシステムB 2000に外部接続する処理である。
なお、処理7200を開始する前に、仮想Vol移行部I2210は、ストレージシステムA 1000の「Pool1」に含まれる論理ボリューム「LDEV1」及び「LDEV2」を外部接続する処理ため、必要に応じて、ストレージシステムA 1000に作成された「Pool1」及び「VVol1」を削除してもよい。
この場合、仮想Vol移行部I2210は、セグメント処理部1230に対して、
「LDEV1」及び「LDEV2」が作成する「Pool1」の削除を指示し、仮想Vol処理部1220に対し、「Pool1」のセグメントが割り当てられている「VVol1」の削除を指示する。削除の指示は、管理IF2010等を経由してもよい。
また、仮想Vol移行部I2210は、「Pool1」を削除した場合、削除された「Pool1」に含まれていた論理ボリューム「LDEV1」及び「LDEV2」に格納されたデータが変更されるのを防ぐため、「LDEV1」及び「LDEV2」に対するホスト計算機3000からの書き込みを不可としてもよい。この場合、仮想Vol移行部I2210は、ストレージシステムA 1000のLUマップ処理部1210に書き込み不可の設定を指示してもよい。
まず、仮想Vol移行部I2210は、ストレージシステムB 2000が備えるストレージ間パステーブルB5400を参照して、SAN等のネットワーク100を介して接続されたストレージシステムA 1000のPortのWWNが存在するか否かを確認する(処理7210)。
処理7210において、該当するWWNが存在しない場合、仮想Vol移行部I2210は処理を終了する(処理7500)。なお、ストレージシステムB 2000の管理IF2010に出力端末等が接続されている場合、仮想Vol移行部I2210は、ストレージシステムB 2000に接続されているストレージシステムA 1000が存在しないため、処理を終了した旨を通知し、出力端末等にエラー通知の表示を指示してもよい(処理7260)。
処理7210において、該当するWWNが存在する場合(すなわち、SAN等のネットワーク100を介してストレージシステムB 2000と通信可能なストレージシステムA 1000が存在する場合)、仮想Vol移行部I2210は処理7220へ進む。
次に、仮想Vol移行部I2210は、処理7140においてストレージシステムA 1000から取得したセグメント管理テーブルC5800を参照し、記載されているすべての各セグメントに対して、処理7230から処理7250の処理を繰り返して実行する(処理7220)。
なお、仮想Vol移行部I2210は、すべてのセグメントに対して、処理7230から処理7250までの処理を実行した後、次の処理7300へ進む(処理7220)。
処理7230の説明に戻る。
仮想Vol移行部I2210は、セグメント管理テーブルC5800を参照して、セグメントID4320に対応付けられているDEVID4330を確認し、DEVID4330によって示される論理ボリューム1320(例えば、「LDEV1」又は「LDEV2」)が外部接続されているかを確認する(処理7230)。
処理7230において、論理ボリューム1320が外部接続されていない場合、仮想Vol移行部I2210は処理7240に進む。
処理7230において、論理ボリューム1320が既に外部接続されていた場合、仮想Vol移行部I2210は、処理7225に進み、ほかのセグメントID4320に対応付けられた論理ボリューム1320に対して、処理7230から処理7250までの処理を実行する。
なお、仮想Vol移行部I2210は、論理ボリューム1320が外部接続されているか否かを、処理7220おいて記憶された外部接続を指示された論理ボリューム1320のDEVIDに基づいて判定してもよいし、構成情報通信部1240から取得したLUマップテーブルA4100に記載された論理ボリューム1320に基づいて判定してもよい。
次に処理7240を説明する。
処理7230において、セグメントID4320に対応付けられた論理ボリューム1320(例えば、「LDEV1」)はまだ外部接続されていないと判定された。
したがって、仮想Vol移行部I2210は、ストレージ間パステーブルB5400を参照し、接続元WWN5410(ストレージシステムB 2000)に接続している接続先WWN5430(ストレージシステムA 1000)を確認する。
例えば、ここでは、「WWN4」が付与されたストレージシステムB 2000のPortが、「WWN3」が付与されたストレージシステムA 1000のPortに接続されている。
そして、仮想Vol移行部I2210は、「WWN3」が付与されたストレージシステムA 1000のPortを経由して、ストレージシステムA 1000のLUマップ処理部1210に対して、外部接続が完了していないと判定されたセグメントID4320に対応付けられた論理ボリューム1320(例えば、「LDEV1」)を、論理ユニット1350(例えば、「LUN1」)にLUマッピングするよう指示する(処理7240)。
LUマップ処理部1210は、LUマッピングの指示を受け取った後、仮想Vol移行部I2210から指定された「WWN3」が付与されたPortに、指示された論理ボリューム「LDEV1」を、「LUN1」である論理ユニット1350として対応付ける。
なお、LUNの番号は、ストレージシステムB 2000の「WWN3」に既に割り当てられたLUNに重複しない数であればよく、例えば、既存のLUNに重複しない数のうちで最も小さな数を選んでよい。
そして、LUマップ処理部1210は、このLUマッピング結果をLUマップテーブルA4100に反映する。
ここで、LUマッピングが終了した後に更新されたLUマップテーブルA4100を、図16を用いて説明する。
図16は、本発明の第1の実施形態の論理ボリュームの外部接続時のLUマップテーブルAの構成の例を示す説明図である。
図16に示したLUマップテーブルA4100では、「WWN3」が付与されたPortに、「Pool1」に含まれる論理ボリューム「LDEV1」及び「LDEV2」が、それぞれ「LUN1」及び「LUN2」の論理ユニット1350としてLUマッピングされている。
図16に示したLUマップテーブルA4100は、「WWN3」である行が追加された点が、図5示したLUマップテーブルA4100と異なる。
図13の説明に戻り、LUマッピングされた論理ボリューム「LDEV1」及び「LDEV2」を外部接続する処理7250を説明する。
仮想Vol移行部I2210は、処理7240によって「WWN3」を付与されたストレージシステムA 1000のPortに、「LUN1」としてLUマッピングされた「LDEV1」を外部接続する指示を外接処理部2240に与える。また、同様にして、「LUN2」としてLUマッピングされた「LDEV2」を外部接続する指示を与える(処理7250)。
次に、前述した指示を受け取った外接処理部2240は、「WWN3」が付与されたストレージシステムA 1000のPortにLUマッピングされた論理ボリューム「LDEV1」(又は「LDEV2」)に、ストレージシステムB 2000内で使用するための新たな識別子「LDEV3」(又は、「LDEV4」)を割り振り、後述する外接VolマップテーブルB5500(図17)を作成する。これによって、ストレージシステムB 2000は、ストレージシステムA 1000の論理ボリューム1320をストレージシステムB 2000の論理ボリューム2321としてホスト計算機3000(又は、管理計算機等)に提供することができる。
図17は、本発明の第1の実施形態の論理ボリュームの外部接続時の外接VolマップテーブルBの構成の例を示す説明図である。
外接VolマップテーブルB5500は、DEVID5510、接続先WWN5520及び接続先LUN5530を含む。なお、第1の実施形態では、外部接続の接続先はストレージシステムA 1000であり、接続元はストレージシステムB 2000である。
DEVID5510は、接続元(ここでは、ストレージシステムB 2000)が外部接続して取り込んだ論理ボリューム2321に付与した識別子である。接続先WWN5520は、外部接続された実際の論理ボリューム1320を備える接続先(ここでは、ストレージシステムA 1000)のWWNである。接続先LUN5530は、接続先(ストレージシステムA 1000)において外部接続された論理ボリューム1320にLUマッピングされている論理ユニット1350の識別子である。
ここで、図13の説明に戻る。
仮想Vol移行部I2210は、「Pool1」に含まれるすべての論理ボリューム1320に対して、処理7240(LUマッピングの処理)及び処理7250(外部接続の処理)を実行した後、処理7300へ進む。なお、処理7250は、先に「Pool1」に含まれるすべての論理ボリューム1320に対して処理7240を実行した後、すなわちLUマッピングが終了した後、実行されてもよい。
次に、処理7300を、図14を用いて具体的に説明する。
図14は、本発明の第1の実施形態のPool及び仮想ボリュームの構成情報を変換する処理を示すフローチャートである。
処理7300(処理7310から処理7340まで)は、仮想Vol移行部I2210がストレージシステムA 1000から取得した仮想Vol管理テーブルC5700、及び、セグメント管理テーブルC5800を、ストレージシステムB 2000で利用するための変換処理である。
仮想Vol移行部I2210は、「Pool1」に含まれるすべての論理ボリューム(ここでは、「LDEV1」及び「LDEV2」)を外部接続した後、ストレージシステムA 1000の構成情報通信部1240から、LUマップテーブルA4100を取得する(処理7310)。
なお、この場合のLUマップテーブルA4100は、図5ではなく図16に示す情報を含むテーブルである。また、仮想Vol移行部I2210は、このLUマップテーブルA4100に含まれるすべてレコードを取得する必要はなく、処理7250において外部接続の接続先WWNとして指定されたWWN(例えば、「WWN3」)を含むレコードのみでよい。
次に、仮想Vol移行部I2210は、前述した処理7310において取得したLUマップテーブルA4100の指定されたWWN(例えば、「WWN3」)を含むレコードに対して、処理7330に示す処理を繰り返し実行し(処理7320)、すべてのレコードに対して処理7330が完了した後、処理7340へ進む(処理7325)。
仮想Vol移行部I2210は、処理7250で作成した外接VolマップテーブルB5500、及び、処理7310おいて取得したLUマップテーブルA4100を参照して、外接LDEV参照テーブルB5600(図18)を作成する(処理7330)。
次に、外接LDEV参照テーブルB5600を、図18を用いて説明する。
図18は、本発明の第1の実施形態の論理ボリュームの外部接続時の外接LDEV参照テーブルの構成の例を示す説明図である。
外接LDEV参照テーブルB5600は、接続元DEVID5610及び接続先DEVID5620を含む。
接続元DEVID5610は、ストレージシステムB 2000がストレージシステムA 1000の論理ボリューム1320を外部接続し、ストレージシステムB 2000内に取り込んだ論理ボリューム2321に付与された識別子である。接続先DEVID5620は、外部接続されたストレージシステムA 1000の論理ボリューム1320の識別子である
例えば、仮想Vol移行部I2210は、図16に示したLUマップテーブルA4100を参照して、WWNが「WWN3」、LUNが「1」、DEVIDが「LDEV1」であるレコード4101を特定する(処理7320)。
次に、仮想Vol移行部I2210は、図17に示した外接VolマップテーブルB5500を参照して、レコード4101のWWN(ここでは「WWN3」)及びLUN(ここでは「LUN1」)と同一の値を含むレコードを特定する。
ここでは、レコード5501の接続先WWN5520及び接続先LUN5530が、レコード4101のWWN及びLUNにそれぞれ一致する。
したがって、仮想Vol移行部I2210は、レコード5501のDEVID5510に示された「LDEV3」を図18に示した外接LDEV参照テーブルB5600の接続元DEVID5610に、レコード4101のDEVIDに示された「LDEV1」を接続先DEVID5620に記載する。
これによって、外接LDEV参照テーブルB5600に、レコード5601が追加された。
以上の処理によって、仮想Vol移行部I2210は、接続先の外部接続された論理ボリューム1320の識別子と、外接元の取り込んだ論理ボリューム2321の識別子との対応関係を記述した外接LDEV参照テーブルB5600を作成する(図14に示した処理7330)。
図14の説明に戻る。外接LDEV参照テーブルB5600が作成された後、仮想Vol移行部I2210は処理7340へ進む。
仮想Vol移行部I2210は、処理7330によって作成された外接LDEV参照テーブルB5600を参照して、ストレージシステムA 1000から取得したセグメント管理テーブルC5800のDEVID4330を書き換える。
つまり、DEVID4330に記載されている「LDEV1」(図18のレコード5601に示した接続先DEVID5620に相当する)を「LDEV3」(図18のレコード5601に示した接続元DEVID5610に相当する)へ置換する(処理7340)。
仮想Vol移行部I2210は、前述した置換の処理をストレージシステムA 1000から取得したセグメント管理テーブルC5800のすべてのレコードに対して実行する。
なお、仮想Vol移行部I2210がセグメント管理テーブルC5800ではなく、ストレージシステムA 1000から取得したセグメント管理テーブルA4300をそのまま用いている場合には、仮想Vol移行部I2210は、Poolの識別子が「Pool1」のレコードについてのみ置換の処理を実行すればよい。
例えば、図6に示したセグメント管理テーブルA4300で、PoolID4310が「Pool1」であり、DEVID4330に「LDEV1」記載されたレコード4301では、図18に示した外接LDEV参照テーブルB5600のレコード5601の対応関係によって、接続先DEVID5620である「LDEV1」が接続元DEVID5610の「LDEV3」へ置換される。
仮想Vol移行部I2210は、「Pool1」に含まれるすべてのセグメント、すなわち、セグメント管理テーブルC5800の「Pool1」が記載されたすべてのレコードに対して、前述したDEVIDの置換の処理が終了した後、処理7400へ進む。
次に、図9に示した処理7400を、図15を用いて具体的に説明する。
図15は、本発明の第1の実施形態のストレージシステムBにPool及び仮想ボリュームを作成する処理を示すフローチャートである。
処理7400(処理7410から処理7440)は、仮想Vol移行部I2210が、仮想Vol管理テーブルC5700及びセグメント管理テーブルC5800を参照して、実際にストレージシステムB 2000にPool2330を作成する処理である。
仮想Vol移行部I2210は、仮想Vol管理テーブルC5700及びセグメント管理テーブルCに基づいて新しく作成するPoolの識別子とストレージシステムB 2000が既に備えているPoolの識別子とが重複することを避けるため、ストレージシステムA 1000から移行するPool1330の識別子を別の識別子へ置換する(処理7410)。
例えば、仮想Vol移行部I2210は、ストレージシステムB 2000が備えるストレージシステムA 1000から取得した仮想Vol管理テーブルC5700、及び、セグメント管理テーブルC5800の各レコードに対して、「Pool1」をストレージシステムB 2000で使用されていない識別子である「Pool3」へ置換する。
なお、仮想Vol移行部I2210は、ストレージシステムB 2000が備える仮想Vol管理テーブルB5200及びセグメント管理テーブルB5300を参照して、ストレージシステムB 2000で既に使われているPoolの識別子を確認することができる。
また、ストレージシステムB 2000で「Pool1」が使用されていない場合、仮想Vol移行部I2210は、Poolの識別子を置換せず、「Pool1」をそのまま用いてPoolを作成するのが望ましい。また、仮想Vol移行部I2210は、置換の前後のPoolの識別子を記憶しておき、置換の結果を出力端末等(例えば、後述する図21に示す管理計算機6000等)に通知するようにしてもよい。
また、仮想Vol移行部I2210は、処理7410において、前述した置換の処理がない場合、すなわち、Poolの識別子が変更されない場合にはPoolの移行の処理を実行し、前述した置換の処理がある場合、例えば、Poolの識別子が「Pool1」から「Pool3」へ置換される場合にはPoolの移行の処理を終了する、としてもよい。なお、管理IF2010に出力端末等が接続されている場合、仮想Vol移行部I2210は、Poolの移行処理を終了した原因を出力端末等に通知してもよい。また、Poolの識別子が変更される場合は、前述した出力端末等に、実行の可否を確認する画面を表示してもよい。
次に、仮想Vol移行部I2210は、ストレージシステムA 1000から取得した後、処理7410によってPoolの識別子が「Pool3」に置換されたセグメント管理テーブルC5800を参照して、「Pool3」のPoolをストレージシステムB 2000に作成する指示をセグメント処理部2230に与える。
次に、指示を受けたセグメント処理部2230は、ストレージシステムA 1000から取得しPoolの識別子が置換されたセグメント管理テーブルC5800のレコードを、ストレージシステムB 2000が備えるセグメント管理テーブルB5300に追加する。
そして、セグメント処理部2230は、セグメント管理テーブルB5300に基づいて、Poolの識別子が「Pool3」であるPoolを作成する(処理7420)。
なお、前述したPoolの作成の処理において、仮想Vol移行部I2210は、「Pool3」に含まれる論理ボリューム「LDEV3」及び「LDEV4」にフォーマット等の書き込み処理が発生する場合には、セグメント処理部2230に書き込み処理の抑止を指示する。また、セグメント処理部2230は、ストレージシステムB 2000がセグメント管理テーブルC5800を備えず、ストレージシステムA 1000から取得したセグメント管理テーブルA4300をそのまま使用している場合には、「Pool3」が含まれているレコード(処理7410によってセグメント管理テーブルA4300のPoolの識別子も置換されている)に対してのみ、処理7420を実行すればよい。
ここで、セグメント処理部2230によって、処理7420が実行された後のストレージシステムB 2000が備えるセグメント管理テーブルB5300を、図19を用いて説明する。
図19は、本発明の第1の実施形態の実施後のセグメント管理テーブルBの構成の例を示す説明図である。
セグメント管理テーブルB5300は、Poolは、PoolID5310、セグメントID5320、DEVID5330、開始LBA5340、セグメントサイズ5350及びVVolID5360を含む。
セグメント管理テーブルB5300は、図6に示したセグメント管理テーブルA4300とは、PoolID5310、DEVID5330の値が置換されている点で異なる。
また、後述する処理7430において、仮想Volの識別子を変換している場合は、前記VVolID5360も異なる。
図15に戻り、処理7430を説明する。仮想Vol移行部I2210は、新しく作成する仮想ボリュームの識別子と、ストレージシステムB 2000が既に備えている仮想ボリュームの識別子とが重複することを避けるため、ストレージシステムA 1000から移行する仮想ボリューム1340の識別子を別の識別子へ置換する(処理7430)。
具体的には、仮想Vol移行部I2210は、ストレージシステムA 1000から取得し、ストレージシステムB 2000が備える仮想Vol管理テーブルC5700の各レコードの仮想ボリュームの識別子を、ストレージシステムB 2000で使用していない識別子に置換する。なお、仮想Vol移行部I2210は、前述したストレージシステムA 1000から取得した仮想Vol管理テーブルC5700に複数の仮想ボリュームの識別子が記載されている場合には、それぞれに互いに異なる識別子を付与する。
さらに、仮想Vol移行部I2210は、置換後の仮想Vol管理テーブルC5700のPoolID、セグメントID及びVVolIDの関係を用いて、セグメント管理テーブルC5800のVVolIDを置換する。
なお、仮想Vol移行部I2210は、ストレージシステムB 2000が備える仮想Vol管理テーブルB5200を参照して、ストレージシステムB 2000が使用していない識別子を確認することができる。
例えば、仮想Vol移行部I2210は、ストレージシステムA 1000から取得した仮想Vol管理テーブルC5700に、「VVol1」が含まれていた場合、「VVol1」をストレージシステムB 2000でまだ使用されていない「VVol3」へ置換する。
さらに、「VVol1」のほかに「VVol2」が含まれていた場合、仮想Vol移行部I2210は、「VVol2」をストレージシステムB 2000で使用されておらず、かつ、既に付与した「VVol3」とは異なる「VVol4」へ置換する(処理7430)。
さらに、仮想Vol移行部I2210は、置換後の仮想Vol管理テーブルC5700を参照して、PoolIDが「Pool3」のセグメントID「001」はVVolID「VVol3」に属していることを知る。これによって、仮想Vol移行部I2210は、セグメント管理テーブルC5800のPoolID「Pool3」のセグメントID「001」に対応したVVolIDを「VVol1」から「VVol3」へ置換する。
ストレージシステムB 2000が仮想Vol管理テーブルC5700を備えず、ストレージシステムA 1000から取得した仮想Vol管理テーブルA4200をそのまま利用している場合には、仮想Vol移行部I2210は、Poolの識別子が「Pool3」(処理7410によって仮想Vol管理テーブルA4200のPoolの識別子も置換されている)である仮想ボリュームに対してのみ識別子を置換する。
また、仮想Vol移行部I2210は、処理7410において処理の終了を通知したのと同様に、仮想ボリュームに識別子が一つでも変更される場合、出力端末等にエラーを通知し、仮想ボリュームの作成の処理を終了してもよい。
さらに、仮想Vol移行部I2210は、置換の前後で仮想ボリュームの識別子を記憶しておき、仮想ボリュームの識別子を置換した結果を出力端末等に通知してもよい。
次に、仮想Vol移行部I2210は、ストレージシステムA 1000から取得し、処理7430によって仮想ボリュームに識別子が置換された仮想Vol管理テーブルC5700を参照し、「Pool3」のセグメントが割り当てられたすべての仮想ボリュームを作成する指示を仮想Vol処理部2220に与える。
指示を受けた仮想Vol処理部2220は、仮想Vol管理テーブルC5700のうちで「Pool3」を含むすべてのレコードを、ストレージシステムB 2000が備える仮想Vol管理テーブルB5200に追加する。
仮想Vol処理部2220は、仮想Vol管理テーブルB5200に基づいて、「Pool3」であるPoolのセグメントが割り当てられた仮想ボリュームを作成する(処理7440)。
また、ストレージシステムB 2000が仮想Vol管理テーブルC5700を備えず、ストレージシステムA 1000から取得した仮想Vol管理テーブルA4200をそのまま利用している場合には、仮想Vol処理部2220、Poolの識別子が「Pool3」となっているレコードに対してのみ、処理7440を実行すればよい。
また、ここで、仮想Vol処理部2220によって、処理7440が実行された後のストレージシステムB 2000が備える仮想Vol管理テーブルB5200を、図20を用いて説明する。
図20は、本発明の第1の実施形態の仮想Vol管理テーブルBの構成の例を示す説明図である。
仮想Vol管理テーブルB5200は、VVolID5210、サイズ5220、開始VLBA5230、PoolID5240、セグメントID5250及びセグメントサイズ5260を含む。仮想Vol管理テーブルB5200は、図7に示した仮想Vol管理テーブルA4200とは、VVolID5210及びPoolID5240に識別子が置換されている点で異なる。
以上説明したように、第1の実施形態によれば、ストレージシステムB 2000は、ストレージシステムA 1000が備える論理ボリュームとセグメントとの対応関係、及び、仮想ボリュームと仮想ボリュームとの対応関係をそのまま引き継ぐことができる。
また、ストレージシステムB 2000は、ストレージシステムA 1000のデータをコピーすることなく、ストレージシステムA 1000が備える仮想ボリュームと同等の仮想ボリュームをホスト計算機に提供することができる。
また、第1の実施形態の計算機システムは、ホスト計算機3000、ストレージシステムA 1000及びストレージシステムB 2000を管理する管理計算機を備えてもよい。
図21は、本発明の第1の実施形態の変形例の計算機システムの構成を示すブロック図である。
図21に示す計算機システムは、図1に示したストレージシステムA 1000、ストレージシステムB 2000及びホスト計算機3000のほかに、管理計算機6000を備える。
管理計算機6000は、CPU6010、ローカルボリューム6020、メモリ6100、及び管理IF6030を備えたワークステーション等の計算機である。
メモリ6100は、管理プログラム6110を格納する。管理プログラム6110は、業務プログラム3110は、管理IF6030を介してストレージシステム及びホスト計算機3000を管理する。
なお、管理計算機6000が備えるCPU6010、ローカルボリューム6020及び管理IF6030は、それぞれ、ホスト計算機3000が備えるCPU3040、ローカルボリューム3010、管理IF3020と同じであり、一時記憶領域領であるメモリ6100はストレージシステムのボリューム構成等を管理するための管理プログラム6110を格納する。管理計算機6000は、ディスプレイ等の出力装置(図示省略)及びキーボード等の入力装置(図示省略)を備えてもよい。
また、管理プログラム6110は、一般的なストレージシステムの管理機能に加え、ストレージシステムBのコントローラ2010に代わり、図9に示した処理7000から処理7400までの処理を、管理IF6030を介して実行してもよい。
この場合、ストレージシステムB 2000は、仮想Vol移行部I2210を備えなくてもよく、代わりに、管理計算機6000にストレージシステムB 2000の構成情報を通知する処理部をコントローラ2100に備えればよい。
管理プログラム6110は、後述する図22に示すユーザの設定に基づき、移行先のストレージシステムの管理IFに設定されたPoolの移行を指示する(図9に示した処理7000)。
次に、管理プログラム6110は、移行元ストレージシステムとなるストレージシステムA 1000の構成情報通信部1240から、セグメント管理テーブルA4300及び仮想Vol管理テーブルA4200を取得する(図9に示した処理7100)。
次に、管理プログラム6110は、取得したセグメント管理テーブルA4300を参照して、ストレージシステムA 1000のPoolを作成する論理ボリューム1320のLUマッピングを実行し、移行先となるストレージシステムB 2000にLUマッピングされた論理ボリューム1320を外部接続する指示を外接処理部2240に与える(図9に示した処理7300)。
次に、管理プログラム6110は、ストレージシステムA 1000からLUマップテーブルA4100を、ストレージシステムB 2000から外接VolマップテーブルB5500を取得した後、LUマップテーブルA4100及び外接VolマップテーブルB5500を参照して、ストレージシステムA 1000から取得したセグメント管理テーブルA4300及び仮想Vol管理テーブルA4200を変換する(図9に示した処理7300)。
そして、管理プログラム6110は、変換された各管理テーブルに基づいて、ストレージシステムA 1000と同じ構成とデータとを備えたPool2330を作成する指示をストレージシステムB 2000の仮想Vol処理部2220に与え、仮想ボリューム2340を作成する指示をセグメント処理部2230に与える(図9に示した処理7400)。
なお、前述した各処理の具体的な処理は、図11、図13、図14、図15に示した処理と同じである。
さらに、管理プログラム6110は、図9に示した処理7000において、移行元となるストレージシステムA 1000及びPool1330の情報が指定された場合には、LUマップテーブルA4100の接続hostWWN4130を参照して、指定されたPool1330のセグメントが作成する仮想ボリューム1340を利用しているホスト計算機3000をオフラインとしてもよい。
さらに、管理プログラム6110は、オフラインの処理の前にホスト計算機3000と論理ボリューム1320との対応関係を示すLUマップテーブルA4100を取得し、処理7400を実行した後、移行した仮想ボリューム2340をストレージシステムA 1000の仮想ボリューム1340を利用していたホスト計算機3000に割り当て、業務プログラム3110からデータの入出力を可能とする処理を実現してもよい。
また、管理プログラム6110は、ユーザが移行元となるストレージシステム及びPoolを設定するために、図22に示す設定画面を出力装置に表示する機能を備えてもよい。
図22は、本発明の第1の実施形態のPoolの移行を設定する画面の例を示す説明図である。
設定画面6200は、選択部6210、ストレージID6220、PoolID6230、VVolID6240及び移行先ストレージID6250のほか、承認ボタン及びキャンセルボタン等を備える。
ストレージID6220は、移行元ストレージシステムの識別子である。PoolID6230は移行したいPoolの識別子である。選択部6210は、移行元ストレージシステム及び移行するPoolを特定するための、例えばチェックボックス等である。
また、設定画面6200は、Poolを利用する仮想ボリュームの識別子を示すVVolID6240等を画面構成要素として備えてもよい。移行先ストレージID6250は、移行先ストレージシステムの識別子を指定する画面構成要素である。
また、ストレージシステムB 2000等が管理IF2010を介して管理コンソール(図示省略)を備える場合には、管理コンソールが設定画面6200を表示してもよい。この場合、移行先ストレージID6250を示す画面構成要素は不要である。
また、管理プログラム6110は、処理7400の後、Pool及び仮想ボリュームの移行を実行した結果を示す画面を出力装置に表示する機能を備えてもよい。
図23は、本発明の第1の実施形態の移行結果を表示する画面の例を示す説明図である。
画面6300は、移行先ストレージID6310、PoolID6320、移行元ストレージID6340、作成VVol6330、移行元ストレージID6340、移行元PoolID6350、移行元VVol6360及びVVol利用host6370を含むことによって、移行後の運用に役立てるようにしてもよい。
図23に示した画面6300の例は、ストレージシステムA 1000に作成された「Pool1」を利用する「VVol1」が、ストレージシステムB 2000に作成された「Pool3」を利用する「VVol3」に移行した結果を示す。
また、画面6300は、移行元ストレージシステムにおいて、どのホスト計算機が仮想ボリュームを利用していたかを示すVVol利用host6370の画面構成要素を含んでもよい。画面6300の例では、移行前の「VVol1」をホスト計算機「h1」が使用していたことを示す。
なお、画面6300は、移行元ストレージシステムに仮想ボリュームが存在しない場合には、作成VVol6330を表示しなくてもよく、また、VVolを利用していたホスト計算機が存在しない場合には、VVol利用host6370を表示しなくてもよい。
なお、管理プログラム6110は、処理7300において、置換の前後のPoolの識別子及び仮想ボリュームの識別子を記憶しておくことによって、PoolID6320と移行元PoolID6350との対応関係、及び、作成VVol6330と移行元VVol6360との対応関係を表示することができる。
また、ストレージシステムB 2000等が管理IF2010を介して管理コンソール(図示省略)を備える場合には、管理コンソールが画面6300を表示してもよい。
<実施形態2>
以下、本発明の第1の実施形態を、図24から図27を用いて説明する。
第1の実施形態おいて、ストレージシステムA 1000のセグメント管理テーブルA4300及び仮想Vol管理テーブルA4200のデータ量が大きい場合には、処理7000の移行の指示から処理7400の移行が完了するまでの所要時間が大きくなる可能性がある。
これを解決する方法として、第2の実施形態では、ストレージシステムB 2000は、事前にストレージシステムA 1000のセグメント管理テーブルA4300及び仮想Vol管理テーブルA4200を取得しておき、さらに、ストレージシステムA 1000がストレージシステムB 2000へ前述した二つのテーブルの差分のデータを適宜送信することによって、常にストレージシステムA 1000の二つのテーブルと同じ内容のテーブルを備える。
これによって、移行の指示によって発生するセグメント管理テーブルB5300及び仮想Vol管理テーブルB5200へのコピーのデータ量を最小化し、移行完了までの所要時間を小さくすることができる。
第2の実施形態の計算機システムの構成は、図1に示した第1の実施形態の計算機システムの構成と同じである。
以下で、第1の実施形態との差異を説明する。
図24、図25は、各々、本発明の第2の実施形態のストレージシステムA及びストレージシステムBが備えるコントローラの構成を示す説明図である。
ストレージシステムA 1000のコントローラ1100は、メモリ1200に、図2に示した第1の実施形態の構成要素に加えて、構成情報差分生成部1250を実現するプログラムを格納する。
また、ストレージシステムB 2000のコントローラ2100は、メモリ2200に、図3に示した第1の実施形態の構成要素に加えて、構成情報差分処理部2250、及び、仮想Vol移行部I2210とは異なる仮想Vol移行部II2260を実現するプログラムを格納する。
構成情報差分生成部1250は、仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300を監視し、それら二つのテーブルが更新された場合には、差分のデータをストレージシステムB 2000の構成情報差分処理部2250に送信する。
更新によって生じた差分のデータを受け取った構成情報差分処理部2250は、ストレージシステムB 2000が備えるストレージシステムA 1000から事前に取得した仮想Vol管理テーブルC5700及びセグメント管理テーブルC5800を更新する。
なお、仮想Vol管理テーブルA4200は、ホスト計算機3000からのデータの書き込み等によって新規にセグメントの割り当てが必要になり、仮想ボリュームが新たに作成された場合等に更新され、セグメント管理テーブルA4300は、Poolに論理ボリュームを追加された場合、仮想Volにセグメントが割り当てられた場合等に更新される。
また、構成情報差分生成部1250は、差分データから作成される整合性チェック用データA(図示省略)を生成し、生成された整合性チェック用データAを差分データに付加して構成情報差分処理部2250に送信してもよい。
構成情報差分処理部2250は、前述した整合性チェック用データAが付加された差分データ(構成情報)を受け取った後、構成情報差分生成部1250が用いた方法と同じ方法で、受け取った差分データから整合性チェック用データB(図示省略)を作成する。
そして、構成情報差分処理部2250は、構成情報差分生成部1250から送信された整合性チェック用データAと、整合性チェック用データBとを比較する。前述したチェック用データAとBとが異なっていた場合には、構成情報差分処理部2250は、差分データのコピーの処理を中止し、構成情報差分生成部1250に差分データの再送を要求する。
図26は、本発明の第2の実施形態の仮想Vol移行部IIの処理を示すフローチャートである。
図26に示す仮想Vol移行部II2260の処理は、図9に示した第1の実施形態の仮想Vol移行部I2210の処理とは、処理7000が処理7010に変更され、処理7020及び処理7030が追加されている点で異なる。
まず、仮想Vol移行部II2260は、ストレージシステムB 2000がストレージシステムA 1000の構成情報を事前に取得する指示を管理IFから受け取る(処理7010)。次に、仮想Vol移行部II2260は、構成情報を取得(処理7100)した後、管理IFから実際にPool及び仮想ボリュームを移行する指示を受け取ったか否かを判定する(処理7020)。
処理7020において、移行の指示を受け取っていない場合、仮想Vol移行部II2260は、指示があるまで待機する(処理7030)。
仮想Vol移行部II2260が待機している(処理7030)間、構成情報差分処理部2250は、ストレージシステムB 2000が備えるストレージシステムA 1000から取得した仮想Vol管理テーブルC5700とストレージシステムA 1000が備える仮想Vol管理テーブルA4200とを、セグメント管理テーブルC5800とセグメント管理テーブルA4300とを一致させる。
つまり、構成情報差分処理部2250は、仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300の差分データに基づいて、仮想Vol管理テーブルC5700及びセグメント管理テーブルC5800の構成情報を更新し、前述したすべてのテーブルに指定されたPoolの識別子を一致させる。
処理7020において、移行の指示を受け取った場合、仮想Vol移行部II2260は、処理7200へ進むが、その前に処理7020の判定に関して、構成情報差分処理部2250が実行する構成情報の更新の処理を、図27を用いて説明する。
図27は、本発明の第2の実施形態の構成情報差分処理部の処理を示すフローチャートである。
処理8000から処理8300は、構成情報差分生成部1250が差分データに整合性チェック用データを付加して、構成情報差分処理部2250に差分データを送信する場合のフローチャートである。
整合性チェック用データが付加されていない場合には、構成情報差分処理部2250は、処理8200及び処理8250及び処理8260を実行しない。
また、図27に示した例では、構成情報差分処理部2250は、ストレージシステムA 1000の構成情報差分生成部1250がストレージシステムB 2000の構成情報差分処理部2250に差分データを送信し、差分データが更新されたことを契機としてテーブルを更新しているが、ストレージシステムB 2000の構成情報差分処理部2250が定期的に構成情報差分生成部1250に差分データを取得し、差分データが更新されたことを契機としてテーブルを更新してもよい。
構成情報差分処理部2250は、仮想Vol移行部II2260の処理7020と同様に、移行の指示を受け取ったか否かを判定する(処理8000)。
処理8000において、移行の指示を受け取った場合、構成情報差分処理部2250は処理を終了する。
なお、構成情報差分処理部2250は、処理の終了までの間に、ストレージシステムA 1000の仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300にまだコピーされていない差分データがある場合は、未コピーの差分データを仮想Vol管理テーブルC5700及びセグメント管理テーブルC5800にコピーした後に、処理を終了する。
仮想Vol移行部II2260は、構成情報差分処理部2250の処理の終了を契機として、処理7200以降に進む。
処理8000において、移行の指示を受け取っていない場合、構成情報差分処理部2250は処理8100へ進む。
次に、構成情報差分処理部2250は、ストレージシステムA 1000の構成情報差分生成部1250から仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300の差分データが送られてきたか否かを判定する(処理8100)。
処理8100において、差分データが送信されていない場合、構成情報差分処理部2250は処理8000へ戻る。
処理8100において、差分データが送信された場合、構成情報差分処理部2250は差分データを受け取ったことを契機として、処理8200に進む。
なお、構成情報差分処理部2250は処理8000の後に処理8100を実行しているが、実際には処理8000の移行指示と処理8100の差分データの送信とを同時に監視してもよい。この場合は、構成情報差分処理部2250が差分データの反映を完了した後に、仮想Vol移行部II2260は、処理7200以降の処理を実施する。
次に、構成情報差分処理部2250は、前述したストレージシステムA 1000から取得した差分データに対して構成情報差分生成部1250が実行した方法と同じ方法によって、整合性チェック用データBを作成し、作成された整合性チェック用データBと構成情報差分生成部1250から送信された整合性チェック用データAとが一致するか否かを判定する(処理8200)。
処理8200において、整合性チェック用データが一致している場合には、構成情報差分処理部2250は処理8300へ進み、整合性チェック用データが一致していない場合には、構成情報差分処理部2250は処理8250へ進む。なお、整合性チェック用データはいわゆるハッシュ値であり、例えば、MD(Message Digest Algorithm)等によって生成される。
処理8200において、整合性チェック用データAとBとが一致しなかった場合には、構成情報差分処理部2250が受け取った差分データは構成情報差分生成部1250が生成した差分データと異なる可能性があるため、構成情報差分処理部2250は、構成情報差分生成部1250に差分データの再送を要求する(処理8250)。
そして、構成情報差分処理部2250は、構成情報差分生成部1250から再度差分データが送られてくるまで待機する(処理8260)。
前述した差分データの一致を判定する処理を実現するため、差分データには送信される毎に一意の識別子が与えられ、差分データはそれぞれ識別することができる。また、構成情報差分処理部2250は、一つの差分データについて処理8200、処理8250及び処理8260の反復回数を記憶しておき、所定の回数以上の反復が行われた場合には、エラーを通知するようにしてもよい。この場合、構成情報差分処理部2250は、管理IFにエラーを通知する指示を送信してよい。
また、構成情報差分処理部2250は、処理8250を実施した後、処理8260を実行せず、処理8100へ進んでもよい。
この場合は、処理8000において移行指示を受け取った後、差分データで未更新のものがあるか否か、及び、再送要求した差分データでまだ受け取っていないものあるか否かを確認し、前述した差分データがある場合には差分データが送信されるのを待ち、前記差分データを反映した後、処理7200へ進むとすればよい。
処理8200において、整合性チェック用データAとBとが一致した場合には、構成情報差分処理部2250は、図26に示した処理7100で取得した、ストレージシステムB 2000が備えるストレージシステムA 1000の仮想Vol管理テーブルC5700又はセグメント管理テーブルC5800に対し、差分データをコピーし、これらの各管理テーブルを更新する(処理8300)。
そして、構成情報差分処理部2250は、処理8000へ戻る。
図26の説明に戻る。図27に示した構成情報差分処理部2250の処理が終了した後、処理7020において、仮想Vol移行部II2260は、移行の指示を受け取り、処理7200へ進む。処理7200以降の処理については、図9に示した仮想Vol移行部I2210の処理7200以降と同じである。
以上説明したように、第2の実施形態によれば、ストレージシステムA 1000が備える仮想Vol管理テーブルA4200及びセグメント管理テーブルA4300の構成情報を、ストレージシステムB 2000が備える仮想Vol管理テーブルC5700及びセグメント管理テーブルC5800の構成情報を事前にコピーすることができるため、Pool移行指示から移行完了までの時間を短くすることができる。
さらに、移行が指示された時に、ストレージシステムB 2000は既にストレージシステムA 1000のセグメント管理テーブル及び仮想Volテーブルを備えていることから、特許文献1に示したホスト計算機3000が利用しているボリュームをオンラインで切り替える機構と連携して、ホスト計算機3000の業務プログラム3110の入出力を切断することなくオンラインにて、ストレージシステムA 1000からストレージシステムB 2000へボリュームを移行することも可能である。
また、本発明は、記憶領域が動的に割り当てられ、ホスト計算機に提供される仮想ボリュームを備えたストレージシステム以外の各種の装置にも適用することができる。
本発明の第1の実施形態の計算機システムの構成を示すブロック図である。 本発明の第1の実施形態のストレージシステムAが備えるコントローラの構成を示すブロック図である。 本発明の第1の実施形態のストレージシステムBが備えるコントローラの構成を示すブロック図である。 本発明の第1の実施形態のストレージシステムのボリューム等の構成を示す説明図である。 本発明の第1の実施形態のLUマップテーブルAの構成を示す説明図である。 本発明の第1の実施形態のセグメント管理テーブルAの構成を示す説明図である。 本発明の第1の実施形態の仮想Vol管理テーブルAの構成を示す説明図である。 本発明の第1の実施形態のストレージ間パステーブルBの構成を示す説明図である。 本発明の第1の実施形態の仮想Vol移行部Iの処理を示すフローチャートである。 本発明の第1の実施形態の仮想ボリュームを移行する処理の概要を示す説明図である。 本発明の第1の実施形態のPool及び仮想ボリュームの構成情報を取得する処理を示すフローチャートである。 本発明の第1の実施形態のエラー表示画面の例を示す説明図である。 本発明の第1の実施形態の論理ボリュームを外部接続する処理を示すフローチャートである。 本発明の第1の実施形態のPool及び仮想ボリュームの構成情報を変換する処理を示すフローチャートである 本発明の第1の実施形態のストレージシステムBにPool及び仮想ボリュームを作成する処理を示すフローチャートである。 本発明の第1の実施形態の論理ボリュームの外部接続時のLUマップテーブルAの構成の例を示す説明図である 本発明の第1の実施形態の論理ボリュームの外部接続時の外接VolマップテーブルBの構成の例を示す説明図である。 本発明の第1の実施形態の論理ボリュームの外部接続時の外接LDEV参照テーブルの構成の例を示す説明図である。 本発明の第1の実施形態のセグメント管理テーブルBの構成の例を示す説明図である。 本発明の第1の実施形態の仮想Vol管理テーブルBの構成の例を示す説明図である。 本発明の第1の実施形態の変形例の計算機システムの構成を示すブロック図である。 発明の第1の実施形態のPoolの移行を設定する画面の例を示す説明図である。 本発明の第1の実施形態の移行結果を表示する画面の例を示す説明図である。 本発明の第2の実施形態のストレージシステムAが備えるコントローラの構成を示す説明図である。 本発明の第2の実施形態のストレージシステムBが備えるコントローラの構成を示す説明図である。 本発明の第2の実施形態の仮想Vol移行部IIの処理を示すフローチャートである。 本発明の第2の実施形態の構成情報差分処理部の処理を示すフローチャートである。
符号の説明
1000 ストレージシステムA
1100 コントローラ
2000 ストレージシステムB
2100 コントローラ
2210 仮想ボリューム移行部I
2240 外接処理部
3000 ホスト計算機
6000 管理計算機

Claims (9)

  1. ホスト計算機に提供されるデータの記憶領域である第1ボリュームと、前記第1ボリュームを複数含む第1プールと、前記第1プールの記憶領域の一部を動的に使用する第1仮想ボリュームを備える第1ストレージシステムと、
    前記第1ストレージシステムと接続され、複数の第2ボリュームを含む第2プールと、第2仮想ボリュームを備える第2ストレージシステムと、を備える計算機システムであって、
    前記第1ストレージシステムは、
    前記ホスト計算機と接続されるインターフェースと、前記第2ストレージシステムに接続されるインターフェースと、前記インターフェースに接続される第1プロセッサと、前記第1プロセッサに接続される第1メモリと、を備え、
    前記複数の第1ボリュームと前記第1プールの各々の識別子を含み、前記複数の第1ボリュームと前記第1プールとの対応関係を表す第1セグメント情報と、前記第1プールと前記第1仮想ボリュームの各々の識別子を含み、前記第1プールと前記第1仮想ボリュームとの対応関係を表す第1仮想ボリューム情報と、前記第1ストレージシステムと前記第2ストレージシステムとの対応関係を表す接続情報と、を管理し、
    前記第2ストレージシステムは、前記ホスト計算機と接続されるインターフェースと、前記第1ストレージシステムと接続されるインターフェースと、前記インターフェースに接続される第2プロセッサと、前記第2プロセッサに接続される第2メモリと、を備え、
    前記複数の第2ボリュームと前記第2プールの各々の識別子を含み、前記複数の第2ボリュームと前記第2プールとの対応関係を表す第2セグメント情報と、前記第2プールと前記第2仮想ボリュームの各々の識別子を含み、前記第2プールと前記第2仮想ボリュームとの対応関係を表す第2仮想ボリューム情報と、を管理し、
    前記第2プロセッサは、
    前記第1ストレージシステムから前記第2ストレージシステムに前記第1プールを移行する指示を受信し、
    前記第1ストレージシステムから前記第1セグメント情報及び前記第1仮想ボリューム情報を取得し、
    前記取得した第1セグメント情報を参照して、前記第1ストレージシステムが備える前記第1プールに含まれる前記複数の第1ボリュームを特定し、
    前記第2ストレージシステムに複数の第3ボリュームを作成し、
    前記特定された各々の第1ボリュームを前記第2ストレージシステムが取り扱うことができる外部ボリュームとして前記作成した各々の第3ボリュームに対応付け、
    前記作成した各々の第3ボリュームの接続先と、前記特定された各々の第1ボリュームと前記作成した各々の第3ボリュームとの対応関係を表す外部ボリューム情報を作成し、
    前記第2セグメント情報を参照して、前記第2ストレージシステムが備える前記第2プールの識別子を確認し、
    前記第1プールの識別子が前記第2ストレージシステムで使用されていなければ前記第1プールの識別子を第3プールの識別子とし、前記第1プールの識別子が前記第2ストレージシステムで使用されていれば前記第2プールの識別子として使用されていない識別子を前記第3プールの識別子とし、
    前記取得した第1セグメント情報と前記外部ボリューム情報とに基づき、前記作成した各々の第3ボリュームを含む前記第3プールを前記第2ストレージシステムに作成し、
    前記第2仮想ボリューム情報を参照して、前記第2仮想ボリュームの識別子として使用されていない識別子を確認し、前記確認した識別子を第3仮想ボリュームの識別子とし、
    前記取得した第1仮想ボリューム情報に基づき、前記第3プールの記憶領域を使用する前記第3仮想ボリュームを前記第2ストレージシステムに作成し、
    前記取得した第1セグメント情報の前記特定された各々の第1ボリュームの識別子を前記作成した各々の第3ボリュームの識別子に置換し、前記取得した第1セグメント情報と第1仮想ボリューム情報の前記第1プールの識別子を前記第3プールの識別子に置換し、前記取得した第1仮想ボリューム情報の前記第1仮想ボリュームの識別子を前記第3仮想ボリュームの識別子に置換して、前記取得した第1セグメント情報と前記第1仮想ボリューム情報を変換し、
    前記変換した第1セグメント情報を前記第2セグメント情報に追加し、前記変換した第1仮想ボリューム情報を前記第2仮想ボリューム情報に追加することを特徴とする計算機システム。
  2. 前記第2プロセッサは、
    前記第1プールの識別子と、前記第3プールの識別子との対応関係を通知することを特徴とする請求項に記載の計算機システム。
  3. 前記第1プロセッサは、前記第1仮想ボリューム情報に含まれる前記第1プールと前記第1仮想ボリュームとの対応関係が変更された場合、前記第1仮想ボリューム情報の変更内容を前記第2ストレージシステムに送信し、
    前記第2プロセッサは、前記第1ストレージシステムから取得した前記第1仮想ボリューム情報の変更内容に基づいて、前記取得した第1仮想ボリューム情報を更新することを特徴とする請求項1に記載の計算機システム。
  4. 前記第1プロセッサは、前記第1セグメント情報と前記第1仮想ボリューム情報から第1誤り検出符号を作成し、
    前記第2プロセッサは、
    前記第1ストレージシステムから、前記第1セグメント情報と前記第1仮想ボリューム情報と前記第1誤り検出符号とを取得し、
    前記取得した第1セグメント情報と第1仮想ボリューム情報から第2誤り検出符号を作成し、
    前記取得した第1誤り検出符号と、前記作成された第2誤り検出符号とを比較し、
    前記第1誤り検出符号と前記第2誤り検出符号とが異なる場合、前記第1ストレージシステムに通知することを特徴とする請求項1に記載の計算機システム。
  5. 前記第2プロセッサは、前記取得した第1セグメント情報によって表わされる前記第1プールの削除指示を受信した場合、前記第1セグメント情報に含まれる前記削除される第1プールと前記複数の第1ボリュームとの対応関係の変更を前記第ストレージシステムに通知することを特徴とする請求項1に記載の計算機システム。
  6. 前記第2プロセッサは、前記ホスト計算機が前記外部ボリュームとして対応付けられた前記第1プールを利用している場合、前記外部ボリュームとして対応付けられた前記第1プールに含まれる前記複数の第1ボリュームが利用できない旨を、前記ホスト計算機に送信することを特徴とする請求項1に記載の計算機システム。
  7. 前記第プロセッサは、前記第1セグメント情報及び前記第1仮想ボリューム情報が取得できない場合、前記第1プールの情報が前記取得した第1セグメント情報に含まれない場合、又は、前記第1ストレージシステムの前記特定された各々の第1ボリュームを前記第2ストレージシステムの外部ボリュームとして前記作成した各々の第3ボリューム対応付けることができない場合、エラーを通知することを特徴とする請求項1に記載の計算機システム。
  8. 他のストレージシステムと接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備えるストレージシステムであって、
    前記他のストレージシステムは、
    ホスト計算機に提供されるデータの記憶領域である第1ボリュームと、前記第1ボリュームを複数含む第1プールと、前記第1プールの記憶領域の一部を動的に使用する第1仮想ボリュームを備え、
    前記複数の第1ボリュームと前記第1プールの各々の識別子を含み、前記複数の第1ボリュームと前記第1プールとの対応関係を表す第1セグメント情報と、前記第1プールと前記第1仮想ボリュームの各々の識別子を含み、前記第1プールと前記第1仮想ボリュームとの対応関係を表す第1仮想ボリューム情報と、前記他のストレージシステムと前記ストレージシステムとの対応関係を表す接続情報を管理し、
    前記ストレージシステムは、
    複数の第2ボリュームを含む第2プールと、第2仮想ボリュームを備え、
    前記複数の第2ボリュームと前記第2プールの各々の識別子を含み、前記複数の第2ボリュームと前記第2プールとの対応関係を表す第2セグメント情報と、前記第2プールと前記第2仮想ボリュームの各々の識別子を含み、前記第2プールと前記第2仮想ボリュームとの対応関係を表す第2仮想ボリューム情報を管理し、
    前記プロセッサは、
    前記他のストレージシステムから前記ストレージシステムに前記第1プールを移行する指示を受信し、
    前記他のストレージシステムから前記第1セグメント情報及び前記第1仮想ボリューム情報を取得し、
    前記取得した第1セグメント情報を参照して、前記他のストレージシステムが備える前記第1プールに含まれる前記複数の第1ボリュームを特定し、
    前記ストレージシステムに複数の第3ボリュームを作成し、
    前記特定された各々の第1ボリュームを前記ストレージシステムが取り扱うことができる外部ボリュームとして前記作成した各々の第3ボリュームに対応付け、
    前記作成した各々の第3ボリュームの接続先と、前記特定された各々の第1ボリュームと前記作成した各々の第3ボリュームとの対応関係を表す外部ボリューム情報を作成し、
    前記第2セグメント情報を参照して、前記ストレージシステムが備える前記第2プールの識別子を確認し、
    前記第1プールの識別子が前記ストレージシステムで使用されていなければ前記第1プールの識別子を第3プールの識別子とし、前記第1プールの識別子が前記ストレージシステムで使用されていれば前記第2プールの識別子として使用されていない識別子を前記第3プールの識別子とし、
    前記取得した第1セグメント情報と前記外部ボリューム情報とに基づき、前記作成した各々の第3ボリュームを含む前記第3プールを前記ストレージシステムに作成し、
    前記第2仮想ボリューム情報を参照して、前記第2仮想ボリュームの識別子として使用されていない識別子を確認し、前記確認した識別子を第3仮想ボリュームの識別子とし、
    前記取得した第1仮想ボリューム情報に基づき、前記第3プールの記憶領域を使用する前記第3仮想ボリュームを前記ストレージシステムに作成し、
    前記取得した第1セグメント情報の前記特定された各々の第1ボリュームの識別子を前記作成した各々の第3ボリュームの識別子に置換し、前記取得した第1セグメント情報と第1仮想ボリューム情報の前記第1プールの識別子を前記第3プールの識別子に置換し、前記取得した第1仮想ボリューム情報の前記第1仮想ボリュームの識別子を前記第3仮想ボリュームの識別子に置換して、前記取得した第1セグメント情報と前記第1仮想ボリューム情報を変換し、
    前記変換した第1セグメント情報を前記第2セグメント情報に追加し、前記変換した第1仮想ボリューム情報を前記第2仮想ボリューム情報に追加することを特徴とするストレージシステム。
  9. 前記プロセッサは、前記取得した第1セグメント情報によって表わされる前記第1プールの削除指示を受信した場合、前記第1セグメント情報に含まれる前記削除される第1プールと前記複数の第1ボリュームとの対応関係の変更を前記他のストレージシステムに通知することを特徴とする請求項に記載のストレージシステム。
JP2008247530A 2008-09-26 2008-09-26 計算機システム及びストレージシステム Expired - Fee Related JP5272185B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008247530A JP5272185B2 (ja) 2008-09-26 2008-09-26 計算機システム及びストレージシステム
US12/275,271 US20100082934A1 (en) 2008-09-26 2008-11-21 Computer system and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008247530A JP5272185B2 (ja) 2008-09-26 2008-09-26 計算機システム及びストレージシステム

Publications (3)

Publication Number Publication Date
JP2010079624A JP2010079624A (ja) 2010-04-08
JP2010079624A5 JP2010079624A5 (ja) 2010-12-16
JP5272185B2 true JP5272185B2 (ja) 2013-08-28

Family

ID=42058849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008247530A Expired - Fee Related JP5272185B2 (ja) 2008-09-26 2008-09-26 計算機システム及びストレージシステム

Country Status (2)

Country Link
US (1) US20100082934A1 (ja)
JP (1) JP5272185B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8397046B2 (en) * 2009-03-26 2013-03-12 Hitachi, Ltd. Method and apparatus for deploying virtual hard disk to storage system
US8521686B2 (en) * 2009-07-13 2013-08-27 Vmware, Inc. Concurrency control in a file system shared by application hosts
US9684702B2 (en) * 2010-12-07 2017-06-20 International Business Machines Corporation Database redistribution utilizing virtual partitions
US9507787B1 (en) * 2013-03-15 2016-11-29 EMC IP Holding Company LLC Providing mobility to virtual storage processors
JP7140807B2 (ja) * 2020-09-23 2022-09-21 株式会社日立製作所 仮想ストレージシステム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3671595B2 (ja) * 1997-04-01 2005-07-13 株式会社日立製作所 複合計算機システムおよび複合i/oシステム
JP4175788B2 (ja) * 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
US7162600B2 (en) * 2005-03-29 2007-01-09 Hitachi, Ltd. Data copying method and apparatus in a thin provisioned system
JP4061960B2 (ja) * 2002-04-26 2008-03-19 株式会社日立製作所 コンピュータシステム
US7111194B1 (en) * 2003-03-21 2006-09-19 Network Appliance, Inc. Mirror split brain avoidance
JP4320247B2 (ja) * 2003-12-24 2009-08-26 株式会社日立製作所 構成情報設定方法および装置
US7293154B1 (en) * 2004-11-18 2007-11-06 Symantec Operating Corporation System and method for optimizing storage operations by operating only on mapped blocks
JP5057656B2 (ja) * 2005-05-24 2012-10-24 株式会社日立製作所 ストレージシステム及びストレージシステムの運用方法
JP4699808B2 (ja) * 2005-06-02 2011-06-15 株式会社日立製作所 ストレージシステム及び構成変更方法
JP4806556B2 (ja) * 2005-10-04 2011-11-02 株式会社日立製作所 ストレージシステム及び構成変更方法
JP4671353B2 (ja) * 2005-12-14 2011-04-13 株式会社日立製作所 ストレージ装置及びその制御方法
JP4890033B2 (ja) * 2006-01-19 2012-03-07 株式会社日立製作所 記憶装置システム及び記憶制御方法
JP4927412B2 (ja) * 2006-02-10 2012-05-09 株式会社日立製作所 記憶制御方法及びその制御方法
US7865707B2 (en) * 2006-03-16 2011-01-04 International Business Machines Corporation Gathering configuration settings from a source system to apply to a target system
JP2007280089A (ja) * 2006-04-07 2007-10-25 Hitachi Ltd 容量拡張ボリュームの移行方法
JP4813385B2 (ja) * 2007-01-29 2011-11-09 株式会社日立製作所 ストレージシステムの複数の論理リソースを制御する制御装置
JP2007257667A (ja) * 2007-06-19 2007-10-04 Hitachi Ltd データ処理システム
US7631155B1 (en) * 2007-06-30 2009-12-08 Emc Corporation Thin provisioning of a file system and an iSCSI LUN through a common mechanism
JP2009093316A (ja) * 2007-10-05 2009-04-30 Hitachi Ltd ストレージシステム及び仮想化方法

Also Published As

Publication number Publication date
US20100082934A1 (en) 2010-04-01
JP2010079624A (ja) 2010-04-08

Similar Documents

Publication Publication Date Title
JP5341184B2 (ja) ストレージシステム及びストレージシステムの運用方法
US7124143B2 (en) Data migration in storage system
JP4718851B2 (ja) ストレージシステムにおけるデータ移行
JP5069011B2 (ja) ストレージモジュール及び容量プール空き容量調整方法
JP4852298B2 (ja) 仮想ボリュームを識別する情報を引き継ぐ方法及びその方法を用いたストレージシステム
CN101799743B (zh) 用于逻辑卷管理的方法和装置
US9098200B2 (en) Storage system with virtual volume having data arranged astride storage devices, and volume management method
US8448167B2 (en) Storage system, and remote copy control method therefor
JP5052376B2 (ja) ストレージシステム及びストレージシステムにおける論理ユニットの引継方法
US9122415B2 (en) Storage system using real data storage area dynamic allocation method
US8387044B2 (en) Storage system and virtual interface management method using physical interface identifiers and virtual interface identifiers to facilitate setting of assignments between a host computer and a storage apparatus
JP4908872B2 (ja) 計算機システム、管理計算機及び記憶領域の管理方法
US20060074957A1 (en) Method of configuration management of a computer system
JP2007280319A (ja) 記憶領域動的割当方法
JP2007213466A (ja) 仮想ストレージシステム及びその制御方法
JP2007102760A (ja) ストレージエリアネットワークにおけるボリュームの自動割り当て
JP2005228278A (ja) 記憶領域の管理方法、管理装置及び管理プログラム
JP5272185B2 (ja) 計算機システム及びストレージシステム
US8832396B2 (en) Storage apparatus and its control method
WO2018158808A1 (ja) 情報システム、管理プログラム及び情報システムのプログラム交換方法
US7721056B2 (en) Storage system, disk array apparatus, volume presentation method, and data consistency confirmation method
US9395926B2 (en) Storage system and management computer
US20060221721A1 (en) Computer system, storage device and computer software and data migration method
JP2004355638A (ja) 計算機システム及びそのデバイスの割り当て方法
US8117405B2 (en) Storage control method for managing access environment enabling host to access data

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101028

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130329

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130419

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees