以下、本発明の実施の形態を図面を参照して説明する。
図1は、本実施の形態の概略を示す図である。システム管理装置1は、ネットワークシステムを構成するサーバ2に接続されている。ネットワークシステムには、サーバ2の他、例えば、ストレージデバイス3が接続されている。
システム管理装置1は、システムの構成の最適化を支援するために、アプリケーション情報収集手段1a、システム情報収集手段1b、システム管理テーブル1c、および情報解析手段1dを有している。
アプリケーション情報収集手段1aは、ネットワークシステムを構成するサーバ2でアプリケーションプログラムが実行されることで実現するアプリケーション機能2aからデータへのアクセス状況を示す管理情報を取得し、システム管理テーブル1cに登録する。例えば、アプリケーション情報収集手段1aは、アプリケーション機能2aをデータのバックアップ機能を有してれば、バックアップのスケジュールおよびバックアップデータのリストア処理の履歴等の情報を収集する。
システム情報収集手段1bは、サーバ2のオペレーティングシステム2bが有する資源管理情報を取得し、システム管理テーブル1cに登録する。例えば、システム情報収集手段1bは、オペレーティングシステム2bが有するファイルシステムや、そのファイルシステムを介したデータアクセスの履歴等の情報を収集することができる。
システム管理テーブル1cには、アプリケーション情報収集手段1aが収集した管理情報と、システム情報収集手段1bが収集した管理情報とが、例えば、データの識別情報やストレージデバイスの識別情報等によって関連づけて登録されている。
情報解析手段1dは、システム管理テーブル1cを参照し、アプリケーション機能2aのデータアクセス状況に応じた資源の管理状況の適否を判断する。例えば、情報解析手段1dは、ファイルシステムで管理されているデータの内、バックアップスケジュールから漏れているデータを抽出することができる。また、情報解析手段1dは、バックアップスケジュールに含まれるデータの更新状況をオペレーティングシステムから取得した管理情報から判断し、バックアップ間隔等の妥当性を判断することもできる。
このようなシステム管理装置によれば、アプリケーション情報収集手段1aにより、アプリケーション機能2aからデータへのアクセス状況を示す管理情報が取得され、システム管理テーブル1cに登録される。また、システム情報収集手段1bにより、サーバ2のオペレーティングシステム2bが有する資源管理情報が取得され、システム管理テーブル1cに登録される。そして、情報解析手段1dにより、システム管理テーブル1cが参照され、アプリケーション機能のデータアクセス状況に応じた資源の管理状況の適否が判断される。
その結果、アプリケーション機能2aやオペレーティングシステム2bによるシステムの管理状況の適否について適切な判断を下すことができる。例えば、バックアップスケジュールの妥当性や、データの格納先の妥当性(アプリケーションによるアクセス頻度が高いデータほど、高性能のストレージデバイスに格納されているか)等を適切に判断できる。
なお、情報解析手段1dによる解析結果は、ビジュアルなグラフによって出力することができる。これにより、システム管理者が傾向分析結果を容易に認識できる。
さらに、解析結果に基づいて、マイグレート、性能向上可能なデータ配置転換、バックアップスケジュールの変更等を自動で行うこともできる。そこで、図1に示した機能と自動マイグレート機能とを組み合わせたシステムを、実施の形態として詳細に説明する。
図2は、本発明の実施の形態に係るシステム構成例を示す図である。図2には、インターネット90に接続された複数の端末装置21,22,・・・に対して各種サービスを提供するWebシステム200の例が示されている。このWebシステム200は、ネットワーク10を介して接続された管理サーバ100によって管理される。また、管理サーバ100には、ネットワーク10を介して、管理用端末装置20が接続されている。
Webシステム200には、ロードバランサ210、レベル2(L2)スイッチ220、複数のサーバ230,230a,230b、ファイバーチャネル(FC)スイッチ240、および複数のストレージデバイス251〜256を含むストレージデバイス群250を有している。
ロードバランサ210は、インターネット90に接続されており、端末装置21,22,・・・との間で通信を行う。また、ロードバランサ210は、運用中のサーバの処理負荷等を監視し、負荷が分散されるように端末装置21,22,・・・からの処理要求のサーバへの振り分けを行う。
L2スイッチ220は、ロードバランサ210とサーバ230,230a,230bとの間に設けられており、ロードバランサで振り分けられた処理要求を、対応するサーバに転送する。
サーバ230,230a,230bは、端末装置21,22,・・・からの処理要求に応じて処理を実行し、処理結果を応答する。なお、原則としてサーバ230,230a,230bのうちの少なくとも1つが予備としてサービスを提供しない状態に置かれ、他のサーバによって処理が実行される。サーバ230,230a,230bは、処理を実行する際には、必要に応じてストレージデバイス群250にアクセスする。
FCスイッチ240は、サーバ230,230a,230bとストレージデバイス群250との間に設けられており、サーバ230,230a,230bからのアクセス要求に応じて、そのアクセス要求で指定されたストレージデバイスに転送する。
ストレージデバイス群250は、複数のストレージデバイス251〜256を管理している。これらのストレージデバイス251〜256のうち、少なくとも1つが予備としてプールされ、他のストレージデバイスがサーバで使用される。
管理サーバ100は、ネットワーク10を介して、Webシステム200内の各装置に接続されており、各装置の運用状況を管理する。また、任意のサービスを提供するためのハードウェア資源が不足した場合、追加すべきハードウェア資源の種別(サーバまたはストレージデバイス)を判断する。そして、管理サーバ100は、追加すべきと決定されたハードウェア資源がサービスの提供に利用されるように、Webシステム200の運用形態を再構築する。
管理用端末装置20は、システム管理者が使用する端末装置である。システムの使用状況に関する傾向分析結果等が管理サーバ100から管理用端末装置20に送られることで、システム管理者は、システム構成変更の要否を判断できる。
このようなシステムにより、サービス毎のサーバまたはストレージデバイスの追加が可能となる。すなわち、管理サーバ100は、サービス毎に、一定期間のストレージデバイス使用量の増分を計測する。そして、管理サーバ100は、使用量の増分をサービス毎の閾値と比較し、ストレージデバイスのみを増加させるか、サーバを追加するかを判断する。
サーバを追加する場合、管理サーバ100は、追加するサーバにOSおよび各種ソフトウェアを含むイメージデータをコピーし、そのOSによってサーバを起動する。そして、起動したサーバにIPアドレス等を設定する。
また、管理サーバ100は、現在使用しているストレージデバイスから必要なデータを切り出し、新しいストレージデバイスにコピーする。さらに、管理サーバ100は、ロードバランサ210に対してサーバのサービスへの組み込み指示等を行う。
ストレージデバイスを追加する場合、管理サーバ100は、追加するストレージデバイスに対して、該当するサービスからアクセスできるように、FCスイッチ240等の設定を行う。
図3は、本実施の形態に用いるコンピュータのハードウェア構成例を示す図である。管理サーバ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には管理サーバのハードウェア構成を示したが、他のサーバ230,230a,230bや端末装置21,22,・・・も同様のハードウェア構成で実現することができる。
次に、管理サーバ100とサーバ230,230a,230bとが有する機能について説明する。
図4は、管理サーバとサーバの処理機能を示すブロック図である。サーバ230は、OS231、エージェント232、および複数のアプリケーション233,233a,233b,・・・等の各種アプリケーションを有している。
OS231は、サーバ230全体を管理している。また、OS231は、ストレージデバイス251,252にアクセスするためのファイルシステムや、デバイスドライバを有している。そして、OS231は、アプリケーション233,233a,233b,・・・等の要求に応じてストレージデバイス251,252に対するアクセスを行う。
エージェント232は、管理サーバ100からの要求に応じて、OS231が有している管理情報を管理サーバ100に送信する。例えば、エージェント232は、OS231のファイルシステムからストレージデバイス251,252の空き容量等の情報を収集し、管理サーバ100に対して送信する。
アプリケーション233,233a,233b,・・・は、バックアップ処理等を行うための処理機能である。アプリケーション233,233a,233b,・・・は、処理に必要なデータをストレージデバイス251,252から取得したり、処理結果のデータをストレージデバイス251,252に格納したりする。また、アプリケーション233,233a,233b,・・・は、管理サーバ100からの要求に応じて、ストレージデバイス251,252へのアクセス状況等に関する管理情報を管理サーバ100に送信する。
管理サーバ100は、アプリケーション情報収集部110、システム情報収集部120、ハードウェア情報収集部130、データ属性テーブル140、ストレージ属性テーブル150、情報解析部160、解析結果通知部170、自動マイグレート部180およびシステム管理機能制御部190を有する。
アプリケーション情報収集部110は、アプリケーション233,233a,233b,・・・に対して、管理しているデータの属性(データ属性)を要求する。すなわち、管理情報の収集は、ポーリングによって、アプリケーション情報収集部110側で必要としたときに行うことができる。
その要求に応じてデータ属性を示す情報が送られると、アプリケーション情報収集部110は、取得したデータ属性をデータ属性テーブル140やストレージ属性テーブル150に格納する。例えば、アプリケーション情報収集部110は、アプリケーション233,233a,233b,・・・が作成、更新、削除する資産(ファイル、データ、DBスペースなどのアプリケーションが扱うデータ単位)に関する情報を収集する。
システム情報収集部120は、エージェント232に対して、OS231で管理しているデータの属性情報を要求する。すなわち、OS231が管理するデータの収集は、ポーリングによって、システム情報収集部120側で必要としたときに行うことができる。
その要求に応じてストレージ属性を示す情報が送られると、システム情報収集部120は、取得したストレージ属性をストレージ属性テーブル150に格納する。例えば、システム情報収集部120は、データの更新日、大きさ、所有者等のOS231が管理する情報を収集することができる。
ハードウェア情報収集部130は、ストレージデバイス251,252,・・・にアクセスし、ストレージデバイス251,252,・・・の属性情報を取得する。すなわち、ストレージデバイス251,252,・・・からのデータの収集は、ポーリングによって、ハードウェア情報収集部130側で必要としたときに行うことができる。ハードウェア情報収集部130は、取得した属性情報をストレージ属性テーブル150に格納する。
なお、アプリケーション情報収集部110、システム情報収集部120、およびハードウェア情報収集部130による情報の収集は、予め設定された収集ポリシー定義に従ったタイミングで実行される。
情報解析部160は、データ属性テーブル140やストレージ属性テーブル150に登録された情報を参照し、資源の利用状況を解析する。例えば、情報解析部160は、所定日数以上未アクセスのデータの抽出、所定時間以上のI/Oレスポンスを要するデータの抽出、一月当たりのリカバリ回数が所定値以上のデータの抽出等を行う。
そして、情報解析部160は、資源の過不足や、アプリケーションへの資源の割り当て等の適否を判断する。その際、不足する資源があれば、情報解析部160は、資源が不足している旨の情報を解析結果通知部170に渡す。また、情報解析部160は、情報の解析の結果、システム構成の変更が必要となり、自動で変更可能な内容であれば、システム変更指示を自動マイグレート部180に渡す。
解析結果通知部170は、電子メール等の技術を使い、情報解析部160での解析結果を、システム管理者に通知する。
自動マイグレート部180は、情報解析部160からの指示に従って、システムの自動マイグレートを行う。例えば、自動マイグレート部180は、ストレージデバイスの追加指示を受け取ると、プールされていたストレージデバイスを運用状態とし、追加されたストレージデバイスを各サーバ230,230a,230bのファイルシステムからアクセスできるように設定する。
また、自動マイグレート部180は、所定日数以上未アクセスであり、且つ重要度がhigh以外のデータを、低速のハードディスク装置に移動させることもできる。これにより、高速且つ高価なストレージデバイスの機能を有効活用できる。
また、自動マイグレート部180は、I/Oレスポンスが所定時間以上のデータを、同等の他のストレージデバイスに移動させることもできる。これにより、複数のストレージへアクセスを分散させ、I/Oレスポンスを向上させることができる。
システム管理機能制御部190は、解析部による解析結果に応じて、サーバ230に実装されたアプリケーション233,233a,233bに対して動作指示を行う。例えば、システム管理機能制御部190は、一月当たりのリカバリ回数が所定回数以上のデータに関し、バックアップ頻度を高めるように、バックアップ用のアプリケーションの設定を変更させることもできる。これにより、システム障害時に消失するデータを減らすことができ、リカバリ作業の効率化が図れる。
図5は、データ属性テーブルのデータ構造例を示す図である。データ属性テーブル140には、データ識別子、データ属性、およびストレージ識別子の欄が設けられている。
データ識別子の欄には、ファイルシステムが管理しているデータ(例えば、ファイル)の識別子が設定される。データ属性の欄には、データの属性が設定されている。
データ属性の欄は、属性の種別毎に分けられている。図5の例では、更新日、大きさ、所有者、重要度、I/Oレスポンス、リカバリ頻度、およびバックアップ有無の欄が設けられている。更新日の欄には、データの内容が最後に更新された日付が設定される。大きさの欄には、データ容量が設定される。所有者の欄には、データの所有者のユーザ名が設定される。重要度の欄には、データの重要度(High:高、Middle:中、Low:低)が設定される。I/Oレスポンスの欄には、データに対するアクセスに要する時間(アクセス要求を出力してから応答が返されるまでの時間)が設定される。リカバリ頻度の欄には、所定期間内にバックアップデータのリカバリを実施した回数が設定される。また、リカバリ頻度の欄には、リカバリを実施したすべての日付が設定されている。バックアップ有無の欄には、バックアップの実施の有無が設定される。
ストレージ識別子の欄には、データが格納されているストレージデバイスの識別子が設定される。
データ属性テーブル140に設定されているデータ属性のうち、更新日、大きさ、所有者については、OS231内のファイルシステムから取得される情報である。また、重要度、I/Oレスポンス、リカバリ頻度、バックアップ有無のデータ属性は、アプリケーション233から取得される情報である。
また、I/Oレスポンスの欄の情報は、採取されたアクセス時間の情報に基づいて、その採取時刻毎に算出された統計データである。
図6は、ストレージ属性テーブルのデータ構造例を示す図である。ストレージ属性テーブル150には、ストレージ識別子とストレージ属性との欄が設けられている。
ストレージ識別子の欄には、ストレージデバイスの識別子が設定される。ストレージ属性の欄には、ストレージデバイスの属性が設定されている。
ストレージ属性の欄は、属性の種別毎に分けられている。図6の例では、価格、性能、使用量、未使用量、I/Oレスポンス、およびバックアップ有無の欄が設けられている。価格の欄には、ストレージデバイスの価格の相対的な評価(High:高額、Middle:標準、Low:低額)が設定される。性能の欄には、ストレージデバイスの性能の相対的な評価(High:高速、Middle:標準、Low:低速)が設定される。使用量の欄には、現在使用されているデータ記憶容量が設定される。未使用量の欄には、空き容量が設定される。I/Oレスポンスの欄には、ストレージデバイスに対するアクセスに要する時間が設定される。バックアップ有無の欄には、バックアップの実施の有無が設定される。
なお、I/Oレスポンスの欄の情報は、採取されたアクセス時間の情報に基づいて、その採取時刻毎に算出された統計データである。
以上のような構成のシステムにおいて、以下のような処理が行われる。
図7は、システム管理処理の手順を示すフローチャートである。以下、図7に示す処理をステップ番号に沿って説明する。
[ステップS11]アプリケーション情報収集部110は、サーバ230のアプリケーション233,233a,233bからシステム管理に関する情報を収集する。アプリケーション情報収集部110は、収集した情報を、データ属性テーブル140やストレージ属性テーブル150に登録する。
[ステップS12]システム情報収集部120は、サーバ230のエージェント232を介して、サーバ230内のOS231で管理されているシステム情報を収集する。システム情報収集部120は、収集した情報を、データ属性テーブル140やストレージ属性テーブル150に登録する。
[ステップS13]ハードウェア情報収集部130は、ストレージデバイス251,252にアクセスし、ストレージデバイス251,252が有する管理情報を収集する。ハードウェア情報収集部130は、収集した情報を、データ属性テーブル140やストレージ属性テーブル150に登録する。
このように、情報が収集されることにより、ステップS11−S13で収集した情報が互いに関連づけられる。具体的には、リソース(ストレージデバイス等)の属性(価格、性能、使用量等)、そのリソースに含まれるデータの属性(更新日、大きさ等)、およびポリシー(バックアップ処理の要否等)が関連づけられる。
[ステップS14]情報解析部160は、データ属性テーブル140とストレージ属性テーブル150に登録された情報を解析し、各種情報の値の推移に関する傾向分析を行う。例えば、ストレージデバイス251,252の平均アクセス時間の推移などが求められる。
[ステップS15]解析結果通知部170は、傾向分析結果をモニタ11に表示する。例えば、解析結果通知部170は、平均アクセス時間の時間帯毎の推移を示すグラフを画面に表示する。
[ステップS16]自動マイグレート部180は、傾向分析結果に応じて、自動マイグレートを行う。具体的には、自動マイグレート部180は、傾向分析結果に基づいて、不足資源、または余剰資源を判断し、適切なシステム構成となるようなシステム変更案をモニタ11に表示する。そして、自動マイグレート部180は、システム変更案を承認する操作入力がユーザによって行われると、そのシステム変更案に沿ったマイグレート処理を実行する。
[ステップS17]システム管理機能制御部190は、傾向分析結果に応じて、システム設定の最適化を行う。具体的には、システム管理機能制御部190は、サーバ230のアプリケーション233,233a,233bやエージェント232に対して、システム設定の更新要求を出力する。アプリケーション233,233a,233bやエージェント232は、更新要求に応じて各種処理の設定値を更新する。例えば、バックアップ処理を行うアプリケーションであれば、バックアップスケジュールやバックアップ対象となるストレージデバイスの追加/削除等が行われる。
次に、図7に示す処理を詳細に説明する。
図8は、情報収集処理を示す図である。まず、アプリケーション情報収集部110が、システム上のアプリケーションを検索する。そして、アプリケーション情報収集部110は、検出されたアプリケーション233,233a,233bに対して、管理情報を要求する(ステップS21)。すると、アプリケーション233,233a,233bは、管理している情報をアプリケーション情報収集部110に対して送信する(ステップS22)。バックアップのアプリケーションであれば、データ毎、またはストレージデバイス毎のリカバリ頻度やバックアップ処理の要否等の情報が送信される。アプリケーション情報収集部110は、アプリケーション233,233a,233bから送られた管理情報を、データ属性テーブル140やストレージ属性テーブル150に格納する(ステップS23)。
また、システム情報収集部120が、サーバ群を検索し、検出したサーバ230内のエージェント232に対して、管理情報を要求する(ステップS24)。すると、エージェント232は、OS231内のファイルシステムやデバイスドライバの保持する管理情報にアクセスする(ステップS25)。そして、エージェント232は、ファイルシステムやデバイスドライバが有するシステムの管理情報を取得する(ステップS26)。例えば、データの更新日、大きさ、所有者等の情報が取得される。さらに、エージェント232は、取得した管理情報を管理サーバ100のシステム情報収集部120に対して送信する(ステップS27)。システム情報収集部120は、受け取った管理情報を、データ属性テーブル140やストレージ属性テーブル150に格納する(ステップS28)。
さらに、ハードウェア情報収集部130が、ストレージデバイス251,252内の管理情報にアクセスする(ステップS29)。そして、ハードウェア情報収集部130は、ストレージデバイス251,252の管理情報を取得する(ステップS30)。例えば、I/Oレスポンス、ストレージデバイスの使用量、未使用量(空き容量)等の情報が取得される。ハードウェア情報収集部130は、取得した管理情報を、データ属性テーブル140やストレージ属性テーブル150に格納する(ステップS31)。
図9は、アプリケーションから収集される管理情報の例を示す図である。図9には、データ管理情報31a,31b,31c,31d,32a,32b,32c,32dと、ディレクトリ管理情報33,34が示されている。
データ管理情報31a,31b,31c,31dは、ファイルシステムの絶対パスが「/home/aplA/」であるディレクトリ内の複数のデータそれぞれに関する管理情報である。データ管理情報32a,32b,32c,32dは、ファイルシステムの絶対パスが「/work/aplA/」であるディレクトリ内の複数のデータそれぞれに関する管理情報である。データ管理情報31a,31b,31c,31d,32a,32b,32c,32dには、パス名(ディレクトリのパスにファイル名を追加したもの)、オーナ(データの作成者)、作成日、および更新日が含まれている。
ディレクトリ管理情報33は、絶対パスが「/home/aplA/」であるディレクトリに関する管理情報である。ディレクトリ管理情報34は、絶対パスが「/work/aplA/」であるディレクトリに関する管理情報である。ディレクトリ管理情報33,34には、パス名、重要度、I/Oレスポンス保証値、および自動化フラグの情報が含まれている。
ここで、重要度は、ディレクトリに格納されるデータを消失したときに業務に与える影響の度合いを示している。この例では、重要度が、high(高)、low(低)で示されている。I/Oレスポンス保証値は、ディレクトリ内のデータに対するアクセスにおいて、保証すべきI/Oレスポンス(アクセスから応答までの時間)が設定される。なお、I/Oレスポンスの保証をおこなわない場合、I/Oレスポンス保証値として、設定可能な最大値(図9の例では「9999秒」)が設定される。
自動化フラグは、自動的にシステムの自動マイグレートを行うか否かを示すフラグである。自動設定を行う場合、自動化フラグが「ON」に設定される。自動設定を行わない場合、自動化フラグが「OFF」に設定される。
図10は、エージェントから収集される管理情報の例を示す図である。図10には、ファイルシステム毎のファイルシステム管理情報41,42と、ファイルシステム管理ポリシー情報43,44とが示されている。
ファイルシステム管理情報41,42は、ファイルシステムに割り当てられた資源の情報が示されている。具体的には、ファイルシステム管理情報41,42には、ファイルシステム名、割り当て量、使用量、作成日、および更新日が含まれている。
ファイルシステム管理ポリシー情報43,44には、ファイルシステムを管理するための指針となる情報が示されている。具体的には、ファイルシステム管理ポリシー情報43,44には、ファイルシステム名、重要度、I/Oレスポンス保証値、使用量監視閾値、自動化フラグ、閾値超え通知フラグ、拡張フラグ、およびマイグレートフラグ等が設定されている。ここで、重要度は、ファイルシステムで管理されるデータを消失したときに業務に与える影響の度合いを示している。この例では、重要度が、high(高)、low(低)で示されている。I/Oレスポンス保証値は、ファイルシステムで管理されるデータに対するアクセスにおいて、保証すべきI/Oレスポンス(アクセスから応答までの時間)が設定される。なお、I/Oレスポンスの保証をおこなわない場合、I/Oレスポンス保証値として、設定可能な最大値(図10の例では「9999秒」)が設定される。
使用量監視閾値には、ファイルシステムの空き容量不足と判断するための閾値が設定される。この閾値は、割り当て量に対する使用量の割合(パーセンテージで示される)によって表される。閾値を超えて使用されていると、空き容量不足と判断される。
自動化フラグは、自動的にシステムの自動マイグレートを行うか否かを示すフラグである。自動設定を行う場合、自動化フラグが「ON」に設定される。自動設定を行わない場合、自動化フラグが「OFF」に設定される。
閾値超え通知フラグは、ファイルシステムの使用量が閾値を超えたときに、管理者の端末にその旨を通知するか否かを示すフラグである。通知する場合、閾値超え通知フラグが「ON」に設定される。通知しない場合、閾値超え通知フラグが「OFF」に設定される。なお閾値超え通知フラグが「ON」の場合、通知先の電子メールアドレス等の情報が詳細設定として登録される。
拡張フラグは、容量の拡張を行うか否かを示すフラグである。容量の拡張を行う場合、拡張フラグが「ON」に設定される。容量の拡張をおこなわない場合、拡張フラグが「OFF」に設定される。
マイグレートフラグは、システムマイグレートの対象とするか否かを示すフラグである。システムマイグレートの対象とするファイルシステムであれば、マイグレートフラグが「ON」に設定される。システムマイグレートの対象としないファイルシステムであれば、マイグレートフラグが「OFF」に設定される。なお、マイグレートフラグが「ON」の場合、マイグレートに必要な情報(例えば、データの移行先のストレージデバイスに要求される性能)等が詳細情報として登録される。
図11は、ストレージデバイスから収集される管理情報の例を示す図である。図11には、ストレージデバイス管理情報51,52と、ストレージデバイス管理ポリシー情報53,54とが示されている。
ストレージデバイス管理情報51,52には、ストレージデバイスに割り当てられた資源の情報が示されている。具体的には、ストレージデバイス管理情報51,52には、プール名(本実施の形態では、マイグレートの管理対象となるストレージデバイスをプールと称している)、割り当て量、使用量、未割り当て量、作成日、および更新日が含まれている。
ストレージデバイス管理ポリシー情報53,54には、ストレージデバイスを管理するための指針となる情報が示されている。具体的には、ストレージデバイス管理ポリシー情報53,54には、プール名、重要度、I/Oレスポンス保証値、および自動化フラグが設定されている。ここで、重要度は、ストレージデバイスに格納されるデータを消失したときに業務に与える影響の度合いを示している。この例では、重要度が、high(高)、low(低)で示されている。I/Oレスポンス保証値は、ストレージデバイスに格納されるデータに対するアクセスにおいて、保証すべきI/Oレスポンスが設定される。なお、I/Oレスポンスの保証をおこなわない場合、I/Oレスポンス保証値として、設定可能な最大値(図11の例では「9999秒」)が設定される。
自動化フラグは、自動的にシステムの自動マイグレートを行うか否かを示すフラグである。自動設定を行う場合、自動化フラグが「ON」に設定される。自動設定を行わない場合、自動化フラグが「OFF」に設定される。
図9〜図11に示した情報に基づいて、情報解析部160により傾向分析が行われる。そして、傾向分析の結果がモニタ11に表示されるとともに、システム管理者宛に電子メール等で送信される。以下、図12〜図15を参照して、傾向分析結果の例を示す。
図12は、サーバで管理するデータ量の推移を示す図である。図12では、横軸に日付、縦軸にサーバにおけるデータの使用割合(使用量を割り当て量で除算し、その値を百分率で示したもの)が示されている。なお、サーバの使用量と割り当て量は、そのサーバのファイルシステムに設定されている使用量と割り当て量とのそれぞれの合算値である。
図13は、アプリケーションで使用するデータ量の推移を示す図である。図13では、横軸に日付、縦軸にアプリケーションにおけるデータの使用割合が示されている。
図14は、ファイルシステムで管理するデータ量の推移を示す第1の図である。図14では、横軸に日付、縦軸にパスが「/home/aplA」であるファイルシステムにおけるデータの使用割合が示されている。
図15は、ファイルシステムで管理するデータ量の推移を示す第2の図である。図15では、横軸に日付、縦軸にパスが「/work/aplA」であるファイルシステムにおけるデータの使用割合が示されている。
以上のような情報収集および傾向分析は、予め設定されたスキャンスケジュールに従って実行される。また、収集した管理情報に基づいて、使用量監視閾値を超えたかどうかの判断が、アクションスケジュールに従って実行される。そして、解析結果通知部170は、解析結果により、いずれかのファイルシステムに関して、使用量監視閾値を超えた場合、管理用端末装置20に対して閾値超え通知を送信する。
図16は、閾値越え通知状況を示す図である。解析結果通知部170は、例えば、電子メールを用いて閾値越え通知60を管理用端末装置20に送信する。
その後、マイグレートが必要であれば、自動マイグレート部180によってシステムのマイグレートが行われる。例えば、使用量が使用量監視閾値を超えたストレージデバイス内のデータの一部を、他のストレージデバイスに移動させる。
図17は、マイグレートの状況を示す図である。図17の例では、自動マイグレート部180からの指示により、エージェント232がストレージデバイス252内のデータを別のストレージデバイス253に移動させている。同様に、自動マイグレート部180からの指示により、アプリケーション233がストレージデバイス252内のデータを別のストレージデバイス253に移動させている。
例えば、自動マイグレート部180は、「/work/AplA」内の300日間未アクセスのデータを、「/tmp」というディレクトリに移動させる。「/tmp」のディレクトリは、「/work/AplA」のディレクトリが設けられたストレージデバイスよりも安価でアクセス速度の遅いストレージデバイスに設けられている。その結果、システム内の資源の使用効率を向上させることができる。ただし、この場合、図5のデータの重要度、図6のストレージの性能、図9のディレクトリ管理情報の重要度とI/Oレスポンス保証が同じである必要がある。
以下にその他の自動マイグレートの例を示す。
図18は、長期間未使用データの傾向分析結果を示す図である。情報解析部160は、データ属性テーブル140を参照し、例えば、1年以上未アクセスのデータを検索する。さらに、情報解析部160は、ストレージ属性テーブル150を参照し、1年以上未アクセスのデータが格納されているストレージデバイスを判断する。そして、情報解析部160が取得したデータから傾向分析を行い、解析結果通知部170が分析結果を管理用端末装置20に送信する。
解析結果は、例えば、データリスト71、サーバ別分布表72、ストレージデバイス別分布表73の形式で通知される。データリスト71は、1年以上未アクセスのデータが登録されたリストである。
サーバ別分布表72は、1年以上未アクセスのデータのサーバ間の分布を示す円グラフである。なお、各ストレージデバイスがどのサーバからアクセスできるのかは、図示していないシステム構成情報によって判断できる。
ストレージデバイス別分布表73は、1年以上未アクセスのデータのストレージデバイス間の分布を示す円グラフである。
このような傾向分析結果から、例えば、「pool1」のストレージデバイス内に長期間未アクセスのデータが偏って存在していることが分かる。そこで、自動マイグレート部180は、アプリケーション233,233a,233bやエージェント232を介して、「pool1」のストレージデバイス内の長期間未アクセスのデータを他のストレージデバイスに移動させる。これにより、ストレージデバイス間のデータアクセス頻度の均等化が可能となる。
図19は、過去から未来へのデータ格納量の傾向分析結果を示す図である。情報解析部160がデータ属性テーブル140とストレージ属性テーブル150を参照し、サーバ毎およびストレージデバイス毎のデータ格納領域使用割合を判断する。情報解析部160は、このような使用割合の判断を、定期的に継続して行う。そして、情報解析部160は、過去からの使用割合の推移を解析すると共に、未来の使用割合の推移を予想する。解析結果通知部170は、過去から未来までのサーバおよびストレージデバイスのデータ格納領域使用割合の推移の解析結果を、管理用端末装置20に送信する。
図19の例では、サーバAの格納領域使用割合推移表81と、「pool1」の格納領域使用割合推移表82とが解析結果として送信されている(2005年10月01日時点のデータとする)。この解析結果によれば、サーバAの使用割合はあまり変化していないが、高額なストレージデバイスである「pool1」の使用割合は増加傾向にあることが分かる。
図20は、I/Oレスポンスとデータ記憶領域使用割合の傾向分析結果を示す図である。情報解析部160がデータ属性テーブル140とストレージ属性テーブル150を参照し、アプリケーション毎のI/Oレスポンスとストレージデバイス毎のデータ格納領域使用割合を判断する。情報解析部160は、このような処理を、定期的に継続して行う。そして、情報解析部160は、過去からのアプリケーションのI/Oレスポンスの推移を解析すると共に、未来の使用割合の推移を予想する。また、情報解析部160は、過去からのストレージデバイスのデータ記憶領域使用割合の推移を解析すると共に、未来の使用割合の推移を予想する。解析結果通知部170は、アプリケーションのI/Oレスポンスの推移と、ストレージデバイスのデータ格納領域使用割合の推移との解析結果を、管理用端末装置20に送信する。
図20の例では、アプリケーションAのI/Oレスポンス推移表91と、「pool1」の格納領域使用割合推移表92とが解析結果として送信されている(2005年10月01日時点のデータとする)。この解析結果によれば、アプリケーションAのI/Oレスポンスが悪化しているとともに、ストレージデバイス「pool1」の使用割合が増加傾向にあることが分かる。すなわち、ストレージデバイスの空き容量の減少が、アプリケーションAのI/Oレスポンスの悪化を招いていると推定できる。この場合、解析結果通知部170は、システムの管理者に対して、「pool1」のスリム化(データの他のストレージデバイスへの移動)を提案するメッセージを送信する。
図21は、ビジー率とI/Oレスポンスとの傾向分析結果を示す図である。情報解析部160がデータ属性テーブル140とストレージ属性テーブル150を参照し、アプリケーション毎のI/Oレスポンスとストレージデバイス毎のビジー率とを判断する。なお、ストレージデバイスのビジー率は、ハードウェア情報収集部130によって予め各ストレージデバイスから収集され、図6に示すストレージ属性テーブル150に追加登録されているものとする。
情報解析部160は、このような処理を、定期的に継続して行う。そして、情報解析部160は、過去からのアプリケーションのI/Oレスポンスの推移を解析すると共に、未来の使用割合の推移を予想する。また、情報解析部160は、過去からのストレージデバイスのビジー率の推移を解析すると共に、未来のビジー率の推移を予想する。解析結果通知部170は、アプリケーションのI/Oレスポンスの推移と、ストレージデバイスのビジー率の推移との解析結果を、管理用端末装置20に送信する。
図21の例では、アプリケーションAのI/Oレスポンス推移表301と、「pool1」,「pool2」のビジー率推移表302とが解析結果として送信されている(2005年10月01日時点のデータとする)。この解析結果によれば、アプリケーションAのI/Oレスポンスが悪化しているとともに、ストレージデバイス「pool1」のビジー率が増加傾向にあることが分かる。すなわち、ストレージデバイスに対するアクセスの集中が、アプリケーションAのI/Oレスポンスの悪化を招いていると推定できる。この場合、解析結果通知部170は、システムの管理者に対して、「pool1」のデータを「pool2」へ移動させることを提案するメッセージを送信する。このようなデータの移動により、I/Oレスポンスが向上する。
なお、システム管理者への解析結果通知を行わずに、自動マイグレート部180が自動でデータの移動を行うこともできる。例えば、ストレージデバイスのビジー率が所定値(例えば、30%)に近づくと、所定値を超えないように自動マイグレート部180が、ビジー率が高いストレージデバイスから低いストレージデバイスへデータを移動する。
図22は、リカバリ頻度の傾向分析に基づくバックアップスケジュールの妥当性分析結果を示す図である。情報解析部160がデータ属性テーブル140とストレージ属性テーブル150を参照しデータ毎のリカバリ頻度、バックアップ有無、およびバックアップ時刻を判断する。なお、データのバックアップ時刻は、アプリケーション情報収集部110によって予めバックアップ用のアプリケーションから収集され、図5に示すデータ属性テーブル140に追加登録されているものとする。
情報解析部160は、このような処理を、定期的に継続して行う。そして、情報解析部160は、データあるいはストレージデバイスに対するリカバリ操作(バックアップデータを元のストレージデバイスに戻す操作)が作業割合を解析すると共に、バックアップスケジュールの妥当性を解析する。解析結果通知部170は、リカバリ操作割合とバックアップスケジュールの妥当性との解析結果を、管理用端末装置20に送信する。
図22の例では、リカバリ割合表311と、バックアップスケジュール解析表312とが解析結果として送信されている。なお、バックアップスケジュールの妥当性は、リカバリに使用したバックアップデータのバックアップ時刻と、リカバリに使用可能な最新のバックアップデータのバックアップ時刻との比較によって行われる。
リカバリに使用したバックアップデータが、使用可能な最新のバックアップデータよりも過去のものであれば、バックアップスケジュールは妥当と判断される。一方、リカバリに使用したバックアップデータが使用可能な最新のバックアップデータであれば、そのバックアップデータのバックアップ時刻からリカバリ時刻までの間、データのロス(復旧させるべきデータの消失)が存在したものと判断される。
また、情報解析部160は、リカバリ頻度の傾向分析に基づくバックアップスケジュールの妥当性分析結果として、所定期間内にリカバリが行われていないバックアップスケジュールをリストアップすることもできる。
図23は、未リカバリバックアップスケジュールの解析結果を示す図である。情報解析部160は、リカバリ操作回数が「0」のデータをデータ属性テーブル140やストレージ属性テーブル150から検索し、未リカバリバックアップスケジュールリスト313を生成する。未リカバリバックアップスケジュールリスト313は、解析結果通知部170によって管理用端末装置20に送信される。
未リカバリバックアップスケジュールリスト313には、所定期間内のリカバリ操作回数が「0」であるデータがリストアップされている。この例では、該当データのバックアップデータ量やバックアップスケジュールが合わせて示されている。
システムの管理者は、この未リカバリバックアップスケジュールリスト313を参照して、不要なバックアップ処理を停止することができる。
また、情報解析部160は、バックアップスケジュールの設定漏れを検出することもできる。
図24は、バックアップスケジュールの設定漏れの解析結果を示す図である。情報解析部160は、バックアップの設定が「無」のデータをデータ属性テーブル140やストレージ属性テーブル150から検索すると共に、該当するデータの所定期間内での更新の有無を検索する。そして、情報解析部160は、無バックアップデータ表321と無バックアップデータ更新有無割合表322とを作成する。無バックアップデータ表321と無バックアップデータ更新有無割合表322とは、解析結果通知部170によって管理用端末装置20に送信される。
無バックアップデータ表321には、バックアップの設定が「無」のデータがリストアップされている。各データには、格納されているストレージデバイスの名称(pool番号)と、推奨バックアップスケジュールが設定される。
推奨バックアップスケジュールは、データの更新頻度や重要度に応じて決定される。例えば、データの重要度が高いほど、バックアップ間隔が短く設定される。また、データの更新間隔が短いほど、バックアップ間隔が短く設定される。
無バックアップデータ更新有無割合表322には、無バックアップのデータのうち、所定期間内に更新されたデータと未更新のデータとの割合が、円グラフで示される。なお、無バックアップデータ更新有無割合表322は、ストレージデバイス毎に生成することもできる。
このように、アプリケーションが有する管理情報、OSが有する管理情報、およびストレージデバイスが有する管理情報を組み合わせて、システムの運用計画を計算するようにしたため、システムを効率的に運用することが可能となる。
例えば、アプリケーションから各データのアクセス頻度に関する情報を取得し、アクセス頻度が低いデータを低速且つ安価なストレージデバイスに移動することで、ストレージデバイスの投資対効果を向上させることができる。
また、アプリケーション等からディスクのI/Oレスポンスに関する管理情報を取得することで、I/Oレスポンスの悪化を容易に見つけ出すことができる。I/Oレスポンスが悪化した場合、該当ストレージデバイス内のデータの一部を他のストレージデバイスに移動させることができる。
また、バックアップ管理において、データの更新状態を加味してバックアップスケジュールの妥当性を判断できることにより、障害発生時の対応の手間を最小限に抑えることができる。
また、OSが管理するデータのうち、バックアップのスケジュールから漏れているデータが検出できるようになり、重要なデータのバックアップ漏れを防ぐことができる。
さらに、管理情報の収集は、必要なとき(例えば、システム構成が変更されたとき等)にポーリングによって行われる。そのため、管理情報収集によるシステムに対する負荷を低く抑えることができる。その結果、大規模はシステムであっても、各アプリケーションからのアクセス状況等を監視することが可能となる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、管理サーバが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
(付記1) システムの構成の最適化を支援するシステム管理プログラムにおいて、
コンピュータを、
ネットワークシステムを構成するサーバでアプリケーションプログラムが実行されることで実現するアプリケーション機能からデータへのアクセス状況を示す管理情報を取得し、システム管理テーブルに登録するアプリケーション情報収集手段、
前記サーバのオペレーティングシステムが有する資源管理情報を取得し、前記システム管理テーブルに登録するシステム情報収集手段、
前記システム管理テーブルを参照し、前記アプリケーション機能のデータアクセス状況に応じた資源の管理状況の適否を判断する情報解析手段、
として機能させることを特徴とするシステム管理プログラム。
(付記2) 前記コンピュータを、さらに、
前記情報解析手段による解析結果をシステム管理者の使用する端末装置に通知する解析結果通知手段として機能させることを特徴とする付記1記載のシステム管理プログラム。
(付記3) 前記コンピュータを、さらに、
前記情報解析手段による解析結果に基づいて最適なシステム構成を判断し、判断結果に従ってシステムの構成を変更する自動マイグレート手段、
として機能させることを特徴とする付記1記載のシステム管理プログラム。
(付記4) 前記アプリケーション情報収集手段は、前記アプリケーション機能からデータのバックアップおよびリカバリ状況を示す管理情報を収集し、
前記システム情報収集手段は、前記オペレーティングシステムから、ファイルシステムに管理されているデータの管理情報を収集し、
前記情報解析手段は、前記アプリケーション機能によるバックアップスケジュールの良否を判定することを特徴とする付記1記載のシステム管理プログラム。
(付記5) 前記情報解析手段は、リカバリに使用したバックアップデータのバックアップ時刻と、リカバリに使用可能な最新のバックアップデータのバックアップ時刻とを比較することにより、バックアップスケジュールの妥当性を判断することを特徴とする付記4記載のシステム管理プログラム。
(付記6) 前記情報解析手段は、リカバリに使用したバックアップデータのバックアップ時刻が、リカバリに使用可能な最新のバックアップデータのバックアップ時刻より前であれば、バックアップスケジュールが妥当であると判断することを特徴とする付記5記載のシステム管理プログラム。
(付記7) 前記情報解析手段は、リカバリに使用したバックアップデータのバックアップ時刻が、リカバリに使用可能な最新のバックアップデータのバックアップ時刻と同日の場合、バックアップスケジュールが不適切であると判断することを特徴とする付記5記載のシステム管理プログラム。
(付記8) 前記情報解析手段は、バックアップ処理が行われていながら所定期間リカバリが行われないデータをリストアップすることを特徴とする付記4記載のシステム管理プログラム。
(付記9) 前記情報解析手段は、前記オペレーティングシステムにおいて管理されているデータのうち、バックアップ処理を行う前記アプリケーション機能において前記バックアップスケジュールから漏れているデータをリストアップすることを特徴とする付記4記載のシステム管理プログラム。
(付記10) コンピュータの演算処理により、システムの構成の最適化を支援するシステム管理方法において、
ネットワークシステムを構成するサーバでアプリケーションプログラムが実行されることで実現するアプリケーション機能からデータへのアクセス状況を示す管理情報を取得し、システム管理テーブルに登録し、
前記サーバのオペレーティングシステムが有する資源管理情報を取得し、前記システム管理テーブルに登録し、
前記システム管理テーブルを参照し、前記アプリケーション機能のデータアクセス状況に応じた資源の管理状況の適否を判断する、
ことを特徴とするシステム管理方法。
(付記11) システムの構成の最適化を支援するシステム管理装置において、
ネットワークシステムを構成するサーバでアプリケーションプログラムが実行されることで実現するアプリケーション機能からデータへのアクセス状況を示す管理情報を取得し、システム管理テーブルに登録するアプリケーション情報収集手段と、
前記サーバのオペレーティングシステムが有する資源管理情報を取得し、前記システム管理テーブルに登録するシステム情報収集手段と、
前記システム管理テーブルを参照し、前記アプリケーション機能のデータアクセス状況に応じた資源の管理状況の適否を判断する情報解析手段と、
として機能させることを特徴とするシステム管理装置。