(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】監視システム、監視方法、プログラム、フォールトトレラントサーバ
(51)【国際特許分類】
G06F 11/22 20060101AFI20241112BHJP
G06F 3/06 20060101ALI20241112BHJP
G06F 11/20 20060101ALI20241112BHJP
G06F 11/07 20060101ALI20241112BHJP
【FI】
G06F11/22 675Z
G06F3/06 304E
G06F3/06 304N
G06F3/06 305F
G06F11/20 620
G06F11/07 157
G06F11/07 193
G06F11/07 140M
(21)【出願番号】P 2020141150
(22)【出願日】2020-08-24
【審査請求日】2023-07-14
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100149618
【氏名又は名称】北嶋 啓至
(72)【発明者】
【氏名】桜井 良行
【審査官】坂東 博司
(56)【参考文献】
【文献】特開2017-146833(JP,A)
【文献】特開2017-167729(JP,A)
【文献】特開平11-338648(JP,A)
【文献】特開2016-115239(JP,A)
【文献】特開2019-053486(JP,A)
【文献】特開2013-178713(JP,A)
【文献】特開2013-206052(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/22
G06F 3/06
G06F 11/20
G06F 11/07
(57)【特許請求の範囲】
【請求項1】
第1のサブシステムと第2のサブシステムとを有するフォールトトレラントサーバを監視する監視システムであって、
同期
して業務処理を行う前記第1及び第2のサブシステムがそれぞれ備える記憶装置に対してそれぞれIO(Input Output)要求を発行する処理手段と、
前記IO要求に対する応答時間の差に基づいて、前記応答時間がより長い前記記憶装置の異常傾向を判定する判定手段と、
前記第1及び第2のサブシステムの負荷を計測する負荷計測手段と、
前記判定手段により前記異常傾向が判定され
た際に、前記負荷が所定の閾値を超えた場合に、前記第1及び第2のサブシステムの同期を解除し、前記第1及び第2のサブシステムが独立して動作可能となるよう制御する同期制御手段と、を備え、
前記処理手段は、
前記異常傾向が判定された際に、前記負荷が所定の閾値を超えた場合に、前記異常傾向があると判定された前記記憶装置を備える
、同期が解除された第1または第2のいずれかの前記サブシステムにおいて、前記記憶装置の異常の有無の診断処理を行
い、
前記異常傾向が判定された際に、前記負荷が所定の閾値を超えない場合、前記第1及び第2のサブシステムが同期された状態で、前記診断処理を行う
監視システム。
【請求項2】
前記処理手段は、前記第1及び第2のサブシステムが同期して動作しているかを判定し、同期して動作していると判定した場合に、定期的に前記IO要求を発行して、前記IO要求それぞれの応答時間を計測して記録し、
前記判定手段は、前記応答時間の差が閾値を超えている場合、前記負荷が所定の閾値を超えるかを判定する
請求項1に記載の監視システム。
【請求項3】
第1のサブシステムと第2のサブシステムとを有するフォールトトレラントサーバを監視する監視方法であって、
同期
して業務処理を行う前記第1及び第2のサブシステムがそれぞれ備える記憶装置に対してそれぞれIO(Input Output)要求を発行し、
前記IO要求に対する応答時間の差に基づいて、前記応答時間がより長い前記記憶装置の異常傾向を判定し、
前記第1及び第2のサブシステムの負荷を計測し、
前記異常傾向が判定され
た際に、前記負荷が所定の閾値を超えた場合に、前記第1及び第2のサブシステムの同期を解除し、前記第1及び第2のサブシステムが独立して動作可能となるよう制御し、
前記異常傾向があると判定された前記記憶装置を備える前記サブシステムにおいて、前記記憶装置の異常の有無の診断処理を行
い、
前記異常傾向が判定された際に、前記負荷が所定の閾値を超えない場合、前記第1及び第2のサブシステムの同期を解除せず、前記第1及び第2のサブシステムが同期された状態で、前記診断処理を行う
監視方法。
【請求項4】
第1のサブシステムと第2のサブシステムとを有するフォールトトレラントサーバを監視するプログラムであって、
同期
して業務処理を行う前記第1及び第2のサブシステムがそれぞれ備える記憶装置に対してそれぞれIO(Input Output)要求を発行する処理と、
前記IO要求に対する応答時間の差に基づいて、前記応答時間がより長い前記記憶装置の異常傾向を判定する処理と、
前記第1及び第2のサブシステムの負荷を計測する処理と、
異常傾向が判定され
た際に、前記負荷が所定の閾値を超えた場合に、前記第1及び第2のサブシステムの同期を解除し、前記第1及び第2のサブシステムが独立して動作可能となるよう制御する処理と、
前記異常傾向があると判定された前記記憶装置を備える
、同期が解除された第1または第2のいずれかの前記サブシステムにおいて、前記記憶装置の異常の有無
を診断する診断処理と
、
前記異常傾向が判定された際に、前記負荷が所定の閾値を超えない場合、前記第1及び第2のサブシステムの同期を解除せず、前記第1及び第2のサブシステムが同期された状態で、前記記憶装置の異常の有無を診断する診断処理と
をコンピュータに実行させるプログラム。
【請求項5】
第1の記憶装置と、第1のCPUモジュールと、第1の
FT(フォールトトレラント
)コントローラと
を有する、第1のサブシステムと、
第2の記憶装置と、第2のCPUモジュールと、第2のFTコントローラと
を有する、第2のサブシステムを備え、
同期して業務処理を行う前記第1及び第2のサブシステムがそれぞれ備える前記第1及び第2の記憶装置は、それぞれ、監視システムから発行されたIO(Input Output)要求に対して応答し、
前記IO要求に対する応答時間の差に基づいて、前記第1の記憶装置の異常傾向が判定され
、かつ、前記第1及び第2のサブシステムの負荷が所定の閾値を超えた場合、前記第1のFTコントローラは、前記第1及び第2のサブシステムの同期の解除を制御し、
同期が解除された前記第1のサブシステムにおいて、前記第1の記憶装置の異常の診断
が行われ、
前記IO要求に対する応答時間の差に基づいて、前記第1の記憶装置の異常傾向が判定され、かつ、前記第1及び第2のサブシステムの負荷が所定の閾値を超えない場合、前記第1及び第2のサブシステムが同期した状態で前記第1の記憶装置の異常の診断が行われる
フォールトトレラントサーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、監視システム等に関する。
【背景技術】
【0002】
RAID(Redundant Arrays of Inexpensive Disks)システムを構成するハードディスクのうち、故障には至っていないが、性能が低下しているハードディスクを特定する方法として、ハードディスクの応答時間を計測する方法がある。この方法では、応答時間が予め定められた閾値以上であるハードディスクは、性能が低下していると判定される。しかし、応答時間の閾値超過は一時的な負荷などの偶発的な要因によって発生した可能性がある。したがって、本当はハードディスクに異常がない場合でも異常判定をしてしまい、無駄なディスク交換につながる。
【0003】
特許文献1には、ストレージ装置における潜在故障状態の記憶装置の発見のために、ディスク負荷が閾値以下かつレスポンスタイムが閾値以上である記憶装置を検出する方法が開示されている。特許文献1の方法では、ディスク負荷以外の偶発的な要因でレスポンスタイムが閾値超過してしまった場合にも記憶装置が故障している可能性があると判定してしまう。
【0004】
ハードディスクの異常傾向を検出した後、異常状態を確定するためにハードディスクの診断を行うことがある。例えば、同様の計測を複数回実施して、全ての計測において特定のハードディスクのみ性能が低下していることを確認してから、当該ハードディスクに異常があると診断する方法がある。さらに、例えば、平均応答時間の比較を行い、平均応答時間が閾値を超えたハードディスクに異常があると診断する方法がある。
【0005】
特許文献2には、タイムアウト等のディスクエラーが発生した場合、当該ディスクを仮縮退状態にし、4通りのディスク診断処理を行うことが開示されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2019-036163号公報
【文献】特開2002-108573号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ハードディスクの診断処理と業務処理は並行して行うから、ハードディスクを切り離さずにハードディスクの診断処理を行う方法では、システム全体の性能低下を招き、業務処理に支障をきたす可能性がある。さらに、性能が低下している可能性のあるハードディスクに対して、診断のための入出力を繰り返して応答時間を計測することは、システムに更なる負荷をかけることになる。つまり、ハードディスクの診断を詳細に実施するほど、システムに負荷がかかり、業務処理に支障をきたす可能性がある。
【0008】
特許文献2の診断処理は、ホストコンピュータからの命令に並行して行われるため、同一のディスクアレイ装置上で、業務処理と並行して処理する必要がある。したがって、特許文献2の診断方法は、診断処理により業務処理の性能に影響が出てしまう可能性がある。
【0009】
本開示の目的の一つは、業務処理への影響を回避する、記憶装置の監視システム等を提供することである。
【課題を解決するための手段】
【0010】
本開示に係る監視システムは、同期された第1及び第2のサブシステムがそれぞれ備える記憶装置に対してそれぞれIO(Input Output)要求を発行する処理手段と、前記IO要求に対する応答時間の差に基づいて、前記応答時間がより長い前記記憶装置の異常傾向を判定する判定手段と、異常傾向が判定されると、前記第1及び第2のサブシステムの同期を解除し、前記第1及び第2のサブシステムが独立して動作可能となるよう制御する同期制御手段と、を備え、前記処理手段は、異常傾向があると判定された前記記憶装置を備える前記サブシステムにおいて、前記記憶装置の異常の有無の診断処理を行う。
【0011】
本開示に係る監視方法は、同期された第1及び第2のサブシステムがそれぞれ備える記憶装置に対してそれぞれIO(Input Output)要求を発行し、前記IO要求に対する応答時間の差に基づいて、前記応答時間がより長い前記記憶装置の異常傾向を判定し、異常傾向が判定されると、前記第1及び第2のサブシステムの同期を解除し、前記第1及び第2のサブシステムが独立して動作可能となるよう制御し、異常傾向があると判定された前記記憶装置を備える前記サブシステムにおいて、前記記憶装置の異常の有無の診断処理を行う。
【0012】
本開示に係るプログラムは、同期された第1及び第2のサブシステムがそれぞれ備える記憶装置に対してそれぞれIO(Input Output)要求を発行する処理と、前記IO要求に対する応答時間の差に基づいて、前記応答時間がより長い前記記憶装置の異常傾向を判定する処理と、異常傾向が判定されると、前記第1及び第2のサブシステムの同期を解除し、前記第1及び第2のサブシステムが独立して動作可能となるよう制御する処理と、異常傾向があると判定された前記記憶装置を備える前記サブシステムにおいて、前記記憶装置の異常の有無の診断処理とをコンピュータに実行させる。
【0013】
本開示に係るフォールトトレラントサーバは、第1の記憶装置と、第1のCPUモジュールと、第1のフォールトトレラント(FT)コントローラと有する、第1のサブシステムと、第2の記憶装置と、第2のCPUモジュールと、第2のFTコントローラと有する、第2のサブシステムを備え、前記第1及び第2の記憶装置は、それぞれ、監視システムから発行されたIO(Input Output)要求に対して応答し、前記IO要求に対する応答時間の差に基づいて、前記第1の記憶装置の異常傾向が判定されると、前記第1のFTコントローラは、前記第1及び第2のサブシステムの同期の解除を制御し、前記第1のサブシステムにおいて、前記第1の記憶装置の異常の診断を行い、前記第2のサブシステムにおいて、他の処理を行う。
【発明の効果】
【0014】
本開示によれば、業務処理への影響を回避する、記憶装置の監視システム等を提供することができる。
【図面の簡単な説明】
【0015】
【
図1】本開示に係るFTサーバ1の構成を示す図である。
【
図3】同期を解除した状態のFTサーバ1を示す図である。
【
図4A】第1実施形態に係る監視システム50の構成を例示するブロック図である。
【
図4B】第1実施形態に係る監視システム50の動作の例を示すフローチャートである。
【
図5】第1実施形態に係る異常傾向検出処理を示すフローチャートである。
【
図6】同期を解除する際のシステム10とシステム20の動作を示すフローチャートである。
【
図7】第1実施形態に係る診断処理を示すフローチャートである。
【
図8】第2実施形態に係る監視システム50の構成を例示するブロック図である。
【
図9】第2実施形態に係る異常傾向検出処理を示すフローチャートである。
【
図10】第2実施形態に係る診断処理を示すフローチャートである。
【
図11】同期を解除する際のシステム10とシステム20の動作を示すフローチャートである。
【
図12】監視システム50のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0016】
ミッションクリティカルなシステムでは、障害発生時においてもサービスの継続が要求されるため、フォールトトレラント(Fault Tolerant)技術が導入される。フォールトトレラント技術を採用したコンピュータとして、フォールトトレラントサーバ(FTサーバ)が知られている。
【0017】
FTサーバを構成するハードウェアコンポーネントは二重化されている。一方のハードウェアコンポーネントに故障が発生した場合、故障が発生した部分は論理的に切り離される。正常に動作している部分は処理を続行するため、二重化により耐障害性が向上する。
【0018】
本開示に係る監視システムは、例として、FTサーバのハードディスクの監視に用いることができる。
図1は、本開示に係るFTサーバ1の構成を示す図である。本開示に係るFTサーバ1は、2つのサブシステムとして、システム10とシステム20を備える。
【0019】
システム10は、CPUモジュール11、FTコントローラ12、IOモジュール13を有する。CPUモジュール11はCPU(Central Processing Unit)、及び、メモリを有する。IOモジュール13は、NIC(Network Interface Card)、及び、ハードディスク14を含む、各IO(Input Output)デバイスを有する。
【0020】
システム20は、CPUモジュール21、FTコントローラ22、IOモジュール23を有する。CPUモジュール21はCPU、メモリを有する。IOモジュール23は、NIC、及び、ハードディスク24を含む、各IOデバイスを有する。
【0021】
CPUモジュール11とCPUモジュール21は、同一クロックで同期動作するように、FTコントローラ12及びFTコントローラ22によって制御される。IOモジュール13及びIOモジュール23の各IOデバイスは、ソフトウェアにより冗長構成を実現する。NICはチーミング技術を利用して冗長構成を実現し、ハードディスクはミラーリング技術を利用して冗長構成を実現する。
【0022】
図2は、同期状態のFTサーバ1を示す図である。
図2に示すように、FTサーバ1が同期状態で動作している場合、CPUモジュール11とCPUモジュール21は同一クロックで同期動作するように、FTコントローラ12及びFTコントローラ22によって制御されている。FTサーバ1上では、OS(Operating System)30が実行され、OS30上で業務処理を行う。一方のシステムにハードウェア故障が発生した場合、故障が発生した部分を論理的に切り離し、正常に動作しているシステムが処理を続行することができる。
【0023】
FTサーバ1が、ハードウェアの故障なく同期状態で動作している場合、FTサーバ1の同期を意図的に一時的に解除することで、FTサーバ1をそれぞれ独立して動作する2つのシステムに分割することが可能になる。
【0024】
図3は、同期を解除した状態のFTサーバ1を示す図である。
図3に示すように、意図的に同期を解除した状態では、システム10ではCPUモジュール11が動作し、IOモジュール13の各IOデバイスに対応するIO処理が実施される。システム10上では、OS31が実行される。システム20では、CPUモジュール21が動作し、IOモジュール23の各IOデバイスに対応するIO処理が実施される。システム20上では、OS32が実行される。
【0025】
[第1実施形態]
[構成]
図4Aは、第1実施形態に係る監視システム50の構成を例示するブロック図である。監視システム50は、例えば、
図1に示すFTサーバ1と有線または無線により接続され、FTサーバ1のハードディスク14、及び、ハードディスク24を監視する。監視システム50は、処理部51、記録部(図示せず)、判定部53、同期制御部54を備える。処理部51、判定部53、同期制御部54は、それぞれ、本開示に係る処理手段、判定手段、同期制御手段の一実施形態である。ハードディスク14、及び、ハードディスク24は、それぞれ本開示に係る記憶装置の一実施形態である。
【0026】
処理部51は、同期された2つのサブシステムが備える記憶装置に対してそれぞれIO要求を発行する(以下、単にIOを発行する、またはIO発行と記す場合もある)。具体的には、処理部51は、例えば、ハードディスク14と、ハードディスク24とに定期的にIOを発行する。処理部51は、IO要求を送信してからIO要求に対する応答を受信するまでの応答時間を計測するためにIOを発行する。そして、処理部51は、計測した応答時間を記録部に記録させる。また、処理部51は、異常傾向があると判定された記憶装置を備えるサブシステムにおいて、記憶装置の異常の有無を診断する診断処理を行う。
【0027】
記録部は、例えば、RAM(Random Access Memory)等の補助記憶装置である。記録部は、ハードディスク等の記憶装置によって実現されてもよい。
【0028】
判定部53は、IO要求に対する応答時間の差に基づいて、応答時間がより長い記憶装置の異常傾向を判定する。具体的には、判定部53は、例えば、記録部に記録された各ハードディスクの応答時間を監視し、応答時間の差が閾値以上になるか否かを判定する。応答時間の差が閾値を超えた場合、判定部53は、どちらのハードディスクに異常傾向があるかの情報と共にFTサーバ1の同期解除が必要な旨の通知を同期制御部54へ送信する。更に判定部53は、ハードディスクの診断処理の結果に基づいて、当該ハードディスクに性能低下の異常があるか否かを確定するための判定を行う。
【0029】
同期制御部54は、一方の記憶装置の異常傾向が判定されると、2つのサブシステムの同期を解除し、システム10及びシステム20が独立して動作可能となるよう制御する。具体的には、同期制御部54は、例えば、判定部53からの通知に基づき、FTサーバ1の同期の制御を行う。同期の解除を行う際、異常傾向のない(応答時間が短い)ハードディスク側のシステムを業務継続側、異常傾向のある(応答時間が長い)ハードディスク側のシステムをハードディスク診断側として同期を解除する。なお、FTサーバ1の同期の制御は、FTコントローラ12、FTコントローラ22を介して行われる。
【0030】
[動作]
図4Bは、第1実施形態に係る監視システム50の動作の例を示すフローチャートである。まず、処理部51は、同期された2つのサブシステムである、システム10とシステム20がそれぞれ備える記憶装置に対し、それぞれIO要求を発行する(ステップS101)。判定部53は、IO要求に対する応答時間の差に基づいて、応答時間がより長い記憶装置の異常傾向を判定する(ステップS102)。同期制御部54は、記憶装置の異常傾向が判定されると、システム10とシステム20の同期を解除し、2つのサブシステムが独立して動作可能となるよう制御する(ステップS103)。処理部51は、異常傾向があると判定された記憶装置を備えるサブシステムにおいて、記憶装置の異常の有無の診断を行う(ステップS104)。
【0031】
図5から
図7を参照し、第1実施形態に係る処理フローの具体例を説明する。
【0032】
図5は、第1実施形態に係る異常傾向のあるハードディスクの検出処理(チェックC1)を示すフローチャートである。まず、処理部51は、FTサーバ1が同期状態で動作しているかを確認する。同期状態で動作していない場合(ステップS1;NO)、処理部51は、FTサーバ1が同期状態で動作していない旨のエラーを図示しない表示部に通知する(ステップS2)。同期状態で動作している場合(ステップS1;YES)、処理部51は、定期的にハードディスク14とハードディスク24にIOを発行する(ステップS3)。処理部51は、それぞれの応答時間を計測し、記録部に記録させる(ステップS4)。
【0033】
次に判定部53は、応答時間の監視処理を行う。具体的には、判定部53は、各ハードディスクの応答時間の差が閾値を超えているか否かを監視する。ハードディスクの性能低下の異常傾向を監視するために、判定部53は、例えば、各ハードディスクの応答時間の差分を計算し、その差分が閾値(M ms(ms:ミリ秒))を超えているかを監視しても良い。また、判定部53は、例えば、各ハードディスクの応答時間の比率を計算し、その比率が閾値(N倍)(1<N)を超えているか否かを監視しても良い。ハードディスクの性能低下を監視する目的を達し得るのであれば、他の指標が用いられても良い。応答時間の差が閾値を超えている場合、判定部53は、片方のハードディスクに性能低下の異常傾向があることを検出する。
【0034】
応答時間の差が閾値を超えていない場合(ステップS5;NO)、監視システム50は再びFTサーバ1の同期状態の確認を行い、判定部53は次のIO発行を待つ。
【0035】
応答時間の差が閾値を超えていた場合(ステップS5;YES)、判定部53はどちらのハードディスクの応答時間が長いのかの判定を行う。判定部53は、性能低下の異常傾向を検出すると、FTサーバ1の同期解除が必要な旨の通知を、同期制御部54に対して行う。ハードディスク24の応答時間の方が長い場合(ステップS6;YES)、同期制御部54は、システム10を業務継続側、システム20をハードディスク診断側としてFTサーバ1の同期を解除する(ステップS7)。ハードディスク14の応答時間の方が長い場合(ステップS6;NO)、同期制御部54は、システム20を業務継続側、システム10をハードディスク診断側としてFTサーバ1の同期を解除する(ステップS8)。
【0036】
図6は、同期を解除する際のシステム10とシステム20の動作を示すフローチャートである。なお、
図6では、システム20側のハードディスク24に性能低下の異常傾向が検出された場合を例として説明する。
【0037】
まず、FTサーバ1のシステム10とシステム20は同期状態で動作している(ステップS11)。FTコントローラ12は、同期制御部54による制御に基づいて、FTコントローラ22に対し同期解除の指示を行う(ステップS12)。この指示により、FTコントローラ22は同期を解除し(ステップS16)、FTサーバ1はそれぞれ独立して動作するシステム10とシステム20に分割される。システム10は業務を継続し(ステップS13)、システム20では業務を中止する(ステップS17)。この際、システム10側では業務を継続するため、FTサーバ1の同期動作時に使用していたIPアドレスを継続して使用する。システム20側では別のIPアドレスを一時的に割り当てる。
【0038】
システム20では、異常傾向が検出されたハードディスク24に対して、本当にハードディスクに異常があるか否かを確定させるためのハードディスク診断処理A1が実行される(ステップS18)。ハードディスク診断処理A1の結果、ハードディスク24に異常なしと判定された場合(ステップS19;NO)、システム20はハードディスクの診断処理が終了したことを、ネットワークを介してシステム10へ通知する(ステップS20)。通知をシステム10が受信すると(ステップS14)、FTコントローラ12はFTコントローラ22へ同期の指示を行う(ステップS15)。システム20は同期の指示を受信し、業務処理を継続していたシステム10をベースとして同期を行う(ステップS21)。同期処理が完了すると、FTサーバ1は同期状態に復帰する(ステップS23)。
【0039】
ハードディスク診断処理A1の結果、ハードディスク24に異常ありと判定された場合(ステップS19;YES)、システム20はハードディスクの交換が必要な旨のエラーを、図示しない表示部に通知する(ステップS22)。
【0040】
図7は、第1実施形態に係る診断処理(ハードディスク診断処理A1)を示すフローチャートである。ハードディスク診断処理A1は、性能低下の異常傾向があると判定されたハードディスク24に対して、偶発的な要因によって異常傾向が検出されたのか、本当に性能低下の異常が発生しているのかを確認するために行う。
【0041】
ハードディスク診断処理A1は、FTサーバ1の同期を解除して、業務継続側のシステムとは独立して行うことが可能なため、業務に影響を与えることなく、詳細な診断を行うことが可能である。第1実施形態において、チェックC1と同様のIOを複数回発行して平均応答時間で判定する診断方法を示すが、診断方法はこの方法には限定されない。例えば、ハードディスクの全面リード、全面ライト試験などより詳細な診断を行うことも可能である。
【0042】
ハードディスク診断処理A1では、まず、処理部51は、ハードディスク24にIOを発行し(ステップS31)、応答時間を計測し記録部に記録させる(ステップS32)。監視システム50は、規定回数(X回)の計測が終わるまでステップS31とステップS32の処理を繰り返す(ステップS33;NO)。監視システム50は、規定回数の計測を終了後に判定部53による判定処理へ移行する(ステップS33;YES)。
【0043】
判定部53は、ハードディスク24の規定回数分(X回)の応答時間からハードディスク24の平均応答時間を計算する(ステップS34)。また、判定部53は、記録部に記録されているハードディスク14の直近X回分の応答時間からハードディスク24の平均応答時間を計算する(ステップS35)。
【0044】
判定部53は、ハードディスク14とハードディスク24の平均応答時間を比較する。ハードディスク24の平均応答時間の方が長く、かつ、その差が閾値を超えていた場合(ステップS36;YES)、判定部53は、ハードディスク24を異常ありと判定する(ステップS37)。この条件に当てはまらない場合には(ステップS36;NO)、ハードディスク24を異常なしと判定する。なお、ここで使用する閾値は、チェックC1における閾値と同様の閾値でも良いが、より正確な診断を行うために、チェックC1よりも小さい閾値を使用しても良い。
【0045】
[効果]
第1実施形態の監視システム50によれば、同期された2つのサブシステムがそれぞれ備える記憶装置のうち、一方の記憶装置の性能低下による、業務処理への影響を回避することができる。その理由は、監視システム50において、処理部51が各記憶装置に対するIO要求を発行し、判定部53が、応答時間の差に基づいて記憶装置の異常傾向を判定し、同期制御手段が2つのサブシステムの同期を解除するためである。また、同期が解除されたサブシステムはそれぞれ独立して動作可能となり、処理部51は、異常傾向があると判定された記憶装置を備えるサブシステムにおいて、記憶装置の異常の有無の診断処理を行うためである。
【0046】
第1実施形態によれば、一方のハードディスクの性能低下によるFTサーバ1全体の性能低下、及び、業務処理への影響を回避することができる。その理由は、監視システム50が各ハードディスクのIO要求の応答時間を計測することで、性能低下の異常傾向を監視し、異常傾向が見られた場合には、FTサーバ1の同期を解除するためである。
【0047】
また、第1実施形態によれば、異常傾向が見られたハードディスクの診断を行うことで、本当にハードディスクに異常が発生しているか否かを確認することができ、ハードディスクの無駄な交換を避けることが可能となる。
【0048】
さらに、業務側のシステムは業務に専念することができ、ハードディスク診断側のシステムでは業務に影響を与えることなくハードディスクのより詳細な診断を行うことが可能となる。その理由は、FTサーバ1の同期を解除して、独立して動作するシステム10とシステム20に分割しているためである。
【0049】
[第2実施形態]
第1実施形態において、チェックC1の段階においてハードディスクに性能低下の異常傾向を検出すると、FTサーバ1の同期を解除する場合について説明した。これは、ハードディスクの性能低下が業務処理に支障をきたすことを回避することを優先するためである(性能優先モード)。
【0050】
第2実施形態において、CPU負荷やIO負荷などのシステム10及び20の負荷状況を監視しながら同期を解除する場合について説明する。第2実施形態において、監視システム50は、ハードディスクに性能低下の異常傾向を検出しても、システムの負荷が閾値よりも低く、業務処理に与える影響が軽微な状態であれば、FTサーバ1の同期は解除せずに、ハードディスクの診断を継続する。負荷が閾値を超えた場合にだけFTサーバ1の同期を解除することによって、FTサーバ1の同期状態を維持することを優先できる(同期優先モード)。
【0051】
[構成]
図8は、第2実施形態に係る監視システム50の構成を例示するブロック図である。
図8において、監視システム50は、同期して動作可能な2つのサブシステムであるシステム10及びシステム20と、有線または無線により接続されている。なお、第2実施形態に係る監視システム50について、第1実施形態に係る監視システム50と同様の構成についてはその説明を省略する。第2実施形態に係る監視システム50は、記録部52を含み、負荷計測部55をさらに備える点で第1実施形態に係る監視システム50と異なる。
【0052】
負荷計測部55は、CPU負荷またはIO負荷などの、システム負荷を計測する。異常傾向が判定された際に、システム負荷が所定の閾値を超えない場合、同期制御部54は、サブシステムの同期を解除せず、処理部51は、同期されたサブシステムにおいて、記憶装置の診断処理を行う。システム負荷が所定の閾値を超えた場合、同期制御部54は、サブシステムの同期を解除する。
【0053】
第2実施形態において、判定部53は、負荷計測部55における負荷状況を監視する。判定部53は、記憶装置に性能低下の異常傾向があり、かつ負荷が閾値を超えた場合に、どちらの記憶装置に異常傾向があるかの情報と共にサブシステムの同期解除が必要な旨の通知を同期制御部54へ送信する。
【0054】
[動作]
図9から
図11のフローチャート参照し、FTサーバ1を監視する場合の第2実施形態に係る処理フローを説明する。
【0055】
図9は、第2実施形態に係る、性能低下の異常傾向のあるハードディスクを検出するための監視システム50の処理を示すフローチャートである。まず、処理部51は、FTサーバ1が同期状態で動作しているかを確認する。同期状態で動作していない場合(ステップS41;NO)、処理部51は、FTサーバ1が同期状態で動作していない旨のエラーを図示しない表示部に通知する(ステップS42)。同期状態で動作している場合(ステップS41;YES)、処理部51は、定期的にハードディスク14とハードディスク24にIOを発行して(ステップS43)、それぞれの応答時間を計測し記録部52に記録させる(ステップS44)。
【0056】
判定部53は、各ハードディスクの応答時間の差が閾値を超えているか否かを監視する。ハードディスクの性能低下を監視するための閾値としては、第1実施形態と同様で良い。応答時間の差が閾値を超えている場合、判定部53は、片方のハードディスクに性能低下の異常傾向があることを検出する。
【0057】
応答時間の差が閾値を超えていない場合(ステップS45;NO)、ステップS41に戻って同期状態の確認を行い、判定部53は次のIO発行を待つ。
【0058】
応答時間の差が閾値を超えていた場合(ステップS45;YES)、判定部53は、負荷が閾値を超えているか否かを監視する。監視対象の負荷は、CPU負荷、IO負荷など業務処理への影響度合いを監視するために必要な負荷を業務特性に応じて選択すれば良い。監視対象は1つであっても良いし、必要なものを組み合わせて監視対象としても良い。
【0059】
負荷が閾値を超えていた場合(ステップS46;YES)、判定部53はどちらのハードディスクの応答時間が長いのかの判定を行う。ハードディスク24の応答時間の方が長い場合(ステップS47;YES)、同期制御部54は、システム10を業務継続側、システム20をハードディスク診断側としてFTサーバ1の同期を解除する(ステップS48)。ハードディスク14の応答時間の方が長い場合(ステップS47;NO)、同期制御部54は、システム20を業務継続側、システム10をハードディスク診断側としてFTサーバ1の同期を解除する(ステップS49)。
【0060】
負荷が閾値を超えていない場合(ステップS46;NO)、FTサーバ1は同期状態のままハードディスク診断処理A2を実施する(ステップS50)。ハードディスク診断処理A2の結果、ハードディスクに異常ありと判定された場合(ステップS51;YES)、FTサーバ1は異常ハードディスクをミラーリングから切り離し、ハードディスクの交換が必要な旨のエラーを通知する(ステップS52)。なお、この際、FTサーバ1のCPUモジュールは同期状態を維持して動作している。また、CPUモジュール以外の必要なハードウェアコンポーネントも、同期状態を維持して動作していてもよい。
【0061】
ハードディスク診断処理A2の結果、ハードディスクに異常なしと判定された場合(ステップS51;NO)、ステップS41に戻って同期状態の確認を行ってから、次のIO発行を待つ。
【0062】
図10は、第2実施形態に係る診断処理(ハードディスク診断処理A2)を示すフローチャートである。ハードディスク診断処理A2は、どちらかのハードディスクに性能低下の異常傾向があると判定された場合に、偶発的な要因によるものなのか、本当に性能低下の異常が発生しているのかを確認するために行う。ハードディスク診断処理A2は、FTサーバ1が同期した状態で実施する。
【0063】
ハードディスク診断処理A2では、まず、ハードディスク14とハードディスク24にIOを発行して応答時間を計測して記録する(ステップS61、S62)。次に、負荷が閾値を超えているか否かを監視する。
【0064】
負荷が閾値を超えていた場合(ステップS63;YES)、どちらのハードディスクの応答時間が長いのかの判定を行う。ハードディスク24の応答時間の方が長い場合(ステップS71;YES)、システム10を業務継続側、システム20をハードディスク診断側としてFTサーバ1の同期を解除する(ステップS72)。ハードディスク14の応答時間の方が長い場合(ステップS71;NO)、システム20を業務継続側、システム10をハードディスク診断側としてFTサーバ1の同期を解除する(ステップS73)。
【0065】
負荷が閾値を超えていない場合(ステップS63;NO)、規定回数(X回)の計測が終わるまでこの処理を繰り返し(ステップS64;NO)、規定回数の計測を終了後に判定処理のステップへ移行する(ステップS64;YES)。
【0066】
判定処理では、まず、ハードディスク14とハードディスク24の規定回数分(X回)の平均応答時間を計算する(ステップS65)。ハードディスク14とハードディスク24の平均応答時間を比較し、その差が閾値を超えていない場合(ステップS66;NO)、ハードディスクを異常なしと判定する(ステップS70)。
【0067】
ハードディスク14とハードディスク24の平均応答時間を比較し、その差が閾値を超えていた場合(ステップS66;YES)、どちらのハードディスクの平均応答時間が長いかを比較し、ハードディスク14の平均応答時間が長ければ(ステップS67;NO)、ハードディスク14を異常ありと判定する(ステップS68)。ハードディスク24の平均応答時間が長ければ(ステップS67;YES)、ハードディスク24を異常ありと判定する(ステップS69)。
【0068】
図11は、各ハードディスクの応答時間の差が閾値を超え、かつ、負荷が閾値を超えた場合に、FTサーバ1の同期を解除する際の、システム10とシステム20がそれぞれ実施する動作を示したフローチャートである。なお、ここでは、システム20側のハードディスク24に性能低下の異常傾向が検出された場合を例として説明する。
【0069】
まず、FTサーバ1のシステム10とシステム20は同期状態で動作している(ステップS81)。ハードディスク24に性能低下の異常傾向が検出され、負荷も閾値を超え、FTサーバ1の同期解除が必要な旨の通知を受信した際、FTコントローラ12からFTコントローラ22へ同期解除の指示を行う(ステップS82)。この指示により、FTサーバ1はそれぞれ独立して動作するシステム10とシステム20に分割される(ステップS86)。システム10は業務を継続し(ステップS83)、システム20では業務を中止する(ステップS87)。この際、システム10側では業務を継続するため、FTサーバ1の同期動作時に使用していたIPアドレスを継続して使用する。システム20側では別のIPアドレスを一時的に割り当てる。
【0070】
システム20では異常傾向が検出されたハードディスク24に対して、本当にハードディスクに異常があるか否かを確定させるためのハードディスク診断処理A1を実行する。ハードディスク診断処理A1の結果、ハードディスク24が異常なしと判定された場合(ステップS89;NO)、ハードディスクの診断処理が終了したことを、ネットワークを介してシステム10へ通知する(ステップS90)。通知を受信したシステム10は(ステップS84)、FTコントローラ12からFTコントローラ22へ同期の指示を行う(ステップS85)。システム20は同期の指示を受信し、業務処理を継続していたシステム10をベースとして同期を行う(ステップS91)。同期処理が完了すると、FTサーバ1は同期状態に復帰する(ステップS92)。
【0071】
ハードディスク診断処理A1の結果、ハードディスク24に異常ありと判定された場合(ステップS89;YES)、FTサーバ1はハードディスクに異常があるため交換が必要な旨のエラーを通知する(ステップS93)。この際、異常と判定されたハードディスク24は同期不可の状態にして(ステップS94)、ハードディスクの診断処理が終了したことを、ネットワークを介してシステム10へ通知する(ステップS90)。通知を受信したシステム10は(ステップS84)、FTコントローラ12からFTコントローラ22へ同期の指示を行う(ステップS85)。システム20は同期の指示を受信し、業務処理を継続していたシステム10をベースとして同期を行う(ステップS91)。同期処理が完了すると、FTサーバ1のハードディスク以外のハードウェアコンポーネントが同期状態に復帰する。(ステップS92)。
【0072】
[効果]
第2実施形態によれば、FTサーバ1の同期状態を優先したい場合にも、本開示を適用することができる。その理由は、FTサーバ1が、負荷が閾値を超えるまではFTサーバ1の同期を維持したままハードディスクの診断を行うためである。ハードディスクに異常ありと判定された場合は、当該ハードディスクだけがミラーリングから切り離される。
【0073】
第2実施形態において、負荷が閾値を超えた場合、FTサーバ1は、FTサーバ1の同期を解除してハードディスクの診断を行う。FTサーバ1は、診断によりハードディスクに異常ありと判定されたハードディスクは同期不可とし、その他のハードウェアコンポーネントを同期状態に復帰をさせる。
【0074】
[ハードウェア構成]
上述した各実施形態において、監視システム50の各構成要素は、機能単位のブロックを示している。監視システム50の各構成要素の一部又は全部は、コンピュータ500とプログラムとの任意の組み合わせにより実現されてもよい。
図12は、監視システム50のハードウェア構成の例を示すブロック図である。
図12を参照すると、コンピュータ500は、例えば、CPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503、プログラム504、記憶装置505、ドライブ装置507、通信インタフェース508、入力装置509、入出力インタフェース511、及び、バス512を含む。
【0075】
プログラム504は、監視システム50の各機能を実現するための命令(instruction)を含む。プログラム504は、予め、ROM502やRAM503、記憶装置505に格納される。CPU501は、プログラム504に含まれる命令を実行することにより、監視システム50の各機能を実現する。例えば、監視システム50のCPU501がプログラム504に含まれる命令を実行することにより、監視システム50の機能を実現する。また、RAM503は、監視システム50の各機能において処理されるデータを記憶してもよい。例えば、コンピュータ500のRAM503に、IO要求に対する応答時間を記憶してもよい。
【0076】
ドライブ装置507は、記録媒体506の読み書きを行う。通信インタフェース508は、通信ネットワークとのインタフェースを提供する。入力装置509は、例えば、マウスやキーボード等であり、ユーザからの情報の入力を受け付ける。出力装置510は、例えば、ディスプレイであり、ユーザへ情報を出力(表示)する。入出力インタフェース511は、周辺機器とのインタフェースを提供する。バス512は、これらハードウェアの各構成要素を接続する。なお、プログラム504は、通信ネットワークを介してCPU501に供給されてもよいし、予め、記録媒体506に格納され、ドライブ装置507により読み出され、CPU501に供給されてもよい。例えば、コンピュータ500と上述の実施形態におけるサブシステムは、通信ネットワークを介して接続されてもよく、入出力インタフェース511を介して接続されてもよい。
【0077】
なお、
図12に示されているハードウェア構成は例示であり、これら以外の構成要素が追加されていてもよく、一部の構成要素を含まなくてもよい。
【0078】
[変形例]
監視システム50の実現方法には、様々な変形例がある。監視システム50は、FTサーバ1の資源を用いて実現されてもよい。例えば、監視システム50のプログラムをハードディスク14、24のそれぞれに搭載してもよい。また、例えば、監視システム50は、構成要素毎にそれぞれ異なるコンピュータとプログラムとの任意の組み合わせにより実現されてもよい。また、監視システム50が備える複数の構成要素が、一つのコンピュータとプログラムとの任意の組み合わせにより実現されてもよい。
【0079】
また、監視システム50の各構成要素の一部又は全部は、プロセッサ等を含む汎用又は専用の回路(circuitry)や、これらの組み合わせによって実現されてもよい。これらの回路は、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。監視システム50の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【0080】
また、監視システム50の各構成要素の一部又は全部が複数のコンピュータや回路等により実現される場合、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。
【0081】
以上、実施形態を参照して本開示を説明したが、本開示は上記実施形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。また、各実施形態における構成は、本開示のスコープを逸脱しない限りにおいて、互いに組み合わせることが可能である。
【符号の説明】
【0082】
1 FTサーバ
10、20 サブシステム
11、21 CPUモジュール
12、22 FTコントローラ
13、23 IOモジュール
14、24 ハードディスク
50 監視システム
51 処理部
52 記録部
53 判定部
54 同期制御部
55 負荷計測部