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

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

Info

Publication number
JP2022039508A
JP2022039508A JP2020144577A JP2020144577A JP2022039508A JP 2022039508 A JP2022039508 A JP 2022039508A JP 2020144577 A JP2020144577 A JP 2020144577A JP 2020144577 A JP2020144577 A JP 2020144577A JP 2022039508 A JP2022039508 A JP 2022039508A
Authority
JP
Japan
Prior art keywords
hdd
storage
storage device
software
failure
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.)
Withdrawn
Application number
JP2020144577A
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 JP2020144577A priority Critical patent/JP2022039508A/ja
Publication of JP2022039508A publication Critical patent/JP2022039508A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】記憶装置の故障の要因を特定可能にすること。【解決手段】運用監視サーバは、分散ストレージの運用開始にあたり、分散ストレージソフトから第1のHDD情報(初期)500を取得し、OSから第2のHDD情報(初期)600を取得する。運用監視サーバは、第1のHDD情報(初期)500と第2のHDD情報(初期)600とに基づいて、HDDに割り当てられたIDと当該HDDが装着されたSASカードスロットとの対応関係を特定する。運用監視サーバは、分散ストレージの運用時に、HDDに割り当てられたいずれかのIDが分散ストレージソフトに認識されなくなった場合、特定した対応関係に基づいて、当該IDに対応するSASカードスロットを特定する。これにより、分散ストレージソフトを利用して検出されるHDDの故障状況を、状態監視ハードにより検出されるHDDの故障状況と突き合わせて、故障要因を特定可能となる。【選択図】図7

Description

本発明は、情報処理装置および運用監視プログラムに関する。
従来、ソフトウェアを使ってストレージの機能を汎用サーバ上で実現するSDS(Software Defined Storage)と呼ばれる技術がある。SDSを利用することで、例えば、複数の汎用サーバと、そのHDD(Hard Disk Drive)を束ねて、大容量のストレージを構築することができる。
先行技術としては、各RAIDグループに対し複数の異なる障害回復処理のうちのいずれかの障害回復処理が対応付けられているポリシー管理情報を有し、RAIDグループへ発行したコマンドに対するエラーを検知した場合、ポリシー管理情報に基づいて、そのコマンドの発行先のRAIDグループに対応付けられている障害回復処理を実行するものがある。また、ベイジアンネットワークを用いることによって、故障診断システムが知らせる故障現象を診断モデルの診断トリガーとして入力させ、通常出力および局部検査結果等のメッセージを加えて診断を行い、故障診断した結果である推定異常個所の推定異常確率を出力する技術がある。
国際公開第2017/081748号 特開2008-176703号公報
しかしながら、従来技術では、SDSを利用して構築される分散ストレージシステムにおいて、HDDなどの記憶装置の故障の要因を特定することができない場合がある。
一つの側面では、本発明は、記憶装置の故障の要因を特定可能にすることを目的とする。
1つの実施態様では、ストレージ装置の記憶装置を用いて分散ストレージを実現するストレージ制御ソフトウェアから、前記ストレージ制御ソフトウェアによって前記記憶装置に割り当てられた仮想識別子と仮想デバイス名との対応関係を示す第1対応情報を取得し、前記ストレージ装置のOSから、前記記憶装置に割り当てられた仮想デバイス名と、前記ストレージ装置が有するスロットのうち前記記憶装置が装着されたスロットの識別子との対応関係を示す第2対応情報を取得し、前記第1対応情報と前記第2対応情報とに基づいて、前記記憶装置に割り当てられた仮想識別子と当該記憶装置が装着されたスロットの識別子との対応関係を特定し、前記分散ストレージの運用時に、前記記憶装置に割り当てられた仮想識別子のうちのいずれかの仮想識別子が前記ストレージ制御ソフトウェアに認識されなくなった場合、特定した前記対応関係に基づいて、当該仮想識別子に対応するスロットの識別子を特定する、制御部を有する情報処理装置が提供される。
本発明の一側面によれば、記憶装置の故障の要因を特定可能にすることができるという効果を奏する。
図1は、実施の形態にかかる情報処理装置101の一実施例を示す説明図である。 図2は、ストレージシステム200のシステム構成例を示す説明図である。 図3は、運用監視サーバ201のハードウェア構成例を示すブロック図である。 図4は、運用監視サーバ201の機能的構成例を示すブロック図である。 図5は、第1のHDD情報(初期)の具体例を示す説明図である。 図6は、第2のHDD情報(初期)の具体例を示す説明図である。 図7は、HDD識別対応リスト(マスタ)の作成例を示す説明図である。 図8は、第1のHDD情報(運用時)の具体例を示す説明図である。 図9は、第2のHDD情報(運用時)の具体例を示す説明図である。 図10は、HDD識別対応リスト(運用時)の作成例を示す説明図である。 図11は、故障状況リスト(ソフト)の作成例を示す説明図である。 図12は、故障状況リスト(ハード)の具体例を示す説明図である。 図13は、故障状況リスト(ソフト/ハード)の作成例を示す説明図である。 図14は、故障状況表示画面の画面例を示す説明図である。 図15は、運用監視サーバ201の初期設定処理手順の一例を示すフローチャートである。 図16は、運用監視サーバ201の故障検出処理手順の一例を示すフローチャートである。 図17は、故障状況リスト(ソフト)作成処理の具体的処理手順の一例を示すフローチャートである。 図18は、故障状況リスト(ソフト/ハード)作成処理の具体的処理手順の一例を示すフローチャートである。 図19は、HDDリカバリ処理の具体的処理手順の一例を示すフローチャートである。
以下に図面を参照して、本発明にかかる情報処理装置および運用監視プログラムの実施の形態を詳細に説明する。
(実施の形態)
図1は、実施の形態にかかる情報処理装置101の一実施例を示す説明図である。図1において、情報処理装置101は、分散ストレージにおける記憶装置の故障の要因を特定可能にするコンピュータである。分散ストレージは、SDSを利用して構築されるストレージシステムであり、データの分散と複製を行い、性能、可用性、信頼性などを向上させる。記憶装置は、例えば、HDD、SSD(Solid State Drive)などである。
近年、開発コストや人的コストを抑えるという観点から、分散ストレージを実現するソフトウェアとして、OSS(Open Source Software)のストレージ制御ソフトウェアが積極的に使用されている。分散ストレージを運用するにあたり、ストレージ(記憶装置)の管理が行われる。
例えば、既存の管理機能として、サーバ本体のOS(Operating System)に依存せず、専用ハードウェア(ストレージ状態監視ハード)によって、SAS(Serial Attached SCSI)カードの各スロットに接続されたHDDの死活状態を監視し、ダッシュボードに表示するものがある。この管理機能により検出される故障は、ハードウェア的(物理的)な故障である。物理的な故障が発生した場合、HDDの交換が必要となる。
一方、HDDの故障には、デフラグ失敗などによって生じるソフトウェア的(ソフト的)な故障もある。しかし、既存の管理機能では、物理的な故障とソフト的な故障とを一括して調査することができない。このため、ストレージ状態監視ハードにより物理的な故障のみを検出して、HDD交換を実施している。
ここで、分散ストレージを実現するストレージ制御ソフトウェアによってHDDの故障を検出することが考えられる。例えば、ストレージ制御ソフトウェアでは、HDDは、インストール時やリブート時に割り当てられるID(仮想識別子)とデバイス名(仮想デバイス名)によって管理される。このため、ストレージ制御ソフトウェア上で認識されなくなったIDのHDDを故障として検出することが考えられる。
しかし、HDDが認識不可となる要因としては、物理的にHDDが故障して、ソフトウェア上でも認識不可となる場合と、物理的には故障していないが、デフラグ失敗などの不具合によりソフトウェア上で認識不可となる場合とがある。このため、ストレージ制御ソフトウェア側の管理だけでは、HDD故障が、物理的な要因によるものなのか、ソフト的な要因によるものであるかを切り分けすることができない。
また、OSSとして提供されるようなストレージ制御ソフトウェアと、ストレージ状態監視ハードはそれぞれ別々に開発されたものであり、互いに連携をとることは想定されていない。このため、従来技術では、ストレージ制御ソフトウェアによる故障の検出結果と、ストレージ状態監視ハードによる故障の検出結果とを突き合わせて、故障の要因を特定するといったことができない。
例えば、ストレージ制御ソフトウェアでは、各IDに対応するHDDが、SASカードのどのスロットに装着されているのかといった情報は管理されていない。このため、分散ストレージの運用時に、ストレージ制御ソフトウェア上でIDが認識不可となった場合に、そのIDがどのスロットに装着されたHDDに対応しているのか特定できず、ストレージ状態監視ハードによる故障の検出結果と突き合わせることができない。
なお、ストレージ制御ソフトウェア上でIDが認識不可となった場合に、ストレージ状態監視ハードと連携することなく、そのIDに対応するHDDを人手により調査して、HDD交換を実施するという処置を行うことも考えられる。しかし、認識不可となったIDに対応するHDDの調査に作業負荷や作業時間がかかるという問題がある。また、デフラグ失敗などが要因の場合、ソフト的な回復措置によりHDDが復旧することがある。このため、故障発生時に一律にHDD交換を実施すると、不必要なHDD交換が発生してコストの増大を招くという問題がある。
そこで、本実施の形態では、ストレージ制御ソフトウェアを利用して検出される記憶装置の故障状況と、ストレージ状態監視ハードを利用して検出される故障状況とを突き合わせるための仕組みを構築し、記憶装置の故障の要因を特定可能にする。
(1)情報処理装置101は、ストレージ制御ソフトウェア103から、第1対応情報110を取得する。ストレージ制御ソフトウェア103は、ストレージ装置102の記憶装置Dを用いて分散ストレージを実現するソフトウェアである。ストレージ制御ソフトウェア103は、記憶装置Dを管理したり、記憶装置Dへのアクセスを制御したりする。
例えば、ストレージ制御ソフトウェア103は、Ceph(登録商標)などのOSSである。具体的には、例えば、ストレージ制御ソフトウェア103は、オブジェクト単位、ブロック単位、ファイル単位でのアクセスを可能にしたり、容量の柔軟な拡張を可能にしたりする。
第1対応情報110は、ストレージ制御ソフトウェア103によって記憶装置Dに割り当てられた仮想識別子と仮想デバイス名との対応関係を示す。仮想識別子と仮想デバイス名は、管理用の識別情報である。仮想識別子は、ストレージ制御ソフトウェア103において記憶装置Dを識別するための仮想的な識別子である。例えば、ストレージシステムがN個の記憶装置Dにより構築される場合、N個の仮想識別子が用意される。
仮想デバイス名は、ストレージ装置102のOS104上で見せる記憶装置Dの仮想的な名前である。仮想デバイス名は、ストレージ制御ソフトウェア103からOS104に通知され、OS104によって認識される。仮想識別子と仮想デバイス名は、例えば、ストレージ制御ソフトウェア103のインストール時やリブート時に各記憶装置Dに割り当てられる。
(2)情報処理装置101は、ストレージ装置102のOS104から、第2対応情報120を取得する。第2対応情報120は、記憶装置Dに割り当てられた仮想デバイス名と、ストレージ装置102が有するスロットのうち当該記憶装置Dが装着されたスロットの識別子との対応関係を示す。
スロットは、ストレージ装置102に接続する記憶装置Dを着脱可能な格納部である。スロットは、例えば、SASカードのスロットである。ストレージ制御ソフトウェア103によって割り当てられた仮想デバイス名と、当該仮想デバイス名の記憶装置Dが装着されたスロットとの紐付けはOS104により行われる。
(3)情報処理装置101は、取得した第1対応情報110と第2対応情報120とに基づいて、記憶装置Dに割り当てられた仮想識別子と当該記憶装置Dが装着されたスロットの識別子との対応関係を特定する。具体的には、例えば、情報処理装置101は、第1対応情報110と第2対応情報120に含まれる仮想デバイス名を軸として、仮想識別子と仮想デバイス名とスロットの識別子との対応関係を示す対応表130を作成する。
(4)情報処理装置101は、分散ストレージの運用時に、記憶装置Dに割り当てられた仮想識別子のうちのいずれかの仮想識別子がストレージ制御ソフトウェア103に認識されなくなった場合、特定した対応関係に基づいて、当該仮想識別子に対応するスロットの識別子を特定する。
例えば、物理的に記憶装置Dが故障したり、記憶装置Dのデフラグ(最適化)に失敗したりして、リクエストに対するレスポンスがなかったり、エラー応答があったりした場合に、その記憶装置Dに割り当てられた仮想識別子がストレージ制御ソフトウェア103に認識されなくなる。このような場合に、情報処理装置101は、ストレージ制御ソフトウェア103に認識されなくなった仮想識別子に対応するスロットの識別子を特定する。
具体的には、例えば、情報処理装置101は、作成した対応表130を参照して、ストレージ制御ソフトウェア103に認識されなくなった仮想識別子に対応するスロットの識別子を特定する。すなわち、ストレージ制御ソフトウェア103上で認識されなくなった記憶装置Dが、ストレージ装置102のどのスロットに装着されているかを特定する。
これにより、状態監視回路105と連携して、ストレージ制御ソフトウェア103を利用して検出される記憶装置Dの故障状況を、状態監視回路105により検出される記憶装置Dの故障状況と突き合わせることが可能となる。状態監視回路105は、ストレージ装置102が有する各スロットに装着された記憶装置Dの死活状態を監視する専用ハードウェアである。
具体的には、例えば、情報処理装置101は、状態監視回路105から装置状態情報140を取得する。装置状態情報140は、記憶装置Dが装着されたスロットの識別子と対応付けて、当該記憶装置Dの状態を示す。そして、情報処理装置101は、取得した装置状態情報140を参照して、特定したスロットの識別子に対応する記憶装置Dの状態に基づいて、当該記憶装置Dの故障を検出する。
すなわち、ストレージ制御ソフトウェア103上で仮想識別子が認識されなくなったときに、その仮想識別子に対応するスロットの識別子をキーとして、物理的な故障の発生状況を確認する。これにより、ストレージ制御ソフトウェア103上で仮想識別子が認識されなくなった要因が、記憶装置Dの物理的な故障なのか、記憶装置Dのソフト的な故障なのかを特定することが可能となる。
(ストレージシステム200のシステム構成例)
つぎに、実施の形態にかかるストレージシステム200のシステム構成例について説明する。以下の説明では、図1に示した情報処理装置101を、ストレージシステム200内の運用監視サーバ201に適用した場合を例に挙げて説明する。
図2は、ストレージシステム200のシステム構成例を示す説明図である。図2において、ストレージシステム200は、運用監視サーバ201と、管理者端末202と、ストレージサーバS1~Sn(n:2以上の自然数)と、状態監視ハードM1~Mnとを含む。ストレージシステム200において、運用監視サーバ201、管理者端末202、ストレージサーバS1~Sn(n:2以上の自然数)および状態監視ハード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は、上述した構成部のほかに、例えば、入力装置、ディスプレイを有する。
(運用監視サーバ201の機能的構成例)
図4は、運用監視サーバ201の機能的構成例を示すブロック図である。図4において、運用監視サーバ201は、第1の取得部401と、第2の取得部402と、第1の特定部403と、第2の特定部404と、第3の取得部405と、検出部406と、出力部407と、復旧部408と、を含む。第1の取得部401~復旧部408は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
第1の取得部401は、ストレージサーバSiのHDD$を用いて分散ストレージを実現する分散ストレージソフト#iから、第1のHDD情報(初期)を取得する。第1のHDD情報(初期)は、分散ストレージソフト#iによってHDD$に割り当てられた仮想識別子と仮想デバイス名との対応関係を示す。
仮想識別子は、分散ストレージソフト#iにおいてHDD$を識別するための仮想的な識別子である。仮想デバイス名は、ストレージサーバSiのOS#i上で見せるHDD$の仮想的な名前である。仮想デバイス名は、分散ストレージソフト#iからOS#iに通知され、OS#iによって認識される。
以下の説明では、HDD$の仮想識別子を「ID」と表記し、HDD$の仮想デバイス名を「デバイス名」と表記する場合がある。図1に示した第1対応情報110は、例えば、第1のHDD情報(初期)に相当する。
分散ストレージソフト#iにおいて、HDD$のIDは、例えば、HDD_IDリストをもとに割り当てられる。HDD_IDリストは、ストレージシステム200内のHDD$に割り当てられるIDをリスト化した情報である。例えば、ストレージシステム200に100個のHDD$が含まれる場合、HDD_リストには、1~100のIDが記憶されている。また、分散ストレージソフト#i上でIDが認識されない場合、そのIDのHDD$にはデバイス名は割り当てられない。
具体的には、例えば、第1の取得部401は、分散ストレージの運用を開始する前に、「ceph-volume lvm list」などのコマンドを実行することで、分散ストレージソフト#iから第1のHDD情報(初期)を取得する。ここで、第1のHDD情報(初期)の具体例について説明する。
図5は、第1のHDD情報(初期)の具体例を示す説明図である。図5において、第1のHDD情報(初期)500は、分散ストレージソフト#iによってHDD$に割り当てられたIDとデバイス名との対応関係を示す。例えば、ID「1」に対応するデバイス名は「/dev/sda」である。
第2の取得部402は、ストレージサーバSiのOS#iから、第2のHDD情報(初期)を取得する。第2のHDD情報(初期)は、HDD$に割り当てられたデバイス名と、ストレージサーバSiが有するスロットのうちHDD$が装着されたスロットの識別子との対応関係を示す。
スロットは、ストレージサーバSiに接続するHDD$を着脱可能な格納部である。スロットは、例えば、SASカードのスロットである。分散ストレージソフト#iによって割り当てられたデバイス名と、当該デバイス名のHDD$が装着されたスロットとの紐付けはOS#iにより行われる。スロットの識別子は、例えば、SASカードのスロット番号である。
以下の説明では、HDD$を着脱可能なスロットを「SASカードスロット」と表記する場合がある。また、HDD$を着脱可能なスロットの識別子を、「SASカードのスロット番号」、あるいは、単に「SASカードスロット」と表記する場合がある。図2に示した第2対応情報120は、例えば、第2のHDD情報(初期)に相当する。
具体的には、例えば、第2の取得部402は、分散ストレージの運用を開始する前に、「ls -l /dev/disk/by-path」などのコマンドを実行することで、OS#iから第2のHDD情報(初期)を取得する。ここで、第2のHDD情報(初期)の具体例について説明する。
図6は、第2のHDD情報(初期)の具体例を示す説明図である。図6において、第2のHDD情報(初期)600は、HDD$に割り当てられたデバイス名と、HDD$が装着されたSASカードスロット(SASカードのスロット番号)との対応関係を示す。例えば、デバイス名「/dev/sda」に対応するSASカードスロットは「pci-xx-scsi-0:2:0:0」である。
第1の特定部403は、取得された第1のHDD情報(初期)と第2のHDD情報(初期)とに基づいて、HDD$に割り当てられたIDと当該HDD$が装着されたSASカードのスロット番号との対応関係を特定する。具体的には、例えば、第1の特定部403は、第1のHDD情報(初期)と第2のHDD情報(初期)に含まれるデバイス名を軸として、IDとSASカードスロットとの対応関係を特定する。
そして、第1の特定部403は、デバイス名を介して、特定したIDとSASカードスロットとを対応付けることにより、HDD識別対応リスト(マスタ)を作成する。HDD識別対応リスト(マスタ)は、分散ストレージの運用を開始する際の初期状態のIDとデバイス名とSASカードスロットとの対応関係を示す。ここで、HDD識別対応リスト(マスタ)の作成例について説明する。
図7は、HDD識別対応リスト(マスタ)の作成例を示す説明図である。図7において、HDD識別対応リスト(マスタ)700は、第1のHDD情報(初期)500と第2のHDD情報(初期)600とから作成される、IDとデバイス名とSASカードスロットとの対応関係を示す。
具体的には、例えば、第1の特定部403は、第1のHDD情報(初期)500と第2のHDD情報(初期)600に含まれるデバイス名を軸として、IDとSASカードスロットとの対応関係を特定する。例えば、デバイス名「/dev/sda」を軸として、ID「1」とSASカードスロット「pci-xx-scsi-0:2:0:0」との対応関係が特定される。
そして、第1の特定部403は、デバイス名を介して、特定したIDとSASカードスロットとを対応付けることにより、HDD識別対応リスト(マスタ)700を作成する。HDD識別対応リスト(マスタ)700によれば、分散ストレージソフト#iによってHDD$に割り当てられたIDと、HDD$が装着されたSASカードスロットとの対応関係を特定することができる。
また、第1の取得部401は、分散ストレージの運用時に、分散ストレージソフト#iから第1のHDD情報(運用時)を取得する。第1のHDD情報(運用時)は、HDD$に割り当てられたIDのうち、分散ストレージソフト#iが認識しているIDとデバイス名との対応関係を示す。
なお、分散ストレージソフト#i上で認識されないIDが存在する場合、例えば、そのIDを除く他のIDのHDD$に対して、デバイス名の再割り当てが行われる。この場合、分散ストレージソフト#i上で認識されないIDに対応するデバイス名は割り当てられず、「No data」となる。
再割り当てされたデバイス名は、分散ストレージソフト#iからOS#iに通知され、OS#iによって認識される。この際、再割り当て前のデバイス名と対応付けて、再割り当て後のデバイス名が通知される。これにより、OS#iは、再割り当てされたデバイス名を認識することができる。
具体的には、例えば、第1の取得部401は、分散ストレージの運用時に、管理者端末202(図2参照)からの指示に応じて、「ceph-volume lvm list」などのコマンドを実行することで、分散ストレージソフト#iから第1のHDD情報(運用時)を取得する。ここで、第1のHDD情報(運用時)の具体例について説明する。
図8は、第1のHDD情報(運用時)の具体例を示す説明図である。図8において、第1のHDD情報(運用時)800は、HDD$に割り当てられたIDのうち、分散ストレージソフト#iが認識しているIDとデバイス名との対応関係を示す。
例えば、分散ストレージソフト#上でID「3,5」が認識されなくなったため、ID「3,5」に対応するデバイス名が割り当てられず、「No data」となる。また、ID「3,5」を除く他のIDのHDD$に対して、デバイス名の再割り当てが行われている。この結果、例えば、ID「4」に対応するデバイス名が、「/dev/sdd」から「/dev/sdc」に変更されている。
また、第2の取得部402は、分散ストレージの運用時に、ストレージサーバSiのOS#iから、第2のHDD情報(運用時)を取得する。第2のHDD情報(運用時)は、HDD$に割り当てられOS#iが認識しているデバイス名と、HDD$が装着されたSASカードスロットとの対応関係を示す。
具体的には、例えば、第2の取得部402は、分散ストレージの運用時に、管理者端末202からの指示に応じて、「ls -l /dev/disk/by-path」などのコマンドを実行することで、OS#iから第2のHDD情報(運用時)を取得する。ここで、第2のHDD情報(運用時)の具体例について説明する。
図9は、第2のHDD情報(運用時)の具体例を示す説明図である。図9において、第2のHDD情報(運用時)900は、HDD$に割り当てられたデバイス名と、HDD$が装着されたSASカードスロット(SASカードのスロット番号)との対応関係を示す。例えば、デバイス名「/dev/sdc」に対応するSASカードスロットは「pci-xx-scsi-0:2:3:0」である。
第2の特定部404は、分散ストレージの運用時に、HDD$に割り当てられたIDのうちのいずれかのIDが分散ストレージソフト#iに認識されなくなった場合、特定されたIDとSASカードスロットとの対応関係に基づいて、当該IDに対応するSASカードスロットを特定する。
具体的には、例えば、第2の特定部404は、取得された第1のHDD情報(運用時)に基づいて、分散ストレージソフト#iに認識されなくなったIDを特定する。そして、第2の特定部404は、特定されたIDとSASカードスロットとの対応関係に基づいて、特定したIDに対応するSASカードスロットを特定する。
より詳細に説明すると、例えば、第2の特定部404は、第1のHDD情報(運用時)と第2のHDD情報(運用時)に含まれるデバイス名を軸として、IDとSASカードスロットとの対応関係を特定する。そして、第2の特定部404は、デバイス名を介して、特定したIDとSASカードスロットとを対応付けることにより、HDD識別対応リスト(運用時)を作成する。
HDD識別対応リスト(運用時)は、分散ストレージの運用時におけるIDとデバイス名とSASカードスロットとの対応関係を示す。ここで、HDD識別対応リスト(運用時)の作成例について説明する。
図10は、HDD識別対応リスト(運用時)の作成例を示す説明図である。図10において、HDD識別対応リスト(運用時)1000は、第1のHDD情報(運用時)800と第2のHDD情報(運用時)900とから作成される、IDとデバイス名とSASカードスロットとの対応関係を示す。
具体的には、例えば、第2の特定部404は、第1のHDD情報(運用時)800と第2のHDD情報(運用時)900に含まれるデバイス名を軸として、IDとSASカードスロットとの対応関係を特定する。例えば、デバイス名「/dev/sdc」を軸として、ID「4」とSASカードスロット「pci-xx-scsi-0:2:3:0」との対応関係が特定される。
そして、第2の特定部404は、デバイス名を介して、特定したIDとSASカードスロットとを対応付けることにより、HDD識別対応リスト(運用時)1000を作成する。HDD識別対応リスト(運用時)1000によれば、分散ストレージ(ストレージシステム200)の運用時に、分散ストレージソフト#iによって認識されているIDと、SASカードスロットとの対応関係を特定することができる。
つぎに、第2の特定部404は、HDD識別対応リスト(マスタ)700とHDD識別対応リスト(運用時)1000とを比較した結果に基づいて、故障状況リスト(ソフト)を作成する。故障状況リスト(ソフト)は、ID、デバイス名およびSASカードスロットと対応付けて、HDD$の故障状況を示す情報である。
ここで、故障状況リスト(ソフト)の作成例について説明する。
図11は、故障状況リスト(ソフト)の作成例を示す説明図である。図11において、第2の特定部404は、HDD識別対応リスト(マスタ)700とHDD識別対応リスト(運用時)1000とを比較して、差分となるIDを特定する。ここで特定されるIDは、分散ストレージソフト#iに認識されなくなったIDに相当する。
分散ストレージソフト#iが認識しないIDは、HDD$が物理的またはソフト的に故障しているため認識不可となっているIDである。このため、第2の特定部404は、このIDに対応する状態(故障状況)を「dead」に設定する。状態「dead」は、HDD$が故障していることを示す。
また、第2の特定部404は、HDD識別対応リスト(マスタ)700を参照して、特定したIDに対応するSASカードスロットを特定する。そして、第2の特定部404は、特定したIDとSASカードスロットと対応付けて、デバイス名「No data」および状態「dead」を故障状況リスト(ソフト)1100に記録する。
また、HDD識別対応リスト(マスタ)700とHDD識別対応リスト(運用時)1000とに共通するIDは、運用時も認識されているIDに相当する。このため、第2の特定部404は、このIDに対応する状態(故障状況)を「alive」に設定する。状態「alive」は、HDD$が故障していないことを示す。
また、第2の特定部404は、HDD識別対応リスト(マスタ)700を参照して、特定したIDに対応するデバイス名およびSASカードスロットを特定する。そして、第2の特定部404は、IDとデバイス名とSASカードスロットとを対応付けて、状態「alive」を故障状況リスト(ソフト)1100に記録する。
これにより、ID、デバイス名およびSASカードスロットと対応付けて、HDD$の故障状況を示す故障状況リスト(ソフト)1100が作成される。故障状況リスト(ソフト)1100によれば、分散ストレージソフト#iに認識されなくなったIDに対応するSASカードスロットを特定することができる。
第3の取得部405は、状態監視ハードMiから、故障状況リスト(ハード)を取得する。状態監視ハードMiは、SASカードの各スロットに装着されたHDD$の死活状態を監視する。故障状況リスト(ハード)は、HDD$が装着されたSASカードのスロット番号(SASカードスロット)と対応付けて、HDD$の状態を示す装置状態情報である。
具体的には、例えば、第3の取得部405は、状態監視ハードMiのデータベース(不図示)にアクセスして、故障状況リスト(ハード)を取得する。データベースには、例えば、ストレージサーバSiのCPU、メモリ、HDD$などの状態を示す情報が記憶されている。ここで、故障状況リスト(ハード)の具体例について説明する。
図12は、故障状況リスト(ハード)の具体例を示す説明図である。図12において、故障状況リスト(ハード)1200は、SASカードスロットと状態とを対応付けて示す。SASカードスロットは、HDD$が装着されたSASカードのスロット番号を示す。状態は、SASカードのスロットに装着されたHDD$の状態を示す。
状態「alive」は、HDD$が正常な状態、すなわち、HDD$が物理的に故障していないことを示す。状態「dead」は、HDD$が異常な状態、すなわち、HDD$が物理的に故障していることを示す。故障状況リスト(ハード)1200によれば、例えば、SASカードスロット「pci-xx-scsi-0:2:2:0」に装着されたHDD$が物理的に故障していることがわかる。
検出部406は、取得された故障状況リスト(ハード)を参照して、特定されたSASカードスロット(SASカードのスロット番号)に対応するHDD$の状態に基づいて、当該HDD$の故障を検出する。
具体的には、例えば、検出部406は、特定されたSASカードスロットに対応するHDD$の状態が正常の場合、当該HDD$のソフトウェア的な故障を検出する。一方、検出部406は、特定されたSASカードスロットに対応するHDD$の状態が正常ではない場合、当該HDD$のハードウェア的な故障を検出する。
より詳細に説明すると、例えば、検出部406は、故障状況リスト(ソフト)と故障状況リスト(ハード)とを比較した結果に基づいて、故障状況リスト(ソフト/ハード)を作成する。故障状況リスト(ソフト/ハード)は、ID、デバイス名およびSASカードスロットと対応付けて、HDD$のソフトウェア的および/またはハードウェア的な故障状況を示す情報である。
ここで、故障状況リスト(ソフト/ハード)の作成例について説明する。
図13は、故障状況リスト(ソフト/ハード)の作成例を示す説明図である。図13において、検出部406は、故障状況リスト(ソフト)1100と故障状況リスト(ハード)1200とを、SASカードスロットを軸に比較する。つぎに、検出部406は、比較した結果に基づいて、故障状況フラグを生成する。
ここで、故障状況フラグ(図13中、「フラグ」)は、HDD$の故障状況をソフト/ハードの順に2ビットのフラグで表現したものである。「1」は、故障が認識されていないことを示す(OK)。「0」は、故障が認識されていることを示す(NG)。故障状況フラグ「11」は、ソフトウェア的な故障とハードウェア的な故障のいずれの故障も認識されていないことを示す。
故障状況フラグ「10」は、ハードウェア的な故障のみが認識されていることを示す。故障状況フラグ「01」は、ソフトウェア的な故障のみが認識されていることを示す。故障状況フラグ「00」は、ソフトウェア的な故障およびハードウェア的な故障の両方が認識されていることを示す。
そして、検出部406は、ID、デバイス名、SASカードスロットと対応付けて、生成した故障状況フラグを示す故障状況リスト(ソフト/ハード)1300を作成する。故障状況リスト(ソフト/ハード)1300によれば、HDD$のソフトウェア的および/またはハードウェア的な故障状況を特定することができる。
例えば、SASカードスロット「pci-xx-scsi-0:2:2:0」に装着されたHDD$について、ソフトウェア的な故障およびハードウェア的な故障の両方が認識されていることがわかる。SASカードスロット「pci-xx-scsi-0:2:4:0」に装着されたHDD$について、ソフトウェア的な故障のみが認識されていることがわかる。SASカードスロット「pci-xx-scsi-0:2:8:0」に装着されたHDD$について、ハードウェア的な故障のみが認識されていることがわかる。
なお、サーバS1~Snそれぞれについて、故障状況リスト(ソフト)が作成されている場合、検出部406は、サーバS1~Snそれぞれの故障状況リスト(ソフト)をまとめて、全サーバS1~Snの故障状況リスト(ソフト)を作成することにしてもよい。そして、検出部406は、全サーバS1~Snの故障状況リスト(ソフト)と故障状況リスト(ハード)とを比較した結果に基づいて、故障状況リスト(ソフト/ハード)を作成することにしてもよい。
出力部407は、検出されたHDD$の故障の検出結果を出力する。具体的には、例えば、出力部407は、特定されたSASカードスロットと対応付けて、検出されたHDD$の故障の検出結果を出力する。出力部407の出力形式としては、例えば、メモリ302、ディスク304などの記憶装置への記憶、通信I/F305による他のコンピュータへの送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
より詳細に説明すると、例えば、出力部407は、管理者端末202に故障状況表示画面を表示することにしてもよい。ここで、故障状況表示画面は、SASカードスロットと対応付けて、HDD$の故障状況を可視化して示す画面である。故障状況表示画面の画面例については、図14を用いて後述する。
復旧部408は、検出されたHDD$の故障の検出結果に基づいて、HDD$のリカバリ処理を実行する。具体的には、例えば、復旧部408は、所定の処置ポリシーに従って、検出されたHDD$の故障の検出結果に基づいて、HDD$のリカバリ処理を実行する。
より詳細に説明すると、例えば、復旧部408は、故障状況リスト(ソフト/ハード)を参照して、故障状況フラグ「01」のHDD$について、ストレージサーバSiに対して、HDD$のIDやSASカードスロットを指定して、ソフト的なHDD回復措置を指示する。ソフト的なHDD回復措置は、例えば、HDD$の再デフラグやフォーマットなどである。これにより、ソフト的に故障しているHDD$について、再デフラグやフォーマットを実施して復旧を試みることができる。
また、復旧部408は、故障状況リスト(ソフト/ハード)を参照して、故障状況フラグが「10」または「00」のHDD$について、管理者端末202に対して、HDD$のSASカードスロットを指定して、HDD交換を指示する。これにより、物理的に故障しているHDD$について、SASカードスロットを指定して、管理者に交換を指示することができる。
(故障状況表示画面の画面例)
つぎに、図14を用いて、故障状況表示画面の画面例について説明する。故障状況表示画面は、例えば、図2に示した管理者端末202に表示される。
図14は、故障状況表示画面の画面例を示す説明図である。図14において、故障状況表示画面1400は、HDD ID、デバイス名、SASカードスロットと対応付けて、故障認識状況および処置を示す画面である。HDD IDおよびデバイス名は、分散ストレージソフト#iによってHDD$に割り当てられたIDおよびデバイス名である。
SASカードスロットは、HDD$が装着されたSASカードのスロット番号である。故障認識状況は、HDD$のソフト/ハードの故障状況を示す。○は、故障が認識されていないことを示す。●は、故障が認識されていることを示す。処置は、HDD$に対して実施を推奨する処置内容を示す。
故障状況表示画面1400によれば、HDD故障の物理的な要因とソフト的な要因とを切り分けて、HDD処置ポリシーとともに一括表示することができる。これにより、管理者は、HDD$の故障状況を直感的に確認することができる。例えば、管理者は、HDD ID「1,2,4,6~8,10」のHDD$について、ソフトウェア的な故障とハードウェア的な故障のいずれの故障も認識されていないことを把握することができる。
また、管理者は、HDD ID「3」のHDD$について、ソフトウェア的な故障およびハードウェア的な故障の両方が認識されており、HDD交換を実施すべきであることを把握することができる。また、SASカードスロット「pci-xx-scsi-0:2:2:0」から、交換すべきHDD$の物理的な取り付け位置を特定することができる。
また、管理者は、HDD ID「5」のHDD$について、ソフトウェア的な故障が認識されており、ソフト的な回復措置を実施すべきであることを把握することができる。また、管理者は、HDD ID「9」のHDD$について、ハードウェア的な故障が認識されており、HDD交換を実施すべきであることを把握することができる。また、SASカードスロット「pci-xx-scsi-0:2:8:0」から、交換すべきHDD$の物理的な取り付け位置を特定することができる。
なお、故障状況表示画面1400には、例えば、ソフト的なHDD回復措置の実行指示を受け付けるボタンが含まれていてもよい。このボタンを選択すると、例えば、HDD ID「5」のHDD$についてのソフト的なHDD回復措置の実行をストレージサーバSiに指示することができる。
また、故障状況表示画面1400には、例えば、HDD交換の実行指示を受け付けるボタンが含まれていてもよい。このボタンを選択すると、例えば、HDD ID「3,9」のHDD$について、予め設定された宛先にHDD交換指示を通知することができる。HDD交換指示には、例えば、交換対象のHDDが装着されたSASカードのスロット番号が含まれる。宛先としては、例えば、HDD交換を行う作業員のアドレスが設定される。
(運用監視サーバ201の運用監視処理手順)
つぎに、運用監視サーバ201の運用監視処理手順について説明する。まず、図15を用いて、運用監視サーバ201の初期設定処理手順について説明する。初期設定処理は、例えば、ストレージシステム200(分散ストレージ)の運用を開始する前に、ストレージサーバS1~Snに含まれるストレージサーバSiごとに実行される。
図15は、運用監視サーバ201の初期設定処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、運用監視サーバ201は、管理者端末202から、ストレージサーバSiのブート指示を受け付けたか否かを判断する(ステップS1501)。
ここで、運用監視サーバ201は、ストレージサーバSiのブート指示を受け付けるのを待つ(ステップS1501:No)。運用監視サーバ201は、ストレージサーバSiのブート指示を受け付けた場合(ステップS1501:Yes)、ブートコマンドを実行して、ストレージサーバSiをブートする(ステップS1502)。
ストレージサーバSiがブートされると、状態監視ハードMiによるストレージサーバSiのHDD$等の状態監視が開始される。
つぎに、運用監視サーバ201は、管理者端末202から、ストレージサーバSiへの分散ストレージソフト#iのインストール指示を受け付けたか否かを判断する(ステップS1503)。ここで、運用監視サーバ201は、分散ストレージソフト#iのインストール指示を受け付けるのを待つ(ステップS1503:No)。
運用監視サーバ201は、分散ストレージソフト#iのインストール指示を受け付けた場合(ステップS1503:Yes)、インストールコマンドを実行して、ストレージサーバSiに分散ストレージソフト#iをインストールする(ステップS1504)。
つぎに、運用監視サーバ201は、管理者端末202から、ストレージサーバSiのリスト(マスタ)作成指示を受け付けたか否かを判断する(ステップS1505)。ここで、運用監視サーバ201は、ストレージサーバSiのリスト(マスタ)作成指示を受け付けるのを待つ(ステップS1505:No)。
運用監視サーバ201は、ストレージサーバSiのリスト(マスタ)作成指示を受け付けた場合(ステップS1505:Yes)、分散ストレージソフト#iから第1のHDD情報(初期)を取得する(ステップS1506)。つぎに、運用監視サーバ201は、ストレージサーバSiのOS#iから、第2のHDD情報(初期)を取得する(ステップS1507)。
なお、ステップS1506,1507の処理は、実行順序が逆であってもよいし、並列に実行されてもよい。
つぎに、運用監視サーバ201は、取得した第1のHDD情報(初期)と第2のHDD情報(初期)とに基づいて、デバイス名を軸として、IDとSASカードスロットとの対応関係を特定する(ステップS1508)。そして、運用監視サーバ201は、デバイス名を介して、特定したIDとSASカードスロットとを対応付けることにより、HDD識別対応リスト(マスタ)を作成して(ステップS1509)、本フローチャートによる一連の処理を終了する。
これにより、分散ストレージソフト#iによってHDD$に割り当てられたIDと、HDD$が装着されたSASカードスロットとの対応関係を示すHDD識別対応リスト(マスタ)を作成することができる。
つぎに、図16を用いて、運用監視サーバ201の故障検出処理手順について説明する。故障検出処理は、例えば、ストレージシステム200(分散ストレージ)の運用を開始した後に、定期的(例えば、1日ごと、1週間ごと)に実行される。
図16は、運用監視サーバ201の故障検出処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、運用監視サーバ201は、管理者端末202から、ストレージサーバSiのリスト(運用時)作成指示を受け付けたか否かを判断する(ステップS1601)。
ここで、運用監視サーバ201は、ストレージサーバSiのリスト(運用時)作成指示を受け付けるのを待つ(ステップS1601:No)。運用監視サーバ201は、ストレージサーバSiのリスト(運用時)作成指示を受け付けた場合(ステップS1601:Yes)、分散ストレージソフト#iから第1のHDD情報(運用時)を取得する(ステップS1602)。
つぎに、運用監視サーバ201は、ストレージサーバSiのOS#iから、第2のHDD情報(運用時)を取得する(ステップS1603)。なお、ステップS1602,1603の処理は、実行順序が逆であってもよいし、並列に実行されてもよい。
そして、運用監視サーバ201は、取得した第1のHDD情報(運用時)と第2のHDD情報(運用時)とに基づいて、デバイス名を軸として、IDとSASカードスロットとの対応関係を特定する(ステップS1604)。つぎに、運用監視サーバ201は、デバイス名を介して、特定したIDとSASカードスロットとを対応付けることにより、HDD識別対応リスト(運用時)を作成する(ステップS1605)。
つぎに、運用監視サーバ201は、ステップS1509において作成したHDD識別対応リスト(マスタ)と、ステップS1605において作成したHDD識別対応リスト(運用時)とに基づいて、故障状況リスト(ソフト)作成処理を実行する(ステップS1606)。故障状況リスト(ソフト)作成処理の具体的な処理手順については、図17を用いて後述する。
そして、運用監視サーバ201は、状態監視ハードMiから、故障状況リスト(ハード)を取得する(ステップS1607)。つぎに、運用監視サーバ201は、作成した故障状況リスト(ソフト)と、取得した故障状況リスト(ハード)とに基づいて、故障状況リスト(ソフト/ハード)作成処理を実行する(ステップS1608)。
そして、運用監視サーバ201は、作成した故障状況リスト(ソフト/ハード)に基づいて、HDDリカバリ処理を実行して(ステップS1609)、本フローチャートによる一連の処理を終了する。これにより、ストレージサーバSiのSASカードスロットに装着された各HDD$のソフトウェア的および/またはハードウェア的な故障を検出することができる。
なお、ステップS1601~S1608の処理は、例えば、ストレージサーバS1~Snに含まれるストレージサーバSiごとに実行される。この場合、ステップS1609では、ストレージサーバSiごとにリカバリ処理が実行される。また、ステップS1609において、運用監視サーバ201は、作成した故障状況リスト(ソフト/ハード)に基づいて、故障状況表示画面(例えば、図14参照)を表示することにしてもよい。
つぎに、図17を用いて、図16に示したステップS1606の故障状況リスト(ソフト)作成処理の具体的な処理手順について説明する。
図17は、故障状況リスト(ソフト)作成処理の具体的処理手順の一例を示すフローチャートである。図17のフローチャートにおいて、まず、運用監視サーバ201は、HDD識別対応リスト(マスタ)に含まれるIDのうち選択されていない未選択のIDを選択する(ステップS1701)。
つぎに、運用監視サーバ201は、選択したIDがHDD識別対応リスト(運用時)に含まれるか否かを判断する(ステップS1702)。ここで、HDD識別対応リスト(運用時)に含まれる場合(ステップS1702:Yes)、運用監視サーバ201は、選択したIDに対応する状態を「alive(正常)」に設定する(ステップS1703)。
つぎに、運用監視サーバ201は、HDD識別対応リスト(マスタ)を参照して、選択したIDに対応するデバイス名およびSASカードスロットを特定する(ステップS1704)。そして、運用監視サーバ201は、選択したIDと、特定したデバイス名とSASカードスロットとを対応付けて、設定した状態「alive」を故障状況リスト(ソフト)に記録して(ステップS1705)、ステップS1709に移行する。
また、ステップS1702において、HDD識別対応リスト(運用時)に含まれない場合(ステップS1702:No)、運用監視サーバ201は、選択したIDに対応する状態を「dead(異常)」に設定する(ステップS1706)。
つぎに、運用監視サーバ201は、HDD識別対応リスト(マスタ)を参照して、選択したIDに対応するSASカードスロットを特定する(ステップS1707)。そして、運用監視サーバ201は、選択したIDと、デバイス名「No data」と、特定したSASカードスロットとを対応付けて、設定した状態「dead」を故障状況リスト(ソフト)に記録する(ステップS1708)。
つぎに、運用監視サーバ201は、HDD識別対応リスト(マスタ)に含まれるIDのうち選択されていない未選択のIDがあるか否かを判断する(ステップS1709)。ここで、未選択のIDがある場合(ステップS1709:Yes)、運用監視サーバ201は、ステップS1701に戻る。
一方、未選択のIDがない場合(ステップS1709:No)、運用監視サーバ201は、故障状況リスト(ソフト)作成処理を呼び出したステップに戻る。これにより、ID、デバイス名およびSASカードスロットと対応付けて、HDD$の故障状況を示す故障状況リスト(ソフト)1100を作成することができる。
つぎに、図18を用いて、図16に示したステップS1608の故障状況リスト(ソフト/ハード)作成処理の具体的な処理手順について説明する。
図18は、故障状況リスト(ソフト/ハード)作成処理の具体的処理手順の一例を示すフローチャートである。図18のフローチャートにおいて、まず、運用監視サーバ201は、故障状況リスト(ソフト)から選択されていない未選択のIDを選択する(ステップS1801)。
つぎに、運用監視サーバ201は、故障状況リスト(ソフト)を参照して、選択したIDに対応するデバイス名、SASカードスロットおよび状態を特定する(ステップS1802)。そして、運用監視サーバ201は、ステップS1607において取得した故障状況リスト(ハード)を参照して、特定したSASカードスロットに対応する状態を特定する(ステップS1803)。
つぎに、運用監視サーバ201は、特定したIDに対応する状態と、特定したSASカードスロットに対応する状態とに基づいて、故障状況フラグを生成する(ステップS1804)。そして、運用監視サーバ201は、ID、デバイス名、SASカードスロットと対応付けて、生成した故障状況フラグを故障状況リスト(ソフト/ハード)に記録する(ステップS1805)。
つぎに、運用監視サーバ201は、故障状況リスト(ソフト)から選択されていない未選択のIDがあるか否かを判断する(ステップS1806)。ここで、未選択のIDがある場合(ステップS1806:Yes)、運用監視サーバ201は、ステップS1801に戻る。
一方、未選択のIDがない場合(ステップS1806:No)、運用監視サーバ201は、故障状況リスト(ソフト/ハード)作成処理を呼び出したステップに戻る。これにより、ID、デバイス名およびSASカードスロットと対応付けて、HDD$のソフトウェア的および/またはハードウェア的な故障状況を示す故障状況リスト(ソフト/ハード)を作成することができる。
つぎに、図19を用いて、図16に示したステップS1609のHDDリカバリ処理の具体的な処理手順について説明する。
図19は、HDDリカバリ処理の具体的処理手順の一例を示すフローチャートである。図19のフローチャートにおいて、まず、運用監視サーバ201は、ステップS1608において作成した故障状況リスト(ソフト/ハード)から選択されていない未選択のIDを選択する(ステップS1901)。
つぎに、運用監視サーバ201は、故障状況リスト(ソフト/ハード)を参照して、選択したIDに対応する故障状況フラグを特定する(ステップS1902)。そして、運用監視サーバ201は、特定した故障状況フラグが「11」であるか否かを判断する(ステップS1903)。
ここで、故障状況フラグが「11」の場合(ステップS1903:Yes)、運用監視サーバ201は、ステップS1908に移行する。一方、故障状況フラグが「11」ではない場合(ステップS1903:No)、運用監視サーバ201は、特定した故障状況フラグが「01」であるか否かを判断する(ステップS1904)。
ここで、故障状況フラグが「01」ではない場合(ステップS1904:No)、運用監視サーバ201は、ステップS1907に移行する。一方、故障状況フラグが「01」の場合(ステップS1904:Yes)、運用監視サーバ201は、ストレージサーバSiに対して、ソフト的なHDD回復措置を指示する(ステップS1905)。ソフト的なHDD回復措置の指示は、例えば、選択されたID、当該IDに対応するSASカードスロットを指定して行われる。
つぎに、運用監視サーバ201は、選択したIDに対応するHDD$が分散ストレージソフト#iによって認識されたか否かを判断する(ステップS1906)。ここで、HDD$が認識された場合(ステップS1906:Yes)、運用監視サーバ201は、ステップS1908に移行する。
一方、HDD$が認識されなかった場合(ステップS1906:No)、運用監視サーバ201は、管理者端末202に対して、HDD交換を指示する(ステップS1907)。HDD交換の指示は、例えば、選択されたIDに対応するSASカードスロットを指定して行われる。
つぎに、運用監視サーバ201は、故障状況リスト(ソフト/ハード)から選択されていない未選択のIDがあるか否かを判断する(ステップS1908)。ここで、未選択のIDがある場合(ステップS1908:Yes)、運用監視サーバ201は、ステップS1901に戻る。
一方、未選択のIDがない場合(ステップS1908:No)、運用監視サーバ201は、HDDリカバリ処理を呼び出したステップに戻る。これにより、ソフト的に故障しているHDD$について、再デフラグやフォーマットを実施して復旧を試みることができる。また、物理的に故障しているHDD$について、SASカードスロットを指定して、管理者に交換を指示することができる。
以上説明したように、実施の形態にかかる運用監視サーバ201によれば、分散ストレージの運用を開始する前に、分散ストレージソフト#iから第1のHDD情報(初期)を取得し、OS#iから第2のHDD情報(初期)を取得することができる。第1のHDD情報(初期)は、分散ストレージソフト#iによってHDD$に割り当てられたIDとデバイス名との対応関係を示す。第2のHDD情報(初期)は、HDD$に割り当てられたデバイス名と、HDD$が装着されたSASカードスロットとの対応関係を示す。そして、運用監視サーバ201によれば、第1のHDD情報(初期)と第2のHDD情報(初期)とに基づいて、HDD$に割り当てられたIDと当該HDD$が装着されたSASカードスロットとの対応関係を特定することができる。
これにより、分散ストレージソフト#iによってHDD$に割り当てられたIDから、このHDD$が装着されたSASカードスロットを特定することが可能となる。
また、運用監視サーバ201によれば、分散ストレージの運用時に、HDD$に割り当てられたIDのうちのいずれかのIDが分散ストレージソフト#iに認識されなくなった場合、特定した対応関係に基づいて、当該IDに対応するSASカードスロットを特定することができる。
これにより、分散ストレージの運用時に分散ストレージソフト#i上で認識されなくなったHDD$が、ストレージサーバSiのどのスロットに装着されているHDDであるかを特定することができる。
また、運用監視サーバ201によれば、ストレージサーバSiが有するSASカードの各スロットに装着されたHDD$の死活状態を監視する状態監視ハードMiから、故障状況リスト(ハード)を取得することができる。故障状況リスト(ハード)は、HDD$が装着されたSASカードのスロット番号(SASカードスロット)と対応付けて、HDD$の状態を示す。
これにより、状態監視ハードMiと連携して、SASカードのスロット番号(SASカードスロット)から、このSASカードスロットに装着されたHDD$の物理的な故障状況を特定することができる。
また、運用監視サーバ201によれば、取得した故障状況リスト(ハード)を参照して、特定したSASカードスロットに対応するHDD$の状態に基づいて、当該HDD$の故障を検出することができる。
これにより、分散ストレージの運用時に分散ストレージソフト#i上で認識されなくなったHDD$の故障要因を特定することができる。
また、運用監視サーバ201によれば、特定したSASカードスロットに対応するHDD$の状態が正常(alive)の場合、当該HDD$のソフトウェア的な故障を検出することができる。
これにより、分散ストレージソフト#i上で認識されなくなった要因が、デフラグ失敗などのソフトウェア的な故障であることを特定することができる。
また、運用監視サーバ201によれば、特定したSASカードスロットに対応するHDD$の状態が異常(dead)の場合には、当該HDD$のハードウェア的な故障を検出することができる。
これにより、分散ストレージソフト#i上で認識されなくなった要因が、HDD$の物理的な故障であることを特定することができる。
また、運用監視サーバ201によれば、特定したSASカードスロットと対応付けて、検出したHDD$の故障の検出結果を出力することができる。
これにより、例えば、ストレージシステム200の管理者が、分散ストレージソフト#i上で認識されなくなったHDD$の故障要因を特定可能となり、HDD$の故障要因に応じた適切な処置を実施することができる。
また、運用監視サーバ201によれば、分散ストレージの運用時に、HDD$に割り当てられたIDのうち分散ストレージソフト#iが認識しているIDとデバイス名との対応関係を示す第1のHDD情報(運用時)を分散ストレージソフト#iから取得し、取得した第1のHDD情報(運用時)に基づいて、分散ストレージソフト#iに認識されなくなったIDを特定することができる。
これにより、分散ストレージの運用時に分散ストレージソフト#i上で認識されなくなったIDを特定することができる。
また、運用監視サーバ201によれば、所定の処置ポリシーに従って、検出したHDD$の故障の検出結果に基づいて、HDD$のリカバリ処理を実行することができる。
これにより、分散ストレージソフト#i上で認識されなくなったHDD$の故障要因に応じて、適切な処置を自動で実施することができる。
これらのことから、運用監視サーバ201によれば、分散ストレージにおけるHDD$の物理的な故障とソフトウェア的な故障とを同じタイミングで調査することができる。これにより、HDD$の故障要因を、物理的な故障とソフトウェア的な故障とに切り分けることができ、故障要因に応じた適切な処置を実施することが可能となる。例えば、物理的な故障が認識された場合、HDD交換を実施することができる。また、ソフトウェア的な故障が認識された場合は、再デフラグやフォーマットなどのソフト的なHDD回復措置を実施して、HDD$の復旧を試みることができる。このため、故障発生時に一律にHDD交換を実施する場合に比べて、不必要なHDD交換作業をなくしてコストを削減することができる。
なお、本実施の形態で説明した運用監視方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本運用監視プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本運用監視プログラムは、インターネット等のネットワークを介して配布してもよい。
また、本実施の形態で説明した情報処理装置101は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)ストレージ装置の記憶装置を用いて分散ストレージを実現するストレージ制御ソフトウェアから、前記ストレージ制御ソフトウェアによって前記記憶装置に割り当てられた仮想識別子と仮想デバイス名との対応関係を示す第1対応情報を取得し、
前記ストレージ装置のOSから、前記記憶装置に割り当てられた仮想デバイス名と、前記ストレージ装置が有するスロットのうち前記記憶装置が装着されたスロットの識別子との対応関係を示す第2対応情報を取得し、
前記第1対応情報と前記第2対応情報とに基づいて、前記記憶装置に割り当てられた仮想識別子と当該記憶装置が装着されたスロットの識別子との対応関係を特定し、
前記分散ストレージの運用時に、前記記憶装置に割り当てられた仮想識別子のうちのいずれかの仮想識別子が前記ストレージ制御ソフトウェアに認識されなくなった場合、特定した前記対応関係に基づいて、当該仮想識別子に対応するスロットの識別子を特定する、
制御部を有することを特徴とする情報処理装置。
(付記2)前記制御部は、
前記記憶装置の死活状態を監視する状態監視回路から、前記記憶装置が装着されたスロットの識別子と対応付けて、前記記憶装置の状態を示す装置状態情報を取得し、
取得した前記装置状態情報を参照して、特定した前記スロットの識別子に対応する前記記憶装置の状態に基づいて、当該記憶装置の故障を検出する、
ことを特徴とする付記1に記載の情報処理装置。
(付記3)前記制御部は、
特定した前記スロットの識別子に対応する前記記憶装置の状態が正常の場合、当該記憶装置のソフトウェア的な故障を検出する、ことを特徴とする付記2に記載の情報処理装置。
(付記4)前記制御部は、
特定した前記スロットの識別子に対応する前記記憶装置の状態が正常ではない場合、当該記憶装置のハードウェア的な故障を検出する、ことを特徴とする付記2または3に記載の情報処理装置。
(付記5)前記制御部は、
特定した前記スロットの識別子と対応付けて、検出した前記記憶装置の故障の検出結果を出力する、ことを特徴とする付記2~4のいずれか一つに記載の情報処理装置。
(付記6)前記制御部は、
所定の処置ポリシーに従って、検出した前記記憶装置の故障の検出結果に基づいて、前記記憶装置のリカバリ処理を実行する、ことを特徴とする付記2~5のいずれか一つに記載の情報処理装置。
(付記7)前記制御部は、
前記分散ストレージの運用時に、前記記憶装置に割り当てられた仮想識別子のうち前記ストレージ制御ソフトウェアが認識している仮想識別子と仮想デバイス名との対応関係を示す第3対応情報を前記ストレージ制御ソフトウェアから取得し、
取得した前記第3対応情報に基づいて、前記ストレージ制御ソフトウェアに認識されなくなった仮想識別子を特定する、
ことを特徴とする付記1~6のいずれか一つに記載の情報処理装置。
(付記8)前記制御部は、
前記分散ストレージの運用を開始する前に、前記第1対応情報を取得するとともに、前記第2対応情報を取得する、
ことを特徴とする付記1~7のいずれか一つに記載の情報処理装置。
(付記9)ストレージ装置の記憶装置を用いて分散ストレージを実現するストレージ制御ソフトウェアから、前記ストレージ制御ソフトウェアによって前記記憶装置に割り当てられた仮想識別子と仮想デバイス名との対応関係を示す第1対応情報を取得し、
前記ストレージ装置のOSから、前記記憶装置に割り当てられた仮想デバイス名と、前記ストレージ装置が有するスロットのうち前記記憶装置が装着されたスロットの識別子との対応関係を示す第2対応情報を取得し、
前記第1対応情報と前記第2対応情報とに基づいて、前記記憶装置に割り当てられた仮想識別子と当該記憶装置が装着されたスロットの識別子との対応関係を特定し、
前記分散ストレージの運用時に、前記記憶装置に割り当てられた仮想識別子のうちのいずれかの仮想識別子が前記ストレージ制御ソフトウェアに認識されなくなった場合、特定した前記対応関係に基づいて、当該仮想識別子に対応するスロットの識別子を特定する、
処理をコンピュータが実行することを特徴とする運用監視プログラム。
101 情報処理装置
102 ストレージ装置
103 ストレージ制御ソフトウェア
104 OS
105 状態監視回路
110 第1対応情報
120 第2対応情報
130 対応表
140 装置状態情報
200 ストレージシステム
201 運用監視サーバ
202 管理者端末
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 可搬型記録媒体I/F
307 可搬型記録媒体
401 第1の取得部
402 第2の取得部
403 第1の特定部
404 第2の特定部
405 第3の取得部
406 検出部
407 出力部
408 復旧部
500 第1のHDD情報(初期)
600 第2のHDD情報(初期)
700 HDD識別対応リスト(マスタ)
800 第1のHDD情報(運用時)
900 第2のHDD情報(運用時)
1000 HDD識別対応リスト(運用時)
1100 故障状況リスト(ソフト)
1200 故障状況リスト(ハード)
1300 故障状況リスト(ソフト/ハード)
1400 故障状況表示画面

Claims (8)

  1. ストレージ装置の記憶装置を用いて分散ストレージを実現するストレージ制御ソフトウェアから、前記ストレージ制御ソフトウェアによって前記記憶装置に割り当てられた仮想識別子と仮想デバイス名との対応関係を示す第1対応情報を取得し、
    前記ストレージ装置のOSから、前記記憶装置に割り当てられた仮想デバイス名と、前記ストレージ装置が有するスロットのうち前記記憶装置が装着されたスロットの識別子との対応関係を示す第2対応情報を取得し、
    前記第1対応情報と前記第2対応情報とに基づいて、前記記憶装置に割り当てられた仮想識別子と当該記憶装置が装着されたスロットの識別子との対応関係を特定し、
    前記分散ストレージの運用時に、前記記憶装置に割り当てられた仮想識別子のうちのいずれかの仮想識別子が前記ストレージ制御ソフトウェアに認識されなくなった場合、特定した前記対応関係に基づいて、当該仮想識別子に対応するスロットの識別子を特定する、
    制御部を有することを特徴とする情報処理装置。
  2. 前記制御部は、
    前記記憶装置の死活状態を監視する状態監視回路から、前記記憶装置が装着されたスロットの識別子と対応付けて、前記記憶装置の状態を示す装置状態情報を取得し、
    取得した前記装置状態情報を参照して、特定した前記スロットの識別子に対応する前記記憶装置の状態に基づいて、当該記憶装置の故障を検出する、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記制御部は、
    特定した前記スロットの識別子に対応する前記記憶装置の状態が正常の場合、当該記憶装置のソフトウェア的な故障を検出する、ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記制御部は、
    特定した前記スロットの識別子に対応する前記記憶装置の状態が正常ではない場合、当該記憶装置のハードウェア的な故障を検出する、ことを特徴とする請求項2または3に記載の情報処理装置。
  5. 前記制御部は、
    特定した前記スロットの識別子と対応付けて、検出した前記記憶装置の故障の検出結果を出力する、ことを特徴とする請求項2~4のいずれか一つに記載の情報処理装置。
  6. 前記制御部は、
    所定の処置ポリシーに従って、検出した前記記憶装置の故障の検出結果に基づいて、前記記憶装置のリカバリ処理を実行する、ことを特徴とする請求項2~5のいずれか一つに記載の情報処理装置。
  7. 前記制御部は、
    前記分散ストレージの運用時に、前記記憶装置に割り当てられた仮想識別子のうち前記ストレージ制御ソフトウェアが認識している仮想識別子と仮想デバイス名との対応関係を示す第3対応情報を前記ストレージ制御ソフトウェアから取得し、
    取得した前記第3対応情報に基づいて、前記ストレージ制御ソフトウェアに認識されなくなった仮想識別子を特定する、
    ことを特徴とする請求項1~6のいずれか一つに記載の情報処理装置。
  8. ストレージ装置の記憶装置を用いて分散ストレージを実現するストレージ制御ソフトウェアから、前記ストレージ制御ソフトウェアによって前記記憶装置に割り当てられた仮想識別子と仮想デバイス名との対応関係を示す第1対応情報を取得し、
    前記ストレージ装置のOSから、前記記憶装置に割り当てられた仮想デバイス名と、前記ストレージ装置が有するスロットのうち前記記憶装置が装着されたスロットの識別子との対応関係を示す第2対応情報を取得し、
    前記第1対応情報と前記第2対応情報とに基づいて、前記記憶装置に割り当てられた仮想識別子と当該記憶装置が装着されたスロットの識別子との対応関係を特定し、
    前記分散ストレージの運用時に、前記記憶装置に割り当てられた仮想識別子のうちのいずれかの仮想識別子が前記ストレージ制御ソフトウェアに認識されなくなった場合、特定した前記対応関係に基づいて、当該仮想識別子に対応するスロットの識別子を特定する、
    処理をコンピュータが実行することを特徴とする運用監視プログラム。
JP2020144577A 2020-08-28 2020-08-28 情報処理装置および運用監視プログラム Withdrawn JP2022039508A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020144577A JP2022039508A (ja) 2020-08-28 2020-08-28 情報処理装置および運用監視プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020144577A JP2022039508A (ja) 2020-08-28 2020-08-28 情報処理装置および運用監視プログラム

Publications (1)

Publication Number Publication Date
JP2022039508A true JP2022039508A (ja) 2022-03-10

Family

ID=80498517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020144577A Withdrawn JP2022039508A (ja) 2020-08-28 2020-08-28 情報処理装置および運用監視プログラム

Country Status (1)

Country Link
JP (1) JP2022039508A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024057452A1 (ja) * 2022-09-14 2024-03-21 三菱電機ビルソリューションズ株式会社 推定装置及び推定システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024057452A1 (ja) * 2022-09-14 2024-03-21 三菱電機ビルソリューションズ株式会社 推定装置及び推定システム

Similar Documents

Publication Publication Date Title
US11132256B2 (en) RAID storage system with logical data group rebuild
JP4606455B2 (ja) ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム
US9442809B2 (en) Management computer used to construct backup configuration of application data
US8856592B2 (en) Mechanism to provide assured recovery for distributed application
US10229023B2 (en) Recovery of storage device in a redundant array of independent disk (RAID) or RAID-like array
US8219768B2 (en) System and method for establishing a copy pair relationship between source and destination volumes
JP2010097385A (ja) データ管理プログラム、ストレージ装置診断プログラム、およびマルチノードストレージシステム
US8347142B2 (en) Non-disruptive I/O adapter diagnostic testing
US20090303884A1 (en) Monitoring system, monitoring device, monitored device, and monitoring method
WO2023226380A1 (zh) 一种磁盘处理方法、系统及电子设备
US7421596B2 (en) Disk array system
US9021078B2 (en) Management method and management system
JP2022039508A (ja) 情報処理装置および運用監視プログラム
US8583789B2 (en) Computer system management method and management apparatus
JPWO2011051999A1 (ja) 情報処理装置及び情報処理装置の制御方法
CN115904822A (zh) 一种集群修复方法及装置
US20200264946A1 (en) Failure sign detection device, failure sign detection method, and recording medium in which failure sign detection program is stored
JPH09293001A (ja) 無停止保守システム
KR20090127253A (ko) 데이터 스토리지 시스템의 서비스 워크로드 식별자
JP4985033B2 (ja) バックアッププログラム、バックアップ方法およびバックアップ装置
WO2024000535A1 (zh) 分区表更新方法、装置、电子设备及存储介质
US11762727B2 (en) Information processing apparatus and method of monitoring operation
US7305497B2 (en) Performing resource analysis on one or more cards of a computer system wherein a plurality of severity levels are assigned based on a predetermined criteria
US20150205686A1 (en) Data processing device and method
WO2014203360A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230511

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20240126