JP4963892B2 - 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置 - Google Patents

仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置 Download PDF

Info

Publication number
JP4963892B2
JP4963892B2 JP2006210464A JP2006210464A JP4963892B2 JP 4963892 B2 JP4963892 B2 JP 4963892B2 JP 2006210464 A JP2006210464 A JP 2006210464A JP 2006210464 A JP2006210464 A JP 2006210464A JP 4963892 B2 JP4963892 B2 JP 4963892B2
Authority
JP
Japan
Prior art keywords
storage system
management
identifier
virtual
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006210464A
Other languages
English (en)
Other versions
JP2008040571A (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 JP2006210464A priority Critical patent/JP4963892B2/ja
Priority to US11/529,053 priority patent/US20080034005A1/en
Priority to EP07251065A priority patent/EP1892615A3/en
Priority to EP14190139.7A priority patent/EP2854021B1/en
Publication of JP2008040571A publication Critical patent/JP2008040571A/ja
Priority to US12/858,570 priority patent/US9898221B2/en
Application granted granted Critical
Publication of JP4963892B2 publication Critical patent/JP4963892B2/ja
Priority to US14/931,988 priority patent/US10140045B2/en
Active 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • 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]
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Description

本発明は、複数のストレージシステムを論理的に一つの記憶資源として仮想化した仮想ストレージシステムに関する。
例えば、ストレージ分野では、ネットワーク上に分散する複数のコンピューティングリソースをあたかも一つのコンピューティングリソースであるかのように運用し、処理性能や耐障害性の向上を図る「ストレージグリッド(広域広帯域共有ファイルシステム)」が注目されている。ストレージグリッドの運用方法として、複数のストレージシステムを論理的に一つの記憶資源として仮想化する方法が知られている。
また、ボリュームを仮想化する技術として、第一のストレージシステムの外部に存在する第二のストレージシステムの論理ユニットを第一のストレージシステム内で管理する技術が知られている(例えば特開2005−107645号公報)。
特開2005−107645号公報
ストレージグリッドを構築する方法として、例えば、単体のストレージシステムとして稼動していたものを複数台集めて構築することが考えられる。具体例として、ストレージシステムAとBの2台をストレージグリッドとする場合について考える。
単純に、それらのストレージシステムAとBの境界をなくして仮想的に1台のシステムとした場合、論理的な記憶デバイス(論理ボリュームとも呼ばれる、以下、「LDEV」と略記する)の番号(番号に限らず他種の識別子でも良い)は、ストレージシステムA、Bそれぞれにつけられているため、同じLDEV番号のLDEVが複数存在してしまうという問題が発生し得る。これは、LDEV番号だけではなく、他種の管理識別子でも生じ得る。例えば、コピー系の制御情報、例としては、ペア番号やグループ番号(複数のペアから成るグループの番号)等においても同じ問題が発生し得る。このため、個別に稼動していたストレージシステムをスムーズに仮想ストレージシステムの構成要素とすることは難しい。
さらに、ストレージシステムA、Bは、それぞれ、少なくとも1つの管理装置(以下、SVP(Service Processor))を備えている場合がある。SVPは、例えば、管理対象のストレージシステムへの情報入力の指示を受けたり、情報を出力したり、ストレージシステムの管理情報を保持したりする。ストレージシステムA、Bをストレージグリッドとして仮想ストレージシステムを構築し、ストレージシステムAのSVPで管理する情報を、ストレージシステムBが取得したい場合、ストレージシステムBは、ストレージシステムAのSVPへの問い合わせが必要となる。このため、ストレージシステムBは、ストレージシステムAのSVPから管理情報を取得するたびに、そのSVPに問い合わせをすることになるので、処理が煩雑になり、負荷も増加する。
従って、本発明の目的は、個別に稼動していたストレージシステムをスムーズに仮想ストレージシステムの構成要素とすることができるようにすることにある。
本発明の別の目的は、仮想ストレージシステムにおける各ストレージシステムが各他のストレージシステムの管理装置に管理情報を問い合わせなくても済む新規な管理方法を提供することにある。
本発明の他の目的は、後の説明から明らかになるであろう。
本発明の第一の側面に従う制御装置は、上位装置から送信された要求に従って第一のストレージシステムで実行される処理の対象である管理対象を管理し、該第一のストレージシステムの動作を制御する装置である。この制御装置は、複数の管理対象の各々についての第一と第二の管理識別子を記録した識別子対応情報を記憶する識別子対応記憶部と、第一の管理識別子を指定した要求を前記上位装置から受信する受信部と、前記受信した要求で指定されている第一の管理識別子に対応した第二の管理識別子を前記識別子対応情報から特定する対応特定部と、前記特定された第二の管理識別子を前記第一のストレージシステムの処理部に出力する出力部とを備える。前記第二の管理識別子は、前記第一のストレージシステムでの処理のために使用される種類の管理識別子である。前記出力された第二の管理識別子から、前記第一のストレージシステムの処理部が、処理の対象を識別することができる。前記第一の管理識別子は、前記上位装置で認識される種類の管理識別子であり、前記第一のストレージシステムが、複数のストレージシステムを論理的に一つの記憶資源に仮想化してなる仮想ストレージシステムの構成要素とされる際に、該仮想ストレージシステムにおける他のストレージシステムでの管理対象の第一の管理識別子と重複しない値に変更される。
この制御装置は、第一のストレージシステムに搭載されていても良いし、該第一のストレージシステムとは別の装置であってもよい。
この制御装置の第一の実施態様では、前記第一と第二の管理識別子は、前記第一のストレージシステムに存在する複数の論理的な記憶デバイスの各々を識別するための識別子、及び/又は、複数の特定のリソースの各々を識別するための識別子である。特定のリソースとは、例えば、論理的な記憶デバイスから別の論理的な記憶デバイスへのコピーのためのペアとすることができる。このペアは、単一のペアであっても良いし、複数のペアで構成されたペアグループの構成要素であるペアであってもよい。
この制御装置の第二の実施態様では、前記仮想ストレージシステムを構成するストレージシステムの台数の変更に応じて前記第一の管理識別子を変更する変更部が更に備えられる。
この制御装置の第三の実施態様では、前記第二の実施態様において、前記台数の変更とは、既存の仮想ストレージシステムに前記第一のストレージシステムを増設することである。前記変更部は、前記第一のストレージシステムの複数の管理対象にそれぞれ対応した複数の第一の管理識別子を、それぞれ、前記既存の仮想ストレージシステムにおける各他のストレージシステムでの複数の第一の管理識別子と重複しない値に変更する。
この制御装置の第四の実施態様では、前記第二の実施態様において、前記台数の変更とは、前記第一のストレージシステムを含んだ既存の第一の仮想ストレージシステムに、第二の仮想ストレージシステムをマージすることで、第三の仮想ストレージシステムを構築することである。前記変更部は、前記第一のストレージシステムの複数の管理対象にそれぞれ対応した複数の第一の管理識別子を、それぞれ、前記第三の仮想ストレージシステムの各他のストレージシステムにおける複数の第一の管理識別子と重複しない値に変更する。
この制御装置の第五の実施態様では、前記第二の実施態様において、変更後の前記複数の第一の管理識別子を前記上位装置に通知する変更報告部が更に備えられる。
この制御装置の第六の実施態様では、前記第二の実施態様において、前記変更部は、前記仮想ストレージシステムから前記第一のストレージシステムが減設されたことにより該第一のストレージシステムが単独となった場合には、前記複数の第一の管理識別子を、それぞれ、前記複数の第二の管理識別子と同じ値に変更する。
この制御装置の第七の実施態様では、前記第二の実施態様において、前記複数の管理対象の各々は、論理的な記憶デバイスである。前記仮想化ストレージシステムを構成する前記第一のストレージシステムと第二のストレージシステムは、前記仮想化ストレージシステムを構成しない外部のストレージシステムに接続されており、且つ、前記第一のストレージシステムにおける実体の無い第一の仮想的な論理記憶デバイスと、前記第二のストレージシステムにおける実体の無い第二の仮想的な論理記憶デバイスとが、前記外部ストレージシステムにおける実体の有る外部論理記憶デバイスに接続されている。この場合、前記変更部は、前記第一の仮想的な論理記憶デバイスの第一の管理識別子を、前記第二の仮想的な論理記憶デバイスの第一の管理識別子と同じ値にする。
本発明の第二の側面に従う管理方法は、複数のストレージシステムを論理的に一つの記憶資源を仮想化してなる仮想ストレージシステムでの管理方法である。この管理方法では、前記複数のストレージシステムのそれぞれが保持する複数の管理計算機をネットワークで接続し、前記複数の管理計算機でそれぞれ管理される複数の管理情報を一つのマスタの管理計算機で一括して管理する。
この管理方法の第一の実施態様では、前記複数の管理計算機とは別の管理計算機を前記ネットワークに接続する。前記別の管理計算機を前記マスタの管理計算機とし、前記複数の管理計算機をスレイブの管理計算機とする。前記マスタの管理計算機が、前記複数のスレイブの管理計算機のそれぞれの識別子を記憶する。前記複数のスレイブの管理計算機の各々が、前記マスタの管理計算機の識別子を記憶する。前記複数のスレイブの管理計算機の各々が、前記マスタの管理計算機に、管理情報を送信する。前記マスタの管理計算機が、前記複数のスレイブの管理計算機からそれぞれ複数の管理情報を受信し、前記受信した複数の管理情報を、前記マスタの管理計算機の記憶資源に格納する。
この管理方法の第二の実施態様では、前記複数の管理計算機のうちの一つを前記マスタの管理計算機とし、他の管理計算機をスレイブの管理計算機とする。前記マスタの管理計算機が、スレイブの管理計算機の識別子を記憶する。前記スレイブの管理計算機が、前記マスタの管理計算機の識別子を記憶する。前記スレイブの管理計算機が、前記マスタの管理計算機に、管理情報を送信する。前記マスタの管理計算機が、前記スレイブの管理計算機から管理情報を受信し、前記受信した管理情報を、前記マスタの管理計算機の記憶資源に格納する。前記マスタの管理計算機は、前記スレイブの管理計算機の管理情報の他に、自分が接続されているストレージシステムを管理するための管理情報も、前記マスタの管理計算機の前記記憶資源に格納する。
この管理方法の第三の実施態様では、前記マスタの管理計算機を多重化し、多重化されたマスタの管理計算機のうちの一つをアクティブとし、他をパッシブとする。前記アクティブのマスタの管理計算機が停止した場合に、いずれかのパッシブのマスタの管理計算機がアクティブとなって、前記停止したマスタの管理計算機に代わって、マスタの管理計算機として稼動する。
この管理方法の第四の実施態様では、前記マスタの管理計算機は、自分以外の管理計算機に、自分の識別子であるマスタ識別子をブロードキャストする。前記マスタ識別子を受信した管理計算機が、自分の記憶資源に、前記受信したマスタ識別子を格納し、それに応答して、自分の識別子であるスレイブ識別子を、前記マスタ識別子の送信元である前記マスタの管理計算機に送信する。前記マスタの管理計算機は、自分以外の管理計算機から前記スレイブ識別子を受信し、該受信したスレイブ識別子を、自分の記憶資源に格納する。
本発明の第三の側面に従う計算機システムは、上位装置から送信された要求に従って第一のストレージシステムで実行される処理の対象である管理対象を管理し、該第一のストレージシステムの動作を制御する制御装置と、前記第一のストレージシステムを含んだ複数のストレージシステムを論理的に一つの記憶資源に仮想化してなる仮想ストレージシステムと、前記仮想ストレージシステムを前記一つの記憶資源として提供するための仮想化部とを備える。前記制御装置は、複数の管理対象の各々についての第一と第二の管理識別子を記録した識別子対応情報を記憶する識別子対応記憶部と、第一の管理識別子を指定した要求を前記上位装置から受信する受信部と、前記受信した要求で指定されている第一の管理識別子に対応した第二の管理識別子を前記識別子対応情報から特定する対応特定部と、前記特定された第二の管理識別子を前記第一のストレージシステムの処理部に出力する出力部とを備える。前記第二の管理識別子は、前記第一のストレージシステムでの処理のために使用される種類の管理識別子であり、前記出力された第二の管理識別子から、前記第一のストレージシステムの処理部が、処理の対象を識別する。前記第一の管理識別子は、前記上位装置で認識される種類の管理識別子であり、前記第一のストレージシステムが、複数のストレージシステムを論理的に一つの記憶資源に仮想化してなる仮想ストレージシステムの構成要素とされる際に、該仮想ストレージシステムにおける他のストレージシステムでの管理対象の第一の管理識別子と重複しない値に変更される。
この計算機システムの第一の実施態様では、前記制御装置が、前記仮想ストレージシステムを構成するストレージシステムの台数の変更に応じて前記第一の管理識別子を変更する変更部と、変更後の前記複数の第一の管理識別子を前記仮想化部に通知する変更報告部とを更に備える。前記仮想化部が、ホスト計算機が指定し得る複数の第三の管理識別子と前記複数の第一の管理識別子との対応を管理し、前記変更後の複数の第一の管理識別子を受信した場合、前記複数の第三の管理識別子にそれぞれ対応付けられている複数の第一の管理識別子を、前記受信した変更後の複数の第一の管理識別子に変更する。
この計算機システムの第二の実施態様では、前記上位装置が、前記ホスト計算機と前記仮想ストレージシステムとの間に介在するスイッチである。前記仮想化部が、前記スイッチに搭載されている。
この計算機システムの第三の実施態様では、前記上位装置が、前記ホスト計算機であり、
前記仮想化部が、前記ホスト計算機に搭載されている。
上述した制御装置或いは計算機システムの記憶部は、例えば、メモリなどの記憶資源により構築することができる。また、制御装置或いは計算機システムでの他の各部は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
本発明の制御装置や計算機システムによれば、個別に稼動していたストレージシステムをスムーズに仮想ストレージシステムの構成要素とすることができる。
本発明の統合管理方法によれば、仮想ストレージシステムにおける各ストレージシステムが各他のストレージシステムの管理装置に管理情報を問い合わせなくても済む新規な管理方法を提供することができる。
以下、本発明の一実施形態を説明する。
図1は、本発明の一実施形態に係るシステム全体の構成例を示す。以下の説明では、同種の要素を区別しないで説明する場合には、親番号のみ(例えば100)を用いて説明し、同種の要素を区別して説明する場合には、親番号と子符号(例えば100A、100B)を用いて説明することにする。
仮想ストレージシステム100Aは、複数のストレージシステム20A,20Bと、外部ストレージシステム70とを備える。同様に仮想ストレージシステム100Bは、複数のストレージシステム20C、20Dと、外部ストレージシステム70とを備える。仮想化ストレージシステム100Aと同様な構成である仮想化ストレージシステム100Bが同じSAN41に接続されていてもよい。
各ホスト計算機51は、図示しないCPUや記憶資源(例えばメモリ)を備える。記憶資源に、コンピュータプログラムが記憶されており、CPUが、そのコンピュータプログラムを実行することができる。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するCPUによって処理が行われるものとする。
それぞれのストレージシステム20A,20Bには、ホスト計算機51Aが接続されている。ホスト計算機51Aは、SAN(Storage Area Network)41を介して、それぞれのストレージシステム20A,20Bに接続している。ホスト計算機51Aは、交替パスソフトウェア61の機能により、複数のストレージシステム20A,20Bを論理的に一つの記憶資源(仮想ストレージシステム)100Aとして認識する。
交替パスソフトウェア61を有しない他のホスト計算機51Bは、SAN42、仮想化装置52、及びSAN41を介して、それぞれのストレージシステム20A,20Bに接続している。ホスト計算機51Bは、仮想化装置52内の交替パスソフトウェア61の機能により、複数のストレージシステム20A,20Bを一つの仮想ストレージシステム100Aとして認識する。
仮想化装置52は、複数のストレージシステム20A,20Bのそれぞれが提供する記憶領域を論理的な一つの記憶領域に仮想化する。仮想化装置52は、例えば、仮想化スイッチ、インテリジェントスイッチ、又は仮想化専用装置などである。尚、仮想ストレージシステム100、及び仮想化装置52を含んで構成されるシステムをストレージネットワークシステムと称する。
各ホスト計算機51は、アプリケーションプログラム60を有する。アプリケーションプログラム60は、例えば、データベース管理ソフトウェア、Webアプリケーションソフトエア、ストリーミングアプリケーションソフトウェアなどの業務プログラムである。
交替パスソフトウェア61は、ホスト計算機51Aと仮想ストレージシステム100A内の論理的な記憶デバイス(LDEV)との間の論理パスを管理し、交替パス制御を実行する。交替パス制御とは、複数の論理パスの中からどの論理パスを使用してLDEVにアクセスするのかを制御することをいう。交替パスソフトウェア61は、交替パス管理プログラム(図示せず)、ストレージシステム間交替パスプログラム(図示せず)、優先制御プログラム(図示せず)、及び、図2の同一デバイス対応テーブル62を有する。尚、これらは仮想ストレージシステム100A、100Bごとに管理している。以下の説明でも同様である。ここでは、仮想ストレージシステム100Aについて説明を行う。
交替パス管理プログラムは、交替パスソフトウェア61全体の管理及び制御を行う。
ストレージシステム間交替パスプログラムは、複数のストレージシステム20をそれぞれ経由して同一の外部LDEV701に接続する複数の論理パスを交替パスとして認識する。なお、外部LDEVとは、外部ストレージシステム70に備えられるLDEVであり、仮想ストレージシステム100内のストレージシステムのLDEVにマッピングされているLDEVである。
優先制御プログラムは、同一のLDEVに接続する複数の論理パスのそれぞれの使用率に基づいて、複数の論理パスの中から優先的に使用する論理パスを選択する。
同一デバイス対応テーブル62は、異なる論理パスが同一の論理デバイスに接続しているネットワーク環境下において、論理パスと論理デバイスとの対応関係を示す。具体的には、例えば、同一デバイス対応テーブル62には、図2に示すように、各論理パス毎に、パス番号、仮想化ストレージシステムにおけるストレージシステムの識別子、LUN及びグローバルLDEV番号が記録される。ここで、パス番号0,2及び3の論理パスのグローバルLDEV番号が同じになっている理由は、同じグローバルLDEV番号に対応する各ローカルLDEV番号が同一の外部LDEVに接続されているためである。つまり、それら複数の論理パスのうちのどの論理パスでアクセスが行われても、最終的に、同一の外部LDEVへのアクセスが行われるのである(グローバルLDEV番号及びローカルLDEV番号については、後述する)。このような複数の論理パスの各々を、以下、「交替パス」と呼ぶことにする。なお、この同一デバイス対応テーブル62は、例えば、ストレージシステム20毎に用意され、複数のストレージシステムにより仮想ストレージシステムが構築された場合には、仮想ストレージシステム100毎に用意される。また、同一デバイス対応テーブル62では、交替パスのみならず、単一の論理パスも管理できる。すなわち、同一デバイス対応テーブル62には、アプリケーション60に認識されているLUNと、ストレージシステム20で管理されているグローバルLDEV番号との対応関係が登録される。
ストレージシステム20は、例えば、制御部と、記憶部とに大別することができる。制御部は、例えば、CPU(Central Processing Unit)21、メモリ22、ディスクインターフェース制御部23、FC(Fiber Channel)インターフェース制御部25,26、及びLAN(Local Area Network)インターフェース制御部27,28を備える。記憶部は、例えば、ディスクユニット24である。
CPU21は、メモリ22に格納されている各種プログラム又はモジュールを実行することにより、ストレージシステム20における各種制御処理を実行する。メモリ22は、内部記憶装置と称されるものであり、各種モジュール等を記憶する不揮発性メモリと、CPU21の演算処理結果を一時的に保持する揮発性メモリとを含む。
CPU21は、ディスクインターフェース制御部23を介してディスクユニット24に接続されている。ディスクインターフェース制御部23は、CPU21から出力される論理アドレスをLBA(Logical Block Address)に変換し、CPU21による論理デバイ
スへのアクセスを可能とする。
ディスクユニット24は、RAID(Redundant Arrays of Independent Inexpensive Disks)構成された複数のディスクドライブ240を有する。ディスクドライブ240は、FC(Fibre Channel)ディスクドライブ、SATA(Serial Advanced Technology Attachment)ディスクドライブ、PATA(Parallel Advanced Technology Attachment)ディスクドライブ、FATA(Fibre Attached Technology Adapted)ディスクドライブ、SAS(Serial Attached SCSI)ディスクドライブ或いはSCSI(Small Computer System Interface)ディスクドライブ等の物理デバイスである。物理デバイスとは、実記憶領域を有する実デバイスである。なお、物理デバイスは、ディスクドライブ240に限らず、他種の記憶デバイス(例えばフラッシュメモリ)が採用されても良い。
LDEV242は、実記憶領域を有しない仮想的なデバイスである。データを記憶する実体的な記憶領域は、外部ストレージシステム70内の論理デバイス701に存在する。即ち、ストレージシステム20は、外部ストレージシステム70の外部LDEV701を自己の内部デバイスとして取り込み、これを論理ユニットとしてホスト計算機51に提供している。ホスト計算機51がUNIX(登録商標)系のシステムである場合には、論理ユニットは、デバイスファイル(Device File)に対応付けられる。ホスト計算機51がWindows(登録商標)系のシステムである場合には、論理ユニットは、ドライブレター(ドライブ名)に対応付けられる。論理ユニットには、LUN(Logical Unit Number)がアサインされる。外部LDEV701があたかもストレージシステム20の内部デバイスであるかのように仮想化する方法の詳細については、特開2005−107645号公報に開示されている。すなわち、本実施形態における外部接続は、例えば、特開2005−107645号公報(US出願番号10/769805号、US出願番号11/471556号)に開示の技術を援用することができる。
コマンドデバイス243は、ホスト計算機51とストレージシステム20との間でコマンドやステータスを受け渡すための専用の論理ユニットである。ホスト計算機51からストレージシステム20に送信されるコマンドは、コマンドデバイス243に書き込まれる。ストレージシステム20は、コマンドデバイス243に書き込まれたコマンドに対応する処理を実行し、その実行結果をステータスとしてコマンドデバイス243に書き込む。コマンドデバイス243を用いたコマンド管理の詳細については、後述する。
ディスクインターフェース制御部23は、複数のディスクドライブ240をRAID方式に規定されるRAIDレベル(例えば、0,1,5)で制御することができる。RAID方式においては、複数のディスクドライブ240が一つのRAIDグループとして管理される。RAIDグループは、例えば、4つのディスクドライブ240を一組としてグループ化することにより(3D+1P)、或いは、8つのディスクドライブ240を一組としてグループ化することにより(7D+1P)、構成される。即ち、複数のディスクドライブ240のそれぞれが提供する記憶領域が集合して一つのRAIDグループが構成される。RAIDグループ上には、ホスト計算機51からのアクセス単位である複数の論理デバイス241が定義される。ホスト計算機51が認識する論理的な記憶領域である論理ユニットには、一つ以上の論理デバイス241がマッピングされる。ホスト計算機51は、LUNとLBAとを指定することにより、論理デバイス241にアクセスできる。
尚、ストレージシステム20は、外部ストレージシステム70に接続することにより、外部ストレージシステム70の記憶領域をホスト計算機51に提供できるならば、必ずしもディスクユニット24とディスクインターフェース制御部23とを備えている必要はない。
仮想ストレージシステム100A内のストレージシステム20Aと20Bの間はコマンドや制御情報及びデータを転送するための専用の通信線44がある。通信線44がない構成の場合、ホスト計算機51を経由して転送することができる。
また、1つの仮想ストレージシステム100は、外部ストレージシステム70は1台以上と接続しており、外部ストレージシステム70は、複数の仮想ストレージシステム100から接続されていてもよい。
FCインターフェース制御部25は、ストレージシステム20と外部ストレージシステム70との間のSAN43を通じてのコマンドやデータの転送を制御する。FCインターフェース制御部26は、ストレージシステム20とホスト計算機51との間のSAN41を通じてのコマンドやデータの転送を制御する。SAN41,43を介するデータ通信プロトコルとしては、例えば、ファイバチャネルプロトコルやiSCSIプロトコルなどを採用することができる。尚、SAN43は必須ではなく、FCインターフェース制御部25と外部ストレージシステム70とが光ファイバケーブルなどで直接接続されていてもよい。
LANインターフェース制御部27は、管理ネットワーク40を介して管理サーバ50に接続する。管理ネットワーク40は、イーサネット(登録商標)ケーブルなどで構成されるLANである。管理ネットワーク40におけるデータ通信プロトコルは、例えば、TCP/IPである。管理サーバ50は、仮想ストレージシステム100内のLDEVの作成、ホスト計算機51へのLDEVの割り当て、ホスト計算機51と仮想ストレージシステム100との間のアクセスパスの設定(LUNマスキングやゾーニングなど)などを管理することができる。
外部ストレージシステム70は、RAID構成された一つ以上のディスクドライブ700を有する。ディスクドライブ700は、FC(Fibre Channel)ディスクドライブ、SATA(Serial Advanced Technology Attachment)ディスクドライブ、PATA(Parallel Advanced Technology Attachment)ディスクドライブ、FATA(Fibre Attached Technology Adapted)ディスクドライブ、SAS(Serial Attached SCSI)ディスクドライブ或いはSCSI(Small Computer System Interface)ディスクドライブ等のストレージデバイスである。複数のディスクドライブ700上には、外部LDEV701が形成されている。なお、ディスクドライブ700に代えて又は加えて、他種の記憶デバイス(例えばフラッシュメモリ)があっても良い。
尚、外部ストレージシステム70は、ストレージシステム20とは異なる機種であってもよく、或いはストレージシステム20と同一の機種であってもよい。
SVP(サービスプロセッサ)81は、ストレージシステム20の構成情報(後述するデバイス情報テーブル106、マッピングテーブル108を含む)の設定や、稼働情報の取得などを行うコンピュータ端末である。SVP81は、ストレージシステム20内のLANインターフェース制御部28に接続される。各ストレージシステム20に接続する各SVP81は、一つのマスタSVPに接続される。マスタSVPは、各SVP81から収集した情報(ストレージシステム20の構成情報、稼働情報など)を一元管理する。尚、複数のSVP81のうちの一つがマスタSVPとして機能してもよく、或いは各ストレージシステム20がマスタSVP82に直接接続されていてもよい。マスタSVPを備えた管理方法については、後に詳述する。
仮想ストレージシステム100は、ストレージシステム20間で構成情報を送受信することにより、各ストレージシステム20間におけるコマンド転送やボリュームマイグレーションを実行できる範囲を示している。各ストレージシステム20に外部ストレージシステム70が接続されている場合には、仮想ストレージシステム100の範囲は、複数のストレージシステム20と外部ストレージシステム70とを含む。各ストレージシステム20に外部ストレージシステム70が接続されていない場合には、仮想ストレージシステム100の範囲は、複数のストレージシステム20を含み、外部ストレージシステム70を含まない。
各ストレージシステム20は、例えば、RAID構成された複数のディスクドライブ240を備えるディスクアレイシステムとして構成することもできるし、或いは各ストレージストレージシステム20自体がSCSIターゲットになる仮想化スイッチとして構成することもできる。LDEV番号などの階層化された管理識別子を管理しストレージシステムの動作を制御する装置を、「制御装置」と総称することができる。制御装置は、ストレージシステム20の中にあっても良いし、外にあっても良い。
管理ネットワーク40は、一つ以上のホスト計算機51に接続している。また、管理ネットワーク40には、一つ以上のクライアント計算機30が接続されている。各クライアント計算機30は、管理ネットワーク40を介してホスト計算機51に接続し、アプリケーションプログラム60を介して仮想ストレージシステム100にデータ入出力を要求できる。
図3は、ストレージシステム20のメモリ22内に格納されている各種プログラム及びテーブルを示す。
メモリ22には、例えば、オペレーティングシステム101、番号管理プログラム102、番号管理テーブル105、デバイス情報テーブル106及びマッピングテーブル108が格納される。
番号管理テーブル105は、グローバルLDEV番号とローカルLDEV番号との対応表である。デバイス情報テーブル106は、論理デバイスの属性を保持するテーブルである。マッピングテーブル108は、外部LDEV701のLDEV番号とローカルLDEV番号(それに代えて又は加えて、グローバルLDEV番号であっても良い)との対応関係を表すテーブルである。
図4a、図4bは番号管理テーブル105の構成例を示す。
番号管理テーブル105は、仮想ストレージシステム100の上位の装置(ホスト計算機51及び/又は仮想化装置52)に見せる番号である「グローバルLDEV番号」と、ストレージシステム20内部で処理するときの番号である「ローカルLDEV番号」との対応表である。例えば、ホスト計算機51Aからは、グローバルLDEV番号で要求を受け、番号管理プログラム102によって、そのグローバルLDEV番号に対応するローカルLDEV番号が本テーブル105から取得され、取得されたローカルLDEV番号を用いて、処理(例えば、LDEVに対する書き込み又は読出し(I/O)の処理)が行われる。交替パスソフトウェア61には、前述したように、グローバルLDEV番号の情報のみ保持される(図2参照)。なお、図4aと図4bの違いについては、後述する。
また、ここでは、LDEV番号についてのテーブル例を示すが、LDEV番号に限らず、個々のストレージシステムで利用されていたが1つの仮想ストレージシステムとなったために重複してしまうおそれのある他種の管理識別子(例えば、コピー系のペア番号やグループ番号など)についても、同様のテーブルを保持することができる。特に、その他種の管理識別子としては、上位の装置(例えばホスト計算機)からの何らかの要求で指定される管理識別子を挙げることができる。
図5は、デバイス情報テーブル106の構成例を示す。
デバイス情報テーブル106は、各LDEVの属性を管理するためのテーブルである。デバイス情報テーブル106には、例えば、各LDEV毎に、「デバイス番号」、「ステータスフラグ」、及び「外部デバイスフラグ」が記録される。
「デバイス番号」は、ストレージシステム20内でLDEV241,242を一意に識別するためのローカルLDEV番号である。
「ステータスフラグ」は、ストレージシステム20内のLDEV241,242を使用している状態にあるか、或いは使用していない状態(空き状態)にあるかを示す。図中の"ON"は、LDEV241,242が使用されている状態にあることを示す。
「外部デバイスフラグ」は、ストレージシステム20内のLDEV(仮想デバイス)242が外部LDEV701として使用されている状態にあるか否かを示す。図中の"ON"は、LDEV242が外部LDEVとして使用されていることを示す。"OFF"は、LDEV241が内部LDEVとして使用されていることを示す。外部デバイスフラグのデフォルト値は、"OFF"であり、ストレージシステム20内のLDEV242が外部ストレージシステム70内の論理デバイス701にマッピングされると、"OFF"が"ON"に変更される。
図6は、ストレージシステム20がアクセス要求を受けた場合に行われる処理の流れを示す。この図6と、図1及び図3を参照して、ホスト計算機51から仮想ストレージシステム100Aに対するアクセスの際に行われる一連の処理流れを説明する。
アプリケーション60は、LUNを指定したアクセス要求を発行する。交替パスソフトウェア61が、そのアクセス要求で指定されているLUNに対応するストレージシステム識別子及びグローバルLDEV番号を、同一デバイス対応テーブル62から特定する。交替パスソフトウェア61が、そのストレージシステム識別子から識別されるストレージシステム20に、そのグローバルLDEV番号を指定したアクセス要求を発行する。なお、交替パスソフトウェア61は、指定されたLUNに対応する交替パスが混んでいる等の特段の理由がある場合には、別の交替パスを使用してアクセス要求を発行しても良い。
図6に示すように、ストレージシステム60は、グローバルLDEV番号が指定されたアクセス要求を受信する(ステップS101)。この場合、番号管理プログラム102によって、そのグローバルLDEV番号に対応するローカルLDEV番号が、番号管理テーブル105から特定される。ストレージシステム60(例えば、図示しないI/O処理プログラム)が、デバイス情報テーブル106を参照し、その特定されたローカルLDEV番号が、内部LDEVに対応したものか(外部デバイスフラグが"OFF"か)、外部LDEVに対応したものか(外部デバイスフラグ"ON"か)を判定する(S102)。つまり、アクセス要求が、外部LDEV701へのアクセス要求であるか、内部LDEV241へのアクセス要求であるかが判定される。
ストレージシステム20は、外部LDEV701へのアクセス要求であるならば(S102でYES)、マッピングテーブル108を参照し、外部LDEV701へのアドレス変換等を行って、外部LDEV701へのアクセス要求を外部ストレージシステム70に送信する(S104)。一方、ストレージシステム20は、内部LDEV241へのアクセス要求であるならば(S102でNO)、内部LDEV241へのアクセスを行う(S103)。
以上が、本実施形態のシステム全体についての説明である。
本実施形態では、仮想ストレージシステムが、以下に説明する手順で構築される。その手順を、図20に従って説明する。
1.仮想ストレージシステムを構築するストレージシステムの決定(S601)
例えば、管理サーバ50が、管理者から、仮想ストレージシステムの番号(管理サーバ50内で管理している仮想ストレージシステムのユニークな番号)の指定と、その仮想ストレージシステムに含めるストレージシステムの番号(管理サーバ50内で管理しているストレージシステムのユニークな番号)の指定とを受ける。指定された各種番号の登録が行われる。なお、新規に仮想ストレージシステムが作成される場合、所定の方法で生成された新たな仮想ストレージシステム番号(例えば、最後の仮想ストレージシステム番号の最終桁のアルファベットを次のアルファベットに変えたもの)が、その新規の仮想ストレージシステムに割り当てられる。
2.SVP統合(S602)
図12,13のMSVP番号とSVP番号一覧が登録される。SVPを統合せずに、複数SVPのままで仮想ストレージシステム環境を作る場合は、本処理は行われない。
3.Active/Passiveなストレージシステムの決定(S603)
仮想ストレージシステム100の詳細が決められる。具体的には、外部LDEV701をどのストレージシステム20で交替パスを張るかが決められる。これは、ストレージシステムの各LDEV毎に行われる。
4.外部LDEV決定処理(S604)
ストレージシステム20に認識させる外部LDEV701が決定される(例えば追加される)。複数のストレージシステム20の各々の仮想デバイスに同一の外部LDEV701がマッピングされる場合には、それら複数のストレージシステム20にその外部LDEV701が認識される。
5.ストレージシステム間での交替パスの設定(S605)
例えば、ストレージシステム20Aと20Bの両方に外部LDEV701が認識された場合、異なるストレージシステム20A、20Bをそれぞれ経由する交替パスが設定される。なお、上記3.では、同一の外部LDEV701にアクセス可能な複数のストレージシステム20のうちの一つ(例えば制御権を有するストレージシステム)がActiveとされ、他がPassiveとされる。
以下、本実施形態について更に説明を行う。以下、その説明は、(A)階層化されたLDEV番号、(B)統合SVP、(C)仮想ストレージシステム100でのフェイルオーバ、の順で行う。また、ストレージシステム20の上位の装置として、ホスト計算機51や仮想化装置52などが考えられるが、以下の説明では、その上位装置はホスト計算機51Aとする。
<(A)階層化されたLDEV番号>。
本実施形態の特徴の一つとして、LDEV番号が階層化されている点にある。すなわち、ストレージシステム内での処理に使用されるLDEV番号をローカルLDEV番号とし、ホスト計算機51Aに提供される新規の概念のLDEV番号、つまりグローバルLDEV番号が用意される。各ストレージシステムは、仮想ストレージシステム100の一員であろうとなかろうと、ローカルLDEV番号の他に、グローバルLDEV番号を保持しておく。グローバルLDEV番号が格別必要とされなくても、ストレージシステムがグローバルLDEV番号を保持することは、本実施形態では有用である。なぜなら、そのストレージシステムを仮想ストレージシステムの一員とすることをスムーズに行うことができるからである。
なお、本実施形態でのLDEV番号の階層化は、例えば上記外部接続の公報に開示されているような、LUNとLDEV番号との階層とは、技術思想が全く異なる。本実施形態において、LUNとは、オープンホスト(オープン系のシステムでのホスト計算機)が一つのLU(論理ユニット)を識別するための識別子であり、ポート番号とSCSI-IDの組み合わせで決まる。このため、勝手に変更できる番号ではない。本実施形態では、この勝手に変更できないLUNの下位に、階層化されたLDEV番号を用意し、その階層化されたLDEV番号を変更することで、上位にインパクトを与えずに、単独で稼動していたストレージシステムを仮想ストレージシステムに組み込んだり、そのストレージシステムを仮想ストレージシステムから減設したりすることができるのである。
以下、具体的に説明する。なお、以下、ストレージシステム20A、20Bのそれぞれの要素を説明に用いる際、その要素の親番号に、その要素を有するストレージシステムの子符号と同じ子符号を用いる場合がある。例えば、番号管理プログラムを説明に用いる場合、ストレージシステム20Aの番号管理プログラムは「102A」とし、ストレージシステム20Bの番号管理プログラムは「102B」とすることがある。
図7aにあるように、ストレージシステム20Aとストレージシステム20Bがそれぞれ単体のシステムとして稼動しているとする。ストレージシステム20A内のLDEV241、242は、ストレージシステム20A内でのLDEV番号が割り振られ、このLDEV番号に基づき処理を行っている。このLDEV番号が、ローカルLDEV番号である。仮想ストレージシステム100Aの一員とならない場合、例えば、LDEVのグローバルLDEV番号は、そのLDEVのローカルLDEV番号と同じ値とされる。この点は、ストレージシステム20Bについても同様である。ストレージシステム20A,20Bでは、それぞれ、ローカルLDEV番号もグローバルLDEV番号も0〜63番であるとする。
本実施形態では、ストレージシステム20が仮想ストレージシステム100の一員であるか否かに関わらず、交替パスソフトウェア61には、グローバルLDEV番号が提供される。ホスト計算機51Aからのアクセス要求では、グローバルLDEV番号が指定されている。例えば、ストレージシステム20Bは、単体で稼動している場合には、番号管理テーブル105Bに登録されるグローバルLDEV番号とローカルLDEV番号は同じ値である。図4aが、単体で稼動しているストレージシステム20B内の番号管理テーブル105Bの一例を示している。
ここで、ストレージシステム20Aと20Bにより仮想ストレージシステム100Aが新規に構築されるとする。この場合、本実施形態では、上位のLDEV番号であるグローバルLDEV番号を付け直す処理が行われる。
具体的には、番号管理プログラム102Bが、ストレージシステム20BにおけるグローバルLDEV番号を0〜63番から64〜127番に付け替える(S201)。図4bが、グローバルLDEV番号が付け替えられた後の、ストレージシステム20B内の番号管理テーブル105を示す。なお、ストレージシステム20Aと20BのグローバルLDEV番号がそれぞれ0〜63であることは、番号管理プログラム102同士が対話する、管理サーバ50から知らせを受ける等、種々の方法で特定することができる。
その後、番号管理プログラム102Bが、交替パスソフトウェア61に、グローバルLDEV番号の変更に関する番号変更情報を報告する(S202)。この番号変更情報には、例えば、新たに構築された仮想ストレージシステム100Aの番号と、仮想ストレージシステム100Aを構成するストレージシステム20A、20Bのそれぞれの番号と、各ストレージシステム20A、20Bでの変更前及び変更後のそれぞれのグローバルLDEV番号とが含まれる。
交替パスソフトウェア61は、番号変更情報から、ストレージシステム20A、20Bが仮想ストレージシステム100AとなりグローバルLDEV番号が0〜127に変わったことを認識する(S203)。交替パスソフトウェア61は、受信した番号変更情報を基に、同一デバイス対応テーブル62を更新する。具体的には、例えば、ストレージシステム20A,20Bが個々に稼動していたので、交替パスソフトウェア61は、ストレージシステム20A、20Bにそれぞれ対応した同一デバイス対応テーブル62A、62Bを有していた。交替パスソフトウェア61は、受信した番号変更情報から、ストレージシステム20A、20Bによって一つの仮想ストレージシステム100Aが構築されたことを知る。この場合、交替パスソフトウェア61は、それらのテーブル62A、62Bを、一つのテーブルとする(例えば、新たに一つの同一デバイス対応テーブルを準備し、その新規の同一デバイス対応テーブルに、同一デバイス対応テーブル62A、62Bに記録されている各情報を登録する)。そして、交替パスソフトウェア61は、新規の同一デバイス対応テーブルから、上記受信した番号変更情報に含まれている、各ストレージシステム20A、20Bでの変更前の各グローバルLDEV番号を特定する。交替パスソフトウェア61は、特定した各グローバルLDEV番号を、上記受信した番号変更情報に含まれている、ストレージシステム20A、20Bでの変更後の各グローバルLDEV番号に更新する。
以上の一連の処理により、個々に稼動していたストレージシステム20A、20Bが一つの仮想ストレージシステム100Aとされても、アプリケーション60に格別影響を与えないようにすることができる。交替パスソフトウェア61が、ホスト計算機51ではなく仮想化装置52に搭載されている場合には、ホスト計算機51全体に格別影響を与えないようにすることができる。なお、グローバルLDEV番号の付け替え、番号変更情報の報告は、番号管理プログラム102Bに代えて又は加えて、番号管理プログラム102Aが行っても良い。
さて、以上のように、グローバルLDEV番号の付け替えられて同一デバイス対応テーブルの更新が行われた場合、ストレージシステム20Bは、ホスト計算機51Aから、グローバルLDEV番号64〜127番でアクセス要求を受ける。ストレージシステム20Bは、アクセス要求で指定された変更後のグローバルLDEV番号に対応するローカルLDEV番号を、更新後の番号管理テーブル105Bから特定し、特定されたローカルLDEV番号で、アクセス要求に従う処理(特定されたローカルLDEV番号に対応するLDEVへのアクセス)を実行することができる。
なお、S201では、番号管理プログラム102B(及び/又は102A)が、マッピングテーブル108A、108Bから、ストレージシステム20BのローカルLDEV番号に対応付けられている外部LDEVが、ストレージシステム20Aにも対応付けられているかを調査し、対応付けられているならば、グローバルLDEV番号の付け替えにおいて、同一の外部LDEVに対応付けられている複数のローカルLDEV番号に対し、同一のグローバルLDEV番号を付与することができる。
また、上述した一連の処理は、複数のストレージシステムにより一つの仮想ストレージシステムを構築することに限らず、一つの仮想ストレージシステムに別の仮想ストレージシステムをマージすることにも適用することができる。図8a、図8bは、仮想ストレージシステム100Aに仮想ストレージシステム100Bをマージして1つの仮想ストレージシステム100Cを構築する場合の具体例を示す。この例によれば、図8aに示すように、仮想ストレージシステム100A、100Bには、それぞれ、グローバルLDEV番号として0〜127番が付与されているが、1つの仮想ストレージシステム100Cが構築される場合、図8bに示すように、仮想ストレージシステム100BのグローバルLDEV番号が、0〜127番から128〜255番に付け替えられる。なお、この番号の付け替えは、番号管理プログラム102A〜102Dのうちの少なくとも一つが行うことができる。
このように、グローバルLDEV番号の付け替えや、番号変更情報の報告は、新規に仮想ストレージシステムを構築する場合に限らず、仮想ストレージシステムに仮想ストレージシステム或いはストレージシステムをマージする場合にも適用することができる。
一つの仮想ストレージシステム100からストレージシステム20(或いは仮想ストレージシステム)を減設する場合は、当然、その分、グローバルLDEV番号の数も減る。例えば、図8bにおいて、ストレージシステム20Bを減設すると、仮想ストレージシステム100CのグローバルLDEV番号0〜255番のうち、グローバルLDEV番号64〜127番がなくなる。この場合、この減設されたタイミングで、グローバルLDEV番号の付け替えが行われても良いし(128〜255番が、64〜191番に変更されても良い)、次回にストレージシステム20がマージされた場合に、グローバルLDEV番号の付け替えが行われても良い。なお、減設されたストレージシステム20Bは、単独で稼動させることも可能である。減設されたストレージシステム20Bの番号管理プログラム102Bは、仮想ストレージシステムから減設されて単独になったことを検知した場合に、グローバルLDEV番号64〜127番を、自分のローカルLDEV番号(例えば0〜63番)と同じ番号に変更する。
また、一つの仮想ストレージシステム内で、或るストレージシステムのLDEVを別のストレージシステムに移行することも可能である。以下、仮想ストレージシステム100AのグローバルLDEV番号10番のLDEVをストレージシステム20Aからストレージシステム20Bへ移行する例を説明する。
例えば、ストレージシステム20Aが、グローバルLDEV番号10番のLDEVの移行指示を受けると、グローバルLDEV番号10番のLDEVの制御権をストレージシステム20Aから20Bへ移行する。このとき、グローバルLDEV番号10番のLDEVは、仮想ストレージシステム100Aの中でユニークであるため、ストレージシステム20Aからストレージシステム20Bに移行しても、LDEVのグローバルLDEV番号は10番のまま変わらない。一方、グローバルLDEV番号10番とローカルLDEV番号との対応付けは、ストレージシステム20Aとストレージシステム20Bのそれぞれにおいて変更される。具体的には、例えば、番号管理プログラム102Aが、グローバルLDEV番号10番を番号管理テーブル105Aから削除し、番号管理プログラム102Bが、番号管理テーブル105Bから、未使用のローカルLDEV番号を特定し、特定した未使用のローカルLDEV番号に、グローバルLDEV番号10番を対応付ける。例として、移行前は、グローバルLDEV番号10番は、ストレージシステム20A内でのローカルLDEV番号10番に対応付けられていたが、移行後は、ストレージシステム20B内でのローカルLDEV番号30番に対応付けられたとする。こうすることで、ホスト計算機51からは、移行したことは見えず、アクセス要求を出す際にも、グローバルLDEV番号が変わらないため影響しない。ストレージシステム20A,20B側ではボリュームの制御権が移行したことを認識し、ストレージシステム20Bは、移行対象のグローバルLDEV番号に未使用のローカルLDEV番号を対応付ける。
仮想ストレージシステム100間で生成するリモートコピーの場合、グローバルLDEV番号をコピー元とコピー先で合わせる必要はない。従来のリモートコピーのペアを生成する要領でよい。また、仮想ストレージシステム100内で生成するローカルコピーの場合も同様である。
仮想ストレージシステム100内のストレージシステム20間で移行できるボリュームを「仮想ストレージシステム適用ボリューム」と呼ぶ。仮想ストレージシステム100内のボリュームは、全てが仮想ストレージシステム適用ボリュームでもよいし、仮想ストレージシステム100内のボリュームの一部が仮想ストレージシステム適用ボリュームで、残りを各ストレージシステム20内のみで使用する従来のボリュームと混在してもよい。
<(B)統合SVP>。
次に、SVPの統合管理方法について、図を参照しながら説明する。
SVPの統合管理とは、仮想ストレージシステム100に、一つのマスターSVP(以下、MSVP)を設け、そのMSVPによって、複数の他のSVPを管理することである。複数の他のSVPが取得する情報は、MSVPに能動的に送信され、MSVPにて、一括管理される。
SVPの統合管理の第一の方法として、図9aに示すようなマスターSVP(以下、MSVP)82を新規に設定する方法がある。手順について、図10を参照しながら説明する。
各ストレージシステム20にあるSVP81を、ネットワークで接続する(S301)。そのネットワーク上に、新規な計算機を接続し、これをMSVP82とする(S302)。MSVP82では、所定のイベントが発生した場合に(例えば、計算機がネットワークに接続されたことを検知したことを契機に)、MSVPとしての設定を行うためのMSVP設定プログラム821が、MSVP82のプロセッサで実行される。
MSVP設定プログラム821は、仮想ストレージシステム100内の全SVP81の識別子を認識する(S303)。各SVP81には、そのSVPの識別子を設定しておく。方法としては、MSVP設定プログラム821が、仮想ストレージシステム100内の全SVP81の識別子の入力をユーザから受けるか、或いは、全SVP81へブロードキャストでメッセージとMSVP82の識別子とを送り、各SVP81のSVP間認識プログラム811より、そのSVP81の識別子を返信してもらう。MSVP設定プログラム821は、MSVP82の記憶資源(例えばメモリ)に、SVP一覧表(図示せず)を記憶させる。そのSVP一覧表に、各SVP81のSVP識別子が記録される。
各SVP81(具体的には、例えば、SVPのプロセッサで実行される制御プログラム)は、MSVP82から受信したMSVP識別子を、自分の記憶資源(例えばメモリ)に登録する(S304)。なお、MSVP識別子は、ユーザから入力されても良い。
各SVP81は、SVP81上で管理する情報を、MSVP82に送り、MSVP82にて、各々のSVP(これらはスレーブSVP:SSVPと呼ぶ)81で管理されている情報が一括管理される(S305)。例えば、SSVP81は、自分が接続されているストレージシステムから、番号管理テーブル105を取得し、取得した番号管理テーブル105を、MSVP82に送信する。
MSVP82と他のSSVP81が設定されたことを、例えば、MSVP設定プログラム821が、仮想ストレージシステムを構成する全てのストレージシステム20に報告する(S306)。例えば、MSVP識別子と各SSVP識別子が、各ストレージシステム20に報告され、そのストレージシステム20のメモリ22等に記録される。
MSVP設定プログラム821は、各SSVP81から情報を受信した場合、受信した情報に、その情報の送信元のSSVP81の識別子を関連付ける。これにより、MSVP82は、どのストレージシステム20のSSVPの情報かを意識して管理することができる。MSVP82は交替系を持たせるため2重化されても良い。
この第一の方法によれば、SSVP81の負荷を均等にすることができる。また、ストレージシステム20の増減設にも対応しやすい。
SVP統合管理の第二の方法として、図9bに示すように、複数のSVP81のうち1台をMSVPと兼用する方法もある。以下、その手順について、図11を参照しながら説明する。
各ストレージシステム20にあるSVP81をネットワークで接続する(S401)。
次に、例えばユーザが、複数のSPV81の中から、MSVPに兼用するものを決定する(S402)。各SVP81は、どれもMSVPになる可能性があるため、全てのSVP81が、前述したMSVP設定プログラム821を予め持ち、MSVPに選択された場合だけ、そのプログラム821が実行される。また、全SVP81は、SVP間認識プログラム811を持ち、SVP81間の相互通信を行う。
ユーザは、MSVPと決めたSVP81のMSVP設定プログラム821を実行させる(S403)。MSVP設定プログラム821が実行されたSVP82(81)は、自分がMSVPであることを認識し、MSVP82内の制御情報へ登録する(S404)。具体的には、例えば、MSVP設定プログラム821が、MSVPであることを意味する情報を、SVP82の記憶資源に登録する。
MSVP設定プログラム821は、他のSVP81へ、MSVP識別子(自分の識別子)を、ブロードキャストで知らせる(S405)。各他のSVP81のSVP間認識プログラム811は、MSVP識別子を受信し、自分を有するSVP81の記憶資源に、そのMSVP識別子を登録する。また、各他のSVP81は、MSVP識別子の受信に応答して、自分の識別子を、MSVP82に返信する。また、各他のSVP81のSVP間認識プログラム811は、自分を有するSVP81の記憶資源で管理されている情報を、MSVP82に送る。これにより、全ての他のSVP81での管理情報がMSVP82にて一括管理される。他のSVP81からMSVP82に送信される情報として、例えば、該他のSVP81が接続されているストレージシステム内の番号管理テーブル105がある。
MSVPと他のSVP(以下、SSVP)が設定されたことを、例えばMSVP設定プログラム821が、仮想ストレージシステムを構成する全てのストレージシステム20に報告する(S406)。具体的には、例えば、各SVPの識別子と、各識別子がMSVPの識別子であるかSSVPの識別子であるかを示す情報とを、各ストレージシステム20に報告する。各ストレージシステム20は、それらの情報から、自分のSVPがMSVPかSSVPか認識し登録することができる。
以上の第二の方法では、複数のSSVPの中から、MSVPの交替系となるものを選択しておいてもよい。すなわち、MSVPを2重化しておいてもよい。この場合、稼動しているMSVPがダウンした場合、選択されていた他のSVPがMSVPとして稼動することができる。MSVPがダウン(例えば故障)したか否かは、例えば、SVP間認識プログラム811同士の通信から検出することができる。なお、この第二の方法でも、前述した第一の方法でも、同時期に稼動するMSVPの台数は、仮想ストレージシステム100において1台とする。その1台のMSVPがダウンした場合に、交替系のMSVPが稼動することができる。
第一の方法及び第二の方法のいずれでも、MSVPが設定されたら、SVP81からの指定はできなくなり、それ以降はMSVPから指定する。MSVPやSVPで、前述した番号管理プログラム102が実行されても良い。
また、第二の方法の場合、MSVPが設定されたストレージシステム20Aが停止されたら、MSVP機能も停止してしまう。このため、他のストレージシステム20のSVP81に、MSVPの役割を移す必要がある。そこで、ストレージシステム20を計画的に停止する際には(つまり意図的に停止する際には)、そのストレージシステム20が停止することを他のストレージシステム20へ通知し、他のストレージシステム20で、そのストレージシステム20が停止することを認識できるようにする。その時の通知方法は、ホスト経由でもストレージシステム間通信44を使用してもよい。MSVPのあるストレージシステム20Aが計画的に停止される場合、そのストレージシステム20Aは、他のストレージシステム20へ、MSVPになることのメッセージを送信し、且つ、MSVPで管理されていた全ての管理情報を送る。そのメッセージを受けたストレージシステム20は、自分に接続されているSVP81をMSVPに設定し、且つ、送られて来た管理情報を、そのSVP81の記憶資源に格納する。また、障害などでMSVPのあるストレージシステム20が突然停止した場合も、他のストレージシステム20は、定期的にストレージシステム20間で通信し、停止したことを検知できるようにしておく。停止したと検知したストレージシステム20が、MSVPがあるストレージシステム20Aであると判断したら、自分に接続されているSVPがMSVPとなるように設定する。そのストレージシステム20は、停止したストレージシステム20AのMSVPから管理情報を取れ出せれば、その管理情報を抽出し、抽出した管理情報を、MSVPとしたSVPの記憶資源に格納する。以上のストレージシステム間のやり取りは、SVP間で行われても良い。
また、各SSVPは、自分を備えるストレージシステムから取得し記憶した情報を、自分のSSVP識別子と共に、MSVPに送信する。MSVP設定プログラムは、受信した情報を、該情報と共に受信したSSVP識別子を関連付けて、MSVPの記憶資源に格納する。
また、各ストレージシステムへのMSVP設定報告で報告することとしては、例えば、SVPを統合したことである。
さて、ストレージシステムのSVPがMSVPであるか等が書かれたストレージシステム管理情報を、管理サーバ50にて管理することができる。ストレージシステム管理情報は、ストレージシステム毎に用意される。以下、それについて説明する。
図12aは、ストレージシステム20Aについてのストレージシステム管理情報を示す。図12bは、ストレージシステム20Dについてのストレージシステム管理情報を示す。以下、図12aを代表的に参照して説明する。
ストレージシステム管理情報951Aには、例えば、仮想ストレージシステム構成情報、ストレージシステム情報、仮想ストレージシステム番号、SVP番号及びMSVP番号が記録される。
「仮想ストレージシステム構成情報」は、ストレージシステム20Aが仮想ストレージシステム100を構成しているか否かを示すビット情報である。図12aによれば、"Yes"という値が記録されているので、ストレージシステム20Aが仮想ストレージシステム100を構成していることがわかる。一方、図12bによれば、"No" という値が記録されているので、ストレージシステム20Dが仮想ストレージシステム100を構成していない(つまり単独で稼動している)ことがわかる。
「ストレージシステム情報」は、その仮想ストレージシステム100を構成している他のストレージシステム20の番号である。この図によれば、ストレージシステム20Aと20Bによって一つの仮想ストレージシステムが構成されていることがわかる。
「仮想ストレージシステム番号」は、ストレージシステム20Aを構成要素の一つとしている仮想ストレージシステム100の番号である。
「SVP番号」は、ストレージシステム20AのSVPの識別子である。
「MSVP番号」は、MSVPの識別子である。ストレージシステム20AのSVPがMSVPの場合には、SVP番号と同じ番号が、MSVP番号として記録される。なお、単独でストレージシステム20Dが稼動している場合にも、SVP番号と同じ番号が、MSVP番号として記録される(この場合、それに代えて、MSVP番号はブランクであっても良い)。
図13は、仮想ストレージシステム管理情報を示す。
仮想ストレージシステム管理情報953は、仮想ストレージシステム100毎に1つ用意される。この情報も、管理サーバ50の記憶資源に記憶される。以下、この仮想ストレージシステム管理情報953は、仮想ストレージシステム100Aに対応した情報とする。
仮想ストレージシステム管理情報953には、仮想ストレージシステム番号、ストレージシステム情報、MSVP番号及びSVP番号一覧が記録される。
「仮想ストレージシステム番号」は、仮想ストレージシステム100Aの識別子(番号)である。
「ストレージシステム情報」は、仮想ストレージシステム100Aを構成するストレージシステム20の識別子(番号)の一覧である。
「MSVP番号」は、仮想ストレージシステム100AのMSVPの識別子である。
「SVP番号一覧」は、仮想ストレージシステム100A内のSVPの識別子の一覧である。ここでは、例えば、第二の方法でSVP統合管理が行われる場合、図示のように、MSVP識別子と同じ識別子(S20A)が記録される。一方、第一の方法でSVP統合管理が行われる場合、MSVP識別子と同じ識別子がSVP識別子として記録されない(第二の方法と同様に記録されても良い)。
図14は、仮想ストレージシステム全体情報を示す。
仮想ストレージシステム全体情報955は、管理サーバ50の記憶資源に記憶される。この情報955には、「仮想ストレージシステム番号一覧」という項目があり、これは、管理サーバ50の管理対象である全ての仮想ストレージシステムの番号である。「仮想ストレージシステム番号一覧」に含められる番号は、例えば、図20のS601で追加される。
<(C)仮想ストレージシステムでのフェイルオーバ>。
仮想ストレージシステム100は、ホスト計算機51からは1つのシステムとして見える。仮想ストレージシステム100にて、例えばフェイルオーバ機能を実現する。このとき、ストレージシステム20Bをストレージシステム20Aの交替系とする。実際には、LDEV単位で交替系を設定するため、別のLDEVに関しては、ストレージシステム20Aがストレージシステム20Bの交替系となってもよい。
図15は、フェイルオーバ管理情報を示す。具体的には、図15aが、フェイルオーバするLDEVのためのフェイルオーバ管理情報を示す。一方、図15bが、フェイルオーバしないLDEVのフェイルオーバ管理情報を示す。
フェイルオーバ管理情報957は、例えば、各ストレージシステムのメモリ22に記憶される。ファイルオーバ管理情報957には、その情報が対応付けられたグローバルLDEV番号と、初期Activeストレージシステム番号(初期にActiveとするストレージシステムの番号)と、現Activeストレージシステム番号(現在Activeのストレージシステムの番号)と、現Passiveストレージシステム番号(現在Passiveのストレージシステム番号)と、フェイルオーバ有無(フェイルオーバを行うか否か)と、状態(例えば、フェイルオーバを行っている最中か否か)とが記録される。フェイルオーバしないグローバルLDEV番号に対応したファイルオーバ管理情報は、図15bに示すように、全てがブランクとなっている。なお、フィルオーバしないLDEVについては、フェイルオーバ管理情報は無くても良い。
通常系のストレージシステム20Aを「Active」と呼び、交替系のストレージシステム20Bを「Passive」と呼ぶ。このようにすることで、ストレージシステム20と外部ストレージシステム70間のパス障害やストレージシステム20の計画停止時及びストレージシステム20の障害時にも、「Active」から「Passive」へ処理の主導権を切り替えることにより、外部ボリューム701に影響させずに処理を続けることができる。
また、ストレージシステム20のマイグレーションをする際に、新旧のストレージシステム20間で外部ボリューム701の制御権を切り替える移行機能においても、最初に移行元を「Active」(外部ボリュームへのパスが接続されている)、移行先を「Passive」とし、Active/Passiveを切り替え処理を行うことで実現できる。
ストレージシステム20Aとストレージシステム20B間でのフェイルオーバ処理について図17を参照しながら説明する。
図17は、図1をフェイルオーバ処理に関連のある部分を抽出して簡易化したものである。ここでは、外部ストレージシステム70内の外部LDEVXが実体で、それに対応付けられたLDEV240を、仮想デバイスA、Bとする。仮想デバイスAは、ストレージシステム20A内にあり、仮想デバイスBは、ストレージシステム20B内にある。仮想デバイスA,Bは、同一の実体Xに接続されているので、同一のグローバルLDEV番号(以下、グローバルLDEV番号X)が付与されているものとする。仮想デバイスA、Bへホスト計算機51からパスを張り、それらを交替パスソフトウェア61により交替パスとして設定される。ここでは、ストレージシステム20AをActive、ストレージシステム20BをPassiveとする。
ホスト計算機51から、グローバルLDEV番号Xが指定されたアクセス要求が、ストレージシステム20A又は20Bに対して出される。ストレージシステム20Aが、そのアクセス要求を受けた場合、グローバルLDEV番号Xに対応したフェイルオーバ管理情報957では、ストレージシステム20AがActiveとなっているため、そのアクセス要求は、ストレージシステム20Aで処理される。このため、もし、ストレージシステム20Bで、そのアクセス要求を受けた場合は、そのアクセス要求を、ストレージシステム20Bから20Aへ専用線44を介して転送する。ストレージシステム20Aは、ホスト計算機51から受けたアクセス要求であるかストレージシステム20Bから受けたアクセス要求であるかを区別することなく処理することができる。
ここで、仮想デバイスAと外部LDEVXとの間のパスに障害が発生したとする。この場合、Active側のパスが障害になるため、外部LDEVXに対してのコントローラ部分であるストレージシステム20Aと20BのActiveとPassiveの役割を入れ替えることを行う。
まず、図19に示すように、ストレージシステム20Bが、仮想デバイスBと外部LDEVX間のパスを有効にする(S501)。
一方、ストレージシステム20Aが、仮想デバイスA側で既に受けつけ済みであるが、外部LDEVXへのアクセスが未処理なアクセス要求を、仮想デバイスB側に転送する(S502)。これにより、ストレージシステム20Bが、転送されて来たアクセス要求に従って、外部LDEVXへアクセスする(S503)。
その後、ストレージシステム20Aと20BのActive/Passiveが切り替えられる(S504)。すなわち、少なくとも、グローバルLDEV番号Xに対応したフェイルオーバ管理情報において、現Activeストレージ番号が、ストレージシステム20Bの番号となり、現Passiveストレージ番号が、ストレージシステム20Aの番号となる。
以上により、ストレージシステム20Aと20BのActiveとPassiveの切替が完了する。以後、グローバルLDEV番号Xを指定したアクセス要求を、ストレージシステム20Bが受けた場合は、図18に示すように、ストレージシステム20Bが、そのアクセス要求を処理する。一方、ストレージシステム20Aが、そのアクセス要求を受けた場合は、そのアクセス要求を、ストレージシステム20Aから専用線44を介してストレージシステム20Bへ転送する。
このようにして、一つの仮想ストレージシステム100において、ストレージシステム間のフェイルオーバを実現することができる。
なお、図1は、ホスト計算機51から各ストレージシステム20へコマンドを発行するためのネットワーク(SAN41,42)と、管理サーバ50が各ストレージシステム20との間で管理情報を送受信するためのネットワーク(管理ネットワーク40)とが異なるアウトバンド方式となっているが、本実施形態は、インバウンド方式にも適用できる。例えば、管理サーバ50がSAN41経由で各ストレージシステム20との間で管理情報を送受信するように構成すれば、インバンド方式となる。
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、図16に示すように、外部ストレージシステム70は無くても良い。また、上述した実施形態に係るシステム全体構成では、メインフレームシステムとオープンシステムのいずれか一方或いはそれらが混在してもよい。
また、例えば、階層化して管理されるのは、LDEV番号に限らない。例えば、LDEV番号に代えて又は加えて、コピー系のペア番号やグループ番号などのリソース番号を階層化し、LDEV番号と同様の方法で付け替え等を行うことができる。今まで別々のストレージシステムにあったリソース番号が、1つの仮想ストレージシステムとなったために、ユニークな番号であることが必要となる。例えば、ストレージシステム20Aに、LDEV#0とそのレプリケーションであるLDEV#100をペア#0として管理しているとする。同じように、ストレージシステム20Bに、LDEV#0とそのレプリケーションであるLDEV#100をペア#0として管理しているとする。ここで、ストレージシステム20Aと20Bを仮想ストレージシステム100とした場合、LDEV#0と#100が重複するため、前記のようにLDEV番号を付け直す必要がでるが、さらに、ペア番号もペア#0で重複してしまう。このため、LDEV番号と同様に、グローバルペア番号とローカルペア番号を設けることができる。番号の付け替え方法は、LDEV番号の付け替え方法と同様にすることができる。コピー系のペア番号をグループにしたグループ番号についても、グローバルグループ番号とローカルグループ番号を設けて同様に処理を行うことができる。
図1は、本発明の一実施形態に係るシステム全体の構成例を示す。 図2は、同一デバイス対応テーブル62の構成例を示す。 図3は、ストレージシステム20のメモリ22内に格納されている各種プログラム及びテーブルを示す。 図4aは、単体で稼動しているストレージシステム20B内の番号管理テーブル105Bの一例を示す。図4bが、グローバルLDEV番号が付け替えられた後の、ストレージシステム20B内の番号管理テーブル105を示す。 図5は、デバイス情報テーブル106の構成例を示す。 図6は、ストレージシステム20がアクセス要求を受けた場合に行われる処理の流れを示す。 図7aは、仮想化ストレージシステムを構成しない各ストレージシステム20A、20BのグローバルLDEV番号とローカルLDEV番号の関係を示す。図7bは、仮想化ストレージシステムを構成したストレージシステム20A、20BのグローバルLDEV番号とローカルLDEV番号の関係を示す。 図8aは、別々の仮想化ストレージシステム100A,100BのグローバルLDEV番号とローカルLDEV番号の関係を示す。図8bは、仮想ストレージシステム100Aに別の仮想ストレージシステム100Bがマージされたことにより構成された仮想ストレージシステム100CのグローバルLDEV番号とローカルLDEV番号の関係を示す。 図9aは、SVP統合管理の第一の方法の説明図である。図9bは、SVP統合管理の第二の方法の説明図である。 図10は、第一の方法でのSVP統合管理を行うための手順を示すフローチャートである。 図11は、第二の方法でのSVP統合管理を行うための手順を示すフローチャートである。 図12aは、ストレージシステム20Aについてのストレージシステム管理情報を示す。図12bは、ストレージシステム20Dについてのストレージシステム管理情報を示す。 図13は、仮想ストレージシステム管理情報を示す。 図14は、仮想ストレージシステム全体情報を示す。 図15aは、フェイルオーバするLDEVのためのフェイルオーバ管理情報を示す。図15bは、フェイルオーバしないLDEVのフェイルオーバ管理情報を示す。 図16は、本実施形態の一変形例に係るシステム全体構成を示す。 図17は、仮想ストレージシステムでのアクセスの流れの一例である。 図18は、図17のシステムで、ストレージシステム20Aと外部ストレージシステム70との間のパスに障害が生じた後の、アクセスの流れの一例である。 図19は、ストレージシステム間でのActive/Passiveの切替の流れの一例である。 図20は、仮想ストレージシステムを構築する手順の一例を示すフローチャートである。
符号の説明
20…ストレージシステム 51…ホスト計算機 52…仮想化装置 70…外部ストレージシステム 100…仮想ストレージシステム 105…番号管理テーブル 108…マッピングテーブル

Claims (13)

  1. 上位装置から送信された要求に従って第一のストレージシステムで実行される処理の対象である管理対象を管理し、該第一のストレージシステムの動作を制御し、該第一のストレージシステムを含む複数のストレージシステムを論理的に一つの記憶資源に仮想化してなる仮想ストレージシステムを構成するストレージシステムの外部の装置であって、
    複数の管理対象の各々についての第一と第二の管理識別子を記録した識別子対応情報を記憶する識別子対応記憶部と、
    第一の管理識別子を指定した要求を前記上位装置から受信する受信部と、
    前記受信した要求で指定されている第一の管理識別子に対応した第二の管理識別子を前記識別子対応情報から特定する対応特定部と、
    前記特定された第二の管理識別子を前記第一のストレージシステムの処理部に出力する出力部と、
    を備え、
    前記第一及び第二の管理識別子は、同種の管理識別子が階層化されたものであり、
    前記第二の管理識別子は、前記第一のストレージシステムでの処理のために使用される種類の管理識別子であり、前記出力された第二の管理識別子から、前記第一のストレージシステムの処理部が、処理の対象を識別し、
    前記第一の管理識別子は、前記上位装置で認識される種類の管理識別子であり、
    前記第一のストレージシステムが、前記仮想ストレージシステムの構成要素ではない場合、前記第一のストレージシステムが有する1つの管理対象について、前記第一の管理識別子と前記第二の管理識別子の値は同一であり、
    前記第一のストレージシステムが前記仮想ストレージシステムの構成要素とされる際に、前記第一のストレージシステムが有する管理対象の第一の管理識別子が、該仮想ストレージシステムにおける他のストレージシステムが有する管理対象の第一の管理識別子と重複しない値に変更され、
    前記識別子対応記憶部は、前記第一のストレージシステムの前記変更後の第一と第二の管理識別子の識別子対応情報と、前記他のストレージシステムの第一と第二の管理識別子の識別子対応情報とを統合する、
    制御装置。
  2. 前記第一と第二の管理識別子は、前記第一のストレージシステムに存在する複数の論理的な記憶デバイスの各々を識別するための識別子、及び/又は、複数の特定のリソースの各々を識別するための識別子である、
    請求項1記載の制御装置。
  3. 前記仮想ストレージシステムを構成するストレージシステムの台数の変更に応じて前記第一の管理識別子を変更する変更部、
    を更に備える請求項1又は2記載の制御装置。
  4. 前記台数の変更とは、既存の仮想ストレージシステムに前記第一のストレージシステムを増設することであり、
    前記変更部は、前記第一のストレージシステムの複数の管理対象にそれぞれ対応した複数の第一の管理識別子を、それぞれ、前記既存の仮想ストレージシステムにおける各他のストレージシステムでの複数の第一の管理識別子と重複しない値に変更する、
    請求項3記載の制御装置。
  5. 前記台数の変更とは、前記第一のストレージシステムを含んだ既存の第一の仮想ストレージシステムに、第二の仮想ストレージシステムをマージすることで、第三の仮想ストレージシステムを構築することであり、
    前記変更部は、前記第一のストレージシステムの複数の管理対象にそれぞれ対応した複数の第一の管理識別子を、それぞれ、前記第三の仮想ストレージシステムの各他のストレージシステムにおける複数の第一の管理識別子と重複しない値に変更する、
    請求項3記載の制御装置。
  6. 変更後の前記複数の第一の管理識別子を前記上位装置に通知する変更報告部、
    を更に備える請求項3乃至5のうちのいずれか1項に記載の制御装置。
  7. 前記変更部は、前記仮想ストレージシステムから前記第一のストレージシステムが減設されたことにより該第一のストレージシステムが単独となった場合には、前記複数の第一の管理識別子を、それぞれ、前記複数の第二の管理識別子と同じ値に変更する、
    請求項3乃至6のうちのいずれか1項に記載の制御装置。
  8. 前記複数の管理対象の各々は、論理的な記憶デバイスであり、
    前記仮想化ストレージシステムを構成する前記第一のストレージシステムと第二のストレージシステムは、前記仮想化ストレージシステム構成要素ではない共通の外部のストレージシステムに接続されており、且つ、前記第一のストレージシステムにおける実体の無い第一の仮想的な論理記憶デバイスと、前記第二のストレージシステムにおける実体の無い第二の仮想的な論理記憶デバイスとが、前記外部ストレージシステムにおける実体の有る外部論理記憶デバイスに接続されており、
    前記変更部は、前記第一の仮想的な論理記憶デバイスの第一の管理識別子を、前記第二の仮想的な論理記憶デバイスの第一の管理識別子と同じ値にする、
    請求項3乃至7のうちのいずれか1項に記載の制御装置。
  9. 上位装置から送信された要求に従って第一のストレージシステムで実行される処理の対象である管理対象を管理し、該第一のストレージシステムの動作を制御する制御装置と、
    前記第一のストレージシステムを含んだ複数のストレージシステムを論理的に一つの記憶資源に仮想化してなる仮想ストレージシステムと、
    前記仮想ストレージシステムを前記一つの記憶資源として提供するための仮想化部と
    を備え、
    前記制御装置は、前記仮想ストレージシステムを構成するストレージシステムの外部の装置であり、
    複数の管理対象の各々についての第一と第二の管理識別子を記録した識別子対応情報を記憶する識別子対応記憶部と、
    第一の管理識別子を指定した要求を前記上位装置から受信する受信部と、
    前記受信した要求で指定されている第一の管理識別子に対応した第二の管理識別子を前記識別子対応情報から特定する対応特定部と、
    前記特定された第二の管理識別子を前記第一のストレージシステムの処理部に出力する出力部と
    を備え、
    前記第二の管理識別子は、前記第一のストレージシステムでの処理のために使用される種類の管理識別子であり、前記出力された第二の管理識別子から、前記第一のストレージシステムの処理部が、処理の対象を識別し、
    前記第一の管理識別子は、前記上位装置で認識される種類の管理識別子であり、
    前記第一及び第二の管理識別子は、同種の管理識別子が階層化されたものであり、
    前記第一のストレージシステムが、前記仮想ストレージシステムの構成要素ではない場合、前記第一のストレージシステムが有する1つの管理対象について、前記第一の管理識別子と前記第二の管理識別子の値は同一であり、
    前記第一のストレージシステムが、前記仮想ストレージシステムの構成要素とされる際に、前記第一のストレージシステムが有する管理対象の第一の管理識別子が、該仮想ストレージシステムが有する他のストレージシステムでの管理対象の第一の管理識別子と重複しない値に変更され、
    前記識別子対応記憶部は、前記第一のストレージシステムの前記変更後の第一と第二の管理識別子の識別子対応情報と、前記他のストレージシステムの第一と第二の管理識別子の識別子対応情報とを統合する、
    計算機システム。
  10. 前記制御装置が、
    前記仮想ストレージシステムを構成するストレージシステムの台数の変更に応じて前記第一の管理識別子を変更する変更部と、
    変更後の前記複数の第一の管理識別子を前記仮想化部に通知する変更報告部と
    を更に備え、
    前記仮想化部が、ホスト計算機が指定し得る複数の第三の管理識別子と前記複数の第一の管理識別子との対応を管理し、前記変更後の複数の第一の管理識別子を受信した場合、前記複数の第三の管理識別子にそれぞれ対応付けられている複数の第一の管理識別子を、前記受信した変更後の複数の第一の管理識別子に変更する、
    請求項記載の計算機システム。
  11. 前記上位装置が、前記ホスト計算機と前記仮想ストレージシステムとの間に介在するスイッチであり、
    前記仮想化部が、前記スイッチに搭載されている、
    請求項9又は10記載の計算機システム。
  12. 前記上位装置が、前記ホスト計算機であり、
    前記仮想化部が、前記ホスト計算機に搭載されている、
    請求項9又は10記載の計算機システム。
  13. 請求項1乃至8のうちのいずれか1項に記載の制御装置を備えたストレージシステム。
JP2006210464A 2006-08-02 2006-08-02 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置 Active JP4963892B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2006210464A JP4963892B2 (ja) 2006-08-02 2006-08-02 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置
US11/529,053 US20080034005A1 (en) 2006-08-02 2006-09-27 Control device for storage system capable of acting as a constituent element of virtualization storage system
EP07251065A EP1892615A3 (en) 2006-08-02 2007-03-14 Control device for a storage system capable of acting as a constituent element of a virtual storage system
EP14190139.7A EP2854021B1 (en) 2006-08-02 2007-03-14 Control device for a storage system capable of acting as a constitutent element of a virtual storage system
US12/858,570 US9898221B2 (en) 2006-08-02 2010-08-18 Control device for storage system capable of acting as a constituent element of virtualization storage system
US14/931,988 US10140045B2 (en) 2006-08-02 2015-11-04 Control device for storage system capable of acting as a constituent element of virtualization storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006210464A JP4963892B2 (ja) 2006-08-02 2006-08-02 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置

Publications (2)

Publication Number Publication Date
JP2008040571A JP2008040571A (ja) 2008-02-21
JP4963892B2 true JP4963892B2 (ja) 2012-06-27

Family

ID=38610861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006210464A Active JP4963892B2 (ja) 2006-08-02 2006-08-02 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置

