[go: up one dir, main page]

JP5661921B2 - 計算機システム及び管理システム - Google Patents

計算機システム及び管理システム Download PDF

Info

Publication number
JP5661921B2
JP5661921B2 JP2013509688A JP2013509688A JP5661921B2 JP 5661921 B2 JP5661921 B2 JP 5661921B2 JP 2013509688 A JP2013509688 A JP 2013509688A JP 2013509688 A JP2013509688 A JP 2013509688A JP 5661921 B2 JP5661921 B2 JP 5661921B2
Authority
JP
Japan
Prior art keywords
logical volume
storage
information
volume
storage subsystem
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.)
Expired - Fee Related
Application number
JP2013509688A
Other languages
English (en)
Other versions
JPWO2012140730A1 (ja
Inventor
知章 掛田
知章 掛田
草間 隆人
草間  隆人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Publication of JPWO2012140730A1 publication Critical patent/JPWO2012140730A1/ja
Application granted granted Critical
Publication of JP5661921B2 publication Critical patent/JP5661921B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、管理システム、それを有する計算機システム、及び管理方法に関し、例えば、複数のストレージ装置(ストレージサブシステムともいう)が接続された計算機システムにおいてデータの格納先を管理する技術に関する。
ホストとストレージ装置とが接続された環境において、ストレージ装置の負荷に応じてホストからのI/O要求を制御するための技術が開発されている。例えば、特許文献1は、ストレージ装置のシステム負荷が超える場合には、ホストからのI/O要求をエラー応答とし、ホストにI/O要求をリトライさせることを開示している。より具体的には、特許文献1では、特定のRAID論理ユニット(以降RAIDグループと呼ぶ)の負荷が上がっていると予測された場合に、当該RAIDグループへのアクセスを抑止して、RAIDグループの利用効率を高めるようにしている。つまり、システム内におけるコントローラストレージ装置は外部接続ストレージ装置へのI/O要求とレスポンスの状態からRAIDグループの負荷を予測し、負荷が高いと判断したRAIDグループへのアクセスを抑止して、RAIDグループの利用効率を高めてようとしている。
特開2004−206623号公報
特許文献1に記載されるような従来技術では、外部接続ストレージ装置のストレージ容量を仮想的に同一のストレージ装置として扱い、外部ストレージ装置のRAIDグループの負荷を考慮してI/O要求に対するレスポンスを制御しているが、このI/O要求に対するレスポンスを制御する際に、外部接続ストレージ装置のハードウェアのスペックの情報や性能情報を全く考慮していない。そのため、外部ストレージ装置内の各種ハードウェアの負荷状態や、ストレージ装置へのI/O特性(アクセスパターンとも言う)を考慮してI/O要求に対する制御がなされておらず、外部接続ストレージ装置毎に負荷が偏ったり、I/O特性にあわない装置にデータを格納したりしてしまうことがある。
従って、外部接続ストレージ装置の負荷状態とストレージ装置へのI/O特性に応じて、適切な外部ストレージ装置にデータを配置することが望ましい。そもそも、ストレージ装置は、I/O要求に対して、プロセッサやキャッシュやRAIDグループなど複数のハードウェアを使用して、レスポンスを返している。そのため、RAIDグループの負荷のみを考慮しても、それ以外のハードウェアの負荷も考慮しなければ、I/O要求に対して期待する性能でレスポンスできるか判断できない。例えば、あるデータに対して短い期間に読み込みアクセスが続いた場合には、ストレージ装置はキャッシュの情報に基づいてレスポンスを返すことができる。この場合には、ストレージ装置は、RAIDグループに負荷をかけずに、非常に素早いレスポンスを返すことができる。特許文献1では、この場合には素早いレスポンスのためRAIDグループの負荷が低い状態であると判断するが、実際にはRAIDグループの負荷が高いことがある。この際、RAIDグループの負荷が低いと考えているため、このRAIDグループにI/O要求を抑止せずにI/O要求を出してしまう。その結果、このI/O要求に対するレスポンス性能が悪化してしまう。
本発明はこのような状況に鑑みてなされたものであり、I/O要求に対するレスポンス性能を向上させ、ストレージ装置の利用効率を高めることができる技術を提供するものである。
上記課題を解決するために、本発明は、複数のストレージサブシステムと、当該ストレージサブシステムに接続され、そこから仮想的に情報を提供するための仮想レイヤを有する情報処理装置と、それらを管理する管理システムと、を有している。管理システムは、情報処理装置の仮想レイヤ上で管理される仮想インスタンスに割り当てられる論理ボリュームの構成情報と、ストレージサブシステムに含まれるハードウェアリソースの稼働情報をメモリ上で管理する。そして、管理システムは、論理ボリュームの構成情報及びハードウェアリソースの稼働情報に基づいて、仮想インスタンスの利用効率に関する評価を行い、評価結果を出力する。
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。
本明細書の記述は典型的な例示に過ぎず、本発明の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
本発明によれば、ストレージ装置の利用効率を高めることができるようになる。
本発明の第1の実施形態による計算機システムの概略構成を示す図である。 ストレージ装置の論理構成例を示す図である。 RAIDグループ管理テーブルの構成例を示す図である。 ボリューム管理テーブルの構成例を示す図である。 ストレージプール構成テーブルの構成例を示す図である。 ページ構成テーブルの構成例を示す図である。 性能情報テーブルの構成例を示す図である。 管理サーバの論理構成例を示す図である。 管理サーバ上のリソース性能テーブルの構成例を示す図である。 管理サーバ上の論理ボリューム管理テーブルの構成例を示す図である。 管理サーバ上のパス管理テーブルの構成例を示す図である。 管理サーバ上のプール管理テーブルの構成例を示す図である。 管理サーバ上の仮想論理ボリューム管理テーブルの構成例を示す図である。 管理サーバ上のポート管理テーブルの構成例を示す図である。 各装置及び各ボリュームの論理的関係を示す図である。 本発明の全体的処理の概要を説明するためのフローチャートである。 情報取得処理の詳細を説明するためのフローチャートである。 最適化処理の詳細を説明するためのフローチャートである。 配置先情報の確認し、編集するためのGUI画面例を示す図である。 本発明の第2の実施形態による計算機システムの概略構成を示す図である。
以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。
なお、以後の説明では「テーブル」形式によって本発明の各情報について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、DB、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等について単に「情報」と呼ぶことがある。
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
以下では「プログラム」を主語(動作主体)として本発明の実施形態における各処理について説明を行うが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
(1)第1の実施形態
本実施形態は、複数の外部接続ストレージ装置にまたがる記憶領域を集中管理するための仮想技術として、コントローラストレージ装置上に構築されたストレージプールを利用する態様について開示するものである。ここで、コントローラストレージ装置とは、複数のストレージ装置を仮想的に同一のストレージ装置として扱う機能を有するストレージ装置をいう。また、外部接続ストレージ装置とは、コントローラストレージ装置に接続される、同一のストレージ装置として扱われるストレージ装置をいうものとする。さらに、コントローラストレージ装置が複数の外部接続ストレージ装置を仮想的に同一のストレージ装置として扱う計算機システムをストレージ仮想化システムと呼ぶこともできる。本実施形態におけるストレージプールは、複数の外部接続ストレージ装置から割り当てられたボリューム、または、コントローラストレージ装置のボリュームから作成し、ホスト(ホスト計算機)へ仮想的なボリュームを提供する機能を有する。
<計算機システムの構成>
図1は、第1の実施形態による計算機システムの全体概略構成を示す図である。計算機システム0100は、コントローラストレージ装置としてのストレージ装置0101と、外部接続ストレージ装置としての少なくとも1つのストレージ装置0102と、管理サーバ(管理計算機)0103と、少なくとも1つのホスト(ホスト計算機)0107と、SAN(Storage Area Network)スイッチ0104と、を有している。コントローラストレージ装置0101とホスト0107はSANスイッチ0104を介して、SAN0145によって接続されている。また、各ストレージ装置0101及び0102、管理サーバ0103、及びホスト0107は、LAN(Local Area Network)0106によって接続されている。
(i)コントローラストレージ装置0101
コントローラストレージ装置0101は、SANポート0115と、LANポート0116を有し、SANポート0115によってSAN015に接続され、LANポート0116によってLAN0106に接続されている。また、コントローラストレージ装置0101は、CPU0111と、メモリ0112と、少なくとも1つの補助記憶装置0113とを有している。CPU0111は、メモリ0112に格納されているストレージ制御プログラム0114を実行することによって、各種処理を行う。コントローラストレージ装置0101は、外部接続ストレージ装置0102内のボリュームを、自身が提供するボリュームのようにホスト0107に見せる機能を有している。
メモリ0112は、ストレージ制御プログラム0114と、CPU0111がストレージ制御プログラム0114を実行する際に必要な情報を格納する。ストレージ制御プログラム0114は、例えば、各ストレージ装置から論理的に提供される論理ボリュームを構築する処理を実行する。詳細については図2を参照して説明する。
補助記憶装置0113は、後述するようにストレージ制御プログラム0114によって記憶領域として扱われる領域を提供する。なお、補助記憶装置0113は、図中では1つで構成されているが、1つに限らず複数の補助記憶装置から構成されていてもよい。補助記憶装置0113は、例えばFC(Fibre Channel)ディスク、SSD(Solid State Drive)等がある。
なお、コントローラストレージ装置は、コントローラストレージサブシステムということも可能である。
(ii)外部接続ストレージ装置0102
構成要素は、コントローラストレージ装置0101とほぼ同じため説明は省略する。なお、コントローラストレージ装置0101と外部接続ストレージ装置との差異は、コントローラストレージ装置が、前述のように、外部接続ストレージ装置内のボリュームを自身のボリュームのようにホスト0107に提供する機能を有している点である。
なお、外部接続ストレージ装置は、外部接続ストレージサブシステム、或いは単に、ストレージサブシステムということも可能である。
(iii)管理サーバ0103
管理サーバ0103は、CPU(プロセッサ)0131と、メモリ0132と、補助記憶装置0133とを備える。管理サーバ0103は、LANポート0135を有し、LANポート0135によってLAN0106に接続されている。
CPU0131は、メモリ0132に格納されている配置先管理プログラム0134を実行することによって各種処理を行う。
メモリ0132は、配置先管理プログラム0134と、CPU0131が配置先管理プログラム0134を実行する際に必要な情報を格納する。当該メモリ0132内の情報及びプログラムの詳細については、図3を参照して説明する。
補助記憶装置0133は、配置先管理プログラム0134が収集や管理する情報を格納する。
配置先管理プログラム0134は、コントローラストレージ装置0101、外部接続ストレージ装置0102、及びホスト0107より情報を収集する機能と、収集した情報に基づいてデータの配置先を決定し通知する機能とを有する。配置先管理プログラム0134の詳細については、後述する。
なお、管理サーバ0103は、図示されていないが、入力装置及び表示装置(出力装置)を有している。この入出力装置の代替としてシリアルインターフェースやイーサーネットインターフェースを入出力装置とし、当該インターフェースにディスプレイ又はキーボード又はポインタデバイスを有する表示用計算機を接続し、表示用情報を表示用計算機に送信したり、入力用情報を表示用計算機から受信することで、表示用計算機で表示を行ったり、入力を受け付けることで入出力装置での入力及び表示を代替してもよい。
以後、ストレージ装置0101及び0102を管理し、本発明の表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理サーバ(管理計算機)0103が表示用情報を表示する場合は管理サーバ0103が管理システムであり、また、管理サーバ0103と表示用計算機の組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理サーバと同等の処理を実現してもよく、この場合は当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機も含め)が管理システムである。
(iv)ホスト0107
ホスト0107は、CPU0171と、メモリ0172とを有する。また、ホスト0107は、SANポート0173を有し、SANポート0144によってSAN0145に接続されている。さらに、ホスト0107は、LANポート0174を有し、LANポート0174によってLAN0106に接続されている。
ホスト0107は、補助記憶装置0175と、ストレージ装置0101によりSAN0145を通じて提供されるボリュームを記憶領域として使用する。
なお、図1では1台のホスト0107によって構成されているが、1台に限られるものではなく、複数のホスト0107によって構成されていてもよい。
(v)SANスイッチ0104
SANスイッチ0104は、コントローラストレージ装置0101と、外部接続ストレージ装置0102と、ホスト0107との間のデータ通信を中継するネットワークデバイスであり、SANポート0141乃至0144を有している。
なお、計算機システム0100におけるSAN0145は、1台のSANスイッチ0104によって構成されているが、1台に限られるものではなく複数のSANスイッチ0104によって構成されてもよい。また、SANスイッチ0104を配置せずに、各装置をSAN0145によって接続してもよい。
<論理記憶領域の構成例>
図2は、コントローラストレージ装置0101が提供する論理記憶領域を模式的に示す図である。つまり、図2は、コントローラストレージ装置の役割を仮想的に描いたものである。当該機能により、複数の外部接続ストレージ装置0102が設置されていたとしても、ホスト0107は、コントローラストレージ装置0101のみ認識している状態となっている。以下では、まず論理記憶領域およびストレージ制御プログラム0114の詳細、次にその論理記憶領域を管理するためにメモリ0112に格納する管理情報について詳述する。
(i)論理記憶領域、及びストレージ制御プログラム0114
ストレージ制御プログラム0114は、複数の補助記憶装置(コントローラストレージ装置の補助記憶装置0113や少なくとも1つの外部接続ストレージ装置0102の補助記憶装置0123)から論理記憶領域を構築する機能を有する。例えば、ストレージ制御プログラム0114は、RAIDグループ0201、論理ボリューム0202、ストレージプール0204、及び仮想論理ボリューム0205のような論理記憶領域を構築することができる。以下、各論理記憶領域について詳述する。
RAIDグループ0201は、複数の補助記憶装置0113から構成された論理記憶領域、即ち、RAID(Redundant Arrays of Inexpensive Disks)であり、ストレージ制御プログラム0114により構築される。例えば、ストレージ制御プログラム0114は、管理サーバ0103から複数の補助記憶装置0113の何れにRAIDグループを構成するかについての指示、及びびRAIDレベルの指示を入力パラメータとして受け付けると、補助記憶装置0113から指定されたRAIDレベルを持つRAIDグループ0201を構築することができる。RAIDグループには、様々なサイズのものがあり、これらが混在して設定することができるようになっている。
論理ボリューム0202は、RAIDグループ0201内の論理記憶領域であり、ストレージ制御プログラム0114により構築される。例えば、ストレージ制御プログラム0114は、管理サーバ0103から作成元RAIDグループ0201と作成する論理ボリューム0202のサイズを入力値として受け付けると、指定されたRAIDグループ0201から指定されたサイズを持つ論理ボリューム0202を構成することができる。
ストレージプール0204は、複数の論理ボリューム0202から構成された論理記憶領域であり、ストレージ制御プログラム0114により構築される。例えば、ストレージ制御プログラム0114は、管理サーバ0103からプールを構成すべき複数の論理ボリューム0202を入力値として受け付けると、指定された複数の論理ボリューム0202からストレージプール0204を構築することができる。ストレージプール0204は、ストレージ制御プログラム0114が格納されているストレージ装置0101上の論理ボリューム0202以外にも、ストレージ装置0102からSAN0145を通じて割り当てられた論理ボリューム0203によって構築することができる。
ページ0206は、ストレージプール0204から構成された1つ又は複数の論理記憶領域であり、ストレージ制御プログラム0114により構築される。例えば、ストレージ制御プログラム0114は、管理サーバ0103から作成するページ0206のサイズ(それぞれのページで可変設定可能)を入力値として受け付けると、ストレージプール0204から指定されたページ0206を作成することができる。なお、ページ0206に格納されるデータは、当該ページを構成するストレージプール0204を介し、該ストレージプールを構成する論理ボリューム0202、または、論理ボリューム0203へ格納される。
仮想論理ボリューム0205は、ストレージ制御プログラム0114により複数のページから構築された論理記憶領域であり、実容量以上の容量を持つ仮想ボリュームとしてホスト0107に公開される。例えば、ストレージ制御プログラム0114は、管理サーバ0103から仮想論理ボリューム0205の容量を入力値として受け付けると、複数のページ0206から指定された容量を持つ仮想論理ボリューム0205を構築することができる。また、ストレージ制御プログラム0114は、仮想論理ボリュームの実容量以上の容量を持つボリュームとしてホスト0107に公開し、さらに、ホスト0107からのWrite命令に応じて、1つ若しくは複数のページ0206を仮想論理ボリューム0205に割り当てることができる。
(ii)ストレージ制御プログラムの機能
次に、ストレージ制御プログラム0114が提供する機能について説明する。ストレージ制御プログラム0114は、前述の論理記憶領域を構成する機能(論理記憶領域構成機能)、論理ボリューム202および仮想論理ボリューム0205をホストに割り当てる機能(論理ボリューム割り当て機能)、ボリュームを割り当てた装置からのI/O命令に応じて仮想論理ボリューム0205に対してページ0206を割り当てる機能(仮想論理ボリューム拡張機能)、仮想論理ボリューム拡張時に割り当てるページ候補を事前に指定する機能(仮想論理ボリューム拡張ポリシー指定機能)、及びストレージリソースの性能情報を定期的に収集する機能(性能情報収集機能)を提供する。
なお、ストレージ制御プログラム0114、これらの機能に関する管理情報をメモリ0112に格納して管理する。また、ストレージ制御プログラム0114は、管理サーバ0103からの要求に応答して、各ストレージ装置やホストに管理情報を送出する。管理サーバ0103からの要求は、例えば、LAN0106を経由してストレージ制御プログラム0114にリクエストすることができるようになっている。
<各管理情報の構成例>
以下、コントローラストレージ装置0101のメモリ0112に格納されている管理情報について説明する。ストレージ制御プログラム0114は、論理記憶領域を管理するために以下5つのテーブルをメモリ0112に格納する。
(i)RAIDグループ管理テーブル(図3)
図3は、RAIDグループ0201の情報を格納するRAIDグループ管理テーブル0300の構成例を示す図である。RAIDグループ管理テーブル0300は、補助記憶装置ID0301と、RAIDグループID0302と、容量0303と、ドライブタイプ0304と、を構成項目として有している。
補助記憶装置ID0301は、RAIDグループ0201を構成する補助記憶装置0113を一意に特定・識別するための情報である。RAIDグループID0302は、RAIDグループ0201を一意に特定・識別するための情報である。容量0303は、対応するRAIDグループ0201を構成している補助記憶装置0113の容量を示す情報である。ドライブタイプ0304は、対応するRAIDグループ0201を構成する補助記憶装置0113のドライブ種別を示す情報である。ドライブタイプには、SASの他、SATAやSSD等がある。
また、まだRAIDグループが構成されていない場合には、RAIDグループID0302は空欄となっている。
なお、図3からは、RAIDグループ1(RG1)は、全体として1600GBの容量を有していることが分かる。
(ii)ボリューム管理テーブル(図4)
図4は、論理ボリューム0202、及び、仮想論理ボリューム0205の情報を格納するボリューム管理テーブル0400の構成例を示す図である。ボリューム管理テーブル0400は、ボリュームID0401と、RAIDグループID0402と、容量0403と、ストレージプールID0404と、ストレージポート0405と、割当先ID0406と、ターゲットID0407と、仮想論理ボリューム拡張論理ボリュームID0408と、を構成項目として有している。
ボリュームID0401は、論理ボリューム0202又は仮想論理ボリューム0205を一意に特定・識別するための情報である。図4では、コントローラストレージ装置0101からのボリュームは通常の番号(例えば”1”)で示され、外部接続ストレージ装置0102からのボリュームはV1やV2等で示されている。
RAIDグループID0402は、論理ボリューム0202又は仮想論理ボリューム0205の生成元となるRAIDグループ0201を一意に特定・識別するための情報である。図4の例では、ボリュームV1及びV2は仮想論理ボリュームに対応しており、RAIDグループを構成していないため、当該RAIDグループID0402はNAとなっている。
容量0403は、対応するボリュームの容量を示す情報である。ストレージプールID0404は、対応するボリュームが属するストレージプール0204を一意に特定・識別するための情報である。ストレージポート0405は、対応するボリュームを公開しているストレージ装置のポートを一意に特定・識別するための情報である。
割当先ID0406は、ボリュームの割り当て先を一意に特定・識別するための情報である。なお、ストレージ装置のポート、及び割り当て先を一意に特定・識別するための情報として、それぞれのWWN(World Wide Name)を格納してもよい。また、図4の論理ボリューム1はプールに使われているため、ホスト0107に割り当てられていない。
ターゲットID0407は、ボリュームの割り当て先からのアクセスにおいて、ボリュームを一意に特定・識別するための情報(Target ID)を示す情報である。例えば、仮想的にポートを複数に分割してアクセスを可能にした場合(図15のホストからのアクセスパス参照)、あるデバイスからの所定のボリュームへのアクセスのパスを識別する必要がある。ターゲットID0407は、このようなアクセスパスを識別するための情報である。
仮想論理ボリューム拡張論理ボリュームID0408は、仮想論理ボリューム拡張ポリシー指定機能に使用する、論理ボリューム0202、又は論理ボリューム0203を一意に特定・識別するための情報である。つまり、仮想論理ボリュームの拡張時に、どのボリュームからページを設定するか指定されるが、当該仮想論理ボリューム拡張論理ボリュームID0408は、その指定された論理ボリュームを特定する情報である。ここで、仮想論理ボリューム拡張ポリシー指定機能は、仮想論理ボリューム0205を拡張する際に、仮想論理ボリューム拡張論理ボリュームID0408によって指定された論理ボリューム0202の記憶領域にあるページ0206を当該仮想論理ボリューム0205に割り当てる機能である。
(iii)ストレージプール構成テーブル(図5)
図5は、ストレージプール0204を構成する論理ボリューム0202又は0203の情報を格納するストレージプール構成テーブル0500の構成例を示す図である。ストレージプール構成テーブル0500は、ストレージプールID0501と、論理ボリュームID0502と、ポート0503と、外部接続先0504と、を構成項目として有している。
ストレージプールID0501は、ストレージプール0204を一意に特定・識別するための情報である。論理ボリュームID0502は、対応するストレージプールに含まれる論理ボリューム0202を一意に特定・識別するための情報、或いは、外部のストレージ装置0102から論理ボリューム0203が割り当てられた際に付与されるTarget ID示す情報である。
ストレージポート0503及び外部接続先0504は、対応する論理ボリュームが外部接続ストレージ装置0102の論理ボリューム0203である場合に、当該論理ボリュームが割り当てられているSANポート0115のWWNと、外部接続ストレージ装置側のSANポート0125のWWNを示す情報である。
(iv)ページ構成テーブル(図6)
図6は、ページ0206の構成ならびにアクセス履歴を保持するページ構成テーブル0600の構成例を示す図である。ページ構成テーブル0600は、ページID0601と、仮想論理ボリュームID0602と、論理ボリュームID0603と、割り当て日時0604と、を構成項目として有している。
ページID0601は、対象となるページ0206を一意に特定・識別するための情報である。仮想論理ボリュームID0602は、プール0204から切り出され、対応するページが割り当てられた仮想論理ボリュームを一意に特定・識別するための情報である。論理ボリュームID0603は、対応するページに格納されたデータを実際に格納する論理ボリューム0202又は論理ボリューム0203を一意に特定・識別するための情報である。割り当て日時0604は、対応するページが割り当てられた日時を示す情報である。
なお、図6のID=6のページに格納されるデータは、ID=1の論理ボリューム1に実際に格納されることとなっているが、まだ仮想ボリュームも割り当てられておらず、空欄となっている。
(v)性能情報テーブル(図7)
図7は、ストレージ装置内のリソースの性能値を保持する性能情報テーブル0700の構成例を示す図である。性能情報テーブル0700は、ストレージリソース種別0701と、リソースID0702と、性能種別0703と、性能値0704と、期間0705と、日時0706と、を構成項目として有している。
ストレージリソース種別0701は、性能を管理すべき対象となるストレージリソースの種別を一意に特定・識別するための情報である。リソースID0702は、管理対象のリソースを一意に特定・識別するための情報である。
性能種別0703は、管理対象のリソースの性能の種別を一意に特定・識別するための情報である。ここで、Hit Rateは、I/O要求を受けたときにキャッシュからどの程度の割合でデータを返すことができたかを示す情報である。また、RAIDグループにおけるBusy Rateは、データリード命令を受けてからそのデータを読みに行っている期間がどの位か、つまり、ストレージ装置を構成するディスク装置が回転している間にヘッドがどの程度動作してデータを読んでいるか(稼働時間)を示す情報である。さらに、Random/Sequential比は、I/O要求におけるランダムアクセスとシーケンシャルアクセスの割合(I/O特性、或いはアクセスパターンともいう)を示す情報である。その他、I/O特性を示す情報としては、I/O要求におけるリード要求とライト要求の割合を示すRead/Write比がある。
性能値0704は、対応するリソースの性能を表す情報である。Random/Sequential比における80%/20%は、ランダムアクセスの割合が80%で、シーケンシャルアクセスの割合が20%であることを示している。なお、CPUのスペックはCPU自体を変更しない限り、固定値である。
期間0705は、対応するリソースの性能を測定した期間の単位を示す情報である。ここで、期間の単位とは、例えば、毎時、毎日、毎週等を表し、集計期間であっても良いし、測定周期であっても良い。図7において”hourly”とあるが、これは、例えば一時間という期間における複数の測定値の平均を取ることを意味する(集計期間である場合)。
日時0706は、測定期間の単位の終了日時を示す情報である。
<管理サーバの論理構成>
図8は、管理サーバ0103のメモリ0132及び補助記憶装置0133上の論理構成例を示す図である。
メモリ0132に格納される配置先管理プログラム0801は、情報収集プログラム0811と、配置先最適化プログラム0812と、配置先情報入出力プログラム0813と、を含んでいる。
補助記憶装置0133は、配置先管理プログラム0801が管理する、リソース性能テーブル、論理ボリューム管理テーブル、パス管理テーブル、プール管理テーブル、仮想論理ボリューム管理テーブル、及びポート管理テーブルを格納している。
(i)リソース性能テーブル(図9)
図9は、情報収集プログラム0811が収集する各装置のリソースの性能情報を管理するリソース性能テーブル0900の構成例を示す図である。リソース性能テーブル0900は、装置ID0901と、リソース種別0902と、リソースID0903と、性能種別0904と、性能値0905と、を構成項目として有している。
装置ID0901は、情報収集プログラム0811が性能情報を収集した装置を一意に特定・識別するためのする情報である。リソース種別0902は、装置内のリソース種別を識別するための情報である。リソースID0903は、装置のリソース種別におけるリソースを識別するための情報である。性能種別カラム0904は、取得した性能情報の種別を示す情報である。性能値0905は、対応するリソースの性能値を表す情報である。
リソース性能テーブル0900に格納する値としては、例えばCPUのBusy Rate及びSpecと、CacheのHit Rate及びSpecと、RAIDグループを構成するDiskのBusy Rateと、ボリュームに対するランダムアクセスとシーケンシャルアクセスの比率などがある。ランダムアクセスの比率が高いと、キャッシュの残容量は利用効率を高くしたり、アクセススピードを早くしたりするためにはそれほど重要ではない。一方、シーケンシャルアクセスの比率が高くなると、キャッシュの残容量が多い方が利用効率を高くしたり、アクセススピードを早くしたりすることができる。なお、リソース性能テーブル0900に格納する情報は、図9に示される例に限定されるものではなく、ストレージ装置に存在するポートなどの情報であってもよい。
(ii)論理ボリューム管理テーブル(図10)
図10は、情報収集プログラム0811がコントローラストレージ装置0101や外部接続ストレージ装置0102から収集する、論理ボリュームの論理構成を管理するための論理ボリューム管理テーブル1000の構成例を示す図である。論理ボリューム管理テーブル1000は、論理ボリュームID1001と、ストレージ装置ID1002と、RAIDグループID1003と、を構成項目として有している。
論理ボリュームID1001は、管理対象の論理ボリュームを一意に特定・識別するための情報である。ストレージ装置ID1002は、対応する論理ボリュームを提供するストレージ装置を一意に特定・識別するための情報である。RAIDグループID1003は、対応する論理ボリュームを提供するRAIDグループを一意に特定・識別するための情報である。
(iii)パス管理テーブル(図11)
図11は、パス管理テーブル1100の構成例を示す図である。パス管理テーブル1100は、論理ボリューム0202及び0203、又は仮想論理ボリューム0205が公開される経路を示す情報(ボリュームがどのような経路で公開されているかを示す情報)を管理する。当該テーブルの各情報は、情報収集プログラム0811によって、コントローラストレージ装置0101や外部接続ストレージ装置0102から収集される。
パス管理テーブル1100は、ストレージ装置ID1101と、ボリュームID1102と、割当元1103と、割当先1104と、ターゲットID1105と、プール管理テーブルID(レコードID)1106と、を構成項目として有している。
ストレージ装置ID1101は、公開されている論理ボリュームを提供するストレージ装置を一意に特定・識別するための情報である。
ボリュームID1102は、公開されているボリュームを一意に特定・識別するための情報である。
割当元1103は、ボリュームをストレージ装置のどのSANポートから公開しているかを示すWWN情報である。また、割当先1104は、対応する論理ボリュームの公開先を示すWWN情報である。
ターゲットID1105は、同一の経路によって公開されているボリュームを、割り当て元と割当先の装置で識別するために共通で使用している情報を格納する。上述したように、例えば、後述する図15におけるホストAのポートからストレージ装置Aのポートへの経路が2つあるが、これらを識別するのがターゲットIDである。
プール管理テーブルID(レコードID)1106は、後述するプール管理テーブル1200のレコードID1206の値に対応する情報である。この情報は、外部接続ストレージ装置0102から割り当てられた論理ボリュームによってストレージプールを構成している場合に入力される。
例えば、図11における3番目のエントリについて説明すると、ストレージ装置Bの論理ボリューム2が、割当元1103のポートから割当先1104のポートに対して、ターゲットID=2で示される経路で公開されているということになる。
(iv)プール管理テーブル(図12)
図12は、プール管理テーブル1200の構成例を示す図である。プール管理テーブル1200は、情報収集プログラム0811がコントローラストレージ装置0101や外部接続ストレージ装置0102から収集したストレージプール0204の構成情報を管理している。プール管理テーブル1200は、プールID1201と、ストレージ装置ID1202と、論理ボリュームID1203と、外部接続ストレージ装置ID1204と、外部論理ボリュームID1205と、レコードID1206と、を構成項目として有している。
プールID1201は、ストレージプール0204を保持するストレージ装置において、ストレージプール0204を一意に特定・識別するための情報である。
ストレージ装置ID1202は、ストレージプール0204があるストレージ装置を一意に特定・識別するための情報である。
論理ボリュームID1203は、対応するストレージプール0204を構成する、コントローラストレージ装置0101の論理ボリュームを一意に特定・識別するための情報である。つまり、論理ボリュームID1203の欄には、論理ボリュームが当該ストレージプールと同一のストレージ装置(コントローラストレージ装置0101)である場合に、ストレージ装置内で論理ボリュームを一意に識別するために情報が格納される。
外部ストレージ装置ID1204は、対応するストレージプール0204に論理ボリュームを提供する外部接続ストレージ装置0102を特定するための情報である。外部論理ボリュームID1205は、対応するストレージプール0204を構成する外部接続ストレージ装置0102の論理ボリュームを一意に特定・識別するための情報である。つまり、外部ストレージ装置ID1204と外部論理ボリュームID1205の欄には、対応するストレージプールが構成されているストレージ装置(コントローラストレージ装置0101)と異なる、ストレージ装置(外部接続ストレージ装置0102)から割り当てられた論理ボリュームによって当該ストレージプールが構成されている場合に、外部接続ストレージ装置0102と論理ボリュームとを一意に識別するための情報が格納される。
レコードID1206は、プール管理テーブル1200の各エントリを一意に特定・識別するための情報である。
当該テーブルからは、ID=1で識別されるプールは、ID=1乃至5で識別される論理ボリュームから構成されていることが分かる。
(v)パス管理テーブル1100とプール管理テーブル1200との関係
上述したように、プール管理テーブル1200及びパス管理テーブル1100の各情報は、情報収集プログラム0811によって、コントローラストレージ装置0101や外部接続ストレージ装置0102から収集される。
しかしながら、両テーブルの各情報は一度に収集されるわけではない。
パス管理テーブル1100では、まず、ストレージ装置ID1101、割当元1103、割当先1104、及びターゲットID1105のみ取得される。
一方、プール管理テーブル1200においては、まず、エントリを識別するためのレコードID1206だけが付与される。従って、外部論理ボリュームID1205の欄は空欄となっている。よって、最初の段階では、ストレージ装置ID1202で特定されるストレージ装置(ストレージA)は、プールを構成する外部論理ボリュームについて認識していない状態となっている。
続いて、各外部論理ボリュームとプールとの対応(マッピング)を取るために、パス管理テーブル1100が参照される。パス管理テーブル1100では、外部接続ストレージ装置の各ボリュームは、割当元及び割当先ID(ポートID)1103及び1104とターゲットID1105で認識されるため、外部接続ストレージ装置側で認識されている情報(同じポートIDとターゲットIDで認識されている情報)から外部論理ボリュームが特定される。つまり、外部論理ボリュームID1102は、ストレージ装置ID1101、割当元1103、割当先1104、ターゲットID1105、及び各ストレージ装置からの情報で特定される。外部論理ボリュームID1205は、パス管理テーブル1100においてボリュームID1102が特定されると、レコードIDと対応付けてプール管理テーブル1200に記述される。
このように、プール管理テーブル1200によって、プールがどのストレージ装置のどの論理ボリュームに対応付けられているか分かるため、さらに、パス管理テーブル1100のプール管理テーブルID1106には、プール管理テーブル1200のレコードID1206が入力される。
以上のような手順によって、プールID1201で特定されるプール(プール1)を構成しているボリュームがどのストレージ装置のどのボリュームであるか特定される。
(vi)仮想論理ボリューム管理テーブル(図13)
図13は、仮想論理ボリューム管理テーブル1300の構成例を示す図である。当該仮想論理ボリューム管理テーブル1300には、情報収集プログラム0811が、コントローラストレージ装置0101から収集した仮想論理ボリューム0205の情報と、配置先最適化プログラム0812が仮想論理ボリューム0205のデータの格納先として各論理ボリュームを評価した評価値が格納される。
仮想論理ボリューム管理テーブル1300は、仮想論理ボリュームID1301と、プールID1302と、ストレージ装置ID1303と、格納先ストレージ装置ID1304と、評価値1305と、論理ボリュームID1306と、ボリューム評価値1307と、を構成項目として有している。
仮想論理ボリュームID1301は、計算機システム0100内に作成された仮想論理ボリュームを一意に特定・識別するための情報である。プールID1302は、対応する仮想論理ボリュームを保持するストレージプール0204を一意に特定・識別するための情報である。ストレージ装置ID1303は、対応する仮想論理ボリュームを格納するストレージ装置(コントローラストレージ装置0101)を一意に特定・識別するための情報である。格納先ストレージ装置ID1304は、対応する仮想論理ボリュームに提供する実際のデータを格納する記憶領域を保持するストレージ装置を一意に特定・識別するための情報である。論理ボリュームID1306は、仮想論理ボリュームを構成する論理ボリュームを一意に特定・識別するための情報である。仮想論理ボリュームID1301、プールID1302、ストレージ装置ID1303、格納先ストレージ装置ID1304、及び論理ボリュームID1306は、情報収集プログラム0811によって取得され、仮想論理ボリューム管理テーブル1300に格納される。
評価値1305は、仮想論理ボリュームのデータを格納する記憶領域を提供している論理ボリュームのストレージ装置がどの程度適切かを示す情報である。評価値1305は、例えば、I/O特性によって判断された値が入力される。また、ボリューム評価値1307は、論理ボリュームの評価を示す情報である。例えば、図9を参照すると、ストレージ装置Aの仮想論理ボリュームV1のI/O特性(アクセスパターン)はランダムアクセスが80%であり、ディスク装置側に負荷がかかるアクセスパターンである。このとき、ストレージ装置AのRG1から作成されているRAIDグループのBusy Rateは80%である。従って、これ以上ディスク装置に負荷をかけられる状態でないので、ボリューム評価値1307が低くなっている。また、図10を参照すると、論理ボリューム4及び5を構成しているのはRG3である。そして、図9を参照すると、RGのBusy Rateは0%であり、ディスク装置の稼働状態に余裕がある。よってボリューム評価値1307の値が比較的高くなっている。評価値1305及びボリューム評価値1307の情報は、配置先最適化プログラム0812が後述の演算処理を実行することにより得られる。
(vii)ポート管理テーブル(図14)
図14は、SAN0145に接続されている各装置のSANポートのWWNを管理するポート管理テーブル1400の構成例を示す図である。ポート管理テーブル1400の構成情報は、情報収集プログラム0811によって、ホスト0107からLAN0106経由で収集される。ポート管理テーブル1400は、装置ID101401と、WWN1402を構成項目として有している。
装置ID1401は、情報収集の対象となった装置を一意に特定・識別するための情報である。また、WWN1402は、対応する装置から収集されたWWNの情報である。
(viii)各テーブルから得られるデータの構成例
図15は、テーブル1000乃至1200、及び1400(図10乃至12、及び図14)から再現された、各装置、各論理ボリューム、及び各ポートの論理的構成関係を示す図である。管理サーバ0103は、例えば、次のようにして、計算機システム0100内の論理的構成を把握することができる。
まず、ポート管理テーブル1400を参照すると、各装置1501乃至1504及びそれらが有するポート1505ないし1509の位置関係が明らかになる。
次に、パス管理テーブル1100のボリュームID1102の情報に基づいて、各ストレージ装置1502乃至1504に含まれる論理ボリューム1510乃至1514及び仮想論理ボリューム1515及び1516が配置される。また、パス管理テーブル1100の割当元1103、割当先1104、及びターゲットID1105の情報に基づいて、各論理ボリューム1510乃至1516と各ポート1505乃至1509との接続関係が明らかになる。
さらに、プール管理テーブル1200を参照すると、ストレージ装置A1502にはプールが設定されていることが分かるので、プールを構成する論理ボリューム1_1510及び外部論理ボリューム2乃至5_1511乃至1514と、プール1_1517とが関連づけられる。
以上のようにして、管理サーバ0103は、収集した情報に基づいて、計算機システム0100内の論理的構成を把握することができるようになる。
<管理サーバによる処理の概要>
図16は、管理サーバ0103が実行する処理の概要を説明するためのフローチャートである。管理サーバ0103が実行する処理には、情報取得処理と最適化処理がある。前者は情報収集プログラム0811によって実行され、後者は配置先最適化プログラム0812によって実行される。
ステップS1601において、情報収集プログラム0811は、コントローラストレージ装置0101、外部接続ストレージ装置0102、及びホスト0107から所定の情報(図9乃至14の各テーブルに格納すべき情報)を収集し、該当するテーブルの各欄に格納する。当該ステップの処理の詳細については、図17を用いて説明する。
ステップS1602において、配置先最適化プログラム0812は、ステップS1001で収集された情報に基づき、仮想論理ボリューム0205のページデータを格納する場合に、ストレージプール0204を構成する論理ボリューム中のどの論理ボリュームが望ましいかを評価し、コントローラストレージ装置0101に設定する。当該ステップの処理の詳細については、図18を用いて説明する。
以上のように、本実施形態における主な処理は、各装置から必要な所定の情報を収集し、仮想論理ボリュームに格納するデータの最適な格納先を決定することである。
<情報取得処理の詳細>
図17は、情報取得処理(S1601)の詳細を説明するためのフローチャートである。ここでは、情報収集プログラム0811が情報を各装置から収集して、データを該当するテーブルに格納する処理が行われる。
(i)ステップS1701
情報収集プログラム0811は、ストレージ装置からリソースの情報を取得し、リソース性能テーブル0900に格納する。より具体的には、情報収集プログラム0811は、各装置から、各リソースの構成情報、各リソースの種類の情報、及び各リソースの性能値の情報を取得し、これらの情報をリソース性能テーブル0900に格納する。以下に、取得するリソースの種類とその格納の仕方について説明する。
(論理ボリューム)
情報収集プログラム0811は、情報取得対象のストレージ装置の識別情報を、論理ボリューム管理テーブル1000のストレージ装置ID1002に格納する。また、情報収集プログラム0811は、当該論理ボリュームを提供するRAIDグループの識別情報を、RAIDグループID1003に格納する。さらに、情報収集プログラム0811は、情報取得対象のストレージ装置における当該論理ボリュームの識別情報を、論理ボリュームID1001に格納する。
(ボリュームの公開情報)
情報収集プログラム0811は、情報取得対象のストレージ装置からホストや他のストレージ装置へ公開している論理ボリューム、又は仮想論理ボリュームの経路情報を収集し、パス管理テーブル1100に格納する。
まず、情報収集プログラム0811は、割当元1103と、割当先1104と、ターゲットID1105に、取得した経路情報が既に格納されているかを確認する。
次に、前述の確認で格納されている場合には、情報収集プログラム0811は、ストレージ装置ID1101とボリュームID1102に、情報を取得しているストレージ装置の識別情報とボリュームの識別情報を格納する。前述の確認で経路が格納されていなければ、情報収集プログラム0811は、新規のレコードとして、割当元1103と、割当先1104と、ターゲットID1105に、経路情報を格納する。
そして、情報収集プログラム0811は、追加したレコードに、ストレージ装置IDと、ボリュームIDの情報を格納する。
(ストレージプール)
情報収集プログラム0811は、ストレージプール0204を構成している論理ボリュームごとに、プール管理テーブル1200に情報を格納する。つまり、プールID1201と、ストレージ装置ID1202には、ストレージプールの識別情報とストレージ装置の識別情報が格納される。また、レコードID1206には、プール管理テーブル1200の各エントリを一意に識別するための情報が格納される。
より具体的には、ストレージプール0204を構成している論理ボリュームがストレージプール0204と同一のストレージ装置(コントローラストレージ装置)に存在する場合には、情報収集プログラム0811は、当該論理ボリュームの識別情報を論理ボリュームID1203に格納する。一方、ストレージプール0204を構成している論理ボリュームがストレージプール0204のあるストレージ装置以外のストレージ装置(外部接続ストレージ装置)から公開(アタッチ)されている論理ボリュームの場合には、情報収集プログラム0811は、当該論理ボリュームの公開経路をパス管理テーブル1100から検索する。
当該検索によって該当するレコード(公開経路)が検出できた場合には、情報収集プログラム0811は、プール管理テーブルID1106に、プール管理テーブルのレコードID1206に格納した情報を格納する。なお、取得する順番によって格納される順番も変わるので、情報が判明した順にそれぞれの欄には情報が格納されていく。
上記検索によって該当するレコード(公開経路)が検出できなかった場合には、情報収集プログラム0811は、公開されている論理ボリュームの経路を新規レコードとしてパス管理テーブル1100に追加する。つまり、情報収集プログラム0811は、当該公開されている論理ボリュームの、割当元1103と割当先1104とターゲットID1105を経路情報として格納する。そして、情報収集プログラム0811は、プール管理テーブルID1106に、プール管理テーブル1200のレコードID1206の欄に格納した情報を格納する。
(仮想論理ボリューム)
情報収集プログラム0811は、仮想論理ボリューム0205ごとに、仮想論理ボリューム0205が構成されているストレージプール0204の識別情報と、ストレージ装置の識別情報を仮想論理ボリューム管理テーブル1300に格納する。
(ii)繰り返し処理
情報収集プログラム0811は、ステップS1701の処理を計算機システム0100内にある全てのストレージ装置に対して繰り返す。
(iii)ステップS1702
ステップS1702は、ストレージプール0204に関連付けられる論理ボリュームが外部接続ストレージ装置0102にある場合に、プール管理テーブル1200に、外部接続ストレージ装置の識別情報と外部論理ボリュームの識別情報を格納するための処理である。
情報収集プログラム0811は、プール管理テーブル1200のエントリ(レコード)を先頭から確認する。論理ボリュームID1203に値が入っていないレコードがあった場合、情報収集プログラム0811は、当該レコードのレコードID1206と同値がパス管理テーブル1100のプール管理テーブルID1106に格納されているレコードを、プール管理テーブル1200から検索する。そして、情報収集プログラム0811は、当該検索で見つけたレコードのストレージ装置ID1101とボリュームID1102の値を、プール管理テーブル1200の外部ストレージ装置ID1204と外部論理ボリュームID1205に格納する。
(iv)ステップS1703
情報収集プログラム0811は、ホスト0107のSANポート0173のWWNを取得してポート管理テーブル1400に格納する。
(v)繰り返し処理
情報収集プログラム0811は、ステップS1103の処理を計算機システム0100内の全てのホスト0107に対して繰り返す。
<最適化処理の詳細>
図18は、最適化処理(S1602)の詳細を説明するためのフローチャートである。ここでは、配置先最適化プログラム0812が、仮想論理ボリューム0205のデータをどの論理ボリューム上に配置するとリソースの利用効率が高くなるかを評価し、格納場所をストレージ装置に設定する。以下、まず評価概要及び原理について説明し、次いで具体的な評価処理を示すそれぞれのステップについて説明する。
(i)評価概要及び原理
配置先最適化プログラム0812は、ステップS1601で計算機システム0100内の各装置から取得した情報に基づいて、仮想論理ボリューム0205へのI/O特性(ランダムアクセスとシーケンシャルアクセスの比率、及び/又はリード要求とライト要求の比率)から、どの種類のハードウェアを使用するとレスポンスが良くなるかを判定する。
次に、配置先最適化プログラム0812は、前述の判定によって認識したハードウェアが計算機システム環境内で使用できる、又は多く使用できるストレージ装置を特定する。最後に、そのストレージ装置にデータが格納されるようにコントローラストレージ装置0101を制御する。
より具体的には、利用効率を評価する際には、仮想論理ボリューム0205へのボリュームのI/O特性として、例えば、ランダムアクセスとシーケンシャルアクセスの比率を使用する。I/O特性によるハードウェアの評価方法は、ランダムアクセスの場合にはドライブの種別が良いとレスポンスが良くなりやすい、また、シーケンシャルアクセスの場合には使用するキャッシュ容量(残容量)が多いとレスポンスが良くなりやすいという認識に基づいている。そして、仮想論理ボリューム0205へのランダムアクセス比率が高い場合にはドライブ種別の良い(及びドライブのBusy Rateが低い)論理ボリュームの評価が高くなるようにする。反対にシーケンシャルアクセス比率が高い場合には使用していないキャッシュの容量が多い論理ボリュームの評価が高くなるようにする。
このように、論理ボリュームに対するI/O特性に応じて外部接続ストレージ装置選択時に重視すべきストレージ装置の情報が異なるため、ストレージ装置の評価値と論理ボリュームのI/O特性(すなわち評価値)を組み合わせて評価する。さらに具体的な評価の組み合わせ方法としては、ストレージ装置全体に影響するハードウェア(CPU、キャッシュ)の情報、論理ボリュームにのみ影響するハードウェア(RAIDグループ、Drive)の情報に分けて評価し、それぞれストレージの評価値と論理ボリュームの評価値とする。
本実施形態においては、ストレージ装置の評価値が高い論理ボリュームの中から、論理ボリュームの評価値が高いものを選ぶことにより、最適な配置先としての論理ボリュームを決定している。なお、2つの評価値の組み合わせ方の上記以外の方法としては、ストレージ装置の評価値と論理ボリュームの評価値の和に重み付けする方法や、それらの積を取る方法もある。つまり、例えば、複数のストレージ装置にデータを分散する場合には、ストレージ装置の障害によって影響を受ける可能性が高まる。このため、同一ホストのデータをできるだけ単一のストレージ装置内に格納するような場合がある。この場合においては、ストレージ装置の評価値が高いものを選択し、その中で論理ボリュームを選択する評価方法を取る。また、計算機システムを最も効率よく利用することを重視し、ホストのデータが計算機システム内で分散されてもかまわない場合には、ストレージ装置の評価値と論理ボリュームの評価値を重み付けしながら和を取る方法や、それぞれの積を取る方法を選択する。この場合においても、同一ホストのデータをどの程度のストレージ装置に分散していいかの情報を基に、ストレージ装置と論理ボリュームの評価値に対する重み付けを変えて運用する。
以下、フローチャートの各ステップを用いて、具体的な評価処理について説明する。
(ii)ステップS1801
ステップS1801において、配置先最適化プログラム0812は、仮想論理ボリューム0205のデータ格納先として論理ボリュームを評価する際にどのように評価するか、下記(式1)及び(式2)におけるパラメータa及びbを決定する。つまり、評価すべき仮想論理ボリュームを特定し、それがどのようなアクセスパターンでアクセスされているかの情報やCPUのスペック等の情報を取得し、パラメータが決定される。
例えば、ストレージ装置とボリュームの評価値を以下のように決定する。
ストレージの評価値= a*(CPUスペック)*(100-(CPU Busy Rate))
+b*(Cacheサイズ)*(100-(Cache Hit Rate)) ・・・(式1)
論理ボリュームの評価値= (RAIDグループのドライブ種別)
*(100-(Drive Busy Rate)) ・・・(式2)
ここで、a及びbは、それぞれCPUとキャッシュの重視比率を表し、仮想ボリュームへのI/Oのランダムアクセスとシーケンシャルアクセスの比率と同率とする。また、CPUスペックは、計算機システム0100内でCPUスペックが最も高いものを1に、最も低いものを0にスケールし直した値である。Cacheサイズは、計算機システム0100内でCacheサイズが最も大きいものを1に、最も低いものを0にスケールし直した値である。RAIDグループのドライブ種別は、ドライブ種別のスペックが高いものを1として、以降ドライブ種別のスペックが1段階下がるごとに、計算機システム内のドライブ種別数で1を割った値を差し引いて、算出した値である。
なお、I/O特性として、リードとライトの比率(Read/write特性)で評価値を演算、或いは、ランダムアクセスとシーケンシャルアクセスの比率に追加してリードとライトの比率を加味して評価値を演算するようにしても良い。例えば、ランダムアクセスの場合ではリード時にはキャッシュの残容量重視される傾向にある(ケース1)。また、シーケンシャルアクセスの場合、リード時にはキャッシュの残容量はほとんど重視されない(ケース2)。そして、一般に、ライトの要求が多い場合には、キャッシュ残容量が多くてもレスポンスには影響しないが、例えば、キャッシュに一旦書き込んでからディスク装置に最終的に書き込むこともあるためキャッシュの残容量がI/O要求に対するレスポンスに影響する場合がある(ケース3)。ケース2及び3ではキャッシュの残容量が影響する場合もあるが、一般論としてパラメータa及びbの決定ルールを確定することは難しく、イベント毎に重視するかしないか異なってくる。ケース1の場合には、ランダムアクセスとシーケンシャルアクセスの比率のみでパラメータを決定する場合よりも、パラメータbの値を下げ、パラメータaを重視するようにする。例えば、ランダムアクセス/シーケンシャルアクセス=40%/60%の場合、リード/ライト=100%/0%であれば、a=40(%)、b=0(%)とする。また、同じ場合で、リード/ライト=50%/50%であれば、a=20(%)、b=30(%)とする。
(式1)及び(式2)の様な単純な線形関数以外にも、CPUのBusy Rateがある閾値以上になった場合にストレージ装置の評価値を0とするといった方法や、ユーザが定義するというような評価関数を使用することもできる。また、評価関数に使用する性能値もボリュームを公開しているポートの負荷状態を使用することもできる。
そして、仮想論理ボリュームのデータを格納する先としての論理ボリュームの総合的な評価方法としては、前述のストレージ装置の評価値が高い装置の中で、論理ボリュームの評価の高い論理ボリュームとする。
これ以外の論理ボリュームの総合評価の方法として、ストレージ装置の評価と論理ボリュームの評価の和や積を取り、ストレージ装置に関係なく計算機システム内から選択するような方法もある。また、リソース性能テーブル0900に過去の性能値に関する情報が含まれるように当該テーブルを構成した場合には、当該過去の性能値の情報を重み付けしてストレージ装置の評価、及び論理ボリュームの評価の演算に反映させる方法もある。
(iii)ステップS1802
ステップS1802において、配置先最適化プログラム0812は、ステップS1801で決定した評価方法に従って(決定したパラメータを用いて)、各論理ボリュームを評価し、評価値を仮想論理ボリューム管理テーブル1300に格納する。そして、配置先最適化プログラム0812は、評価した論理ボリュームと、当該論理ボリュームが格納されているストレージ装置(格納先ストレージ装置)を識別する情報を、論理ボリュームID1306と格納先ストレージ装置ID1304に格納する。また、配置先最適化プログラム0812は、ストレージ装置の評価値と論理ボリュームの評価値を、それぞれ評価値1305とボリューム評価値1307に格納する。
このステップS1802の処理は、仮想論理ボリュームを提供するストレージプール0204を構成する論理ボリュームごとに繰り返し実行される。処理対象となるストレージプール0204を構成する論理ボリュームは、プール管理テーブル1200のプールID1201に当該ストレージプール0204の識別情報が格納されている、ストレージ装置ID1202及び論理ボリュームID1403、或いは、外部ストレージ装置ID1204及び外部論理ボリュームID1205から、特定することが可能である。
(iv)ステップ1803
ステップS1803において、配置先最適化プログラム0812は、仮想論理ボリューム0205のページの割当先として使用する論理グループの優先度を決定し、コントローラストレージ装置0101に設定する。本実施形態では、評価値が高いストレージ装置に含まれる論理ボリュームのうち、論理ボリュームの評価値が高い順に使用するように設定される。
そして、配置先最適化プログラム0812は、ステップS1801乃至S1803までの処理を、仮想論理ボリューム管理テーブル1300で管理されている仮想論理ボリュームについて、繰り返し実行する。
(v)最適化処理後
コントローラストレージ装置0101は、仮想論理ボリューム拡張ポリシー指定機能を使い、ステップS1803に従って決定された評価値の高い論理ボリュームに、仮想論理ボリューム0205のページを割り当てる。
また、論理記憶領域に格納されているデータを別の論理記憶領域に移動する機能(マイグレーション機能)を持つ場合、コントローラストレージ装置0101のストレージ制御プログラム0114は、当該マイグレーション機能を用いて仮想論理ボリューム0205のページ0206を格納している論理ボリュームから、ステップS1203で指定した論理ボリュームの記憶領域に移動させることもできる。また、マイグレーション機能を使い仮想論理ボリューム0205のデータを、コントローラストレージ装置0101の論理ボリューム、または、外部接続ストレージ装置0102がコントローラストレージ装置0101に割り当てている論理ボリュームにデータを移動させることもできる。
<配置先表示GUI>
図19は、配置先情報入出力プログラム0813が生成する、最適化処理後の配置先表示GUI画面の構成例を示す図である。当該GUI画面1900は、仮想論理ボリュームの状態を表示しており、これにより管理者(ユーザ)は設定変更を指示することができる。
具体的には、配置先情報入出力プログラム0813は、まず仮想論理ボリュームを使用しているホスト0107の情報と、I/O特性(アクセス特性ともいう:ランダムアクセスとシーケンシャルアクセスの比率、Read/Write比率)の情報を画面上に表示する。このとき、管理者は、Editボタンを押下すると、配置先情報入出力プログラム0813が保持しているアクセス特性を変更できるようになっている。
次に、GUI画面1900には、ステップS1803で設定された各仮想論理ボリュームのデータの格納先定義(ストレージ装置、ボリューム)が表示されている。この格納先定義の情報についても、管理者がEditボタンを押下すると編集可能となり、適宜設定を変更できるようになっている。現在の格納先ボリュームは、仮想論理ボリュームが現在格納されているボリュームを示している。また、優先割当先ボリュームは、評価の結果、対応する仮想論理ボリュームが優先的に割り当てられるべきボリュームを示している。ここでは、仮想論理ボリュームV1は格納すべきボリュームと現在格納されているボリュームが一致している。一方、仮想論理ボリュームV2については、全てのデータが優先割当先ボリュームに格納されるべきところ、現在では、別のボリュームにも格納されている。このように、現在のボリュームと評価の結果(優先割当先ボリューム)が異なる場合には、自動的にデータをマイグレーションしても良いし、管理者(ユーザ)がマイグレーションを指示できるようにしても良い。マイグレーション処理を実行するには負荷が掛かるため、頻繁に実行するのは好ましくなく、管理者の指示があった場合のみ実行する方が効率が良い場合があるからである。
また、GUI画面1900は、ドロップダウンメニューで選択されているプールの詳細情報として、プールを構成している論理ボリューム、又は、論理ボリュームが属するストレージ装置の性能情報を表示している。
管理者は、当該GUI画面1900を使って、少なくとも次の3つのことができる。
(i)情報の確認
管理者は、仮想論理ボリュームの性能情報と構成情報とを確認することができる。これにより、管理者(ユーザ)は、仮想論理ボリュームのアクセス特性の情報と、仮想論理ボリュームのデータの格納先定義と、仮想論理ボリュームの属すプールの性能情報を一度に把握することができる。
(ii)アクセス特性の設定
管理者は、このGUI画面1900を用いて、配置先情報入出力プログラム0813が保持しているアクセス特性を設定・変更することができる。これにより、ホスト0107にボリュームを割り当てた直後や、ホスト0107上で新規のアプリケーションを運用するためアクセス特性が変わったりする場合に、管理者(ユーザ)は、管理者が知るアクセス特性を事前に入力することによって、運用開始前にステップS1602を用いて仮想論理ボリュームのアクセス特性に適したページをボリュームに割り当てるように指定できる。
(iii)格納先設定
管理者は、このGUI画面1900を用いて、格納先定義情報を設定できる。これにより、管理者が仮想論理ボリュームのデータの格納先を特定のストレージに指定したり、ステップS1602の結果を一部変更したりできる。
(2)第2の実施形態
第1の実施形態におけるコントローラストレージ装置0101の代わりに、複数の外部接続ストレージ装置にまたがる記憶領域を管理するための仮想技術を提供するスイッチやアプリケーションサーバを利用することもできる。
この場合には、仮想化技術を提供するスイッチやアプリケーションサーバをコントローラストレージ装置0101と同様にSAN0145と、LAN0106に接続する。
そして、仮想化技術を提供するスイッチやアプリケーションサーバには、ストレージ制御プログラム0114と同様の機能を持たせることが必要である。ただし、ストレージ制御プログラム0114が有する論理記憶領域構成機能については、RAIDグループ0201と論理ボリューム0202を構築する機能を保持しない。その意味において、第2の実施形態では、ストレージ制御プログラムは、仮想マシン制御プログラムとなっている。
第2の実施形態では、複数の外部接続ストレージ装置0102にまたがる記憶領域を集中管理するための仮想技術として、サーバ上の仮想マシンソフトウェア(ハイパバイザ)を利用する。当該仮想マシンソフトウェアは、複数のストレージ装置から割り当てられたボリューム上に、仮想マシンを構築する機能を有する。なお、第2の実施形態は、第1の実施形態の変形例であるため、その構成や動作の全てについての説明に替えて、第1の実施形態をベースにした読み替える部分を示すこととする。
<計算機システムの構成>
図20は、第2の実施形態による計算機システム0200の概略構成を示す図である。計算機システム0200は、サーバ2001と、少なくとも1つの外部接続ストレージ装置0102と、管理サーバ0103と、SAN(Storage Area Network)スイッチ0104と、を有している。そして、サーバ2001と外部接続ストレージ装置0102はSAN0145によって接続されている。また、サーバ2001と、ストレージ装置0102と、管理サーバはLAN(Local Area Network)0106によって接続されている。
サーバ2001はSANポート2015を有し、SANポート2015によってSAN0105に接続されている。また、サーバ2001はLANポート2016を有し、LANポート2016によってLAN0106に接続されている。
サーバ2001は、CPU2011と、メモリ2012と、補助記憶装置2013とを有している。
CPU2011は、メモリ2012に格納されている仮想マシン制御プログラム2014を実行することによって、各種処理を行う。また、メモリ2012は、CPU2011が仮想マシン制御プログラム2014を実行する際に必要な情報を格納している。
補助記憶装置2013は、後述するように仮想マシン制御プログラム2014によって記憶領域として扱われる。補助記憶装置2013は、図中では1つで構成されているが、1つに限らず複数の補助記憶装置から構成されていてもよい。補助記憶装置2013は、例えばFC(Fibre Channel)ディスク、SSD(Solid State Drive)等がある。
仮想マシン制御プログラム2014の機能については後述する。
なお、外部接続装置0102、管理サーバ0103、及びSANスイッチ0104の構成は、第1の実施形態で説明した通りであり、ここでは説明は省略する。
<仮想マシン制御プログラム>
仮想マシン制御プログラム2014の詳細は図2を読み替えることによって示すことができる。以下、読み替えについて述べる。
第2の実施形態に適応させるために、図2及びその説明において、コントローラストレージ装置0101は、サーバ2001と読み替える。メモリ0112は、メモリ2012と読み替える。補助記憶装置0113は、補助記憶装置2013と読み替える。また、ストレージ制御プログラム0114は、仮想マシン制御プログラム2014と読み替える。そして、仮想論理ボリューム0205は、仮想マシン記憶領域と読み替える。また、ストレージプール0204は、仮想マシンソフトウェアと読み替える。仮想論理ボリューム0205は、仮想マシン(VM)と読み替える。
仮想マシン制御プログラム2014は、第1の実施形態におけるストレージ制御プログラム0114とほぼ同様の機能を有している。より具体的には、仮想マシン制御プログラム2014は、論理記憶領域構成機能、仮想論理ボリューム拡張機能(ボリュームを割り当てた装置からのI/O命令に応じて仮想マシンに対してページ0206を割り当てる機能)、仮想論理ボリューム拡張ポリシー指定機能(仮想マシン記憶領域拡張時に割り当てるページ候補を事前に指定する機能)、及び性能情報収集機能を有する。ただし、仮想マシン制御プログラム2014は、論理ボリューム割り当て機能を有していない。
<管理サーバの論理構成>
管理サーバ0103の論理構成は、第1の実施形態と同様に、図8で示される。よって、説明は省略する。
<リソース性能テーブル、論理ボリューム管理テーブル、パス管理テーブル、プール管理テーブル>
リソース性能テーブル0900、論理ボリューム管理テーブル1000、パス管理テーブル1100、及びプール管理テーブル1200の構成例は、第1の実施形態と同様に、図10乃至12で示される。よって、説明は省略する。ただし、図10乃至12において、コントローラストレージ装置0101は、サーバ2001と読み替えるものとする。
<仮想マシン記憶領域管理テーブル>
仮想マシン記憶領域管理テーブルは、各仮想マシンを記憶する領域を管理するための情報を格納するが、その構成例については、仮想論理ボリューム管理テーブル1300によって表すことができる。ただし、図13において、ストレージA(コントローラストレージ装置0101)は、サーバ2001に読み替える。また、仮想論理ボリュームは、仮想マシン記憶領域に読み替える。さらに、格納先ストレージ装置ID1304には、論理ボリュームを提供している外部接続ストレージ装置0102の識別情報、或いはサーバ2001の識別情報が格納される。
<計算機システムの全体処理の概要>
図16及びその説明において、仮想論理ボリュームは仮想マシン記憶領域に読み替える。また、コントローラストレージ装置0101はサーバ2001に読み替える。
<情報取得処理の詳細>
図17において、ステップS1701の処理は、外部接続ストレージ装置0102及びサーバ2001ごとに繰り返し実行される。また、上述同様、仮想論理ボリュームは仮想マシン記憶領域と読み替える。
<最適化処理の詳細>
図18及びその説明において、コントローラストレージ装置0101は、サーバ2001に読み替える。ストレージ制御プログラム0114は、仮想マシン制御プログラム2014に読み替える。また、仮想論理ボリュームは、仮想マシン記憶領域に読み替える。そして、仮想マシン記憶領域管理テーブルのストレージ装置ID1303には、サーバ2001を識別する情報が格納される。
<GUI画面の構成>
図19において、仮想論理ボリュームを仮想マシン記憶領域に読み替えれば良い。
<変形例>
第2の実施形態の拡充案として、複数の外部接続ストレージ装置から割り当てられたボリュームにまたがって仮想化的に論理ボリュームを構成することができる論理ボリューム管理プログラムを利用することもできる。
また、複数のボリュームにまたがってファイルシステムを構成できるファイルシステムも利用することもできる。
このような論理ボリューム管理プログラムやファイルシステムは、上述の仮想マシン制御プログラムと同等の機能を持つものとする。また、この場合、論理ボリューム管理プログラムは、仮想マシンソフトウェアと同様の機能を持つものとする。
以上ようにすることにより、サーバ2001の仮想マシンをファイルシステムとして提供することが可能となる。
(3)まとめ
本実施形態において、管理システム(管理サーバ)は、情報処理装置(例えば、コントローラストレージ装置や仮想サーバを提供するサーバ装置に相当)の仮想レイヤ(情報処理装置がコントローラストレージ装置の場合はストレージプール、情報処理装置がサーバ装置の場合は仮想マシンソフトウェア(ハイパバイザ)に相当)上で管理される仮想インスタンス(情報処理装置がコントローラストレージ装置の場合は仮想論理ボリューム、情報処理装置がサーバ装置の場合は仮想サーバに相当)に割り当てられる論理ボリュームの構成情報や外部接続のストレージ装置に含まれるハードウェアリソースの稼働情報を管理している。そして、管理システムは、論理ボリュームの構成情報及びハードウェアリソースの稼働情報に基づいて、仮想インスタンスの利用効率に関する評価(演算)を行い、評価結果を出力する。このようにすることにより、管理者は、現在動作している仮想インスタンスの利用効率が良いか否か判断することができ、効率が悪い場合には対策を講じることができるようになる。
また、管理システムは、仮想インスタンスに対するアクセス特性を示すアクセス特性情報(I/O特性)を考慮して、仮想インスタンスの利用効率の評価を行う。このように、I/O特性が示すアクセスパターンを考慮して、仮想インスタンスの利用効率を評価する。従って、単に外部接続ストレージ装置のRAIDグループに対する負荷のみを考慮するのではなく、特定のアクセス方法によってアクセスされる場合の外部接続ストレージ装置における負荷(キャッシュ残容量やプロセッサの負荷)に従って、利用効率を評価する。このようにすることにより、利用効率を正確に評価することができるようになる。
なお、より具体的には、ストレージサブシステムのI/O要求に対するレスポンス性、及び仮想インスタンスが関連付けられている論理ボリュームにおける負荷を評価することにより、仮想インスタンスの利用効率を評価する。また、アクセス特性情報(アクセス傾向)に従って、評価の演算におけるストレージサブシステムが有するハードウェアリソースの重要度(重み付け係数)を決定し、アクセス特性におけるストレージサブシステムのレスポンス性を評価する。さらに、論理ボリュームを提供するストレージサブシステムのディスクドライブの負荷を評価する。
また、管理システムは、評価結果として、仮想インスタンスに関連付けられるべき最適の論理ボリュームを出力(例えば、GUI)する。このようにすることにより、仮想インスタンスが関連付けられている論理ボリュームが最適なものであるか確認することができる。そして、管理システムは、評価結果として出力された最適の論理ボリュームが、仮想インスタンスに割り当てられている現在の論理ボリュームと異なる場合に、自動的に、或いは入力される指示に応答して、データマイグレーションを実行して割当先の論理ボリュームを変更するようにしても良い。このようにすることにより、仮想インスタンスは最適な論理ボリュームを使用することができるようになる。
上述したように、情報処理装置としてコントローラストレージ装置を用いることができる。この場合、計算機システムにおける各種ハードウェアの性能の上限値、及び、現在の値を収集する。そして、システム上の各種ハードウェアの負荷状態を把握し、評価演算を実行することにより、計算機システム上からデータの格納先(外部接続ストレージ装置の論理ボリューム)として最適な場所を決定して、当該最適な格納場所を評価結果として出力する。そして、必要に応じて、最適な場所をコントローラストレージ装置に設定してデータの格納場所を制御する。上述したように、データの格納場所を決定する際には、過去のI/O特性やユーザが定義した特性(ユーザによるアクセス特性の設定)を基に選定する。このように、計算機システム内の複数の外部接続ストレージ装置のハードウェアの性能情報を実際に取得して、各種ハードウェアの性能にどの程度余裕があるかを参照するため、ハードウェアの性能が上限に達するのを抑えながら、計算機システム内からデータを配置するのに適切な格納先を判定できる。また、過去の運用状態やユーザの入力情報を基に、データが必要とするハードウェア特性にあわせて格納場所を選ぶこともできるため、よりデータに最適な格納先を計算機システム内から選択できる。
本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
加えて、本技術分野の通常の知識を有する者には、本発明のその他の実装がここに開示された本発明の明細書及び実施形態の考察から明らかになる。記述された実施形態の多様な態様及び/又はコンポーネントは、データを管理する機能を有するコンピュータ化ストレージシステムに於いて、単独又は如何なる組み合わせでも使用することが出来る。明細書と具体例は典型的なものに過ぎず、本発明の範囲と精神は後続する請求範囲で示される。
0100・・・計算機システム
0101・・・コントローラストレージ装置
0102・・・外部接続ストレージ装置
0103・・・管理サーバ
0104・・・SANスイッチ
0106・・・LAN
0107・・・ホスト
0111、0121、0131、0171、2011・・・CPU
0112、0122、0172、0132、2012・・・メモリ
0113、0123、0133、0175、2013・・・補助記憶装置
0114、0124・・・ストレージ制御プログラム
0134、0801・・・配置先管理プログラム
0201・・・RAIDグループ
0202、0203・・・論理ボリューム
0204・・・ストレージプール
0205・・・仮想論理ボリューム
0206・・・ページ
0300・・・RAIDグループ管理テーブル
0400・・・ボリューム管理テーブル
0500・・・ストレージプール構成テーブル
0600・・・ページ構成テーブル
0700・・・性能情報テーブル
0811・・・情報収集プログラム
0812・・・配置先最適化プログラム
0813・・・配置先情報入出力プログラム
0900・・・リソース性能テーブル
1000・・・論理ボリューム管理テーブル
1100・・・パス管理テーブル
1200・・・プール管理テーブル
1300・・・仮想論理ボリューム管理テーブル
1400・・・ポート管理テーブル
1900・・・GUI画面
2001・・・サーバ
2014・・・仮想マシン制御プログラム

