説明

ネットワークブートシステムおよび単位記憶ユニットへのアクセス方法

【課題】ストレージ装置内の単位記憶ユニットに対するメンテナンスコストを低減すること。
【解決手段】ストレージ装置内に設けられる複数の単位記憶ユニットは、システム領域単位記憶ユニット(例えば、オペレーティングシステムデータ、アプリケーションプログラムデータが格納される単位記憶ユニット)を有し、当該システム領域単位記憶ユニットは、マスタ単位記憶ユニットと、前記マスタ単位記憶ユニットをコピーしたレプリカ単位記憶ユニットとを含み、前記複数のクライアント端末は、システム領域単位記憶ユニットにアクセスする場合に、レプリカ単位記憶ユニットにアクセスする。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ネットワークブートシステム、および単位記憶ユニットへのアクセス方法に係り、特に、ネットワークブートシステムにおけるストレージ装置内の論理ユニットに対するメンテナンスコストを低減する技術に関する。
【背景技術】
【0002】
従来、コンピュータ端末の動作に必要な、例えば、オペレーティングシステム(以下、OSという)やアプリケーションソフトウェア等のデータをコンピュータ端末の外部に設置されたストレージ装置に保存し、ネットワークを介して取得することを可能とするネットワークブートシステムが知られている(下記、特許文献1参照)。
【0003】
この特許文献1に係わる発明では、コンピュータ端末の使用に必要なデータを、各コンピュータ端末に内蔵されたハードディスクに保存することなく、ストレージ装置に集約して保存できることから、OSやアプリケーションソフトウェアの新しいバージョンヘの更新や、コンピュータウイルスの駆除といったストレージ装置のデータ更新処理を、各コンピュータ端末の使用者による自発的な実施に依存することなく、ネットワークブートシステムの管理者等が一括して行うことが期待できる。
【0004】
なお、本願発明に関連する先行技術文献としては以下のものがある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2002−123400号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上記した従来の技術には、以下に説明するような問題点があった。
【0007】
すなわち、第1の問題点としては、前述したネットワークブートシステムでは、クライアント端末が、ストレージ装置内のOS、アプリケーション、ユーザデータなどを格納する論理ユニット(Logical Unit;以下、LUという)を利用するが、ストレージ装置への不正アクセスを防止するため、利用時に認証が必要であるが、LU利用時の認証情報(ユーザID,パスワード)を固定的に割当てた場合、クライアント端末のroot/Administrator権限を奪取されるなどの原因で認証情報が漏洩した場合、不正にLUを読み書きされる虞があるという点である。
【0008】
また、第2の問題点としては、前述したネットワークブートシステムでは、クライアント端末が、ストレージ装置内のOS、アプリケーション、ユーザデータなどを格納する論理ユニット(Logical Unit;以下、LUという)を利用するが、複数の異なるクライアント端末から同じユーザがログインし、ユーザ用の一つのLUを、同時に複数のクライアント端末から、読み書き自在にマウントされた場合、LU内データの不整合/破壊が生じることになるという点である。
【0009】
そして、第3の問題点としては、前述したネットワークブートシステムでは、OS、アプリケーション、ユーザデータなどを格納する論理ユニット(Logical Unit;以下、LUという)を、クライアント端末ごとに用意する必要があるが、仮に、ユーザ数をN、OS数をM個とした場合、OSを構成するファイルなどは各OS毎に共通であるにも係わらず、前述したネットワークブートシステムでは、ストレージ装置内に(N×M)個のLUが必要となり、それぞれのLUに対してメンテナンス(OSアップデート、アプリケーションプログラムのインストール、ウイルスチェック、バックアップなど)が必要となり、管理者にかかるメンテナンスコストが増大するという点である。
【0010】
本発明は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、クライアント端末が、ネットワークを介して接続されたストレージ装置内の単位記憶ユニットをマウントするシステムにおいて、単位記憶ユニットへの不正アクセスを防止することが可能となる技術を提供すること、および、クライアント端末が、ネットワークを介して接続されたストレージ装置内の単位記憶ユニットをマウントするシステムにおいて、同じユーザIDでの重複ログインによる単位記憶ユニットの破壊を防止することが可能となる技術を提供すること、さらには、ネットワークブートシステムおよび単位記憶ユニットへのアクセス方法において、ストレージ装置内の単位記憶ユニットに対するメンテナンスコストを低減することが可能となる技術を提供することにある。
【0011】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
【課題を解決するための手段】
【0012】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記の通りである。
【0013】
前述の目的を達成するために、本発明のネットワークシステムでは、管理サーバが、クライアント端末およびユーザを認証し、当該ユーザ用の単位記憶ユニット利用のためのパスワードを生成し、内部のデータベース(あるいは、認証サーバと共用のデータベース)登録するとともに、クライアント端末に対して、当該パスワードと単位記憶ユニット情報(ターゲット名、単位記憶ユニットの番号等)を通知する。クライアント端末は、ユーザ識別子(例えば、ユーザID)と、パスワードを付加して、ストレージ装置へ単位記憶ユニットの利用要求を行う。ストレージ装置は、ユーザ識別子と、パスワードを、直接、あるいは、認証サーバ(Radiusサーバ等)経由で、管理サーバに送る。あるいは、ストレージ装置は、ユーザ識別子と、パスワードを認証サーバに送る。そして、管理サーバあるいは認証サーバが、ユーザ識別子と、パスワードをチェックし、ストレージ装置が、管理サーバあるいは認証サーバでのチェック結果に応じてクライアント端末へ単位記憶ユニットの利用許可を与える。
【0014】
また、前述の目的を達成するために、本発明のネットワークシステムでは、管理サーバが、ユーザを認証し、単位記憶ユニット利用のためのパスワードを生成し、内部のデータベース(あるいは、認証サーバと共用のデータベース)に保持するとともに、クライアント端末に対して、当該パスワードと単位記憶ユニット情報(ターゲット名、LUN等)を通知する。クライアント端末は、ユーザを識別するための情報(例えば、ユーザID)と、パスワードを付加して、ストレージ装置へ単位記憶ユニットの利用要求を行う。ストレージ装置は、クライアント端末からの単位記憶ユニットの利用要求に付加されているパスワードが、管理サーバにおいて正当に認証されたパスワードであるかを確認し、前記パスワードが管理サーバにおいて正当に認証されたパスワードである場合に、クライアント端末からの前記単位記憶ユニットの利用要求を許可する。また、例えば、第1のクライアント端末を介してユーザAがログイン済みの状態において、第2のクライアント端末が、管理サーバに対して、同一のユーザ(ユーザA)のユーザ認証要求(ログイン要求)があった場合に、管理サーバは、新規ログインクライアントを有効とする場合には、ユーザA用の単位記憶ユニットを利用するための新たなパスワードを生成し、既に保持済みのパスワードを新たなパスワードに更新し、前述のデータベースに保持するとともに、ユーザA用の単位記憶ユニット情報と、更新したパスワードを第2のクライアント端末に通知する。また、既ログインクライアントを有効とする場合には、新規のパスワードの生成・更新、新規のパスワードの第2のクライアント端末への通知を行わず、第2のクライアント端末からのユーザ認証要求を不許可とする。
【0015】
また、前述の目的を達成するために、本発明のネットワークブートシステムでは、ストレージ装置内に設けられる複数の単位記憶ユニットは、システム領域単位記憶ユニット(例えば、オペレーティングシステムデータ、アプリケーションプログラムデータが格納される単位記憶ユニット)を有し、当該システム領域単位記憶ユニットは、マスタ単位記憶ユニットと、前記マスタ単位記憶ユニットをコピーしたレプリカ単位記憶ユニットとを含み、前記複数のクライアント端末は、システム領域単位記憶ユニットにアクセスする場合に、レプリカ単位記憶ユニットにアクセスする。そして、ストレージ装置は、前記マスタ単位記憶ユニットが更新されたときに、当該更新されたマスタ単位記憶ユニットをコピーしてレプリカ単位記憶ユニットを生成する。また、マスタ単位記憶ユニット情報と、レプリカ単位記憶ユニット情報とを管理するLUN情報テーブルを有する前記管理サーバを備え、前記管理サーバは、前記LUN情報テーブルを参照して、前記各クライアント端末がアクセスするレプリカ単位記憶ユニットの情報を、前記各クライアント端末に対して通知する。本発明では、マスタ単位記憶ユニットに対してのみアップデート等のメンテナンスを行えばよいので、ストレージ装置内の単位記憶ユニットに対するメンテナンスコストを低減することが可能となる。
【0016】
また、前述の目的を達成するために、クライアント端末にマウントされるデータを複数の世代で管理し、前記クライアント端末からマウント要求を受け付けて制御するストレージ装置であって、現に運用される世代のデータを運用系データとして記憶し、世代切替の前まで運用系データとして記憶されていた世代のデータをバックアップ系データとして記憶し、次に運用される世代のデータを待機系データとして記憶する世代別記憶手段と、前記世代別記憶手段において、前記待機系データとして記憶されていた世代のデータを前記運用系データとして切り替えるとともに、前記運用系データとして記憶されていた世代のデータを前記バックアップ系データとして切り替える世代切替手段と、前記マウント要求を受け付けた場合には、前記世代別記憶手段に記憶された前記運用系データを前記クライアント端末にマウントし、当該クライアント端末に前記運用系データがマウントされている状態で前記世代切替手段による世代切替が行われた場合には、前記バックアップ系データを用いてマウントを制御するマウント制御手段と、を備えたことを特徴とする。
【発明の効果】
【0017】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
【0018】
本発明によれば、管理サーバから利用許可の得られない単位記憶ユニットへの不正アクセスを防ぐことが可能となる。
【0019】
また、本発明によれば、同じユーザによる二重ログインを防止し、同じユーザIDでの重複ログインによる単位記憶ユニットの破壊を防止することが可能となる。
【0020】
また、本発明によれば、ストレージ装置内の単位記憶ユニットに対するメンテナンスコストを低減することが可能となる。
【0021】
また、本発明によれば、待機系データを新たに運用系データとする世代切替に際しては、運用系データとして記憶されていた世代のデータをバックアップ系データとして切り替え、運用系データがマウントされている状態で世代切替が行われたクライアント端末については、バックアップ系データを用いてマウントを継続させるので、運用系データが現にマウントされているクライアント端末による処理を停止させることなく、新たな世代への切替作業を実施することが可能である。
【0022】
また、運用系データやバックアップ系データとは別に待機系データを記憶し、運用系データやバックアップ系データについてのみクライアント端末による利用を認めるので、運用系データやバックアップ系データを現に利用しているクライアント端末による処理を停止させることなく、待機系データに対する更新作業を実施することが可能である。
【図面の簡単な説明】
【0023】
【図1−1】図1−1は、本発明の実施例1のネットワークブートシステムの概略構成を示すブロック図である。
【図1−2】図1−2は、本発明の実施例1のネットワークブートシステムの動作を説明するためのシーケンス図である。
【図1−3】図1−3は、本発明の実施例1のネットワークブートシステムの動作を説明するためのシーケンス図である。
【図1−4】図1−4は、図1−1に示すデータベース管理サーバ内で管理されるテーブルの種類を示す図である。
【図1−5】図1−5は、図1−4に示すクライアント端末起動制御テーブルの内容を示す図である。
【図1−6】図1−6は、図1−4に示すユーザ情報テーブルの内容を示す図である。
【図1−7】図1−7は、図1−4に示すLUN情報テーブルの内容を示す図である。
【図1−8】図1−8は、図1−4に示すストレージ装置情報テーブルの内容を示す図である。
【図1−9】図1−9は、図1−4に示すクライアント端末情報テーブルの内容を示す図である。
【図1−10】図1−10は、図1−4に示すOTPチェックテーブルの内容を示す図である。
【図1−11】図1−11は、本発明の実施例1のネットワークブートシステムの変形例を説明するための図である。
【図1−12】図1−12は、本発明の実施例1のネットワークブートシステムの変形例を説明するための図である。
【図2−1】図2−1は、本発明の実施例2のネットワークブートシステムの概略構成を示すブロック図である。
【図2−2】図2−2は、本発明の前提となるネットワークブートシステムの動作を説明するためのシーケンス図である。
【図2−3】図2−3は、本発明の前提となるネットワークブートシステムの動作を説明するためのシーケンス図である。
【図2−4】図2−4は、本発明の実施例2のネットワークブートシステムの動作を説明するためのシーケンス図である。
【図2−5】図2−5は、本発明の実施例2のネットワークブートシステムの動作を説明するためのシーケンス図である。
【図2−6】図2−6は、図2−1に示すデータベース管理サーバ内で管理されるテーブルの種類を示す図である。
【図2−7】図2−7は、図2−6に示すクライアント端末起動制御テーブルの内容を示す図である。
【図2−8】図2−8は、図2−6に示すユーザ情報テーブルの内容を示す図である。
【図2−9】図2−9は、図2−6に示すLUN情報テーブルの内容を示す図である。
【図2−10】図2−10は、図2−6に示すストレージ装置情報テーブルの内容を示す図である。
【図2−11】図2−11は、図2−6に示すクライアント端末情報テーブルの内容を示す図である。
【図2−12】図2−12は、図2−6に示すOTPチェックテーブルの内容を示す図である。
【図2−13】図2−13は、本発明の実施例のネットワークブートシステムの変形例を説明するための図である。
【図2−14】図2−14は、本発明の実施例のネットワークブートシステムの変形例を説明するための図である。
【図3−1】図3−1は、本発明の実施例3のネットワークブートシステムの概略構成を示すブロック図である。
【図3−2】図3−2は、本発明の実施例3のネットワークブートシステムの動作を説明するためのシーケンス図である。
【図3−3】図3−3は、図3−1に示すデータベース管理サーバ内で管理されるテーブルの種類を示す図である。
【図3−4】図3−4は、図3−3に示すクライアント端末起動制御テーブルの内容を示す図である。
【図3−5】図3−5は、図3−3に示すユーザ情報テーブルの内容を示す図である。
【図3−6】図3−6は、図3−3に示すLUN情報テーブルの内容を示す図である。
【図3−7】図3−7は、図3−3に示すストレージ装置情報テーブルの内容を示す図である。
【図3−8】図3−8は、図3−3に示すクライアント端末情報テーブルの内容を示す図である。
【図3−9】図3−9は、本発明の実施例3の特徴を説明するための模式図である。
【図3−10】図3−10は、実施例3のマスタLUを管理するための情報の構成例を示す図である。
【図4−1】図4−1は、実施例4に係るストレージ装置の構成を示す図である。
【図4−2】図4−2は、実施例4に係るストレージシステムの系切替動作による世代管理テーブル内の各ディスク情報に対応している実ボリュームの遷移を示す図である。
【図4−3】図4−3は、実施例4に係る世代管理テーブルの構成例を示す図である。
【図4−4】図4−4は、実施例4に係るストレージシステムの系切替動作による世代管理テーブル内の各ディスク情報に対応している実ボリュームの遷移を示す図である。
【図4−5】図4−5は、実施例4に係る世代管理テーブルの構成例を示す図である。
【図4−6】図4−6は、ネットワークブートシステム構成の変形例を示す図である。
【図4−7】図4−7は、ネットワークブートシステム構成の変形例を示す図である。
【発明を実施するための形態】
【0024】
以下、本発明をネットワークブートシステムに適用した実施例を図面を参照して詳細に説明する。なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
【実施例1】
【0025】
図1−1は、本発明の実施例1のネットワークブートシステムの概略構成を示すブロック図である。
【0026】
実施例1のネットワークブートシステムは、図1−1に示すように、1台以上のクライアント端末(1,2)、DHCP(Dynamic Host Configuration Protocol)サーバ3、PXE(Preboot Execution Environment)サーバ4、TFTP(Trivial File Transfer Protoco1)サーバ5、データベース管理サーバ(以下、DBサーバ)6、1台以上のストレージ装置(10、11)、認証サーバ(Radiusサーバ等)20が、TCP/IP(Transmission Control Protocol/Internet Protocol)ネットワーク9を介して接続されている。
【0027】
なお、各装置にはIPアドレスが割り当てられ、各装置間はTCP/IPによる通信が可能である。
【0028】
各ストレージ装置(10,11)内には、データを格納するための1以上のターゲット(101〜103)があり、ターゲットには1以上の論理ユニット(Logical Unit;以下、LU)があり、各LUにはユーザが割り当てられ(1つのLUに複数のユーザが割り当てられることもあるし、一切のユーザが割り当てられないこともある)、当該ユーザがクライアント端末を動作させるのに必要なデータ(例えば、OSやアプリケーションソフトウェア等)が保存されている。
【0029】
実施例1では、各クライアント端末(1,2)と各ストレージ装置(10,11)との間の通信プロトコルとして、iSCSI(Internet Small Computer System Interface)を想定するが、TCP/IPで転送可能なIPストレージ装置アクセスプロトコルであれば、iSCSIには限定されない。さらに、ストレージ装置(10,11)をTCP/IPネットワーク9に接続する代わりに、ストレージルータを接続することもできる。
【0030】
ストレージルータには、ファイバチャネル(fibre channel;以下、FC)等のiSCSI以外のストレージ装置アクセスプロトコルによる通信機能を持ったストレージ装置が、TCP/IPネットワーク9とは別個のネットワークを介して接続されていて、iSCSIとFC等との間でプロトコル変換を行い、各クライアント端末(1,2)と各ストレージ装置との間の通信を中継するものである。
【0031】
図1−1においては、ストレージ装置(10,11)の全部または一部を前記ストレージルータに置き換えても問題なく動作するが、以下の説明では、ストレージルータを使用しない場合について説明する。
【0032】
実施例1のネットワークブートシステムでは、ストレージ装置(10,11)内に設けられる複数のLUが、システム領域LUと、ユーザ毎に用意されるユーザ領域LUとに分離される。ここで、システム領域LUには、OS,アプリケーションデータ等が格納され、ユーザ領域LUには、ユーザデータ(例えば、デスクトップ設定データ、ドキュメントファイル等)が格納される。
【0033】
以下、図1−2および図1−3に示すシーケンス図に従って、実施例1のネットワークブートシステムの動作を説明する。
【0034】
電源が投入されると、クライアント端末(1,2)はDHCPサーバ3に対してDHCP要求を送信し(図1−2の201)、DHCPサーバ3はクライアント端末(1,2)に対してDHCP応答を返す(図1−2の202)。
【0035】
DHCP応答を受信することにより、クライアント端末(1,2)は、TCP/IPネットワーク9におけるIPアドレスを獲得する。さらに、DHCP応答には、PXEサーバ4のIPアドレス、および、ユーザにOSを選択させるためのメニュー画面を表示するための命令も含まれている。
【0036】
次に、クライアント端末(1,2)は、ユーザにOSを選択させるためのメニュー画面を表示するための命令を実行し、PXEサーバ4に対して、ユーザが選択したOSを通知し(図1−2の203)、PXEサーバ4はクライアント端末(1,2)に対して、TFTPサーバ5のIPアドレスと、ブートストラップファイル識別子を通知する(図1−2の204)。
【0037】
次に、クライアント端末(1,2)は、指定されたTFTPサーバ5ヘブートストラップファイル取得要求(TFTP要求)を送り(図1−2の205)、TFTPサーバ5から通知されたブートストラップファイル識別子に対応するブートストラップファイルをダウンロードする(図1−2の206)。
【0038】
次に、クライアント端末(1,2)は、当該ダウンロードしたブートストラップファイルを、自端末内のRAM(Random Access Memory)に展開し、実行する(図1−2の207)。
【0039】
クライアント端末(1,2)のブートストラップファイルは、DHCPサーバ3に対してIPアドレス要求を送信する(図1−2の208)。DHCPサーバ3は、クライアント端末(1,2)に対して、IPアドレスを通知する(図1−2の209)。
【0040】
次に、クライアント端末(1,2)は、DBサーバ6に対してクライアント端末認証要求を送信する(図1−2の210)。
【0041】
DBサーバ6は、クライアント端末(1,2)の認証を行い、内部のデータベースにクライアント端末情報を登録する(図1−2の211)。同時に、システム領域LUを利用するためのワンタイムパスワード(以下、OTPという)を生成し、当該OTPと、クライアント端末名と、LUN(Logical Unit Number)とを対応づけて内部のデータベース(後述するOTPチェックテーブル)に格納する。
【0042】
次に、DBサーバ6は、クライアント端末(1,2)に対して、システム領域の論理ユニット番号(Logical Unit Number;以下、LUN)と、前述のOTPを通知する(図1−2の212)。この時に、通知した番号のLUが格納しているストレージ装置のIPアドレス、ポート番号、およびターゲット名も同時に通知する。
【0043】
クライアント端末(1,2)は、ストレージ装置(10,11)に対して、前述のOTPとユーザ識別子(例えば、クライアント端末名)を付加して、通知されたLUNのシステム領域LUの利用要求を発行する(図1−2の213)。
【0044】
ストレージ装置(10,11)は、クライアント端末(1,2)からのシステム領域LUの利用要求に基づき、当該LUの利用要求に付加されているユーザ識別子とOTPを認証サーバ20に通知する(図1−2の214)。
【0045】
認証サーバ20は、ストレージ装置(10,11)から通知されたユーザ識別子とOTPをDBサーバ6に通知する(図1−2の215)。
【0046】
DBサーバ6は、認証サーバ20から通知されたOTPと、内部のデータベースに保持しているOTPの中で認証サーバ20から通知されたユーザ識別子に対応するクライアント端末のOTPとを比較し、認証サーバ20から通知されたユーザ識別子に対応するクライアント端末とOTPが、DBサーバ6において正当に認証されたクライアント端末と、OTPであるか否かをチェックし、当チェック結果を認証サーバ20に通知する(図1−2の216)。
【0047】
認証サーバ20は、前述のチェック結果をストレージ装置(10,11)に通知する(図1−2の217)。
【0048】
ストレージ装置(10,11)は、前述のチェック結果に応じて、クライアント端末(1,2)からのシステム領域LUの利用要求の許可、あるいは、不許可を判定し、クライアント端末(1,2)に通知する(図1−2の218)。
【0049】
ストレージ装置(10,11)において、クライアント端末(1,2)からのシステム領域LUの利用要求が許可された場合、クライアント端末(1,2)は、通知されたLUNのシステム領域LUをマウントし、ブートする。これにより、OSの起動が終了する(図1−2の219)。
【0050】
次に、ユーザのログイン(図1−3の220)を待って、クライアント端末(1,2)のOSは、DBサーバ6に対して、ユーザ認証要求を送信する(図1−3の221)。このとき、クライアント端末(1,2)は、DBサーバ6に対して、ユーザID、パスワードを通知する。
【0051】
DBサーバ6は、ユーザの正当性を確認し、内部のデータベースにユーザ情報を登録する(図1−3の222)。同時に、ユーザ領域LUを利用するためのワンタイムパスワード(以下、OTPという)を生成し、当該OTPと、ユーザ名と、LUN(Logical Unit Number)とを対応づけて内部のデータベース(後述するOTPチェックテーブル)に格納する。
【0052】
次に、DBサーバ6は、クライアント端末(1,2)に対して、ユーザ領域の論理ユニット番号(Logical Unit Number;以下、LUN)と、前述のOTPを通知する(図1−3の223)。この時に、通知した番号のLUが格納しているストレージ装置のIPアドレス、ポート番号、およびターゲット名も同時に通知する。
【0053】
クライアント端末(1,2)は、ストレージ装置(10,11)に対して、前述のOTPとユーザ識別子(例えば、ユーザID)を付加して、通知されたLUNのユーザ領域LUの利用要求を発行する(図1−3の224)。
【0054】
ストレージ装置(10,11)は、クライアント端末(1,2)からのユーザ領域LUの利用要求に基づき、当該LUの利用要求に付加されているユーザ識別子とOTPを認証サーバ20に通知する(図1−3の225)。
【0055】
認証サーバ20は、ストレージ装置(10,11)から通知されたユーザ識別子とOTPをDBサーバ6に通知する(図1−3の226)。
【0056】
DBサーバ6は、認証サーバ20から通知されたOTPと、内部のデータベースに保持しているOTPの中で認証サーバ20から通知されたユーザ識別子に対応するユーザのOTPとを比較し、認証サーバ20から通知されたユーザ識別子に対応するユーザとOTPが、DBサーバ6において正当に認証されたユーザと、OTPであるか否かをチェックし、当チェック結果を認証サーバ20に通知する(図1−3の227)。
【0057】
認証サーバ20は、前述のチェック結果をストレージ装置(10,11)に通知する(図1−3の228)。
【0058】
ストレージ装置(10,11)は、前述のチェック結果に応じて、クライアント端末(1,2)からのユーザ領域LUの利用要求の許可、あるいは、不許可を判定し、クライアント端末(1,2)に通知する(図1−3の229)。
【0059】
ストレージ装置(10,11)において、クライアント端末(1,2)からのユーザ領域LUの利用要求が許可された場合、クライアント端末(1,2)は、通知されたLUNのユーザ領域LUをマウントする。
【0060】
また、ユーザがユーザ領域LUをアンマウントした時、あるいは、クライアント端末の電源がオフとされたとき(図1−3の230)、クライアント端末(1,2)は、DBサーバ6に対して、LU利用終了を通知する(図1−3の231)。このとき、クライアント端末(1,2)のOSは、DBサーバ6に対して、ユーザID、OTPを通知する。
【0061】
DBサーバ6は、当該LU利用終了通知に基づき、内部のデータベース(後述するOTPチェックテーブル)内の該当するユーザと、および当該ユーザ用のOTPを削除する(図1−3の232)。
【0062】
なお、前述の説明では、図1−12に示すように、ストレージ装置(10,11)は、ユーザ識別子、OTPを認証サーバ20に通知し、認証サーバ20が、当該通知されたユーザ識別子、OTPを、DBサーバ6に通知する場合について説明したが、図示は省略するが、ストレージ装置(10,11)が、認証サーバ20を経由することなく直接DBサーバ6に通知するようにしてもよい。
【0063】
さらに、図1−11に示すように、DBサーバ6と、認証サーバ20とが、データベース30を共用する構成となし、DBサーバ6が、ユーザ識別子およびOTPを、データベース30に登録し、認証サーバ20が、ストレージ装置(10,11)から通知されたOTPと、データベース30に保持しているOTPの中でストレージ装置(10,11)から通知されたユーザ識別子に対応するユーザのOTPとを比較し、ストレージ装置(10,11)から通知されたユーザ識別子に対応するクライアント端末(あるいは、ユーザ)とOTPが、DBサーバ6において正当に認証されたものであるか否かをチェックし、当チェック結果をストレージ装置(10,11)に通知するようにしてもよい。
【0064】
図1−4は、図1−1に示すDBサーバ6内で管理されるテーブルの種類を示す図である。
【0065】
図1−4に示すように、DBサーバ6内には、クライアント端末起動制御テーブル61、ユーザ情報テーブル62、LUN情報テーブル63、ストレージ装置情報テーブル64、クライアント端末情報テーブル65、OTPチェックテーブル66が設けられる。
【0066】
図1−5は、図1−4に示すクライアント端末起動制御テーブル61の内容を示す図である。
【0067】
図1−5に示すように、クライアント端末起動制御テーブル61は、起動されたクライアント端末のMACアドレス、IPアドレス、使用OS名、使用ユーザ名、システム領域LUN、ユーザ領域LUNを格納するものである。クライアント端末起動制御テーブル61のそれぞれのフィールドには、クライアント端末情報あるいはユーザ認証情報登録(図1−2の211、図1−3の222)時に所定の情報が格納される。
【0068】
図1−6は、図1−4に示すユーザ情報テーブル62の内容を示す図であり、図1−6に示すようにユーザ情報テーブル62は、ユーザ名毎のパスワードを格納するものである。このユーザ情報テーブル62は、ユーザ認証(図1−3の222)時に使用される。
【0069】
図1−7は、図1−4に示すLUN情報テーブル63の内容を示す図であり、図1−7に示すようにLUN情報テーブル63には、LUNと、当該LUNの番号のLUの種類(システム領域LU、あるいは、ユーザ領域LU)と、当該LUNの番号のLUのOSと、使用しているクライアント端末名と、使用しているユーザ名とが格納される。「LU使用クライアント端末」には、「LUの種類」がシステム領域LUの場合のみ、クライアント端末識別子が格納され、「LU使用ユーザ名」には、「LUの種類」がユーザ領域LUの場合のみユーザ名が格納される。このLUN情報テーブル63を用いて、クライアント端末に対して、システム領域LUN、およびユーザ領域LUNを通知する(図1−2の212、図1−3の223)。
【0070】
図1−8は、図1−4に示すストレージ装置情報テーブル64の内容を示す図であり、図1−8に示すようにストレージ装置情報テーブル64は、LUN毎に、ストレージ装置のIPアドレスと、ポート番号と、ターゲット名を格納するものである。クライアント端末に対して、システム領域LUN、およびユーザ領域LUNを通知(図1−2の212、図1−3の223)する際に、このストレージ装置情報テーブル64の内容も同時に通知される。
【0071】
図1−9は、図1−4に示すクライアント端末情報テーブル65の内容を示す図であり、図1−9に示すようにクライアント端末情報テーブル65は、クライアント端末のMACアドレスと、クライアント端末のIPアドレスと、DHCPサーバ3のIPアドレスと、TFTPサーバ5のIPアドレスとを格納するものである。
【0072】
図1−10は、図1−4に示すOTPチェックテーブル66の内容を示す図であり、図1−10に示すようにOTPチェックテーブル66は、ユーザ識別子と、ワンタイムパスワードと、LUNとを格納するものである。LUNがシステム領域のLUの場合、「ユーザ識別子」には、例えば、「クライアント端末名」が、LUNがユーザ領域のLUの場合、「ユーザ識別子」には、例えば、「ユーザID」が格納される。OTPチェックテーブル66のそれぞれのフィールドには、クライアント端末情報あるいはユーザ認証情報登録(図1−2の211、図1−3の222)時に所定の情報が格納される。
【0073】
実施例1では、ブートストラップファイルは、必要に応じてクライアント端末(1,2)のユーザに対して、ユーザ名とパスワードを入力させ、認証要求をDBサーバ6に送信するユーザ認証機能、および受信した認証応答に基づき、指定されたストレージ装置内のLU(101〜103)に接続するiSCSIイニシエータ機能を有する。
【0074】
また、実施例1では、DBサーバ6が、クライアント端末(1,2)の電源投入後に、クライアント端末との間で通信を行い、クライアント端末(1,2)にクライアント端末管理データを割り当てるためのクライアント端末認証プログラムを有する。
【0075】
このプログラムは、ユーザの選択や、クライアント端末(1,2)のMACアドレス情報から、起動OSやIPアドレス、ホスト名(コンピュータ名)、ドメイン名、システム領域LUを動的に割り当てるプログラムである。
【0076】
さらに、DBサーバ6が、ユーザログイン時に、クライアント端末(1,2)との間で通信を行い、ユーザ認証情報を割り当てるユーザ認証プログラム(ユーザ名をもとにユーザ領域LUを割り当てるプログラム)も有する。
【0077】
前述したように、実施例1のネットワークブートシステムでは、DBサーバ(本発明の管理サーバに相当)が、クライアント端末およびユーザを認証し、システム領域LUを利用するためのOTP(パスワード)、および、ユーザ領域LUを利用するためのOTPを生成するとともに、OTPを含む認証情報をデータベース(特に、OTPチェックテーブル)に登録し、さらに、クライアント端末にOTPとLU情報(ターゲット名、LUN等)の払い出しを行う。
【0078】
クライアント端末は、ユーザ識別子(例えば、クライアント端末、ユーザID)、OTPを用い、ストレージ装置(あるいは、ストレージルータ)ヘユーザ用のLUの利用要求を行う。
【0079】
ストレージ装置は、ユーザ識別子、OTPを直接、あるいは、認証サーバ経由でDBサーバに送り、DBサーバ(あるいは、認証サーバ)において正当に認証されたユーザ識別子と、OTPであるか否かをチェックし、当該チェック結果に応じて、クライアント端末あるいはユーザへのLUの利用許可を与える。
【0080】
また、DBサーバは、LUの利用終了時(LUアンマウント、あるいは、クライアント端末の電源オフ時など)に、LU利用のための認証情報をデータベースから削除する。これより、実施例1では、DBサーバからの利用許可の得られないLUへの不正アクセスを防ぐことが可能となる。
【0081】
従来のシステムでは、正しい認証情報の不正利用をDBサーバが検出できないという問題点があったが、本実施例では、第三者がOTPを取得した場合であっても、正規利用者がLU利用終了時に、認証サーバ20またはDBサーバが二重ログイン防止処理を実行することにより、あるいは、正規利用者のLU利用終了後にOTPチェックテーブル内の当該OTPが削除されているため、認証サーバはNGを返答するので、これにより、不正利用を防止することが可能となる。
【0082】
また、従来のシステムでは、ストレージ装置(あるいは、ストレージルータ)において、アクセスコントロールリスト(ACL)を保持・管理する必要があったが、本実施例は、ストレージ装置(あるいは、ストレージルータ)にアクセスコントロールリスト(ACL)を持つ必要がなくなり、認証情報をDBサーバにおいて集中管理することが可能となる。
【0083】
なお、前述の説明では、本発明をネットワークブートシステムに適用した実施例について説明したが、本発明は、これに限定されるものではなく、本発明は、クライアント端末が、ネットワークを介してストレージ装置のLU内のファイルをアクセスするネットワークシステムにも適用可能であることはいうまでもない。
【0084】
以上、本発明者によってなされた発明を、前記実施例1に基づき具体的に説明したが、本発明は、前記実施例1に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【実施例2】
【0085】
図2−1は、本発明の実施例2のネットワークブートシステムの概略構成を示すブロック図である。
【0086】
実施例2のネットワークブートシステムは、図2−1に示すように、1台以上のクライアント端末(1,2)、DHCP(Dynamic Host Configuration Protocol)サーバ3、PXE(Preboot Execution Environment)サーバ4、TFTP(Trivial File Transfer Protoco1)サーバ5、データベース管理サーバ(以下、DBサーバ)6、1台以上のストレージ装置(10、11)、認証サーバ(Radiusサーバ等)20が、TCP/IP(Transmission Control Protocol/Internet Protocol)ネットワーク9を介して接続されている。
【0087】
なお、各装置にはIPアドレスが割り当てられ、各装置間はTCP/IPによる通信が可能である。
【0088】
各ストレージ装置(10,11)内には、データを格納するための1以上のターゲット(101〜103)があり、ターゲットには1以上の論理ユニット(Logical Unit;以下、LU)があり、各LUにはユーザが割り当てられ(1つのLUに複数のユーザが割り当てられることもあるし、一切のユーザが割り当てられないこともある)、当該ユーザがクライアント端末を動作させるのに必要なデータ(例えば、OSやアプリケーションソフトウェア等)が保存されている。
【0089】
実施例2では、各クライアント端末(1,2)と各ストレージ装置(10,11)との間の通信プロトコルとして、iSCSI(Internet Small Computer System Interface)を想定するが、TCP/IPで転送可能なIPストレージ装置アクセスプロトコルであれば、iSCSIには限定されない。
【0090】
さらに、ストレージ装置(10,11)をTCP/IPネットワーク9に接続する代わりに、ストレージルータを接続することもできる。
【0091】
ストレージルータには、ファイバチャネル(fibre channel;以下、FC)等のiSCSI以外のストレージ装置アクセスプロトコルによる通信機能を持ったストレージ装置が、TCP/IPネットワーク9とは別個のネットワークを介して接続されていて、iSCSIとFC等との間でプロトコル変換を行い、各クライアント端末(1,2)と各ストレージ装置との間の通信を中継するものである。
【0092】
図2−1においては、ストレージ装置(10,11)の全部または一部を前記ストレージルータに置き換えても問題なく動作するが、以下の説明では、ストレージルータを使用しない場合について説明する。
【0093】
実施例2のネットワークブートシステムでは、ストレージ装置(10,11)内に設けられる複数のLUが、システム領域LUと、ユーザ毎に用意されるユーザ領域LUとに分離される。ここで、システム領域LUには、OS,アプリケーションデータ等が格納され、ユーザ領域LUには、ユーザデータ(例えば、デスクトップ設定データ、ドキュメントファイル等)が格納される。
【0094】
以下、図2−2および図2−3に示すシーケンス図に従って、本実施例のネットワークブートシステムの動作を説明する。
【0095】
電源が投入されると、クライアント端末(1,2)はDHCPサーバ3に対してDHCP要求を送信し(図2−2の201)、DHCPサーバ3はクライアント端末(1,2)に対してDHCP応答を返す(図2−2の202)。
【0096】
DHCP応答を受信することにより、クライアント端末(1,2)は、TCP/IPネットワーク9におけるIPアドレスを獲得する。さらに、DHCP応答には、PXEサーバ4のIPアドレス、および、ユーザにOSを選択させるためのメニュー画面を表示するための命令も含まれている。
【0097】
次に、クライアント端末(1,2)は、ユーザにOSを選択させるためのメニュー画面を表示するための命令を実行し、PXEサーバ4に対して、ユーザが選択したOSを通知し(図2−2の203)、PXEサーバ4はクライアント端末(1,2)に対して、TFTPサーバ5のIPアドレスと、ブートストラップファイル識別子を通知する(図2−2の204)。
【0098】
次に、クライアント端末(1,2)は、指定されたTFTPサーバ5ヘブートストラップファイル取得要求(TFTP要求)を送り(図2−2の205)、TFTPサーバ5から通知されたブートストラップファイル識別子に対応するブートストラップファイルをダウンロードする(図2−2の206)。
【0099】
次に、クライアント端末(1,2)は、当該ダウンロードしたブートストラップファイルを、自端末内のRAM(Random Access Memory)に展開し、実行する(図2−2の207)。
【0100】
クライアント端末(1,2)のブートストラップファイルは、DHCPサーバ3に対してIPアドレス要求を送信する(図2−2の208)。DHCPサーバ3は、クライアント端末(1,2)に対して、IPアドレスを通知する(図2−2の209)。
【0101】
次に、クライアント端末(1,2)は、DBサーバ6に対してクライアント端末認証要求を送信する(図2−2の210)。
【0102】
DBサーバ6は、クライアント端末(1,2)の認証を行い、内部のデータベースにクライアント端末情報を登録する(図2−2の211)。同時に、システム領域LUを利用するためのワンタイムパスワード(以下、OTPという)を生成し、当該OTPと、クライアント端末名と、LUN(Logical Unit Number)とを対応づけて内部のデータベース(後述するOTPチェックテーブル)に格納する。
【0103】
次に、DBサーバ6は、クライアント端末(1,2)に対して、システム領域の論理ユニット番号(Logical Unit Number;以下、LUN)と、前述のOTPを通知する(図2−2の212)。この時に、通知した番号のLUが格納しているストレージ装置のIPアドレス、ポート番号、およびターゲット名も同時に通知する。
【0104】
クライアント端末(1,2)は、ストレージ装置(10,11)に対して、前述のOTPとユーザ識別子(例えば、クライアント端末名)を付加して、通知されたLUNのシステム領域LUの利用要求を発行する(図2−2の213)。
【0105】
ストレージ装置(10,11)は、クライアント端末(1,2)からのシステム領域LUの利用要求に基づき、当該LUの利用要求に付加されているユーザ識別子とOTPを認証サーバ20に通知する(図2−2の214)。
【0106】
認証サーバ20は、ストレージ装置(10,11)から通知されたユーザ識別子とOTPをDBサーバ6に通知する(図2−2の215)。
【0107】
DBサーバ6は、認証サーバ20から通知されたOTPと、内部のデータベースに保持しているOTPの中で認証サーバ20から通知されたユーザ識別子に対応するクライアント端末のOTPとを比較し、認証サーバ20から通知されたユーザ識別子に対応するクライアント端末とOTPが、DBサーバ6において正当に認証されたクライアント端末と、OTPであるか否かをチェックし、当チェック結果を認証サーバ20に通知する(図2−2の216)。
【0108】
認証サーバ20は、前述のチェック結果をストレージ装置(10,11)に通知する(図2−2の217)。
【0109】
ストレージ装置(10,11)は、前述のチェック結果に応じて、クライアント端末(1,2)からのシステム領域LUの利用要求の許可、あるいは、不許可を判定し、クライアント端末(1,2)に通知する(図2−2の218)。
【0110】
ストレージ装置(10,11)において、クライアント端末(1,2)からのシステム領域LUの利用要求が許可された場合、クライアント端末(1,2)は、通知されたLUNのシステム領域LUをマウントし、ブートする。これにより、OSの起動が終了する(図2−2の219)。
【0111】
次に、ユーザのログイン(図2−3の220)を待って、クライアント端末(1,2)のOSは、DBサーバ6に対して、ユーザ認証要求を送信する(図2−3の221)。このとき、クライアント端末(1,2)は、DBサーバ6に対して、ユーザID、パスワードを通知する。
【0112】
DBサーバ6は、ユーザの正当性を確認し、内部のデータベースにユーザ情報を登録する(図2−3の222)。同時に、ユーザ領域LUを利用するためのワンタイムパスワード(以下、OTPという)を生成し、当該OTPと、ユーザ名と、LUN(Logical Unit Number)とを対応づけて内部のデータベース(後述するOTPチェックテーブル)に格納する。
【0113】
次に、DBサーバ6は、クライアント端末(1,2)に対して、ユーザ領域の論理ユニット番号(Logical Unit Number;以下、LUN)と、前述のOTPを通知する(図2−3の223)。この時に、通知した番号のLUが格納しているストレージ装置のIPアドレス、ポート番号、およびターゲット名も同時に通知する。
【0114】
クライアント端末(1,2)は、ストレージ装置(10,11)に対して、前述のOTPとユーザ識別子(例えば、ユーザID)を付加して、通知されたLUNのユーザ領域LUの利用要求を発行する(図2−3の224)。
【0115】
ストレージ装置(10,11)は、クライアント端末(1,2)からのユーザ領域LUの利用要求に基づき、当該LUの利用要求に付加されているユーザ識別子とOTPを認証サーバ20に通知する(図2−3の225)。
【0116】
認証サーバ20は、ストレージ装置(10,11)から通知されたユーザ識別子とOTPをDBサーバ6に通知する(図2−3の226)。
【0117】
DBサーバ6は、認証サーバ20から通知されたOTPと、内部のデータベースに保持しているOTPの中で認証サーバ20から通知されたユーザ識別子に対応するユーザのOTPとを比較し、認証サーバ20から通知されたユーザ識別子に対応するユーザとOTPが、DBサーバ6において正当に認証されたユーザと、OTPであるか否かをチェックし、当チェック結果を認証サーバ20に通知する(図2−3の227)。
【0118】
認証サーバ20は、前述のチェック結果をストレージ装置(10,11)に通知する(図2−3の228)。
【0119】
ストレージ装置(10,11)は、前述のチェック結果に応じて、クライアント端末(1,2)からのユーザ領域LUの利用要求の許可、あるいは、不許可を判定し、クライアント端末(1,2)に通知する(図2−3の229)。
【0120】
ストレージ装置(10,11)において、クライアント端末(1,2)からのユーザ領域LUの利用要求が許可された場合、クライアント端末(1,2)は、通知されたLUNのユーザ領域LUをマウントする。
【0121】
また、ユーザがユーザ領域LUをアンマウントした時、あるいは、クライアント端末の電源がオフとされたとき(図2−3の230)、クライアント端末(1,2)は、DBサーバ6に対して、LU利用終了を通知する(図2−3の231)。このとき、クライアント端末(1,2)のOSは、DBサーバ6に対して、ユーザID、OTPを通知する。
【0122】
DBサーバ6は、当該LU利用終了通知に基づき、内部のデータベース(後述するOTPチェックテーブル)内の該当するユーザと、および当該ユーザ用のOTPを削除する(図2−3の232)。
【0123】
なお、前述の説明では、図2−14に示すように、ストレージ装置(10,11)は、ユーザ識別子、OTPを認証サーバ20に通知し、認証サーバ20が、当該通知されたユーザ識別子、OTPを、DBサーバ6に通知する場合について説明したが、図示は省略するが、ストレージ装置(10,11)が、認証サーバ20を経由することなく直接DBサーバ6に通知するようにしてもよい。
【0124】
さらに、図2−13に示すように、DBサーバ6と、認証サーバ20とが、データベース30を共用する構成となし、DBサーバ6が、ユーザ識別子およびOTPを、データベース30に登録し、認証サーバ20が、ストレージ装置(10,11)から通知されたOTPと、データベース30に保持しているOTPの中でストレージ装置(10,11)から通知されたユーザ識別子に対応するユーザのOTPとを比較し、ストレージ装置(10,11)から通知されたユーザ識別子に対応するクライアント端末(あるいは、ユーザ)とOTPが、DBサーバ6において正当に認証されたものであるか否かをチェックし、当チェック結果をストレージ装置(10,11)に通知するようにしてもよい。
【0125】
次に、本実施のログイン制御について、図2−4、図2−5を用いて説明する。
【0126】
図2−4、図2−5では、ユーザAが、クライアント端末Aを介して、図2−4の301から311の手順でログインした後に、ユーザAが、クライアント端末Bを介してログインするものとする。
【0127】
この場合の処理の方法として、(1)ユーザAのクライアント端末Bを介する新規のログインを有効にする場合と、(2)ユーザAのクライアント端末Aを介する既ログインを有効にする場合の2つがある。
【0128】
始めに、ユーザAのクライアント端末Bを介する新規のログインを有効にする場合について説明する。なお、図2−4の301から310の手順は、図2−3の220から229の手順と同じであるので再度の説明は省略する。
【0129】
クライアント端末Bは、ユーザAのログイン(図2−4の311)があると、DBサーバ6に対して、ユーザ認証要求を送信する(図2−4の312)。このとき、クライアント端末Bは、DBサーバ6に対して、ユーザAのユーザID、パスワードを通知する。
【0130】
DBサーバ6は、内部のデータベースを参照して、ユーザAが、クライアント端末Aを介してログイン済みであることを確認した後、ユーザAのユーザ領域LUを利用するための新たなOTPを生成し、既に内部のデータベース(後述するOTPチェックテーブル)に保持済みのOTPを、この新たなパスワードに更新し、当該OTPと、ユーザ名と、LUN(Logical Unit Number)とを対応づけて内部のデータベース(後述するOTPチェックテーブル)に格納する(図2−4の313)。
【0131】
同時に、クライアント端末Aに対して、ユーザAのログオフ要求を発行し(図2−4の314)、クライアント端末Aを介するユーザAのログインを強制的にログオフする。
【0132】
次に、クライアント端末からの応答(ユーザAのログオフ要求に対する;図2−4の315)を待って、クライアント端末BにユーザAのユーザ領域LUのLUN(Logical Unit Number)と、前述のOTPを通知する(図2−4の316)。この時に、通知したLUNのLUを格納しているストレージ装置のIPアドレス、ポート番号、およびターゲット名も同時に通知する。
【0133】
なお、クライアント端末からの応答を待たずに、クライアント端末BにユーザAのユーザ領域LUのLUN(Logical Unit Number)と、前述のOTPを通知するようにしてもよい。
【0134】
次に、クライアント端末Bは、ストレージ装置(10,11)に対して、前述のOTPとユーザ識別子(例えば、ユーザID)を付加して、通知されたLUNのLUの利用要求を発行する(図2−4の317)。
【0135】
図2−4の318から322の手順に基づき、ストレージ装置(10,11)は、DBサーバ6での認証結果に応じて、クライアント端末BからのLUの利用要求の許可、あるいは、不許可を判定し、クライアント端末Bに通知する。
【0136】
なお、図2−4の318から322の手順は、図2−3の225から229の手順と同じであるので再度の説明は省略する。
【0137】
実施例2によれば、例えば、図2−4の314のログオフ要求がタイムアウトした場合、あるいは、ネットワーク断などログオフ要求を受信しなかった場合に、クライアント端末Aが、ストレージ装置(10,11)にアクセスしても、クライアント端末Aが通知するOTPと、DBサーバ6の内部のデータベースに保持されているOTPとが異なるので、DBサーバ6でのチェックにおいてOTPが不一致となり、クライアント端末AからのLUの利用要求が不許可となる。
【0138】
次に、ユーザAのクライアント端末Aを介する既ログインを有効とする場合について説明する。
【0139】
クライアント端末Bは、ユーザAのログイン(図2−5の411)があると、DBサーバ6に対して、ユーザ認証要求を送信する(図2−5の412)。
【0140】
DBサーバ6は、内部のデータベースを参照し、ユーザAが、クライアント端末Aを介してログイン済みであることを確認すると(図2−5の413)、クライアント端末Bのログインを不許可とする(図2−5の414)。
【0141】
図2−6は、図2−1に示すDBサーバ6内で管理されるテーブルの種類を示す図である。
【0142】
図2−6に示すように、DBサーバ6内には、クライアント端末起動制御テーブル61、ユーザ情報テーブル62、LUN情報テーブル63、ストレージ装置情報テーブル64、クライアント端末情報テーブル65、OTPチェックテーブル66が設けられる。
【0143】
図2−7は、図2−6に示すクライアント端末起動制御テーブル61の内容を示す図である。
【0144】
図2−7に示すように、クライアント端末起動制御テーブル61は、起動されたクライアント端末のMACアドレス、IPアドレス、使用OS名、使用ユーザ名、システム領域LUN、ユーザ領域LUN、二重ログイン処理フラグを格納するものである。クライアント端末起動制御テーブル61のそれぞれのフィールドには、クライアント端末情報あるいはユーザ認証情報登録(図2−2の211、図2−3の222)時に所定の情報が格納される。
【0145】
また、図2−7の二重ログイン処理フラグは、複数の異なるクライアント端末から同じユーザがログインした場合に、前述の図2−4、あるいは、図2−5の処理で有効とされたログインのクライアント端末を示すフラグである。
【0146】
図2−8は、図2−6に示すユーザ情報テーブル62の内容を示す図であり、図2−8に示すように、ユーザ情報テーブル62は、ユーザ名毎のパスワードを格納するものである。このユーザ情報テーブル62は、ユーザ認証(図2−3の222)時に使用される。
【0147】
図2−9は、図2−6に示すLUN情報テーブル63の内容を示す図であり、図2−9に示すように、LUN情報テーブル63には、LUNと、当該LUNの番号のLUの種類(システム領域LU、あるいは、ユーザ領域LU)と、当該LUNの番号のLUのOSと、使用しているクライアント端末名と、使用しているユーザ名とが格納される。「LU使用クライアント端末」には、「LUの種類」がシステム領域LUの場合のみ、クライアント端末識別子が格納され、「LU使用ユーザ名」には、「LUの種類」がユーザ領域LUの場合のみユーザ名が格納される。このLUN情報テーブル63を用いて、クライアント端末に対して、システム領域LUN、およびユーザ領域LUNを通知する(図2−2の212、図2−3の223)。
【0148】
図2−10は、図2−6に示すストレージ装置情報テーブル64の内容を示す図であり、図2−10に示すように、ストレージ装置情報テーブル64は、LUN毎に、ストレージ装置のIPアドレスと、ポート番号と、ターゲット名を格納するものである。クライアント端末に対して、システム領域LUN、およびユーザ領域LUNを通知(図2−2の212、図2−3の223)する際に、このストレージ装置情報テーブル64の内容も同時に通知される。
【0149】
図2−11は、図2−6に示すクライアント端末情報テーブル65の内容を示す図であり、図2−11に示すように、クライアント端末情報テーブル65は、クライアント端末のMACアドレスと、クライアント端末のIPアドレスと、DHCPサーバ3のIPアドレスと、TFTPサーバ5のIPアドレスとを格納するものである。
【0150】
図2−12は、図2−6に示すOTPチェックテーブル66の内容を示す図であり図2−12に示すように、OTPチェックテーブル66は、ユーザ識別子と、ワンタイムパスワードと、LUNとを格納するものである。LUNがシステム領域のLUの場合、「ユーザ識別子」には、例えば、「クライアント端末名」が、LUNがユーザ領域のLUの場合、「ユーザ識別子」には、例えば、「ユーザID」が格納される。
【0151】
OTPチェックテーブル66のそれぞれのフィールドには、クライアント端末情報あるいはユーザ認証情報登録(図2−2の211、図2−3の222)時に所定の情報が格納される。
【0152】
実施例2では、ブートストラップファイルは、必要に応じてクライアント端末(1,2)のユーザに対して、ユーザ名とパスワードを入力させ、認証要求をDBサーバ6に送信するユーザ認証機能、および受信した認証応答に基づき、指定されたストレージ装置内のLU(101〜103)に接続するiSCSIイニシエータ機能を有する。
【0153】
また、実施例2では、DBサーバ6が、クライアント端末(1,2)の電源投入後に、クライアント端末との間で通信を行い、クライアント端末(1,2)にクライアント端末管理データを割り当てるためのクライアント端末認証プログラムを有する。
【0154】
このプログラムは、ユーザの選択や、クライアント端末(1,2)のMACアドレス情報から、起動OSやIPアドレス、ホスト名(コンピュータ名)、ドメイン名、システム領域LUを動的に割り当てるプログラムである。
【0155】
さらに、DBサーバ6が、ユーザログイン時に、クライアント端末(1,2)との間で通信を行い、ユーザ認証情報を割り当てるユーザ認証プログラム(ユーザ名をもとにユーザ領域LUを割り当てるプログラム)も有する。
【0156】
前述したように、本実施例のネットワークブートシステムでは、DBサーバ(本発明の管理サーバに相当)が、クライアント端末およびユーザを認証し、ユーザ用のLUを利用のためのOTP(パスワード)を生成するとともに、OTPを含む認証情報を内部あるいいは認証サーバと共用のデータベース(特に、OTPチェックテーブル)に登録し、さらに、クライアント端末にOTPとLU情報(ターゲット名、LUN等)の払い出しを行う。
【0157】
クライアント端末は、ユーザID、OTPを用い、ストレージ装置(あるいは、ストレージルータ)ヘユーザ用のLUの利用要求を行う。
【0158】
ストレージ装置は、ユーザID、OTPを直接、あるいは、認証サーバ経由でDBサーバに送り、DBサーバにおいてユーザを認証し、当該認証結果に応じて、クライアント端末へLUの利用許可を与える。
【0159】
そして、実施例2では、例えば、第1のクライアント端末を介してユーザAがログイン済みの状態において、第2のクライアント端末が、DBサーバに対して、同一のユーザのユーザ認証要求(ログイン要求)があった場合に、DBサーバは、新規ログインクライアントを有効とする場合には、ユーザA用のLUを利用するための新たなOTPを生成し、既に保持済みのOTPを新たなOTPに更新し、前述のデータベースに保持するとともに、ユーザA用のLU情報(ターゲット名、LUN等)と、更新したOTPを第2のクライアント端末に通知する。
【0160】
また、既ログインクライアントを有効とする場合には、新規のOTPの生成・更新、新規のOTPの第2のクライアント端末への通知を行わず、第2のクライアント端末からのユーザ認証要求を不許可とする。
【0161】
これにより、実施例2では、同じユーザによる二重ログインを防止し、同じユーザIDでの重複ログインによるLUの破壊を防止することが可能となる。
【0162】
なお、実施例2において、DBサーバが、クライアント端末からのユーザログイン要求時にOTPを生成し、内部のデータベース(あるいは、認証サーバと共用のデータベース)に登録するとともに、選択されたOS情報を付加した「ユーザ領域LU利用要求用のユーザ名」を生成し、内部のデータベース(あるいは、認証サーバと共用のデータベース)に登録し、前記パスワードと前記LU利用要求用のユーザ名を前記第1のクライアント端末、あるいは、第2のクライアント端末に通知し、クライアント端末がユーザ領域LUの利用要求時に利用するようにしてもよい。
【0163】
この場合には、同一ユーザが、同時に複数の端末をそれぞれ異なるOSで利用することが可能となる。
【0164】
また、前述の説明では、本発明をネットワークブートシステムに適用した実施例2について説明したが、本発明はこれに限定されるものではなく、本発明は、クライアント端末が、ネットワークを介してストレージ装置のLU内のファイルをアクセスするネットワークシステムにも適用可能であることはいうまでもない。
【0165】
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【実施例3】
【0166】
図3−1は、本発明の実施例3のネットワークブートシステムの概略構成を示すブロック図である。
【0167】
実施例3のネットワークブートシステムは、図3−1に示すように、1台以上のクライアント端末(1,2)、DHCP(Dynamic Host Configuration Protocol)サーバ3、PXE(Preboot Execution Environment)サーバ4、TFTP(Trivial File Transfer Protocol)サーバ5、データベース管理サーバ(以下、DBサーバ)6、1台以上のストレージ装置(10、11)が、TCP/IP(Transmission Control Protocol/Internet Protocol)ネットワーク9を介して接続されている。なお、DHCPサーバ3、PXEサーバ4、TFTPサーバ5、およびDBサーバ6は管理サーバを構成し、さらに、各装置にはIPアドレスが割り当てられ、各装置間はTCP/IPによる通信が可能である。
【0168】
各ストレージ装置(10,11)内には、データを格納するための1以上のターゲット(101〜103)があり、ターゲットには1以上の論理ユニット(Logical Unit;以下、LU)があり、各LUにはユーザが割り当てられ(1つのLUに複数のユーザが割り当てられることもあるし、一切のユーザが割り当てられないこともある)、当該ユーザがクライアント端末を動作させるのに必要なデータ(例えば、OSやアプリケーションソフトウェア等)が保存されている。
【0169】
実施例3では、各クライアント端末(1,2)と各ストレージ装置(10,11)との間の通信プロトコルとして、iSCSI(Internet Small Computer System Interface)を想定するが、TCP/IPで転送可能なIPストレージ装置アクセスプロトコルであれば、iSCSIには限定されない。
【0170】
さらに、ストレージ装置(10,11)をTCP/IPネットワーク9に接続する代わりに、ストレージルータを接続することもできる。
【0171】
ストレージルータには、ファイバチャネル(fibre channel;以下、FC)等のiSCSI以外のストレージ装置アクセスプロトコルによる通信機能を持ったストレージ装置が、TCP/IPネットワーク9とは別個のネットワークを介して接続されていて、iSCSIとFC等との間でプロトコル変換を行い、各クライアント端末(1,2)と各ストレージ装置との間の通信を中継するものである。
【0172】
図3−1においては、ストレージ装置(10,11)の全部または一部を前記ストレージルータに置き換えても問題なく動作するが、以下の説明では、ストレージルータを使用しない場合について説明する。
【0173】
実施例3のネットワークブートシステムでは、ストレージ装置(10,11)内に設けられる複数のLUを、システム領域LUと、ユーザ毎に用意されるユーザ領域LUとに分離する。ここで、システム領域LUには、OS,アプリケーションデータ等が格納され、ユーザ領域LUには、ユーザデータ(例えば、デスクトップ設定データ、ドキュメントファイル等)が格納される。
【0174】
さらに、前述のシステム領域LUは、マスタLUと、前記マスタLUをコピーしたレプリカLUとで構成される。クライアント端末(1,2)は、システム領域LUにアクセスする場合に、レプリカLUにアクセスする。
【0175】
この場合に、ストレージ装置(10,11)は、管理者が、例えば、管理用端末を使用してマスタLUが更新されたときに、当該更新されたマスタLUをコピーしてレプリカLUを生成する。
【0176】
これにより、実施例3では、クライアント端末(1,2)が、OSやアプリケーションデータを格納したレプリカLUにアクセスするようにしたので、マスタLUに対してのみアップデート等のメンテナンスを行えばよいので、ストレージ装置内のLUに対するメンテナンスコストを低減することが可能となる。
【0177】
以下、図3−2に示すシーケンス図に従って、実施例3のネットワークブートシステムの動作を説明する。
【0178】
電源が投入されると、クライアント端末(1,2)はDHCPサーバ3に対してDHCP要求を送信し(図3−2の201)、DHCPサーバ3はクライアント端末(1,2)に対してDHCP応答を返す(図3−2の202)。
【0179】
DHCP応答を受信することにより、クライアント端末(1,2)は、TCP/IPネットワーク9におけるIPアドレスを獲得する。さらに、DHCP応答には、PXEサーバ4のIPアドレス、および、ユーザにOSを選択させるためのメニュー画面を表示するための命令も含まれている。
【0180】
次に、クライアント端末(1,2)は、PXEサーバ4に対して、ユーザが選択したOSを通知し(図3−2の203)、PXEサーバ4はクライアント端末(1,2)に対して、TFTPサーバ5のIPアドレスと、ブートストラップファイル識別子を通知する(図3−2の204)。
【0181】
次に、クライアント端末(1,2)は、指定されたTFTPサーバ5へブートストラップファイル取得要求(TFTP要求)を送り(図3−2の205)、TFTPサーバ5から通知されたブートストラップファイル識別子に対応するブートストラップファイルをダウンロードする(図3−2の206)。
【0182】
次に、クライアント端末(1,2)は、当該ダウンロードしたブートストラップファイルを、自端末内のRAM(Random Access Memory)に展開し、実行する(図3−2の207)。
【0183】
次に、クライアント端末(1,2)のブートストラップファイルは、DHCPサーバ3に対してIPアドレス要求を送信する(図3−2の208)。
【0184】
DHCPサーバ3は、クライアント端末(1,2)のブートストラップファイルに対して、IPアドレスを通知する(図3−2の209)。
【0185】
次に、クライアント端末(1,2)のブートストラップファイルは、DBサーバ6に対してクライアント端末認証要求を送信する(図3−2の210)。
【0186】
DBサーバ6は、クライアント端末(1,2)の認証を行い、内部のデータベースにクライアント端末情報を登録する(図3−2の211)。
【0187】
次に、DBサーバ6は、クライアント端末(1,2)のブートストラップファイルに対して、システム領域の論理ユニット番号(Logical Unit Number;以下、LUN)を通知する(図3−2の212)。この時に、通知したLUNのLUが格納しているストレージ装置のIPアドレス、ポート番号、およびターゲット名も同時に通知する。
【0188】
なお、システム領域LUN通知は、209のステップで実行することも可能である。
【0189】
次に、ブートストラップファイルは、ストレージ装置(10,11)に対して、通知された番号のシステム領域LUの利用要求を送り(図3−2の213)、ストレージ装置(10,11)からのシステム領域LUNの利用応答(図3−2の214)を待って、通知された番号のシステム領域LUをクライアント端末(1,2)にマウントし、ブートする。これにより、OSの起動が終了する(図3−2の215)。
【0190】
次に、ユーザのログイン(図3−2の216)を待って、クライアント端末(1,2)のOSは、DBサーバ6に対して、ユーザ認証要求を送信する(図3−2の217)。このとき、クライアント端末(1,2)のOSは、DBサーバ6に対して、ユーザID、パスワードを通知する。
【0191】
DBサーバ6は、ユーザの正当性を確認し、内部のデータベースにユーザ情報を登録する(図3−2の218)。
【0192】
次に、DBサーバ6は、クライアント端末(1,2)のOSに対して、ユーザ領域のLUNを通知する(図3−2の219)。この時に、通知した番号のLUが格納しているストレージ装置のIPアドレス、ポート番号、およびターゲット名も同時に通知する。
【0193】
次に、クライアント端末(1,2)のOSは、ストレージ装置(10,11)に対して、通知された番号のユーザ領域LUの利用要求を送り(図3−2の220)、ストレージ装置(10,11)からのユーザ領域LUN利用応答(図3−2の221)を待って、通知された番号のユーザ領域LUをクライアント端末(1、2)にマウントする。
【0194】
図3−3は、図3−1に示すDBサーバ6内で管理されるテーブルの種類を示す図である。
【0195】
図3−3に示すように、DBサーバ6内には、クライアント端末起動制御テーブル61、ユーザ情報テーブル62、LUN情報テーブル63、ストレージ装置情報テーブル64、クライアント端末情報テーブル65が設けられる。
【0196】
図3−4は、図3−3に示すクライアント端末起動制御テーブル61の内容を示す図である。
【0197】
図3−4に示すように、クライアント端末起動制御テーブル61は、起動されたクライアント端末のMACアドレス、IPアドレス、使用OS名、使用ユーザ名、システム領域LUN、ユーザ領域LUNを格納するものである。クライアント端末起動制御テーブル61のそれぞれのフィールドには、図2に示すクライアント端末認証情報登録(図2の211)、あるいはユーザ認証情報登録(図2の218)時に所定の情報が格納される。
【0198】
図3−5は、図3−3に示すユーザ情報テーブル62の内容を示す図であり、図3−5に示すようにユーザ情報テーブル62は、ユーザ名毎のパスワードを格納するものである。このユーザ情報テーブル62は、ユーザ認証(図2の218)時に使用される。
【0199】
図3−6は、図3−3に示すLUN情報テーブル63の内容を示す図であり、図3−6に示すようにLUN情報テーブル63は、LUNと、当該LUNの番号のLUの種類、当該LUNの番号のLUの種別、当該LUNの番号のOS名、当該LUNの番号のLU使用クライアント端末名、当該LUNの番号のLU使用ユーザ名を格納するものである。
【0200】
ここで、LUの種類は、システム領域LUか、あるいは、ユーザ領域LUかを区別し、LUの種別は、LUの種類がシステム領域の場合のみ、有効な値(マスタLUか、あるいは、レプリカLUを)が格納される。
【0201】
また、LU使用クライアント端末名は、LUの種類が、システム領域LUの場合のみ、クライアント端末のMACアドレスをクライアント端末識別子として格納する。さらに、LU使用ユーザ名は、LUの種類が、ユーザ領域LUの場合のみ、ユーザ名を格納する。 このLUN情報テーブル63を用いて、クライアント端末に対して、システム領域LUN、およびユーザ領域LUNを通知する(図2の212、図2の219)。
【0202】
図3−7は、図3−3に示すストレージ装置情報テーブル64の内容を示す図であり、図3−7に示すようにストレージ装置情報テーブル64は、LUN毎に、ストレージ装置のIPアドレスと、ポート番号と、ターゲット名を格納するものである。クライアント端末に対して、システム領域LUN、およびユーザ領域LUNを通知(図2の212、図2の219)する際に、このストレージ装置情報テーブル64の内容も同時に通知される。
【0203】
図3−8は、図3−3に示すクライアント端末情報テーブル65の内容を示す図であり、図3−8に示すようにクライアント端末情報テーブル65は、クライアント端末のMACアドレスと、クライアント端末のIPアドレスと、DHCPサーバ3のIPアドレスと、TFTPサーバ5のIPアドレスとを格納するものである。
【0204】
本実施例では、DBサーバ6が、クライアント端末(1,2)の電源投入後に、クライアント端末との間で通信を行い、クライアント端末(1,2)にクライアント端末管理データを割り当てるためのクライアント端末認証プログラムを有する。
【0205】
このプログラムは、ユーザの選択や、クライアント端末(1,2)のMACアドレス情報から、起動OSやIPアドレス、ホスト名(コンピュータ名)、ドメイン名、システム領域LUを動的に割り当てるプログラムである。
【0206】
さらに、DBサーバ6が、ユーザログイン時に、クライアント端末(1,2)との間で通信を行い、ユーザ認証情報を割り当てるユーザ認証プログラム(ユーザ名をもとにユーザ領域LUを割り当てるプログラム)も有する。
【0207】
図3−9は、実施例3の特徴を説明するための模式図である。
【0208】
実施例3では、図3−9に示すように、ストレージ装置(10,11)内に設けられるマスタLUは、例えば、用途・状態に応じた複数のOSを格納する複数のマスタLUを有する。それらのマスタLUは、図3−10に示すように、例えば、OS名とバージョンで管理される。
【0209】
管理者は、管理用端末70を使用して、マスタLUに対して、メンテナンス(OSアップデート、アプリケーションプログラムのインストール、ウイルスチェック、バックアップなど)を行う(図3−9の1)。
【0210】
ストレージ装置(10,11)は、マスタLUが更新されたときに、当該更新されたマスタLUをコピーしてレプリカLUを生成する(図3−9の2)。例えば、クライアント端末数のレプリカLUを生成する。
【0211】
また、ストレージ装置(10,11)は、DBサーバ6に対して、マスタLU、およびレプリカLUのLUNと、当該LUNのLUが格納しているストレージ装置のIPアドレス、ポート番号、およびターゲット名を通知する。
【0212】
これらの情報は、DBサーバ6内の、前述のストレージ装置情報テーブル64、およびLUN情報テーブル63に格納される。
【0213】
クライアント端末(1,2)は、DBサーバ6から通知されたLUNに基づき(図3−9の4)、レプリカLUを使用して起動する(図3−9の5)。
【0214】
これにより、実施例3では、管理者が、マスタLUに対して、メンテナンスやアプリケーションのインストール作業を一度行うだけで、複数のクライアント端末(1,2)が使用するシステム領域LUに、その作業を反映させることができる。
【0215】
さらに、クライアント端末の台数が増えても、手間や管理コストが上がることがない。
【0216】
なお、前述の説明では、クライアント端末(1,2)が、システム領域LUをマウントした後、ユーザ領域LUをマウントするネットワークブートシステムに、本発明を適用した実施例について説明したが、本発明はこれに限定されず、クライアント端末(1,2)が、システム領域LUとユーザ領域LUとを同時にマウントするネットワークブートシステムにも適用可能であることはいうまでもない。
【0217】
以上、本発明者によってなされた発明を、前記実施例3に基づき具体的に説明したが、本発明は、前記実施例3に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【実施例4】
【0218】
以下の実施例4では、クライアント端末(例えば、ユーザ端末)にマウントされるデータを複数の世代で管理し、クライアント端末からマウント要求を受け付けて制御するストレージシステムについて説明する。なお、以下では、実施例4に係るストレージシステムの構成および動作の流れを順に説明し、最後に実施例4による効果を説明する。
【0219】
[ストレージシステムの構成(実施例4)]
まず最初に、図4−1を用いて、実施例4に係るストレージシステムの構成を説明する。同図に示すように、このストレージシステム(仮にN11構成とする)は、複数のユーザ端末と、管理端末と、ストレージ装置80と、DBサーバ90とから構成され、ストレージ装置80およびDBサーバ90はネットワークを介して複数のユーザ端末を通信可能な状態に接続されている。また、ストレージ装置80は、記憶部81と、ディスク操作部82と、マウント制御部83とで構成されており、DBサーバ90は、世代管理テーブル91と、世代切替部92と、マウント制御部93とで構成されている。
【0220】
このうち、ストレージ装置80の記憶部81は、所定のデータを記憶する記憶手段であり、ユーザ端末に主にマウントされる運用系データを記憶する運用系ディスクと、ユーザ端末に主にマウントされるバックアップ系データを記憶するバックアップ系ディスクと、管理端末に主にマウントされる待機系データを記憶する待機系ディスクとで構成される。また、各々のディスクに、例えば、OSやAPプログラムなどのデータを記憶する。なお、バックアップ系ディスクおよび運用系ディスクはユーザ端末からの利用(RO:Read Only、読み出し専用の利用)を受け付け、待機系ディスクはユーザ端末からの利用を受け付けず、管理端末からの利用(Read/Write、読み出し又は書き込みの利用)を受け付ける。
【0221】
続いて、DBサーバ90の世代管理テーブル91は、ストレージ装置80の記憶部81に備えられた各ディスクの制御(マウント制御およびディスク切替制御)に用いられるテーブルであり、バックアップ系、運用系および待機系のそれぞれに対応付けてディスク情報を記憶して構成される。
【0222】
続いて、DBサーバ90の世代切替部92は、管理端末から切替要求を受け付けて世代管理テーブル91内のディスク情報(ボリューム名)を変更するとともにストレージ装置80を制御する処理部である。具体的には、この世代切替部92は、管理端末から受け付けた切替要求(系切替要求あるいは系切戻要求)に応じて、バックアップ系ディスク情報、運用系ディスク情報および待機系ディスク情報の変更を行う(図4−3および図4−5参照)。これにより、運用系ディスクに含まれるデータに更新(例えば、OSやAPプログラムのアップデートなど)を反映し、運用系ディスクに含まれるデータ障害の復旧を行う趣旨である。また、世代切替部92により世代管理テーブル91内のディスク情報が変更される結果、ユーザ端末のマウントが継続される。
【0223】
また、世代切替部92は、ストレージ装置80のディスク操作部82に制御電文を発行し、記憶部81に備えられた各ディスク内のボリュームの削除やコピーを実行させる。そして、ストレージ装置80のディスク操作部82においてディスクのコピーが実行され、そのディスクに新規のボリューム名が付与された場合には、そのボリューム名を取得して世代管理テーブル91内のディスク情報の変更を行う。なお、世代切替部92は、ディスクのボリュームのコピーおよび削除について制御電文を発行し、ディスクのボリュームのムーブについては制御電文を発行しない(世代管理テーブル91の変更のみ)。
【0224】
続いて、ストレージ装置80のディスク操作部82は、DBサーバ90の世代切替部92から制御電文を受け付けて、記憶部81に備えられた各ディスク内のボリュームの削除やコピーを実行する処理部である。具体的には、このディスク操作部82は、DBサーバ90の世代切替部92から受け付けた制御電文に応じて、更新データが含まれる待機系ディスクを新たに運用系ディスクとするディスクの系切替(世代切替)を実行する場合には、更新データが含まれる待機系ディスクのコピーを行って運用系ディスクを生成し、生成した運用系ディスクに新たなボリューム名を付与する。また、バックアップ系データが含まれるバックアップ系ディスクを削除する。なお、系切替時に更新データが含まれる待機系ディスクはそのまま待機系ディスクとして保持される。
【0225】
また、ディスク操作部82は、DBサーバ90の世代切替部92から受け付けた制御電文に応じて、1世代前の更新データが含まれるバックアップ系ディスクを新たに運用系ディスクとするディスクの系切戻(世代切替)を実行する場合には、1世代前の更新データが含まれるバックアップ系ディスクのコピーを行って運用系ディスクおよび待機系ディスクを生成し、生成した運用系ディスクおよび待機系ディスクに新たなボリューム名を付与する。また、系切戻時に待機系データが含まれる待機系ディスクをそのまま削除する。
【0226】
続いて、DBサーバ90のマウント制御部93は、ユーザ端末のマウントを制御する処理部である。具体的には、このマウント制御部93は、ネットワークを介してユーザ端末から通信要求を受け付けると、世代管理テーブル91から運用系ディスク情報を取得し、運用系ディスク情報を載せた応答電文をユーザ端末へ発行するとともに、クライアント端末起動制御テーブル(図3−3の61参照)のシステム領域LUN(図3−4参照)に応答電文に載せた運用形ディスク情報を書き込む。
【0227】
続いて、ストレージ装置80のマウント制御部83は、ユーザ端末からマウント要求を受け付けて実行する処理部である。具体的には、このマウント制御部83は、DBサーバ90のマウント制御部93から応答電文を受け付けたユーザ端末(ユーザ端末のプログラム)が、応答電文から運用系ディスク情報を切り出し、その運用系ディスク情報とともにマウント要求を受け付けると、運用系ディスクをユーザ端末にマウント制御する。
【0228】
また、DBサーバ90およびストレージ装置80において上述してきたような処理が行われる結果、DBサーバ90が管理端末からディスクの切替要求を受け付けても、ユーザ端末にマウントされているディスクはどこからの制御を受けることなく存在し続けることができ、ユーザ端末のマウントは継続される。
【0229】
つまり、具体的には、ユーザ端末に運用系ディスクがマウントされている状態で、更新データが含まれる待機系ディスクを新たに運用系ディスクとするディスクの系切替要求をDBサーバ90が受信して、DBサーバ90の世代切替部92により旧運用系ディスクを新バックアップ系ディスクとする世代管理テーブル93の変更が行われると、ユーザ端末が新パックアップ系ディスクとなった旧運用系ディスクに引き続きマウントされる。
【0230】
また、ユーザ端末に運用系ディスクがマウントされている状態で、1世代前の更新データが含まれるバックアップ系ディスクを新たに運用系ディスクとするディスクの系切戻(世代切替)要求をDBサーバ90が受信して、DBサーバ90の世代切替部92により旧バックアップ系ディスクを新運用系ディスクとする世代管理テーブル93の変更が行われると、ユーザ端末が新パックアップ系ディスクとなった旧運用系ディスクに引き続きマウントされる。なお、これらのマウント制御は、世代管理テーブル91内の情報が変更されるだけで、ユーザ端末がマウントしているストレージ装置80の記憶部81に備えられた各ディスク内のボリュームにはなんら変更はない。
【0231】
[系切替動作(実施例4)]
次に、図4−2および図4−3を用いて、実施例4に係るストレージシステムの系切替動作による世代管理テーブル内の各ディスク情報に対応している実ボリュームの遷移について説明する。図4−2は、実施例4に係るストレージシステムの系切替動作による世代管理テーブル内の各ディスク情報に対応している実ボリュームの遷移を示す図であり、図4−3は、実施例4に係る世代管理テーブルの構成例を示す図である。なお、図4−2のディスク内に記載されている数字は、記憶されているデータの世代を表す。
【0232】
実施例4に係るストレージシステムは、図4−2に例示するように、系切替動作による世代管理テーブル内の各ディスク情報に対応している実ボリュームの遷移を行う。具体的には、この世代切替部92は、更新データが含まれる待機系ディスクを新たに運用系ディスクとするディスクの系切替要求を管理端末から受け付けて、図4−3に例示するように、バックアップ系ディスク情報、運用系ディスク情報および待機系ディスク情報の変更を行う。
【0233】
続いて、世代切替部92は、ストレージ装置80のディスク操作部82に制御電文を発行し、記憶部81に備えられた各ディスク内のボリュームの削除やコピーを実行させる。そして、ストレージ装置80のディスク操作部82は、DBサーバ90の世代切替部92から制御電文を受け付けて、記憶部81に備えられた各ディスク内のボリュームの削除やコピーを実行する。
【0234】
このようにして、図4−3に例示する世代管理テーブルのように、更新データが含まれる待機系ディスクCがコピーされて運用系ディスクDとなり(世代は0から1)、運用系ディスクBはムーブされてバックアップ系ディスクBとなり(世代は0のまま)、バックアップ系ディスクAは削除される。なお、更新データが含まれる待機系ディスクCはそのまま待機系ディスクCとなる。
【0235】
さらに、更新データが含まれる待機系ディスクを新たに運用系ディスクとするディスクの系切替要求が再びあった場合には、図4−3に例示する世代管理テーブルのように、更新データが含まれる待機系ディスクCがコピーされて運用系ディスクEとなり(世代は1から2)、運用系ディスクDはムーブされてバックアップ系ディスクDとなり(世代は0から1)、バックアップ系ディスクBは削除される。なお、更新データが含まれる待機系ディスクCはそのまま待機系ディスクCとなる。
【0236】
[系切戻動作(実施例4)]
続いて、図4−4および図4−5を用いて、実施例4に係るストレージシステムの系戻動作による世代管理テーブル内の各ディスク情報に対応している実ボリュームの遷移について説明する。図4−4は、実施例4に係るストレージシステムの系切替動作による世代管理テーブル内の各ディスク情報に対応している実ボリュームの遷移を示す図であり、図4−5は、実施例4に係る世代管理テーブルの構成例を示す図である。
【0237】
実施例4に係るストレージシステムは、図4−4に例示するように、系切戻動作による世代管理テーブル内の各ディスク情報に対応している実ボリュームの遷移を行う。具体的には、この世代切替部92は、1世代前の更新データが含まれるバックアップ系ディスクを新たに運用系ディスクとするディスクの系切戻要求を管理端末から受け付けて、図4−5に例示するように、バックアップ系ディスク情報、運用系ディスク情報および待機系ディスク情報の変更を行う。
【0238】
続いて、世代切替部92は、ストレージ装置80のディスク操作部82に制御電文を発行し、記憶部81に備えられた各ディスク内のボリュームの削除やコピーを実行させる。そして、ストレージ装置80のディスク操作部82は、DBサーバ90の世代切替部92から制御電文を受け付けて、記憶部81に備えられた各ディスク内のボリュームの削除やコピーを実行する。
【0239】
このようにして、図4−5に例示する世代管理テーブルのように、1世代前の更新データが含まれるバックアップ系ディスクAがコピーされて運用系ディスクA(世代は1から0)および待機系ディスクD(世代は2から0)となり、運用系ディスクBはムーブされてバックアップ系ディスクBとなり(世代は1のまま)、待機系ディスクCは削除される。
【0240】
さらに、1世代前の更新データが含まれるバックアップ系ディスクを新たに運用系ディスクとするディスクの系切戻要求が再びあった場合には、図4−5に例示する世代管理テーブルのように、1世代前の更新データが含まれるバックアップ系ディスクBがコピーされて運用系ディスクB(世代は0から1)および待機系ディスクE(世代は0から1)となり、運用系ディスクAはムーブされてバックアップ系ディスクAとなり(世代は0のまま)、待機系ディスクDは削除される。
【0241】
なお、系切替および系切戻時に行われるデータのコピーの実現方法としては、ストレージ装置の機能であるsnapshotやcloneにより実現してもよいし、空きディスクにデータを単にコピーして実現してもよい。
【0242】
[実施例4の効果]
上述してきたように、実施例4によれば、待機系ディスクを新たに運用系ディスクとする世代切替に際しては、運用系ディスクとして記憶されていた世代のディスクをバックアップ系ディスクとして切り替え、運用系ディスクがマウントされている状態で世代切替が行われたクライアント端末については、バックアップ系ディスクを用いてマウントを継続させるので、運用系ディスクが現にマウントされているクライアント端末による処理を停止させることなく、新たな世代への切替作業を実施することが可能である。
【0243】
また、実施例4によれば、運用系ディスクやバックアップ系ディスクとは別に待機系ディスクを記憶し、運用系ディスクやバックアップ系ディスクについてのみクライアント端末による利用を認めるので、運用系ディスクやバックアップ系ディスクを現に利用しているクライアント端末による処理を停止させることなく、待機系ディスクに対する更新作業を実施することが可能である。
【0244】
また、実施例4によれば、待機系ディスクを新たに運用系ディスクとする世代切替に際して、待機系ディスクとして記憶されていた世代のディスクを引き続いて待機系ディスクとするので、かかる世代切替の直後において、運用系ディスクと待機系ディスクとが同じ内容となる結果、待機系ディスクに対する更新作業を効率的に開始することが可能である。
【0245】
また、実施例4によれば、バックアップ系ディスクを運用系ディスクに戻す世代切替に際しては、運用系ディスクとして記憶されていた世代のディスクをバックアップ系ディスクとして切り替え、運用系ディスクがマウントされている状態で世代切替が行われたクライアント端末については、バックアップ系ディスクを用いてマウントを継続させ、バックアップ系ディスクがマウントされている状態で世代切替が行われたクライアント端末については、運用系ディスクを用いてマウントを継続させるので、運用系ディスクやバックアップ系ディスクが現にマウントされているクライアント端末による処理を停止させることなく、前の世代への切替作業を実施することが可能である。
【0246】
また、実施例4によれば、バックアップ系ディスクを運用系ディスクに戻す世代切替に際して、バックアップ系ディスクとして記憶されていた世代のディスクを待機系ディスクとして切り替えるので、かかる世代切替の直後において、運用系ディスクと待機系ディスクとが同じ内容となる結果、待機系ディスクに対する更新作業を効率的に開始することが可能である。
【0247】
ところで、上述してきた実施例では、全てのユーザ端末に同一のバックアップ系ディスク、運用系ディスクおよび待機系ディスクを備えたネットワークブートシステム(仮に、N11構成とする)を説明したが、本発明はこれに限定されるものではなく、例えば、図4−6に例示するように、ユーザ端末のそれぞれに固有のバックアップ系ディスクおよび運用系ディスクと全てのユーザ端末に対して同一の待機系ディスクとを備えたネットワークブートシステム(仮に、NN1構成とする)としてもよいし、または、図4−7に例示するように、ユーザ端末にそれぞれ固有のバックアップ系ディスク、運用系ディスクおよび待機系ディスクを備えたネットワークブートシステム(仮に、NNN構成とする)としてもよい。
【0248】
すなわち、NN1構成においては、ユーザ端末のそれぞれに固有のバックアップ系ディスクおよび運用系ディスクと全てのユーザ端末に対して同一の待機系ディスクとの間で上述した系切替動作(図4−2参照)および系切戻し動作(図4−4参照)を行い、NNN構成においては、ユーザ端末にそれぞれ固有のバックアップ系ディスク、運用系ディスクおよび待機系ディスクの間で系切替動作(図4−2参照)および系切戻し動作(図4−4参照)を行う。
【0249】
ユーザ端末がそれぞれに固有の運用系ディスクから起動するので、様々なユーザの利用形態(例えば、読み出しや書き込みなど)に対応しつつ、運用系ディスクが現にマウントされているクライアント端末による処理を停止させることなく、新たな世代への切替作業を実施することが可能であり、また、待機系ディスクに対する更新作業を実施することが可能である。
【0250】
また、図4−1に示したストレージシステムの各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、ストレージシステムの分散・統合の具体的形態は図示のものに限られず、ストレージ装置80とDBサーバ90とを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0251】
また、上記の実施例4では、ストレージ装置80の記憶部81を運用系ディスク、バックアップ系ディスクおよび待機系ディスクをそれぞれ1世代で構成する場合を説明したが、本発明はこれに限定されるものではなく、バックアップ系ディスクや待機系ディスクを複数世代で構成するようにしてもよい。なお、バックアップ系ディスクを複数世代で構成することで系切戻動作により数世代前まで遡ることができ、また、待機系ディスクを複数世代で構成することで、例えば、所定の世代に対して修正を実行することができる。
【産業上の利用可能性】
【0252】
以上のように、本発明に係るネットワークシステム、ストレージ装置へのアクセス制御方法、管理サーバ、ストレージ装置、ログイン制御方法、ネットワークブートシステムおよび単位記憶ユニットのアクセス方法は、クライアント端末が、ネットワークを介して接続されたストレージ装置内の単位記憶ユニットをマウントするシステム、および、クライアント端末が、ネットワークを介して接続されたストレージ装置内の単位記憶ユニットをマウントするシステム、さらには、ネットワークブートシステムおよび単位記憶ユニットへのアクセス方法に有用であり、特に、管理サーバから利用許可の得られない単位記憶ユニットへの不正アクセスを防ぐこと、および、同じユーザによる二重ログインを防止して同じユーザIDでの重複ログインによる単位記憶ユニットの破壊を防止すること、さらには、ストレージ装置内の単位記憶ユニットに対するメンテナンスコストを低減することに適する。
【符号の説明】
【0253】
1,2 クライアント端末
3 DHCP(Dynamic Host Configuration Protocol)サーバ
4 PXE(Preboot Execution Environment)サーバ
5 TFTP(Trivial File Transfer Protoco1)サーバ
6 データベース管理サーバ
9 TCP/IPネットワーク
10,11 ストレージ装置
20 認証サーバ(Radiusサーバ)
30 共用のデータベース
61 クライアント端末起動制御テーブル
62 ユーザ情報テーブル
63 LUN情報テーブル
64 ストレージ装置情報テーブル
65 クライアント端末情報テーブル
66 OTPチェックテーブル
70 管理者用端末
80 ストレージ装置
90 DBサーバ
101〜103 ターゲット

【特許請求の範囲】
【請求項1】
複数のクライアント端末と、
複数の単位記憶ユニットを有する少なくとも1台のストレージ装置と、
前記複数のクライアント端末と前記少なくとも1台のストレージ装置とを接続するネットワークとを備え、
前記各クライアント端末は、前記少なくとも1台のストレージ装置内の所定の単位記憶ユニットに格納されたデータをロードして動作するネットワークブートシステムであって、
前記複数の単位記憶ユニットは、システム領域単位記憶ユニットを含み、
前記システム領域単位記憶ユニットは、マスタ単位記憶ユニットと、前記マスタ単位記憶ユニットをコピーしたレプリカ単位記憶ユニットとを有し、
前記複数のクライアント端末がアクセスするシステム領域単位記憶ユニットは、レプリカ単位記憶ユニットであることを特徴とするネットワークブートシステム。
【請求項2】
前記システム領域単位記憶ユニットに格納されるデータには、オペレーティングシステムデータ、アプリケーションプログラムデータが格納されることを特徴とする請求項1に記載のネットワークブートシステム。
【請求項3】
前記少なくとも1台のストレージ装置は、前記マスタ単位記憶ユニットが更新されたときに、当該更新されたマスタ単位記憶ユニットをコピーしてレプリカ単位記憶ユニットを生成する手段を備えることを特徴とする請求項1または請求項2に記載のネットワークブートシステム。
【請求項4】
管理サーバを備え、
前記管理サーバは、マスタ単位記憶ユニット情報と、レプリカ単位記憶ユニット情報とを管理するLUN情報テーブルと、
前記LUN情報テーブルを参照して、前記各クライアント端末がアクセスするレプリカ単位記憶ユニットの情報を、前記各クライアント端末に対して通知する手段とを有することを特徴とする請求項1ないし請求項3のいずれか1項に記載のネットワークブートシステム。
【請求項5】
複数のクライアント端末と、
複数の単位記憶ユニットを有する少なくとも1台のストレージ装置と、
前記複数のクライアント端末と前記少なくとも1台のストレージ装置とを接続するネットワークとを備え、
前記各クライアント端末は、前記少なくとも1台のストレージ装置内の所定の単位記憶ユニットに格納されたデータをロードして動作するネットワークブートシステムにおける単位記憶ユニットへのアクセス方法であって、
前記複数の単位記憶ユニットは、システム領域単位記憶ユニットを含み、
当該システム領域単位記憶ユニットは、マスタ単位記憶ユニットと、前記マスタ単位記憶ユニットをコピーしたレプリカ単位記憶ユニットとを有し、
前記複数のクライアント端末がアクセスするシステム領域単位記憶ユニットは、レプリカ単位記憶ユニットであることを特徴とする単位記憶ユニットへのアクセス方法。
【請求項6】
前記システム領域単位記憶ユニットに格納されるデータには、オペレーティングシステムデータ、アプリケーションプログラムデータが格納されることを特徴とする請求項5に記載の単位記憶ユニットへのアクセス方法。
【請求項7】
前記少なくとも1台のストレージ装置は、前記マスタ単位記憶ユニットが更新されたときに、当該更新されたマスタ単位記憶ユニットをコピーしてレプリカ単位記憶ユニットを生成することを特徴とする請求項5または請求項6に記載の単位記憶ユニットへのアクセス方法。
【請求項8】
マスタ単位記憶ユニット情報と、レプリカ単位記憶ユニット情報とを管理するLUN情報テーブルを有する前記管理サーバを備え、
前記管理サーバは、前記LUN情報テーブルを参照して、前記各クライアント端末がアクセスするレプリカ単位記憶ユニットの情報を、前記各クライアント端末に対して通知することを特徴とする請求項5ないし請求項7のいずれか1項に記載の単位記憶ユニットへのアクセス方法。

【図1−1】
image rotate

【図1−2】
image rotate

【図1−3】
image rotate

【図1−4】
image rotate

【図1−5】
image rotate

【図1−6】
image rotate

【図1−7】
image rotate

【図1−8】
image rotate

【図1−9】
image rotate

【図1−10】
image rotate

【図1−11】
image rotate

【図1−12】
image rotate

【図2−1】
image rotate

【図2−2】
image rotate

【図2−3】
image rotate

【図2−4】
image rotate

【図2−5】
image rotate

【図2−6】
image rotate

【図2−7】
image rotate

【図2−8】
image rotate

【図2−9】
image rotate

【図2−10】
image rotate

【図2−11】
image rotate

【図2−12】
image rotate

【図2−13】
image rotate

【図2−14】
image rotate

【図3−1】
image rotate

【図3−2】
image rotate

【図3−3】
image rotate

【図3−4】
image rotate

【図3−5】
image rotate

【図3−6】
image rotate

【図3−7】
image rotate

【図3−8】
image rotate

【図3−9】
image rotate

【図3−10】
image rotate

【図4−1】
image rotate

【図4−2】
image rotate

【図4−3】
image rotate

【図4−4】
image rotate

【図4−5】
image rotate

【図4−6】
image rotate

【図4−7】
image rotate


【公開番号】特開2011−48841(P2011−48841A)
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願番号】特願2010−224121(P2010−224121)
【出願日】平成22年10月1日(2010.10.1)
【分割の表示】特願2007−507215(P2007−507215)の分割
【原出願日】平成18年3月10日(2006.3.10)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】