JP2010097526A - キャッシュ構成管理システム、管理サーバおよびキャッシュ構成管理方法 - Google Patents

キャッシュ構成管理システム、管理サーバおよびキャッシュ構成管理方法 Download PDF

Info

Publication number
JP2010097526A
JP2010097526A JP2008269366A JP2008269366A JP2010097526A JP 2010097526 A JP2010097526 A JP 2010097526A JP 2008269366 A JP2008269366 A JP 2008269366A JP 2008269366 A JP2008269366 A JP 2008269366A JP 2010097526 A JP2010097526 A JP 2010097526A
Authority
JP
Japan
Prior art keywords
cache
internal cache
response time
capacity
internal
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.)
Pending
Application number
JP2008269366A
Other languages
English (en)
Inventor
Keiki Fujiwara
敬記 藤原
Nobuo Kureyama
伸夫 紅山
Hiroshi Nojima
博 野島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008269366A priority Critical patent/JP2010097526A/ja
Priority to US12/351,147 priority patent/US20100100604A1/en
Publication of JP2010097526A publication Critical patent/JP2010097526A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】仮想化装置内のキャッシュ容量の見積もりやキャッシュの割り当て作業を軽減することができるキャッシュ構成管理システムを提供する。
【解決手段】業務サーバ101と、ストレージ装置106と、複数のストレージ装置106を所定に仮想化したストレージとして識別させる仮想化装置105と、ストレージ管理サーバ107を有するストレージシステムにおいて、ストレージ管理サーバ107は、仮想化装置105およびストレージ装置106のキャッシュの構成、アクセス性能から、仮想化装置105の業務サーバ101に対するレスポンスタイムを予測し、内部キャッシュ123の仮想ボリューム125への割り当ての有無、および割り当て容量による性能予測値を評価することで、仮想化装置105内のキャッシュ容量の判定、および適切なキャッシュ容量の見積もりを行い、内部キャッシュ構成の変更プランを作成することができる。
【選択図】図1A

Description

ストレージ装置の仮想化技術に係り、仮想化装置内のキャッシュ容量の見積もりやキャッシュの割り当て作業を軽減することができるキャッシュ構成管理システム、管理サーバおよびキャッシュ構成管理方法に関する。
SAN(Storage Area Network)環境の大規模化により、ベンダや機種が多岐に渡るストレージ装置の運用、管理コストが増大してきている。そのため、ストレージ資源の有効活用、および管理コストの低減を目的として、複数台のストレージ装置内の記憶領域を仮想化装置内にマッピングし、一元的に運用、管理する仮想化技術が普及してきている。
しかし、仮想化したストレージシステムは、サーバからのアクセスの際にデータが仮想化装置を経由しなければならず、性能が低下する場合がある。特許文献1では仮想化装置を導入したストレージシステムにおいて、仮想化装置から各外部サブシステムに対するレスポンスタイムを計測し、レスポンスタイムが長い外部サブシステムにキャッシュを多く割り当てることでアクセス性能を向上させる方法について言及している。
特開2007−179156号公報
特許文献1のストレージシステムでは、キャッシュ割り当て後のレスポンスタイムの予測値は求めておらず、またアプリケーションプログラムがストレージに求める目標性能値のひとつであるレスポンスタイム(以降、「目標レスポンスタイム」と呼ぶ。)についても考慮していない問題があった。
本発明は、前記の課題を解決するための発明であって、目標性能値を考慮した仮想化装置内のキャッシュ容量の見積もりやキャッシュの割り当て作業を軽減することができるキャッシュ構成管理システム、管理サーバおよびキャッシュ構成管理方法を提供することを目的とする。
前記目的を達成するために、業務サーバ(例えば、業務サーバ101)と、ストレージ装置(例えば、ストレージ装置106)と、複数のストレージ装置を所定に仮想化したストレージとして識別させる仮想化装置(例えば、仮想化装置105)と、管理サーバ(例えば、ストレージ管理サーバ107)とを有するストレージシステムにおいて、管理サーバは、仮想化装置およびストレージ装置のキャッシュの構成、アクセス性能から、仮想化装置の業務サーバに対するレスポンスタイムを予測し、内部キャッシュ(例えば、内部キャッシュ123)の仮想ボリューム(例えば、仮想ボリューム125)への割り当ての有無、および割り当て容量による性能予測値を評価することで、目標性能値を満たす仮想化装置内のキャッシュ容量の判定、および、適切なキャッシュ容量の見積もりを行い、内部キャッシュ構成の変更プランを作成し、変更することを特徴とする。
本発明によれば、目標性能値を考慮した仮想化装置内のキャッシュ容量の見積もりやキャッシュの割り当て作業を軽減することができる。
以下、本発明の実施形態を、図面を参照しながら詳細に説明する。
(第1の実施形態)
第1の実施形態では、仮想化装置に外部接続したストレージ装置内の論理ボリュームを、仮想化装置側に取り込み仮想ボリュームとした場合に、運用管理プログラムが仮想ボリュームに割り当てる仮想化装置内のキャッシュ容量を、目標レスポンスタイムが満たされる適切な容量に変更する。以下、その方法について詳細に説明する。
(第1の実施形態におけるシステムの構成)
図1Aは、本発明の第1の実施形態における、ストレージシステムを示すブロック図である。SAN103に業務サーバ101および仮想化装置105が接続されている。また、SAN104に仮想化装置105とストレージ装置106が接続されている。SAN103,104(第1のネットワーク)は図のように分かれていても良いが、1つであっても良い。業務サーバ101は一台であっても複数台あっても良い。ストレージ装置106は一台であっても複数台あっても良い。ストレージ装置106の属性(例えば、ベンダ)は、仮想化装置105の属性と同じであっても良いし異なっていても良い。仮想化装置105は、通信ネットワークを構成するスイッチ装置の形態であっても良い。
(ストレージ装置)
ストレージ装置106は、コントローラ122、外部キャッシュ124、論理ボリューム126、SANインターフェース118およびLAN(Local Area Network)インターフェース119を備える。コントローラ122は、外部キャッシュ124および論理ボリューム126に対するデータの入出力の制御を行う制御部である。また、外部キャッシュ124のキャッシュヒット率(以降、「外部キャッシュヒット率」と呼ぶ。)を測定する。測定した情報は、LAN112(第2のネットワーク)を経由し、ストレージ管理サーバ107(管理サーバ)へ送信される。
(仮想化装置)
仮想化装置105は、SANインターフェース115とSANインターフェース117を有し、SANインターフェース115によりSAN103に接続され、SANインターフェース117によりSAN104に接続されている。また、仮想化装置105は、LANインターフェース116を有し、LANインターフェース116によりLAN112に接続されている。
仮想化装置105は、所定に仮想化してストレージ装置106の有するボリュームを自己のボリュームとして業務サーバ101に提供することができる。仮想化装置105は、その内部に論理ボリュームを有していなくても良いし、有していても良い。
仮想化装置105内に点線で示した仮想ボリューム125は、ストレージ装置106内の論理ボリューム126を仮想化装置105側に取り込んだ状態を示すものである。即ち、本実施形態では、仮想化装置105から見て、外部に存在する論理ボリューム126を、仮想化装置105内の仮想ボリューム125として業務サーバ101に論理ボリューム126の記憶資源を提供することができる。
コントローラ121は、内部キャッシュ123および仮想ボリューム125に対するデータの入出力の制御を行う制御部である。また、内部キャッシュ123のキャッシュヒット率(以降、「内部キャッシュヒット率」と呼ぶ。)を測定する。測定した情報は、LAN112を経由し、ストレージ管理サーバ107へ送信される。
図1Bは、仮想化装置およびストレージ装置の詳細を示す説明図である。図1Bにおいて、図1Aから仮想化装置105、SAN104およびストレージ装置106を抜き出し、内部キャッシュ123と外部キャッシュ124について示す。ストレージ装置106において、論理ボリューム126が複数存在する場合、各論理ボリューム126を区別するために、1台のストレージ装置106内においてユニークな番号であるボリュームID(identification)が割り振られている。また、ストレージ装置106が複数台存在する場合、各ストレージ装置106を区別するために、ストレージシステム全体においてユニークな番号であるストレージ装置IDが後述するキャッシュ構成情報収集プログラム1001によって割り振られている。本実施形態では、仮想ボリュームのボリュームIDはストレージ装置106のストレージ装置IDとボリュームIDを、アンダーバーで繋げたものにしている。
内部キャッシュ123と外部キャッシュ124は、それぞれ仮想ボリューム125と論理ボリューム126ごとに、ある容量を割り当てることができる。キャッシュを割り当てる単位は、本実施形態ではボリュームにしているが、ストレージ装置106ごとに割り当てることもできる。さらに1つ以上の論理ボリュームから構成されデータグループとしてみなされるRAIDグループ(パリティグループ或いはアレイグループと呼ばれることもある)ごとにキャッシュを割り当てることもできる。
内部キャッシュ123内の符号123Aから符号123D、およびストレージ装置106内の符号124Aから符号124Dの各数値は、各ボリュームに割り当てたキャッシュ容量を示している。例えば、ボリュームIDが「Storage001_0:01」である仮想ボリューム125に割り当てられているキャッシュ容量は符号123Aが示す100MBである。ストレージ装置IDが「Storage007」であるストレージ装置106内のボリュームIDが「0:08」である論理ボリューム126に割り当てられている外部キャッシュ124の容量は、符号124Cが示す100MBである。
(業務サーバ)
図1Aに戻り、業務サーバ101は、SANインターフェース114を有し、SANインターフェース114によりSAN103に接続されている。また、業務サーバ101はLANインターフェース113を有し、LANインターフェース113によりLAN112に接続されている。業務サーバ101上では、アプリケーションプログラム102とエージェント(agent)127が動作する。アプリケーションプログラム102は、1つの業務サーバ101上に1つだけ存在しても良いし、複数あっても良い。エージェント127は、アプリケーションプログラム102が書き込み、又は読み込みを行う、各ボリュームに対するアクセス情報を収集したり、アプリケーションプログラム102が仮想化装置105に対してデータの書き込み、又は読み込み命令を出し応答が返ってくるまでの、レスポンスタイムの情報を収集したりする。収集した情報はLAN112を経由し、ストレージ管理サーバ107へ送信される。
(ストレージ管理サーバ)
ストレージ管理サーバ107は、CPU(Central Processing Unit)108、メモリ109、表示部110、入力部111およびLANインターフェース120を備え、LANインターフェース120によりLAN112に接続されている。ストレージ管理サーバ107は、エージェント127、コントローラ121およびコントローラ122が収集した情報をLAN112経由で受信する。CPU108は、メモリ109に記憶されている後述する図2の運用管理プログラム201を読み出して実行することによって、各種処理を行う。また、CPU108は、各種処理過程でユーザとのインタラクションを必要とする情報を表示部110に表示する。さらに、CPU108は、前記インタラクションを通じて、入力部111から入力された情報を処理する。
(第1の実施形態におけるメモリの構成)
図2は、本発明の第1の実施形態における、ストレージ管理サーバ上のメモリの構成を示すブロック図である。ストレージ管理サーバ107上のメモリ109は、運用管理プログラム201および運用管理データベース(以下、「運用管理DB(Data Base)」と記す。)202を記録している。
運用管理プログラム201は、キャッシュ構成情報収集プログラム1001、アクセス性能情報収集プログラム1002、ポリシー定義情報設定プログラム1003、内部キャッシュ構成変更プラン作成プログラム1004(図9参照)、内部キャッシュ構成変更実行プログラム1013、および内部キャッシュ構成変更スケジュール作成プログラム1014(図15参照)から構成される。
運用管理DB202は、キャッシュ構成情報テーブル1005(図3参照)、アクセス性能情報テーブル1006(図4参照)、ポリシー定義情報テーブル1007(図5A参照)、キャッシュヒット率情報テーブル1008(図7参照)、内部キャッシュ構成変更プラン格納テーブル1009(図8A参照)、I/O特性履歴情報テーブル1011(図13参照)、および内部キャッシュ構成変更スケジュールテーブル1012(図14参照)から構成されている。
(キャッシュ構成情報収集プログラム)
キャッシュ構成情報収集プログラム1001は、論理ボリューム126に割り当てられている外部キャッシュ容量と、当該論理ボリューム126に対応する仮想ボリューム125に割り当てられている内部キャッシュ容量の情報を収集し、キャッシュ構成情報テーブル1005に格納する。
さらに、各業務サーバ101のエージェント127から送られてきたアプリケーションプログラム102の情報を基に、アプリケーションプログラム102を一意に識別できるアプリケーションIDを付与する。このアプリケーションIDもキャッシュ構成情報テーブル1005に格納する。内部キャッシュ容量の割り当てに関する情報については、仮想化装置105内のコントローラ121から送られてくる情報を収集する。外部キャッシュ容量の割り当てに関する情報については、ストレージ装置106内のコントローラ122から送られてくる情報を収集する。
アプリケーションプログラム102と仮想ボリューム125の対応は、一般的には次に述べる3つのレイヤーの情報により対応付けることができる。3つのレイヤーとは、アプリケーションプログラム102からファイルシステムまで、ファイルシステムからLUN(Logical Unit Number)まで、そしてLUNから仮想ボリューム125まで、である。
まず、アプリケーションプログラム102からファイルシステムまでのレイヤーにおいては、アプリケーションプログラム102とファイルシステムの対応関係は、ユーザによる入力、又はエージェント127によるディスクI/Oの監視、或いはアプリケーションプログラム102の構成情報を認識可能な専用のエージェント127で収集する。次にファイルシステムからLUNまでのレイヤーにおいては、エージェント127がOS(Operating System)の構成情報により対応付ける。
最後にLUNから仮想ボリューム125までのレイヤーでは、仮想化装置105のコントローラ121から収集した情報に基づいて対応付けを行う。これら3つのレイヤーから収集した情報を基にキャッシュ構成情報収集プログラム1001がアプリケーションプログラム102と仮想ボリューム125との対応関係を管理する。
(アクセス性能情報収集プログラム)
アクセス性能情報収集プログラム1002は、各仮想ボリューム125の内部キャッシュヒット率をコントローラ121から、外部キャッシュヒット率をコントローラ122から収集する。また、業務サーバ101が仮想化装置105に対して書き込み、又は読み込み命令を出した時の、データの平均I/Oサイズとそのデータの単位サイズのデータのアクセス頻度の分散値をコントローラ121によって求め、アクセス性能情報テーブル1006に格納する。なお、アクセス頻度の分散値は、エージェント127で求めても良いし、コントローラ121又はエージェント127より収集した情報に基づき、アクセス性能情報収集プログラム1002で求めても良い。
内部キャッシュ123にキャッシュヒットした時のレスポンスタイム(以降、「内部キャッシュレスポンスタイム」と呼ぶ。)と外部キャッシュ124にキャッシュヒットした時のレスポンスタイム(以降、「外部キャッシュレスポンスタイム」と呼ぶ。)と論理ボリューム126にアクセスした時のレスポンスタイム(以降、「外部ディスクレスポンスタイム」と呼ぶ。)については、アクセス性能情報収集プログラム1002がストレージ装置ごとの性能値を予め保持しており、その値を用いる。詳細は後述する。
(ポリシー定義情報設定プログラム)
ポリシー定義情報設定プログラム1003は、業務サーバ101上のアプリケーションプログラム102の求める目標レスポンスタイム(目標性能値)、アプリケーションプログラム102の重要度、および非仮想化環境から仮想化環境への移行の際の許容性能低下度をユーザに入力させ、入力された値をポリシー定義情報設定プログラム1003が、ポリシー定義情報テーブル1007に格納する。ポリシー定義情報テーブル1007の詳細は後述する。
(内部キャッシュ構成変更プラン作成プログラム)
内部キャッシュ構成変更プラン作成プログラム1004は、業務サーバ101上のアプリケーションプログラム102の目標レスポンスタイム(目標性能値)および重要度、仮想化装置105の内部キャッシュの構成、ストレージ装置106の外部キャッシュの構成に基づき、仮想化装置105の内部キャッシュ123の構成変更プランを作成する。ここでの内部キャッシュの構成とは、各仮想ボリューム125に対していくらのキャッシュ容量を割り当てているかを意味する。同様に外部キャッシュの構成とは、各論理ボリューム126に対していくらのキャッシュ容量を割り当てているかを意味する。詳細は図9から図12を参照して後述する。
(内部キャッシュ構成変更実行プログラム)
内部キャッシュ構成変更実行プログラム1013は、前記内部キャッシュ構成変更プラン作成プログラム1004によって作成された内部キャッシュ構成変更プランに基づいて、仮想化装置105のコントローラ121にキャッシュ構成の変更要求を発行し、仮想化装置105の内部キャッシュ123の構成を変更する。
本実施形態では、仮想化装置105の内部キャッシュ123とストレージ装置106の外部キャッシュ124のいずれに対しても、仮想ボリューム125又は論理ボリューム126の単位でキャッシュを割り当てられることを想定して記載しているが、ハードウェアの制約などにより、ボリューム単位ではキャッシュを割り当てられず、アレイグループ単位、あるいは装置(仮想化装置105又はストレージ装置106)の単位でしか割り当てられないこともある。あるいは、キャッシュ利用効率の向上のため、ボリュームよりも大きな単位でキャッシュを割り当てたほうが良いこともある。
そうしたことを考慮し、当該アレイグループ又は当該装置に含まれるボリューム群をグループ化して、グループに含まれる各ボリュームに対応するキャッシュ容量の合計値を求めて、この合計値をアレイグループ又は装置のキャッシュ容量とするようにしてキャッシュ構成変更処理を行っても良い。
(内部キャッシュ構成変更スケジュール作成プログラム)
内部キャッシュ構成変更スケジュール作成プログラム1014は、アプリケーションプログラム102からのアクセスのI/O特性の変化に基づいて、アプリケーションプログラム102が目標レスポンスタイムを満たすために、内部キャッシュ構成をどの時点でどのように変更すべきかを予測しスケジュールを作成する。詳細は図15を参照して後述する。
(キャッシュ構成情報テーブル)
図3は、キャッシュ構成情報テーブルの内容を示す説明図である。キャッシュ構成情報テーブル1005は、ストレージ装置を一意に識別できるストレージ装置ID1005A、ストレージ装置106内で論理ボリュームを一意に識別できるボリュームID1005B、論理ボリューム126を仮想化装置105側に取り込み仮想ボリューム125とした時に仮想ボリューム125へ割り当てられている内部キャッシュ123の内部キャッシュ容量1005C、各論理ボリューム126へ割り当てられている外部キャッシュ容量1005D、ボリューム容量1005E、および仮想ボリューム125を利用するアプリケーションプログラム102を一意に識別するアプリケーションID1005Fをフィールドとして含む。
キャッシュ構成情報テーブル1005の内容は、内部キャッシュ構成変更実行プログラム1013が仮想化装置105のコントローラ121に対して内部キャッシュ構成の変更要求を行って内部キャッシュ構成を変更した時に、内部キャッシュ構成変更実行プログラム1013から更新される。
(アクセス性能情報テーブル)
図4は、アクセス性能情報テーブルの内容を示す説明図である。アクセス性能情報テーブル1006は、ストレージ装置ID1006A、ボリュームID1006B、内部キャッシュヒット率1006C、内部キャッシュ123上のデータにキャッシュヒットした場合の業務サーバ101への応答時間である内部キャッシュレスポンスタイム1006D、外部キャッシュヒット率1006E、外部キャッシュ124上のデータにキャッシュヒットした場合の業務サーバ101への応答時間である外部キャッシュレスポンスタイム1006F、外部キャッシュ124上のデータにキャッシュヒットしなかった場合の業務サーバ101への応答時間である外部ディスクレスポンスタイム1006G、業務サーバ101からのアクセスデータの平均I/Oサイズ1006H、および業務サーバ101からのアクセス頻度の分散値1006Iをフィールドとして含む。
内部キャッシュヒット率1006Cは、コントローラ121から収集し、外部キャッシュヒット率1006Eは、コントローラ122から収集する。内部キャッシュレスポンスタイム1006Dと外部キャッシュレスポンスタイム1006Fについては、複数ベンダの多機種の仮想化装置105、およびストレージ装置106に対する情報を予めアクセス性能情報収集プログラム1002が保持しており、その値を用いる。
平均I/Oサイズ1006Hは、ある測定期間(例えば、1時間など)において、アプリケーションプログラム102からのアクセスにおける入出力データをエージェント127とコントローラ121が監視し、I/Oサイズの合計値をアクセス回数で除算して求める。アクセス頻度の分散値1006Iも、平均I/Oサイズ1006Hと同様に、ある測定期間において、アプリケーションプログラム102からのアクセスにおける入出力データの単位サイズのデータごとにカウントしたアクセス回数を基に、単位サイズのデータごとにアクセス頻度の分散値を求めたものである。
(ポリシー定義情報設定テーブル)
図5Aは、ポリシー定義情報テーブルの内容を示す説明図である。ポリシー定義情報テーブル1007は、アプリケーションプログラム102を一意に識別できるアプリケーションID1007A、アプリケーションプログラム102の目標レスポンスタイム1007B、アプリケーションプログラム102の相対的な重要度1007C、および非仮想化環境から仮想化環境への移行の際に非仮想化環境で測定されたレスポンスタイムに対して仮想化環境への移行後の予測レスポンスタイムとして許容できる許容性能低下度1007Dをフィールドとして含む。なお、本実施形態においては、重要度の数値が小さいものほど重要であるとしている。
(ポリシー定義情報設定における設定画面)
図5Bは、ポリシー定義情報の設定方法を示す画面例である。図5Bは、ポリシー定義情報テーブル1007の各フィールドに対応し、各アプリケーションプログラム102が求める目標レスポンスタイム、各アプリケーションプログラム102の重要度、および許容性能低下度について、ユーザが設定する際に表示部110に表示する画面例を図示したものである。本画面例では、アプリケーションID(d500)、目標レスポンスタイムd501、重要度d502、許容性能低下度d503が表示されている。ユーザは、各アプリケーションID(d500)で示されるアプリケーションプログラム102について、目標レスポンスタイムd501、重要度d502、および許容性能低下度d503を設定することができる。
なお、本実施形態では目標レスポンスタイム、重要度、許容性能低下度をそれぞれ個別に設定できるようにしているが、ポリシー定義情報設定プログラムが、重要度d502に基づき許容性能低下度d503を決定したり、重要度d502に基づき目標レスポンスタイムd501を決定したりするようにしても差し支えない。
(キャッシュ容量とキャッシュヒット率に関する基本的な考え方)
図6は、キャッシュ容量とキャッシュヒット率の関係に関する基本的な考え方を示す説明図である。なお、ここで説明するのは概算のための近似手法の一例であり、別の近似手法を使っても差し支えない。図6には上段、中段、下段に3つのグラフを示しており、上から順に説明する。
上段のグラフは、ボリューム内の単位サイズのデータごとのアクセス頻度(アクセス回数)を示したグラフである。これをアクセス頻度が高い順に並び替えたものが中段のグラフである。並び替えた後アクセス頻度を曲線で結んだものをy=g(x) とする。ここで下段のグラフ(実線)にて横軸を割り当てる内部キャッシュ容量とみなすと、あるキャッシュ容量cを割り当てるとした時のキャッシュヒット率rは、y=g(x)全体の面積に対するy=g(x) の0からcまでの面積で表すことができる。これをf(c)とし、キャッシュ容量とキャッシュヒット率の関係をr=f(c)として表すことができる。
この式において、キャッシュ容量を増加させると、その増加にともない、キャッシュヒット率が増加する。ボリューム内でアクセスされるデータに偏りがある場合(破線(A)に相当)、すなわちアクセス頻度の分散値が大きい場合、キャッシュ容量が小さい時でもキャッシュヒット率は高い分、キャッシュ容量を増やして行ってもキャッシュヒット率はあまり向上しない。キャッシュ容量が小さい時にはキャッシュヒット率の増加は大きいが、キャッシュ容量が大きくなるとキャッシュヒット率の増加は小さくなると言える。
一方、ボリューム内でアクセスされるデータに偏りがなく、満遍なくアクセスされる場合、すなわちアクセス頻度の分散値が小さい場合(破線(B)に相当)、キャッシュ容量が小さい時のキャッシュヒット率はあまり高くないが、キャッシュ容量を増やしていくと相応のキャッシュヒット率の向上が見られる。キャッシュ容量が小さい時にはキャッシュヒット率の増加は小さいが、キャッシュ容量が大きくなった場合でもその増加はあまり変化せず、分散値が大きい場合に比べそれ程小さくはならないと言える。なお、ここでパラメタcは割り当てるキャッシュ容量としたが、キャッシュ容量の代わりに、キャッシュ容量/ボリューム容量をパラメタとして使用しても差し支えない。
(キャッシュヒット率情報テーブル)
図7は、キャッシュヒット率情報テーブルの内容を示す説明図である。アプリケーションプログラム102のI/O特性には、データのI/Oサイズや、データに対するアクセスの分散値、データアクセスがランダムアクセスであるかシーケンシャルアクセスであるか、読み込みが多いのか書き込みが多いのか、など多数の属性が存在する。本発明は、I/O特性が類似したアプリケーションプログラム102は、キャッシュ容量とキャッシュヒット率の相関モデルに関して、同様の相関モデルの適用によって近似が可能という考え方に基づいている。
図6の説明で述べたように、アクセス頻度の分散値が大きい場合のキャッシュ容量とキャッシュヒット率との関係を示す曲線と、アクセス頻度の分散値が小さい場合のキャッシュ容量とキャッシュヒット率との関係を示す曲線は、異なる特徴を持つカーブになると考えられる。なお、本発明ではI/O特性として、平均I/Oサイズとアクセス頻度の分散値を例に挙げ説明するが、他の属性を用いても本発明の実施には差し支えない。
キャッシュヒット率情報テーブル1008は、キャッシュ容量とキャッシュヒット率の関係を前記I/O特性(平均I/Oサイズとアクセス頻度の分散値)に基づきモデル化したものであり、モデルを一意に識別するためのキャッシュヒット率モデル名1008A、平均I/Oサイズ1008B、アクセス頻度の分散値1008C、およびキャッシュ容量とキャッシュヒット率を数式化したキャッシュ容量のモデル式1008Dのフィールドを含む。キャッシュヒット率情報テーブル1008は、運用管理プログラム201がストレージ管理サーバ107にインストールされた時点で作成されるものであるが、運用中の測定値を使い、ユーザが相関モデルをチューニングしたり、新たなモデルを作成したりしても、本実施形態には差し支えない。
(内部キャッシュ構成変更プラン格納テーブル)
図8Aは、内部キャッシュ構成変更プラン格納テーブルの内容を示す説明図である。内部キャッシュ構成変更プラン格納テーブル1009は、割り当てる内部キャッシュの容量や内部キャッシュを割り当てた場合の予測レスポンスタイムなどを格納しておくテーブルであり、後述する内部キャッシュ構成変更処理によってレコードが作成される。
内部キャッシュ構成変更プラン格納テーブル1009は、ストレージ装置ID1009A、ボリュームID1009B、内部キャッシュ容量1009C、内部キャッシュヒット率1009D、内部キャッシュレスポンスタイム1009E、外部キャッシュヒット率1009F、外部キャッシュレスポンスタイム1009G、外部ディスクレスポンスタイム1009H、および内部キャッシュヒット時、外部キャッシュヒット時、外部ディスクアクセス時のそれぞれのレスポンスタイムを考慮した予測レスポンスタイム1009Iをフィールドとして含む。
内部キャッシュ容量1009Cは、アプリケーションプログラム102のポリシー定義情報によって期待される性能を満たすために必要な内部キャッシュ容量を見積もった値である。内部キャッシュ容量1009Cが0MBの場合は、内部キャッシュを割り当てなくても期待される性能が満たされることを示す。本実施形態では、内部キャッシュ容量を十分に割り当てても期待される性能を満たせないことを表すために、内部キャッシュ容量1009Cに−1MBといった負の値を設定するが、他にフィールドを追加して表しても差し支えない。詳細は後述する。
(内部キャッシュ構成変更プランの確認および再設定画面)
図8Bは、内部キャッシュ構成変更プランの確認・再設定方法を示す画面例である。図8Bには、内部キャッシュ構成変更プラン格納テーブル1009の内容を、表示部110の表示画面を通してユーザに提示し、ユーザがキャッシュ容量を確認し必要があれば値を再設定するための画面例を示す。
本画面例では、アプリケーションID(d600)が割り振られたアプリケーションプログラム102のアクセスする、ストレージ装置ID(d601)とボリュームID(d602)を持つ論理ボリューム126に対応する仮想ボリューム125に対して、割り当てる予定の内部キャッシュ容量d603、その内部キャッシュ容量を割り当てた際のボリュームの予測レスポンスタイムd604、およびアプリケーションプログラム102の目標レスポンスタイムを図示している。本画面でユーザは内部キャッシュ容量d603を変更することができ、変更した場合には、後述するように予測レスポンスタイムd604が再計算され表示される。
例えば、内部キャッシュ容量が80MB(d606)、予測レスポンスタイムd604が5.9msの場合(d607)に、内部キャッシュ容量を120MBに変更すると(d608)、変更後の内部キャッシュ容量123に対する予測レスポンスタイムd604が再計算され、5.5ms(d609)と表示される。再計算の方法は、ステップS2104(図10参照)にて後述する。ここで変更された値は、内部キャッシュ構成変更プラン格納テーブル1009に反映される。
なお、内部キャッシュ構成変更プラン格納テーブル1009の内部キャッシュ容量1009Cが負の値の場合、内部キャッシュ容量d603はブランク表示とし、目標レスポンスタイムを満たす適正な内部キャッシュ容量の見積もりが出来なかったことを示す。また、本画面でOKボタンd610をクリックすることで、内部キャッシュ構成変更実行プログラム1013が呼び出され、内部キャッシュ構成変更プラン格納テーブル1009に格納された構成変更プランに沿って、仮想化装置105のコントローラ121に内部キャッシュ構成変更要求が発行され、内部キャッシュ構成が変更される。
(I/O特性履歴情報テーブル)
図13は、I/O特性履歴情報テーブルの内容を示す説明図である。I/O特性履歴情報テーブル1011は、I/O特性を計測した測定時期1011A、ストレージ装置ID1011B、ボリュームID1011C、平均I/Oサイズ1011D、および業務サーバ101からアクセスされるデータの単位サイズのデータにおけるアクセス頻度の分散値1011Eのフィールドを含む。
このI/O特性履歴情報テーブル1011を基に、各ボリュームのI/O特性の変化に規則性がないかを調べる。規則性がある場合はその時期、例えば特定の日付や曜日、時間帯などによって変化するI/O特性に合わせたキャッシュ容量を予め求めておき、その時期の直前に内部キャッシュ構成の変更を行う。図13では、ストレージ装置ID1011Bが「Storage001」、かつボリュームID1011Cが「0:01」のボリュームに対するアプリケーションプログラム102のI/O特性が、変化していることを表している。
つまり測定時期が「7/25(金) 17:00−18:00」の間には、平均I/Oサイズ1011Dとアクセス頻度の分散値1011Eがそれぞれ「400KB」、「25」だったI/O特性が、「7/25(金) 18:00−19:00」の間には、平均I/Oサイズ1011Dとアクセス頻度の分散値1011Eがそれぞれ「8KB」、「305」と変化し、さらに「7/25(金) 19:00−20:00」の間には、平均I/Oサイズ1011Dとアクセス頻度の分散値1011Eがそれぞれ「400KB」、「25」に戻っている。
(内部キャッシュ構成変更スケジュールテーブル)
図14は、内部キャッシュ構成変更スケジュールテーブルの内容を示す説明図である。内部キャッシュ構成変更スケジュールテーブル1012は、キャッシュ構成の変更を開始する時期である変更開始時期1012A、ストレージ装置106を一意に識別できるストレージ装置ID1012B、ストレージ装置106内で論理ボリュームを一意に識別できるボリュームID1012C、および変更後の内部キャッシュ容量1012Dのフィールドを含む。
図14の行1012Lと行1012Mは、前述した図13のI/O特性の変化に応じて、内部キャッシュ構成変更スケジュール作成プログラム1014が作成したスケジュールである。つまり「毎月最終金曜日の18:00」にストレージ装置IDが「Storage001」、ボリュームIDが「0:01」を仮想化装置105内にマッピングしている仮想ボリューム125に対して内部キャッシュ123を「200MB」割り当てることを意味している。詳細は後述する。
次に、主要な処理について説明する。第1の実施形態における、ストレージ装置のキャッシュ構成管理システムの処理は、内部キャッシュ構成変更プラン作成処理(図9から図12参照)、およびI/O特性に基づく内部キャッシュ構成変更スケジュール作成処理(図15参照)に分類して説明される。それぞれの処理について詳細に説明する。
(内部キャッシュ構成変更プラン作成処理)
図9は、内部キャッシュ構成変更プラン作成処理を示すフローチャートである。図9に示す処理は、CPU108(図1参照)が、内部キャッシュ構成変更プラン作成プログラム1004をメモリ109上に読み込み実行される。本内部キャッシュ構成変更プラン作成処理は、ユーザによる入力部111からの実行命令を契機として実行するものとするが、予め設定した日時に実行するようにしても差し支えない。
ステップS2001において、CPU108は、仮想化装置105の内部キャッシュ容量の見積もり処理(図10参照)を行う。続くステップS2002において、CPU108は、ステップS2001で見積もった内部キャッシュ容量が、実際に仮想化装置105に搭載されている内部キャッシュ容量の範囲に収まるか否かを判断する処理(図11参照)を行い、収まらなかった場合に内部キャッシュ割り当て容量の調整を行う。
続くステップS2003において、CPU108は、ステップS2001で見積もった内部キャッシュ容量が実際に仮想化装置105に搭載されている内部キャッシュ容量よりも小さかった場合に、余剰キャッシュを仮想化装置105の仮想ボリューム125に追加で分配処理(図12参照)を行う。
最後に、ステップS2004において、CPU108は、内部キャッシュ構成の表示を行う。図8Bで示した確認画面によって、ユーザが内部キャッシュ構成の確認を行い、割り当てるべき内部キャッシュ容量の変更と、仮想化装置105のコントローラ121を用いた内部キャッシュの構成変更を行う。内部キャッシュ構成変更処理を予め設定した日時に実行する場合、ユーザの確認処理を省き、ここでの表示内容、すなわち内部キャッシュ構成変更プラン格納テーブルの内容をそのまま用いて、仮想化装置105のコントローラ121を呼び出して内部キャッシュの構成変更を行う。
(内部キャッシュ容量見積もり処理)
図10は、内部キャッシュ容量見積もり処理を示すフローチャートである。内部キャッシュ容量見積もり処理は、仮想化装置105の各仮想ボリューム125に対して行う処理である。ここでの見積もり処理では、目標性能を満たす中で最も小さい内部キャッシュ容量を求める。処理主体はCPU108であるが、以下説明において主体名は省略する。
まず、ステップS2101で、対象の仮想ボリューム125に割り当てる内部キャッシュ容量を、ゼロに初期化する。続くステップS2102で、対象の仮想ボリューム125に割り当てる内部キャッシュ容量が、ボリュームごとの上限値を以下であるか(超えていないか)を確認する。ここでの上限値は、仮想化装置105に搭載されている内部キャッシュ123の総容量に対する一定の割合としても良く、当該仮想ボリューム125のボリューム容量の一定割合としても良い。ここで、上限値以下でなかった場合(ステップS2102,No)、内部キャッシュ容量を十分に割り当てても目標性能を満たすことができないと判断し、ステップS2103に進み、割り当てる内部キャッシュ容量を負の値(−1MB)として、ステップS2107に進む。
次に、ステップS2102において上限値以下である場合(ステップS2102,Yes)、ステップS2104で、性能モデルに基づいた性能予測を行う。アクセス性能情報テーブル1006(図4参照)から、対象の仮想ボリューム125に対応する平均I/Oサイズ1006H(μIO)とアクセス頻度の分散値1006I(σ freq)を取得し、キャッシュヒット率情報テーブル1008(図7参照)から最類似のモデルを選択する。最類似のモデルを選択する方法としては、例えば次式で表す値Δが最小になるものを最類似とする方法がある。なお、以下の(A1)式においてa、bは係数であり、システムで固定値としても良く、性能の実測結果などを用いてチューニングしても良い。μmodelとσ modelはそれぞれ、キャッシュヒット率情報テーブル1008のあるモデルにおける、平均I/Oサイズ1008Bとアクセス頻度の分散値1008Cの値を意味する。
Δ=a(μmodel−μIO+b(σ model−σ freq …(A1)
前記で最類似と判断されたキャッシュ容量のモデル式1008Dより、内部キャッシュ容量に対応する内部キャッシュヒット率ri、および内部キャッシュ容量をゼロと仮定した場合の外部キャッシュ容量に対応する外部キャッシュヒット率reを求める。この時の性能予測値としての予測レスポンスタイムは、キャッシュ構成情報テーブル1005(図3参照)およびアクセス性能情報テーブル1006(図4参照)の値を用いて、次のようにして求められる。
内部キャッシュ容量が外部キャッシュ容量1005Dよりも小さい場合、外部キャッシュにヒットするケースを考慮して、予測レスポンスタイムは、(A2)式となる。
(内部キャッシュヒット率ri×内部キャッシュレスポンスタイム1006D)+((外部キャッシュヒット率re−内部キャッシュヒット率ri))×外部キャッシュヒット率1006E)+((1−外部キャッシュヒット率re)×外部ディスクレスポンスタイム1006G) …(A2)
内部キャッシュ容量が外部キャッシュ容量1005Dよりも大きい場合、外部キャッシュにヒットするケースがないと考えられるため、予測レスポンスタイムは、(A3)式となる。
(内部キャッシュヒット率ri×内部キャッシュレスポンスタイム1006D)+
((1−内部キャッシュヒット率ri)×外部ディスクレスポンスタイム1006G)
…(A3)
ステップS2105で、予測性能が目標を満たしているか否かを判定する。具体的には、ステップS2104で求めた予測性能である予測レスポンスタイムと、目標性能であるポリシー定義情報テーブル1007の目標レスポンスタイム1007Bとを比較する。この時、キャッシュ構成情報テーブル1005(図3参照)を、対象ボリュームに対応するストレージ装置ID1005AとボリュームID1005Bをキーとして参照しアプリケーションID1005Fを求め、前記アプリケーションIDがポリシー定義情報テーブル1007(図5A参照)のアプリケーションID1007Aと合致する行を参照することで、前記目標レスポンスタイムを求める。
予測性能が目標性能を満たしていない場合(ステップS2105,No)、ステップS2106へ進み、内部キャッシュ容量を追加する(ステップS2106)。そして、ステップS2102に戻り、再度性能予測を試みる。
予測性能が目標性能を満たすことが出来た場合(ステップS2105,Yes)、ステップS2107に進み、対象ボリュームに割り当てる内部キャッシュ容量を確定する。確定した結果は、内部キャッシュ構成変更プラン格納テーブル1009(図8A参照)に保存する。この時、内部キャッシュ容量1009C、内部キャッシュヒット率1009D、および外部キャッシュヒット率1009Fは、前記確定した結果および確定に用いたヒット率である。これら以外のフィールドは、アクセス性能情報テーブル1006(図4参照)でストレージ装置ID1006AとボリュームID1006Bが合致する行の同名のフィールドと同じ値とする。
最後にステップS2108で、全ボリュームに対して内部キャッシュ容量見積もりが完了したか否か(処理を行ったか)を確認し、完了していなかった場合(ステップS2108,No)、ステップS2101に戻り、完了していた場合(ステップS2108,Yes)、内部キャッシュ容量見積もり処理を終了する。
(内部キャッシュ割り当て可否判断処理)
図11は、内部キャッシュ割り当て可否判断処理を示すフローチャートである。内部キャッシュ割り当て可否判断処理は、前記内部キャッシュ容量見積もり処理の結果である、内部キャッシュ構成変更プラン格納テーブル1009(図8A参照)の情報が、実際の仮想化装置105の内部キャッシュ123の総容量の範囲か否かを確認し、範囲外であった場合には重要度が高いアプリケーションに優先して内部キャッシュ容量を割り当てる処理である。処理主体はCPU108であるが、以下説明において主体名は省略する。
まず、ステップS2201で、内部キャッシュ構成変更プラン格納テーブル1009(図8A参照)の全行の内部キャッシュ容量1009Cを参照し、値が正のものについての和を求める。これにより、全仮想ボリュームについて割り当てる予定の内部キャッシュ容量の合計値を求める。続くステップS2202で、前記合計値を仮想化装置105に搭載されている内部キャッシュ123の容量と比較する。前記合計値が搭載されている容量以下であれば(ステップS2202,Yes)、内部キャッシュ構成変更プラン格納テーブル1009の内部キャッシュ容量1009Cはすべて割り当て可能であり、処理を終了する。
ステップS2201で求めた合計値が仮想化装置105に搭載されている内部キャッシュ123の総容量よりも大きかった場合(ステップS2202,No)、ステップS2203に進み、割り当て対象ボリュームの中で重要度が低いものに関し、内部キャッシュを割り当てないことにして(ステップS2203)、割り当てるべき内部キャッシュの容量を削減する。
具体的には、内部キャッシュ構成変更プラン格納テーブル1009(図8A参照)とキャッシュ構成情報テーブル1005(図3参照)をストレージ装置IDとボリュームIDによって、キャッシュ構成情報テーブル1005(図3参照)とポリシー定義情報テーブル1007(図5A参照)をアプリケーションIDによって、それぞれ結合する。結合表にて、内部キャッシュ構成変更プラン格納テーブル1009の内部キャッシュ容量1009Cが正の値で、ポリシー定義情報テーブル1007の重要度1007Cが最大のものを求める。そして、求めた最大の重要度1007Cに対応するものについて、内部キャッシュ構成変更プラン格納テーブル1009の内部キャッシュ容量1009Cを負の値(−1MB)として、ステップS2201に戻る。
(余剰キャッシュ追加配分処理)
図12は、余剰キャッシュ追加配分処理を示すフローチャートである。余剰キャッシュ追加配分処理は、前記内部キャッシュ容量見積もり処理の結果、仮想化装置105に搭載されている内部キャッシュ123の容量に余りが出た場合に、ストレージシステム全体での性能向上のために内部キャッシュ追加時の改善度を考慮して追加で割り当てる内部キャッシュ容量を判断する処理である。なお、追加分配処理は必須ではなく、後述するI/O特性に基づく内部キャッシュ構成変更スケジュール作成処理のために余剰キャッシュを残したままにしておいても良い。処理主体はCPU108であるが、以下説明において主体名は省略する。
まず、ステップS2301で、仮想化装置105に搭載されている内部キャッシュ123に割り当て予定がない容量があるか否かを確認する。具体的には、内部キャッシュ構成変更プラン格納テーブル1009(図8A参照)の全行の内部キャッシュ容量1009Cを参照し、値が正のものについての和を求め、これを仮想化装置105に搭載されている内部キャッシュ123の総容量と比較する。前記和が前記総容量よりも小さかった場合、残りがあると判断できる。残りがなかった場合は(ステップS2301,No)、処理を終了する。
残りがあった場合(ステップS2301,Yes)、ステップS2302で、全ボリュームに対して、内部キャッシュ容量を追加した場合の改善度を算出する。この時に追加するサイズは、システムの固定値でも、内部キャッシュの残容量をシステムの固定値で等分した値などでも構わない。内部キャッシュを追加した場合の予測レスポンスタイムは、ステップS2104で述べたのと同様の方法で算出し、
((追加前の予測レスポンスタイム−追加後の予測レスポンスタイム)/追加前の予測レスポンスタイム)
によって、各ボリュームの改善度を算出する。
続くステップS2303で、ステップS2302で算出した改善度が最も大きいボリュームに対して、内部キャッシュ容量を追加することにして、その結果を内部キャッシュ構成変更プラン格納テーブル1009(図8A参照)に反映する。
なお、余剰キャッシュ追加分配処理の他の実施形態として、内部キャッシュを追加した場合の改善度に基づく追加分配ではなく、アプリケーションプログラム102の重要度1007Cに応じた追加分配としても良い。1つの実施形態として、重要度を基にした比例配分方法としては、あるボリュームに追加配分するキャッシュ容量Cは、余剰キャッシュの容量をCrst、あるボリュームにアクセスするアプリケーションプログラム102の重要度1007Cをxとすると、例えば以下の(A4)式で求めることが出来る。
=x/Σx*Crst …(A4)
(内部キャッシュ構成変更スケジュール作成処理)
図15は、I/O特性に基づく内部キャッシュ構成変更スケジュール作成処理を示すフローチャートである。I/O特性履歴情報テーブル1011(図13参照)より、規則性の有無を判定し、規則性がある場合には、その規則性に応じたタイミングでキャッシュ構成の変更を行うスケジュールを作成する。処理主体はCPU108であるが、以下説明において主体名は省略する。
ステップS2401では、I/O特性に規則的な変化があるか否かを検出する。規則的な変化とは、例えば、毎週特定の曜日のある特定時間帯だけI/O特性が変化するなどである。規則的な変化の検出には、例えば、計測した平均I/Oサイズとアクセス頻度の分散値が共にある割合(例えば20%)以上変化している測定時期を全て取り上げ、それらが日時や曜日などの観点から、共通点がないかを調べる方法などがある。測定値に規則性がない場合には(ステップS2401,No)、I/O特性に基づく内部キャッシュ構成変更スケジュール作成処理は終了する。規則性がある場合には(ステップS2401,Yes)、ステップS2402に進む。ステップS2402では、I/O特性の変化するタイミングに基づき、キャッシュ構成を変更する時刻を求める。
ステップS2403では、I/O特性に基づき対象ボリュームの予測レスポンスタイムを求め、当該時間帯に必要となる内部キャッシュ容量を算出する。内部キャッシュ容量の算出は、図10のステップS2101からステップS2106と同じである。ステップS2404では、全ボリュームに対して処理を行ったかを判定し、未処理のボリュームがある場合には(ステップS2404,No)、ステップS2401からの処理を繰り返す。全ボリュームに対して処理を行っている場合には(ステップS2404,Yes)、ステップS2405に進む。
ステップS2405では、I/O特性に規則性のあるボリュームが1つ以上あるか否かの判定を行う。ステップS2401の処理で規則性があると判定したボリュームが1つもない場合には(ステップS2405,No)、本処理は終了する。規則性があるボリュームが1つでもある場合には(ステップS2405,Yes)、ステップS2406へ進む。
ステップS2406では、ボリュームごとにステップS2402で求めた時刻とステップS2406で求めた内部キャッシュ容量を、内部キャッシュ構成変更スケジュールテーブル1012(図14参照)に格納する。内部キャッシュ構成変更スケジュールテーブルに格納された各行に対応する仮想化装置105のコントローラ121への内部キャッシュ構成の変更処理は、一般的なOSの提供するタスク管理機能などによって指定された時期に実行されることを想定しているが、運用管理プログラム201にタスク管理用のプログラムを実装しても差し支えない。
なお、本フローチャートは内部キャッシュ構成変更で必要となるキャッシュ容量が事前に十分確保されていることを前提にして示したが、図11の内部キャッシュ割り当て可否判断処理で示したように、仮想化装置105に搭載されている内部キャッシュ123の全容量を考慮してボリュームごとの内部キャッシュ割り当て可否の判断を行うようにしても良い。
(第2の実施形態)
第1の実施形態では、外部接続したストレージ装置内の論理ボリュームを、仮想化装置側に取り込み仮想ボリュームとした場合の、仮想ボリュームに割り当てられている仮想化装置内の内部キャッシュ容量について述べた。第2の実施形態では、仮想化装置が存在しない環境に対して、仮想化装置を新たに導入する際の内部キャッシュ容量の見積もりについて述べる。なお、第1の実施形態と共通する処理については説明を省略し、第1の実施形態と異なる点を中心に述べる。
(第2の実施形態におけるシステムの構成)
図16は、本発明の第2の実施形態における、ストレージシステムを示すブロック図である。図1Aと異なる点は、図1Aの仮想化装置105が含まれず、SAN104も存在しない点である。そのため、業務サーバ101は、SAN103を通し、直接、各ストレージ装置106にアクセスを行う。仮想化装置導入後のストレージシステムのブロック図は、図1Aに示すものとなる。
(第2の実施形態におけるメモリの構成)
図17は、本発明の第2実施形態における、ストレージ管理サーバ上のメモリの構成を示すブロック図である。第1の実施形態におけるストレージ管理サーバ107上のメモリのブロック図(図2参照)と異なるのは、以下の点である。メモリ109の運用管理プログラム201には、内部キャッシュ構成変更プラン作成プログラム1004が含まれず、代わりに搭載キャッシュ容量見積もりプログラム1101が含まれる。また運用管理DB202には、I/O特性履歴情報テーブル、および内部キャッシュ構成変更スケジュールテーブル1012が含まれない。
なお、本実施形態では、キャッシュ構成情報テーブル1005(図3参照)の内部キャッシュ容量1005C、アクセス性能情報テーブル1006(図4参照)の内部キャッシュヒット率1006Cおよび内部キャッシュレスポンスタイム1006Dのフィールドには値が格納されていないものとする。
(レスポンスタイムの評価方法)
図18は、レスポンスタイムの評価方法を示す説明図である。図18には、本実施形態における、非仮想化環境および仮想化環境での内部キャッシュの割り当ての有無による、キャッシュヒット時のレスポンスタイム(以降、「キャッシュヒットレスポンスタイム」と呼ぶ。)5001、キャッシュミスヒット時のレスポンスタイム(以降、「キャッシュミスヒットレスポンスタイム」と呼ぶ。)5003、およびキャッシュヒット時とミスヒット時を合わせたレスポンスタイムであるボリュームレスポンスタイム5002について示す。
非仮想化環境下において、図18に示すようにキャッシュヒットレスポンスタイム、キャッシュミスヒットレスポンスタイム、ボリュームレスポンスタイムが、それぞれ5001A、5003A、5002Aであったとする。非仮想化環境から仮想化環境への移行(仮想化装置105の導入)において、内部キャッシュを割り当てない場合を考えると、業務サーバ101からのアクセスの際には、キャッシュヒットの有無に関係なく、仮想化装置105とSAN104を経由し、ストレージ装置106にアクセスする。
そのため、キャッシュヒットレスポンスタイム5001B、キャッシュミスヒットレスポンスタイム5003B、およびボリュームレスポンスタイム5002Bは、それぞれ非仮想化環境のキャッシュヒットレスポンスタイム5001A、キャッシュミスヒットレスポンスタイム5003A、ボリュームレスポンスタイム5002Aに比べ、仮想化装置105を経由する時間とSAN104を経由する時間の分、遅くなる。
一方、非仮想化環境から仮想化環境への移行において、内部キャッシュを割り当てる場合を考える。なお割り当てる内部キャッシュ容量は、非仮想化環境で割り当てている外部キャッシュ容量と同容量とし、キャッシュヒット率も変わらないと仮定する。また、内部キャッシュと外部キャッシュの容量が同じ場合には、外部キャッシュ上に存在するデータは、内部キャッシュ上にも存在するため、外部キャッシュによる効果は無く外部キャッシュを取り除いた状態と同じになるとする。
ストレージ装置と仮想化装置のキャッシュを比較した場合、ストレージ装置106の外部キャッシュ124よりも仮想化装置内のキャッシュの方が高性能であることが多い。そのため非仮想化環境から仮想化環境への移行において、内部キャッシュを割り当てるとすると、仮想化環境で内部キャッシュを割り当てた場合のキャッシュヒットレスポンスタイム5001Cは、非仮想化環境のキャッシュヒットレスポンスタイム5001Aよりも早くなる。
仮想化環境で内部キャッシュを割り当てた場合のキャッシュミスヒットレスポンスタイム5003Cは、仮想化環境で内部キャッシュを割り当てない場合のキャッシュミスヒットレスポンスタイム5003Bと同じである。ボリュームレスポンスタイムについては、仮想化環境で内部キャッシュを割り当てない場合(5002B)に比べ早くなる(5002Ca)。キャッシュヒット時(5001C)のIOPS(Input Output Per Second)の量によっては、非仮想化環境のボリュームレスポンスタイム5002Aよりも早くなる(5002Cb)場合もある。
別の視点として、アプリケーションプログラム102の視点で考えると、頻繁にアクセスするデータである、キャッシュ上に存在するデータのレスポンスタイムが重要であると考えることもできる。そのため、評価方法として、ボリュームレスポンスタイム5002で考える方法の他に、キャッシュヒットレスポンスタイム5001だけを評価対象として考える方法が考えられる。以降の説明では、ボリュームレスポンスタイム5002を使う評価方法で説明を行うが、キャッシュヒットレスポンスタイム5001だけを使う評価方法を用いることもできる。その場合、目標レスポンスタイムも、キャッシュヒット時の目標レスポンスタイムを用いる。
(搭載キャッシュ容量見積もり処理)
図19は、搭載キャッシュ容量見積もりプログラムの処理を示すフローチャートである。第2の実施形態における、搭載キャッシュ容量見積もりプログラム1101は、運用管理プログラム201により行われる処理である。図19に示す処理は、CPU108(図1参照)が、搭載キャッシュ容量見積もりプログラム1101をメモリ109上に読み込み実行される。処理主体はCPU108であり、以下では主体名は省略する。
ステップS3001では、業務サーバ101が仮想化装置105を経由しストレージ装置106にアクセスする際における、仮想化装置105を経由する時間(以降、「仮想化装置経由時間」と呼ぶ。)T_vrtと、仮想化装置105からストレージ装置106までに存在するSAN104を経由する時間(以降、「SAN経由時間」と呼ぶ。)T_netを取得する。なお、この仮想化装置経由時間は、厳密には状況によりいくつも場合分けを行う必要がある。
具体的には、業務サーバ101がデータを読み込む時において、内部キャッシュ123が割り当てられており、業務サーバ101からの要求が、仮想化装置105に入り内部キャッシュを検索しキャッシュヒットせずストレージ装置106に向けて要求が仮想化装置を出る時間、ストレージ装置106から読み込んだデータが仮想化装置105に入り割り当てられた内部キャッシュ123にデータを書き込んで仮想化装置105を出てサーバに戻る時間、さらに内部キャッシュ123が割り当てられておらず、キャッシュ上のデータの検索を行わずストレージ装置106に向けて仮想化装置105を出る時間、内部キャッシュ123への書き込みを行わず業務サーバ101に戻る時間、などが考えられる。
本実施形態では、キャッシュ容量の見積もりの概算を行うことを目的としているので、詳細な場合分けを行わず、仮想化装置経由時間は1つの値として計算する。仮想化装置経由時間T_vrtの取得に関しては、本実施形態ではカタログのスペック値を予め搭載キャッシュ容量見積もりプログラム1101が保持しているが、運用管理プログラム201インストール後にユーザが変更することもできる。SAN経由時間T_netの計測に関しては、非仮想化環境におけるSAN103の経由時間で代用する。計測方法の一例として、SANインターフェース114からストレージ装置106のコントローラ122に対して直ぐに応答を返す信号を送信し、応答が返ってくるまでの時間を計測し、その時間の半分をSAN経由時間T_netとする。ストレージ装置106が複数存在する場合には、その中のいくつかについて測定し、平均値を用いることとしても良い。またSAN経由時間T_netも、ユーザによる入力を受け付けることも可能である。
ステップS3002では、キャッシュ構成情報テーブル1005、アクセス性能情報テーブル1006、およびポリシー定義情報テーブル1007より、必要な情報を取得する。取得する情報は、キャッシュ構成情報テーブル1005より、ストレージ装置ID1005AID_str、ボリュームID1005BID_vol、外部キャッシュ容量1005DC_ext、アプリケーションID1005FID_apを、アクセス性能情報テーブル1006から、外部キャッシュヒット率1006ER_ext、外部キャッシュレスポンスタイム1006FT_ext、外部ディスクレスポンスタイム1006GT_dsk、平均I/Oサイズ1006HμIO、およびアクセス頻度の分散値1006Iσ2 freqを、ポリシー定義情報テーブル1007より、目標レスポンスタイム1007BT_tgt、許容性能低下度1007DD_prmtを取得する。なお、内部キャッシュレスポンスタイムT_intに関しては、導入する仮想化装置105のカタログのスペック値を用いる。
ステップS3003では、仮想化装置105を導入した際に、論理ボリューム126に対応する仮想ボリュームに対して、内部キャッシュの割り当て判定処理(図20参照)を行う。内部キャッシュ123の割り当てを行う仮想ボリュームに対応する内部キャッシュ構成変更プラン格納テーブル1009内の各ボリュームに対して、割り当てキャッシュ容量が内部キャッシュ容量1009Cに格納される。詳細は図20を参照して後述する。
ステップS3004では、全ボリュームに対して処理を行ったか否かを判定する。全ボリュームに対して処理が行われていない場合(ステップS3004,No)、ステップS3003の処理に戻る。全てのアプリケーションプログラム102から利用されている全ての論理ボリューム126に対して行うまで繰り返す。全論理ボリュームに対して処理が完了した場合には(ステップS3004,Yes)、ステップS3005に進む。ステップS3005では、内部キャッシュ容量1009Cの合計値を求め、ユーザに提示する。提示方法の詳細については、図21を参照して後述する。
(内部キャッシュ割り当て判定処理)
図20は、非仮想化環境における内部キャッシュ割り当て判定処理の詳細を示すフローチャートである。図20に示す内部キャッシュ割り当て判定処理(ステップS3003)では、内部キャッシュ割り当ての要否の判定を、目標レスポンスタイムを満たしているか否か、非仮想化環境下のボリュームレスポンスタイムに対する許容性能低下度D_prmtの範囲内か否かで行う。
ステップS3101では、外部キャッシュ容量C_extと外部キャッシュヒット率R_extに基づき内部キャッシュ容量C_intと内部キャッシュヒット率R_intを決める(設定する)。割り当てる内部キャッシュ容量C_intは、外部キャッシュ容量C_extを同じとする。このときの内部キャッシュヒット率R_intは外部キャッシュヒット率R_extと同じと仮定し、内部キャッシュヒット率R_intに外部キャッシュヒット率R_extを用いる。
ステップS3102では、内部キャッシュ割り当て時の予測レスポンスタイムT_vol_wcと非割り当て時の予測レスポンスタイムT_vol_clを求める(計算する)。共に仮想化装置経由時間T_vrtとSAN経由時間T_netを考慮し、以下の(A5)(A6)式で求める。
T_vol_wc = R_int * T_int + (1-R_int) * {T_dsk + (T_vrt + T_net) * 2}
…(A5)
T_vol_cl = R_ext * {T_ext + (T_vrt + T_net) * 2}
+ (1-R_ext) * {T_dsk + (T_vrt + T_net) * 2} …(A6)
ここで、仮想化装置経由時間T_vrtとSAN経由時間T_netに2を掛けているのは、業務サーバ101からのアクセス時に、往路と復路で仮想化装置105とSAN104を2度経由するためである。
ステップS3103では、内部キャッシュ123を割り当てない際の予測レスポンスタイムT_vol_clが、目的レスポンスタイムT_tgtを満たしているか否か、或いは非仮想化環境でのボリュームレスポンスタイムに対する許容性能低下度D_prmtの範囲内であるか否かを判定する。満たしている場合、或いは範囲内である場合には(ステップS3103,Yes)、内部キャッシュを割り当てなくとも目的の性能を満たせるとみなし、ステップS3104へ進む。
ステップS3104では、割り当てる内部キャッシュ容量を「0MB」、内部キャッシュヒット率を「0%」とし、ストレージ装置IDID_str、ボリュームIDID_vol、内部キャッシュヒット率R_int、内部キャッシュレスポンスタイムT_int、外部キャッシュヒット率R_ext、外部キャッシュレスポンスタイムT_ext、外部ディスクレスポンスタイムT_dsk、平均I/OサイズμIO、およびアクセス頻度の分散値σ2 freqを内部キャッシュ構成変更プラン格納テーブル1009に格納し処理を終了する。
ステップS3103において、内部キャッシュ非割り当て時の予測レスポンスタイムT_vol_clが、目標レスポンスタイムT_tgtを満たしていない場合、或いは許容性能低下度D_prmtの範囲外の場合には(ステップS3103,No)、ステップS3105へ進む。
ステップS3105では、内部キャッシュを割り当てた際の予測レスポンスタイムT_vol_wcと目標レスポンスタイムT_tgtを比較し、内部キャッシュを割り当てることで予測レスポンスタイムが、目標レスポンスタイムT_tgtを満たす場合、或いは非仮想環境下のボリュームレスポンスタイムに対する許容性能低下度D_prmtの範囲内かを判定する。内部キャッシュを割り当てることで予測レスポンスタイムが、目標レスポンスタイムT_tgtを満たす場合、或いは非仮想環境下のボリュームレスポンスタイムに対する許容性能低下度D_prmtの範囲内の場合には(ステップS3105,Yes)、内部キャッシュを割り当てるとし、ストレージ装置IDID_str、ボリュームIDID_vol、内部キャッシュヒット率R_int、外部キャッシュヒット率R_ext、外部キャッシュレスポンスタイムT_ext、外部ディスクレスポンスタイムT_dsk他の情報と共に、内部キャッシュ構成変更プラン格納テーブル1009(図8A参照)に格納し処理を終了する。
ステップS3105において、内部キャッシュ割り当て時の予測レスポンスタイムT_vol_wcが、目標レスポンスタイムT_tgtを満たしていない場合、或いは許容性能低下度D_prmtの範囲外の場合には(ステップS3105,No)、ステップS3106へ進む。
ステップS3106では、内部キャッシュを割り当てても目標レスポンスタイムを満たさない、或いは非仮想化環境下のボリュームレスポンスタイムに対する許容性能低下度D_prmtの範囲外となるので、内部キャッシュを割り当てないようにする。この意味では、ステップS3104と同じであるが、ステップS3104とは異なり、内部キャッシュ容量を負の値(−1MB)にする。これは、図8Aの説明したが、内部キャッシュを割り当てても期待する性能を満たせないことを表している。最後にステップS3104と同様に、内部キャッシュヒット率を「0%」とし、他の情報と共に、内部キャッシュ構成変更プラン格納テーブル1009に格納し処理を終了する。
(内部キャッシュ見積もり容量の確認および変更受付画面)
図21は、搭載キャッシュ容量見積もり処理の結果を示す画面例である。搭載キャッシュ容量見積もり処理の結果は、表示部110を介してユーザに提示される。本画面例では、アプリケーションID(d1000)がアクセス(利用)する、ストレージ装置IDd1001とボリュームIDd1002を持つボリュームごとに、見積もった内部キャッシュ容量d1003に対して、予測レスポンスタイムd1004、目標レスポンスタイムd1005、現在のボリュームレスポンスタイムd1006、および許容性能低下度d1007と共に表示した画面である。画面下部には搭載する必要のある内部キャッシュ見積もり容量の合計値d1008を表示している。
図21の上部の画面例において、アプリケーションID(d1000)がAP4の内部キャッシュ容量d1003が空欄d1009になっているのは、非仮想化環境下での外部キャッシュ容量と同容量の内部キャッシュを割り当てても割り当てなくとも、予測レスポンスタイムが、目標レスポンスタイムを満たさず、非仮想化環境のボリュームレスポンスタイムに対する許容性能低下度の範囲にも収まっていないことを表している。
内部キャッシュ容量d1003は、ユーザによる変更を受け付けることができる。例えば、空欄d1009を200MB(d1012)に変更することができる。変更された場合、内部キャッシュ見積もり容量も更新され、126.5GB(d1008)から126.7GB(d1011)に更新される。また変更した内部キャッシュ容量を基に予測レスポンスタイムd1004も再計算され、7.1ms(d1010)から5.9ms(d1013)に更新される。このときの予測レスポンスタイムの再計算には、まず平均I/OサイズμIO、アクセス頻度の分散値σ2 freq、およびキャッシュヒット率情報テーブル1008を用いて変更後の内部キャッシュヒット率R_intを求める(図10参照)。さらにこの変更後の内部キャッシュヒット率R_intより、ステップS3102の説明で述べたT_vol_wcの計算方法で予測レスポンスタイムを求める。
本実施形態によれば、業務サーバ101と、ストレージ装置106と、複数のストレージ装置106を所定に仮想化したストレージとして識別させる仮想化装置105と、ストレージ管理サーバ107を有するストレージシステムにおいて、ストレージ管理サーバ107は、仮想化装置105およびストレージ装置106のキャッシュの構成、アクセス性能から、仮想化装置105の業務サーバ101に対するレスポンスタイムを予測し、内部キャッシュ123の仮想ボリューム125への割り当ての有無、および割り当て容量による性能予測値を評価することで、仮想化装置105内のキャッシュ容量の判定、および適切なキャッシュ容量の見積もりを行い、内部キャッシュ構成の変更プランを作成することができる。
本実施形態によれば、次の方法によりストレージ装置の資源の活用を行う。
(1)仮想化装置導入前の外部ストレージ装置のレスポンスタイムを測定し、仮想化環境への移行後のレスポンスタイムの予測値を算出する。仮想化装置内のキャッシュを割り当てる場合と割り当てない場合の両ケースで算出し比較する。目標レスポンスタイムや導入前性能値からの低下度に基づいて、仮想化装置のキャッシュの割り当て要否を判定し、仮想化装置導入における仮想化装置に必要なキャッシュ容量を算出する。
(2)仮想化装置を導入している環境におけるキャッシュ構成管理において、算出したレスポンスタイムが、目標レスポンスタイムを満たす場合は、仮想化装置内のキャッシュ容量を削減し、外部ストレージ装置のキャッシュとの組み合わせにて目標レスポンスタイムを満たすキャッシュ容量を算出し、キャッシュ構成プランを作成する。
(3)作成したキャッシュ構成プランに従い、キャッシュ構成を変更する。また、定期的にI/O特性を監視し、動的にキャッシュ構成変更プランの作成と実行を行い、キャッシュ構成の最適化を行う。
本実施形態によれば、(1)仮想化装置に外部接続されたストレージ装置に対して、仮想化装置内の内部キャッシュを割り当てるか否かの判定を容易に行える。また、割り当てる内部キャッシュ容量の算出を容易にすることができる。(2)さらにストレージシステム全体で仮想化装置のキャッシュ資源を最大限に有効活用する。仮想化装置の導入前に、仮想化装置内に搭載する適切な内部キャッシュ容量を見積もることができる。
本発明の第1の実施形態における、ストレージシステムのブロック図である。 本発明の第1の実施形態における、仮想化装置と仮想化装置に外部接続したストレージ装置のブロック図である。 本発明の第1の実施形態における、ストレージ管理サーバ上のメモリのブロック図である。 キャッシュ構成情報テーブルの内容を示す説明図である。 アクセス性能情報テーブルの内容を示す説明図である。 ポリシー定義情報テーブルの内容を示す説明図である。 ポリシー定義情報の設定方法を示す画面例である。 キャッシュ容量とキャッシュヒット率に関する基本的な考え方を示す説明図である。 キャッシュヒット率情報テーブルの内容を示す説明図である。 内部キャッシュ構成変更プラン格納テーブルの内容を示す説明図である。 内部キャッシュ構成変更プランの確認・再設定方法を示す画面例である。 内部キャッシュ構成変更プラン作成処理を示すフローチャートである。 内部キャッシュ容量見積もり処理を示すフローチャートである。 内部キャッシュ割り当て可否判断処理を示すフローチャートである。 余剰キャッシュ追加分配処理を示すフローチャートである。 測定したI/O特性を格納する、I/O特性履歴情報テーブルの内容を示す説明図である。 内部キャッシュ構成変更スケジュールテーブルの内容を示す説明図である。 I/O特性に基づく内部キャッシュ構成変更スケジュール作成処理を示すフローチャートである。 本発明の第2の実施形態における、ストレージシステムのブロック図である。 本発明の第2の実施形態における、ストレージ管理サーバ上のメモリのブロック図である。 レスポンスタイムの評価方法を示す説明図である。 搭載キャッシュ容量見積もり処理を示すフローチャートである。 内部キャッシュ割り当て判定処理を示すフローチャートである。 搭載キャッシュ容量見積もり処理の結果を示す画面例である。
符号の説明
101 業務サーバ
102 アプリケーションプログラム
103,104 SAN(第1のネットワーク)
105 仮想化装置
106 ストレージ装置
107 ストレージ管理サーバ(管理サーバ)
108 CPU
109 メモリ
110 表示部
111 入力部
112 LAN(第2のネットワーク)
113,116,119,120 LANインターフェース
114,115,117,118 SANインターフェース
121 コントローラ
122 コントローラ
123 内部キャッシュ
124 外部キャッシュ
125 仮想ボリューム
126 論理ボリューム
127 エージェント
201 運用管理プログラム
202 運用管理DB
1001 キャッシュ構成情報収集プログラム
1002 アクセス性能情報収集プログラム
1003 ポリシー定義情報設定プログラム
1004 内部キャッシュ構成変更プラン作成プログラム
1005 キャッシュ構成情報テーブル
1006 アクセス性能情報テーブル
1007 ポリシー定義情報テーブル
1008 キャッシュヒット率情報テーブル
1009 内部キャッシュ構成変更プラン格納テーブル
1011 I/O特性履歴情報テーブル
1012 内部キャッシュ構成変更スケジュールテーブル
1013 内部キャッシュ構成変更実行プログラム
1014 内部キャッシュ構成変更スケジュール作成プログラム
1101 搭載キャッシュ容量見積もりプログラム

Claims (15)

  1. 複数の業務サーバと、複数の論理ボリュームを有する複数のストレージ装置と、前記複数のストレージ装置を所定に仮想化したストレージとして識別させる仮想化装置とが、第1のネットワークを介して通信可能にされており、前記業務サーバと、前記ストレージ装置と、前記仮想化装置とが、第2のネットワークを介して管理サーバと通信可能にされるストレージシステムにおいて、前記仮想化装置内のキャッシュの構成を管理するキャッシュ構成管理システムであって、
    前記管理サーバは、
    前記業務サーバ内のアプリケーションプログラム毎に前記仮想化装置の各仮想ボリュームに対していくらのキャッシュ容量を割り当てているかという内部キャッシュの構成、および、前記ストレージ装置の論理ボリュームに対していくらのキャッシュ容量を割り当てているかという外部キャッシュの構成の情報を収集し、キャッシュ構成情報として記憶部に格納するキャッシュ構成情報収集手段と、
    前記アプリケーションプログラムから前記論理ボリュームをアクセスする際の前記仮想化装置および前記ストレージ装置に対する、キャッシュヒット率およびレスポンスタイムであるアクセス性能を収集し、アクセス性能情報として前記記憶部に格納するアクセス性能情報収集手段と、
    前記アプリケーションプログラムの目標性能値を入力部から受理するとポリシー定義情報として前記記憶部に記憶するポリシー定義情報設定手段と、
    前記業務サーバ上のアプリケーションプログラムの目標性能値、前記仮想化装置の内部キャッシュの構成、および、前記ストレージ装置の外部キャッシュの構成に基づき、前記仮想化装置内の前記内部キャッシュのキャッシュ容量の変更後における予測性能値を計算し、前記予測性能値が前記目標性能値を満たすように前記内部キャッシュのキャッシュメモリの割り当て容量を見積もり、前記仮想化装置の内部キャッシュの構成変更プランを作成する内部キャッシュ構成変更プラン作成手段と、
    前記入力部から内部キャッシュの構成変更の指示を受理すると、前記作成された内部キャッシュ構成変更プランに基づいて、前記仮想化装置に前記内部キャッシュ構成の変更要求を発行し、前記内部キャッシュの構成を変更する内部キャッシュ構成変更実行手段と、を有する
    ことを特徴とするキャッシュ構成管理システム。
  2. 前記目標性能値は、目標レスポンスタイムであり、
    前記アクセス性能情報収集手段は、予め、
    前記アプリケーションプログラムから前記ストレージ装置内の論理ボリュームにアクセスをした際の、前記仮想化装置内の内部キャッシュにキャッシュヒットした時のレスポンスタイムである内部キャッシュレスポンスタイムと、前記外部キャッシュにキャッシュヒットした時のレスポンスタイムである外部キャッシュレスポンスタイムと、前記論理ボリュームにアクセスした時のレスポンスタイムである外部ディスクレスポンスタイム、とを記憶しており、
    前記内部キャッシュ構成変更プラン作成手段は、
    前記内部キャッシュレスポンスタイムと、
    前記外部キャッシュレスポンスタイムと、
    前記外部ディスクレスポンスタイムと、
    前記内部キャッシュのキャッシュ容量に対応するキャッシュヒット率である内部キャッシュヒット率と、
    前記内部キャッシュ容量をゼロと仮定した場合の外部キャッシュのキャッシュヒット率である外部キャッシュヒット率と、に基づいて、
    前記アプリケーションプログラムから前記ストレージ装置の前記論理ボリュームにアクセスをした際の予測レスポンスタイムを算出する
    ことを特徴とする請求項1に記載のキャッシュ構成管理システム。
  3. 前記ポリシー定義情報設定手段は、前記入力部から前記アプリケーションプログラムの重要度を受理すると前記ポリシー定義情報に記憶し、
    前記内部キャッシュ構成変更プラン作成手段は、
    前記見積もったキャッシュメモリ容量の合計値が、前記仮想化装置に搭載されているキャッシュ容量よりも大きい場合、前記重要度が高い前記アプリケーションプログラムを優先し前記キャッシュメモリの容量の割り当てを行う
    ことを特徴とする請求項1に記載のキャッシュ構成管理システム。
  4. 前記ポリシー定義情報設定手段は、前記入力部から前記アプリケーションプログラムの重要度を受理すると前記ポリシー定義情報に記憶し、
    前記内部キャッシュ構成変更プラン作成手段は、
    前記アプリケーションプログラムの目標性能値を満たす前記キャッシュメモリの割り当てを行い、前記仮想化装置に搭載されているキャッシュメモリ容量が余り、割り当てるキャッシュメモリの容量を増加させる場合、前記重要度が高い前記アプリケーションプログラムを優先して割り当てる
    ことを特徴とする請求項1に記載のキャッシュ構成管理システム。
  5. 前記管理サーバは、さらに、
    前記アプリケーションプログラムからのアクセスのI/O特性の変化に基づいて、前記アプリケーションプログラムが目標性能値を満たすために、内部キャッシュ構成をどの時点でどのように変更すべきかを予測し、内部キャッシュ構成変更のスケジュールを作成する内部キャッシュ構成変更スケジュール作成手段を有する
    ことを特徴とする請求項1に記載のキャッシュ構成管理システム。
  6. 複数の業務サーバと、複数の論理ボリュームを有する複数のストレージ装置と、前記複数のストレージ装置を所定に仮想化したストレージとして識別させる仮想化装置とが、第1のネットワークを介して通信可能にされており、前記業務サーバと、前記ストレージ装置と、前記仮想化装置とを、第2のネットワークを介して管理する管理サーバにおいて、
    前記業務サーバ内のアプリケーションプログラム毎に前記仮想化装置の各仮想ボリュームに対していくらのキャッシュ容量を割り当てているかという内部キャッシュの構成、および、前記ストレージ装置の論理ボリュームに対していくらのキャッシュ容量を割り当てているかという外部キャッシュの構成の情報を収集し、キャッシュ構成情報として記憶部に格納するキャッシュ構成情報収集手段と、
    前記アプリケーションプログラムから前記論理ボリュームをアクセスする際の前記仮想化装置および前記ストレージ装置に対する、キャッシュヒット率およびレスポンスタイムであるアクセス性能を収集し、アクセス性能情報として前記記憶部に格納するアクセス性能情報収集手段と、
    前記アプリケーションプログラムの目標性能値を入力部から受理するとポリシー定義情報として前記記憶部に記憶するポリシー定義情報設定手段と、
    前記業務サーバ上のアプリケーションプログラムの目標性能値、前記仮想化装置の内部キャッシュの構成、および、前記ストレージ装置の外部キャッシュの構成に基づき、前記仮想化装置内の前記内部キャッシュのキャッシュ容量の変更後における予測性能値を計算し、前記予測性能値が前記目標性能値を満たすように前記内部キャッシュのキャッシュメモリの割り当て容量を見積もり、前記仮想化装置の内部キャッシュの構成変更プランを作成する内部キャッシュ構成変更プラン作成手段と、
    前記入力部から内部キャッシュの構成変更の指示を受理すると、前記作成された内部キャッシュ構成変更プランに基づいて、前記仮想化装置に前記内部キャッシュ構成の変更要求を発行し、前記内部キャッシュの構成を変更する内部キャッシュ構成変更実行手段と、を有する
    ことを特徴とする管理サーバ。
  7. 前記目標性能値は、目標レスポンスタイムであり、
    前記アクセス性能情報収集手段は、予め、
    前記アプリケーションプログラムから前記ストレージ装置内の論理ボリュームにアクセスをした際の、前記仮想化装置内の内部キャッシュにキャッシュヒットした時のレスポンスタイムである内部キャッシュレスポンスタイムと、前記外部キャッシュにキャッシュヒットした時のレスポンスタイムである外部キャッシュレスポンスタイムと、前記論理ボリュームにアクセスした時のレスポンスタイムである外部ディスクレスポンスタイム、とを記憶しており、
    前記内部キャッシュ構成変更プラン作成手段は、
    前記内部キャッシュレスポンスタイムと、
    前記外部キャッシュレスポンスタイムと、
    前記外部ディスクレスポンスタイムと、
    前記内部キャッシュのキャッシュ容量に対応するキャッシュヒット率である内部キャッシュヒット率と、
    前記内部キャッシュ容量をゼロと仮定した場合の外部キャッシュのキャッシュヒット率である外部キャッシュヒット率と、に基づいて、
    前記アプリケーションプログラムから前記ストレージ装置の前記論理ボリュームにアクセスをした際の予測レスポンスタイムを算出する
    ことを特徴とする請求項6に記載の管理サーバ。
  8. 前記ポリシー定義情報設定手段は、前記入力部から前記アプリケーションプログラムの重要度を受理すると前記ポリシー定義情報に記憶し、
    前記内部キャッシュ構成変更プラン作成手段は、
    前記見積もったキャッシュメモリ容量の合計値が、前記仮想化装置に搭載されているキャッシュ容量よりも大きい場合、前記重要度が高い前記アプリケーションプログラムを優先し前記キャッシュメモリの容量の割り当てを行う
    ことを特徴とする請求項6に記載の管理サーバ。
  9. 前記ポリシー定義情報設定手段は、前記入力部から前記アプリケーションプログラムの重要度を受理すると前記ポリシー定義情報に記憶し、
    前記内部キャッシュ構成変更プラン作成手段は、
    前記アプリケーションプログラムの目標性能値を満たす前記キャッシュメモリの割り当てを行い、前記仮想化装置に搭載されているキャッシュメモリ容量が余り、割り当てるキャッシュメモリの容量を増加させる場合、前記重要度が高い前記アプリケーションプログラムを優先して割り当てる
    ことを特徴とする請求項6に記載の管理サーバ。
  10. 前記管理サーバは、さらに、
    前記アプリケーションプログラムからのアクセスのI/O特性の変化に基づいて、前記アプリケーションプログラムが目標性能値を満たすために、内部キャッシュ構成をどの時点でどのように変更すべきかを予測し、内部キャッシュ構成変更のスケジュールを作成する内部キャッシュ構成変更スケジュール作成手段を有する
    ことを特徴とする請求項6に記載の管理サーバ。
  11. 複数の業務サーバと、複数の論理ボリュームを有する複数のストレージ装置と、前記複数のストレージ装置を所定に仮想化したストレージとして識別させる仮想化装置とが、第1のネットワークを介して通信可能にされており、前記業務サーバと、前記ストレージ装置と、前記仮想化装置とが、第2のネットワークを介して管理サーバと通信可能にされるストレージシステムにおいて、前記仮想化装置内のキャッシュの構成を管理するキャッシュ構成管理方法であって、
    前記管理サーバは、
    前記業務サーバ内のアプリケーションプログラム毎に前記仮想化装置の各仮想ボリュームに対していくらのキャッシュ容量を割り当てているかという内部キャッシュの構成、および、前記ストレージ装置の論理ボリュームに対していくらのキャッシュ容量を割り当てているかという外部キャッシュの構成の情報を収集し、キャッシュ構成情報として記憶部に格納するキャッシュ構成情報収集ステップと、
    前記アプリケーションプログラムから前記論理ボリュームをアクセスする際の前記仮想化装置および前記ストレージ装置に対する、キャッシュヒット率およびレスポンスタイムであるアクセス性能を収集し、アクセス性能情報として前記記憶部に格納するアクセス性能情報収集ステップと、
    前記アプリケーションプログラムの目標性能値を入力部から受理するとポリシー定義情報として前記記憶部に記憶するポリシー定義情報設定ステップと、
    前記業務サーバ上のアプリケーションプログラムの目標性能値、前記仮想化装置の内部キャッシュの構成、および、前記ストレージ装置の外部キャッシュの構成に基づき、前記仮想化装置内の前記内部キャッシュのキャッシュ容量の変更後における予測性能値を計算し、前記予測性能値が前記目標性能値を満たすように前記内部キャッシュのキャッシュメモリの割り当て容量を見積もり、前記仮想化装置の内部キャッシュの構成変更プランを作成する内部キャッシュ構成変更プラン作成ステップと、
    前記入力部から内部キャッシュの構成変更の指示を受理すると、前記作成された内部キャッシュ構成変更プランに基づいて、前記仮想化装置に前記内部キャッシュ構成の変更要求を発行し、前記内部キャッシュの構成を変更する内部キャッシュ構成変更実行ステップと、
    を含んで実行することを特徴とするキャッシュ構成管理方法。
  12. 前記目標性能値は、目標レスポンスタイムであり、
    前記アクセス性能情報収集ステップは、予め、
    前記アプリケーションプログラムから前記ストレージ装置内の論理ボリュームにアクセスをした際の、前記仮想化装置内の内部キャッシュにキャッシュヒットした時のレスポンスタイムである内部キャッシュレスポンスタイムと、前記外部キャッシュにキャッシュヒットした時のレスポンスタイムである外部キャッシュレスポンスタイムと、前記論理ボリュームにアクセスした時のレスポンスタイムである外部ディスクレスポンスタイム、とを記憶しており、
    前記内部キャッシュ構成変更プラン作成ステップは、
    前記内部キャッシュレスポンスタイムと、
    前記外部キャッシュレスポンスタイムと、
    前記外部ディスクレスポンスタイムと、
    前記内部キャッシュのキャッシュ容量に対応するキャッシュヒット率である内部キャッシュヒット率と、
    前記内部キャッシュ容量をゼロと仮定した場合の外部キャッシュのキャッシュヒット率である外部キャッシュヒット率と、に基づいて、
    前記アプリケーションプログラムから前記ストレージ装置の前記論理ボリュームにアクセスをした際の予測レスポンスタイムを算出する
    ことを特徴とする請求項11に記載のキャッシュ構成管理方法。
  13. 前記ポリシー定義情報設定ステップは、前記入力部から前記アプリケーションプログラムの重要度を受理すると前記ポリシー定義情報に記憶し、
    前記内部キャッシュ構成変更プラン作成ステップは、
    前記見積もったキャッシュメモリ容量の合計値が、前記仮想化装置に搭載されているキャッシュ容量よりも大きい場合、前記重要度が高い前記アプリケーションプログラムを優先し前記キャッシュメモリの容量の割り当てを行う
    ことを特徴とする請求項11に記載のキャッシュ構成管理方法。
  14. 前記ポリシー定義情報設定ステップは、前記入力部から前記アプリケーションプログラムの重要度を受理すると前記ポリシー定義情報に記憶し、
    前記内部キャッシュ構成変更プラン作成ステップは、
    前記アプリケーションプログラムの目標性能値を満たす前記キャッシュメモリの割り当てを行い、前記仮想化装置に搭載されているキャッシュメモリ容量が余り、割り当てるキャッシュメモリの容量を増加させる場合、前記重要度が高い前記アプリケーションプログラムを優先して割り当てる
    ことを特徴とする請求項11に記載のキャッシュ構成管理方法。
  15. 前記管理サーバは、さらに、
    前記アプリケーションプログラムからのアクセスのI/O特性の変化に基づいて、前記アプリケーションプログラムが目標性能値を満たすために、内部キャッシュ構成をどの時点でどのように変更すべきかを予測し、内部キャッシュ構成変更のスケジュールを作成する内部キャッシュ構成変更スケジュール作成ステップを有する
    ことを特徴とする請求項11に記載のキャッシュ構成管理方法。
JP2008269366A 2008-10-20 2008-10-20 キャッシュ構成管理システム、管理サーバおよびキャッシュ構成管理方法 Pending JP2010097526A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008269366A JP2010097526A (ja) 2008-10-20 2008-10-20 キャッシュ構成管理システム、管理サーバおよびキャッシュ構成管理方法
US12/351,147 US20100100604A1 (en) 2008-10-20 2009-01-09 Cache configuration system, management server and cache configuration management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008269366A JP2010097526A (ja) 2008-10-20 2008-10-20 キャッシュ構成管理システム、管理サーバおよびキャッシュ構成管理方法

Publications (1)

Publication Number Publication Date
JP2010097526A true JP2010097526A (ja) 2010-04-30

Family

ID=42109495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008269366A Pending JP2010097526A (ja) 2008-10-20 2008-10-20 キャッシュ構成管理システム、管理サーバおよびキャッシュ構成管理方法

Country Status (2)

Country Link
US (1) US20100100604A1 (ja)
JP (1) JP2010097526A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014030249A1 (ja) * 2012-08-24 2014-02-27 株式会社日立製作所 ボリュームのi/o性能の検証システム及び検証方法
WO2014041760A1 (ja) * 2012-09-13 2014-03-20 日本電気株式会社 推定装置、データベース稼働状況推定方法およびプログラム記憶媒体
EP2854018A1 (en) 2013-09-27 2015-04-01 Fujitsu Limited Storage management device, control method , and control program
US9176881B2 (en) 2012-01-26 2015-11-03 Hitachi, Ltd. Computer system and storage control method
JP2016099761A (ja) * 2014-11-20 2016-05-30 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム
US10097635B2 (en) 2014-03-27 2018-10-09 Fujitsu Limited Storage management device, and performance tuning method
JP2019053346A (ja) * 2017-09-12 2019-04-04 東芝メモリ株式会社 情報処理装置、情報処理方法、情報処理プログラム、および情報処理システム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812788B2 (en) 2010-11-09 2014-08-19 Lsi Corporation Virtual cache window headers for long term access history
KR101191544B1 (ko) * 2011-01-21 2012-10-15 엔에이치엔(주) 캐시 클라우드 구조를 이용한 캐시 시스템 및 캐싱 서비스 제공 방법
US20120278819A1 (en) * 2011-04-26 2012-11-01 Byungcheol Cho Polling-driven device driver interface
WO2013103005A1 (ja) * 2012-01-05 2013-07-11 株式会社日立製作所 計算機システムの管理装置及び管理方法
IN2013MU04016A (ja) 2013-12-23 2015-08-07 Tata Consultancy Services Ltd
US10684933B2 (en) * 2016-11-28 2020-06-16 Sap Se Smart self-healing service for data analytics systems
US11249852B2 (en) 2018-07-31 2022-02-15 Portwonx, Inc. Efficient transfer of copy-on-write snapshots
US11354060B2 (en) 2018-09-11 2022-06-07 Portworx, Inc. Application snapshot for highly available and distributed volumes
US11516083B2 (en) * 2018-09-28 2022-11-29 Mastercard International Incorporated Systems, computer-readable media and computer-implemented methods for automated, dynamic capacity planning using HTTP response header fields
US11494128B1 (en) 2020-01-28 2022-11-08 Pure Storage, Inc. Access control of resources in a cloud-native storage system
US11531467B1 (en) 2021-01-29 2022-12-20 Pure Storage, Inc. Controlling public access of resources in a secure distributed storage system
US11520516B1 (en) 2021-02-25 2022-12-06 Pure Storage, Inc. Optimizing performance for synchronous workloads
US11733897B1 (en) 2021-02-25 2023-08-22 Pure Storage, Inc. Dynamic volume storage adjustment
US11726684B1 (en) 2021-02-26 2023-08-15 Pure Storage, Inc. Cluster rebalance using user defined rules
US11561978B2 (en) * 2021-06-29 2023-01-24 Commvault Systems, Inc. Intelligent cache management for mounted snapshots based on a behavior model

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10333836A (ja) * 1997-05-29 1998-12-18 Hitachi Ltd ディスクアレイ制御装置
JP2003337721A (ja) * 2002-05-21 2003-11-28 Hitachi Ltd ストレージ構成自動変更装置及び方法
JP2005115600A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd 情報処理装置及び方法
JP2006350780A (ja) * 2005-06-17 2006-12-28 Hitachi Ltd キャッシュ割当制御方法
JP2008033920A (ja) * 2006-07-27 2008-02-14 Hitachi Ltd 仮想化ストレージ環境の管理システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4631301B2 (ja) * 2004-03-31 2011-02-16 株式会社日立製作所 記憶装置のキャッシュ管理方法
US8010337B2 (en) * 2004-09-22 2011-08-30 Microsoft Corporation Predicting database system performance
JP2007179156A (ja) * 2005-12-27 2007-07-12 Hitachi Ltd 記憶制御装置及び方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10333836A (ja) * 1997-05-29 1998-12-18 Hitachi Ltd ディスクアレイ制御装置
JP2003337721A (ja) * 2002-05-21 2003-11-28 Hitachi Ltd ストレージ構成自動変更装置及び方法
JP2005115600A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd 情報処理装置及び方法
JP2006350780A (ja) * 2005-06-17 2006-12-28 Hitachi Ltd キャッシュ割当制御方法
JP2008033920A (ja) * 2006-07-27 2008-02-14 Hitachi Ltd 仮想化ストレージ環境の管理システム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176881B2 (en) 2012-01-26 2015-11-03 Hitachi, Ltd. Computer system and storage control method
WO2014030249A1 (ja) * 2012-08-24 2014-02-27 株式会社日立製作所 ボリュームのi/o性能の検証システム及び検証方法
WO2014041760A1 (ja) * 2012-09-13 2014-03-20 日本電気株式会社 推定装置、データベース稼働状況推定方法およびプログラム記憶媒体
EP2854018A1 (en) 2013-09-27 2015-04-01 Fujitsu Limited Storage management device, control method , and control program
US10142211B2 (en) 2013-09-27 2018-11-27 Fujitsu Limited Storage management device and control method
US10097635B2 (en) 2014-03-27 2018-10-09 Fujitsu Limited Storage management device, and performance tuning method
JP2016099761A (ja) * 2014-11-20 2016-05-30 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム
JP2019053346A (ja) * 2017-09-12 2019-04-04 東芝メモリ株式会社 情報処理装置、情報処理方法、情報処理プログラム、および情報処理システム
US11416152B2 (en) 2017-09-12 2022-08-16 Kioxia Corporaton Information processing device, information processing method, computer-readable storage medium, and information processing system

Also Published As

Publication number Publication date
US20100100604A1 (en) 2010-04-22

Similar Documents

Publication Publication Date Title
JP2010097526A (ja) キャッシュ構成管理システム、管理サーバおよびキャッシュ構成管理方法
US10078569B1 (en) Self adaptive workload classification and forecasting in multi-tiered storage system using arima time series modeling
JP6084685B2 (ja) ストレージシステム
US10754573B2 (en) Optimized auto-tiering, wherein subset of data movements are selected, utilizing workload skew point, from a list that ranks data movements based on criteria other than I/O workload
US9940024B1 (en) Techniques for determining workload skew
US9477407B1 (en) Intelligent migration of a virtual storage unit to another data storage system
US9898224B1 (en) Automatic adjustment of capacity usage by data storage optimizer for data migration
US10324633B2 (en) Managing SSD write quotas in data storage systems
US9026765B1 (en) Performing write operations in a multi-tiered storage environment
US8838931B1 (en) Techniques for automated discovery and performing storage optimizations on a component external to a data storage system
US8868797B1 (en) Techniques for automated discovery of storage devices and their performance characteristics
US9507887B1 (en) Adaptive techniques for workload distribution across multiple storage tiers
US8935493B1 (en) Performing data storage optimizations across multiple data storage systems
US9983795B1 (en) Techniques for determining a storage configuration
JP5543668B2 (ja) ストレージシステム及び記憶領域の割当方法
US9952803B1 (en) Techniques for automated evaluation and moment of data between storage tiers
US8972694B1 (en) Dynamic storage allocation with virtually provisioned devices
US9753987B1 (en) Identifying groups of similar data portions
US10671431B1 (en) Extent group workload forecasts
US10339455B1 (en) Techniques for determining workload skew
US9785353B1 (en) Techniques for automated evaluation and movement of data between storage tiers for thin devices
US9575668B1 (en) Techniques for selecting write endurance classification of flash storage based on read-write mixture of I/O workload
US8566546B1 (en) Techniques for enforcing capacity restrictions of an allocation policy
US9965218B1 (en) Techniques using multiple service level objectives in connection with a storage group
US10338825B2 (en) Managing SSD wear rate in hybrid storage arrays

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110823