Country Status (3)

Country Link
US (3) US20080034005A1 (ja)
EP (2) EP2854021B1 (ja)
JP (1) JP4963892B2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560671B1 (en) * 2003-10-23 2013-10-15 Netapp, Inc. Systems and methods for path-based management of virtual servers in storage network environments
US7792588B2 (en) * 2007-01-26 2010-09-07 Medtronic, Inc. Radio frequency transponder based implantable medical system
US9619171B2 (en) 2007-10-05 2017-04-11 Hitachi, Ltd. Storage system and virtualization method
JP2009093316A (ja) * 2007-10-05 2009-04-30 Hitachi Ltd ストレージシステム及び仮想化方法
JP5330702B2 (ja) 2008-01-31 2013-10-30 株式会社日立製作所 複数のコントローラモジュールを備えた記憶装置システム
JP5111204B2 (ja) * 2008-03-31 2013-01-09 株式会社日立製作所 ストレージシステム及びストレージシステムの管理方法
JP5072692B2 (ja) * 2008-04-07 2012-11-14 株式会社日立製作所 複数のストレージシステムモジュールを備えたストレージシステム
JP2009258825A (ja) * 2008-04-14 2009-11-05 Hitachi Ltd ストレージシステム、仮想化装置、及び計算機システム
JP5288875B2 (ja) * 2008-05-02 2013-09-11 株式会社日立製作所 ストレージシステム
KR101437122B1 (ko) * 2008-12-03 2014-09-02 삼성전자 주식회사 Os 가상화를 이용하여 서비스를 제공하는 장치 및 방법
EP2399190B1 (en) * 2009-02-20 2018-06-06 Hitachi, Ltd. Storage system and method for operating storage system
US8239653B2 (en) 2009-04-23 2012-08-07 Netapp, Inc. Active-active support of virtual storage management in a storage area network (“SAN”)
US8074038B2 (en) 2009-05-12 2011-12-06 Microsoft Corporation Converting luns into files or files into luns in real time
JP2012058912A (ja) * 2010-09-07 2012-03-22 Nec Corp 論理ユニット番号管理装置及び論理ユニット番号管理方法並びにそのプログラム
WO2012147133A1 (en) 2011-04-27 2012-11-01 Hitachi, Ltd. Information storage system and storage system management method
US8527716B2 (en) 2011-09-20 2013-09-03 Hitachi, Ltd. Volume sharing method and storage system using the same
WO2013157094A1 (ja) * 2012-04-18 2013-10-24 株式会社日立製作所 管理システム及び管理方法
JP2015517697A (ja) 2012-05-23 2015-06-22 株式会社日立製作所 二次記憶装置に基づく記憶領域をキャッシュ領域として用いるストレージシステム及び記憶制御方法
WO2014016872A1 (en) 2012-07-26 2014-01-30 Hitachi, Ltd. Computer system, data management apparatus, and data management method
US8935496B2 (en) 2012-08-31 2015-01-13 Hitachi, Ltd. Management method of virtual storage system and remote copy system
WO2014061054A1 (en) 2012-10-15 2014-04-24 Hitachi, Ltd. Storage system and method of controlling storage system
WO2014068607A1 (en) 2012-10-30 2014-05-08 Hitachi, Ltd. Computer system and method for updating configuration information
WO2014068623A1 (en) 2012-10-31 2014-05-08 Hitachi, Ltd. Computer system and data management method
JP6055924B2 (ja) * 2013-01-07 2016-12-27 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JP6072255B2 (ja) 2013-01-11 2017-02-01 株式会社日立製作所 ストレージシステム、ストレージシステムの制御方法及び管理システム
WO2014141466A1 (ja) 2013-03-15 2014-09-18 株式会社日立製作所 計算機システム
JP6114397B2 (ja) 2013-03-18 2017-04-12 株式会社日立製作所 複合型ストレージシステム及び記憶制御方法
US9652165B2 (en) 2013-03-21 2017-05-16 Hitachi, Ltd. Storage device and data management method
CN105074674B (zh) 2013-05-15 2018-09-28 株式会社日立制作所 计算机系统以及资源管理方法
US9477616B2 (en) * 2013-08-07 2016-10-25 Micron Technology, Inc. Devices, systems, and methods of reducing chip select
JP5973089B2 (ja) 2013-12-13 2016-08-23 株式会社日立製作所 ストレージシステムの移行方式および移行方法
WO2015097738A1 (ja) * 2013-12-24 2015-07-02 株式会社日立製作所 ストレージシステム及び管理計算機
CN105814533B (zh) * 2014-03-07 2018-11-13 株式会社日立制作所 计算机系统
WO2015162674A1 (ja) 2014-04-21 2015-10-29 株式会社日立製作所 ストレージシステム
WO2015198441A1 (ja) * 2014-06-26 2015-12-30 株式会社日立製作所 計算機システム、管理計算機、および管理方法
US10185636B2 (en) * 2014-08-15 2019-01-22 Hitachi, Ltd. Method and apparatus to virtualize remote copy pair in three data center configuration
US10187256B2 (en) * 2014-10-09 2019-01-22 Netapp Inc. Configuration replication across distributed storage systems
JP6825263B2 (ja) * 2016-08-22 2021-02-03 富士通株式会社 ストレージ制御装置、およびストレージシステム
JP7140807B2 (ja) * 2020-09-23 2022-09-21 株式会社日立製作所 仮想ストレージシステム
JP7212093B2 (ja) * 2021-03-25 2023-01-24 株式会社日立製作所 ストレージシステム、ストレージシステムの移行方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
JPH10275056A (ja) * 1997-03-31 1998-10-13 Hitachi Ltd 磁気ディスク制御装置のマイクロプログラム配送方法
JP2000010904A (ja) * 1998-06-18 2000-01-14 Nec Corp 通信装置および通信ネットワーク管理システム
US6185580B1 (en) * 1998-06-24 2001-02-06 International Business Machines Corporation Physical information and extensions file and file system translator
JP2000099278A (ja) * 1998-09-21 2000-04-07 Hitachi Ltd Scsiインタフェースを搭載するアレイディスク装置の構成定義方式
JP2000118856A (ja) * 1998-10-09 2000-04-25 Minolta Co Ltd 用紙出力装置
US6754696B1 (en) * 1999-03-25 2004-06-22 Micosoft Corporation Extended file system
US6640278B1 (en) * 1999-03-25 2003-10-28 Dell Products L.P. Method for configuration and management of storage resources in a storage network
US6393432B1 (en) * 1999-06-02 2002-05-21 Visionael Corporation Method and system for automatically updating diagrams
JP2001350707A (ja) * 2000-06-06 2001-12-21 Hitachi Ltd 情報処理システム、記憶装置の割り当て方法
US6732104B1 (en) * 2001-06-06 2004-05-04 Lsi Logic Corporatioin Uniform routing of storage access requests through redundant array controllers
US20020188592A1 (en) * 2001-06-11 2002-12-12 Storage Technology Corporation Outboard data storage management system and method
US6839706B2 (en) * 2001-08-06 2005-01-04 Lefthand Networks, Inc. Block data storage within a computer network
US7171434B2 (en) * 2001-09-07 2007-01-30 Network Appliance, Inc. Detecting unavailability of primary central processing element, each backup central processing element associated with a group of virtual logic units and quiescing I/O operations of the primary central processing element in a storage virtualization system
US7644136B2 (en) * 2001-11-28 2010-01-05 Interactive Content Engines, Llc. Virtual file system
US7433948B2 (en) * 2002-01-23 2008-10-07 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network
US7007152B2 (en) * 2001-12-28 2006-02-28 Storage Technology Corporation Volume translation apparatus and method
US7340489B2 (en) * 2002-04-10 2008-03-04 Emc Corporation Virtual storage devices
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP2004013215A (ja) 2002-06-03 2004-01-15 Hitachi Ltd ストレージシステム、ストレージサブシステム、および、それらを含む情報処理システム
US7263593B2 (en) * 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
US6883083B1 (en) * 2002-12-20 2005-04-19 Veritas Operating Corporation System and method for maintaining and accessing information regarding virtual storage devices
JP4307202B2 (ja) * 2003-09-29 2009-08-05 株式会社日立製作所 記憶システム及び記憶制御装置
JP2005222404A (ja) * 2004-02-06 2005-08-18 Hitachi Ltd 仮想記憶ユニットを備えた記憶制御サブシステム
JP2005301561A (ja) * 2004-04-09 2005-10-27 Nec Corp ディスクアレイ装置
US7360030B1 (en) * 2004-06-01 2008-04-15 Sanbolic, Inc. Methods and apparatus facilitating volume management
US7096338B2 (en) * 2004-08-30 2006-08-22 Hitachi, Ltd. Storage system and data relocation control device
JP2006134021A (ja) * 2004-11-05 2006-05-25 Hitachi Ltd ストレージシステム及びストレージシステムの構成管理方法
JP2006178720A (ja) * 2004-12-22 2006-07-06 Hitachi Ltd ストレージシステム
JP4690765B2 (ja) * 2005-04-26 2011-06-01 株式会社日立製作所 ストレージ管理システム、ストレージ管理サーバ、データ再配置制御方法およびデータ再配置制御プログラム
JP5057656B2 (ja) * 2005-05-24 2012-10-24 株式会社日立製作所 ストレージシステム及びストレージシステムの運用方法
US7620981B2 (en) * 2005-05-26 2009-11-17 Charles William Frank Virtual devices and virtual bus tunnels, modules and methods
JP4842593B2 (ja) * 2005-09-05 2011-12-21 株式会社日立製作所 ストレージ仮想化装置のデバイス制御引継ぎ方法
JP4920291B2 (ja) * 2006-04-18 2012-04-18 株式会社日立製作所 計算機システム、アクセス制御方法及び管理計算機
JP4892289B2 (ja) * 2006-07-07 2012-03-07 株式会社日立製作所 複数のストレージ装置を含むストレージシステム

