(57)【要約】【課題】データの書き戻しによって発生するネットワークの負荷を減少させる。【解決手段】第１記憶装置４が情報処理装置１０に接続された場合に、第１記憶装置４に対して、第２記憶装置４に一時的に格納されたデータを書き戻す書き戻し処理部１１３と、書き戻し処理部１１３によるデータの書き戻し後に、第１記憶装置４に格納すべきデータが格納されている第３記憶装置４が接続された他の情報処理装置１０に、第１記憶装置４を接続させる付け替え処理部１１４と、を備える。【選択図】図１
2015176574.tif 000002
【特許請求の範囲】
【請求項１】
第１記憶装置に第２記憶装置が格納しているデータを書き戻す情報処理装置であって、
前記第１記憶装置が当該情報処理装置に接続された場合に、前記第１記憶装置に対して、前記第２記憶装置に一時的に格納されたデータを書き戻す書き戻し処理部と、
前記書き戻し処理部による前記データの書き戻し後に、前記第１記憶装置に格納すべきデータが格納されている第３記憶装置が接続された他の情報処理装置に、前記第１記憶装置を接続させる付け替え処理部と、
を備えることを特徴とする、情報処理装置。
【請求項２】
前記付け替え処理部が前記第１記憶装置を前記他の情報処理装置に接続させる場合に、前記第１記憶装置に対するアクセス要求が発生すると、当該アクセス要求を前記他の情報処理装置に送信する送信部
を備えることを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記第１記憶装置に格納すべきデータが格納されている記憶装置を持つ情報処理装置を示す格納先情報を当該情報処理装置と通信可能に接続される管理装置から取得する書き戻し管理部を備え、
前記付け替え処理部は、前記書き戻し管理部が取得した前記格納先情報に基づき、前記第１記憶装置を前記他の情報処理装置に接続させる、
ことを特徴とする、請求項１又は２に記載の情報処理装置。
【請求項４】
前記書き戻し管理部は、前記書き戻し処理部が前記データの書き戻しを完了すると、前記格納先情報を更新して前記管理装置に送信する、
ことを特徴とする、請求項３に記載の情報処理装置。
【請求項５】
前記付け替え処理部は、当該情報処理装置と前記第１記憶装置との間の中継装置を制御することにより、前記第１記憶装置を前記他の情報処理装置に接続させる、
ことを特徴とする、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
第１記憶装置に第２記憶装置が格納しているデータを書き戻す情報処理装置における制御方法であって、
前記第１記憶装置が当該情報処理装置に接続された場合に、前記第１記憶装置に対して、前記第２記憶装置に一時的に格納されたデータを書き戻し、
前記データの書き戻し後に、前記第１記憶装置に格納すべきデータが格納されている第３記憶装置が接続された他の情報処理装置に、前記第１記憶装置を接続させる、
ことを特徴とする、制御方法。
【請求項７】
第１記憶装置に第２記憶装置が格納しているデータを書き戻す情報処理装置が備えるコンピュータに、
前記第１記憶装置が当該情報処理装置に接続された場合に、前記第１記憶装置に対して、前記第２記憶装置に一時的に格納されたデータを書き戻し、
前記データの書き戻し後に、前記第１記憶装置に格納すべきデータが格納されている第３記憶装置が接続された他の情報処理装置に、前記第１記憶装置を接続させる、
処理を実行させることを特徴とする、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置，制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
ストレージの分野では、近年、ビッグデータをキーワードとした研究・開発が盛んに行なわれている。ビッグデータストレージはその総容量が数十〜数百ＰＢ（ペタバイト）にまで達しており、近いうちに１ＥＢ（エクサバイト）にまで到達するだろうと言われている。
その中で問題になりつつあるのがＴＯＣ（Total Cost of Ownership；総所有コスト）である。例えば、総容量１ＥＢのシステムを組もうとした場合に、１ＴＢ（テラバイト）のＳＡＳ（Serial Attached SCSI（Small Computer System Interface））ドライブを用いると1,000,000台ものドライブが必要であり電力費用だけで毎月数千万円かかることになる。
【０００３】
この莫大な電力費用を減らすためにはドライブの電源を積極的に落とすことが必要不可欠であるが、ドライブの電源を落としたとしても、そのドライブへの読み出し・書き込みが発生してしまうとドライブの電源を入れる必要がある。そのため、ユーザからのリクエスト次第でドライブを不用意に起動させ電力削減にならない場合がある。
このようなストレージ装置の消費電力量を低減するための手法として、ライトオフローディングと呼ばれる手法が知られている。
【０００４】
ライトオフローディングにおいては、電源オフになっているドライブに書き込みがあった場合に、一旦、他の電源がオンになっているドライブの使用していない領域（ログ領域）にデータを書き込む（オフロードする）。そして、電源オフだった本来の書き込み先のドライブが電源オンになると、オフロードしていたデータをこのドライブに書き込む（書き戻す）。また、オフロード先のドライブとして、電源オフになっているドライブが接続されるサーバとは異なる他のサーバに接続されるドライブを使用するサーバ間ライトオフローディングの技術も知られている。
【０００５】
これにより、電源オフのドライブへの書き込みが要求されたとしても、不用意にドライブを起こす必要がなく、消費電力を削減することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−９３２２０号公報
【特許文献２】特開２００５−２２８２８８号公報
【非特許文献】
【０００７】
【非特許文献１】Dushyanth Narayanan, et al. “Write Off-Loading: Practical Power Management for Enterprise Storage”, FAST ’08: 6th USENIX Conference on File and Storage Technologies, February 26-29, 2008
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、このような従来のストレージシステムにおいて、サーバ間ライトオフローディングの技術を用いてオフロードしていたデータの書き戻しを行なうと、書き戻しデータはサーバ間のネットワークを経由することになる。これにより、サーバ間のネットワークの負荷が増大するという課題がある。
１つの側面では、本発明は、データの書き戻しによって発生するネットワークの負荷を減少させることを目的とする。
【０００９】
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００１０】
このため、この情報処理装置は、第１記憶装置に第２記憶装置が格納しているデータを書き戻す情報処理装置であって、前記第１記憶装置が当該情報処理装置に接続された場合に、前記第１記憶装置に対して、前記第２記憶装置に一時的に格納されたデータを書き戻す書き戻し処理部と、前記書き戻し処理部による前記データの書き戻し後に、前記第１記憶装置に格納すべきデータが格納されている第３記憶装置が接続された他の情報処理装置に、前記第１記憶装置を接続させる付け替え処理部と、を備える。
【発明の効果】
【００１１】
開示の情報処理装置によれば、データの書き戻しによって発生するネットワークの負荷を減少させることができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態の一例としてのストレージシステムにおける機能構成を模式的に示す図である。
【図２】実施形態の一例としてのストレージシステムにおけるサーバ内ライトオフローディングによるライトオフローディング処理を説明する図である。
【図３】実施形態の一例としてのストレージシステムにおけるサーバ間ライトオフローディングによるライトオフローディング処理を説明する図である。
【図４】実施形態の一例としてのストレージシステムにおけるサーバ内ライトオフローディングによる負荷分散技術の第１の例を説明する図である。
【図５】実施形態の一例としてのストレージシステムにおけるサーバ間ライトオフローディングによる負荷分散技術を説明する図である。
【図６】実施形態の一例としてのストレージシステムにおけるサーバ内ライトオフローディングによる負荷分散技術の第２の例を説明する図である。
【図７】実施形態の一例としてのストレージシステムにおけるサーバ内ライトオフローディングによる書き戻し処理を説明する図である。
【図８】実施形態の一例としてのストレージシステムにおけるサーバ間ライトオフローディングによる書き戻し処理を説明する図である。
【図９】実施形態の一例としてのストレージシステムにおけるライトオフローディング処理を説明する図である。
【図１０】実施形態の一例としてのストレージシステムにおけるオフロードデータの書き戻し処理を示すフローチャートである。
【図１１】実施形態の一例としてのストレージシステムにおける巡回サーバリスト取得処理を例示する図である。
【図１２】実施形態の一例としてのストレージシステムにおけるサーバ内書き戻し処理を例示する図である。
【図１３】実施形態の一例としてのストレージシステムにおける記憶装置付け替え処理を例示する図である。
【図１４】実施形態の一例としてのストレージシステムにおけるオフロード先サーバ変更処理を例示する図である。
【図１５】実施形態の一例としてのストレージシステムにおけるオフロードデータの書き戻し処理の完了後の状態を例示する図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して情報処理装置，制御方法及び制御プログラムに係る一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００１４】
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
〔Ａ〕実施形態の一例
〔Ａ−１〕システム構成
図１は、実施形態の一例としてのストレージシステムにおける機能構成を模式的に示す図である。
【００１５】
本実施形態の一例におけるストレージシステム１は、サーバ（情報処理装置）１０に対して記憶領域を提供するものであり、ライトオフローディングの機能を備える。
以下、本実施形態の一例としてのストレージシステム１の詳細な機能構成を説明する前に、図２〜図８を用いて、ライトオフローディングについて説明する。
ライトオフローディングには、図２を用いて説明するサーバ内ライトオフローディングと図３を用いて後述するサーバ間ライトオフローディングとが考えられる。サーバ内ライトオフローディングはライトオフローディングをサーバ内に閉じて行ない、サーバ間ライトオフローディングはライトオフローディングをサーバ内に閉じないで行なう。
【００１６】
まず、サーバ内ライトオフローディングについて説明する。
図２は、実施形態の一例としてのストレージシステムにおけるサーバ内ライトオフローディングによるライトオフローディング処理を説明する図である。
図２に示すストレージシステム１ａは、サーバ１０ａに対して記憶領域を提供するものであり、サーバ内ライトオフローディングの機能を備える。ストレージシステム１ａは、複数（図示する例では３つ）のサーバ（サーバ＃０〜＃２）１０ａ及び複数（図示する例では９つ）の記憶装置（記憶装置＃０〜＃８）４を備える。
【００１７】
以下、複数のサーバのうち１つを特定する必要があるときには「サーバ＃０」，「サーバ＃１」又は「サーバ＃２」と表記するが、任意のサーバ装置を指すときには「サーバ１０ａ」と表記する。また、以下、複数の記憶装置のうち１つを特定する必要があるときには「記憶装置＃０」，「記憶装置＃１」，「記憶装置＃２」，「記憶装置＃３」，「記憶装置＃４」，「記憶装置＃５」，「記憶装置＃６」，「記憶装置＃７」又は「記憶装置＃８」と表記するが、任意の記憶装置を指すときには「記憶装置４」と表記する。
【００１８】
各サーバ１０ａは、ネットワーク５ａを介して互いに通信可能に接続される。また、各サーバ１０ａと各記憶装置４とは、例えばＳＡＳやＳＡＴＡ(Serial Advanced Technology Attachment)を介して通信可能に接続される。具体的には、サーバ＃０は記憶装置＃０〜＃２と通信可能に接続され、サーバ＃１は記憶装置＃３〜＃５と通信可能に接続され、又、サーバ＃２は記憶装置＃６〜＃８と通信可能に接続される。
【００１９】
記憶装置４は、データを読み書き可能に格納する既知の装置であり、例えば、Hard Disk Drive（ＨＤＤ）やSolid State Drive（ＳＳＤ）である。これらの記憶装置４は、互いに同様の機能構成を備える。
サーバ１０ａは、サーバ機能を備えたコンピュータである。図２に示す例では、３つのサーバ１０ａを備えているが、２つ以下又は４つ以上のサーバ１０ａを備えても良い。
【００２０】
以下、各図において、破線で示す記憶装置４は、電源オフ状態または電源オン状態ではあるがスピンダウン中であることを示し、実線で示す記憶装置は電源オン状態でスピンダウン中でもないことを示す。つまり、図２に示す例においては、記憶装置＃０，＃３，＃６は電源オフ状態であり、記憶装置＃１，＃２，＃４，＃５，＃７，＃８は電源オン状態である。
【００２１】
ライトオフローディングにおいては、各記憶装置４内の使用していない領域をログ領域として用いる。サーバ１０ａは、電源オフ状態である記憶装置４に対するデータ書き込み指示が発行された場合に、この書き込み先の記憶装置４に書き込みを行なう代わりに、まず電源オン状態の他の記憶装置４に対してデータを書き込む（オフロードする）。
サーバ内ライトオフローディングにおいて、サーバ１０ａは、自サーバ１０ａに接続された電源オフ状態である記憶装置４に対するデータ書き込み指示が発行された場合に、自サーバ１０ａに接続された電源オン状態の他の記憶装置４に対してデータをオフロードする。つまり、サーバ内ライトオフローディングは、サーバ内に閉じたオフロード処理である。
【００２２】
図２に示す例においては、サーバ＃０は、電源オフ状態である記憶装置＃０に対するデータ書き込み指示が発行された場合に、電源オン状態の記憶装置＃１，＃２に対してデータをオフロードする。また、サーバ＃１は、電源オフ状態である記憶装置＃３に対するデータ書き込み指示が発行された場合に、電源オン状態の記憶装置＃４，＃５に対してデータをオフロードする。更に、サーバ＃２は、電源オフ状態である記憶装置＃６に対するデータ書き込み指示が発行された場合に、電源オン状態の記憶装置＃７，＃８に対してデータをオフロードする。
【００２３】
以下、電源オフ状態である本来の書き込み先の記憶装置４の代わりにデータが書き込まれる記憶装置４を「オフロード先の記憶装置４」という場合がある。
次に、サーバ間ライトオフローディングについて説明する。
図３は、実施形態の一例としてのストレージシステムにおけるサーバ間ライトオフローディングによるライトオフローディング処理を説明する図である。
【００２４】
図３に示すストレージシステム１ｂは、サーバ１０ｂに対して記憶領域を提供するものであり、サーバ間ライトオフローディングの機能を備える。ストレージシステム１ｂは、複数（図示する例では３つ）のサーバ（サーバ＃０〜＃２）１０ｂ及び複数（図示する例では９つ）の記憶装置（記憶装置＃０〜＃８）４を備える。図３に示す記憶装置４は、図２に示した記憶装置４と同様の機能構成を備えるため、その説明は省略する。
【００２５】
以下、複数のサーバのうち１つを特定する必要があるときには「サーバ＃０」，「サーバ＃１」又は「サーバ＃２」と表記するが、任意のサーバ装置を指すときには「サーバ１０ｂ」と表記する。
サーバ１０ｂは、サーバ機能を備えたコンピュータである。図３に示す例では、３つのサーバ１０ｂを備えているが、２つ以下又は４つ以上のサーバ１０ｂを備えても良い。
【００２６】
サーバ間ライトオフローディングにおいて、サーバ１０ｂは、自サーバ１０ｂに接続された電源オフ状態である記憶装置４に対するデータ書き込み指示が発行された場合に、自サーバ１０ｂ及び他サーバ１０ｂに接続された電源オン状態の他の記憶装置４に対してデータをオフロードする。つまり、サーバ間ライトオフローディングは、サーバ内に閉じないオフロード処理である。
【００２７】
図３に示す例においては、電源オフ状態である記憶装置＃０に対するデータ書き込み指示が発行された場合に、サーバ＃０は記憶装置＃１，＃２にデータをオフロードし、サーバ＃１は記憶装置＃４，＃５にデータをオフロードし、サーバ＃２は記憶装置＃７，＃８に対してデータをオフロードする。また、電源オフ状態である記憶装置＃３に対するデータ書き込み指示が発行された場合に、サーバ＃０は記憶装置＃１，＃２にデータをオフロードし、サーバ＃１は記憶装置＃４，＃５にデータをオフロードし、サーバ＃２は記憶装置＃７，＃８に対してデータをオフロードする（図示省略）。更に、電源オフ状態である記憶装置＃６に対するデータ書き込み指示が発行された場合に、サーバ＃０は記憶装置＃１，＃２にデータをオフロードし、サーバ＃１は記憶装置＃４，＃５にデータをオフロードし、サーバ＃２は記憶装置＃７，＃８に対してデータをオフロードする（図示省略）。
【００２８】
次に、ライトオフローディングにおける負荷分散について説明する。
図４は実施形態の一例としてのストレージシステムにおけるサーバ内ライトオフローディングによる負荷分散技術の第１の例を説明する図であり、図５はそのサーバ間ライトオフローディングによる負荷分散技術を説明する図である。
ライトオフローディングにおいては、電源オン状態であるオフロード先の記憶装置４にオフロードされるデータ量はサーバ内ライトオフローディングかサーバ間ライトオフローディングかによって異なる。
【００２９】
まず、サーバ内ライトオフローディングにおける負荷分散について説明する。
図４に示す例において、電源オフ状態である記憶装置＃０，＃３，＃６は、３０ＭＢ／ｓｅｃ（メガバイト毎秒），４ＭＢ／ｓｅｃ，４ＭＢ／ｓｅｃのデータをそれぞれ書き込まれようとしている（符号Ａ１１，Ａ２１，Ａ３１参照）。
サーバ＃０は、記憶装置＃０に対するデータを記憶装置＃１，＃２に１５ＭＢ／ｓｅｃずつ分散して書き込む（符号Ａ１２参照）。また、サーバ＃１は、記憶装置＃３に対するデータを記憶装置＃４，＃５に２ＭＢ／ｓｅｃずつ分散して書き込む（符号Ａ２２参照）。更に、サーバ＃２は、記憶装置＃６に対するデータを記憶装置＃７，＃８に２ＭＢ／ｓｅｃずつ分散して書き込む（符号Ａ３２参照）。すなわち、各サーバ１０は、電源オフ状態の記憶装置４に書き込まれようとするデータを、電源オフ状態の記憶装置４と同一のサーバ１０に接続されている他の記憶装置４に均等に分散させて書き込む。
【００３０】
このように、サーバ内ライトオフローディングにおいては、電源オン状態の記憶装置４に対してオフロードされるデータ量がサーバ１０ａ間で異なる。
次に、サーバ間ライトオフローディングにおける負荷分散について説明する。
図５に示す例においても同様に、電源オフ状態である記憶装置＃０，＃３，＃６は、３０ＭＢ／ｓｅｃ，４ＭＢ／ｓｅｃ，４ＭＢ／ｓｅｃのデータをそれぞれ書き込まれようとしている（符号Ｂ１，Ｂ２，Ｂ３参照）。
【００３１】
各サーバ１０ｂは、電源オフ状態である記憶装置＃０，＃３，＃６に対するデータを電源オン状態である記憶装置＃１，＃２，＃４，＃５，＃７，＃８に
【００３２】
【数１】
2015176574.tif 000003
【００３３】
ずつ分散して書き込む（符号Ｂ４参照）。
具体的には、サーバ＃０は、記憶装置＃０，＃３，＃６に対するデータを記憶装置＃１，＃２に６．３ＭＢ／ｓｅｃずつ分散して書き込む。また、サーバ＃１は、記憶装置＃０，＃３，＃６に対するデータを記憶装置＃４，＃５に６．３ＭＢ／ｓｅｃずつ分散して書き込む。更に、サーバ＃２は、記憶装置＃０，＃３，＃６に対するデータを記憶装置＃７，＃８に６．３ＭＢ／ｓｅｃずつ分散して書き込む。
【００３４】
このように、サーバ間ライトオフローディングにおいては、電源オフ状態である記憶装置４がどのサーバ１０ｂに接続されているかに関わらず、電源オン状態である記憶装置４に対してオフロードされるデータ量が各サーバ１０ｂで同一となる。つまり、サーバ間ライトオフローディングにおいては、オフロードによる各記憶装置４に対する負荷の増分を均等化することができる。
【００３５】
次に、サーバ内ライトオフローディングにおける負荷分散について更に説明する。
図６は、実施形態の一例としてのストレージシステムにおけるサーバ内ライトオフローディングによる負荷分散技術の第２の例を説明する図である。
図６に示す例においては、記憶装置＃０，＃１，＃３は電源オフ状態であり、記憶装置＃２，＃４〜＃８は電源オン状態である。つまり、サーバ＃０は２つの電源オフ状態の記憶装置＃０，＃１と接続されており、サーバ＃１は１つの電源オフ状態の記憶装置＃３と接続されており、サーバ＃２は電源オフ状態の記憶装置４が接続されていない。
【００３６】
各記憶装置４は、均等に１０ＭＢ／ｓｅｃの負荷をかけられようとしている（符号Ｃ１参照）。
サーバ＃０は、記憶装置＃０〜＃２に対するデータをまとめて３０ＭＢ／ｓｅｃで記憶装置＃２に書き込む（符号Ｃ２参照）。また、サーバ＃１は、記憶装置＃３〜＃５に対するデータを記憶装置＃４，＃５に１５ＭＢ／ｓｅｃずつ分散して書き込む（符号Ｃ３参照）。更に、サーバ＃２は、記憶装置＃６〜＃８に対するデータをそれぞれ記憶装置＃６〜＃８に１０ＭＢ／ｓｅｃずつ分散して書き込む（符号Ｃ４参照）。
【００３７】
このように、サーバ内ライトオフローディングにおいては、各記憶装置４に負荷が均等にかかっている場合においても、サーバ１０ａ毎の電源オフ状態の記憶装置４の数が異なることにより、オフロードによる各記憶装置４に対する負荷の増分が均等にならない。図６に示す例において、記憶装置＃２は、記憶装置＃６〜＃８と比較して、３倍の負荷をかけられている。記憶装置４間における負荷の差が広がると、高い負荷を受けている記憶装置４によってストレージシステム１ａ全体の性能が制限されてしまい、理想的なピーク性能を発揮できない可能性がある。
【００３８】
そこで、各記憶装置４に均等な負荷がかかるようにするために、電源オフ状態の記憶装置４の数をサーバ１０ａ毎に一定にすることが考えられる。
しかしながら、ライトオフローディングにおいて、ログ領域にないデータの読み込み処理を行なう場合には、電源オフ状態の記憶装置４を電源投入しなければならない。つまり、はじめ電源オフ状態の記憶装置４の数をサーバ１０ａ毎に一定にしていたとしても、ログ領域にないデータの読み込み処理が発生すると、電源オフ状態の記憶装置４の数がサーバ１０ａ毎に異なることになる。
【００３９】
次に、ライトオフローディングによる書き戻し処理について説明する。
図７は実施形態の一例としてのストレージシステムにおけるサーバ内ライトオフローディングによる書き戻し処理を説明する図であり、図８はそのサーバ間ライトオフローディングによる書き戻し処理を説明する図である。
以下、各図において、一点鎖線で示す記憶装置４は、電源オフ状態から電源投入されて書き戻し処理の対象となった記憶装置４であることを示す。つまり、図７に示す例においては記憶装置＃０，＃３，＃６が書き戻し処理の対象であり、図８に示す例においては記憶装置＃０が書き戻し処理の対象である。
【００４０】
まず、サーバ内ライトオフローディングにおける書き戻し処理について説明する。
図７に示すように、サーバ内ライトオフローディングにおいて、オフロード後に本来の格納先である記憶装置＃０，＃３，＃６が電源投入された場合には、各サーバ１０ａは、オフロード先の記憶装置４のログ領域に格納されているオフロードデータを電源投入された記憶装置４に書き戻す。具体的には、サーバ＃０は、オフロード先の記憶装置＃１，＃２のログ領域に格納されているオフロードデータを電源投入された記憶装置＃０に書き戻す。また、サーバ＃１は、オフロード先の記憶装置＃４，＃５のログ領域に格納されているオフロードデータを電源投入された記憶装置＃３に書き戻す。更に、サーバ＃２は、オフロード先の記憶装置＃７，＃８のログ領域に格納されているオフロードデータを電源投入された記憶装置＃６に書き戻す。
【００４１】
以下、オフロードデータを書き戻される記憶装置４を「書き戻し先の記憶装置４」という場合がある。
このように、サーバ内ライトオフローディングにおいては、オフロード先の記憶装置４と書き戻し先の記憶装置４とが同一のサーバ１０ａに接続されているため、ノード間通信を行なう必要がなく、サーバ１０ａ内に閉じてデータの書き戻しを行なうことができる。
【００４２】
次に、サーバ間ライトオフローディングにおける書き戻し処理について説明する。
図８に示すように、サーバ間ライトオフローディングにおいて、オフロード後に本来の格納先である記憶装置＃０が電源投入された場合には、各サーバ１０ａは、オフロード先の記憶装置４のログ領域に格納されているオフロードデータを電源投入された記憶装置４に書き戻す。具体的には、サーバ＃０は、オフロード先の記憶装置＃１，＃２のログ領域に格納されているオフロードデータを電源投入された記憶装置＃０に書き戻す。また、サーバ＃１は記憶装置＃４，＃５のログ領域に格納されているオフロードデータをサーバ＃０にネットワーク５ａを介して送信し、サーバ＃０は受信したオフロードデータを電源投入された記憶装置＃０に書き戻す。更に、サーバ＃２は記憶装置＃７，＃８のログ領域に格納されているオフロードデータをサーバ＃０にネットワーク５ａを介して送信し、サーバ＃０は受信したオフロードデータを電源投入された記憶装置＃０に書き戻す。
【００４３】
このように、サーバ間ライトオフローディングにおいては、オフロード先の記憶装置４と書き戻し先の記憶装置４とが同一のサーバ１０ａに接続されているとは限らないため、ノード間通信が発生してしまう。つまり、サーバ間ライトオフローディングにおいては、サーバ１０間でデータの転送を行なうためにCentral Processing Unit（ＣＰＵ）やネットワーク帯域等のシステムリソースを無駄に消費してしまう。
【００４４】
このようなシステムリソースの消費は、ビッグデータストレージのワークロードの一例として挙げられるセンサデータの蓄積等の時系列データの書き込み処理がほとんどを占めるようなワークロードの場合に、特に大きくなる可能性がある。そのような書き込みの比重が大きいワークロードでは、記憶装置４の電源投入をしなければならないログ領域にないデータへの読み込み処理を行なわなければならないケースが発生することが相対的に少ないため、いったん電源オフ状態になった記憶装置は長時間電源オフ状態を保つことができる。しかし、そのような場合には電源投入された場合に書き戻しを行なわなければならないデータ量が電源オフ状態だった時間に比例して増えてしまうため、大量のデータをノード間通信でやりとりしなければならず、書き戻しの際に大量のシステムリソースを消費してしまう。
【００４５】
前述のように、サーバ内ライトオフローディングにおいては、書き戻し処理においてノード間通信は発生しないが、オフロードによって各記憶装置４にかかる負荷が不均等になってしまう。
一方、サーバ間ライトオフローディングにおいては、オフロードによって各記憶装置４にかかる負荷は均等であるが、書き戻し処理においてノード間通信が発生してしまう。
【００４６】
そこで、図１に示すように、本実施形態の一例におけるストレージシステム１は、複数（図示する例では２つ）のサーバ（サーバ＃０，＃１；情報処理装置）１０，管理サーバ２，ロードバランサ（管理装置，負荷分散装置）３及び複数（図示する例では４つ）の記憶装置４を備える。記憶装置４は、図２及び図３等に示したストレージシステム１ａ，１ｂが備える記憶装置４と同様の機能構成を備えるため、その説明は省略する。
【００４７】
なお、ストレージシステム１が備えるサーバ１０及び記憶装置４の数は図１に示す例に限定されるものではなく、種々変更することができる。例えば、ストレージシステム１は、図９を用いて後述するように３つのサーバ１０及び９つの記憶装置４を備えても良いし、図１１等を用いて後述するように２つのサーバ１０及び６つの記憶装置４を備えても良い。
【００４８】
以下、複数のサーバのうち１つを特定する必要があるときには「サーバ＃０」，「サーバ＃１」又は「サーバ＃２」と表記するが、任意のサーバ装置を指すときには「サーバ１０」と表記する。
各サーバ１０とロードバランサ３とはネットワーク５ａを介して通信可能に接続され、各サーバ１０と管理サーバ２とはネットワーク５ｂを介して通信可能に接続される。また、各サーバ１０と各記憶装置４とは、Disk Area Network（ＤＡＮ）６を介して通信可能に接続される。
【００４９】
ＤＡＮ６は、図示しないスイッチ（中継装置）を備え、サーバ１０と記憶装置４との間の接続を任意に切り替える機能を有するインターコネクトである。本実施形態の一例においては、従来のファイバーチャネル等によるStorage Area Network（ＳＡＮ）と区別するため、ディスクを接続するインターコネクトの意味でＤＡＮ６と呼ぶ。ＤＡＮ６は、従来のローカルディスクに相当する部分を接続するため高い性能と低コストとを両立することができる。ＤＡＮ６はＳＡＮと異なり、以下のような特徴を持つ。
【００５０】
トポロジ：１台の記憶装置４（ターゲット）を複数のサーバ１０（ノード）で共有する必要がない。
ルーティング：単純な回線スイッチでよい。
このように、トポロジやルーティング等が簡単で済むため、低コストで実装が容易となる。また、ＤＡＮ６は、記憶装置４のグループ（図９等に示す一点鎖線枠参照）を構成することによって、物理ディスク資源を高速かつ柔軟に接続する。従って、サーバ１０と記憶装置４とをＤＡＮ６によって接続することにより、システム要件に応じたディスク構成を提供することが可能となり、ストレージドライブ資源の利用効率を向上させることができる。
【００５１】
本実施形態の一例において、ＤＡＮ６は、サーバ１０に対して接続する記憶装置４を切り替える機能を有し、各記憶装置４を各サーバ１０に対してローカルディスクのように接続する。そして、サーバ１０は、ＤＡＮ６を介して記憶装置４に対する読み出し・書き込みを行なう。
なお、ＤＡＮ６の代わりに、市販のＳＡＳスイッチやｉＳＣＳＩなどを用いてサーバ１０と記憶装置４とを接続しても良い。市販のＳＡＳスイッチは、スイッチによるパス経路の切り替えを行なうことで、記憶装置４を切り替えることができる。また、ｉＳＣＳＩは、切り替え元のサーバ１０で記憶装置４への接続を一旦切断した後に切り替え先のサーバ１０で再び記憶装置４に接続することで、記憶装置４を切り替えることができる。
【００５２】
ロードバランサ３は、特定のサーバ１０に対するアクセス負荷が集中しないように、複数のサーバ１０に負荷を分散する装置である。ロードバランサ３は、どの記憶装置４にどのデータがあるのか、どのデータがどの記憶装置４のログ領域にオフロードされているかを把握している。そして、ロードバランサ３は、データの読み込み・書き込みリクエストが発生した場合に、適切な記憶装置４にリクエストを割り振る。ロードバランサ３は、図１１等を用いて後述するコンシステントハッシュとハッシュ表３０１とを組み合わせて、リクエストの割り振りを行なう。ハッシュ表３０１は、オフロードされたデータのデータ名に対してオフロード先サーバの識別子を対応付けたものである。
【００５３】
ロードバランサ３は、オフロードされていないデータ読み込みリクエストについてはコンシステントハッシュを用いて格納先の記憶装置４の識別子を取得し、その他のリクエストについてはハッシュ表３０１の対応するデータ名を検索することによってオフロード先の記憶装置４の識別子を取得する。このようにすることで、オフロードされているデータに対する読み込みリクエストが不用意に電源オフ状態の記憶装置４に割り振られることを防ぐ。
【００５４】
管理サーバ２は図示しないＣＰＵ及びメモリを備え、管理サーバ２が備えるＣＰＵはＤＡＮ管理部２０として機能する。
ＤＡＮ管理部２０は、サーバ１０が備える後述するＣＰＵ１１の一機能としての付け替え処理部１１４からの指示に基づき、ＤＡＮ６の操作を行なう。具体的には、ＤＡＮ管理部２０は、付け替え処理部１１４の指示に基づき、前述したＤＡＮ６のスイッチを制御することで、各記憶装置４の接続先のサーバ１０を付け替える。例えば、図１に示す例において、サーバ＃０と記憶装置＃０とが接続されており、サーバ＃０の付け替え処理部１１４から記憶装置＃０をサーバ＃１に付け替えるよう指示を受けた場合には、ＤＡＮ管理部２０は、記憶装置＃０がサーバ＃１に接続されるようにスイッチを制御する。なお、図示する例においてはＤＡＮ管理部２０をサーバ１０とは別の管理サーバ２に配置しているが、サーバ１０がＤＡＮ管理部２０としての機能を備えても良い。
【００５５】
サーバ１０はサーバ機能を備えたコンピュータであり、サーバ＃０とサーバ＃１とは互いに同様の機能構成を備える。サーバ１０は、ＣＰＵ（コンピュータ）１１及びメモリ１２を備える。
メモリ１２は、Read Only Memory（ＲＯＭ）及びRandom Access Memory（ＲＡＭ）を含む記憶装置である。メモリ１２のＲＯＭには、Basic Input/Output System（ＢＩＯＳ）等のプログラムが書き込まれている。メモリ１２上のソフトウェアプログラムは、ＣＰＵ１１に適宜読み込まれて実行される。また、メモリ１２のＲＡＭは、一次記録メモリあるいはワーキングメモリとして利用される。
【００５６】
ＣＰＵ１１は、種々の制御や演算を行なう処理装置であり、メモリ１２に格納されたOperating System（ＯＳ）やプログラムを実行することにより、種々の機能を実現する。すなわち、ＣＰＵ１１は、図１に示すように、ネットワーク送受信部（送信部）１１１，書き戻し管理部１１２，書き戻し処理部（第１書き戻し処理部，第２書き戻し処理部）１１３，付け替え処理部１１４及び読み書き処理部１１５として機能する。
【００５７】
なお、これらのネットワーク送受信部１１１，書き戻し管理部１１２，書き戻し処理部１１３，付け替え処理部１１４及び読み書き処理部１１５としての機能を実現するためのプログラム（制御プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
【００５８】
ネットワーク送受信部１１１，書き戻し管理部１１２，書き戻し処理部１１３，付け替え処理部１１４及び読み書き処理部１１５としての機能を実現する際には、内部記憶装置（本実施形態ではメモリ１２）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ１１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【００５９】
ネットワーク送受信部１１１は、ネットワーク５ａを介して他のサーバ１０やロードバランサ３等とデータの送受信を行なう。また、ネットワーク送受信部１１１は、ロードバランサ３が送信した巡回サーバリスト（格納先情報）３０２（図１１等を用いて後述）を受信し、書き戻し管理部１１２に渡す。更に、ネットワーク送受信部１１１は、書き戻し管理部１１２が更新した巡回サーバリスト３０２と、書き戻し対象の記憶装置４の付け替え先のサーバ１０に関する情報とをロードバランサ３及び他のサーバ１０に送信する。また、ネットワーク送受信部１１１は、書き戻し対象の記憶装置４を他のサーバ１０に接続させる場合に、書き戻し対象の記憶装置４に対するアクセス要求が発生すると、発生したアクセス要求を書き戻し対象の記憶装置４が接続される他のサーバ１０に送信（転送）する。
【００６０】
書き戻し管理部１１２は、書き戻し処理部１１３を用いてサーバ１０内における書き戻し処理を行なわせ、付け替え処理部１１４を用いて書き戻し対象の記憶装置４を他のサーバ１０に付け替えさえる。また、書き戻し管理部１１２は、ネットワーク送受信部１１１を介してロードバランサ３から巡回サーバリスト３０２を取得する。更に、書き戻し管理部１１２は、サーバ１０内における書き戻し処理が完了すると、巡回サーバリスト３０２を更新し、更新した巡回サーバリスト３０２をロードバランサ３及び他のサーバ１０にネットワーク送受信部１１１を介して送信する。書き戻し管理部１１２は、更新した巡回サーバリスト３０２とともに、書き戻し処理の指示を書き戻し対象の記憶装置４の付け替え先のサーバ１０に送信する。
【００６１】
書き戻し処理部１１３は、書き戻し対象の記憶装置４に書き戻さなければならないデータのリスト（不図示）を各記憶装置４のログ領域から取得し、取得したリストに含まれるデータを書き戻し対象の記憶装置４に書き戻す。言い換えれば、書き戻し処理部１１３は、書き戻し対象の記憶装置４が自サーバ１０に接続された場合に、書き戻し対象の記憶装置４に対して、オフロード先の記憶装置４に一時的に格納されたデータを書き戻す。
【００６２】
付け替え処理部１１４は、ＤＡＮ管理部２０を介して記憶装置４の付け替えを行なう。具体的には、付け替え処理部１１４は、ＤＡＮ管理部２０にサーバ１０と書き戻し対象の記憶装置４との間のスイッチを制御させることによって、書き戻し対象の記憶装置４を他のサーバ１０に接続させる。
本実施形態の一例においては、従来のストレージシステムとは異なり、サーバ１０と記憶装置４とがＤＡＮ６を介して接続されているため、付け替え処理部１１４の機能により、サーバ１０と記憶装置４との接続関係を動的に変更することができる。以下では、簡単のために、１つの記憶装置４に対して１つのサーバ１０が接続されていることとするが、１つの記憶装置４に対して複数のサーバ１０を接続させる（複数のサーバ１０で１つの記憶装置４を共有する）ことも可能である。１つの記憶装置４に対して複数のサーバ１０を接続させる場合には、以下でいう「記憶装置４を付け替える」という表現は、「記憶装置４を付け替え先のサーバ１０でも共有する」と読み替えることができる。
【００６３】
読み書き処理部１１５は、自サーバ１０に接続されている記憶装置４に対してデータの読み書きを行なう。また、読み書き処理部１１５は、オフロードするデータを記憶装置４のログ領域に配置する。
図９は、実施形態の一例としてのストレージシステムにおけるライトオフローディング処理を説明する図である。
【００６４】
図９に示すストレージシステム１は、３つのサーバ＃０〜＃２及び９つの記憶装置＃０〜＃８を備える。なお、管理サーバ２の図示は、簡単のため省略している。
サーバ１０と記憶装置４とは、図中の一点鎖線で示す枠に従って、ＤＡＮ６を介して通信可能に接続される。つまり、サーバ＃０は記憶装置＃０〜＃２と通信可能に接続されており、サーバ＃１は記憶装置＃３〜＃５と通信可能に接続されており、又、サーバ＃２は記憶装置＃６〜＃８と通信可能に接続されている。
【００６５】
サーバ１０の読み書き処理部１１５は、自サーバ１０に接続された電源オフ状態である記憶装置４に対するデータ書き込み指示が発行された場合に、自サーバ１０及び他サーバ１０に接続された電源オン状態の記憶装置４に対してデータをオフロードする。
図９に示す例においては、電源オフ状態である記憶装置＃０に対するデータ書き込み指示が発行された場合に、サーバ＃０は記憶装置＃１，＃２にデータをオフロードし、サーバ＃１は記憶装置＃４，＃５にデータをオフロードし、サーバ＃２は記憶装置＃７，＃８に対してデータをオフロードする。また、電源オフ状態である記憶装置＃３に対するデータ書き込み指示が発行された場合に、サーバ＃０は記憶装置＃１，＃２にデータをオフロードし、サーバ＃１は記憶装置＃４，＃５にデータをオフロードし、サーバ＃２は記憶装置＃７，＃８に対してデータをオフロードする（図示省略）。更に、電源オフ状態である記憶装置＃６に対するデータ書き込み指示が発行された場合に、サーバ＃０は記憶装置＃１，＃２にデータをオフロードし、サーバ＃１は記憶装置＃４，＃５にデータをオフロードし、サーバ＃２は記憶装置＃７，＃８に対してデータをオフロードする（図示省略）。
【００６６】
〔Ａ−２〕動作
上述の如く構成された実施形態の一例としてのストレージシステムにおけるオフロードデータの書き戻し処理を図１０に示すフローチャート（ステップＳ１〜Ｓ４）に従って説明する。
書き戻し処理を開始すると、書き戻し対象の記憶装置４を有するサーバ１０は、巡回サーバリスト３０２を参照して、書き戻し対象の記憶装置４が書き戻しデータ（オフロードデータ）が格納されている記憶装置４を有する全てのサーバ１０を一巡したかを判定する（ステップＳ１）。
【００６７】
書き戻し対象の記憶装置４が書き戻しデータが格納されている記憶装置４を有する全てのサーバ１０を一巡した場合には（ステップＳ１のＹｅｓルート参照）、書き戻し処理を終了する。
一方、書き戻し対象の記憶装置４が書き戻しデータが格納されている記憶装置４を有する全てのサーバ１０を一巡していない場合には（ステップＳ１のＮｏルート参照）、付け替え処理部１１４は、書き戻しデータを格納する記憶装置４を有するサーバ１０に書き戻し対象の記憶装置を付け替える（ステップＳ２）。
【００６８】
付け替え先のサーバ１０の書き戻し処理部１１３は、サーバ内通信でデータの書き戻しを行なう（ステップＳ３）。
書き戻し管理部１１２は、巡回サーバリスト３０２を更新することにより、書き戻しを行なった記憶装置４を有するサーバ１０をオフロード先の対象から外し（ステップＳ４）、ステップＳ１に戻る。
【００６９】
次に、図１１〜図１５を参照しながら、本実施形態の一例におけるオフロードデータの書き戻し処理の具体例を説明する。
図１１〜図１５に示すストレージシステム１は、２つのサーバ＃０，＃１及び６つの記憶装置＃０〜＃５を備える。なお、管理サーバ２の図示は、簡単のため省略している。
サーバ１０と記憶装置４とは、図中の一点鎖線で示す枠に従って、ＤＡＮ６を介して通信可能に接続される。つまり、サーバ＃０は記憶装置＃０〜＃２と通信可能に接続されており、又、サーバ＃２は記憶装置＃６〜＃８と通信可能に接続されている。
【００７０】
図１１は、実施形態の一例としてのストレージシステムにおける巡回サーバリスト取得処理を例示する図である。
ロードバランサ３は、コンシステントハッシュとハッシュ表３０１とを組み合わせて、各記憶装置４に対してリクエストの割り振りを行なう。ハッシュ表３０１には、オフロードされたデータのデータ名と、オフロードデータを本来格納すべき記憶装置の識別子と、オフロード先のサーバ１０の識別子とが互いに対応付けられている。
【００７１】
図１１に示す例において、ハッシュ表３０１は、記憶装置＃０に本来格納すべきデータＡがサーバ＃０にオフロードされていることを示している。そして、ハッシュ表３０１に示すデータＡは、サーバ＃０に接続されている記憶装置＃１，＃２のログ領域にオフロードされている（記憶装置＃１，＃２の斜線領域参照）。また、ハッシュ表３０１は、記憶装置＃３に本来格納すべきデータＢがサーバ＃０にオフロードされ、記憶装置＃０に本来格納すべきデータＣがサーバ＃１にオフロードされていることを示している。そして、ハッシュ表３０１に示すデータＣは、サーバ＃１に接続されている記憶装置＃４，＃５のログ領域にオフロードされている（記憶装置＃４，＃５の網掛け領域参照）。なお、ハッシュ表３０１に示すデータＢは、サーバ＃０に接続されている記憶装置＃１，＃２のうち少なくとも一方にオフロードされているが、簡単のためその図示は省略している。
【００７２】
例えば、サーバ＃０の書き戻し管理部１１２は、記憶装置＃０の電源投入がされると、記憶装置＃０に対する書き戻し処理を開始するべく、ネットワーク送受信部１１１を介してロードバランサ３に対して巡回サーバリスト３０２の送信を要求する。
ロードバランサ３は、ハッシュ表３０１に基づいて巡回サーバリスト３０２を作成し、サーバ＃０に送信する。具体的には、ロードバランサ３は、ハッシュ表３０１に登録されているオフロードデータを本来格納すべき記憶装置４毎に巡回サーバリスト３０２を作成する。図１１に示す例において、記憶装置＃０に本来格納すべきオフロードデータは、データＡとしてサーバ＃０にオフロードされ、データＣとしてサーバ＃１にオフロードされている。そこで、ロードバランサ３は、記憶装置＃０に本来格納すべきオフロードデータがサーバ＃０，＃１において書き戻し済みであるか否かを登録可能な巡回サーバリスト３０２を作成して、サーバ＃０に送信する。
【００７３】
サーバ＃０の書き戻し管理部１１２は、ネットワーク送受信部１１１を介してロードバランサ３が送信した巡回サーバリスト３０２を取得する。図１１に示す例においては、巡回サーバリスト３０２中において「×」で示すように、記憶装置＃０に対する書き戻し処理はいずれのサーバ１０についても完了していないことを示している。一方、各サーバ１０における書き戻し処理が完了すると、書き戻し管理部１１２は、図１２を用いて後述するように、巡回サーバリスト３０２中の書き戻しが完了したサーバ１０について「○」を書き込む。
【００７４】
サーバ＃０の書き戻し管理部１１２は、巡回サーバリスト３０２を取得することにより、記憶装置＃０が書き戻し処理のために巡回（接続）する必要があるサーバ１０を認識することができる。つまり、書き戻し管理部１１２は、記憶装置＃０に書き戻すべきデータがサーバ＃０，＃１に接続されている記憶装置４にオフロードされていることを認識することができる。
【００７５】
図１２は、実施形態の一例としてのストレージシステムにおけるサーバ内書き戻し処理を例示する図である。
書き戻し処理部１１３は、自サーバ１０と接続されている各記憶装置４のログ領域を読み込むことによりオフロード先の記憶装置４を検出し、オフロード先の記憶装置４のログ領域から書き戻し対象の記憶装置４にオフロードデータを書き戻す。図１２に示す例において、サーバ＃０の書き戻し処理部１１３は、記憶装置＃１，＃２から記憶装置＃０にオフロードデータ（図１１に示したハッシュ表３０１のデータＡ）を書き戻す（符号Ｄ１参照）。このように、記憶装置＃１，＃２から記憶装置＃０への書き戻し処理はサーバ＃０内における処理であるため、ノード間通信は発生しない。
【００７６】
書き戻し管理部１１２は、書き戻し処理部１１３によるサーバ内書き戻し処理が完了すると、巡回サーバリスト３０２を更新する。図１２に示す例において、サーバ＃０の書き戻し管理部１１２は、巡回サーバリスト３０２に対して、サーバ＃０における書き戻し処理が完了したことを示す「○」を書き込む（符号Ｄ２参照）。つまり、書き戻し管理部１１２は、巡回サーバリスト３０２を更新することにより、オフロード先の記憶装置＃１，＃２をライトオフローディングの対象から外す。
【００７７】
図１３は、実施形態の一例としてのストレージシステムにおける記憶装置付け替え処理を例示する図である。
付け替え処理部１１４は、巡回サーバリスト３０２に基づき、書き戻し処理を行なっていないいずれかのサーバ１０に書き戻し対象の記憶装置４を付け替える。図１３に示す例において、サーバ＃０の付け替え処理部１１４は、巡回サーバリスト３０２において書き戻し処理が未完了であると登録されているサーバ＃１に記憶装置＃０を付け替える（符号Ｅ１参照）。
【００７８】
ネットワーク送受信部１１１は、付け替え先のサーバ１０に関する情報と書き戻し管理部１１２が更新した巡回サーバリスト３０２とをロードバランサ３及び付け替え先のサーバ１０に送信する。図１３に示す例において、サーバ＃０のネットワーク送受信部１１１は、付け替え先のサーバ１０がサーバ＃１であるという情報と、更新した巡回サーバリスト３０２とをロードバランサ３及びサーバ＃１に送信する（符号Ｅ２，Ｅ３参照）。
【００７９】
図１４は、実施形態の一例としてのストレージシステムにおけるオフロード先サーバ変更処理を例示する図である。
ロードバランサ３は、受信した付け替え先のサーバ１０に関する情報に基づき、ハッシュ表３０１における書き戻し対象のオフロードデータについてのオフロード先サーバを変更する。図１４に示す例において、ロードバランサ３は、受信した付け替え先のサーバ１０がサーバ＃１であるという情報に基づき、ハッシュ表３０１のデータＡについてのオフロード先サーバをサーバ＃０からサーバ＃１に変更する（符号Ｆ１参照）。これにより、データＡについてのアクセス要求が発生した場合に、ロードバランサ３は、発生したアクセス要求をサーバ＃０ではなくサーバ＃１に送信することができ、書き戻し処理中においてもデータＡにアクセスすることができる。図１４において、ハッシュ表３０１のデータＣについては、まだ書き戻し処理が行なわれていないため、ロードバランサ３は更新を行なわない。
【００８０】
なお、ロードバランサ３は、符号Ｆ１で示したハッシュ表３０１の更新処理を省略しても良い。この場合には、ロードバランサ３は、データＡについてのアクセス要求が発生すると、発生したアクセス要求をサーバ＃０に送信する。サーバ＃０の書き戻し管理部１１２は、付け替え先のサーバ１０がサーバ＃１であることを認識しているので、ネットワーク送受信部１１１を介して、受信したアクセス要求をサーバ＃０に送信（転送）する。書き戻し管理部１１２は、書き戻し対象の記憶装置４を他のサーバ１０に付け替えた後に限らず、他のサーバ１０に付け替えることが予定される場合に、ネットワーク送受信部１１１を介してアクセス要求の転送をすることができる。
【００８１】
以下、巡回サーバリスト３０２がすべて書き戻し済みになるまで、書き戻し，記憶装置４の付け替え及びオフロード先の変更の各処理を繰り返す。そして、すべてのサーバ１０における書き戻し処理が完了した場合に、書き戻し対象の記憶装置４を元のサーバ１０に付け替える。
つまり、図１４に示す例において、サーバ＃１の書き戻し処理部１１３は、記憶装置＃４，＃５から記憶装置＃０にオフロードデータ（ハッシュ表３０１のデータＣ）を書き戻す（符号Ｆ２参照）。このように、記憶装置＃４，＃５から記憶装置＃０への書き戻し処理はサーバ＃１内における処理であるため、ノード間通信は発生しない。
【００８２】
サーバ＃１の書き戻し管理部１１２は、巡回サーバリスト３０２に対して、サーバ＃１における書き戻し処理が完了したことを記録する（符号Ｆ３参照）。
図１５は、実施形態の一例としてのストレージシステムにおけるオフロードデータの書き戻し処理の完了後の状態を例示する図である。
付け替え処理部１１４は、巡回サーバリスト３０２に基づき、書き戻し処理を行なっていないいずれかのサーバ１０に書き戻し対象の記憶装置４を付け替える。図１５に示す例において、書き戻し処理を行なっていないサーバ１０はないため、サーバ＃１の付け替え処理部１１４は、記憶装置＃０が最初に接続されていたサーバ＃０に記憶装置＃０を付け替える（符号Ｇ１参照）。
【００８３】
ネットワーク送受信部１１１は、付け替え先のサーバ１０に関する情報と書き戻し管理部１１２が更新した巡回サーバリスト３０２とをロードバランサ３及び付け替え先のサーバ１０に送信する。つまり、サーバ＃１のネットワーク送受信部１１１は、付け替え先のサーバ１０がサーバ＃０であるという情報と、更新した巡回サーバリスト３０２とをロードバランサ３及びサーバ＃０に送信する（不図示）。
【００８４】
付け替え先のサーバ１０の書き戻し管理部１１２は、すべてのサーバ１０における書き戻し処理が完了し、書き戻し対象の記憶装置４が自サーバ１０に接続されたことを、ネットワーク送受信部１１１を介してロードバランサ３に通知する。図１５に示す例において、サーバ＃０の書き戻し管理部１１２は、サーバ＃０，＃１における書き戻し処理が完了し、記憶装置＃０が自サーバ＃０に接続されたことを、ネットワーク送受信部１１１を介してロードバランサ３に通知する（符号Ｇ２参照）。
【００８５】
ロードバランサ３は、サーバ＃０からの通知を受信すると、書き戻しが完了したデータＡ及びデータＣについての情報（記憶装置＃０に関する情報）をハッシュ表３０１から削除する（符号Ｇ３参照）。
〔Ａ−３〕効果
このように、本実施形態の一例におけるストレージシステム１（情報処理装置１０）によれば、データの書き戻しによって発生するネットワークの負荷を減少させることができる。
【００８６】
具体的には、書き戻し処理部１１３は、書き戻し対象の記憶装置４が情報処理装置１０に接続された場合に、書き戻し対象の記憶装置４に対して、書き戻し対象の記憶装置４に書き戻すべきデータが格納されている記憶装置４に一時的に格納されたデータを書き戻す。そして、付け替え処理部１１４は、書き戻し処理部１１３によるデータの書き戻し後に、書き戻し対象の記憶装置４に格納すべきデータが格納されている記憶装置４が接続された他の情報処理装置１０に、書き戻し対象の記憶装置４を接続させる。これにより、書き戻し処理をノード内通信（ローカル）で行なうことができ、データの書き戻しによって発生するネットワークの負荷を減少させることができる。
【００８７】
送信部１１１は、付け替え処理部１１４が書き戻し対象の記憶装置４を他の情報処理装置１０に接続させる場合に、書き戻し対象の記憶装置４に対するアクセス要求が発生すると、アクセス要求を他の情報処理装置１０に送信する。これにより、書き戻し処理の実行中においても書き戻し対象の記憶装置４にアクセスすることができ、ストレージシステム１の可用性を高めることができる。
【００８８】
付け替え処理部１１４は、書き戻し管理部１１２が取得した格納先情報３０２に基づき、書き戻し対象の記憶装置４を他の情報処理装置１０に接続させる。これにより、書き戻し対象の記憶装置を、書き戻すべきデータを保持する記憶装置４を有する情報処理装置１を一巡させるだけですべてのオフロードデータを取得することができる。
書き戻し管理部１１２は、書き戻し処理部１１３がデータの書き戻しを完了すると、格納先情報３０２を更新して管理装置３に送信する。これにより、書き戻しが完了した記憶装置４をオフロード対象から外すことができ、書き戻しが完了した記憶装置４が新しいオフロードされたデータを保持しないことを保証できる。
【００８９】
付け替え処理部１１４は、情報処理装置１０と書き戻し対象の記憶装置４との間の中継装置を制御することにより、書き戻し対象の記憶装置４を他の情報処理装置１０に接続させる。これにより、情報処理装置１０と記憶装置４との間のネットワーク構成を簡易なものにすることができ、ストレージシステム１の設置コストを低減させることができる。
また、使用頻度の少ない記憶装置４を電源オフ状態にしておくことができ、ストレージシステム１の運用コストを低減させることができる。更に、オフロード先として記憶装置４のログ領域を使用するため、オフロード用に新たな記憶装置４を備える必要がなく、ストレージシステム１の設置コストを低減させることができる。
【００９０】
〔Ｂ〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
〔Ｃ〕付記
（付記１）
第１記憶装置を接続された第１情報処理装置と、第２記憶装置を接続された第２情報処理装置と、を備えるストレージシステムにおいて、
前記第１情報処理装置は、
前記第１記憶装置を前記第２情報処理装置に接続させる付け替え処理部を備え、
前記第２情報処理装置は、
前記付け替え処理部により当該第２情報処理装置に接続された前記第１記憶装置に対して、前記第２記憶装置に一時的に格納されたデータを書き戻す第２書き戻し処理部を備える、
ことを特徴とする、ストレージシステム。
【００９１】
（付記２）
前記第１情報処理装置は、
第３記憶装置と接続され、
前記付け替え処理部が前記第１記憶装置を前記第２情報処理装置に接続させる前に、前記第１記憶装置に対して、前記第３記憶装置に一時的に格納されたデータを書き戻す第１書き戻し処理部を備える、
ことを特徴とする、付記１に記載のストレージシステム。
【００９２】
（付記３）
前記第１情報処理装置は、
前記付け替え処理部が前記第１記憶装置を前記第２情報処理装置に接続させる場合に、前記第１記憶装置に対するアクセス要求が発生すると、当該アクセス要求を前記第２情報処理装置に送信する送信部
を備えることを特徴とする、付記１又は２に記載のストレージシステム。
【００９３】
（付記４）
前記第１情報処理装置は、前記第１記憶装置に格納すべきデータが格納されている記憶装置を持つ情報処理装置を示す格納先情報を当該ストレージシステムが備える管理装置から取得する書き戻し管理部を備え、
前記付け替え処理部は、前記書き戻し管理部が取得した前記格納先情報に基づき、前記第１記憶装置を前記第２情報処理装置に接続させる、
ことを特徴とする、付記１〜３のいずれか１項に記載のストレージシステム。
【００９４】
（付記５）
前記書き戻し管理部は、前記書き戻し処理部が前記データの書き戻しを完了すると、前記格納先情報を更新して前記管理装置に送信する、
ことを特徴とする、付記４に記載のストレージシステム。
（付記６）
第１記憶装置に第２記憶装置が格納しているデータを書き戻す情報処理装置であって、
前記第１記憶装置が当該情報処理装置に接続された場合に、前記第１記憶装置に対して、前記第２記憶装置に一時的に格納されたデータを書き戻す書き戻し処理部と、
前記書き戻し処理部による前記データの書き戻し後に、前記第１記憶装置に格納すべきデータが格納されている第３記憶装置が接続された他の情報処理装置に、前記第１記憶装置を接続させる付け替え処理部と、
を備えることを特徴とする、情報処理装置。
【００９５】
（付記７）
前記付け替え処理部が前記第１記憶装置を前記他の情報処理装置に接続させる場合に、前記第１記憶装置に対するアクセス要求が発生すると、当該アクセス要求を前記他の情報処理装置に送信する送信部
を備えることを特徴とする、付記６に記載の情報処理装置。
【００９６】
（付記８）
前記第１記憶装置に格納すべきデータが格納されている記憶装置を持つ情報処理装置示す格納先情報を当該情報処理装置と通信可能に接続される管理装置から取得する書き戻し管理部を備え、
前記付け替え処理部は、前記書き戻し管理部が取得した前記格納先情報に基づき、前記第１記憶装置を前記他の情報処理装置に接続させる、
ことを特徴とする、付記６又は７に記載の情報処理装置。
【００９７】
（付記９）
前記書き戻し管理部は、前記書き戻し処理部が前記データの書き戻しを完了すると、前記格納先情報を更新して前記管理装置に送信する、
ことを特徴とする、付記８に記載の情報処理装置。
（付記１０）
前記付け替え処理部は、当該情報処理装置と前記第１記憶装置との間の中継装置を制御することにより、前記第１記憶装置を前記他の情報処理装置に接続させる、
ことを特徴とする、付記６〜９のいずれか１項に記載の情報処理装置。
【００９８】
（付記１１）
第１記憶装置に第２記憶装置が格納しているデータを書き戻す情報処理装置における制御方法であって、
前記第１記憶装置が当該情報処理装置に接続された場合に、前記第１記憶装置に対して、前記第２記憶装置に一時的に格納されたデータを書き戻し、
前記データの書き戻し後に、前記第１記憶装置に格納すべきデータが格納されている第３記憶装置が接続された他の情報処理装置に、前記第１記憶装置を接続させる、
ことを特徴とする、制御方法。
【００９９】
（付記１２）
前記第１記憶装置を前記他の情報処理装置に接続させる場合に、前記第１記憶装置に対するアクセス要求が発生すると、当該アクセス要求を前記他の情報処理装置に送信する、
ことを特徴とする、付記１１に記載の制御方法。
（付記１３）
前記第１記憶装置に格納すべきデータが格納されている記憶装置を持つ情報処理装置示す格納先情報を当該情報処理装置と通信可能に接続される管理装置から取得し、
取得した前記格納先情報に基づき、前記第１記憶装置を前記他の情報処理装置に接続させる、
ことを特徴とする、付記１１又は１２に記載の制御方法。
【０１００】
（付記１４）
前記データの書き戻しを完了すると、前記格納先情報を更新して前記管理装置に送信する、
ことを特徴とする、付記１３に記載の制御方法。
（付記１５）
当該情報処理装置と前記第１記憶装置との間の中継装置を制御することにより、前記第１記憶装置を前記他の情報処理装置に接続させる、
ことを特徴とする、付記１１〜１４のいずれか１項に記載の制御方法。
【０１０１】
（付記１６）
第１記憶装置に第２記憶装置が格納しているデータを書き戻す情報処理装置が備えるコンピュータに、
前記第１記憶装置が当該情報処理装置に接続された場合に、前記第１記憶装置に対して、前記第２記憶装置に一時的に格納されたデータを書き戻し、
前記データの書き戻し後に、前記第１記憶装置に格納すべきデータが格納されている第３記憶装置が接続された他の情報処理装置に、前記第１記憶装置を接続させる、
処理を実行させることを特徴とする、制御プログラム。
【０１０２】
（付記１７）
前記第１記憶装置を前記他の情報処理装置に接続させる場合に、前記第１記憶装置に対するアクセス要求が発生すると、当該アクセス要求を前記他の情報処理装置に送信する、
処理を前記コンピュータに実行させることを特徴とする、付記１６に記載の制御プログラム。
【０１０３】
（付記１８）
前記第１記憶装置に格納すべきデータが格納されている記憶装置を示す格納先情報を当該情報処理装置と通信可能に接続される管理装置から取得し、
取得した前記格納先情報に基づき、前記第１記憶装置を前記他の情報処理装置に接続させる、
処理を前記コンピュータに実行させることを特徴とする、付記１６又は１７に記載の制御プログラム。
【０１０４】
（付記１９）
前記データの書き戻しを完了すると、前記格納先情報を更新して前記管理装置に送信する、
処理を前記コンピュータに実行させることを特徴とする、付記１８に記載の制御プログラム。
【０１０５】
（付記２０）
当該情報処理装置と前記第１記憶装置との間の中継装置を制御することにより、前記第１記憶装置を前記他の情報処理装置に接続させる、
処理を前記コンピュータに実行させることを特徴とする、付記１６〜１９のいずれか１項に記載の制御プログラム。
【符号の説明】
【０１０６】
１      ストレージシステム
１ａ    ストレージシステム
１ｂ    ストレージシステム
１０    サーバ（情報処理装置）
１０ａ  サーバ
１０ｂ  サーバ
１１    ＣＰＵ（コンピュータ）
１１１  ネットワーク送受信部（送信部）
１１２  書き戻し管理部
１１３  書き戻し処理部（第１書き戻し処理部，第２書き戻し処理部）
１１４  付け替え処理部
１１５  読み書き処理部
１２    メモリ
２      管理サーバ
２０    ＤＡＮ管理部
３      ロードバランサ（管理装置）
３０１  ハッシュ表
３０２  巡回サーバリスト（格納先情報）
４      記憶装置
５ａ    ネットワーク
５ｂ    ネットワーク
６      ＤＡＮ
【図１】
2015176574.tif 000004
【図２】
2015176574.tif 000005
【図３】
2015176574.tif 000006
【図４】
2015176574.tif 000007
【図５】
2015176574.tif 000008
【図６】
2015176574.tif 000009
【図７】
2015176574.tif 000010
【図８】
2015176574.tif 000011
【図９】
2015176574.tif 000012
【図１０】
2015176574.tif 000013
【図１１】
2015176574.tif 000014
【図１２】
2015176574.tif 000015
【図１３】
2015176574.tif 000016
【図１４】
2015176574.tif 000017
【図１５】
2015176574.tif 000018