(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023040520
(43)【公開日】2023-03-23
(54)【発明の名称】管理システム、管理システムによる管理方法及びコンピュータプログラム
(51)【国際特許分類】
G06F 16/13 20190101AFI20230315BHJP
G06F 3/06 20060101ALI20230315BHJP
G06F 13/10 20060101ALI20230315BHJP
【FI】
G06F16/13 100
G06F3/06 304N
G06F13/10 340Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021147553
(22)【出願日】2021-09-10
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】アフマッド アヴァイス
(72)【発明者】
【氏名】林 真一
(72)【発明者】
【氏名】金子 聡
(72)【発明者】
【氏名】爲重 貴志
(57)【要約】
【課題】エージェントをインストールすることなくデータベースとボリュームとの関係を管理する。
【解決手段】データカタログと、このデータカタログが使用するデータが格納されたストレージシステム4000のボリューム4400との関係を管理する管理システム8000であって、管理システム8000のプロセッサ8300は、データカタログが有する、ボリューム4400の認証情報を含むデータにアクセスし、データへのアクセスのタイミングを含む時間範囲においてボリューム4400のアクセス数を検出し、アクセス数に基づいてデータカタログとボリューム4400との関係を管理する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
データベースと、このデータベースが使用するデータが格納されたストレージシステムのボリュームとの関係を管理する管理システムであって、
前記管理システムはプロセッサを有し、
前記プロセッサは、
前記データベースが有する、前記ボリュームの認証情報を含むデータにアクセスし、
前記データへのアクセスのタイミングを含む時間範囲において前記ボリュームのアクセス数を検出し、
前記アクセス数に基づいて前記データベースと前記ボリュームとの関係を管理する
ことを特徴とする管理システム。
【請求項2】
前記プロセッサは、前記アクセス数に基づいて前記データベースが使用する前記データが格納された前記ボリュームを特定することを特徴とする請求項1に記載の管理システム。
【請求項3】
前記プロセッサは、前記時間範囲において前記アクセス数が増加した前記ボリュームを特定することを特徴とする請求項2に記載の管理システム。
【請求項4】
前記プロセッサは、前記ボリュームの前記認証情報を含む前記データの読み出し要求を行い、及び/または、前記データに対してデータプレビューコマンドを発行することで前記データにアクセスすることを特徴とする請求項1に記載の管理システム。
【請求項5】
前記アクセス数は、前記ボリュームに対するIOPS、転送レート、及びキャッシュヒット率の少なくとも1つであることを特徴とする請求項1に記載の管理システム。
【請求項6】
前記プロセッサは、前記アクセス数に基づく前記ボリュームの異常スコアにより前記データベースと前記ボリュームとの関係を管理することを特徴とする請求項1に記載の管理システム。
【請求項7】
前記プロセッサは、前記ボリュームの前記認証情報を含む前記データベースのデータベースカタログにアクセスすることを特徴とする請求項1に記載の管理システム。
【請求項8】
前記プロセッサは、前記データベース及び前記ボリュームが低負荷である期間を検出し、前記期間内において前記ボリュームの認証情報を含むデータにアクセスすることを特徴とする請求項1に記載の管理システム。
【請求項9】
前記プロセッサは、前記データベースと前記ボリュームとの関係を可視化するGUIを表示するためのデータを生成することを特徴とする請求項1に記載の管理システム。
【請求項10】
データベースと、このデータベースが使用するデータが格納されたストレージシステムのボリュームとの関係を管理する管理システムによる管理方法であって、
前記データベースが有する、前記ボリュームの認証情報を含むデータにアクセスし、
前記データへのアクセスのタイミングを含む時間範囲において前記ボリュームのアクセス数を検出し、
前記アクセス数に基づいて前記データベースと前記ボリュームとの関係を管理する
ことを特徴とする管理システムによる管理方法。
【請求項11】
データベースと、このデータベースが使用するデータが格納されたストレージシステムのボリュームとの関係を管理するコンピュータにより実行されるコンピュータプログラムであって、
前記コンピュータプログラムが前記コンピュータにより実行されると、このコンピュータを、
前記データベースが有する、前記ボリュームの認証情報を含むデータにアクセスさせ、
前記データへのアクセスのタイミングを含む時間範囲において前記ボリュームのアクセス数を検出させ、
前記アクセス数に基づいて前記データベースと前記ボリュームとの関係を管理させる
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、管理システム、管理システムによる管理方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
本発明は、より詳細にいえば、サーバまたは仮想マシン上で実行されるデータベースアプリケーションと、このデータベースアプリケーションが使用するデータが存在するボリュームとの間の関係を発見することに関する。
【0003】
ハイブリッドクラウドデータサービスの発展に伴い、データベースとこのデータベースが使用するデータが格納されている実体としてのストレージシステムのボリュームとが異なるシステムに配置されることが多くなっている。
【0004】
コンプライアンスの観点から、データベースの削除を行う際には、このデータベースが使用するデータも完全に削除されなければならない。しかしながら、多数のデータベースと多数のストレージシステムとが存在するハイブリッドクラウドデータサービスにおいて、データベースとボリュームとの対応関係を即座に把握し、適切にデータの削除を行う作業は困難を要する。
【0005】
このような課題に対応する技術として、特許文献1、特許文献2に開示された技術がある。これら特許文献1、特許文献2に開示された技術では、サーバ上にエージェントをインストールすることによって、サーバとストレージとの関係を見つける問題を解決している。「アプリケーション・オブジェクト・マネージャー・エンジン」(ホスト・サーバー・マシン上のエージェント)は、ストレージシステム上のアプリケーション・オブジェクト(データベースアプリケーション)とそのストレージ・オブジェクト(論理ボリューム)との間のマッピングを決定する。エージェントは、サーバの他のソフトウェアと組み合わせて実行するように構成されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国特許第8429140号明細書
【特許文献2】米国特許第8650165号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1、特許文献2に開示された技術のように、サーバ上にエージェントをインストールすることには、次のような課題がある。
【0008】
まず、システムのクライアントは、セキュリティ上の問題があるため、セキュアシェル(Secure Shell:SSH)の認証情報(クレデンシャル:credential)を共有したくない場合がある。
次に、システムは仮想マシン(VM)または物理サーバ上で数百のデータベースアプリケーションを実行している可能性があり、このようなセキュアシェル(SSH)の認証情報を手動で収集するのは面倒な場合がある。これは、通常、暗号鍵の中央リポジトリはなく、仮想マシン(VM)の構成は動的だからである。
【0009】
本発明は、上記事情に鑑みなされたものであり、その目的は、エージェントをインストールすることなくデータベースとボリュームとの関係を管理することが可能な管理システム、管理システムによる管理方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【0010】
上記課題を解決すべく、本発明の一つの観点に従う管理システムは、データベースと、このデータベースが使用するデータが格納されたストレージシステムのボリュームとの関係を管理する管理システムであって、管理システムはプロセッサを有し、プロセッサは、データベースが有する、ボリュームの認証情報を含むデータにアクセスし、データへのアクセスのタイミングを含む時間範囲においてボリュームのアクセス数を検出し、アクセス数に基づいてデータベースとボリュームとの関係を管理する。
【発明の効果】
【0011】
本発明によれば、エージェントをインストールすることなくデータベースとボリュームとの関係を管理することが可能な管理システム、管理システムによる管理方法及びコンピュータプログラムを実現することができる。
前記した以外の課題、構成および効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0012】
【
図1】実施形態に係る管理システムが適用されるシステムの概要を示すブロック図である。
【
図2A】実施形態に係る管理システムが有する情報テーブルの一例を示す図である。
【
図2B】実施形態に係る管理システムが有する情報テーブルの他の例を示す図である。
【
図3】実施形態に係る管理システムが適用されるシステムにおけるストレージのマッピングを示す図である。
【
図4】実施形態に係る管理システムが適用されるシステムにおける関連情報の一例を示す図である。
【
図5】実施形態に係る管理システムが適用されるシステムにおいて一般的に生じる可能性のある課題を説明するための図である。
【
図6】実施形態に係る管理システムの動作の一例を示す図である。
【
図7】実施形態に係る管理システムの動作の一例を説明するためのフローチャートである。
【
図8】実施形態に係る管理システムの事前動作の一例を説明するためのフローチャートである。
【
図9】実施形態に係る管理システムにより取得できるトポロジの一例を示す図である。
【
図10】実施形態に係る管理システムの出力結果であるGUIの一例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の実施形態について詳述する。ただし、以下の記載および図面は、本発明を説明するための例示であって、説明の明確化のために、適宜省略および簡略化が行われており、本発明の技術的範囲を限定するものではない。
【0014】
以後の説明では「テーブル」、「表」、「リスト」、「キュー」などの表現にて各種情報を説明するが、各種情報はこれら以外のデータ構造で表現されていてもよい。そのため、データ構造に依存しないことを示すために、単に「情報」と呼ぶことがある。各種情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」、「番号」などの表現を用いるが、これらについては相互に置換が可能である。
【0015】
以後の説明では、「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサ(例えばCPU(Central Processing Unit)やGPU(Graphics Processing Unit))によって実行されることで定められた処理を、記憶資源(例えばメモリ)やインタフェースデバイス(例えば通信装置)などを適宜用いながら行うため、プロセッサを主語とした説明としてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有する例えばコントローラ、装置、システム、計算機、ノード、ストレージ装置、サーバ、クライアント、又はホストであってもよい。また、プログラムの一部または全ては、ハードウェア回路を用いて処理してもよい。
【0016】
各種プログラムは、プログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。また、以後の説明において、2以上のプログラムが1つのプログラムとして実現されてもよく、逆に1つのプログラムが2以上のプログラムとして実現されてもよい。
【0017】
なお、実施例を説明する図において、同一の機能を有する箇所には同一の符号を付し、その繰り返しの説明は省略する。
【0018】
また、以下の説明において、同種の要素を区別しないで説明する場合には、参照符号(又は、参照符号のうちの共通符号)を使用し、同種の要素を区別して説明する場合は、要素の識別番号(又は参照符号)を使用することがある。
【0019】
図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。
【0020】
本実施形態の管理システムは、一例として以下のような構成を有する。
【0021】
すなわち、本実施形態の管理システムは、サイドチャネル解析技術に関するものである。Cloudscopyに基づくこの技術は、IP(インターネットプロトコル)アドレスの発見、ホップカウントの測定、および共存する仮想マシン(VM)の検証に関する新規な手法を提供する。これを実現するために、ハードウェア割り込み、クラウドスキャン、Time to Live(TTL)スキャンを利用する。
【0022】
サイドチャネル解析法と同様に、本実施形態の管理システムは、データカタログの助けを借りてデータベースをプローブし、マッピングを見つけるためにネットワークを解析することにより、サーバとストレージ間の関係を発見する新しいソリューションを提案する。
【0023】
本実施形態は、サーバまたは仮想マシン上で実行されているデータベースアプリケーションからストレージへのデータのマッピングを見つける方法を提案する。本実施形態は、顧客環境にエージェントをインストールする必要がない。本実施形態により見出された関係は、エンド・ツー・エンド・データ・フローの視覚化によるデータ管理において有用である。
【0024】
本実施形態は、データカタログやストレージ性能のような管理ソフトウェアからの既存の情報を利用することにより、顧客サーバのセキュアシェル(SSH)認証情報を収集したり、それらに任意のエージェントをインストールする必要性を排除する。
【0025】
データカタログには、組織内に存在するすべてのデータベースのアクセス詳細が含まれる。これには、テーブルのエンドポイントと、データベースの認証情報が含まれる。この情報は暗号化された形式でデータカタログにすでに用意されているため、本実施形態のソリューションでは認証情報のコレクションは必要ない。顧客がデータカタログにアクセスできる場合は、そのアプリケーションプログラミングインタフェース(API)を直接使用することができる。これらのデータカタログには、データプレビューアプリケーションプログラミングインタフェース(API)を介してテーブルの内容を表示する機能もある。
【0026】
データプレビューアプリケーションプログラミングインタフェース(API)を介してテーブルを読み取るたびに、同じ時間帯でボリュームのパフォーマンスが多少急増することが予測される。パフォーマンスデータは、IOPS(Input Output per Seconds)、転送レート(Transfer Rate)、キャッシュヒット率(Cache Hit ratio)などのパラメータを含む。ギガバイト(GB)程度のデータが少ないテーブルでは、このような読み取りコマンドを実行すると、ボリュームのパフォーマンスに非常に大きな負荷がかかる。それは、検出されるのに十分に有意であるべきである。
【0027】
以上の考えに従えば、関係識別プログラムを構築することができる。このプログラムは、アプリケーションプログラミングインタフェース(API)を介してデータカタログのテーブル(一度に1つずつ)に対して読み取り操作をトリガする。その結果、データベースはストレージからデータを読み取り、その結果をデータカタログに送り返す。
【0028】
この関係識別プログラムは、ストレージアプリケーションプログラミングインターフェース(API)を使用して、ストレージパフォーマンスも並行して収集する。収集された性能データは、異常検出アルゴリズムを実施する時系列データとなる。任意の異常検出アルゴリズムを考えることができる。データカタログからデータプレビューを実行する期間中に、任意のボリュームで高い異常スコアが検出された場合、プレビューコマンドが読み取られたデータベースは、データストレージに適切なボリュームを使用していると結論付けることができる。
【0029】
データベースメモリがテーブル・サイズよりも大きい場合、読み取り中にスパイクを観察することはできないが、ほとんどすべての実用的なケースに提案を適用することができる。データベースメモリーサイズよりも大きいテーブル・サイズの場合はいつでも、本実施形態を適用することができる。データカタログに書き込み権限があり、顧客がサンプルスペースを指定して書き込むことができる場合、本実施例は常に適用可能である。
【0030】
何百ものサーバとストレージのリレーションの検索を自動化し、ログイン認証情報が不要なため、セキュリティも向上する。これは、エンド・ツー・エンドのデータフロー、根本原因解析(root cause analysis)、およびポリシーコンプライアンスなど、さまざまな利点を提供する。その有用性は、データを削除するユースケースを通じ、詳細に議論されてきた。
【0031】
以下、
図1~
図10を参照して、本発明の実施形態について詳述する。
【0032】
図1は、本実施形態の管理システムを含む、典型的な顧客環境における全体的なシステムインフラストラクチャの実施形態を示すブロック図である。
図1は、顧客環境に存在する各システムと、それらが互いにどのように相互作用するか、および我々の関係識別プログラムを示す。
【0033】
顧客環境は、多数のデータカタログシステム6000、サーバシステム2000、ストレージシステム4000および本実施形態の管理システム8000から構成される。
【0034】
データカタログシステム6000は、システム上で実行されるプログラムを処理するサーバプロセッサ6100を有する。サーバネットワークアダプタ6700は、システムの接続性に責任を負う。サーバストレージアダプタ6900は、ネットワーク上で利用可能なストレージ6500を接続するのに役立つ。いくつかのデータ6510は、アタッチドストレージ6500上に存在する。サーバメモリ6300は、システム上で現在実行されているプログラムを有する。サーバメモリ6300上で実行され得る典型的なプログラムは、サーバOS6310およびデータカタログアプリケーション6320である。データカタログアプリケーション6320は、VMマネージャ6311によって管理されるVM上で実行されている場合もあれば、ベア・メタルで実行されている場合もある。A110は、データカタログシステム6000のすべてのコンポーネントを接続するバスである。
【0035】
顧客環境で実行される多数のサーバシステム2000が存在することができる。このサーバシステム2000は、システム上で実行されているプログラムを処理するサーバプロセッサ2100を有する。サーバネットワークアダプタ2500は、システムの接続性に責任を負う。サーバストレージアダプタ2700は、ネットワーク上で利用可能なアタッチドストレージ2900を接続するのに役立つ。サーバメモリ2300は、システム上で現在実行されているプログラムから構成される。
【0036】
サーバーOS2320がVMマネージャ2321を実行している可能性がある。VM2310はそのデータ2312と共に、アプリケーション2311(データベースアプリケーションまたは他のアプリケーションであり得る)を実行している可能性がある。アプリケーション2301は、データ2302を有するベア・メタルを実行することもできる。データ2312および2302は、アタッチドストレージ2900のディスク2910または2920上に存在する。A120は、サーバシステム2000の全ての構成要素を接続するバスである。
【0037】
ストレージシステム4000は、システム上で実行されるプログラムを処理するサーバプロセッサ4700を有する。ネットワークアダプタ4500は、システムの接続性に責任を負う。ネットワークターゲットアダプタ4900は、ネットワークを介して他のシステムにストレージを接続するのに役立つ。サーバメモリ4100は、大部分がストレージオペレーティングシステム4110からなる。ディスクおよびボリューム4400のアレイは、ストレージアダプタ4300により接続される。A130は、ストレージシステム4000の全ての構成要素を接続するバスである。
【0038】
管理システム8000は、システム上で実行されるプログラムを処理するサーバプロセッサ8300かを有する。サーバネットワークアダプタ8700は、システムの接続性に責任を負う。サーバストレージアダプタ8900は、ネットワーク上で利用可能なアタッチドストレージ8500を接続するのに役立つ。このアタッチドストレージ8500内には、いくつかのデータ8510が存在する可能性がある。サーバメモリ8100は、システム上で現在実行されているプログラムで構成される。
【0039】
データカタログ管理機能8110は、データカタログシステム6000からテーブルおよびデータベースに関する関係情報を取り出し、それを設定8111として記憶する。通信はA520として示されている。
【0040】
アプリケーション管理機能8140は、サーバシステム2000からすべてのアプリケーション間通信情報を収集し、それを設定8141に格納する。通信はA510として示されている。
【0041】
ストレージ管理機能8150はすべてのボリュームおよび設定8152のパフォーマンスデータ8151を収集し、そのリストは、ボリュームおよびディスク、ならびにそれらの関係である。通信はA500として示されている。
【0042】
関係識別プログラム8120は本実施形態の管理システム8000の主要部である。データカタログ管理機能8110、アプリケーション管理機能8140、及びストレージ管理機能8150内のデータから全ての設定及びパフォーマンスデータを収集することになるこの通信は矢印A540として示されている。これは、データカタログからデータベースアプリケーションへのエンドツーエンドトポロジを(設定8121として)計算し、矢印A550で示されるように、それをトポロジデータベース8130に格納する。トポロジデータベース8130は、ノードとしての2つの属性トポロジオブジェクト8131と、ノード間のエッジとしてのトポロジリンク8132とから構成される。
【0043】
トポロジは、Webクライアント9000に送られ、グラフィカルユーザインタフェース9100として可視化される。この接続は矢印A560で示されている。A100は、管理システム8000の全ての構成要素を接続するバスである。
【0044】
図2A及び
図2Bは、本実施形態の管理システムが有する情報テーブルの一例を示す図である。
【0045】
図2において、情報テーブルT1000は、パフォーマンスデータテーブルT1100、トポロジオブジェクトT1200、トポロジリンクT1300、データカタログリストT1400、データベースリストT1500、テーブルリストT1600及びボリュームリストT1700を有する。
【0046】
T1100はパフォーマンスデータテーブルであり、
図1におけるパフォーマンスデータ8151に対応する。パフォーマンスデータテーブルT1100は、エントリとして、時系列T1110、IOPS(Input Output per seconds)T1120、転送レートT1130などを有する。
【0047】
T1200はトポロジオブジェクトテーブルであり、
図1におけるトポロジオブジェクト8131に対応する。トポロジオブジェクトテーブルT1200は、エントリとして、ノードのIDT1210、ノードの名称T1220、ノードのタイプT1230などを有する。
【0048】
T1300はトポロジリンクテーブルであり、
図1におけるトポロジリンク8132に対応する。トポロジリンクテーブルT1300は、リンクのIDT1310、送信元ノード(ソース)の名称T1320、宛先ノード(ターゲット)の名称T1330などを有する。
【0049】
T1400はデータカタログリストであり、
図1におけるデータカタログ管理機能8110の設定8111に対応する。データカタログリストT1400は、エントリとして、データカタログのidT1410、データカタログのタイプT1420、データカタログのIP T1430、ユーザー名T1440、およびデータカタログのパスワードT1450などを有する。
【0050】
T1500は、データカタログから得られるデータベースリストであり、
図1における関係識別プログラム8120の設定8121に対応する。データベースリストT1500は、エントリとして、データベースのIDT1510、データベースの名前T1520、データベースのタイプT1530などを有する。
【0051】
T1600はデータカタログから得られるテーブルリストであり、
図1における関係識別プログラム8120の設定8121に対応する。テーブルリストT1600は、テーブルのidT1610、テーブルの名前T1620、テーブルが所属するデータベースT1630などを有する。
【0052】
T1700はボリュームリストであり、ストレージシステム4000から得られる。ボリュームリストT1700は、
図1におけるストレージ管理機能8150の設定8152に対応する。ボリュームリストT1700は、ボリュームのidT1710、ボリュームのLDEV ID T1720、およびボリュームのラベルT1730などを有する。
【0053】
図3は、サーバシステム2000をストレージに接続する方法の一例を示している。
【0054】
サーバシステム2000aはデータベースアプリケーション2303をベア・メタルで実行し、一方、サーバシステム2000bは仮想マシン2310上でデータベースアプリケーション2313を実行する。
【0055】
テーブル2304および2314は、それらのデータをディレクトリ2305および2315に格納する。この接続は、矢印A200およびA210によってそれぞれ示されている。これらのディレクトリ2305および2315は、実装デバイス2307および2317にそれぞれ常駐する。この関係は、LVMレイヤ2306および2316によって管理される。ディレクタ間の関係は、A201およびA211によって示されるLVMレイヤである。LVMレイヤと実装されたデバイスとの間の関係は、A203およびA212によって示される。
【0056】
サーバシステム2000はストレージエリアネットワーク(SAN)3000によりストレージコンポーネント5000に接続され、この接続は矢印A220a、A220b、A230a、およびA230bによって示される。
【0057】
ポート5400aおよび5400bは、サーバをボリュームに接続する。ポート5400はサーバシステム2000のグループとホストグループ5100aおよび5100bで表されるボリュームのグループの接続を管理している場合がある。ホストグループとポートの関係をA230a,A230bとする。ホストグループとボリュームの関係をA240a、A240bで示す。
【0058】
ボリュームは、パリティグループ5200として知られるディスクのアレイから分割される基本ボリューム4400aのアレイである。この接続は矢印A250aで示されている。ボリュームは、ディスクのプール5300を通して分割される仮想ボリューム4401aであることができる。この接続は、矢印A250bによって直ちに行われる。
【0059】
ボリューム4400aおよび4401aは、iSCSI/FC3100aおよび3100bなどのプロトコルの助けを借りて、実装デバイス2307および2317にマッピングされる。ソースおよびターゲットのユニークネームは、これらのプロトコルによって管理される。
【0060】
図4は、データのエンド・ツー・エンドの関係トポロジを見つけるために各層でデータを収集できる例を示している。
【0061】
情報項目T2000は、データカタログアプリケーション6320から収集することができる。データカタログアプリケーション6320は、インターネットプロトコル(IP):ポート3200を参照することによって、サーバシステム2000に接続される。情報項目T3000は、セキュアシェル(SSH)認証情報を使用してサーバにログインすることによって、サーバシステム2000から検索することができる。サーバシステム2000は、iSCSI/FC3100などの何らかのプロトコルによってボリューム4400に接続される。情報項目T4000は、ストレージシステム4000で実行されているストレージソフトウェアから取得できる。
【0062】
図5は、システムにログインしてリレーションデータを取得する際に発生する問題を示している。
【0063】
データカタログシステム6000は認証情報(Credential)C100を有する。ストレージシステム4000は認証情報C102を有する。サーバシステム2000の認証情報C101を持つサービスシステムが数百ある可能性がある。データカタログシステム6000は、矢印A700によって示されるサーバシステム2000内のすべてのデータベースアプリケーション2301へのアクセス権を有する。ストレージシステム4000は、矢印A730によって示されるボリュームおよびディスク4400のアレイを有することができる。アプリケーション2301は矢印A710によって示されるように、ストレージボリュームのための実装デバイス2307を使用する。
【0064】
問題は、関係識別プログラム8120が、収集が非常に困難でかつセキュリティ上の懸念がある数百のログイン/SSH認証情報を収集することを必要とする数百のサーバシステム2000にログインすることによって、マウント情報A720を収集しなければならないことである。それは矢印A300で示されている。
【0065】
図6は、関係識別プログラム8120の概念の核心を表している。これは、サイドチャネル分析のタイプに基づいている。理想的には、テーブルの読み取りまたは書き込みのためにデータカタログに負荷を生成するたびに、ボリュームにパフォーマンスボリュームのスパイクが発生することが予想される。
【0066】
7000は、データカタログのデータに対する操作を示す。Highは読み出し/書き込み動作を意味し、lowは動作しないことを意味する。この例では、読み出し動作が時間7010~7020で行われる。
【0067】
7500は、ボリュームのパフォーマンスを示している。ボリュームのパフォーマンスを図る指標としては、1秒あたりの入力出力(IOPS)、転送レート、またはキャッシュヒット率が可能である。時刻7510~7520まで異常が発生する。時間7510は7010と同じであり、時間7520は7020と同じである。スパイクのピークは時間7530にある。
【0068】
図7は、本実施形態の管理システム8000、特に関係識別プログラム8120がどのようにデータ関係を見つけることができるかを詳細に示すフローチャートである。
【0069】
まず、関係識別プログラム8120は、P100において、すべてのボリュームのパフォーマンスデータを収集する。次いで、関係識別プログラム8120は、P101にいて、データカタログに存在するデータベースのリストから1つのデータベースを選択する。次いで、関係識別プログラム8120は、P102において、P101で選択したデータカタログから1つのテーブルを選択する。次いで、関係識別プログラム8120は、P103において、時間の計時を開始する。このとき、計時開始時刻をT1とする。次いで、関係識別プログラム8120は、データカタログAPIを利用して、P102で選択したテーブルに対してデータプレビューコマンドを送信し、選択したテーブルのコンテンツを読み取る処理を実行する。
【0070】
関係識別プログラム8120は、P105において、全てのテーブルについてP102~P104に示す作業を行ったか否かを判定する。そして、全てのテーブルについて作業を行ったと判定したら(P105においてYES)P106に進み、まだ作業を行っていないテーブルがあると判定したら(P105においてNO)P102に戻って作業を継続する。
【0071】
P106では、関係識別プログラム8120は計時を終了する。この時、計時終了時刻をT2とする。次に、関係識別プログラム8120は、P107において、すべてのボリュームについて時刻T1と時刻T2との間の異常スコア(anomaly score)を計算する。そして、関係識別プログラム8120は、P108において、P107で算出した異常スコアのうち、あるボリュームが高い異常スコアを与える場合は、読み込んだデータベースとこのボリュームの間のマッピングを生成する。そして、関係識別プログラム8120は、P109において、テーブルからデータベースへの関連情報を収集して、マッピング全体を生成する(テーブル→データベース→サーバ→ボリューム)。
【0072】
そして、関係識別プログラム8120は、P110において、全てのデータベースについてP102~P109に示す作業を行ったか否かを判定する。そして、全てのデータベースについて作業を行ったと判定したら(P110においてYES)P111に進み、まだ作業を行っていないデータベースがあると判定したら(P110においてNO)P101に戻って作業を継続する。
【0073】
そして、関係識別プログラム8120は、P111において、ストレージボリュームのパフォーマンスデータの収集を終了する。
【0074】
図8は、
図7のフローチャートに示す本実施形態の管理システムの動作を実行するにあたり、
図7に示す動作に先立って実行することが好ましい動作の一例を示すフローチャートである。
【0075】
まず、関係識別プログラム8120は、P200において、バックグラウンドタスクとして、全てのボリュームのパフォーマンスデータを収集する。次に、関係識別プログラム8120は、P201において、データベース(DB)およびストレージの負荷が低い期間を特定する。なお、負荷が低い期間とはデータプレビューコマンドに応じた処理を実行した場合においても、ストレージを構成する各コンポーネントの負荷が過負荷を示す値を下回る期間である。負荷が低い期間の特定は、例えば、データプレビューコマンドに応じた処理を実行したときの負荷の増加度合いを予め測定しておき、現時点の負荷に増加度合いを加算した値が過負荷を示す閾値を下回っているか否かで判断してもよいし、各コンポーネントの稼働率に低負荷を示す閾値を設定して閾値を下回っているか否かで判断してもよい。関係識別プログラム8120は、P202において、P201において特定された期間を参照して、データにアクセスする日時を決定する。
【0076】
図9は、本実施形態の管理システム8000で生成されるトポロジグラフを示している。
【0077】
N100には、データカタログから派生したすべてのテーブルが表示される。N110は、データカタログから派生したデータベースエンドポイントであり、インターネットプロトコル(IP)アドレス、ポート、データベースの資格情報などの重要な情報が含まれている。データベースアプリケーションN120は、クラスタに存在するアプリケーションの名前とメタデータで構成される。N130は、N120にマウントされているボリュームである。N140は、ボリュームが存在するディスクである。
5500では、データカタログビューがアプリケーションビューから分割される。5600では、アプリケーションビューとストレージビューとが切り離される。
【0078】
図10は、本実施形態の管理システム8000により生成されたGUI(Graphical User Interface)の一例を示す図である。
図10に示すGUI9100はWebクライアント9000により表示される。
【0079】
5100はデータカタログビュー、5200はアプリケーションビュー、5300はストレージビューである。5000は、クリックされたテーブルのエンド・ツー・エンドのハイライトされたパスである。N100はすべてのテーブルを表示するレイヤである。N110はすべてのデータベースエンドポイントを表示するレイヤである。N120は全てのアプリケーションを示すレイヤである。N130は、全てのボリュームを示すレイヤである。N140は、すべてのディスクを表示するレイヤである。
【0080】
以上詳細に説明したように、本実施形態の管理システム8000によれば、エージェントをインストールすることなくデータベースとボリュームとの関係を管理することが可能となる。
【0081】
以上、本発明の主な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態のみに限定する趣旨ではない。必ずしも、説明した全ての構成を備えている必要もなく、また、ある実施例の構成の一部を他の実施例の構成に置き換えたり、加えることも可能である。同様に、各実施例の一部構成について必要に応じて変更・削除することも可能である。
【0082】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0083】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)、Python等の広範囲のプログラム又はスクリプト言語で実装できる。
【0084】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【0085】
2000、2000a、2000b…サーバシステム 2900…アタッチドストレージ 2910…ディスク 4000…ストレージシステム 4400…ボリューム 4400a…基本ボリューム 4401a…仮想ボリューム 4700…サーバプロセッサ 5200…パリティグループ 5300…プール 5400…ポート 6000…データカタログシステム 6320…データカタログアプリケーション 8000…管理システム 8100…サーバメモリ 8110…データカタログ管理機能 8111、8121、8141、8152…設定 8120…関係識別プログラム 8130…トポロジデータベース 8131…トポロジオブジェクト 8132…トポロジリンク 8140…アプリケーション管理機能 8150…ストレージ管理機能 8151…パフォーマンスデータ 8300…サーバプロセッサ 9000…Webクライアント 9100…グラフィカルユーザインタフェース