JP6432392B2 - ストレージシステム、ストレージ、管理サーバおよびファイル管理方法 - Google Patents

ストレージシステム、ストレージ、管理サーバおよびファイル管理方法 Download PDF

Info

Publication number
JP6432392B2
JP6432392B2 JP2015040016A JP2015040016A JP6432392B2 JP 6432392 B2 JP6432392 B2 JP 6432392B2 JP 2015040016 A JP2015040016 A JP 2015040016A JP 2015040016 A JP2015040016 A JP 2015040016A JP 6432392 B2 JP6432392 B2 JP 6432392B2
Authority
JP
Japan
Prior art keywords
file
storage
information
replication
management server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015040016A
Other languages
English (en)
Other versions
JP2016162170A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2015040016A priority Critical patent/JP6432392B2/ja
Publication of JP2016162170A publication Critical patent/JP2016162170A/ja
Application granted granted Critical
Publication of JP6432392B2 publication Critical patent/JP6432392B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージシステム、ストレージ、管理サーバおよびファイル管理方法に関する。特に、本発明は、複数のゾーンにデータを分散して管理するストレージシステム、ストレージ、管理サーバおよびファイル管理方法に関する。
データが三重ミラー化されたストレージシステムにおいては、あるゾーンで障害が発生したときに他のゾーンに影響が波及しないように、複数のゾーンを互いに遠隔させて設置することによって冗長性を確保している。
特許文献1には、分散配置された複数のストレージ装置のファイルに、GUID(Globally Unique IDentifier)を付与して管理するファイル管理方法について開示されている。
複数のゾーンにデータが分散されていると、特定のゾーンに近いクライアント群からのアクセスが多くなって負荷が集中する場合もある。そのような場合は、負荷を分散するためには、遠隔のゾーンにレプリケートされたデータにアクセスすることになる。遠隔のゾーンのデータにアクセスすると、レイテンシが悪化し、性能劣化することが想定される。また、負荷分散するためにゾーンごとレプリケーションし、データの多重度をゾーンの数で管理することによって、特定のゾーンに集中した負荷を解消する方法もある。
特開2005−050165号公報
特許文献1の方法によれば、レプリケーション中のファイルにアクセス要求があった場合、基準ストレージ装置からオリジナルのファイルを転送することによって、レプリケーション中であっても整合性を保ちながらファイルにアクセスできる。しかし、特許文献1の方法では、遠隔のストレージゾーンに格納されたファイルへのアクセスによるレイテンシの悪化や性能劣化を改善することはできない。
また、ゾーンをまるごとレプリケートする方法では、負荷の大小に関わらずにレプリケートするため、物理的なデータ格納領域が大幅に増大するという問題点がある。
本発明の目的は、遠隔された複数のゾーンにデータを分散して格納する場合において、データへの負荷集中が発生した際に、性能劣化することなく、負荷分散することができるストレージシステムを提供することにある。
本発明のストレージシステムは、複数のゾーンに分散して配置された複数のストレージ装置と、複数のストレージ装置を管理する少なくとも一つの管理サーバ装置とを備え、複数のストレージ装置のうち所定条件に達したファイルを格納する第1のストレージ装置は、ファイルを同じゾーン内の第2のストレージ装置にレプリケートし、第2のストレージ装置は、レプリケートされたファイルに関して、第1および第2のストレージ装置の情報を含むレプリケーション情報と、第1および第2のストレージ装置のそれぞれに格納されたファイルが最新であるか否かを示すステータス情報とを生成し、生成したレプリケーション情報およびステータス情報を第1および第2のストレージ装置間で同期させるとともに、レプリケーション情報およびステータス情報のうち少なくとも一方を管理サーバ装置に送信する。
本発明のストレージ装置は、複数のゾーンに分散して配置された複数のストレージ装置と、複数のストレージ装置を管理する少なくとも一つの管理サーバ装置とを備えるストレージシステムを構成するストレージ装置であって、自装置が格納するファイルが所定条件に達した際に、ファイルを同じゾーン内の他のストレージ装置にレプリケートし、他装置からファイルがレプリケートされた際に、自装置および他装置の情報を含むレプリケーション情報と、自装置および他装置のそれぞれに格納されたファイルが最新であるか否かを示すステータス情報とを生成し、生成したレプリケーション情報およびステータス情報を自装置と他装置との間で同期させるとともに、レプリケーション情報およびステータス情報のうち少なくとも一方を管理サーバ装置に送信する。
本発明の管理サーバ装置は、複数のゾーンに分散して配置された複数のストレージ装置と、複数のストレージ装置を管理する少なくとも一つの管理サーバ装置とを備えるストレージシステムを構成する管理サーバ装置であって、複数のストレージ装置のうち所定条件に達したファイルを格納する第1のストレージ装置がファイルを同じゾーン内の第2のストレージ装置にレプリケートし、第2のストレージ装置がレプリケートされたファイルに関して生成した第1および第2のストレージ装置の情報を含むレプリケーション情報と、第1および第2のストレージ装置のそれぞれに格納されたファイルが最新であるか否かを示すステータス情報とのうち少なくとも一方を受信し、受信したファイルに関するレプリケーション情報およびステータス情報のうち少なくとも一方を参照して、クライアント装置からのファイル要求に応答する。
本発明のファイル管理方法は、複数のゾーンに分散して配置された複数のストレージ装置と、複数のストレージ装置を管理する少なくとも一つの管理サーバ装置とを備えるストレージシステムにおけるファイル管理方法であって、複数のストレージ装置のうち所定条件に達したファイルを格納する第1のストレージ装置によって、ファイルを同じゾーン内の第2のストレージ装置にレプリケートし、第2のストレージ装置によって、レプリケートされたファイルに関して、第1および第2のストレージ装置の情報を含むレプリケーション情報と、第1および第2のストレージ装置のそれぞれに格納されたファイルが最新であるか否かを示すステータス情報とを生成し、生成したレプリケーション情報およびステータス情報を第1および第2のストレージ装置間で同期させるとともに、レプリケーション情報およびステータス情報のうち少なくとも一方を管理サーバ装置に送信する。
本発明によれば、遠隔された複数のゾーンにデータを分散して格納する場合において、データへの負荷集中が発生した際に、性能劣化することなく、負荷分散することができるストレージシステムを提供することが可能になる。
本発明の実施形態に係るストレージシステムの概略を示すブロック図である。 本発明の実施形態に係るストレージシステムの構成を示すブロック図である。 本発明の実施形態に係るストレージシステムのゾーン内におけるレプリケーション構成の一例を示す概念図である。 本発明の実施形態に係るストレージシステムのストレージの機能構成を示すブロック図である。 本発明の実施形態に係るストレージシステムにおいて、レプリケーション直後に生成されるレプリケーション/ステータス情報テーブルの一例である。 本発明の実施形態に係るストレージシステムにおいて、ファイル更新時にステータス情報が変更されたレプリケーション/ステータス情報テーブルの一例である。 本発明の実施形態に係るストレージシステムの管理サーバの構成を示すブロック図である。 本発明の実施形態に係るストレージシステムの管理サーバの機能構成を示すブロック図である。 本発明の実施形態に係るストレージシステムの管理サーバ内に格納されるレプリケーション/ステータス情報テーブルの一例である。 本発明の実施形態に係るストレージシステムにおいて、クライアントがファイルにアクセスする際の流れについて説明するためのシーケンス図である。 本発明の実施形態に係るストレージシステムにおいて、ファイルをレプリケートする際の流れについて説明するためのシーケンス図である。 本発明の実施形態に係るストレージシステムにおいて、ファイルを変更するときの流れについて説明するためのシーケンス図である。 本発明の実施形態に係るストレージシステムにおけるレプリケーションおよびファイル変更時における各ストレージのステータス情報が遷移する例を示すシーケンス図である。
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。なお、以下の実施形態の説明に用いる全図においては、特に理由が無い限り、同様箇所には同一符号を付す。また、以下の実施形態において、同様の構成・動作に関しては繰り返しの説明を省略する場合がある。
(第1の実施形態)
[構成]
まず、本発明の第1の実施形態に係るストレージシステムの構成について図面を参照しながら説明する。なお、図面においては、同じ機能を有する構成要素については代表的な符号を付与するとともに、個別の要素を区別するための識別番号をハイフン「−」に続けて付与することがある。例えば、後述するストレージ21−11に関しては、ハイフン「−」の前の「21」が代表的な符号であり、ハイフン「−」の後の「11」が識別番号である。
図1は、本実施形態に係るストレージシステムの全体構成を示す概念図である。なお、図1は、多重化されたストレージシステムの一例として、三重ミラーストレージシステムを示す。これ以降、三重ミラーストレージシステムを例として説明していくが、本実施形態に係るストレージシステムは三重以上に多重化されたストレージシステムにも適用することができる。
図1のように、本実施形態に係るストレージシステムは、少なくとも一つの管理サーバ11、複数のゾーン20に分散された複数のストレージ21、ロードバランサ40を備える。管理サーバ11、ストレージ21およびロードバランサ40は、フロントエンドLAN71(Local Area Network)によって互いに接続されている。フロントエンドLAN71は、クライアント50にサービスを提供するためのLANである。また、フロントエンドLAN71には、少なくとも一つのクライアント50が接続される。なお、クライアント50は、ストレージシステムの構成の一部とみなしてもよいし、ストレージシステムを外部から利用するものとみなしてもよい。
管理サーバ11は、クライアント50からのデータを含むファイルへのアクセス要求に応じて、クライアント50の要求するファイルが格納されているストレージ21をクライアント50に通知する。管理サーバ11は、一般的なサーバの機能を有する管理サーバ装置である。
管理サーバ11は、各ゾーン20内のストレージ21間におけるファイルのレプリケーションに関する情報(レプリケーション/ステータス情報とも呼ぶ)を、そのファイルのレプリケート先のストレージ21から取得する。
図1のように、複数の管理サーバ11のうち管理サーバ11−1がレプリケートされたファイルに関するレプリケーション情報を受信した場合、管理サーバ11−1は、他の管理サーバ11−2および11−3にそのレプリケーション情報を送信する。
管理サーバ11は、クライアント50からファイルへのアクセス要求があった場合、ストレージから受信した情報に基づいて、適切なアクセス先となるストレージ21をクライアント50に通知する。
なお、図1は、本実施形態に係るストレージシステムが3つの管理サーバ11を備える例を示すが、管理サーバ11は一つであってもよいし、三つ以上であってもよい。
複数のストレージ21は、複数のゾーン20に分散されて配置される。各ストレージ21は、一般的なストレージの機能を有するストレージ装置である。
複数のゾーン20は、互いに離れた場所に配置される。例えば、ゾーン20−1(以下、ゾーン1)で障害が発生した場合であっても、その障害の影響が及ばないような場所にゾーン20−2(以下、ゾーン2)やゾーン20−3(以下、ゾーン3)は配置される。自然災害に対しての冗長性を持たせるためには、各ゾーン20を互いに遠隔して配置することが好ましい。また、施設内で起こる障害に対しての冗長性を持たせるためには、施設内において各ゾーン20を離れた位置に配置するように構成してもよい。
各ゾーン20は、インターネットやLAN、WAN(Wide Area Network)などのネットワーク80によって互いに接続される。各ゾーン20を接続するネットワーク80は、単一のネットワークであってもよいし、複数の異なるネットワークであってもよい。なお、ネットワーク80がインターネットである場合は、ネットワーク80は本実施形態に係るストレージシステムの構成に含まない。一方、ネットワーク80がLANやWANである場合は、ネットワーク80を本実施形態に係るストレージシステムの構成に含んでもよい。
図1の例では、ゾーン1にはストレージ21−11および21−12、ゾーン2にはストレージ22−21および22−22、ゾーン3にはストレージ22−31が配置されている。また、図1には、各ゾーン20にファイルA、B、C、DおよびEが3重化されて格納されている。
図2には、本実施形態に係るストレージシステムに関して、ゾーン2のみを抜き出して図示している。図2において、各ゾーン2内の各ストレージ21(21−21、21−22および21−23)は、フロントエンドLAN71を含むネットワーク80に接続される。また、各ゾーン2内の各ストレージ21は、フロントエンドLAN71とは異なるバックエンドLAN72によって互いに接続されている。各ゾーン2内の各ストレージは、バックエンドLAN72を介して同期している。なお、ゾーン2以外の各ゾーン20(ゾーン1および3)も、ゾーン2と同様の接続状態をもつ。
図3に、ゾーン2内におけるファイルのレプリケーションの一例を示す。図3は、ストレージ21−21(以下、ストレージ1)のファイルAをストレージ21−22(以下、ストレージ2)にレプリケートし、ストレージ21−22のファイルBをストレージ21−23(以下、ストレージ3)にレプリケートする例を示す。ゾーン2内の各ストレージ21は、バックエンドLAN72を介してファイルをレプリケートする。
なお、ファイルのレプリケーションは二つのストレージ間で行えばよいが、ゾーン2に含まれる三つ以上のストレージ21間でレプリケーションを行ってもよい。また、ゾーン2以外のゾーン1および3においても、ゾーン2と同様にレプリケーションが行われる。
ロードバランサ40は、クライアント50からのファイルアクセス要求に対応させて、ネットワーク80上の負荷を分散する負荷分散装置である。ロードバランサ40は、一般的な負荷分散装置であり、例えば、ラウンドロビン方式や最小接続方式、最速時間応答方式などの方式によって要求の割り当てを行う。
ロードバランサ40は、管理サーバ11およびクライアント50が接続されるフロントエンドLAN71に接続される。なお、ロードバランサ40は、管理サーバ11と各ゾーン20との間に挿入するように配置してもよい。また、ロードバランサ40は、冗長構成を有していてもよい。
クライアント50は、ファイルにアクセスするクライアント装置である。クライアント50は、所望するファイルにアクセスするため、そのファイルへのアクセス要求を管理サーバ11に送信する。また、クライアント50は、管理サーバ11から通知されたストレージ21にアクセスする。
[ストレージ]
次に、ストレージ21の内部構成について図4を用いて説明する。複数のストレージ21のうち所定条件に達したデータを格納するストレージ21(第1のストレージ)は、そのファイルを同じゾーン20内部の他のストレージ21(第2のストレージ)にレプリケートする。なお、所定条件とは、データへのアクセスが許容される上限値であり、任意に設定することができる。
例えば、あるクライアント50がストレージ21のデータにアクセスしていれば、ストレージ21が格納するそのデータへのアクセスが所定条件に達したとみなせる。また、例えば、あるクライアント50がストレージ21のデータにアクセスする頻度が一定の閾値を超えた段階で、ストレージ21が格納するそのデータへのアクセスが所定条件に達したとみなしてもよい。また、例えば、あるクライアント50がストレージ21のデータにアクセスする単位時間当たりの頻度が一定の閾値を超えた段階で、ストレージ21が格納するそのデータへのアクセスが所定条件に達したとみなしてもよい。また、例えば、あるクライアント50がストレージ21のデータにアクセスし、そのデータを更新する頻度が一定の閾値を超えた段階で、ストレージ21が格納するそのデータへのアクセスが所定条件に達したとみなしてもよい。
図4は、ストレージ21内部の制御手段30の構成を示すブロック図である。図4のように、ストレージ21は、負荷検知部31、レプリケーション制御部32、ステータス制御部33、情報送信部34を有する。また、ストレージ21は、同一ゾーン20内の各ファイルのレプリケーションに関するレプリケーション情報と、レプリケートされた各ファイルが最新であるか否かを示すステータス情報とを生成し、管理する。なお、レプリケーション情報とステータス情報とを併せてレプリケーション/ステータス情報とも呼ぶ。また、レプリケーション/ステータス情報は、レプリケーション/ストアオーナー(replication/store owner)情報ともよぶ。
なお、図4のストレージ21内の構成においては、ファイルを格納する格納部、ファイルの送受信を行う送受信部などは省略している。また、ゾーン2以外のゾーン1および3の各ストレージ21も、ゾーン2と同様の構成をもつ。
負荷検知部31は、ファイルへのアクセスによる負荷を検知する。
例えば、ファイルAへのアクセス頻度が大きくなった場合、負荷検知部31は、ファイルAへのアクセスが高頻度であると検知する。負荷検知部31が負荷の大きいファイルを検知すると、ストレージ21は、自身のレプリケーション機能によって、対象ファイルを同一ゾーン20内の他のストレージ21にレプリケートする。すなわち、負荷検知部31によって負荷が大きいと判定されたファイルは、ゾーン20内の他のストレージ21にレプリケートされることになる。なお、負荷検知部31は、ファイルAへのアクセス頻度以外の所定条件に基づいてレプリケートするファイルを判定してもよい。
レプリケーション制御部32は、同一ゾーン20内のストレージ21間でレプリケートされたファイルに関するレプリケーション/ステータス情報を生成し、管理する。具体的には、レプリケート先のレプリケーション制御部32は、レプリケートされたファイルを格納するストレージ21に関する情報を含むレプリケーション/ステータス情報を生成し、生成した情報を管理する。
図5に、レプリケーション直後に生成されるレプリケーション/ステータス情報を格納する情報テーブル200の一例(レプリケーション/ステータス情報201および202)を示す。以下、レプリケーション/ステータス情報201を情報テーブル201、レプリケーション/ステータス情報202を情報テーブル202と記載する。例えば、情報テーブル201はゾーン2内のストレージ1に格納され、情報テーブル202はストレージ2に格納される。
図5の情報テーブル201は、レプリケートされたファイルに関するレプリケーション情報として、ストレージ1が格納するファイルのファイル名、ストレージ1の属するゾーン20のゾーン番号を格納する。また、図5の情報テーブル201は、各ストレージ21に格納されたファイルが最新であるか否かを示すステータス情報を格納する。
図5のように、情報テーブル201は、各ストレージ21に格納されたファイルのステータス情報を格納する。ファイルのステータス情報は、ストレージ21に格納されたファイルが最新である場合はvalid(有効)、最新ではない場合はinvalid(無効)になる。図5の例では、ストレージ1からストレージ2へとファイルAをレプリケーションした直後は、ストレージ1および2に格納されたファイルAは共に最新であるため、情報テーブル201および202のステータス状態は共にvalidである。
図5の情報テーブル201には、ストレージ1が格納するファイルAのファイル名の欄に「/mnt/home/dirA/fileA」、ストレージ1が属するゾーン20の番号の欄にゾーン2の番号「2」が格納されている。同様に、図5の情報テーブル201には、ストレージ1が格納するファイルBのファイル名の欄に「/mnt/home/dirB/fileB」、ストレージ1が属するゾーン20の番号の欄にゾーン2の番号「2」が格納されている。
情報テーブル202についても、情報テーブル201と同様の情報が格納される。
なお、図5の情報テーブル201および202においては、ファイルAのレプリケーション/ステータス情報に関して、ストレージ1およびストレージ2のいずれがレプリケート元・レプリケート先になるのかを区別せずに格納している。図5の情報テーブル201および202は、いずれのストレージ21がレプリケート元・レプリケート先であるのか明確にする情報を含んでいてもよい。これ以降、レプリケート元のストレージ21(第1のストレージとも呼ぶ)と、レプリケート先のストレージ21(第2のストレージとも呼ぶ)とを併せて、レプリケーション関係にあるストレージ21とも呼ぶ。
例えば、ゾーン2内のストレージ1からストレージ2にファイルAがレプリケートされたものとする。このとき、ストレージ2のレプリケーション制御部32は、ファイルAのレプリケート元であるストレージ1の情報と、レプリケート先であるストレージ2の情報とを含むレプリケーション情報を生成する。併せて、ストレージ2のレプリケーション制御部32は、ストレージ1および2に格納されたファイルAが最新であるか(valid)否か(invalid)を示すステータス情報を生成する。すなわち、ストレージ2のレプリケーション制御部32は、レプリケートされたファイルAのレプリケーション/ステータス情報を生成する。この段階では、ストレージ2のレプリケーション制御部32によって、図5の下段の情報テーブル202に記載された内容のレプリケーション/ステータス情報が生成されている。
この後、ストレージ1とストレージ2との間で同期がとられ、図5の上段の情報テーブル201に記載された内容のレプリケーション/ステータス情報がストレージ1にも生成される。なお、レプリケーション/ステータス情報は、図5のようなテーブル形式をもたなくてもよい。
レプリケーション制御部32は、レプリケーション/ステータス情報を生成すると、生成したレプリケーション/ステータス情報を情報送信部34に出力する。
ステータス制御部33は、ストレージ21に格納された各ファイルのレプリケーション/ステータス情報に含まれるステータス情報を生成し、管理する。
具体的には、レプリケートされたファイルが更新された際に、そのファイルを格納するストレージ21のステータス制御部33は、各ストレージ21に格納されたそのファイルに関するステータス情報を生成する。ステータス制御部33は、自身が生成したステータス情報に基づいて、レプリケーション制御部32によって生成されたレプリケーション/ステータス情報に含まれるステータス情報を更新する。
例えば、既にファイルAのレプリケーション/ステータス情報が生成されている状況において、ストレージ2に格納されたファイルAがクライアント50−1(以下、クライアント1)によって更新されたものとする。このとき、ストレージ2のステータス制御部33は、ストレージ2に格納されたファイルAは最新であり(valid)、ストレージ1に格納されたファイルAは最新ではない(invalid)というステータス情報を生成する。なお、このとき変更されたステータス情報は、ストレージ2からストレージ1に送信されることによって、ストレージ1とストレージ2の同期がとられる。
ファイル変更時における情報テーブル201および202のステータス情報の一例を図6に示す。図6は、ストレージ2のファイルAが変更され、ストレージ1のファイルBが変更された例を示す。このとき、ファイルAに関しては、ストレージ2の方が最新であるためにvalidになり、ストレージ1の方は最新ではないためにinvalidになる。一方、ファイルBに関しては、ストレージ1の方が最新であるためにvalidになり、ストレージ2の方は最新ではないためにinvalidになる。なお、このとき変更されたステータス情報は、ストレージ1とストレージ2との間で同期がとられるため、情報テーブル201と202のステータス情報は同じになる。
通常、いずれかのストレージ21でファイルに変更があった場合、当該ファイルのステータス情報を変更した後に、再度ストレージ21間でレプリケーションを行い、当該ファイルのステータス情報を最新(valid)に戻す。再びレプリケーションされた後のファイルのステータス情報は、図5の情報ファイル201および202のように全て最新(valid)に戻る。
情報送信部34は、ストレージ21内でファイルのレプリケーションが行われると、そのファイルがレプリケートされたことを管理サーバ11に通知する。すなわち、情報送信部34は、レプリケーション制御部32によって生成されたレプリケーション/ステータス情報を管理サーバ11に送信する。なお、情報送信部34は、レプリケーション情報のみを管理サーバ11に送信するように設定してもよい。また、情報送信部34は、レプリケーション情報およびステータス情報のうち少なくとも一方を管理サーバ11に送信するように設定してもよい
例えば、ファイルAがストレージ1からストレージ2にレプリケートされた場合、情報送信部34は、ファイルAがストレージ1とストレージ2との間でレプリケートされたことを管理サーバ11に通知する。このとき、ファイルAのレプリケート先であるストレージ2の情報送信部34は、レプリケーション/ステータス情報を管理サーバ11に送信する。
また、情報送信部34は、クライアント50からファイルへのアクセスがあった場合、自装置が格納する当該ファイルが最新であればそのファイルへのアクセスを受け付ける。一方、情報送信部34は、自装置が格納する当該ファイルが最新でなければ、当該ファイルのステータス情報が最新(valid)であるストレージ21の情報をクライアント50に対して通知する。
例えば、図6の情報テーブル201のようなステータスの場合、クライアント1からストレージ1のファイルAへのアクセスがあったものとする。ストレージ1の情報送信部34は、ストレージ1のファイルAは最新ではない(invalid)ため、ファイルAのステータス情報と、最新のファイルAがストレージ2に格納されているという情報とをクライアント1に通知する。
[管理サーバ]
次に、管理サーバ11の内部構成について図7および図8を用いて説明する。
図7は、管理サーバ11が内部にハッシュ手段13を含むこと示すブロック図である。また、図8は、ハッシュ手段13内部の機能構成を示すが概念図である。
図7のように、各管理サーバ11−1〜3(以下、管理サーバ11)は、それぞれハッシュ手段13−1〜3(ハッシュ手段13)を含む。ハッシュ手段13は、クライアント50からファイルへのアクセス要求を受けた際に、そのファイルを格納するストレージ21の情報をクライアント50に返す。例えば、ハッシュ手段13は、ファイル名にいずれかのストレージ21を対応させた情報を含むハッシュ表を有し、そのハッシュ表に基づいてクライアント50からの要求に応える。
図8のように、ハッシュ手段13は、データ三重ミラーストレージシステム用ハッシュ手段131(以下、通常モード用ハッシュ手段131)、レプリケートモード用ハッシュ手段133を有する。ハッシュ手段13は、ファイルのレプリケーションが行われたストレージ21から受信したレプリケーション/ステータス情報を格納する。
ハッシュ手段13は、図9のレプリケーション情報テーブル300(以下、情報テーブル300)に含まれるようなレプリケーション情報を管理する。図9に示す管理サーバ11の情報テーブル300は、ファイルAがゾーン#2のストレージ1とストレージ2とに分散配置され、レプリケートモードであるという情報を有する。なお、情報テーブル300は、対象ファイルがどこのストレージ21においてレプリケートされたのかという情報を含むが、いずれのストレージ21に格納されたファイルが最新であるか否かを示す情報は含まない。また、情報テーブル300にレプリケート元とレプリケート先の情報を追加してもよい。
通常モード用ハッシュ手段131は、レプリケートされていないファイルに関して、ファイル名から格納場所を検索するハッシュ手段である。すなわち、レプリケートされていないファイルについては、通常モード用ハッシュ手段131が、ファイル名からファイルの格納場所を検索し、そのファイルが格納されるゾーン20およびストレージ21に関する情報を確定する。
レプリケートモード用ハッシュ手段133は、レプリケートされているファイルに関して、情報テーブル300を参照し、そのファイルのファイル名に紐付けられた格納場所を検索するハッシュ手段である。なお、レプリケートモード用ハッシュ手段133は、ファイル名に紐付けられた格納場所として、レプリケート元およびレプリケート先のいずれを選択してもよい。
ファイルがレプリケートされていない場合、レプリケートモード用ハッシュ手段133は、そのファイルのファイル名を用いて情報テーブル300から格納先を検索できない。なぜならば、情報テーブル300には、そのファイルに関するレプリケーション/ステータス情報が含まれないためである。そのため、レプリケートされていないファイルについては、通常モード用ハッシュ手段131が格納場所を検索する。
例えば、クライアント1からファイルAおよびBへのアクセス要求があったとする。ただし、ファイルAはレプリケートされており、ファイルBはレプリケートされていないものとする。
このとき、ファイルAはレプリケートされているため、レプリケートモード用ハッシュ手段133がファイルAのファイル名から情報テーブル300を参照し、レプリケート先の格納場所(ストレージ2)を検出する。また、ファイルBはレプリケーションされていないため、通常モード用ハッシュ手段131が、ファイル名から格納場所(ストレージ1)を確定する。
そして、ハッシュ手段13は、通常モード用ハッシュ手段131およびレプリケートモード用ハッシュ手段133が確定した格納先のうち、低負荷であるレプリケート先ストレージ2の情報をクライアント1に通知する。レプリケート元のストレージ1においてファイルAへのアクセスが高負荷となり、低負荷であるレプリケート先のストレージ2へのレプリケーションが行われたため、レプリケート先であるストレージ2のファイルAの方が低負荷であることになる。
以上が、本実施形態に係るストレージシステムの構成に関する説明である。
次に、本実施形態に係るストレージシステムにおける特徴的な処理について例を挙げて説明する。なお、以下の例においては、レプリケーション/ステータス情報に基づいて情報テーブル201、202および300が生成されるものとして説明する。
<レプリケーション処理>
ゾーン2のストレージ1に格納するファイルA(mnt/home/dirA/fileA)に対するクライアント1または2からのアクセスが高頻度であり、ストレージ1において高負荷が発生する例について説明する。なお、以下の例においては、ファイルB(mnt/home/dirB/fileB)へのアクセスについても同様である。
ストレージ1は、ファイルAをゾーン2内のストレージ2に対してバックエンドLAN72を介してレプリケートする。
ファイルAがレプリケートされるとき、ファイルAがレプリケートされ、そのレプリケート先がストレージ2であるというレプリケーション情報を含む情報テーブル202(図5下側)がストレージ2において生成される。情報テーブル202には、レプリケート元あるいはレプリケート先のいずれのファイルが最新であるのかをしめすステータス情報も格納される。ステータス情報は、レプリケート直後においては、いずれのファイルも最新である(valid)。ただし、レプリケーション情報は、情報テーブル202のようなテーブル形式ではなくてもよい。
ストレージ2が情報テーブル202の情報をストレージ1に伝播させると、ストレージ1はストレージ2から伝播された情報を情報テーブル201(図5上側)に格納する。ストレージ1が格納する情報テーブル201(図5上側)と、ストレージ2が格納する情報テーブル202(図5下側)とに格納された情報は、ストレージ1とストレージ2とが同期された段階で同じ情報を含む。
<ファイル更新>
クライアント1がストレージ2にアクセスし、ファイルAを更新しようとする例について説明する。
クライアント1がストレージ2のファイルAにアクセスすると、ストレージ2の情報テーブル202におけるファイルAのステータス情報は、ストレージ1の欄がinvalid、ストレージ2の欄がvalidに変更される(図6下側)。ストレージ2の情報テーブル202におけるファイルAのステータス情報はストレージ1にも伝播される。その結果、ストレージ1の情報テーブル201におけるファイルAのステータス情報も、ストレージ1の欄がinvalid、ストレージ2の欄がvalidに変更される(図6上側)。
ステータス情報の伝播後、ストレージ2のファイルAはクライアント1により変更可能となる。クライアント1によるストレージ2のファイルAの変更完了後、ファイルAがストレージ1とストレージ2との間でレプリケートされると、ストレージ1および2のステータス情報はともにvalidに遷移する(図5)。
同様に、クライアント2がストレージ1にアクセスし、ファイルBを更新しようとする場合について説明する。
クライアント2がストレージ1のファイルBを更新すると、ストレージ1の情報テーブル201におけるファイルBのステータス情報は、ストレージ1の欄がvalid、ストレージ2の欄がinvalidに変更される(図6下側)。ストレージ1の情報テーブル201におけるファイルBのステータス情報はストレージ2にも伝播される。その結果、ストレージ2の情報テーブル202におけるファイルBのステータス情報も、ストレージ1の欄がvalid、ストレージ2の欄がinvalidに変更される(図6上側)。
ステータス情報の伝播後、ストレージ1のファイルBはクライアント2により変更可能となる。クライアント2によるストレージ1のファイルBの変更完了後、ファイルBがストレージ1とストレージ2との間でレプリケーションされると、各ストレージのステータス情報はともにvalidに遷移する(図5)。
<負荷分散アクセス>
次に、ストレージ1が、ファイルAをゾーン2内の他のストレージ2に対してバックエンドLAN72を使用してファイルAをレプリケートするときの負荷分散アクセスの例について説明する。なお、ファイルB(mnt/home/dirB/fileB)へのアクセスについても同様である。
ファイルAがレプリケートされると、レプリケート先のストレージ2において、情報テーブル202(図5下段)が生成される。
ストレージ2は、情報テーブル202の情報に基づいて、ファイルAがストレージ1とストレージ2との間でレプリケートされたことを管理サーバ1に対して通知する。
管理サーバ1は、ファイルAがストレージ1とストレージ2との間でレプリケートされたという情報をストレージ2から受信し、受信した情報に基づいて情報テーブル300を生成し、生成した情報テーブル300を格納する。管理サーバ1は、ファイルAがレプリケートされ、そのレプリケート先のストレージがストレージ2であるという情報を含む情報テーブル300を管理サーバ2に伝播する。なお、この段階では、情報テーブル300が管理サーバ3には伝播していないものとする。
ここで、クライアント1がファイルAへのアクセスを管理サーバ2に要求する。
管理サーバ2は、レプリケートモード用ハッシュ手段133によって情報テーブル300を参照し、ファイルAのファイル名を用いてファイルAのレプリケート先の格納情報場所(ストレージ2)を引き出す。
ところで、ファイルAがレプリケートされていない場合、管理サーバ2は、クライアント1からのファイルAへのアクセス要求を受信すると、通常モード用ハッシュ手段131によってファイルAの格納場所(ストレージ1)を引き出す。
管理サーバ2は、クライアント1に対して、ゾーン2におけるファイルAの格納場所のうち、低負荷であるストレージ2にレプリケートされたファイルAがあることを通知する。この通知を受け、クライアント1は、ストレージ2のファイルAにアクセスするように誘導される。その結果、クライアント1は、ストレージ2のファイルAにアクセスし、ファイルAを変更することが可能になる。
ここで、情報テーブル300が管理サーバ1から管理サーバ3には未だ伝播していない段階で、クライアント2がファイルAに対するアクセスを管理サーバ3に要求する例について説明する。
クライアント2がファイルAに対するアクセスを管理サーバ3に要求すると、管理サーバ3は、通常モード用ハッシュ手段131によって、ファイルAのファイル名を用いてファイルAの格納場所(ストレージ1)を引き出す。
管理サーバ3の情報テーブル300には、ファイルAがレプリケートされたことに関する情報が伝播されていないため、レプリケートモード用ハッシュ手段133はファイルAのファイル名からレプリケート先の格納情報場所を引き出せない。そのため、管理サーバ3は、ストレージ1のファイルAへのアクセスをするようにクライアント2を誘導する。この場合、クライアント2は、ファイルAに対して負荷分散アクセスをすることができない。
ここで、情報テーブル300が管理サーバ1から管理サーバ3には伝播した後の段階で、クライアント2がファイルAに対するアクセスを管理サーバ3に要求する例について説明する。
クライアント2がファイルAに対するアクセスを管理サーバ3に要求すると、管理サーバ3は、レプリケートモード用ハッシュ手段133によってファイルAの格納場所(ストレージ2)を引き出す。
管理サーバ3は、ファイルAの格納場所(ストレージ2)に関する情報をクライアント2に送信する。クライアント2は、管理サーバ3からファイルAの格納場所に関する情報を受信するとき、ゾーン2におけるファイルAの格納場所のうち、低負荷のストレージ2にレプリケートされたファイルAにアクセスするように誘導される。クライアント2は、管理サーバ3からの情報によって、ファイルAへのアクセスおよび変更が可能となる。
すなわち、ファイルAがレプリケートされ、かつレプリケート先情報を含む情報テーブル300が管理サーバ1から管理サーバ3に伝播された後は、クライアント2はファイルAに対して負荷分散アクセスすることができる。
<最新ファイルへの誘導>
次に、クライアント1がストレージ2のファイルAを更新する例について説明する。
ストレージ2にクライアント1がアクセスし、ファイルAにアクセスすると、ストレージ2の情報テーブル202におけるファイルAのステータス情報は、ストレージ1の欄がinvalid、ストレージ2の欄がvalidに変更される。ストレージ2の情報テーブル202におけるステータス情報は、ストレージ1の情報テーブル201にも伝播される。
ここで、クライアント2がストレージ2のファイルAにアクセスすると、ストレージ2は、情報テーブル202を参照することによって、ストレージ2のファイルAのステータス情報がvalidであることから、当該ファイルが最新であることを知る。その結果、クライアント2は、ストレージ2のファイルAにアクセスし、ファイルAの変更が可能になる。
一方、クライアント2がストレージ1のファイルAにアクセスすると、ストレージ1は、情報テーブル201を参照することによって、ストレージ1のファイルAのステータスがinvalidであることから、当該ファイルが最新ではないことを知る。ストレージ1は、ストレージ2に格納されたファイルAのステータス情報がvalidであることから、ストレージ1のファイルAは最新ではなく、ストレージ2のファイルAで最新があるということをクライアント2に通知する。すなわち、ストレージ1は、クライアント2をストレージ2へアクセスするように誘導する。その結果、クライアント2は、ストレージ2に格納された最新のファイルAにアクセスし、ファイルAの変更が可能になる。
以上が、本実施形態に係るストレージシステムにおける特徴的な処理についての説明である。
[動作]
次に、本実施形態に係るストレージシステムの動作について、図10〜図13のシーケンス図を用いて説明する。なお、図10〜図13のシーケンス図において、ストレージ1および2はゾーン2に配置され、ファイルAはストレージ1に格納されているものとする。また、図10〜図13のシーケンス図においては、ストレージシステムは図2の構成を持つものとする。
<通常時>
図10は、クライアント1が、レプリケーションの行われていないファイルAにアクセスする場合のシーケンス図である。すなわち、図10は、通常用モードにおいて、管理サーバ1がファイルAを格納するストレージ1をクライアント1に通知する例である。
まず、図10において、クライアント1からファイルAにアクセスするために、クライアント1は、管理サーバ1にファイルAへのアクセスを要求する(ステップS101)。
管理サーバ1は、クライアント1からの要求に応じて、ファイルAにアクセスするためには、ゾーン2のストレージ1にアクセスするように通知する(ステップS102)。なお、管理サーバ1は、自身が有するファイルAの格納情報に基づいて、ファイルAの格納先がゾーン2のストレージ1であることを検知する。
クライアント1は、管理サーバ11の通知に基づいて、ゾーン2のストレージ1にアクセスする(ステップS103)。
以上のステップS101〜S103の処理によって、クライアント1はレプリケーションの行われていないストレージ1のファイルAにアクセスできる。
<レプリケーション時>
図11は、クライアント1がストレージ1のファイルAに高頻度にアクセスし、ストレージ1のファイルAに高負荷が発生している状況において、クライアント2がファイルAにアクセスする場合のシーケンス図である。すなわち、図11は、レプリケーション用モードにおいて、管理サーバ1が最新のファイルAを格納するストレージ2をクライアント2に通知する例である。
まず、図11において、クライアント1はストレージ1のファイルAに頻繁にアクセスをする(ステップS201)。
そのため、ストレージ1のファイルAは高負荷状態になる(ステップS202)。
このとき、ストレージ1は、ファイルAの高負荷を検知し、ファイルAをストレージ2にレプリケートする(ステップS203)。
ストレージ2は、ファイルAに関するレプリケーション/ステータス情報を生成する(ステップS204)。
ストレージ2は、ストレージ2のレプリケーション/ステータス情報をストレージ1に送信し、その情報をストレージ1に格納させる(ステップS205)。
併せて、ストレージ2は、レプリケーション/ステータス情報を管理サーバ1に送信する(ステップS206)。
管理サーバ1は、受信したレプリケーション/ステータス情報に基づいて、レプリケーション/ステータス情報を生成・格納する(ステップS207)。
管理サーバ1は、生成したレプリケーション/ステータス情報を、管理サーバ2に送信して格納させる(ステップS208)とともに、管理サーバ3に送信して格納させる(ステップS209)。その結果、管理サーバ1が生成したレプリケーション/ステータス情報は、各管理サーバ11間において同期格納される。
ここで、クライアント2がファイルAにアクセスするために、管理サーバ1にファイルAへのアクセスを要求する。(ステップS210)。
管理サーバ1は、情報テーブル300の情報に基づいて、低負荷のストレージであるストレージ2にアクセスするようにクライアント2を誘導する(ステップS211)。
そして、クライアント2は、管理サーバ1の誘導を受け、ストレージ2のファイルAにアクセスし、ファイルAを変更する(ステップS212)。
以上のステップS201〜S212の処理によって、ストレージ1に格納されたファイルAに高負荷が発生する状況下において、クライアント2は低負荷であるストレージ2のファイルAにアクセスできる。
<ファイル変更時>
図12は、クライアント1がストレージ2のファイルAを変更することによって、ストレージ2のファイルAが最新(valid)となった状況において、クライアント2がファイルAにアクセスする場合のシーケンス図である。すなわち、図12は、管理サーバ11の通知に応じてストレージ1にアクセスしたクライアント2が、最新のファイルAはストレージ2に格納されていることをストレージ1から通知され、その通知に応じてストレージ2にアクセスする例である。
まず、図12において、クライアント1がストレージ2のファイルAを変更しようとして、ストレージ2にアクセスする(ステップS301)。
クライアント1は、ストレージ2のファイルAを変更する(ステップS302)。
ストレージ2は、自装置が格納する当該ファイルのステータス情報(情報テーブル202)を変更する(ステップS303)。
ストレージ2は、変更した当該ファイルのステータス情報をレプリケート関係にあるストレージ1に送信し、ストレージ1が格納する当該ファイルのステータス情報(情報テーブル201)を変更させる(ステップS304)。
ここで、クライアント2がファイルAにアクセスするために、管理サーバ1に対してファイルAへのアクセスを要求する。(ステップS305)。
管理サーバ1は、自身のレプリケーション/ステータス情報(情報テーブル300)に基づいて、ストレージ1にアクセスするようにクライアント2を誘導する(ステップS306)。なお、ステップ306では、情報テーブル300においてvalidとされたストレージ1に接続されるものとする。
そして、クライアント2は、管理サーバ1の誘導を受け、ストレージ1のファイルAにアクセスしようとする(ステップS307)。
このとき、ストレージ1に格納されたステータス情報(情報テーブル201)においては、ストレージ1のファイルAはinvalidであり、ストレージ1のファイルAはvalidである。そのため、ストレージ1は、情報テーブル201のステータス情報に基づいて、クライアント2に対してストレージ2にアクセスするように通知する(ステップS308)。
クライアント2は、ストレージ1の通知を受け、ストレージ1のファイルAにアクセスし、ファイルAを変更する(ステップS309)。
以上のステップS301〜S309の処理によって、ストレージ2のファイルAが変更されて最新である(valid)状況において、クライアント2は最新のファイルAに正しくアクセスできる。
<ステータス情報の遷移>
図13は、ストレージ1および2に格納されたファイルAに関するレプリケーション/ステータス情報のステータス情報が、レプリケーション時およびファイル変更時に遷移する様子を示す。なお、初期状態においては、ストレージ1のステータス情報はvalid、ストレージ2のステータス情報はinvalidあったものとする。
図13において、まず、レプリケート元ストレージ1とレプリケート先ストレージ2との間でレプリケートが開始された段階では(ステップS401)、ストレージ1のステータス情報はvalid、ストレージ2のステータス情報はinvalidである。
レプリケート元ストレージ1とレプリケート先ストレージ2との間でレプリケートが完了し、同期する(ステップS402)と、ストレージ1およびストレージ2のステータス情報は共にvalidとなる。
クライアント1からストレージ1のファイルAが変更されることになる(ステップS403)と、ストレージ1のステータス情報はvalid、ストレージ2のステータス情報はinvalidに遷移する。その結果、ストレージ1のステータス情報はvalid、ストレージ2のステータス情報はinvalidとなり、クライアント1は、ストレージ1のファイルAを変更することが可能となる。
そして、ストレージ1のファイルAが変更完了した段階(ステップS404)では、ストレージ1のステータス情報はvalid、ストレージ2のステータス情報はinvalidである。
ストレージ1とストレージ2との間でレプリケートが開始された段階(ステップS405)では、情報テーブル201におけるストレージ1のステータス情報はvalid、ストレージ2のステータス情報はinvalidである。
レプリケートが完了し、同期すると(ステップS406)、情報テーブル201におけるファイルAのステータス情報は、ストレージ1および2のいずれにおいてもvalidに遷移する。
以上が、レプリケーション/ステータス情報のステータス情報の遷移に関する説明である。
以上のように、本実施形態に係るストレージシステムによれば、遠隔された複数のゾーンにデータを分散して格納する場合において、データへの負荷集中が発生した際に、性能劣化することなく、負荷分散することが可能になる。なぜならば、近傍ゾーンのデータに負荷集中が発生しても、負荷集中が発生したデータがその近傍ゾーン内にレプリケートされているため、遠方ゾーンのデータにアクセスする必要がなくなるためである。遠方ゾーンのデータにアクセスする必要がなくなれば、レイテンシが悪化に起因する性能劣化は起こらない。
本実施形態では、負荷分散させるデータを同一ゾーン内でレプリケートし、レプリケーションに関する情報をレプリケーション関係にあるストレージ間で同期させるとともに、そのレプリケーションに関する情報を管理サーバに通知する。その結果、クライアントの近傍ゾーンのファイルにアクセス負荷が発生している状況であっても、クライアントをその近傍ゾーン内の低負荷のファイルに導くことによって、性能劣化せずに負荷分散することができる。
本実施形態では、レプリケートされたデータの更新時に、レプリケーション関係にあるストレージ間においては最新のデータの格納場所を共有するため、管理サーバには最新のデータの格納場所を通知しなくてもよい。
上述の効果から、本実施形態によれば、ゾーンを遠隔地に配備することによる冗長性の確保と、近傍ゾーンにおいて負荷集中したデータに対する性能劣化のない負荷分散とを両立することができる。
また、本実施形態に係るストレージシステムによれば、ゾーン全体をレプリケートするこれまでの方法と比較して、物理的なデータ格納領域を大幅に節約できるという効果も得られる。
ここで、本実施形態に係るストレージシステムの機能や効果について列挙する。
本実施形態に係るストレージシステムでは、データ三重ミラーストレージにおけるゾーンを遠隔地に配備する構成はそのままに、高頻度アクセスのファイルを同一ゾーン内の他のストレージにレプリケートして分散配置する。
本実施形態に係るストレージシステムにおいては、レプリケートされた情報をレプリケート元とレプリケート先の各ストレージ、管理サーバで共有する。その結果、本実施形態に係るストレージシステムの管理サーバは、クライアントから当該ファイルへのアクセスが要求された際に、低負荷のレプリケート先ストレージにクライアントを効率的に誘導することができる。
また、本実施形態においては、レプリケート先の該当ファイルが更新される場合、当該ファイルが最新であるかどうかを示す情報をレプリケート関係にあるレプリケート元とレプリケート先の各ストレージで共有する。その結果、別のクライアントが、当該ファイルの最新版が格納されたレプリケート先にアクセスした場合、ストレージの当該情報に基づいて当該ファイルが最新であることがわかるためアクセスが継続される。また、別のクライアントが、当該ファイルが最新版ではないレプリケート元にアクセスした場合、ストレージの当該情報に基づいて当該ファイルが最新でないことがわかる。そのため、そのクライアントのアクセスを受けたストレージは、そのクライアントに対して当該ファイルが最新ではないことを通知するとともに、最新版がレプリケート先に格納されていることを通知し、そのクライアントを正しく最新のファイルへと誘導する。
その結果、本実施形態に係るストレージシステムにおいて、クライアントは、低負荷のストレージのファイルにアクセスし、かつ常に正しく最新のファイルにアクセスすることが可能となる。
本実施形態のストレージシステムのストレージは、レプリケーションおよびファイル更新に必要な情報を常に自身で生成し、格納する。また、本実施形態のストレージシステムの管理サーバは、どのファイルがレプリケートされ、そのレプリケート先における当該ストレージ情報を格納するだけで、クライアントからのアクセスを効率的に負荷分散することを可能とする。
以下に、本実施形態の主な特徴についてまとめる。
まず、データを複数ゾーンに多重化するストレージシステムにおいて、特定のゾーンに着目する。
特定ファイルの高頻度アクセス・負荷情報に基づいて、同一のゾーンに属する複数のストレージ間においてレプリケーションを行うことによってファイルを分散配置し、クライアントからのアクセスを平準化する。
このとき、特定ファイルの分散配置情報をストレージと管理サーバのみに配備することによって、クライアントによるアクセスの平準化を効率的にする。
また、分散先のファイルの最新情報をストレージのみに配備することによって、クライアントが最新ではないファイルにアクセスしても、ストレージが最新のファイル格納場所にクライアントを誘導することが可能とする。
以上の特徴により、本実施形態によれば、管理サーバを含めたシステム全体の負荷を軽減することが可能となる。
以下に、本実施形態に係る効果を列挙する。なお、以下の効果には、本実施形態に係るストレージシステムの本質的な効果だけではなく、副次的な効果も記載している。
一般的なストレージシステムのシステム構成におけるレプリケーション機構をそのまま使用しながら、ゾーン内においてアクセスが集中するファイルをレプリケートし、クライアントからのアクセス平準化を容易に実現する。
近傍ゾーンのストレージ内のファイルにアクセスが集中している際に、同一ゾーン内の別のストレージにクライアントを誘導させることが可能となるため、遠方ゾーンのストレージにアクセスを分散させることで想定される性能劣化を解消する。
レプリケート関係のストレージおよび管理サーバのみに、ストレージがファイルをレプリケーションしたという情報と、レプリケート先の情報とを保有する機能を追加するため、一般的なシステム構成を大きく変更する必要がない。
各ストレージは、所属するゾーンのストレージとのみ通信すればよく、他のゾーンに属するストレージの存在情報を有する必要がない。そのため、各ストレージは、他のゾーンのストレージと通信しなくてもよい。
ファイルをレプリケートした場合、低負荷のストレージにクライアントをアクセスさせるため、管理サーバにレプリケートしたという情報を共有させることで容易であり、効率的にアクセスを平準化することができる。
当該ストレージにアクセスするようにコントロールした管理サーバのみにレプリケートしたという情報を共有させ、当該情報を管理サーバ間で拡散配置させる。そのため、管理サーバが複数ある場合であっても、ストレージシステムが全ての管理サーバの存在情報を有する必要がない。
ストレージ内のファイルが更新される場合には、当該ストレージのファイルが最新であり、レプリケート先のストレージのファイルは最新ではないという情報がレプリケート関係にあるストレージ間において共有される。クライアントのアクセスを受けたストレージが格納するファイルが最新ではない場合、そのストレージは当該ファイルの最新版が格納されたストレージに関する情報をクライアントに返却し、クライアントを正しく最新のストレージにコントロールできる。
マスタストレージの障害時に、その障害範囲が同一ゾーン内のストレージにレプリケートされたファイルにまで及んでいる場合、障害が発生したストレージが近傍に存在することになる。そのため、障害を復旧するためにそのゾーンに到着するまでのルートが短距離ですむことから、短時間で復旧することが期待できる。
以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
11 管理サーバ
13 ハッシュ手段
20 ゾーン
21 ストレージ
30 制御手段
31 負荷検知部
32 レプリケーション制御部
33 ステータス制御部
34 情報送信部
40 ロードバランサ
50 クライアント
71 フロントエンドLAN
72 バックエンドLAN
80 ネットワーク

Claims (10)

  1. 複数のゾーンに分散して配置された複数のストレージ装置と、
    前記複数のストレージ装置を管理する少なくとも一つの管理サーバ装置とを備え、
    前記複数のストレージ装置のうち所定条件に達したファイルを格納する第1のストレージ装置は、前記ファイルを同じ前記ゾーン内の第2のストレージ装置にレプリケートし、
    前記第2のストレージ装置は、レプリケートされた前記ファイルに関して、前記第1および第2のストレージ装置の情報を含むレプリケーション情報と、前記第1および第2のストレージ装置のそれぞれに格納された前記ファイルが最新であるか否かを示すステータス情報とを生成し、生成した前記レプリケーション情報および前記ステータス情報を前記第1および第2のストレージ装置間で同期させるとともに、前記レプリケーション情報および前記ステータス情報のうち少なくとも一方を前記管理サーバ装置に送信するストレージシステム。
  2. 前記ストレージ装置は、
    自身が格納するファイルへのアクセスによる負荷を検知する負荷検知部と、
    前記負荷検知部によってアクセス負荷が増大したと検知されてレプリケートされたファイルに関する前記レプリケーション情報および前記ステータス情報を生成するレプリケーション制御部と、
    前記レプリケートされたファイルに関する前記レプリケーション情報および前記ステータス情報のうち少なくとも一方を前記管理サーバ装置に送信する情報送信部と、
    前記レプリケートされたファイルが変更された際に、前記レプリケートされたファイルに関する前記ステータス情報を変更するステータス制御部とを含む制御手段を有する請求項1に記載のストレージシステム。
  3. 前記第1のストレージ装置は、
    前記第1のストレージ装置内の前記負荷検知部が自装置のファイルへのアクセス負荷が増大したと検知した際に、前記アクセス負荷が増大したファイルを前記同じゾーン内の前記第2のストレージ装置にレプリケートし、
    前記第2のストレージ装置は、
    前記第1のストレージ装置からレプリケートされた前記ファイルに関して前記レプリケーション情報および前記ステータス情報を前記レプリケーション制御部によって生成し、生成した前記レプリケートされたファイルに関する前記レプリケーション情報および前記ステータス情報のうち少なくとも一方を前記管理サーバ装置に前記情報送信部によって送信する請求項2に記載のストレージシステム。
  4. クライアント装置から前記ストレージ装置に格納されたファイルへのアクセス要求があった際に、
    前記管理サーバ装置は、
    自装置が有する前記アクセス要求されたファイルに関する前記レプリケーション情報および前記ステータス情報を参照して、前記アクセス要求されたファイルを格納する前記ストレージ装置を前記クライアント装置に通知し、
    前記管理サーバ装置の通知に応じた前記クライアント装置にアクセスされた前記ストレージ装置は、
    自装置が有する前記アクセス要求されたファイルに関する前記レプリケーション情報および前記ステータス情報を参照し、
    自装置が格納する前記アクセス要求されたファイルが最新であった場合、前記アクセス要求されたファイルに関する前記ステータス情報を変更し、前記アクセス要求されたファイルへのアクセスを前記クライアント装置から受け付け、
    自装置が格納する前記アクセス要求があったファイルが最新ではなかった場合、前記アクセス要求があったファイルの最新版を格納する前記ストレージ装置に関する情報を前記クライアント装置に通知する請求項1乃至3のいずれか一項に記載のストレージシステム。
  5. 前記管理サーバ装置は、
    レプリケートされていないファイルに関して、前記ファイルのファイル名を用いて前記ファイルが格納されている前記ストレージ装置を検索する通常モード用ハッシュ手段と、
    レプリケートされたファイルに関して、前記レプリケーション情報を参照し、前記ファイルに紐付けられた前記ストレージ装置を検索するレプリケーションモード用ハッシュ手段とを有する請求項1乃至4のいずれか一項に記載のストレージシステム。
  6. 前記管理サーバ装置に接続され、所望のファイルへのアクセス要求をする少なくとも一つのクライアント装置を備える請求項1乃至5のいずれか一項に記載のストレージシステム。
  7. 前記管理サーバ装置に接続され、クライアント装置からのファイルへのアクセス要求に対応させて、ネットワーク上の負荷を分散する負荷分散装置を備える請求項1乃至6のいずれか一項に記載のストレージシステム。
  8. 複数のゾーンに分散して配置された複数のストレージ装置と、前記複数のストレージ装置を管理する少なくとも一つの管理サーバ装置とを備えるストレージシステムを構成するストレージ装置であって、
    自装置が格納するファイルが所定条件に達した際に、前記ファイルを同じ前記ゾーン内の他のストレージ装置にレプリケートし、
    他装置からファイルがレプリケートされた際に、前記自装置および前記他装置の情報を含むレプリケーション情報と、前記自装置および前記他装置のそれぞれに格納された前記ファイルが最新であるか否かを示すステータス情報とを生成し、生成した前記レプリケーション情報および前記ステータス情報を前記自装置と前記他装置との間で同期させるとともに、前記レプリケーション情報および前記ステータス情報のうち少なくとも一方を前記管理サーバ装置に送信するストレージ装置。
  9. 複数のゾーンに分散して配置された複数のストレージ装置と、前記複数のストレージ装置を管理する少なくとも一つの管理サーバ装置とを備えるストレージシステムを構成する管理サーバ装置であって、
    前記複数のストレージ装置のうち所定条件に達したファイルを格納する第1のストレージ装置が前記ファイルを同じ前記ゾーン内の第2のストレージ装置にレプリケートし、前記第2のストレージ装置がレプリケートされた前記ファイルに関して生成した前記第1および第2のストレージ装置の情報を含むレプリケーション情報と、前記第1および第2のストレージ装置のそれぞれに格納された前記ファイルが最新であるか否かを示すステータス情報とのうち少なくとも一方を受信し、受信した前記ファイルに関する前記レプリケーション情報および前記ステータス情報のうち少なくとも一方を参照して、クライアント装置からのファイル要求に応答する管理サーバ装置。
  10. 複数のゾーンに分散して配置された複数のストレージ装置と、前記複数のストレージ装置を管理する少なくとも一つの管理サーバ装置とを備えるストレージシステムにおけるファイル管理方法であって、
    前記複数のストレージ装置のうち所定条件に達したファイルを格納する第1のストレージ装置によって、前記ファイルを同じ前記ゾーン内の第2のストレージ装置にレプリケートし、
    前記第2のストレージ装置によって、レプリケートされた前記ファイルに関して、前記第1および第2のストレージ装置の情報を含むレプリケーション情報と、前記第1および第2のストレージ装置のそれぞれに格納された前記ファイルが最新であるか否かを示すステータス情報とを生成し、
    生成した前記レプリケーション情報および前記ステータス情報を前記第1および第2のストレージ装置間で同期させるとともに、前記レプリケーション情報および前記ステータス情報のうち少なくとも一方を前記管理サーバ装置に送信するファイル管理方法。
JP2015040016A 2015-03-02 2015-03-02 ストレージシステム、ストレージ、管理サーバおよびファイル管理方法 Active JP6432392B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015040016A JP6432392B2 (ja) 2015-03-02 2015-03-02 ストレージシステム、ストレージ、管理サーバおよびファイル管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015040016A JP6432392B2 (ja) 2015-03-02 2015-03-02 ストレージシステム、ストレージ、管理サーバおよびファイル管理方法

Publications (2)

Publication Number Publication Date
JP2016162170A JP2016162170A (ja) 2016-09-05
JP6432392B2 true JP6432392B2 (ja) 2018-12-05

Family

ID=56845345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015040016A Active JP6432392B2 (ja) 2015-03-02 2015-03-02 ストレージシステム、ストレージ、管理サーバおよびファイル管理方法

Country Status (1)

Country Link
JP (1) JP6432392B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6939246B2 (ja) 2017-08-23 2021-09-22 富士通株式会社 処理分散プログラム、処理分散方法、および情報処理装置
JP6916235B2 (ja) * 2019-03-27 2021-08-11 古河電気工業株式会社 光ファイバの製造方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005338893A (ja) * 2004-05-24 2005-12-08 Hitachi Ltd データ処理システムおよびディスクアクセス制御方法並びにその処理プログラム
JP4536034B2 (ja) * 2006-06-05 2010-09-01 Necシステムテクノロジー株式会社 文書管理システム、計算機、文書管理方法、及びプログラム
JP4945232B2 (ja) * 2006-12-21 2012-06-06 株式会社日立製作所 アクセス制御方法、計算機システム、及びオブジェクト複製プログラム
JP4717922B2 (ja) * 2008-11-28 2011-07-06 株式会社日立製作所 情報処理システム、情報処理システムにおける制御方法、および、管理装置
JP2011180658A (ja) * 2010-02-26 2011-09-15 Kddi Corp 分散ファイルシステムにおける冗長化方法
JP5039189B2 (ja) * 2010-08-23 2012-10-03 株式会社東芝 分散型データベースシステム

Also Published As

Publication number Publication date
JP2016162170A (ja) 2016-09-05

Similar Documents

Publication Publication Date Title
US8495013B2 (en) Distributed storage system and method for storing objects based on locations
US9888062B2 (en) Distributed storage system including a plurality of proxy servers and method for managing objects
US12015666B2 (en) Systems and methods for distributing partial data to subnetworks
WO2012086920A2 (ko) 내용 기반 중복 방지 기능을 가지는 분산 저장 시스템 및 그 오브젝트 저장 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
US20160006645A1 (en) Increased data transfer rate method and system for regular internet user
US10320905B2 (en) Highly available network filer super cluster
JP2007066161A (ja) キャッシュシステム
US10430304B2 (en) Communication continuation during content node failover
JP2014164487A (ja) サーバ、バックアップシステム、バックアップ方法、および、コンピュータ・プログラム
JP2018515850A (ja) データ・コピー方法及びデバイス
JP6432392B2 (ja) ストレージシステム、ストレージ、管理サーバおよびファイル管理方法
JP2014041550A (ja) データ移行処理システムおよびデータ移行処理方法
KR101342258B1 (ko) 분산 데이터 관리 시스템 및 그 방법
US20190354449A1 (en) Enhanced failover handling in data centers
KR101066328B1 (ko) 모바일 환경에서 부하 분산 처리 방법 및 이를 구현하는 모바일 디바이스
KR101748913B1 (ko) 분산 저장 환경에서 게이트웨이를 선택하기 위한 클러스터 관리 방법 및 데이터 저장 시스템
US9319245B2 (en) Information processing device, recording medium storing information search program, and information search method
JP2013171483A (ja) 差分レプリケーションシステム、マスターデータベース装置、及びスレーブデータベース装置
JP5658621B2 (ja) 信号振分複製先決定システム、信号振分複製先決定方法およびプログラム
JP6043687B2 (ja) サーバ/クライアントシステム
AU2023203129B2 (en) Systems and methods for distributing partial data to subnetworks
JP2019021022A (ja) 負荷分散装置、負荷分散方法、および、負荷分散プログラム
JP2017167783A (ja) ノードおよびデータ配置方法
JP2015162092A (ja) クラスタシステムのサーバ装置およびそのプログラム
JP2015162053A (ja) クラスタシステムのサーバ装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181022

R150 Certificate of patent or registration of utility model

Ref document number: 6432392

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150