(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-24
(45)【発行日】2025-02-03
(54)【発明の名称】ストレージシステム及びストレージシステムのデータ処理方法
(51)【国際特許分類】
G06F 3/06 20060101AFI20250127BHJP
G06F 13/10 20060101ALI20250127BHJP
G06F 11/20 20060101ALI20250127BHJP
【FI】
G06F3/06 301W
G06F3/06 301X
G06F3/06 301Y
G06F3/06 304F
G06F13/10 340A
G06F11/20 666
(21)【出願番号】P 2023126956
(22)【出願日】2023-08-03
(62)【分割の表示】P 2021117972の分割
【原出願日】2021-07-16
【審査請求日】2023-08-03
(73)【特許権者】
【識別番号】524132520
【氏名又は名称】日立ヴァンタラ株式会社
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】細木 浩二
(72)【発明者】
【氏名】出口 彰
(72)【発明者】
【氏名】松下 貴記
【審査官】田名網 忠雄
(56)【参考文献】
【文献】特開平07-200612(JP,A)
【文献】国際公開第2019/021411(WO,A1)
【文献】特開2018-173915(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/06 ー 3/08
G06F 13/10 ー 13/14
G06F 11/20
G06F 16/00
(57)【特許請求の範囲】
【請求項1】
プロセッサを有し、他のストレージシステムと
ネットワークを介して通信可能に接続されたストレージシステムにおいて、
前記ストレージシステムは、
第1の圧縮方式によりデータを圧縮して第1の物理ボリュームに格納し、
前記ストレージシステムと前記他のストレージシステムとは、前記ストレージシステムの前記第1の物理ボリュームに格納したデータを圧縮した状態で前記他のストレージシステムに前記ネットワークを介して転送して前記他のストレージシステムが有する第2の物理ボリュームに格納するレプリケーションを構成しており、
前記レプリケーションの設定時に、前記ストレージシステムは、前記ストレージシステムが実行可能な圧縮方式と前記他のストレージシステムが実行可能な圧縮方式とに基づいて、転送対象のデータの圧縮方式を、前記第1の物理ボリューム内のデータを圧縮している前記第1の圧縮方式か前記第1の圧縮方式とは異なる第2の圧縮方式か決定し、
前記ストレージシステムの前記第1の物理ボリュームに格納したデータを
前記レプリケーションにより前記他のストレージシステムに転送する場合に、
前記ストレージシステムは、
前記レプリケーションにおいて前記圧縮方式を前記第1の圧縮方式に決定した場合には前記データの伸長及び圧縮を行わずに転送し、前記圧縮方式を前記第2の圧縮方式に決定した場合には、前記転送対象の圧縮されたデータを前記第1の物理ボリュームから読み出して伸長処理を行い、伸長したデータを前記
第2の圧縮方式で圧縮し
て前記転送対象のデータを転送する
ことを特徴とするストレージシステム。
【請求項2】
前記他のストレージシステムは、前記圧縮されたデータを受信して前記他のストレージシステムが有する第2の物理ボリュームに格納し、当該データに対する読み書きが必要になった場合に、前記第2の物理ボリュームから読み出して伸長処理を行う
ことを特徴とする請求項1に記載のストレージシステム。
【請求項3】
前記ストレージシステムは、読み書きを処理するプロセッサと、圧縮及び伸長を処理する処理部とを個別に備え
前記他のストレージシステムは、複数のサーバで構成されたソフトウェア型ストレージシステムであることを特徴とする請求項1に記載のストレージシステム。
【請求項4】
プロセッサを有し、他のストレージシステムと
ネットワークを介して通信可能に接続されたストレージシステムのデータ処理方法であって、
前記ストレージシステムが、
第1の圧縮方式によりデータを圧縮して第1の物理ボリュームに格納し、
前記ストレージシステムと前記他のストレージシステムとは、前記ストレージシステムの前記第1の物理ボリュームに格納したデータを圧縮した状態で前記他のストレージシステムに前記ネットワークを介して転送して前記他のストレージシステムが有する第2の物理ボリュームに格納するレプリケーションを構成しており、
前記レプリケーションの設定時に、前記ストレージシステムは、前記ストレージシステムが実行可能な圧縮方式と前記他のストレージシステムが実行可能な圧縮方式とに基づいて、転送対象のデータの圧縮方式を、前記第1の物理ボリューム内のデータを圧縮している前記第1の圧縮方式か前記第1の圧縮方式とは異なる第2の圧縮方式か決定し、
前記ストレージシステムの前記第1の物理ボリュームに格納したデータを
前記レプリケーションにより前記他のストレージシステムに転送する場合に、前記ストレージシステムが、
前記レプリケーションにおいて前記圧縮方式を前記第1の圧縮方式に決定した場合には前記データの伸長及び圧縮を行わずに転送し、前記圧縮方式を前記第2の圧縮方式に決定した場合には、前記転送対象の圧縮されたデータを前記第1の物理ボリュームから読み出して伸長処理を行い、伸長したデータを前記
第2の圧縮方式で圧縮し
て前記転送対象のデータを転送する
ことを特徴とするストレージシステムのデータ処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージシステム及びストレージシステムのデータ処理方法に関する。
【背景技術】
【0002】
従来、ストレージシステムのデータ処理に関し、特表2014-524601号公報(特許文献1)に記載の技術がある。この公報には、「第1ストレージシステムは、第1論理ボリュームの基になる複数の第1記憶デバイスで構成された第1RAIDグループを有する。第2ストレージシステムは、第2論理ボリュームの基になる複数の第2記憶デバイスで構成された第2RAIDグループを有する。第1RAIDグループのRAID構成と第2RAIDグループのRAID構成は同じであり、各第1記憶デバイスが有する圧縮/伸長機能の種類と各第2記憶デバイスが有する圧縮/伸長機能の種類は同じである。第1論理ボリューム内のデータについて、第1記憶デバイスから、圧縮済みデータが伸長されることなく読み出され、読み出された圧縮済みデータが、その第1記憶デバイスと第2RAIDグループにおいて同じ位置にある第2記憶デバイスに、書き込まれる。」という記載がある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1によれば、ストレージシステム間で送受信されるデータの量を削減できる。しかし、この技術は、第1のストレージシステムと第2のストレージシステムとで圧縮方式が異なる場合には適用することができない。また、第2のストレージシステムは、第1のストレージシステムに比して処理性能を抑えて構成することが望まれる。これらのことから、ストレージシステム間に圧縮方式や性能の差がある場合にも適用できる汎用性の高さを持ち、通信量を抑制可能なレプリケーションの実現が課題となっていた。
【0005】
そこで、本発明では、汎用性が高く、通信量を抑制可能なレプリケーションの実現を目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、代表的な本発明のデータレプリケーションシステムの一つは、プロセッサを有し、正サイトを提供する第1のストレージシステムと、プロセッサを有し、副サイトを提供する第2のストレージシステムとを備え、前記第1のストレージシステムは、前記正サイトによる読み書きに係るデータを圧縮して第1の物理ボリュームに格納し、前記第2のストレージシステムは、前記副サイトによる読み書きに係るデータを圧縮して第2の物理ボリュームに格納し、前記第1のストレージシステムと前記第2のストレージシステムとは、前記第1のストレージシステムの前記第1の物理ボリュームに格納したデータを前記第2のストレージシステムに転送して前記第2の物理ボリュームに格納するレプリケーションを行う場合に、前記第1のストレージシステムが実行可能な圧縮方式と前記第2のストレージシステムが実行可能な圧縮方式とに基づいて、転送対象のデータに適用する圧縮方式を決定し、決定した圧縮方式で圧縮した前記転送対象のデータを転送することを特徴とする。
【0007】
また、代表的な本発明のデータレプリケーション方法の一つは、プロセッサを有し、正サイトによる読み書きに係るデータを圧縮して第1の物理ボリュームに格納する第1のストレージシステムと、プロセッサを有し、副サイトによる読み書きに係るデータを圧縮して第2の物理ボリュームに格納する第2のストレージシステムとを備えるデータレプリケーションシステムが行うデータレプリケーション方法において、前記第1のストレージシステムが、前記正サイトによる読み書きに係るデータを、前記第1の圧縮方式で圧縮して前記第1の物理ボリュームに格納するステップと、前記第1のストレージシステムと前記第2のストレージシステムとが、前記第1のストレージシステムの前記第1の物理ボリュームに格納したデータを前記第2のストレージシステムに転送して前記第2の物理ボリュームに格納するレプリケーションを行う場合に、前記第1のストレージシステムが実行可能な圧縮方式と前記第2のストレージシステムが実行可能な圧縮方式とに基づいて、転送対象のデータに適用する圧縮方式を決定するステップと、決定した圧縮方式で圧縮した前記転送対象のデータを転送するステップとを含むことを特徴とする。
【発明の効果】
【0008】
本発明によれば、汎用性が高く、通信量を抑制可能なレプリケーションを実現することができる。上記した以外の課題、構成及び効果は以下の実施の形態の説明により明らかにされる。
【図面の簡単な説明】
【0009】
【
図1】実施例1に係るデータレプリケーションシステムの構成図。
【
図4】正ストレージにおける圧縮とデータの格納についての説明図。
【
図5】正ストレージにおける伸長と再圧縮についての説明図。
【
図6】副ストレージにおける圧縮とデータの格納についての説明図。
【
図7】実施例1におけるレプリケーションの処理動作を説明するシーケンス図。
【
図10】実施例2におけるレプリケーションの処理動作を説明するシーケンス図。
【
図11】実施例2における論理物理アドレス管理部の動作の説明図。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施例を説明する。
【実施例1】
【0011】
図1は、実施例1に係るデータレプリケーションシステムの構成図である。
図1に示すデータレプリケーションシステムは、正サイトを提供する第1のストレージシステムと、副サイトを提供する第2のストレージシステムとを備える。
【0012】
具体的には、データレプリケーションシステムは、正サーバ100と正ストレージ200がネットワーク510に接続され、副サーバ300と副ストレージ400がネットワーク520に接続され、さらにネットワーク510とネットワーク520が接続された構成を有する。
【0013】
なお、正サーバ100とネットワーク510とは通信回線500によって接続される。正ストレージ200とネットワーク510とは通信回線501によって接続される。副サーバ300とネットワーク520とは通信回線502によって接続される。副ストレージ400とネットワーク520とは通信回線503によって接続される。
【0014】
正サーバ100は、正サイト側のI/Oを発行するサーバである。
正ストレージ200は、正サイト側のデータ格納用ストレージであり、正ボリューム10を有する。正ストレージ200は、データレプリケーションシステムにおいて、マスタデータを保持するストレージとして動作する。
【0015】
副サーバ300は、副サイト側のI/Oを発行するサーバである。
副ストレージ400は、副サイト側のデータ格納用ストレージであり、副ボリューム11を有する。副ストレージ400は、データレプリケーションシステムにおいて、複製データを保持するストレージとして動作する。
【0016】
図2は、実施例1における正ストレージ200の説明図である。
図2に示すように、正ストレージ200は、ネットワーク・インタフェース201、論理ボリューム210、物理ボリューム211、第1の圧縮部220、伸長部230、第2の圧縮部231、論理物理アドレス管理部240、圧縮方式管理部250を有する。
【0017】
正サイトによる書き込みを処理する場合には、ネットワーク・インタフェース201が通信回線501を介して書き込み要求を受け付け、論理ボリューム210に書き込みを行う。論理ボリューム210に書き込まれたデータは、第1の圧縮部220により圧縮され、圧縮データとして物理ボリューム211に書き込まれる。
【0018】
正サイトによる読み出しを処理する場合には、ネットワーク・インタフェース201が通信回線501を介して読み出し要求を受け付け、物理ボリューム211から圧縮データ212の読み出しが行われる。読み出された圧縮データは、伸長部230により伸長されて伸長データ235となり、論理ボリューム210に書き込まれることで、読み出し応答が可能となる。
【0019】
物理ボリューム211のデータを副ストレージ400に送信してレプリケーションを行う場合には、対象の圧縮データが物理ボリューム211から読み出され、伸長部230により伸長されて伸長データ235となった後、第2の圧縮部231により圧縮され、圧縮データ232として副ストレージ400に送信される。
【0020】
論理物理アドレス管理部240は、論理ボリューム210の論理アドレスと物理ボリューム211に格納する物理アドレスとをマッピングした管理テーブルを有する。物理ボリューム211に書き込みを行う際には、その度に物理アドレス241が生成され、物理ボリューム211に渡される。
【0021】
圧縮方式管理部250は、正ストレージ200における圧縮伸長処理を管理する。第1の圧縮部220が用いる圧縮アルゴリズム、すなわち、物理ボリューム211に格納する圧縮データを生成する際に用いる主なアルゴリズムを、便宜上、第1の圧縮アルゴリズムとする。一方、レプリケーション先である副ストレージ400が、副サイトによる読み書きに係るデータを物理ボリュームに格納する際に用いる主なアルゴリズムを、便宜上、第2の圧縮アルゴリズムとする。なお、第1及び第2の圧縮アルゴリズムは、それを使用するストレージで定義されるわけではなく、例えば後述のように正ストレージ200で第2の圧縮アルゴリズムを用いることがある。また、第1の圧縮アルゴリズムに複数の圧縮アルゴリズムが存在したり、第1の圧縮アルゴリズムと第2の圧縮アルゴリズムとに同じ圧縮アルゴリズムが含まれていたりする。
【0022】
圧縮方式管理部250は、第1の圧縮アルゴリズムを指定する圧縮方式指定信号251と、第2の圧縮アルゴリズムを指定する圧縮方式指定信号252を出力することで、使用する圧縮アルゴリズムを制御する。具体的には、第1の圧縮部220には圧縮方式指定信号251を与え、第2の圧縮部231には、圧縮方式指定信号252を与える。
ここで、第2の圧縮部231が使用可能なアルゴリズムは、複数あってもよい。この場合には、レプリケーション先に合わせて第2の圧縮アルゴリズムを選択することになる。
【0023】
図3は、実施例1における副ストレージ400の説明図である。
図3に示すように、副ストレージ400は、ネットワーク・インタフェース401、論理ボリューム410、物理ボリューム411、圧縮部420、伸長部430、選択部453、論理物理アドレス管理部440、圧縮方式管理部450を有する。
【0024】
ネットワーク・インタフェース401が正ストレージ200から圧縮データ232を受信した場合には、圧縮データ232は、選択部453を介して、そのまま物理ボリューム411に格納される。圧縮データ232は、副ストレージ400が用いる第2の圧縮アルゴリズムで圧縮されているため、伸長して再圧縮する必要がないからである。
【0025】
また、例えば正ストレージ200に異常が発生し、副ストレージ400が副サイトによる書き込みを処理する場合には、ネットワーク・インタフェース401が通信回線503を介して書き込み要求を受け付け、論理ボリューム410に書き込みを行う。論理ボリューム410に書き込まれたデータは、圧縮部420により圧縮される。このとき、圧縮部420は、第2の圧縮アルゴリズムを用いる。圧縮されたデータは、選択部453を介して物理ボリューム411に書き込まれる。
【0026】
副サイトによる読み出しを処理する場合には、ネットワーク・インタフェース401が通信回線503を介して読み出し要求を受け付け、物理ボリューム411から圧縮データ232の読み出しが行われる。読み出された圧縮データは、伸長部430により伸長されて伸長データとなり、論理ボリューム410に書き込まれることで、読み出し応答が可能となる。
【0027】
論理物理アドレス管理部440は、論理ボリューム410の論理アドレスと物理ボリューム411に格納する物理アドレスとをマッピングした管理テーブルを有する。物理ボリューム411に書き込みを行う際には、その度に物理アドレス441が生成され、物理ボリューム411に渡される。
【0028】
圧縮方式管理部450は、副ストレージ400における圧縮伸長処理を管理する。副ストレージ400では、レプリケーションの際には圧縮処理が不要であり、フェイルオーバ中に副サイトのI/Oによる書き込みを行う際には圧縮処理を行う。圧縮方式管理部450は、選択部453に制御信号452を与えることで、レプリケーション時の処理とI/Oによる書き込み時の処理とを切り替えている。
【0029】
図4は、正ストレージ200における圧縮とデータの格納についての説明図である。
図4では、まず、論理アドレスAのデータと論理アドレスBのデータが論理ボリューム210に格納されている。論理ボリューム210において、論理アドレスAのデータと論理アドレスBのデータは、ともに16KB長である。
【0030】
第1の圧縮部220は、第1の圧縮アルゴリズムL1で論理アドレスAのデータを圧縮し、圧縮データAを生成する。圧縮により、圧縮データAのサイズは4KB長となっている。
【0031】
同様に、第1の圧縮部220は、第1の圧縮アルゴリズムL1で論理アドレスBのデータを圧縮し、圧縮データBを生成する。圧縮により、圧縮データBのサイズは8KB長となっている。
【0032】
圧縮データAと圧縮データBは、物理ボリューム211の連続したアドレスに書き込まれる。このように、論理ボリューム210上のデータを圧縮し、連続したアドレスに書き込むことで、物理ボリューム211のデータ容量を効率的に使用することができる。
【0033】
図5は、正ストレージ200における伸長と再圧縮についての説明図である。レプリケーションの際には、まず物理ボリューム211から圧縮データA及び圧縮データBが読み出される。ここで、物理ボリューム211から読み出した圧縮データA及び圧縮データBは、第1の圧縮アルゴリズムL1で圧縮された状態であるので、第1の圧縮データA及び第1の圧縮データBという。第1の圧縮データA及び第1の圧縮データBが、
図2に示した圧縮データ212の具体例となる。
【0034】
伸長部230は、第1の圧縮アルゴリズムL1に基づいて第1の圧縮データAを伸長処理する。この伸長により得られた伸長データが、論理アドレスAのデータである。
同様に、伸長部230は、第1の圧縮アルゴリズムL1に基づいて第1の圧縮データBを伸長処理する。この伸長により得られた伸長データが、論理アドレスBのデータである。
【0035】
第2の圧縮部231は、伸長データを再圧縮する。第2の圧縮部231は、複数の第2の圧縮アルゴリズムに対応している。
図5では、第2の圧縮アルゴリズムL2a、L2bを例示した。第2の圧縮部231は、レプリケーション先の副ストレージに合わせて、第2の圧縮アルゴリズムを選択する。ここでは、レプリケーション先の副ストレージ400が第2の圧縮アルゴリズムL2aを用いるものとして説明を行う。
【0036】
第2の圧縮部231は、論理アドレスAのデータを第2の圧縮アルゴリズムL2aで再圧縮して圧縮データを生成する。この圧縮データを第2の圧縮データAという。
同様に、第2の圧縮部231は、論理アドレスBのデータを第2の圧縮アルゴリズムL2aで再圧縮して圧縮データを生成する。この圧縮データを第2の圧縮データBという。
第2の圧縮データAと第2の圧縮データBは、結合され、
図2に示した圧縮データ232の具体例となる。
【0037】
図6は、副ストレージ400における圧縮とデータの格納についての説明図である。
図6では、まず、論理アドレスAのデータと論理アドレスBのデータが論理ボリューム410に格納されている。論理ボリューム410において、論理アドレスAのデータと論理アドレスBのデータは、ともに16KB長である。
【0038】
第2の圧縮部420は、第2の圧縮アルゴリズムL2aで論理アドレスAのデータを圧縮し、第2の圧縮データAを生成する。圧縮により、第2の圧縮データAのサイズは8KB長となっている。
【0039】
同様に、第2の圧縮部420は、第2の圧縮アルゴリズムL2aで論理アドレスBのデータを圧縮し、第2の圧縮データBを生成する。圧縮により、第2の圧縮データBのサイズは8KB長となっている。
【0040】
第2の圧縮データAと第2の圧縮データBは、結合され、選択部453を介して物理ボリューム411に書き込まれる。
【0041】
一方、レプリケーション時に正ストレージ200から受信した圧縮データ232は、既に第2の圧縮アルゴリズムL2aで圧縮された状態であるので、伸長と再圧縮を行うことなく、選択部453を介してそのまま物理ボリューム411に書き込まれる。
【0042】
図7は、実施例1におけるレプリケーションの処理動作を説明するシーケンス図である。まず、正ストレージ200は、副ストレージ400に対し、副ストレージ格納方法取得コマンドを送信する(1000)。副ストレージ400は、正ストレージ200に副ストレージ格納方法、すなわち、副ストレージ400が使用する圧縮アルゴリズムを通知する(1001)。そして、正ストレージ200は、正ストレージ200と副ストレージ400とが共通して使用可能な圧縮アルゴリズムを、転送するデータの圧縮アルゴリズムとして決定する。それが転送するデータが正ストレージ格納時に用いられた圧縮アルゴリズムである場合には、後述の伸長及び再圧縮(ステップS103、S104)は省略できるが、そうではない場合には副ストレージ400で圧縮伸長できるように後述の伸長再圧縮を行う。共通して使用可能な圧縮アルゴリズムが無い場合には、正ストレージ200では伸長のみ(ステップS103)行って、再圧縮(ステップS104)は副ストレージ400が使用可能な圧縮アルゴリズムを用いて副ストレージ400が行う。これらの処理は、例えばシステム構築時やレプリケーション設定時に行われ、通知された副ストレージ400の圧縮アルゴリズムは、正ストレージ200で管理される。その後、定期的に以降のレプリケーション処理が実行される。
【0043】
レプリケーション処理では、まず、正ストレージ200がレプリケーションの対象となるデータを選定する(ステップS101)。例えば、前回のレプリケーションからの差分を対象として選定すればよい。
【0044】
ステップS101の後、正ストレージ200は、対象として選定したデータを物理ボリューム211から読み出し(ステップS102)、第1の圧縮アルゴリズムに基づいて伸長し(ステップS103)、第2の圧縮アルゴリズムで再圧縮する(ステップS104)。
そして、再圧縮で生成した圧縮データを副ストレージ400に転送する(1002)。
【0045】
副ストレージ400は、正ストレージ200から受信した圧縮データに対して物理アドレスを割り当て(ステップS201)、物理ボリューム411に格納して(ステップS202)、正ストレージ200にコピー終了を通知する(1004)。
なお、ここでは物理ボリューム411に格納した後でコピー終了を通知する処理を例示したが、正ストレージ200から受信した圧縮データをキャッシュに格納して正ストレージ200にコピー終了を通知し、その後に物理ボリューム411への格納を行うよう構成してもよい。
【実施例2】
【0046】
図8は、実施例2における正ストレージ200の説明図である。
図2に示すように、正ストレージ200は、ネットワーク・インタフェース201、論理ボリューム210、物理ボリューム211、第1の圧縮部220、伸長部230、論理物理アドレス管理部240、圧縮方式管理部250を有するが、第2の圧縮部231は有さない。
【0047】
実施例2の正ストレージ200は、物理ボリューム211のデータを副ストレージ400に送信してレプリケーションを行う場合には、対象の圧縮データ212を物理ボリューム211から読み出し、そのまま副ストレージ400に送信する。すなわち、実施例2では、第1の圧縮アルゴリズムで圧縮した状態のまま、レプリケーション用のデータが送信されることになる。
その他の動作については、実施例1と同様であるので、説明を省略する。
【0048】
図9は、実施例2における副ストレージ400の説明図である。
図9に示すように、副ストレージ400は、ネットワーク・インタフェース401、論理ボリューム410、物理ボリューム411、圧縮部420、伸長部482、選択部473、論理物理アドレス管理部480、圧縮方式管理部470を有する。
【0049】
ネットワーク・インタフェース401が正ストレージ200から圧縮データ212を受信した場合には、圧縮データ212は、選択部473を介して、そのまま物理ボリューム411に格納される。圧縮データ212は、正ストレージ200が用いる第1の圧縮アルゴリズムで圧縮されている。
【0050】
例えば正ストレージ200に異常が発生し、副ストレージ400が副サイトによる書き込みを処理する場合には、ネットワーク・インタフェース401が通信回線503を介して書き込み要求を受け付け、論理ボリューム410に書き込みを行う。論理ボリューム410に書き込まれたデータは、圧縮部420により圧縮される。このとき、圧縮部420は、第2の圧縮アルゴリズムを用いる。圧縮されたデータは、選択部473を介して物理ボリューム411に書き込まれる。
【0051】
副サイトによる読み出しを処理する場合には、ネットワーク・インタフェース401が通信回線503を介して読み出し要求を受け付け、物理ボリューム411から圧縮データの読み出しが行われる。
【0052】
読み出された圧縮データは、伸長部482により伸長されて伸長データとなり、論理ボリューム410に書き込まれることで、読み出し応答が可能となる。伸長に用いるアルゴリズムは、読み出された圧縮データによって異なるが、どのアルゴリズムを用いるかは、論理物理アドレス管理部480からの制御信号481に従えばよい。
【0053】
論理物理アドレス管理部480は、論理ボリューム410の論理アドレスと物理ボリューム411に格納する物理アドレスとをマッピングした管理テーブルを有する。物理ボリューム411に書き込みを行う際には、その度に物理アドレス441が生成され、物理ボリューム411に渡される。
【0054】
さらに、論理物理アドレス管理部480は、物理アドレスに対して、圧縮アルゴリズムを特定するフラグを対応付けて管理する。論理物理アドレス管理部480は、物理ボリューム411からの読み出しに際しては、フラグを参照し、物理アドレスに対応する圧縮アルゴリズムを指定する制御信号481を伸長部482に通知する。
【0055】
圧縮方式管理部470は、副ストレージ400における圧縮伸長処理を管理する。副ストレージ400では、レプリケーションの際には圧縮処理が不要であり、フェイルオーバ中に副サイトのI/Oによる書き込みを行う際には圧縮処理を行う。圧縮方式管理部450は、選択部473に制御信号472を与えることで、レプリケーション時の処理とI/Oによる書き込み時の処理とを切り替えている。また、物理ボリューム411に書き込まれるデータの圧縮方式を論理物理アドレス管理部480に通知し、管理テーブルに登録させる。なお、単純にレプリケーションの際に圧縮処理することも可能である。
【0056】
図10は、実施例2におけるレプリケーションの処理動作を説明するシーケンス図である。まず、副ストレージ400は、正ストレージ200に対し、正ストレージ格納方法取得コマンドを送信する(1100)。正ストレージ200は、実施例1と同様に転送するデータの圧縮アルゴリズムを決定し、副ストレージ400に正ストレージ格納方法、すなわち、正ストレージ200が使用する圧縮アルゴリズムを通知する(1101)。本実施例では、通信を追加して副ストレージ400にて転送するデータの圧縮アルゴリズムを決定してもよい。これらの処理は、例えばシステム構築時やレプリケーション設定時に行われ、通知された正ストレージ200の圧縮アルゴリズムは、副ストレージ400で管理される。その後、定期的に以降のレプリケーション処理が実行される。
【0057】
レプリケーション処理では、まず、正ストレージ200がレプリケーションの対象となるデータを選定する(ステップS301)。例えば、前回のレプリケーションからの差分を対象として選定すればよい。
【0058】
ステップS301の後、正ストレージ200は、対象として選定したデータを物理ボリューム211から読み出し(ステップS302)、副ストレージ400に転送する(1102)。ここで必要な場合には、実施例1と同様に伸長及び再圧縮(ステップS103、S104)が発生する。
【0059】
副ストレージ400は、正ストレージ200から受信した圧縮データに対して物理アドレスを割り当る(ステップS401)。また、論理物理アドレス管理部480は、レプリケーションによる書き込みであることから、正ストレージが用いる圧縮方式であることを示すフラグを対応付ける(ステップS402)。その後、データを物理ボリューム411に格納して(ステップS403)、正ストレージ200にコピー終了を通知する(1104)。
なお、ここでは物理ボリューム411に格納した後でコピー終了を通知する処理を例示したが、正ストレージ200から受信した圧縮データをキャッシュに格納して正ストレージ200にコピー終了を通知し、その後に物理ボリューム411への格納を行うよう構成してもよい。
【0060】
図11は、実施例2における論理物理アドレス管理部480の動作の説明図である。論理物理アドレス管理部480は、物理ボリューム411への書き込みが発生した場合に、レプリケーションによるものであるか否かを判定する(ステップS501)。
【0061】
レプリケーションによる書き込みであれば(ステップS501;Yes)、論理物理アドレス管理部480は、正ストレージ格納方式、すなわち、正ストレージ200が使用する圧縮アルゴリズムを選択する(ステップS502)。
レプリケーションによる書き込みでなければ(ステップS501;No)、論理物理アドレス管理部480は、副ストレージ格納方式、すなわち、副ストレージ400が使用する圧縮アルゴリズムを選択する(ステップS503)。
【0062】
論理物理アドレス管理部480は、選択した格納方式を特定するフラグを物理アドレスに対応付けて、論理アドレスと物理アドレスの対応関係を管理する(ステップS504)。
【0063】
(変形例)
次に、システム構成のバリエーションについて説明する。
図12は、システム構成の第1の変形例である。
図12に示した構成では、正ストレージ600は、プロセッサ601、圧縮・伸長アクセラレータ602、メモリ603及び記憶メディア604を有する。
一方、
図12に示した構成では、副ストレージ700は、プロセッサ701、メモリ702及び記憶メディア703を有するが、圧縮・伸長アクセラレータを有さず、プロセッサ701がソフトウェア処理で圧縮や伸長を行う。
【0064】
このように、正ストレージ600は、正サイトによる読み書きを処理するプロセッサ601と、圧縮及び伸長を処理する圧縮・伸長アクセラレータ602を備えて高い性能を実現するのに対し、副ストレージ700は圧縮及び伸長をソフトウェア処理する構成としてコストを削減している。
そのため、正ストレージ600と副ストレージ700とで構成や性能に差異が生じているが、かかる構成であっても本発明を適用することができる。例えば、実施例1のように正ストレージ600に圧縮伸長処理が多い場合には、高い性能を活かしてレプリケーション用にデータの伸長及び再圧縮を実行すればよい。また、実施例2にように副ストレージ700側に圧縮伸長処理が多くなる場合、副ストレージ側が高性能となるようにシステムを構成すればよい。
【0065】
図13は、システム構成の第2の変形例である。
図13に示した構成では、正ストレージ600の構成は
図12と同様であるが、副サイト側がクラウド530を用いたソフトウェア定義型ストレージで実現されている。このような構成では、副ストレージ側の機能追加が容易であり、正ストレージ600が対応していない圧縮アルゴリズムを使用可能となることが考えられるが、正ストレージで圧縮したデータを副ストレージ側で必要に応じて伸長することで、圧縮データによるレプリケーションが実現できる。
【0066】
上述してきたように、実施例に開示したデータレプリケーションシステムは、プロセッサを有し、正サイトを提供する第1のストレージシステムと、プロセッサを有し、副サイトを提供する第2のストレージシステムとを備え、前記第1のストレージシステムは、前記正サイトによる読み書きに係るデータを圧縮して第1の物理ボリュームに格納し、前記第2のストレージシステムは、前記副サイトによる読み書きに係るデータを圧縮して第2の物理ボリュームに格納し、前記第1のストレージシステムと前記第2のストレージシステムとは、前記第1のストレージシステムの前記第1の物理ボリュームに格納したデータを前記第2のストレージシステムに転送して前記第2の物理ボリュームに格納するレプリケーションを行う場合に、前記第1のストレージシステムが実行可能な圧縮方式と前記第2のストレージシステムが実行可能な圧縮方式とに基づいて、転送対象のデータに適用する圧縮方式を決定し、決定した圧縮方式で圧縮した前記転送対象のデータを転送する。
かかる構成及び動作により、圧縮方式が異なるストレージシステム間であっても通信量を抑制することができる。また、第2のストレージシステムは、レプリケーションに際して受信したデータを伸長・再圧縮する必要がないため、処理性能の要求を抑えることができる。
【0067】
また、実施例1の構成によれば、前記第1のストレージシステムは、前記転送対象のデータの圧縮方式を決定し、前記転送対象の圧縮されたデータを前記第1の物理ボリュームから読み出して伸長処理を行い、伸長したデータを前記決定した転送対象のデータの圧縮方式で圧縮して前記第2のストレージシステムに転送し、前記第2のストレージシステムは、前記第2の圧縮方式で圧縮されたデータを受信して前記第2の物理ボリュームに格納する。
このため、第2のストレージシステム側の処理負荷を低く抑えることができ、第2のストレージシステム側が第1のストレージシステムで使用する圧縮方式に対応している必要もない。
なお、前記第1のストレージシステムが格納しているデータの圧縮方式が、前記第2のストレージシステムで実施できない場合に、前記伸長及び圧縮を行うこととしてもよい。
【0068】
また、実施例2の構成によれば、前記第1のストレージシステムが前記転送対象のデータを格納している圧縮方式で転送することを決定した場合、前記第1のストレージシステムは、前記転送対象のデータを前記第1の物理ボリュームから読み出し、前記圧縮された状態のまま前記第2のストレージシステムに送信し、前記第2のストレージシステムは、前記圧縮されたデータを受信して前記第2の物理ボリュームに格納し、当該データに対する読み書きが必要になった場合に、前記第1の圧縮方式に対応する伸長処理を行う。
このため、第1のストレージシステム側の処理負荷を低く抑えることができ、第1のストレージシステム側が第2のストレージシステムで使用する圧縮方式に対応している必要もない。
また、レプリケーションに係るデータの伸長は、異常発生等で読み出しが必要になったときに限定される。
なお、前記第2のストレージシステムは、前記受信した圧縮されたデータを伸長し、異なる圧縮方式で圧縮して前記第2の物理ボリュームに格納することも可能である。
さらに、前記第2のストレージシステムは、前記圧縮されたデータを受信して前記第2の物理ボリュームに格納し、当該データに対する書き込みが生じた場合に、前記圧縮されたデータを伸長し、異なる圧縮方式で圧縮して前記第2の物理ボリュームに格納する構成としてもよい。
【0069】
また、実施例1の構成において、前記第1のストレージシステムは、複数の圧縮方式に対応可能であり、レプリケーション先の前記第2のストレージシステムで用いられる圧縮方式を選択し、当該圧縮方式で圧縮したデータを送信する構成とすることもできる。
このため、第2のストレージシステムの構成に合わせた柔軟な処理が可能である。
また、レプリケーション先の前記第2のストレージシステムが複数の圧縮方式に対応可能である場合に、前記転送対象のデータを前記第1の物理ボリュームに格納する際に適用した圧縮方式に基づいて、前記転送対象のデータを前記第2のストレージシステムに送信する際に適用する圧縮方式を決定してもよい。例えば、前記第1の物理ボリュームに格納する際に適用した圧縮方式が第2のストレージシステムでも使用可能であれば、転送対象のデータを第1の圧縮方式で圧縮したまま、送信することができる。
【0070】
また、前記第1のストレージシステムは、前記正サイトによる読み書きを処理するプロセッサと、圧縮及び伸長を処理する処理部とを個別に備えてもよい。
かかる構成では、正サイトでの高い処理性能と、全体としてコスト低減を両立させることができる。
【0071】
また、前記第2のストレージシステムは、複数のサーバで構成されたソフトウェア型ストレージシステムであってもよい。
かかる構成では、第2のストレージシステムを柔軟かつ低コストで運用することができる。
【0072】
なお、本発明は上述の実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、かかる構成の削除に限らず、構成の置き換えや追加も可能である。
【符号の説明】
【0073】
10:正ボリューム、11:副ボリューム、100:正サーバ、200:正ストレージ、201:ネットワーク・インタフェース、210:論理ボリューム、211:物理ボリューム、212:圧縮データ、220:第1の圧縮部、230:伸長部、231:第2の圧縮部、232:圧縮データ、235:伸長データ、240:論理物理アドレス管理部、241:物理アドレス、250:圧縮方式管理部、251:圧縮方式指定信号、252:圧縮方式指定信号、300:副サーバ、400:副ストレージ、401:ネットワーク・インタフェース、410:論理ボリューム、411:物理ボリューム、420:第2の圧縮部、420:圧縮部、430:伸長部、440:論理物理アドレス管理部、441:物理アドレス、450:圧縮方式管理部、452:制御信号、453:選択部、470:圧縮方式管理部、472:制御信号、473:選択部、480:論理物理アドレス管理部、481:制御信号、482:伸長部、500:通信回線、501:通信回線、502:通信回線、503:通信回線、510:ネットワーク、520:ネットワーク、530:クラウド、600:正ストレージ、601:プロセッサ、602:圧縮・伸長アクセラレータ、603:メモリ、604:記憶メディア、700:副ストレージ、701:プロセッサ、702:メモリ、703:記憶メディア