(57)【特許請求の範囲】
【請求項１】
高速の第１のストレージ装置と、
前記第１のストレージ装置より低速の第２のストレージ装置と、
複数のアプリケーションサービスを提供するサービス提供サーバと、
前記複数のアプリケーションサービスに関するデータを所定ルールに従い前記第１のストレージ装置と前記第２のストレージ装置のいずれかに格納するコントローラと、
前記第１のストレージ装置の格納データ量に応じて前記第１のストレージ装置から前記第２のストレージ装置へデータを移動する移動手段と、
前記第１のストレージ装置の格納データ量が上限以上の場合、前記複数のアプリケーションサービスの中で、前記第２のストレージ装置から前記第１のストレージ装置への前記データの移動が少ないアプリケーションサービスに関するデータについての所定ルールを、前記第１のストレージ装置の格納データ量が減少するように、変更する調整手段と、
を具備するストレージシステム。
【請求項２】
前記コントローラは、データの保存先と、該保存先の最新アクセス日時あるいはアクセス頻度とのテーブルを記憶し、
前記移動手段は、前記複数のアプリケーションサービスの各々に関するデータの移動回数を記憶する請求項１記載のストレージシステム。
【請求項３】
前記所定ルールは、
データを前記第１あるいは第２のストレージ装置に常に格納する第１のルール、データの所定パーセントを前記第１のストレージ装置に格納し、残りのデータを第２のストレージ装置に格納する第２のルール、指定期間はデータを第１のストレージ装置に格納し、指定期間外は第２のストレージ装置に格納する第３のルール、アクセス頻度が高いデータを第１のストレージ装置に格納し、アクセス頻度が低いデータを第２のストレージ装置に格納する第４のルール、指定量までデータを第１のストレージ装置に格納し、それ以降第２のストレージ装置に格納する第５のルール、第１、第２のストレージ装置に均等にデータを保存する第６のルールのいずれかを具備する請求項１記載のストレージシステム。
【請求項４】
前記移動手段は、前記第１のストレージ装置の空き容量があれば、前記第２のストレージ装置から前記第１のストレージ装置へデータを移動する請求項１記載のストレージシステム。
【請求項５】
前記調整手段は、前記第１のストレージ装置の格納データ量が下限以下の場合、前記複数のアプリケーションサービスの中で、前記第２のストレージ装置から前記第１のストレージ装置への前記データの移動が多いアプリケーションサービスに関するデータについての所定ルールを、前記第１のストレージ装置の格納データ量が増加するように、変更する請求項１記載のストレージシステム。
【請求項６】
前記第１のストレージ装置はフラッシュメモリアレイを具備し、
前記第２のストレージ装置はハードディスクドライブを具備し、
前記サービス提供サーバは仮想デスクトップとファイルサーバ、メールサーバとを提供し、
前記コントローラは前記仮想デスクトップのデータを前記フラッシュメモリアレイに保存し、前記ファイルサーバ、メールサーバのデータを前記ハードディスクドライブに保存する請求項１記載のストレージシステム。
【請求項７】
複数のアプリケーションサービスを提供し、
前記複数のアプリケーションサービスに関するデータを所定ルールに従い第１のストレージ装置と第２のストレージ装置のいずれかに格納し、
前記第１のストレージ装置の格納データ量に応じて前記第１のストレージ装置から前記第２のストレージ装置へデータを移動し、
前記第１のストレージ装置の格納データ量が上限以上の場合、前記複数のアプリケーションサービスの中で、前記第２のストレージ装置から前記第１のストレージ装置への前記データの移動が少ないアプリケーションサービスに関するデータについての所定ルールを、前記第１のストレージ装置の格納データ量が減少するように、変更するストレージシステムの制御方法。
【請求項８】
データの保存先と、該保存先の最新アクセス日時あるいはアクセス頻度とのテーブルを記憶し、
前記複数のアプリケーションサービスの各々に関するデータの移動回数を記憶する請求項７記載のストレージシステムの制御方法。
【請求項９】
前記所定ルールは、
データを前記第１あるいは第２のストレージ装置に常に格納する第１のルール、データの所定パーセントを前記第１のストレージ装置に格納し、残りのデータを第２のストレージ装置に格納する第２のルール、指定期間はデータを第１のストレージ装置に格納し、指定期間外は第２のストレージ装置に格納する第３のルール、アクセス頻度が高いデータを第１のストレージ装置に格納し、アクセス頻度が低いデータを第２のストレージ装置に格納する第４のルール、指定量までデータを第１のストレージ装置に格納し、それ以降第２のストレージ装置に格納する第５のルール、第１、第２のストレージ装置に均等にデータを保存する第６のルールのいずれかを具備する請求項７記載のストレージシステムの制御方法。
【請求項１０】
前記第１のストレージ装置の空き容量があれば、前記第２のストレージ装置から前記第１のストレージ装置へデータを移動する請求項７記載のストレージシステムの制御方法。
【請求項１１】
前記第１のストレージ装置の格納データ量が下限以下の場合、前記複数のアプリケーションサービスの中で、前記第２のストレージ装置から前記第１のストレージ装置への前記データの移動が多いアプリケーションサービスに関するデータについての所定ルールを、前記第１のストレージ装置の格納データ量が増加するように、変更する請求項７記載のストレージシステムの制御方法。
【請求項１２】
前記第１のストレージ装置はフラッシュメモリアレイを具備し、
前記第２のストレージ装置はハードディスクドライブを具備し、
仮想デスクトップのデータを前記フラッシュメモリアレイに保存し、ファイルサーバ、メールサーバのデータを前記ハードディスクドライブに保存する請求項７記載のストレージシステムの制御方法。
【請求項１３】
コンピュータにより実行されるプログラムであって、
前記プログラムは、
複数のアプリケーションサービスを提供し、
前記複数のアプリケーションサービスに関するデータを所定ルールに従い第１のストレージ装置と第２のストレージ装置のいずれかに格納し、
前記第１のストレージ装置の格納データ量に応じて前記第１のストレージ装置から前記第２のストレージ装置へデータを移動し、
前記第１のストレージ装置の格納データ量が上限以上の場合、前記複数のアプリケーションサービスの中で、前記第２のストレージ装置から前記第１のストレージ装置への前記データの移動が少ないアプリケーションサービスに関するデータについての所定ルールを、前記第１のストレージ装置の格納データ量が減少するように、変更するものであるプログラム。
【請求項１４】
データの保存先と、該保存先の最新アクセス日時あるいはアクセス頻度とのテーブルを記憶し、
前記複数のアプリケーションサービスの各々に関するデータの移動回数を記憶する請求項１３記載のプログラム。
【請求項１５】
前記所定ルールは、
データを前記第１あるいは第２のストレージ装置に常に格納する第１のルール、データの所定パーセントを前記第１のストレージ装置に格納し、残りのデータを第２のストレージ装置に格納する第２のルール、指定期間はデータを第１のストレージ装置に格納し、指定期間外は第２のストレージ装置に格納する第３のルール、アクセス頻度が高いデータを第１のストレージ装置に格納し、アクセス頻度が低いデータを第２のストレージ装置に格納する第４のルール、指定量までデータを第１のストレージ装置に格納し、それ以降第２のストレージ装置に格納する第５のルール、第１、第２のストレージ装置に均等にデータを保存する第６のルールのいずれかを具備する請求項１３記載のプログラム。
【請求項１６】
前記第１のストレージ装置の空き容量があれば、前記第２のストレージ装置から前記第１のストレージ装置へデータを移動する請求項１３記載のプログラム。
【請求項１７】
前記第１のストレージ装置の格納データ量が下限以下の場合、前記複数のアプリケーションサービスの中で、前記第２のストレージ装置から前記第１のストレージ装置への前記データの移動が多いアプリケーションサービスに関するデータについての所定ルールを、前記第１のストレージ装置の格納データ量が増加するように、変更する請求項１３記載のプログラム。
【請求項１８】
前記第１のストレージ装置はフラッシュメモリアレイを具備し、
前記第２のストレージ装置はハードディスクドライブを具備し、
仮想デスクトップのデータを前記フラッシュメモリアレイに保存し、ファイルサーバ、メールサーバのデータを前記ハードディスクドライブに保存する請求項１３記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態はクラウドシステムに用いられるストレージシステム、ストレージ装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ネットワーク上でサービス提供者がサービス利用者に種々のサービスを提供するクラウドシステムが実用されている。このようなシステムでは、データはサービス提供者が所有するストレージシステムに格納される。このようにストレージシステムを共有することにより、個人でストレージシステムを所有するよりも、はるかに低コストでストレージシステムを利用することができる。ストレージシステムは、複数種類のストレージ装置を含み、性能（例えば、レスポンス性能）に応じて階層化されている。ストレージ装置には、例えば、高速であるが高価であるソリッドステートドライブの一例としてはＳＳＤがあり、低速であるが安価であるハードディスクドライブの一例としてＨＤＤがある。なお、ＳＳＤやＨＤＤのそれぞれも性能によりいくつかの種類に分類され、同様に階層化されている。ストレージシステムは、頻繁にアクセスされるデータを高速のストレージ装置に格納し、あまりアクセスされないデータを低速のストレージ装置に格納するように、データの格納先を複数のストレージ装置のいずれかに割り当てる。【０００３】
サービス利用者の規模（従業員数等）や、レスポンス性能に対する要求や、必要とするデータ記録領域の容量、料金等に応じて、いくつかの異なる種類のストレージ装置を適宜な比率で組み合わせて、サービス利用者に提供する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−７０６２７号公報
【特許文献２】特開２００６−７９２７３号公報
【特許文献３】特開２００６−７９２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の情報処理システムは、膨大な数のサービス利用者が契約しているが、全てのサービス利用者が常に契約した記憶容量をフルに利用するとは限らない前提でストレージ装置の組み合わせ及び料金を決めている。もしも、全てのサービス利用者が常に契約容量をフルに利用するという前提でストレージ装置の組み合わせ及び料金を決めると、ストレージシステムの使用料金が高額になり、クラウドシステムの長所が発揮できない。しかしながら、サービス利用の状況によっては、高速のストレージ装置の残容量が０となり、さらに高速のストレージ装置にデータを書き込もうとすると、ストレージシステムがダウンする恐れがある。【０００６】
本発明の目的は、ネットワーク上でサービス提供者がサービス利用者にサービスを提供するシステムにおいて、サービス利用者がサービスを低価格で、かつ、高速がゆえに快適に利用できるように、ストレージ装置を最適に組み合わせることができるストレージシステム、ストレージ装置の制御方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態によれば、ストレージシステムは、高速の第１のストレージ装置と、第１のストレージ装置より低速の第２のストレージ装置と、複数のアプリケーションサービスを提供するサービス提供サーバと、コントローラと、データ移動手段と、調整手段と、を具備する。コントローラは、複数のアプリケーションサービスに関するデータを所定ルールに従い第１のストレージ装置と第２のストレージ装置のいずれかに格納する。移動手段は、サービス提供サーバからの要求に応じて第２のストレージ装置から第１のストレージ装置へデータを移動し、第１のストレージ装置の格納データ量に応じて第１のストレージ装置から第２のストレージ装置へデータを移動する。調整手段は、第１のストレージ装置の格納データ量が上限以上の場合、複数のアプリケーションサービスの中で、第２のストレージ装置から第１のストレージ装置へのデータの移動が少ないアプリケーションサービスに関するデータについての所定ルールを、前記第１のストレージ装置の格納データ量が減少するように、変更する。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態のクラウドシステムの構成の一例を示す図である。
【図２】図１のストレージシステムの構成の一例を示す図である。
【図３】図２のポリシー調整部が格納するインデックステーブルの構成の一例を示す図である。
【図４】図２のコントローラによるティアリング処理の一例を示すフローチャートである。
【図５】図２のポリシー調整部が格納するティアリングテーブルの構成の一例を示す図である。
【図６】図２のポリシー調整部によるポリシー調整処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
図１は、ネットワーク上でサービス提供者がサービス利用者にアプリケーションサービスを提供するクラウドシステムを示す。図１では、図示の便宜上、サービス利用者（契約者）は２社とするが、多数のサービス利用者が含まれ得る。サービス利用者に対応しているサービス提供サーバ１２Ａ、１２Ｂがサービス提供者のネットワーク１８に接続される。利用者端末１０Ａ、１０Ｂが、仮想プライベートネットワーク（ＶＰＮ）等の通信回線２０Ａ、２０Ｂを介してサービス提供サーバ１２Ａ、１２Ｂに接続される。サービス提供サーバ１２Ａ、１２Ｂに接続される利用者端末の数は単数に限られず、通常は多数である。
【００１０】
サービス提供者の運用管理サーバ１４、ハイブリッドストレージシステム１６もネットワーク１８に接続される。ただし、サービス提供サーバ１２Ａ、１２Ｂとハイブリッドストレージシステム１６の間は、ファイバーチャネルなどの別の手段で接続されることもある。サービス提供サーバ１２Ａ、１２Ｂは別個の複数の物理サーバから構成されてもよいし、単一の物理サーバから構成されてもよい。さらに、サービス提供サーバ１２Ａ、１２Ｂ、運用管理サーバ１４も別個の物理サーバから構成されてもよいし、単一の物理サーバから構成されてもよい。
【００１１】
サービス提供サーバ１２Ａは、端末１０Ａの利用者に対してアプリケーションサービスを実行するための物理サーバであり、複数の仮想サーバ１２Ａ１、１２Ａ２、１２Ａ３、１２Ａ４、…を含む。各仮想サーバ１２Ａ１、１２Ａ２、１２Ａ３、１２Ａ４、…は、ＣＰＵ、メモリ等の計算リソースを仮想化して、実際にアプリケーションサービスを提供するためのプログラムが動作するサーバである。そのため、提供するアプリケーションサービスが１つの場合は、仮想サーバは１つである。提供するアプリケーションサービスが複数の場合は、複数のアプリケーションサービスに対してその機能・役割毎にそれぞれ仮想サーバ１２Ａ１、１２Ａ２、１２Ａ３、１２Ａ４、…のいずれかが割り当てられる。例えば、仮想デスクトップを提供するためのデスクトッププログラム、ファイル格納・共有領域を提供するためのファイルサーバプログラム、ドメインサービスを提供するためのドメインコントローラプログラム、プリントサービスを提供するためのプリンタサーバプログラム等に対応して仮想サーバ１２Ａ１、１２Ａ２、１２Ａ３、１２Ａ４、…が設けられる。なお、アプリケーションサービスを提供するのは仮想サーバであるので、複数の利用者、複数のアプリケーションサービスであってもサービス提供サーバ１２は１つでもよい。
【００１２】
サービス提供サーバ１２Ｂも、サービス提供サーバ１２Ａと同様に構成される。
【００１３】
仮想サーバ１２Ａ１、１２Ａ２、１２Ａ３、１２Ａ４、…、１２Ｂ１、１２Ｂ２、…のストレージ領域として共通に用いられるハイブリッドストレージシステム１６は、性能（例えば、レスポンス性能）の異なる複数（ここでは、２つ）の第１、第２ストレージ装置１６１、１６２と、コントローラ２２を含む。コントローラ２２はハイブリッドストレージシステム１６が各仮想サーバから受け取ったデータを第１、第２ストレージ装置１６１、１６２にどのように割り当てて格納するかを制御する。
【００１４】
例えば、第１ストレージ装置１６１は高速であるが高価であるフラッシュアレイであり、一例としてはＳＳＤである。第２ストレージ装置１８２は低速であるが安価であるストレージであり、一例としてはＨＤＤである。フラッシュアレイは、ＮＡＮＤフラッシュメモリを記憶媒体として用いることにより、高性能・大容量・省電力を実現し、さらにＲＡＩＤ技術により信頼性を高めストレージである。また、フラッシュアレイは、PCI Expressにより高速なデータ転送を可能とし、ファイバーチャネル接続も可能である。ＳＳＤ１６１の性能の一例は３２ＴＢの容量で、従来のＨＤＤの性能を大幅に上回る１００万ＩＯＰＳ（ＩＰＯＳは１秒当たりに読み込み・書き込みできる回数である）である。
【００１５】
複数のストレージ装置１６１、１６２を組み合わせて仮想サーバに割り当てる方法としては、フラッシュアレイ等の高速なストレージ装置をキャッシュとして利用する方法や、高速ストレージ装置から低速ストレージ装置までを順に階層化して配置して、ルールやポリシーに基づいてデータの格納領域を決定する自動ティアリング方法がある。
【００１６】
ストレージシステムは性能の異なる複数種類のストレージ装置の組み合わせに限らず、同じ種類で性能の異なる複数のストレージ装置から構成してもよい。例えば、SAS (Serial Attached SCAI) ＨＤＤとSATA (Serial ATA) ＨＤＤとを組み合わせてもよい。
【００１７】
運用管理サーバ１４は、コントローラ２４と、ポリシー格納モジュール２８を含む。運用管理サーバ１４には管理者端末２６が接続される。管理者端末２６はネットワークを経由して接続されてもよい。
【００１８】
本実施形態では、ストレージ装置１６１、１６２の組み合わせ方法をポリシーとしてポリシー格納モジュール２８に予め格納している。管理者は利用者の契約状況（容量、レスポンス性能等）に応じて、仮想サーバ毎に適切なポリシーを選び、ストレージシステム１６のコントローラ２２に設定（ポリシーの初期設定）する。なお、ポリシーは仮想サーバ毎のストレージ装置１６１、１６２の組み合わせ方法であるが、契約は仮想サーバ毎ではなく、ユーザ毎でもよい。すなわち、仮想サーバ毎に記憶容量とレスポンス性能を契約してもよいし、ユーザ毎に記憶容量とレスポンス性能を契約してもよい。
【００１９】
ストレージ装置の組み合わせ方式としては以下のような例がある。
【００２０】
・ある仮想サーバは指定されたストレージ装置のみを常時使用する方式
・指定された期間にアクセスされたブロック、あるいはファイルを指定されたストレージ装置に格納し、それ以外のブロック、あるいはファイルを別のストレージ装置に格納する方式
・指定された期間に指定回数以上アクセスされたブロック、あるいはファイルを指定されたストレージ装置に格納し、それ以外のブロック、あるいはファイルを別のストレージ装置に格納する方式
・指定されたデータ容量までは指定されたストレージ装置にデータ格納し、指定された容量を超えた場合は別のストレージ装置に格納する方式
・データを指定された容量の比率で、それぞれのストレージ装置に格納する方式
ポリシー格納モジュール２８は、これらの方式の少なくとも１つの方式、あるいは複数の方式を組み合わせた方式をポリシーとして格納する。ポリシーの作成、格納は運用管理者が管理者端末２６を操作することにより行う。
【００２１】
ポリシーの一例は下記の通りである。
【００２２】
Ｎｏ．１：ＳＳＤ１６１、あるいはＨＤＤ１６２を常時使用する。
【００２３】
Ｎｏ．２：データの７０％をＳＳＤ１６１に格納し、データの３０％をＨＤＤ１６２に格納する。
【００２４】
Ｎｏ．３：指定された期間にアクセスされたデータはＳＳＤ１６１に格納し、それ以外のデータはＨＤＤ１６２に格納する。
【００２５】
Ｎｏ．４：アクセス頻度が高いデータをＳＳＤ１６１に格納し、アクセス頻度が低いデータをＨＤＤ１６２に格納する。
【００２６】
Ｎｏ．５：ＳＳＤ１６１を指定容量まで使い、ＳＳＤ１６１が指定容量までデータが格納されている場合は、データをＨＤＤ１６２に格納する。
【００２７】
Ｎｏ．６：ＳＳＤ１６１、ＨＤＤ１６２を１：１の割合で使い分ける。
【００２８】
コントローラ２４は、仮想サーバの機能・役割に応じて、ポリシー格納モジュール２８からポリシー２８１、２８２、２８３、…のいずれかを選択的に読み出し、読み出したポリシーをストレージシステム１６のコントローラ２２に仮想サーバ毎に設定する。
【００２９】
ポリシーがコントローラ２２に設定された状態を図２に示す。仮想サーバ１２Ａ１、１２Ａ２、１２Ａ３、１２Ｂ１、１２Ｂ２、…に対してポリシー３０、３２、３４、３６、３８、…が設定される。例えば、仮想サーバ１２Ａ１のポリシー３０にはポリシー１（ＳＳＤ１６１を常時使用する）が、仮想サーバ１２Ａ２のポリシー３２にはポリシー２（データの７０％をＳＳＤ１６１に格納し、データの３０％をＨＤＤ１６２に格納する）が、仮想サーバ１２Ａ３のポリシー３４にはポリシー３（指定された期間Ｔ１にアクセスがあったデータはＳＳＤ１６１に格納し、それ以外のデータはＨＤＤ１６２に格納する）が、仮想サーバ１２Ｂ１のポリシー３６にはポリシー４（アクセス頻度が高いデータをＳＳＤ１６１に格納し、アクセス頻度が低いデータをＨＤＤ１６２に格納する）が、仮想サーバ１２Ｂ２のポリシー３８にはポリシー１（ＨＤＤ１６２を常時使用する）が設定される。
【００３０】
このようにポリシーは、仮想サーバ毎に組み合わせるＳＳＤ１６１，ＨＤＤ１６２へのデータの格納方法を設定する。この格納方法でＳＳＤ１６１，ＨＤＤ１６２が組み合わされて仮想ストレージが構成されるので、図２において、ポリシーとＳＳＤ１６１，ＨＤＤ１６２との組み合わせは、仮想サーバに対する仮想ストレージであり、仮想ストレージの構成を定義するのがポリシーである。
【００３１】
ストレージシステム１６のコントローラ２２はポリシー調整部４２も含む。ポリシー調整部４２は、仮想サーバに関するデータをポリシーに従ってＳＳＤ１６１とＨＤＤ１６２のいずれかに保存する動作を監視し、図３に示すようなインデックステーブルを作成し、記憶する。インデックステーブルは、データ毎の格納アドレス、最新アクセス日時、アクセス頻度からなる。データは、ファイル名、ブロック番号、あるいはｉ−ｎｏｄｅ等により特定される。
【００３２】
図４はストレージシステム１６のティアリング処理の一例を示すフローチャートである。ティアリング処理とは、仮想サーバ毎に割り当てられているストレージシステム１６の記憶容量を有効に使うとともに、全体のレスポンス性能を落とさないように、仮想サーバ毎の仮想ストレージを構成するＳＳＤ１６１とＨＤＤ１６２間でデータを適宜移動することである。ティアリング処理は、例えば、１日１回定期的に行ってもよいし、仮想サーバに割り当てられているストレージシステムの使用状況を監視し、データの記憶量が所定容量になると実施しても良い。
【００３３】
そのため、先ず、ブロック４０２でティアリング予定時刻か否か判定する。予定時刻でない場合は、ブロック４０４でＳＳＤ１６１のデータの記憶量が当該仮想サーバに割り当てられている容量の上限を超えているか否か判定する。上限以下である場合は、ブロック４０２に戻る。
【００３４】
予定時刻になった場合、あるいはＳＳＤ１６１のデータの記憶量が上限を超えている場合は、ブロック４０６で、ＳＳＤ１６１が格納している当該仮想サーバのデータのうちアクセス頻度の低いデータをＨＤＤ１６２に移動する。ブロック４０８で、ＳＳＤ１６１のデータの記憶量が上限以下になった否か判定する。上限以下になった場合は、ブロック４１０で、ＨＤＤ１６２が格納している当該仮想サーバのデータのうちアクセス頻度の高いデータをＳＳＤ１６１に移動する。この後、ブロック４１２で、図５に示すようなティアリングテーブルを更新する。ティアリングテーブルは仮想サーバ（アプリケーションサービス）毎に、ティアリング（データ移動）の回数を、ＳＳＤ１６１からＨＤＤ１６２への移動と、ＨＤＤ１６２からＳＳＤ１６１への移動とに分けて記憶する。ティアリング回数の積算はアプリケーションサーバ毎に行われる。
【００３５】
ブロック４０６、４１０で移動するデータはアクセス頻度に基づいて選択したが、最新アクセス日時に基づいて選択してもよい。例えば、ブロック４０６で、ＳＳＤ１６１が格納しているデータのうち最新アクセス日時が古いデータをＨＤＤ１６２に移動し、ブロック４１０で、ＨＤＤ１６２が格納しているデータのうち最新アクセス日時が新しいデータをＳＳＤ１６１に移動してもよい。
【００３６】
このように、仮想サーバ（アプリケーションサービス）毎に、割り当てられている容量内で、よく使うデータが高速のＳＳＤ１６１に格納され、それ以外のデータが低速のＨＤＤ１６２に格納されるように、データの格納先が変更される。その結果、ＳＳＤ１６１とＨＤＤ１６２とに保存されるデータの比率が変わる。これにより、利用者の体感速度を低下することなく、ストレージ装置を有効に使用することができ、ストレージシステムの運用コストを下げることができる。
【００３７】
上記は、各仮想サーバに割り当てられているＳＳＤ１６１、ＨＤＤ１６２の容量内でのデータの移動であったが、仮想サーバ毎ではなくユーザ毎に記憶容量とレスポンス性能を契約している場合等は、ユーザが契約している複数の仮想サーバに割り当てられているＳＳＤ１６１、ＨＤＤ１６２の容量内でデータを移動してもよい。
【００３８】
ティアリング処理は、各仮想サーバあるいは各ユーザの割り当て容量内でのデータの移動であったが、ＳＳＤ１６１全体の空き容量がほとんど無くなった場合は、ティアリングでは調整しきれずに、図６に示すようなポリシーの調整処理が行われる。
【００３９】
ブロック６０２で、ＳＳＤ１６１全体の総使用量（全てのユーザの使用量の総和）が上限以上であるか否かを判定する。ＳＳＤ１６１全体の総使用量が上限以上であるにもかかわらず、さらにＳＳＤ１６１にデータを保存しようとすると、システムがダウンしてしまう。これを避けるために、ＳＳＤ１６１全体の総使用量が上限以上である場合は、ブロック６０４でＨＤＤからＳＳＤへのティアリング回数の少ない仮想サーバのポリシーを、ＳＳＤ１６１への保存割合が低くなるように、調整する。ティアリング回数の多い仮想サーバのポリシーを、ＳＳＤ１６１への保存割合が低くなるように、変更すると、利用者がアクセスする頻度が多いデータのアクセス速度が低下するので、利用者にとってのレスポンス性能の体感速度が低下してしまう。ティアリング回数の少ない仮想サーバのポリシーであれば、ポリシーの変更は利用者に認識されにくいと想定する。
【００４０】
仮想サーバ毎のティアリング回数は、図５に示すティアリングテーブルから知ることができる。例えば、仮想サーバ１２Ａ２が最もティアリング回数が少ないとすると、ポリシー２の比率を６０％：４０％に変更し、仮想サーバ１２Ａ３が最もティアリング回数が少ないとすると、ポリシー３の指定期間を短くする。もしも、仮想サーバ１２Ａ１が最もティアリング回数が少ないとすると、ポリシー１をポリシー２に変更し、データの９０％をＳＳＤ１６１に格納し、データの１０％をＨＤＤ１６２に格納するようにする。これにより、ＳＳＤ１６１の容量を、システムがダウンしない範囲で、有効に利用することができる。
【００４１】
次に、ブロック６０６で、ＳＳＤ１６１全体の総使用量が下限以下であるか否かを判定する。ＳＳＤ１６１全体の総使用量が下限以下であれば、ＳＳＤ１６１をより多く使用して、利用者の体感速度を改善できる。このため、ＳＳＤ１６１全体の総使用量が下限以下である場合は、ブロック６０８でＨＤＤからＳＳＤへのティアリング回数の多いポリシーを、ＳＳＤ１６１への保存割合が高くなるように、調整する。ティアリング回数の多い仮想サーバのポリシーを変更すると、利用者がアクセスする頻度が多いデータのアクセス速度が増加するので、利用者の体感速度も増加する。例えば、仮想サーバ１２Ａ２が最もティアリング回数が多いとすると、ポリシー２の比率を８０％：２０％に変更し、仮想サーバ１２Ａ３が最もティアリング回数が多いとすると、ポリシー３の指定期間を長くする。もしも、仮想サーバ１２Ｂ２が最もティアリング回数が多いとすると、ポリシー１をポリシー２に変更し、データの１０％をＳＳＤ１６１に格納し、データの９０％をＨＤＤ１６２に格納するようにする。これにより、ＳＳＤ１６１の容量を有効に利用することができる。なお、図示していないが、ポリシー調整が終了すると、ティアリング回数をクリアしてもよい。
【００４２】
このようにポリシーの調整、ティアリング回数の積算はアプリケーションサーバ毎に行われることもある。これは、同じユーザの同じ種類のアプリケーションサービスが複数の仮想サーバで実現されることがあるからである。すなわち、ファイルサーバが２つ以上の仮想サーバで実現されるケースでは、仮想サーバ毎にポリシーの調整を行うのではなく、ファイルサーバとしてポリシーの調整を行った方が効果がある場合がある。
【００４３】
以上説明したように、第１の実施形態によれば、ネットワーク上でサービス提供者がサービス利用者に種々のサービスを提供し、データをサービス提供者が所有するストレージシステムへ格納する際に、各利用者へ提供するＳＳＤ１６１、ＨＤＤ１６２の構成を、ＳＳＤ１６１の使用状況に応じて適宜変更することにより、レスポンス性能の高いＳＳＤ１６１がシステムダウンすることなく、レスポンス性能の高いＳＳＤ１６１を使ってサービスレベルを高めると同時に、レスポンス性能の低いＨＤＤ１６２をサービスに混在させることが可能となり、全体的なサービスコストを下げることができる。一般的に、容量が大きくなるほど価格／容量比が小さくなり、コストパフォーマンスが改善されるが、本方式により、容量の大きなストレージ装置を複数のサービス利用者に提供することができ、全体的なサービスコストを下げることができる。
【００４４】
変形例
上述の実施形態は、複数の物理サーバにより複数のサービス提供サーバを実現しているので、単一の顧客に複数のアプリケーションサービスを提供、あるいは、複数の顧客を対象としたアプリケーションサービスを提供することができる。しかし、複数のアプリケーションサービスあるいは複数の顧客毎に物理サーバを分離することなく、複数の物理サーバに複数の仮想サーバを混在させても良い。この場合、アプリケーションサービスおよび顧客ごとに、仮想ネットワーク技術を利用し、ネットワークを分離することが好ましい。
【００４５】
図６のブロック６０４、６０８でポリシーを調整するか否かを判断するために利用されるティアリング回数は、ＨＤＤからＳＳＤへのデータの移動回数としたが、これに限らず、ＳＳＤからＨＤＤへのデータの移動回数も加味してポリシーを調整するか否かを判断してもよい。また、ポリシー調整の頻度は、例えば、１日１回定期的に行ってもよい。この場合も、調整毎にティアリング回数はクリアする。
【００４６】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【要約】
実施形態によれば、高速の第１のストレージ装置と、低速の第２のストレージ装置と、複数のアプリケーションサービスを提供するサービス提供サーバと、コントローラと、移動手段と、調整手段とを具備する。コントローラは、複数のアプリケーションサービスに関するデータを所定ルールに従い第１のストレージ装置と第２のストレージ装置のいずれかに格納する。移動手段は、第１のストレージ装置が記憶しているデータ量に応じて第１のストレージ装置から第２のストレージ装置へデータを移動する。調整手段は、第１のストレージ装置の格納データ量が上限以上の場合、複数のアプリケーションサービスの中で、第２のストレージ装置から第１のストレージ装置へのデータの移動が少ないアプリケーションサービスに関するデータについての所定ルールを、第１のストレージ装置の格納データ量が減少するように、変更する。【図１】
0005612223.tif 000002
【図２】
0005612223.tif 000003
【図３】
0005612223.tif 000004
【図４】
0005612223.tif 000005
【図５】
0005612223.tif 000006
【図６】
0005612223.tif 000007