Also Published As

Publication number Publication date
US9898221B2 (en) 2018-02-20
EP2854021B1 (en) 2018-12-26
JP2008040571A (ja) 2008-02-21
US20100318579A1 (en) 2010-12-16
US20080034005A1 (en) 2008-02-07
US20160054950A1 (en) 2016-02-25
US10140045B2 (en) 2018-11-27
EP1892615A2 (en) 2008-02-27
EP2854021A1 (en) 2015-04-01
EP1892615A3 (en) 2010-04-07

Similar Documents

Publication Publication Date Title
JP4963892B2 (ja) 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置
JP4800059B2 (ja) 仮想ストレージシステム及びその制御方法
US7558916B2 (en) Storage system, data processing method and storage apparatus
US7467275B2 (en) Capacity expansion volume migration method
US8301854B2 (en) Storage system and virtualization method
US6598174B1 (en) Method and apparatus for storage unit replacement in non-redundant array
US6640278B1 (en) Method for configuration and management of storage resources in a storage network
US8621603B2 (en) Methods and structure for managing visibility of devices in a clustered storage system
US7461196B2 (en) Computer system having an expansion device for virtualizing a migration source logical unit
JP5158074B2 (ja) ストレージ管理プログラム、ストレージ管理方法、ストレージ管理装置およびストレージシステム
JP4310070B2 (ja) ストレージシステムの運用管理方式
US8051262B2 (en) Storage system storing golden image of a server or a physical/virtual machine execution environment
US9619171B2 (en) Storage system and virtualization method
US8578121B2 (en) Computer system and control method of the same
JP2007328611A (ja) ストレージ仮想化システム及び方法
CN103793271A (zh) 用于在镜像卷之间进行切换的方法和系统
JP2008269469A (ja) ストレージシステム及びその管理方法
JP5288875B2 (ja) ストレージシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110808

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4963892

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3