Claims (6)

  1. ホスト計算機と、
    前記ホスト計算機に仮想ボリュームを提供する第1のストレージサブシステムと、
    前記第1のストレージサブシステムに論理ボリュームを提供する、少なくとも1つの第2のストレージサブシステムと、
    前記第1及び第2のストレージサブシステムと接続され、前記第1及び第2のストレージサブシステムを管理する管理システムを有し、
    前記第1のストレージサブシステムは、前記第2のストレージサブシステムから提供される前記論理ボリュームから前記仮想ボリュームのプールを構成し、
    前記管理システムは、
    前記第1のストレージサブシステムから、前記仮想ボリュームに対するアクセス特性と、前記仮想ボリュームと前記第2のストレージサブシステムの論理ボリュームとの割り当ての対応関係を示すマッピング情報と、を取得し、
    前記第2のストレージサブシステムから、前記論理ボリュームとRAIDグループとの対応関係を示す情報と、前記第2のストレージサブシステムに含まれるキャッシュの容量と当該キャッシュの性能を含む前記第2のストレージサブシステムのハードウェアリソースの性能情報と、を取得し、
    前記アクセス特性と、前記マッピング情報と、前記論理ボリュームと前記RAIDグループとの対応関係を示す情報と、前記ハードウェアリソースの性能情報と、に基づいて、前記仮想ボリュームへの前記論理ボリュームの割り当てを決定し、当該決定した割り当ての情報を前記第1のストレージサブシステムに指示し、
    前記第1のストレージサブシステムは、前記管理システムからの前記指示の内容に基づいて、前記仮想ボリュームへの前記論理ボリュームの割り当てを変更する、
    ことを特徴とする計算機システム。
  2. 請求項1において、
    前記管理システムは、前記第2のストレージサブシステムのキャッシュ利用率と、前記仮想ボリュームに対するシーケンシャルアクセスとランダムアクセスとの割合を示すアクセス比と、をさらに考慮して、前記仮想ボリュームへの前記論理ボリュームの割り当てを決定する、
    ことを特徴とする計算機システム。
  3. 請求項2において、
    前記シーケンシャルアクセスの割合が前記ランダムアクセスの割合よりも高い場合、前記管理システムは、前記第2のストレージサブシステムにおいて前記キャッシュ利用率が高い前記論理ボリュームを前記仮想ボリュームに割り当てるようにし、
    前記シーケンシャルアクセスの割合が前記ランダムアクセスの割合よりも低い場合、前記管理システムは、前記第2のストレージサブシステムにおいて前記キャッシュ利用率が低い前記論理ボリュームを前記仮想ボリュームに割り当てるようにする、
    ことを特徴とする計算機システム。
  4. ホスト計算機に仮想ボリュームを提供する第1のストレージサブシステムと、当該第1のストレージサブシステムに論理ボリュームを提供する、少なくとも1つの第2のストレージサブシステムとに接続され、前記第1及び第2のストレージサブシステムを管理する管理システムであって、
    前記第1のストレージサブシステムは、前記第2のストレージサブシステムから提供される前記論理ボリュームから前記仮想ボリュームのプールを構成しており、
    前記管理システムのプロセッサは、
    前記第1のストレージサブシステムから、前記仮想ボリュームに対するアクセス特性と、前記仮想ボリュームと前記第2のストレージサブシステムの論理ボリュームとの割り当ての対応関係を示すマッピング情報と、を取得し、
    前記第2のストレージサブシステムから、前記論理ボリュームとRAIDグループとの対応関係を示す情報と、前記第2のストレージサブシステムに含まれるキャッシュの容量と当該キャッシュの性能を含む前記第2のストレージサブシステムのハードウェアリソースの性能情報と、を取得し、
    前記アクセス特性と、前記マッピング情報と、前記論理ボリュームと前記RAIDグループとの対応関係を示す情報と、前記ハードウェアリソースの性能情報と、に基づいて、前記仮想ボリュームへの前記論理ボリュームの割り当てを決定し、当該決定した割り当ての情報を前記第1のストレージサブシステムに指示し、
    前記第1のストレージサブシステムは、前記管理システムからの前記指示の内容に基づいて、前記仮想ボリュームへの前記論理ボリュームの割り当てを変更する、
    ことを特徴とする管理システム。
  5. 請求項4において、
    前記プロセッサは、前記第2のストレージサブシステムのキャッシュ利用率と、前記仮想ボリュームに対するシーケンシャルアクセスとランダムアクセスとの割合を示すアクセス比と、をさらに考慮して、前記仮想ボリュームへの前記論理ボリュームの割り当てを決定する、
    ことを特徴とする管理システム。
  6. 請求項において、
    前記シーケンシャルアクセスの割合が前記ランダムアクセスの割合よりも高い場合、前記プロセッサは、前記第2のストレージサブシステムにおいて前記キャッシュ利用率が高い前記論理ボリュームを前記仮想ボリュームに割り当てるようにし、
    前記シーケンシャルアクセスの割合が前記ランダムアクセスの割合よりも低い場合、前記プロセッサは、前記第2のストレージサブシステムにおいて前記キャッシュ利用率が低い前記論理ボリュームを前記仮想ボリュームに割り当てるようにする、
    ことを特徴とする管理システム。
JP2013509688A 2011-04-12 2011-04-12 計算機システム及び管理システム Expired - Fee Related JP5661921B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/059064 WO2012140730A1 (ja) 2011-04-12 2011-04-12 管理システム、それを有する計算機システム、及び管理方法

Publications (2)

Publication Number Publication Date
JPWO2012140730A1 JPWO2012140730A1 (ja) 2014-07-28
JP5661921B2 true JP5661921B2 (ja) 2015-01-28

Family

ID=47007383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013509688A Expired - Fee Related JP5661921B2 (ja) 2011-04-12 2011-04-12 計算機システム及び管理システム

Country Status (3)

Country Link
US (1) US8863139B2 (ja)
JP (1) JP5661921B2 (ja)
WO (1) WO2012140730A1 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5821392B2 (ja) * 2011-08-12 2015-11-24 富士通株式会社 ストレージ装置、およびストレージ管理方法
WO2014064756A1 (ja) * 2012-10-22 2014-05-01 株式会社日立製作所 ストレージプールから実記憶領域を仮想ボリュームへ割り当てる方法及び計算機システム
US9274817B1 (en) * 2012-12-31 2016-03-01 Emc Corporation Storage quality-of-service control in distributed virtual infrastructure
US9325791B1 (en) * 2013-03-12 2016-04-26 Western Digital Technologies, Inc. Cloud storage brokering service
WO2015022908A1 (ja) * 2013-08-12 2015-02-19 日本電気株式会社 ストレージ提供システム、ストレージ選択装置、ストレージ提供方法及びプログラム
US9195401B2 (en) 2014-02-18 2015-11-24 University Of Florida Research Foundation, Inc. Method and apparatus for virtual machine live storage migration in heterogeneous storage environment
JP6244972B2 (ja) * 2014-02-21 2017-12-13 富士通株式会社 ストレージ制御装置、ストレージ装置及びストレージ制御プログラム
JP2015191534A (ja) * 2014-03-28 2015-11-02 富士通株式会社 サーバ装置、情報格納プログラム、及び情報格納方法
US9052938B1 (en) 2014-04-15 2015-06-09 Splunk Inc. Correlation and associated display of virtual machine data and storage performance data
JP6428231B2 (ja) * 2014-12-15 2018-11-28 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム
CN104598318B (zh) * 2014-12-30 2018-12-04 北京奇艺世纪科技有限公司 节点计算能力的汇报方法和计算节点
WO2016117019A1 (ja) * 2015-01-20 2016-07-28 株式会社日立製作所 ストレージシステム及び仮想ストレージ装置制御方法
US10778664B1 (en) * 2015-05-14 2020-09-15 Amazon Technologies, Inc. Software asset management of computer systems and virtual instances for reporting and optimization
US10599352B2 (en) * 2015-08-14 2020-03-24 Samsung Electronics Co., Ltd. Online flash resource allocation manager based on a TCO model
US9706391B2 (en) 2015-10-08 2017-07-11 At&T Intellectual Property I, L.P. Initiating signaling in mobile management entity pools using workflows
CN105354090B (zh) * 2015-10-16 2019-04-16 安一恒通(北京)科技有限公司 虚拟设备的管理方法和装置
JP6900687B2 (ja) * 2017-02-07 2021-07-07 日本電気株式会社 ディスク制御装置、ディスク制御方法、および、ディスク制御プログラム
US10719247B2 (en) * 2018-03-20 2020-07-21 Kabushiki Kaisha Toshiba Information processing device, information processing method, estimation device, estimation method, and computer program product
JP6877381B2 (ja) * 2018-03-20 2021-05-26 株式会社東芝 情報処理装置、情報処理方法およびプログラム
JP6800904B2 (ja) 2018-03-20 2020-12-16 株式会社東芝 モデル生成装置、情報処理装置、モデル生成方法およびプログラム
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
US11169726B2 (en) * 2018-09-13 2021-11-09 Toshiba Memory Corporation Pool-level storage management
US11500874B2 (en) * 2019-01-23 2022-11-15 Servicenow, Inc. Systems and methods for linking metric data to resources
WO2021126216A1 (en) 2019-12-19 2021-06-24 Google Llc Resource management unit for capturing operating system configuration states and offloading tasks
EP3857371A1 (en) 2019-12-19 2021-08-04 Google LLC Resource management unit for capturing operating system configuration states and memory management
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
US11733897B1 (en) 2021-02-25 2023-08-22 Pure Storage, Inc. Dynamic volume storage adjustment
US11520516B1 (en) 2021-02-25 2022-12-06 Pure Storage, Inc. Optimizing performance for synchronous workloads
US11726684B1 (en) 2021-02-26 2023-08-15 Pure Storage, Inc. Cluster rebalance using user defined rules
US12235807B2 (en) 2023-02-15 2025-02-25 Pure Storage, Inc. Backend storage system implementing multiple data management models

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206623A (ja) * 2002-12-26 2004-07-22 Fujitsu Ltd ストレージシステム及びその動的負荷管理方法
JP2007299256A (ja) * 2006-05-01 2007-11-15 Hitachi Ltd ストレージ資源管理システム、ストレージ資源管理方法および管理計算機
JP2009238114A (ja) * 2008-03-28 2009-10-15 Hitachi Ltd ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム
JP2010026919A (ja) * 2008-07-23 2010-02-04 Hitachi Ltd ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581724A (en) * 1992-10-19 1996-12-03 Storage Technology Corporation Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem
US6529995B1 (en) * 1999-06-18 2003-03-04 Storage Technology Corporation Method and apparatus for maintaining and restoring mapping table entries and data in a raid system
US20030061362A1 (en) * 2000-03-03 2003-03-27 Qiu Chaoxin C. Systems and methods for resource management in information storage environments
US20020194251A1 (en) * 2000-03-03 2002-12-19 Richter Roger K. Systems and methods for resource usage accounting in information management environments
JP4516306B2 (ja) * 2003-11-28 2010-08-04 株式会社日立製作所 ストレージネットワークの性能情報を収集する方法
JP4806556B2 (ja) * 2005-10-04 2011-11-02 株式会社日立製作所 ストレージシステム及び構成変更方法
JP2008234059A (ja) * 2007-03-16 2008-10-02 Fujitsu Ltd データ転送装置および情報処理システム
JP5134915B2 (ja) * 2007-11-02 2013-01-30 株式会社日立製作所 記憶領域の構成最適化方法、計算機システム及び管理計算機
JP2009223442A (ja) * 2008-03-13 2009-10-01 Hitachi Ltd ストレージシステム
JP4920658B2 (ja) * 2008-10-20 2012-04-18 株式会社日立製作所 電力推定方法及び計算機システム
JP2010170411A (ja) * 2009-01-23 2010-08-05 Hitachi Ltd 計算機システム、ストレージプール管理方法
US8782191B2 (en) * 2011-02-24 2014-07-15 Hitachi, Ltd. Computer system having representative management computer and management method for multiple target objects

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206623A (ja) * 2002-12-26 2004-07-22 Fujitsu Ltd ストレージシステム及びその動的負荷管理方法
JP2007299256A (ja) * 2006-05-01 2007-11-15 Hitachi Ltd ストレージ資源管理システム、ストレージ資源管理方法および管理計算機
JP2009238114A (ja) * 2008-03-28 2009-10-15 Hitachi Ltd ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム
JP2010026919A (ja) * 2008-07-23 2010-02-04 Hitachi Ltd ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置

Also Published As

Publication number Publication date
WO2012140730A1 (ja) 2012-10-18
US8863139B2 (en) 2014-10-14
US20120266177A1 (en) 2012-10-18
JPWO2012140730A1 (ja) 2014-07-28

Similar Documents

Publication Publication Date Title
JP5661921B2 (ja) 計算機システム及び管理システム
JP4235220B2 (ja) 計算機システムおよびデータ移行方法
JP5893016B2 (ja) ストレージ管理サーバ、計算機システム、及びストレージ管理方法
US9052823B2 (en) Storage system and data management method with application specific storage tiers
JP4814119B2 (ja) 計算機システム、ストレージ管理サーバ、及びデータ移行方法
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
JP5363595B2 (ja) 仮想ボリューム内のデータの再配置を行うストレージシステム及び方法
US9274723B2 (en) Storage apparatus and its control method
JP5668151B2 (ja) 計算機システムの管理装置及び管理方法
JP5986319B2 (ja) ストレージ管理システム
WO2012104912A1 (en) Data storage apparatus and data management method
JP4690765B2 (ja) ストレージ管理システム、ストレージ管理サーバ、データ再配置制御方法およびデータ再配置制御プログラム
US20150081964A1 (en) Management apparatus and management method of computing system
US20120166748A1 (en) Storage system, management method of the storage system, and program
US20130036266A1 (en) First storage control apparatus and storage system management method
EP2811411A1 (en) Computer and method for controlling arrangement of data in hierarchical pool owned by storage device
JP2015520876A (ja) 情報記憶システム及び情報記憶システムの制御方法
US20150378848A1 (en) Management computer and managment method of computer system
JPWO2013046331A1 (ja) 計算機システム、及び情報管理方法
JP2011070345A (ja) 計算機システム、計算機システムの管理装置、計算機システムの管理方法
WO2014155555A1 (ja) 管理システム及び管理プログラム
JPWO2015198441A1 (ja) 計算機システム、管理計算機、および管理方法
JP2016118821A (ja) ストレージ管理装置、ストレージ管理方法およびストレージ管理プログラム
JP5341259B2 (ja) マイグレーション先の決定を支援する方法及び管理システム
WO2013111331A1 (ja) 計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140728

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141203

R151 Written notification of patent or utility model registration

Ref document number: 5661921

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees