(第1の実施形態)
以下、本発明の第1の実施形態について図面を参照して詳細に説明する。本発明の第1の実施形態に係るネットストレージシステム1は、図1に示すように、ネットワークストレージ装置10およびネットワークストレージ制御装置20を備える。ネットワークストレージ装置10は、ネットワークストレージ制御装置20と通信するとともに、複数のクライアント端末40(クライアント端末40−1、クライアント端末40−2、…)と通信する。ネットワークストレージ制御装置20は、ネットワークストレージ装置10と通信するとともに、システム管理端末30、複数のクライアント端末40と通信する。なお、当該通信は、例えば、iSCSI(Internet Small Computer System Interface)により行ってもよい。また、図1に示される各装置、各端末は、何れも図1に示される台数に限定されるものではなく、システムの適用場面、ネットワーク環境などによりそれぞれ任意の台数としてよい。
ネットワークストレージ装置10は、記憶部100およびボリューム制御部110を備える。記憶部100は、系統の異なる複数のボリュームを記憶する。ボリュームとは、当該ネットワークストレージ装置10に帰属する各クライアント端末40の動作に必要な情報の管理単位である。クライアント端末40の動作に必要な情報とは、例えば、クライアント端末40において実行されるOSプログラム、アプリケーションプログラムである。また、ボリュームは、クライアント端末40からのボリューム読み出し要求に応じてクライアント端末40に送信されてクライアント端末40において利用される。系統とは、ボリュームのクライアント端末40による利用態様の別を示すものである。
記憶部100は、より詳細には、1個のメンテナンスボリューム110と、1個の運用ボリューム120と、1個以上の旧運用ボリューム130とを記憶する。記憶部100が記憶する旧運用ボリューム130の個数(以下、「実生成個数M」という。Mは1以上の整数)は、ネットワークストレージ制御装置20の管理する最大生成個数N(Nは、2以上の整数)以下である。例えば、最大生成個数Nが10である場合、記憶部100は、1個乃至10個の旧運用ボリューム130を記憶する。即ち、N=10の場合、M=1、2、3、…10の何れかである。なお、最大生成個数Nは、ネットストレージシステム1においては固定数(静的な数)である。
メンテナンスボリューム110は、メンテナンス系(系統)のボリュームである。メンテナンスボリューム110は、当該ネットワークストレージ装置10に帰属するクライアント端末40から送信されるメンテナンスボリューム読み出し要求に応じてクライアント端末40に送信され読み出されるボリュームである。メンテナンスボリューム110は、送信され読み出されたクライアント端末40によってメンテナンスされる。なお、メンテナンスとは、メンテナンスボリューム内のプログラムのバージョンアップ、セキュリティパッチの適用などをいう。
運用ボリューム120は、メンテナンスボリューム110の系統切替後のボリュームであって運用系(系統)のボリュームである。運用ボリューム122は、当該ネットワークストレージ装置10に帰属するクライアント端末40から送信される運用ボリューム読み出し要求に応じてクライアント端末40に送信され読み出されるボリュームである。
旧運用ボリューム130は、運用ボリューム120の系統切替後のボリュームであって旧運用系(系統)のボリュームである。即ち、旧運用ボリューム130は、クライアント端末40によってメンテナンスされたメンテナンスボリューム120が運用段階に移行して運用ボリューム122として取り扱われる際に、それまで運用ボリューム120として取り扱われていたボリュームである。
ボリューム制御部110は、クライアント端末40から送信されるボリューム読み出し要求を受信する。ボリューム制御部110は、クライアント端末40からボリューム読み出し要求を受信した場合、ボリューム読み出し要求に対応するボリュームを記憶部100から読み出し、当該クライアント端末40に送信する。具体的には、ボリューム制御部110は、ボリューム読み出し要求に応じてクライアント端末40との間でセッションを確立し、例えば、クライアント端末40との間でボリュームに含まれるプログラムなどの情報を送受信する。
また、ボリューム制御部110は、ネットワークストレージ制御装置20のストレージ装置制御部230から、系統切替に係る命令である系統切替命令を受信する。より詳細には、ボリューム制御部110は、メンテナンス系ボリュームの複製に係る複製命令を系統切替命令として受信する。系統切替命令を受信したボリューム制御部110は、系統切替命令に従って系統切替処理を実行する。より詳細には、ボリューム制御部110は、複製命令に従ってメンテナンス系ボリュームを複製する。また、ボリューム制御部110は、ネットワークストレージ制御装置20のストレージ装置制御部230から、旧運用ボリュームの削除に係る命令である削除命令を受信した場合、削除命令に従って旧運用ボリュームを削除する。なお、ボリューム制御部110は、削除命令を系統切替命令として受信してもよいし、系統切替命令とは別個の命令として削除命令を受信してもよい。なお、削除命令には、削除すべき旧運用ボリュームのボリューム名(詳細は後述する)が含まれている。
ネットワークストレージ制御装置20は、記憶部200、ウェブサービス部210、起動サービス部220およびストレージ装置制御部230を備える。
記憶部200は、ネットワークストレージ装置10を管理するための種々の情報を記憶する。具体的には、記憶部200は、系統管理情報、使用状態情報、メンテナンス端末特定情報、起動基礎情報および最大生成個数情報を記憶する。
系統管理情報は、現在の各ボリュームの系統を示す情報である。記憶部200は、系統管理情報として、図2(a)に示すように、ボリューム名に対応付けてOS領域グループ名と系統名とを記憶する。ボリューム名は、ネットワークストレージ装置10の記憶部100に記憶される各ボリュームを識別する情報である。以下、ボリューム名「X」によって識別されるボリュームをボリューム「X」と記載する。OS領域グループ名は、例えば、OSプログラム、アプリケーションなどの各ボリュームの内容を特定する情報である。系統名は、各ボリュームの現在の系統(例えば、メンテナンス系、運用系、旧運用系の何れか)を示す情報である。図2(a)に示す例(1行目)によれば、記憶部200は、ボリューム「M」が、「OS1」を内容とし、現在、メンテナンスボリュームである旨を記憶している。
使用状態情報は、クライアント端末40による各ボリュームの現在の使用状態を示す情報である。記憶部200は、使用状態情報として、図2(b)に示すように、クライアント名に対応付けてボリューム名を記憶する。クライアント名は、各クライアント端末40を識別する情報である。ボリューム名は、上述の如く、ネットワークストレージ装置10の記憶部100に記憶される各ボリュームを識別する情報である。以下、クライアント名「X」によって識別されるクライン端末40をクライアント端末「X」と記載する。図2(b)に示す例(1行目)によれば、記憶部200は、クライアント端末「C5」が、ボリューム「M」を使用している旨を記憶している。従って、系統管理情報(1行目)および使用状態情報(1行目)によれば、記憶部200は、クライアント端末「C5」が、メンテナンスボリューム「M」を使用している旨を記憶している。
メンテナンス端末特定情報は、メンテナンスを実施するクライアント端末40であるメンテナンス端末を特定するための情報である。記憶部200は、メンテナンス端末特定情報として、図2(c)に示すように、クライアント名に対応付けてメンテナンスフラグを記憶する。クライアント名は、上述の如く、各クライアント端末40を識別する情報である。メンテナンスフラグは、各クライアント端末40がメンテナンス端末であるか否かを示すフラグである。従って、メンテナンス端末特定情報によれば、あるクライアント端末40がメンテナンス端末であるか否かを判断することができる。なお、メンテナンスフラグは、例えば、システム管理端末30からの命令によって設定されるものであり、システム管理端末30においてメンテナンス端末となるクライアント端末40が指定され、メンテナンス端末特定情報としてネットワークストレージ制御装置20内に記憶される。
起動基礎情報は、クライアント端末40からの起動情報要求に応じて当該クライアント端末に送信する起動情報の基礎になる情報である。起動情報は、例えば、ブートファイルなどであって、ボリューム読み出し要求において読み出すべきボリュームを指定するためのボリューム名である宛先ボリューム名、宛先ボリューム名に係るボリュームの系統(例えば、メンテナンス系、運用系の何れか)を示す情報である宛先ボリューム系統名を含む情報である。記憶部200は、クライアント端末40毎の起動基礎情報を記憶する。
最大生成個数情報は、旧運用ボリュームの最大生成個数N(Nは、2以上の整数)を示す情報である。なお、上述の如く、記憶部100が記憶する旧運用ボリューム130の個数(即ち、実生成個数M)は、最大生成個数N以下である。例えば、最大生成個数Nが10である場合、実生成個数Mは1、2、3、…10の何れかである。また、上述の如く、最大生成個数Nは、固定数であるが、固定数である最大生成個数Nは、ネットワークストレージ装置10内に記憶できる旧運用系ボリューム130の最大数としてもよい。また、最大生成個数Nは、例えば、システム管理端末30からの命令によって設定または再設定される。即ち、最大生成個数Nは、システム管理端末30において指定され、最大生成個数情報としてネットワークストレージ制御装置20内に記憶される。
ウェブサービス部210は、システム管理端末30に対してウェブサービス機能を提供する。ウェブサービス部210は、ウェブサービス機能を利用して、システム管理端末30と通信する。ウェブサービス部210は、システム管理端末30からの受信情報に応じて、例えば、記憶部200内の種々の情報をシステム管理端末30に送信し、記憶部200内の種々の情報を更新し、ストレージ装置制御部230に受信情報(例えば、後述する系統切替要求)を転送する。
起動サービス部220は、クライアント端末40から起動情報要求を受信する。起動サービス部230は、クライアント端末40から起動情報要求を受信した場合、記憶部200内のメンテナンス端末情報を参照し、起動情報要求の送信元であるクライアント端末40がメンテナンス端末であるか否かを判断する。
起動サービス部220は、起動情報要求の送信元であるクライアント端末40がメンテナンス端末でないと判断した場合には、記憶部200内の系統管理情報を参照し、系統「運用系」に対応するボリューム名を取得するとともに、記憶部200から送信元であるクライアント端末40に対応する起動基礎情報を取得する。ボリューム名および起動基礎情報を取得した起動サービス部220は、当該起動基礎情報に基づく起動情報であって、当該ボリューム名を宛先ボリューム名とし、かつ、運用系を宛先ボリューム系統名とする起動情報を生成し、送信元であるクライアント端末40に送信する。
起動サービス部220は、起動情報要求の送信元であるクライアント端末40がメンテナンス端末であると判断した場合には、記憶部200内の系統管理情報を参照し、系統「メンテナンス系」に対応するボリューム名を取得するとともに、記憶部200から送信元であるクライアント端末40に対応する起動基礎情報を取得する。ボリューム名および起動基礎情報を取得した起動サービス部220は、当該起動基礎情報に基づく起動情報であって、当該ボリューム名を宛先ボリューム名とし、かつ、メンテナンス系を宛先ボリューム系統名とする起動情報を生成し、送信元であるクライアント端末40に送信する。
また、起動サービス部220は、クライアント端末40に起動情報を送信する場合、記憶部200の使用状態情報を更新する。例えば、起動サービス部220は、あるクライアント端末40に、あるボリューム名を宛先ボリューム名とし、かつ、運用系(またはメンテナンス系)を宛先ボリューム系統名とする起動情報を送信する場合、使用状態情報として、当該クライアントのクライアント名に対応付けて当該宛先ボリューム名を記憶する。また、起動サービス部220は、使用中のボリュームの使用を終了する旨の要求を受信した場合にも、記憶部200の使用状態情報を更新する。例えば、起動サービス部220は、あるボリュームを使用しているクライアント端末40から当該ボリュームの使用を終了する旨の要求を受信した場合、当該クライアントのクライアント名を対応するボリューム名とともに削除する。
ストレージ装置制御部230は、ウェブサービス部210から種々の情報を取得する。ストレージ装置制御部230は、ウェブサービス部210からの取得情報に応じて、ネットワークストレージ装置10に種々の情報を送信する。具体的には、ストレージ装置制御部230は、ウェブサービス部210から系統切替に係る要求である系統切替要求を取得した場合、記憶部200に記憶されている系統管理情報および使用状態情報を参照し、メンテナンスボリューム110がクライアント端末40によって使用されているか否かを判断する。即ち、ストレージ装置制御部230は、メンテナンスボリューム110が使用中であるか否かを判断する。
ストレージ装置制御部230は、メンテナンスボリューム110がクライアント端末40によって使用されていないと判断した場合、記憶部200に記憶されている系統管理情報、使用状態情報および最大生成個数情報を参照し、使用中の旧運用ボリューム数が最大生成個数N未満であるか否かを判断する。なお、実生成個数Mが最大生成個数Nよりも小さい場合には、常に、使用中の旧運用ボリューム数は最大生成個数N未満である。
ストレージ装置制御部230は、使用中の旧運用ボリューム数が最大生成個数N未満であると判断した場合、系統切替命令をネットワークストレージ装置10のボリューム制御部110に送信する。具体的には、ストレージ装置制御部230は、複製命令をネットワークストレージ装置10のボリューム制御部110に送信する。なお、ストレージ装置制御部230から系統切替命令を受信したボリューム制御部110は、系統切替命令に従って系統切替処理を実行する。
一方、ストレージ装置制御部230は、メンテナンスボリューム110がクライアント端末40によって使用されていると判断した場合、または、使用中の旧運用ボリューム数が最大生成個数N未満でないと判断した場合には、系統切替命令をネットワークストレージ装置10に送信しない。なお、使用中の旧運用ボリューム数が最大生成個数N未満でない場合とは、使用中の旧運用ボリューム数が最大生成個数Nと同数である場合である。即ち、実生成個数Mと最大生成個数Nとが一致する場合であって、具体的には、記憶部100内に最大生成個数Nの旧運用ボリューム130が生成され、かつ、その全てが使用中である場合である。
更に、ストレージ装置制御部230は、系統切替命令をネットワークストレージ装置10に送信する場合、記憶部200の系統管理情報を更新する。具体的には、ストレージ装置制御部230は、系統名「運用系」を系統名「旧運用系」に変更し、系統名「メンテナンス系」を系統名「運用系」に変更する。
また、ストレージ装置制御部230は、クライアント端末40によって使用されていない旧運用ボリュームが存在するときは、削除命令をネットワークストレージ装置10に送信してもよい。なお、ストレージ装置制御部230は、削除命令を系統切替命令として送信してもよいし、系統切替命令とは別個の命令として削除命令を送信してもよい。例えば、ストレージ装置制御部230は、系統切替命令をネットワークストレージ装置10に送信する場合に、クライアント端末40によって使用されていない旧運用ボリュームが存在するときは、当該未使用の旧運用ボリュームの削除命令をネットワークストレージ装置10のボリューム制御部110に送信してもよい。なお、ストレージ装置制御部230は、記憶部200内の系統管理情報および使用状態情報を参照し、クライアント端末40によって使用されていない旧運用ボリュームの有無、当該旧運用ボリューム名を特定する。なお、ストレージ装置制御部230から削除命令を受信したボリューム制御部110は、削除命令に従って旧運用ボリュームを削除する。
また、ストレージ装置制御部230は、未使用の旧運用ボリュームの削除命令をネットワークストレージ装置10に送信する場合、記憶部200の系統管理情報を更新する。具体的には、ストレージ装置制御部230は、記憶部200内の系統管理情報および使用状態情報を参照し、クライアント端末40によって使用されていない旧運用ボリュームのボリューム名に対応する系統名「旧運用系」を当該所定のボリューム名とともに削除する。
システム管理端末30は、管理者に利用される端末であってインターネットブラウザ機能を備える。システム管理端末30は、また、入力受付部310および通信部310を備える。入力受付部310は、例えば、キーボード、マウスなどの入力デバイスを介して、管理者から種々の情報の入力を受け付ける。通信部320は、自身のインターネットブラウザ機能、ネットワークストレージ制御装置20によって提供されるウェブサービス機能を利用して、ネットワークストレージ制御装置20と通信する。システム管理端末30は、管理者からの入力情報に応じて、例えば、ネットワークストレージ制御装置20の記憶部200内の情報を取得する命令または記憶部200内の情報を更新する命令をネットワークストレージ制御装置20のウェブサービス部210に送信する。また、システム管理端末30は、管理者からの入力情報に応じて、系統切替要求をウェブサービス部210に送信する。
クライアント端末40は、ユーザに利用される端末であってストレージを具備しないディスクレスPC(Personal Computer)である。クライアント端末40は、起動時に、起動情報要求をネットワークストレージ制御装置20の起動サービス部220に送信する。クライアント端末40は、起動情報要求を起動サービス部220に送信した後に、起動サービス部220から起動情報を受信する。
クライアント端末40は、起動サービス部220から起動情報を受信した場合、当該起動情報に応じたボリューム読み出し要求を生成する。具体的には、クライアント端末40は、あるボリューム名を宛先ボリューム名とし、宛先ボリューム系統名をメンテナンス系とする起動情報を受信した場合、当該宛先ボリューム名によって識別されるボリュームを宛先とするメンテナンスボリューム読み出し要求を生成する。クライアント端末40は、あるボリューム名を宛先ボリューム名とし、宛先ボリューム系統名を運用系とする起動情報を受信した場合、当該宛先ボリューム名によって識別されるボリュームを宛先とする運用ボリューム読み出し要求を生成する。メンテナンスボリューム読み出し要求または運用ボリューム読み出し要求を生成したクライアント端末40は、当該ボリューム読み出し要求をネットワークストレージ装置10のボリューム制御部110に送信する。
クライアント端末40は、ボリューム読み出し要求をボリューム制御部110に送信した後に、ネットワークストレージ装置10からボリューム読み出し要求に応じたボリュームを取得する。即ち、クライアント端末40は、メンテナンスボリューム読み出し要求をボリューム制御部110に送信した場合、ネットワークストレージ装置10からメンテナンスボリューム110を取得し、運用ボリューム読み出し要求をボリューム制御部110に送信した場合、ネットワークストレージ装置10から運用ボリューム120を取得する。
なお、クライアント端末40は、メンテナンスボリューム110を取得した場合、ユーザの操作に従って、自身のクライアント端末40を動作させているOSプログラム、アプリケーションプログラムなどのメンテナンスを実行する。メンテナンスの実行によって、ネットワークストレージ装置10の記憶部100内のメンテナンスボリューム110は更新される。
図3を用いてネットワークストレージシステム1における系統切替処理についてさらに説明する。ネットワークストレージ制御装置20のストレージ装置制御部230から系統切替命令(複製命令)を受信したネットワークストレージ装置10のボリューム制御部110は、図3(a)に示すように、メンテナンスボリューム「M」を複製して新規に運用ボリューム「BA」を生成する。一方、系統切替命令をボリューム制御部110に送信するストレージ装置制御部230は、図3(b)に示すように、系統管理情報のボリューム「M」の系統名を「メンテナンス系」から「運用系」に更新し、ボリューム「AB」の系統名を「運用系」から「旧運用系」に更新する。
また、ネットワークストレージ制御装置20のストレージ装置制御部230がボリューム名「AD」を含む削除命令をネットワークストレージ装置10のボリューム制御部110に送信した場合、当該削除命令を受信したボリューム制御部110は、図3(a)に示すように、旧運用ボリューム「AD」を削除する。一方、ボリューム名「AD」を含む削除命令をボリューム制御部110に送信するストレージ装置制御部230は、図3(b)に示すように、ボリューム「AD」に係る情報を削除する。
以下、図4を用いてネットワークストレージ制御装置20による系統切替処理の流れを説明する。図4に示すフローチャートは、ネットワークストレージ制御装置20のウェブサービス部210がシステム管理端末30の通信部320から系統切替要求を受信することにより開始する。後述の図6に示すフローチャートにおいても同様である。
系統切替要求を受信したウェブサービス部210は、当該系統切替要求をストレージ装置制御部230に供給(転送)する。ウェブサービス部210から系統切替要求を取得したストレージ装置制御部230は、記憶部200に記憶されている系統管理情報および使用状態情報を参照し、メンテナンスボリューム110がクライアント端末40によって使用されているか否か、即ち、メンテナンスボリューム110が使用中であるか否かを判断する(ステップS100)。
ストレージ装置制御部230は、メンテナンスボリューム110が使用中でないと判断した場合(ステップS100:No)、記憶部200に記憶されている系統管理情報、使用状態情報および最大生成個数情報を参照し、使用中の旧運用ボリューム数が最大生成個数N未満であるか否かを判断する(ステップS110)。
ストレージ装置制御部230は、使用中の旧運用ボリューム数が最大生成個数N未満であると判断した場合(ステップS110:Yes)、記憶部200に記憶されている系統管理情報を更新する。具体的には、ストレージ装置制御部230は、系統名「運用系」を系統名「旧運用系」に変更し(ステップS120)、未使用の旧運用ボリュームのボリューム名に対応する系統名「旧運用系」を当該所定のボリューム名とともに削除する(ステップS130)。
ステップS130に続いて、ストレージ装置制御部230は、メンテナンス系ボリュームの複製命令をネットワークストレージ装置10に送信する(ステップS140)。続いて、ストレージ装置制御部230は、記憶部200に記憶されている系統管理情報を更新する。具体的には、ストレージ装置制御部230は、系統名「メンテナンス系」を系統名「運用系」に変更する(ステップS150)。続いて、ストレージ装置制御部230は、削除命令をネットワークストレージ装置10に送信する(ステップS160)。続いて、ストレージ装置制御部230は、ウェブサービス部210を介して、システム管理端末30の通信部320に系統切替結果「正常終了」を送信する(ステップS170)。そして、本フローチャートは終了する。
一方、ストレージ装置制御部230は、メンテナンスボリューム110が使用中であると判断した場合(ステップS100:Yes)、ウェブサービス部210を介して、システム管理端末30の通信部320に系統切替結果「異常終了(メンテナンス中)」を送信する(ステップS180)。そして、本フローチャートは終了する。
一方、ストレージ装置制御部230は、使用中の旧運用ボリューム数が最大生成個数N未満でないと判断した場合(ステップS110:No)、ウェブサービス部210を介して、システム管理端末30の通信部320に系統切替結果「異常終了(最大生成個数超過)」を送信する(ステップS190)。そして、本フローチャートは終了する。
なお、最大生成個数情報に設定される最大生成個数Nが非常に大きい場合、例えば、想定し得る最大の旧運用系ボリュームの使用数を遥かに超える数を最大生成個数情報に設定した場合(概念的にはNは無限大)、ステップS110の処理は省略してもよい。即ち、ステップS100において、ストレージ装置制御部230は、メンテナンスボリューム110が使用中でないと判断した場合(ステップS100:No)、系統名「運用系」を系統名「旧運用系」に変更する(ステップS120)。以下、ステップS130以降を実行する。なお、ボリュームの使用数とは、クライアント端末40によって使用されているボリュームの数である。
続いて、図5を用いてネットワークストレージシステム1による系統切替処理の流れを説明する。図5に示すシーケンス図は、システム管理端末30がネットワークストレージ制御装置20に系統切替要求を送信することにより開始する(Seq1)。なお、図5に示すシーケンス図の開示時点において、メンテナンスボリューム110は未使用であって、かつ、使用中の旧運用ボリューム数は最大生成個数N未満であるもととする。後述の図7に示すシーケンス図においても同様である。
系統切替要求を取得したネットワークストレージ制御装置20のストレージ装置制御部230は、記憶部200内の系統管理情報を取得する(Seq2およびSeq3)。続いて、ストレージ装置制御部230は、記憶部200内のメンテナンス系の使用状況情報を取得する(Seq4およびSeq5)。
続いて、ストレージ装置制御部230は、取得した系統管理情報およびメンテナンス系の使用状態情報に基づいて、メンテナンスボリューム110が使用中であるか否かを判断する。メンテナンスボリューム110が使用中でないと判断したストレージ装置制御部230は、記憶部200内の最大生成個数情報を取得する(Seq6およびSeq7)。続いて、ストレージ装置制御部230は、記憶部200内の旧運用系の使用状況情報を取得する(Seq8およびSeq9)。なお、ストレージ装置制御部230は、系統管理情報および旧運用系の使用状態情報に基づいて、クライアント端末40によって使用されていない旧運用ボリュームが存在していると判断したものとする。
続いて、ストレージ装置制御部230は、取得した系統管理情報、使用状態情報(旧運用系)および最大生成個数情報に基づいて、使用中の旧運用ボリューム数が最大生成個数N未満であるか否かを判断する。使用中の旧運用ボリューム数が最大生成個数N未満であると判断したストレージ装置制御部230は、記憶部200内の系統管理情報を更新する。具体的には、ストレージ装置制御部230は、系統名「運用系」を系統名「旧運用系」に変更し(Seq10)、未使用の旧運用ボリュームのボリューム名に対応する系統名「旧運用系」を当該所定のボリューム名とともに削除する(Seq11)。
続いて、ストレージ装置制御部230は、メンテナンス系ボリュームの複製命令をネットワークストレージ装置10に送信する(Seq12)。なお、ストレージ装置制御部230から複製命令を受信したボリューム制御部110は、複製命令に従ってメンテナンス系ボリュームを複製する。
続いて、ストレージ装置制御部230は、記憶部200内の系統管理情報を更新する。具体的には、ストレージ装置制御部230は、系統名「メンテナンス系」を系統名「運用系」に変更する(Seq13)。続いて、ストレージ装置制御部230は、記憶部200内の使用状況情報(旧運用系)を取得する(Seq14およびSeq15)。なお、ストレージ装置制御部230は、系統管理情報および使用状態情報に基づいて、クライアント端末40によって使用されていない旧運用ボリュームが存在していると判断したものとする。
続いて、ストレージ装置制御部230は、削除命令をネットワークストレージ装置10に送信する(Seq16)。なお、ストレージ装置制御部230から削除命令を受信したボリューム制御部110は、削除命令に従って旧運用ボリュームを削除する。
続いて、ストレージ装置制御部230は、ウェブサービス部210を介して、システム管理端末30に系統切替結果「正常終了」を送信する(Seq17)。そして、本シーケンスは終了する。
なお、2度目の旧運用系の使用状況情報の取得(Seq14およびSeq15)は、ネットワークストレージ装置10から実際に旧運用系ボリューム130を削除する前に、確認的に実施するものであるが、省略してもよい。
なお、最大生成個数情報に設定される最大生成個数Nが非常に大きい場合、例えば、想定し得る最大の旧運用系ボリュームの使用数を遥かに超える数を最大生成個数情報に設定した場合、ストレージ装置制御部230は、使用中の旧運用ボリューム数が最大生成個数N未満であるか否かの判断を省略してもよい。即ち、ストレージ装置制御部230は、使用中の旧運用ボリューム数が最大生成個数N未満であるか否かの判断をすることなく、系統名「運用系」を系統名「旧運用系」に変更してもよい(Seq10)。以下、Seq11以降を実行する。
なお、Seq12およびSeq16においてネットワークストレージ制御装置20のストレージ装置制御部230が外部のネットワークストレージ装置10に送信する複製命令および削除命令は、何れも系統切替命令に該当するが、Seq10、Seq11およびSeq13においてストレージ装置制御部230が記憶部200内の系統管理情報を更新する各処理も系統切替命令に係る処理である。換言すれば、ネットワークストレージ制御装置20のストレージ装置制御部230は、系統管理情報を更新する命令を系統切替命令として内部の記憶部200にも送信する。
ところで、図4のフローチャートおよび図5のシーケンス図によれば、系統切替時に未使用の旧運用ボリューム130に加え、系統切替時に未使用の運用ボリューム120も削除対象となる。一方、系統切替時に未使用の運用ボリューム120を削除対象としない運用も考えられる。以下、図6を用いてネットワークストレージ制御装置20の系統切替処理の他の流れを説明する。また、図7を用いてネットワークストレージシステム1の系統切替処理の他の流れを説明する。
図6において、図6のステップS200は図4のステップS100と、図6のステップS210は図4のステップS110と、図6のステップS270は図4のステップS170と、図6のステップS280は図4のステップS180と、図6のステップS280は図4のステップS270とそれぞれ対応する。また、図6のステップS220は図4のステップS130と、図6のステップS230は図4のステップS160と、図6のステップS240は図4のステップS120と、図6のステップS250は図4のステップS140と、図6のステップS260は図4のステップS150とそれぞれ対応する。即ち、図6に示すフローチャートは、図4に示すフローチャートと処理順序が一部異なる点を除き同一である。
なお、図6において、最大生成個数情報に設定される最大生成個数Nが非常に大きい場合、例えば、想定し得る最大の旧運用系ボリュームの使用数を遥かに超える数を最大生成個数情報に設定した場合、ステップS210の処理は省略してもよい。即ち、ステップS200において、ストレージ装置制御部230は、メンテナンスボリューム110が使用中でないと判断した場合(ステップS200:No)、未使用の旧運用ボリュームのボリューム名に対応する系統名「旧運用系」を当該所定のボリューム名とともに削除する(ステップS220)。以下、ステップS230以降を実行する。
図7において、図7のSeq21は図5のSeq1と、図7のSeq22は図5のSeq2と、図7のSeq23は図5のSeq3と、図7のSeq24は図5のSeq4と、図7のSeq25は図5のSeq5と、図7のSeq26は図5のSeq6と、図7のSeq27は図5のSeq7と、図7のSeq28は図5のSeq8と、図7のSeq9は図5のSeq29と、図7のSeq35は図5のSeq17とそれぞれ対応する。また、図7のSeq30は図5のSeq11と、図7のSeq31は図5のSeq16と、図7のSeq32は図5のSeq10と、図7のSeq33は図5のSeq12と、図7のSeq34は図5のSeq13とそれぞれ対応する。図7において、図5のSeq14およびSeq15の処理である2回目の旧運用系の使用状況情報の取得に対応する処理は省略している。即ち、図7に示すシーケンス図は、図5に示すシーケンス図と処理順序が一部異なる点を除きほぼ同一である。図6のフローチャートおよび図7のシーケンス図によれば、系統切替時に未使用の運用ボリューム120は削除対象とならず、一旦、未使用の旧運用ボリューム130となり次回系統切替の削除対象となる。
なお、図7において、最大生成個数情報に設定される最大生成個数Nが非常に大きい場合、例えば、想定し得る最大の旧運用系ボリュームの使用数を遥かに超える数を最大生成個数情報に設定した場合、ストレージ装置制御部230は、使用中の旧運用ボリューム数が最大生成個数N未満であるか否かの判断を省略してもよい。即ち、ストレージ装置制御部230は、使用中の旧運用ボリューム数が最大生成個数N未満であるか否かの判断をすることなく、未使用の旧運用ボリュームのボリューム名に対応する系統名「旧運用系」を当該所定のボリューム名とともに削除してもよい(Seq30)。以下、Seq31以降を実行する。
以下、ネットワークストレージシステム1を構成するネットワークストレージ制御装置20の特徴および効果について説明する。
実生成個数Mが最大生成個数N未満である場合、ネットワークストレージ装置10の記憶部100に少なくとも1個(具体的にはN−M個)の新たな旧運用ボリュームを生成することができる。即ち、ネットワークストレージ装置10の記憶部100に記憶されている旧運用ボリューム130の数である実生成個数Mが、ネットワークストレージ制御装置20が管理する最大生成個数N未満である場合、運用ボリュームの旧運用ボリュームへの切替が可能である。運用ボリュームの数は1個であるため、少なくとも1個、新たに旧運用ボリュームを生成できれば切替が可能となるためである。そして、運用ボリューム120の旧運用ボリューム130への切替が可能であれば、メンテナンス中であるときを例外として原則的に、メンテナンスボリューム110の運用ボリューム120への切替が可能になる。
以上、第1の実施形態のネットワークストレージシステム1を構成するネットワークストレージ制御装置20によれば、最大生成個数Nを充分な数とすれば、旧運用ボリュームの利用者がいる場合であってもメンテナンスを実施して、その内容を反映することができるようになる。従って、例えば、セキュリティパッチの適用、ウィルス定義ファイルの更新を内容とする緊急のメンテナンスが必要となったときに、直ちに当該メンテナンスの内容を反映することができるようになる。
なお、上記実施形態では、最大生成個数Nを固定数としたが、最大生成個数Nを可変数(動的な数)としてもよい。最大生成個数Nを可変数とする場合、ネットワークストレージ装置10内の記憶領域を柔軟に管理することができるようになる。以下、説明する第2、第3の実施形態は、最大生成個数Nが可変数である実施形態である。
(第2の実施形態)
以下、本発明の第2の実施形態について図面を参照して説明する。図8は、第2の実施形態に係るネットワークストレージシステム2の構成図である。第2の実施形態に係るネットストレージシステム2は、第1の実施形態に係るネットストレージシステム1と共通の構成を有するため、共通する構成については、第1の実施形態と同一の符号を付し、その説明を一部または全部を省略する。第3の実施形態に係るネットワークストレージシステム3(後述)においても同様である。
ネットストレージシステム2は、図8に示すように、ネットワークストレージ装置10およびネットワークストレージ制御装置21を備える。ネットワークストレージ制御装置21は、記憶部201、ウェブサービス部210、起動サービス部220、ストレージ装置制御部230およびメンテナンス適用情報管理部240を備える。
記憶部201は、系統管理情報、使用状態情報、メンテナンス端末特定情報、起動基礎情報、最大生成個数情報およびメンテナンス適用情報を記憶する。メンテナンス適用情報は、クライアント端末40によって適用されたメンテナンスの内容に係る情報である。記憶部201は、メンテナンス適用情報として、図10(a)に示すように、メンテナンス日時に対応付けて種別および重要度を記憶する。メンテナンス日時は、クライアント端末40によってメンテナンスが適用された日時を示す情報であるが、記憶部201が当該情報を記憶した日時を示す情報であってもよい。種別は、当該メンテナンスの種別を示す情報である。重要度は、当該メンテナンスの内容の重要度を示す情報であって、例えば、その内容が緊急に反映させるべきものである場合には重要度は高くなる。
メンテナンス適用情報管理部240は、メンテナンスボリューム110に対してメンテナンスを実施したメンテナンス端末であるクライアント端末40からメンテナンス適用情報を受信する。メンテナンス適用情報を受信したメンテナンス適用情報管理部240は、記憶部201内のメンテナンス適用情報を更新する。なお、クライアント端末40は、例えば、セキュリティパッチ用のデータなどのメンテナンスに必要な情報を、例えば、ソフトウェアベンダのサイトなどの外部から受信し、当該メンテナンスに必要な情報に対応付けられている重要度をメンテナンス適用情報の重要度として、メンテナンス適用情報管理部240に送信するようにしてもよい。
また、メンテナンス適用情報管理部240は、記憶部201内のメンテナンス適用情報を参照し、同じく記憶部201内の最大生成個数情報を更新する。具体的には、メンテナンス適用情報管理部240は、例えば、メンテナンス適用情報の重要度が高い場合に最大生成個数Nを少なくし、低い場合に最大生成個数Nを多くするように最大生成個数情報を更新する。なお、メンテナンス適用情報管理部240は、重要度を点数化し、所定の閾値と比較することによって重要度の高低を判断してもよい。
なお、メンテナンス適用情報管理部240による最大生成個数情報の更新タイミングは種々のタイミングが考えられる。例えば、メンテナンス適用情報管理部240は、ストレージ装置制御部230から最大生成個数情報を更新すべき命令があった場合に、最大生成個数情報を更新する。なお、ストレージ装置制御部230は、メンテナンスボリューム110がクライアント端末40によって使用されていないと判断した場合、最大生成個数情報を更新すべき命令をメンテナンス適用情報管理部240に通知し、メンテナンス適用情報管理部240による更新後の最大生成個数情報を参照する。また、例えば、メンテナンス適用情報管理部240は、記憶部201にメンテナンス適用情報を記憶する都度、最大生成個数情報を更新するようにしてもよい。
以上、第2の実施形態のネットワークストレージシステム2を構成するネットワークストレージ制御装置21によれば、第1の実施形態のネットワークストレージシステム1を構成するネットワークストレージ制御装置20と同様の効果に加え、ネットワークストレージ装置10内の記憶領域を柔軟に管理することができるようになる。例えば、メンテナンスの重要度が極めて高い場合は、運用ボリュームまたは旧運用ボリュームを使用しているクライアント端末、即ちネットワークストレージ装置10にログイン中のクライアント端末を早急にログアウトさせるなどして、当該メンテナンスの内容を反映させる前のボリュームの継続使用を回避することができるようになる。
(第3の実施形態)
以下、本発明の第3の実施形態について図面を参照して説明する。第3の実施形態に係るネットワークストレージシステム3は、図9に示すように、ネットワークストレージ装置10およびネットワークストレージ制御装置22を備える。ネットワークストレージ制御装置22は、記憶部202、ウェブサービス部210、起動サービス部220およびストレージ装置制御部232を備える。
記憶部202は、系統管理情報、使用状態情報、メンテナンス端末特定情報、起動基礎情報、最大生成個数情報および旧運用ボリューム使用実績情報を記憶する。旧運用ボリューム使用実績情報は、メンテナンスボリューム110の使用実績に係る情報である。記憶部202は、旧運用ボリューム使用実績情報として、図10(b)に示すように、確認日時に対応付けて使用数を記憶する。確認日時は、ストレージ装置制御部232が旧運用ボリュームの使用数を確認した日時を示す情報である。
ストレージ装置制御部232は、旧運用ボリュームの使用数を確認する。例えば、ストレージ装置制御部232は、使用中の旧運用ボリューム数が最大生成個数N未満であるか否かを判断するときに、旧運用ボリュームの使用数を確認する。旧運用ボリュームの使用数を確認したストレージ装置制御部232は、記憶部202内の旧運用ボリューム使用実績情報を更新(追加)する。
また、ストレージ装置制御部232は、記憶部202内の旧運用ボリューム使用実績情報を参照し、同じく記憶部202内の最大生成個数情報を更新する。具体的には、ストレージ装置制御部232は、記憶部202内の旧運用ボリューム使用実績情報から適切な最大生成個数Nを算出し、最大生成個数情報を更新する。なお、適切な最大生成個数Nの算出方法は、種々の方法が考えられる。例えば、ストレージ装置制御部232は、過去の各使用数を単純平均した平均値を適切な最大生成個数Nとして算出してもよい。また、ストレージ装置制御部232は、過去の各使用数を加重平均した平均値を適切な最大生成個数Nとして算出してもよい。なお、ストレージ装置制御部232は、加重平均値を算出する場合、最近の使用数に高い係数を与えてもよい。
なお、ストレージ装置制御部232による最大生成個数情報の更新タイミングは種々のタイミングが考えられる。ストレージ装置制御部232は、記憶部202内の旧運用ボリューム使用実績情報を更新したときに、最大生成個数情報を更新する。なお、ストレージ装置制御部232は、メンテナンスボリューム110がクライアント端末40によって使用されていないと判断した場合、最大生成個数情報を更新し、更新後の最大生成個数情報を参照する。
以上、第3の実施形態のネットワークストレージシステム3を構成するネットワークストレージ制御装置22によれば、第1の実施形態のネットワークストレージシステム1を構成するネットワークストレージ制御装置20と同様の効果に加え、ネットワークストレージ装置10内の記憶領域を柔軟に管理することができるようになる。即ち、旧運用ボリュームの使用実績に基づいて、最適な最大生成個数Nを決定することができるようになる。なお、ネットワークストレージ装置10の記憶領域のボリュームによる使用量を節約することによって、ネットワークストレージ装置10の記憶領域をボリューム以外の記憶に利用することができるようになる。
なお、第1の実施形態のネットワークストレージ制御装置20は、ネットワークストレージ装置10と別体であったが、ネットワークストレージ装置10とネットワークストレージ制御装置20とを同一の筐体であってもよい。即ち、ネットワークストレージ装置10がネットワークストレージ制御装置20の機能を具備してもよい。換言すれば、ネットワークストレージ制御装置20がネットワークストレージ装置10の機能を具備してもよい。第2の実施形態のネットワークストレージ制御装置21および第3の実施形態のネットワークストレージ制御装置22についても同様である。
なお、ネットワークストレージ制御装置20(21、22)は、管理者から系統切替に係る情報の入力を受け付ける入力受付部(非図示)を備えてもよい。ネットワークストレージ制御装置20(21、22)が入力受付部(非図示)を備える場合、ストレージ装置制御部230は、ウェブサービス部210から系統切替要求を取得することに代えてまたは加えて、入力受付部(非図示)から系統切替に係る情報(系統切替要求に該当)を取得してもよい。
なお、本発明の一実施形態によるネットワークストレージシステム1、2、3の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の一実施形態によるネットワークストレージシステム1、2、3に係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。