JP2023003988A - 情報処理装置および運用監視プログラム - Google Patents

情報処理装置および運用監視プログラム Download PDF

Info

Publication number
JP2023003988A
JP2023003988A JP2021105423A JP2021105423A JP2023003988A JP 2023003988 A JP2023003988 A JP 2023003988A JP 2021105423 A JP2021105423 A JP 2021105423A JP 2021105423 A JP2021105423 A JP 2021105423A JP 2023003988 A JP2023003988 A JP 2023003988A
Authority
JP
Japan
Prior art keywords
identifier
software
hardware
failure
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021105423A
Other languages
English (en)
Inventor
隆平 笹川
Ryuhei Sasagawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2021105423A priority Critical patent/JP2023003988A/ja
Priority to US17/726,695 priority patent/US11762727B2/en
Publication of JP2023003988A publication Critical patent/JP2023003988A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】故障箇所の特定を容易にすること。【解決手段】情報処理装置101は、第1の情報110と第2の情報120に基づいて、記憶装置Dの仮想識別子と第1識別子と第2識別子の対応関係を示す対応情報130を生成する。第1の情報110は、ストレージ制御ソフトウェア103によって認識される記憶装置Dの仮想識別子と、OS104によって認識される記憶装置Dが装着されたスロットの第1識別子の対応関係を示す。第2の情報120は、状態監視回路105によって認識される、記憶装置Dが装着されたスロットの第2識別子と記憶装置Dの状態の対応関係を示す。情報処理装置101は、分散ストレージの運用中に、第3の情報140を取得するとともに第4の情報150を取得し、第3の情報140および第4の情報150と対応情報130とを比較した結果に基づいて、対応情報130における第1識別子と第2識別子との対応関係を更新する。【選択図】図1

Description

本発明は、情報処理装置および運用監視プログラムに関する。
従来、ソフトウェアを使ってストレージの機能を汎用サーバ上で実現するSDS(Software Defined Storage)と呼ばれる技術がある。SDSを利用することで、例えば、複数の汎用サーバと、そのHDD(Hard Disk Drive)を束ねて、大容量のストレージを構築することができる。
先行技術としては、例えば、SAN(Storage Area Network)内の各装置の管理エージェントから情報を取得し、取得した情報をもとにSANにおけるサーバと仮想ボリュームと実ボリュームの対応関係を管理するものがある。また、物理ディスクにより構成される論理ディスクの論理構成を管理し、物理ディスクの状態情報と論理構成とに基づいて、論理ディスクの劣化状態を診断する技術がある。また、デバイスが接続された物理ポートについてエラーが発生した場合に、そのエラーがデバイス自体の故障によるものか、または物理ポートの故障によるものかを判断するための技術がある。
特開2005-025483号公報 特開2011-180673号公報 特開2013-191026号公報
しかしながら、従来技術では、SDSを利用して構築される分散ストレージシステムにおいて、HDDなどの記憶装置の故障箇所を特定することが困難な場合がある。
一つの側面では、本発明は、故障箇所の特定を容易にすることを目的とする。
1つの実施態様では、ストレージ装置の記憶装置を用いて分散ストレージを実現するストレージ制御ソフトウェアによって認識される記憶装置の仮想識別子と、前記ストレージ装置のOSによって認識される、前記ストレージ装置が有するスロットのうちの前記記憶装置が装着されたスロットの第1識別子との対応関係を示す第1の情報を取得し、前記記憶装置の死活状態を監視する状態監視回路から、前記状態監視回路によって認識される、前記記憶装置が装着されたスロットの第2識別子と、前記記憶装置の状態との対応関係を示す第2の情報を取得し、前記第1の情報と前記第2の情報とに基づいて、前記記憶装置の仮想識別子と第1識別子と第2識別子との対応関係を示す対応情報を生成し、前記分散ストレージの運用中に、前記ストレージ制御ソフトウェアによって認識された記憶装置の仮想識別子と前記記憶装置が装着されたスロットの第1識別子との対応関係を示す第3の情報を取得するとともに、前記状態監視回路から前記記憶装置が装着されたスロットの第2識別子と前記記憶装置の状態との対応関係を示す第4の情報を取得し、前記第3の情報および前記第4の情報と前記対応情報とを比較した結果に基づいて、前記対応情報における第1識別子と第2識別子との対応関係を更新する、情報処理装置が提供される。
本発明の一側面によれば、故障箇所の特定を容易にすることができるという効果を奏する。
図1は、実施の形態にかかる情報処理装置101の一実施例を示す説明図である。 図2は、ストレージシステム200のシステム構成例を示す説明図である。 図3は、運用監視サーバ201のハードウェア構成例を示すブロック図である。 図4は、ソフトログ(初期)の具体例を示す説明図である。 図5は、ハードログ(初期)の具体例を示す説明図である。 図6は、ソフト/ハード対応テーブル600の記憶内容の一例を示す説明図である。 図7は、運用監視サーバ201の機能的構成例を示すブロック図である。 図8は、第1のHDD情報(初期)の具体例を示す説明図である。 図9は、第2のHDD情報(初期)の具体例を示す説明図である。 図10は、第1のHDD情報(運用時)の具体例を示す説明図である。 図11は、第2のHDD情報(運用時)の具体例を示す説明図である。 図12は、HDD$の故障の種別を示す説明図である。 図13は、メンテナンス手順対応情報の具体例を示す説明図である。 図14は、ソフト/ハードログ(運用時)の具体例を示す説明図(その1)である。 図15は、故障Dが発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図(その1)である。 図16は、故障Dが発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図(その2)である。 図17は、ソフト/ハードログ(運用時)の具体例を示す説明図(その2)である。 図18は、故障Cが発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図(その1)である。 図19は、故障Cが発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図(その2)である。 図20は、ソフト/ハードログ(運用時)の具体例を示す説明図(その3)である。 図21は、故障Bが発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図(その1)である。 図22は、故障Bが発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図(その2)である。 図23は、ソフト/ハードログ(運用時)の具体例を示す説明図(その4)である。 図24は、故障Bの後に故障Dが発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図(その1)である。 図25は、故障Bの後に故障Dが発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図(その2)である。 図26は、故障Bの後に故障Dが発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図(その3)である。 図27は、ソフト/ハードログ(運用時)の具体例を示す説明図(その5)である。 図28は、複数故障が発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図(その1)である。 図29は、複数故障が発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図(その2)である。 図30は、複数故障が発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図(その3)である。 図31は、複数故障が発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図(その4)である。 図32は、ソフト/ハードログ(再調査)の具体例を示す説明図である。 図33は、障害発生レポートの具体例を示す説明図である。 図34は、運用監視サーバ201の第1の運用監視処理手順の一例を示すフローチャートである。 図35は、運用監視サーバ201の第2の運用監視処理手順の一例を示すフローチャートである。 図36は、HDD単数故障処理の具体的処理手順の一例を示すフローチャート(その1)である。 図37は、HDD単数故障処理の具体的処理手順の一例を示すフローチャート(その2)である。 図38は、HDD複数故障処理の具体的処理手順の一例を示すフローチャートである。 図39は、テーブル更新処理の具体的処理手順の一例を示すフローチャートである。
以下に図面を参照して、本発明にかかる情報処理装置および運用監視プログラムの実施の形態を詳細に説明する。
(実施の形態)
図1は、実施の形態にかかる情報処理装置101の一実施例を示す説明図である。図1において、情報処理装置101は、分散ストレージにおける記憶装置Dの故障箇所を特定可能にするコンピュータである。分散ストレージは、SDSを利用して構築されるストレージシステムであり、データの分散と複製を行い、性能、可用性、信頼性などを向上させる。記憶装置Dは、例えば、HDD、SSD(Solid State Drive)などである。
近年、開発コストや人的コストを抑えるという観点から、分散ストレージを実現するソフトウェアとして、OSS(Open Source Software)のストレージ制御ソフトウェアが積極的に使用されている。分散ストレージを運用するにあたり、ストレージ(記憶装置)の管理が行われる。
例えば、既存の管理機能として、サーバ本体のOS(Operating System)に依存せず、専用ハードウェア(ストレージ状態監視ハード)によって、SAS(Serial Attached SCSI)カードの各スロットに接続されたHDDの死活状態を監視し、ダッシュボードに表示するものがある。
この管理機能により検出される故障は、例えば、ハードウェア的(物理的)な故障である。物理的な故障が発生した場合、HDDの交換が必要となる。また、この管理機能により検出される故障には、デフラグ失敗などによって生じるソフトウェア的(ソフト的)な故障が含まれていてもよい。ソフトウェア的な故障は、再デフラグやフォーマットなどのソフト的な回復措置によりHDDが復旧することがある。
また、分散ストレージを実現するストレージ制御ソフトウェアによってHDDの故障を検出することが考えられる。例えば、ストレージ制御ソフトウェアでは、HDDは、インストール時やリブート時に割り当てられるID(仮想識別子)とデバイス名(仮想デバイス名)によって管理される。このため、ストレージ制御ソフトウェア上で認識されなくなったIDのHDDを故障として検出することが考えられる。
しかし、OSSとして提供されるようなストレージ制御ソフトウェアと、ストレージ状態監視ハードはそれぞれ別々に開発されたものであり、互いに連携をとることは想定されていない。このため、従来技術では、ストレージ制御ソフトウェアによる故障の検出結果と、ストレージ状態監視ハードによる故障の検出結果とを突き合わせて、故障の要因を特定するといったことができない。
例えば、ストレージ制御ソフトウェアでは、各IDに対応するHDDが、SASカードのどのスロットに装着されているのかといった情報は管理されていない。このため、分散ストレージの運用時に、ストレージ制御ソフトウェア上でIDが認識不可となった場合に、そのIDがどのスロットに装着されたHDDに対応しているのか特定できず、ストレージ状態監視ハードによる故障の検出結果と突き合わせることができない。
また、ストレージ制御ソフトウェアによって割り当てられた仮想デバイス名と、当該仮想デバイス名のHDDが装着されたスロットとの紐付けは、例えば、サーバ本体のOSにより行われる。このため、例えば、仮想デバイス名を軸として、ストレージ制御ソフトウェアが認識するIDと、OSが認識するスロットの識別子との対応関係を特定することが考えられる。
しかしながら、OSが認識するスロットの識別子と、ストレージ状態監視ハードが認識するスロットの識別子とは、ネーミングルールが異なる場合がある。この場合、例えば、ストレージ制御ソフトウェア上でIDが認識不可となった場合などに、依然として、そのIDがどのスロットに装着されたHDDに対応しているのかを特定できず、ストレージ状態監視ハードによる故障の検出結果と突き合わせることができない。
ストレージ制御ソフトウェアによる故障の検出結果とストレージ状態監視ハードによる故障の検出結果とを突き合わせて、故障箇所を特定できなければ、障害発生時の対処に時間がかかる。例えば、ストレージ制御ソフトウェア上でIDが認識不可となった場合に、ストレージ状態監視ハードと連携することなく、そのIDに対応するHDDを人手により調査して、HDD交換を実施するという処置を行うことも考えられる。しかし、認識不可となったIDに対応するHDDの調査に作業負荷や作業時間がかかる。
そこで、本実施の形態では、ストレージ制御ソフトウェアを利用して検出される記憶装置Dの故障状況と、ストレージ状態監視ハードを利用して検出される故障状況とを突き合わせるための仕組みを構築し、記憶装置Dの故障箇所の特定を容易にする。以下、情報処理装置101の処理例について説明する。
(1)情報処理装置101は、第1の情報110を取得する。ここで、第1の情報110は、ストレージ装置102のストレージ制御ソフトウェア103によって認識される記憶装置Dの仮想識別子と、ストレージ装置102が有するスロットのうちの記憶装置Dが装着されたスロットの第1識別子との対応関係を示す。第1の情報110は、記憶装置Dの故障が発生していない状態(例えば、分散ストレージの運用開始時の初期状態)の分散ストレージに対応する。
仮想識別子は、ストレージ制御ソフトウェア103において記憶装置Dを識別するための仮想的な識別子である。例えば、ストレージシステムがN個の記憶装置Dにより構築される場合、N個の仮想識別子が用意される。第1識別子は、ストレージ装置102のOS104によって認識されるスロットの識別子である。スロットは、ストレージ装置102に接続する記憶装置Dを着脱可能な格納部である。スロットは、例えば、SASカードのスロットである。
ストレージ制御ソフトウェア103は、ストレージ装置102の記憶装置Dを用いて分散ストレージを実現するソフトウェアである。ストレージ制御ソフトウェア103は、記憶装置Dを管理したり、記憶装置Dへのアクセスを制御したりする。例えば、ストレージ制御ソフトウェア103は、Ceph(登録商標)などのOSSである。ストレージ制御ソフトウェア103は、例えば、オブジェクト単位、ブロック単位、ファイル単位でのアクセスを可能にしたり、容量の柔軟な拡張を可能にしたりする。
具体的には、例えば、情報処理装置101は、ストレージ制御ソフトウェア103から、第1対応情報110-1を取得する。第1対応情報110-1は、ストレージ制御ソフトウェア103によって記憶装置Dに割り当てられた仮想識別子と仮想デバイス名との対応関係を示す。仮想識別子と仮想デバイス名は、管理用の識別情報である。
仮想デバイス名は、ストレージ装置102のOS104上で見せる記憶装置Dの仮想的な名前である。仮想デバイス名は、ストレージ制御ソフトウェア103からOS104に通知され、OS104によって認識される。仮想識別子と仮想デバイス名は、例えば、ストレージ制御ソフトウェア103のインストール時やリブート時に各記憶装置Dに割り当てられる。
また、情報処理装置101は、ストレージ装置102のOS104から、第2対応情報110-2を取得する。第2対応情報110-2は、記憶装置Dに割り当てられた仮想デバイス名と、ストレージ装置102が有するスロットのうち当該記憶装置Dが装着されたスロットの第1識別子との対応関係を示す。ストレージ制御ソフトウェア103によって割り当てられた仮想デバイス名と、当該仮想デバイス名の記憶装置Dが装着されたスロットとの紐付けは、例えば、OS104により行われる。
そして、情報処理装置101は、取得した第1対応情報110-1と第2対応情報110-2とに基づいて、第1の情報110を作成することによって、生成した第1の情報110を取得する。より詳細に説明すると、例えば、情報処理装置101は、第1対応情報110-1と第2対応情報110-2に含まれる仮想デバイス名を軸として、仮想識別子とスロットの第1識別子との対応関係を示す第1の情報110を作成する。
ただし、第1の情報110は、情報処理装置101とは異なる他のコンピュータ(例えば、ストレージ装置102のOS104)において作成されてもよい。この場合、情報処理装置101は、他のコンピュータ(例えば、ストレージ装置102のOS104)から第1の情報110を取得することにしてもよい。
(2)情報処理装置101は、状態監視回路105から第2の情報120を取得する。ここで、状態監視回路105は、ストレージ装置102が有する各スロットに装着された記憶装置Dの死活状態を監視する専用ハードウェアである。ストレージ装置102が有する各スロットに装着された記憶装置Dは、ストレージ制御ソフトウェア103による分散ストレージに使用される。
第2の情報120は、状態監視回路105によって認識される、記憶装置Dが装着されたスロットの第2識別子と、記憶装置Dの状態との対応関係を示す。第2の情報120は、記憶装置Dの故障が発生していない状態(例えば、分散ストレージの運用開始時の初期状態)の分散ストレージに対応する。
(3)情報処理装置101は、取得した第1の情報110と第2の情報120とに基づいて、記憶装置Dの仮想識別子と第1識別子と第2識別子との対応関係を示す対応情報130を生成する。具体的には、例えば、情報処理装置101は、第1の情報110に含まれる第1識別子と第2の情報120に含まれる第2識別子とを出現順に対応付けることにより、対応情報130を生成することにしてもよい。
これにより、ストレージ装置102のOS104によって認識されるスロットの第1識別子と、状態監視回路105によって認識されるスロットの第2識別子とを仮紐付けした対応情報130を生成することができる。この時点では、対応情報130における第1識別子と第2識別子との対応関係は正しいとは限らない。
(4)情報処理装置101は、分散ストレージの運用中に、第3の情報140を取得するとともに、第4の情報150を取得する。ここで、第3の情報140は、ストレージ制御ソフトウェア103によって認識された記憶装置Dの仮想識別子と記憶装置Dが装着されたスロットの第1識別子との対応関係を示す。
第3の情報140は、例えば、第1の情報110と同様の手順によって取得される。ただし、第3の情報140は、第1の情報110と内容が異なる場合がある。例えば、物理的に記憶装置Dが故障したり、記憶装置Dのデフラグ(最適化)に失敗したりして、リクエストに対するレスポンスがなかったり、エラー応答があったりした場合に、その記憶装置Dに割り当てられた仮想識別子がストレージ制御ソフトウェア103に認識されなくなる。このような場合、第3の情報140では、その記憶装置Dの情報(仮想識別子、スロットの第1識別子)が欠落して、第1の情報110とは内容が異なるものとなる。
第4の情報150は、状態監視回路105によって認識された記憶装置Dが装着されたスロットの第2識別子と記憶装置Dの状態との対応関係を示す。例えば、物理的に記憶装置Dが故障して、状態監視回路105によってその記憶装置Dの故障が検出されると、第4の情報150では、例えば、その記憶装置Dの情報(スロットの第2識別子)が欠落して、第2の情報120とは内容が異なるものとなる。
(5)情報処理装置101は、取得した第3の情報140および第4の情報150と、生成した対応情報130とを比較した結果に基づいて、対応情報130における第1識別子と第2識別子との対応関係を更新する。
具体的には、例えば、情報処理装置101は、対応情報130において、第3の情報140から特定される故障箇所の第1識別子と、第4の情報150から特定される故障箇所の第2識別子とが対応しているか否かを判断する。故障箇所の第1識別子と故障箇所の第2識別子とが対応しているか否かの判断は、例えば、故障箇所の第1識別子に対応するIDと故障箇所の第2識別子に対応するIDとが同一であるか否かによって判断される。
ここで、故障箇所の第1識別子と故障箇所の第2識別子とが対応している場合、情報処理装置101は、対応情報130を更新しない。一方、故障箇所の第1識別子と故障箇所の第2識別子とが対応していない場合、情報処理装置101は、例えば、対応情報130において、故障箇所の第2識別子を、故障箇所の第1識別子に対応する第2識別子と入れ替える。すなわち、ストレージ制御ソフトウェア103によって検出された故障位置(ソフト側の故障位置)と状態監視回路105によって検出された故障位置(ハード側の故障位置)とが一致しない場合、ハード側の故障位置を入れ替えて、ソフト側の故障位置に合わせる。
このように、情報処理装置101によれば、例えば、記憶装置Dの故障が発生した際に、第3の情報140から特定される故障箇所と第4の情報150から特定される故障箇所とを突き合わせて、故障位置の違い(矛盾)を修正することができる。これにより、OS104と状態監視回路105でスロットの識別子のネーミングルールが異なるような場合であっても、記憶装置Dの故障箇所の特定を容易にすることができる。
例えば、分散ストレージの運用時に、ストレージ制御ソフトウェア103上で仮想識別子が認識不可となった場合に、情報処理装置101において、その仮想識別子がどのスロットに装着された記憶装置Dに対応しているのかを特定して、状態監視回路105による故障の検出結果と突き合わせることができる。これにより、故障箇所を容易に特定することができ、適切な障害対応を迅速に行うことができる。
(ストレージシステム200のシステム構成例)
つぎに、実施の形態にかかるストレージシステム200のシステム構成例について説明する。以下の説明では、図1に示した情報処理装置101を、ストレージシステム200内の運用監視サーバ201に適用した場合を例に挙げて説明する。
図2は、ストレージシステム200のシステム構成例を示す説明図である。図2において、ストレージシステム200は、運用監視サーバ201と、管理者端末202と、ストレージサーバS1~Sn(n:2以上の自然数)と、状態監視ハードM1~Mnとを含む。ストレージシステム200において、運用監視サーバ201、管理者端末202、ストレージサーバS1~Snおよび状態監視ハードM1~Mnは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
以下の説明では、ストレージサーバS1~Snのうちの任意のストレージサーバを「ストレージサーバSi」と表記する場合がある(i=1,2,…,n)。また、状態監視ハードM1~Mnのうちの任意の状態監視ハードを「状態監視ハードMi」と表記する場合がある。
ここで、運用監視サーバ201は、ストレージシステム200の運用監視を行う。ストレージシステム200は、SDSを利用して構築される分散ストレージである。運用監視サーバ201は、例えば、サーバである。管理者端末202は、ストレージシステム200の管理者が使用するコンピュータである。管理者端末202は、例えば、PC(Personal Computer)、タブレットPCなどである。
ストレージサーバSiは、複数のHDD$を有するコンピュータである。HDD$は、記憶装置D(図1参照)の一例である。ストレージサーバSiは、OS#iと、分散ストレージソフト#iと、を含む。OS#iは、ストレージサーバSiのシステム全体を管理する。
分散ストレージソフト#iは、分散ストレージを実現するソフトウェアである。図1に示したストレージ装置102は、例えば、ストレージサーバSiに対応する。図1に示したストレージ制御ソフトウェア103は、例えば、分散ストレージソフト#iに対応する。図1に示したOS104は、例えば、OS#iに対応する。
状態監視ハードMiは、ストレージサーバSiに設けられ、ストレージサーバSiが有するSASカードの各スロットに装着されたHDD$の死活状態を監視する専用ハードウェアである。図1に示した状態監視回路105は、例えば、状態監視ハードMiに対応する。
なお、ここでは、運用監視サーバ201を、管理者端末202やストレージサーバSiと別体に設けることにしたが、これに限らない。例えば、運用監視サーバ201は、管理者端末202により実現されることにしてもよく、また、ストレージサーバSiにより実現されることにしてもよい。
(運用監視サーバ201のハードウェア構成例)
つぎに、運用監視サーバ201のハードウェア構成例について説明する。
図3は、運用監視サーバ201のハードウェア構成例を示すブロック図である。図3において、運用監視サーバ201は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、運用監視サーバ201の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、図2に示した管理者端末202、ストレージサーバSi、状態監視ハードMi)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305には、例えば、モデムやLANアダプタなどを採用することができる。
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
なお、運用監視サーバ201は、上述した構成部のほかに、例えば、入力装置、ディスプレイ等を有することにしてもよい。図2に示した管理者端末202、ストレージサーバSiについても、運用監視サーバ201と同様のハードウェアにより実現することができる。ただし、管理者端末202は、上述した構成部のほかに、例えば、入力装置、ディスプレイを有する。
(ソフトログ(初期)の具体例)
つぎに、図4を用いて、ソフトログ(初期)の具体例について説明する。図1に示した第1の情報110は、例えば、ソフトログ(初期)に対応する。
図4は、ソフトログ(初期)の具体例を示す説明図である。図4において、ソフトログ(初期)400は、IDとSAS番号(ソフト)との対応関係を示す。IDは、分散ストレージソフト#iにおいてHDD$を識別するための仮想識別子である。IDは、分散ストレージソフト#iによってHDD$に割り当てられる。
SAS番号(ソフト)は、ストレージサーバSiが有するスロットのうちHDD$が装着されたスロットを識別するための第1識別子である。第1識別子は、ストレージサーバSiのOS#iによって認識されるスロットの識別子である。ソフトウェア的またはハードウェア的な故障が発生して分散ストレージソフト#iによって認識されなくなったHDD$は、例えば、欠測となる。
ソフトログ(初期)400は、例えば、後述の図8に示す第1のHDD情報(初期)800と図9に示す第2のHDD情報(初期)900とから作成される。
(ハードログ(初期)の具体例)
つぎに、図5を用いて、ハードログ(初期)の具体例について説明する。図1に示した第2の情報120は、例えば、ハードログ(初期)に対応する。
図5は、ハードログ(初期)の具体例を示す説明図である。図5において、ハードログ(初期)500は、SAS番号(ハード)と状態との対応関係を示す。SAS番号(ハード)は、ストレージサーバSiが有するスロットのうちHDD$が装着されたスロットを識別するための第2識別子である。第2識別子は、状態監視ハードMiによって認識されるスロットの識別子である。SAS番号(ハード)は、SAS番号(ソフト)とはネーミングルールが異なる。
状態は、状態監視ハードMiによって検出されたHDD$の状態である。状態としては、例えば、OperationalまたはAvailableが設定される。Operationalは、HDD$が正常に動作していることを示す。Availableは、HDD$にソフトウェア的な故障が発生している可能性を示す。ハードウェア的(物理的)な故障が発生したHDD$は、例えば、欠測となる。
(ソフト/ハード対応テーブル600の記憶内容)
つぎに、図6を用いて、運用監視サーバ201が用いるソフト/ハード対応テーブル600の記憶内容について説明する。ソフト/ハード対応テーブル600は、例えば、図4に示したソフトログ(初期)400と、図5に示したハードログ(初期)500に基づき作成される。図1に示した対応情報130は、例えば、ソフト/ハード対応テーブル600に対応する。
図6は、ソフト/ハード対応テーブル600の記憶内容の一例を示す説明図である。図6において、ソフト/ハード対応テーブル600は、ID、SAS番号(ソフト)、SAS番号(ハード)、状態、故障状態および識別のフィールドを有し、各フィールドに情報を設定することで、ソフト/ハード対応情報600-1~600-8をレコードとして記憶する。
ここで、IDは、分散ストレージソフト#iにおいてHDD$を識別するための仮想識別子である。SAS番号(ソフト)は、ストレージサーバSiのOS#iによって認識される、HDD$が装着されたスロットを識別するための第1識別子である。IDおよびSAS番号(ソフト)は、ソフトログ(例えば、図4に示したソフトログ(初期)400)から特定される情報である。
SAS番号(ハード)は、状態監視ハードMiによって認識される、HDD$が装着されたスロットを識別するための第2識別子である。状態は、状態監視ハードMiによって検出されたHDD$の状態である。状態としては、例えば、Operational、Available、-(Null)が設定される。状態「-」は、HDD$にハードウェア的(物理的)な故障が発生していることを示す。SAS番号(ハード)および状態は、ハードログ(例えば、図5に示したハードログ(初期)500)から特定される情報である。
故障状態は、ソフトログおよびハードログから特定されるHDD$の故障状態を示す。例えば、ソフト「○」は、ソフトログから故障が特定されなかったことを示す。例えば、ハード「○」は、ハードログから故障が特定されなかったことを示す。例えば、ソフト「×」は、ソフトログから故障が特定されたことを示す。例えば、ハード「×」は、ハードログから故障が特定されたことを示す。
識別は、HDD$の状態を識別する。識別としては、例えば、-、B、C、D、Oのいずれかが設定される。識別「-」は、HDD$のSAS番号(ソフト)とSAS番号(ハード)とが仮紐付けがされた状態であることを示す。識別「B」は、HDD$の故障Bが検出されたことを示す。
識別「C」は、HDD$の故障Cが検出されたことを示す。識別「D」は、HDD$の故障Dが検出されたことを示す。B、CおよびDは、故障の種類を示す。故障B、故障Cおよび故障Dについての詳細な説明は後述する。識別「O」は、HDD$の故障が解消されたことを示す。
(運用監視サーバ201の機能的構成例)
図7は、運用監視サーバ201の機能的構成例を示すブロック図である。図7において、運用監視サーバ201は、第1の取得部701と、第2の取得部702と、生成部703と、更新部704と、出力部705と、を含む。第1の取得部701~出力部705は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
第1の取得部701は、分散ストレージ#iに関するソフトログ(初期)を取得する。ここで、分散ストレージ#iは、ストレージサーバSiのHDD$を用いて実現される分散ストレージシステムである。ソフトログ(初期)は、分散ストレージ#iの運用開始時に分散ストレージソフト#iによって認識されるHDD$の仮想識別子と、OS#iによって認識されるHDD$が装着されたスロットの第1識別子との対応関係を示す。スロットは、ストレージサーバSiに接続するHDD$を着脱可能な格納部である。スロットは、例えば、SASカードのスロットである。
以下の説明では、HDD$の仮想識別子を「ID」と表記し、OS#iによって認識されるHDD$が装着されたスロットの第1識別子を「SAS番号(ソフト)」と表記する場合がある。
具体的には、例えば、第1の取得部701は、分散ストレージソフト#iから、第1のHDD情報(初期)を取得する。第1のHDD情報(初期)は、分散ストレージソフト#iによってHDD$に割り当てられたIDとデバイス名との対応関係を示す。デバイス名は、ストレージサーバSiのOS#i上で見せるHDD$の仮想的な名前(仮想デバイス名)である。デバイス名は、分散ストレージソフト#iからOS#iに通知され、OS#iによって認識される。
分散ストレージソフト#iにおいて、HDD$のIDは、例えば、HDD_IDリストをもとに割り当てられる。HDD_IDリストは、ストレージシステム200内のHDD$に割り当てられるIDをリスト化した情報である。図1に示した第1対応情報110-1は、例えば、第1のHDD情報(初期)に相当する。
より詳細に説明すると、例えば、第1の取得部701は、分散ストレージ#iの運用を開始する前に、「ceph-volume lvm list」などのコマンドを実行することで、分散ストレージソフト#iから第1のHDD情報(初期)を取得する。ここで、第1のHDD情報(初期)の具体例について説明する。
図8は、第1のHDD情報(初期)の具体例を示す説明図である。図8において、第1のHDD情報(初期)800は、分散ストレージソフト#iによってHDD$に割り当てられたIDとデバイス名との対応関係を示す。例えば、ID「1」に対応するデバイス名は「/dev/sda」である。
また、第1の取得部701は、例えば、ストレージサーバSiのOS#iから、第2のHDD情報(初期)を取得する。第2のHDD情報(初期)は、HDD$に割り当てられたデバイス名と、ストレージサーバSiが有するスロットのうちHDD$が装着されたスロットのSAS番号(ソフト)との対応関係を示す。
分散ストレージソフト#iによって割り当てられたデバイス名と、当該デバイス名のHDD$が装着されたスロットとの紐付けはOS#iにより行われる。図1に示した第2対応情報110-2は、例えば、第2のHDD情報(初期)に相当する。
より詳細に説明すると、例えば、第1の取得部701は、分散ストレージ#iの運用を開始する前に、「ls -l /dev/disk/by-path」などのコマンドを実行することで、OS#iから第2のHDD情報(初期)を取得する。ここで、第2のHDD情報(初期)の具体例について説明する。
図9は、第2のHDD情報(初期)の具体例を示す説明図である。図9において、第2のHDD情報(初期)900は、HDD$に割り当てられたデバイス名と、HDD$が装着されたスロットのSAS番号(ソフト)との対応関係を示す。例えば、デバイス名「/dev/sd0」に対応するSAS番号(ソフト)は「SAS-xxxx-scsi-aaaa」である。
第1の取得部701は、例えば、取得した第1のHDD情報(初期)と第2のHDD情報(初期)とに基づいて、ソフトログ(初期)を作成する。具体的には、例えば、第1の取得部701は、図8に示した第1のHDD情報(初期)800と図9に示した第2のHDD情報(初期)900に含まれるデバイス名を軸として、IDとSAS番号(ソフト)との対応関係を特定することにより、図4に示したようなソフトログ(初期)400を作成する。
これにより、分散ストレージ#iの運用を開始する際の初期状態におけるHDD$のIDとHDD$が装着されたスロットのSAS番号(ソフト)との対応関係を示すソフトログ(初期)を取得することができる。
第2の取得部702は、分散ストレージ#iに関するハードログ(初期)を取得する。ここで、ハードログ(初期)は、分散ストレージ#iの運用開始時に状態監視ハードMiによって認識される、HDD$が装着されたスロットの第2識別子と、HDD$の状態との対応関係を示す。
以下の説明では、状態監視ハードMiによって認識されるHDD$が装着されたスロットの第2識別子を「SAS番号(ハード)」と表記する場合がある。
具体的には、例えば、第2の取得部702は、状態監視ハードMiから、図5に示したようなハードログ(初期)500を取得する。より詳細に説明すると、例えば、第2の取得部702は、状態監視ハードMiのデータベース(不図示)にアクセスして、ハードログ(初期)500を取得する。データベースには、例えば、ストレージサーバSiのCPU、メモリ、HDD$などの状態を示す情報が記憶されている。
生成部703は、取得されたソフトログ(初期)とハードログ(初期)とに基づいて、分散ストレージ#iに用いるHDD$のIDとSAS番号(ソフト)とSAS番号(ハード)との対応関係を示す対応情報を生成する。
具体的には、例えば、生成部703は、ソフトログ(初期)400に含まれるSAS番号(ソフト)と、ハードログ(初期)500に含まれるSAS番号(ハード)とを、出現順に対応付けることにより、図6に示したようなソフト/ハード対応テーブル600を生成することにしてもよい。
以下の説明では、初期状態におけるソフト/ハード対応テーブル600を「ソフト/ハード対応テーブル600(初期状態)」と表記する場合がある。初期状態における各HDD$の故障状態および識別は、ソフト「○」、ハード「○」および識別「-」である。
また、第1の取得部701は、分散ストレージ#iの運用中に、分散ストレージ#iに関するソフトログ(運用時)を取得する。ソフトログ(運用時)は、分散ストレージ#iの運用中に分散ストレージソフト#iによって認識されたHDD$のIDと、HDD$が装着されたスロットのSAS番号(ソフト)との対応関係を示す。図1に示した第3の情報140は、例えば、ソフトログ(運用時)に対応する。
具体的には、例えば、第1の取得部701は、分散ストレージ#iの運用中に、分散ストレージソフト#iから、第1のHDD情報(運用時)を取得する。第1のHDD情報(運用時)は、HDD$に割り当てられたIDのうち、分散ストレージソフト#iが認識しているIDとデバイス名との対応関係を示す。
より詳細に説明すると、例えば、第1の取得部701は、分散ストレージ#iの運用中に、定期的に、あるいは、管理者端末202(図2参照)からの指示に応じて、「ceph-volume lvm list」などのコマンドを実行することで、分散ストレージソフト#iから第1のHDD情報(運用時)を取得する。ここで、第1のHDD情報(運用時)の具体例について説明する。
図10は、第1のHDD情報(運用時)の具体例を示す説明図である。図10において、第1のHDD情報(運用時)1000は、HDD$に割り当てられたIDのうち、分散ストレージソフト#iが認識しているIDとデバイス名との対応関係を示す。ここでは、分散ストレージソフト#によってID「2」が認識されなくなったため、ID「2」の情報が欠測している。
また、第1の取得部701は、分散ストレージ#iの運用中に、ストレージサーバSiのOS#iから、第2のHDD情報(運用時)を取得する。第2のHDD情報(運用時)は、OS#iが認識しているデバイス名と、HDD$が装着されたSASカードスロットとの対応関係を示す。
より詳細に説明すると、例えば、第1の取得部701は、分散ストレージ#iの運用中に、定期的に、あるいは、管理者端末202からの指示に応じて、「ls -l /dev/disk/by-path」などのコマンドを実行することで、OS#iから第2のHDD情報(運用時)を取得する。ここで、第2のHDD情報(運用時)の具体例について説明する。
図11は、第2のHDD情報(運用時)の具体例を示す説明図である。図11において、第2のHDD情報(運用時)1100は、HDD$に割り当てられたデバイス名と、HDD$が装着されたSAS番号(ソフト)との対応関係を示す。ここでは、分散ストレージソフト#によって認識されなくなったID「2」のHDD$の情報が欠測している。
第1の取得部701は、例えば、取得した第1のHDD情報(運用時)と第2のHDD情報(運用時)とに基づいて、ソフトログ(運用時)を作成する。具体的には、例えば、第1の取得部701は、図10に示した第1のHDD情報(運用時)1000と図11に示した第2のHDD情報(運用時)1100に含まれるデバイス名を軸として、IDとSAS番号(ソフト)との対応関係を特定することにより、ソフトログ(運用時)を作成する。
これにより、分散ストレージ#iの運用中に分散ストレージソフト#iによって認識されたHDD$のIDと、HDD$が装着されたスロットのSAS番号(ソフト)との対応関係を示すソフトログ(運用時)を取得することができる。ソフトログ(運用時)の具体例については、例えば、図14を用いて後述する。
また、第2の取得部702は、分散ストレージ#iの運用中に、分散ストレージ#iに関するハードログ(運用時)を取得する。ハードログ(運用時)は、分散ストレージ#iの運用中に状態監視ハードMiによって認識されたHDD$が装着されたスロットのSAS番号(ハード)と、HDD$の状態との対応関係を示す。図1に示した第4の情報150は、例えば、ハードログ(運用時)に対応する。
具体的には、例えば、第2の取得部702は、分散ストレージ#iの運用中に、状態監視ハードMiから、ハードログ(運用時)を取得する。より詳細に説明すると、例えば、第2の取得部702は、状態監視ハードMiのデータベース(不図示)にアクセスして、ハードログ(運用時)を取得する。ハードログ(運用時)の具体例については、例えば、図15を用いて後述する。
更新部704は、取得されたソフトログ(運用時)から特定される故障箇所のSAS番号(ソフト)と、取得されたハードログ(運用時)から特定される故障箇所のSAS番号(ハード)とに基づいて、生成された対応情報におけるSAS番号(ソフト)とSAS番号(ハード)との対応関係を更新する。
ソフトログ(運用時)では、例えば、分散ストレージソフト#iによって認識されなくなったHDD$のIDは非表示となる。このため、更新部704は、例えば、ソフトログ(運用時)とソフト/ハード対応テーブル600とを比較して、欠測となっているIDに対応するSAS番号(ソフト)を、故障箇所のSAS番号(ソフト)として特定する。
なお、比較対象となるソフト/ハード対応テーブル600は、最新のソフト/ハード対応テーブル600である。例えば、分散ストレージ#iの運用開始後に最初に取得されたソフトログ(運用時)と比較するソフト/ハード対応テーブル600は、ソフト/ハード対応テーブル600(初期状態)である。
ハードログ(運用時)では、例えば、状態監視ハードMiによってハードウェア的(物理的)な故障が検出されたHDD$のSAS番号(ハード)は、欠測となる。また、ハードログ(運用時)では、状態監視ハードMiによってソフトウェア的な故障が検出されたHDD$の状態は、Availableとなる。
このため、更新部704は、例えば、ハードログ(運用時)とソフト/ハード対応テーブル600とを比較して、欠測またはAvailableとなっているSAS番号(ハード)を、故障箇所のSAS番号(ハード)として特定する。
なお、比較対象となるソフト/ハード対応テーブル600は、最新のソフト/ハード対応テーブル600である。例えば、分散ストレージ#iの運用開始後に最初に取得されたハードログ(運用時)と比較するソフト/ハード対応テーブル600は、ソフト/ハード対応テーブル600(初期状態)である。
そして、更新部704は、ソフト/ハード対応テーブル600において、特定した故障箇所のSAS番号(ソフト)と、特定した故障箇所のSAS番号(ハード)とが対応していない場合、例えば、故障箇所のSAS番号(ハード)を、故障箇所のSAS番号(ソフト)に対応するSAS番号(ハード)と入れ替える。
これにより、更新部704は、ソフト側の故障位置を固定し、ハード側の故障位置をソフト側の故障位置に合わせることによって、故障位置の違いを修正する。ハード側の故障位置とは、ハードログから特定される故障位置である。ソフト側の故障位置とは、ソフトログから特定される故障位置である。
なお、更新部704は、ソフト/ハード対応テーブル600において、故障箇所のSAS番号(ソフト)と、故障箇所のSAS番号(ハード)とが対応していない場合に、故障箇所のSAS番号(ソフト)を、故障箇所のSAS番号(ハード)に対応するSAS番号(ソフト)と入れ替えることにしてもよい。すなわち、ハード側の故障位置を固定し、ソフト側の故障位置をハード側の故障位置に合わせることによって、故障位置の違いを修正することにしてもよい。
また、ソフトログ(運用時)から故障箇所のSAS番号(ソフト)が特定されず、ハードログ(運用時)から故障箇所のSAS番号(ハード)が特定される場合がある。例えば、分散ストレージソフト#iの誤認識により、ハードウェア的な故障が発生しているにもかかわらず、ソフト側で故障が検知されない場合がある。
この場合、更新部704は、ソフト/ハード対応テーブル600において、故障箇所のSAS番号(ハード)に対応するID(仮想識別子)に、特定の識別子を付与することにしてもよい。特定の識別子は、ソフトウェア故障およびハードウェア故障のうちハードウェア故障のみが検出されたことを示す。
また、故障箇所のSAS番号(ハード)のHDD$の故障が解消された後に、ソフト/ハード対応テーブル600において、そのSAS番号(ハード)の入れ替えが行われることがある。更新部704は、ソフト/ハード対応テーブル600において、HDD$の故障が解消されたSAS番号(ハード)を他のSAS番号(ハード)と入れ替える際に、特定の識別子を、他のSAS番号(ハード)に対応するIDに付け替える。
これにより、以降において、ソフト/ハード対応テーブル600のSAS番号(ハード)の入れ替えが行われても、IDに付与された特定の識別子からハードウェア故障のみが検出された箇所を特定することができる。
以下、更新部704の具体的な処理例について説明する。以下の説明では、ソフトウェア的な故障を「ソフトウェア故障」と表記し、ハードウェア的な故障を「ハードウェア故障」と表記する場合がある。また、ソフトログ(運用時)およびハードログ(運用時)をまとめて「ソフト/ハードログ(運用時)」と表記する場合がある。
例えば、更新部704は、ソフト/ハードログ(運用時)とソフト/ハード対応テーブル600とを比較した結果に基づいて、HDD$の故障の種別を特定し、特定した故障の種別に応じて、ソフト/ハード対応テーブル600を更新する。
ここで、図12を用いて、HDD$の故障の種別について説明する。
図12は、HDD$の故障の種別を示す説明図である。図12において、故障種別テーブル1200は、ソフト/ハードログへの情報の現れ方によってHDD$の故障を分類するための情報である。ここでは、故障の種別としては、故障A、故障B、故障Cおよび故障Dがある。
故障Aは、ソフトウェア故障およびハードウェア故障のいずれの故障も検出されていない状態を示す。故障Aは、ソフトログ(運用時)ではIDが表示され、ハードログ(運用時)ではOperationalとなっているHDD$に対応する。なお、故障Aは、HDD$が正常な状態であることを示しているが、便宜上「故障A」と表記している。
故障Bは、ソフトウェア故障およびハードウェア故障のうちハードウェア故障のみが検出された状態を示す。故障Bは、ソフトログ(運用時)ではIDが表示されているものの、ハードログ(運用時)ではSAS番号(ハード)が非表示(欠測)となっているHDD$に対応する。故障Bに対する処置としては、例えば、HDD交換が挙げられる。
故障Cは、ソフトウェア故障およびハードウェア故障のうちソフトウェア故障のみが検出された状態を示す。故障Cは、ソフトログ(運用時)ではIDが非表示となり、ハードログ(運用時)ではAvailableとなっているHDD$に対応する。故障Cに対する処置としては、例えば、ソフト的な回復措置(失敗時:HDD交換)が挙げられる。
故障Dは、ソフトウェア故障およびハードウェア故障が検出された状態を示す。故障Dは、ソフトログ(運用時)ではIDが非表示となり、ハードログ(運用時)ではSAS番号(ハード)が非表示となっているHDD$に対応する。故障Dに対する処置としては、例えば、HDD交換が挙げられる。
更新部704は、例えば、故障種別テーブル1200を参照して、ソフト/ハードログ(運用時)とソフト/ハード対応テーブル600とを比較した結果に基づいて、各故障B,C,Dの新規の故障発生数を算出する。
ここで、事象数Is,Ih,Ia,Js,Jh,Ja,Xs,Xh,Xaを以下のように定義する。
Is:ソフトログ(運用時)にIDが表示されないHDD$の個数
Ih:ハードログ(運用時)にSAS番号(ハード)が表示されないHDD$の個数
Ia:ハードログ(運用時)にAvailableと表示されるHDD$の個数
Js:ソフト/ハード対応テーブル600において、故障状態がソフト「×」となっているHDD$の個数
Jh:ソフト/ハード対応テーブル600において、故障状態がハード「×」となっているHDD$の個数
Ja:ソフト/ハード対応テーブル600において、状態監視ハードMiによって検出された状態がAvailableとなっているHDD$の個数
Xs=Is-Js ・・・(1)
Xh=Ih-Jh ・・・(2)
Xa=Ia-Ja ・・・(3)
Xs,Xh,Xaは、各事象の新規発生分を表している。Xsは、ソフトログにHDD$のIDが表示されない事象の新規発生分を表している。Xhは、ハードログにHDD$のSAS番号(ハード)が表示されない事象の新規発生分を表している。Xaは、ハードログにHDD$の状態としてAvailableが表示された事象の新規発生分を表している。なお、初期状態では、(Js,Jh,Ja)は、「(Js,Jh,Ja)=(0,0,0)」となる。
ここで、各故障B,C,Dの新規の故障発生数を「NB,NC,ND」と表記する。この場合、Xs,XhおよびXaは、下記式(4)、(5)および(6)を用いて表すことができる。
Xs=NC+ND ・・・(4)
Xh=NB+ND ・・・(5)
Xa=NC ・・・(6)
例えば、更新部704は、ソフト/ハードログ(運用時)とソフト/ハード対応テーブル600とに基づいて、上記式(1)~(3)を用いて、(Xs,Xh,Xa)を算出する。つぎに、更新部704は、上記式(4)~(6)を用いて、算出した(Xs,Xh,Xa)から各故障B,C,Dの新規の故障発生数NB,NC,NDを算出する。
例えば、(Xs,Xh,Xa)が「(Xs,Xh,Xa)=(0,1,0)」の場合、(NB,NC,ND)は「(NB,NC,ND)=(1,0,0)」となる。「(NB,NC,ND)=(1,0,0)」は、故障Bが1個発生していることを示す。
また、(Xs,Xh,Xa)が「(Xs,Xh,Xa)=(1,0,1)」の場合、(NB,NC,ND)は「(NB,NC,ND)=(0,1,0)」となる。「(NB,NC,ND)=(0,1,0)」は、故障Cが1個発生していることを示す。
また、(Xs,Xh,Xa)が「(Xs,Xh,Xa)=(1,1,0)」の場合、(NB,NC,ND)は「(NB,NC,ND)=(0,0,1)」となる。「(NB,NC,ND)=(0,0,1)」は、故障Dが1個発生していることを示す。
また、(Xs,Xh,Xa)が「(Xs,Xh,Xa)=(2,2,1)」の場合、(NB,NC,ND)は「(NB,NC,ND)=(1,1,1)」となる。「(NB,NC,ND)=(1,1,1)」は、故障B,C,Dがそれぞれ1個発生していることを示す。
例えば、更新部704は、算出した(NB,NC,ND)を参照して、新規の故障が発生したか否かを判断する。具体的には、例えば、更新部704は、(NB,NC,ND)の少なくともいずれかが1以上の場合、新規の故障が発生したと判断する。一方、(NB,NC,ND)が「(NB,NC,ND)=(0,0,0)」の場合、更新部704は、新規の故障が発生していないと判断する。
なお、更新部704は、(Xs,Xh,Xa)が「(Xs,Xh,Xa)=(0,0,0)」の場合に、新規の故障が発生していないと判断してもよい。また、更新部704は、(Xs,Xh,Xa)が「(Xs,Xh,Xa)≠(0,0,0)」の場合に、新規の故障が発生したと判断してもよい。
新規の故障が発生した場合、更新部704は、単数故障であるか複数故障であるかを判断する。ここで、単数故障は、ソフトログ(運用時)およびハードログ(運用時)の少なくともいずれかから一つの故障箇所が特定された場合に相当する。複数故障は、ソフトログ(運用時)およびハードログ(運用時)の少なくともいずれかから複数の故障箇所が特定された場合に相当する。
具体的には、例えば、更新部704は、算出した(NB,NC,ND)が、(1,0,0)、(0,1,0)および(0,0,1)のいずれかの場合に、単数故障であると判断する。一方、(NB,NC,ND)が(1,0,0)、(0,1,0)および(0,0,1)のいずれでもない場合に、更新部704は、複数故障であると判断する。
単数故障の場合、更新部704は、故障種別が故障B,C,Dのいずれであるかを判断する。ここで、故障種別が故障Bの場合、更新部704は、ソフト/ハード対応テーブル600において、故障箇所のSAS番号(ハード)に対応するID(仮想識別子)に、特定の識別子を付与する。また、更新部704は、ソフト/ハード対応テーブル600において、故障箇所(例えば、ID)に対応する識別に「B」を設定する。
なお、故障Bが発生した場合のソフト/ハード対応テーブル600の更新例については、図20~図22を用いて後述する。
故障種別が故障Cの場合、更新部704は、ソフト/ハード対応テーブル600において、故障箇所のSAS番号(ソフト)と故障箇所のSAS番号(ハード)とが対応していなければ、故障箇所のSAS番号(ハード)を、故障箇所のSAS番号(ソフト)に対応するSAS番号(ハード)と入れ替える。また、更新部704は、ソフト/ハード対応テーブル600において、故障箇所(入れ替え先のHDD$のID)に対応する識別に「C」を設定する。
なお、故障Cが発生した場合のソフト/ハード対応テーブル600の更新例については、図17~図20を用いて後述する。
故障種別が故障Dの場合、更新部704は、ソフト/ハード対応テーブル600において、故障箇所のSAS番号(ソフト)と故障箇所のSAS番号(ハード)とが対応していなければ、故障箇所のSAS番号(ハード)を、故障箇所のSAS番号(ソフト)に対応するSAS番号(ハード)と入れ替える。また、更新部704は、ソフト/ハード対応テーブル600において、故障箇所(入れ替え先のHDD$のID)に対応する識別に「D」を設定する。
なお、故障Dが発生した場合のソフト/ハード対応テーブル600の更新例については、図14~図16を用いて後述する。
運用監視サーバ201は、HDD$の故障が解消されたことの通知を受け付けることにしてもよい。具体的には、例えば、運用監視サーバ201は、ソフト的な回復措置やHDD交換などのメンテナンスが実行された結果、管理者端末202から、HDD$の故障が解消されたことを示す故障解消通知を受け付ける。故障解消通知には、例えば、故障が解消されたHDD$のID、SAS番号(ソフト)、SAS番号(ハード)の少なくともいずれかが含まれる。
運用監視サーバ201は、故障解消通知を受け付けた場合、ソフト/ハード対応テーブル600の更新を行うことにしてもよい。具体的には、例えば、更新部704は、受け付けた故障解消通知に含まれるID(あるいは、SAS番号(ソフト)、SAS番号(ハード))に対応するソフト/ハード対応情報の識別に「O」を設定する。
また、複数故障の場合、更新部704は、例えば、メンテナンス手順対応情報を参照して、算出したNBとNCとNDとの組み合わせに対応するメンテナンス手順を特定する。ここで、メンテナンス手順対応情報は、故障Bの数と故障Cの数と故障Dの数との組み合わせと対応付けて、故障回復のためのメンテナンス手順を示す情報である。
故障Bの数は、ソフトウェア故障およびハードウェア故障のうちハードウェア故障のみが検出されたHDD$の数である。故障Cの数は、ソフトウェア故障およびハードウェア故障のうちソフトウェア故障のみが検出されたHDD$の数である。故障Dの数は、ソフトウェア故障およびハードウェア故障が検出されたHDD$の数である。
ここで、図13を用いて、メンテナンス手順対応情報の具体例について説明する。
図13は、メンテナンス手順対応情報の具体例を示す説明図である。図13において、メンテナンス手順対応表1300は、メンテナンス手順対応情報の一例であり、例えば、メンテナンス手順情報1300-1~1300-7を含む。各メンテナンス手順情報1300-1~1300-7は、故障Bの数(NB)と故障Cの数(NC)と故障Dの数(ND)との組み合わせと対応付けて、故障回復のためのメンテナンス手順を示す。
例えば、メンテナンス手順情報1300-1は、故障Bの数(NB=1)と故障Cの数(NC=1)と故障Dの数(ND=0)との組み合わせに対応するメンテナンス手順「1回(ソフト回復×1、HDD交換×1)」を示す。メンテナンス手順「1回(ソフト回復×1、HDD交換×1)」は、故障回復に必要なメンテナンス回数が1回であり、1回のメンテナンスで、ソフト的な回復措置を1回、HDD交換を1回実施すればよいことを示している。
例えば、メンテナンス手順情報1300-3は、故障Bの数(NB=0)と故障Cの数(NC=1)と故障Dの数(ND=1)との組み合わせに対応するメンテナンス手順「2回(HDD交換×1⇒ソフト回復×1)」を示す。メンテナンス手順「2回(HDD交換×1⇒ソフト回復×1)」は、故障回復に必要なメンテナンス回数が2回であり、1回目のメンテナンスで、HDD交換を1回実施した後、故障再調査してソフト/ハード対応テーブル600を更新してから、2回目のメンテナンスで、ソフト的な回復措置を1回実施すればよいことを示している。
具体的には、例えば、更新部704は、メンテナンス手順対応表1300を参照して、算出したNBとNCとNDとの組み合わせに対応するメンテナンス手順を特定する。例えば、算出したNBとNCとNDとの組み合わせを「(NB,NC,ND)=(1,1,0)」とする。この場合、更新部704は、故障Bの数(NB=1)と故障Cの数(NC=1)と故障Dの数(ND=0)との組み合わせに対応するメンテナンス手順「1回(ソフト回復×1、HDD交換×1)」を特定する。
また、算出したNBとNCとNDとの組み合わせを「(NB,NC,ND)=(0,1,1)」とする。この場合、更新部704は、故障Bの数(NB=0)と故障Cの数(NC=1)と故障Dの数(ND=1)との組み合わせに対応するメンテナンス手順「2回(HDD交換×1⇒ソフト回復×1)」を特定する。
出力部705は、特定されたメンテナンス手順を出力する。具体的には、例えば、出力部705は、図2に示した管理者端末202に障害発生レポートを送信することにしてもよい。障害発生レポートは、分散ストレージ#iの管理者宛に通知される情報であり、特定されたメンテナンス手順を含む。
例えば、メンテナンス手順「1回(ソフト回復×1、HDD交換×1)」によれば、分散ストレージ#iの管理者は、ソフトログ(運用時)の欠測箇所に対応するHDD$のソフト的な回復措置およびハードログ(運用時)の欠測箇所に対応するHDD$の交換を実施すればよいことがわかる。
また、メンテナンス手順「2回(HDD交換×1⇒ソフト回復×1)」によれば、分散ストレージ#iの管理者は、1回目のメンテナンスで、ハードログ(運用時)の欠測箇所に対応するHDD$の交換を実施すればよいことがわかる。また、分散ストレージ#iの管理者は、その後故障再調査してソフト/ハード対応テーブル600を更新してから、2回目のメンテナンスで、ソフトログ(運用時)の欠測箇所に対応するHDD$のソフト的な回復措置を実施すればよいことがわかる。
なお、分散ストレージ#iの管理者に通知される障害発生レポートの具体例については、図33を用いて後述する。
運用監視サーバ201は、特定されたメンテナンス手順(例えば、障害発生レポート)を出力した結果、メンテナンスが実行されたことの通知を受け付けることにしてもよい。具体的には、例えば、運用監視サーバ201は、管理者端末202から、出力した障害発生レポートが示すメンテナンス(例えば、1回目のメンテナンス)が実行されたことを示すメンテナンス実施通知を受け付ける。
また、運用監視サーバ201は、メンテナンス実施通知を受け付けた場合、ソフト/ハード対応テーブル600の更新を行うことにしてもよい。具体的には、例えば、第1の取得部701は、メンテナンス実施通知を受け付けたことに応じて、分散ストレージ#iに関するソフトログ(運用時)を取得する。また、第2の取得部702は、メンテナンス実施通知を受け付けたことに応じて、分散ストレージ#iに関するハードログ(運用時)を取得する。そして、更新部704は、取得されたソフトログ(運用時)から特定される故障箇所のSAS番号(ソフト)と、取得されたハードログ(運用時)から特定される故障箇所のSAS番号(ハード)とに基づいて、生成された対応情報におけるSAS番号(ソフト)とSAS番号(ハード)との対応関係を更新する。
これにより、運用監視サーバ201は、障害発生レポートが示すメンテナンスが実行されると、その都度、ソフト/ハード対応テーブル600の更新を行って、SAS番号(ソフト)とSAS番号(ハード)との対応関係を修正することができる。
なお、上述した説明では、運用監視サーバ201は、複数故障を判断するにあたり、ソフト/ハードログ(運用時)と最新のソフト/ハード対応テーブル600とを比較した結果に基づいて、各故障B,C,Dの新規の故障発生数を算出することにしたが、これに限らない。例えば、運用監視サーバ201は、ソフト/ハードログ(運用時)とソフト/ハード対応テーブル600(初期状態)とを比較した結果に基づいて、各故障B,C,Dの新規の故障発生数を算出して、複数故障を判断することにしてもよい。
(ソフト/ハード対応テーブル600の更新例)
ここで、ソフト/ハード対応テーブル600の更新例について説明する。まず、図14~図16を用いて、故障Dが発生した場合のソフト/ハード対応テーブル600の更新例について説明する。
図14は、ソフト/ハードログ(運用時)の具体例を示す説明図(その1)である。図14において、ソフトログ(運用時)1401は、分散ストレージ#iの運用中に分散ストレージソフト#iによって認識されたHDD$のIDと、HDD$が装着されたスロットのSAS番号(ソフト)との対応関係を示す。
ソフトログ(運用時)1401において、ソフトウェア的またはハードウェア的な故障が発生して分散ストレージソフト#iによってIDが認識されなくなったHDD$は、欠測となる。
また、ハードログ(運用時)1402は、分散ストレージ#iの運用中に状態監視ハードMiによって認識されたHDD$が装着されたスロットのSAS番号(ハード)と、HDD$の状態との対応関係を示す。
ハードログ(運用時)1402において、ハードウェア的な故障が発生したHDD$は、欠測となる。また、ハードログ(運用時)1402において、ソフトウェア的な故障が発生したHDD#の状態には、Availableが設定される。
図15および図16は、故障Dが発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図である。ここでは、図14に示したソフトログ(運用時)1401およびハードログ(運用時)1402と、図6に示したソフト/ハード対応テーブル600(初期状態)とを比較して、ソフト/ハード対応テーブル600を更新する場合について説明する。
例えば、更新部704は、故障種別テーブル1200を参照して、ソフト/ハードログ(運用時)1401,1402とソフト/ハード対応テーブル600(初期状態)とを比較した結果に基づいて、各故障B,C,Dの新規の故障発生数を算出する。ここでは、(NB,NC,ND)は、「(NB,NC,ND)=(0,0,1)」となる。これにより、更新部704は、故障Dが1個(単数故障)発生していることがわかる。
この場合、更新部704は、ソフトログ(運用時)1401と、ソフト/ハード対応テーブル600(初期状態)のソフト部分とを比較して、欠測となっているHDD$のIDを特定する。ここでは、欠測となっているHDD$のID「2」が特定される。この場合、図15に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、特定したID「2」のHDD$の故障状態-ソフトに「×」を設定する。
なお、ソフト/ハード対応テーブル600(テンポラリ)は、更新中のソフト/ハード対応テーブル600の記憶内容を示す。
また、更新部704は、ハードログ(運用時)1402と、ソフト/ハード対応テーブル600(初期状態)のハード部分とを比較して、欠測となっているHDD$のSAS番号(ハード)を特定する。ここでは、欠測となっているHDD$のSAS番号(ハード)「UUUU」が特定される。この場合、図15に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、特定したSAS番号(ハード)「UUUU」のHDD$の故障状態-ハードに「×」を設定する。
つぎに、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、故障箇所のSAS番号(ソフト)と故障箇所のSAS番号(ハード)とが対応しているか否かを判断する。ここでは、故障箇所のSAS番号(ソフト)「SAS-xxxx-scsi-cccc」と故障箇所のSAS番号(ハード)「UUUU」とが対応していない。
この場合、図16に示すように、更新部704は、ソフト/ハード対応テーブル600(更新)において、故障箇所のSAS番号(ハード)「UUUU」を、故障箇所のSAS番号(ソフト)「SAS-xxxx-scsi-cccc」に対応するSAS番号(ハード)「RRRR」と入れ替える。そして、更新部704は、ソフト/ハード対応テーブル600(更新)において、故障箇所のIDに対応する識別に「D」を設定する。
これにより、故障Dが発生した際に、ソフト側の故障位置とハード側の故障位置とが異なる場合、ソフト側の故障位置を固定して、ハード側の故障位置をソフト側の故障位置に合わせることによって、故障位置の違いを修正することができる。なお、ソフト/ハード対応テーブル600(更新)は、更新後のソフト/ハード対応テーブル600の記憶内容を示す。
つぎに、図17~図19を用いて、故障Cが発生した場合のソフト/ハード対応テーブル600の更新例について説明する。
図17は、ソフト/ハードログ(運用時)の具体例を示す説明図(その2)である。図17において、ソフトログ(運用時)1701は、分散ストレージ#iの運用中に分散ストレージソフト#iによって認識されたHDD$のIDと、HDD$が装着されたスロットのSAS番号(ソフト)との対応関係を示す。
また、ハードログ(運用時)1702は、分散ストレージ#iの運用中に状態監視ハードMiによって認識されたHDD$が装着されたスロットのSAS番号(ハード)と、HDD$の状態との対応関係を示す。ハードログ(運用時)1702では、ソフトウェア的な故障が発生したSAS番号(ハード)「UUUU」のHDD#の状態に、Availableが設定されている。
図18および図19は、故障Cが発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図である。ここでは、図17に示したソフトログ(運用時)1701およびハードログ(運用時)1702と、図6に示したソフト/ハード対応テーブル600(初期状態)とを比較して、ソフト/ハード対応テーブル600を更新する場合について説明する。
例えば、更新部704は、故障種別テーブル1200を参照して、ソフト/ハードログ(運用時)1701,1702とソフト/ハード対応テーブル600(初期状態)とを比較した結果に基づいて、各故障B,C,Dの新規の故障発生数を算出する。ここでは、(NB,NC,ND)は、「(NB,NC,ND)=(0,1,0)」となる。これにより、更新部704は、故障Cが1個(単数故障)発生していることがわかる。
この場合、更新部704は、ソフトログ(運用時)1701と、ソフト/ハード対応テーブル600(初期状態)のソフト部分とを比較して、欠測となっているHDD$のIDを特定する。ここでは、欠測となっているHDD$のID「2」が特定される。この場合、図18に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、特定したID「2」のHDD$の故障状態-ソフトに「×」を設定する。
また、更新部704は、ハードログ(運用時)1702と、ソフト/ハード対応テーブル600(初期状態)のハード部分とを比較して、状態がAvailableとなっているHDD$のSAS番号(ハード)を特定する。ここでは、状態がAvailableとなっているHDD$のSAS番号(ハード)「UUUU」が特定される。この場合、図18に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、特定したSAS番号(ハード)「UUUU」の状態に「Available」を設定する。
つぎに、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、故障箇所のSAS番号(ソフト)と故障箇所のSAS番号(ハード)とが対応しているか否かを判断する。ここでは、故障箇所のSAS番号(ソフト)「SAS-xxxx-scsi-cccc」と故障箇所のSAS番号(ハード)「UUUU」とが対応していない。
この場合、図19に示すように、更新部704は、ソフト/ハード対応テーブル600(更新)において、故障箇所のSAS番号(ハード)「UUUU」を、故障箇所のSAS番号(ソフト)「SAS-xxxx-scsi-cccc」に対応するSAS番号(ハード)「RRRR」と入れ替える。そして、更新部704は、ソフト/ハード対応テーブル600(更新)において、故障箇所のIDに対応する識別に「C」を設定する。
これにより、故障Cが発生した際に、ソフト側の故障位置とハード側の故障位置とが異なる場合、ソフト側の故障位置を固定して、ハード側の故障位置をソフト側の故障位置に合わせることによって、故障位置の違いを修正することができる。
つぎに、図20~図22を用いて、故障Bが発生した場合のソフト/ハード対応テーブル600の更新例について説明する。
図20は、ソフト/ハードログ(運用時)の具体例を示す説明図(その3)である。図20において、ソフトログ(運用時)2001は、分散ストレージ#iの運用中に分散ストレージソフト#iによって認識されたHDD$のIDと、HDD$が装着されたスロットのSAS番号(ソフト)との対応関係を示す。
また、ハードログ(運用時)2002は、分散ストレージ#iの運用中に状態監視ハードMiによって認識されたHDD$が装着されたスロットのSAS番号(ハード)と、HDD$の状態との対応関係を示す。
図21および図22は、故障Bが発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図である。ここでは、図20に示したソフトログ(運用時)2001およびハードログ(運用時)2002と、図6に示したソフト/ハード対応テーブル600(初期状態)とを比較して、ソフト/ハード対応テーブル600を更新する場合について説明する。
例えば、更新部704は、故障種別テーブル1200を参照して、ソフト/ハードログ(運用時)2001,2002とソフト/ハード対応テーブル600(初期状態)とを比較した結果に基づいて、各故障B,C,Dの新規の故障発生数を算出する。ここでは、(NB,NC,ND)は、「(NB,NC,ND)=(1,0,0)」となる。これにより、更新部704は、故障Bが1個(単数故障)発生していることがわかる。
この場合、更新部704は、ハードログ(運用時)2002と、ソフト/ハード対応テーブル600(初期状態)のハード部分とを比較して、欠測となっているHDD$のSAS番号(ハード)を特定する。ここでは、欠測となっているHDD$のSAS番号(ハード)「UUUU」が特定される。
この場合、図21に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、特定したSAS番号(ハード)「UUUU」のHDD$の故障状態-ハードに「×」を設定する。ただし、故障Bの場合、ソフト側の故障位置が特定されないため、故障C,Dのような入れ替えは行われず、ハード側の故障位置は動かない。また、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、特定したSAS番号(ハード)「UUUU」の状態に「-」を設定する。
つぎに、図22に示すように、更新部704は、ソフト/ハード対応テーブル600(更新)において、故障箇所のSAS番号(ハード)「UUUU」に対応するIDに、特定の識別子aを付与する。そして、更新部704は、ソフト/ハード対応テーブル600(更新)において、故障箇所のIDに対応する識別に「B」を設定する。
これにより、故障Bが発生した際に、故障箇所のHDD$のIDに、特定の識別子aを付与することができる。
つぎに、故障箇所のHDD$のIDに付与する特定の識別子aの利用例について説明する。故障Bが検出された箇所について、故障解消後にソフト側の故障(故障Cまたは故障D)が発生した場合、旧故障Bと新故障(故障Cまたは故障D)とで干渉する。この場合、ハード側の故障位置を入れ替える際に、特定の識別子aを移動させることで、故障Bを解消後のHDD$を識別可能にする。
ここで、図23~図26を用いて、故障Bの後に故障Dが発生した場合のソフト/ハード対応テーブル600の更新例について説明する。
図23は、ソフト/ハードログ(運用時)の具体例を示す説明図(その4)である。図23において、ソフトログ(運用時)2301は、分散ストレージ#iの運用中に分散ストレージソフト#iによって認識されたHDD$のIDと、HDD$が装着されたスロットのSAS番号(ソフト)との対応関係を示す。
また、ハードログ(運用時)2302は、分散ストレージ#iの運用中に状態監視ハードMiによって認識されたHDD$が装着されたスロットのSAS番号(ハード)と、HDD$の状態との対応関係を示す。
図24~図26は、故障Bの後に故障Dが発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図である。図24において、ソフト/ハード対応テーブル600(故障解消後)は、図22に示したソフト/ハード対応テーブル600(更新)の状態から、ID「5a」の故障Bが解消され、ID「5a」に対応する識別に「O」が設定された状態を示している。
ここでは、図23に示したソフトログ(運用時)2301およびハードログ(運用時)2302と、図24に示した故障Bの解消後のソフト/ハード対応テーブル600(故障解消後)とを比較して、ソフト/ハード対応テーブル600を更新する場合について説明する。
例えば、更新部704は、故障種別テーブル1200を参照して、ソフト/ハードログ(運用時)2301,2302とソフト/ハード対応テーブル600(故障解消後)とを比較した結果に基づいて、各故障B,C,Dの新規の故障発生数を算出する。ここでは、(NB,NC,ND)は、「(NB,NC,ND)=(0,0,1)」となる。これにより、更新部704は、故障Dが1個(単数故障)発生していることがわかる。
この場合、更新部704は、ソフトログ(運用時)2301と、ソフト/ハード対応テーブル600(故障解消後)のソフト部分とを比較して、欠測となっているHDD$のIDを特定する。ここでは、欠測となっているHDD$のID「5」が特定される。この場合、図25に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、特定したID「5(図25では、特定の識別子aが付与されている)」のHDD$の故障状態-ソフトに「×」を設定する。
また、更新部704は、ハードログ(運用時)2302と、ソフト/ハード対応テーブル600(故障解消後)のハード部分とを比較して、欠測となっているHDD$のSAS番号(ハード)を特定する。ここでは、欠測となっているHDD$のSAS番号(ハード)「RRRR」が特定される。この場合、図25に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、特定したSAS番号(ハード)「RRRR」のHDD$の故障状態-ハードに「×」を設定する。
つぎに、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、故障箇所のSAS番号(ソフト)と故障箇所のSAS番号(ハード)とが対応しているか否かを判断する。ここでは、故障箇所のSAS番号(ソフト)「SAS-xxxx-scsi-ffff」と故障箇所のSAS番号(ハード)「RRRR」とが対応していない。
この場合、図26に示すように、更新部704は、ソフト/ハード対応テーブル600(更新)において、故障箇所のSAS番号(ハード)「RRRR」を、故障箇所のSAS番号(ソフト)「SAS-xxxx-scsi-ffff」に対応するSAS番号(ハード)「UUUU」と入れ替える。
この際、更新部704は、ID「5」に付与された特定の識別子aを、入れ替え前の故障箇所のSAS番号(ハード)「RRRR」に対応するID「2」に付け替える。そして、更新部704は、ソフト/ハード対応テーブル600(更新)において、ID「5」に対応する識別「O」を、入れ替え前の故障箇所のSAS番号(ハード)「RRRR」に対応する識別に付け替える。また、更新部704は、故障箇所のID「5」に対応する識別に「D」を設定する。
このように、故障Bの解消後に故障Dが発生した際に、ハード側の故障位置をソフト側の故障位置に合わせるとともに、特定の識別子aを入れ替え前の故障箇所のSAS番号(ハード)「RRRR」に対応するID「2」に移動させることができる。これにより、故障位置の違いを修正するとともに、故障Bが発生してHDD交換が行われたHDD$を識別可能に管理することができる。以後も、故障Cまたは故障Dが発生し、旧故障Bと新故障(故障Cまたは故障D)とで干渉が起こるたびに、特定の識別子aを移動させて、故障Bを解消した後の管理を続けることができる。
つぎに、図27~図31を用いて、複数故障が発生した場合のソフト/ハード対応テーブル600の更新例について説明する。
図27は、ソフト/ハードログ(運用時)の具体例を示す説明図(その5)である。図27において、ソフトログ(運用時)2701は、分散ストレージ#iの運用中に分散ストレージソフト#iによって認識されたHDD$のIDと、HDD$が装着されたスロットのSAS番号(ソフト)との対応関係を示す。
また、ハードログ(運用時)2702は、分散ストレージ#iの運用中に状態監視ハードMiによって認識されたHDD$が装着されたスロットのSAS番号(ハード)と、HDD$の状態との対応関係を示す。
図28~図31は、複数故障が発生した場合のソフト/ハード対応テーブル600の更新例を示す説明図である。ここでは、図27に示したソフトログ(運用時)2701およびハードログ(運用時)2702と、図6に示したソフト/ハード対応テーブル600(初期状態)とを比較して、ソフト/ハード対応テーブル600を更新する場合について説明する。
例えば、更新部704は、故障種別テーブル1200を参照して、ソフト/ハードログ(運用時)2701,2702とソフト/ハード対応テーブル600(初期状態)とを比較した結果に基づいて、各故障B,C,Dの新規の故障発生数を算出する。ここでは、(NB,NC,ND)は、「(NB,NC,ND)=(0,1,1)」となる。これにより、更新部704は、故障C,Dが各1個(複数故障)発生していることがわかる。
この場合、更新部704は、ソフトログ(運用時)2701と、ソフト/ハード対応テーブル600(初期状態)のソフト部分とを比較して、欠測となっているHDD$のIDを特定する。ここでは、欠測となっているHDD$のID「4,7」が特定される。この場合、図28に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、特定したID「4,7」のHDD$の故障状態-ソフトに「×」を設定する。
また、更新部704は、ハードログ(運用時)2702と、ソフト/ハード対応テーブル600(初期状態)のハード部分とを比較して、欠測となっているHDD$のSAS番号(ハード)を特定する。ここでは、欠測となっているHDD$のSAS番号(ハード)「UUUU」が特定される。この場合、図28に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、特定したSAS番号(ハード)「UUUU」のHDD$の故障状態-ハードに「×」を設定する。また、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、特定したSAS番号(ハード)「UUUU」の状態に「-」を設定する。
また、更新部704は、ハードログ(運用時)2702と、ソフト/ハード対応テーブル600(初期状態)のハード部分とを比較して、状態がAvailableとなっているHDD$のSAS番号(ハード)を特定する。ここでは、状態がAvailableとなっているHDD$のSAS番号(ハード)「QQQQ」が特定される。この場合、図28に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ)において、特定したSAS番号(ハード)「QQQQ」の状態に「Available」を設定する。
ここでは、故障C,Dが各1個(複数故障)発生しており、ソフト/ハード対応テーブル600(テンポラリ)のどの事象発生箇所が、故障C,Dそれぞれに該当するか、一意的には決まらない。そこで、更新部704は、例えば、図13に示したメンテナンス手順対応表1300を参照して、算出したNBとNCとNDとの組み合わせに対応するメンテナンス手順を特定する。
算出したNBとNCとNDとの組み合わせは、「(NB,NC,ND)=(0,1,1)」である。このため、更新部704は、故障Bの数(NB=0)と故障Cの数(NC=1)と故障Dの数(ND=1)との組み合わせに対応するメンテナンス手順「2回(HDD交換×1⇒ソフト回復×1)」を特定する。
そして、出力部705は、特定したメンテナンス手順「2回(HDD交換×1⇒ソフト回復×1)」を含む障害発生レポートを出力する。この場合、分散ストレージ#iの管理者は、まず、ハードログ(運用時)2702の欠測箇所に対応するHDD$の交換を実施して、故障Dを解消する。
故障Dの解消後に、分散ストレージ#iの管理者は、例えば、管理者端末202から運用監視サーバ201にメンテナンス実施通知を送信する。運用監視サーバ201は、メンテナンス実施通知を受け付けると、分散ストレージ#iに関するソフト/ハードログ(再調査)を取得し、ソフト/ハード対応テーブル600の更新を行う。
ここで、図32を用いて、故障D解消後のソフト/ハードログ(再調査)について説明する。
図32は、ソフト/ハードログ(再調査)の具体例を示す説明図である。図32において、ソフトログ(再調査)3201は、故障D解消後に分散ストレージソフト#iによって認識されたHDD$のIDと、HDD$が装着されたスロットのSAS番号(ソフト)との対応関係を示す。
また、ハードログ(再調査)3202は、故障D解消後に状態監視ハードMiによって認識されたHDD$が装着されたスロットのSAS番号(ハード)と、HDD$の状態との対応関係を示す。
更新部704は、図32に示したソフトログ(再調査)3201およびハードログ(再調査)3202と、図28に示したソフト/ハード対応テーブル600(テンポラリ)とを比較して、ソフト/ハード対応テーブル600を更新する。
例えば、更新部704は、故障種別テーブル1200を参照して、ソフト/ハードログ(再調査)3201,3202とソフト/ハード対応テーブル600(テンポラリ)とを比較した結果に基づいて、各故障B,C,Dの新規の故障発生数を算出する。ここでは、(NB,NC,ND)は、「(NB,NC,ND)=(0,1,0)」となる。これにより、更新部704は、故障Cが1個(単数故障)発生していることがわかる。
この場合、更新部704は、ソフトログ(再調査)3201と、ソフト/ハード対応テーブル600(テンポラリ)の故障状態-ソフトとを比較して、回復したHDD$のIDを特定する。ここでは、回復したHDD$のID「4」が特定される。この場合、図29に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ2)において、特定したID「4」のHDD$の故障状態-ソフトに「○」を設定する。
また、更新部704は、ハードログ(再調査)3202と、ソフト/ハード対応テーブル600(テンポラリ)の故障状態-ハードとを比較して、回復したHDD$のSAS番号(ハード)を特定する。ここでは、回復したHDD$のSAS番号(ハード)「UUUU」が特定される。この場合、図29に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ2)において、特定したSAS番号(ハード)「UUUU」のHDD$の故障状態-ハードに「○」を設定する。
つぎに、更新部704は、ソフト/ハード対応テーブル600(テンポラリ2)において、回復した箇所のSAS番号(ソフト)と回復した箇所のSAS番号(ハード)とが対応しているか否かを判断する。ここでは、回復した箇所のSAS番号(ソフト)「SAS-xxxx-scsi-eeee」と回復した箇所のSAS番号(ハード)「UUUU」とが対応していない。
この場合、図30に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ3)において、回復した箇所のSAS番号(ハード)「UUUU」を、回復した箇所のSAS番号(ソフト)「SAS-xxxx-scsi-eeee」に対応するSAS番号(ハード)「TTTT」と入れ替える。そして、更新部704は、ソフト/ハード対応テーブル600(テンポラリ3)において、回復した箇所のID「4」に対応する識別に「O」を設定する。
また、更新部704は、ソフト/ハード対応テーブル600(テンポラリ2)において、故障箇所のSAS番号(ソフト)と故障箇所のSAS番号(ハード)とが対応しているか否かを判断する。ここでは、故障箇所のSAS番号(ソフト)「SAS-xxxx-scsi-hhhh」と故障箇所のSAS番号(ハード)「QQQQ」とが対応していない。
この場合、図30に示すように、更新部704は、ソフト/ハード対応テーブル600(テンポラリ3)において、故障箇所のSAS番号(ハード)「QQQQ」を、故障箇所のSAS番号(ソフト)「SAS-xxxx-scsi-hhhh」に対応するSAS番号(ハード)「WWWW」と入れ替える。そして、更新部704は、ソフト/ハード対応テーブル600(テンポラリ3)において、故障箇所のID「7」に対応する識別に「C」を設定する。
つぎに、分散ストレージ#iの管理者は、例えば、ソフトログ(再調査)3201の欠測箇所に対応するHDD$のソフト的な回復措置を実施して、故障Cを解消する。故障Cが解消されると、図31に示すように、ソフト/ハード対応テーブル600(更新)において、回復した箇所のID「7」に対応する識別に「O」が設定される。
(障害発生レポートの具体例)
つぎに、図33を用いて、分散ストレージ#iの管理者に通知される障害発生レポートの具体例について説明する。
図33は、障害発生レポートの具体例を示す説明図である。図33において、障害発生レポート3300は、分散ストレージ#iの管理者に通知されるメンテナンス手順の一例である。障害発生レポート3300によれば、管理者は、HDD$の複数故障(故障B:1箇所、故障C:10箇所、故障D:10箇所)が発生していることがわかる。
また、障害発生レポート3300によれば、管理者は、故障回復のためのメンテナンス手順を特定することができる。例えば、まず、管理者は、ハードログの欠測箇所に対応するHDD$の交換を実施する。つぎに、管理者は、故障状態の再調査を指示することで、ソフト/ハードログを取り直して、ソフト/ハード対応テーブル600の更新を行う。
そして、管理者は、ソフトログの欠測箇所に対応するHDD$のソフト的な回復措置を試して、結果NGの場合はHDD交換を実施する。つぎに、管理者は、故障状態の再々調査を指示することで、ソフト/ハードログを取り直して、ソフト/ハード対応テーブル600の更新を行う。そして、管理者は、HDD$の故障が解消されたことを確認する。
(運用監視サーバ201の運用監視処理手順)
つぎに、運用監視サーバ201の運用監視処理手順について説明する。まず、図34を用いて、運用監視サーバ201の第1の運用監視処理手順について説明する。第1の運用監視処理は、例えば、分散ストレージ#iの運用監視を開始する際に実行される。
図34は、運用監視サーバ201の第1の運用監視処理手順の一例を示すフローチャートである。図34のフローチャートにおいて、まず、運用監視サーバ201は、分散ストレージ#iに関するソフトログ(初期)を取得する(ステップS3401)。つぎに、運用監視サーバ201は、分散ストレージ#iに関するハードログ(初期)を取得する(ステップS3402)。
ステップS3401の処理は、例えば、ストレージサーバSiのOS#iおよび分散ストレージソフト#iに対して、故障状況調査指示を送信することで得られる第1のHDD情報(初期)と第2のHDD情報(初期)とに基づいて取得される。ステップS3402の処理は、例えば、状態監視ハードMiに対して、故障状況調査指示をそれぞれ送信することにより行われる。なお、ステップS3401,S3402の処理は、実行順序が逆であってもよく、また、並列に実行されてもよい。
そして、運用監視サーバ201は、取得したソフトログ(初期)とハードログ(初期)とに基づいて、ソフト/ハード対応テーブル600(初期状態)を生成して(ステップS3403)、本フローチャートによる一連の処理を終了する。
これにより、運用監視サーバ201は、分散ストレージ#iに用いるHDD$のSAS番号(ソフト)とSAS番号(ハード)とを仮紐付けしたソフト/ハード対応テーブル600(初期状態)を生成することができる。
つぎに、図35を用いて、運用監視サーバ201の第2の運用監視処理手順について説明する。第2の運用監視処理は、例えば、分散ストレージ#iの運用中に、定期的に、あるいは、管理者端末202からの指示に応じて実行される。
図35は、運用監視サーバ201の第2の運用監視処理手順の一例を示すフローチャートである。図35のフローチャートにおいて、まず、運用監視サーバ201は、分散ストレージ#iに関するソフトログ(運用時)を取得する(ステップS3501)。つぎに、運用監視サーバ201は、分散ストレージ#iに関するハードログ(運用時)を取得する(ステップS3502)。
ステップS3501の処理は、例えば、ストレージサーバSiのOS#iおよび分散ストレージソフト#iに対して、故障状況調査指示を送信することで得られる第1のHDD情報(運用時)と第2のHDD情報(運用時)とに基づいて取得される。ステップS3502の処理は、例えば、状態監視ハードMiに対して、故障状況調査指示をそれぞれ送信することにより行われる。なお、ステップS3501,S3502の処理は、実行順序が逆であってもよく、また、並列に実行されてもよい。
そして、運用監視サーバ201は、ソフト/ハードログ(運用時)とソフト/ハード対応テーブル600とを比較した結果に基づいて、各事象Xs,Xh,Xaの新規発生数(Xs,Xh,Xa)を算出する(ステップS3503)。なお、比較対象となるソフト/ハード対応テーブル600は、最新のソフト/ハード対応テーブル600である。
つぎに、運用監視サーバ201は、算出した新規発生数(Xs,Xh,Xa)に基づいて、新規故障が発生したか否かを判断する(ステップS3504)。例えば、運用監視サーバ201は、「(Xs,Xh,Xa)=(0,0,0)」の場合に、新規故障が発生していないと判断する。また、運用監視サーバ201は、「(Xs,Xh,Xa)≠(0,0,0)」の場合に、新規故障が発生したと判断する。
ここで、新規故障が発生していない場合(ステップS3504:No)、運用監視サーバ201は、本フローチャートによる一連の処理を終了する。
一方、新規故障が発生した場合(ステップS3504:Yes)、運用監視サーバ201は、算出した新規発生数(Xs,Xh,Xa)に基づいて、各故障B,C,Dの新規故障発生数(NB,NC,ND)を算出する(ステップS3505)。そして、運用監視サーバ201は、算出した新規故障発生数(NB,NC,ND)に基づいて、HDD$の単数故障または複数故障のいずれであるかを判断する(ステップS3506)。
ここで、HDD$の単数故障の場合(ステップS3506:単数故障)、運用監視サーバ201は、HDD単数故障処理を実行して(ステップS3507)、本フローチャートによる一連の処理を終了する。HDD単数故障処理の具体的な処理手順については、図36および図37を用いて後述する。
一方、HDD$の複数故障の場合(ステップS3506:複数故障)、運用監視サーバ201は、HDD複数故障処理を実行して(ステップS3508)、本フローチャートによる一連の処理を終了する。HDD複数故障処理の具体的な処理手順については、図38を用いて後述する。
これにより、運用監視サーバ201は、新規の故障が発生した場合に、単数故障であるか複数故障であるかに応じて、HDD単数故障処理またはHDD複数故障処理を実行することができる。
つぎに、図36および図37を用いて、ステップS3507のHDD単数故障処理の具体的な処理手順について説明する。
図36および図37は、HDD単数故障処理の具体的処理手順の一例を示すフローチャートである。図36のフローチャートにおいて、まず、運用監視サーバ201は、ソフト/ハードログ(運用時)とソフト/ハード対応テーブル600とを比較した結果に基づいて、ソフト/ハード対応テーブル600(テンポラリ)を作成する(ステップS3601)。
なお、ソフト/ハード対応テーブル600(テンポラリ)は、例えば、図35に示したステップS3503において、新規発生数(Xs,Xh,Xa)を算出する際に合わせて作成することにしてもよい。
つぎに、運用監視サーバ201は、故障種別が「B」であるか否かを判断する(ステップS3602)。ここで、故障種別が「B」の場合(ステップS3602:Yes)、運用監視サーバ201は、ソフト/ハード対応テーブル600(テンポラリ)において、故障箇所のSAS番号(ハード)に対応するIDに、特定の識別子aを付与する(ステップS3603)。
そして、運用監視サーバ201は、ソフト/ハード対応テーブル600(テンポラリ)において、故障箇所のIDに対応する識別に「B」を設定して(ステップS3604)、HDD単数故障処理を呼び出したステップに戻る。
これにより、故障Bが発生した場合に、故障箇所のHDD$のIDに特定の識別子aを付与して、故障Bが発生したHDD$を管理可能にすることができる。
また、ステップS3602において、故障種別が「B」ではない場合(ステップS3602:No)、運用監視サーバ201は、故障種別が「C」であるか否かを判断する(ステップS3605)。ここで、故障種別が「C」の場合(ステップS3605:Yes)、運用監視サーバ201は、ソフト/ハード対応テーブル600(テンポラリ)において、故障箇所のSAS番号(ソフト)と故障箇所のSAS番号(ハード)とが対応しているか否かを判断する(ステップS3606)。
ここで、故障箇所のSAS番号(ソフト)と故障箇所のSAS番号(ハード)とが対応している場合(ステップS3606:Yes)、運用監視サーバ201は、ステップS3608に移行する。
一方、故障箇所のSAS番号(ソフト)と故障箇所のSAS番号(ハード)とが対応していない場合(ステップS3606:No)、運用監視サーバ201は、故障箇所のSAS番号(ハード)を、故障箇所のSAS番号(ソフト)に対応するSAS番号(ハード)と入れ替える(ステップS3607)。
なお、運用監視サーバ201は、例えば、故障箇所のSAS番号(ハード)を入れ替える際に、入れ替え先のIDに特定の識別子aが付与されている場合、入れ替え元のIDに特定の識別子aを移動させる。
そして、運用監視サーバ201は、ソフト/ハード対応テーブル600(テンポラリ)において、故障箇所のIDに対応する識別に「C」を設定して(ステップS3608)、HDD単数故障処理を呼び出したステップに戻る。
これにより、故障Cが発生した場合に、ソフト/ハード対応テーブル600において、ソフト側の故障位置を固定し、ハード側の故障位置をソフト側の故障位置に合わせることによって、SAS番号(ソフト)とSAS番号(ハード)との対応関係を修正することができる。
また、ステップS3605において、故障種別が「C」ではない場合(ステップS3605:No)、運用監視サーバ201は、図37に示すステップS3701に移行する。
図37のフローチャートにおいて、まず、運用監視サーバ201は、ソフト/ハード対応テーブル600(テンポラリ)において、故障箇所のSAS番号(ソフト)と故障箇所のSAS番号(ハード)とが対応しているか否かを判断する(ステップS3701)。
ここで、故障箇所のSAS番号(ソフト)と故障箇所のSAS番号(ハード)とが対応している場合(ステップS3701:Yes)、運用監視サーバ201は、ステップS3703に移行する。
一方、故障箇所のSAS番号(ソフト)と故障箇所のSAS番号(ハード)とが対応していない場合(ステップS3701:No)、運用監視サーバ201は、故障箇所のSAS番号(ハード)を、故障箇所のSAS番号(ソフト)に対応するSAS番号(ハード)と入れ替える(ステップS3702)。
そして、運用監視サーバ201は、ソフト/ハード対応テーブル600(テンポラリ)において、故障箇所のIDに対応する識別に「D」を設定して(ステップS3703)、HDD単数故障処理を呼び出したステップに戻る。
これにより、故障Dが発生した場合に、ソフト/ハード対応テーブル600において、ソフト側の故障位置を固定し、ハード側の故障位置をソフト側の故障位置に合わせることによって、SAS番号(ソフト)とSAS番号(ハード)との対応関係を修正することができる。
つぎに、図38を用いて、ステップS3508のHDD複数故障処理の具体的な処理手順について説明する。
図38は、HDD複数故障処理の具体的処理手順の一例を示すフローチャートである。図38のフローチャートにおいて、まず、運用監視サーバ201は、ソフト/ハードログ(運用時)とソフト/ハード対応テーブル600とを比較した結果に基づいて、ソフト/ハード対応テーブル600(テンポラリ)を作成する(ステップS3801)。
なお、ソフト/ハード対応テーブル600(テンポラリ)は、例えば、図35に示したステップS3503において、新規発生数(Xs,Xh,Xa)を算出する際に合わせて作成することにしてもよい。
つぎに、運用監視サーバ201は、メンテナンス手順対応表1300を参照して、算出したNBとNCとNDとの組み合わせに対応するメンテナンス手順を特定する(ステップS3802)。そして、運用監視サーバ201は、特定したメンテナンス手順を含む障害発生レポートを出力する(ステップS3803)。
つぎに、運用監視サーバ201は、メンテナンス実施通知を受け付けたか否かを判断する(ステップS3804)。メンテナンス実施通知は、障害発生レポートが示すメンテナンス(1回のメンテナンス)が実行されたことを示す。ここで、運用監視サーバ201は、メンテナンス実施通知を受け付けるのを待つ(ステップS3804:No)。
そして、運用監視サーバ201は、メンテナンス実施通知を受け付けた場合(ステップS3804:Yes)、ソフト/ハード対応テーブル600を更新するテーブル更新処理を実行する(ステップS3805)。テーブル更新処理の具体的な処理手順については、図39を用いて後述する。
つぎに、運用監視サーバ201は、テーブル更新処理が故障回復に必要なメンテナンス回数分実行されたか否かを判断する(ステップS3806)。故障回復に必要なメンテナンス回数は、メンテナンス手順から特定される。ここで、故障回復に必要なメンテナンス回数分実行されていない場合(ステップS3806:No)、運用監視サーバ201は、ステップS3804に戻る。
一方、故障回復に必要なメンテナンス回数分実行された場合(ステップS3806:Yes)、運用監視サーバ201は、HDD複数故障処理を呼び出したステップに戻る。
これにより、HDD$の複数故障が発生した場合に、故障回復のためのメンテナンス手順を出力することができる。また、障害発生レポートが示すメンテナンスが実行されると、その都度、ソフト/ハード対応テーブル600の更新を行って、SAS番号(ソフト)とSAS番号(ハード)との対応関係を修正することができる。
つぎに、図39を用いて、ステップS3805のテーブル更新処理の具体的な処理手順について説明する。
図39は、テーブル更新処理の具体的処理手順の一例を示すフローチャートである。図39のフローチャートにおいて、まず、運用監視サーバ201は、分散ストレージ#iに関するソフトログ(再調査)を取得する(ステップS3901)。つぎに、運用監視サーバ201は、分散ストレージ#iに関するハードログ(再調査)を取得する(ステップS3902)。
ステップS3901の処理は、例えば、ストレージサーバSiのOS#iおよび分散ストレージソフト#iに対して、故障状況調査指示を送信することで得られる第1のHDD情報(再調査)と第2のHDD情報(再調査)とに基づいて取得される。ステップS3902の処理は、例えば、状態監視ハードMiに対して、故障状況調査指示をそれぞれ送信することにより行われる。なお、ステップS3901,S3902の処理は、実行順序が逆であってもよく、また、並列に実行されてもよい。
そして、運用監視サーバ201は、ソフト/ハードログ(再調査)とソフト/ハード対応テーブル600(テンポラリ)とを比較して、ソフト/ハード対応テーブル600を更新して(ステップS3903)、テーブル更新処理を呼び出したステップに戻る。
これにより、障害発生レポートに示されたメンテナンスが実行されて、故障が解消される度に、ソフト/ハード対応テーブル600の記憶内容を更新することができる。
以上説明したように、実施の形態にかかる運用監視サーバ201によれば、分散ストレージ#iに関するソフトログ(初期)を取得し、状態監視ハードMiから分散ストレージ#iに関するハードログ(初期)を取得し、取得したソフトログ(初期)とハードログ(初期)とに基づいて、ソフト/ハード対応テーブル600(初期状態)を生成することができる。
これにより、分散ストレージ#iに用いるHDD$のSAS番号(ソフト)とSAS番号(ハード)とを仮紐付けしたソフト/ハード対応テーブル600(初期状態)を生成することができる。
また、運用監視サーバ201によれば、分散ストレージ#iの運用中に、分散ストレージ#iに関するソフトログ(運用時)を取得するとともに、分散ストレージ#iに関するハードログ(運用時)を取得することができる。そして、運用監視サーバ201によれば、ソフトログ(運用時)およびハードログ(運用時)と、ソフト/ハード対応テーブル600(初期状態)とを比較した結果に基づいて、ソフト/ハード対応テーブル600(初期状態)におけるSAS番号(ソフト)とSAS番号(ハード)との対応関係を更新することができる。
これにより、HDD$の故障が発生した際に、ソフトログ(運用時)から特定される故障箇所とハードログ(運用時)から特定される故障箇所とを突き合わせて、故障位置の違い(矛盾)を修正することができ、故障箇所の特定を容易にすることができる。
また、運用監視サーバ201によれば、ソフト/ハード対応テーブル600(初期状態)において、ソフトログ(運用時)から特定される故障箇所のSAS番号(ソフト)と、ハードログ(運用時)から特定される故障箇所のSAS番号(ハード)とが対応していない場合、故障箇所のSAS番号(ハード)を、故障箇所のSAS番号(ソフト)に対応するSAS番号(ハード)と入れ替えることができる。
これにより、ハード側の故障位置をソフト側の故障位置に合わせることによって、故障位置の違いを修正することができる。また、ソフト側の故障位置を固定にすることで、SAS番号の入れ替えにともなう他への影響を抑えることができる(例えば、OS、アプリ等に変更内容を通知しなくてもよい)。
また、運用監視サーバ201によれば、ソフトログ(運用時)およびハードログ(運用時)からソフトウェア故障のみが検出され、故障箇所のSAS番号(ハード)を故障箇所のSAS番号(ソフト)に対応するSAS番号(ハード)と入れ替えた場合、入れ替え先のHDD$のIDと対応付けて、故障種別「C」を設定することができる。
これにより、ソフトウェア故障のみが検出されたHDD$を判別可能にすることができる。
また、運用監視サーバ201によれば、ソフトログ(運用時)およびハードログ(運用時)からソフトウェア故障およびハードウェア故障が検出され、故障箇所のSAS番号(ハード)を故障箇所のSAS番号(ソフト)に対応するSAS番号(ハード)と入れ替えた場合、入れ替え先のHDD$のIDと対応付けて、故障種別「D」を設定することができる。
これにより、ソフトウェア故障およびハードウェア故障が検出されたHDD$を判別可能にすることができる。
また、運用監視サーバ201によれば、ソフトログ(運用時)から故障箇所のSAS番号(ソフト)が特定されず、ハードログ(運用時)から故障箇所のSAS番号(ハード)が特定された場合、ソフト/ハード対応テーブル600(初期状態)において、故障箇所のSAS番号(ハード)に対応するIDに、特定の識別子aを付与することができる。特定の識別子aは、ソフトウェア故障およびハードウェア故障のうちハードウェア故障のみが検出されたことを示す。
これにより、故障Bが発生したHDD$を識別可能に管理することができる。
また、運用監視サーバ201によれば、故障箇所のSAS番号(ハード)のHDD$の故障が解消された後に、ソフト/ハード対応テーブル600において、HDD$の故障が解消されたSAS番号(ハード)を他のSAS番号(ハード)と入れ替える場合、特定の識別子aを、他のSAS番号(ハード)に対応するIDに付け替えることができる。
これにより、ソフト/ハード対応テーブル600のSAS番号(ハード)の入れ替えが行われても、IDに付与された特定の識別子から故障Bが発生した箇所を特定することができる。
また、運用監視サーバ201によれば、ソフトログ(運用時)およびハードログ(運用時)と、ソフト/ハード対応テーブル600(初期状態)とを比較した結果に基づいて、故障Bの数(NB)と故障Cの数(NC)と故障Dの数(ND)とを算出することができる。そして、運用監視サーバ201によれば、算出した故障Bの数(NB)と故障Cの数(NC)と故障Dの数(ND)とに基づいて、HDD$の単数故障であるか複数故障であるかを判断し、HDD$の単数故障の場合に、ソフト/ハード対応テーブル600(初期状態)におけるSAS番号(ソフト)とSAS番号(ハード)との対応関係を更新することができる。
これにより、故障位置の違いを適切に修正可能な場合(単数故障)に、ソフト/ハード対応テーブル600(初期状態)の更新を行うことができる。
また、運用監視サーバ201によれば、HDD$の複数故障の場合、メンテナンス手順対応表1300を参照して、算出した故障Bの数(NB)と故障Cの数(NC)と故障Dの数(ND)との組み合わせに対応するメンテナンス手順を特定し、特定したメンテナンス手順を出力することができる。
これにより、HDD$の複数故障が発生した場合には、各故障B,C,Dの新規故障発生数に応じて、故障回復のためのメンテナンス手順を提示することができる。
また、運用監視サーバ201によれば、分散ストレージソフト#iから第1のHDD情報(初期)を取得し、ストレージサーバSiのOS#iから第2のHDD情報(初期)を取得することができる。そして、運用監視サーバ201によれば、取得した第1のHDD情報(初期)と第2のHDD情報(初期)とに基づいて、ソフトログ(初期)を作成することによって、ソフトログ(初期)を取得することができる。
これにより、分散ストレージ#iの運用を開始する際の初期状態におけるHDD$のIDとHDD$が装着されたスロットのSAS番号(ソフト)との対応関係を示すソフトログ(初期)を取得することができる。
これらのことから、運用監視サーバ201によれば、SAS番号(ソフト)とSAS番号(ハード)との紐付けを行って、HDD$の故障箇所の特定を容易にすることで、HDD$の故障状況を管理しやすくすることができる。例えば、分散ストレージソフト#iと状態監視ハードMiとが別々に開発されたものであっても、運用監視サーバ201でHDD$の故障箇所を特定して故障状況を管理することができる。
なお、本実施の形態で説明した運用監視方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本運用監視プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本運用監視プログラムは、インターネット等のネットワークを介して配布してもよい。
また、本実施の形態で説明した情報処理装置101(運用監視サーバ201)は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)ストレージ装置の記憶装置を用いて分散ストレージを実現するストレージ制御ソフトウェアによって認識される記憶装置の仮想識別子と、前記ストレージ装置のOSによって認識される、前記ストレージ装置が有するスロットのうちの前記記憶装置が装着されたスロットの第1識別子との対応関係を示す第1の情報を取得し、
前記記憶装置の死活状態を監視する状態監視回路から、前記状態監視回路によって認識される、前記記憶装置が装着されたスロットの第2識別子と、前記記憶装置の状態との対応関係を示す第2の情報を取得し、
前記第1の情報と前記第2の情報とに基づいて、前記記憶装置の仮想識別子と第1識別子と第2識別子との対応関係を示す対応情報を生成し、
前記分散ストレージの運用中に、前記ストレージ制御ソフトウェアによって認識された記憶装置の仮想識別子と前記記憶装置が装着されたスロットの第1識別子との対応関係を示す第3の情報を取得するとともに、前記状態監視回路から前記記憶装置が装着されたスロットの第2識別子と前記記憶装置の状態との対応関係を示す第4の情報を取得し、
前記第3の情報および前記第4の情報と前記対応情報とを比較した結果に基づいて、前記対応情報における第1識別子と第2識別子との対応関係を更新する、
制御部を有することを特徴とする情報処理装置。
(付記2)前記制御部は、
前記対応情報において、前記第3の情報から特定される故障箇所の第1識別子と、前記第4の情報から特定される故障箇所の第2識別子とが対応していない場合、前記故障箇所の第2識別子を、前記故障箇所の第1識別子に対応する第2識別子と入れ替える、
ことを特徴とする付記1に記載の情報処理装置。
(付記3)前記制御部は、
前記第3の情報から故障箇所の第1識別子が特定されず、前記第4の情報から故障箇所の第2識別子が特定された場合、前記対応情報において、前記故障箇所の第2識別子に対応する仮想識別子に特定の識別子を付与する、
ことを特徴とする付記2に記載の情報処理装置。
(付記4)前記制御部は、
前記故障箇所の第2識別子の記憶装置の故障が解消された後に、前記対応情報において、当該第2識別子を他の第2識別子と入れ替える場合、前記特定の識別子を、前記他の第2識別子に対応する仮想識別子に付け替える、
ことを特徴とする付記3に記載の情報処理装置。
(付記5)前記制御部は、
前記第3の情報および前記第4の情報と前記対応情報とを比較した結果に基づいて、ハードウェア故障のみが検出された記憶装置の第1数と、ソフトウェア故障のみが検出された記憶装置の第2数と、ソフトウェア故障およびハードウェア故障が検出された記憶装置の第3数とを算出し、
算出した前記第1数と前記第2数と前記第3数とに基づいて、前記記憶装置の単数故障であるか複数故障であるかを判断し、
前記記憶装置の単数故障の場合に、前記対応情報における第1識別子と第2識別子との対応関係を更新する、
ことを特徴とする付記1~4のいずれか一つに記載の情報処理装置。
(付記6)前記制御部は、
前記記憶装置の複数故障の場合、ハードウェア故障のみが検出された記憶装置の数と、ソフトウェア故障のみが検出された記憶装置の数と、ソフトウェア故障およびハードウェア故障が検出された記憶装置の数との組み合わせと対応付けて、故障回復のためのメンテナンス手順を示す情報を参照して、算出した前記第1数と前記第2数と前記第3数との組み合わせに対応するメンテナンス手順を特定し、
特定した前記メンテナンス手順を出力する、
ことを特徴とする付記5に記載の情報処理装置。
(付記7)前記制御部は、
前記ストレージ制御ソフトウェアから、前記ストレージ制御ソフトウェアによって前記記憶装置に割り当てられた仮想識別子と仮想デバイス名との対応関係を示す第1対応情報を取得し、
前記OSから、前記記憶装置に割り当てられた仮想デバイス名と、前記ストレージ装置が有するスロットのうちの前記記憶装置が装着されたスロットの第1識別子との対応関係を示す第2対応情報を取得し、
前記第1対応情報と前記第2対応情報とに基づいて前記第1の情報を作成することによって、前記第1の情報を取得する、
ことを特徴とする付記1に記載の情報処理装置。
(付記8)前記制御部は、
前記第3の情報および前記第4の情報からソフトウェア故障のみが検出され、前記故障箇所の第2識別子を、前記故障箇所の第1識別子に対応する第2識別子と入れ替えた場合、入れ替え先の前記記憶装置の仮想識別子と対応付けて、ソフトウェア故障のみが検出されたことを示す情報を設定する、
ことを特徴とする付記2に記載の情報処理装置。
(付記9)前記制御部は、
前記第3の情報および前記第4の情報からソフトウェア故障およびハードウェア故障が検出され、前記故障箇所の第2識別子を、前記故障箇所の第1識別子に対応する第2識別子と入れ替えた場合、入れ替え先の前記記憶装置の仮想識別子と対応付けて、ソフトウェア故障およびハードウェア故障が検出されたことを示す情報を設定する、
ことを特徴とする付記2に記載の情報処理装置。
(付記10)前記特定の識別子は、ソフトウェア故障およびハードウェア故障のうちハードウェア故障のみが検出されたことを示す、ことを特徴とする付記3または4に記載の情報処理装置。
(付記11)ストレージ装置の記憶装置を用いて分散ストレージを実現するストレージ制御ソフトウェアによって認識される記憶装置の仮想識別子と、前記ストレージ装置のOSによって認識される、前記ストレージ装置が有するスロットのうちの前記記憶装置が装着されたスロットの第1識別子との対応関係を示す第1の情報を取得し、
前記記憶装置の死活状態を監視する状態監視回路から、前記状態監視回路によって認識される、前記記憶装置が装着されたスロットの第2識別子と、前記記憶装置の状態との対応関係を示す第2の情報を取得し、
前記第1の情報と前記第2の情報とに基づいて、前記記憶装置の仮想識別子と第1識別子と第2識別子との対応関係を示す対応情報を生成し、
前記分散ストレージの運用中に、前記ストレージ制御ソフトウェアによって認識された記憶装置の仮想識別子と前記記憶装置が装着されたスロットの第1識別子との対応関係を示す第3の情報を取得するとともに、前記状態監視回路から前記記憶装置が装着されたスロットの第2識別子と前記記憶装置の状態との対応関係を示す第4の情報を取得し、
前記第3の情報および前記第4の情報と前記対応情報とを比較した結果に基づいて、前記対応情報における第1識別子と第2識別子との対応関係を更新する、
処理をコンピュータに実行させることを特徴とする運用監視プログラム。
101 情報処理装置
102 ストレージ装置
103 ストレージ制御ソフトウェア
104,#i OS
105 状態監視回路
110 第1の情報
120 第2の情報
130 対応情報
140 第3の情報
150 第4の情報
200 ストレージシステム
201 運用監視サーバ
202 管理者端末
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 可搬型記録媒体I/F
307 可搬型記録媒体
400 ソフトログ(初期)
500 ハードログ(初期)
600 ソフト/ハード対応テーブル
701 第1の取得部
702 第2の取得部
703 生成部
704 更新部
705 出力部
1200 故障種別テーブル
1300 メンテナンス手順対応表
1401等 ソフトログ(運用時)
1402等 ハードログ(運用時)
3300 障害発生レポート
M1~Mn,Mi 状態監視ハード
S1~Sn,Si ストレージサーバ
#i 分散ストレージソフト

Claims (7)

  1. ストレージ装置の記憶装置を用いて分散ストレージを実現するストレージ制御ソフトウェアによって認識される記憶装置の仮想識別子と、前記ストレージ装置のOSによって認識される、前記ストレージ装置が有するスロットのうちの前記記憶装置が装着されたスロットの第1識別子との対応関係を示す第1の情報を取得し、
    前記記憶装置の死活状態を監視する状態監視回路から、前記状態監視回路によって認識される、前記記憶装置が装着されたスロットの第2識別子と、前記記憶装置の状態との対応関係を示す第2の情報を取得し、
    前記第1の情報と前記第2の情報とに基づいて、前記記憶装置の仮想識別子と第1識別子と第2識別子との対応関係を示す対応情報を生成し、
    前記分散ストレージの運用中に、前記ストレージ制御ソフトウェアによって認識された記憶装置の仮想識別子と前記記憶装置が装着されたスロットの第1識別子との対応関係を示す第3の情報を取得するとともに、前記状態監視回路から前記記憶装置が装着されたスロットの第2識別子と前記記憶装置の状態との対応関係を示す第4の情報を取得し、
    前記第3の情報および前記第4の情報と前記対応情報とを比較した結果に基づいて、前記対応情報における第1識別子と第2識別子との対応関係を更新する、
    制御部を有することを特徴とする情報処理装置。
  2. 前記制御部は、
    前記対応情報において、前記第3の情報から特定される故障箇所の第1識別子と、前記第4の情報から特定される故障箇所の第2識別子とが対応していない場合、前記故障箇所の第2識別子を、前記故障箇所の第1識別子に対応する第2識別子と入れ替える、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記制御部は、
    前記第3の情報から故障箇所の第1識別子が特定されず、前記第4の情報から故障箇所の第2識別子が特定された場合、前記対応情報において、前記故障箇所の第2識別子に対応する仮想識別子に特定の識別子を付与する、
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記制御部は、
    前記故障箇所の第2識別子の記憶装置の故障が解消された後に、前記対応情報において、当該第2識別子を他の第2識別子と入れ替える場合、前記特定の識別子を、前記他の第2識別子に対応する仮想識別子に付け替える、
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記制御部は、
    前記第3の情報および前記第4の情報と前記対応情報とを比較した結果に基づいて、ハードウェア故障のみが検出された記憶装置の第1数と、ソフトウェア故障のみが検出された記憶装置の第2数と、ソフトウェア故障およびハードウェア故障が検出された記憶装置の第3数とを算出し、
    算出した前記第1数と前記第2数と前記第3数とに基づいて、前記記憶装置の単数故障であるか複数故障であるかを判断し、
    前記記憶装置の単数故障の場合に、前記対応情報における第1識別子と第2識別子との対応関係を更新する、
    ことを特徴とする請求項1~4のいずれか一つに記載の情報処理装置。
  6. 前記制御部は、
    前記記憶装置の複数故障の場合、ハードウェア故障のみが検出された記憶装置の数と、ソフトウェア故障のみが検出された記憶装置の数と、ソフトウェア故障およびハードウェア故障が検出された記憶装置の数との組み合わせと対応付けて、故障回復のためのメンテナンス手順を示す情報を参照して、算出した前記第1数と前記第2数と前記第3数との組み合わせに対応するメンテナンス手順を特定し、
    特定した前記メンテナンス手順を出力する、
    ことを特徴とする請求項5に記載の情報処理装置。
  7. ストレージ装置の記憶装置を用いて分散ストレージを実現するストレージ制御ソフトウェアによって認識される記憶装置の仮想識別子と、前記ストレージ装置のOSによって認識される、前記ストレージ装置が有するスロットのうちの前記記憶装置が装着されたスロットの第1識別子との対応関係を示す第1の情報を取得し、
    前記記憶装置の死活状態を監視する状態監視回路から、前記状態監視回路によって認識される、前記記憶装置が装着されたスロットの第2識別子と、前記記憶装置の状態との対応関係を示す第2の情報を取得し、
    前記第1の情報と前記第2の情報とに基づいて、前記記憶装置の仮想識別子と第1識別子と第2識別子との対応関係を示す対応情報を生成し、
    前記分散ストレージの運用中に、前記ストレージ制御ソフトウェアによって認識された記憶装置の仮想識別子と前記記憶装置が装着されたスロットの第1識別子との対応関係を示す第3の情報を取得するとともに、前記状態監視回路から前記記憶装置が装着されたスロットの第2識別子と前記記憶装置の状態との対応関係を示す第4の情報を取得し、
    前記第3の情報および前記第4の情報と前記対応情報とを比較した結果に基づいて、前記対応情報における第1識別子と第2識別子との対応関係を更新する、
    処理をコンピュータに実行させることを特徴とする運用監視プログラム。
JP2021105423A 2021-06-25 2021-06-25 情報処理装置および運用監視プログラム Pending JP2023003988A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021105423A JP2023003988A (ja) 2021-06-25 2021-06-25 情報処理装置および運用監視プログラム
US17/726,695 US11762727B2 (en) 2021-06-25 2022-04-22 Information processing apparatus and method of monitoring operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021105423A JP2023003988A (ja) 2021-06-25 2021-06-25 情報処理装置および運用監視プログラム

Publications (1)

Publication Number Publication Date
JP2023003988A true JP2023003988A (ja) 2023-01-17

Family

ID=84543291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021105423A Pending JP2023003988A (ja) 2021-06-25 2021-06-25 情報処理装置および運用監視プログラム

Country Status (2)

Country Link
US (1) US11762727B2 (ja)
JP (1) JP2023003988A (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4130615B2 (ja) * 2003-07-02 2008-08-06 株式会社日立製作所 ストレージ装置を有するネットワークにおける障害情報管理方法及び管理サーバ
JP2011180673A (ja) 2010-02-26 2011-09-15 Mitsubishi Electric Corp ディスク劣化診断装置
JP2013191026A (ja) 2012-03-14 2013-09-26 Omron Corp ポート異常検出装置、コンピュータ、ネットワークシステムおよびプログラム
EP2966571B1 (en) * 2013-11-22 2017-06-21 Huawei Technologies Co., Ltd. Method for migrating memory data and computer therefor

Also Published As

Publication number Publication date
US20220413955A1 (en) 2022-12-29
US11762727B2 (en) 2023-09-19

Similar Documents

Publication Publication Date Title
JP3200661B2 (ja) クライアント/サーバシステム
US7114094B2 (en) Information processing system for judging if backup at secondary site is necessary upon failover
US6308284B1 (en) Method and apparatus for maintaining data coherency
US6910098B2 (en) Method and apparatus for maintaining data coherency
JP2942079B2 (ja) 記憶システム
US8271492B2 (en) Computer for identifying cause of occurrence of event in computer system having a plurality of node apparatuses
EP1675007B1 (en) Fault management system in multistage copy configuration
EP1507206A2 (en) Storage operation management program and method and storage management computer
US7487408B2 (en) Deferring error reporting for a storage device to align with staffing levels at a service center
JP4598065B2 (ja) 監視シミュレーション装置,方法およびそのプログラム
JP6561212B2 (ja) 問合せ対応システム及び方法
US6363457B1 (en) Method and system for non-disruptive addition and deletion of logical devices
US10938623B2 (en) Computing element failure identification mechanism
JP5352027B2 (ja) 計算機システムの管理方法及び管理装置
US5625841A (en) Data processing system
JP2023003988A (ja) 情報処理装置および運用監視プログラム
JPWO2011051999A1 (ja) 情報処理装置及び情報処理装置の制御方法
CN111324516A (zh) 自动记录异常事件的方法及装置、存储介质、电子设备
JPH114223A (ja) ネットワーク管理システムおよびデータ記憶媒体
CN111460035A (zh) 一种数据库系统及其容灾方法
JP3342039B2 (ja) ファイルを管理する処理装置
EP0633528A2 (en) Maintenance of a data processing system
US9411835B1 (en) Method and system for validating data integrity
EP3547139A1 (en) System and method of assessing and managing storage device degradation
JP2023067014A (ja) 判定プログラム、判定方法、及び、情報処理装置