JP2006302253A - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP2006302253A
JP2006302253A JP2006015741A JP2006015741A JP2006302253A JP 2006302253 A JP2006302253 A JP 2006302253A JP 2006015741 A JP2006015741 A JP 2006015741A JP 2006015741 A JP2006015741 A JP 2006015741A JP 2006302253 A JP2006302253 A JP 2006302253A
Authority
JP
Japan
Prior art keywords
computer
storage area
storage
target device
information
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.)
Granted
Application number
JP2006015741A
Other languages
English (en)
Other versions
JP4987307B2 (ja
Inventor
Ai Satoyama
愛 里山
Kentetsu Eguchi
賢哲 江口
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 JP2006015741A priority Critical patent/JP4987307B2/ja
Priority to EP20060251030 priority patent/EP1705575B1/en
Priority to US11/373,089 priority patent/US7469330B2/en
Priority to CN2008101099061A priority patent/CN101373418B/zh
Publication of JP2006302253A publication Critical patent/JP2006302253A/ja
Priority to US12/326,394 priority patent/US7793064B2/en
Priority to US12/851,759 priority patent/US8656132B2/en
Application granted granted Critical
Publication of JP4987307B2 publication Critical patent/JP4987307B2/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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0608Saving storage space on 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/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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • 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]

Abstract

【課題】ストレージシステムにおいて記憶装置システムにおけるターゲットデバイスリソースの有効活用を図ること。
【解決手段】計算機10はクライアントコンピュータ30からスナップショットファイルに対するアクセス要求を受け取ると、使用すべきターゲットデバイスを特定する。計算機10は、記憶装置システム20に対して、特定されたターゲットデバイスTDに対するアクセスが要求されているスナップショットファイルを格納する論理デバイスLDEVのアタッチを要求する。計算機10は、記憶装置システム20からアタッチ完了の通知を受け取ると、特定されたターゲットデバイスをスナップショットファイルが格納されているディレクトリにマウントする。
【選択図】図1

Description

本発明は、計算機および複数の論理記憶領域を備える記憶装置システムを備えるストレージシステムに関する。
一般的に、ストレージシステムにおいて、計算機(ファイルシステム)は、ターゲットデバイスを介して記憶装置システムにおける所望のファイル(記憶領域)にアクセスすることができる。ターゲットデバイスは、計算機からアクセスの対象として認識可能な記憶装置システム上の論理装置であり、ソフトウェアによって仮想的に、あるいはハードウェアによって物理的に提供される。ターゲットデバイスは、記憶領域と一意に対応付けられており、計算機は、ポートID(例えば、WWN(World Wide Name)といったポートを一意に識別するための識別子)およびLUN(Logical Unit Number)を用いてターゲットデバイスを特定することで所望の記憶領域にアクセスすることができる。
特開2003−242039号公報
しかしながら、記憶装置システムが提供可能なターゲットデバイス数が有限である場合には、記憶装置システムに格納可能なデータ容量がターゲットデバイス数によって制限されてしまう。また、記憶装置システムが提供可能なターゲットデバイス数が事実上有限でない場合であっても、ファイル数の増加と共にターゲットデバイス数が増加し、記憶装置システムにおけるターゲットデバイスリソースが消費されるという問題がある。
これらの問題は、所定の時点における記憶装置システムの記憶状態を再現可能とするポイントインタイムコピー、いわゆるスナップショットを実行する際に顕著となる。すなわち、記憶装置システムは、クライアントコンピュータから逐次、送られてくるデータを格納するためのシステムであり、スナップショットファイル数が増加することによってターゲットデバイスリソースが減少すると、クライアントコンピュータから書き込まれるデータを格納すべき新たな記憶領域に割り当てられるべきターゲットデバイス数が減少してしまう。また、ターゲットデバイス数が有限の場合には、記憶装置システムにはデータを格納するために十分な空き領域が存在する場合であっても、所定のタイミングで増加するスナップショットファイルを格納することによって、記憶装置システムが本来、記憶すべき情報を格納することができず、スナップショットファイルを格納するために、記憶装置システムが提供すべき機能が阻害されるおそれがある。
本発明は上記課題の少なくとも一部を解決するためになされたものであり、ストレージシステムにおいて記憶装置システムにおけるターゲットデバイスリソースの有効活用を図ることを目的とする。
上記課題を解決するために本発明の第1の態様は、計算機と、計算機によってアクセスされると共に複数の論理的な記憶領域を有する記憶装置システムとを備えるストレージシステムを提供する。本発明の第1の態様に係るストレージシステムにおいて、
前記計算機は、
前記複数の記憶領域に対応し、前記計算機によって認識される記憶領域である複数の計算機側記憶領域のうち、一の計算機側記憶領域に対するアクセスの要求を受信する受信部と、前記計算機から前記記憶装置システムにおけるアクセスの対象として認識される複数のターゲットデバイスの中から、アクセスが要求された前記計算機側記憶領域にマウントすべきターゲットデバイスを特定するターゲットデバイス特定手段と、前記ターゲットデバイスを前記アクセスが要求された計算機側記憶領域にマウントするマウント手段と、前記アクセスが要求された計算機側記憶領域に対応する前記記憶領域に対するアクセス要求を前記記憶装置システムに対して送信する送信部とを備え、
前記記憶装置システムは、
前記複数の論理的な記憶領域を形成する1または複数の物理記憶装置と、前記複数の記憶領域のうち一つの記憶領域が割り当てられ得る前記複数のターゲットデバイスと、前記計算機から送信された前記アクセス要求を受信する受信部と、前記アクセス要求に応じて、前記特定されたターゲットデバイスに対して前記アクセスが要求されている記憶領域を割り当てる割当切換手段とを備える。
本発明の第1の態様に係るストレージシステムによれば、計算機は、記憶装置システムにおけるアクセスの対象として認識される複数のターゲットデバイスの中から、要求された計算機側記憶領域にマウントすべきターゲットデバイスを特定し、要求された計算機側記憶領域に対応する記憶領域に対する、特定されたターゲットデバイスを介したアクセスの要求であるアクセス要求を記憶装置に対して送信し、記憶装置システムは、計算機から送信されたアクセス要求に応じて、特定されたターゲットデバイスに対してアクセスが要求されている計算機側記憶領域に対応する記憶領域を割り当てるので、ストレージシステムにおいて記憶装置システムにおけるターゲットデバイスリソースの有効活用を図ることができる。
本発明の第2の態様は、計算機と、主情報を格納する論理的な記憶領域と任意の時期における前記主情報を提供するための情報を格納する論理的な記憶領域を有する記憶装置システムとを備えるストレージシステムを提供する。本発明の第2の態様に係るストレージシステムにおいて、
前記計算機は、
前記任意の時期における主情報に対するアクセスの要求を受信する受信部と、前記計算機からアクセスの対象として認識される複数のターゲットデバイスの中から、要求された前記任意の時期における主情報を提供するための情報を格納する前記記憶領域に対応する計算機側記憶領域にマウントすべきターゲットデバイスを特定するターゲットデバイス特定手段と、前記要求された任意の時期における主情報を提供するための情報を格納する記憶領域に対するアクセス要求を前記記憶装置システムに対して送信する送信部とを備え、
前記記憶装置システムは、
前記複数の論理的な記憶領域を形成する1または複数の物理記憶装置と、前記複数の記憶領域のうち一つの記憶領域が割り当てられ得る前記複数のターゲットデバイスと、前記計算機から送信された前記アクセス要求を受信する受信部と、前記アクセス要求に応じて、前記特定されたターゲットデバイスに対して前記アクセスが要求されている任意の時期における主情報を提供するための情報を格納する記憶領域を割り当てる割当切換手段とを備える。
本発明の第2の態様に係るストレージシステムによれば、計算機は、アクセスの対象として認識する複数のターゲットデバイスの中から、要求された任意の時期における主情報を提供するための情報を格納する計算機側記憶領域にマウントすべきターゲットデバイスを特定し、特定されたターゲットデバイスを介した要求された任意の時期における主情報を提供するための情報を格納する記憶領域に対するアクセスの要求であるアクセス要求を記憶装置に対して送信し、記憶装置システムは、計算機から送信されたアクセス要求に応じて、特定されたターゲットデバイスに対してアクセスが要求されている任意の時期における主情報を提供するための情報を格納する記憶領域を割り当てるので、ストレージシステムにおいて記憶装置システムにおけるターゲットデバイスリソースの有効活用を図ることができる。
本発明の第3の態様は、複数の論理的な記憶領域を形成する1または複数の記憶装置を備える記憶装置システムに対してアクセスする計算機を提供する。本発明の第3の態様に係る計算機は、複数の論理的な記憶領域を形成する1または複数の記憶装置を備える記憶装置システムに対してアクセスする計算機であって、前記複数の記憶領域にそれぞれ対応し、前記計算機によって識別される複数の計算機側記憶領域を提供する計算機側記憶領域提供手段と、前記複数の計算機側記憶領域のうち、一の計算機側記憶領域に対するアクセスの要求を受信する受信部と、前記計算機から前記記憶装置システムにおけるアクセスの対象として認識される複数のターゲットデバイスの中から、要求された前記計算機側記憶領域にマウントすべきターゲットデバイスを特定するターゲットデバイス特定手段と、前記要求された計算機側記憶領域に対応付けるべきターゲットデバイスが他の計算機側記憶領域にマウントされているか否かを判定するマウント判定手段と、前記要求された計算機側記憶領域に対応付けるべき前記ターゲットデバイスが前記他の計算機側記憶領域にマウントされていると判定された場合には、前記ターゲットデバイスをアンマウントするアンマウント手段と、前記記憶装置システムからの割当完了通知を受けた後、前記ターゲットデバイスを前記要求された計算機側記憶領域にマウントするマウント手段と、前記要求された計算機側記憶領域に対応する前記記憶領域に対する、特定された前記ターゲットデバイスを介したアクセス要求を前記記憶装置に対して送信する送信部とを備える。
本発明の第3の態様に係る計算機によれば、複数のターゲットデバイスの中から、要求された計算機側記憶領域にマウントすべきターゲットデバイスを特定し、要求された計算機側記憶領域に対応付けるべきターゲットデバイスが他の計算機側記憶領域にマウントされているか否かを判定し、要求された計算機側記憶領域に対応付けるべきターゲットデバイスが他の計算機側記憶領域にマウントされている場合には、ターゲットデバイスをアンマウントし、記憶装置システムからの割当完了通知を受けた後、ターゲットデバイスを要求された計算機側記憶領域にマウントし、要求された計算機側記憶領域に対応する記憶装置システムの記憶領域に対する、特定されたターゲットデバイスを介したアクセス要求を記憶装置に対して送信するので、ストレージシステムにおいて記憶装置システムにおけるターゲットデバイスリソースの有効活用を図ることができる。
本発明に係るストレージシステムおよび計算機は、この他にストレージシステムの制御方法、計算機の制御方法、ストレージシステムの制御プログラム、計算機の制御プログラム、およびこれら制御プログラムを記録したコンピュータが読み取り可能な記録媒体としても実現され得る。
以下、本発明に係るストレージシステムについて図面を参照しつつ、いくつかの実施例に基づいて説明する。
第1の実施例:
・システムの構成:
図1を参照して第1の実施例に係るストレージシステムの概略構成について説明する。図1は第1の実施例に係るストレージシステムの概略構成を示す説明図である。
第1の実施例に係るストレージシステム100は、計算機10と、計算機10によってアクセスされる記憶装置システム20とを備えている。ストレージシステム100には、クライアントコンピュータ30、31、管理装置50、業務ホスト51がネットワーク40を介してあるいは直接接続されている。第1の実施例に係るストレージシステム100では、計算機10と記憶装置システム20とは同一の筐体に格納されており、外部の計算機からはファイルサーバとして識別される。また、計算機10と記憶装置システム20とが同一の筐体に格納されているので、計算機10と記憶装置システム20との間では共通の制御コマンドを用いてファイルの書き込み・読み出し、ファイルの生成が実行される。
第1の実施例における計算機10は、ネットワーク40を介してクライアントコンピュータ30、31と接続されている。ネットワーク40は、イーサネット(登録商標)によって構築されているローカルエリアネットワーク(LAN)であり、通信プロトコルとしてTCP/IPプロトコルを用いてデータの伝送が実行される。クライアントコンピュータ30、31は、ストレージシステム100を利用する外部計算機であり、ストレージシステム100内の計算機10を介して、記憶装置システム20に対するファイル書き込み・読み出し、生成を要求する。
計算機10は、内部に、中央処理装置(CPU)11、メモリ12、LANインターフェース13を備えている。CPU11、メモリ12、LANインターフェース13は相互にバスを介して接続されている。CPU11は、メモリ12に格納されている各種プログラム、モジュールを実行する演算処理装置である。メモリ12は、いわゆる内部記憶装置であり、各種モジュール等を記憶する不揮発性メモリおよび演算処理結果を一時的に格納する揮発性メモリの双方を含む。LANインターフェース13は、ネットワーク40に接続されており、TCP/IPプロトコルによってクライアントコンピュータ30、31との間でコマンド、データの授受を実行する。
記憶装置システム20は、中央処理装置(CPU)21、メモリ22、FCインターフェース23、26、複数のディスク装置24、ディスクインターフェース25、LANインターフェース27を備えている。CPU21は、メモリ22に格納されている各種プログラム、モジュールを実行することによって、記憶装置システム20における各種制御処理を実行する。メモリ22は、いわゆる内部記憶装置であり、各種モジュール等を記憶する不揮発性メモリおよび演算処理結果を一時的に格納する揮発性メモリの双方を含む。
FCインターフェース23は、例えば、光ファイバケーブル、銅線に接続されており、計算機10と記憶装置システム20との間ではファイバチャネルプロトコルを通じてコマンド、データの授受が実行されている。
ディスク装置24は、複数の磁気ハードディスクドライブによってRAID構成されるディスクアレイ装置であり、複数のハードディスクドライブによって1または複数の記憶領域、すなわち、論理デバイス(LDEV)を提供し、あるいは、1つのハードディスクドライブによって1または複数の論理デバイスを提供する。各論理デバイス(論理ユニットとも呼ぶ)に対するアクセスは、論理ユニット番号(LUN)と論理ブロックアドレス(LBA)を用いて実行される。
CPU21は、ディスクインターフェース25を介してディスク装置24に接続されている。ディスクインターフェース25は、CPU21から送信された論理アドレスを論理ブロックアドレスへと変換して、CPU21による各論理デバイスへのアクセスを実現する。
FCインターフェース26には、光ファイバケーブルを介して、業務ホストコンピュータ51が接続されており、あるいは、SAN(Storage Area Network)41を介して業務ホストコンピュータ51が接続されている。業務ホストコンピュータ51は、データベース管理システム(DBMS)などの業務プログラムを実行し、処理結果を記憶装置システム20に対して書き込み、あるいは、記憶装置システム20に格納されている情報資源を活用する。SANではファイバチャネル、iSCSIといった通信プロトコルが用いられる。
クライアントコンピュータ30、31は、例えば、記憶装置システム20に対して各種データを入力または出力するための端末装置であり、1台、あるいは、3台以上備えられてもよい。なお、クライアントコンピュータ30、31は、ネットワーク40を介して業務ホスト51と接続し、業務ホスト51が備えるアプリケーションプログラムを介して記憶装置システム20に接続しても良い。
管理装置50は、ストレージシステム100に対する管理、例えば、記憶装置システム20におけるボリュームの作成、ホストへの割り当て、ゾーニング、LUNマスキングの設定を実行する管理計算機である。管理装置50は、ストレージシステム100のLANインターフェース28を介して記憶装置システム20のLANインターフェース27に接続されており、TCP/IPプロトコルによって記憶装置システム20との間でコマンド、データの授受を実行する。
図2〜図6を参照して計算機10のメモリ12に格納されている各種プログラム、モジュールについて説明する。図2は第1の実施例に係るストレージシステムに含まれる計算機10のメモリ12に格納されている各種プログラム、モジュールを概念的に示す説明図である。図3はスナップショット管理情報を格納するテーブルの一例を示す説明図である。図4はディレクトリデバイス情報を格納するテーブルの一例を示す説明図である。図5はデバイスマウント情報を格納するテーブルの一例を示す説明図である。図6はデバイスマウント情報を格納するテーブルの一例を示す説明図である。
本実施例では、以下、ストレージシステム10においてスナップショットファイルが論理デバイスに格納される例を用いて説明する。メモリ12には、計算機10の基幹処理を実現するオペレーティングシステムOS、オペレーティングシステムOS上で稼働する記憶装置システム管理プログラムFP、スナップショット管理情報テーブルCT1、デバイスマウント情報テーブルCT2、ディレクトリデバイス情報テーブルCT3、使用可能デバイス情報テーブルCT4が格納されている。
記憶装置システム管理プログラムFPは、記憶装置システム20に対するアクセスを管理するためのプログラムであり、いくつかの実行モジュールを含んでいる。要求受信モジュールMc1は、クライアントコンピュータ30、31からの計算機10によって識別される計算機側論理デバイス(ディレクトリ)に対するアクセスの要求を受信する。要求受信モジュールMc1が、所定の計算機側論理デバイスに対するアクセスの要求を受信すると、ターゲットデバイス特定モジュールMc2は、アクセスが要求されている計算機側論理デバイスにマウントすべきターゲットデバイスを特定する。ここで、ターゲットデバイスとは、計算機10が記憶装置システム20にアクセスする際に、アクセス対象のデバイスとして認識可能な論理的なデバイスであり、ポートIDおよびLUNによって定義される。すなわち、計算機10は、記憶装置システム20におけるポート的な役割を果たすターゲットデバイスを介して、計算機側論理デバイスに対応する所望の論理デバイスにアクセスすることができる。一般的に、ターゲットデバイスと計算機側論理デバイスとは一意の関係にありパスが固定されているが、本実施例では、1つのターゲットデバイスに対して1または複数の計算機側論理デバイスが動的に割当てられるので論理デバイスに対するパスが変動する。なお、ターゲットデバイスは、記憶装置システム20に備えられている複数の物理的なポートであっても良く、あるいは、記憶装置システム20が備えるポート提供モジュールによって論理的に提供される仮想的なポートであっても良い。
マウント判定モジュールMc3は、ターゲットデバイス特定モジュールMc2によって特定されたターゲットデバイスが、既に他の計算機論理デバイスにマウントされているか否かを判定する。すなわち、上述のように、本実施例では、ターゲットデバイスに対して複数の計算機側論理デバイスが割り当てられ得るので、かかる判定が必要となる。マウントモジュールMc4は、アクセスの要求がなされている計算機側要求論理デバイスに対して特定されたターゲットデバイスをマウントする。この結果、計算機10はターゲットデバイスを介して計算機側要求論理デバイスに対応する記憶装置システム20の論理デバイスにアクセス可能となる。なお、本実施例では、他の論理デバイスへの誤ったアクセスを防止するために、記憶装置システム20側から特定されたターゲットデバイスに対する要求論理デバイスのアタッチが完了した旨の通知を受けた後に、マウントモジュールMc4が計算機側要求論理デバイスに対して特定されたターゲットデバイスをマウントする。
アンマウントモジュールMc5は、計算機側論理デバイスに対するターゲットデバイスのマウントを解除する。この結果、計算機10はターゲットデバイスを介した計算機側要求論理デバイスに対応する記憶装置システム20の論理デバイスに対するアクセスが不可能となる。なお、実体としてのターゲットデバイスおよび論理デバイスを備えるのは記憶装置システム20であり、計算機10においては、オペレーティングシステム(ファイルシステム)上においてソフトウェア的に実現される計算機側論理デバイス(ディレクトリ)に対する計算機側のターゲットデバイスのマウント、アンマウント処理が実行される。記憶装置システム20側では、後述するように、計算機10における計算機側要求論理デバイスに対する特定されたターゲットデバイスのマウント・アンマウントに対応する、ターゲットデバイスと論理デバイスとのアタッチ(割当て)またはデタッチ(割当て解除)が実行される。以下の説明では、計算機10のオペレーティングシステム上にて認識されるターゲットデバイス(ターゲットデバイスの情報)をターゲットデバイスDevとし、記憶装置システム20における実際のターゲットデバイスをターゲットデバイスTDとする。また、計算側記憶領域をディレクトリと呼び、記憶装置システム20の記憶領域を論理デバイスLDEVと呼ぶ。さらに、論理デバイスLDEVは論理ユニットLUとも呼ばれる。
アクセス要求送信モジュールMc6は、計算機側要求論理デバイスに対応する記憶装置システム20の論理デバイスに対するアクセスを要求するコマンドを記憶装置システム20に送信する。コマンドには、ターゲットデバイスにアタッチすべき論理デバイスを識別するための情報が含まれる。
ポイントインタイムコピー要求モジュールMc7は、記憶装置システム20に対して、ポイントインタイムコピー、いわゆるスナップショットファイルの取得を要求するモジュールである。スナップショットは、所定の時点における所定のボリューム(ディレクトリ)のコピー、あるいは、元ボリュームに対する差分データを取得して、所定の時点におけるボリュームを再現するための技術である。一般的に、前者は所定の時点における所定のボリュームを他のボリュームにコピーすることによって実行されるミラーリングタイプのスナップショットであり、後者はオリジナルのボリュームに対する変更部分について変更前の情報を別のボリュームに待避させることによって実行されるコピーオンライトタイプのスナップショットである。いずれの場合にも、クライアントコンピュータ30、31からは、所定の時点(世代)における所定のボリュームを呼び出すことができる。
ディレクトリ提供モジュールMc8は、記憶装置システム20が備える記憶領域(論理デバイス)に対応する計算機側記憶領域(ディレクトリ)を提供する。すなわち、記憶装置システム20側に存在する論理デバイスを、ディレクトリを介して計算機10側において識別、操作可能にする。このモジュール機能は、例えば、ファイルシステムによって提供される。
図3を参照してスナップショット管理情報テーブルCT1について説明する。スナップショットシステムは、スナップショットされる主ボリューム(正ボリューム)とスナップショットを格納するボリューム(副ボリューム)とのペアによって構成されている。したがって、スナップショット管理情報テーブルCT1には、スナップショットの正側の情報、副側の情報が含まれている。正側の情報には正側のディレクトリ情報が格納され、副側の情報には、スナップショットの世代を示すID、格納されているディレクトリの情報、スナップショットが取得されたか否か、すなわちスナップショットファイルが格納されているか否かを示す情報が含まれている。図3の例では、正側ディレクトリ(/mnt/home)と各副側ディレクトリ(/mnt/ss/home_sN)とがペアを構成しており、ID=1〜3の副ディレクトリにはスナップショットファイルが格納されている。
図4を参照してディレクトリデバイス情報テーブルCT2について説明する。ディレクトリデバイス情報テーブルCT2には、ターゲットデバイスDevをマウントすべきディレクトリの情報、ディレクトリがマウントされているターゲットデバイスDevの情報、ディレクトリに対応する論理デバイスLDEVの情報が含まれている。なお、後述するように、仮想ボリュームが用いられるコピーオンライトタイプのスナップショットが適用される場合には、複数の副ディレクトリに対して同一の論理デバイスLDEVが割り当てられる。この場合、論理デバイスLDEVがマウントされているか否かはマウントデバイス情報がNULL(アンマウントまたは未マウント)であるか否かによって判断することができる。図4の例では、ターゲットデバイスDev1が副側ディレクトリ(/mnt/ss/home_s1)にマウントされており、副側ディレクトリ(/mnt/ss/home_s1)に対応する論理デバイスLDEVはLDEV1である。また、副側ディレクトリ(/mnt/ss/home_s2)にはターゲットデバイスDevがマウントされておらず、副側ディレクトリ(/mnt/ss/home_s2)に対応する論理デバイスはLDEV2である。
図5を参照してデバイスマウント情報テーブルCT3について説明する。デバイスマウント情報テーブルCT3は、ターゲットデバイスDevに現在、マウントされているディレクトリを示す。図5の例では、ターゲットデバイスDev1に対して副ディレクトリ(/mnt/ss/home_s1)がマウントされている。
図6を参照して使用可能デバイス情報テーブルCT4について説明する。使用可能デバイス情報テーブルCT4は、使用可能なターゲットデバイスDevを示すテーブルである。図6の例では、ターゲットデバイスDev0には正ディレクトリ(/mnt/home)がマウントされており、ターゲットデバイスDev1には副ディレクトリ(/mnt/ss/home_s1)がマウントされている。
図7〜図12を参照して記憶装置システム20のメモリ22に格納されている各種プログラム、モジュールについて説明する。図7は第1の実施例に係るストレージシステムに含まれる記憶装置システム20のメモリ22に格納されている各種プログラム、モジュールを概念的に示す説明図である。図8はデバイスアタッチ情報を格納するテーブルの一例を示す説明図である。図9は仮想ボリューム使用時におけるデバイスアタッチ情報を格納するテーブルの一例を示す説明図である。図10はスナップショット管理情報を格納するテーブルの一例を示す説明図である。図11はスナップショット詳細管理情報を格納するテーブルの一例を示す説明図である。図12はスナップショット詳細管理情報を格納するテーブルの一例を示す説明図である。
メモリ22には、計算機10から受信したコマンドを解釈して要求されている処理を実行するためのコマンド処理プログラムCP、デバイスアタッチ情報テーブルST1、仮想ボリューム使用時デバイスアタッチ情報テーブルST2、スナップショット管理情報ST3、スナップショット詳細管理情報ST31、ST32、アドレスマッピング情報テーブルST4、ファイル管理情報テーブルST5が格納されている。
コマンド処理プログラムCPは、記憶装置システム20におけるスナップショットの取得、要求された論理デバイス(スナップショットファイル)へのアクセス(リード/ライト)の実行を実現するためのプログラムであり、いくつかの実行モジュールを含んでいる。アクセス要求受信モジュールMs1は、計算機10からのアクセス要求を受信する。アクセス要求受信モジュールMs1が、アクセス要求を受信すると、割当切換モジュールMs3は、アクセスが要求されている論理デバイスLDEVを特定されたターゲットデバイスTDに割当てる。割当切換モジュールMs3は、論理デバイスLDEVを特定されたターゲットデバイスTDに適切に割当てるためにさらに3つのサブモジュール、割当判定モジュールMs4、割当解除モジュールMs5および割当モジュールMs6を有している。
割当判定モジュールMs4は、論理デバイスLDEVの割当てが要求されている、特定されたターゲットデバイスTDに対して、既に他の論理デバイスLDEVが割当て(アタッチ)されているか否かを判定する。すなわち、上述のように、本実施例では、ターゲットデバイスTDに対して複数の論理デバイスLDEVが割り当てられ得るので、かかる判定が必要となる。
割当解除モジュールMs5は、特定されたターゲットデバイスTDに対する論理デバイスLDEVの割当てを解除する。この結果、特定されたターゲットデバイスTDに対してアクセスが要求されている論理デバイスLDEVを割り当てることができる。割当モジュールMs6は、特定されたターゲットデバイスTDに対してスアクセスの要求がなされている要求論理デバイスLDEVを割り当てる。ターゲットデバイスTDに対する論理デバイスLDEVの割当て、割当解除は、論理デバイスLDEVに対するパスを切り換えることによって実現される。
ポイントインタイムコピーモジュールMs37は、記憶装置システム20において、いわゆるスナップショットファイルの取得を実行するモジュールである。スナップショットの取得に当たっては、正ボリュームに対する副ボリュームの作成、正ボリュームデータの副ボリュームへのコピーあるいは正ボリュームにおける更新対象データの副ボリュームへの待避、スナップショット管理情報の更新が実行される。
図8を参照してデバイスアタッチ情報テーブルST1について説明する。デバイスアタッチ情報テーブルST1には、ターゲットデバイスTDに割当て(アタッチ)されている論理デバイスLDEVが記述されている。図8の例では、ターゲットデバイスTD0には論理デバイスLDEV0が、ターゲットデバイスTD1には論理デバイスLDEV1がアタッチされており、ターゲットデバイスTD2には論理デバイスLDEVはアタッチされていない。
図9を参照して仮想ボリューム使用時におけるデバイスアタッチ情報テーブルST2について説明する。仮想ボリュームは、コピーオンライトタイプのスナップショットが適用される際に用いられる。すなわち、コピーオンライトタイプのスナップショットでは、正ボリュームにおいて更新(修正)の対象となるデータの更新前のデータ(差分データ)が更新時期の情報と共に複数の論理デバイスによって形成されているストレージプールに格納される。所定の時点のスナップショットファイルに対するアクセスが要求されると、計算機10は、所定の時点以降の差分データ群を用いて仮想ボリュームを形成し、対応する論理デバイスLDEVへアタッチする。計算機10は、現在の正ボリュームに格納されているデータと差分データ群とを用いて、所定の時点のスナップショットファイルを作成する。
仮想ボリューム使用時におけるデバイスアタッチ情報テーブルST2は、仮想ボリューム(スナップショットファイル)をアタッチするための論理デバイス、スナップショットファイルの正ボリュームがアタッチされている論理デバイスLDEVの情報、スナップショットIDを格納している。図9の例では、スナップショットは取得されておらず、後にスナップショットが取得され、論理デバイスLDEV1をスナップショットID1〜3で共有する場合には、LDEV1のスナップショットIDの欄には1〜3のいずれかの値が格納される。
図10を参照してスナップショット管理情報テーブルST3について説明する。記憶装置システム20が備えるスナップショット管理情報テーブルST3には、各論理デバイスLDEVがいずれかの他の論理デバイスLDEVとペア状態にあるか否かを示す状態、ペア状態にある論理デバイスLDEVが正、副論理デバイスのいずれであるかを示すペア属性、対象となるペアの論理デバイスLDEVの情報を差し示すポインタを格納する対象ペア情報が含まれている。図10の例では、論理デバイスLDEV0とLDEV1とがペア状態にあり、論理デバイスLDEV0はコピー元の正論理デバイスであり、論理デバイスLDEV1はコピー先(スナップショットファイル格納先)の副論理デバイスである。論理デバイスLDEV2にはスナップショットファイルは格納されておらず、状態はsimplex(ペアを作っていない状態)、ペア属性はNULLとされている。
図11および図12を参照してスナップショット管理情報テーブルST3の対象ペア情報に含まれるポインタによって指し示される正側のスナップショット詳細管理情報テーブルST31および副側のスナップショット詳細管理情報テーブルST32について説明する。正側のスナップショット詳細管理情報テーブルST31には、正側論理デバイスとペアの関係にある副側論理デバイスのスナップショットID、論理デバイス番号、スナップショットを取得済みであるか否かを示す取得状況が含まれる。図11の例では、スナップショットID=0の論理デバイスLDEV1がペアの論理デバイスLDEVとして登録されている。副側のスナップショット詳細管理情報テーブルST32には、副側論理デバイスとペアの関係にある正側論理デバイスの情報が含まれる。図12の例では、副側論理デバイスLDEV1には正側論理デバイスLDEV0がペアの論理デバイスLDEVとして登録されている。
なお、仮想ボリューム使用時には、スナップショット管理情報テーブルST3の論理デバイス番号、正側のスナップショット管理情報テーブルST31の正側論理デバイス番号および副側論理デバイス番号、並びに副側のスナップショット管理情報テーブルST32の正側論理デバイス番号および副側論理デバイス番号はそれぞれ仮想ボリューム番号を示す。
アドレスマッピング情報テーブルST4は、アクセスの対象となるボリュームが仮想ボリュームである場合に、仮想ボリュームのアドレスと仮想ボリュームを構成するプール領域の実アドレスとをリンクするための情報であるアドレスマッピング情報を格納する。すなわち、アドレスマッピング情報は、ボリューム番号によって特定することができないプール領域における各データの実格納位置を仮想ボリュームにおける各データのアドレスによって管理するために用いられる情報である。なお、アクセス対象となるボリュームが実ボリュームである場合には、ボリューム番号とによってデータの格納位置を特定することができる。
ファイル管理情報テーブルST5は、ファイルが格納されているディレクトリを管理するためのファイル管理情報を格納している。なお、詳細については、後述する。
図13および図14を参照してミラーリングタイプのスナップショットファイルに対するアクセス時に実行されるアクセス処理について説明する。図13は計算機10のファイルシステムによって認識されるスナップショットファイル情報SSおよびターゲットデバイス情報Dev、記憶装置システム20におけるターゲットデバイスTDと論理デバイスLDEV(スナップショットファイルの実情報)との対応関係を模式的に示す説明図である。図14はミラーリングタイプのスナップショットファイルに対するアクセス処理において実行される処理ルーチンを示すフローチャートである。
図13では、クライアントコンピュータ30(31)によって認識される正ボリュームファイルはファイルP、スナップショットファイルはスナップショットファイルS〜Snで表され、実際の正ボリュームファイルはファイルPr、実際のスナップショットファイルはスナップショットファイルSr1〜Srnで表されている。正ボリュームファイルPおよびスナップショットファイルS1〜Snは、ディレクトリSSによって特定され、実スナップショットファイルSr1〜Srnは、論理デバイスLDEVによって特定される。図13の例では、正ボリュームファイルPにはターゲットデバイスDev0がマウントされている。ターゲットデバイスDev1には、正ボリュームファイルの副ボリュームファイルであるスナップショットファイルS1〜S3がそれぞれ排他的にマウントされ得る。図13ではスナップショットファイルS1に対してアクセス要求がなされているので、ターゲットデバイスDev1にはスナップショットファイルS1のディレクトリがマウントされる。計算機10が認識する各ターゲットデバイスDevは、それぞれ記憶装置システム20におけるターゲットデバイスTDと一意に対応付けられている。記憶装置システム20には複数のターゲットデバイスTDが備えられており、1つのターゲットデバイスTDに対して複数の論理デバイスLDEV(実スナップショットファイル)がアタッチされる。例えば、ターゲットデバイスTD0には、正ボリュームファイルPrがアタッチされ、ターゲットデバイスTD1には、複数の実スナップショットファイルSr1〜Sr3が排他的にアタッチされる。図13の例では、ターゲットデバイスTD1は実スナップショットファイルSr1を格納する論理デバイスLDEV1にアタッチされている。すなわち、計算機10におけるディレクトリSSに対するターゲットデバイスDevのマウントに対応するように、記憶装置システム20においてターゲットデバイスTDに対して論理デバイスLDEVがアタッチされる。
クライアントコンピュータ30、31から正ボリュームファイルPに対する所定の世代のスナップショットファイルSnに対するアクセスが要求されると、図14に示すフローチャートが実行される。CPU11は、メモリ12に格納されているスナップショット管理情報テーブルCT1を用いて、要求されたスナップショットファイルSnが格納されているディレクトリSSを検索する(ステップSC100)。具体的には、クライアントコンピュータ30、31から送信されてきたスナップショットファイルのID(識別子)を用いてアクセスが要求されているディレクトリSSが検索される。例えば、クライアントコンピュータ30から/mnt/homeについてのID=1のスナップショットへのアクセス要求を受信した場合には、ディレクトリ(/mnt/ss/home_s1)に対するアクセスが要求されていることとなる。
CPU11は検索されたディレクトリにアクセスするために用いるターゲットデバイスDevを使用可能デバイス情報テーブルCT4を用いて検索する(ステップSC110)。すなわち、使用可能なターゲットデバイスDevを検索(特定)する。図6に示す使用可能デバイス情報テーブルCT4の例では、ディレクトリ(/mnt/ss/home_s1)に対して、ターゲットデバイスDev1が使用可能である。以下、具体例においては、要求ディレクトリを(/mnt/ss/home_s1)、検索されたターゲットデバイスDevをDev1とする。
CPU11はディレクトリデバイス情報テーブルCT2を用いて検索されたターゲットデバイスDevが要求されたディレクトリにマウントされているか否かを判定する(ステップSC120)。具体的には、図4に示す例の場合、ディレクトリデバイス情報テーブルCT2において、要求ディレクトリ(/mnt/ss/home_s1)に対するマウントデバイス情報がDev1であるか否かを判定する。CPU11は、検索されたターゲットデバイスDevが要求ディレクトリにマウントされていると判定した場合には(ステップSC120:Yes)、既に、ターゲットデバイスDevが要求ディレクトリにマウントされており、記憶装置システム20においても対応するターゲットデバイスTDに対して要求されたスナップショットファイルSrがアタッチ済みであるから本処理ルーチンを終了する。すなわち、クライアントコンピュータ30、31は、スナップショットファイルS1にアクセス可能な状態にある。
CPU11は、検索されたターゲットデバイスDevが要求ディレクトリにマウントされていないと判定した場合には(ステップSC120:No)、検索されたターゲットデバイスDevが他のディレクトリにマウントされているか否かを判定する(ステップSC130)。具体的には、CPU11は、ディレクトリデバイス情報テーブルCT2において、要求ディレクトリに対するマウントデバイス情報がNULLであると共に、他のディレクトリに対するマウントデバイス情報に検索されたターゲットデバイスDevが登録されているか否かを判定する。例えば、要求ディレクトリが(/mnt/ss/home_s2)であり、特定されたターゲットデバイスがDev1の場合、図4の例では、ターゲットデバイスDev1はディレクトリ(/mnt/ss/home_s1)にマウントされており、要求ディレクトリ(/mnt/ss/home_s2)のマウントデバイス情報はNULLであるから、検索されたターゲットデバイスDevが他のディレクトリにマウントされている。
CPU11は、検索されたターゲットデバイスDevが他のディレクトリにマウントされていると判定した場合には(ステップSC130:Yes)、検索されたターゲットデバイス情報Devを他のディレクトリからアンマウントする(ステップSC140)。具体的には、CPU11は、ディレクトリデバイス情報CT2に記憶されている検索されたターゲットデバイスDev1がマウントされている他のディレクトリ(/mnt/ss/home_s1)のマウントデバイス情報、およびデバイスマウント情報テーブルCT3におけるターゲットデバイスDev1のディレクトリ情報を無効化、すなわち、NULL化する。
CPU11は、検索されたターゲットデバイスDevが他のディレクトリにマウントされていないと判定した場合には(ステップSC130:No)、ステップSC140をスキップして、ステップSC150に移行する。
ステップSC150において、CPU11は、検索されたターゲットデバイスDevにアタッチすべき論理デバイスLDEVを特定するための特定情報を含むアクセス要求を記憶装置システム20に対して送信する。特定情報には、ディレクトリデバイス情報テーブルCT2において検索された、検索されたターゲットデバイスDevに対応する論理デバイスの情報が用いられる。具体例では、論理デバイスLDEV1を特定する情報が送られる。
記憶装置システム20のCPU21は、計算機10からアクセス要求を受け取ると、検索されたターゲットデバイスDevに一意に対応するターゲットデバイスTDにアタッチされている他の論理デバイスLDEVをデタッチする(SS100)。具体的には、CPU21は、デバイスアタッチ情報テーブルST1における、検索されたターゲットデバイスTDのアタッチ中LDEVをNULL化する。
CPU21は、論理デバイスLDEVがデタッチされたターゲットデバイスTDに対して、計算機10から受信した特定情報によって特定される論理デバイスをアタッチする(ステップSS110)。具体的には、CPU21は、デバイスアタッチ情報テーブルST1における、対象となるターゲットデバイスTDのアタッチ中LDEVにLDEV1を登録する。
CPU21は、計算機10に対してデタッチ/アタッチ完了報告を送信して(SS120)本処理ルーチンを終了する。
計算機10のCPU11は、記憶装置システム20からデタッチ/アタッチ完了報告を受信すると、検索されたターゲットデバイス情報Devに要求されたディレクトリをマウントして(ステップSC160)、本処理ルーチンを終了する。具体的には、CPU11は、ディレクトリデバイス情報テーブルCT2におけるディレクトリ情報のマウントデバイス情報に検索されたターゲットデバイス情報Devを登録し、デバイスマウント情報テーブルCT3における検索されたターゲットデバイス情報Devのディレクトリ情報に要求ディレクトリを登録する。例えば、要求ディレクトリが(/mnt/ss/home_s2)の場合には、ディレクトリデバイス情報テーブルCT2における要求ディレクトリ(/mnt/ss/home_s2)のマウントデバイス情報に検索されたターゲットデバイス情報Dev1を登録し、デバイスディレクトリ情報テーブルCT3における検索されたターゲットデバイス情報Devのディレクトリ情報に要求ディレクトリ(/mnt/ss/home_s2)を登録する。
次に図15を参照してミラーリングタイプのスナップショットファイルを取得するための処理について説明する。図15はミラーリングタイプのスナップショットファイルを取得する際に実行される処理ルーチンを示すフローチャートである。なお、図14を用いて説明した、スナップショットファイルに対するアクセス処理におけるステップと同様の処理については簡単な説明にとどめる。
クライアントコンピュータ30、31からスナップショットファイルの取得が要求される、計算機10のCPU11は要求されたスナップショットを格納すべき要求ディレクトリを検索して(ステップSC200)、要求ディレクトリに対応付けられているターゲットデバイス情報Devを検索する(ステップSC210)。具体的には、CPU11はスナップショット管理情報テーブルCT1を用いて、取得状況が未取得を示すディレクトリを検索し、例えば、スナップショットIDの若い順に要求ディレクトリを特定する。CPU11は、要求ディレクトリに対応するターゲットデバイスDevを使用可能デバイス情報テーブルCT4から検索し、ディレクトリデバイス情報テーブルCT2を用いて対応する論理デバイスLDEVを特定する。
CPU11は、特定した論理デバイスの情報と共にスナップショットファイルの取得要求を記憶装置システム20に対して送信する(ステップSC220)。
記憶装置システム20のCPU21は、検索されたターゲットデバイスDevに一意に対応するターゲットデバイスTDを他の論理デバイスLDEVからデタッチし(ステップSS200)、他の論理デバイスLDEVがデタッチされたターゲットデバイスTDに対して特定された論理デバイスLDEVをアタッチする(ステップSS210)。具体的な手順は、図14のSS100およびSS110の説明において説明済みである。
CPU21は、特定された論理デバイスLDEVに正ボリュームの副ボリュームを作成し、スナップショットファイルを取得する(ステップSS220)。具体的には、特定された論理デバイスLDEVに対して正ボリュームのコピーが生成される。
CPU21は、スナップショット管理情報テーブルST3を更新して(ステップSS230)、計算機10に対して正常完了報告を送って(ステップSS240)、本処理ルーチンを終了する。スナップショット管理情報テーブルST3の更新手順について具体的に説明する。CPU21は、スナップショット管理情報テーブルST3において、新たにスナップショットファイルが格納された論理デバイスLDEVの状態を「Pair」に、ペア属性を「副」に更新する。CPU21は正側スナップショット管理情報テーブルST31において、新たなスナップショットIDの論理デバイス番号に新たにスナップショットファイルが格納された論理デバイスLDEVの番号を登録し、新たなスナップショットIDの取得状況を取得済みに更新する。CPU21は副側スナップショット管理情報テーブルST32において、新たにスナップショットファイルが格納された論理デバイスLDEVの正側論理デバイスに論理デバイスLDEV0を登録する。
計算機10は、記憶装置システム20から正常完了報告を受け取ると、本処理ルーチンを終了する。
以上説明した第1の実施例に係るストレージシステム100によれば、計算機10において、クライアントコンピュータ30、31からアクセス要求が入力された場合に、要求されたスナップショットファイルが格納されているディレクトリSSに対してターゲットデバイスDev(TD)をマウントするので、ターゲットデバイスDevのリソースを有効に活用することができる。すなわち、第1の実施例に係るストレージシステム100によれば、1つのターゲットデバイスDevに対して複数のディレクトリSSをマウントすることができるので、従来と異なり各ディレクトリ毎にターゲットデバイスのリソースを維持する必要がない。この結果、ストレージシステム100全体においてスナップショットファイルに対して割り当てるべきターゲットデバイスDevのリソース量を低減することが可能となる。したがって、所定のタイミングで数多くのスナップショットファイルが生成されるスナップショットシステムにおいて顕著なターゲットデバイスDev(TD)のリソース不足を低減または解消することができる。
さらに、クライアントコンピュータ30、31に対しては、計算機10によってスナップショット処理が実行されているように見せかけることが可能であると共に、実際のスナップショット処理の実行は、記憶装置システム20側において実行されるため、計算機10によって提供される他のファイル処理機能を有効に活用することができる。
なお、計算機10は、新たなスナップショットファイルを格納すべきディレクトリを予め特定することなく、記憶装置システム20に対してスナップショットファイルの取得を要求しても良い。かかる場合には、スナップショットファイルの取得後に、記憶装置システム20からスナップショットファイルが作成された論理デバイスLDEVの情報を受け取り、各種テーブルを更新すれば良い。あるいは、計算機10および記憶装置システム20において、新たなスナップショットファイルを作成する場合には、空いている若い論理デバイスLDEVおよびディレクトリに順次、スナップショットファイルを格納する規則を定めておけば、計算機10が実行するステップSC200およびステップSC210は実行されなくても良い。
第2の実施例:
図16〜図18を参照してコピーオンライトタイプタイプのスナップショットファイル処理について説明する。図16は計算機10のファイルシステムによって認識されるスナップショットファイル情報SSおよびターゲットデバイス情報Dev、記憶装置システム20におけるターゲットデバイスTDと論理デバイスLDEV、論理デバイスLDEVとストレージプールに格納されているスナップショットデータ群との対応関係を模式的に示す説明図である。図17はコピーオンライトタイプのスナップショットファイルに対するアクセス処理において実行される処理ルーチンを示すフローチャートである。図18はコピーオンライトタイプのスナップショットファイルを取得する際に実行される処理ルーチンを示すフローチャートである。なお、スナップショットタイプがコピーオンライトタイプである点を除いて、図13〜図15を用いて説明したミラーリングタイプのスナップショット処理と同様であるから、同様の点については詳細な説明を省略し、相違点を中心に説明する。
図16では、クライアントコンピュータ30(31)によって認識される、計算機10における正ボリュームファイルはファイルP、スナップショットファイルはスナップショットファイルS〜Snで表される。記憶装置システム20における、実際の正ボリュームファイルはファイルPr、所定の時点における更新データ(差分データ)はSd1〜Sd3、スナップショットファイルに対するアクセス時に論理デバイスLDEV上に形成される仮想ボリュームはVS1〜VSnで表されている。正ボリュームファイルPおよびスナップショットファイルS1〜Snは、ディレクトリSSによって特定され、実スナップショットファイルSd1〜Sdnは、論理デバイスLDEVによって特定される。図16の例では、正ボリュームファイルPにはターゲットデバイスDev0がマウントされている。ターゲットデバイスDev1には、正ボリュームファイルの副ボリュームファイルであるスナップショットファイルS1〜S3がそれぞれ排他的にマウントされ得る。図16の例では、スナップショットファイルS1に対してアクセス要求がなされているので、ターゲットデバイスDev1にはスナップショットファイルS1のディレクトリのみがマウントされる。計算機10が認識する各ターゲットデバイスDevは、それぞれ記憶装置システム20におけるターゲットデバイスTDと一意に対応付けられている。計算機10は、正ボリュームのファイルPと差分データとを用いて、所定の時点におけるスナップショットファイルを生成し、クライアントコンピュータ30、31に対して提供する。
記憶装置システム20には複数のターゲットデバイスTDが備えられており、1つのターゲットデバイスTDに対して一意の論理デバイスLDEV(仮想ボリュームVS)がアタッチされている。所定の時点における更新データ(差分データ)Sd1〜Sd3は、論理デバイスLDEVによって形成されているストレージプールSpに格納されている。所定の世代のスナップショットファイルに対するアクセス要求を受信すると、記憶装置システム20は、例えば、図16の例では、差分データSr1を論理デバイスLDEV1にアタッチして、論理デバイスLDEV1上に仮想ボリュームVS1を形成する。論理デバイスLDEVには、複数の差分データSr1〜Sr3が排他的にアタッチされる。すなわち、計算機10におけるディレクトリSSに対するターゲットデバイスDevのマウントに対応するように、記憶装置システム20において論理デバイスLDEVに対して差分データSrがアタッチされる。
クライアントコンピュータ30、31から正ボリュームファイルPに対する所定の世代のスナップショットファイルSnに対するアクセスが要求されると、図17に示すフローチャートが実行される。CPU11は、メモリ12に格納されているスナップショット管理情報テーブルCT1を用いて、要求されたスナップショットファイルSnが格納されているディレクトリSSを検索する(ステップSC300)。
CPU11は検索されたディレクトリにアクセスするために用いるターゲットデバイスDevを使用可能デバイス情報テーブルCT4を用いて検索する(ステップSC310)。CPU11はディレクトリデバイス情報テーブルCT2を用いて検索されたターゲットデバイスDevが要求されたディレクトリにマウントされているか否かを判定する(ステップSC320)。なお、仮想ボリュームが用いられる場合、図4に示すディレクトリデバイス情報テーブルCT2において、複数のディレクトリSSに対して同一の論理デバイスLDEVが割り当てられる。
CPU11は、検索されたターゲットデバイスDevが要求ディレクトリにマウントされていると判定した場合には(ステップSC320:Yes)、本処理ルーチンを終了する。クライアントコンピュータ30、31は、スナップショットファイルS1にアクセス可能な状態にある。
CPU11は、検索されたターゲットデバイスDevが要求ディレクトリにマウントされていないと判定した場合には(ステップSC320:No)、検索されたターゲットデバイスDevが他のディレクトリにマウントされているか否かを判定する(ステップSC130)。CPU11は、検索されたターゲットデバイスDevが他のディレクトリにマウントされていると判定した場合には(ステップSC330:Yes)、検索されたターゲットデバイス情報Devを他のディレクトリからアンマウントする(ステップSC340)。
CPU11は、検索されたターゲットデバイスDevが他のディレクトリにマウントされていないと判定した場合には(ステップSC330:No)、ステップSC140をスキップして、ステップSC350に移行する。
ステップSC350において、CPU11は、検索されたターゲットデバイスDevにアタッチすべき差分データを特定するための特定情報を含むアクセス要求を記憶装置システム20に対して送信する。特定情報には、ターゲットデバイスDevの情報、正側ボリュームの情報、スナップショットIDが用いられる。
記憶装置システム20のCPU21は、計算機10からアクセス要求を受け取ると、検索されたターゲットデバイスDevに一意に対応するターゲットデバイスTDの情報を対応する論理デバイスLDEVの情報に変換する(ステップSS300)。すなわち、ターゲットデバイスTDに一意に対応する論理デバイスLDEVを特定する。
CPU21は、検索されたターゲットデバイスTDに対応する対象論理デバイスにアタッチされている他のスナップショットデータSdをデタッチする(ステップSS310)。具体的には、CPU21は、デバイスアタッチ情報テーブルST2における、対象論理デバイスの正側論理デバイス情報およびスナップショットIDをNULL化する。
CPU21は、他のスナップショットデータSdがデタッチされた論理デバイスLDEVに対して、計算機10から受信した特定情報によって特定されるスナップショットデータをアタッチする(ステップSS320)。具体的には、CPU21は、デバイスアタッチ情報テーブルST2における、対象となる論理デバイスLDEVに樹脂にした正側論理デバイスの情報を、スナップショットIDに受信したスナップショットIDを登録する。例えば、正側論理デバイスがLDEV0、スナップショットIDが1の場合には、デバイスアタッチ情報テーブルST2における、対象となる論理デバイスLDEVの正側論理デバイスには「LDEV0」が、スナップショットIDには「1」が登録される。
CPU21は、計算機10に対してデタッチ/アタッチ完了報告を送信して(SS330)本処理ルーチンを終了する。
計算機10のCPU11は、記憶装置システム20からデタッチ/アタッチ完了報告を受信すると、検索されたターゲットデバイス情報Devに要求されたディレクトリをマウントして(ステップSC360)、本処理ルーチンを終了する。
次に図18を参照してミラーリングタイプのスナップショットファイルを取得するための処理について説明する。
クライアントコンピュータ30、31からスナップショットファイルの取得が要求される、計算機10のCPU11は要求されたスナップショットを格納すべき要求ディレクトリを検索して(ステップSC400)、要求ディレクトリに対応付けられているターゲットデバイス情報Devを検索する(ステップSC410)。具体的な手順は第1の実施例において説明済みである。
CPU11は、特定した論理デバイスの情報と共にスナップショットファイルの取得要求を記憶装置システム20に対して送信する(ステップSC420)。
記憶装置システム20のCPU21は、計算機10からアクセス要求を受け取ると、検索されたターゲットデバイスDevに一意に対応するターゲットデバイスTDの情報を対応する論理デバイスLDEVの情報に変換する(ステップSS400)。CPU21は、検索されたターゲットデバイスTDに対応する対象論理デバイスにアタッチされている他のスナップショットデータSdをデタッチする(ステップSS410)。
CPU21は、差分データSrを格納するための副ボリュームをストレージプールSpに作成し、スナップショットファイルを取得する(ステップSS420)。具体的には、正ボリュームにおいて更新(変更)された部分に対応する更新前の1または複数のデータのコピーが作成された副ボリュームに格納される。各データにはスナップショットの世代を識別する情報が関連付けられており、かかる識別情報を用いることによって所定の世代に関する差分データSrを識別することができる。
CPU21は、スナップショット管理情報テーブルST3を更新する(ステップSS430)する。スナップショット管理情報テーブルST3の更新手順について具体的に説明する。なお、仮想ボリュームが用いられる場合には、スナップショット管理情報テーブルST3、スナップショット詳細管理情報テーブルST31、ST32における論理デバイスの番号は、仮想ボリュームの番号を意味する。
CPU21は、スナップショット管理情報テーブルST3において、スナップショットデータがアタッチされることによって仮想ボリュームを提供する論理デバイスLDEVの状態を「Pair」に、ペア属性を「副」に更新する。CPU21は正側スナップショット管理情報テーブルST31において、新たなスナップショットIDの論理デバイス番号に仮想ボリュームを提供する論理デバイスLDEVの番号を登録し、新たなスナップショットIDの取得状況を取得済みに更新する。CPU21は副側スナップショット管理情報テーブルST32において、仮想ボリュームを提供する論理デバイスLDEVの正側論理デバイスに論理デバイスLDEV0を登録する。
CPU21は、他のスナップショットデータSdがデタッチされた論理デバイスLDEVに対して、計算機10から受信した特定情報によって特定されるスナップショットデータをアタッチする(ステップSS440)、CPU21は、計算機10に対して正常完了報告を送って(ステップSS450)、本処理ルーチンを終了する。
計算機10は、記憶装置システム20から正常完了報告を受け取ると、本処理ルーチンを終了する。
以上説明したように、第2の実施例に係るストレージシステム100によれば、仮想ボリュームを用いる場合にも、計算機10において、クライアントコンピュータ30、31から要求されたスナップショットファイルが格納されているディレクトリSSに対してターゲットデバイスDevをマウントするので、ターゲットデバイスDevのリソースを有効に活用することができる。また、記憶装置システム20において、仮想ボリュームを提供する論理デバイスLDEVに対して複数の差分データSrを排他的に割り当てることができるので、従来と異なり各差分データ毎にターゲットデバイスのリソースを維持する必要がない。この結果、ストレージシステム100全体においてスナップショットファイルに対して割り当てるべきターゲットデバイスDev、TDのリソース量を低減することが可能となる。
なお、計算機10は、アクセス対象となるボリュームが実ボリュームであるか仮想ボリュームであるかの情報を有することにより、あるいは、記憶装置システム20に問い合わせることによって、アクセス対象となるボリュームが実ボリュームであるか、仮想ボリュームであるかを識別することができる。
・第2の実施例の変形例:
図19〜図21を参照して第2の実施例に係るストレージシステム100の変形例について説明する。図19は計算機のファイルシステムによって認識されるスナップショットファイル情報およびターゲットデバイス情報、記憶装置システムにおけるターゲットデバイスと論理デバイス、論理デバイスとストレージプールに格納されている正側ボリュームファイルのデータ群およびスナップショットデータ群との対応関係を模式的に示す説明図である。図20は変形例におけるデバイスアタッチ情報を格納するテーブルの一例を示す説明図である。図21は変形例におけるスナップショット詳細管理情報を格納するテーブルの一例を示す説明図である。
本変形例では、スナップショットファイルS1〜SnのみならずスナップショットファイルS1〜Snの正ボリュームファイルP0も仮想ボリュームによって形成されている。なお、説明を簡易にするため、図19には、正ボリュームファイルP0に対するスナップショットファイルS1〜Snのみを図示しているが、正ボリュームファイルP1、P2にも同様にしてスナップショットファイルS1〜Snが存在することはいうまでもない。
図19では、クライアントコンピュータ30(31)によって認識される、計算機10における正ボリュームファイルはファイルP0〜P2、スナップショットファイルはスナップショットファイルS1〜Snで表される。記憶装置システム20においては、正ボリュームファイルに対応する仮想ボリュームはVPr、スナップショットファイルに対するアクセス時に論理デバイスLDEV上に形成される仮想ボリュームはVS1〜VSnで表されている。また、ストレージプールSpにおける正ボリュームファイルの実データはファイルPd0〜Pd2、所定の時点におけるスナップショットの更新データ(差分データ)はSd1〜Sd3で表されている。正ボリュームファイルP0〜2およびスナップショットファイルS1〜Snは、ディレクトリSSによって特定され、正ボリュームファイルの実データはファイルPd0〜Pd2、実スナップショットファイルSd1〜Sdnは、論理デバイスLDEVによって特定される。
図19の例では、ターゲットデバイスDev0には、正ボリュームファイルP0〜2がそれぞれ排他的にマウントされ、ターゲットデバイスDev1には、正ボリュームファイルの副ボリュームファイルであるスナップショットファイルS1〜S3がそれぞれ排他的にマウントされ得る。また、図19の例では、正ボリュームファイルP0のスナップショットを例に取っているので、ターゲットデバイスDev0には正ボリュームファイルP0のディレクトリのみがマウントされ、さらに、スナップショットファイルS1に対してアクセス要求がなされているので、ターゲットデバイスDev1にはスナップショットファイルS1のディレクトリのみがマウントされる。
記憶装置システム20には複数のターゲットデバイスTDが備えられており、1つのターゲットデバイスTDに対して一意の仮想ボリュームVPr、VS(論理デバイスLDEV)がアタッチされている。各正ボリュームファイルの実データPd0〜Pd2は、論理デバイスLDEVによって形成されているストレージプールSpに格納されている。いずれかの正ボリュームファイルに対するアクセス要求を受信すると、記憶装置システム20は、例えば、図19の例では、正ボリュームファイルの実データPd0を論理デバイスLDEV0にアタッチして、論理デバイスLDEV0上に仮想ボリュームVPrを形成する。論理デバイスLDEVには、複数の実データPd0〜Pd2が排他的にアタッチされる。すなわち、計算機10におけるディレクトリSSに対するターゲットデバイスDevのマウントに対応するように、記憶装置システム20において論理デバイスLDEVに対して実データPd0〜2がアタッチされる。なお、記憶装置システム20における論理デバイスLDEVに対する実データPd0〜2のアタッチは、割当切換モジュールMs3によって実行される。
正ボリュームファイルが仮想ボリュームの場合に用いられるデバイスアタッチ情報テーブルST4について図20を参照して説明する。デバイスアタッチ情報テーブルST4は、仮想ボリューム(正ボリュームファイル)をアタッチするための論理デバイス、正ボリュームファイルID、スナップショットIDを格納している。図20の例では、論理デバイスLDEV0には、ストレージプールSpにおける実データPd0〜Pd2のうち論理デバイスLDEV0にアタッチされている実データの識別情報(ID)が格納される。なお、論理デバイスLDEV0に対して実データのいずれもがアタッチされていない場合には、正ボリュームファイルIDはNULLとされる。スナップショットは、図20の例では取得されておらず、後にスナップショットが取得される。
正ボリュームファイルが仮想ボリュームの場合に用いられる正側のスナップショット詳細管理情報テーブルST4について図21を参照して説明する。正側のスナップショット詳細管理情報テーブルST4には、正側論理デバイス番号、正側論理デバイスとペアの関係にある副側論理デバイスのスナップショットID、副側論理デバイス番号、スナップショットを取得済みであるか否かを示す取得状況が含まれる。図21の例において、上段は、正ボリュームファイルに仮想ボリュームが割り当てられておらず、正側論理デバイス番号はNULLとされ、また、スナップショットも取得されていない例を示している。一方、下段は、正ボリュームファイルに仮想ボリュームが割り当てられており、正側論理デバイス番号にLDEV10が登録されている。また、スナップショットも1つ取得されており、スナップショットID=1の論理デバイスLDEV1がペアの論理デバイスLDEVとして登録されている。なお、スナップショット詳細管理情報テーブルST4の正側論理デバイス番号および副側論理デバイス番号はそれぞれ仮想ボリューム番号を示す。
・第3の実施例:
上記第1および第2の実施例では、計算機10と記憶装置システム20とが同一の筐体に格納されているストレージシステム100を用いて、スナップショットファイルを格納する場合について説明したが、図22に示すように、計算機10と記憶装置システム20とが別体に構成されているストレージシステムに対しても同様に適用することができる。図22はその他の実施例に係るストレージシステム100Aの概略構成を示す説明図である。
図22に係るストレージシステム100Aは、計算機10Aと、計算機10Aによってアクセスされる記憶装置システム20Aとを備えている。ストレージシステム100Aには、クライアントコンピュータ30、31、管理装置50がネットワーク40を介してあるいは直接接続されている。計算機10Aのファイルシステムにおいて用いられているコマンドと記憶装置システム20Aにおいて用いられているコマンドの間には、一般的に互換性がないので、特殊なコマンドを定義して、計算機10Aから記憶装置システム20Aに対して指示を送る必要がある。
図22に係る計算機10Aは、ネットワーク40を介してクライアントコンピュータ30、31と接続されている。計算機10は、内部に、中央処理装置(CPU)11A、メモリ12A、LANインターフェース13A、ストレージインターフェース14A、FCインターフェース15Aを備えている。CPU11A、メモリ12A、各インターフェース13、14、15は相互にバスを介して接続されている。
記憶装置システム20は、中央処理装置(CPU)21A、メモリ22A、FCインターフェース23A、複数のディスク装置24A、ディスクインターフェース25A、ストレージインターフェース26A、LANインターフェース27Aを備えている。
FCインターフェース15A、23Aは、例えば、光ファイバケーブル、銅線に接続されており、計算機10と記憶装置システム20との間ではファイバチャネルプロトコルを通じてコマンド、データの授受が実行されている。管理装置50は、LANインターフェース27Aを介して記憶装置システム20Aに接続されており、コマンド、データの授受を実行する。
ディスク装置24Aは、複数の磁気ハードディスクドライブによってRAID構成されるディスクアレイ装置であり、複数のハードディスクドライブによって1または複数の記憶領域、すなわち、論理デバイス(LDEV)を提供し、あるいは、1つのハードディスクドライブによって1または複数の論理デバイスを提供する。
CPU21Aは、ディスクインターフェース25Aを介してディスク装置24Aに接続されている。ディスクインターフェース25Aは、CPU21Aから送信された論理アドレスを論理ブロックアドレスへと変換して、CPU21Aによる各論理デバイスへのアクセスを実現する。
ストレージインターフェース13A、26Aは、ターゲットデバイスTDに対する論理デバイスLDEVのデタッチ/アタッチを指示する特殊コマンドを計算機10Aと記憶装置システム20Aとの間でやりとりするためのインターフェースである。特殊コマンドは、予め定めた論理デバイスLDEV(コマンドデバイス)に対する標準のリード/ライトコマンドであり、例えば、ターゲットデバイスTDに対する論理デバイスLDEVのデタッチ/アタッチを指示するコマンド、スナップショットの取得を指示するコマンドが付加されている。計算機10Aは、ストレージインターフェース13Aを介して、記憶装置システム20のストレージインターフェース26Aに対して特殊コマンドを送信する。ストレージインターフェース26Aは、受信したコマンドが、コマンドデバイスに対するリード/ライトコマンドである場合には、付加されているターゲットデバイスTDに対する論理デバイスLDEVのデタッチ/アタッチコマンドを解釈して、CPU21Aに対して、ターゲットデバイスTDに対する論理デバイスLDEVのデタッチ/アタッチ処理の実行、スナップショット取得処理の実行を指示する。
・第4および第5の実施例:
上記第1および第2の実施例に係るストレージシステム100では、スナップショットファイルを格納する例について説明したが、一般的なファイルを格納する場合についても同様にして、ターゲットデバイスDev、TDのリソース量を低減し、ストレージシステム100の有効活用を図ることができる。かかる場合には、計算機10側のスナップショット管理情報テーブルCT1および記憶装置システム20側のスナップショット管理情報テーブルST3およびスナップショット詳細管理情報テーブルST31、32は不要となる。
ストレージシステム100、100Aを一般的なファイルシステムに用いる場合について図23〜図29を参照して説明する。図23は第4の実施例における、計算機のファイルシステムによって認識されるファイル情報およびターゲットデバイス情報、記憶装置システムにおけるターゲットデバイスと論理デバイスとの対応関係を模式的に示す説明図である。図24は第4の実施例において用いられるファイル管理情報テーブルを詳細に示す説明図である。図25は第4の実施例において記憶装置システムにおけるファイルに対するアクセス処理において実行される処理ルーチンを示すフローチャートである。図26は第5の実施例に係る計算機のファイルシステムによって認識されるファイル情報およびターゲットデバイス情報、記憶装置システムにおけるファイルトデータ群との対応関係を模式的に示す説明図である。図27は第5の実施例におけるデバイスアタッチ情報を格納するテーブルの一例を示す説明図である。図28は第5の実施例において記憶装置システムにおける仮想ボリュームファイルに対するアクセス処理において実行される処理ルーチンを示すフローチャートである。図29は計算機10が備えるクライアント識別テーブルの一例を示す説明図である。
なお、以下の説明では、図1に示す構成を例にとって図1に示す符号を用いて説明するが、図22に示す構成に対しても同様に適用され得ることは言うまでもない。一般的なファイルシステムに適用する場合には、複数のクライアントコンピュータによって1つのターゲットデバイスDevが共有されるため、クライアントコンピュータに応じて、ターゲットデバイスを適切なディレクトリにマウントすることが要求される。かかる要求に対する解決手法として、例えば、
(a)同一のターゲットデバイスの下に、クライアントコンピュータ毎のディレクトリを作成する。
(b)クライアントコンピュータのIPアドレス情報を利用する。
が考えられる。
前者の場合には、第1の実施例または第2の実施例において説明した手順によって、クライアントコンピュータに応じて、ターゲットデバイスを適切なディレクトリにマウントすることができる。すなわち、第1の実施例における各スナップショットファイルS1〜Snを各クライアントコンピュータ専用のディレクトリ(ファイル)とすることによって、計算機はターゲットデバイスを適切なディレクトリにマウントし、記憶装置システム20は論理デバイスLDEVを適切なターゲットデバイスTDにアタッチすることができる。第1の実施例におけるストレージシステム100では、スナップショットファイルへのアクセス要求が発生する毎に、ディレクトリに対するターゲットデバイスのマウント、記ターゲットデバイスTDに対する論理デバイスLDEVのアタッチが実行されているので、スナップショットファイルへのアクセス要求を、クライアントコンピュータからファイルへのアクセス要求として処理すれば良い。なお、計算機10および記憶装置システム20は、スナップショットに関するテーブルを除いて同様のテーブルを有している。
以下(a)の第1の解決手法について図23〜図25を参照して第4の実施例として説明する。図23では、クライアントコンピュータ30(31)によって認識されるファイルはファイルF1〜Fnで表され、記憶装置システム20に格納されている実際のファイルデータは実ファイルL1〜Lnで表されている。各ファイルFは、ディレクトリFGによって特定され、実ファイルL1〜Lnは、論理デバイスLDEVによって特定される。例えば、ターゲットデバイスDev1には、ファイルF1〜F3がそれぞれ排他的にマウントされ得る。図23の例では、ファイルF1に対してアクセス要求がなされているので、ターゲットデバイスDev1には実ファイルL1のディレクトリがマウントされる。
計算機10が認識する各ターゲットデバイスDevは、それぞれ記憶装置システム20におけるターゲットデバイスTDと一意に対応付けられている。記憶装置システム20には複数のターゲットデバイスTDが備えられており、1つのターゲットデバイスTDに対して複数の論理デバイスLDEV(実ファイル)がアタッチされる。例えば、ターゲットデバイスTD1には、複数の実ファイルL1〜L3が排他的にアタッチされる。図23の例では、ターゲットデバイスTD1は実ファイルL1を格納する論理デバイスLDEVにアタッチされている。すなわち、計算機10におけるディレクトリFGに対するターゲットデバイスDevのマウントに対応するように、記憶装置システム20においてターゲットデバイスTDに対して論理デバイスLDEVがアタッチされる。
図24を参照してファイル管理情報テーブルST5について説明する。ファイル管理情報テーブルST5には、クライアントコンピュータ30によって特定される計算機側のディレクトリFG(ファイル名)と記憶装置システム20側における実ファイルが格納されているディレクトリ情報(/mnt/ss/home_fN)とが対応付けられて格納されている。
図25を参照して(a)の第1の解決手法における実ファイルに対するアクセス処理について説明する。計算機10のCPU11は、クライアントコンピュータ30から、ファイルFに対するアクセス要求を受信すると、図14において説明済みのアタッチ処理を記憶装置システム20と共に実行する(ステップSC500、SS500)。アクセス要求には、アクセスが要求されている計算機側のファイルFに対応する実ファイルLを識別するための識別情報を含んでいる。例えば、図22の例では、計算機10のCPU11は要求ディレクトリF1にアクセスするためのターゲットデバイスDevとしてDev1を検索し、検索したターゲットデバイスDev1にアタッチすべきディレクトリL1を特定するディレクトリ情報を記憶装置システム20に対して送信する。ディレクトリ情報を受信した記憶装置システム20のCPU21は、計算機側ターゲットデバイスDev1に一意に対応付けられているターゲットデバイスTD1に対して要求されている実ファイルデータを格納する論理デバイスLDEV(L1)をアタッチする。計算機10のCPU11は、記憶装置システム20からアタッチ完了報告を受け取ると、ターゲットデバイスDev1をディレクトリF1にマウントする。
計算機10のCPU11は、アクセス要求としてリード/ライト要求を記憶装置システム20に対して送信する(SC510)。リード/ライト要求を受け取った記憶装置システム20は、リード要求であるか否かを判定し(ステップSC510)、ライト要求である場合には(ステップSC510:No)、要求されたライト処理を実行して(ステップSS520)、本処理ルーチンを終了する。
記憶装置システム20は、リード要求であると判定した場合には(ステップSC510:Yes)、要求されたリード処理を実行し(ステップSS530)、読み出したデータを計算機10に送信して(ステップSS540)、本処理ルーチンを終了する。
計算機10は記憶装置システム20から読み出されたデータを受信し(ステップSC520)、クライアントコンピュータ30に送信して、本処理ルーチンを終了する。
次に(a)の第2の解決手法について図26〜図28を参照して第5の実施例として説明する。図26では、クライアントコンピュータ30(31)によって認識される、計算機10におけるファイルはファイルF1〜Fnで表され、記憶装置システム20における、ファイルFに対するアクセス時に論理デバイスLDEV上に形成される仮想ボリュームはVS1〜VSnで表され、ストレージプールSpにおけるファイルの実データはPo1〜Po3で表されている。ファイルF1〜Fnは、ディレクトリFGによって特定され、ファイルの実データPo1〜Po3は、論理デバイスLDEVによって特定される。例えば、ターゲットデバイスDev1には、ファイルF1〜F3がそれぞれ排他的にマウントされ得る。図26の例では、ファイルF1に対してアクセス要求がなされているので、ターゲットデバイスDev1にはファイルF1のディレクトリのみがマウントされる。計算機10が認識する各ターゲットデバイスDevは、それぞれ記憶装置システム20におけるターゲットデバイスTDと一意に対応付けられている。
記憶装置システム20には複数のターゲットデバイスTDが備えられており、1つのターゲットデバイスTDに対して一意の論理デバイスLDEV(仮想ボリュームVS)がアタッチされている。ファイルの実データPo1〜Po3は、論理デバイスLDEVによって形成されているストレージプールSpに格納されている。所定のファイルに対するアクセス要求を受信すると、記憶装置システム20は、例えば、実データPo1を論理デバイスLDEV1にアタッチして、論理デバイスLDEV1上に仮想ボリュームVS1を形成する。論理デバイスLDEVには、複数の実データPo1〜Po3が排他的にアタッチされる。すなわち、計算機10におけるディレクトリFGに対するターゲットデバイスDevのマウントに対応するように、記憶装置システム20において論理デバイスLDEVに対して実データPoがアタッチされる。なお、実データPoの格納領域は、当初より対応するファイルFのボリューム容量分に相当する領域がストレージプールに確保されているわけではなく、ファイルFの更新に応じて記憶領域が増大される。記憶装置システム20は、実データPoが更新されると更新により追加された記憶領域のアドレスを管理アドレスに加える。
図27を参照して、本実施例において用いられるデバイスアタッチ情報テーブルST2’について説明する。仮想ボリューム使用時におけるデバイスアタッチ情報テーブルST2’は、仮想ボリュームをアタッチするための論理デバイス、仮想ボリュームを形成するためにアタッチすべき実データPoの情報を格納している。論理デバイスLDEV0に対しては、実データPo1〜Po3のいずれかがアタッチ、または、アタッチなし(NULL)とされ、論理デバイスLDEV1に対しては、実データPo4〜Po6のいずれかがアタッチ、または、アタッチなし(NULL)とされる。
図28を参照して(a)の第2の解決手法における実ファイルに対するアクセス処理について説明する。計算機10のCPU11は、クライアントコンピュータ30から、任意のファイルFに対するアクセス要求を受信すると、記憶装置システム20に対して任意のファイルFに対応する仮想ボリュームVS*に対するリード/ライト要求を送信する(SC600)。以下、説明を容易にするため、ファイルF1に対してアクセス要求が発生している場合を例にとって説明する。記憶装置システム20のCPU21は、アクセスの要求されたファイルF1に対応する仮想ボリュームVS1に対してファイルF1の実データPo1がアタッチされているか否かを判定する(ステップSS600)。CPU21は仮想ボリュームVS1(論理デバイスLDEV0)に対して実データPo1がアタッチされていると判定した場合には(ステップSS600:Yes)、アクセス要求がリード要求であるか否かを判定する(ステップSS610)。CPU21は、リード要求でない、すなわち、ライト要求であると判定した場合には(ステップSS610:No)、仮想ボリュームVS1に対するライト処理を実行して本処理ルーチンを終了する。
CPU21は、リード要求であると判定した場合には(ステップSS610:Yes)、仮想ボリュームVS1に対するリード処理を実行する(ステップSS625)。なお、本実施例においては、フォーマットにより仮想ボリュームVSにはデータ値「0」が記録されるため、読み出されるデータの値は、仮想ボリュームVSに格納されているデータの値、またはフォーマット後に書き込みが実行されていない場合には「0」となる。
CPU21は、ステップSS600において、仮想ボリュームVS1(論理デバイスLDEV0)に対して実データPo1がアタッチされていないと判定した場合には(ステップSS600:No)、アクセス要求がリード要求であるか否かを判定する(ステップSS630)。CPU21は、リード要求であると判定した場合には(ステップSS630:Yes)、ALL0を読み出しデータとして取得する(ステップSS640)。すなわち、対象となる実データPo1が仮想ボリュームVS1にアタッチされておらず読み出すべきデータが存在しないので、リードライトコントローラ(ディスクコントローラ)から値「0」が返される。
CPU21は、リード要求でない、すなわち、ライト要求であると判定した場合には(ステップSS630:No)、対応する実データPo1を仮想ボリュームVS1にアタッチする(ステップSS645)。あるいは、リード要求の場合と同様にして、書き込みべき仮想ボリュームVSとして実データPo1がアタッチされた仮想ボリュームVS1が存在しないので、ALL0を取得しても良い。すなわち、本実施例においてALL0は、要求処理の実行結果が不成功であったことを示す。
CPU21は、読み出したデータまたは取得したデータを計算機10に対して送信し(ステップSS650)、本処理を終了する。計算機10は、記憶装置システム20から読み出されたデータ値または値「0」を受信して(ステップSC610)本処理ルーチンを終了する。
後者(b)の場合には、例えば、図29に示すテーブルを備えることによって、クライアントコンピュータ毎に、ターゲットデバイスを適切なディレクトリにマウントすることができる。
図29に示すように、各クライアントコンピュータを識別するためのIPアドレスと、各クライアントコンピュータが使用可能なターゲットデバイスとが対応付けられている。計算機10は、クライアントコンピュータからアクセス要求を受信すると、クライアントコンピュータのIPアドレスを取得し、アクセスさせるべきターゲットデバイスを決定する。決定したターゲットデバイスが他のクライアントコンピュータによって使用されている場合には、計算機10は、クライアントコンピュータに対して所定期間アクセス不可である旨を通知し、所定期間経過後に記憶装置システム20に対して割り込みアクセスの要求を送信する。
あるいは、計算機10は、直ちに記憶装置システム20に対して割り込みアクセスの要求を送信して、クライアントコンピュータに対して所望のファイルに対するアクセスを提供する。
以上説明した場合においても、ストレージシステムにおけるターゲットデバイスリソースの有効活用を図ることができる。
・その他の実施例:
(1)図30〜図31を参照して、記憶装置システム20に対してデバイスの容量および状態を問い合わせる問い合わせ処理(Inquiry処理)について説明する。図30は他の実施例における、計算機のファイルシステムによって認識されるファイル情報およびターゲットデバイス情報、記憶装置システムにおけるターゲットデバイスと論理デバイスとの対応関係を模式的に示す説明図である。図31は問い合わせ処理において実行される処理ルーチンを示すフローチャートである。
図30の例では、計算機10のターゲットデバイスDev1にはファイルF1がマウントされており、記憶装置システム20のターゲットデバイスTD1には論理デバイス(L1)がアタッチされている。既述の通り記憶装置システム20のターゲットデバイスTD1はターゲットデバイスDev1と一意の関係にある、この状態において、計算機10は、クライアントコンピュータ30から問い合わせ要求を受け取ると、イニシエータポートであるターゲットデバイス層(Dev層)に対して「問い合わせ要求」を送る。図30の例では、ターゲットデバイスDev1、2および5は定義されているがターゲットデバイスDev3、4は未定義である。したがって、未定義のターゲットデバイスDev3、4についての情報は存在しない。
計算機10は定義されているターゲットデバイスDev1、2および5を介してターゲットポート(記憶装置システム20のターゲットデバイスTD)に対して問い合わせを送信する(ステップSC700)。問い合わせを受けた記憶装置システム20は、計算機10側のターゲットデバイスDev1、2および5に対応する記憶装置システム20側のターゲットデバイスTD1、2および5について、容量および状態を取得する(ステップSS700)。
図30の例では、ターゲットデバイスTD1には論理デバイスL1がアタッチされており、残りのターゲットデバイスTD2、5には論理デバイスがアタッチされていない。したがって、記憶装置システム20は、ターゲットデバイスTD1については、状態:アタッチ中、容量:論理デバイスL1の容量を応答とし、ターゲットデバイスTD2、5については、状態:未アタッチ、容量:0を応答して計算機10に送信して(ステップSS710)、本処理ルーチンを終了する。
計算機10は応答を受信し(ステップSC710)、受け取った応答をクライアント計算機30に返して本処理ルーチンを終了する。
以上の問い合わせ処理によれば、クライアント計算機30、31から記憶装置システム20が備えるターゲットデバイスTDの状態、論理デバイスの容量に関する情報を取得することができる。なお、クライアント計算機30、31は、上述のようにストレージシステム100に対して直接問い合わせ要求を送信する他、ネットワーク40を介して業務ホスト51と接続し、業務ホスト51が備えるアプリケーションプログラムを介してストレージシステム100に対して問い合わせ要求を送信しても良い。
(2)上記各実施例では、記憶装置システムに対して計算機が1つ備えられている場合について説明したが、計算機は複数備えられていても良い。かかる場合には、計算機間におけるターゲットデバイスの重複利用を防止する必要がある。例えば、計算機に対してターゲットデバイスの使用状況を示し、計算機はかかる使用状況の情報に基づいて記憶装置システムに対してアクセス要求を送信する。あるいは、各計算機毎に論理デバイスを固定しておくことで、すなわち、各計算機毎に利用可能なターゲットデバイスを決めておくことで、ターゲットデバイスの重複利用を防止することができる。
(3)上記第1および第2の実施例において、スナップショットファイルに対するアクセス処理のフローチャートとスナップショット取得処理のフローチャートとは組み合わされても良い。この場合には、スナップショット取得後に直ちにスナップショットファイルに対してアクセスすることができる。すなわち、ターゲットデバイスDevは、新たに取得されたスナップショットファイルが格納されているディレクトリにマウント済みであるため、直ちに、スナップショットファイルに対するアクセス(リード/ライト)が可能となる。
以上、実施例に基づき本発明に係るストレージシステム、計算機、ストレージシステムの制御方法を説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはもちろんである。
第1の実施例に係るストレージシステムの概略構成を示す説明図である。 第1の実施例に係るストレージシステムに含まれる計算機のメモリに格納されている各種プログラム、モジュールを概念的に示す説明図である。 スナップショット管理情報を格納するテーブルの一例を示す説明図である。 ディレクトリデバイス情報を格納するテーブルの一例を示す説明図である。 デバイスマウント情報を格納するテーブルの一例を示す説明図である。 デバイスマウント情報を格納するテーブルの一例を示す説明図である。 第1の実施例に係るストレージシステムに含まれる記憶装置システムのメモリに格納されている各種プログラム、モジュールを概念的に示す説明図である。 デバイスアタッチ情報を格納するテーブルの一例を示す説明図である。 仮想ボリューム使用時におけるデバイスアタッチ情報を格納するテーブルの一例を示す説明図である。 スナップショット管理情報を格納するテーブルの一例を示す説明図である。 スナップショット詳細管理情報を格納するテーブルの一例を示す説明図である。 スナップショット詳細管理情報を格納するテーブルの一例を示す説明図である。 計算機のファイルシステムによって認識されるスナップショットファイル情報およびターゲットデバイス情報、記憶装置システムにおけるターゲットデバイスと論理デバイスとの対応関係を模式的に示す説明図である。 ミラーリングタイプのスナップショットファイルに対するアクセス処理において実行される処理ルーチンを示すフローチャートである。 ミラーリングタイプのスナップショットファイルを取得する際に実行される処理ルーチンを示すフローチャートである。 計算機のファイルシステムによって認識されるスナップショットファイル情報およびターゲットデバイス情報、記憶装置システムにおけるターゲットデバイスと論理デバイス、論理デバイスとストレージプールに格納されているスナップショットデータ群との対応関係を模式的に示す説明図である。 コピーオンライトタイプのスナップショットファイルに対するアクセス処理において実行される処理ルーチンを示すフローチャートである。 コピーオンライトタイプのスナップショットファイルを取得する際に実行される処理ルーチンを示すフローチャートである。 計算機のファイルシステムによって認識されるスナップショットファイル情報およびターゲットデバイス情報、記憶装置システムにおけるターゲットデバイスと論理デバイス、論理デバイスとストレージプールに格納されている正側ボリュームファイルのデータ群およびスナップショットデータ群との対応関係を模式的に示す説明図である。 変形例におけるデバイスアタッチ情報を格納するテーブルの一例を示す説明図である。 変形例におけるスナップショット詳細管理情報を格納するテーブルの一例を示す説明図である。 その他の実施例に係るストレージシステム100Aの概略構成を示す説明図である。 第4の実施例における、計算機のファイルシステムによって認識されるファイル情報およびターゲットデバイス情報、記憶装置システムにおけるターゲットデバイスと論理デバイスとの対応関係を模式的に示す説明図である。 第4の実施例において用いられるファイル管理情報テーブルを詳細に示す説明図である。 第4の実施例において記憶装置システムにおけるファイルに対するアクセス処理において実行される処理ルーチンを示すフローチャートである。 第5の実施例に係る計算機のファイルシステムによって認識されるファイル情報およびターゲットデバイス情報、記憶装置システムにおけるファイルトデータ群との対応関係を模式的に示す説明図である。 第5の実施例におけるデバイスアタッチ情報を格納するテーブルの一例を示す説明図である。 第5の実施例において記憶装置システムにおける仮想ボリュームファイルに対するアクセス処理において実行される処理ルーチンを示すフローチャートである。 計算機が備えるクライアント識別テーブルの一例を示す説明図である。 他の実施例における、計算機のファイルシステムによって認識されるファイル情報およびターゲットデバイス情報、記憶装置システムにおけるターゲットデバイスと論理デバイスとの対応関係を模式的に示す説明図である。 問い合わせ処理において実行される処理ルーチンを示すフローチャートである。
符号の説明
10、10A…計算機
11、11A…中央処理装置(CPU)
12、12A…メモリ
13、13A、27、27A…LANインターフェース
14A、26A…ストレージインターフェース
20、20A…記憶装置システム
21、21A…CPU
22、22A…メモリ
23、25A…ディスクインターフェース
24、24A…ディスク装置
23A、25、26…FCインターフェース
27、28…LANインターフェース
30、31…クライアントコンピュータ
40…ローカルエリアネットワーク
41…ストレージエリアネットワーク(SAN)
50…管理装置
51…業務ホスト計算機
100、100A…ストレージシステム
OS…オペレーティングシステム
CT1…スナップショット管理情報テーブル
CT2…ディレクトリデバイス情報テーブル
CT3…デバイスマウント情報テーブル
CT4…使用可能デバイス情報
FP…記憶装置管理プログラム
Mc1…要求受信モジュール
Mc2…ターゲットデバイス特定モジュール
Mc3…マウント判定モジュール
Mc4…マウントモジュール
Mc5…アンマウントモジュール
Mc6…アクセス要求送信モジュール
Mc7…ポイントインタイムコピー要求モジュール
ST1…デバイスアタッチ情報テーブル
ST2…仮想ボリューム使用時デバイスアタッチ情報テーブル
ST3…スナップショット管理情報テーブル
ST31、ST32…スナップショット詳細管理情報テーブル
CP…コマンド処理プログラム
Ms1…アクセス要求受信モジュール
Ms2…ポイントインタイムコピーモジュール
Ms3…割当切換モジュール
Ms4…割当判定モジュール
Ms5…割当解除モジュール
Ms6…割当モジュール

Claims (22)

  1. 計算機と、計算機によってアクセスされると共に複数の論理的な記憶領域を有する記憶装置システムとを備えるストレージシステムであって、
    前記計算機は、
    前記複数の記憶領域に対応し、前記計算機によって認識される記憶領域である複数の計算機側記憶領域のうち、一の計算機側記憶領域に対するアクセスの要求を受信する受信部と、
    前記計算機から前記記憶装置システムにおけるアクセスの対象として認識される複数のターゲットデバイスの中から、アクセスが要求された前記計算機側記憶領域にマウントすべきターゲットデバイスを特定するターゲットデバイス特定手段と、
    前記ターゲットデバイスを前記アクセスが要求された計算機側記憶領域にマウントするマウント手段と、
    前記アクセスが要求された計算機側記憶領域に対応する前記記憶領域に対するアクセス要求を前記記憶装置システムに対して送信する送信部とを備え、
    前記記憶装置システムは、
    前記複数の論理的な記憶領域を形成する1または複数の物理記憶装置と、
    前記複数の記憶領域のうち一つの記憶領域が割り当てられ得る前記複数のターゲットデバイスと、
    前記計算機から送信された前記アクセス要求を受信する受信部と、
    前記アクセス要求に応じて、前記特定されたターゲットデバイスに対して前記アクセスが要求されている記憶領域を割り当てる割当切換手段とを備える、
    ストレージシステム。
  2. 請求項1に記載のストレージシステムにおいて、
    前記計算機は更に、
    前記計算機側記憶領域と前記ターゲットデバイスとを対応付ける計算機側対応付情報を有しており、
    前記ターゲットデバイス特定手段は前記計算機側対応付情報を用いて前記要求された前記計算機側記憶領域にマウントすべきターゲットデバイスを特定し、
    前記記憶装置システムは更に、
    前記記憶領域と前記ターゲットデバイスとを対応付ける記憶装置システム側対応付情報を有しており、
    前記割当切換手段は前記記憶装置システム側対応付情報を用いて前記特定されたターゲットデバイスに対して前記アクセスが要求されている記憶領域を割り当てる
    ストレージシステム。
  3. 請求項2に記載のストレージシステムにおいて、
    前記アクセス要求は、前記アクセスが要求されている計算機側記憶領域に対応する前記記憶領域を識別する記憶領域識別情報を含み、
    前記割当切換手段は前記記憶装置システム側対応付情報および前記記憶領域識別情報を用いて前記特定されたターゲットデバイスに対して前記アクセスが要求されている記憶領域を割り当てるストレージシステム。
  4. 請求項1に記載のストレージシステムにおいて、
    前記アクセスが要求されている計算機側記憶領域に対応する記憶領域は、アクセスの要求に応じて仮想的に形成される仮想記憶領域であり、
    前記計算機は更に、
    前記計算機側記憶領域と前記ターゲットデバイスとを対応付ける計算機側対応付情報を有しており、
    前記ターゲットデバイス特定手段は前記計算機側対応付情報を用いて前記要求された前記計算機側記憶領域にマウントすべきターゲットデバイスを特定し、
    前記記憶装置システムは更に、
    前記仮想記憶領域と前記ターゲットデバイスとを対応付ける記憶装置システム側対応付情報を有しており、
    前記割当切換手段は前記記憶装置システム側対応付情報を用いて、前記特定されたターゲットデバイスに対して、前記アクセスが要求されている計算機側記憶領域に対応する記憶領域を割り当てて前記仮想記憶領域を形成する
    ストレージシステム。
  5. 請求項4に記載のストレージシステムにおいて、
    前記アクセス要求は、前記アクセスが要求されている計算機側記憶領域に対応する前記記憶領域を識別する記憶領域識別情報を含み、
    前記割当切換手段は前記記憶装置システム側対応付情報および前記記憶領域識別情報を用いて前記特定されたターゲットデバイスに対して前記アクセスが要求されている記憶領域を割り当てるストレージシステム。
  6. 請求項1に記載のストレージシステムにおいて、
    前記アクセスが要求されている計算機側記憶領域に対応する記憶領域は、主情報とその主情報に対する差分情報とによって仮想的に形成される仮想記憶領域であり、
    前記計算機は更に、
    前記計算機側記憶領域と前記ターゲットデバイスとを対応付ける計算機側対応付情報を有しており、
    前記ターゲットデバイス特定手段は前記計算機側対応付情報を用いて前記要求された前記計算機側記憶領域にマウントすべきターゲットデバイスを特定し、
    前記記憶装置システムは更に、
    前記仮想記憶領域と前記ターゲットデバイスとを対応付ける記憶装置システム側対応付情報を有しており、
    前記割当切換手段は前記記憶装置システム側対応付情報を用いて前記特定されたターゲットデバイスに対して前記アクセスが要求されている計算機側記憶領域に対応する記憶領域を割り当てる
    ストレージシステム。
  7. 請求項6に記載のストレージシステムにおいて、
    前記アクセス要求は、前記特定されたターゲットデバイスを識別するターゲットデバイス識別情報と、前記主情報を識別する主情報識別情報と、前記アクセスが要求されている仮想記憶領域を形成するために必要な前記差分情報を識別する差分情報識別情報を含み、
    前記割当切換手段は前記記憶装置システム側対応付情報、前記主情報識別情報および差分情報識別情報を用いて前記特定されたターゲットデバイスに対して前記アクセスが要求されている記憶領域を割り当てるむストレージシステム。
    むストレージシステム。
  8. 請求項1に記載のストレージシステムにおいて、
    前記計算機は更に、
    前記要求された計算機側記憶領域に対応付けるべきターゲットデバイスが他の計算機側記憶領域にマウントされているか否かを判定するマウント判定手段と、
    前記要求された計算機側記憶領域に対応付けるべき前記ターゲットデバイスが前記他の計算機側記憶領域にマウントされていると判定された場合には、前記ターゲットデバイスをアンマウントするアンマウント手段とを備えるストレージシステム。
  9. 請求項8に記載のストレージシステムにおいて、
    前記記憶装置システムにおける割当切換手段はさらに、
    前記特定されたターゲットデバイスが他の記憶領域に対して割り当てられているか否かを判定する割当判定手段と、
    前記特定されたターゲットデバイスが前記他の記憶領域に対して割り当てられていると判定された場合には、前記他の記憶領域に対する前記特定されたターゲットデバイスの割当てを解除する割当解除手段と、
    前記特定されたターゲットデバイスを前記要求された計算機側記憶領域に対応する記憶領域に割り当てる割当手段とを備えるストレージシステム。
  10. 請求項1に記載のストレージシステムにおいて、
    前記記憶装置システムは、前記複数の記憶領域の内、一の記憶領域に格納されている主情報を任意の時期に他の記憶領域に保存するポイントインタイムコピー手段を備えており、
    前記計算機は前記記憶装置システムに対して、前記任意の時期における主情報の取得を要求するポイントインタイムコピー要求手段を備えるストレージシステム。
  11. 請求項10に記載のストレージシステムにおいて、
    前記ポイントインタイムコピー手段は、前記一の記憶領域に格納されている任意の時期における主情報を他の記憶領域に複製することによって前記任意の時期における主情報の保存を実現するストレージシステム。
  12. 請求項10に記載のストレージシステムにおいて、
    前記ポイントインタイムコピー手段は、前記一の記憶領域に格納されている主情報に対する変更履歴を他の記憶領域に記録することによって前記任意の時期における主情報の保存を実現するストレージシステム。
  13. 計算機と、主情報を格納する論理的な記憶領域と任意の時期における前記主情報を提供するための情報を格納する論理的な記憶領域を有する記憶装置システムとを備えるストレージシステムであって、
    前記計算機は、
    前記任意の時期における主情報に対するアクセスの要求を受信する受信部と、
    前記計算機からアクセスの対象として認識される複数のターゲットデバイスの中から、要求された前記任意の時期における主情報を提供するための情報を格納する前記記憶領域に対応する計算機側記憶領域にマウントすべきターゲットデバイスを特定するターゲットデバイス特定手段と、
    前記要求された任意の時期における主情報を提供するための情報を格納する記憶領域に対するアクセス要求を前記記憶装置システムに対して送信する送信部とを備え、
    前記記憶装置システムは、
    前記複数の論理的な記憶領域を形成する1または複数の物理記憶装置と、
    前記複数の記憶領域のうち一つの記憶領域が割り当てられ得る前記複数のターゲットデバイスと、
    前記計算機から送信された前記アクセス要求を受信する受信部と、
    前記アクセス要求に応じて、前記特定されたターゲットデバイスに対して前記アクセスが要求されている任意の時期における主情報を提供するための情報を格納する記憶領域を割り当てる割当切換手段とを備える、
    ストレージシステム。
  14. 請求項13に記載のストレージシステムにおいて、
    前記任意の時期における主情報を提供するための情報は前記任意の時期における主情報を複製した情報であり、
    前記割当切換手段は、前記特定されたターゲットデバイスに対して前記任意の時期における主情報を複製した情報を格納する記憶領域を割り当てることによって、前記任意の時期における主情報を前記計算機に対して提供するストレージシステム。
  15. 請求項14に記載のストレージシステムにおいて、
    前記主情報は複数存在し、
    前記主情報を格納する論理的な記憶領域はアクセスの要求を受けて形成される仮想記憶領域であり、
    前記記憶装置システムは更に、前記主情報に対して割り当てられているターゲットデバイスを有し、
    前記割当切換手段は更に、前記主情報に割り当てられているターゲットデバイスに対して、前記複数の主情報のうち前記アクセスが要求された主情報の実データを格納する記憶領域を割り当てることによって、前記アクセスが要求された主情報を前記計算機に対して提供するストレージシステム。
  16. 請求項13に記載のストレージシステムにおいて、
    前記任意の時期における主情報を提供するための情報は前記任意の時期の直前の主情報に対する変更履歴の情報であり、
    前記割当切換手段はさらに、前記任意の時期における前記変更履歴と前記主情報とを用いて仮想的な記憶領域を形成する仮想記憶領域形成手段を備え、
    前記割当切換手段は、前記特定されたターゲットデバイスに対して前記形成された仮想的な記憶領域を割り当てることによって、前記任意の時期における主情報を前記計算機に対して提供するストレージシステム。
  17. 請求項16に記載のストレージシステムにおいて、
    前記変更履歴の情報には、前記主情報の変更箇所についての変更前の情報である変更前情報と、変更前情報が生成された任意の時期を識別するための時期識別情報とが含まれており、
    前記仮想記憶領域形成手段は、前記要求された任意の時期に該当する前記時期識別情報に関連付けられている前記変更前情報を用いて前記仮想記憶領域を形成するストレージシステム。
  18. 請求項16に記載のストレージシステムにおいて、
    前記主情報は複数存在し、
    前記主情報を格納する論理的な記憶領域はアクセスの要求を受けて形成される仮想記憶領域であり、
    前記記憶装置システムは更に、前記主情報に対して割り当てられているターゲットデバイスを有し、
    前記割当切換手段は更に、前記主情報に割り当てられているターゲットデバイスに対して、前記複数の主情報のうち前記アクセスが要求された主情報の実データを格納する記憶領域を割り当てることによって、前記アクセスが要求された主情報を前記計算機に対して提供するストレージシステム。
  19. 計算機と、計算機によってアクセスされると共に複数の論理的な記憶領域を有する記憶装置システムとを備えるストレージシステムであって、
    前記計算機は、
    前記複数の記憶領域にそれぞれ対応し、前記計算機によって識別される複数の計算機側記憶領域を提供する計算機側記憶領域提供手段と、
    前記複数の計算機側記憶領域のうち、一の計算機側記憶領域に対するアクセスの要求を受信する受信部と、
    前記計算機から前記記憶装置システムにおけるアクセスの対象として認識される複数のターゲットデバイスの中から、要求された前記計算機側記憶領域にマウントすべきターゲットデバイスを特定するターゲットデバイス特定手段と、
    前記要求された計算機側記憶領域に対応付けるべきターゲットデバイスが他の計算機側記憶領域にマウントされているか否かを判定するマウント判定手段と、
    前記要求された計算機側記憶領域に対応付けるべき前記ターゲットデバイスが前記他の計算機側記憶領域にマウントされていると判定された場合には、前記ターゲットデバイスをアンマウントするアンマウント手段と、
    前記記憶装置システムからの割当完了通知を受けた後、前記ターゲットデバイスを前記要求された計算機側記憶領域にマウントするマウント手段と、
    前記要求された計算機側記憶領域に対応する前記記憶領域に対する、特定された前記ターゲットデバイスを介したアクセス要求を前記記憶装置に対して送信する送信部とを備え、
    前記記憶装置システムは、
    前記複数の論理的な記憶領域を形成する1または複数の物理記憶装置と、
    前記複数の記憶領域のうち一つの記憶領域が割り当てられ得る前記複数のターゲットデバイスと、
    前記計算機から送信された前記アクセス要求を受信する受信部と、
    前記アクセス要求に応じて、前記特定されたターゲットデバイスが他の記憶領域に対して割り当てられているか否かを判定する割当判定手段と、
    前記特定されたターゲットデバイスが前記他の記憶領域に対して割り当てられていると判定された場合には、前記他の記憶領域に対する前記特定されたターゲットデバイスの割当てを解除する割当解除手段と、
    前記特定されたターゲットデバイスを前記要求された計算機側記憶領域に対応する記憶領域に割り当てる割当手段と、
    前記割当てが正常に完了した場合に、前記割当完了通知を前記計算機に通知する割当完了通知手段とを備えるストレージシステム。
  20. 請求項19に記載のストレージシステムにおいて、
    前記特定されたターゲットデバイスが割り当てられる前記記憶領域は、アクセスが要求された前記計算機側記憶領域に対応する実データが排他的に割り当てられることによって形成される仮想的な記憶領域であるストレージシステム。
  21. 請求項19に記載のストレージシステムにおいて、
    前記論理的な記憶領域は、主情報を格納する論理的な記憶領域と任意の時期における前記主情報を提供するための情報を格納する論理的な記憶領域とを含み、前記特定されたターゲットデバイスは、前記任意の時期における前記主情報を提供するための情報を格納する論理的な記憶領域に割り当てられるストレージシステム。
  22. 複数の論理的な記憶領域を形成する1または複数の記憶装置を備える記憶装置システムに対してアクセスする計算機であって、
    前記複数の記憶領域にそれぞれ対応し、前記計算機によって識別される複数の計算機側記憶領域を提供する計算機側記憶領域提供手段と、
    前記複数の計算機側記憶領域のうち、一の計算機側記憶領域に対するアクセスの要求を受信する受信部と、
    前記計算機から前記記憶装置システムにおけるアクセスの対象として認識される複数のターゲットデバイスの中から、要求された前記計算機側記憶領域にマウントすべきターゲットデバイスを特定するターゲットデバイス特定手段と、
    前記要求された計算機側記憶領域に対応付けるべきターゲットデバイスが他の計算機側記憶領域にマウントされているか否かを判定するマウント判定手段と、
    前記要求された計算機側記憶領域に対応付けるべき前記ターゲットデバイスが前記他の計算機側記憶領域にマウントされていると判定された場合には、前記ターゲットデバイスをアンマウントするアンマウント手段と、
    前記記憶装置システムからの割当完了通知を受けた後、前記ターゲットデバイスを前記要求された計算機側記憶領域にマウントするマウント手段と、
    前記要求された計算機側記憶領域に対応する前記記憶領域に対する、特定された前記ターゲットデバイスを介したアクセス要求を前記記憶装置に対して送信する送信部とを備える計算機。
JP2006015741A 2005-03-25 2006-01-25 ストレージシステム Expired - Fee Related JP4987307B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2006015741A JP4987307B2 (ja) 2005-03-25 2006-01-25 ストレージシステム
EP20060251030 EP1705575B1 (en) 2005-03-25 2006-02-27 Storage system with dynamic mounting of storage devices.
US11/373,089 US7469330B2 (en) 2005-03-25 2006-03-13 Storage system having a first computer, a second computer connected to the first computer via a network, and a storage device system that is accessed by the second computer
CN2008101099061A CN101373418B (zh) 2005-03-25 2006-03-24 存储系统和访问方法
US12/326,394 US7793064B2 (en) 2005-03-25 2008-12-02 Storage system having a first computer, a second computer connected to the first computer via a network, and a storage device system that is accessed by the second computer
US12/851,759 US8656132B2 (en) 2005-03-25 2010-08-06 Storage system providing effective use of target device resources

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005087475 2005-03-25
JP2005087475 2005-03-25
JP2006015741A JP4987307B2 (ja) 2005-03-25 2006-01-25 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2006302253A true JP2006302253A (ja) 2006-11-02
JP4987307B2 JP4987307B2 (ja) 2012-07-25

Family

ID=37036559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006015741A Expired - Fee Related JP4987307B2 (ja) 2005-03-25 2006-01-25 ストレージシステム

Country Status (2)

Country Link
US (3) US7469330B2 (ja)
JP (1) JP4987307B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009075654A (ja) * 2007-09-18 2009-04-09 Hitachi Ltd ディスク領域割当管理システム、ディスク領域割当管理方法、管理サーバ、および計算機
JP2009237811A (ja) * 2008-03-26 2009-10-15 Fujitsu Ltd 割当制御プログラム、割当制御装置、および割当制御方法
US9979787B2 (en) 2014-07-09 2018-05-22 Buffalo Inc. Information processing system, network storage device, and non-transitory recording medium

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008250591A (ja) * 2007-03-30 2008-10-16 Hitachi Ltd デバイスを管理する計算機
US8983938B1 (en) * 2009-02-06 2015-03-17 Hewlett-Packard Development Company, L.P. Selecting a command file
US8204860B1 (en) * 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
US9256372B2 (en) * 2012-12-05 2016-02-09 Hitachi, Ltd. Storage device and method of controlling storage device
JP2015079409A (ja) * 2013-10-18 2015-04-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 階層管理下の論理ボリュームのスナップショットの作成及び管理
US10007602B2 (en) * 2014-05-06 2018-06-26 International Business Machines Corporation Flash copy relationship management
US10108352B2 (en) 2015-03-03 2018-10-23 International Business Machines Corporation Incremental replication of a source data set
US9601151B1 (en) * 2015-10-26 2017-03-21 International Business Machines Corporation Reducing data storage system I/O bandwidth via read-once point in time copy

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1031599A (ja) * 1996-07-15 1998-02-03 Nippon Steel Corp データ記憶システム
JP2001051882A (ja) * 1999-08-04 2001-02-23 Fujitsu Ltd スナップショット参照方法、及び記憶装置
JP2001142648A (ja) * 1999-08-27 2001-05-25 Hitachi Ltd 計算機システム及びそのデバイスの割り当て方法
JP2003256144A (ja) * 2002-02-28 2003-09-10 Hitachi Ltd 記憶装置
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP2005050024A (ja) * 2003-07-31 2005-02-24 Toshiba Corp 計算機システムおよびプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649152A (en) * 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
US6854034B1 (en) * 1999-08-27 2005-02-08 Hitachi, Ltd. Computer system and a method of assigning a storage device to a computer
JP4087072B2 (ja) * 2001-01-25 2008-05-14 株式会社日立製作所 ストレージシステム及び仮想プライベートボリューム制御方法
JP4108973B2 (ja) * 2001-12-26 2008-06-25 株式会社日立製作所 バックアップシステム
JP3993773B2 (ja) 2002-02-20 2007-10-17 株式会社日立製作所 ストレージサブシステム、記憶制御装置及びデータコピー方法
US7249218B2 (en) * 2002-08-29 2007-07-24 International Business Machines Corporation Method, system, and program for managing an out of available space condition
US7007043B2 (en) * 2002-12-23 2006-02-28 Storage Technology Corporation Storage backup system that creates mountable representations of past contents of storage volumes
JP4292882B2 (ja) * 2003-03-18 2009-07-08 株式会社日立製作所 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
US7716184B1 (en) * 2003-06-12 2010-05-11 Symantec Operating Corporation System and method for performing sparse backups
JP4462852B2 (ja) * 2003-06-23 2010-05-12 株式会社日立製作所 ストレージシステム及びストレージシステムの接続方法
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7225210B2 (en) * 2003-11-20 2007-05-29 Overland Storage, Inc. Block level data snapshot system and method
JP4400913B2 (ja) 2003-11-26 2010-01-20 株式会社日立製作所 ディスクアレイ装置
JP4463042B2 (ja) * 2003-12-26 2010-05-12 株式会社日立製作所 ボリュームの動的割り付け機能を有する記憶装置システム
JP4401863B2 (ja) * 2004-05-14 2010-01-20 株式会社日立製作所 ストレージシステム
JP4490451B2 (ja) 2007-03-02 2010-06-23 富士通株式会社 階層型ストレージ管理システムにおける要求スケジューリング方法、要求スケジューリング装置、及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1031599A (ja) * 1996-07-15 1998-02-03 Nippon Steel Corp データ記憶システム
JP2001051882A (ja) * 1999-08-04 2001-02-23 Fujitsu Ltd スナップショット参照方法、及び記憶装置
JP2001142648A (ja) * 1999-08-27 2001-05-25 Hitachi Ltd 計算機システム及びそのデバイスの割り当て方法
JP2003256144A (ja) * 2002-02-28 2003-09-10 Hitachi Ltd 記憶装置
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP2005050024A (ja) * 2003-07-31 2005-02-24 Toshiba Corp 計算機システムおよびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009075654A (ja) * 2007-09-18 2009-04-09 Hitachi Ltd ディスク領域割当管理システム、ディスク領域割当管理方法、管理サーバ、および計算機
JP2009237811A (ja) * 2008-03-26 2009-10-15 Fujitsu Ltd 割当制御プログラム、割当制御装置、および割当制御方法
US9979787B2 (en) 2014-07-09 2018-05-22 Buffalo Inc. Information processing system, network storage device, and non-transitory recording medium

Also Published As

Publication number Publication date
US20060218370A1 (en) 2006-09-28
US7793064B2 (en) 2010-09-07
US20110055504A1 (en) 2011-03-03
JP4987307B2 (ja) 2012-07-25
US7469330B2 (en) 2008-12-23
US20090119473A1 (en) 2009-05-07
US8656132B2 (en) 2014-02-18

Similar Documents

Publication Publication Date Title
JP4987307B2 (ja) ストレージシステム
US7991974B2 (en) Storage system having dynamic volume allocation function
US7434017B2 (en) Storage system with virtual allocation and virtual relocation of volumes
US7587553B2 (en) Storage controller, and logical volume formation method for the storage controller
JP4574408B2 (ja) 記憶装置システムの制御技術
US20060095700A1 (en) Storage system
US20100036896A1 (en) Computer System and Method of Managing Backup of Data
US9921781B2 (en) Storage system including multiple storage apparatuses and pool virtualization method
JP2009104421A (ja) ストレージアクセス装置
US20080270698A1 (en) Data migration including operation environment information of a host computer
US10788999B2 (en) Information system, management program, and program exchange method of information system
EP1705555B1 (en) Storage system
JP5355603B2 (ja) ディスクアレイ装置及び論理ボリュームアクセス方法
EP1705575B1 (en) Storage system with dynamic mounting of storage devices.
WO2016027370A1 (ja) アーカイブ制御システム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111013

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees