(57)【要約】【課題】エラーが発生した物理ドライブを排他的に確保して診断する仮想ライブラリ装置及び物理ドライブの診断方法を提供する。【解決手段】階層制御サーバ２が、物理ドライブ４のエラー発生時におけるホスト１からの指示に従って、論理ドライブ３０と物理ドライブ４とを排他的に確保し、排他的に確保された論理ドライブ３０を介して、上記排他的に確保された物理ドライブ４について診断処理を実行し、この診断処理の実行完了後に、上記排他的に確保された論理ドライブ３０と物理ドライブ４とを解放する。【選択図】図１
2010170350.tif 000002
【特許請求の範囲】
【請求項１】
物理ドライブのエラー発生時におけるホストからの指示に従って、論理ドライブと前記物理ドライブとを排他的に確保する排他制御部と、
前記排他的に確保された論理ドライブを介して、前記排他的に確保された物理ドライブについて診断処理を実行する診断部とを備え、
前記排他制御部が、前記診断部による前記物理ドライブについての診断処理の実行完了後に、前記排他的に確保された論理ドライブと物理ドライブとを解放する
ことを特徴とする仮想ライブラリ装置。
【請求項２】
前記診断部が、前記診断処理によって物理ドライブに異常が検出されたかを判断し、該物理ドライブに異常が検出されたと判断した場合に、前記排他制御部が、前記エラー発生時に該物理ドライブが使用していた媒体を該物理ドライブの直前に使用していた物理ドライブを新たに排他的に確保し、
前記診断部が、前記新たに排他的に確保された物理ドライブについて診断処理を実行する
ことを特徴とする請求項１記載の仮想ライブラリ装置。
【請求項３】
排他的に確保すべき物理ドライブが使用中である場合に、該使用中である物理ドライブから該物理ドライブに投入されている媒体をアンマウントして、該物理ドライブに前記診断処理に用いる媒体をマウントするマウント／アンマウント処理部を備える
ことを特徴とする請求項１記載の仮想ライブラリ装置。
【請求項４】
仮想ライブラリ装置における、物理ドライブの診断方法であって、
前記仮想ライブラリ装置が、前記物理ドライブのエラー発生時における前記ホストからの指示に従って、論理ドライブと前記物理ドライブとを排他的に確保し、
前記仮想ライブラリ装置が、前記排他的に確保された論理ドライブを介して、前記排他的に確保された物理ドライブについて診断処理を実行し、
前記仮想ライブラリ装置が、前記物理ドライブについての診断処理の実行完了後に、前記排他的に確保された論理ドライブと物理ドライブとを解放する
ことを特徴とする物理ドライブの診断方法。
【請求項５】
前記仮想ライブラリ装置が、前記診断処理によって物理ドライブに異常が検出されたかを判断し、該物理ドライブに異常が検出されたと判断した場合に、前記排他制御部が、前記エラー発生時に該物理ドライブが使用していた媒体を該物理ドライブの直前に使用していた物理ドライブを新たに排他的に確保し、
前記仮想ライブラリ装置が、前記新たに排他的に確保された物理ドライブについて診断処理を実行する
ことを特徴とする請求項４記載の物理ドライブの診断方法。
【請求項６】
前記仮想ライブラリ装置が、更に、排他的に確保すべき物理ドライブが使用中である場合に、該使用中である物理ドライブから該物理ドライブに投入されている媒体をアンマウントして、該物理ドライブに前記診断処理に用いる媒体をマウントする
ことを特徴とする請求項４記載の物理ドライブの診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ライブラリ装置及び物理ドライブの診断方法に関する。
【背景技術】
【０００２】
図７は、本発明者らが検討した仮想ライブラリ装置の構成例を示す図である。ホスト（ホストコンピュータ）１０から仮想ライブラリ装置１１が備える階層制御サーバ１１１に対して、データのＷｒｉｔｅ（書き込み）要求があると、階層制御サーバ１１１が、仮想ライブラリ装置１１内のディスクアレイ装置１１２が備える複数の論理ドライブ２００に、データのＷｒｉｔｅ（書き込み）を実行させる。論理ドライブ２００は、該データを論理ボリュームに書き込む。その後、階層制御サーバ１１１が、ホスト１０を介さずにバックグラウンドで、上記論理ボリュームに書き込まれたデータをテープライブラリ１２内の物理ドライブ１２３に投入されている物理テープ（媒体）へ保存（マイグレーション処理）する。具体的には、階層制御サーバ１１１がテープライブラリ１２が備えるドライブ制御部１２１に指示して、上記データを物理ドライブ１２３に投入されている物理テープに書き込ませる。なお、ロボット１２２は、物理テープを搬送して物理ドライブ１２３に投入する装置である。
【０００３】
バックグラウンドの物理ドライブ１２３にエラーが発生（例えば故障した）場合は、階層制御サーバ１１１が、この物理ドライブ１２３が階層制御サーバから使用されないように、物理ドライブ１２３をオフラインにして切り離し、物理ドライブ１２３の保守作業（ヘッド清掃、故障部品交換等）を実行している間に当該物理ドライブ１２３へアクセスされないようにする。ヘッド清掃や部品交換作業等を実行した後の物理ドライブの診断テストについては、ドライブ単体でオフラインにして診断テストを実施し、完了後オンラインにする。
【０００４】
なお、データ記憶システムに複数のホスト・コンピュータを接続するために、動的に複数のテープ・ドライブを選択する方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３７３５５７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図７を参照して前述した仮想ライブラリ装置は、物理ドライブをオフラインにして切り離した上で診断テストを実行する。従って、例えば、階層制御サーバ１１１とテープライブラリ１２のドライブ制御部１２１との間の部品（ケーブル、ドライバ、レシーバ等）に故障が発生している場合には、上記診断テストの後オンラインにしてホスト１０から物理ドライブ１２３を診断しようとしても、この物理ドライブ１２３についてオンラインで診断することができない。また、物理ドライブを故障させる媒体である、いわゆるキラー媒体が存在する場合、複数の物理ドライブが故障している可能性がある。キラー媒体によって多数の物理ドライブが故障している場合、故障した物理ドライブの修理に時間がかかる。従って、キラー媒体を使用していた全ての物理ドライブを排他的に確保した上で該物理ドライブをオンラインで診断する必要がある。更に、オンライン診断中の物理ドライブとは異なる他の物理ドライブを用いて一般ＪＯＢ（ジョブ）を実行可能であることが望ましい。
【０００７】
本発明は、エラーが発生した物理ドライブを排他的に確保して診断する仮想ライブラリ装置の提供を目的とする。
【０００８】
また、本発明は、エラーが発生した物理ドライブを排他的に確保して診断する物理ドライブの診断方法の提供を目的とする。
【課題を解決するための手段】
【０００９】
本仮想ライブラリ装置は、物理ドライブのエラー発生時におけるホストからの指示に従って、論理ドライブと前記物理ドライブとを排他的に確保する排他制御部と、前記排他的に確保された論理ドライブを介して、前記排他的に確保された物理ドライブについて診断処理を実行する診断部とを備え、前記排他制御部が、前記診断部による前記物理ドライブについての診断処理の実行完了後に、前記排他的に確保された論理ドライブと物理ドライブとを解放する。
【００１０】
また、本物理ドライブの診断方法は、仮想ライブラリ装置における、物理ドライブの診断方法である。前記仮想ライブラリ装置が、前記物理ドライブのエラー発生時における前記ホストからの指示に従って、論理ドライブと前記物理ドライブとを排他的に確保し、前記仮想ライブラリ装置が、前記排他的に確保された論理ドライブを介して、前記排他的に確保された物理ドライブについて診断処理を実行し、前記仮想ライブラリ装置が、前記物理ドライブについての診断処理の実行完了後に、前記排他的に確保された論理ドライブと物理ドライブとを解放する。
【発明の効果】
【００１１】
本仮想ライブラリ装置及び本物理ドライブの診断方法によれば、論理ドライブと物理ドライブとを排他的に確保した上で、この物理ドライブについてオンラインで診断処理を実行することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態の構成例を示す図である。
【図２】物理ドライブ使用情報記憶部内の物理ドライブ使用情報の例を示す図である。
【図３】履歴情報記憶部内の履歴情報の例を示す図である。
【図４】ホストの動作処理フローの例を示す図である。
【図５】階層制御サーバの動作処理フローの例を示す図である。
【図６】階層制御サーバの動作処理フローの例を示す図である。
【図７】本発明者らが検討した仮想ライブラリ装置の構成例を示す図である。
【発明を実施するための形態】
【００１３】
図１は、本実施形態の構成例を示す図である。本実施形態の仮想ライブラリ装置は、階層制御サーバ２、ディスクアレイ装置３を備える。この仮想ライブラリ装置は、ホストコンピュータ（以下、「ホスト」と記述）１から実行要求された一般ＪＯＢ（ジョブ）を論理ドライブ３０、物理ドライブ４に実行させる。また、仮想ライブラリ装置は、論理ドライブ３０を介して、後述する診断処理を物理ドライブ４について実行する。なお、物理ドライブ４は、例えば周知のテープライブラリ内に設けられ、物理テープ等の物理ボリューム（媒体）に対してアクセスする機能を有する。
【００１４】
ホスト１は、階層制御サーバ２に対して、図示を省略するネットワークを介して、一般ジョブの実行指示、論理ドライブのリザーブ（確保）指示、物理ドライブのリザーブ（確保）指示、物理ドライブの診断処理の実行指示、論理ドライブの解放指示、物理ドライブの解放指示を行う。一般ジョブの実行指示は、階層制御サーバ２に、例えば、データのＲｅａｄ（読み出し）、Ｗｒｉｔｅ（書き込み）等の一般ジョブの実行をさせる指示である。論理ドライブのリザーブ指示は、階層制御サーバ２に空いている（ジョブの実行に使用していない）論理ドライブ３０を排他的に確保させる指示、すなわち、該論理ドライブ３０が一般ジョブを受け付けられないようにガードする指示である。物理ドライブのリザーブ指示は、階層制御サーバ２に、エラーが発生した物理ドライブ４を排他的に確保させる指示である。具体的には、一般ジョブを実行中の物理ドライブ４にエラーが発生すると、後述する階層制御サーバ２が備える物理ドライブ排他制御部２２がホスト１に対してこのエラーの発生を通知するので、ホスト１は、このエラーの発生の通知を受けた時に、論理ドライブのリザーブ指示、物理ドライブのリザーブ指示を行う。なお、物理ドライブ排他制御部２２は、エラーの発生を通知する際に、エラーが発生した物理ドライブの識別情報等、リザーブ指示に必要な情報をホスト１に送信する。
【００１５】
物理ドライブの診断処理の実行指示は、階層制御サーバ２に、上記排他的に確保された物理ドライブ４についての診断処理を実行させる指示である。物理ドライブ４についての診断処理は、例えば、該物理ドライブ４に投入される診断用媒体にテストデータを書き込むことができるか、該診断用媒体からテストデータを読み出すことができるかについて診断する処理である。論理ドライブの解放指示は、階層制御サーバ２に上記排他的に確保された論理ドライブを解放させる指示である。物理ドライブの解放指示は、階層制御サーバ２に上記診断処理が完了した物理ドライブ４を解放させる指示である。
【００１６】
階層制御サーバ２は、ホスト１から、一般ＪＯＢ（ジョブ）の実行指示を受け、一般ジョブを実行する。例えば、階層制御サーバ２は、ホスト１から論理ボリュームからのデータのＲｅａｄ（読み出し）要求、論理ボリュームへのＷｒｉｔｅ（書き込み）要求を受けると、ディスクアレイ装置３内の論理ドライブ３０に指示して、該データの論理ボリュームからの読み出し、論理ボリュームへのデータの書き込みを実行させる。階層制御サーバ２は、論理ボリュームへのデータの書き込み完了後、書き込まれたデータを物理ドライブ４に投入されている媒体へ保存（マイグレーション処理）する。
【００１７】
なお、階層制御サーバ２は、ディスクアレイ装置３をキャッシュとして用いて、ホスト１から要求された論理ボリュームへアクセスする。ホスト１が要求したデータがディスクアレイ装置３内に保持されていない場合には、階層制御サーバ２は、要求されたデータが記憶されている物理ボリューム（媒体）を物理ドライブ４にマウントし、該物理ドライブ４からデータを読み出してディスクアレイ装置３に展開する。
【００１８】
本実施に特有の動作として、階層制御サーバ２は、物理ドライブにエラーが発生した時に、ホスト１に対してエラーの発生を通知する。このエラーの発生の通知を受けたホスト１からの指示に従って、階層制御サーバ２は、論理ドライブ３０と物理ドライブ４とを排他的に確保する。そして、階層制御サーバ２は、排他的に確保された論理ドライブ３０を介して、上記排他的に確保された物理ドライブ４について診断処理を実行する。
【００１９】
階層制御サーバ２は、論理ドライブ排他制御部２１、物理ドライブ排他制御部２２、診断部２３、一般ＪＯＢ（ジョブ）実行部２４、マウント／アンマウント処理部２５、マイグレーション処理部２６、履歴情報記憶部２７、物理ドライブ使用情報記憶部２８を備える。論理ドライブ排他制御部２１は、ホスト１から、前述した論理ドライブのリザーブ指示を受けて、空いている（ジョブの実行に使用していない）論理ドライブ３０を排他的に確保する。具体的には、論理ドライブ排他制御部２１は、所定の管理テーブル上に、論理ドライブ３０に対応付けて、該論理ドライブ３０が排他的に確保されていることを示すフラグを設定する。また、論理ドライブ排他制御部２１は、ホスト１から、前述した論理ドライブの解放指示を受け、排他的に確保されている論理ドライブ３０を解放する。具体的には、論理ドライブ排他制御部２１は、上記管理テーブル上に設定されている解放対象の論理ドライブ３０に対応するフラグを解除する。
【００２０】
物理ドライブ排他制御部２２は、物理ドライブ４にエラーが発生したことを検知して、ホスト１に対してこのエラーの発生を通知する。また、物理ドライブ排他制御部２２は、ホスト１から、上記エラーが発生した物理ドライブのリザーブ指示を受けて、該物理ドライブ４を排他的に確保する。具体的には、物理ドライブ排他制御部２２は、所定の管理テーブル上に、物理ドライブ４に対応付けて、該物理ドライブ４が排他的に確保されていることを示すフラグを設定する。本実施形態においては、物理ドライブ排他制御部２２は、後述する物理ドライブ使用情報記憶部２８内の物理ドライブ使用情報を参照して、上記排他的に確保すべき物理ドライブ４が使用中であるか（一般ジョブの実行に使用されているか）、又は空いているかを判断する。物理ドライブ排他制御部２２は、物理ドライブ４が空いている場合には、この物理ドライブ４が一般ジョブを受け付けられないようにした上で、マウント／アンマウント処理部２５に指示して、診断用媒体を該物理ドライブ４にマウント（投入）させる。物理ドライブ排他制御部２２は、排他的に確保すべき物理ドライブ４が一般ジョブの実行に使用されている場合には、マウント／アンマウント処理部２５に指示して、該使用中である物理ドライブ４から該物理ドライブ４に投入されている媒体をアンマウントさせる。そして、物理ドライブ排他制御部２２は、該物理ドライブ４が一般ジョブを受け付けられないようにした上で、マウント／アンマウント処理部２５に指示して、該物理ドライブ４に診断用媒体をマウントさせる。また、物理ドライブ排他制御部２２は、ホスト１から、前述した物理ドライブの解放指示を受け、診断処理が完了した物理ドライブを解放する。具体的には、物理ドライブ排他制御部２２は、管理テーブル上に設定されている解放対象の物理ドライブ４に対応するフラグを解除する。
上述した論理ドライブ排他制御部２１及び物理ドライブ排他制御部２２は、物理ドライブ４のエラー発生時におけるホスト１からの指示に従って、論理ドライブ３０と物理ドライブ４とを排他的に確保する排他制御部としての機能を有する。
【００２１】
診断部２３は、ホスト１からの物理ドライブの診断処理の実行指示に従って、排他的に確保された論理ドライブ３０を介して、排他的に確保された物理ドライブ４について診断処理（オンライン診断）を実行する。例えば、排他的に確保された論理ドライブ３０、物理ドライブ４が、それぞれ、図１中の＃１に示す論理ドライブ３０、＃１０に示す物理ドライブ４であるとすると、診断部２３は、診断処理によって該物理ドライブ４に異常が検出されたかを判断する。診断部２３が、該物理ドライブ４に異常が検出されたと判断した場合、上記物理ドライブ排他制御部２２が、履歴情報記憶部２７内の履歴情報を参照して、エラー発生時にこの＃１０に示す物理ドライブ４が使用していた媒体を該物理ドライブ４の直前に使用していた物理ドライブ４（例えば、図１中の＃１１に示す物理ドライブ４）を新たに排他的に確保する。そして、診断部２３が、新たに排他的に確保された物理ドライブについて診断処理を実行する。すなわち、物理ドライブ排他制御部２２は、診断処理の結果、異常が検出されない物理ドライブ４（例えば、図１中の＃１２に示す物理ドライブ４）に至るまで順次物理ドライブ４を排他的に確保する。物理ドライブ排他制御部２２が、診断処理の結果、異常が検出されない物理ドライブ４に至るまで順次物理ドライブ４を排他的に確保するのは、異常が検出された物理ドライブ４は、前述した物理ドライブ排他制御部２２によるエラー発生の検知時にキラー媒体（物理ドライブ４を故障させる媒体）を使用していたと考えられるため、このキラー媒体を使用していた全ての物理ドライブ４を排他的に確保して診断する必要があるためである。すなわち、キラー媒体を使用していた全ての物理ドライブ４の診断が完了し安全が確認されるまで、キラー媒体が一般ジョブで使用されることを防止するためである。診断部２３は、診断処理の結果、物理ドライブ４に異常が検出されない場合には、ホスト１に対して診断処理の完了を通知する。
【００２２】
一般ジョブ実行部２４は、ホスト１から一般ジョブの実行指示を受けて、一般ジョブを実行する。例えば、一般ジョブ実行部２４は、論理ドライブ３０にデータを書き込む。マウント／アンマウント処理部２５は、物理ドライブ排他制御部２２からの指示を受けて、物理ドライブ４からの媒体のアンマウント、物理ドライブ４への診断用媒体のマウント処理を実行する。マイグレーション処理部２６は、論理ドライブ３０にデータが書き込まれた後、空いている物理ドライブ４にマウントされている媒体に該データを保存する。
【００２３】
履歴情報記憶部２７は、履歴情報を記憶する。履歴情報は、少なくとも、どの物理ドライブがどの媒体を使用していたかを示す情報を含んでいる。物理ドライブ使用情報記憶部２８は、物理ドライブ使用情報を記憶する。物理ドライブ使用情報は、論理ドライブ３０、物理ドライブ４が使用中であるか（一般ジョブの実行に使用されているか）、又は空いているか示す情報である。
【００２４】
図１を参照して説明した本実施形態の仮想ライブラリ装置によれば、論理ドライブ３０と物理ドライブ４とを排他的に確保した上で、この物理ドライブ４についてオンラインで診断処理を実行することが可能となる。また、診断処理中の物理ドライブ４とは異なる他の物理ドライブ４を用いて、一般ジョブを実行可能となる。また、本実施形態の仮想ライブラリ装置によれば、キラー媒体を使用していた全ての物理ドライブ４を排他的に確保して、この排他的に確保された物理ドライブ４について診断処理を実行することができる。
【００２５】
図２は、物理ドライブ使用情報記憶部内の物理ドライブ使用情報の例を示す図である。物理ドライブ使用情報は、論理ドライブ、物理ドライブ、状態というデータ項目を有する。論理ドライブは、論理ドライブ３０を示す。物理ドライブは、上記論理ドライブ３０に対応付けられている物理ドライブ４を示す。論理ドライブ３０に対応付けられている物理ドライブ４は、該論理ドライブ３０を介して一般ジョブを実行する物理ドライブ４である。状態は、論理ドライブ３０と物理ドライブ４とが一般ジョブの実行に使用されているか空きであるかを示す。「使用中」は、一般ジョブの実行に使用されていることを示し、「空き」は、一般ジョブの実行に使用されていないことを示す。
【００２６】
図３は、履歴情報記憶部内の履歴情報の例を示す図である。履歴情報は、時刻、物理ドライブ、媒体といったデータ項目を有する。時刻は、物理ドライブ４が媒体を使用していた時刻、物理ドライブは物理ドライブ４を示す。媒体は上記物理ドライブが使用していた媒体を示す。
【００２７】
図４は、ホストの動作処理フローの例を示す図である。まず、ホスト１が、階層制御サーバ２から物理ドライブ４にエラーが発生したことを通知されると（ステップＳ１）、階層制御サーバ２に対して、論理ドライブのリザーブ指示を行う（ステップＳ２）。例えば、論理ドライブＸを確保する場合、ホスト１は、”ＶＡＲＹ  ＲＥＳＥＲＶＥ  Ｘ”というコマンドを発行することによって、論理ドライブのリザーブ指示を行う。次に、ホスト１が、階層制御サーバ２に対して、物理ドライブのリザーブ指示を行い（ステップＳ３）、階層制御サーバ２に上記エラーが発生した物理ドライブ４を排他的に確保させる。続いて、ホスト１が、階層制御サーバ２に対して、物理ドライブの診断処理の実行指示を行う（ステップＳ４）。ホスト１が、階層制御サーバ２から診断処理の完了の通知を受けると（ステップＳ５）、ホスト１が、階層制御サーバ２に対して、論理ドライブの解放指示、物理ドライブの解放指示を行う（ステップＳ６）。
【００２８】
図５及び図６は、階層制御サーバの動作処理フローの例を示す図である。まず、図５のステップＳ１１において、階層制御サーバ２の物理ドライブ排他制御部２２が、物理ドライブ４にエラーが発生したことを検知して、該物理ドライブ４にエラーが発生したことをホスト１に通知する（ステップ１１）。階層制御サーバ２の論理ドライブ排他制御部２１が、ホスト１から論理ドライブのリザーブ指示を受け（ステップＳ１２）、論理ドライブ３０を排他的に確保する（ステップＳ１３）。次に、物理ドライブ排他制御部２２が、ホスト１から物理ドライブのリザーブ指示を受け（ステップＳ１４）、物理ドライブ４を排他的に確保する（ステップＳ１５）。次に、マウント／アンマウント処理部２５が、ステップＳ１５において排他的に確保された物理ドライブ４に診断用媒体をマウントする（ステップＳ１６）。続いて、診断部２３が、上記ステップＳ１３において排他的に確保された論理ドライブ３０を介して、上記ステップＳ１５において排他的に確保された物理ドライブ４について診断処理を実行する（ステップＳ１７）。
【００２９】
次に、図６のステップＳ１８において、診断部２３が、物理ドライブ４に異常が発生したかを判断する（ステップＳ１８）。診断部２３が、物理ドライブ４に異常が発生していないと判断した場合は、診断部２３が、診断処理の実行の完了をホスト１に通知する（ステップＳ１９）。そして、論理ドライブ排他制御部２１、物理ドライブ排他制御部２２が、それぞれ、ホスト１から論理ドライブの解放指示、物理ドライブの解放指示を受けて、論理ドライブ３０、物理ドライブ４を解放する（ステップＳ２０）。上記ステップＳ１８において、診断部２３が、物理ドライブ４に異常が発生したと判断した場合は、物理ドライブ排他制御部２２が、履歴情報記憶部２７内の履歴情報を参照して、この診断処理の対象となった物理ドライブ４が図５のステップＳ１１において検知されたエラーの発生時に使用していた媒体を該物理ドライブ４の直前に使用していた物理ドライブ４を特定する。そして、物理ドライブ排他制御部２２が、特定された物理ドライブ４を排他的に確保して（ステップＳ２１）、図５のステップＳ１６に戻る。
【符号の説明】
【００３０】
１  ホスト
２  階層制御サーバ
３  ディスクアレイ装置
４  物理ドライブ
２１  論理ドライブ排他制御部
２２  物理ドライブ排他制御部
２３  診断部
２４  一般ジョブ実行部
２５  マウント／アンマウント処理部
２６  マイグレーション処理部
２７  履歴情報記憶部
２８  物理ドライブ使用情報記憶部
３０  論理ドライブ
【図１】
2010170350.tif 000003
【図２】
2010170350.tif 000004
【図３】
2010170350.tif 000005
【図４】
2010170350.tif 000006
【図５】
2010170350.tif 000007
【図６】
2010170350.tif 000008
【図７】
2010170350.tif 000009