JP2020095486A - 情報処理装置及び情報処理装置の制御方法 - Google Patents

情報処理装置及び情報処理装置の制御方法 Download PDF

Info

Publication number
JP2020095486A
JP2020095486A JP2018232920A JP2018232920A JP2020095486A JP 2020095486 A JP2020095486 A JP 2020095486A JP 2018232920 A JP2018232920 A JP 2018232920A JP 2018232920 A JP2018232920 A JP 2018232920A JP 2020095486 A JP2020095486 A JP 2020095486A
Authority
JP
Japan
Prior art keywords
drive
control unit
data processing
failure
reading control
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
JP2018232920A
Other languages
English (en)
Inventor
満 前嶋
Mitsuru Maejima
満 前嶋
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 JP2018232920A priority Critical patent/JP2020095486A/ja
Publication of JP2020095486A publication Critical patent/JP2020095486A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】稼働継続性を維持する情報処理装置及び情報処理装置の制御方法を提供する。【解決手段】光ディスクライブラリ装置3は、所定数の光ディスク及びドライブの組により冗長化される。故障管理部203は、ドライブのうち故障が発生した故障データ処理機構を検出する。読書制御部204は、所定数の光ディスクに対する読み出し又は書き込みの処理を、故障管理部203により検出された故障データ処理機構を前記所定数から除いた数のドライブに行わせる。【選択図】図2

Description

本発明は、情報処理装置及び情報処理装置の制御方法に関する。
情報処理システムに関するデータには、オンラインで使用するデータ以外に、保管データとしてオンラインのデータをバックアップしたデータ及び記録保管するアーカイブデータがある。アーカイブデータは、使用する可能性は低いが、変更されずに長期間保存することが求められるデータである。近年、情報処理システムで取り扱うデータは増加の一途を辿っており、それに伴い保管データも急上昇する傾向にある。
データのバックアップやアーカイブデータの保存は、磁気テープライブラリ装置にて行われる。その中でも、長期保管や改竄防止の観点から、近年では光ディスクライブラリ装置が注目されている。光ディスクライブラリ装置の媒体寿命が約50年と比較的長期間である。また、記録に物理変化を伴うことから、光ディスクライブラリ装置は、改竄を含むデータの変更が困難である。このような観点から、光ディスクライブラリ装置は、データの長期保管及び改竄防止を特徴とする。
光ディスクは、例えば、片面が50MBの3層構造で、片面の容量が150MBである。そして、両面に記録する場合、光ディスクの全体の容量は1枚あたり300MBである。この場合、光ディスクライブラリ装置は、1つのマガジンの中に300MBのデータ容量の光ディスクを合計で12枚格納するので、マガジン単位でのデータ容量は3.6TBとなる。
また、光ディスクライブラリ装置は、データの書き込み時又は読み出し時には、マガジン内の12枚の光ディスクのうち6枚を6台のドライブに1枚ずつ搭載する。そして、光ディスクライブラリ装置は、例えば、6枚の光ディスク両面、すなわち12面を使用した同時記録再生を行うことで、テープ装置と同様のデータ転送速度を確保する。そこで、光ディスクライブラリ装置は、データの記録及び再生に6台のドライブを使用する。この場合、ドライブは、6台で両面への記録又は再生を行う。すなわち、ドライブは、6台×2面=12面の記録又は再生を1度に行う。
また、光ディスクライブラリ装置は、複数のドライブを同時に使用して、複数の光ディスクによりRAID(Redundant Arrays of Inexpensive Disks)構成を構築することで再生時のデータ保証を行う。光ディスクライブラリ装置は、例えば、6台のドライブを用いて合計12面でRAIDを構成する。RAID5であれば、11面がデータであり、1面がパリティとなる。また、RAID6であれば、10面がデータであり、2面がパリティとなる。
しかし、RAID構成を採用しても、救済できるのは、パリディ面の数と同数の光ディスクの面数分の障害に限られる。例えば、RAID5の構成において、光ディスクの2面分の機能が消失した場合、読み出し及び書き込みが困難になる。また、RAID6の構成であっても、ディスクの3面相当のデータの読み出しが困難な場合、光ディスクドライブ装置がダウンするおそれがある。そして、光ディスクライブラリ装置は、1台のドライブが故障した場合、光ディスクの2面に対する読み出し及び書き込みが困難となる。そのため、1台のドライブが故障した場合、光ディスクライブラリ装置は、RAID6の場合、読み出しは可能であるが、書き込みが困難となり、保守部品交換までの間は運用に制限が発生する。
そこで、アレイ構成を形成するドライブが2台以上使用不可な場合に、他のアレイ構成を形成するドライブに切り替える従来技術がある。また、ドライブ故障時に予備のドライブに切り替える従来技術がある。また、ドライブが故障した場合に、全データで共用するテープを所定のテープドライブに挿入して故障したドライブの内容を補完する従来技術がある。さらに、ドライブの故障が発生した場合に、交代用ドライブに後続する処理を引き継がせる従来技術がある。
特開2000−339820号公報 国際公開第2013/005418号 特開2011−159363号公報 特開2011−248942号公報
しかしながら、例えば他のアレイ構成を形成するドライブや予備ドライブを設けることは、コストがかかるとともに、正常時には他のドライブが無駄になることが考えられ実用的ではない。さらに、予備ドライブが故障した状態で、他のドライブが故障すると読み出し及び書き込みの処理が継続困難となる。そして、故障したドライブが復旧するまでアクセス処理が困難となる。さらに、稼働状態での活性保守交換や稼働組み込みに対応しておらず、故障を回復するために1度は光ディスクライブラリ装置を停止することになる。このように、従来の光ディスクライブラリ装置は、稼働継続性を維持することが困難であった。
また、全データで共用するテープを用いて障害対応を行う従来技術や交代用ドライブに後続する処理を引き継がせる従来技術では、RAID構成が考えられておらず、RAID構成を採用した状態でのドライブの故障に対応することは困難である。
開示の技術は、上記に鑑みてなされたものであって、稼働継続性を維持する情報処理装置及び情報処理装置の制御方法を提供することを目的とする。
本願の開示する情報処理装置及び情報処理装置の制御方法の一つの態様において、情報処理装置は、所定数の可搬記憶媒体及びデータ処理機構の組により冗長化される。故障検出部は、所定数の前記データ処理機構のうち故障が発生した故障データ処理機構を検出する。制御部は、所定数の前記可搬記憶媒体に対する読み出し又は書き込みの処理を、前記故障検出部により検出された前記故障データ処理機構を前記所定数から除いた数の前記データ処理機構に行わせる。
1つの側面では、本発明は、稼働継続性を維持することができる。
図1は、光ディスクライブラリシステムの構成図である。 図2は、管理装置のブロック図である。 図3は、故障ドライブテーブルの一例の図である。 図4は、2台のドライブが壊れた場合の故障ドライブ補完処理の一例の図である。 図5は、3台のドライブが壊れた場合の故障ドライブ補完処理の一例の図である。 図6は、4台のドライブが壊れた場合の故障ドライブ補完処理の一例の図である。 図7は、故障ドライブ補完処理の実行の判定処理のフローチャートである。 図8は、実施例1に係る故障ドライブ補完処理のフローチャートである。 図9は、複数のキューを処理する場合の各キューの処理手順のフローチャートである。 図10は、実施例2に係る故障ドライブ補完処理のフローチャートである。 図11は、実施例3に係る故障ドライブ補完処理のフローチャートである。 図12は、実施例4に係る光ディスクライブラリシステムの構成図である。 図13は、予備ドライブテーブルの一例の図である。 図14は、実施例4に係る故障ドライブ補完処理のフローチャートである。 図15は、管理装置のハードウェア構成図である。
以下に、本願の開示する情報処理装置及び情報処理装置の制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置及び情報処理装置の制御方法が限定されるものではない。
図1は、光ディスクライブラリシステムの構成図である。光ディスクライブラリシステム100は、図1に示すように、ホストコンピュータ1、管理装置2及び光ディスクライブラリ装置3を有する。
ホストコンピュータ1は、ネットワーク4を介して管理装置2に接続する。ホストコンピュータ1は、管理装置2に対してデータの読み出し及び書き込みの命令をネットワーク4を介して行う。書込命令の場合、ホストコンピュータ1は、書き込み完了の応答を管理措置2からネットワーク4を介して受信する。また、読出命令の場合、ホストコンピュータ1は、命令で指定したデータを管理装置2からネットワーク4を介して受信する。
光ディスクライブラリ装置3は、管理装置2と接続される。光ディスクライブラリ装置3は、例えば、6台のドライブ31〜36を有する。以下の説明では、それぞれのドライブ31〜36を区別しない場合、単に「ドライブ30」という。ここで、本実施例では、光ディスクライブラリ装置3は、6台のドライブ30を有する場合で説明するが、ドライブ30の数に特に制限は無い。また、光ディスクライブラリ装置3は、ディスク搬送用ロボット302及びマガジン303を有する。
マガジン303は、複数の光ディスク301を格納するケースである。例えば、マガジン303は、12枚の光ディスク301を格納可能である。光ディスクライブラリ装置3は、例えば、76本のマガジン303を搭載する。
ディスク搬送用ロボット302は、管理装置2の読書管理部21からの指示を受けて、マガジン303に格納された光ディスク301を取り出し、指定されたドライブ30へ搭載する。
ディスク搬送用ロボット302は、ドライブ30による読み出し又は書き込みが完了すると、読書管理部21からの指示を受けて、ドライブ30から光ディスク301を取り出す。また、故障が発生した場合にも、故障が発生したドライブ30からの取り出しの指示を読書管理部21から受けて、ディスク搬送用ロボット302は、故障が発生したドライブ30から光ディスク301を取り出す。
ドライブ30は、セットされた光ディスク301に対するデータの読み出し及び書き込みを行う。ドライブ31〜36は、それぞれ独立しており、並行して読み出し又は書き込みの処理を実行することができる。また、ドライブ30は、光ディスク301の表裏の両面に対して並行してデータの読み出し又は書き込みが可能である。すなわち、ドライブ31〜36は、一度に12面に対してデータの読み出し又は書き込みを行うことができる。
ここで、光ディスク301は一度書き込まれたデータの変更が行われずデータの喪失などの故障が発生し難い媒体である。一方、ドライブ30は、光ディスク301に比べると故障の発生する確率が高いといえる。そのため、光ディスクライブラリ装置3での故障は主にドライブ30の故障と言える。ドライブ30は、故障すると、光ディスク301に対する表裏の両面への読み出し又は書き込みが困難となる。このドライブ30が、「データ処理機構」の一例にあたる。また、光ディスク301が、「可搬記憶媒体」の一例にあたる。
管理装置2は、例えば、サーバなどのコンピュータである。管理装置2は、光ディスクライブラリ装置3におけるデータの記憶媒体への読み出し及び書き込みを管理する。管理装置2は、読書管理部21及びキャッシュ22を有する。キャッシュ22は、一時的な記憶領域であり、例えば、HDD(Dard Disk Drive)又はSSD(Solid State Drive)などである。
読書管理部21は、ホストコンピュータ1からの命令を受ける。読出命令の場合、読書管理部21は、ドライブ30を用いて指定された格納データを光ディスク301から読み出し、キャッシュ22に格納する。そして、読書管理部21は、光ディスクライブラリ装置3のRAID構成を用いて、キャッシュ22に格納された格納データから読出データを生成する。そして、読書管理部21は、生成した読出データをネットワーク4を介してホストコンピュータ1へ送信する。
また、書込命令の場合、読書管理部21は、書込データをキャッシュ22へ格納する。そして、読書管理部21は、キャッシュ22に格納された受信データを光ディスクライブラリ装置3のRAID構成に分割して格納データを生成する。その後、読書管理部21は、格納データの光ディスク301への書き込みをドライブ30に行わせる。格納データの書き込みが完了すると、読書管理部21は、書き込み完了の通知をネットワーク4を介してホストコンピュータ1へ送信する。この管理装置2及び光ディスクライブラリ装置3が、「情報処理装置」の一例にあたる。
次に、図2を参照して、管理装置2によるデータの書き込み及び読み出しの処理についてより詳細に説明する。図2は、管理装置のブロック図である。
図2に示すように、管理装置2の読書管理部21は、故障ドライブテーブル201、データ送受信部202、故障管理部203、読書制御部204及びRAID管理部205を有する。
データ送受信部202は、書込命令の場合、書込データをホストコンピュータ1から受信する。そして、データ送受信部202は、受信した書込データをキャッシュ22に格納する。
また、データ送受信部202は、読出命令の場合、RAID管理部205から読出データの入力を受ける。そして、データ送受信部202は、読出データをホストコンピュータ1へ送信する。
RAID管理部205は、書込命令の場合、光ディスクライブラリ装置3のRAID構成に応じた格納データの生成の指示を読書制御部204から受ける。ここで、RAID構成に応じた格納データとは、例えば、RAID0であればパリティなしのストライピングセットであり、書込データをドライブ30の数の書き込み単位に分割したデータである。また、RAID5の場合、1つのパリティを生成して、パリティと合わせて書込データをドライブ30の数の書き込み単位に分割したデータである。また、RAID6の場合、2重のパリティを生成して、2重のパリティと合わせて書込データをドライブ30の数の書き込み単位に分割したデータである。以下では、格納データを、単に「書込データを分割したデータ」と言う場合がある。RAID管理部205は、生成した格納データを読書制御部204へ出力する。
また、読出命令の場合、RAID管理部205は、読出データの生成の指示を読書制御部204から受ける。そして、RAID管理部205は、光ディスクライブラリ装置3のRAID構成を用いてキャッシュ22に格納された格納データから読出データを生成する。これに加えて、読出命令であってドライブ30のうち1台が故障している場合、RAID管理部205は、格納データを用いてRAIDによるデータの再構築を行った上で読出データを生成する。そして、RAID管理部205は、読出データをデータ送受信部202へ出力する。
読書制御部204は、光ディスクライブラリ装置3におけるドライブ30による光ディスク301への書き込み及び読み出しを制御する。読書制御部204は、読出命令又は書込命令の入力をホストコンピュータ1から受ける。
ここで、命令処理の流れには、例えば、書込処理において書込データを処理するのに複数の書込処理が行われる場合や、既に書込処理を行っている状態で新しい書込命令を受ける場合などがある。その場合、読書制御部204は、各書込処理についての各ドライブ30に対する処理要求を蓄積し、順次各処理要求を処理する。これは、読出処理においても同様である。そのような、読書制御部204が、蓄積する1回の各ドライブ30に対する処理要求を「キュー」と呼ぶ。読書制御部204は、最初のキューで書き込み又は読出しが指定される格納データを各ドライブ30に割り当てる。そして、読書制御部204は、割り当てた各格納データを書き込み又は読み出しの対象となる光ディスク301を特定する。その後、読書制御部204は、各格納データに対応する光ディスク301を、それぞれの格納データを処理させるドライブ30に搭載させる処理をディスク搬送用ロボット302に指示する。
次に、読書制御部204は、各ドライブ30の故障検出を故障管理部203に依頼する。その後、読書制御部204は、故障ドライブテーブル201を確認して、ドライブ30のうちの故障が発生した故障ドライブを特定する。
故障ドライブが存在しない場合、書込命令であれば、読書制御部204は、RAID構成となるように生成された格納データをキャッシュ22から取得する。そして、読書制御部204は、光ディスクライブラリ装置3のディスク搬送用ロボット302に光ディスク301の各ドライブ30への搭載指示を行う。さらに、読書制御部204は、格納データを送信して各ドライブ30への光ディスク301に対して各納データの書き込みを指示する。その後、書込処理が完了すると、読書管理部21は、書き込みの完了をホストコンピュータ1へ通知する。
これに対して、故障ドライブが存在せず且つ読出命令の場合、読書制御部204は、指定された読出データの格納データが格納された光ディスク301の各ドライブ30への搭載をディスク搬送用ロボット302に指示する。次に、読書制御部204は、搭載された光ディスク301からの格納データの読み出しを各ドライブ30に指示する。そして、読書制御部204は、読み出された格納データをキャッシュ22に格納する。その後、読書制御部204は、RAID管理部205に読出データの生成を指示する。
一方、故障ドライブが存在する場合、読書制御部204は、書込命令であれば、同じドライブ30を複数回使用して故障ドライブを補う処理の実施に移行する。これは、RAID構成がRAID0,5、6の何れであっても、データの書き込みは故障ドライブの処理を他のドライブ30が肩代わりすることになるためである。以下では、同じドライブ30を複数回使用して故障ドライブを補う処理を、「故障ドライブ補完処理」という。
一方、故障ドライブが存在し且つ読出命令の場合、読書制御部204は、読み出す対象の格納データの格納時のRAID構成が、RAID6か否かを判定する。ここで、ドライブ30が1台故障すると、搭載された光ディスク301の合計面数のうちの2面に対する処理が行えなくなる。そのため、1台のドライブ30故障した場合にRAIDによるデータの再構築を行うためには、2つのパリティが用いられる。そこで、読書制御部204は、RAID6以外のRAID0又は5の場合、パリティを用いたデータの再構築が困難と判定して、故障ドライブ補完処理の実施に移行する。
これに対して、RAID6の場合、故障ドライブが1台であるか否かを判定する。故障ドライブが1台の場合、読書制御部204は、パリティを用いたデータの再構築が可能と判定する。そして、読書制御部204は、稼働可能なドライブ30を用いて光ディスク301からデータの読み出しを行い、キャッシュ22に格納する。その後、読書制御部204は、読出データの生成をRAID管理部205に依頼する。一方、故障ドライブが2台以上の場合、読書制御部204は、パリティを用いたデータの再構築が困難と判定して、故障ドライブ補完処理の実施に移行する。
次に、読書制御部204による故障ドライブ補完処理について説明する。故障ドライブ補完処理において、書込処理又は読出処理を行わせるドライブ30の選択の手順については、書込処理及び読出処理のいずれも同様であるので、以下では、書込処理及び読出処理をまとめた単に「データ処理」として説明する。また、ドライブ30がデータ処理を行う場合、その前にディスク搬送用ロボット302による光ディスク301のドライブ30への搭載処理が存在するが、以下の説明では、ディスク搬送用ロボット302による処理を省いて説明する。すなわち、ドライブ30のデータ処理といった場合、そのデータ処理に対応する光ディスク301のディスク搬送用ロボット302によるドライブ30への搭載処理も含まれるものとする。
読書制御部204は、故障管理部203により作成される故障ドライブが登録された故障ドライブテーブル201を参照して、故障していないドライブ30である稼働可能ドライブを特定する。そして、読書制御部204は、最初のキューにおいて各稼動可能ドライブに割り当てられた格納データの処理、すなわち搭載された光ディスク301に対するデータ処理を各稼動可能ドライブに実行させる。
ここで、各稼動可能ドライブがデータ処理を実行する間にも、読書制御部204は、周期的にドライブ30の故障検出を故障管理部203に実行させる。すなわち、この間に故障ドライブが検出された場合も、読書制御部204は、その故障ドライブを除いて故障ドライブ補完処理を行わせる。
その後、稼働可能ドライブのデータ処理が完了すると、読書制御部204は、最初のキューにおいて各故障ドライブに割り当てられた格納データのデータ処理を可動可能ドライブに割り当てる。以下の説明では、故障ドライブに割り当てられた格納データのデータ処理であって、処理が完了していないデータ処理に対応する光ディスク301を、「未処理の光ディスク301」という。
未処理の光ディスク301の数が稼働可能ドライブの数以上の場合、読書制御部204は、全ての稼働可能ドライブに各故障ドライブに割り当てられた格納データのデータ処理を割り当てる。そして、読書制御部204は、最初のキューにおい各故障ドライブに割り当てられた格納データの処理を各稼動可能ドライブに実行させる。読書制御部204は、未処理の光ディスク301が稼動可能ドライブの数よりも少なくなるまで、全ての稼働可能ドライブに各故障ドライブに割り当てられた格納データのデータ処理を行わせることを繰返す。
未処理の光ディスク301の数が稼動可能ドライブよりも少ない場合、読書制御部204は、次のキューがあるか否かを判定する。次のキューがある場合、読書制御部204は、全ての稼働可能ドライブの数から残りの未処理の光ディスク301の数を除いた数の稼働可能ドライブを次のキューのデータ処理に回す。ここでは、次のキューのデータ処理に回された稼働可能ドライブを、「次キュー処理稼働可能ドライブ」という。
そして、読書制御部204は、次キュー稼働可能ドライブ以外の稼働可能ドライブに、残りの未処理の光ディスク301を用いて行うデータ処理を実行させる。また、読書制御部204は、各ドライブ30に次のキューにおけるデータ処理を割り当てる。そして、読書制御部204は、次のキューにおける次キュー稼動可能ドライブに割り当てたデータ処理を次キュー稼動可能ドライブに実行させる。これに対して、次のキューが無ければ、読書制御部204は、次のキューのデータ処理に稼働可能ドライブを回す処理は行わず、単に、残りの未処理の光ディスク301を用いて行うデータ処理を可動可能ドライブに実行させる。
読書制御部204は、全てのキューの未処理の光ディスク301が無くなるまで、各稼動可能ドライブに、各キューにおけるそれぞれのデータ処理の割り当て繰り返す。そして、読書制御部204は、割り当てた次キューのデータ処理及び現在のキューの各故障ドライブに割り当てた残りのデータ処理を稼動可能ドライブに実行させることを繰返す。ここで、各稼動可能ドライブが割り当てた次キューのデータ処理及び現在のキューの各故障ドライブに割り当てた残りのデータ処理を実行する間にも、読書制御部204は、周期的にドライブ30の故障検出を故障管理部203に実行させる。すなわち、この間に故障ドライブが検出された場合も、読書制御部204は、その故障ドライブを除いて故障ドライブ補完処理を行わせる。読書制御部204は、全てのキューのデータ処理が完了すると、故障ドライブ補完処理を終了する。この読書制御部204が、「制御部」の一例にあたる。
故障管理部203は、故障検出の依頼を読書制御部204から受ける。そして、故障管理部203は、ドライブ30のエラーチェックを行う。いずれかのドライブ30にエラーが検出された場合、故障管理部203は、エラーが検出されたドライブ30を故障ドライブとして故障ドライブテーブル201に登録する。その後、故障管理部203は、光ディスクライブラリ装置3のディスク搬送用ロボット302に故障ドライブからの光ディスク301の取り出しを指示する。さらに、故障管理部203は、故障ドライブの動作を停止させる。
図3は、故障ドライブテーブルの一例の図である。本実施例では、ドライブ31〜36に順番にドライブ番号Nとして1〜6を振り、故障管理部203は、故障ドライブテーブル201にドライブ番号を登録することで、故障ドライブの登録を行う。図3では、分かり易いようにドライブ番号の後にドライブ31〜36を表す情報を付加したが、この情報はなくてもよい。さらに、故障管理部203は、故障ドライブの合計を故障ドライブテーブル201に登録する。これにより、読書制御部204は、故障ドライブの数及び稼働可能ドライブの数を容易に把握することができる。この故障管理部203が、「故障検出部」の一例にあたる。この故障ドライブテーブル201が、「故障情報」の一例にあたる。
ここで、図4〜6を参照して、故障ドライブ補完処理における各ドライブ30が実行するデータ処理の一例について説明する。図4は、2台のドライブが壊れた場合の故障ドライブ補完処理の一例の図である。図5は、3台のドライブが壊れた場合の故障ドライブ補完処理の一例の図である。図6は、4台のドライブが壊れた場合の故障ドライブ補完処理の一例の図である。ドライブ31〜36の横に並べられた光ディスク301が、それぞれのドライブ31〜36がデータ処理を行う光ディスク301を表す。
ここでは、管理装置2は、書込データをRAID6の構成にデータ分割し、2つのキュー311及び312を処理する。すなわち、管理装置2は、光ディスク301の10面に実データを格納し、光ディスク301の2面にパリティを格納する。
図4は、ドライブ35及び36が故障した場合を表す。この場合、読書制御部204は、1回目の書き込み処理で、稼働可能ドライブであるドライブ31〜34に割り当てたキュー311のデータ処理である光ディスク301に対する書込処理を行わせる。この段階で、キュー311のデータ処理のうちドライブ35及び36に割り当てられたデータ処理が残る。
そこで、読書制御部204は、キュー311におけるドライブ35及び36に割り当てられたデータ処理を、ドライブ31及び32に割り当てる。さらに、読書制御部204は、次キューであるキュー312のデータ処理をドライブ33及び34に割り当てる。そして、読書制御部204は、2回目の書込処理で、キュー311の残りの2つのデータ処理及びキュー312の2つのデータ処理に応じた光ディスク301への書込処理をドライブ31〜34のそれぞれに行わせる。この段階で、キュー312のデータ処理のうち4つのデータ処理が残る。
そこで、読書制御部204は、キュー312の残りのデータ処理をドライブ31〜34に割り当てる。そして、読書制御部204は、3回目の書き込み処理で、キュー312の残りのデータ処理に応じた光ディスク301への書込処理をドライブ31〜34のそれぞれに行わせる。これにより、管理装置2は、キュー311及び312に含まれる全てのデータ処理を光ディスクライブラリ装置3に実行させることができる。
図5は、ドライブ34〜36が故障した場合を表す。この場合、読書制御部204は、1回目の書き込み処理で、稼働可能ドライブであるドライブ31〜33に割り当てたキュー311のデータ処理である光ディスク301に対する書込処理を行わせる。この段階で、キュー311のデータ処理のうちドライブ34〜36に割り当てられたデータ処理が残る。
そこで、読書制御部204は、キュー311におけるドライブ34〜36に割り当てられたデータ処理を、ドライブ31〜33に割り当てる。この場合、稼働可能ドライブの残りが無いので、読書制御部204は、次キューであるキュー312の割り当ては行わない。そして、読書制御部204は、2回目の書込処理で、キュー311の残りの3つのデータ処理に応じた光ディスク301への書込処理をドライブ31〜33のそれぞれに行わせる。
次に、読書制御部204は、キュー312における3つのデータ処理をドライブ31〜34に割り当てる。そして、読書制御部204は、3回目の書き込み処理で、キュー312の3つのデータ処理に応じた光ディスク301への書込処理をドライブ31〜34のそれぞれに行わせる。この段階で、キュー312のデータ処理のうち3つのデータ処理が残る。
そこで、読書制御部204は、キュー312における残りの3つのデータ処理を、ドライブ31〜33に割り当てる。そして、読書制御部204は、4回目の書込処理で、キュー311の残りの3つのデータ処理に応じた光ディスク301への書込処理をドライブ31〜33のそれぞれに行わせる。これにより、管理装置2は、キュー311及び312に含まれる全てのデータ処理を光ディスクライブラリ装置3に実行させることができる。
図6は、ドライブ33〜36が故障した場合を表す。この場合、読書制御部204は、1回目の書き込み処理で、稼働可能ドライブであるドライブ31及び32に割り当てたキュー311のデータ処理である光ディスク301に対する書込処理を行わせる。この段階で、キュー311のデータ処理のうちドライブ33〜36に割り当てられたデータ処理が残る。
そこで、読書制御部204は、キュー311におけるドライブ33〜36に割り当てられたデータ処理のうち2つのデータ処理を、ドライブ31及び32に割り当てる。そして、読書制御部204は、2回目の書込処理で、キュー311の2つのデータ処理に応じた光ディスク301への書込処理をドライブ31及び32のそれぞれに行わせる。この段階で、キュー311のデータ処理のうちドライブ33〜36に割り当てられたデータ処理のうち2つが残る。
そこで、読書制御部204は、キュー311におけるドライブ33〜36に割り当てられたデータ処理のうち残りの2つのデータ処理を、ドライブ31及び32に割り当てる。この場合、稼働可能ドライブの残りが無いので、読書制御部204は、次キューであるキュー312の割り当ては行わない。そして、読書制御部204は、3回目の書込処理で、キュー311の残りの2つのデータ処理に応じた光ディスク301への書込処理をドライブ31及び32のそれぞれに行わせる。
次に、読書制御部204は、キュー312における2つのデータ処理をドライブ31及び32に割り当てる。そして、読書制御部204は、4回目の書き込み処理で、キュー312の2つのデータ処理に応じた光ディスク301への書込処理をドライブ31及び32のそれぞれに行わせる。この段階で、キュー312のデータ処理のうち4つのデータ処理が残る。
そこで、読書制御部204は、キュー312における残りの4つのデータ処理のうち2つのデータ処理を、ドライブ31及び32に割り当てる。そして、読書制御部204は、5回目の書込処理で、キュー312の2つのデータ処理に応じた光ディスク301への書込処理をドライブ31〜33のそれぞれに行わせる。この段階で、キュー312のデータ処理のうち2つのデータ処理が残る。
そこで、読書制御部204は、キュー312における残りの2つのデータ処理を、ドライブ31及び32に割り当てる。そして、読書制御部204は、6回目の書込処理で、キュー312の2つのデータ処理に応じた光ディスク301への書込処理をドライブ31〜33のそれぞれに行わせる。これにより、管理装置2は、キュー311及び312に含まれる全てのデータ処理を光ディスク装置3に実行させることができる。
次に、図7を参照して、ドライブ30に故障が発生した場合の故障ドライブ補完処理の実行の判定処理の流れについて説明する。図7は、故障ドライブ補完処理の実行の判定処理のフローチャートである。
読書制御部204は、ドライブ30の故障の発生が故障管理部203により検出されると、実行するデータ処理が書込処理か否かを判定する(ステップS1)。書込処理の場合(ステップS1:肯定)、読書制御部204は、故障ドライブ補完処理を実行する(ステップS5)。
これに対して、実行するデータ処理が読出処理の場合、(ステップS1:否定)、読書制御部204は、読出データに対応する格納データがRAID6で構成されているか否かを判定する(ステップS2)。RAID0又は5で構成されている場合(ステップS2:否定)、読書制御部204は、故障ドライブ補完処理を実行する(ステップS5)。
これに対して、読出データに対応する格納データがRAID6で構成されている場合、(ステップS2:肯定)、読書制御部204は、故障ドライブの数が1以下か否かを判定する(ステップS3)。故障ドライブの数が1より大きい場合(ステップS3:否定)、読書制御部204は、故障ドライブ補完処理を実行する(ステップS5)。
これに対して、故障ドライブの数が1以下の場合(ステップS3:肯定)、読書制御部204は、RAIDによる再構築処理をRAID管理部205に行わせる(ステップS4)。
次に、図8を参照して、実施例1に係る故障ドライブ補完処理の流れについて説明する。図8は、実施例1に係る故障ドライブ補完処理のフローチャートである。ここでは、1つのキューに対する故障ドライブ補完処理を例に説明する。またここでは、ドライブ31〜36のそれぞれにドライブ番号としてN=1〜6が振られた場合で説明する。ここでは、ドライブ番号Nのドライブ30をドライブNと表す。
読書制御部204は、全てのドライブ30に光ディスク301を搭載させる(ステップS101)。
次に、読書制御部204は、ドライブ番号であるNを0に設定する(ステップS102)。
読書制御部204は、ドライブ番号であるNを1つインクリメントする(ステップS103)。
次に、読書制御部204は、故障ドライブテーブル201を参照して、ドライブNが故障ドライブとして既に故障ドライブテーブル201に登録されており使用不可か否かを判定する(ステップS104)。ドライブNが既に故障ドライブテーブル201に登録されている場合(ステップS104:否定)、既にドライブNに対する対応は完了しているので、処理は、ステップS110へ進む。
これに対して、ドライブNが使用可能である場合(ステップS104:肯定)、読書制御部204は、ドライブNの故障検知を故障管理部203に実行させる(ステップS105)。
その後、故障管理部203は、ドライブNの故障検知を行い、ドライブNに故障が発生したか否かを判定する(ステップS106)。ドライブNに故障が発生していない場合(ステップS106:否定)、処理は、ステップS110へ進む。
これに対して、ドライブNに故障が発生した場合(ステップS106:肯定)、故障管理部203は、ドライブNの処理を停止させる(ステップS107)。次に、故障管理部203は、ドライブNから光ディスク301を取り出してマガジン303に戻す処理をディスク搬送用ロボット302に行わせる(ステップS108)。
次に、故障管理部203は、ドライブNを故障ドライブとして故障ドライブテーブル201に登録して動作を停止させる(ステップS109)。その後、処理は、ステップS110へ進む。
読書制御部204は、ドライブ番号Nが6であるか否かを判定する(ステップS110)。ドライブ番号Nが6でない場合(ステップS110:否定)、処理は、ステップS103へ戻る。
これに対して、ドライブ番号Nが6の場合(ステップS110:肯定)、読書制御部204は、搭載された光ディスク301を用いたデータ処理を稼働可能ドライブに実行させる(ステップS111)。
そして、読書制御部204は、稼働可能ドライブの処理が完了したか否かを判定する(ステップS112)。稼働可能ドライブの処理が完了していない場合(ステップS112:否定)、読書制御部204は、ステップS102に戻る。
これに対して、稼働可能ドライブの処理が完了した場合(ステップS112:肯定)、読書制御部204は、光ディスク301を稼動可能ドライブから取り出させる(ステップS113)。
次に、読書制御部204は、未処理の光ディスク301があるか否かを判定する(ステップS114)。
未処理の光ディスク301が存在する場合(ステップS114:肯定)、読書制御部204は、未処理の光ディスク301の数をB、故障ドライブの数をM、稼働可能ドライブの数をDとする(ステップS115)。ここで、読書制御部204は、故障ドライブの数であるMを故障ドライブテーブル201から取得する。また、読書制御部204は、未処理の光ディスク301の数を故障ドライブの数とする。すなわち、M=Bである。また、読書制御部204は、ドライブ30の全体の数から故障ドライブの数を減算したものを稼動可能ドライブの数とする。すなわち、D=6−Mである。
次に、読書制御部204は、D≧Bか否かを判定する(ステップS116)。D≧Bの場合(ステップS116:肯定)、読書制御部204は、未処理の光ディスク301を稼動可能ドライブに搭載させる(ステップS117)。
次に、読書制御部204は、D及びBを1つずつデクリメントする(ステップS118)。
次に、読書制御部204は、D=0か否かを判定する(ステップS119)。D=0でない場合(ステップS119:否定)、読書制御部204は、ステップS117へ戻る。これに対して、D=0の場合(ステップS119:肯定)、読書制御部204は、ステップS111へ戻る。
一方、D≧Bでない場合(ステップS116:否定)、読書制御部204は、未処理の光ディスク301を稼動可能ドライブに搭載させる(ステップS120)。
次に、読書制御部204は、Bを1つずつデクリメントする(ステップS121)。
次に、読書制御部204は、B=0か否かを判定する(ステップS122)。B=0でない場合(ステップS122:否定)、読書制御部204は、ステップS120へ戻る。これに対して、B=0の場合(ステップS122:肯定)、読書制御部204は、ステップS111へ戻る。
一方、未処理の光ディスク301が無い場合(ステップS114:否定)、読書制御部204は、故障ドライブ補完処理を終了する。
ここで、図8では、管理装置2が、1つのキューに対して故障ドライブ補完処理を実行する場合について説明した。ただし実際には、管理装置2は、ステップS102からS110で示すドライブ30の故障の判断の後に、図7に示す故障ドライブ補完処理を実行するか否かの判断を行い、その結果に応じて故障ドライブ補完処理の実行に移る。
次に、図9を参照して、複数のキューを処理する場合の管理装置2による故障ドライブ補完処理における各キューの処理手順について説明する。図9は、複数のキューを処理する場合の各キューの処理手順のフローチャートである。ここでは、故障ドライブ補完処理を実行する場合を説明する。また、ここでは、最初のキューをキュー#1とし、2番目のキューをキュー#2とし、3番目のキューをキュー#3とする。
故障管理部203は、ドライブ30の中から故障ドライブを検出する(ステップS201)。そして、故障管理部203は、検出した故障ドライブを故障ドライブテーブル201に登録する。
読書制御部204は、故障ドライブテーブル201を確認する。そして、読書制御部204は、故障ドライブ数が3以上か否かを判定する(ステップS202)。
故障ドライブ数が3未満の場合(ステップS202:否定)、読書制御部204は、故障ドライブ数が2か否かを判定する(ステップS203)。
故障ドライブ数が2でない場合(ステップS203:否定)、読書制御部204は、故障ドライブ数が1か否かを判定する(ステップS204)。
故障ドライブ数が1でない場合(ステップS204:否定)、読書制御部204は、故障ドライブが無いと判定して、通常のデータ処理を6つのドライブ30に実行させる(ステップS205)。
これに対して、故障ドライブが1の場合(ステップS204:肯定)、読書制御部204は、稼働可能ドライブが5つあると判定する。そして、読書制御部204は、1回目の処理でキュー#1のうち5つのデータ処理を、稼働可能ドライブである5つのドライブ30に実行させる(ステップS206)。
2回目の処理で、読書制御部204は、次の処理を稼動可能ドライブに実行させる。読書制御部204は、キュー#1のうちの残りの2つのデータ処理を稼働可能ドライブのうちの2つのドライブ30に実行させる。また、読書制御部204は、キュー#2のうちの3つのデータ処理を稼働可能ドライブのうちの残りの3つのドライブ30に実行させる(ステップS207)。
3回目の処理で、読書制御部204は、次の処理を稼動可能ドライブに実行させる。読書制御部204は、キュー#2のうちの残りの2つのデータ処理を稼働可能ドライブのうちの2つのドライブ30に実行させる。また、読書制御部204は、キュー#3のうちの3つのデータ処理を稼働可能ドライブのうちの残りの3つのドライブ30に実行させる(ステップS208)。
以降、読書制御部204は、各キューの5分の6ずつのデータ処理の実行を5つのドライブ30に繰り返させ(ステップS209)、全てのキューのデータ処理を実行させることで故障ドライブ補完処理によるデータ処理を完了する。
これに対して、故障ドライブが2の場合(ステップS203:肯定)、読書制御部204は、稼働可能ドライブが4つあると判定する。そして、読書制御部204は、1回目の処理でキュー#1のうち4つのデータ処理を、稼働可能ドライブである4つのドライブ30に実行させる(ステップS210)。
2回目の処理で、読書制御部204は、次の処理を稼動可能ドライブに実行させる。読書制御部204は、キュー#1のうちの残りの2つのデータ処理を稼働可能ドライブのうちの2つのドライブ30に実行させる。また、読書制御部204は、キュー#2のうちの2つのデータ処理を稼働可能ドライブのうちの残りの2つのドライブ30に実行させる(ステップS211)。
3回目の処理で、読書制御部204は、次の処理を稼動可能ドライブに実行させる。読書制御部204は、キュー#2のうちの残りの4つのデータ処理を稼働可能ドライブのうちの4つのドライブ30に実行させる(ステップS212)。
以降、読書制御部204は、各キューの3分の2ずつのデータ処理の実行を4つのドライブ30に繰り返させ(ステップS213)、全てのキューのデータ処理を実行させることで故障ドライブ補完処理によるデータ処理を完了する。
これに対して、故障ドライブ数が3以上の場合(ステップS202:肯定)、読書制御部204は、故障ドライブ数が3か否かを判定する(ステップS214)。
故障ドライブ数が3の場合(ステップS214:肯定)、読書制御部204は、稼働可能ドライブが3つあると判定する。そして、読書制御部204は、1回目の処理でキュー#1のうち3つのデータ処理を、稼働可能ドライブである3つのドライブ30に実行させる(ステップS215)。
2回目の処理で、読書制御部204は、キュー#1のうちの残りの3つのデータ処理を稼働可能ドライブである3つのドライブ30に実行させる(ステップS216)。
3回目の処理で、読書制御部204は、キュー#2のうちの3つのデータ処理を稼働可能ドライブである3つのドライブ30に処理させる(ステップS217)。
以降、読書制御部204は、各キューの半分ずつのデータ処理の実行を3つのドライブ30に繰り返させ(ステップS218)、全てのキューのデータ処理を実行させることで故障ドライブ補完処理によるデータ処理を完了する。
これに対して、故障ドライブ数が3でない場合(ステップS214:否定)、読書制御部204は、故障ドライブ数が4か否かを判定する(ステップS219)。
故障ドライブ数が4の場合(ステップS219:肯定)、読書制御部204は、稼働可能ドライブが2つあると判定する。そして、読書制御部204は、1回目の処理でキュー#1のうち2つのデータ処理を、稼働可能ドライブである2つのドライブ30に実行させる(ステップS220)。
2回目の処理で、読書制御部204は、キュー#1のうちの残りの4つのデータ処理のうち2つを稼働可能ドライブである2つのドライブ30に実行させる(ステップS221)。
3回目の処理で、読書制御部204は、キュー#1のうちの残りの2つのデータ処理を稼働可能ドライブである2つのドライブ30に実行させる(ステップS222)。
4回目の処理で、読書制御部204は、キュー#2のうちの2つのデータ処理を稼働可能ドライブである2つのドライブ30に処理させる(ステップS223)。
以降、読書制御部204は、各キューの3分の1ずつのデータ処理の実行を2つのドライブ30に繰り返させ(ステップS224)、全てのキューのデータ処理を実行させることで故障ドライブ補完処理によるデータ処理を完了する。
これに対して、故障ドライブ数が4でない場合(ステップS219:否定)、読書制御部204は、故障ドライブ数が5か否かを判定する(ステップS225)。
故障ドライブ数が5の場合(ステップS225:肯定)、読書制御部204は、稼働可能ドライブが1つであると判定する。そして、読書制御部204は、1回目の処理でキュー#1のうち1つのデータ処理を、稼働可能ドライブである1つのドライブ30に実行させる(ステップS226)。
2回目の処理で、読書制御部204は、キュー#1のうちの残りの5つのデータ処理のうち1つを稼働可能ドライブである1つのドライブ30に実行させる(ステップS227)。
3回目の処理で、読書制御部204は、キュー#1のうちの残りの4つのデータ処理のうち1つを稼働可能ドライブである1つのドライブ30に実行させる(ステップS228)。
4回目の処理で、読書制御部204は、キュー#1のうちの残りの3つのデータ処理のうち1つを稼働可能ドライブである1つのドライブ30に実行させる(ステップS229)。
5回目の処理で、読書制御部204は、キュー#1のうちの残りの2つのデータ処理のうち1つを稼働可能ドライブである1つのドライブ30に実行させる(ステップS230)。
6回目の処理で、読書制御部204は、キュー#1のうちの残りの1つのデータ処理を稼働可能ドライブである1つのドライブ30に実行させる(ステップS231)。
7回目の処理で、読書制御部204は、キュー#2のうちの1つのデータ処理を稼働可能ドライブである1つのドライブ30に処理させる(ステップS232)。
以降、読書制御部204は、各キューの6分の1ずつのデータ処理の実行を1つのドライブ30に繰り返させ(ステップS233)、全てのキューのデータ処理を実行させることで故障ドライブ補完処理によるデータ処理を完了する。
これに対して、故障ドライブ数が5でない場合(ステップS225:否定)、読書制御部204は、稼働可能ドライブが無いと判定して光ディスク301に対するデータ処理を終了する。
以上に説明したように、本実施例に係る管理装置は、RAID構成により救済できない光ディスクライブラリ装置のドライブの故障が発生した場合に、稼働可能ドライブを用いて故障ドライブを補完してデータ処理を完了させる。これにより、稼働継続性を維持することができる。また、キューの処理中に新たなキューが発生したような複数のキューを実行する場合にも、使用していないドライブを稼動することでキューの処理を開始することができ、稼動継続性を維持するとともに処理時間を短縮することができる。
次に、実施例2について説明する。本実施例に係る管理装置も図2のブロック図で示される。以下の説明では、実施例1と同様の各部の処理については説明を省略する場合がある。
本実施例に係る読書制御部204は、データ処理の命令をホストコンピュータ1から受けると、故障ドライブテーブル201を確認する。そして、読書制御部204は、故障ドライブテーブル201に既に故障ドライブと登録されているドライブ30には光ディスク301を搭載させず、稼働可能ドライブであるドライブ30に光ディスク301を搭載させる。
次に、図10を参照して、実施例2に係る故障ドライブ補完処理の流れについて説明する。図10は、実施例2に係る故障ドライブ補完処理のフローチャートである。
読書制御部204は、故障ドライブテーブル201を確認する。そして、読書制御部204は、稼働可能ドライブに光ディスク301を搭載させる。(ステップS301)。
次に、読書制御部204は、ドライブ番号であるNを0に設定する(ステップS302)。
読書制御部204は、ドライブ番号であるNを1つインクリメントする(ステップS303)。
次に、読書制御部204は、故障ドライブテーブル201を参照して、ドライブNが故障ドライブとして既に故障ドライブテーブル201に登録されており使用不可か否かを判定する(ステップS304)。ドライブNが既に故障ドライブテーブル201に登録されている場合(ステップS304:否定)、既にドライブNに対する対応は完了しているので、処理は、ステップS310へ進む。
これに対して、ドライブNが使用可能である場合(ステップS304:肯定)、読書制御部204は、ドライブNの故障検知を故障管理部203に実行させる(ステップS305)。
その後、故障管理部203は、ドライブNの故障検知を行い、ドライブNに故障が発生したか否かを判定する(ステップS306)。ドライブNに故障が発生していない場合(ステップS306:否定)、処理は、ステップS310へ進む。
これに対して、ドライブNに故障が発生した場合(ステップS306:肯定)、故障管理部203は、ドライブNの処理を停止させる(ステップS307)。次に、故障管理部203は、ドライブNから光ディスク301を取り出してマガジン303に戻す処理をディスク搬送用ロボット302に行わせる(ステップS308)。
次に、故障管理部203は、ドライブNを故障ドライブとして故障ドライブテーブル201に登録して動作を停止させる(ステップS309)。その後、処理は、ステップS310へ進む。
読書制御部204は、ドライブ番号Nが6であるか否かを判定する(ステップS310)。ドライブ番号Nが6でない場合(ステップS310:否定)、処理は、ステップS303へ戻る。
これに対して、ドライブ番号Nが6の場合(ステップS310:肯定)、読書制御部204は、搭載された光ディスク301を用いたデータ処理を稼働可能ドライブに実行させる(ステップS311)。
そして、読書制御部204は、稼働可能ドライブの処理が完了したか否かを判定する(ステップS312)。稼働可能ドライブの処理が完了していない場合(ステップS312:否定)、読書制御部204は、ステップS302に戻る。
これに対して、稼働可能ドライブの処理が完了した場合(ステップS312:肯定)、読書制御部204は、光ディスク301を稼動可能ドライブから取り出させる(ステップS313)。
次に、読書制御部204は、未処理の光ディスク301があるか否かを判定する(ステップS314)。
未処理の光ディスク301が存在する場合(ステップS314:肯定)、読書制御部204は、未処理の光ディスク301の数をB、故障ドライブの数をM、稼働可能ドライブの数をDとする(ステップS315)。
次に、読書制御部204は、D≧Bか否かを判定する(ステップS316)。D≧Bの場合(ステップS316:肯定)、読書制御部204は、未処理の光ディスク301を稼動可能ドライブに搭載させる(ステップS317)。
次に、読書制御部204は、D及びBを1つずつデクリメントする(ステップS318)。
次に、読書制御部204は、D=0か否かを判定する(ステップS319)。D=0でない場合(ステップS319:否定)、読書制御部204は、ステップS311へ戻る。これに対して、D=0の場合(ステップS319:肯定)、読書制御部204は、ステップS311へ戻る。
一方、D≧Bでない場合(ステップS316:否定)、読書制御部204は、未処理の光ディスク301を稼動可能ドライブに搭載させる(ステップS320)。
次に、読書制御部204は、Bを1つずつデクリメントする(ステップS321)。
次に、読書制御部204は、B=0か否かを判定する(ステップS322)。B=0でない場合(ステップS322:否定)、読書制御部204は、ステップS320へ戻る。これに対して、B=0の場合(ステップS322:肯定)、読書制御部204は、ステップS311へ戻る。
一方、未処理の光ディスク301が無い場合(ステップS314:否定)、読書制御部204は、故障ドライブ補完処理を終了する。
以上に説明したように、本実施例に係る管理装置は、データ処理の命令を受けた際に、既に故障が発生していることが分かっている故障ドライブを特定して、故障ドライブを除いた稼働可能ドライブに光ディスクを搭載させる。これにより、光ディスクを全てのドライブに挿入させた場合に行われる既に故障が判明している故障ドライブへの光ディスクの搭載及び取り出しの処理を省くことができ、動作時間を短縮することができる。
次に、実施例3について説明する。本実施例に係る管理装置も図2のブロック図で示される。以下の説明では、実施例1と同様の各部の処理については説明を省略する場合がある。
本実施例に係る故障管理部203は、故障ドライブに対して保守交換などの復旧作業が行われたか否かを判定する。ここで、故障ドライブの復旧作業が行われた場合、管理者は、管理装置2に付属したパネルなどを用いて故障ドライブの復旧を故障管理部203に通知する。故障管理部203は、故障ドライブの復旧の通知を受信したか否かにより、故障ドライブに対して復旧作業が行われたか否かを判定できる。
そして、故障ドライブに対する復旧作業が行われた場合、故障管理部203は、故障ドライブであったドライブ30を初期化して稼動可能か否かを判定する。故障ドライブであったドライブ30が稼働可能でなければ、故障管理部203は、そのドライブ30をそのまま故障ドライブとして扱う。
これに対して、故障ドライブであったドライブ30が稼働可能な場合、故障管理部203は、そのドライブ30の情報を故障ドライブテーブル201から削除する。
読書制御部204は、故障ドライブであったドライブ30の情報が故障ドライブテーブル201から削除されると、そのドライブ30に対して光ディスク301を搭載させて、稼動可能ドライブとしてそのドライブ30にデータ処理を実行させる。
次に、図11を参照して、実施例3に係る故障ドライブ補完処理の流れについて説明する。図11は、実施例3に係る故障ドライブ補完処理のフローチャートである。
読書制御部204は、全てのドライブ30に光ディスク301を搭載させる(ステップS401)。
次に、読書制御部204は、ドライブ番号であるNを0に設定する(ステップS402)。
読書制御部204は、ドライブ番号であるNを1つインクリメントする(ステップS403)。
次に、読書制御部204は、故障ドライブテーブル201を参照して、ドライブNが故障ドライブとして既に故障ドライブテーブル201に登録されており使用不可か否かを判定する(ステップS404)。
ドライブNが使用可能である場合(ステップS404:肯定)、読書制御部204は、ドライブNの故障検知を故障管理部203に実行させる(ステップS405)。
その後、故障管理部203は、ドライブNの故障検知を行い、ドライブNに故障が発生したか否かを判定する(ステップS406)。ドライブNに故障が発生していない場合(ステップS406:否定)、処理は、ステップS414へ進む。
これに対して、ドライブNに故障が発生した場合(ステップS406:肯定)、故障管理部203は、ドライブNの処理を停止させる(ステップS407)。次に、故障管理部203は、ドライブNから光ディスク301を取り出してマガジン303に戻す処理をディスク搬送用ロボット302に行わせる(ステップS408)。
次に、故障管理部203は、ドライブNを故障ドライブとして故障ドライブテーブル201に登録して動作を停止させる(ステップS409)。その後、処理は、ステップS414へ進む。
一方、ドライブNが既に故障ドライブテーブル201に登録されている場合(ステップS404:否定)、読書制御部204は、ドライブNの復旧の確認を故障管理部203に指示する。故障管理部203は、読書制御部204からの指示を受けて、ドライブNの復旧作業が行われたか否かを判定する(ステップS410)。復旧作業が行われていない場合(ステップS410:否定)、処理は、ステップS414へ進む。
これに対して、復旧作業が行われた場合(ステップS410:肯定)、故障管理部203は、ドライブNを初期化して稼動可能か否かを判定する(ステップS411)。ドライブNが稼動可能でない場合(ステップS411:否定)、処理は、ステップS414へ進む。
ドライブNが稼働可能な場合(ステップS411:肯定)、故障管理部203は、ドライブNが稼働可能な場合、故障管理部203は、ドライブNの故障ドライブとしての登録を故障ドライブテーブル201から削除する(ステップS412)。
読書制御部204は、故障ドライブであったドライブ30の情報が故障ドライブテーブル201から削除されると、ドライブNを稼動可能ドライブと判定し、ドライブNに対して光ディスク301を搭載させる(ステップS413)。
その後、読書制御部204は、ドライブ番号Nが6であるか否かを判定する(ステップS414)。ドライブ番号Nが6でない場合(ステップS414:否定)、処理は、ステップS403へ戻る。
これに対して、ドライブ番号Nが6の場合(ステップS414:肯定)、読書制御部204は、搭載された光ディスク301を用いたデータ処理を稼働可能ドライブに実行させる(ステップS415)。
そして、読書制御部204は、稼働可能ドライブの処理が完了したか否かを判定する(ステップS416)。稼働可能ドライブの処理が完了していない場合(ステップS416:否定)、読書制御部204は、ステップS402に戻る。
これに対して、稼働可能ドライブの処理が完了した場合(ステップS416:肯定)、読書制御部204は、光ディスク301を稼動可能ドライブから取り出させる(ステップS417)。
次に、読書制御部204は、未処理の光ディスク301があるか否かを判定する(ステップS418)。
未処理の光ディスク301が存在する場合(ステップS418:肯定)、読書制御部204は、未処理の光ディスク301の数をB、故障ドライブの数をM、稼働可能ドライブの数をDとする(ステップS419)。
次に、読書制御部204は、D≧Bか否かを判定する(ステップS420)。D≧Bの場合(ステップS420:肯定)、読書制御部204は、未処理の光ディスク301を稼動可能ドライブに搭載させる(ステップS421)。
次に、読書制御部204は、D及びBを1つずつデクリメントする(ステップS422)。
次に、読書制御部204は、D=0か否かを判定する(ステップS423)。D=0でない場合(ステップS423:否定)、読書制御部204は、ステップS421へ戻る。これに対して、D=0の場合(ステップS423:肯定)、読書制御部204は、ステップS415へ戻る。
一方、D≧Bでない場合(ステップS420:否定)、読書制御部204は、未処理の光ディスク301を稼動可能ドライブに搭載させる(ステップS424)。
次に、読書制御部204は、Bを1つずつデクリメントする(ステップS425)。
次に、読書制御部204は、B=0か否かを判定する(ステップS426)。B=0でない場合(ステップS426:否定)、読書制御部204は、ステップS424へ戻る。これに対して、B=0の場合(ステップS426:肯定)、読書制御部204は、ステップS415へ戻る。
一方、未処理の光ディスク301が無い場合(ステップS418:否定)、読書制御部204は、故障ドライブ補完処理を終了する。
以上に説明したように、本実施例に係る管理装置は、故障ドライブの復旧作業が行われた場合に、そのドライブを初期化して動作確認し、動作可能な場合には稼働可能ドライブに組み込んでデータ処理を行わせる。このように、復旧されたドライブが自動的に稼働可能ドライブとして組み込まれることで、稼働を中断せずに処理速度を向上させることができる。
図12は、実施例4に係る光ディスクライブラリシステムの構成図である。本実施例に係る光ライブラリ装置3は、図12に示すように、予備ドライブ41及び42を有する。ここで、図12では予備ドライブ41及び42の2つを図示したが、この数に特に制限は無い。また、本実施例に係る管理装置2も、図2のブロック図で示される。以下の説明では、実施例1と同様の各部の処理については説明を省略する場合がある。また、以下の説明では、予備ドライブ41及び42を区別しない場合、予備ドライブ40と呼ぶ。この予備ドライブ40が、「予備データ処理機構」の一例にあたる。
本実施例に係る故障管理部203は、故障検出を行う際に、光ディスクライブラリ装置3が予備ドライブ40を有するか否かの判定を実行する。そして、故障管理部203は、予備ドライブ40が存在する場合、各予備ドライブ40で故障が発生しているか否かをチェックする。
予備ドライブ40で故障していない稼動可能な予備ドライブ40が存在する場合、故障管理部203は、稼動可能な予備ドライブを図13に示すような予備ドライブテーブル210に登録する。
図13は、予備ドライブテーブルの一例の図である。本実施例では、予備ドライブ41及び42に順番に予備ドライブ番号Sとして1及び2を振り、故障管理部203は、予備ドライブテーブル210に予備ドライブ番号を登録することで、予備ドライブ40の登録を行う。図13では、分かり易いように予備ドライブ番号の後に予備ドライブ41又は42を表す情報を付加したが、この情報はなくてもよい。さらに、故障管理部203は、予備ドライブ40の合計を予備ドライブテーブル210に登録する。これにより、読書制御部204は、予備ドライブ40の数を容易に把握することができる。
また、故障管理部203は、故障検知により故障ドライブを検出した場合、予備ドライブテーブル210を確認して、稼動可能な予備ドライブ40が1台以上あるか否かを判定する。そして、故障管理部203は、稼動可能な予備ドライブ40を検出した故障ドライブと交換して、稼動可能な予備ドライブ40をデータ処理を実行する稼働可能ドライブに割り当てる。また、交換する予備ドライブ40が足りない場合、故障管理部203は、足りない分の故障ドライブを故障ドライブテーブル201に登録する。その後、故障管理部203は、稼動可能ドライブとして新たに割り当てた予備ドライブ40の情報を読書制御部204に通知する。
読書制御部204は、稼動可能ドライブとして新たに割り当てられた予備ドライブ40の情報を故障管理部203から取得する。そして、読書制御部204は、新たに割り当てられた予備ドライブ40を稼動可能ドライブの1つとして組み込んだうえで、データ処理を光ディスクライブラリ装置3に実行させる。
次に、図14を参照して、実施例4に係る故障ドライブ補完処理の流れについて説明する。図14は、実施例4に係る故障ドライブ補完処理のフローチャートである。
読書制御部204は、全てのドライブ30に光ディスク301を搭載させる(ステップS501)。
次に、読書制御部204は、ドライブ番号であるNを0に設定する(ステップS502)。
読書制御部204は、ドライブ番号であるNを1つインクリメントする(ステップS503)。
次に、故障管理部203は、予備ドライブ40が1台以上存在するか否かを判定する(ステップS504)。この場合、既に故障ドライブの代わりに稼働可能ドライブとして割り当てられた予備ドライブ40は、判定の対象から外される。
次に、故障管理部203は、全ての予備ドライブ40で故障が発生しているか否かを判定する(ステップS505)。予備ドライブ40が全て故障の場合(ステップS505:肯定)、故障管理部203は、ステップS507へ進む。
これに対して、故障が発生していない予備ドライブ40が存在する場合(ステップS505:否定)、故障管理部203は、故障が発生していない予備ドライブ40を予備ドライブテーブル210に登録する(ステップS506)。
次に、読書制御部204は、故障ドライブテーブル201を参照して、ドライブNが故障ドライブとして既に故障ドライブテーブル201に登録されており使用不可か否かを判定する(ステップS507)。ドライブNが既に故障ドライブテーブル201に登録されている場合(ステップS507:否定)、既にドライブNに対する対応は完了しているので、処理は、ステップS517へ進む。
これに対して、ドライブNが使用可能である場合(ステップS507:肯定)、読書制御部204は、ドライブNの故障検知を故障管理部203に実行させる(ステップS508)。
その後、故障管理部203は、ドライブNの故障検知を行い、ドライブNに故障が発生したか否かを判定する(ステップS509)。ドライブNに故障が発生していない場合(ステップS509:否定)、処理は、ステップS517へ進む。
これに対して、ドライブNに故障が発生した場合(ステップS509:肯定)、故障管理部203は、ドライブNの処理を停止させる(ステップS510)。
次に、故障管理部203は、稼動可能ドライブとして割り当て可能な予備ドライブ数をRとして、Rが1以上か否かを判定する(ステップS511)。
Rが未満、すなわち稼働可能ドライブに割り当て可能な予備ドライブが無い場合(ステップS511:否定)、故障管理部203は、ドライブNから光ディスク301を取り出してマガジン303に戻す処理をディスク搬送用ロボット302に行わせる(ステップS512)。
次に、故障管理部203は、ドライブNを故障ドライブとして故障ドライブテーブル201に登録して動作を停止させる(ステップS513)。その後、処理は、ステップS517へ進む。
これに対して、Rが1以上の場合(ステップS511:肯定)、故障管理部203は、予備ドライブ40をドライブNと交換して稼働可能ドライブに割り当てる処理を実行する(ステップS514)。
次に、故障管理部203は、Rを1つインクリメントする(ステップS515)。その後、故障管理部203は、稼動可能ドライブに割り当てた予備ドライブ40の情報を読書制御部204に通知する。
読書制御部204は、稼動可能ドライブに割り当てた予備ドライブ40の情報の通知を故障管理部203から受ける。そして、読書制御部204は、ドライブNから光ディスク301を取り出させて、稼動可能ドライブとして割り当てられた予備ドライブ40に取り出した光ディスク301を搭載させる(ステップS516)。図14では、稼動可能ドライブとして割り当てられた予備ドライブ40を割当予備ドライブとした。
その後、読書制御部204は、ドライブ番号Nが6であるか否かを判定する(ステップS517)。ドライブ番号Nが6でない場合(ステップS517:否定)、処理は、ステップS503へ戻る。
これに対して、ドライブ番号Nが6の場合(ステップS517:肯定)、読書制御部204は、搭載された光ディスク301を用いたデータ処理を稼働可能ドライブに実行させる(ステップS518)。
そして、読書制御部204は、稼働可能ドライブの処理が完了したか否かを判定する(ステップS519)。稼働可能ドライブの処理が完了していない場合(ステップS519:否定)、読書制御部204は、ステップS502に戻る。
これに対して、稼働可能ドライブの処理が完了した場合(ステップS519:肯定)、読書制御部204は、光ディスク301を稼動可能ドライブから取り出させる(ステップS520)。
次に、読書制御部204は、未処理の光ディスク301があるか否かを判定する(ステップS521)。
未処理の光ディスク301が存在する場合(ステップS521:肯定)、読書制御部204は、未処理の光ディスク301の数をB、故障ドライブの数をM、稼働可能ドライブの数をDとする(ステップS522)。
次に、読書制御部204は、D≧Bか否かを判定する(ステップS523)。D≧Bの場合(ステップS523:肯定)、読書制御部204は、未処理の光ディスク301を稼動可能ドライブに搭載させる(ステップS524)。
次に、読書制御部204は、D及びBを1つずつデクリメントする(ステップS525)。
次に、読書制御部204は、D=0か否かを判定する(ステップS526)。D=0でない場合(ステップS526:否定)、読書制御部204は、ステップS524へ戻る。これに対して、D=0の場合(ステップS526:肯定)、読書制御部204は、ステップS518へ戻る。
一方、D≧Bでない場合(ステップS523:否定)、読書制御部204は、未処理の光ディスク301を稼動可能ドライブに搭載させる(ステップS527)。
次に、読書制御部204は、Bを1つずつデクリメントする(ステップS528)。
次に、読書制御部204は、B=0か否かを判定する(ステップS529)。B=0でない場合(ステップS529:否定)、読書制御部204は、ステップS527へ戻る。これに対して、B=0の場合(ステップS529:肯定)、読書制御部204は、ステップS518へ戻る。
一方、未処理の光ディスク301が無い場合(ステップS521:否定)、読書制御部204は、故障ドライブ補完処理を終了する。
以上に説明したように、本実施例に係る管理装置は、故障ドライブと交換可能な予備ドライブが存在する場合、故障ドライブの代わりに予備ドライブを稼動可能ドライブに割り当ててデータ処理を実行させる。これにより、動作継続性をより向上させることができる。
(ハードウェア構成)
図15は、管理装置のハードウェア構成図である。図15に示すように、管理装置2は、CPU(Central Processing Unit)291、メモリ292及びキャッシュ293を有する。さらに、管理装置2は、LAN(Local Area Network)インタフェース294、データ送受信インタフェース295及びUSB(Universal Serial Bus)インタフェース296を有する。
CPU291は、メモリ292及びキャッシュ293とバスで接続される。また、CPU291は、LANインタフェース294、データ送受信インタフェース295及びUSBインタフェース296とバスで接続される。
LANインタフェース294は、ネットワーク4に接続してホストコンピュータ1との間でデータ通信及び制御用通信を行うためのインタフェースである。CPU291は、LANインタフェース294を介して、ホストコンピュータ1と通信を行う。
データ送受信インタフェース295は、ドライブ30との間のデータ通信用のインタフェースである。CPU291は、データ送受信用インタフェース295を介して、ドライブ30との間でデータの送受信を行う。
USBインタフェース296は、ディスク搬送用ロボット302との間の制御通信用のインタフェースである。CPU291は、USBインタフェース296を介して、ディスク搬送用ロボット302に制御信号を送信する。
キャッシュ293は、図1に示したキャッシュ22の機能を実現する。
メモリ292は、図2に例示した、故障ドライブテーブル201を格納する。また、メモリ292は、図2例示した、データ送受信部202、故障管理部203、読書制御部204及びRAID管理部205の機能を実現するためのプログラムを含む各種プログラムを格納する。
CPU291は、メモリ292から各種プログラムを読み出してメモリ292上に展開して実行することで、図2例示した、データ送受信部202、故障管理部203、読書制御部204及びRAID管理部205の機能を実現する。
1 ホストコンピュータ
2 管理装置
3 光ディスクライブリラリ装置
4 ネットワーク
21 読書管理部
22 キャッシュ
30〜36 ドライブ
40〜42 予備ドライブ
100 光ディスクライブラリシステム
201 故障ドライブテーブル
202 データ送受信部
203 故障管理部
204 読書制御部
205 RAID管理部
301 光ディスク
302 ディスク搬送用ロボット
303 マガジン

Claims (5)

  1. 所定数の可搬記憶媒体及びデータ処理機構の組により冗長化された情報処理装置であって、
    所定数の前記データ処理機構のうち故障が発生した故障データ処理機構を検出する故障検出部と、
    所定数の前記可搬記憶媒体に対する読み出し又は書き込みの処理を、前記故障検出部により検出された前記故障データ処理機構を前記所定数から除いた数の前記データ処理機構に行わせる制御部と
    を備えたことを特徴とする情報処理装置。
  2. 前記制御部は、所定数の前記可搬記憶媒体及び前記データ処理機構の組において、前記故障データ処理機構を除く前記データ処理機構のそれぞれに対して前記可搬記憶媒体を割り当ててデータ処理を行わせ、割り当て済みの前記可搬記憶媒体のデータ処理が完了した前記可搬記憶媒体に対して未処理の前記可搬記憶媒体を順次割り当てる処理を、未処理の前記可搬記憶媒体が無くなるまで繰り返すことを特徴とする請求項1に記載の情報処理装置。
  3. 前記故障検出部は、検出した前記故障データ処理機構を登録した故障情報を前記故障データ処理機構が復旧するまで保持し、前記故障データ処理機構の検出を再度行う場合、前記故障情報を基に前記故障データ処理機構を検出するとともに、前記故障情報に登録されていない前記データ処理機構について故障検出処理を実行して追加故障データ処理機構を検出して、前記故障情報に追加することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 予備データ処理機構をさらに備え、
    前記制御部は、前記故障検出部により検出された前記故障データ処理機構と前記予備データ処理機構とを代替し、代替する前記予備データ処理機構がない前記故障データ処理機構が存在する場合、代替する前記予備データ処理機構がない前記故障データ処理機構を除く前記データ処理機構に、前記所定数の前記可搬記憶媒体に対する読み出し又は書き込みの処理を行わせる
    ことを特徴とする請求項1〜3のいずれか一つに記載の情報処理装置。
  5. 所定数の可搬記憶媒体及びデータ処理機構の組により冗長化された情報処理装置の制御方法であって
    所定数の前記データ処理機構のうち故障が発生した故障データ処理機構を検出し、
    所定数の前記可搬記憶媒体に対する読み出し又は書き込みの処理を、検出した前記故障データ処理機構を前記所定数から除いた数の前記データ処理機構に行わせる
    ことを特徴とする情報処理装置の制御方法。
JP2018232920A 2018-12-12 2018-12-12 情報処理装置及び情報処理装置の制御方法 Pending JP2020095486A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018232920A JP2020095486A (ja) 2018-12-12 2018-12-12 情報処理装置及び情報処理装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018232920A JP2020095486A (ja) 2018-12-12 2018-12-12 情報処理装置及び情報処理装置の制御方法

Publications (1)

Publication Number Publication Date
JP2020095486A true JP2020095486A (ja) 2020-06-18

Family

ID=71085017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018232920A Pending JP2020095486A (ja) 2018-12-12 2018-12-12 情報処理装置及び情報処理装置の制御方法

Country Status (1)

Country Link
JP (1) JP2020095486A (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05182336A (ja) * 1991-12-26 1993-07-23 Toshiba Corp 光ディスクオートチェンジャの制御装置
JPH10320132A (ja) * 1997-05-16 1998-12-04 Hitachi Ltd 情報記憶システムの制御方法および情報記憶システム
JP2000259357A (ja) * 1999-03-11 2000-09-22 Fujitsu Ltd ライブラリ制御装置
JP2009048563A (ja) * 2007-08-22 2009-03-05 Hitachi Maxell Ltd ライブラリシステム
JP2011248956A (ja) * 2010-05-26 2011-12-08 Hitachi-Lg Data Storage Inc データ記録再生システム及び方法
US20180108378A1 (en) * 2016-10-13 2018-04-19 Panasonic Intellectual Property Management Co., Ltd. Optical disc device and optical disc reading method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05182336A (ja) * 1991-12-26 1993-07-23 Toshiba Corp 光ディスクオートチェンジャの制御装置
JPH10320132A (ja) * 1997-05-16 1998-12-04 Hitachi Ltd 情報記憶システムの制御方法および情報記憶システム
JP2000259357A (ja) * 1999-03-11 2000-09-22 Fujitsu Ltd ライブラリ制御装置
JP2009048563A (ja) * 2007-08-22 2009-03-05 Hitachi Maxell Ltd ライブラリシステム
JP2011248956A (ja) * 2010-05-26 2011-12-08 Hitachi-Lg Data Storage Inc データ記録再生システム及び方法
US20180108378A1 (en) * 2016-10-13 2018-04-19 Panasonic Intellectual Property Management Co., Ltd. Optical disc device and optical disc reading method

Similar Documents

Publication Publication Date Title
JP5285610B2 (ja) グローバルホットスペアディスクが存在するときに、故障したドライブを復元、及びコピーバックする最適化された方法
US7587631B2 (en) RAID controller, RAID system and control method for RAID controller
US7558981B2 (en) Method and apparatus for mirroring customer data and metadata in paired controllers
US7975168B2 (en) Storage system executing parallel correction write
US7434097B2 (en) Method and apparatus for efficient fault-tolerant disk drive replacement in raid storage systems
JP5285611B2 (ja) グローバルホットスペアディスクが存在するときに、切断されたドライブを復元、及びコピーバックする最適化された方法
US8117409B2 (en) Method and apparatus for backup and restore in a dynamic chunk allocation storage system
JP3184171B2 (ja) ディスクアレイ装置、そのエラー制御方法、ならびにその制御プログラムを記録した記録媒体
US7571291B2 (en) Information processing system, primary storage device, and computer readable recording medium recorded thereon logical volume restoring program
JPWO2006123416A1 (ja) ディスク故障復旧方法及びディスクアレイ装置
JP2005276196A (ja) ドライブ故障に続いてドライブリカバリを行うためのシステムおよび方法
JP2006227964A (ja) ストレージシステム、処理方法及びプログラム
US8886993B2 (en) Storage device replacement method, and storage sub-system adopting storage device replacement method
US8402213B2 (en) Data redundancy using two distributed mirror sets
US7653831B2 (en) Storage system and data guarantee method
WO2013005418A1 (ja) 記憶装置および記憶方法
US20070214313A1 (en) Apparatus, system, and method for concurrent RAID array relocation
WO2013080299A1 (ja) データ管理装置、データコピー方法、およびプログラム
JP2005099995A (ja) 磁気ディスク装置のディスク共有方法及びシステム
US20180307427A1 (en) Storage control apparatus and storage control method
JP2020095486A (ja) 情報処理装置及び情報処理装置の制御方法
US10133640B2 (en) Storage apparatus and storage system
JPH08286844A (ja) パリティ生成制御方法およびディスク制御装置
WO2016006108A1 (ja) ストレージおよびその制御方法
JP3620205B2 (ja) 着脱可能な記憶媒体を使用した高信頼記憶システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220801

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20221206