以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態による計算機システムの構成
図1において、100は全体として本実施の形態による計算機システムを示す。この計算機システムは、SAN(Storage Area Network)環境において業務に関する処理を行う業務システム部と、業務システムを管理する業務管理システム部と、SAN環境のストレージを管理するストレージ管理システム部を備えて構成される。
業務システム部は、ハードウェアとして、1又は複数のアプリケーション(AP:Application)クライアント102と、LAN(Local Area Network)106と、1又は複数のホストサーバ113と、1又は複数のSANスイッチ141と、1又は複数のストレージ装置144とを備え、ソフトウェアとして、それぞれホストサーバに実装されたアプリケーション122、ファイル管理システム124及びボリューム管理ソフトウェア125を備える。
アプリケーションクライアント102は、業務システム部のユーザインタフェース機能を提供するパーソナルコンピュータ、ワークステーション又はシンクライアント端末等の装置から構成される。アプリケーションクライアント102は、LAN106を経由してホストサーバ113のアプリケーション122等と通信する。
ホストサーバ113は、CPU(Central Processing Unit)115、メモリ116、ハードディスク装置117、ネットワークインタフェースカード(NIC:Network Interface Card)114及びホストバスアダプタ118を備える。
CPU115は、ハードディスク装置117に格納された種々のソフトウェアプログラムをメモリ116に読み込んで実行するプロセッサである。以下の説明においてメモリ116に読み込まれたソフトウェアプログラムが実行する処理は、実際にはそれらのソフトウェアプログラムを実行するCPU115によって実行される。
メモリ116は、例えばDRAM(Dynamic Random Access Memory)のような半導体メモリから構成される。メモリ116には、ハードディスク装置117から読み込まれCPU151によって実行されるソフトウェアプログラム及びCPU115によって参照されるデータ等が格納される。具体的には、少なくともアプリケーション実行管理エージェント120、ファイルシステム移動実行部121、アプリケーション122、アプリケーション監視エージェント123、ファイル管理システム124、ボリューム管理ソフトウェア125、及びホスト監視エージェント126等のソフトウェアプログラムがメモリ116に格納される。
ハードディスク装置は、各種ソフトウェアやデータ等を格納するために用いられる。なお、ハードディスク装置117に代えて、例えばフラッシュメモリのような半導体メモリや光ディスク装置等を用いるようにしてもよい。
NIC114は、ホストサーバ113がLAN106を経由してアプリケーションクライアント102、ストレージ管理サーバ127及びアプリケーション実行管理サーバ107と通信するために使用される。
ホストバスアダプタ118は、ホストサーバ113がSANスイッチ141等を経由してストレージ装置144等と通信するために使用される。ホストバスアダプタ118は、通信ケーブルの接続端子としてのポート119等を備える。本実施の形態の場合、ホストサーバ113からストレージ装置144へのデータの入出力は、ファイバーチャネル(FC)プロトコルに従って行われるが、他のプロトコルに従って行うようにしてもよい。また、ホストサーバ113及びストレージ装置144間の通信については、ホストバスアダプタ118及びSANスイッチ141等を使用する代わりに、NIC114及びLAN106を使用するようにしてもよい。
SANスイッチ141は、それぞれ1又は複数のホスト側ポート142及びストレージ側ポート143を備えており、これらホスト側ポート142及びストレージ側ポート143間の接続を切り替えることによって、ホストサーバ113及びストレージ装置144間のデータアクセス経路を設定する。
ストレージ装置144は、AOU機能が搭載されており、1又は複数のポート145、NIC146、制御部147及び複数のハードディスク装置を備えて構成される。
ポート145は、SANスイッチ141を介してホストサーバ113又はストレージ監視エージェントサーバ133と通信するために用いられ、NIC146は、LAN106を介してストレージ管理サーバ127と通信するために用いられる。SANスイッチ141及びLAN106による通信経路は、一方を他方で代用する構成をとってもよい。
制御部147は、プロセッサ及びメモリ等のハードウェア資源を備えて構成され、ストレージ装置144の動作を制御する。例えば制御部147は、ホストサーバ113から受信した要求に従って、ハードディスク装置148へのデータの書き込みや読み出しを制御する。また制御部147は、少なくとも仮想ボリューム管理制御部149を含む。
仮想ボリューム管理制御部149は、プールボリュームの記憶領域を仮想論理ボリュームとしてホストサーバ113に提供する機能を有する。仮想ボリューム管理制御部149は、制御部147内の図示しないメモリに格納されたソフトウェアプログラムを制御部147内の図示しないプロセッサが実行することによって実現されてもよい。
ハードディスク装置148は、例えばSCSI(Small Computer System Interface)ディスク等の高価なディスク、又はSATA(Serial AT Attachment)ディスクや光ディスク等の安価なディスクが適用される。複数のハードディスク装置148上には、制御部147によって、実論理ボリューム及びプールボリュームが設定される。ハードディスク装置148、実論理ボリューム及びプールボリュームの関係については後述する(図4参照)。
なお、図1では、仮想ボリューム管理制御部149がストレージ装置144の制御部147に内蔵される構成を採用した場合について示したが、仮想ボリューム管理制御部149をストレージ装置144等とは独立したサーバにおいて稼動する構成を採用するようにしてもよい。
アプリケーション122は、業務システムの業務論理機能を提供するソフトウェア又はデータベース(DB)管理ソフトウェアなどから構成される。アプリケーション122は、業務クライアント102からの処理要求に応答して、必要に応じてストレージ装置144に対するデータの入出力を実行する。
アプリケーション122からストレージ装置144のデータへのアクセスは、ファイル管理システム124、ボリューム管理ソフトウェア125、ホストバスアダプタ118のポート119、SANスイッチ141のホスト側ポート142、SANスイッチ141、SANスイッチ141のストレージ側ポート143及びストレージ装置144のポート145を経由して実行される。
ファイル管理システム124は、ホストサーバ113の基本ソフト(OS:Operating System)の一部であり、アプリケーション122に対してデータの入出力先となる記憶領域をファイルという単位で提供する。ファイル管理システム124が管理するファイルは、ある一群の単位(以下、これをファイルシステムと呼ぶ)で、後述するボリューム管理ソフトウェア125によって管理されるVMボリュームやOSによって管理される論理デバイスとマウント等の操作によって対応付けられる。ファイルシステム中のファイルは、多くの場合、木構造で管理される。
ボリューム管理ソフトウェア125は、論理デバイスとしてOSによって提供される記憶領域を、集約及び再分割してVMボリュームという単位でファイル管理システム124に提供する。1又は複数の論理デバイスを1つのデバイスグループとして定義することができ、1つのデバイスグループを分割して1又は複数のVMボリュームを定義することができる。
一方、業務管理システム部は、ハードウェアとして、アプリケーション実行管理クライアント101及びアプリケーション実行管理サーバ107を備え、ソフトウェアとして、アプリケーション実行管理ソフトウェア112と、ホストサーバ113に実装されたアプリケーション実行管理エージェント120を備える。
アプリケーション実行管理クライアント101は、アプリケーション実行管理ソフトウェア112のユーザインタフェース機能を提供する装置である。アプリケーション実行管理クライアント101は、LAN106を経由してアプリケーション実行管理サーバ107のアプリケーション実行管理ソフトウェア112と通信する。
アプリケーション実行管理サーバ107は、CPU109、メモリ110、ハードディスク装置111及びNIC108を備える。CPU109は、ハードディスク装置111に格納されたソフトウェアプログラムをメモリ110に読み込んで実行するプロセッサである。なお、以下の説明においてメモリ110に読み込まれたソフトウェアプログラムが実行する処理は、実際にはそのソフトウェアプログラムを実行するCPU109によって実行される。
メモリ110は、例えばDRAMのような半導体メモリから構成される。メモリ110には、ハードディスク装置111から読み込まれCPU109によって実行されるソフトウェアプログラム及びCPU109によって参照されるデータ等が格納される。具体的には、少なくともアプリケーション実行管理ソフトウェア112がCPU109によって実行される。
ハードディスク装置111は、各種ソフトウェアやデータ等を格納するために用いられる。なお、ハードディスク装置111に代えて、例えばフラッシュメモリのような半導体メモリや光ディスク装置等を用いるようにしてもよい。
NIC108は、アプリケーション実行管理サーバ107がLAN106を経由してアプリケーション実行管理クライアント101、ホストサーバ113等、及びストレージ管理サーバ127と通信するために使用される。
アプリケーション実行管理ソフトウェア112は、ホストサーバ113におけるアプリケーション122の実行制御を管理する機能を提供するソフトウェアである。ホストサーバ113に実装したアプリケーション実行管理エージェント120を使って、ユーザが定義したスケジュールに従いアプリケーション122を起動、実行及び停止する。
アプリケーション実行管理エージェント120は、アプリケーション実行管理サーバ107上のアプリケーション実行管理ソフトウェア112と通信し、その指示に従ってアプリケーション122の起動、実行及び停止を行う。
他方、ストレージ管理システム部は、ハードウェアとして、ストレージ管理クライアント103と、ストレージ管理サーバ127と、1又は複数のストレージ監視エージェントサーバ133とを備え、ソフトウェアとして、ストレージ管理サーバ127に実装されたストレージ管理ソフトウェア132と、ストレージ監視エージェントサーバ133に実装されたストレージ監視エージェント140と、ホストサーバにそれぞれ実装されたファイルシステム移動実行部121、アプリケーション監視エージェント123及びホスト監視エージェント126とを備える。
ストレージ管理クライアント103は、ストレージ管理ソフトウェア132のユーザインタフェース機能を提供する装置である。ストレージ管理クライアント103は、少なくとも、ユーザから入力を受け付けるための入力装置104及びユーザに情報を表示するための表示装置105を備える。表示装置105は、例えば、CRT又は液晶表示装置のような画像表示装置である。表示装置105に表示される画面の例については後述する(図5〜図12)。ストレージ管理クライアント103は、LAN106を経由してストレージ管理サーバ127のストレージ管理ソフトウェア132と通信する。
ストレージ管理サーバ127は、CPU129、メモリ130、ハードディスク装置131、及びNIC128を備える。
CPU129は、ハードディスク装置131に格納されたソフトウェアプログラムをメモリ130に読み込んで実行するプロセッサである。以下の説明においてメモリ130に読み込まれたソフトウェアプログラムが実行する処理は、実際にはそのソフトウェアプログラムを実行するCPU129によって実行される。
メモリ130は、例えばDRAMのような半導体メモリから構成される。メモリ130には、ハードディスク装置131から読み込まれCPU129によって実行されるソフトウェアプログラム及びCPU129によって参照されるデータ等が格納される。具体的には、少なくともストレージ管理ソフトウェア132がメモリ130に格納される。
ハードディスク装置131は、各種ソフトウェアやデータ等を格納するために用いられる。なお、ハードディスク装置131に代えて、例えばフラッシュメモリのような半導体メモリや光ディスク装置等を用いるようにしてもよい。
NIC128は、ストレージ管理サーバ127がLAN106を経由してストレージ管理クライアント103や、ストレージ監視エージェントサーバ133、ホストサーバ113、ストレージ装置146及びアプリケーション実行管理サーバ107と通信するために使用される。ストレージ管理サーバ127とストレージ装置144等との間の通信については、ホストバスアダプタ(図示せず)を設けてSANスイッチ141を経由する構成としてもよい。
ストレージ監視エージェントサーバ133は、CPU135、メモリ136、ハードディスク装置137、NIC134、及びホストバスアダプタ138を備える。
CPU135は、ハードディスク装置137に格納されたソフトウェアプログラムをメモリ136に読み込んで実行するプロセッサである。以下の説明においてメモリ136に読み込まれたソフトウェアプログラムが実行する処理は、実際にはそのソフトウェアプログラムを実行するCPU135によって実行される。
メモリ136は、例えばDRAMのような半導体メモリから構成される。メモリ136には、ハードディスク装置137から読み込まれCPU135によって実行されるソフトウェアプログラム及びCPU135によって参照されるデータ等が格納される。具体的には、少なくともストレージ監視エージェント140がメモリ136に格納される。
ハードディスク装置137は、各種ソフトウェアやデータ等を格納するために用いられる。なお、ハードディスク装置137に代えて、例えばフラッシュメモリのような半導体メモリや光ディスク装置等を用いるようにしてもよい。
NIC134は、ストレージ監視エージェントサーバ133がLAN106を経由してストレージ管理サーバ127と通信するために使用される。またホストバスアダプタ138は、ストレージ監視エージェントサーバ133がSANスイッチ141等を経由してストレージ装置144等と通信するために使用される。ホストバスアダプタ138は、通信ケーブルの接続端子としてのポート139を備える。ストレージ監視エージェントサーバ133とストレージ装置144との間の通信については、ホストバスアダプタ138及びSANスイッチ141等を使用する代わりに、NIC134及びLAN106を使用するようにしてもよい。
ストレージ管理ソフトウェア132は、SANの構成情報、統計情報及びアプリケーション実行管理情報の収集及び監視と、ファイルシステムによる仮想論理ボリュームの未使用領域の検出及び回収とを行う機能を提供するソフトウェアである。ストレージ管理ソフトウェア132は、SANを構成するハードウェア及びソフトウェアから構成情報、統計情報及びアプリケーション実行管理情報を取得するため、それぞれ専用のエージェントソフトウェア及びアプリケーション実行管理ソフトウェアを利用する。また、ストレージ管理ソフトウェア132は、ファイルシステムによる仮想論理ボリュームの未使用領域を回収するため、ファイルシステム移動実行部121を利用する。エージェントソフトウェア及びアプリケーション実行管理ソフトの構成及び配置にはいろいろな方法があり得るため、以下にその一例を説明する。
ストレージ監視エージェント140は、ホストバスアダプタ138のポート139及びSANスイッチ141を経由して、ストレージ装置145に関する構成情報及び統計情報を取得するソフトウェアである。図1では、ストレージ監視エージェント140を専用のストレージ監視エージェントサーバ133で稼動する構成を示したが、ストレージ管理サーバ127において稼動する構成をとってもよい。さらに、ストレージ装置145との通信経路として、ホストバスアダプタ138、SANスイッチ141及びポート145を経由する代わりに、NIC134、LAN106及びNIC146を経由する経路を使用する構成をとってもよい。
アプリケーション監視エージェント123は、アプリケーション122に関する構成情報を取得するためのソフトウェアである。またホスト監視エージェント126は、ファイル管理システム124及びボリューム管理ソフトウェア125からファイルシステムに関する構成情報及び統計情報を取得するためのソフトウェアである。
ファイルシステム移動実行部121は、ストレージ管理サーバ127上のストレージ管理ソフトウェア132と通信し、その指示に従ってファイルシステムのデータの移動(以下、これを単にファイルシステムの移動と呼ぶ)に関する処理を行う。
図2は、図1のストレージ装置144の一部又は全部に代えて適用するストレージシステムの構成例を示す。このストレージシステムは、仮想化装置201と、複数のストレージ装置206,210,214とで構成される階層構造を有する。
仮想化装置201は、SANスイッチ141を介してホストサーバ113又はストレージ監視エージェントサーバ133と通信するためのポート202と、ストレージ装置206,210,214と通信するための1又は複数のポート202と、仮想化装置201全体の動作制御を司る制御部203と、1又は複数のハードディスク装置(図示せず)とを備える。
制御部203は、プロセッサ及びメモリ等のハードウェア資源を備えて構成される。この制御部203は、少なくとも仮想ボリューム管理制御部204及び外部ボリューム管理制御部205を含む。
仮想ボリューム管理制御部204は、自装置内に設定されたプールボリュームの記憶領域を仮想論理ボリュームとしてホストサーバ113に提供する機能を有する。また外部ボリューム管理制御部205は、ストレージ装置206,210,214内に設定された実論理ボリュームを自装置内の実論理ボリューム又はプールボリュームとしてホストサーバ113に提供する機能を有する。仮想ボリューム管理制御部204及び外部ボリューム管理制御部205は、制御部203内の図示しないメモリに格納されたソフトウェアプログラムを制御部203内の図示しないプロセッサが実行することによって実現されてもよい。
ストレージ装置206,210,214は、それぞれ仮想化装置201と通信するための1又は複数のポート207,2111,215と、自装置全体の動作制御を司る制御部208,212,216と、複数のハードディスク装置209,213,216とを備えて構成される。
制御部208,212,216は、プロセッサ及びメモリ等のハードウェア資源を備えて構成され、ホストサーバ113から仮想化装置201を介して与えられる要求に従って、ハードディスク装置209,213,217へのデータの書き込みや読み出しを制御する。
ハードディスク装置209,213,216は、例えばSCSIディスク等の高価なディスク、又はSATAディスクや光ディスク等の安価なディスクが適用される。複数のハードディスク装置209,213,216上には、制御部208,212,216によって、実論理ボリュームが設定される。
(2)ストレージ管理ソフトウェアの構成
図3は、ストレージ管理ソフトウェア132の具体的な構成を示している。図3において、エージェント情報収集部301、条件設定部304、統計情報履歴表示部305、ファイルシステム・仮想論理ボリューム対応検索部307、移動候補選択順位付け部309、移動案表示部311、移動案設定部312、アプリケーション実行管理情報収集部313、ファイルシステム使用スケジュール作成部315、移動スケジュール作成部317、移動スケジュール表示部319、移動スケジュール設定部320及びファイルシステム移動制御部321は、ストレージ管理ソフトウェア132を構成するプログラムモジュールである。
また図3において、リソース統計情報302、選択順位付け条件テーブル303、リソース構成情報306、ファイルシステム・仮想論理ボリューム対応テーブル308、ファイルシステム移動制御テーブル310、アプリケーション実行スケジュールテーブル314、ファイルシステム使用スケジュールテーブル316及びファイルシステム移動スケジュールテーブル318は、ストレージ管理ソフトウェア132が管理する各種情報であり、メモリ130又はハードディスク装置131に保持される。
上述したストレージ管理システム部において、SAN環境に関する構成情報、統計情報及びアプリケーション実行管理情報の収集並びに監視は以下のように行われる。
ホストサーバ113に実装されたアプリケーション監視エージェント123及びホスト監視エージェント126と、ストレージ監視エージェントサーバ133に実装されたストレージ監視エージェント140とは、所定のタイミングで(例えば、スケジューリング設定に従い、タイマーによって定期的に)起動されるか、あるいは、ストレージ管理ソフトウェア132の要求によって起動されて、自エージェントが担当する監視対象装置又はソフトウェアから構成情報又は統計情報を取得する。
ストレージ管理ソフトウェア132のエージェント情報収集部301も同様に、所定のタイミングで(例えば、スケジューリング設定に従い定期的に)起動され、SAN環境内の各アプリケーション監視エージェント123、各ホスト監視エージェント126及び各ストレージ監視エージェント140から、これらが取得した構成情報又は統計情報を収集する。そして、エージェント情報収集部301は、収集した情報をリソース構成情報306又はリソース統計情報302のいずれかとしてメモリ130又はハードディスク装置131に格納する。
ストレージ管理ソフトウェア132のアプリケーション実行管理情報収集部313も、所定のタイミングで(例えば、スケジューリング設定に従い定期的に)起動され、SAN環境内のアプリケーション実行管理ソフトウェア112からアプリケーションに関する構成情報又は実行管理情報を収集する。そして、アプリケーション実行管理情報収集部313は、収集した情報をリソース構成情報306又はアプリケーション実行スケジュールテーブル314のいずれかとしてメモリ130又はハードディスク装置131に格納する。
ここで、リソースとは、SANを構成するハードウェア(ストレージ装置、ホストサーバ等)及びその物理的又は論理的な構成要素(アレイグループ、論理ボリューム等)と、これらハードウェア上で実行されるプログラム(業務ソフト、データベース管理システム、ファイル管理システム、ボリューム管理ソフト等)及びその論理的な構成要素(ファイルシステム、論理デバイス等)とを総称したものである。
リソース構成情報306は、大別するとリソース間の関連情報とリソース個別の属性情報とに分けられる。前者はリソース間に存在するデータ入出力の依存関係を表すものである。例えば、リソースAに対するデータ入出力命令がリソースBに対するデータ入出力命令に変換されて処理される場合、又はリソースAに対するデータ入出力命令を処理するときにリソースBの処理能力が使用される場合、リソースAとリソースBの間にデータ入出力依存関係がある。
リソース構成情報306のテーブル構成及びテーブル構造については、図13〜図22を用いて後ほど具体的に説明する。またリソース統計情報302のテーブル構成及びテーブル構造については、図23〜図25を用いて後ほど具体的に説明する。さらにアプリケーション実行スケジュールテーブル314の構造については、図29を用いて後ほど具体的に説明する。
ファイルシステムによる仮想論理ボリュームの未使用領域の検出並びに回収案の作成は以下のように行われる。
ストレージ管理ソフトウェア132のファイルシステム・仮想論理ボリューム対応検索部307は、所定のタイミングで(例えば、スケジューリング設定に従い定期的に)起動されるか、あるいは、エージェント情報収集部301による収集処理の後に、無条件に、又は、リソース構成情報306のうちファイルシステム及び仮想論理ボリュームに関連するものに変更があった場合に起動される。ファイルシステム・仮想論理ボリューム対応検索部307は、起動すると、リソース構成情報306に格納された構成情報を調べ、同一のデータ入出力経路を共有するファイルシステム及び仮想論理ボリュームのグループをファイルシステム・仮想論理ボリューム対応テーブル308に登録する。
ストレージ管理ソフトウェア132の移動候補選択順位付け部309は、所定のタイミングで(例えば、スケジューリング設定に従い定期的に)起動されてもよいし、ファイルシステム・仮想論理ボリューム対応検索部307による処理の後に起動されてもよいし、さらにはユーザの指示操作を契機としたストレージ管理クライアント103からの要求によって起動されてもよい。
移動候補選択順位付け部309は、起動すると、ファイルシステム・仮想論理ボリューム対応テーブル308に格納されたファイルシステム及び仮想論理ボリュームの対について、移動候補の選択及び優先順位付けを行い、その結果をファイルシステムの移動案としてファイルシステム移動制御テーブル310に登録する。
この選択及び優先順位付けの際、移動候補選択順位付け部309は、選択順位付け条件テーブル303に格納された選択及び順位付けの条件と、リソース統計情報302に格納された統計値とを利用する。選択順位付け条件テーブル303中の選択及び順位付けの条件は、ストレージ管理クライアント103の入力装置104から入力されたユーザの指示に基づいて条件設定部304が登録する。
ストレージ管理ソフトウェア132の移動案表示部311、統計情報履歴表示部305及び移動案設定部312は、ユーザの指示操作を契機としたストレージ管理クライアント103からの要求によって起動される。
移動案表示部311は、起動すると、ファイルシステム移動制御テーブル310に格納されたファイルシステムの移動案をストレージ管理クライアント103の表示装置105に一覧表示する。
また統計情報履歴表示部305は、起動すると、リソース統計情報302に格納された統計値の履歴をストレージ管理クライアント103の表示装置105に表示する。さらに移動案設定部312は、起動すると、移動案表示部311がストレージ管理クライアント103の表示装置105に表示し、ユーザがストレージ管理クライアント103の入力装置105を使い修正を加えた、又は、新規入力したファイルシステムの移動案をファイルシステム移動制御テーブル310に登録する。
移動案表示部311及び統計情報履歴表示部305がストレージ管理クライアント103に表示する画面の具体例については、図5〜図11を用いて後ほど説明する。また、選択順位付け条件テーブル303、ファイルシステム・仮想論理ボリューム対応テーブル308及びファイルシステム移動制御テーブル310の構造については、それぞれ図26〜図28を用いて、後ほど具体的に説明する。ファイルシステム・仮想論理ボリューム対応検索部307の処理手順の詳細は、図32を用いて後ほど説明する。移動候補選択順位付け部309の処理手順の詳細は、図33〜図35を用いて後ほど説明する。
ファイルシステムに割り当てられた仮想論理ボリュームの未使用領域の回収は以下のように行われる。
ストレージ管理ソフトウェア132のファイルシステム使用スケジュール作成部315は、ストレージ管理ソフトウェア132の動作モードが「スケジュール実行」である場合、所定のタイミングで(例えば、スケジューリング設定に従い定期的に)起動されるか、あるいは、エージェント情報収集部301による収集処理の後、無条件に、又は、リソース構成情報306のうちアプリケーション及びファイルシステムに関連するものに変更があった場合に、並びに、アプリケーション実行管理情報収集部313による収集処理の後に起動される。
ファイルシステム使用スケジュール作成部315は、起動すると、リソース構成情報306に含まれる構成情報と、アプリケーション実行スケジュールテーブル314に格納されたアプリケーション実行スケジュールとに基づいてファイルシステムの使用スケジュールを求め、その結果をファイルシステム使用スケジュールテーブル316に登録する。
ストレージ管理ソフトウェア132の移動スケジュール作成部317は、ストレージ管理ソフトウェア132の動作モードが「スケジュール実行」である場合、所定のタイミングで(例えば、スケジューリング設定に従い定期的に)起動されるか、あるいは、移動候補選択順位付け部309による処理の後に起動されるか、あるいは、ユーザの指示操作を契機としたストレージ管理クライアント103からの要求によって起動される。
移動スケジュール作成部317は、リソース統計情報302に格納された統計値と、ファイルシステム・仮想論理ボリューム対応テーブル308に格納された対応情報と、ファイルシステム移動制御テーブル310に格納された移動案と、ファイルシステム使用スケジュールテーブル316に格納されたファイルシステムの使用スケジュールとに基づいてファイルシステムの移動スケジュールを求め、その結果をファイルシステム移動スケジュールテーブル318に登録する。
ストレージ管理ソフトウェア132の移動スケジュール表示部319及び移動スケジュール設定部320は、ユーザの指示操作を契機としたストレージ管理クライアント103からの要求によって起動される。
移動スケジュール表示部319は、起動すると、ファイルシステム移動スケジュールテーブル318に格納されたファイルシステムの移動スケジュールをストレージ管理クライアント103の表示装置105に表示する。
また移動スケジュール設定部320は、起動すると、移動スケジュール表示部319がストレージ管理クライアント103の表示装置105に表示し、ユーザがストレージ管理クライアント103の入力装置105を使い修正を加えたファイルシステムの移動スケジュールをファイルシステム移動スケジュールテーブル318に登録する。
ストレージ管理ソフトウェア132のファイルシステム移動制御部321は、ストレージ管理ソフトウェア132の動作モードが「スケジュール実行」である場合には、所定のタイミングで(例えば、スケジューリング設定に従い定期的に)起動され、ストレージ管理ソフトウェア132の動作モードが「手動」である場合には、ユーザの指示操作を契機としたストレージ管理クライアント103からの要求によって起動される。
ファイルシステム移動制御部321は、起動すると、リソース統計情報302に格納された統計値と、リソース構成情報306に格納された構成情報と、ファイルシステム・仮想論理ボリューム対応テーブル308に格納された対応情報と、ファイルシステム移動制御テーブル310に格納された移動案と、ファイルシステム移動スケジュールテーブル318に格納されたスケジュールとに基づいて、ストレージ装置144の仮想ボリューム管理制御部149及びホストサーバ113のファイルシステム移動実行部121に対してファイルシステムの移動に必要な命令を発行する。
移動スケジュール表示部319がストレージ管理クライアント103に表示する画面の具体例は図12を用いて後ほど説明する。また、ファイルシステム使用スケジュールテーブル316及びファイルシステム移動スケジュールテーブル318の構造については、図30及び図31を用いて具体例を後ほど説明する。さらに、ファイルシステム使用スケジュール作成部315の処理手順の詳細は図36を用いて後ほど説明し、移動スケジュール作成部317の処理手順の詳細は図37を用いて後ほど説明する。ファイルシステム移動制御部321の処理手順の詳細についても、図38を用いて後ほど説明する。
(3)リソースの構成及びリソース間の関連
図4は、本実施の形態によるSAN環境におけるリソースの構成及びリソース間の関連に関する具体例を示している。
図4のSAN環境のハードウェアは、「ホストサーバA」〜「ホストサーバD」という4つのホストサーバ401〜404と、「SANスイッチA」及び「SANスイッチB」という2つのSANスイッチ448,449及び「ストレージ装置A」という1つのストレージ装置450から構成される。
ホストサーバ401〜404は、それぞれ図1に示すホストサーバ113のいずれかである。またSANスイッチ448,449は、それぞれ図1に示すSANスイッチ141のいずれかである。さらにストレージ装置450は、図1に示すストレージ装置144のいずれかである。
ホストサーバ401〜404では、それぞれ「AP_A」〜「AP_D」、「AP_E」〜「AP_H」、「AP_I」及び「AP_J」〜「AP_R」というアプリケーション405〜408,409〜412,413,414〜422が稼動している。これらのアプリケーション405〜422は、それぞれ図1に示すアプリケーション122のいずれかである。
ホストサーバ401〜ホストサーバ404においては、アプリケーション405〜422の構成情報を取得するためのアプリケーション監視エージェント123と、ファイル管理システム124及びボリューム管理ソフトウェア125に関する構成情報及び統計情報を取得するためのホスト監視エージェント126が稼動している。
「FS_A」〜「FS_I」というファイルシステム423〜431と、「VM_VOL_A」〜「VM_VOL_D」というVMボリューム432〜435と、「DEV_GR_A」及び「DEV_GR_B」というデバイスグループ436,437と、「DEV_A」〜「DEV_J」という論理デバイス438〜447とは、ホスト監視エージェント126が情報取得の対象とするリソースの例である。これらのリソースはいずれもデータの入出力先となる記憶領域を組織的に管理するためのものであり、ファイルシステム423〜431はファイル管理システム124によって、またVMボリューム432〜435及びデバイスグループ436,437はボリューム管理ソフトウェア125によって、さらに論理デバイス438〜447はホストサーバ401〜404の基本ソフト(OS)によってそれぞれ管理される。
図4には、リソース間を結ぶ線が表示されている。これらの線は、線によって結ばれた2つのリソースの間にデータ入出力による依存関係があることを表す。例えば図4には、アプリケーション405,406をそれぞれファイルシステム423と結ぶ2本の線が表示されている。これらの線は、これらのアプリケーション405,406がそのファイルシステム423にデータ入出力要求を発行するという関連を表す。
ファイルシステム423と、論理デバイス438とを結ぶ線は、そのファイルシステム423に対するデータ入出力負荷がその論理デバイス438のデータ読出し又はデータ書込みになるという関連を表す。同様に、アプリケーション418が発行するデータ入出力要求は、ファイルシステム430、VMボリューム434及びデバイスグループ437を経て、論理デバイス445〜447に到達するという関連を表す。
図4では省略されているが、ストレージ装置450の構成情報及び統計情報を取得するため、ストレージ監視エージェント140が稼動している。ストレージ監視エージェント140が情報取得対象とするリソースは、少なくとも「VOL_A」という複合論理ボリューム451と、「VOL_B」という実論理ボリューム452と、「VOL_C」〜「VOL_M」という仮想論理ボリューム453〜463と、「POOL_A」〜「POOL_C」というプール464〜466と、「VOL_N」〜「VOL_U」というプールボリューム467とである。
「AG_A」〜「AG_E」という複数のアレイグループ468は、それぞれストレージ装置450の制御部147の機能によって複数のハードディスク装置469から生成される、高速かつ高信頼の論理的なディスクドライブである。ハードディスク装置469については、ハードディスク装置の代わりに、例えばフラッシュメモリのような半導体記憶装置又は光ディスク装置等を使用してもよい。
実論理ボリューム452及び各プールボリューム467は、ストレージ装置450の制御部147の機能がアレイグループを切り分けることによって作成された、ホストサーバ401の用途に合ったサイズの論理的なディスクドライブである。実論理ボリューム452及び各プールボリューム467は、作成時に定義容量分の記憶領域が予め対応するアレイグループ468上に確保される。
各仮想論理ボリューム453〜463も実論理ボリューム452と同様に、ストレージ装置450の仮想論理ボリューム管理制御部149の機能によってホストサーバ401に論理的なディスクドライブとして認識される。
しかし、実論理ボリューム452と異なり、仮想論理ボリューム453〜463が作成されたときには容量が定義されるだけで、定義された容量分の記憶領域は確保されない。その後、仮想論理ボリューム453〜463の新規アドレスに対するライト要求が発生したときに、記憶領域が必要量だけ割り当てられる。
プール464〜466は、仮想論理ボリューム453〜463に記憶領域を割り当てるためのものである。プール464は「VOL_N」及び「VOL_O」という2つのプールボリューム467によって、また、プール465は「VOL_P」〜「VOL_S」という複数のプールボリューム467によって、さらにプール466は「VOL_T」及び「VOL_U」という2つのプールボリューム467によって、それぞれ構成されている。
複合ボリュームは、ストレージ装置450の制御部147の機能によって複数の仮想論理ボリューム又は実論理ボリュームから作成された論理的なディスクドライブである。複合ボリューム451は、仮想論理ボリューム456〜458から構成されている。ホストサーバ403は、複合ボリューム451を1つの論理的なディスクドライブとして認識する。
各ホストサーバ401〜ホストサーバ404の論理デバイス438〜447は、それぞれストレージ装置450の論理ボリューム(すなわち実論理ボリューム、仮想論理ボリューム又は複合論理ボリューム)に割り当てられる。論理デバイスと論理ボリュームとの対応関係は、ホスト監視エージェント126から取得できる。
以上述べたように、アプリケーションからファイルシステム、VMボリューム、デバイスグループ及び論理デバイスを順次経て、論理ボリュームに至るリソース間の関連情報をつなぎ合わせると、いわゆるデータ入出力経路が得られる。
例えば、アプリケーション413はファイルシステム427にデータ入出力要求を発行し、ファイルシステム427は論理デバイス442に確保され、論理デバイス442は複合論理ボリューム451に割り当てられ、複合論理ボリューム451は仮想論理ボリューム456〜458で構成され、仮想論理ボリューム456〜458はプール465に割り当てられ、プール465は「VOL_P」〜「VOL_S」というプールボリューム467から構成され、「VOL_P」及び「VOL_Q」というプールボリューム467は「AG_C」というアレイグループ468に、「VOL_R」及び「VOL_S」というプールボリューム467は「AG_D」というアレイグループ468にそれぞれ割り当てられる。この場合、アプリケーション413が発生させるデータ入出力要求の負荷は、ファイルシステム427から、論理デバイス442、複合論理ボリューム451、仮想論理ボリューム456〜458、プール465、「VOL_P」〜「VOL_S」というプールボリューム、「AG_C」及び「AG_D」というアレイグループを経由する経路を経てハードディスク装置469に達する。
(4)各種画面の構成
(4−1)移動案表示画面の構成
次に、移動案表示部311によって表示されるGUI(Graphical User Interface)画面の一例を、図5及び図6を参照して説明する。具体的に、図5及び図6は、移動案表示部311からの指示に従ってストレージ管理クライアント103の表示装置105に表示されるGUI画面の例である。
図5は、ユーザによってプール間移動条件が「YES」に設定された場合に、移動案表示部311によって表示される移動案表示画面500の一例を示している。移動案表示画面500は、ファイルシステムの移動案の一覧テーブル(以下、これを移動案一覧テーブルと呼ぶ)501を表示する移動案一覧テーブル表示領域502と、移動案の選択及び順位付けの条件を表示する条件表示領域503とから構成される。
移動案一覧テーブル501は、移動優先順位表示欄504、ホストサーバ表示欄505、ファイルシステム名称表示欄506、ファイルシステム使用容量表示欄507、ファイルシステム総使用容量表示欄508、ストレージ装置表示欄509、仮想論理ボリューム名称表示欄510、仮想論理ボリューム定義容量表示欄511、仮想論理ボリューム使用容量表示欄512、仮想論理ボリューム総使用容量表示欄513、仮想論理ボリューム未使用容量表示欄514、仮想論理ボリューム未使用率表示欄515、プール名称表示欄516、プール空き容量表示欄517、履歴表示欄518及び空き回収欄519から構成される。移動案一覧テーブル501の各行は、ストレージ管理ソフトウェア132のファイルシステム・仮想論理ボリューム対応検索部307が特定したファイルシステム及び仮想論理ボリュームのグループの対の1つに対応し、ファイルシステム・仮想論理ボリューム対応テーブル308及びファイルシステム移動制御テーブル310のそれぞれの行のいずれか1つに対応する。
移動優先順位表示欄504には、移動候補選択順位付け部309によって決定された移動案の優先順位が表示される。この優先順位は、後述するファイルシステム移動制御テーブル310(図28)の移動優先順位格納欄2801から読み出される。
ホストサーバ表示欄505には、その行に示された移動案において移動対象となるファイルシステムが存在するホストサーバの名称が表示される。このホストサーバの名称は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)のファイルシステム識別子リスト格納欄2702に格納されている対応するファイルシステムの識別子から特定される。例えば、かかる識別子を、ファイルシステムが存在するホストサーバを一意に識別する情報(例えば、IPアドレス又はホスト名等)及び同ホストサーバ内でファイルシステムを一意に識別する情報(例えば、ファイルシステムのマウントポイントへのパス等)で構成し、前者を使ってホストサーバの名称を特定する。
ファイルシステム名称表示欄506には、その行に示された移動案において移動対象となるファイルシステムの名称が表示される。このファイルシステムの名称は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)のファイルシステム識別子リスト格納欄2702(図27)に格納されている識別子から特定される。例えば、上述のようにかかる識別子を、ファイルシステムが存在するホストサーバを一意に識別する情報(例えば、IPアドレス又はホスト名等)及び同ホストサーバ内でファイルシステムを一意に識別する情報(例えば、ファイルシステムのマウントポイントへのパス等)で構成し、後者をファイルシステムの名称とする。
ファイルシステム使用容量表示欄507には、その行に示された移動案において移動対象となるファイルシステム毎の使用容量が表示される。このファイルシステム毎の使用容量の値は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)のファイルシステム識別子リスト格納欄2702(図27)に格納されている対応するファイルシステムの識別子を検索キーとして、後述するファイルシステム統計情報テーブル2301(図23)から検索された行のうち、日時格納欄2302(図23)が最新である行の使用容量格納欄2304から読み出される。
ファイルシステム総使用容量表示欄508には、その行に示された移動案において移動対象となるファイルシステムのグループの総使用容量が表示される。このファイルシステムの総使用容量の値は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)のファイルシステム総使用容量格納欄2704から読み出される。
ストレージ装置表示欄509には、その行に示された移動案において移動対象となるファイルシステムに対応する仮想論理ボリュームが存在するストレージ装置の名称が表示される。このストレージ装置の名称は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)の論理ボリューム識別子リスト格納欄2703に格納されている対応する論理ボリュームの識別子から特定される。例えば、かかる識別子を、論理ボリュームが存在するストレージ装置を一意に識別する情報(例えば、装置の型番及び製造番号等)及び同ストレージ装置内で論理ボリュームを一意に識別する情報で構成し、前者をストレージ装置の名称とする。
仮想論理ボリュームの名称表示欄510には、その行に示された移動案において移動対象となるファイルシステムに対応する仮想論理ボリュームの名称が表示される。この仮想論理ボリュームの名称は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)の論理ボリューム識別子リスト格納欄2703(図27)に格納されている対応する論理ボリュームの識別子から特定される。例えば、かかる識別子を、論理ボリュームが存在するストレージ装置を一意に識別する情報(例えば、装置の型番及び製造番号等)及び同ストレージ装置内で論理ボリュームを一意に識別する情報で構成し、後者を仮想論理ボリュームの名称とする。
仮想論理ボリューム定義容量表示欄511には、その行に示された移動案にて移動対象となるファイルシステムに対応する仮想論理ボリュームの定義容量が表示される。この仮想論理ボリュームの定義容量の値は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)の論理ボリューム識別子リスト格納欄2703(図27)に格納されている識別子を検索キーとして、後述する論理ボリュームテーブル1901(図19)から検索された行の定義容量格納欄1904(図19)から読み出される。
仮想論理ボリューム使用容量表示欄512には、その行に示された移動案において移動対象となるファイルシステムに対応する仮想論理ボリューム毎の使用容量が表示される。この仮想論理ボリューム毎の使用容量の値は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)の論理ボリューム識別子リスト格納欄2703(図27)に格納されている識別子を検索キーとして、後述する仮想論理ボリューム統計情報テーブル2401(図24)から検索された行のうち、日時格納欄2402が最新である行の使用容量格納欄2404(図24)から読み出される。
仮想論理ボリューム総使用容量表示欄513には、その行に示された移動案において移動対象となるファイルシステムに対応する仮想論理ボリュームのグループの総使用容量が表示される。この仮想論理ボリュームの総使用容量の値は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)の仮想論理ボリューム総使用容量格納欄2705(図27)から読み出される。
仮想論理ボリューム未使用容量表示欄514には、その行に示された移動案において移動対象となるファイルシステムに対応する仮想論理ボリュームのグループの未使用容量が表示される。この仮想論理ボリュームの未使用容量の値は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)の仮想論理ボリューム未使用容量格納欄2706(図27)から読み出される。
仮想論理ボリューム未使用率表示欄515には、その行に示された移動案において移動対象となるファイルシステムに対応する仮想論理ボリュームのグループの未使用率が表示される。この仮想論理ボリュームの未使用率の値は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)の仮想論理ボリューム未使用率格納欄2707(図27)から読み出される。
プール名称表示欄516には、その行に示された移動案において移動対象となるファイルシステムに対応する仮想論理ボリュームが割り当てられているプールの名称が表示される。このプールの名称は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)の論理ボリューム識別子リスト格納欄2703(図27)に格納されている識別子を検索キーとして、後述する仮想論理ボリューム・プール間関連テーブル2101(図21)から検索された行のプール識別子格納欄2103に格納されている対応するプールの識別子から特定される。例えば、かかる識別子を、プールが存在するストレージ装置を一意に識別する情報(例えば、装置の型番及び製造番号等)及び同ストレージ装置内でプールを一意に識別する情報で構成し、後者をプールの名称とする。
プール空き容量表示欄517には、その行に示された移動案において移動対象となるファイルシステムに対応する仮想論理ボリュームが割り当てられているプールの空き容量が表示される。このプールの空き容量は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)のFS・VLV対応識別番号格納欄2701(図27)に格納されているFS・VLV対応識別番号を検索キーとして、後述するファイルシステム移動制御テーブル310(図28)から検索された行のPOOL_A移動前プール空き容量格納欄2806(図28)、POOL_B移動前プール空き容量格納欄2808(図28)及びPOOL_C移動前プール空き容量格納欄2810(図28)のうち該当プールに関する欄から読み出される。
履歴表示欄518には、その行に示された移動案において移動対象となるファイルシステム及び同ファイルシステムに対応する仮想論理ボリュームの使用容量の履歴表示をユーザが指示するために使用するボタンが表示される。「G」及び「T」というラベルのボタンは、使用容量の履歴をそれぞれグラフ形式及び表形式で表示するためのものである。ユーザは、ストレージ管理クライアント103の入力装置104(図1)を用いてボタンを操作する(具体的には、例えばマウスを用いてボタンをクリックする)ことによって、履歴表示を指示することができる。ファイルシステム及び仮想論理ボリュームの使用容量の履歴をグラフ形式又は表形式で表示する際に使用される画面の具体例は、それぞれ図10及び図11を用いて後ほど説明する。
空き回収欄519には、その行に示された移動案に従ってファイルシステムを移動すべきか否かの選択状態が表示される。具体的には、「YES(移動する)」及び「NO(移動しない)」という選択肢のうち、そのとき選択されている選択肢に黒丸が表示される。またファイルシステムを移動するという選択肢(「YES」)が選択されている場合は、移動先として使用するプールの名称が空き回収欄519に表示される。このファイルシステム移動の選択状態は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)の移動フラグ格納欄2803(図28)から読み出され、またそのとき使用するプールの名称の値は、同ファイルシステム・仮想論理ボリューム対応テーブル308の使用プール識別子格納欄2804(図28)に格納されている識別子から特定される。例えば、かかる識別子を、プールが存在するストレージ装置を一意に識別する情報(例えば、装置の型番及び製造番号等)及び同ストレージ装置内でプールを一意に識別する情報で構成し、後者をプールの名称とする。
従って、図4を参照すると、図5では、「B」というホストサーバ402の「D」というファイルシステム426が移動優先順位の1番目にあり、その使用容量及びグループ全体の総使用容量は共に「52」GBであることが示されている。また、同ファイルシステムには、「A」という名称のストレージ装置450に設定された、定義容量が「200」GB、使用容量及びグループ全体の総使用容量が共に「93」GB、未使用容量が「41」GB、未使用率が「79」%の「E」という仮想論理ボリューム455が対応付けられており、同仮想論理ボリュームには、空き容量が「63」GBの「A」というプール464が割り当てられていることが示されている。さらに、かかる「D」というファイルシステム426は移動の対象となっており、移動先が「A」というプールであることが示されている。
また図5では、複数のファイルシステムのグループと複数の仮想論理ボリュームのグループが対応する例が移動案一覧テーブル501の第2行目に移動優先順位の2番目として示されており、複数のファイルシステム及び仮想論理ボリュームに関する情報を表示するために行が部分的に細分化されている。この例では、「D」というホストサーバ404の「F」というファイルシステム428及び「G」というファイルシステム429が移動対象となっており、その使用容量がそれぞれ「103」GB及び「38」GB、グループ全体の総使用容量が「141」GBとなっている。また、これらのファイルシステム428,429に対応する仮想論理ボリュームは、「A」というストレージ装置450内に設けられた「I」という仮想論理ボリューム459及び「J」という仮想論理ボリューム460であり、その定義容量がいずれも「200」GB、使用容量がそれぞれ「92」GB及び「87」GB、グループ全体の総使用容量が「179」GBであることが示されている。
図5では、移動案一覧テーブル501の5行目及び6行目の空き回収欄519が「NO」に設定されている。これは、「D」というホストサーバ404の「H」というファイルシステム430及び「I」というファイルシステム431のグループと、「B」というホストサーバ402の「C」というファイルシステム425が移動の対象外となっていることを表す。「H」というファイルシステム430及び「I」というファイルシステム431が移動対象から外されたのは、これらファイルシステム430,431の総使用容量が「125」GBであるのに対して、これらのファイルシステム430,431に対応付けられた「C」というプール466の空き容量が「117」GBしかないため、移動に必要な一時的なデータ複写の領域が不足していることによる。また、「C」というファイルシステム425が移動対象から外されたのは、当該ファイルシステム425及び対応する仮想論理ボリューム454の使用容量がいずれも「61」GBであり、未使用容量が「0」GBであることによる。
一方、条件表示領域503には、優先基準欄320、プール空き容量チェック欄521、周期性チェック欄522、動作モード欄523及びプール間移動欄524の各欄と、「移動実行」ボタン525が設けられている。
そして優先基準欄320には、移動候補選択順位付け部309が移動案の選択と優先順位付けを行う際の基準として、対応する仮想論理ボリューム及びファイルシステム各々の総使用容量の差として算出される仮想論理ボリュームの「未使用容量」と、対応する仮想論理ボリュームの未使用容量とファイルシステム総使用容量の比として算出される「未使用率」とのいずれが選択されているかが表示される。具体的には、かかる「未使用容量」と対応付けられたラジオボタンと、「未使用率」と対応付けられたラジオボタンとのうちの選択されている側のラジオボタンに黒丸が表示される。
この場合において、ユーザは、ストレージ管理クライアント103の入力装置104を用いて優先基準を切り替えることができる。具体的には、例えばマウスを用いて「未使用容量」又は「未使用率」というラベルをクリックすることによって、優先基準を切り替える指示を入力することができる。このユーザの指示に基づいて、条件設定部304は、後述する選択順位付け条件テーブル303(図26)の優先基準格納欄2601(図26)にそのとき選択された優先基準を登録する。
またプール空き容量チェック欄521には、移動候補選択順位付け部309が移動案の選択と優先順位付けを行う際の選択及び順位付けの条件のうち、ファイルシステムの移動の際にデータ複写のために一時的にデータを格納するためのプール空き容量をチェックするか否かという条件についての選択状態が表示される。具体的には、かかるチェックを行う選択肢である「YES」に対応付けられたラジオボタンと、かかるチェックを行わない選択肢である「NO」に対応付けられたラジオボタンとのうちのそのとき選択されている側のラジオボタンに黒丸が表示される。
この場合において、ユーザは、ストレージ管理クライアント103の入力装置104を用いてかかるチェックの要否を切り替えることができる。具体的には、例えばマウスを用いて「YES」又は「NO」のラベルをクリックすることによって、かかるチェックの要否を切り替える指示を入力することができる。このユーザの指示に基づいて、条件設定部304は、後述する選択順位付け条件テーブル303(図26)のプール空き容量チェックフラグ格納欄2602(図26)にチェック要否の状態を登録する。
さらに周期性チェック欄522には、移動候補選択順位付け部309が移動案の選択と優先順位付けを行う際の選択及び順位付けの条件のうち、ファイルシステムの使用容量の経時的な増減をチェックすべきか否という条件についての選択状態が表示される。具体的には、かかるチェックを行う選択肢である「YES」に対応付けられたラジオボタンと、かかるチェックを行わない選択肢である「NO」に対応付けられたラジオボタンとのうちのそのとき選択されている側のラジオボタンに黒丸が表示される。
この場合において、ユーザは、ストレージ管理クライアント103の入力装置104を用いてかかるチェックの要否を切り替えることができる。具体的には、例えばマウスを用いて「YES」又は「NO」のラベルをクリックすることによって、かかるチェックの要否を切り替える指示を入力することができる。このユーザの指示に基づいて、条件設定部304は、後述する選択順位付け条件テーブル303(図26)の周期性チェックフラグ格納欄2604(図26)にチェック要否の状態を登録する。
動作モード欄523には、そのとき選択されているストレージ管理ソフトウェア132の動作モードが表示される。具体的には、「スケジュール実行」という動作モードと対応付けられたラジオボタンと、「手動」という動作モードと対応付けられたラジオボタンとのうちのそのとき選択されている側のラジオボタンに黒丸が表示される。
この場合において、ユーザは、ストレージ管理クライアント103の入力装置104を用いて動作モードを切り替えることができる。具体的には、例えばマウスを用いて「スケジュール実行」又は「手動」というラベルをクリックすることによって、動作モードを切り替える指示を入力することができる。このユーザの指示に基づいて、条件設定部304(図3)は、後述する選択順位付け条件テーブル303(図26)の動作モード格納欄2605(図26)に動作モードを登録する。
またプール間移動欄524には、移動候補選択順位付け部309(図3)が移動案の選択と優先順位付けを行う際に利用する選択及び順位付けの条件のうち、ファイルシステムの移動を異なるプール間に跨って実施すべきか否かという条件についての選択状態が表示される。具体的には、異なるプール間に跨って実施すべきという選択肢である「YES」に対応付けられたラジオボタンと、異なるプール間にまたがって実施すべきではないという選択肢である「NO」に対応付けられたラジオボタンとのうちのそのとき選択されている側のラジオボタンに黒丸が表示される。
この場合において、ユーザは、ストレージ管理クライアント103の入力装置104を用いてプール間移動可否の選択を切り替えることができる。具体的には、例えばマウスを用いて「YES」又は「NO」のラベルをクリックすることによって、プール間移動可否の状態を切り替える指示を入力することができる。このユーザの指示に基づいて、条件設定部304は、後述する選択順位付け条件テーブル303(図26)のプール間移動可否フラグ格納欄2603(図26)にプール間移動可否の状態を登録する。
計算機システム100では、ストレージ管理ソフトウェア132の動作モードが「手動」である場合に、ユーザの指示操作を契機としてファイルシステムの移動処理が実行されるが、「移動実行」ボタン525はこの指定操作を入力するためのボタンである。ユーザは、ストレージ管理クライアント103の入力装置104を用いて「移動実行」ボタン525を操作することによって(具体的には、例えばマウスを用いてボタンをクリックすることによって)、ファイルシステム移動制御部321を起動することができる。
一方、図6は、図5に示した移動案表示画面500において、ユーザがストレージ管理クライアント103の入力装置104を用いてプール間移動欄524の「NO」であった選択状態を「YES」に変更した後に、移動案表示部311によって表示される更新後の移動案表示画面500の一例を示す。
ユーザが設定変更したプール間移動可否の状態は、条件設定部304によって後述する選択順位付け条件テーブル303(図26)のプール間移動可否フラグ格納欄2603(図26)に登録される。さらに、ユーザの設定変更操作を契機としてストレージ管理クライアント103から起動された移動候補選択順位付け部309が、変更された選択順位付け条件テーブル303に基づいて移動候補の選択と優先順位付けを再実行した結果をファイルシステム移動制御テーブル310に再登録し、移動案表示部311が登録された変更後の移動案をストレージ管理クライアント103の表示装置105に表示する。図6は、このとき表示される移動案表示画面500の一例を示している。
図6において、変更後の移動案一覧テーブル501では、例えば、5行目の空き回収欄519において「YES」が選択されている状態である。これは、図5の段階では移動の対象外であった「D」というホストサーバ404の「H」というファイルシステム430及び「I」というファイルシステム431のグループが移動の対象に変わったことを表す。これらのファイルシステム430,431の総使用容量が「125」GBであり、「C」というプール466の空き容量が「117」GBしかなかったため、プール間移動が不可の場合は移動できなかったが、「B」というプール465の空き容量が「276」GBであるため、プール間移動が可の場合は当該プール465を使うことによって移動が可能になるためである。
なお、図6の移動案一覧テーブル501の3行目のプール空き容量表示欄517に表示されている「B」というプール465の空き容量である「241」GBは、3行目に対応するファイルシステム427の移動を行う前の値である。その移動後には、未使用の「35」GB(=218GB−183GB)分の記憶領域が回収されるため、「B」というプール465の空き容量は276GB(=241GB+35GB)に増加する。
ファイルシステムの移動前後の各プールの空き容量は、移動候補選択順位付け部309によって計算され、後述するファイルシステム移動制御テーブル310(図28)のPOOL_A移動前プール空き容量格納欄2806、POOL_A移動後プール空き容量格納欄2807、POOL_B移動前プール空き容量格納欄2808、POOL_B移動後プール空き容量格納欄2809、POOL_C移動前プール空き容量格納欄2810、及びPOOL_C移動後プール空き容量格納欄2811に格納される。図28では例えば、3行目に「B」というプール465の空き容量が「241」GBから「276」GBに増加することが記録されているが、これは図5(及び図6も同様)の移動案表示画面500における移動案一覧テーブル501の3行目に対応する。
なお、移動案表示部311によって表示される移動案表示画面500の他の実施の形態を図7〜図9に示す。
図7は、ファイルシステムごとの移動案を表示する移動案表示画面700を示している。この移動案表示画面700は、移動案一覧テーブル701から構成される。また移動案一覧テーブル701は、ホストサーバ表示欄702、ファイルシステム名称表示欄703、ファイルシステム使用容量表示欄704、ストレージ装置表示欄705、仮想論理ボリューム表示欄706、プール表示欄707、履歴表示欄708及び空き回収欄709から構成されている。
このうちホストサーバ表示欄702、ファイルシステム名称表示欄703、ファイルシステム使用容量表示欄704、ストレージ装置表示欄705、プール表示欄707、履歴表示欄708、空き回収欄709には、図5について上述した移動案一覧テーブル500のホストサーバ表示欄505、ファイルシステム名称表示欄506、ファイルシステム使用容量表示欄507、ストレージ装置表示欄509、プール名称表示欄516、履歴表示欄518及び空き回収欄519と同様の情報が表示される。また仮想論理ボリューム表示欄706には、同じ行のファイルシステム名称欄703に名称が格納されたファイルシステムと対応付けられたすべての仮想論理ボリュームの名称が表示される。さらに、仮想論理ボリューム表示欄706に表示される仮想論理ボリュームの名称と、プール表示欄707に表示されるプールの名称にはそれぞれハイパーリンク(下線により表示)が設定されており、ストレージ管理クライアント103の入力装置104(図1)を用いてこのハイパーリンクを操作することによって、関連画面の表示と、該当情報の表示行への入力カーソルの位置付けを指示することができる。具体的には、例えばマウスを用いて仮想論理ボリューム表示欄706に表示される仮想論理ボリュームの名称の表示箇所をクリックすることによって、移動案表示画面800(図8)の表示と、該当仮想論理ボリュームの表示行への入力カーソルの位置付けを指示することができる。また、プール表示欄707に表示されるプールの名称の表示箇所をマウスでクリックすることによって、移動案表示画面900(図9)の表示と、該当プールの表示行への入力カーソルの位置付けを指示することができる。
また図8は、仮想論理ボリュームごとの移動案を表示する移動案表示画面800を示している。この移動案表示画面800は、移動案一覧テーブル801から構成される。また移動案一覧テーブル801は、ストレージ装置表示欄802、仮想論理ボリューム名称表示欄803、仮想論理ボリューム定義容量表示欄804、仮想論理ボリューム使用容量表示欄805、プール表示欄806、ホストサーバ表示欄807、ファイルシステム表示欄808及び履歴表示欄809から構成されている。
このうちストレージ装置表示欄802、仮想論理ボリューム名称表示欄803、仮想論理ボリューム定義容量表示欄804、仮想論理ボリューム使用容量表示欄805、プール表示欄806、ホストサーバ表示欄807及び履歴表示欄809には、図5について上述した移動案一覧テーブル500のストレージ装置表示欄509、仮想論理ボリューム名称表示欄510、仮想論理ボリューム定義容量表示欄511、仮想論理ボリューム使用容量表示欄512、プール名称表示欄516、ホストサーバ表示欄505及び履歴表示欄518と同様の情報が表示される。またファイルシステム表示欄808には、同じ行の仮想論理ボリューム名称表示欄803に名称が格納された仮想論理ボリュームと対応付けられたすべてのファイルシステムの名称が表示される。さらに、プール表示欄806に表示されるプールの名称と、ファイルシステム表示欄808に表示されるファイルシステムの名称にはそれぞれハイパーリンク(下線により表示)が設定されており、ストレージ管理クライアント103の入力装置104(図1)を用いてこのハイパーリンクを操作することによって、関連画面の表示と、該当情報の表示行への入力カーソルの位置付けを指示することができる。具体的には、例えばマウスを用いてプール表示欄806に表示されるプールの名称の表示箇所をクリックすることによって、移動案表示画面900(図9)の表示と、該当プールの表示行への入力カーソルの位置付けを指示することができる。また、ファイルシステム表示欄808に表示されるファイルシステムの名称の表示箇所をマウスでクリックすることによって、移動案表示画面700(図7)の表示と、該当ファイルシステムの表示行への入力カーソルの位置付けを指示することができる。
また図9は、プールごとの移動案を表示する移動案表示画面900を示している。この移動案表示画面900は、移動案一覧テーブル901のみから構成される。また移動案一覧テーブル901は、ストレージ装置表示欄902、プール名称表示欄903、プール総容量表示欄904、プール使用容量表示欄905、プール空き容量表示欄906、仮想論理ボリューム表示欄907、ホストサーバ表示欄908、ファイルシステム表示欄909及び履歴表示欄910から構成されている。
このうちストレージ装置表示欄902、プール名称表示欄903、プール総容量表示欄904、プール使用容量表示欄905、プール空き容量表示欄906、ホストサーバ表示欄908及び履歴表示欄910には、図5について上述した移動案一覧テーブル500のストレージ装置表示欄509、プール名称表示欄516、プール空き容量表示欄517、ホストサーバ表示欄505及び履歴表示欄518と同様の情報が表示される。また仮想論理ボリューム表示欄907には、同じ行のプール名称欄903に名称が格納されたプールと対応付けられたすべての仮想論理ボリュームの名称が表示され、ファイルシステム欄909には、当該プールと対応付けられたすべてのファイルシステムの名称が表示される。さらに、仮想論理ボリューム表示欄907に表示される仮想論理ボリュームの名称と、ファイルシステム表示欄909に表示されるファイルシステムの名称にはそれぞれハイパーリンク(下線により表示)が設定されており、ストレージ管理クライアント103の入力装置104(図1)を用いてこのハイパーリンクを操作することによって、関連画面の表示と、該当情報の表示行への入力カーソルの位置付けを指示することができる。具体的には、例えばマウスを用いて仮想論理ボリューム表示欄907に表示される仮想論理ボリュームの名称の表示箇所をクリックすることによって、移動案表示画面800(図8)の表示と、該当仮想論理ボリュームの表示行への入力カーソルの位置付けを指示することができる。また、ファイルシステム表示欄909に表示されるファイルシステムの名称の表示箇所をマウスでクリックすることによって、移動案表示画面700(図7)の表示と、該当ファイルシステムの表示行への入力カーソルの位置付けを指示することができる。
これら図7〜図9に示す移動案表示画面700,800,900は、移動案表示部311によって別々に表示させることができるものであり、これによりユーザに対してファイルシステム、仮想論理ボリューム又はプールを基準とした移動案を提案することが可能となる。
(4−2)履歴表示画面の構成
次に、統計情報履歴表示部305によって表示される画面の一例を、図10及び図11を参照して説明する。具体的に、図10及び図11は、統計情報履歴表示部305からの指示に従ってストレージ管理クライアント103の表示装置105に表示される画面の例である。
図10は、図5について上述した移動案表示画面500において、移動案一覧テーブル501の1行目の履歴表示欄518に表示された「G」というラベルのボタンが操作された場合に移動案表示画面500上に重ねて表示される第1の履歴表示画面1000の一例を示す。この第1の履歴表示画面1000では、移動案一覧テーブル501の1行目に対応する「D」というファイルシステム及び同ファイルシステムに対応する「E」という仮想論理ボリュームの使用容量の履歴がグラフ形式で表示される。移動案一覧テーブル501の他の行の履歴表示欄518に表示された「G」というラベルのボタンが操作された場合も同様に該当するファイルシステム及び仮想論理ボリュームの使用容量の履歴がグラフ形式で表示される。
また図11は、図5について上述した移動案表示画面500において、移動案一覧テーブル501の1行目の履歴表示欄518に表示された「T」というラベルのボタンが操作された場合に移動案表示画面500上に重ねて表示される第2の履歴表示画面1100の一例を示す。この第2の履歴表示画面1100では、移動案一覧テーブル501の1行目に対応する「D」というファイルシステム及び同ファイルシステムに対応する「E」という仮想論理ボリュームの使用容量の履歴が表形式で表示される。移動案一覧テーブル501の他の行の履歴表示欄518に表示された「T」というラベルのボタンが操作された場合も同様に該当するファイルシステム及び仮想論理ボリュームの使用容量の履歴が表形式で表示される。
(4−3)移動スケジュール画面の構成
次に、移動スケジュール表示部319によって表示される画面の一例を、図12を参照して説明する。具体的には、図12は、移動スケジュール表示部319からの指示に従ってストレージ管理クライアント103の表示装置105に表示される移動スケジュール画面1200の構成例を示す。
移動スケジュール画面1200では、ファイルシステム移動スケジュールテーブル318に格納された移動対象の各ファイルシステムの移動スケジュールが移動スケジュール一覧テーブル1201として一覧表示される。
移動スケジュール一覧テーブル1201は、実行順序表示欄1202、ホストサーバ表示欄1203、ファイルシステム名称表示欄1204、ファイルシステム使用容量表示欄1205、移動元ストレージ装置表示欄1206、移動元仮想論理ボリューム表示欄1207、移動元プール表示欄1208、移動先ストレージ装置表示欄1209、移動先仮想論理ボリューム表示欄1210、移動先プール表示欄1211、移動開始日時表示欄1212、移動終了予定日時表示欄1213及び移動中断日時表示欄1214から構成される。
実行順序表示欄1202には、その行に示された移動スケジュールの実行順序が表示される。この実行順序は、後述するファイルシステム移動制御テーブル310(図28)の移動優先順位格納欄2801から読み出されて表示される。さらに、ファイルシステム移動制御テーブル310の各行に対応するファイルシステム・仮想論理ボリューム対応テーブル308(図27)のファイルシステム識別子リスト格納欄2702に複数のファイルシステムの識別子が格納されている場合は、上記実行順序に枝番号を付加して表示される。
ホストサーバ表示欄1203には、その行に示された移動スケジュールにおいて移動対象となるファイルシステムが存在するホストサーバの名称が表示される。このホストサーバの名称は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)のファイルシステム識別子リスト格納欄2702(図27)に格納されている対応するファイルシステムの識別子から特定される。
ファイルシステム名称表示欄1204及びファイルシステム使用容量表示欄1205には、その行に示された移動スケジュールにおいて移動対象となるファイルシステムの名称及び現在の使用容量がそれぞれ表示される。このファイルシステムの名称は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)のファイルシステム識別子リスト格納欄2702(図27)に格納されている対応するファイルシステムの識別子から特定される。またファイルシステムの使用容量は、後述するファイルシステム統計情報テーブル2301(図23)の使用容量格納欄2304(図23)に格納されている使用容量から特定される。
移動元ストレージ装置表示欄1206、移動元仮想論理ボリューム表示欄1207及び移動元プール表示欄1208には、それぞれその行に示された移動スケジュールにおいて移動対象となるファイルシステムが格納されているストレージ装置の名称と、そのファイルシステムが割り当てられている仮想論理ボリュームの名称と、その仮想論理ボリュームが対応付けられているプールの名称とがそれぞれ表示される。これらの情報は、後述するファイルシステム・仮想論理ボリューム対応テーブル308(図27)の論理ボリューム識別子リスト格納欄2703に格納されたその論理ボリュームの識別子から特定、又はその識別子に基づいてリソース構成情報306に格納された構成情報を利用した検索により検出されて表示される。
また移動先ストレージ装置表示欄1209、移動先仮想論理ボリューム表示欄1210及び移動先プール表示欄1211には、それぞれその行に示された移動スケジュールにおいて移動対象となるファイルシステムの移動先のストレージ装置の名称と、そのファイルシステムの移動先の仮想論理ボリュームの名称と、その仮想論理ボリュームが対応付けられているプールの名称とがそれぞれ表示される。これらの情報は、ファイルシステム移動制御テーブル310(図28)の対応する移動先論理ボリューム識別子リスト格納欄2805及び使用プール識別子2804に格納された識別子から特定される。
さらに移動開始日時表示欄1212、移動終了予定日時表示欄1213及び移動中断日時表示欄1214には、それぞれその行に示された移動スケジュールにおいて移動対象となるファイルシステムの移動が開示される日時(移動開始日時)、当該移動が終了する予定の日時(移動終了予定日時)、及び移動終了予定日時に移動が終了しなかった場合に、移動が中断される日時が表示される。これらの日時としては、後述するファイルシステム移動スケジュール318(図31)の対応する行の移動開始日時格納欄3102(図31)、移動終了予定日時格納欄3103(図31)及び移動中断日時格納欄3104(図31)にそれぞれ格納された日時が読み出されて表示される。
従って、図12では、「B」というホストサーバの「D」という使用容量が「52」GBのファイルシステムが移動対象となっており、その移動元のストレージ装置、仮想論理ボリューム及びプールの識別子はそれぞれ「A」、「E」及び「A」であり、その移動先のストレージ装置、仮想論理ボリューム及びプールの識別子はそれぞれ「A」、「V」及び「A」であり、移動開始日時は2007年9月2日の午前3時0分(「2007/9/2 03:00」)、移動終了予定日時は2007年9月2日の午前3時17分(「2007/9/2 03:17」)、移動中断日時は2007年9月2日の午前3時30分(「2007/9/2 03:30」)であることが示されている。
(5)各種情報及びテーブルの構成
(5−1)リソース構成情報の構成
次に、ストレージ管理ソフトウェア132が使用するリソース構成情報306のテーブル構成及びテーブル構造の一例を、図13〜図22を参照して説明する。
リソース構成情報306は、アプリケーション・ファイルシステム間関連テーブル1301(図13)、ファイルシステム・論理デバイス間関連テーブル1401(図14)、ファイルシステム・VMボリューム間関連テーブル1501(図15)、VMボリューム・デバイスグループ間関連テーブル1601(図16)、デバイスグループ・論理デバイス間関連テーブル1701(図17)、論理デバイス・論理ボリューム間関連テーブル1801(図18)、論理ボリュームテーブル1901(図19)、複合論理ボリューム・要素論理ボリューム間関連テーブル2001(図20)、仮想論理ボリューム・プール間関連テーブル2101(図21)及びプールテーブル2201(図22)から構成される。これらのテーブルは、エージェント情報収集部301がストレージ監視エージェント140、ホスト監視エージェント126及びアプリケーション監視エージェント123から収集した情報、並びに、アプリケーション実行管理情報収集部313がアプリケーション実行管理ソフトウェア112から収集した情報に基づいて作成される。
アプリケーション・ファイルシステム間関連テーブル1301は、アプリケーション及びファイルシステム間のデータ入出力による依存関係を管理するためのテーブルであり、図13に示すように、アプリケーション識別子格納欄1302及びファイルシステム識別子格納欄1303からなる。アプリケーション・ファイルシステム間関連テーブル1301の各1行は、アプリケーション及びファイルシステム間のデータ入出力関係の1つに対応する。
かかるアプリケーション・ファイルシステム間関連テーブル1301において、アプリケーション識別子格納欄1302には、アプリケーションの識別子が格納され、ファイルシステム識別子格納欄1303には、該当アプリケーションがデータ入出力要求を発行するファイルシステムの識別子が格納される。
従って、例えば図13の1行目には、「AP_A」というアプリケーション405(図4)が「FS_A」というファイルシステム423(図4)に対してデータ入出力要求を発行する関係にあることが示されている。
アプリケーション・ファイルシステム間関連テーブル1301は、エージェント情報収集部301がアプリケーション監視エージェント123から収集した情報と、アプリケーション実行管理情報収集部313がアプリケーション実行管理ソフトウェア112から収集した情報とに基づいて作成される。
また、ファイルシステム・論理デバイス間関連テーブル1401は、ファイルシステムとそのファイルシステムが割り当てられる論理デバイスの関係を管理するためのテーブルであり、図14に示すように、ファイルシステム識別子格納欄1402及び論理デバイス識別子格納欄1403からなる。ファイルシステム・論理デバイス間関連テーブル1401の各1行は、ファイルシステム及び論理デバイスの割り当て関係の1つに対応する。
かかるファイルシステム・論理デバイス間関連テーブル1401において、ファイルシステム識別子格納欄1402には、ファイルシステムの識別子が格納され、論理デバイス識別子格納欄1403には、該当ファイルシステムが割り当てられた論理デバイスの識別子が格納される。
従って、例えば図14の1行目には、「FS_A」というファイルシステム423(図4)が「DEV_A」という論理デバイス438(図4)に割り当てられているという関係が示されている。
ファイルシステム・論理デバイス間関連テーブル1401は、エージェント情報収集部301がホスト監視エージェント126を経由してファイル管理システム124から収集した情報に基づいて作成される。
ファイルシステム・VMボリューム間関連テーブル1501は、ファイルシステムとそのファイルシステムが割り当てられるVMボリュームの関係を管理するためのテーブルであり、図15に示すように、ファイルシステム識別子格納欄1502及びVMボリューム識別子格納欄1503からなる。ファイルシステム・VMボリューム間関連テーブル1501の各1行は、ファイルシステムとVMボリュームの割り当て関係の1つに対応する。
かかるファイルシステム・VMボリューム間関連テーブル1501において、ファイルシステム識別子格納欄1502には、対応するファイルシステムの識別子が格納され、VMボリューム識別子格納欄1503には、該当ファイルシステムが割り当てられたVMボリュームの識別子が格納される。
従って、例えば図15の1行目には、「FS_F」というファイルシステム428(図4)が「VM_VOL_A」というVMボリューム432(図4)に割り当てられているという関係が示されている。
ファイルシステム・VMボリューム間関連テーブル1501は、エージェント情報収集部301がホスト監視エージェント126を経由してボリューム管理ソフトウェア125から収集した情報に基づいて作成される。
VMボリューム・デバイスグループ間関連テーブル1601は、VMボリュームとそのVMボリュームが割り当てられるデバイスグループの関係を管理するためのテーブルであり、図16に示すように、VMボリューム識別子格納欄1602及びデバイスグループ識別子格納欄1603からなる。VMボリューム・デバイスグループ間関連テーブル1601の各1行は、VMボリュームとデバイスグループの割り当て関係の1つに対応する。
このVMボリューム・デバイスグループ間関連テーブル1601において、VMボリューム識別子格納欄1602には、VMボリュームの識別子が格納され、デバイスグループ識別子格納欄1603には、該当VMボリュームが割り当てられたデバイスグループの識別子が格納される。
従って、例えば図16の1行目には、「VM_VOL_A」というVMボリューム432(図4)が「DEV_GR_A」というデバイスグループ436(図4)に割り当てられているという関係が示されている。
VMボリューム・デバイスグループ間関連テーブル1601は、エージェント情報収集部301がホスト監視エージェント126を経由してボリューム管理ソフトウェア125から収集した情報に基づいて作成される。
デバイスグループ・論理デバイス間関連テーブル1701は、デバイスグループとそのデバイスグループが割り当てられる論理デバイスの関係を管理するためのテーブルであり、図17に示すように、デバイスグループ識別子格納欄1702及び論理デバイス識別子格納欄1703からなる。デバイスグループ・論理デバイス間関連テーブル1701の各1行は、デバイスグループと論理デバイスの割り当て関係の1つに対応する。
デバイスグループ・論理デバイス間関連テーブル1701において、デバイスグループ識別子格納欄1702には、デバイスグループの識別子が格納され、論理デバイス識別子格納欄1703には、該当デバイスグループが割り当てられた論理デバイスの識別子が格納される。
従って、例えば図17の1行目には、「DEV_GR_A」というデバイスグループ436(図4)が「DEV_F」という論理デバイス443(図4)に割り当てられているという関係が示されている。
デバイスグループ・論理デバイス間関連テーブル1701は、エージェント情報収集部301がホスト監視エージェント126を経由してボリューム管理ソフトウェア125から収集した情報に基づいて作成される。
論理デバイス・論理ボリューム間関連テーブル1801は、ホストサーバ側の論理デバイスとその論理デバイスが割り当てられるストレージ装置側の論理ボリュームとの関係を管理するためのテーブルであり、図18に示すように、論理デバイス識別子格納欄1802及び論理ボリューム識別子格納欄1803からなる。論理デバイス・論理ボリューム間関連テーブル1801の各1行は、論理デバイスと論理ボリュームの対応関係の1つに対応する。
論理デバイス・論理ボリューム間関連テーブル1801において、論理デバイス識別子格納欄1802には、論理デバイスの識別子が格納され、論理ボリューム識別子格納欄1803には、該当論理デバイスに対応する論理ボリュームの識別子が格納される。
従って、例えば図18の1行目には、「DEV_A」という論理デバイス438(図4)が「VOL_B」という論理ボリューム452(図4)に対応するという関係が示されている。
論理デバイス・論理ボリューム間関連テーブル1801は、エージェント情報収集部301がホスト監視エージェント126から収集した情報に基づいて作成される。
論理ボリュームテーブル1901は、ストレージ装置に所属する各論理ボリューム(すなわち、実論理ボリューム、仮想論理ボリューム、複合論理ボリューム又はプールボリューム)の属性を管理するためのテーブルであり、図19に示すように、論理ボリューム識別子格納欄1902、ボリューム種別格納欄1903及び定義容量格納欄1904からなる。論理ボリュームテーブル1901の各1行は、1つの論理ボリュームに対応する。
論理ボリュームテーブル1901において、論理ボリューム識別子格納欄1902には、論理ボリュームの識別子が格納され、ボリューム種別格納欄1903には、該当論理ボリュームの種別を表す種別コードが格納される。種別コードには、実論理ボリュームを示す「実」、仮想論理ボリュームを示す「仮想」、複合論理ボリュームを示す「複合」、又は、プールボリュームを示す「プール」がある。また定義容量格納欄1904には、該当論理ボリュームに定義された容量を示す値が格納される。
従って、例えば図19の1行目には、「VOL_A」という論理ボリューム451(図4)が、複合論理ボリュームであり、かつ定義容量が600GBであることが示されている。
論理ボリュームテーブル1901は、エージェント情報収集部301がストレージ監視エージェント140を経由してストレージ装置144の制御部147から収集した情報に基づいて作成される。
複合論理ボリューム・要素論理ボリューム間関連テーブル2001は、複合論理ボリュームと、それを構成する論理ボリュームとの関係を管理するためのテーブルである。複合論理ボリューム・要素論理ボリューム間関連テーブル2001は、図20に示すように、親論理ボリューム識別子格納欄2002及び子論理ボリューム識別子格納欄2003からなる。
複合論理ボリューム・要素論理ボリューム間関連テーブル2001において、親論理ボリューム識別子格納欄2002には、複合論理ボリュームの識別子が格納され、子論理ボリューム識別子格納欄2003には、該当複合論理ボリュームを構成する論理ボリュームの識別子が格納される。
従って、例えば図20では、「VOL_A」という複合論理ボリューム451(図4)が、「VOL_F」、「VOL_G」、及び「VOL_H」という3つの論理ボリューム456、457及び458によって構成されていることが示されている。
複合論理ボリューム・要素論理ボリューム間関連テーブル2001は、エージェント情報収集部301がストレージ監視エージェント140を経由してストレージ装置144の制御部147から収集した情報に基づいて作成される。
仮想論理ボリューム・プール間関連テーブル2101は、仮想論理ボリュームとその仮想論理ボリュームが割り当てられるプールとの関係を管理するためのテーブルであり、図21に示すように、論理ボリューム識別子格納欄2102及びプール識別子格納欄2103からなる。仮想論理ボリューム・プール間関連テーブル2101の各1行は、仮想論理ボリュームとプールの割り当てに関する関係の1つに対応する。
仮想論理ボリューム・プール間関連テーブル2101において、論理ボリューム識別子格納欄2102には、仮想論理ボリュームの識別子が格納され、プール識別子格納欄2103には、該当仮想論理ボリュームが割り当てられたプールの識別子が格納される。
従って、例えば図21の1行目には、「VOL_C」という仮想論理ボリューム453(図4)が「POOL_A」というプール464(図4)に割り当てられていることが示されている。
仮想論理ボリューム・プール間関連テーブル2101は、エージェント情報収集部301がストレージ監視エージェント140を経由してストレージ装置144の仮想ボリューム管理制御部149から収集した情報に基づいて作成される。
プールテーブル2201は、ストレージ装置に所属する各プールの属性を記録するためのテーブルである。プールテーブル2201は、図22に示すように、プール識別子格納欄2202及び総容量格納欄2203からなる。プールテーブル2201の各1行は、1つのプールに対応する。
プールテーブル2201において、プール識別子格納欄2202には、プールの識別子が格納され、総容量格納欄2203には、該当プールの総容量を示す値が格納される。プールの総容量は、プールを構成するプールボリュームの容量の合計値と一致する。
従って、例えば図22の1行目には、「POOL_A」というプール464(図4)の総容量が「300」GBであることが示されている。
プールテーブル2201は、エージェント情報収集部301がストレージ監視エージェント140を経由してストレージ装置144の仮想ボリューム管理制御部149から収集した情報に基づいて作成される。
(5−2)リソース統計情報の構成
次に、ストレージ管理ソフトウェア132が使用するリソース統計情報302のテーブル構成及びテーブル構造の一例を、図23〜25を参照して説明する。
リソース統計情報302は、ファイルシステム統計情報テーブル2301(図23)、仮想論理ボリューム統計情報テーブル2401(図24)及びプール統計情報テーブル2501(図25)から構成される。これらのテーブルは、エージェント情報収集部301がストレージ監視エージェント140、ホスト監視エージェント126及びアプリケーション監視エージェント123から収集した情報に基づいて作成される。
ファイルシステム統計情報テーブル2301は、所定のタイミングで(例えば所定の周期で)測定されたファイルシステムの統計値を管理するためのテーブルであり、図23に示すように、日時格納欄2302、ファイルシステム識別子格納欄2303及び使用容量格納欄2304からなる。ファイルシステム統計情報テーブル2301の各1行は、各ファイルシステムのある日時における統計値を表す。
ファイルシステム統計情報テーブル2301において、日時格納欄2302には、統計値を収集した日時が格納され、ファイルシステム識別子格納欄2303には、統計値の収集対象となったファイルシステムの識別子が格納される。また使用容量格納欄2304には、該当ファイルシステムについて収集した使用容量の値が格納される。
従って、例えば図23の1行目には、2007年5月11日の午前10時0分(「2007/5/11 10:00」)に、「FS_A」というファイルシステム423(図4)に関する使用容量の値として「51」GBが取得されたことが示されている。
ファイルシステム統計情報テーブル2301は、エージェント情報収集部301がホスト監視エージェント126を経由してファイル管理システム124から収集した情報に基づいて作成される。
仮想論理ボリューム統計情報テーブル2401は、所定のタイミングで(例えば所定の周期で)測定された仮想論理ボリュームの統計値を管理するためのテーブルであり、図24に示すように、日時格納欄2402、論理ボリューム識別子格納欄2403及び使用容量格納欄2404からなる。仮想論理ボリューム統計情報テーブル2401の各1行は、各仮想論理ボリュームのある日時における統計値を表す。
仮想論理ボリューム統計情報テーブル2401において、日時格納欄2402には、統計値を収集した日時が格納され、論理ボリューム識別子格納欄2403には、統計値の収集対象となった仮想論理ボリュームの識別子が格納される。また使用容量格納欄2404には、該当仮想論理ボリュームについて収集した使用容量の値が格納される。
従って、例えば図24の1行目には、2007年5月11日の午前10時0分(「2007/5/11 10:00」)に、「VOL_C」という仮想論理ボリューム453(図4)に関する使用容量の値として「52」GBが取得されたことが示されている。
仮想論理ボリューム統計情報テーブル2401は、エージェント情報収集部301がストレージ監視エージェント140を経由しストレージ装置144の制御部147から収集した情報に基づいて作成される。
プール統計情報テーブル2501は、所定のタイミングで(例えば所定の周期で)測定されたプールの統計値を管理するためのテーブルであり、図25に示すように、日時格納欄2502、プール識別子格納欄2503及び使用容量格納欄2504からなる。プール統計情報テーブル2501の各1行は、各プールのある日時における統計値を表す。
プール統計情報テーブル2501において、日時格納欄2502には、統計値を収集した日時が格納され、プール識別子格納欄2503には、統計値の収集対象となったプールの識別子が格納される。また使用容量格納欄2504には、該当プールについて収集した使用容量の値が格納される。
従って、例えば図25の1行目には、2007年5月11日の午前10時0分に、「POOL_A」というプール464(図4)に関する使用容量の値として「108」GBが取得されたことが示されている。
プール統計情報テーブル2501は、エージェント情報収集部301がストレージ監視エージェント140を経由してストレージ装置144の制御部147から収集した情報に基づいて作成される。なおプールの使用容量は、可能であれば仮想ボリューム管理制御部149から直接取得する方法をとってもよいし、仮想論理ボリューム統計情報テーブル2401に取得された仮想論理ボリュームの使用容量を、所属するプール毎に合計して算出する方法をとってもよい。
(5−3)選択順位付け条件テーブルの構成
次に、ストレージ管理ソフトウェア132が使用する選択順位付け条件テーブル303について説明する。
図26は、選択順位付け条件テーブル303の構成例を示す。選択順位付け条件テーブル303は、選択及び順位付けの条件を管理するためのテーブルであり、優先基準格納欄2601、プール空き容量チェックフラグ格納欄2602、プール間移動可否フラグ格納欄2603、周期性チェックフラグ格納欄2604及び動作モード格納欄2605からなる。
これら優先基準格納欄2601、プール空き容量チェックフラグ格納欄2602、プール間移動可否フラグ格納欄2603、周期性チェックフラグ格納欄2604及び動作モード格納欄2605には、図5について上述した移動案表示画面500の条件表示領域503に設けられた優先基準欄520、プール空き容量チェック欄521、周期性チェック欄522、動作モード欄523及びプール間移動欄524においてユーザにより選択された対応する条件の選択結果(対応するコードやフラグ)が格納される。
例えば、図26には、移動候補選択順位付け部309(図3)が移動案の選択と優先順位付けを行う際の選択及び順位付けの条件として、優先基準については「未使用容量」が選択され(優先基準格納欄2601参照)、プール空き容量のチェックの要否については必要とする選択肢が選択され(プール空き容量チェックフラグ格納欄2602参照)、異なるプール間に跨ったファイルシステムの移動の可否については不可という選択肢が選択され(プール間移動可否フラグ格納欄2603参照)、ファイルシステムの使用容量の経時的なな増減のチェックの要否については不要とする選択肢が選択され(周期性チェックフラグ格納欄2604参照)、ストレージ管理ソフトウェア132の動作モードについては「スケジュール実行」という動作モードが選択された場合(動作モード格納欄2605参照)の様子が示されている。
選択順位付け条件テーブル303の優先基準格納欄2601、プール空き容量チェックフラグ格納欄2602、プール間移動可否フラグ格納欄2603、周期性チェックフラグ格納欄2604及び動作モード格納欄2605に対する対応する条件の設定は、上述のように移動案表示画面500におけるユーザの選択に応じて条件設定部304が行う。
(5−4)ファイルシステム・仮想論理ボリューム対応テーブルの構成
図27は、ファイルシステム・仮想論理ボリューム対応テーブル308の構成例を示す。ファイルシステム・仮想論理ボリューム対応テーブル308は、同一のデータ入出力経路上にあるファイルシステム及び仮想論理ボリュームのグループを管理するためのテーブルであり、図27に示すように、FS・VLV対応識別番号格納欄2701、ファイルシステム識別子リスト格納欄2702、論理ボリューム識別子リスト格納欄2703、ファイルシステム総使用容量格納欄2704、仮想論理ボリューム総使用容量格納欄2705、仮想論理ボリューム未使用容量格納欄2706及び仮想論理ボリューム未使用率格納欄2707からなる。ファイルシステム・仮想論理ボリューム対応テーブル308の各1行は、同一のデータ入出力経路上にあるファイルシステムのグループ及び仮想論理ボリュームのグループからなる対の1つに対応する。
ファイルシステム・仮想論理ボリューム対応テーブル308において、FS・VLV対応識別番号格納欄2701には、本ファイルシステム・仮想論理ボリューム対応テーブル308の登録行を一意に識別できる番号が格納される。またファイルシステム識別子リスト格納欄2702には、同一のデータ入出力経路上にあるファイルシステム及び仮想論理ボリュームのグループの対のうち、前者に属するファイルシステムの識別子のリストが格納される。
論理ボリューム識別子リスト格納欄2703には、同一のデータ入出力経路上にあるファイルシステム及び仮想論理ボリュームのグループの対のうち、後者に属する仮想論理ボリュームの識別子のリストが格納され、ファイルシステム総使用容量格納欄2704には、グループに属するファイルシステムの使用容量の合計値(総使用容量)が格納される。
さらに仮想論理ボリューム総使用容量格納欄2705には、グループに属する仮想論理ボリュームの使用容量の合計値が格納され、仮想論理ボリューム未使用容量格納欄2706には、仮想論理ボリューム総使用容量格納欄2705の値とファイルシステム総使用容量格納欄2704の値の差が格納される。この値は、グループに属する仮想論理ボリュームが使用する記憶領域のうち、ファイルシステムによって使用されていない部分の容量を意味する。
さらに仮想論理ボリューム未使用率格納欄2707には、仮想論理ボリューム未使用容量格納欄2706の値とファイルシステム総使用容量格納欄2704の値の比が格納される。この値は、ファイルシステムの移動によって得られるメリット(回収される記憶容量)とコスト(複写を要するデータの容量)の比を意味する。
従って、例えば図27の5行目には、「D」というホストサーバ404(図4)上の「FS_F」というファイルシステム428(図4)又は「FS_G」というファイルシステム429(図4)のいずれかを通るデータ入出力経路が、ストレージ装置450(図4)内の「VOL_I」という仮想論理ボリューム459(図4)又は「VOL_J」という仮想論理ボリューム460(図4)のいずれかを通るという関係が示されている。
さらに図27の5行目には、「FS_F」というファイルシステム428(図4)及び「FS_G」というファイルシステム429(図4)の使用容量の合計が141GBであり、「VOL_I」という仮想論理ボリューム459(図4)及び「VOL_J」という仮想論理ボリューム460(図4)の使用容量の合計が179GBであり、「VOL_I」という仮想論理ボリューム459(図4)及び「VOL_J」という仮想論理ボリューム460(図4)が使用する記憶領域のうち「FS_F」というファイルシステム428(図4)及び「FS_G」というファイルシステム429(図4)によって使用されていない部分の容量が38GB(=179GB−141GB)であり、ファイルシステムの移動によって回収される記憶容量と複写を要するデータ容量の比が27%(=38GB÷141GB)であることが示されている。
ファイルシステム・仮想論理ボリューム対応テーブル308のうちFS・VLV対応識別番号格納欄2701、ファイルシステム識別子リスト格納欄2702及び論理ボリューム識別子リスト格納欄2703の内容は、リソース構成情報306に格納された構成情報に基づいてファイルシステム・仮想論理ボリューム対応検索部307が作成して格納する。また、ファイルシステム・仮想論理ボリューム対応テーブル308のうちファイルシステム総使用容量格納欄2704、仮想論理ボリューム総使用容量格納欄2705、仮想論理ボリューム未使用容量格納欄2706、及び仮想論理ボリューム未使用率格納欄2707の内容は、リソース統計情報302に格納された統計値に基づいて移動候補選択順位付け部309が算出して格納する。
(5−5)ファイルシステム移動制御テーブルの構成
図28は、ファイルシステム移動制御テーブル310の構成例を示す。ファイルシステム移動制御テーブル310は、ファイルシステムの移動案を管理するためのテーブルであり、図28に示すように、移動優先順位格納欄2801、FS・VLV対応識別番号格納欄2802、移動フラグ格納欄2803、使用プール識別子格納欄2804、移動先論理ボリューム識別子リスト格納欄2805、POOL_A移動前空き容量格納欄2806、POOL_A移動後空き容量格納欄2807、POOL_B移動前空き容量格納欄2808、POOL_B移動後空き容量格納欄2809、POOL_C移動前空き容量格納欄2810及びPOOL_C移動後空き容量格納欄2811からなる。ファイルシステム移動制御テーブル310の各1行は、ファイルシステム・仮想論理ボリューム対応テーブル308の対応する行に格納されたファイルシステムのグループに関する移動案に対応する。
ファイルシステム移動制御テーブル310において、移動優先順位格納欄2801には、その行に対応する移動案を実行すべき優先順位が格納される。この優先順位は、移動案表示画面500(図5)の条件表示領域503(図5)においてユーザが設定した優先基準等に基づいて移動候補選択順位付け部309(図3)が決定した対応するファイルシステムのグループの移動優先順位である。
またFS・VLV対応識別番号格納欄2802には、ファイルシステム・仮想論理ボリューム対応テーブル308(図27)のFS・VLV対応識別番号欄2701に格納された番号が格納される。この番号によって、ファイルシステム移動制御テーブル310の各行と、ファイルシステム・仮想論理ボリューム対応テーブル308(図27)の各行との対応がとられる。
さらに使用プール識別子格納欄2804には、移動先の論理ボリュームと対応付けられたプール(つまり移動後のファイルシステムが格納されるプール)の識別子が格納され、移動先論理ボリューム識別子リスト格納欄2805には、移動先となる論理ボリュームの識別子が格納される。この場合において、ファイルシステムが2以上の論理ボリュームに移動される場合には、移動先のすべての論理ボリュームの識別子が格納される。
POOL_A移動前空き容量格納欄2806及びPOOL_A移動後空き容量格納欄2807には、その行の移動案を実行した場合の前後における「POOL_A」というプールの空き容量がそれぞれ格納される。同様に、POOL_B移動前空き容量格納欄2808及びPOOL_B移動後空き容量格納欄2809には、その行の移動案を実行した場合の前後における「POOL_B」というプールの空き容量がそれぞれ格納され、POOL_C移動前空き容量格納欄2810及びPOOL_C移動後空き容量格納欄2811には、その行の移動案を実行した場合の前後における「POOL_C」というプールの空き容量がそれぞれ格納される。
この場合において、各行のPOOL_A移動前空き容量格納欄2806、POOL_B移動前空き容量格納欄2808、POOL_C移動前空き容量格納欄2810にそれぞれ格納される空き容量は、移動優先順位格納欄2801に格納された優先順位の順番でファイルシステムを移動させたときの空き容量である。例えば優先順位が「1」の移動案を実行した場合、移動後の「POOL_A」というプールの空き容量は「104」GBであるため、次の行のPOOL_A移動前空き容量格納欄2806には「104」GBが格納されることとなる。
なお、本実施の形態においては、プールが「POOL_A」〜「POOL_C」の3つのプールが存在することを前提に説明しているため、かかる移動前空き容量格納欄2806,2808,2810や移動後空き容量格納欄2807,2809,2811がこれらのプールにそれぞれ対応付けて3つ設けられている例を示しているが、これらの移動前空き容量格納欄2806,2808,2810や移動後空き容量格納欄2807,2809,2811は、ストレージ装置内に存在するプールにそれぞれ対応させて設けられるため3つ以外の数となる場合もある。
移動フラグ格納欄2803には、その行に対応するファイルシステムのグループを移動できるか否かを表す移動フラグが格納される。具体的には、移動候補選択順位付け部309によりその移動案によるファイルシステムの移動が実際に実行できるか否かが判断され、その判断結果に基づいて、移動を行える場合には「Y」の移動フラグが移動フラグ欄2803に格納され、移動を行えない場合には「N」の移動フラグが移動フラグ欄2803に格納される。なお、図28は、プール間を跨いだファイルシステムの移動を禁止する設定がなされている場合の例を示している。
例えば優先順位が「1」の移動案(ファイルシステム移動制御テーブル310の1行目の移動案)では、ファイルシステム・仮想論理ボリューム対応テーブル308(図27)の対応する行(FS・VLV対応識別番号格納欄の値が「3」の行)を参照すると、移動対象のファイルシステム(「FS_D」)の総使用容量は「52」GBであり、このファイルシステムに対応する仮想論理ボリュームは「VOL_E」という仮想論理ボリュームである。また仮想論理ボリューム・プール間関連テーブル2101(図21)を参照すると、「VOL_E」という仮想論理ボリュームが割り当てられているプールは「POOL_A」というプールであり、その空き容量は、ファイルシステム移動制御テーブル310を参照すると、「63」GBである。従って、この場合には、かかるファイルシステムを移動する前の「POOL_A」というプールの空き容量が当該ファイルシステムの総使用容量よりも大きいため、当該ファイルシステムの移動が可能である。よって、この場合には、ファイルシステム移動制御テーブル310の1行目の移動フラグ格納欄2803に「Y」が格納される。
これに対して優先順位が「5」の移動案(ファイルシステム移動制御テーブル310の5行目の移動案)では、ファイルシステム・仮想論理ボリューム対応テーブル308(図27)の対応する行(FS・VLV対応識別番号格納欄の値が「6」の行)を参照すると、移動対象のファイルシステム(「FS_H」及び「FS_I」)の総使用容量は「125」GBであり、これらファイルシステムに対応する仮想論理ボリュームは「VOL_I」及び「VOL_J」という仮想論理ボリュームである。また仮想論理ボリューム・プール間関連テーブル2101(図21)を参照すると、「VOL_I」及び「VOL_J」という仮想論理ボリュームが割り当てられているプールは「POOL_B」というプールであり、その空き容量は、ファイルシステム移動制御テーブル310を参照すると、「117」GBである。従って、この場合には、かかるファイルシステムを移動する前の「POOL_B」というプールの空き容量が当該ファイルシステムの総使用容量よりも小さいため、当該ファイルシステムの移動はできない。よって、この場合には、ファイルシステム移動制御テーブル310の5行目の移動フラグ格納欄2803に「N」が格納される。
(5−6)アプリケーション実行スケジュールテーブルの構成
図29は、アプリケーション実行スケジュールテーブル314の構成例を示す。アプリケーション実行スケジュールテーブル314は、予め設定された各アプリケーション122(図1)の実行スケジュールを管理するためのテーブルであり、アプリケーション識別子格納欄2901、実行開始日時格納欄2902及び実行終了日時格納欄2903からなる。アプリケーション実行スケジュールテーブル314の各1行は、アプリケーション122の実行スケジュールの1つに対応する。
アプリケーション実行スケジュールテーブル314において、アプリケーション識別子格納欄2901には、処理実行が予定されたアプリケーション122の識別子が格納される。また実行開始日時格納欄2902には、かかる処理の実行開始日時が格納され、実行終了日時格納欄2903には、かかる処理の実行終了日時が格納される。
従って、例えば図29の1行目には、「AP_A」というアプリケーション122について、2007年9月2日の午前0時0分(「2007/9/2 00:00」)に処理を開始し、その処理を2007年9月2日の午前3時0分(「2007/9/2 00:30」)に終了する設定がなされていることが示されている。
アプリケーション実行スケジュールテーブル314のアプリケーション識別子格納欄2901、実行開始日時格納欄2902及び実行終了日時格納欄2903の内容は、アプリケーション実行管理情報収集部313が、アプリケーション実行管理ソフトウェア112(図3)から収集した実行管理情報に基づいて格納する。
(5−7)ファイルシステム使用スケジュールテーブルの構成
図30は、ファイルシステム使用スケジュールテーブル316の構成例を示す。ファイルシステム使用スケジュールテーブル316は、ファイルシステムの使用予定を管理するためのテーブルであり、図30に示すように、ファイルシステム識別子格納欄3001、使用開始日時格納欄3002及び使用終了日時格納欄3003からなる。ファイルシステム使用スケジュールテーブル316の各1行は、ファイルシステムの使用スケジュールの1つに対応する。
ファイルシステム使用スケジュールテーブル316において、ファイルシステム識別子格納欄3001には、アプリケーション122の実行スケジュールに伴って使用されるファイルシステムの識別子が格納される。また実行開始日時格納欄3002には、かかるファイルシステムの使用を開始する予定の日時が格納され、実行終了日時格納欄3003には、かかるファイルシステムの使用を終了する予定の日時が格納される。
従って、例えば図30の1行目には、「FS_A」というファイルシステムについて、2007年9月2日の午前0時0分(「2007/9/2 00:00」)に使用を開始し、2007年9月2日の午前3時0分(「2007/9/2 03:00」)に使用を終了する予定であることが示されている。
ファイルシステム使用スケジュールテーブル316のファイルシステム識別子格納欄3001、使用開始日時格納欄3002及び使用終了日時格納欄3003の内容は、ファイルシステム使用スケジュール作成部315が、アプリケーション実行スケジュールテーブル314と、リソース構成情報306のアプリケーション・ファイルシステム間関連テーブル1301とに基づいて格納する。
(5−8)ファイルシステム移動スケジュールテーブルの構成
図31は、ファイルシステム移動スケジュールテーブル318の構成例を示す。ファイルシステム移動スケジュールテーブル318は、ファイルシステムの移動スケジュールを管理するためのテーブルであり、図31に示すように、ファイルシステム識別子格納欄3101、移動開始日時格納欄3102、移動終了予定日時格納欄3103及び移動中断日時格納欄3104からなる。ファイルシステム移動スケジュールテーブル318の各1行は、ファイルシステムの移動スケジュールの1つに対応する。
ファイルシステム移動スケジュールテーブル318において、ファイルシステム識別子格納欄3101には、移動対象のファイルシステムの識別子が格納される。また移動開始日時格納欄3102には、かかるファイルシステムの移動を開始する予定の日時が格納され、移動終了予定日時格納欄3103には、かかるファイルシステムの移動を終了する予定の日時が格納される。
さらに移動中断日時格納欄3104には、かかるファイルシステムの移動が予定通りに終了しない場合に最大限延長可能な日時が格納される。この日時に至ってもファイルシステムの移動が終了しない場合、当該ファイルシステムの移動は中断される。
従って、例えば図31の1行目には、「FS_D」というファイルシステムについて、2007年9月2日の午前3時0分(「2007/9/2 03:00」)に移動を開始し、2007年9月2日の午前3時17分(「2007/9/2 03:17」)に移動を終了する予定であり、2007年9月2日の午前3時30分(「2007/9/2 03:30」)になっても移動が終了しない場合には、当該移動が中断されることが示されている。
ファイルシステム移動スケジュールテーブル318のファイルシステム識別子格納欄3101、移動開始日時格納欄3102、移動終了予定日時格納欄3103及び移動中断日時格納欄3104の内容は、移動スケジュール作成部317が、リソース統計情報302に格納された統計値、ファイルシステム・仮想論理ボリューム対応テーブル308に格納された対応情報、ファイルシステム移動制御テーブル310に格納された移動案及びファイルシステム使用スケジュールテーブル316に格納されたスケジュールに基づいて格納する。
(6)ストレージ管理ソフトウェアによる各種処理
次に、ストレージ管理ソフトウェア132のプログラムモジュールが実行する各種処理の処理内容を、図32〜図38を参照して説明する。
(6−1)ファイルシステム・仮想論理ボリューム対応検索処理
図32は、ストレージ管理ソフトウェア132を構成するファイルシステム・仮想論理ボリューム対応検索部307により実行される、同一データ入出力経路を共有するファイルシステム及び仮想論理ボリュームのグループを検索して対応付けるファイルシステム・仮想論理ボリューム対応検索処理の処理手順を示す。
このファイルシステム・仮想論理ボリューム対応検索処理は、所定のタイミングで実行される。例えば、ファイルシステム・仮想論理ボリューム対応検索処理は、タイマー等を用いてスケジューリング設定に従って定期的に実行される。このファイルシステム・仮想論理ボリューム対応検索処理は、実際には、ストレージ管理ソフトウェア132を実行するCPU129によって実行される。
ファイルシステム・仮想論理ボリューム対応検索部307は、このファイルシステム・仮想論理ボリューム対応検索処理を開始すると、まず、論理ボリュームテーブル1901(図19)の各行に先頭から順番にアクセスして、今回のファイルシステム・仮想論理ボリューム対応検索処理で未処理の行がなくなり処理を終了するか否かを判断する(SP1)。
そしてファイルシステム・仮想論理ボリューム対応検索部307は、この判断において否定結果を得ると、論理ボリュームテーブル1901から未処理の論理ボリュームに対応する行の行番号を取得する(SP2)。
続いてファイルシステム・仮想論理ボリューム対応検索部307は、論理ボリュームテーブル1901上のステップSP2において行番号を取得した行の論理ボリューム識別子格納欄1902及びボリューム種別格納欄1903にそれぞれ格納されている値を検査する(SP3)。
そしてファイルシステム・仮想論理ボリューム対応検索部307は、かかる論理ボリューム識別子格納欄1902に格納されている値がファイルシステム・仮想論理ボリューム対応テーブル308(図27)の登録済みのいずれかの行の論理ボリューム識別子リスト格納欄2703に格納されたいずれかの値と一致するか、又は、かかるボリューム種別格納欄1903に格納された値が「仮想」以外である場合には、ステップSP1に戻る。
これに対してファイルシステム・仮想論理ボリューム対応検索部307は、かかる論理ボリューム識別子格納欄1902に格納されている値がファイルシステム・仮想論理ボリューム対応テーブル308の登録済みのいずれの行の論理ボリューム識別子リスト格納欄2703に格納されたいずれの値とも一致せず、かつ、かかるボリューム種別格納欄1903に格納された値が「仮想」である場合には、その仮想論理ボリュームをファイルシステム・仮想論理ボリューム対応テーブル308に新規登録する(SP4)。
具体的に、ファイルシステム・仮想論理ボリューム対応検索部307は、まず、ファイルシステム・仮想論理ボリューム対応テーブル308に新たな行を追加し、この後、追加した行のFS・VLV対応識別番号格納欄2701(図27)に、登録済みの他の行と区別可能な未使用の識別番号を格納する。またファイルシステム・仮想論理ボリューム対応検索部307は、論理ボリュームテーブル1901のステップSP2において行番号を取得した行の論理ボリューム識別子格納欄1902に格納されている値をファイルシステム・仮想論理ボリューム対応テーブル308の論理ボリューム識別子リスト格納欄2703(図27)に格納する。
続いてファイルシステム・仮想論理ボリューム対応検索部307は、論理ボリュームテーブル1901のステップSP2において行番号を取得した行の論理ボリューム識別子格納欄1902に格納された値を起点として、リソース間の関連情報をホストサーバ側に順次辿って到達可能なファイルシステムをすべて探し出す。
具体的に、ファイルシステム・仮想論理ボリューム対応検索部307は、まず、論理ボリュームテーブル1901のステップSP2において行番号を取得した行の論理ボリューム識別子格納欄1902に格納された値を、検索対象論理ボリュームの識別子とする。
次に、複合論理ボリューム・要素論理ボリューム間関連テーブル2001(図20)の子論理ボリューム識別子格納欄2003(図20)に格納された値が検索対象論理ボリュームの識別子と一致する行が存在するか否かを調べ、そのような行が存在したときには、その行の親論理ボリューム識別子格納欄2002(図20)に格納された値を改めて検索対象論理ボリュームの識別子とする。
続いて、ファイルシステム・仮想論理ボリューム対応検索部307は、論理デバイス・論理ボリューム間関連テーブル1801(図18)上の、論理ボリューム識別子格納欄1803(図18)に格納されている値が検索対象論理ボリュームの識別子と一致する行を検索し、当該検索により検出した行の論理デバイス識別子格納欄1802(図18)に格納されている値を検索対象論理デバイスの識別子とする。
次に、ファイルシステム・仮想論理ボリューム対応検索部307は、ファイルシステム・論理デバイス間関連テーブル1401(図14)上の、論理デバイス識別子格納欄1403(図14)に格納されている値が検索対象論理デバイスの識別子と一致する行を検索する。対応する行が存在するときには、その行のファイルシステム識別子格納欄1402(図14)に格納された値が求めるファイルシステムの識別子である。
これに対して、ファイルシステム・仮想論理ボリューム対応検索部307は、ファイルシステム・論理デバイス間関連テーブル1401に該当行が存在しないときには、デバイスグループ・論理デバイス間関連テーブル1701(図17)の論理デバイス識別子格納欄1703(図17)に格納された値が検索対象論理デバイスの識別子と一致する行を探し出し、該当行のデバイスグループ識別子格納欄1702(図17)に格納された値を検索対象デバイスグループの識別子とする。
次に、ファイルシステム・仮想論理ボリューム対応検索部307は、VMボリューム・デバイスグループ間関連テーブル1601(図16)のデバイスグループ識別子格納欄1603(図16)に格納された値が検索対象デバイスグループの識別子と一致する行をすべて探し出し、すべての該当行のVMボリューム識別子格納欄1602(図16)に格納された値を検索対象VMボリュームの識別子とする。
さらにファイルシステム・仮想論理ボリューム対応検索部307は、ファイルシステム・VMボリューム間関連テーブル1501(図15)のVMボリューム識別子格納欄1503(図15)に格納された値がいずれかの検索対象VMボリュームの識別子と一致する行をすべて探し出す。このとき探し出した各該当行のファイルシステム識別子格納欄1502(図15)に格納された値が求めるファイルシステムの識別子である。
そしてファイルシステム・仮想論理ボリューム対応検索部307は、このようにして得られたすべてのファイルシステムの識別子をファイルシステム・仮想論理ボリューム対応テーブル308の対応するファイルシステム識別子リスト格納欄2702(図27)に格納する(SP5)。
続いてファイルシステム・仮想論理ボリューム対応検索部307は、ステップSP5において得られたすべてのファイルシステムを起点とし、リソース間の関連情報をストレージ装置側に順次辿って到達可能な仮想論理ボリュームをすべて探し出す。見つかったすべての仮想論理ボリュームの識別子をファイルシステム・仮想論理ボリューム対応テーブル308の論理ボリューム識別子リスト格納欄2703に格納する(SP6)。
具体的に、ファイルシステム・仮想論理ボリューム対応検索部307は、まず、ステップSP5において識別子が得られたすべてのファイルシステムを検索対象ファイルシステムとして、ファイルシステム・論理デバイス間関連テーブル1401(図14)のファイルシステム識別子格納欄1402(図14)に格納された値が、いずれかの検索対象ファイルシステムの識別子と一致する行をすべて探し出す。そしてファイルシステム・仮想論理ボリューム対応検索部307は、該当行が存在したときには、すべての該当行の論理デバイス識別子格納欄1403(図14)にそれぞれ格納された値を検索対象論理デバイスの識別子とする。
これに対してファイルシステム・仮想論理ボリューム対応検索部307は、ファイルシステム・論理デバイス間関連テーブル1401に該当行が存在しなかったときには、ファイルシステム・VMボリューム間関連テーブル1501(図15)のファイルシステム識別子格納欄1502(図15)に格納された値がいずれかの検索対象ファイルシステムの識別子と一致する行をすべて探し出す。そしてファイルシステム・仮想論理ボリューム対応検索部307は、そのとき探し出したすべての該当行のVMボリューム識別子格納欄1503(図15)に格納されている値を検索対象VMボリュームの識別子とする。
次いで、ファイルシステム・仮想論理ボリューム対応検索部307は、VMボリューム・デバイスグループ間関連テーブル1601(図16)のVMボリューム識別子格納欄1602(図16)に格納された値がいずれかの検索対象VMボリュームの識別子と一致する行をすべて探し出し、すべての該当行のデバイスグループ識別子格納欄1603(図16)に格納された値を検索対象デバイスグループの識別子とする。
さらに、ファイルシステム・仮想論理ボリューム対応検索部307は、デバイスグループ・論理デバイス間関連テーブル1701(図17)のデバイスグループ識別子格納欄1702(図17)に格納された値がいずれかの検索対象デバイスグループの識別子と一致する行をすべて探し出し、すべての該当行の論理デバイス識別子格納欄1703(図17)に格納された値を検索対象論理デバイスの識別子とする。
以上いずれかの方法で検索対象論理デバイスの識別子が得られたら、ファイルシステム・仮想論理ボリューム対応検索部307は、次に、論理デバイス・論理ボリューム間関連テーブル1801(図18)の論理デバイス識別子格納欄1802(図18)に格納された値がいずれかの検索対象論理デバイスの識別子と一致する行をすべて探し出し、すべての該当行の論理ボリューム識別子格納欄1803(図18)に格納されている値を検索対象論理ボリュームの識別子とする。
続いてファイルシステム・仮想論理ボリューム対応検索部307は、複合論理ボリューム・要素論理ボリューム間関連テーブル2001(図20)の親論理ボリューム識別子格納欄2002(図20)に格納された値がいずれかの検索対象論理ボリュームの識別子と一致する行が存在するか否かを調べ、そのような行が1又は複数存在したときには、検索対象論理ボリュームの該当識別子を、それら該当行の子論理ボリューム識別子格納欄2003(図20)に格納されたすべての値で置き換える。さらに、ファイルシステム・仮想論理ボリューム対応検索部307は、論理ボリュームテーブル1901(図19)の論理ボリューム識別子格納欄1902(図19)に格納されている値がいずれかの検索対象論理ボリュームの識別子と一致する行を探し出し、該当行のボリューム種別格納欄1903(図19)に格納された値が「仮想」でない場合には、該当行の論理ボリューム識別子格納欄1902(図19)に格納された値を検索対象論理ボリュームから除外する。
次いでファイルシステム・仮想論理ボリューム対応検索部307は、以上により求められたすべての論理ボリュームの識別子をファイルシステム・仮想論理ボリューム対応テーブル308の論理ボリューム識別子リスト格納欄2703(図27)に格納した後、ステップSP1に戻り、この後ステップSP1において肯定結果を得るまで同様の処理を繰り返す。
そしてファイルシステム・仮想論理ボリューム対応検索部307は、やがて論理ボリュームテーブル1901のすべての行について同様の処理を終えることによりステップSP1において肯定結果を得ると、このファイルシステム・仮想論理ボリューム対応検索処理を終了する。
(6−2)移動候補選択順位付け処理
一方、図33は、ストレージ管理ソフトウェア132を構成する移動候補選択順位付け部309(図3)により実行される、移動候補のファイルシステムを選択して順位付けする移動候補選択順位付け処理の処理手順を示す。
この移動候補選択順位付け処理は、所定のタイミングで実行される。例えば、移動候補選択順位付け処理は、タイマー等を用いてスケジューリング設定に従って定期的に実行される。この移動候補選択順位付け処理はまた、ユーザ操作を受けたストレージ管理クライアント103からの要求によって起動されてもよい。この移動候補選択順位付け処理は、実際には、ストレージ管理ソフトウェア132を実行するCPU129によって実行される。
移動候補選択順位付け部309は、この移動候補選択順位付け処理を開始すると、まず、図32について上述したファイルシステム・仮想論理ボリューム対応検索処理においてファイルシステム・仮想論理ボリューム対応テーブル308(図27)の各行に登録された同一のデータ入出力経路上にあるファイルシステムのグループ及び仮想論理ボリュームのグループからなる各対について、ファイルシステム統計情報テーブル2301(図23)及び仮想論理ボリューム統計情報テーブル2401(図24)を参照して、これらファイルシステムのグループ及び仮想論理ボリュームのグループの総使用容量と、これら仮想論理ボリュームの未使用容量及び未使用率とをそれぞれ算出する。そして移動候補選択順位付け部309は、これらの算出結果をそれぞれファイルシステム・仮想論理ボリューム対応テーブル308の対応するファイルシステム総使用容量格納欄2704(図27)、仮想論理ボリューム総使用容量格納欄2705(図27)、仮想論理ボリューム未使用容量格納欄2706(図27)及び仮想論理ボリューム未使用率格納欄2707(図27)にそれぞれ格納する(SP10)。
続いて移動候補選択順位付け部309は、選択順位付け条件テーブル303(図26)の優先基準格納欄2601(図26)を参照して、そのとき設定されている優先基準が「未使用容量」及び「未使用率」のいずれであるかを確認する(SP11)。
そして移動候補選択順位付け部309は、そのとき設定されている優先基準が「未使用容量」であったときには、ファイルシステム・仮想論理ボリューム対応テーブル308(図27)の仮想論理ボリューム未使用容量格納欄2706に格納された未使用容量を参照して、その未使用容量が多いものほど移動優先順位が高くなるように、ファイルシステム・仮想論理ボリューム対応テーブル308の各行に関する必要な情報をファイルシステム移動制御テーブル310(図28)に登録する(SP12)。
具体的に、移動候補選択順位付け部309は、ファイルシステム・仮想論理ボリューム対応テーブル308の各行のFS・VLV対応識別番号格納欄2701の値を、未使用容量が多いものほど移動優先順位が高く(移動優先順位格納欄の値が小さく)なるようにファイルシステム移動制御テーブル310のFS・VLV対応識別番号格納欄2802に格納する。また移動候補選択順位付け部309は、ファイルシステム・仮想論理ボリューム対応テーブル308の各行について、論理ボリューム識別子リスト格納欄2703にそれぞれ格納されている識別子の論理ボリュームと対応付けられたプールの識別子を仮想論理ボリューム・プール間関連テーブル2101(図21)から読み出し、これをファイルシステム移動制御テーブル310の対応する使用プール識別子格納欄2804に格納する。
さらに移動候補選択順位付け部309は、ファイルシステム・仮想論理ボリューム対応テーブル308の各行について、論理ボリューム識別子リスト格納欄2703にそれぞれ格納されている識別子と同じ数の論理ボリューム識別子を新たに生成し、生成した識別子をファイルシステム移動制御テーブル310の移動先論理ボリューム識別子リスト格納欄2805に格納する。
さらに移動候補選択順位付け部309は、プールテーブル2201(図22)に格納された各プールの総容量と、プール統計情報テーブル2501の日時格納欄2502が最新である行に格納されている各プールの使用容量と、ファイルシステム・仮想論理ボリューム対応テーブル308に格納されている対応する仮想論理ボリュームの未使用容量とに基づいて、対応するファイルシステムを移動した場合における移動前の各プールの空き容量と、移動後における各プールの空き容量とをそれぞれ計算し、計算結果をPOOL_A移動前空き容量格納欄2806、POOL_A移動後空き容量格納欄2807、POOL_B移動前空き容量格納欄2808、POOL_B移動後空き容量格納欄2809、POOL_C移動前空き容量格納欄2810及びPOOL_C移動後空き容量格納欄2811のうちの対応する格納欄にそれぞれ格納する。
また移動候補選択順位付け部309は、この後、ファイルシステム移動制御テーブル310のすべての行の移動フラグ格納欄2803に「Y」を表す移動フラグをそれぞれ格納する。
これに対して移動候補選択順位付け部309は、そのとき設定されている優先基準が「未使用率」であったときには、ファイルシステム・仮想論理ボリューム対応テーブル308(図27)の仮想論理ボリューム未使用率格納欄2707に格納された未使用率を参照して、その未使用率が高いものほど移動優先順位が高くなるように、ファイルシステム・仮想論理ボリューム対応テーブル308の各行に関する必要な情報をファイルシステム移動制御テーブル310(図28)に登録する(SP13)。このステップSP13における移動候補選択順位付け部309の具体的な処理内容は、ステップSP12における処理内容とほぼ同じであるため、ここでの説明は省略する。
移動候補選択順位付け部309は、かかるステップSP12又はステップSP13の処理を終えると、選択順位付け条件テーブル303(図26)の周期性チェックフラグ格納欄2604(図26)を参照して、ファイルシステムの使用容量の経時的な増減をチェックすべき設定がなされているか否かを判断する(SP14)。
移動候補選択順位付け部309は、この判断において否定結果を得るとステップSP16に進み、これに対して肯定結果を得ると、ファイルシステム移動制御テーブル310の各行について、リソース統計情報302のファイルシステム統計情報テーブル2301を参照して、それぞれ対応するファイルシステムの使用容量が時間の経過に伴って増減しているか否かのチェック及びその結果に基づく選択順位付けの見直しを実行する(SP15)。
続いて移動候補選択順位付け部309は、選択順位付け条件テーブル303(図26)のプール空き容量チェックフラグ格納欄2602(図26)を参照して、プールの空き容量をチェックすべき設定がなされているか否かを判断する(SP16)。そして移動候補選択順位付け部309は、この判断において否定結果を得るとこの移動候補選択順位付け処理を終了する。
これに対して移動候補選択順位付け部309は、かかる判断において肯定結果を得ると、ファイルシステム移動制御テーブル310の各行について、対応するプールの空き容量のチェック及びその結果に基づく選択順位付けの見直しを実行する(SP17)。そして移動候補選択順位付け部309は、この後、この移動候補選択順位付け処理を終了する。
なお、上述した移動候補選択順位付け処理のステップSP15における移動候補選択順位付け部309の具体的な処理内容を図34に示す。移動候補選択順位付け部309は、かかる移動候補選択順位付け処理のステップSP15に進むと、この図34に示す周期性チェック処理を開始し、まず、ファイルシステム移動制御テーブル310のすべての行に対してステップSP21〜ステップSP24において後述する処理を終えたか否かを判断する(SP20)。
そして移動候補選択順位付け部309は、この判断において否定結果を得ると、ファイルシステム移動制御テーブル310の次の行の行番号を取得する。ただし、移動候補選択順位付け部309は、最初のときにはファイルシステム移動制御テーブル310の先頭の行の行番号を取得する(SP21)。
続いて移動候補選択順位付け部309は、ファイルシステム統計情報テーブル2301を参照して、直前のステップSP21において行番号を取得した行に対応するファイルシステムの総使用量の過去の履歴を分析し(SP22)、この後この分析結果に基づいて、かかるファイルシステムの使用容量が時間の経過に伴って増減しているか否かを判断する(SP23)。このような経時的な増減の有無の判断方法としては、例えばデータの時系列的な変化に、所定の比率以上の極大値と極小値が所定回数以上繰り返して現れるか否かを調べる方法が適用できる。
移動候補選択順位付け部309は、この判断において否定結果を得るとステップSP20に戻り、これに対して肯定結果を得ると、ファイルシステム移動制御テーブル310の対応する行の移動フラグ格納欄2804に格納されている移動フラグを「Y」から「N」に変更し、この後、この行をファイルシステム移動制御テーブル310の最後尾に登録し直すと共に、後続の行をテーブル先頭方向に詰めて登録し直す(SP24)。さらに、最後尾に移動した行の使用プール識別子格納欄2804と移動先論理ボリューム識別子リスト格納欄2805の内容を削除し、ファイルシステム移動制御テーブル310の行で並べ替えを行ったものについてステップSP12における移動前後の各プールの空き容量計算を再実行する。そして移動候補選択順位付け部309は、ステップSP20に戻り、この後、同様の処理を繰り返す(SP20〜SP24−SP20)。
そして移動候補選択順位付け部309は、やがてファイルシステム移動制御テーブル310のすべての行について同様の処理を終えることによりステップSP20において肯定結果を得ると、この周期性チェック処理を終了する。
一方、図35は、上述した移動候補選択順位付け処理のステップSP17における移動候補選択順位付け部309の具体的な処理内容を示す。移動候補選択順位付け部309は、かかる移動候補選択順位付け処理のステップSP17に進むと、この図35に示すプール空き容量チェック処理を開始し、まず、ファイルシステム移動制御テーブル310の行のうち移動フラグ格納欄2803に格納された値が「Y」であるすべての行について、移動フラグ格納欄2803の値を「未定」に変更する(SP30)。
続いて移動候補選択順位付け部309は、ポインタをファイルシステム移動制御テーブル310の先頭の行に設定し(SP31)、この後、ファイルシステム移動制御テーブル310の行のうち移動フラグ格納欄2803に格納された値が「未定」であるすべての行に対して後述するステップSP33〜ステップSP37の処理を行ったか否かを判断する(SP32)。
移動候補選択順位付け部309は、この判断において否定結果を得ると、ポインタが設定された行の行番号を取得し(SP33)、この後、ファイルシステム・仮想論理ボリューム対応テーブル308の対応する行のファイルシステム総使用容量格納欄2704に格納された値と、ファイルシステム移動制御テーブル310の現在の行番号より1小さい行番号の行のPOOL_A移動前空き容量格納欄2806、POOL_A移動後空き容量格納欄2807、POOL_B移動前空き容量格納欄2808、POOL_B移動後空き容量格納欄2809、POOL_C移動前空き容量格納欄2810及びPOOL_C移動後空き容量格納欄2811に格納された値に基づいて、そのとき対象としているファイルシステムと対応付けられたプールと同じプール内に、当該ファイルシステムの移動のための一時的なデータ複写に必要なプール空き容量が存在するか否かを判断する(SP34)。
移動候補選択順位付け部309は、この判断において肯定結果を得ると、その行の移動フラグ格納欄2803に格納された移動フラグを「Y」に更新すると共に、その行をファイルシステム移動制御テーブル310の行のうち移動フラグ格納欄2803に格納された値が「未定」であるすべての行の先頭に移動させる(SP35)。さらに、移動した行以降のすべての行についてステップSP12における移動前後の各プールの空き容量計算を再実行する。また移動候補選択順位付け部309は、ファイルシステム移動制御テーブル310に設定したポインタを移動した行の次の行に移動させ(SP36)、この後ステップSP32に戻る。
これに対して移動候補選択順位付け部309は、かかる判断において否定結果を得ると、ファイルシステム移動制御テーブル310に設定したポインタを次の行に移動させ(SP37)、この後ステップSP32に戻る。
そして移動候補選択順位付け部309は、この後、ファイルシステム移動制御テーブル310の行のうち移動フラグ格納欄2803に格納された値が「未定」であるすべての行について同様の処理を終えることによりステップSP32において肯定結果を得ると、選択順位付け条件テーブル303(図26)のプール間移動可否フラグ格納欄2603(図26)を参照して、ファイルシステムの移動を異なるプール間にまたがって行うことが許可されているか否かを判断する(SP38)。そして移動候補選択順位付け部309は、この判断において否定結果を得ると、ファイルシステム移動制御テーブル310の行のうち移動フラグ格納欄2803に格納された値が「未定」であるすべての行について、移動フラグ格納欄2803の値を「N」に変更する。さらに、これらの行について、使用プール識別子格納欄2804と移動先論理ボリューム識別子リスト格納欄2805の内容を削除するとともに、ステップSP12における移動前後の各プールの空き容量計算を再実行した後、このプール空き容量チェック処理を終了する。
これに対して移動候補選択順位付け部309は、かかる判断において肯定結果を得ると、ポインタをファイルシステム移動制御テーブル310の行のうち移動フラグ格納欄2803に格納された値が「未定」である行の先頭の行に設定し(SP39)、この後、ファイルシステム移動制御テーブル310の行のうち移動フラグ格納欄2803に格納された値が「未定」であるすべての行に対して後述するステップSP41〜ステップSP45の処理を行ったか否かを判断する(SP40)。
移動候補選択順位付け部309は、この判断において否定結果を得ると、ファイルシステム移動管理テーブル310上でそのときポインタが設定されている行の行番号を取得する(SP41)。
そして移動候補選択順位付け部309は、ファイルシステム・仮想論理ボリューム対応テーブル308の対応する行のファイルシステム総使用容量格納欄2704に格納された値と、ファイルシステム移動制御テーブル310の現在の行番号より1小さい行番号の行のPOOL_A移動前空き容量格納欄2806、POOL_A移動後空き容量格納欄2807、POOL_B移動前空き容量格納欄2808、POOL_B移動後空き容量格納欄2809、POOL_C移動前空き容量格納欄2810及びPOOL_C移動後空き容量格納欄2811に格納された値に基づいて、そのとき対象としているファイルシステムと対応付けられたプールと異なるプール内に、当該ファイルシステムの移動のための一時的なデータ複写に必要なプール空き容量が存在するか否かを判断する(SP42)。
移動候補選択順位付け部309は、この判断において肯定結果を得ると、その行の移動フラグ格納欄2803に格納された移動フラグを「Y」に更新すると共に、その行をファイルシステム移動制御テーブル310の行のうち移動フラグ格納欄2803に格納された値が「未定」であるすべての行の先頭に移動させる(SP43)。さらに、移動した行以降のすべての行についてステップSP12における移動前後の各プールの空き容量計算を再実行する。また移動候補選択順位付け部309は、ファイルシステム移動制御テーブル310に設定したポインタを移動した行の次の行に移動させ(SP44)、この後ステップSP40に戻る。
これに対して移動候補選択順位付け部309は、かかる判断において否定結果を得ると、ファイルシステム移動制御テーブル310に設定したポインタを次の行に移動させ(SP45)、この後ステップSP40に戻る。
そして移動候補選択順位付け部309は、この後、ファイルシステム移動制御テーブル310の行のうち移動フラグ格納欄2803に格納された値が「未定」であるすべての行について同様の処理を終えることによりステップSP40において肯定結果を得ると、ファイルシステム移動制御テーブル310の行のうち移動フラグ格納欄2803に格納された値が「未定」であるすべての行について、移動フラグ格納欄2803の値を「N」に変更する。さらに、これらの行について、使用プール識別子格納欄2804と移動先論理ボリューム識別子リスト格納欄2805の内容を削除するとともに、ステップSP12における移動前後の各プールの空き容量計算を再実行した後、このプール空き容量チェック処理を終了する。
(6−3)ファイルシステム使用スケジュール作成処理
図36は、ストレージ管理ソフトウェア132を構成するファイルシステム使用スケジュール作成部315(図3)により実行される、ファイルシステム使用スケジュールテーブル316(図30)の作成処理(以下、これをファイルシステム使用スケジュールテーブル作成処理と呼ぶ)の処理手順を示す。
このファイルシステム使用スケジュールテーブル作成処理は、ストレージ管理ソフトウェア132の動作モードが「スケジュール実行」に設定されている場合に、スケジューリング設定に従って定期的に起動されるか、あるいは、エージェント情報収集部301による収集処理の後に、無条件に、又は、リソース構成情報306のうちアプリケーション並びにファイルシステムに関連するものに変更があった場合に限って、及び、アプリケーション実行管理情報収集部313による収集処理の後に起動される。ストレージ管理ソフトウェア132の動作モードが「手動」である場合は、図36の処理手順は実行されない。図36の説明においてファイルシステム使用スケジュール作成部315が実行する処理は、実際には、ストレージ管理ソフトウェア132を実行するCPU129によって実行される。
ファイルシステム使用スケジュール作成部315は、このファイルシステム使用スケジュールテーブル作成処理を開始すると、まず、アプリケーション実行スケジュールテーブル314(図29)に登録されたすべての行について、ステップSP51以降の処理を行ったか否かを判断する(SP50)。
そしてファイルシステム使用スケジュール作成部315は、この判断において否定結果を得ると、アプリケーション実行スケジュールテーブル314から未処理の行のアプリケーション識別子格納欄2901、実行開始日時格納欄2902及び実行終了日時格納欄2903からアプリケーション122の識別子、実行開始日時及び実行終了日時をそれぞれ読み出し(SP51)、この後、そのアプリケーション122に対するステップSP53〜ステップSP55の処理がすべて終了したか否かを判断する(SP52)。
ファイルシステム使用スケジュール作成部315は、この判断において否定結果を得ると、リソース構成情報306(図3)のアプリケーション・ファイルシステム間関連テーブル1301(図13)を参照して、ステップSP51において識別子を読み出したアプリケーション122とアプリケーション・ファイルシステム間関連テーブル1301上において対応付けられている未処理のファイルシステムの識別子を当該アプリケーション・ファイルシステム間関連テーブル1301から1つ読み出し(SP53)、そのファイルシステムの識別子がファイルシステム・仮想論理ボリューム対応テーブル308のファイルシステム識別子リスト格納欄2702に登録されているか否かを判断する(SP54)。
そしてファイルシステム使用スケジュール作成部315は、かかるファイルシステムの識別子がファイルシステム・仮想論理ボリューム対応テーブル308に登録されていない場合には、ステップSP52に戻る。
これに対してファイルシステム使用スケジュール作成部315は、かかるファイルシステムの識別子がファイルシステム・仮想論理ボリューム対応テーブル308に登録されている場合には、ファイルシステム使用スケジュールテーブル316(図30)に新たな行を追加し、そのファイルシステムの識別子を追加した行のファイルシステム識別子格納欄3001に格納する一方、ステップSP51においてアプリケーション実行スケジュールテーブル314から読み出したアプリケーション122の実行開始日時及び実行終了日時をそれぞれ追加した行の実行開始日時格納欄3002及び実行終了日時格納欄3003に格納する(SP55)。
この後、ファイルシステム使用スケジュール作成部315は、ステップSP52に戻り、ステップSP52において肯定結果を得るまでステップSP52〜ステップSP55を繰り返す。これによりそのときステップSP51で取得したアプリケーション122が複数のファイルシステムを使用しているときに、これらすべてのファイルシステムがファイルシステム使用スケジュールテーブル316に登録されることとなる。
ファイルシステム使用スケジュール作成部315は、やがてステップSP52において肯定結果を得るとステップSP50に戻り、この後ステップSP50において肯定結果を得るまで同様の処理を繰り返す(SP50〜SP55−SP50)。これによりアプリケーション実行スケジュールテーブル314に登録されたすべての行について、対応するファイルシステムの使用スケジュールがファイルシステム使用スケジュールテーブル316に登録される。
そしてファイルシステム使用スケジュール作成部315は、やがてステップSP50において肯定結果を得ると、このファイルシステム使用スケジュールテーブル作成処理を終了する。
(6−4)ファイルシステム移動スケジュールテーブル作成処理
図37は、ストレージ管理ソフトウェア132を構成する移動スケジュール作成部317(図3)により実行される、ファイルシステム移動スケジュールテーブル318(図31)の作成処理(以下、これをファイルシステム移動スケジュールテーブル作成処理と呼ぶ)の処理手順を示す。
このファイルシステム移動スケジュールテーブル作成処理は、ストレージ管理ソフトウェア132の動作モードが「スケジュール実行」である場合に、スケジューリング設定に従って定期的に起動されるか、あるいは、移動候補選択順位付け部309による処理の後に起動されるか、あるいは、ユーザの指示操作を契機としたストレージ管理クライアント103からの要求によって起動される。ストレージ管理ソフトウェア132の動作モードが「手動」である場合は、ファイルシステム移動スケジュールテーブル作成処理は実行されない。図37の説明において移動スケジュール作成部317が実行する処理は、実際には、ストレージ管理ソフトウェア132を実行するCPU129によって実行される。
移動スケジュール作成部317は、このファイルシステム移動スケジュールテーブル作成処理を開始すると、まず、ファイルシステム移動制御テーブル310(図28)のすべての行について、ステップSP61以降の処理を終えたか否かを判断し(SP60)、否定結果を得ると、ファイルシステム移動制御テーブル310の次の行の情報を取得する(SP61)。なお、移動スケジュール作成部317は、その回の最初の処理では、ファイルシステム移動制御テーブル310の最初の行の情報を取得する。
続いて移動スケジュール作成部317は、ステップSP61において情報を取得した行の移動フラグ格納欄2803(図28)に格納された移動フラグが「Y」及び「N」のいずれであるかを判断し(SP62)、「N」の場合にはステップSP60に戻る。これに対して移動スケジュール作成部317は、かかる移動フラグが「Y」であった場合には、その行のFS・VLV対応識別番号格納欄2802に格納されているFS・VLV対応識別番号と同じFS・VLV対応識別番号が格納されているファイルシステム・仮想論理ボリューム対応テーブル308(図27)の行を選択する。さらに移動スケジュール作成部317は、このとき選択した行のファイルシステム識別子リスト格納欄2702に格納されているすべてのファイルシステムの識別子について、ステップSP63以降の処理を終えたか否かを判断する(SP63)。
移動スケジュール作成部317は、この判断において否定結果を得ると、未処理のファイルシステムの識別子を選択する(SP64)。
続いて移動スケジュール作成部317は、リソース統計情報302(図3)のファイルシステム統計情報テーブル2301(図23)の対応する使用容量格納欄2304(図23)を参照して、ステップSP64において選択した識別子のファイルシステムの容量を取得し、取得した容量からそのファイルシステムを移動させる際に必要な所要時間を計算する(SP65)。
次いで移動スケジュール作成部317は、かかる計算結果と、ファイルシステム使用スケジュールテーブル316(図30)とに基づいて、そのファイルシステムの移動時間帯がそのファイルシステムの使用時間帯に重ならないように(そのファイルシステムが使用される時間帯を避けた時間帯に当該ファイルシステムを移動するように)、そのファイルシステムの移動開始日時、移動終了予定日時及び移動中断日時を決定し、これらをファイルシステム移動スケジュールテーブル318に登録する(SP66)。
この後、移動スケジュール作成部317は、ステップSP63に戻り、未処理のファイルシステムの識別子について同様の処理を行う(SP63〜SP66−SP63)。
そして移動スケジュール作成部317は、ステップSP63において肯定結果を得るとステップSP60に戻り、この後、ステップSP60において肯定結果を得るまで、同様の処理を繰り返す。そして移動スケジュール作成部317は、やがてファイルシステム移動制御テーブル310(図28)のすべての行について処理を終えると、このファイルシステム移動スケジュールテーブル作成処理を終了する。
(6−5)ファイルシステム移動処理
図38は、ストレージ管理ソフトウェア132を構成するファイルシステム移動制御部321(図3)により実行される、ファイルシステムの移動処理(以下、これをファイルシステム移動処理と呼ぶ)の処理手順を示す。
このファイルシステム移動処理は、ストレージ管理ソフトウェア132の動作モードが「スケジュール実行」である場合は、スケジューリング設定に従って定期的に起動される。ストレージ管理ソフトウェア132の動作モードが「手動」である場合は、図5又は図6について上述した移動案表示画面500の「移動実行」ボタン525の押圧操作を受けたストレージ管理クライアント103(図1)からの要求によって起動される。図38の説明においてファイル移動制御部321が実行する処理は、実際には、ストレージ管理ソフトウェア132を実行するCPU129によって実行される。
ファイルシステム移動制御部321は、このファイルシステム移動処理を開始すると、ファイルシステム移動制御テーブル310(図28)のすべての行について、ステップSP71以降の処理を終えたか否かを判断し(SP70)、否定結果を得ると、ファイルシステム移動制御テーブル310の次の行の情報を取得する(SP71)。なお、ファイルシステム移動制御部321は、その回の最初の処理では、ファイルシステム移動制御テーブル310の最初の行の情報を取得する。
続いてファイルシステム移動制御部321は、ステップSP71において情報を取得した行の移動フラグ格納欄2803(図28)に格納された移動フラグが「Y」及び「N」のいずれであるかを判断し(SP72)、「N」の場合にはステップSP70に戻る。これに対してファイルシステム移動制御部321は、かかる移動フラグが「Y」であった場合には、ファイルシステム・仮想論理ボリューム対応テーブル308(図27)の行のうち、FS・VLV対応識別番号格納欄2701(図27)に、ファイルシステム移動制御テーブル310上のステップSP71において情報を取得した行のFS・VLV対応識別番号格納欄2802に格納されているFS・VLV対応識別番号と同じ番号が格納されている行を選択する。さらに移動スケジュール作成部317は、このとき選択した行の論理ボリューム識別子リスト格納欄2703(図27)に格納されたそれぞれの識別子を検索キーとして、論理ボリュームテーブル1901(図19)から検索された行の定義容量格納欄1904に格納された各移動元論理ボリュームの定義容量を取得する。さらにファイルシステム移動制御部321は、ステップSP71において情報を取得した行の使用プール識別子格納欄2804(図28)に格納されたプール識別子と、移動先論理ボリューム識別子格納欄2805(図28)に格納された各移動先論理ボリュームの識別子とを取得する。次に、これら取得した各移動元論理ボリュームの定義容量と同じ定義容量で、各移動先論理ボリュームの識別子を持つ仮想論理ボリュームを、取得したプール識別子を持つプールに作成すべきボリューム作成命令をストレージ装置144の仮想ボリューム管理制御部149に対して発行する(SP73)。この結果、かかるボリューム作成命令に応じて、ストレージ装置144の仮想ボリューム管理制御部149によりストレージ装置144内の該当プールに指定された容量の仮想論理ボリュームが作成される。
次いでファイルシステム移動制御部321は、ホストサーバ113のファイルシステム移動実行部121に対してファイルシステムの複写準備命令を発行する(SP74)。この複写準備命令はファイルシステム移動実行部121によってファイル管理システム124やボリューム管理ソフト125に対する命令へと変換及び実行され、これによってSP73において作成された移動先仮想論理ボリュームとホストサーバ113との間のデータ入出力経路が設定され、ファイル管理システム124やボリューム管理ソフト125を介したデータ入出力要求の発行が可能な状態になる。この後、ファイルシステム移動制御部321は、ステップSP73において選択したファイルシステム・仮想論理ボリューム対応テーブル308(図27)の行のファイルシステム識別子リスト格納欄2702(図27)に格納されたすべての識別子のファイルシステムについて、ステップSP76以降の処理を終えたか否かを判断する(SP75)。
ファイルシステム移動制御部321は、この判断において否定結果を得ると、ステップSP73において選択したファイルシステム・仮想論理ボリューム対応テーブル308(図27)の行のファイルシステム識別子格納欄2702(図27)に格納されたファイルシステムの識別子のうち未処理の識別子を選択する(SP76)。
次いでファイルシステム移動制御部321は、ファイルシステム移動スケジュールテーブル318(図31)を参照して、ステップSP76において選択した識別子のファイルシステムの移動開始日時、移動終了日時及び移動中断日時を取得し、そのうちの移動開始日時となるのを待ち受ける(SP77)。そしてファイルシステム移動制御部321は、かかる移動開示日時となると、ファイルシステムの複写命令をホストサーバ113のファイルシステム移動実行部121に発行する(SP78)。
かくしてこのファイルシステム複写命令に応じて、ファイルシステム移動実行部121がファイル管理システム124に対するデータ入出力要求を発行することにより、対応するファイルシステムのデータの複写が開始される。そしてファイルシステム移動実行部121は、かかるファイルシステムの複写が完了したときには、これをファイルシステム移動制御部321に報告する。ファイルシステム移動実行部121はまた、かかるファイルシステムの複写中に移動先プールの空き容量が不足して複写に失敗したときには、これをファイルシステム移動制御部321に報告する。
一方、ファイルシステム移動制御部321は、ファイルシステム複写命令をファイルシステム移動実行部121に送信後、一定時間経過するのを待ち受け(SP79)、この後、複写完了又は空き容量不足による複写失敗の報告がファイルシステム移動実行部121からあったか否か、及び現在の日時がステップSP77において取得したそのファイルシステムの移動中断日時となったか否かを判断する(SP80)。
ファイルシステム移動制御部321は、このステップSP80において、複写完了及び空き容量不足による複写失敗の報告がファイルシステム移動実行部121からなく、かつ現在の日時がステップSP77において取得したそのファイルシステムの移動中断日時となっていないと判断したときには、ステップSP79に戻り、この後ステップSP80において複写完了又は空き容量不足による複写失敗の報告がファイルシステム移動実行部121から与えられ、又は現在の日時がステップSP77において取得したそのファイルシステムの移動中断日時となるまで、同様の処理を繰り返す(SP80−SP79−SP80)。
そしてファイルシステム移動制御部321は、やがて複写完了の報告がファイルシステム移動実行部121から与えられると、ファイルシステム移動実行部121にファイルシステムの置換命令を発行し(SP81)、この後、ステップSP75に戻る。この置換命令はファイルシステム移動実行部121によってファイル管理システム124に対する移動元及び移動先仮想論理ボリュームのアンマウント及びマウント命令として実行され、これによって移動元及び移動先のファイルシステムが置換される。
またファイルシステム移動制御部321は、この後、ステップSP75において肯定結果を得、又は現在の日時がステップSP77において取得したそのファイルシステムの移動中断日時となり若しくは移動先プールの空き容量不足による複写失敗の報告がファイルシステム移動実行部121から与えられるまでステップSP75〜ステップSP81の処理を繰り返す。これによりステップSP73において選択したファイルシステム・仮想論理ボリューム対応テーブル308(図27)の行のファイルシステム識別子リスト格納欄2702(図27)に格納されたすべての識別子のファイルシステムがスケジュールに従って移動されることとなる。
さらにファイルシステム移動制御部321は、かかるファイルシステムをすべて移動させ終えることによりステップSP75において肯定結果を得ると、ファイルシステム複写後処理命令をホストサーバ113のファイルシステム移動実行部121(図1)に発行する(SP83)。この結果、このファイルシステム複写後処理命令に従って、移動元仮想論理ボリュームとホストサーバ113との間のデータ入出力経路が解除される。
またファイルシステム移動制御部321は、この後、かかるファイルシステムの移動元の仮想論理ボリュームを削除すべきボリューム削除命令をストレージ装置の仮想ボリューム管理制御部149に送信し(SP84)、この後ステップSP70に戻る。この結果、かかる仮想ボリューム管理制御部149によって、かかるファイルシステムの移動元の仮想論理ボリュームが削除され、この結果、その移動元の仮想論理ボリュームの記憶領域が開放される。この場合において、かかるファイルシステムの移動元仮想論理ボリュームの容量とファイルシステムの移動先仮想論理ボリュームの容量の差にあたる移動元仮想論理ボリュームのうちの未使用であった容量分が回収されることになる。
なお、ファイルシステム移動制御部321は、ステップSP80において、現在の日時がステップSP77において取得したそのファイルシステムの移動中断日時となり又は移動先プールの空き容量不足による複写失敗の報告がファイルシステム移動実行部121から与えられた場合には、エラーメッセージをストレージ管理クライアント103(図1)に表示させるなどのエラー処理を実行した後(SP82)、ステップSP70に戻る。
一方、ファイルシステム移動制御部321は、ステップSP70に戻ると、この後、ファイルシステム移動制御テーブル310(図28)のすべての行について同様の処理を終えるまでステップSP71〜ステップSP84の処理を繰り返す。そしてファイルシステム移動制御部321は、やがてファイルシステム移動制御テーブル310のすべての行について同様の処理を終えると、このファイルシステム移動処理を終了する。
(7)本実施の形態の効果
以上のように本計算機システム100では、各ファイルシステムとそれぞれ対応付けられた仮想論理ボリュームの未使用容量を検出し、当該未使用容量が閾値を越えたときなどに、そのファイルシステムのデータを他の仮想論理ボリュームに移動させると共に、移動元の仮想論理ボリュームを削除するため、仮想論理ボリュームの未使用容量を回収することができる。かくするにつき、ストレージ資源の利用率を向上させ得るストレージ運用管理を支援し、実行することができる。
(8)他の実施の形態
なお上述の実施の形態においては、図38について上述したファイルシステム移動処理を周期的に実行するようにした場合について述べたが、本発明はこれに限らず、例えばファイルシステムに割り当てられた仮想論理ボリュームの未使用容量が閾値を越えたことを契機としてそのファイルシステムについて実行するようにしてもよい。
また上述の実施の形態においては、ファイルシステムによる仮想論理ボリュームの使用容量を取得する第1の使用容量取得部としての機能と、仮想論理ボリュームの使用容量を取得する第2の使用容量取得部としての機能と、ファイルシステムを他の仮想論理ボリュームに移動させると共に、移動元の仮想論理ボリュームを削除させるファイルシステム移動部としての機能とをストレージ管理サーバ127のストレージ管理ソフトウェア132により実現するようにした場合について述べたが、本発明はこれに限らず、このような機能をホストサーバ113や他の装置に搭載するようにしてもよい。
同様に、上述の実施の形態においては、ファイルシステムの使用容量及び対応する仮想論理ボリュームの使用容量を関連付けて表示する表示部をストレージ管理サーバ127のストレージ管理ソフトウェア132及びストレージ管理クライアント103により構成するようにした場合について述べたが、本発明はこれに限らず、このような表示部としての機能をホストサーバ113や他の装置に搭載するようにしてもよい。
100……計算機システム、102……アプリケーションクライアント、103……ストレージ管理クライアント、104……入力装置、105……表示装置、113,401〜404……ホストサーバ、120……アプリケーション実行管理エージェント、121……ファイルシステム移動実行部、122,405〜422……アプリケーション、123……アプリケーション監視エージェント、124……ファイル管理システム、125……ボリューム管理ソフトウェア、126……ホスト監視エージェント、127……ストレージ管理サーバ、129……CPU、130……メモリ、132……ストレージ管理ソフトウェア、133……ストレージ監視エージェントサーバ、140……ストレージ監視エージェント、144,450……ストレージ装置、149……仮想ボリューム管理制御部、301……エージェント情報収集部、302……リソース統計情報、303……選択順位付け条件テーブル、306……リソース構成情報、307……ファイルシステム・仮想論理ボリューム対応検索部、308……ファイルシステム・仮想論理ボリューム対応テーブル、309……移動候補選択順位付け部、310……ファイルシステム移動制御テーブル、313……アプリケーション実行管理情報収集部、314……アプリケーション実行スケジュールテーブル、315……ファイルシステム使用スケジュール作成部、316……ファイルシステム使用スケジュールテーブル、317……移動スケジュール作成部、318……ファイルシステム移動スケジュールテーブル、321……ファイルシステム移動制御部、423〜431……ファイルシステム、432〜435……VMボリューム、436,437……デバイスグループ、438〜447……論理デバイス、451……複合論理ボリューム、452……実論理ボリューム、453〜463……仮想論理ボリューム、464〜466……プール、467……プールボリューム、500,700〜900……移動案表示画面、1000,1100……履歴表示画面、1200……移動スケジュール画面。