Nothing Special   »   [go: up one dir, main page]

JP4741371B2 - システム、サーバ装置及びスナップショットの形式変換方法 - Google Patents

システム、サーバ装置及びスナップショットの形式変換方法 Download PDF

Info

Publication number
JP4741371B2
JP4741371B2 JP2006000901A JP2006000901A JP4741371B2 JP 4741371 B2 JP4741371 B2 JP 4741371B2 JP 2006000901 A JP2006000901 A JP 2006000901A JP 2006000901 A JP2006000901 A JP 2006000901A JP 4741371 B2 JP4741371 B2 JP 4741371B2
Authority
JP
Japan
Prior art keywords
snapshot
volume
format conversion
differential
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006000901A
Other languages
English (en)
Other versions
JP2007183763A (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 JP2006000901A priority Critical patent/JP4741371B2/ja
Priority to US11/361,366 priority patent/US7392357B2/en
Priority to EP06254392A priority patent/EP1816555A3/en
Publication of JP2007183763A publication Critical patent/JP2007183763A/ja
Priority to US12/153,576 priority patent/US7827368B2/en
Application granted granted Critical
Publication of JP4741371B2 publication Critical patent/JP4741371B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージシステム及びサーバ装置を備えるシステムに関し、スナップショットを管理する技術に関する。
近年、高信頼・高性能なSANと管理容易なNASとが統合されたSAN−NAS統合ストレージシステムが普及し始めている。
SAN−NAS統合ストレージシステムは、運用ボリュームに格納されているデータを保護するために、スナップショット機能を備える。SAN−NAS統合ストレージシステムは、スナップショット機能を用いて、運用ボリュームの特定の時点の静止化イメージであるスナップショットを作成する。なお、スナップショットの技術として、複製スナップショット及び差分スナップショットが知られている。
複製スナップショットに関する技術は、例えば、特許文献1に開示されている。SAN−NAS統合ストレージシステムは、運用ボリュームと同期するミラーボリュームを作成する。そして、SAN−NAS統合ストレージシステムは、作成したミラーボリュームを物理的に切断するスプリット処理を行うことによって、複製スナップショットを作成する。
複製スナップショットは、ディスク資源を大量に消費するので、少ない世代しか提供できないという問題がある。しかし、複製スナップショットは、運用ボリュームと物理的に分離されているため、非常に高いアクセス性能を実現できる。そのため、複製スナップショットは、高いアクセス性能が要求されるスナップショットとして使用される。例えば、複製スナップショットは、オンラインバックアップ用のスナップショットとして使用される。
また、差分スナップショットに関する技術は、特許文献2に開示されている。SAN−NAS統合ストレージシステムは、運用ボリュームと差分スナップショットとの差分データのみを記憶する。そして、SAN−NAS統合ストレージシステムは、記憶している差分データと運用ボリュームとを合成することによって、仮想的な差分スナップショットを提供する。
差分スナップショットは、差分データと運用ボリュームとを合成することによって作成されるので、複製スナップショットほどのアクセス性能を実現できない。しかし、差分スナップショットは、ディスク資源の使用量が少ないので、複製スナップショットより多くの世代を提供できる。そのため、差分スナップショットは、多世代を提供するスナップショットとして使用される。例えば、差分スナップショットは、共有ファイルサーバの定期バックアップ用のスナップショットとして使用される。
SAN−NAS統合ストレージシステムは、複製スナップショット及び差分スナップショットスナップの機能を備えることによって、アクセス性能の要件及びディスク資源の使用量の要件に応じたスナップショットを提供できる。
また、特許文献3には、スナップショット機能を利用したリモートコピーを行うストレージシステムが開示されている。当該ストレージシステムは、差分ビットマップを参照しながら、差分データを運用ボリュームから複製ボリュームへコピーする。
米国特許第6,101,497 米国特許US2004/0186900A1 特開2005−267569号公報
一般的に、スナップショットに対するアクセス性能の要件は、時間の経過と共に緩和される。逆に、スナップショットに対するディスク資源の使用量の要件は、時間の経過と共に厳しくなる。
SAN−NAS統合ストレージシステムは、ある程度の時間が経過した後に、複製スナップショットを差分スナップショットに変換することによって、スナップショットに対するアクセス性能の要件及びディスク資源の使用量の要件を満たすことができる。しかし、従来のストレージシステムは、複製スナップショットを差分スナップショットに変換できない。
本発明は、前述した問題点に鑑みてなされたものであって、複製スナップショットを差分スナップショットに変換する統合ストレージシステムを提供することを目的とする。
本発明の代表的な実施の形態は、ストレージシステムと、前記ストレージシステムに通信線を介して接続されるサーバ装置と、を備え、クライアント計算機にネットワークを介して接続されるシステムであって、前記ストレージシステムは、データを格納するディスクドライブと、前記ディスクドライブへのデータの入出力を制御するディスク制御部と、を備え、前記サーバ装置は、前記ストレージシステムに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、前記ディスク制御部は、前記ディスクドライブの記憶領域を、前記クライアント計算機から書き込み要求されるデータを記憶する運用ボリューム、前記運用ボリュームと当該運用ボリュームの差分スナップショットとの差分データを記憶する差分ボリューム、及び複製スナップショット取得時点の前記運用ボリュームの全てのデータを記憶する複製スナップショットボリュームを含む複数の論理ボリュームとして提供し、前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを示す差分ブロックビットマップを記憶し、前記プロセッサは、前記差分ブロックビットマップを前記ディスク制御部から取得し、前記取得された差分ブロックビットマップに基づいて、前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを特定し、前記特定されたブロックに格納された差分データを、前記複製スナップショットボリュームから取得し、前記取得された差分データを前記差分ボリュームに格納し、前記差分ボリュームに格納された前記差分データの配置を、差分ブロック配置情報に格納し、前記運用ボリューム、前記差分ボリューム及び前記差分ブロック配置情報に基づいて、前記複製スナップショットに対応する差分スナップショットを提供する。
本発明の代表的な実施の形態によれば、統合ストレージシステムは、複製スナップショットを差分スナップショットに変換できる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の実施の形態の情報システムの構成のブロック図である。
情報システムは、NASクライアント101、NAS管理端末102、NAS統合装置104及びストレージ管理端末105を備える。
NAS統合装置104は、ネットワーク103を介して、NASクライアント101及びNAS管理端末102に接続されている。ネットワーク103は、例えば、LAN、インターネット又はWAN等である。
NAS統合装置104は、NASサーバ装置110及びストレージシステム120を備える。そして、NAS統合装置104は、NASクライアント101に対して、NASサービスを提供する。
NASサービスには、ファイル共有サービス、スナップショットサービス及びスナップショット形式変換サービスが含まれる。ファイル共有サービス及びスナップショットサービスは、公知の技術であるので、詳細な説明は省略する。また、スナップショット形式変換サービスは、本実施の形態によって実現されるサービスである。
なお、NASサーバ装置110とストレージシステム120とは、内部ネットワーク130によって接続されている。内部ネットワーク130は、NAS統合装置104に内蔵された専用バスであってもよいし、SAN又はLAN等の汎用ネットワークであってもよい。
NASサーバ装置110は、内部ネットワーク130を介して複数のストレージシステム120に接続されていてもよい。また、ストレージシステム120は、内部ネットワーク130を介して複数のNASサーバ装置110に接続されていてもよい。
NASサーバ装置110は、CPU11、メモリ12、データ転送コントローラ13、ネットワークインターフェース14及びストレージ用インターフェース15を備える。
CPU11は、メモリ12に記憶されているプログラムを実行することによって、各種処理を行う。メモリ12は、CPU11によって実行されるプログラム等を記憶する。なお、メモリ12に記憶されるプログラム及び情報は、図2で詳細を説明する。また、メモリ12には、データキャッシュ(図示省略)が含まれていてもよい。
データ転送コントローラ13は、CPU11、ネットワークインターフェース14及びストレージ用インターフェース15の間でデータを転送する。なお、データ転送コントローラ13は、メモリ12の代わりに、データキャッシュを備えていてもよい。
ネットワークインタフェース14は、ネットワーク103に接続されるインタフェースである。ストレージ用インタフェース15は、内部ネットワーク130を介してストレージシステム120に接続されるインタフェースである。
ストレージシステム120は、ディスクコントローラ(DKC)125及び複数のディスクドライブを備える。
ディスクコントローラ125は、CPU、メモリ及びインタフェースを備え、ディスクドライブに対してデータを読み書きする。また、ディスクコントローラ125は、ディスクドライブの記憶領域を論理ボリューム単位でNASクライアント101に提供する。
それぞれの論理ボリュームは、運用ボリューム(Primary Volume)141、差分ボリューム(Differntial Volume)142又は複製スナップショットボリューム151として設定される。なお、運用ボリューム141、差分ボリューム142及び複製スナップショットボリューム151は、それぞれ一つずつを図示しているが、複数備えられていてもよい。
運用ボリューム141は、NASクライアント101から書き込み要求されたデータを記憶する。
差分ボリューム142は、NASサーバ装置110が管理する差分スナップショットと運用ボリューム141との差分データを記憶する。なお、差分ボリューム142には、差分ブロック管理テーブル203が含まれる。
複製スナップショットボリューム151は、ある時点における運用ボリューム141の複製である。ディスクコントローラ125は、図7で後述するミラー管理プログラムを実行することによって、複製スナップショットボリューム151を作成する。
NAS管理端末102は、CPU、メモリ及びインタフェースを備える計算機である。そして、NAS管理端末102は、NAS統合装置104に指示を与えることによって、NAS統合装置104を制御する。
ストレージ管理端末105は、CPU、メモリ及びインタフェースを備える計算機である。そして、ストレージ管理端末105は、ストレージシステム120を制御する。
図2は、本発明の実施の形態のNAS統合装置104の機能に関するブロック図である。
NAS統合装置104は、NASサーバ装置110及びストレージシステム120を備える。
NASサーバ装置110のメモリ12には、NASサーバプログラム111、ファイルシステム処理プログラム112、差分スナップショット管理プログラム113、ストレージシステム制御プログラム114、スナップショット形式変換プログラム115及びスナップショット形式変換管理情報116が記憶されている。なお、NASサーバプログラム111、ファイルシステム処理プログラム112、差分スナップショット管理プログラム113、ストレージシステム制御プログラム114、スナップショット形式変換プログラム115及びスナップショット形式変換管理情報116は、ストレージシステム120のディスクコントローラ125のメモリに記憶され、当該ディスクコントローラ125のCPUによって実行されてもよい。
NASサーバプログラム111は、ファイルへのアクセス要求をNASクライアント101から受信する。次に、NASサーバプログラム111は、受信したアクセス要求を、ファイルシステム処理プログラム112に送る。次に、NASサーバプログラム111は、アクセス要求の処理結果を、ファイルシステム処理プログラム112から受け取る。そして、NASサーバプログラム111は、受け取った処理結果を、アクセス要求の送信元であるNASクライアント101に送信する。
ファイルシステム処理プログラム112は、NASサーバプログラム111から受け取ったアクセス要求に基づいて、読出要求及び書込要求を作成する。なお、ファイルシステム処理プログラム112は、データを読み出すファイル又はディレクトリが格納されているボリュームの識別子、データを読み出すブロック(データブロック)のアドレス及び読み出すデータのサイズ等を含む読出要求を作成する。同様に、ファイルシステム処理プログラム112は、データを書き込むファイル又はディレクトリが格納されているボリュームの識別子、データを書き込むブロック(データブロック)のアドレス及び書き込むデータのサイズ等を含む書込要求を作成する。
そして、ファイルシステム処理プログラム112は、作成した読出要求又は書込要求を、差分スナップショット管理プログラム113に送る。
差分スナップショット管理プログラム113は、差分スナップショット仮想ボリュームを管理する。なお、差分スナップショット仮想ボリュームについては、図3で詳細を説明する。
また、差分スナップショット管理プログラム113は、読出要求又は書込要求をファイルシステム処理プログラム112から受け取る。そして、差分スナップショット管理プログラム113は、受け取った読出要求又は書込要求に対応する処理を行う。なお、差分スナップショット管理プログラム113ついては、図4で詳細を説明する。
ストレージシステム制御プログラム114は、ストレージシステム120のミラー管理プログラム121を制御する。具体的には、ストレージシステム制御プログラム114は、ミラーリング要求又はスプリット要求を、ストレージシステム120のミラー管理プログラム121に発行する。これによって、NASサーバ装置110及びストレージシステム120は、連携して動作するので、一つの統合NAS装置104として動作する。
スナップショット形式変換プログラム115は、複製スナップショット形式変換処理及び差分スナップショット形式変換処理を行う。なお、スナップショット形式変換プログラム115については、図9で詳細を説明する。
なお、複製スナップショット形式変換処理は、複製スナップショットを差分スナップショットへ変換する処理である。また、差分スナップショット形式変換処理は、複製スナップショットを差分スナップショットへ変換する処理である。
本実施の形態では、複製スナップショットは、ストレージシステム120によって管理されているが、NASサーバ装置110によって管理されてもよい。また、差分スナップショットは、NASサーバ装置110によって管理されているが、ストレージシステム120によって管理されてもよい。
スナップショット形式変換管理情報116は、スナップショット形式変換プログラム115によって用いられる。また、スナップショット形式変換管理情報116は、形式変換プロセス数カウンタ216、スナップショット形式変換管理テーブル217及び差分ブロック複製ビットマップ218を含む。
形式変換プロセス数カウンタ216は、図10で後述するが、スナップショット形式変換プログラム115によって実行されている形式変換処理の数を示す。なお、形式変換処理は、複製スナップショット形式変換処理又は差分スナップショット形式変換処理のいずれかである。
スナップショット形式変換管理テーブル217は、図11で後述するが、スナップショット形式変換プログラム115によって実行されている形式変換処理を管理する。差分ブロック複製ビットマップ218は、図12で後述するが、ストレージシステム120の差分ブロックビットマップ122の複製である。
ストレージシステム120のディスクコントローラ125のメモリには、ミラー管理プログラム121及び差分ブロックビットマップ122が記憶されている。なお、ミラー管理プログラム121及び差分ブロックビットマップ122は、NASサーバ装置110のメモリ12に記憶され、当該NASサーバ装置110のCPU11によって実行されてもよい。
ミラー管理プログラム121は、複製スナップショットボリューム151を作成する。具体的には、ミラー管理プログラム121は、運用ボリューム141と同期したミラーボリュームを作成する。次に、ミラー管理プログラム121は、作成したミラーボリュームを物理的に切断するスプリット処理を行うことによって、複製スナップショットボリューム151を作成する。
差分ブロックビットマップ122は、図8で後述するが、運用ボリューム141と複製スナップショットボリューム151とで異なるデータを記憶するブロックのアドレスを示す。
図3は、本発明の実施の形態のNASサーバ装置110が管理する差分スナップショット仮想ボリューム152の説明図である。
NASサーバ装置110の差分スナップショット管理プログラム113は、運用ボリューム141と共に、差分ボリューム142を管理する。運用ボリューム141には、運用されているファイルシステムが格納されている。差分ボリューム142には、差分スナップショットに必要な差分データが格納されている。
差分スナップショット管理プログラム113は、差分ボリューム142に格納されている差分ブロック管理テーブル203を更新することによって、差分スナップショット仮想ボリューム152を定期的に作成する。例えば、差分スナップショット管理プログラム113は、一週間ごとに、差分スナップショット仮想ボリューム152を作成する。なお、差分スナップショット仮想ボリューム152は、仮想的なボリュームであり、過去のある時点の運用ボリューム141の複製である。
差分ブロック管理テーブル203は、図5で後述するが、差分スナップショット仮想ボリューム152のデータの配置を管理する。
また、差分スナップショット管理プログラム113は、差分ブロック管理テーブル203を参照しながら、運用ボリューム141のデータと差分ボリューム142のデータとを合成する。具体的には、差分スナップショット管理プログラム113は、運用ボリューム141及び差分ボリューム142の中から、差分ブロック管理テーブル203によって指定されるブロックのデータを読み込む。これによって、差分スナップショット管理プログラム113は、差分スナップショット仮想ボリューム152のデータを読み込む。
図4は、本発明の実施の形態のNASサーバ装置110の差分スナップショット管理プログラム113のブロック図である。
差分スナップショット管理プログラム113は、書込処理サブプログラム1131、読出処理サブプログラム1132、差分スナップショット生成サブプログラム1133及び差分スナップショット削除サブプログラム1134を含む。
書込処理サブプログラム1131は、書込要求をファイルシステム処理プログラム112から受け取る。すると、書込処理サブプログラム1131は、ストレージシステム120の運用ボリューム141のデータを、ストレージシステム120の差分ボリューム142に退避させる。そして、書込処理サブプログラム1131は、書き込みを要求されたデータを、ストレージシステム120の運用ボリューム141に書き込む。なお、書込処理サブプログラム1131の処理については、図6で詳細を説明する。
読出処理サブプログラム1132は、読出要求をファイルシステム処理プログラム112から受け取る。すると、読出処理サブプログラム1132は、ストレージシステム120の論理ボリュームからデータを読み出す。なお、読出処理サブプログラム1132の処理については、図17で詳細を説明する。
差分スナップショット生成サブプログラム1133は、NAS管理端末102から差分スナップショット生成要求を受ける。すると、差分スナップショット生成サブプログラム1133は、差分ボリューム142に格納されている差分ブロック管理テーブル203を更新する。これによって、差分スナップショット生成サブプログラム1133は、差分スナップショット仮想ボリューム152を作成する。
差分スナップショット削除プログラム1134は、NAS管理端末102から差分スナップショット削除要求を受ける。すると、差分スナップショット削除サブプログラム1134は、差分ボリューム142に格納されている差分ブロック管理テーブル203を更新する。これによって、差分スナップショット削除サブプログラム1134は、差分スナップショット仮想ボリューム152を削除する。
図5は、本発明の実施の形態の差分ブロック管理テーブル203の構成図である。
差分ブロック管理テーブル203には、差分スナップショット仮想ボリューム152のブロックのデータ状態2033が格納される。具体的には、差分ブロック管理テーブル203には、VVOL番号2031及びブロックアドレス2032に対応するブロックのデータ状態2033が格納される。
VVOL番号2031は、差分スナップショット仮想ボリューム152のスナップショット世代の識別子である。ブロックアドレス2032は、差分スナップショット仮想ボリューム152のブロックの一意な識別子である。
データ状態2033は、差分スナップショット仮想ボリューム152の当該ブロックのデータが実際に格納されている位置を示す。具体的には、差分スナップショット仮想ボリューム152のブロックのデータが、運用ボリューム141のブロックに格納されている場合、データ状態2033には、「0」が格納される。一方、差分スナップショット仮想ボリューム152のブロックのデータが、差分ボリューム142のブロックに格納されている場合、データ状態2033には、差分ボリューム142の当該ブロックのアドレスが格納される。
また、差分ブロック管理テーブル203は、運用ボリュームID2035、差分ボリュームID2036及び使用フラグ2037を含む。
運用ボリュームID2035は、当該差分スナップショット仮想ボリューム152のデータが実際に格納されている運用ボリューム141の識別子である。また、差分ボリュームID2036は、当該差分スナップショット仮想ボリューム152のデータが実際に格納されている差分ボリューム142の識別子である。
使用フラグ2037は、当該レコードに格納されている情報が有効であるか否かを示す。つまり、使用フラグ2037は、当該レコードに対応する差分スナップショット仮想ボリューム152が有効であるか否かを示す。
図6は、本発明の実施の形態の差分スナップショット管理プログラム113の処理の説明図である。
差分スナップショット管理プログラム113の書込処理サブプログラム1131は、ファイルシステム処理プログラム112から書込要求を受ける。すると、書込処理サブプログラムは、コピーオンライト処理によって、データを書き込むブロックのデータを、運用ボリューム141から差分ボリューム142に退避させる。次に、書込処理サブプログラム1131は、書き込み要求されたデータを運用ボリューム141に書き込む。
そして、差分スナップショット管理プログラム113は、差分ボリューム142に退避させたデータが格納されているブロックのアドレスを、差分ブロック管理テーブル203に格納する。このようにして、差分スナップショット管理プログラム113は、差分スナップショットを、差分スナップショット仮想ボリューム152として管理する。
次に、書込処理サブプログラム1131が、運用ボリューム141のブロック「#123」にデータBの書き込みを要求された場合を説明する。
すると、書込処理サブプログラム1131は、運用ボリューム141のブロック「#123」に格納されているデータAを退避させるため、差分ボリューム142に退避用のブロック「#456」を確保する。次に、書込処理サブプログラム1131は、運用ボリューム141のブロック「#123」に格納されているデータAを、差分ボリューム142のブロック「#456」に書き込む。これによって、書込処理サブプログラム1131は、運用ボリューム141の「ブロック#123」に格納されているデータAを退避させる。
次に、書込処理サブプログラム1131は、書き込みを要求されたデータBを、運用ボリューム141のブロック「#123」に書き込む。更に、書込処理サブプログラム1131は、差分ブロック管理テーブル203のデータ状態2033に、差分ボリューム142のブロック「#456」のアドレスを格納する。
例えば、現在の差分スナップショット仮想ボリューム152のスナップショット世代が「No.3」の場合を説明する。
この場合、書込処理サブプログラム1131は、現在の差分スナップショット仮想ボリューム152のスナップショット世代の「No.3」と差分ブロック管理テーブル203のVVOL番号2031とが一致するレコードを選択する。次に、書込処理サブプログラム1131は、運用ボリューム141にデータBを書き込んだブロック「#123」のアドレスと差分ブロック管理テーブル203のブロックアドレス2033とが一致するデータ状態2033を、選択したエントリから選択する。そして、書込処理サブプログラム1131は、選択したデータ状態2033に、差分ボリューム142にデータAを退避させたブロック「#456」のアドレスを格納する。
次に、差分スナップショット管理プログラム113の読出処理サブプログラム1132が、スナップショット世代が「No.3」の差分スナップショット仮想ボリューム152を読み出す処理を説明する。
読出処理サブプログラム1132は、差分ブロック管理テーブル203を参照して、運用ボリューム141及び差分ボリューム142からデータを読み出すことによって、差分スナップショット仮想ボリューム152を読み出す。
具体的には、読出処理サブプログラム132は、差分スナップショット仮想ボリューム152のブロック「#1〜#122」及び「#124〜#n」のデータを、運用ボリューム141から読み出す。また、読出処理サブプログラム132は、差分スナップショット仮想ボリューム152のブロック「#123」のデータを、差分ボリューム142のブロック「#456」から読み出す。
図7は、本発明の実施の形態のストレージシステム120のミラー管理プログラム121のブロック図である。
ミラー管理プログラム121は、ミラー作成/削除サブプログラム221、スプリットサブプログラム222、リシンクサブプログラム223及び読出/書込サブプログラム224から構成される。
ミラー作成/削除サブプログラム221は、運用ボリューム141のミラーであるミラーボリュームの作成及び削除を行う。スプリットプログラム222は、ミラー作成/削除サブプログラム221が作成したミラーボリュームを物理的に切断することによって、複製スナップショットボリューム151を作成する。
リシンクサブプログラム223は、複製スナップショット151のデータを運用ボリューム141に反映する。これによって、リシンクサブプログラム223は、当該複製スナップショットボリューム151の作成時点に、運用ボリューム141のデータを戻す。
読出/書込サブプログラム224は、運用ボリューム141、複製スナップショットボリューム151及びミラーボリュームに対して、データを読み書きする。
図8は、本発明の実施の形態のストレージシステム120の差分ブロックビットマップ122の説明図である。
差分ブロックビットマップ122は、運用ボリューム141と複製スナップショットボリューム151とで異なるデータを記憶するブロックのアドレスを示す。そのため、差分ブロックビットマップ122は、運用ボリューム141を構成するブロックの数と同数以上のビット幅を有する。
本実施の形態の差分ブロックビットマップ122では、運用ボリューム141と複製スナップショットボリューム151とで異なるデータを記憶するブロックのビット値を「1」とする。一方、運用ボリューム141と差分ボリューム142とで同一のデータを記憶するブロックのビット値を「0」とする。
差分ブロックビットマップ122は、ミラー作成/削除サブプログラム221によって作成、更新又は削除される。
また、差分ブロックビットマップ122は、リシンクサブプログラム223によって参照される。リシンクサブプログラム223は、差分ブロックビットマップ122を参照することによって、複製スナップショットボリューム151の中から運用ボリューム141と異なるブロックのみを選択する。そして、リシンクサブプログラム223は、選択したブロックのデータを運用ボリューム141に書き込むことによって、リシンク処理を行う。
図9は、本発明の実施の形態のNASサーバ装置110のスナップショット形式変換プログラム115のブロック図である。
スナップショット形式変換プログラム115は、複製スナップショット形式変換制御サブプログラム1151、複製スナップショット形式変換実行サブプログラム1152、差分スナップショット形式変換制御サブプログラム1153、差分スナップショット形式変換実行サブプログラム1154及び変換中読出先ボリューム選択サブプログラム1155を含む。
複製スナップショット形式変換制御サブプログラム1151は、NAS管理端末102から複製スナップショット形式変換処理の実行要求を受けると、複製スナップショット形式変換実行サブプログラム1152を起動する。複製スナップショット形式変換処理は、複製スナップショットを差分スナップショットに変換する処理である。なお、複製スナップショット形式変換制御サブプログラム1151の処理は、図13で詳細を説明する。
複製スナップショット形式変換実行サブプログラム1152は、複製スナップショット形式変換処理を実行する。なお、複製スナップショット形式変換実行サブプログラム1152の処理は、図14で詳細を説明する。
差分スナップショット形式変換制御サブプログラム1153は、NAS管理端末102から差分スナップショット形式変換処理の実行要求を受けると、差分スナップショット形式変換実行サブプログラム1154を起動する。差分スナップショット形式変換処理は、差分スナップショットを複製スナップショットに変換する処理である。なお、差分スナップショット形式変換制御サブプログラム1153の処理は、図15で詳細を説明する。
差分スナップショット形式変換実行サブプログラム1154は、差分スナップショット形式変換処理を実行する。なお、差分スナップショット形式変換実行サブプログラム1154の処理は、図16で詳細を説明する。
読出処理サブプログラム1132は、複製スナップショット形式変換サブプログラム1152及び差分スナップショット形式変換実行サブプログラム1154の少なくとも一方が実行されている時に読出要求を受けると、変換中読出先ボリューム選択サブプログラム1155を起動する。すると、変換中読出先ボリューム選択サブプログラム1155は、読出処理サブプログラム1132が実際にデータを読み出す論理ボリュームを選択する。
図10は、本発明の実施の形態のNASサーバ装置110の形式変換プロセス数カウンタ216の説明図である。
形式変換プロセス数カウンタ216は、実行されているスナップショット形式変換実行サブプログラムの数を数える。スナップショット形式変換実行サブプログラムは、複製スナップショット形式変換実行サブプログラム1152及び差分スナップショット形式変換実行サブプログラム1154の総称である。本説明図の形式変換プロセス数カウンタ216は、三つのスナップショット形式変換実行サブプログラムが同時に動作していることを示す。
形式変換プロセス数カウンタ216は、スナップショット形式変換実行サブプログラムの実行開始時にインクリメントされる。そして、形式変換プロセス数カウンタ216は、スナップショット形式変換実行サブプログラムの実行終了時にデクリメントされる。
なお、読出処理サブプログラム1132は、形式変換プロセス数カウンタ216を参照して、変換中読出先ボリューム選択サブプログラム1155を起動するか否かを判定する。
図11は、本発明の実施の形態のNASサーバ装置110のスナップショット形式変換管理テーブル217の構成図である。
スナップショット形式変換管理テーブル217は、複製スナップショット形式変換実行サブプログラム1152が実行する複製スナップショット形式変換処理及び差分スナップショット形式変換実行サブプログラム1154が実行する差分スナップショット形式変換処理を管理する。そのため、スナップショット形式変換管理テーブル217は、スナップショット変換プロセス番号301、変換先ボリューム識別子302、変換元ボリューム識別子303及び変換中ブロックアドレス304を含む。
スナップショット変換プロセス番号301は、スナップショット形式変換実行サブプログラムの一意な識別子である。本説明図では、スナップショット変換プロセス番号301の「0」、「1」及び「2」は、複製スナップショット形式変換実行サブプログラム1152の識別子である。また、スナップショット変換プロセス番号301の「3」、「4」及び「5」は、差分スナップショット形式変換実行サブプログラム1154の識別子である。
変換先ボリューム識別子302は、形式変換先のスナップショットボリュームの一意な識別子である。具体的には、複製スナップショット形式変換実行サブプログラム1152に関するレコードの変換先ボリューム識別子302には、形式変換先の複製スナップショットボリューム151の識別子が格納される。一方、差分スナップショット形式変換実行サブプログラム1154に関するレコードの変換先ボリューム識別子302には、形式変換先の差分スナップショット仮想ボリューム152の識別子が格納される。
変換元ボリューム識別子303は、形式変換元のスナップショットボリュームの一意な識別子である。具体的には、複製スナップショット形式変換実行サブプログラム1152に関するレコードの変換元ボリューム識別子303には、形式変換元の差分スナップショット仮想ボリューム152の識別子が格納される。一方、差分スナップショット形式変換実行サブプログラム1154に関するレコードの変換元ボリューム識別子303には、形式変換元の複製スナップショットボリューム151の識別子が格納される。
変換中ブロックアドレス304は、スナップショット形式変換実行サブプログラムによって形式変換中のブロックの一意な識別子である。
図12は、本発明の実施の形態のNASサーバ装置110の差分ブロック複製ビットマップ218の説明図である。
差分ブロック複製ビットマップ218は、ストレージシステム120の差分ブロックビットマップ122(図8)の複製である。よって、差分ブロック複製ビットマップ218は、運用ボリューム141と複製スナップショットボリューム151とで異なるデータを記憶するブロックのアドレスを示す。そのため、差分ブロック複製ビットマップ218は、運用ボリューム141を構成するブロックの数と同数以上のビット幅を有する。
本実施の形態の差分ブロック複製ビットマップ218では、運用ボリューム141と差分ボリューム142とで異なるデータを記憶するブロックのビット値を「1」とする。一方、運用ボリューム141と複製スナップショットボリューム151とで同一のデータを記憶するブロックのビット値を「0」とする。
図13は、本発明の実施の形態の複製スナップショット形式変換制御サブプログラム1151の処理のフローチャートである。
複製スナップショット形式変換制御サブプログラム1151は、NAS管理端末102から複製スナップショット形式変換処理の実行要求を受けると、本処理を開始する。まず、複製スナップショット形式変換制御サブプログラム1151は、形式変換の対象(変換元)となる複製スナップショットボリューム151が正常か否かを判定する(501)。例えば、複製スナップショット形式変換制御サブプログラム1151は、論理ボリュームが正常か否かを示す論理ボリューム状態フラグに基づいて、複製スナップショットボリューム151が正常か否かを判定する。なお、論理ボリューム状態フラグは、NASサーバ装置110のメモリ12に記憶されている。
変換元の複製スナップショットボリューム151が正常でないと、複製スナップショット形式変換制御サブプログラム1151は、複製スナップショット形式変換処理を実行できないと判定し、本処理を終了する。
一方、変換元の複製スナップショットボリューム151が正常の場合、複製スナップショット形式変換制御サブプログラム1151は、変換元の複製スナップショットボリューム151の識別子が、スナップショット形式変換管理テーブル217の変換先ボリューム識別子302及び変換元ボリューム識別子303の少なくとも一方に格納されているか否かを判定する(502)。
変換元の複製スナップショットボリューム151の識別子が格納されていると、複製スナップショット形式変換制御サブプログラム1151は、当該複製スナップショットボリューム151がスナップショット形式変換処理を実行されている最中であると判定する。よって、複製スナップショット形式変換制御サブプログラム1151は、そのまま本処理を終了する。
一方、変換元の複製スナップショットボリューム151の識別子が格納されていないと、複製スナップショット形式変換制御サブプログラム1151は、当該複製スナップショットボリューム151に対して複製スナップショット形式変換処理を実行可能と判定する。
そこで、複製スナップショット形式変換制御サブプログラム1151は、ストレージシステム120の差分ブロックビットマップ122のサイズの記憶領域を、NASサーバ装置110のメモリ12に確保する(503)。
次に、複製スナップショット形式変換制御サブプログラム1151は、変換元の複製スナップショットボリューム151に関する差分ブロックビットマップ122を、ストレージシステム120から取得する。次に、複製スナップショット形式変換制御サブプログラム1151は、取得した差分ブロックビットマップ122を、ステップ503でメモリ12に確保した記憶領域に格納する(504)。このようにして、複製スナップショット形式変換制御サブプログラム1151は、差分ブロックビットマップ122の複製である差分ブロック複製ビットマップ218を、NASサーバ装置110のメモリ12に格納する。
次に、複製スナップショット形式変換制御サブプログラム1151は、変換元の複製スナップショットボリューム151の複製元である運用ボリューム141を特定する。次に、複製スナップショット形式変換制御サブプログラム1151は、特定した運用ボリューム141に対応付けられている差分ボリューム142が存在するか否かを判定する(505)。なお、運用ボリューム141と当該運用ボリューム141の差分データを格納する差分ボリューム142とは、関連付けられている。
特定した運用ボリューム141に対応付けられている差分ボリューム142が存在する場合、複製スナップショット形式変換制御サブプログラム1151は、そのままステップ507に進む。
一方、特定した運用ボリューム141に対応付けられている差分ボリューム142が存在しない場合、複製スナップショット形式変換制御サブプログラム1151は、差分ボリューム142を新たに作成する。次に、複製スナップショット形式変換制御サブプログラム1151は、作成した差分ボリューム142を、ステップ505で特定した運用ボリューム141に対応付ける(506)。
次に、複製スナップショット形式変換制御サブプログラム1151は、変換先となる差分スナップショット仮想ボリューム152の識別子を決定する。
次に、複製スナップショット形式変換制御サブプログラム1151は、スナップショット形式変換管理テーブル217を更新する。
具体的には、複製スナップショット形式変換制御サブプログラム1151は、複製スナップショット形式変換処理を実行させる複製スナップショット形式変換実行サブプログラム1152を選択する。例えば、複製スナップショット形式変換制御サブプログラム1151は、複製スナップショット形式変換処理を実行していない複製スナップショット形式変換実行サブプログラム1152を選択する。
次に、複製スナップショット形式変換制御サブプログラム1151は、選択した複製スナップショット形式変換実行サブプログラム1152の識別子とスナップショット形式変換管理テーブル217のスナップショット変換プロセス番号301とが一致するレコードを、スナップショット形式変換管理テーブル217から選択する。
次に、複製スナップショット形式変換制御サブプログラム1151は、選択したレコードの変換先ボリューム識別子302に、変換先の差分スナップショット仮想ボリューム152の識別子を格納する。次に、複製スナップショット形式変換制御サブプログラム1151は、選択したレコードの変換元ボリューム識別子303に、変換元の複製スナップショットボリューム151の識別子を格納する(507)。
次に、複製スナップショット形式変換制御サブプログラム1151は、複製スナップショット形式変換処理の実行を複製スナップショット形式変換実行サブプログラム1152に要求する(508)。
そして、複製スナップショット形式変換制御サブプログラム1151は、変換先の差分スナップショット仮想ボリューム152を、NASクライアント101及びNAS管理端末102からアクセス可能な状態にする(509)。そして、複製スナップショット形式変換制御サブプログラム1151は、本処理を終了する。
図14は、本発明の実施の形態の複製スナップショット形式変換実行サブプログラム1152の処理のフローチャートである。
複製スナップショット形式変換実行サブプログラム1152は、複製スナップショット形式変換制御サブプログラム1151から複製スナップショット形式変換処理の実行を要求されると、本処理を開始する。
まず、複製スナップショット形式変換実行サブプログラム1152は、形式変換プロセス数カウンタ216をインクリメントする(521)。なお、形式変換プロセス数カウンタ216は、1以上であると、複製スナップショット形式変換実行サブプログラム1152及び差分スナップショット形式変換実行サブプログラム1154の少なくとも一方が実行中であることを示す。
次に、複製スナップショット形式変換実行サブプログラム1152は、以降の処理をバックラウンドで処理する(522)。つまり、NAS管理端末102は、複製スナップショット形式変換処理の実行要求をNAS統合装置104に送信した後、すぐに当該複製スナップショット形式変換処理の完了の通知を受ける。
次に、複製スナップショット形式変換実行サブプログラム1152は、スナップショット変換管理テーブル217の変換中ブロックアドレス(I)304に、初期値の「0」を格納する(523)。
次に、複製スナップショット形式変換実行サブプログラム1152は、差分ブロック管理テーブル203の使用フラグ2037に「0」が格納されているレコードの一つを、差分ブロック管理テーブル203から選択する。そして、複製スナップショット形式変換実行サブプログラム1152は、選択したVVOL番号2031のスナップショット世代を作成する。
具体的には、複製スナップショット形式変換実行サブプログラム1152は、差分ブロック複製ビットマップ218のI番目のビットを抽出する。次に、複製スナップショット形式変換実行サブプログラム1152は、抽出したI番目のビットが「1」であるか否かを判定する(524)。
I番目のビットが「0」の場合、複製スナップショットボリューム151のブロックIのデータと運用ボリューム141のブロックIのデータとが一致している。なお、ブロックIは、ブロックアドレスが「I」であるブロックである。そのため、複製スナップショット形式変換実行サブプログラム1152は、ブロックIに対する処理を終了するので、そのままステップ532に進む。
一方、I番目のビットが「1」の場合、複製スナップショットボリューム151のブロックIのデータと運用ボリューム141のブロックIのデータとがと異なる。そのため、複製スナップショット形式変換実行サブプログラム1152は、複製スナップショットボリューム151のブロックIのデータを差分ボリューム142に格納する必要がある。
そこで、複製スナップショット形式変換実行サブプログラム1152は、複製スナップショットボリューム151のブロックIのデータを読み出す。
次に、複製スナップショット形式変換実行サブプログラム1152は、処理中のブロックのブロックアドレスである「I」と差分ブロック管理テーブル203のブロックアドレス2032とが一致するレコードを、差分ブロック管理テーブル203から選択する(525)。
次に、複製スナップショット形式変換実行サブプログラム1152は、選択したレコードから、有効なスナップショット世代に関するデータ状態2033をすべて選択する。具体的には、複製スナップショット形式変換実行サブプログラム1152は、差分ブロック管理テーブル203の使用フラグ2037に基づいて、有効なスナップショット世代に関するデータ状態2033であるか否かを判定する。
次に、複製スナップショット形式変換実行サブプログラム1152は、選択したデータ状態2033から、「0」以外の値(ブロックアドレス)をすべて抽出する。次に、複製スナップショット形式変換実行サブプログラム1152は、抽出したブロックアドレスのブロックのデータを、差分ボリューム142から読み出す(526)。
次に、複製スナップショット形式変換実行サブプログラム1152は、ステップ526で読み出したデータの中に、ステップ525で読み出したデータと同一のデータが存在するか否かを判定する(527)。これによって、複製スナップショット形式変換実行サブプログラム1152は、複製スナップショットボリューム151のブロックIのデータが差分ボリューム142に格納されているか否かを判定する。
同一のデータが存在すると、複製スナップショットボリューム151のブロックIのデータが差分ボリューム142に格納されている。よって、複製スナップショット形式変換実行サブプログラム1152は、複製スナップショットボリューム151のブロックIのデータを、差分ボリューム142に格納する必要がない。
そのため、複製スナップショット形式変換実行サブプログラム1152は、ステップ526で同一のデータを読み出したブロックのブロックアドレスを、変換先のブロックアドレスとする(528)。そして、複製スナップショット形式変換実行サブプログラム1152は、ステップ531に進む。
一方、ステップ527で同一のデータが存在しない場合、複製スナップショットボリューム151のブロックIのデータは差分ボリューム142に格納されていない。よって、複製スナップショット形式変換実行サブプログラム1152は、複製スナップショットボリューム151のブロックIのデータを、差分ボリューム142に格納する必要がある。そこで、複製スナップショット形式変換実行サブプログラム1152は、差分ボリューム142のブロックを確保する(529)。
次に、複製スナップショット形式変換実行サブプログラム1152は、確保したブロックに、ステップ525で読み出したデータを格納する(530)。そして、複製スナップショット形式変換実行サブプログラム1152は、データを格納したブロックのブロックアドレスを、変換先のブロックアドレスとする。
次に、複製スナップショット形式変換実行サブプログラム1152は、作成するスナップショット世代と差分ブロック管理テーブル203のVVOL番号2031とが一致するデータ状態2033を、ステップ525で選択したレコードから選択する。
次に、複製スナップショット形式変換実行サブプログラム1152は、選択したデータ状態2033に、変換先のブロックアドレスを格納する(531)。
次に、複製スナップショット形式変換実行サブプログラム1152は、ブロックIが変換元の複製スナップショットボリューム151の最終ブロックであるか否かを判定する(532)。
ブロックIが最終ブロックでないと、複製スナップショットボリューム151のブロックの中に、処理を終了していないブロックが存在する。そこで、複製スナップショット形式変換実行サブプログラム1152は、Iをインクリメントする(533)。そして、複製スナップショット形式変換実行サブプログラム1152は、ステップ524に戻り、ブロックIに対する処理を繰り返す。
一方、ブロックIが最終ブロックであると、複製スナップショット形式変換実行サブプログラム1152は、複製スナップショットボリューム151のすべてのブロックに対して処理を終了した。そこで、複製スナップショット形式変換実行サブプログラム1152は、当該複製スナップショット形式変換実行サブプログラム1152の識別子とスナップショット形式変換管理テーブル217のスナップショット変換プロセス番号301とが一致するレコードを、スナップショット形式変換管理テーブル217から選択する。次に、複製スナップショット形式変換実行サブプログラム1152は、選択したレコードの変換先ボリューム識別子302、変換元ボリューム識別子303及び変換中ブロックアドレス304に格納されている情報を削除する。
これによって、複製スナップショット形式変換実行サブプログラム1152は、当該複製スナップショット形式変換実行サブプログラム1152に関する情報を、スナップショット形式変換管理テーブル217から削除する(534)。
次に、複製スナップショット形式変換実行サブプログラム1152は、変換元の複製スナップショットボリューム151を削除する(535)。なお、複製スナップショット形式変換実行サブプログラム1152は、変換元の複製スナップショットボリューム151をすぐに削除せずに、ストレージシステム120の記憶領域が不足した時に削除してもよい。
次に、複製スナップショット形式変換実行サブプログラム1152は、差分ブロック複製ビットマップ218をメモリ12から削除する(536)。次に、複製スナップショット形式変換実行サブプログラム1152は、形式変換プロセス数カウンタ216をデクリメントする(537)。そして、本処理を終了する。
図15は、本発明の実施の形態の差分スナップショット形式変換制御サブプログラム1153の処理のフローチャートである。
差分スナップショット形式変換制御サブプログラム1153は、NAS管理端末102から差分スナップショット形式変換処理の実行要求を受けると、本処理を開始する。まず、差分スナップショット形式変換制御サブプログラム1153は、形式変換の対象(変換元)となる差分スナップショット仮想ボリューム152が正常か否かを判定する(541)。
変換元の差分スナップショット仮想ボリューム152が正常ではないと、差分スナップショット形式変換制御サブプログラム1153は、差分スナップショット形式変換処理を実行できないと判定し、本処理を終了する。
一方、変換元の差分スナップショット仮想ボリューム152が正常の場合、差分スナップショット形式変換制御サブプログラム1153は、変換元の差分スナップショット仮想ボリューム152の識別子がスナップショット形式変換管理テーブル217の変換先識別子302及び変換元ボリューム識別子303の少なくとも一方に格納されているか否かを判定する(542)。
変換元の差分スナップショット仮想ボリューム152の識別子が格納されていると、当該差分スナップショット仮想ボリューム152がスナップショット形式変換処理を実行されている最中である。よって、差分スナップショット形式変換制御サブプログラム1153は、そのまま本処理を終了する。
一方、変換元の差分スナップショット仮想ボリューム152の識別子が格納されていない場合、差分スナップショット形式変換制御サブプログラム1153は、運用ボリューム141の複製スナップショット及び差分ボリューム142の複製スナップショットの作成を、ストレージシステム120に要求する(543)。
すると、ストレージシステム120は、運用ボリューム141に関する複製スナップショットボリューム151及び差分ボリューム142に関する複製スナップショットボリューム151を作成する。なお、これらの複製スナップショットボリューム151は、NASクライアント101及びNAS管理端末102からアクセスできないように設定しておく。
次に、差分スナップショット形式変換制御サブプログラム1153は、運用ボリューム141に関する複製スナップショットボリューム151と差分ボリューム142に関する複製スナップショットボリューム151とを対応付ける(544)。なお、運用ボリューム141に関する複製スナップショットボリューム151が、変換先のスナップショットとなる。
次に、差分スナップショット形式変換制御サブプログラム1153は、スナップショット形式変換管理テーブル217を更新する。
具体的には、差分スナップショット形式変換制御サブプログラム1153は、差分スナップショット形式変換処理を実行させる差分スナップショット形式変換実行サブプログラム1154を選択する。例えば、差分スナップショット形式変換制御サブプログラム1153は、差分スナップショット形式変換処理を実行していない差分スナップショット形式変換実行サブプログラム1154を選択する。
次に、差分スナップショット形式変換制御サブプログラム1153は、選択した差分スナップショット形式変換実行サブプログラム1154の識別子とスナップショット形式変換テーブル217のスナップショット変換プロセス番号301とが一致するレコードを、スナップショット形式変換管理テーブル217から選択する。
次に、差分スナップショット形式変換制御サブプログラム1153は、選択したレコードの変換先ボリューム識別子302に、運用ボリューム141に関する複製スナップショットボリューム151の識別子を格納する。次に、差分スナップショット形式変換制御サブプログラム1153は、選択したレコードの変換元ボリューム識別子303に、変換元の差分スナップショット仮想ボリューム152の識別子を格納する(545)。
次に、差分スナップショット形式変換制御サブプログラム1153は、差分スナップショット形式変換処理の実行を差分スナップショット形式変換実行サブプログラム1154に要求する(546)。
そして、差分スナップショット形式変換制御サブプログラム1153は、変換先の複製スナップショットボリューム151を、NASクライアント101及びNAS管理端末102からアクセス可能な状態にする(547)。そして、差分スナップショット形式変換制御サブプログラム1153は、本処理を終了する。
図16は、本発明の実施の形態の差分スナップショット形式変換実行サブプログラム1154の処理の示すフローチャートである。
差分スナップショット形式変換実行サブプログラム1154は、差分スナップショット形式変換制御サブプログラム1153から差分スナップショット形式変換処理の実行を要求されると、本処理を開始する。
まず、差分スナップショット形式変換実行サブプログラム1154は、形式変換プロセス数カウンタ216をインクリメントする(561)。なお、形式変換プロセス数カウンタ216は、1以上であると、複製スナップショット形式変換実行サブプログラム1152及び差分スナップショット形式変換実行サブプログラム1154の少なくとも一方が実行中であることを示す。
次に、差分スナップショット形式変換実行サブプログラム1154は、以降の処理をバックグラウンドで処理する(562)。つまり、NAS管理端末102は、差分スナップショット形式変換処理の実行要求をNAS統合装置104に送信した後、すぐに当該差分スナップショット形式変換処理の完了の通知を受ける。
次に、差分スナップショット形式変換実行サブプログラム1154は、スナップショット形式変換管理テーブル217の変換中ブロックアドレス(I)304に、初期値の「0」を格納する(563)。
次に、差分スナップショット形式変換実行サブプログラム1154は、変換元の差分スナップショット仮想ボリューム152のスナップショット世代と差分ブロック管理テーブル203のVVOL番号2031とが一致するレコードを、差分ブロック管理テーブル203から選択する。次に、差分スナップショット形式変換実行サブプログラム1154は、処理中のブロックのブロックアドレスである「I」と差分ブロック管理テーブル203のブロックアドレス2032とが一致するデータ状態2033を、選択したレコードから選択する。
次に、差分スナップショット形式変換実行サブプログラム1154は、選択したデータ状態2033に「0」が格納されているか否かを判定する。これによって、差分スナップショット形式変換実行サブプログラム1154は、変換元の差分スナップショット仮想ボリューム152のブロックIのデータが、差分ボリューム142に関する複製スナップショット151に格納されているか否かを判定する(564)。
差分スナップショット仮想ボリューム152のブロックIのデータが格納されていない場合、変換先の複製スナップショットボリューム151のブロックIのデータと変換元の差分スナップショット仮想ボリューム152のブロックIのデータとが同一である。よって、差分スナップショット形式変換実行サブプログラム1154は、そのままステップ566に進む。
一方、差分スナップショット仮想ボリューム152のブロックIのデータが差分ボリューム142に格納されている場合、変換先の複製スナップショットボリューム151のブロックIのデータと変換元の差分スナップショット仮想ボリューム152のブロックIのデータとが異なる。
そこで、差分スナップショット形式変換実行サブプログラム1154は、ステップ564で選択したボックスに格納されているブロックアドレスを抽出する。次に、差分スナップショット形式変換実行サブプログラム1154は、抽出したブロックアドレスのブロックのデータを、差分ボリューム142に関する複製スナップショットボリューム151から抽出する。差分スナップショット形式変換実行サブプログラム1154は、抽出したデータを、変換先の複製スナップショットボリューム151のブロックIに格納する(565)。
次に、差分スナップショット形式変換実行サブプログラム1154は、ブロックIが変換元の差分スナップショット仮想ボリューム152の最終ブロックであるか否かを判定する(566)。
ブロックIが最終ブロックでないと、差分スナップショット仮想ボリューム152のブロックの中に、処理を終了していないブロックが存在する。そこで、差分スナップショット形式変換実行サブプログラム1154は、Iをインクリメントする(571)。そして、差分スナップショット形式変換実行サブプログラム1154は、ステップ563に戻り、ブロックIに対する処理を繰り返す。
一方、ブロックIが最終ブロックであると、差分スナップショット形式変換実行サブプログラム1154は、差分スナップショット仮想ボリューム152のすべてのブロックに対して処理を終了した。
そこで、差分スナップショット形式変換実行サブプログラム1154は、当該差分スナップショット形式変換実行サブプログラム1154の識別子とスナップショット形式変換管理テーブル217のスナップショット変換プロセス番号301とが一致するレコードを、スナップショット形式変換管理テーブル217から選択する。次に、差分スナップショット形式変換実行サブプログラム1154は、選択したレコードの変換先ボリューム識別子302、変換元ボリューム識別子303及び変換中ブロックアドレス304に格納されている情報を削除する。
これによって、差分スナップショット形式変換実行サブプログラム1154は、当該差分スナップショット形式変換実行サブプログラム1154に関する情報を、スナップショット形式変換管理テーブル217から削除する(567)。
次に、差分スナップショット形式変換実行サブプログラム1154は、差分ボリューム142に関する複製スナップショットボリューム151を削除する(568)。
次に、差分スナップショット形式変換実行サブプログラム1154は、変換元の差分スナップショット仮想ボリューム152を削除する(569)。具体的には、差分スナップショット形式変換実行サブプログラム1154は、削除する差分スナップショット仮想ボリューム152のスナップショット世代と差分ブロック管理テーブル203のVVOL番号2031とが一致するレコードを、差分ブロック管理テーブル203から選択する。次に、差分スナップショット形式変換実行サブプログラム1154は、選択したレコードの使用フラグ2037に、無効を示す「0」を格納する。
なお、差分スナップショット形式変換実行サブプログラム1154は、変換元の差分スナップショット仮想ボリューム152をすぐに削除せずに、ストレージシステム120の記憶領域が不足した時に削除してもよい。
次に、差分スナップショット形式変換実行サブプログラム1154は、形式変換プロセス数カウンタ216をデクリメントする(570)。そして、本処理を終了する。
図17は、本発明の実施の形態の読出処理サブプログラム1132の処理のフローチャートである。
読出処理サブプログラム1132は、読出要求をファイルシステム処理プログラム112から受け取る。すると、読出処理サブプログラム1132は、形式変換プロセス数カウンタ216(図10)が「1」以上であるか否かを判定する(581)。
形式変換プロセス数カウンタ216が「1」より小さい場合、スナップショット形式変換処理が実行されていない。よって、読出処理サブプログラム1132は、通常の読出処理を行う。
具体的には、読出処理サブプログラム1132は、受け取った読出要求に基づいて、データを読み出す論理ボリューム(読出対象ボリューム)及びデータを読み出すブロック(読出対象ブロック)を特定する。次に、読出処理サブプログラム1132は、読出対象ボリューム内の読出対象ブロックからデータを読み出す(583)。そして、読出処理サブプログラム1132は、読み出したデータをファイルシステム処理プログラム112に送る。
一方、形式変換プロセス数カウンタ216が「1」以上の場合、スナップショット形式変換処理が実行されている。そこで、読出処理サブプログラム1132は、変換中読出先ボリューム選択サブプログラム1155の実行を要求する(582)。
そして、読出処理サブプログラム1132は、読出処理を行う。具体的には、読出処理サブプログラム1132は、読出対象ボリューム内の読出対象ブロックからデータを読み出す(583)。そして、読出処理サブプログラム1132は、読み出したデータをファイルシステム処理プログラム112に送る。そして、本処理を終了する。
図18は、本発明の実施の形態の変換中読出先ボリューム選択サブプログラム1155の処理のフローチャートである。
変換中読出先ボリューム選択サブプログラム1155は、読出処理サブプログラム1132が受け取った読出要求に基づいて、読み出しを要求された論理ボリューム(読出対象ボリューム)を特定する。次に、変換中読出先ボリューム選択サブプログラム1155は、特定した読出対象ボリュームの識別子がスナップショット形式変換管理テーブル217の変換先ボリューム識別子302に格納されているか否かを判定する(591)。
読出対象ボリュームの識別子がスナップショット形式変換管理テーブル217の変換先ボリューム識別子302に格納されていない場合、読出対象ボリュームは、スナップショット形式変換処理の最中でない。よって、変換中読出先ボリューム選択サブプログラム1155は、読出対象ボリュームを変更する必要がないので、そのまま本処理を終了する。
一方、読出対象ボリュームの識別子がスナップショット形式変換管理テーブル217の変換先ボリューム識別子302に格納されている場合、変換中読出先ボリューム選択サブプログラム1155は、特定した読出対象ボリュームの識別子とスナップショット形式変換管理テーブル217の変換先ボリューム識別子302とが一致するレコードを、スナップショット形式変換管理テーブル217から選択する。
次に、変換中読出先ボリューム選択サブプログラム1155は、選択したレコードから、変換元ボリューム識別子303を抽出する。そして、変換中読出先ボリューム選択サブプログラム1155は、読出対象ボリュームを、抽出した変換元ボリューム識別子303に対応する論理ボリュームに変更する(592)。そして本処理を終了する。
以上のように、変換中読出先ボリューム選択サブプログラム1155は、スナップショット形式変換処理中に、変換先の複製スナップショットボリューム151又は差分スナップショット仮想ボリューム152から不定なデータを読み出すことを防止する。
本実施の形態では、複製スナップショットボリューム151及び差分スナップショット仮想ボリューム152は、スナップショット形式変換の処理中に、読み出しのアクセスのみを受け付ける。そのため、スナップショット形式変換処理の最中の書込処理のためのサブプログラムは必要ない。
本実施の形態のNAS統合装置104は、複製スナップショットと差分スナップショットとの間で形式を変換できる。また、当該NAS統合装置104は、通常の運用を行いながら、スナップショットの形式を変換できる。
よって、当該当該NAS統合装置104は、時間の経過と共にスナップショットに対する要件が変化した場合、要件にあったスナップショット形式に変換できる。そのため、当該NAS統合装置104は、運用コストを低減できる。
本発明の実施の形態の情報システムの構成のブロック図である。 本発明の実施の形態のNAS統合装置の機能に関するブロック図である。 本発明の実施の形態のNASサーバ装置が管理する差分スナップショット仮想ボリュームの説明図である。 本発明の実施の形態のNASサーバ装置の差分スナップショット管理プログラムのブロック図である。 本発明の実施の形態の差分ブロック管理テーブルの構成図である。 本発明の実施の形態の差分スナップショット管理プログラムの処理の説明図である。 本発明の実施の形態のストレージシステムのミラー管理プログラムのブロック図である。 本発明の実施の形態のストレージシステムの差分ブロックビットマップの説明図である。 本発明の実施の形態のNASサーバ装置のスナップショット形式変換プログラムのブロック図である。 本発明の実施の形態のNASサーバ装置の形式変換プロセス数カウンタの説明図である。 本発明の実施の形態のNASサーバ装置のスナップショット形式変換管理テーブル217の構成図である。 本発明の実施の形態のNASサーバ装置の差分ブロック複製ビットマップの説明図である。 本発明の実施の形態の複製スナップショット形式変換制御サブプログラムの処理のフローチャートである。 本発明の実施の形態の複製スナップショット形式変換実行サブプログラムの処理のフローチャートである。 本発明の実施の形態の差分スナップショット形式変換制御サブプログラムの処理のフローチャートである。 本発明の実施の形態の差分スナップショット形式変換実行サブプログラムの処理の示すフローチャートである。 本発明の実施の形態の読出処理サブプログラムの処理のフローチャートである。 本発明の実施の形態の変換中読出先ボリューム選択サブプログラムの処理のフローチャートである。
符号の説明
101 NASクライアント
102 NAS管理端末
103 ネットワーク
104 NAS統合装置
110 NASサーバ装置
111 NASサーバプログラム
112 ファイルシステム処理プログラム
113 差分スナップショット管理プログラム
114 ストレージシステム制御プログラム
115 スナップショット形式変換プログラム
116 スナップショット形式変換管理情報
120 ストレージシステム
121 ミラー管理プログラム
122 差分ブロックビットマップ
141 運用ボリューム
142 差分ボリューム
151 複製スナップショットボリューム
152 差分スナップショット仮想ボリューム
203 差分ブロック管理テーブル
216 形式変換プロセス数カウンタ
217 スナップショット形式変換管理テーブル
218 差分ブロック複製ビットマップ
221 ミラー作成/削除サブプログラム
222 スプリットサブプログラム
223 リシンクサブプログラム
224 読出/書込サブプログラム
1131 書込処理サブプログラム
1132 読出処理サブプログラム
1133 差分スナップショット生成サブプログラム
1134 差分スナップショット削除サブプログラム
1151 複製スナップショット形式変換制御サブプログラム
1152 複製スナップショット形式変換実行サブプログラム
1153 差分スナップショット形式変換制御サブプログラム
1154 差分スナップショット形式変換実行サブプログラム
1155 変換中読出先ボリューム選択サブプログラム

Claims (17)

  1. ストレージシステムと、前記ストレージシステムに通信線を介して接続されるサーバ装置と、を備え、クライアント計算機にネットワークを介して接続されるシステムであって、
    前記ストレージシステムは、データを格納するディスクドライブと、前記ディスクドライブへのデータの入出力を制御するディスク制御部と、を備え、
    前記サーバ装置は、前記ストレージシステムに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記ディスク制御部は、
    前記ディスクドライブの記憶領域を、前記クライアント計算機から書き込み要求されるデータを記憶する運用ボリューム、前記運用ボリュームと当該運用ボリュームの差分スナップショットとの差分データを記憶する差分ボリューム、及び複製スナップショット取得時点の前記運用ボリュームの全てのデータを記憶する複製スナップショットボリュームを含む複数の論理ボリュームとして提供し、
    前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを示す差分ブロックビットマップを記憶し、
    前記プロセッサは、
    前記差分ブロックビットマップを前記ディスク制御部から取得し、
    前記取得された差分ブロックビットマップに基づいて、前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを特定し、
    前記特定されたブロックに格納された差分データを、前記複製スナップショットボリュームから取得し、
    前記取得された差分データを前記差分ボリュームに格納し、
    前記差分ボリュームに格納された前記差分データの配置を、差分ブロック配置情報に格納し、
    前記運用ボリューム、前記差分ボリューム及び前記差分ブロック配置情報に基づいて、前記複製スナップショットに対応する差分スナップショットを提供することを特徴とするシステム。
  2. 前記プロセッサは、
    前記差分ブロック配置情報に基づいて、前記取得された差分データが前記差分ボリュームに格納されているか否かを判定し、
    前記取得された差分データが前記差分ボリュームに格納されていない場合に、当該差分データを前記差分ボリュームに格納することを特徴とする請求項1に記載のシステム。
  3. 前記差分ブロックビットマップは、前記運用ボリュームのブロック数及び前記複製スナップショットボリュームのブロック数の少ない方と同数以上のビットを有し、
    前記差分ブロックビットマップに含まれるビットは、前記運用ボリューム及び前記複製スナップショットボリュームのブロックに対応し、
    前記ディスク制御部は、
    前記運用ボリュームのブロックに格納されたデータと前記複製スナップショットボリュームのブロックに格納されたデータとが同一である場合、前記差分ブロックビットマップに含まれるビットに初期値を設定し、
    前記運用ボリュームのブロックに格納されたデータと複製スナップショットボリュームのブロックに格納されたデータとが異なる場合、前記差分ブロックビットマップに含まれるビットに前記初期値と異なる値を設定することを特徴とする請求項1に記載のシステム。
  4. 前記プロセッサは、
    前記差分ブロック配置情報に基づいて、前記運用ボリュームと前記差分スナップショットとの差分データの配置を特定し、
    前記特定された配置に対応するブロックに格納されている差分データを、前記差分ボリュームから抽出し、
    前記抽出された差分データを、前記運用ボリュームの複製に反映することによって、前記差分スナップショットに対応する複製スナップショットを提供することを特徴とする請求項1に記載のシステム。
  5. 前記メモリは、形式変換元である前記複製スナップショットと形式変換先である前記差分スナップショットとの対応を示すスナップショット形式変換管理情報を記憶し、
    前記プロセッサは、
    スナップショットのデータの読出要求を受けると、前記スナップショット形式変換管理情報に基づいて、データの読み出しを要求されたスナップショットが形式変換先であるか否かを判定し、
    データの読み出しを要求されたスナップショットが形式変換先であると、当該形式変換先のスナップショットに対応する形式変換元のスナップショットを特定し、
    前記特定された形式変換元のスナップショットからデータを読み出すことを特徴とする請求項1に記載のシステム。
  6. 前記メモリは、形式変換元である前記差分スナップショットと形式変換先である前記複製スナップショットとの対応を示すスナップショット形式変換管理情報を記憶し、
    前記プロセッサは、
    スナップショットのデータの読出要求を受けると、前記スナップショット形式変換管理情報に基づいて、データの読み出しを要求されたスナップショットが形式変換先であるか否かを判定し、
    データの読み出しを要求されたスナップショットが形式変換先であると、当該形式変換先のスナップショットに対応する形式変換元のスナップショットを特定し、
    前記特定された形式変換元のスナップショットからデータを読み出すことを特徴とする請求項4に記載のシステム。
  7. ストレージシステム及びクライアント計算機に接続されるサーバ装置であって、
    前記サーバ装置は、前記ストレージシステムに通信線を介して接続される第1インタフェースと、前記クライアント計算機にネットワークを介して接続される第2インタフェースと、前記第1インタフェース及び第2インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記ストレージシステムは、
    データを格納するディスクドライブを備え、
    前記ディスクドライブの記憶領域を、前記クライアント計算機から書き込み要求されるデータを記憶する運用ボリューム、前記運用ボリュームと当該運用ボリュームの差分スナップショットとの差分データを記憶する差分ボリューム、及び複製スナップショット取得時点の前記運用ボリュームの全てのデータを記憶する複製スナップショットボリュームを含む複数の論理ボリュームとして提供し、
    前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを示す差分ブロックビットマップを記憶し、
    前記プロセッサは、
    前記差分ブロックビットマップを前記ストレージシステムから取得し、
    前記取得された差分ブロックビットマップに基づいて、前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを特定し、
    前記特定されたブロックに格納された差分データを、前記複製スナップショットボリュームから取得し、
    前記取得された差分データを前記差分ボリュームに格納し、
    前記差分ボリュームに格納された前記差分データの配置を、差分ブロック配置情報に格納し、
    前記運用ボリューム、前記差分ボリューム及び前記差分ブロック配置情報に基づいて、前記複製スナップショットに対応する差分スナップショットを提供することを特徴とするサーバ装置。
  8. 前記プロセッサは、
    前記差分ブロック配置情報に基づいて、前記取得された差分データが前記差分ボリュームに格納されているか否かを判定し、
    前記取得された差分データが前記差分ボリュームに格納されていない場合に、当該差分データを前記差分ボリュームに格納することを特徴とする請求項7に記載のサーバ装置。
  9. 前記プロセッサは、
    前記差分ブロック配置情報に基づいて、前記運用ボリュームと前記差分スナップショットとの差分データの配置を特定し、
    前記特定された配置に対応するブロックに格納されている差分データを、前記差分ボリュームから抽出し、
    前記抽出された差分データを、前記運用ボリュームの複製に反映することによって、前記差分スナップショットに対応する複製スナップショットを提供することを特徴とする請求項7に記載のサーバ装置。
  10. 前記メモリは、形式変換元である前記複製スナップショットと形式変換先である前記差分スナップショットとの対応を示すスナップショット形式変換管理情報を記憶し、
    前記プロセッサは、
    スナップショットのデータの読出要求を受けると、前記スナップショット形式変換管理情報に基づいて、データの読み出しを要求されたスナップショットが形式変換先であるか否かを判定し、
    データの読み出しを要求されたスナップショットが形式変換先であると、当該形式変換先のスナップショットに対応する形式変換元のスナップショットを特定し、
    前記特定された形式変換元のスナップショットからデータを読み出すことを特徴とする請求項7に記載のサーバ装置。
  11. 前記メモリは、形式変換元である前記差分スナップショットと形式変換先である前記複製スナップショットとの対応を示すスナップショット形式変換管理情報を記憶し、
    前記プロセッサは、
    スナップショットのデータの読出要求を受けると、前記スナップショット形式変換管理情報に基づいて、データの読み出しを要求されたスナップショットが形式変換先であるか否かを判定し、
    データの読み出しを要求されたスナップショットが形式変換先であると、当該形式変換先のスナップショットに対応する形式変換元のスナップショットを特定し、
    前記特定された形式変換元のスナップショットからデータを読み出すことを特徴とする請求項9に記載のサーバ装置。
  12. ストレージシステムと、前記ストレージシステムに通信線を介して接続されるサーバ装置と、を備え、クライアント計算機にネットワークを介して接続されるシステムにおけるスナップショットの形式変換方法であって、
    前記ストレージシステムは、
    データを格納するディスクドライブと、前記ディスクドライブへのデータの入出力を制御するディスク制御部と、を備え、
    前記ディスクドライブの記憶領域を、前記クライアント計算機から書き込み要求されるデータを記憶する運用ボリューム、前記運用ボリュームと当該運用ボリュームの差分スナップショットとの差分データを記憶する差分ボリューム、及び複製スナップショット取得時点の前記運用ボリュームの全てのデータを記憶する複製スナップショットボリュームを含む複数の論理ボリュームとして提供し、
    前記サーバ装置は、前記ストレージシステムに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記スナップショットの形式変換方法は、
    前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを示す差分ブロックビットマップを取得するステップと、
    前記取得された差分ブロックビットマップに基づいて、前記運用ボリュームに格納されたデータと前記複製スナップショットボリュームに格納されたデータとが異なるブロックを特定するステップと、
    前記特定されたブロックに格納された差分データを、前記複製スナップショットボリュームから取得するステップと、
    前記取得された差分データを前記差分ボリュームに格納するステップと、
    前記差分ボリュームに格納された前記差分データの配置を、差分ブロック配置情報に格納するステップと、
    前記運用ボリューム、前記差分ボリューム及び前記差分ブロック配置情報に基づいて、前記複製スナップショットに対応する差分スナップショットを提供するステップと、を含むことを特徴とするスナップショットの形式変換方法。
  13. 更に、前記差分ブロック配置情報に基づいて、前記取得された差分データが前記差分ボリュームに格納されているか否かを判定するステップを含み、
    前記取得された差分データを前記差分ボリュームに格納するステップでは、前記取得された差分データが前記差分ボリュームに格納されていない場合のみ、当該差分データを前記差分ボリュームに格納することを特徴とする請求項12に記載のスナップショットの形式変換方法。
  14. 前記差分ブロックビットマップは、前記運用ボリュームのブロック数及び前記複製スナップショットボリュームのブロック数の少ない方と同数以上のビットを有し、
    前記差分ブロックビットマップに含まれるビットは、前記運用ボリューム及び前記複製スナップショットボリュームのブロックに対応し、
    前記スナップショットの形式変換方法は、
    前記運用ボリュームのブロックに格納されたデータと前記複製スナップショットボリュームのブロックに格納されたデータとが同一である場合、前記差分ブロックビットマップに含まれるビットに初期値を設定するステップと、
    前記運用ボリュームのブロックに格納されたデータと複製スナップショットボリュームのブロックに格納されたデータとが異なる場合、前記差分ブロックビットマップに含まれるビットに前記初期値と異なる値を設定するステップと、を含むことを特徴とする請求項12に記載のスナップショットの形式変換方法。
  15. 前記差分ブロック配置情報に基づいて、前記運用ボリュームと前記差分スナップショットとの差分データの配置を特定するステップと、
    前記特定された配置に対応するブロックに格納されている差分データを、前記差分ボリュームから抽出するステップと、
    前記抽出された差分データを、前記運用ボリュームの複製に反映することによって、前記差分スナップショットに対応する複製スナップショットを提供するステップと、を含むことを特徴とする請求項12に記載のスナップショットの形式変換方法。
  16. 形式変換元である前記複製スナップショットと形式変換先である前記差分スナップショットとの対応を示すスナップショット形式変換管理情報を記憶するステップと、
    スナップショットのデータの読出要求を受けると、前記スナップショット形式変換管理情報に基づいて、データの読み出しを要求されたスナップショットが形式変換先であるか否かを判定するステップと、
    データの読み出しを要求されたスナップショットが形式変換先であると、当該形式変換先のスナップショットに対応する形式変換元のスナップショットを特定するステップと、
    前記特定された形式変換元のスナップショットからデータを読み出すステップと、を含むことを特徴とする請求項12に記載のスナップショットの形式変換方法。
  17. 形式変換元である前記差分スナップショットと形式変換先である前記複製スナップショットとの対応を示すスナップショット形式変換管理情報を記憶するステップと、
    スナップショットのデータの読出要求を受けると、前記スナップショット形式変換管理情報に基づいて、データの読み出しを要求されたスナップショットが形式変換先であるか否かを判定するステップと、
    データの読み出しを要求されたスナップショットが形式変換先であると、当該形式変換先のスナップショットに対応する形式変換元のスナップショットを特定するステップと、
    前記特定された形式変換元のスナップショットからデータを読み出すステップと、を含むことを特徴とする請求項15に記載のスナップショットの形式変換方法。
JP2006000901A 2006-01-05 2006-01-05 システム、サーバ装置及びスナップショットの形式変換方法 Expired - Fee Related JP4741371B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006000901A JP4741371B2 (ja) 2006-01-05 2006-01-05 システム、サーバ装置及びスナップショットの形式変換方法
US11/361,366 US7392357B2 (en) 2006-01-05 2006-02-24 Snapshot format conversion method and apparatus
EP06254392A EP1816555A3 (en) 2006-01-05 2006-08-22 Snapshot format conversion method and apparatus
US12/153,576 US7827368B2 (en) 2006-01-05 2008-05-21 Snapshot format conversion method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006000901A JP4741371B2 (ja) 2006-01-05 2006-01-05 システム、サーバ装置及びスナップショットの形式変換方法

Publications (2)

Publication Number Publication Date
JP2007183763A JP2007183763A (ja) 2007-07-19
JP4741371B2 true JP4741371B2 (ja) 2011-08-03

Family

ID=37903451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006000901A Expired - Fee Related JP4741371B2 (ja) 2006-01-05 2006-01-05 システム、サーバ装置及びスナップショットの形式変換方法

Country Status (3)

Country Link
US (2) US7392357B2 (ja)
EP (1) EP1816555A3 (ja)
JP (1) JP4741371B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941619B1 (en) 2004-11-18 2011-05-10 Symantec Operating Corporation Space-optimized backup set conversion
US7415585B1 (en) * 2004-11-18 2008-08-19 Symantec Operating Corporation Space-optimized backup repository grooming
JP4795787B2 (ja) * 2005-12-09 2011-10-19 株式会社日立製作所 ストレージシステム、nasサーバ、及びスナップショット方法
JP4990064B2 (ja) * 2007-08-09 2012-08-01 株式会社日立製作所 ストレージシステム及びバックアップ方法
JP5141234B2 (ja) 2007-12-19 2013-02-13 日本電気株式会社 階層記憶制御装置、階層記憶制御システム及びそれらに用いる階層記憶制御方法及びそのプログラム
CN101499073B (zh) * 2008-01-29 2011-10-12 国际商业机器公司 基于访问频率的连续存储数据的存储管理方法和系统
JP5156518B2 (ja) * 2008-07-23 2013-03-06 株式会社日立製作所 記憶制御装置及び方法
JP5205164B2 (ja) * 2008-07-29 2013-06-05 株式会社日立製作所 ファイルシステム管理装置及び方法
US9165012B2 (en) * 2009-10-02 2015-10-20 Symantec Corporation Periodic file system checkpoint manager
US9170749B2 (en) * 2011-04-25 2015-10-27 Hitachi, Ltd. Management system and control method for computer system for managing a storage apparatus
JP5092046B1 (ja) * 2011-07-29 2012-12-05 株式会社東芝 情報処理装置およびプログラム
US9229809B2 (en) 2011-09-11 2016-01-05 Microsoft Technology Licensing Llc Nonvolatile media journaling of verified data sets
US8456972B2 (en) 2011-09-12 2013-06-04 Microsoft Corporation Efficient access to storage devices with usage bitmaps
US20160217175A1 (en) 2015-01-23 2016-07-28 Netapp, Inc. Techniques for asynchronous snapshot invalidation
US10133874B1 (en) * 2015-12-28 2018-11-20 EMC IP Holding Company LLC Performing snapshot replication on a storage system not configured to support snapshot replication
CN107451070B (zh) * 2016-06-01 2020-08-04 腾讯科技(深圳)有限公司 一种数据的处理方法和服务器
US10235061B1 (en) 2016-09-26 2019-03-19 EMC IP Holding Company LLC Granular virtual machine snapshots
CN110072761B (zh) * 2016-12-12 2022-03-04 福特汽车公司 防振型驾驶员辅助装置
CN107577558B (zh) * 2017-08-31 2021-03-09 苏州浪潮智能科技有限公司 一种云存储的快照方法及装置
CN111078464B (zh) * 2018-10-22 2024-06-25 华为技术有限公司 一种备份数据的方法、装置和系统
US11650961B2 (en) * 2019-02-04 2023-05-16 Red Hat, Inc. Managing replica unavailability in a distributed file system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US7287249B2 (en) * 2001-09-28 2007-10-23 Siebel Systems, Inc. Method and system for tracking and exchanging incremental changes to hierarchical objects
JP3785074B2 (ja) * 2001-10-05 2006-06-14 富士通株式会社 データ処理システムのバックアップ制御装置及び方法
US6934822B2 (en) * 2002-08-06 2005-08-23 Emc Corporation Organization of multiple snapshot copies in a data storage system
JP4292882B2 (ja) * 2003-03-18 2009-07-08 株式会社日立製作所 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
US7577806B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
JP4454342B2 (ja) * 2004-03-02 2010-04-21 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JP4439960B2 (ja) 2004-03-22 2010-03-24 株式会社日立製作所 ストレージ装置
JP4456909B2 (ja) * 2004-03-29 2010-04-28 株式会社日立製作所 バックアップ方法、ストレージシステム及びそのプログラム
JP2005292865A (ja) * 2004-03-31 2005-10-20 Hitachi Ltd ストレージシステム及びストレージシステムのバックアップ方法

Also Published As

Publication number Publication date
EP1816555A2 (en) 2007-08-08
US20070156984A1 (en) 2007-07-05
US20080235472A1 (en) 2008-09-25
EP1816555A3 (en) 2012-10-03
US7392357B2 (en) 2008-06-24
US7827368B2 (en) 2010-11-02
JP2007183763A (ja) 2007-07-19

Similar Documents

Publication Publication Date Title
JP4741371B2 (ja) システム、サーバ装置及びスナップショットの形式変換方法
JP4550541B2 (ja) ストレージシステム
JP4456909B2 (ja) バックアップ方法、ストレージシステム及びそのプログラム
JP4727437B2 (ja) データベースを有するストレージシステムの記憶制御方法
US8209498B2 (en) Method and system for transferring duplicate files in hierarchical storage management system
US10311028B2 (en) Method and apparatus for replication size estimation and progress monitoring
US8015157B2 (en) File sharing system, file server, and method for managing files
US9396198B2 (en) Computer system, file management method and metadata server
JP4419884B2 (ja) データ複製装置、方法及びプログラム並びに記憶システム
US20080183988A1 (en) Application Integrated Storage System Volume Copy and Remote Volume Mirror
US7698319B2 (en) Database system management method, database system, database device, and backup program
US20080320258A1 (en) Snapshot reset method and apparatus
JP2006146904A (ja) ストレージシステムでオブジェクトレベルのスナップショットを生成するシステムと方法
JP2005031716A (ja) データバックアップの方法及び装置
JP2008077288A (ja) データバックアップ方法及び計算機システム
JP2007226347A (ja) 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法
JP2010049488A (ja) ストレージシステム及びデータ管理方法
CN106528338B (zh) 一种远程数据复制方法、存储设备及存储系统
JP2007241486A (ja) 記憶装置システム
JP6133396B2 (ja) 計算機システム、サーバ、及び、データ管理方法
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
US11809385B1 (en) Efficient data backup in a distributed storage system
JP4915365B2 (ja) データ格納方法及びその装置、複製データ格納方法及びその装置並びにそれらの制御プログラム
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
JP6585283B2 (ja) データ処理システム及びデータ処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110328

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110506

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees