説明

分散ファイルシステムにおける運用監視システム及び運用監視方法

【課題】複数のサーバで構成された分散ファイルシステムにおいて、ファイルアクセス(書き込み、読み込み、更新等)の実施に関する各サーバの通信ログを収集することで、システム全体の監視を行う。
【解決手段】データの格納を行う1つまたは複数のファイルサーバ2と、ユーザ端末6からのアクセス要求の受付とデータの格納先の管理を行う少なくとも1つのプロキシサーバ1とを備え、ファイルサーバ2とプロキシサーバ1、プロキシサーバ2とユーザ端末6とがそれぞれネットワークを介して接続された分散ファイルシステム10において、ファイルサーバ2及びプロキシサーバ1上で取得した通信ログを検出するログ収集部21と、各通信ログを比較することで分散ファイルシステム10におけるボトルネック箇所を特定するための分析を行うボトルネック分析部23を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のユーザによるファイル書込み要求及びファイル読込み要求が行われるネットワークにおいて、記憶部(ストレージ)を有する複数のファイルサーバを広域な範囲に分散配置させて形成される分散ファイルシステムの監視に関し、特に、分散ファイルシステムの各サーバ上で観測した情報を比較して各サーバの状態を定期的に収集し、これらの情報を統合的に分析することで伝送遅延やパケットロス等が発生するボトルネック箇所を特定可能とする運用監視システム及び運用監視方法に関する。
【背景技術】
【0002】
この種の技術としては、非特許文献1や非特許文献2で示されるように、複数のマシンのディスクを組み合わせて1つの分散ファイルシステムとして機能する分散プラットフォームが提案されている。
非特許文献1に示されたGfarmは、広域ネットワーク上で、大容量、大規模データ処理の要求に応えるスケーラブルな分散ファイルシステムプラットフォームであり、広域なネットワーク上での効率的なファイル共有に適した分散プラットフォームである。
一方、非特許文献2に示されたHadoopは、1つのディスクで保存できない大量のデータを並列化することで高速かつ効率良く処理できるものであり、比較的大きなサイズかつ基本的に更新されることのないファイルのI/Oに適した分散プラットフォームである。
【0003】
従来、複数のサーバで構成された分散ファイルシステムにおける監視システムは、各サーバの状態を定期的に収集し、統合的に分析することが行われている。収集される情報としては、CPU使用率、メモリ使用量、ディスク使用量、CPU温度、ネットワーク接続状態などが存在する。統合的な分析例としては、CPU使用率が80%以上のファイルサーバの台数を把握することでファイルサーバの混雑度が分かる。これにより、システムの使用状況に対して、ファイルサーバの台数が十分かどうかなどの指標を得ることができる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】URL:http://datafarm.apgrid.org/indeX.ja.html
【非特許文献2】URL:http://hadoop.apache.org/
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した分散ファイルシステムの監視システムとしては、定期的に各サーバに対してリアルタイム(予め設定された時間毎)でのポーリングを行うことでサーバ状態を収集することが行われる。しかしながら、ポーリングによるサーバ状態を収集はリアルタイムに行われるので、サーバおよび監視システムにおいて負担が大きい上に、サーバ負荷が高い際に正常な状態取得ができない場合が生じる可能性がある。
また、上述した監視システムでは、各サーバが過負荷であるかの状態は分かるものの、分散ファイルシステムを構成するネットワークの問題(過負荷等による不具合)は測定できないという問題点が存在した。
【0006】
本発明は上記実情に鑑みて提案されたもので、複数のサーバで構成された分散ファイルシステムにおいて、サーバでの負担の軽減を図りながらシステム全体の監視を行い、分散ファイルシステム内におけるボトルネックの発生箇所の特定を可能とする運用監視システム及び運用監視方法を提供することを目的としている。
【課題を解決するための手段】
【0007】
上記目的を達成するため本発明は、複数のサーバで構成された分散ファイルシステムにおいて、ファイルアクセス(書き込み、読み込み、更新等)の実施に関する各サーバの通信ログを収集することでシステム全体の監視を行う。
すなわち、請求項1の発明は、データの格納を行う1つまたは複数のファイルサーバと、ユーザ端末からのアクセス要求の受付とデータの格納先の管理を行う少なくとも1つのプロキシサーバとを備え、前記ファイルサーバとプロキシサーバ、プロキシサーバとユーザ端末とがそれぞれネットワークを介して接続された分散ファイルシステムにおいて、次の構成を含むことを特徴としている。
ログ収集部。このログ収集部は、前記ファイルサーバおよび前記プロキシサーバ上で取得した通信ログを検出する。
ボトルネック分析部。このボトルネック分析部は、検出された各通信ログを比較することで分散ファイルシステムにおけるボトルネック箇所を特定するための分析を行う。
【0008】
請求項2は、請求項1の運用監視システムにおいて、前記プロキシサーバは、前記データの格納先の管理を行うため独立して存在させたメタデータサーバを含み、前記ログ収集部は、前記メタデータサーバ上で取得した通信ログを検出し、前記ボトルネック分析部は、前記メタデータサーバ上で取得した通信ログも併せて比較対象として分析を行うことを特徴としている。
【0009】
請求項3は、請求項1の運用監視システムにおいて、前記ファイルサーバおよびプロキシサーバをそれぞれ複数設け、前記ボトルネック分析武は、前記複数のファイルサーバおよび複数のプロキシサーバで取得した通信ログも併せて比較することを特徴としている。
【0010】
請求項4は、請求項2の運用監視システムにおいて、前記メタデータサーバを複数設け、前記ボトルネック分析部は、前記複数のメタデータサーバで取得した通信ログも併せて比較することを特徴としている。
【0011】
請求項5は、請求項1又は請求項3の運用監視システムにおいて、前記通信ログは、ユーザ端末での処理時間、プロキシサーバでの処理時間、ファイルサーバでの処理時間、あるいは、これらのうちの一部であることを特徴としている。
【0012】
請求項6は、請求項2又は請求項4の運用監視システムにおいて、前記通信ログは、ユーザ端末での処理時間、プロキシサーバでの処理時間、ファイルサーバでの処理時間、メタデータサーバでの処理時間の全て、あるいは、これらのうちの一部であることを特徴としている。
【0013】
請求項7は、請求項1、請求項3又は請求項5のいずれか1項に記載の運用監視システムにおいて、ユーザ要求の処理時間及びプロキシサーバでの処理時間は前記プロキシサーバで収集し、ファイルサーバでの処理時間は前記ファイルサーバで収集することを特徴としている。
【0014】
請求項8は、請求項2、請求項4または請求項6のいずれか1項に記載の運用監視システムにおいて、ユーザ要求の処理時間及びプロキシサーバでの処理時間は前記プロキシサーバで収集し、ファイルサーバでの処理時間は前記ファイルサーバで収集し、メタデータサーバでの処理時間は前記メタデータサーバで収集することを特徴としている。
【0015】
請求項9は、請求項1又は請求項2の運用監視システムにおいて、前記通信ログを一定時間毎に収集し、前記一定時間よりも大きな単位時間毎に、サンプル数、平均値、分散、最大値、最小値、99%値、95%値などの統計情報に加工するログ加工部を有することを特徴としている。
【0016】
請求項10は、請求項9の運用監視システムにおいて、前記ファイルサーバ、プロキシサーバ及びメタデータサーバをそれぞれ複数設け、前記ログ加工部は、取得した通信ログの統計情報に関して、複数の同一種別のサーバに対して統計量を集約する機能を有することを特徴としている。
【0017】
請求項11は、請求項10の運用監視システムにおいて、前記ボトルネック分析部は、前記ログ加工部で取得した通信ログの統計情報に関して、前記統計情報が予め記憶された閾値を超えた場合に異常値と判断することを特徴としている。
【0018】
請求項12は、請求項9又は請求項10の運用監視システムにおいて、前記通信ログは、ユーザ要求の処理時間の統計情報、プロキシサーバでの処理時間の統計情報、ファイルサーバでの処理時間の統計情報、メタデータサーバでの処理時間の統計情報の全て、あるいは、これらのうちの一部であり、前記統計情報に関する正常値・異常値の組合せによって、ボトルネックの切り分けを行うことを特徴としている。
【0019】
請求項13は、請求項11又は請求項12の運用監視システムにおいて、前記通信ログの統計情報に関して、これまでに得られたサンプルをX1〜Xnとし、その平均E(X)、標準偏差σ(X)、予め定められた係数αに関して、新しく得られた値Xn+1がE(X)+ασ(X)よりも大きい場合に異常値と判定することを特徴としている。
【0020】
請求項14は、請求項11又は請求項12の運用監視システムにおいて、前記通信ログの統計情報に関して、ある時間枠Ti(時刻tiから時刻ti+1まで)に得られたサンプルをX1〜Xnとし、その平均E(X)、標準偏差σ(X)、予め定められた係数αに関して、新しく得られた値Xn+1がE(X)+ασ(X)よりも大きい場合に異常値と判定し、次以降の時間枠Ti+j(時刻ti+jから時刻ti+j+1まで)においても異常判定のためその閾値を利用することを特徴としている。
【0021】
請求項15は、請求項1〜請求項14のいずれか1項に記載の運用監視システムにおいて、前記通信ログの統計情報に関して、特定の統計情報に関して異常値が発生した場合に運用者への通知を行うボトルネック通知部を備えたことを特徴としている。
【0022】
請求項16は、データの格納を行う1つまたは複数のファイルサーバと、ユーザ端末からのアクセス要求の受付とデータの格納先の管理を行う少なくとも1つのプロキシサーバとを備え、前記ファイルサーバとプロキシサーバ、プロキシサーバとユーザ端末とがそれぞれネットワークを介して接続された分散ファイルシステムにおいて、前記ファイルサーバおよび前記プロキシサーバ上で取得した通信ログを定期的に収集し、前記各通信ログを比較することで、ボトルネックが、ユーザ端末/プロキシサーバ間のネットワーク、プロキシサーバ/ファイルサーバ間のネットワーク、特定のプロキシサーバ、ファイルサーバ全体、特定のファイルサーバのいずれに存在するかの切り分けを行ってボトルネック箇所を特定することを特徴としている。
【発明の効果】
【0023】
本発明によれば、ファイルアクセス(書き込み、読み込み、更新等)の実施に関する各サーバの通信ログを定期的に収集し、ボトルネック分析部により検出された各通信ログを比較することで分散ファイルシステムにおけるボトルネック箇所を特定するための分析を行うので、ポーリング方式の課題であるサーバへの負荷発生やデータ取得時の不具合を回避することができる。また、定期的な収集は、リアルタイム性を必要としないという点でポーリングと異なるので、サーバへの負荷を削減して、データの収集を行うことができる。
【0024】
各通信ログには、ファイルサーバ、プロキシサーバ、メタデータサーバにおいて取得したものを使用するので、ボトルネック発生箇所について、ユーザ端末/プロキシサーバ間のネットワーク、プロキシサーバ/ファイルサーバ間のネットワーク、プロキシサーバ、ファイルサーバ、メタデータサーバのいずれに存在するかを切り分け可能とすることができる。
すなわち、分散ファイルシステムが有する通信ログ取得機能を用いて、分散ファイルシステム内のどの箇所にボトルネックが発生したかについての切り分けを確実に行うことができる。その結果、分散ファイルシステムの性能劣化要因を的確に把握することができ、ボトルネック回避と安定運用に向けて、適切な対策を行うことができる。
【図面の簡単な説明】
【0025】
【図1】本発明の分散ファイルシステムにおける監視システムの実施形態の一例を示す全体構成モデル図である。
【図2】監視システムの構成を示すブロック図である。
【図3】分散ファイルシステムにおける監視システムの実施形態の他の例を示す全体構成モデル図である。
【図4】分散ファイルシステムにおける監視システムの実施形態の他の例を示す全体構成モデル図である。
【発明を実施するための形態】
【0026】
本発明の分散ファイルシステムにおける監視システムの実施形態の一例について、図面を参照しながら説明する。図1は、分散ファイルシステムにおける監視システムの全体構成図である。
分散ファイルシステム10は、プロキシサーバ1と、1台〜複数台のファイルサーバ2で構成され、プロキシサーバ1と各ファイルサーバ2との間は、インターネットやイントラネット等のネットワーク(あるいはLAN)3で接続されている。ファイルサーバ2間はLAN4で接続され、各ファイルサーバ2が記憶部(ストレージ)を有することで、複数のファイルサーバ2を広域な範囲に分散配置させた分散ファイルシステム10を形成している。
そして、分散ファイルシステム10は、インターネット等のネットワーク5を介して複数のユーザ端末6に接続され、分散ファイルシステム10に対して各ユーザによりファイル書込み要求及びファイル読込み要求が行われ、ユーザ端末6に対して複数のファイルサーバ2を仮想的に1つの巨大ストレージとして見せるネットワークが構成されている。
プロキシサーバ1及び各ファイルサーバ2は、インターネット等のネットワークや独自のネットワークを介して運用システム20に接続されることで管理されている。
【0027】
プロキシサーバ1は、ユーザ端末6に対して分散ファイルシステム10へのアクセス環境を提供する。また、プロキシサーバ1は、ファイルの格納先ファイルサーバ2の情報(メタ情報と呼ぶ)を管理するメタデータサーバ7に接続されている。メタデータサーバ7が行う機能については、プロキシサーバ1が兼用する分散ファイルシステム10により行うようにしてもよい。
【0028】
ユーザ端末6は、インターネット等のネットワーク5を介して、プロキシサーバ1経由で分散ファイルシステム10にアクセスする。具体的には、ファイルサーバ2へのファイルの書き込み、読み込み、更新などの制御を行う。
運用監視システム20は、分散ファイルシステム10を構成するサーバ(プロキシサーバ1及び複数台のファイルサーバ2)に対して管理用ネットワークで接続され、各サーバの通信ログを収集し、ボトルネック箇所の検出と運用者への通知を行う。管理用ネットワークに代えて、通常のネットワーク(インターネット等)で接続されるようにしてもよい。
【0029】
次に、ボトルネック箇所の検出と運用者への通知を行う運用監視システム20の内部構成について、図2を参照しながら説明する。
運用監視システム20は、ログ収集部21、ログ加工部22、ボトルネック分析部23、異常値決定部24、ボトルネック通知部25、ログ蓄積情報を保管するデータベース(ログ履歴情報管理部)26で構成される。
ログ収集部21は、各サーバ(プロキシサーバ1及びファイルサーバ2)より通信ログを収集する。ログ加工部22は、通信ログをサーバ種別毎に集約した情報に加工する。ボトルネック分析部23は、集約された通信ログを元に、ボトルネック箇所の分析を行う。データベース26(ログ履歴情報管理部)は、ログ加工部22が収集・蓄積したログ履歴情報を保管する。異常値決定部24は、ログ加工部22が収集しデータベース26に蓄積したログ履歴情報をもとに異常と判定するための閾値を決定し、ボトルネック分析部23に通知する。閾値は、例えば運用監視システム20の運用者により予め設定されている。ボトルネック通知部25は、検出されたボトルネック箇所を運用者に通知する。
【0030】
ログ収集部21において各サーバから収集する通信ログは、プロキシサーバ1、ファイルサーバ2、メタデータサーバ7において、それぞれ以下のものが想定される。
プロキシサーバ1は、ユーザ端末6から各種I/O要求(ファイル書き込み、ファイル読み込み、ファイル名変更等)を受け付けるので、通信ログとして、個々のI/O要求における要求時刻、自サーバアドレス、要求元アドレス、データ方向、ファイルサイズ、ユーザ要求処理時間、ファイル片サイズ、ファイル片毎の処理時間の情報を取得する。
この場合、自サーバアドレスは、プロキシサーバ1のIPアドレスである。
要求元アドレスは、ユーザ端末6のIPアドレスである。
データ方向は、ユーザ端末6→プロキシサーバ1(ファイル書き込みの場合、これに該当)、プロキシサーバ1→ユーザ端末6(ファイル読み込みの場合、これに該当)、データ転送なし(ファイル名変更の場合、これに該当)の3種類が存在する。
ユーザ要求の処理時間は、I/O要求を受けてから、ユーザ端末6に応答を返すまでの時間である。
ファイル片サイズは、分散ファイルシステム10内でデータを転送する際の単位長を示す。1つの分散ファイルシステム10において固定値である場合も存在する。
ファイル片毎の処理時間は、ファイル片に対するI/O要求をプロキシサーバ1/ファイルサーバ2間で処理する時間である。
【0031】
ファイルサーバ2は、プロキシサーバ1から各種I/O要求(ファイル片書き込み、ファイル片読み込み)を受け付けるので、通信ログとして、個々のI/O要求における要求時刻、自サーバアドレス、要求元アドレス、データ方向、ファイル片サイズ、処理時間の情報を取得する。
この場合、自サーバアドレスは、ファイルサーバ2のIPアドレスである。
要求元アドレスは、プロキシサーバ1のIPアドレスである。
データ方向は、プロキシサーバ1→ファイルサーバ2(ファイル書き込みの場合、これに該当)、ファイルサーバ2→プロキシサーバ1(ファイル読み込みの場合、これに該当)の2種類が存在する。
処理時間は、I/O要求を受けてから、プロキシサーバ1に応答を返すまでの時間である。
【0032】
メタデータサーバ7は、プロキシサーバ1から各種I/O要求(ファイル属性情報閲覧、ファイル属性情報更新等)を受け付けるので、通信ログとして、個々のI/O要求における要求時刻、自サーバアドレス、要求元アドレス、I/O要求種別、処理時間の情報を取得する。
この場合、自サーバアドレスは、メタデータサーバ7のIPアドレスである。
要求元アドレスは、プロキシユーザ1のIPアドレスである。
I/O要求種別は、ファイル書き込み、ファイル読み込み、ファイル名変更、ディレクトリ名変更、ファイル名参照、ディレクトリ名参照などのI/O要求の識別である。
処理時間は、メタデータサーバ内でI/O要求の処理に要する時間である。
【0033】
ログ収集部21で取得する通信ログは、以下のいずれかの方法で取得する。
分散ファイルシステム10の各サーバプログラム自身が予め有する機能により通信ログを出力し、外部のプログラムから参照できるようにする。
分散ファイルシステム10の各サーバプログラムが動作するサーバ機上で、wireshark等のトラフィック監視ツールで取得したパケットより、分散ファイルシステム10へのアクセスに関するパケットだけ抜き出したものを通信ログとして出力し、外部のプログラムから参照できるようにする。
【0034】
ログ加工部22では、ログ収集部21で取得した通信ログを統計的に集約(情報の圧縮)する。
具体的には以下の機能を実現する。一定時間毎に下記のパラメータの集約を行う。
プロキシサーバ1におけるユーザ要求の処理時間、ファイル片のI/O要求の処理時間。
ファイルサーバ2におけるファイル片のI/O要求の処理時間。
メタデータサーバ7におけるI/O要求の処理時間。
そして、一定時間毎に収集された通信ログ(サンプル)に関して、ログ加工部22において予め設定された前記一定時間よりも大きな単位時間毎に、サンプル数、平均値、分散、最大値、最小値、99%値、95%値などの統計情報に加工する。
メタデータサーバ7のI/O要求の処理時間は、I/O要求の種別毎に分けて処理時間の統計情報を得るようにしてもよい。
また、処理の効率化を図るため、1つのサーバ上の複数の通信ログを集約することや、複数の同種のサーバ(プロキシサーバ1、ファイルサーバ2、メタデータサーバ7といった種別が同じサーバ)の通信ログを集約するようにしてもよい。
【0035】
図1の例では、メタデータサーバ7がプロキシサーバ1に直接接続又は、プロキシサーバ1内部に存在する構成としたが、図3に示すように、ファイルサーバ2が接続されるLAN4にメタデータサーバ7が接続されるように構成してもよい。
この場合、プロキシサーバ1におけるファイルの格納先としてのファイルサーバ2の情報(メタ情報)は、ネットワーク3及びLAN4を介してメタデータサーバ7へ提供される。
【0036】
また、図4に示すように、プロキシサーバ1a,1b、メタデータサーバ7a,7bが複数存在する分散ファイルシステム10の構成も考えられる。この例の場合、複数のファイルサーバ2に対してそれぞれLAN4a又はLAN4bを接続することで、複数のセグメントに分かれてファイルサーバ群を構成している。
各サーバが複数存在する場合には、ログ加工部22では、複数の同種のサーバ(プロキシサーバ、ファイルサーバ、メタデータサーバといった種別が同じサーバ)の通信ログを集約することを可能とする。また、セグメント単位で統計情報を集約することで、セグメント間のネットワークにおけるボトルネックの発生箇所の特定(切り分け)を行うことを可能としている。
【0037】
図4のネットワーク構成を例にした場合、ボトルネックが発生する箇所は以下の(a)〜(e−2)いずれかの部分となる。
(a)ユーザ端末/プロキシサーバ間のネットワーク
(b)プロキシサーバ/ファイルサーバ間のネットワーク、又は、プロキシサーバ(全般的に)
(c)特定のプロキシサーバ
(d−1)ファイルサーバ(全般的に)
(d−2)特定のファイルサーバ
(e−1)メタデータサーバ(全般的に)
(e−2)特定のメタデータサーバ
【0038】
ボトルネック分析部23におけるボトルネック発生箇所の切り分けは、各サーバの通信ログにおける処理時間(ユーザ要求の処理時間、プロキシサーバでの処理時間、メタデータサーバでの処理時間、ファイルサーバでの処理時間)の正常,異常の識別の組合せによって判定する。具体的には、前記(a)〜(e−2)に対して、各サーバの通信ログにおける処理時間の正常,異常との対応関係は、表1のような対応づけとなる。
【0039】
すなわち、ユーザ要求の処理時間が異常、プロキシサーバ1での処理時間が正常、メタデータサーバ7での処理時間が正常、ファイルサーバ2での処理時間が正常である場合は、(a)のユーザ端末/プロキシサーバ間のネットワークにボトルネック箇所が生じたと判断する。
ユーザ要求の処理時間が異常、プロキシサーバ1での処理時間が異常、メタデータサーバ7での処理時間が正常、ファイルサーバ2での処理時間が正常である場合は、(b)のプロキシサーバ/ファイルサーバ間のネットワーク、あるいは、全般的なプロキシサーバにボトルネック箇所が生じたと判断する。
ユーザ要求の処理時間が異常(一部のプロキシサーバ1にのみ異常)、プロキシサーバ1での処理時間が異常(一部のプロキシサーバにのみ異常)、メタデータサーバ7での処理時間が正常、ファイルサーバ2での処理時間が正常である場合は、(c)の特定のプロキシサーバ1にボトルネック箇所が生じたと判断する。
【0040】
ユーザ要求の処理時間が異常、プロキシサーバ1での処理時間が異常、メタデータサーバ7での処理時間が正常、ファイルサーバ2での処理時間が異常である場合は、(d−1)の全般的なファイルサーバにボトルネック箇所が生じたと判断する。
ユーザ要求の処理時間が異常(一部のファイルサーバ2にのみ異常)、プロキシサーバ1での処理時間が異常(一部のファイルサーバ2にのみ異常)、メタデータサーバ7での処理時間が正常、ファイルサーバ2での処理時間が異常(一部のファイルサーバ2にのみ異常)である場合は、(d−2)の特定のファイルサーバ2にボトルネック箇所が生じたと判断する。
【0041】
ユーザ要求の処理時間が正常、プロキシサーバ1での処理時間が正常、メタデータサーバ7での処理時間が異常、ファイルサーバ2での処理時間が正常である場合は、(e−1)の全般的なメタデータサーバ7にボトルネック箇所が生じたと判断する。
ユーザ要求の処理時間が正常、プロキシサーバ1での処理時間が正常、メタデータサーバ7での処理時間が異常(一部のメタデータサーバ7に異常)、ファイルサーバ2での処理時間が正常である場合は、(e−2)の特定のメタデータサーバ7にボトルネック箇所が生じたと判断する。
なお、メタデータサーバの異常時においては、メタデータサーバの性能が著しく低下した場合には、ユーザ要求の処理時間が異常となる場合がある。
【0042】
【表1】

【0043】
ボトルネック分析部23における各処理時間の正常,異常の識別は、異常値決定部24において各処理時間のパラメータ毎に予め設定された閾値と、ログ加工部22で取得した統計量を比較することで判断する。例えば、閾値10msec、統計量として通信ログ(処理時間)の平均を使用する場合、処理時間の平均が10msec未満であれば正常、10msec以上であれば異常と判断する。
ボトルネック通知部25は、上述したいずれかの処理時間において異常が発生した場合、運用監視システムの画面上で「異常」を表示し、運用者へのメールの送信,警報音の発生等を行う。
【0044】
ボトルネック通知部25からの通知頻度は、例えば以下のようにして行われる。
一定時間の集約の際、異常であったものについて全て通知を行う。
一定時間の集約の際、新たに異常となったものについてのみ通知を行う。
一定時間毎の集約の際、新たに異常となったもののうち、一定時間前にさかのぼって異常が通知されていない項目のみ通知を行う。
異常から正常に変化した場合にも同様の通知を行う。
【0045】
上述した実施形態では、ボトルネック分析部23における各処理時間の正常,異常を識別するため異常値決定部24で予め設定される閾値は、運用者がノウハウに基づき予め決定して記憶させている。しかし、新しく導入したサーバ機等においては、処理時間に関して異常と判定すべき閾値に関するノウハウを運用者が持たない場合が存在する。このような場合に対処するため、起動処理中において閾値を自動的に算出する機能を異常値決定部24が備えるように構成してもよい。
【0046】
この機能は、例えば、新しく導入したサーバへのI/O要求が少ないときに得られた処理時間を正常値と判断して記憶しておき、正常な処理時間の値から大きく離れた値を異常と判定する。
すなわち、分散ファイルシステムにおいて新規にサーバを導入した場合には、そのサーバ上にファイルが存在しないため、ファイル読み込み要求が発生しない分、I/O要求は少ないものと考えられる。したがって、I/O要求がある一定の閾値を超えるまでは、サーバは低負荷のため、ほぼ一定の処理時間を保つと考えられる。サーバの負荷が一定値を超えると急に処理時間が増大するものと考えられる。
処理時間の増大については、それ以前に得られた処理時間サンプルの標準偏差を得ることで検知する。
【0047】
異常と判定する閾値の算出方法としては、以下のいずれかの場合が考えられる。
一例として、あるパラメータにおいて、これまでに得られたサンプルをX1〜Xn(n個)とした場合、その平均E(X)、標準偏差σ(X)を求め、異常閾値をE(X)+ασ(X)として記憶しておき、Xn+1が異常閾値よりも大きい場合に異常値と判定する。ただし、αはパラメータごとに運用者が設定する固定値とする。
他の例として、あるパラメータにおいて、ある時間枠Ti(時刻tiから時刻ti+1まで)に得られたサンプルをX1〜Xn(n個)とした場合、その平均E(X)、標準偏差σ(X)を求め、異常閾値をE(X)+ασ(X)として記憶しておき、Xn+1が異常閾値よりも大きい場合に異常値と判定する。ただし、αはパラメータごとに運用者が設定する固定値とする。次の時間枠Ti+1(時刻ti+1から時刻ti+2まで)においても、時間枠Tiと同じ異常閾値を用いる。
【0048】
運用管理システムの各実施形態によれば、ポーリング方式の課題であるサーバへの負荷発生やデータ取得時の不具合を回避するため、ファイルアクセス(書き込み、読み込み、更新等)の実施に関する各サーバの通信ログを定期的に収集してボトルネック分析部で分析する。この定期的な収集は、リアルタイム性を必要としないという点でポーリングと異なるので、サーバへの負荷を削減して、データの収集を行うことができる。
また、プロキシサーバ上の通信ログとファイルサーバの通信ログを比較することで、プロキシサーバ/ファイルサーバ間のネットワークの問題の有無を確認することができる。
【0049】
運用者がボトルネック通知部25によりボトルネック箇所を把握した場合、以下のような運用対策例を行うことができる。
ファイルサーバ2が全般的にボトルネックの場合、ファイルサーバ数を物理的に増やす、各ファイルサーバ単体の処理性能を向上させるなどにより、ボトルネックを回避する。
特定のファイルサーバ2がボトルネックの場合、ファイルサーバ2へのアクセスが分散されるように、ファイルサーバ毎のファイルの格納数を分散させる。または、アクセス頻度が大きいファイルサーバ2について複製を作成し、ファイルサーバのアクセスの分散を図る。
ユーザ端末/プロキシサーバ間のネットワークがボトルネックの場合、プロキシサーバ1をユーザ端末6の近くに設置し、ネットワーク遅延を減らしてボトルネックを回避する。
プロキシサーバ/ファイルサーバ間で、特定のセグメントのネットワークにボトルネックが発生した場合、そのセグメントのファイルサーバ2を別のセグメントに移動させることにより、ボトルネックを回避する。
【符号の説明】
【0050】
1…プロキシサーバ、 2…ファイルサーバ、 3…ネットワーク、 4…LAN、 5…ネットワーク、 6…ユーザ端末、 7…メタデータサーバ、 10…分散ファイルシステム、 20…運用監視システム、 21…ログ収集部、 22…ログ加工部、 23…ボトルネック分析部、 24…異常値決定部、 25…ボトルネック通知部、 26…データベース(ログ履歴情報管理部)。

【特許請求の範囲】
【請求項1】
データの格納を行うファイルサーバと、ユーザ端末からのアクセス要求の受付とデータの格納先の管理を行うプロキシサーバとを備え、前記ファイルサーバとプロキシサーバ、プロキシサーバとユーザ端末とがそれぞれネットワークを介して接続された分散ファイルシステムにおいて、
前記ファイルサーバおよび前記プロキシサーバ上で取得した通信ログを検出するログ収集部と、
前記各通信ログを比較することで前記分散ファイルシステムにおけるボトルネック箇所を特定するための分析を行うボトルネック分析部と
を備えたことを特徴とする分散ファイルシステムにおける運用監視システム。
【請求項2】
前記プロキシサーバは、前記データの格納先の管理を行うため独立して存在させたメタデータサーバを含み、
前記ログ収集部は、前記メタデータサーバ上で取得した通信ログを検出し、
前記ボトルネック分析部は、前記メタデータサーバ上で取得した通信ログも併せて比較対象として分析を行う
請求項1に記載の分散ファイルシステムにおける運用監視システム。
【請求項3】
前記ファイルサーバおよびプロキシサーバをそれぞれ複数設け、
前記ボトルネック分析部は、前記複数のファイルサーバおよび複数のプロキシサーバで取得した通信ログも併せて比較する
請求項1に記載の分散ファイルシステムにおける運用監視システム。
【請求項4】
前記メタデータサーバを複数設け、
前記ボトルネック分析部は、前記複数のメタデータサーバで取得した通信ログも併せて比較する
請求項2に記載の分散ファイルシステムにおける運用監視システム。
【請求項5】
前記通信ログは、ユーザ端末での処理時間、プロキシサーバでの処理時間、ファイルサーバでの処理時間、あるいは、これらのうちの一部である請求項1又は請求項3に記載の分散ファイルシステムにおける運用監視システム。
【請求項6】
前記通信ログは、ユーザ端末での処理時間、プロキシサーバでの処理時間、ファイルサーバでの処理時間、メタデータサーバでの処理時間の全て、あるいは、これらのうちの一部である請求項2又は請求項4に記載の分散ファイルシステムにおける運用監視システム。
【請求項7】
ユーザ要求の処理時間及びプロキシサーバでの処理時間は前記プロキシサーバで収集し、ファイルサーバでの処理時間は前記ファイルサーバで収集する請求項1、請求項3または請求項5のいずれか1項に記載の分散ファイルシステムにおける運用監視システム。
【請求項8】
ユーザ要求の処理時間及びプロキシサーバでの処理時間は前記プロキシサーバで収集し、ファイルサーバでの処理時間は前記ファイルサーバで収集し、メタデータサーバでの処理時間は前記メタデータサーバで収集する請求項2、請求項4または請求項6のいずれか1項に記載の分散ファイルシステムにおける運用監視システム。
【請求項9】
前記通信ログを一定時間毎に収集し、前記一定時間よりも大きな単位時間毎に、サンプル数、平均値、分散、最大値、最小値、99%値、95%値などの統計情報に加工するログ加工部を有する請求項1又は請求項2に記載の分散ファイルシステムにおける運用監視システム。
【請求項10】
前記ファイルサーバ、プロキシサーバ及びメタデータサーバをそれぞれ複数設け、
前記ログ加工部は、取得した通信ログの統計情報に関して、複数の同一種別のサーバに対して統計量を集約する機能を有する請求項9に記載の分散ファイルシステムにおける運用監視システム。
【請求項11】
前記ボトルネック分析部は、前記ログ加工部で取得した通信ログの統計情報に関して、前記統計情報が予め記憶された閾値を超えた場合に異常値と判断する請求項10に記載の分散ファイルシステムにおける運用監視システム。
【請求項12】
前記通信ログは、ユーザ要求の処理時間の統計情報、プロキシサーバでの処理時間の統計情報、ファイルサーバでの処理時間の統計情報、メタデータサーバでの処理時間の統計情報の全て、あるいは、これらのうちの一部であり、前記統計情報に関する正常値・異常値の組合せによって、ボトルネックの切り分けを行う請求項9又は請求項10に記載の分散ファイルシステムにおける運用監視システム。
【請求項13】
前記通信ログの統計情報に関して、これまでに得られたサンプルをX1〜Xnとし、その平均E(X)、標準偏差σ(X)、予め定められた係数αに関して、新しく得られた値Xn+1がE(X)+ασ(X)よりも大きい場合に異常値と判定する請求項11又は請求項12に記載の分散ファイルシステムにおける運用監視システム。
【請求項14】
前記通信ログの統計情報に関して、ある時間枠Ti(時刻tiから時刻ti+1まで)に得られたサンプルをX1〜Xnとし、その平均E(X)、標準偏差σ(X)、予め定められた係数αに関して、新しく得られた値Xn+1がE(X)+ασ(X)よりも大きい場合に異常値と判定し、次以降の時間枠Ti+j(時刻ti+jから時刻ti+j+1まで)においても異常判定のためその閾値を利用する請求項11又は請求項12に記載の分散ファイルシステムにおける運用監視システム。
【請求項15】
前記通信ログの統計情報に関して、特定の統計情報に関して異常値が発生した場合に運用者への通知を行うボトルネック通知部を備えた請求項1〜14のいずれか1項に記載の分散ファイルシステムにおける運用監視システム。
【請求項16】
データの格納を行う1つまたは複数のファイルサーバと、ユーザ端末からのアクセス要求の受付とデータの格納先の管理を行う少なくとも1つのプロキシサーバとを備え、前記ファイルサーバとプロキシサーバ、プロキシサーバとユーザ端末とがそれぞれネットワークを介して接続された分散ファイルシステムにおいて、
前記ファイルサーバおよび前記プロキシサーバ上で取得した通信ログを定期的に収集し、
前記各通信ログを比較することで、ボトルネックが、ユーザ端末/プロキシサーバ間のネットワーク、プロキシサーバ/ファイルサーバ間のネットワーク、特定のプロキシサーバ、ファイルサーバ全体、特定のファイルサーバのいずれに存在するかの切り分けを行ってボトルネック箇所を特定する分散ファイルシステムにおける運用監視方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate