(57)【要約】【課題】ストレージ装置の構成変更に応じて、iSNSやSLPのデータベース等の登録情報を更新し、ホストコンピュータからディスクボリュームをディスカバリ可能とする。【解決手段】  ボリュームやLUNの作成、削除のようなストレージ構成変更の操作の内容に応じて、その変更内容をiSNSやSLPのデータベースに反映する。また、LUN maskingの設定の変更に応じて、ホストコンピュータがディスクボリュームをディスカバリできるように、iSNSのディスカバリドメインやSLPの属性値を更新する。また、iSNSの登録周期やSLPのLifetimeの指定に応じて周期的にオブジェクトやサービスを登録し、登録内容が期限切れとならないように維持する。【選択図】  図１
2005332220.tif 000002
【特許請求の範囲】
【請求項１】
特定のプロトコルで通信可能な装置に関する情報を登録して管理する情報サービス装置へ、登録対象の装置としてのストレージ装置に関する情報を提供するための処理を行う記憶領域の管理方法において、
ストレージ装置は、一意な識別子を持つ記憶領域と、ネットワーク内で一意に割り当てられるネットワークアドレスを持つネットワークインタフェースと、該記憶領域と該ネットワークインタフェースの対応関係を保持し、該ネットワークを介して受ける要求に応じて、該対応関係の送信又は更新を実行するステップと、
該ストレージ装置の構成を管理する管理サーバは、該ストレージ装置から、ネットワークインタフェースのネットワークアドレスと、該記憶領域と該ネットワークインタフェースの該対応関係を取得するステップと、
該情報サービス装置が持つデータベースに登録するために、該管理サーバは、該記憶領域の識別子と、該ネットワークインタフェースのネットワークアドレスに関連する記憶領域と該ネットワークインタフェースの該対応関係を登録するための要求を該情報サービス装置へ送信するステップと、
を有する記憶領域の管理方法。
【請求項２】
該記憶領域は、該ストレージ装置に形成される、論理的に定義されたボリュームであり、かつ該ストレージ装置は、iSCSIプロトコルを用いてホストコンピュータからアクセスされるものであり、
該情報サービス装置は、管理データベース又はiSNSサーバであり、
該情報サービス装置と該管理サーバとはiSNSプロトコルで通信されることを特徴とする請求項１記載の記憶領域の管理方法。
【請求項３】
前記管理サーバから記憶領域の作成あるいは削除を、該ストレージ装置に要求したときに、作成あるいは削除した記憶領域の識別子を含む記憶領域の登録あるいは削除の要求を該ストレージ装置が該情報サービス装置へ送信することを特徴とする請求項1又は２記載の記憶領域の管理方法。
【請求項４】
該管理サーバから記憶領域とネットワークインタフェースの対応関係の作成あるいは削除を該ストレージ装置に要求したときに、作成あるいは削除した該対応関係に含まれる記憶領域の識別子と、ネットワークインタフェースのネットワークアドレスを含む、該記憶領域とネットワークインタフェースの該対応関係の登録あるいは削除の要求を該ストレージ装置が該情報サービス装置へ送信することを特徴とする請求項1乃至３のいずれかに記載の記憶領域の管理方法。
【請求項５】
該ストレージ装置は、該記憶領域とネットワークインタフェースの組み合わせと、ホストコンピュータの識別子の対応関係を保持し、
該情報サービス装置は、該記憶領域の識別子とホストコンピュータの識別子の集合を保持し、
該管理サーバから、該記憶領域とネットワークインタフェースの組み合わせと、該ホストコンピュータの識別子の対応関係の作成を該ストレージ装置に要求したときに、
作成した対応関係に含まれる記憶領域の識別子と、ホストコンピュータの識別子を該情報サービス装置の該データベースが保持する同じ集合に所属させる要求を該管理サーバから該情報サービス装置へ送信することを特徴とする請求項1乃至４のいずれかに記載の記憶領域の管理方法。
【請求項６】
該情報サービス装置の該データベースの更新の要求を該管理サーバから送信することを特徴とする請求項1乃至５のいずれかに記載の記憶領域の管理方法。
【請求項７】
該管理サーバは、該記憶領域とその名称の対応関係を保持する手段と、前記名称を変更する手段を持ち、
該記憶領域の識別子とその名称を含む記憶領域の登録の要求を該情報サービス装置へ送信することを特徴とする請求項1乃至６のいずれかに記載の記憶領域の管理方法。
【請求項８】
該管理サーバは、該情報サービス装置の該データベースに登録された情報が削除される期限を保持し、
該保持された削除の期限と現在の時刻を比較して、該期限の前に該データベースに情報を再登録することを特徴とする請求項６の記憶領域の管理方法。
【請求項９】
該データベースがSLP Directory Agentとして構成され、
該情報サービス装置と該管理サーバはSLPで通信することを特徴とする請求項８の記憶領域の管理方法。
【請求項１０】
iSCSIプロトコルで通信可能な装置に関する情報をデータベースに登録して管理する情報サービス装置へ、ストレージ装置に関する情報を提供するための処理を行うストレージ装置の管理システムにおいて、
一意な識別子を持つ記憶領域と、ネットワーク内で一意に割り当てられるネットワークアドレスを持つネットワークインタフェースと、該記憶領域と該ネットワークインタフェースの対応関係を持ち、該ネットワークを介して受ける要求に応答して、該対応関係の送信又は更新を実行するストレージ装置と、
該ストレージ装置から、ネットワークインタフェースのネットワークアドレスと、該記憶領域と該ネットワークインタフェースの該対応関係を取得し、
該記憶領域の識別子と、該ネットワークインタフェースのネットワークアドレスに関連する記憶領域とネットワークインタフェースの該対応関係を登録するための要求を該情報サービス装置へ送信する管理サーバと、を有し、
送信された該ストレージ装置の該記憶領域の識別子、及び該対応関係は、該情報サービス装置の該データベースに登録されることを特徴とする記憶領域の管理システム。
【請求項１１】
前記管理サーバは、少なくとも、管理対象とするストレージ装置のIPアドレスとTCPポート番号及びネットワーク内のiSCSIデバイスに一意な識別子を記録する装置表と、該iSNSサーバのIPアドレスを記録するiSNSアドレス表と、該ストレージ装置を管理するための管理プログラムとを格納するメモリと、該管理プログラムと実行するCPUとを有することを特徴とする請求項１０記載の記憶領域の管理システム。
【請求項１２】
前記ＣＰＵは、
該ストレージ装置の構成が変更された場合、その変更に関する情報を、該ネットワークを介して該情報サービス装置へ送って該データベースに反映する処理を行う第１の処理と、
該ストレージ装置に論理的に定義されたボリュームが作成された場合、該作成されたボリュームのiSCSIネームを少なくとも含む情報を、該ネットワークを介して該情報サービス装置へ送って該データベースへ反映する処理を行う第2の処理と、
該ストレージ装置にLUNが作成された場合、該作成されたLUNのボリュームとポートの対応関係を含む情報を、該ネットワークを介して該情報サービス装置へ送って該データベースへ反映する処理を行う第3の処理と、
を実行することを特徴とする請求項１１記載の記憶領域の管理システム。
【請求項１３】
前記管理サーバは、該装置表を含む、該ストレージ装置を管理するための情報を表示する表示器と、該ストレージ装置の構成の変更、該ボリュームの作成、及び該LUNの作成において管理者の操作を入力する入力器を備えることを特徴とする請求項１１又は１２記載の記憶領域の管理システム。
【請求項１４】
ホストコンピュータにより利用されるストレージ装置を管理すると共に、iSCSIプロトコルで通信可能な装置に関する情報を管理する情報サービス装置へ該ストレージ装置に関する情報を提供する管理サーバにおいて、
一意な識別子を持つ記憶領域と、ネットワーク内で一意に割り当てられるネットワークアドレスを持つネットワークインタフェースと、該記憶領域と該ネットワークインタフェースの対応関係を持ち、該ネットワークを介して受ける要求に応答して、該対応関係の送信又は更新を実行するストレージ装置から、ネットワークインタフェースのネットワークアドレスと、該記憶領域と該ネットワークインタフェースの対応関係を取得し、
該情報サービス装置に保持されている情報を更新するために、該記憶領域の識別子と、対応するネットワークインタフェースのネットワークアドレスを含む記憶領域と該ネットワークインタフェースのアドレスの該対応関係を反映するための要求を該情報サービス装置へ送信することを特徴とする管理サーバ。
【請求項１５】
ネットワークを通して提供される、特定のプロトコルで通信可能な装置に関する情報を管理する情報サービス装置に対して、ストレージ装置に関する情報を反映するための処理を行うストレージ装置の記憶領域情報の管理方法において、
該ストレージ装置の構成変更の内容を、該ネットワークを介して該情報サービス装置へ送信する第1モードと、
該ストレージ装置に、論理的に領域が定義されるボリュームを作成した場合、該作成したボリュームのiSCSIネームを少なくとも含む情報を、該ネットワークを介して該情報サービス装置へ送信する第2のモードと、
該ストレージ装置にLUNを作成した場合、該作成したLUNのボリュームとポートの対応関係を含む情報を、該ネットワークを介して該情報サービス装置へ送信する第3のモードと、
を有することを特徴とする記憶領域情報の管理方法。
【請求項１６】
更に、該ストレージ装置からボリュームを削除した場合、該ボリュームに対応するストレージノードの登録を該情報サービス装置から削除する要求を、該ネットワークを介して送信するステップと、
あるボリュームのLUN maskingを設定して、ホストコンピュータに割り当てるとき、iSNSプロトコルが用いられる環境においては、割り当てたボリュームと該ホストコンピュータが同じディスカバリドメインに所属するようにドメインの構成を変更するステップと、
を有することを特徴とする請求項１５記載の記憶領域情報の管理方法。
【請求項１７】
SLPが用いられる環境においては、割り当てたボリュームを表すサービスの属性値に、ホストコンピュータのiSCSIネームを登録することを特徴とする請求項１５記載の記憶領域情報の管理方法。
【請求項１８】
iSNSの登録周期及びSLPのLifetimeの指定に応じて周期的にオブジェクトやサービスを登録し、登録内容が期限切れとならないように維持することを特徴とする請求項１５又は１７記載の記憶領域情報の管理方法。
【請求項１９】
特定のプロトコルで通信可能な装置に関する情報を管理しネットワークを介して該情報を提供するiSNSサーバに対して提供される、複数のストレージ装置の記憶領域に関する情報を管理サーバで処理して管理する記憶領域の管理方法において、
該ストレージ装置は、一意な識別子を持つ記憶領域と、ネットワーク内で一意に割り当てられるネットワークアドレスを持つネットワークインタフェースと、該記憶領域と該ネットワークインタフェースの対応関係と、iSNSクライアント機能を持つか否かを示す情報を保持し、該ネットワークを介して受ける要求に応じて、該対応関係の送信又は更新を実行するステップと、
該管理サーバは、iSNSクライアント機能を持つストレージ装置及び該iSNSクライアント機能を持たないストレージ装置との間で、該ストレージ装置の構成に関する情報を通信するステップと、
該ストレージ装置から、ネットワークインタフェースのネットワークアドレスと、該記憶領域と該ネットワークインタフェースの対応関係と、iSNSクライアント機能を持つか否かを示す情報を取得するステップと、
取得した該iSNSクライアント機能の有無に関する情報を判定するステップと、
該判定の結果、該iSNSクライアント機能を持つ該ストレージ装置に対しては、該iSNSサーバのアドレスを登録するステップと、
該判定の結果、該iSNSクライアント機能を持たない該ストレージ装置に対しては、該ストレージ装置の記憶領域の名称およびネットワークインタフェースに対するポート名称の編集を行う編集処理ステップと、
該記憶領域の識別子と、対応するネットワークインタフェースのネットワークアドレスを含む記憶領域と該ネットワークインタフェースの対応関係を登録するための要求を該情報サービス装置へ送信するステップと、を有することを特徴とする記憶領域の管理方法。
【請求項２０】
前記名称の編集処理ステップは、管理者による選択指示により実行されることを特徴とする請求項１９の記憶領域の管理方法。
【請求項２１】
ネットワークを通して提供するために、特定のプロトコルで通信可能な装置に関する情報をデータベースに登録して管理する情報サービス装置における登録管理方法において、
ストレージ装置を管理する管理サーバからネットワークを介して送信される、該ストレージ装置の構成変更の内容を該データベースに登録するステップと、
該管理サーバから該ネットワークを介して送信される、該ストレージ装置に作成された論理的に定義されたボリュームのiSCSIネームを少なくと含む情報を該データベースに登録するステップと、
該管理サーバから該ネットワークを介して送信される、該ストレージ装置に作成されたLUNのボリュームとポートの対応関係を含む情報を該データベースに登録するステップと、
該管理サーバから該ネットワークを介して送信される要求に従って、ストレージ装置から削除された該ボリュームに関する情報を、該データベースから削除するステップと、
を含むことを特徴とする登録管理方法。
【請求項２２】
ストレージ装置を管理すると共に、iSCSIプロトコルで通信可能な装置に関する情報を登録するiSNSサーバへストレージ装置の構成に関する情報を提供するストレージ関連情報の管理システムにおいて、
ホストコンピュータに利用されるために作成される、論理的に定義されたそれぞれ一意な識別子を持つ複数のボリュームと、ネットワーク内で一意に割り当てられるIPアドレスを持つネットワークインタフェースと、該ボリュームと該ネットワークインタフェースの対応関係を格納するメモリとを有し、該ネットワークを介して受ける要求に応じて該対応関係の送信又は更新を実行するストレージ装置と、
管理対象とするストレージ装置のIPアドレスとTCPポート番号及びネットワーク内のiSCSIデバイスに一意な識別子、及び該iSNSサーバのIPアドレスを格納するメモリと、該ストレージ装置を管理するための管理プログラムを実行するCPUとを有する管理サーバと、を含み、
該ＣＰＵは、
管理対象としてストレージ装置が追加される場合、追加される該ストレージ装置のアドレスとポート番号を選択し、かつ、該iSNSサーバのIPアドレスを該ストレージ装置へ送信して登録するように要求し、該ストレージ装置の該iSNSアドレスに登録されたら、該ストレージ装置が持つポートID及びIPアドレスを含む情報を該iSNSサーバへ送信する処理と、
ストレージ装置内にボリュームが作成され又は削除される場合、該ストレージ装置に対して該ボリュームの作成又は削除を要求すると共に、該iSNSサーバへ該ボリュームの作成又は削除を要求する処理と、
LUN maskingが設定される場合、対象とするストレージ装置へLUN maskingの設定を要求すると共に、
ボリュームと該ボリュームを割り当てられたホストコンピュータが同じディスカバリドメインに属するようにドメインのＩＤを指定して、該iSNSサーバへ該LUN maskingの設定を要求する処理と、
を実行することを特徴とするストレージ関連情報の管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶領域の管理方法及び管理システムに係り、更に詳しく言えば、Internet SCSI (iSCSI)プロトコルを用いてアクセスされるストレージ装置において、記憶領域の構成が変更された場合のネームサーバやディレクトリに対する記憶領域の管理方法及びそれを実行する管理システムに関する。
【背景技術】
【０００２】
ホストコンピュータとディスクアレイなどのストレージ装置をネットワークによって接続するStorage Area Network (SAN)環境の利用が進んでいる。また最近では、SANとしてIPネットワークを利用し、Transmission Control Protocol (TCP)にSCSIプロトコルを乗せてデータを通信するInternet SCSI (iSCSI)が注目されている。iSCSIは既存のIPスイッチやイーサケーブルを利用して安価にSANを構築できる利点がある。iSCSIプロトコルで通信する装置(エンティティ)は、「ストレージノード」と「ポータル」を持つ。ストレージノードは一意な識別子「iSCSIネーム」を持ち通信の送信者および受信者となる。ポータルは、ネットワークアドレスを持ち通信手段を提供する。ストレージノードはポータルを介して相互に通信することでデータを送受信する。
iSCSIの詳細は非特許文献1（Julian Satran他著、インターネットドラフト、draft-ietf-ips-iscsi-20.txt (第20-48頁)）に記載されている。
【０００３】
IPネットワークは遠隔地との通信が可能であり、1つのネットワーク内に接続できる装置の数もFibre Channelなどと比べて膨大になる。そのためホストコンピュータがアクセス可能な記憶領域(例えばディスクアレイに、論理的な領域として形成されたディスクボリューム)に関する情報をホストコンピュータごとに個別に設定すると、その管理作業は煩雑となる。そのため、iSCSIプロトコルで通信する多数のノードをデータベースで集中管理し、ホストコンピュータはデータベースから必要な情報を得ることにより、ディスクボリュームに関する情報をホストコンピュータ毎に設定することなく、ディスクボリュームをディスカバリする方法が提案されている。
【０００４】
この方法に関して、例えば非特許文献2（Josh Tseng他著、インターネットドラフト、draft-ietf-ips-isns-22.txt (第7-13頁)）には、iSCSIプロトコルで通信可能な装置に関する情報を集中管理するInternet Storage Name Service (iSNS)が記載されている。即ち、あるストレージノードが通信に利用するポータルのアドレスおよびポート番号をiSNSに登録しておくことにより、他のストレージノードがそのノードをディスカバリし、通信に必要なアドレスをiSNSから取得することができる。また、管理対象のストレージノードをディスカバリドメインと呼ばれるグループに分割することにより、あるストレージノードがディスカバリできるノードを同じドメインに登録されたノードに限定できる。
【０００５】
また、非特許文献3（Mark Bakke他著、インターネットドラフト、draft-ietf-ips-iscsi-slp-07.txt (第4-14頁)）には、ネットワーク内で提供されるのサービスの情報を管理するService Location Protocol (SLP)を用いてiSCSIノードをディスカバリする方法が記載されている。即ち、1つのストレージノードと、そのノードが通信に利用する1つのポータルのアドレスおよびポート番号をサービスのURLとしてSLPのDirectory Agent登録しておくことにより、他のノードからのディスカバリが可能となる。また、登録するサービスの属性として通信を許可するノードを指定することにより、各ノードは自分と通信可能なノードのみをディスカバリすることができる。
【０００６】
【非特許文献１】Julian Satran他著、インターネットドラフト、draft-ietf-ips-iscsi-20.txt (第20-48頁)
【０００７】
【非特許文献２】Josh Tseng他著、インターネットドラフト、draft-ietf-ips-isns-22.txt (第7-13頁)
【非特許文献３】Mark Bakke他著、インターネットドラフト、draft-ietf-ips-iscsi-slp-07.txt (第4-14頁)
【発明の開示】
【発明が解決しようとする課題】
【０００８】
iSCSIのストレージノードのディスカバリにiSNSやSLPなどのデータベースを利用する環境において、ディスクボリューム、LUN(Logical Unit Number)の作成や削除等によりストレージ装置の構成が変更されたとき、データベースの登録内容とストレージ装置の実際の構成に相違が発生する。そのため実際の構成とデータベースの登録内容に相違が生じた状態では正常なディスカバリができないと言う事態が起こる。
【０００９】
また、ストレージ装置がLUN毎にホストコンピュータのiSCSIネームのリストを持ち、リストに記録されたホストコンピュータのみLUNへのアクセスを許可するLUN masking機能を提供するとき、あるホストコンピュータにLUNを割り当てるためには、そのホストコンピュータのiSCSIネームを指定してLUN maskingを設定する。しかし、ホストコンピュータがiSNSを用いてターゲットデバイスをディスカバリする環境において、ホストコンピュータとディスクボリュームが異なるディスカバリドメインに所属する場合には、LUN maskingを設定してもホストコンピュータが割り当てられたディスクボリュームをディスカバリできず、管理者が意図するボリューム割り当てを実現できない。同様に、SLPを用いる環境においては、SLPにサービスとして登録されたディスクボリュームの属性にアクセス可能なホストコンピュータが登録されていないと、各ホストコンピュータがアクセス可能なディスクボリュームをディスカバリできない。
【００１０】
このように従来のiSNSやSLPには、ストレージ装置の構成変更を検出して、それをデータベースの登録内容に反映する仕組みがない。このため、ストレージの構成が変更された時に、その変更に従って管理者が手動でデータベースを更新するまでは正常なディスカバリができない。また、手動でデータベースの更新を行うと、登録漏れや登録内容の誤り、意図しない登録の削除等が発生する可能性がある。多数のディスクボリュームの変更に対してしかも迅速に対応するには、手動では実質的に不可能であり、管理不能の事態が生じる。
【００１１】
本発明の目的は、ストレージ装置の構成変更に応じて、その構成変更に関する情報をネットワークに対して迅速に提供できるように管理する、記憶領域の管理方法および管理システムを提供することにある。
本発明の目的は、ストレージ装置の構成変更に応じて、iSNSサーバやSLPのデータベース等の情報サービス装置の登録情報を更新し、ホストコンピュータからディスクボリュームをディスカバリ可能とする記憶領域の管理方法及びシステムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明は、ストレージ装置の構成変更の内容を、ネットワークを介して情報サービス装置へ反映する。また、ストレージ装置に、論理的に領域が定義されるボリュームを作成した場合、その作成したボリュームのiSCSIネームを少なくと含む情報を、ネットワークを介して情報サービス装置へ反映する。また、ストレージ装置にLUNを作成した場合、その作成したLUNのボリュームとポートの対応関係を含む情報を、ネットワークを介して情報サービス装置へ反映する。更に、ストレージ装置からボリュームを削除した場合、そのボリュームに対応するストレージノードの登録を情報サービス装置から削除する処理を行う。また、あるボリュームのLUN maskingを設定して、ホストコンピュータに割り当てるとき、iSNSプロトコルが用いられる環境においては、割り当てたボリュームとホストコンピュータが同じディスカバリドメインに所属するようにドメインの構成を変更する。また、SLPが用いられる環境においては、割り当てたボリュームを表すサービスの属性値に、ホストコンピュータのiSCSIネームを登録する。
【００１３】
本発明は、好ましくは、特定のプロトコル例えばiSCSIプロトコルで通信可能な装置に関する情報を登録して管理する情報サービス装置へ、登録対象の装置としてのストレージ装置に関する情報を提供するための処理を行う記憶領域の管理方法又はシステムにおいて実現される。
ストレージ装置は、一意な識別子を持つ記憶領域と、ネットワーク内で一意に割り当てられるネットワークアドレスを持つネットワークインタフェースと、記憶領域とネットワークインタフェースの対応関係を保持し、ネットワークを介して受ける要求に応じて、その対応関係の送信又は更新を実行する。
ストレージ装置の構成を管理する管理サーバは、ストレージ装置から、ネットワークインタフェースのネットワークアドレスと、記憶領域とネットワークインタフェースの対応関係を取得し、更に、情報サービス装置が持つデータベースに登録するために、記憶領域の識別子と、対応するネットワークインタフェースのネットワークアドレスを含む記憶領域とネットワークインタフェースのアドレスの対応関係を登録するための要求を情報サービス装置へ送信する。
好ましい例では、上記記憶領域は、ストレージ装置に形成される、論理的に定義されたボリュームであり、かつストレージ装置は、iSCSIプロトコルを用いてホストコンピュータからアクセスされるものであり、また情報サービス装置は、管理データベース又はiSNSサーバであり、この情報サービス装置と管理サーバとはiSNSプロトコルで通信される。
【００１４】
上記管理サーバは、好ましい例では、少なくとも、管理対象とするストレージ装置のIPアドレスとTCPポート番号及びネットワーク内のiSCSIデバイスに一意な識別子を記録する装置表と、iSNSサーバのIPアドレスを記録するiSNSアドレス表と、該ストレージ装置を管理するための管理プログラムとを格納するメモリと、該管理プログラムと実行するCPUとを有する。
このCPUは、好ましくは、ストレージ装置の構成が変更された場合、その変更に関する情報を、ネットワークを介してiSNSサーバへ送ってデータベースに反映する処理を行う第１の処理と、ストレージ装置に論理的に定義されたボリュームが作成された場合、その作成されたボリュームのiSCSIネームを少なくと含む情報を、ネットワークを介してiSNSサーバへ送ってデータベースへ反映する処理を行う第2の処理と、ストレージ装置にLUNが作成された場合、その作成されたLUNのボリュームとポートの対応関係を含む情報を、ネットワークを介してiSNSサーバへ送ってデータベースへ反映する処理を行う第3の処理と、を実行する。
【００１５】
更に、好ましい例では、iSNSクライアント機能を持つストレージ装置と、iSNSクライアント機能を持たないストレージ装置が混在するシステムにおいて、ストレージ装置は、一意な識別子を持つ記憶領域と、ネットワーク内で一意に割り当てられるネットワークアドレスを持つネットワークインタフェースと、記憶領域と該ネットワークインタフェースの対応関係と、iSNSクライアント機能を持つか否かを示す情報を保持し、ネットワークを介して受ける要求に応じて、その対応関係の送信又は更新を実行するステップと、管理サーバは、iSNSクライアント機能を持つストレージ装置及びiSNSクライアント機能を持たないストレージ装置との間で、ストレージ装置の構成に関する情報を通信するステップと、ストレージ装置から、ネットワークインタフェースのネットワークアドレスと、記憶領域とネットワークインタフェースの対応関係と、iSNSクライアント機能を持つか否かを示す情報を取得するステップと、取得したiSNSクライアント機能の有無に関する情報を判定するステップと、判定の結果、iSNSクライアント機能を持つストレージ装置に対しては、iSNSサーバのアドレスを登録するステップと、判定の結果、iSNSクライアント機能を持たないストレージ装置に対しては、ストレージ装置の記憶領域の名称およびネットワークインタフェースに対するポート名称の編集を行う編集処理ステップと、記憶領域の識別子と、対応するネットワークインタフェースのネットワークアドレスを含む記憶領域の識別子と、ネットワークインタフェースのアドレスの対応関係を登録するための要求を情報サービス装置へ送信するステップとを有する。
【発明の効果】
【００１６】
本発明によれば、ストレージ装置の構成変更に応じて、その構成変更に関する情報をiSNSサーバやSLP等の情報サービス装置に反映できるので、それらの情報をネットワークに対して迅速に提供できるようになる。また、ストレージ装置の構成変更に応じて情報サービス装置の登録情報を自動的に更新するので、ホストコンピュータからボリュームをディスカバリ可能となる。
【発明を実施するための最良の形態】
【００１７】
以下図面を参照して、本発明の実施例（実施例１〜４）について説明する。
・実施例1
本実施例は、IPネットワークで接続されるホストコンピュータとディスクアレイの情報をiSNSサーバのデータベースで管理するシステム構成において、管理サーバからストレージの構成を変更したときに、ディスクアレイおよび管理サーバが持つiSNSとの通信機能を用いて、ディスクアレイの構成変更をiSNSの登録内容に反映することを趣旨とする例である。
【００１８】
(1) システムの構成
図1は、実施例１が適用されるシステムの全体構成を示す。
このシステムは、iSNSサーバ1000、管理サーバ2000、ホストコンピュータ3000および3005、ディスクアレイ4000、及びそれらを接続するネットワークを構成するLANケーブル3015、3020、3025、3030、3035、3040、3045並びにLANスイッチ3010を含む。
【００１９】
iSNSサーバ1000は、LANインタフェース1010でLANに接続され、iSNSサーバが管理する情報のデータベースを持ち、iSNSの仕様で規定される機能を提供する。本発明の実施例の理解を助けるために、実施例１の趣旨に関係する機能及び動作に関係する部分が図示してある。尚、iSNSサーバそれ自体の構成、動作および実装は、本発明の主眼とするところではないので、それらの詳細な説明は省略する。
メモリ1015内には、iSNSサーバの機能を実現するiSNSサーバプログラム1020が格納される。またデータベース1060内には、エンティティ表1025、ストレージノード表1030、ポータル表1035、ポータルグループ表1040、ディスカバリドメイン表1045が登録される。CPU1005はiSNSサーバプログラム1020を実行する。iSNSサーバ1000がデータベース1060に持つ各種の表に記録される各情報は、iSCSIおよびiSNSの仕様で規定される。尚、これらの表1025〜1045はデータベース1060に登録されると説明したが、これらの表はメモリ1015に格納するようにしてもよい。
以下、これらの表の構成について説明する。
【００２０】
エンティティ表1025はネットワーク内のiSCSIデバイスを管理し、図5に示すような構成を持つ。エンティティIDの列102500は各デバイスに一意に付けられるエンティティID (Entity Identifier)を記録する。ここでデバイスとはネットワークに接続されたホストコンピュータやディスクアレイ、サーバなどのハードウェア装置であり、夫々固有のIDが付与される。ポータルインデックスの列102505は、各デバイスが持つポータルをポータルインデックス(Portal Index)で記録する。同様に、ストレージノードインデックスの列102510は、各デバイスが持つストレージノードをiSCSI Node Indexで記録する。
【００２１】
ストレージノード表1030はネットワーク内のストレージノードを管理し、図6に示すような構成を持つ。ストレージノードインデックスの列103000、iSCSIネームの列103005、タイプの列103010、エイリアスの列103015は、各ストレージノードに一意に割り当てられた番号であるiSCSI Node Index、一意に割り当てられた文字列であるiSCSI Name、ノードのタイプを表すiSCSI Node Type、iSCSI Nameよりも人間にわかりやすい名称として用いられるエイリアス(iSCSI Alias)をそれぞれ記録する。
【００２２】
ポータル表1035は、ネットワーク内のiSCSIポータルを管理し、図7に示すような構成を持つ。ポータルインデックスの列103500、IPアドレスの列103505、TCPポート番号の列103510、シンボリックネームの列103515、ESIポートの列103520、ESI間隔の列103525は、それぞれ各ポータルに一意に割り当てられる番号であるポータルインデックス(Portal Index)、各ポータルのネットワークインタフェースに割り当てられたPortal IP AddressおよびPortal TCP/UDP Port、人間にわかりやすい名称として用いられるポータルシンボリックネーム(Portal Symbolic Name)、ESIメッセージを受信するポート番号、ESIメッセージを受信する間隔の下限を記録する。
【００２３】
ポータルグループ表1040は、ストレージノードとそのノードが利用するポータルの対応関係を表すポータルグループを管理し、図8に示すような構成を持つ。ポータルグループインデックスの列104000、ストレージノードインデックスの列104005、ポータルインデックスの列104010、ポータルグループタグ(PGT)の列104015は、それぞれ各ポータルグループに一意に割り当てられる番号であるポータルインデックスグループ(Portal Group Index)、各ポータルグループを構成するストレージノードおよびポータルのストレージノードインデックス(iSCSI Node Index)とポータルインデックス(Portal Index)、ポータルグループ間の関係を表すPortal Group Tag (PGT)を記録する。あるストレージノードにおいて、同じPGTを持つポータルグループに含まれるポータルは、協調して並列にデータの送受信を行えることを表す。あるストレージノードとポータルの組み合わせがポータルグループ表1040に登録されていない場合、ストレージノードはそのポータル経由でアクセスできないことを表す。
【００２４】
ディスカバリドメイン表1045は、互いにディスカバリすることができるストレージノードのグループを表すディスカバリドメインを管理し、図9に示すような構成を持つ。ディスカバリドメインIDの列104500、ストレージノードインデックスの列104505は、それぞれ各ディスカバリドメインに一意に割り当てられる識別子であるディスカバリドメインID(Discovery Domain ID)、ディスカバリドメインに所属するストレージノードを表すiSCSI Node Indexを記録する。
【００２５】
制御ノード表3050には、iSNSサーバ1000にControl Nodeとしてアクセスすることを許可されたノードのiSCSIネームが記録される。本実施例では、管理サーバのiSCSIネーム(Mng_Name)2030があらかじめ記録されているものとする。
【００２６】
さて、説明を図１に戻して、管理サーバ2000はストレージ装置を管理する機能を有し、LANインタフェース2010を介してLANに接続される。メモリ2015内には、管理対象とするストレージ装置、即ちディスクアレイ4000に関する情報を記録する装置表2025、管理サーバ自身のiSCSI Name (Mng_Name)を記録するiSCSIネーム2030、iSNSサーバのIPアドレスを記録するiSNSアドレス2035を記憶すると共に、ストレージ管理機能を提供する管理プログラム2020を格納する。CPU2005はこの管理プログラム2020を実行する。また、管理者が操作を行うためのユーザインタフェースとして、表示器2080及び入力器2090を有する。
【００２７】
管理プログラム2020は、iSNSの仕様で規定されるiSNSプロトコルでiSNSサーバ1000と通信するiSNSクライアントの機能を持つ。ディスクアレイ4000とはディスクアレイに固有なプロトコルで通信し、構成変更の要求およびその結果を送受信する。管理プログラムの動作の詳細については後述する。
【００２８】
装置表2025は、ネットワーク内のディスクアレイの如きストレージ装置4000を管理し、図2に示すような構成を持つ。即ち、装置IPアドレスの列202500、TCPポート番号の列202505、エンティティIDの列202510は、それぞれ各ストレージ装置が管理プログラムとの通信に使用するIPアドレスおよびポート番号、各装置のエンティティID(Entity Identifier)を記録する。
【００２９】
ホストコンピュータ3000、3005(以下代表的に3000のみを表示する)は、その内部の構成については図示しないが、ネットワークとの接続に使用するLANインタフェース、ディスクアレイが提供するディスクボリュームを利用するアプリケーションプログラムを格納するメモリ、及びそのプログラムを実行するCPUを有する。また、各ホストコンピュータ3000はディスクアレイ4000とiSCSIプロトコルで通信するために必要なiSCSIネームを持つ。
【００３０】
ディスクアレイ4000は、LANインタフェース4030、4035、4040を介してホストコンピュータ3000とiSCSIプロトコルで通信し、ディスクコントローラ4010がデータの読み書きを制御するディスクボリューム4020、4025(以下、特定されない限り、代表的に4020のみを表示する)を提供する。尚、ディスクボリュームとは、ディスクアレイが有する実記憶領域上に形成された仮想的な記録領域のことをいう。
メモリ4015内には、ディスクアレイ4000のEntity Identifier (Array_ID)を記録するエンティティID4050、ポート表4055、ボリューム表4060、iSNSサーバのアドレスを記録する4065、iSNSサーバが発行するEntity Status Inquiry (ESI)メッセージの送信間隔(T_e)を記録するESI間隔4070をそれぞれ格納する。メモリ40155はまた、ディスクアレイ全体の動作を制御する制御プログラム4045を保持し、そのプログラム4045はCPU4005で実行される。
【００３１】
ポート表4055は、図3に示すように、ディスクアレイ4000が有するポート(LANインタフェース)を管理するための構成を持つ。すなわちポートIDの列405500、IPアドレスの列405505、TCPポート番号の列405510、ESIポート番号の列405515は、それぞれ各ポートに割り当てられた一意な識別子(例えば1-A)、ポートがiSCSI通信に使用するIPアドレス(例えばIP_Addr_1)およびポート番号(例えばTCP_1)、iSNSからのESIメッセージを受信するポート番号(例えばESI_1)を記録する。
【００３２】
ボリューム表4060は、図４に示すように、ディスクアレイ4000が提供するディスクボリューム、それらへのアクセスを許可するホストコンピュータ3000、各ディスクボリュームにアクセスする際に使用するポートを管理するための構成を持つ。ボリュームIDの列406000、iSCSIネームの列406005、ポートIDの列406010、PGTの列406015、LUNの列406020、割り当てホストの列406025は、それぞれ各ディスクボリュームに割り当てられた一意な識別子(例えばVol.1)およびiSCSI Name(例えばName_V1)、ディスクボリュームへのアクセスに使用できるポートID(例えば1-A)、ディスクボリュームとポートで構成されるポータルグループのPortal Group Tag(例えば”１”)、ディスクボリュームが割り当てられたポート毎に持つLUN(例えば”１”)、割り当てられたポートを介してアクセスすることができるホストコンピュータのiSCSI Name(例えばName_H1)を記録する。
【００３３】
制御プログラム4045は、iSCSIプロトコルを利用したホストコンピュータ3000とディスクボリューム4020の間のデータ転送処理のほか、管理サーバ2000とディスクアレイ4000に固有なプロトコルで通信して構成変更の要求を受信し、ディスクボリュームやLUNの作成や削除を行う。ボリューム作成の際には、作成されたボリュームにボリュームIDおよびiSCSI Nameを割り当てる。また、LUN毎に指定された割り当てホストの情報に応じてホストコンピュータ3000からのアクセスを制限するLUN maskingの機能と、アクセスを許可するホストコンピュータ3000のリストを変更するLUN maskingの設定機能を持つ。さらに、ESIメッセージの受信および応答を含むiSNSクライアントの機能を持つ。
【００３４】
次に、上記した構成における、ストレージ装置の管理情報の初期登録処理、ディスクボリュームの作成及び削除処理、LUNの作成処理、LUN masking設定の追加及び削除処理、等の動作についてフローチャートを参照しながら説明する。これらの処理は、管理サーバ2000の管理プログラム2020の実行により行われる。
【００３５】
(2) 初期登録
まず、この実施例１において、既存のディスクアレイなど既にディスクボリュームやLUNが定義されているストレージ装置を管理対象に追加する際に、管理プログラム2020がiSNSサーバ1000にストレージノードおよびポータルを登録する動作を図10のフローチャートを参照して説明する。
追加されるディスクアレイが管理プログラム2020からの操作要求を送受信するアドレスおよびポート番号は、管理者により予め装置表2025に登録されているものとする。また、追加されるディスクアレイには、予めエンティティID4050とESI間隔4070が定義されているものとする。
【００３６】
まず、管理者は入力器2090を操作して、追加登録されるディスクアレイのアドレスとポート番号を装置表2025から選択し、管理プログラム2020に初期登録操作の開始を指示する(ステップ10000)。次に、選択されたアドレスを用いてディスクアレイと通信し、そのディスクアレイからエンティティID4050、ポート表4055、ボリューム表4060、及びESI間隔4070を取得する(ステップ10005)。取得したエンティティIDを装置表2025のエンティティIDの列に記録する(ステップ10010)。次に、管理プログラム2020はiSNSアドレス2035に記録されているIPアドレスをディスクアレイに送り、iSNSアドレス4065に登録するよう要求する(ステップ10015)。ディスクアレイでは通常、この要求を実行してIPアドレスをiSCSIアドレス4065に登録する。管理サーバ2000は、要求に対するレスポンスを判定して、要求が成功したかどうか判断し(ステップ10020)、失敗したらエラーを表示器2080に表示して初期登録処理を終了する(ステップ10055)。
【００３７】
上記要求に対する登録が成功した場合には、次に、ステップ10005で受信したポート表4055の内容を管理プログラム2020からiSNSサーバ1000へ送信して、ポータル表1035に登録する(ステップ10025)。この登録処理は、iSNSの仕様に従った通信プロトコルでiSNSアドレス2035に記録されているアドレスと通信することで実行する。
【００３８】
具体的には、図11に示すような、iSNSプロトコルのDevice Attribute Registration Request (DevAttrReg)メッセージ11000を作成し、iSNSサーバに送信する。メッセージのヘッダ部では、Function ID11005にDevAttrRegを指定し、送信者がiSNSクライアントであることを表すiSNS Clientフラグ11010をセットし、登録対象の既存の登録内容を削除することを示すReplaceフラグ11015をセットする。送信者を表すSource Attributeでは、iSCSIネーム11020として管理サーバのiSCSIネーム(Mng_Name)2030を指定する。登録対象を表すMessage Key Attributesには、登録するディスクアレイのエンティティID11025としてステップ10005で受信したエンティティIDを指定する。登録する属性を指定するOperating Attributesには、ディスクアレイのエンティティID11030、ディスクアレイの通信プロトコル(iSCSI)11035を指定する。さらに、ディスクアレイが持つ各ポートについて、ポータルのPortal IP Address11040、Portal TCP/UDP Port11045、Portal Symbolic Name11050、ESI Port11060として、ステップ10005で取得したポート表に記録されているポートのIPアドレス405505、TCPポート番号405510、ポートID405500、ESIポート番号405515を指定する。Entity Status Inquiry Interval11055には、ステップ10005で取得したESI間隔を指定する。11040から11060までの情報を各ポートについてDevAttrRegメッセージのOperating Attributesで指定する(11065以降)。尚、図１１にはその詳細を示していないが、各属性はiSNSの仕様に基づき、属性の種類を表すAttribute Tag、属性値の長さを表すAttribute Length、登録する属性値を表すAttribute Valueの組で構成され、4バイトの境界で揃えられる。
【００３９】
さて、図１０に戻って、管理プログラム2020は、DevAttrRegメッセージに対するiSNSサーバからのレスポンスDevice Attribute Registration Response (DevAttrRegRsp)を受信し、登録が成功したか判断する(ステップ10030)。
成功した場合はステップ10035に進み、取得したボリューム表4060からディスクボリュームを1つ選択し、ボリューム表に登録されている情報から図12に示すようなDevAttrRegメッセージを作成し、iSNSサーバに登録する(ステップ10040)。
【００４０】
図１２において、ヘッダ、Source Attribute、Message Key Attributes(12005〜12025)は、ヘッダのReplaceフラグをセットしない以外はポータルの登録と同様である。Operating Attributesには、ストレージノードのiSCSIネーム12030として登録するディスクボリュームのiSCSIネーム406005を、iSCSI Node Type12035としてTargetを、iSCSI Node Alias12040としてボリュームID406000を指定する。また、登録するディスクボリュームと割り当てられたポートの組み合わせをポータルグループとして登録するために、Portal Group Tag12045としてPGT406015を指定する。PG Portal IP Address12050およびPG Portal TCP/UDP Port12055として、ポートID406010に記録されているポートIDに対応するポートのIPアドレス405505およびTCPポート番号405510を指定する。登録するディスクボリュームに割り当てられた各ポートについて、12045から12055までの情報を指定する(12060以降)。ただし、PGT406015の値が同じポートについては、Portal Group Tagの指定を共用してPG Portal IP AddressおよびPG Portal TCP/UDP Portの情報のみを続けて指定する。
【００４１】
図10のフローチャートにおいて、iSNSサーバ1000からDevAttrRegRspメッセージを受信し(ステップ10045)、登録が失敗した場合にはステップ10055に進む。登録が成功した場合には、ステップ10035から10045までの処理をボリューム表4060に記録されている全てのディスクボリュームについて繰り返す(ステップ10050)。
【００４２】
次に、iSCSIサーバ1000において、管理サーバ2000からiSNSメッセージを受信したiSNSサーバプログラム1020が、取得した関連情報をiSNSデータベース1060に登録する動作について簡単に説明する。
【００４３】
ポータル登録のDevAttrRegメッセージ11000（図１１）を受信したiSNSサーバプログラム1020は、メッセージで指定されたEntity Identifier11030をエンティティ表1025のエンティティIDの列102500に追加して登録する。また、指定されたポータルのPortal IP Address11040、Portal TCP/UDP Port11045、Portal Symbolic Name11050、ESI Interval11055、ESI Port11060をポータル表1035の対応する各列に追加登録し、一意なポータルインデックスを割り当てる。また、割り当てたポータルインデックスの値をエンティティ表1025のポータルインデックスの列102505に追加登録する。登録されるポータルが複数有る場合には、11065以降の情報についても同様に登録する。
【００４４】
また、ストレージノードの登録のDevAttrRegメッセージ12000（図１２）を受信したiSNSサーバプログラム1020は、指定されたストレージノードのiSCSI Name12030、iSCSI Node Type12035、iSCSI Nodee Alias12040をストレージノード表1030の対応する各列に追加登録し、一意なストレージノードインデックスを割り当てる。また、割り当てたストレージノードインデックスの値をエンティティ表1025のストレージノードインデックスの列102510に追加登録する。さらに、PG Portal IP Address12050およびPG Portal TCP/UDP Port12055で指定されるポータルのポータルインデックスとiSCSI Name12030で指定されるストレージノードのストレージノードインデックスをポータルグループ表1040に追加登録し、Portal Group Tag12045の値をPGTの列104015に記録し、一意なポータルグループインデックスを割り当てる。登録されるポータルグループが複数ある場合は、12060以降の情報についても同様に記録する。
【００４５】
以上の処理手順により、登録対象として追加されるディスクアレイの構成情報をiSNSサーバ1000のデータベース1060に反映することができる。なお、iSNSサーバプログラム1060による処理動作については、iSNSの仕様に従う動作であるので、以後の説明ではこれについては格別に詳述しない。
【００４６】
(3) ディスクボリュームの作成、削除
ディスクアレイ内にディスクボリュームを作成、削除して構成を変更したときに、その変更の内容をiSNSサーバのデータベースに反映する方法について、以下説明する。
【００４７】
まず、図16のフローチャートを参照して管理プログラム2020の動作を説明する。図16は、ディスクボリュームの作成、削除、LUNの作成、削除を行う場合の管理プログラムの一般的な動作を示す。
ボリューム作成の場合、管理者は入力器2090を操作して、追加されるディスクアレイを装置表2025から選択し、管理プログラム2020にディスクボリュームの作成を指示する(ステップ16000)。ボリューム作成の場合にはポート表4055やボリューム表4060を取得する必要はない。ボリューム削除の場合には、削除するディスクボリュームを選択するためにボリューム表4060を取得する(ステップ10005)。ボリューム作成の場合には、管理者が入力器2090よりボリューム作成に必要なサイズ等のパラメータを指定し、管理プログラム2020にディスクボリュームの作成を指示する(ステップ16010)。ボリューム削除の場合には、取得したボリューム表4060から削除するディスクボリュームを、管理者が選択して、管理プログラム2020にディスクボリュームの削除を指示する。
管理プログラム2020は、ディスクアレイ4000に対して、指示されたディスクボリュームの作成、削除を要求する(ステップ16015)。ディスクアレイ4000では要求された処理を実行して、レスポンスを返送する。管理プログラム2020は、受信したレスポンスがエラーを表していれば(ステップ16020)、表示器2080にエラーを表示して(ステップ16030)、終了する。また、レスポンスルが成功であれば、表示器2080に成功したことを表示して(ステップ16025)、終了する。
【００４８】
次に、図13に示すフローチャートを参照して、ディスクアレイ4000の制御プログラム4045の動作について説明する。図13は、ディスクボリュームの作成、削除、LUNの作成、削除を行う場合の制御プログラムの一般的な動作を示す。
【００４９】
管理プログラム2020から構成変更の内容と操作に必要なパラメータを受信すると(ステップ13000)、その操作が可能かどうか判断し(ステップ13005)、可能でなければステップ13040に進む。可能であれば、要求された操作を実行し(ステップ13010)、操作の結果をボリューム表4060に記録して更新する(ステップ13015)。
例えば、ボリューム作成の場合には、管理者が指定したパラメータに基づいてディスクボリュームを作成し、ボリュームIDとiSCSIネームを割り当ててボリューム表4060に追加する。ボリューム表4060の他の列には登録がないことを示す符号を記録する。またボリューム削除の場合には、管理者が選択したディスクボリュームを削除し、ボリューム表4060の該当する行を削除する。
次に、ポート表4055からポートを1つ選択し(ステップ13020)、そのポートからiSNSサーバ1000へ登録内容の更新を要求するメッセージを送信する(ステップ13025)。
【００５０】
ボリューム作成の場合には、図14に示すDevAttrRegメッセージ14000を作成し、iSNSサーバ1000へ送信する。各属性の意味は初期登録におけるストレージノードの登録と同様であるが、管理サーバ2000からの登録とは異なり、Source AttributeにはiSCSI Name14020として作成したボリュームのiSCSI Nameを指定する。Operating Attributesには、作成したボリュームのiSCSI Name14030、ストレージノードのタイプ14035としてTarget、iSCSI Alias14040として割り当てたボリュームIDを指定する。
【００５１】
ボリューム削除の場合には、図15に示すようなDevice Deregister Request (DevDereg)メッセージ15000を送信する。ボリューム削除を反映するDevDeregメッセージでは、Message Key Attributeは指定せず、Source Attribute15015と、Operating Attributes15020にはiSCSI Nameとして削除するディスクボリュームのiSCSI Nameを指定する。
【００５２】
制御プログラム4045は、DevAttrRegメッセージ14000又はDevDeregメッセージ15000に対するiSNSサーバ1000からのレスポンスDevAttrRegRspあるいはDevDeregRspを受信して、登録が成功したか判断する(ステップ13030)。判断の結果、成功であれば管理サーバ2000の管理プログラム2020へ成功のレスポンスを送信して(ステップ13045)、終了する。一方、失敗であれば、他のポートを選択して登録要求を繰り返す(ステップ13035)。もし全てのポートで失敗したら、管理プログラム2020にエラーのレスポンスを送信して終了する(ステップ13040)。
【００５３】
以上のように、ディスクアレイ4000の制御プログラム4045の処理動作により、ディスクボリュームの作成、削除による構成変更をiSNSサーバ1000のデータベース1060に反映することができる。
【００５４】
(4) LUNの作成、削除
LUNを作成する場合、管理プログラム2020は、図16のステップ16005においてボリューム表4060とポート表4055を取得する。管理者は入力器2090を操作して、LUNを作成するためのディスクボリュームとポートを各表から選択し、割り当てるLUNの数値とPort Group Tagを指定する(ステップ16010)。LUNを削除する場合は、ステップ16005においてボリューム表4060を取得し、削除するLUNを選択する(ステップ16010)。
【００５５】
また、ディスクアレイの制御プログラム4045の動作については、LUNを作成する場合には、図13のステップ13015において、選択されたディスクボリュームを表すボリューム表4060の行に選択されたポートIDを追加し、指定されたPGTとLUNを登録する。またLUNを削除する場合には、選択されたLUNを表すポートID、PGTの登録をボリューム表4060から削除する。ただし、削除するポートIDはiSNSプロトコルのメッセージを作成する際に必要となるので、メモリの別の場所に記録しておく。
【００５６】
また、ステップ13025において、図17に示すDevAttrRegメッセージを作成し、iSNSサーバ1000へ送信する。Source Attributeには操作対象のLUNを割り当てられたディスクボリュームのiSCSI Name17020を指定する。LUN作成の場合には、Operating Attributesには選択されたディスクボリュームのiSCSI Name17030、指定されたPortal Group Tag17035、選択されたポートのIP Address17040およびポート番号17045を指定する。
また、LUN削除の場合には、選択されたLUNのディスクボリュームのiSCSI Name17030、選択されたLUNのポートのIP Address17040およびポート番号17045を指定する。また、Portal Group Tag17035は、Attribute Lengthとして0を指定し、メッセージ中で指定したストレージノードが、指定したポータル経由でアクセスできないことを示す。Attribute Lengthが“０”のPortal Group Tagを含むDevAttrRegメッセージを受信したiSNSサーバプログラム1020は、ポータルグループ表1040から該当するポータルグループの登録を削除する。
【００５７】
以上のように、ディスクアレイ4000の制御プログラム4045の動作により、LUNの作成、削除による構成変更をiSNSサーバ1000のデータベース1060に反映することができる。
【００５８】
(5) LUN masking設定の追加、削除
LUN maskingを設定するとき、ディスクボリュームとそれを割り当てたホストコンピュータが同じディスカバリドメインに所属することが必要となる。また、LUN maskingの設定を削除し、あるホストコンピュータからディスクボリュームへのアクセスを禁止した場合は、そのホストコンピュータがディスクボリュームをディスカバリできないように、ディスクボリュームのディスカバリドメインから削除することが望ましい。ディスカバリドメインはiSNSサーバ1000に登録されたControl Nodeからのみ操作できるため、管理プログラム2020からiSNSプロトコルのメッセージを送信して登録を変更する。
【００５９】
図18のフローチャートを参照して、あるLUNへのアクセスを許可するホストコンピュータを追加登録するときの管理プログラムの動作について説明する。
まず、管理者は入力器2090を操作して、操作対象のディスクアレイを装置表2025から選択して、管理プログラム2020にLUN masking設定の追加を指示する(ステップ18000)。管理プログラムは選択されたディスクアレイからボリューム表4060を取得する(ステップ18005)。管理者は入力器2090を操作して、LUN maskingを設定するディスクボリュームとLUNを、ボリューム表から選択する(ステップ18010)。
【００６０】
次に、管理者はアクセスを許可するホストコンピュータを選択する必要があるが、本実施例では、まず選択したディスクボリュームと同じディスカバリドメインに所属するホストコンピュータの一覧を表示器2080に表示して管理者に示し(ステップ18015から18050)、管理者がディスカバリドメイン外から選択することを指示した場合には(ステップ18055)、全てのホストコンピュータの一覧を示して(ステップ18060から18065)、管理者に選択させる(ステップ18070)。
【００６１】
ステップ18015では、図19に示すDevice Attribute Query Request (DevAttrQry)メッセージをiSNSサーバ1000に送信し、選択されたディスクボリュームのDiscovery Domain ID (DD_ID)の一覧1045を取得する。Message Key Attributeには選択されたディスクボリュームのiSCSI Name19020を指定し、Operating Attributesには取得したい属性であるDiscovery Domain IDをAttribute Length19025を”０”として指定する。iSNSサーバ1000からのレスポンスとして、DD_ID一覧を含むDevice Attribute Query Response (DevAttrQryRsp)を受信する。
【００６２】
取得したDD_IDを1つ選択し(ステップ18020)、図20に示すDevAttrQryメッセージをiSNSサーバ1000に送信し、そのドメインの名称と、メンバとして含まれるストレージノードの一覧を取得する(ステップ18025)。Message Key Attributesには選択したDD_ID20020を指定し、Operating Attributesには取得したい属性であるDD_Symbolic NameおよびDD_Member iSCSI NameをAttribute Length19025を0として指定する。
【００６３】
さらに、取得したストレージノードを1つ選択し(ステップ18030)、図21に示すDevAttrQryメッセージをiSNSサーバに送信し、選択したノードのノードタイプおよび名称を取得する(ステップ13035)。Message Key Attributesには選択したストレージノードのiSCSI Name21020、Operating Attributesには取得したい属性であるiSCSI Node Type21025、iSCSI Alias21030をAttribute Length19025を”０”として指定する。これを全てのノードに対して繰り返し(ステップ13040)、さらにステップ18015で取得した全てのディスカバリドメインに対して繰り返す(ステップ13045)。
【００６４】
ステップ18050では、取得したディスカバリドメイン毎にドメインの名称、ノードタイプがInitiatorであるメンバのiSCSIネームおよび名称(iSCSI Alias)の一覧を、管理者がLUN maskingを設定するホストコンピュータの選択肢として表示器2080に表示する。管理者がその一覧以外からホストコンピュータを選択するように指示した場合には(ステップ18055)、ステップ18060において、ステップ18015から18045と同様の処理を行う。ただし、ステップ18015で作成する図19に示すDevAttrQryメッセージは、ステップ18060ではMessage Key Attributesを指定せず、iSNSデータベース内の全てのディスカバリドメインを取得する。ステップ18065では、取得した全てのホストコンピュータの情報の一覧を表示器2080に表示する。
【００６５】
管理者は、入力器2090を操作して、表示器2080に表示された一覧の中から、LUN maskingを設定するホストコンピュータ3000を選択し、管理プログラム2020にLUN maskingの設定を指示する(ステップ18070)。管理プログラム2020はディスクアレイ4000にLUN maskingの設定を要求する(ステップ18075)。ディスクアレイ4000から返されるレスポンスから設定が成功したかどうか判断する(ステップ18080)。その判断の結果、失敗であればエラーを表示器2080に表示して終了する(ステップ18110)。
【００６６】
一方、成功した場合は、LUN maskingを設定したディスクボリュームとホストコンピュータを同じディスカバリドメインに所属させる必要がある。ステップ18085では、既存のディスカバリドメインに所属させるか、新規に作成するドメインに所属させるかを管理者が選択する。既存のドメインに所属させる場合には、ステップ18015またはステップ18060で取得したディスカバリドメインの一覧から管理者がドメインを選択する(ステップ18090)。新規にディスカバリドメインを作成する場合には、管理者がその名称を入力器2090より指定する(ステップ18095)。
【００６７】
ステップ18100において、図22に示すDD Register (DDReg)メッセージを作成し、iSNSサーバ1000へ送信する。既存のドメインを選択した場合、Message Key AttributesにはDD_ID22020として選択したドメインのDD_IDを指定する。新規にドメインを作成する場合、Message Key Attributesは指定しない。Operating Attributesでは、既存のドメインの名称もしくは、新規に作成するドメインの名称として管理者が指定した名称をDD_Symbolic Name22025に指定する。また、ディスカバリドメインのメンバを表すiSCSI Name22030および22035としてディスクボリュームおよびホストコンピュータのiSCSIネームを指定する。
【００６８】
次に、図23のフローチャートを参照して、あるLUNへのアクセスを許可するホストコンピュータを削除する場合の管理プログラム2020の動作を説明する。図23において、ステップ23000および23005は図18のステップ18000および18005と同様である。
【００６９】
ステップ23010では、取得したボリューム表に記録されている各ボリュームのLUNに割り当てられているホストコンピュータの一覧を、削除対象の選択肢として表示器2080に表示する。管理者は、表示器2080に表示された一覧から削除するLUN masking設定として、ボリューム、LUN、ホストコンピュータの組み合わせを選択し、管理プログラム2020にLUN masking設定の削除を指示する(ステップ23015)。管理プログラム2020はディスクアレイ4000にLUN masking設定の削除を要求する(ステップ23020)。ディスクアレイ4000から返されるレスポンスから設定が成功したかどうか判断し(ステップ23025)、失敗であればエラーを表示器2080に表示して終了する(ステップ23065)。
【００７０】
一方、成功した場合は、表示器2080に表示された、取得されたボリューム表を参照し、選択されたディスクボリュームがいずれのポートでも選択されたホストコンピュータに割り当てられているか調べ、もしいずれかのポートで割り当てられていれば終了する(ステップ23030)。もしいずれのポートでも選択したホストコンピュータに割り当てられていなければ、そのホストコンピュータは選択されたディスクボリュームをディスカバリする必要がないため、ホストコンピュータが所属するディスカバリドメインのメンバ一覧からディスクボリュームを削除できる。実際に削除するかどうかは管理者が指定し、削除しないことを選択した場合は処理を終了する(ステップ23035)
削除する場合には、図19に示すDevAttrQryメッセージをiSNSサーバ1000へ送信し、ホストコンピュータが所属するディスカバリドメインの一覧を取得する。Message Key AttributesにはホストコンピュータのiSCSI Nameを指定する。取得したディスカバリドメインを1つ選択し(ステップ23045)、ステップ23050において図24に示すDD Deregister (DDDreg)メッセージを作成し、iSNSサーバに送信する。Message Key Attributesには選択したディスカバリドメインのDD_ID24020を指定する。Operating Attributesには、ディスカバリドメインのメンバから削除するディスクボリュームのiSCSI Name24025を指定する。ステップ23045および23050をステップ23040で取得した全てのディスカバリドメインについて繰り返し(ステップ23055)、もしいずれかの削除要求が失敗したら(ステップ23060)、エラーを表示して終了する(ステップ23065)。
【００７１】
以上のように、管理プログラム2020の実行動作により、LUN maskingの作成、削除による構成変更に連動して、iSNSサーバ1000のデータベース1060に管理されるディスカバリドメインの構成を変更することができる。
【００７２】
(6) 実施例１の効果
本実施例１によれば、ディスクアレイの追加、ボリュームの作成、削除、LUNの作成、削除によるストレージ装置の構成変更をiSNSサーバ1000のデータベースの登録に反映させることができる。また、LUN masking設定の作成、削除による構成変更に連動して、ディスカバリドメインの構成を変更することができる。
【００７３】
・実施例2
本実施例におけるシステムの構成は、図１の実施例1とほぼ同様であるが、次の点が相違する。すなわち、ディスクアレイ4000の制御プログラム4045がiSNSクライアント機能を持たず、iSNSサーバ1000に対する必要な操作は全て、管理サーバ2000の管理プログラム2020が行う。また、ディスクボリュームやポートに管理者が自由に名前を付ける機能を提供し、それをiSCSI AliasやPortal Symbolic NameとしてiSNSサーバ1000のデータベースに登録する。
本実施例におけるLUN masking設定の変更の方法は、実施例1と同様である。以下、実施例1と相違する点について詳細に説明する。
【００７４】
(1) 管理サーバおよびディスクアレイの構成
図２５に、本実施例における管理サーバ2000の構成をに示す。
図２５において、装置表2025は図26に示すような構成を持つ。ここで再登録時刻の列202510は、各装置に関するiSNSデータベースの登録内容を定期的に登録しなおすための、次回の登録時刻を記録する。この欄に”０”が記録されている場合は、管理プログラム2020はその装置（ディスクアレイ）に関する再登録を行わない。clock2040は、管理プログラム2020に現在の時刻を提供する時計である。
【００７５】
ボリューム名表2045は、各ディスクボリュームとその名称の対応を記録し、図27に示すような構成をもつ。すなわち、ボリュームIDの列204500、エンティティIDの列204505、名称の列204510は、それぞれディスクボリューム4020のボリュームID、ディスクボリューム4020を提供するディスクアレイ4000のエンティティID、管理者がディスクボリュームに付けた名称を記録する。ポート名表2050も、図28に示すように、ボリューム名表2045と同様の構成を持ち、各ポートとその名称の対応を記録する。
【００７６】
再登録周期2055は、iSNSデータベースの登録を行う周期T_eを記録する。周期マージン2060は、装置表2025に記録されている再登録時刻以前に、再登録処理を開始するためのマージンT_mを記録する。T_eおよびT_mの値は管理者があらかじめ指定しておくものとする。
【００７７】
この実施例では、ディスクアレイ4000の制御プログラム4045は、実施例1と異なり、iSNSクライアントの機能を持たない。そのため、iSNSアドレス4065やESI間隔4070を持たない。
尚、図２５では、表示器2080及び入力器2090の図示を省略してある。
【００７８】
以下、このような構成におけるストレージ装置の管理情報の初期登録処理、ディスクボリュームの作成及び削除処理、LUNの作成及び削除処理、再登録処理等の動作についてフローチャートを参照しながら説明する。
【００７９】
(2) 初期登録
初期登録は、図10に示す手順とほぼ同様であるが、本実施例ではディスクボリュームおよびポートに管理者が名称を付ける手順を含む。図29に示すように、図10のステップ10005とステップ10025の間を、ステップ29010からステップ29020のように変更する。ステップ29010では、装置表2025にエンティティIDを記録し、更にボリューム名表2045にボリュームIDとエンティティIDを記録し、ポート名表2050にポートIDとエンティティIDを記録する。また、ボリューム名表2045およびポート名表2050の名称の欄には、それぞれボリュームID、ポートIDを記録する。
【００８０】
ステップ29015において、名称を編集するかどうかは、管理者が入力器2090を操作して選択する。編集する場合には、管理者はディスクボリューム毎及びポート毎に指定する指定する名称をそれぞれボリューム名表2045、ポート名表2050に記録する(ステップ29020)。編集しない場合には、名称にはステップ29010で記録したボリュームIDおよびポートIDが残る。
【００８１】
ステップ10025では、図11に示すOperating Attributesに加えて、Registration Periodに再登録周期T_r2055を指定したメッセージを作成し、iSNSサーバ1000へ送信する。また、clock2040から読み取った現在の時刻と、iSNSからのDevAttrRegRspメッセージで指定された登録周期を加えた時刻を装置表2025の再登録時刻の列に記録する。
【００８２】
本実施例では、ディスクアレイ4000はiSNSクライアント機能を持たないため、図10のステップ10015、10020は省略される。ステップ10005におけるESI間隔の取得も省略される。
【００８３】
また、初期登録に限らず、iSNSプロトコルのメッセージを作成する場合には、図11のPortal Symbolic Name11050や、図12のiSCSI Alias12040のように、従来ポートIDやボリュームIDを登録していた属性には、ポート名表およびボリューム名表に記録されている名称を登録する。Source Attributeには管理サーバのiSCSIネームMng_Nameを指定する。
【００８４】
(3) ボリュームの作成、削除
本実施例では、ディスクアレイはiSNSクライアント機能を持たず、管理プログラム2020からのストレージ構成変更要求をディスクアレイ内部で実現する。その部分に関する動作は特に明記しない限り実施例1と同様であるため、本実施例では管理プログラム2020の動作について主に説明する。
【００８５】
図30のフローチャートを参照して、ボリュームを作成する際の管理プログラムの動作を説明する。
ステップ30005でディスクアレイ4000にボリュームの作成を要求したレスポンスとして、作成が成功した場合、ステップ30010で作成したディスクボリュームのボリュームIDを受信する。成功した場合、ディスクアレイ4000からボリューム表4060を取得し、受信したボリュームIDに対応するiSCSIネームとボリュームIDをボリューム名表2045に追加する(ステップ30020)。ボリューム名表2045の名称の欄にもボリュームIDを記録する。さらに、作成したディスクボリュームの名称を編集するかどうか、管理者が入力器2090より選択する（ステップ30025）。名称の編集が選択された場合には、管理者により指定された名称を編集して、それをボリューム名表2045に記録する(ステップ30030)。
そして、ステップ30035において、図14に示すDevAttrRegメッセージを作成し、iSNSサーバ1000へ送信する。作成されたボリュームはiSNSサーバ1000のデータベース1060に登録される。ステップ30040以降は図16の16020以降と同様である。
【００８６】
次に図31のフローチャートを参照して、ボリュームを削除する際の管理プログラムの動作を説明する。
ボリューム4020を削除した後では、削除したボリュームのiSCSIネームがディスクアレイ4000から取得できないため、削除する前にステップ31005でボリューム表4060を取得し、削除するディスクボリュームのiSCSIネームを取得しておく。ボリュームの削除が成功したら、ボリューム名表2045から削除したディスクボリュームの記録を削除する(ステップ31020)。
【００８７】
ステップ30025において、図15に示すDevDeregメッセージを作成し、iSNSサーバ1000へ送信する。
このような管理プログラム2020の実行動作により、ディスクボリュームの作成、削除による構成変更をiSNSサーバ1000のデータベース1060に反映することができる。
【００８８】
(4) LUNの作成、削除
図32のフローチャートを参照して、LUNを作成する際の管理プログラムの動作について説明する。
まず管理者は、入力器2090によりボリューム名表2045、ポート名表2050からLUNを作成するディスクボリュームとポートを選択する(ステップ32005)。更に、LUNの数値とPGTを指定し、管理プログラム2020にLUNの作成を指示する。管理プログラム2020はディスクアレイ4000にLUNの作成を要求する（ステップ32010）。ディスクアレイでのLUNの作成の成否を判断において、LUNの作成が成功したら、ディスクアレイ4000からボリューム表4060とポート表4055を取得し、選択したボリュームのiSCSIネームとポートのIPアドレスおよびポート番号を取得する（ステップ32020）。そして、図17に示すDevAttrRegメッセージを作成し、iSNSサーバ1000へ送信する(ステップ32025)。
【００８９】
次に図33のフローチャートを参照して、LUNを削除する際の管理プログラム2020の動作を説明する。
ステップ33005において、ディスクアレイ4000からボリューム表4060を取得する。管理者は、入力器2090より削除するLUNをボリューム表から選択して、管理プログラム2020にLUNの削除を指示する(ステップ33010)。ディスクアレイ4000でのボリュームの削除が成功したら(ステップ33020)、図17に示すDevAttrRegメッセージを作成し、iSNSサーバ1000へ送信する(ステップ33025)。iSNSサーバ1000におけるLUNの削除処理は前述と同様である。
このような管理プログラム2020の実行動作により、LUNの作成、削除による構成変更をiSNSサーバ1000のデータベース1060に反映することができる。
【００９０】
(5) 再登録
本実施例では、ディスクアレイがiSNSクライアント機能を持たず、iSNSサーバが発行するESIメッセージに応答することができないため、定期的にiSNSサーバ1000のデータベース1060に再登録する。再登録しないと、Registration Periodで指定された期間が経過した登録はデータベース1060から削除される。管理プログラム2020は、通常の管理処理を行う以外に、再登録の処理をバックグラウンドで実行する。バックグラウンドでの実行は、マルチプロセスやマルチスレッドを用いることにより行なわれる。
【００９１】
図34のフローチャートを参照して、管理プログラム2020が行う再登録処理の動作について説明する。
ステップ34000では、再登録時刻が”０”でない装置を装置表2025から1つ選択する。現在の時刻tをclockから読み取り(ステップ34005)、装置表2025に記録された再登録時刻とtの差が周期マージンT_mよりも大きければ(ステップ34010)、ステップ34000に戻り別の装置を選択する。大きくなければ、図35に示すDevAttrRegメッセージをiSNSサーバ1000へ送信し、ディスクアレイのエンティティIDを再登録する(ステップ34015)。
【００９２】
図35のメッセージは単純にエンティティIDと再登録周期のみを指定するメッセージであるが、iSNSの仕様によれば同じエンティティに所属する全てのストレージノードの登録は任意の1つのメッセージで再登録されるため、この処理により各装置に関する全ての登録内容の再登録が実現できる。再登録が成功したら(ステップ34020)、iSNSサーバ1000からレスポンスとして送られるDevAttrRegRspメッセージに指定された再登録周期に、ステップ34005で取得した時刻を加えた時刻を装置表2025の再登録時刻に記録し(ステップ34025)、ステップ34000に戻る。再登録が失敗した場合には、エラーを表示し(ステップ34030)、ステップ34000に戻る。
【００９３】
このような管理プログラム2020の実行動作により、定期的に情報を再登録し、iSNSサーバプログラム1020に期限切れとして削除されないように、その登録内容を維持することができる。
【００９４】
(6) 実施例２の効果
本実施例によれば、ディスクアレイ4000の制御プログラムがiSNSクライアント機能を持たない場合でも、iSNSサーバ1000のデータベースの更新を行うことができる。また、管理サーバ2000の管理プログラム2020でディスクボリュームやポート付けた名前を、iSNSサーバ1000のデータベースにiSCSI AliasやPort Symbolic Nameとして登録することができる。
【００９５】
・実施例3
本実施例は、iSNSではなく、SLPを用いてiSCSIデバイスを管理する環境に、本発明を適用した例である。本実施例では、iSCSIプロトコルでアクセスされるディスクボリュームはサービスとしてSLPのDirectory Agent (DA)に登録される。なお、iSCSIデバイスのディスカバリにSLPを用いる方法については、既に提案されている仕様に従うものとし、ここではその詳細は説明しない。以下、実施例2と相違する部分について主に説明する。
【００９６】
(1) SLP Directory Agentサーバおよび管理サーバの構成
本実施例では、iSNSサーバの代わりにSLPのDirectory Agentサーバ(SLP DA)を用いる。従って、管理プログラムはiSNSクライアント機能ではなく、SLPのUser Agent機能を持ち、iSNSアドレス2035の代わりにSLP DAアドレスを持つ。SLPを用いる管理では、ディスクボリュームとポートの組がサービスとして登録され、ポートのオブジェクト単独では登録されない。そのため、本実施例における管理サーバは、実施例2と異なり、ポート名表2050は持たない。
【００９７】
図３７はSLP DAサーバ37000の構成を示す。
このSLP DAサーバ37000はLANインタフェース37010を介してネットワークに接続される。メモリ37015内にネットワーク内のサービスのデータベースであるサービス表37025と、DAの機能を提供するDAプログラム37020を格納する。CPU37005はDAプログラムを実行する。
【００９８】
サービス表37025は、図38に示すような構成を持つ。
図38において、URLの列3702500は登録された各サービスのURLを記録する。iSCSIデバイスの場合には、提案されている仕様に従い、URLにポータルのIPアドレスおよびポート番号とiSCSIネームを含む。サービスタイプの列3702505には、iSCSIプロトコルでアクセスされるディスクボリュームの場合、service:iscsi:targetが記録される。スコープリストの列3702510には、各サービスが所属するスコープが1つ以上記録される。lifetimeの列3702515には、サービスの登録保持期限が記録される。DAプログラムはclock37030から現在の時刻を読み取り、lifetimeの期限が切れているか調べ、期限切れのサービスは削除する。属性の列3702520および属性値の列3702525には、各サービスの属性とその値の組が記録される。
【００９９】
管理サーバの装置表は図2と同じ構成を持つ。また、メモリ内に図36に示す再登録表を持つ。図36においてURLの列3602500、スコープの列3602505、属性の列3602515、属性値の列3602520は、それぞれ各サービスについて図37の同名の列と同じ値を記録する。再登録時刻の列3602510は、そのサービスを再登録する次回の時刻を記録する。再登録時刻が”０”のサービスは再登録されない。
【０１００】
(2) 初期登録
本実施例における管理プログラムの初期登録の動作は、実施例2における図29とほぼ同様である。ここでは、図39のフローチャートを参照して、異なる点について主に説明する。
図29のステップ100005では、装置表、ボリューム名表への記録以外に、取得したボリューム表に記録されている各LUNをサービスとして再登録表に記録する。ボリューム表に記録された項目と再登録表に記録する項目の対応については後述する。再登録表の再登録時刻の欄は“0”を記録する。図39のステップ29020では、ボリューム名表の名称以外に、再登録表のスコープリストも編集する。編集されなかったスコープリストの値はDEFAULTとする。ステップ39000において、再登録表に記録されたサービスを1つ選択し、現在の時刻をclockから読み出して(ステップ39005)、ステップ39010において、図40に示すService Registration (SrvReg)メッセージを作成し、SLP DAに送信する。
【０１０１】
SrvRegメッセージ40000のヘッダには、SrvRegメッセージを表すFunction ID40005を指定し、このサービスに関する以前の登録を削除することを表すFreshフラグを設定する。URL Entry部では、lifetime40015に再登録周期T_rを、URL40020に再登録表に記録されているURLを指定する。再登録表のURLは、取得したボリューム表に記録されている各ディスクボリュームのLUN毎に定義され、service:iscsi:target://の後にLUNを作成するポートのIPアドレス、ポート番号をコロンで連結し、/の後にディスクボリュームのiSCSIネームを指定する。Serivce Typeにはservice:iscsi:targetを指定する。Scope Listには再登録表のスコープリストの値を指定する。Attribute Listには、iSCSIターゲットデバイスのサービステンプレートに記載されている属性を指定する。iscsi-name、auth-name、portal-groupの各属性は再登録表の属性と属性値の組を指定し、それぞれボリューム表に記録されている各LUのディスクボリュームのiSCSIネーム、割り当てホスト、PGTの値に対応する。transportsにはtcpを指定する。auth-cred、auth-addrにはanyを指定する。aliasにはボリューム名表に記録される名称を指定する。Attribute Listの書式は提案されているSLPによるiSCSIデバイスのディスカバリ方法の仕様に従うため、詳細な説明は省略する。
【０１０２】
登録が成功した場合(ステップ39015)、ステップ39005で取得した時刻に再登録周期T_rを加えた時刻を再登録表の再登録時刻の列3602510に記録する(ステップ39020)。失敗したら、エラーを表示する(ステップ39025)。ステップ39005からステップ39025までの処理を、再登録表に記録された全てのサービスについて繰り返す(ステップ39030)。
【０１０３】
以上の手順により、登録対象として追加されるディスクアレイの構成情報をSLP DAサーバ37000が持つデータベースに反映することができる。なお、SLP DAプログラムの動作については、SLPの仕様に従うものとして詳細は省略する。
【０１０４】
(3) LUNの作成、削除
SLPを用いる管理では、ポートが割り当てられたアクセス可能なディスクボリュームのみがサービスとして登録されるため、ボリュームの作成および削除についてはSLPへの登録処理は発生せず、従来どおりディスクアレイの内部の構成変更のみを行う。
【０１０５】
図41のフローチャートを参照して、LUNを作成する際の管理プログラムの動作を説明する。
ステップ41005において、ディスクアレイ4000からボリューム表4060とポート表4055を取得する。管理者は、LUNを作成するボリューム、ポートを選択し、更にLUNとPGTの数値およびスコープを指定して、管理プログラムにLUNの作成を支持する。LUNの作成が失敗したら(ステップ41010)、エラーを表示器に表示して終了する(ステップ41045)。
LUNの作成が成功したら、現在の時刻をclockから取得し(ステップ41020)、図40に示すSrvRegメッセージを作成してSLP DAに送信する。この場合、初期登録とは異なり、Freshフラグ40010はセットせず、auth-name属性にはanyを指定する。登録が成功したら(ステップ41030)、登録した属性を再登録表に記録する。また、初期登録の処理と同様に再登録時刻も記録し、成功を表示して終了する(ステップ41035)。
【０１０６】
次に、図43のフローチャートを参照して、LUNを削除する際の管理プログラムの動作を説明する。
ステップ43005において、ディスクアレイ4000からボリューム表4060を取得する。管理者は、入力器から削除するLUNのディスクボリューム、ポートおよびLUNを選択し、管理プログラムにLUNの削除を指示する。次に、選択されたLUNに該当する再登録表のサービスの再登録時刻を”０”として、処理中の再登録を防ぐ(ステップ43010)。LUNの削除が失敗したら(ステップ43020)、エラーを表示して終了する(ステップ43040)。
【０１０７】
成功したら、図42に示すService Deregistration (SrvDereg)メッセージを作成し、SLP DAに送信する(ステップ43025)。図42において、Scope List42010には、再登録表のスコープリストに記録されている値を指定する。URL EntryのURL42015には、再登録表のURLに記録されている値を指定する。Tag List42020ではAttribute Lengthに”０”を指定し、属性を指定しない。削除が成功したら(ステップ41030)、再登録表から該当する記録を削除し、成功を表示して終了する(ステップ41035)。
以上の管理プログラムの動作により、LUNの作成、削除による構成変更をSLP DAサーバのデータベースに反映することができる。
【０１０８】
(4) LUN masking設定の追加、削除
SLPを用いる管理では、iSNSのディスカバリドメインとは異なり、各サービスのauth-name属性としてアクセス可能なホストコンピュータのiSCSIネームのリストを記録する。従って、LUN maskingの設定を変更した際にはそのディスクボリュームを表すサービスのauth-name属性を変更する必要がある。
【０１０９】
図44のフローチャートを参照して、LUN masking設定を追加する際の管理プログラムの動作を説明する。
ステップ44005において、ディスクアレイからボリューム表を取得し、管理者はLUN maskingを設定するボリューム、ポートおよびLUNを選択する。また、割り当てるホストコンピュータのiSCSIネームも指定し、管理プログラムにLUN masking設定の追加を指示する(ステップ44010)。管理プログラムがディスクアレイに指定されたLUN maskingの設定を要求し(ステップ44015)、作成が失敗したら(ステップ44020)、エラーを表示して終了する(ステップ44045)。
成功したら、再登録表のauth-name属性の属性値に指定されたホストコンピュータのiSCSIネームを追加し(ステップ44025)、図40に示すSrvRegメッセージをSLP DAに送信する。ただし、Freshフラグ40010はセットしない。Attribute List40030のauth-name属性には、追加したホストコンピュータのiSCSIネームを含む、再登録表のauth-nameの属性値に記録されている値を指定する。登録が成功したら成功を表示して終了する(ステップ44040)。
【０１１０】
次に、図45のフローチャートを参照して、LUN masking設定を削除する際の管理プログラムの動作を説明する。
図44のLUN masking設定の追加と同様であるが、ステップ45010では、ホストコンピュータのiSCSIネームを指定する代わりに、再登録表のauth-name属性からiSCSIネームを選択する。ステップ45025では、選択したiSCSIネームをauth-name属性の属性値から削除する。
このような管理プログラムの実行動作により、LUN masking設定の追加、削除による構成変更をSLP DAサーバのデータベースに反映することができる。
【０１１１】
(5) 再登録
DAプログラムはlifetimeの期限が切れているサービスの登録を削除するため、登録内容を維持するためには、期限が切れる前に再登録する。
【０１１２】
図46のフローチャートを参照して、管理プログラムが行う再登録処理の動作を説明する。
ステップ46000において、再登録時刻が”０”でないサービスを再登録表から1つ選択する。現在の時刻tをclockから取得し(ステップ46005)、再登録表に記録されている再登録時刻-tが周期マージンT_mよりも小さいか調べる(ステップ46010)。大きい場合は、ステップ46000に戻って別のサービスを選択する。小さい場合は、再登録表に記録されている内容から図40に示すSrvRegメッセージを作成し、SLP DAに送信する(ステップ46015)。登録が失敗したら(ステップ46020)、エラーを表示して(ステップ46030)、ステップ46000に戻る。登録が成功したら、再登録表の再登録時刻の欄に、ステップ46005で取得した時刻にT_rを加えた値を記録し、ステップ46000に戻る(ステップ46025)。
このような管理プログラムの実行動作により、定期的に情報をSLP DAサーバのデータベースに再登録し、登録内容を維持することができる。
【０１１３】
(6) 実施例３の効果
本実施例３によれば、SLPを用いてiSCSIデバイスをディスカバリする環境において、ボリュームの作成、削除、LUNの作成、削除によるストレージ装置の構成変更をSLP DAサーバが持つデータベースの登録に反映させることができる。また、LUN masking設定の作成、削除による構成変更に連動して、ディスクボリュームを表すサービスのauth-name属性を更新することができる。
【０１１４】
・実施例4
本実施例は、実施例1および実施例2においてそれぞれ説明された管理対象のストレージ装置が混在する環境下における例である。すなわち、iSNSクライアント機能を持つディスクアレイと、その機能を持たないディスクアレイが混在するシステムに関する実施例である。
管理プログラム2020により、対象とするディスクアレイ4000がiSNSクライアント機能を持つか否かを判別し、実施例1の管理方法又は実施例2の管理方法のいずれかを選択して実行することを趣旨とする。以下、実施例2と異なる点について主に説明する。
【０１１５】
(1)ディスクアレイおよび装置表の構成
図１には、ディスクアレイ4000が１つしか示されていないが、本実施例４では、iSNSクライアント機能を持つディスクアレイと、その機能を持たないディスクアレイが、任意にLANスイッチ3010に接続されているとする。尚、ディスクアレイの参照は、いずれも符号4000を引用する。
本実施例では、管理対象となるディスクアレイ4000はメモリ4015内に、図1の4045から4070に示す構成要素に加えて、図47に示すiSNSクライアントフラグ4075を持つ。フラグは「TRUE」または「FALSE」の値を持ち、TRUEはディスクアレイ4000がiSNSクライアント機能を持つことを示し、FALSEはその機能を持たないことを示す。
【０１１６】
また、図48に示すように、管理サーバ2000の装置表2025には、図26に示した装置表に比べ、更に、各装置のiSNSクライアントフラグの値を記録するiSNSクライアントフラグの列202520が付与される。
【０１１７】
(2) 初期登録
図49のフローチャートを参照して、初期登録における管理プログラム2020の動作について説明する。
実施例1および2におけるステップ10005（図10、図29）とは異なり、ステップ49005では、管理プログラム2020はディスクアレイ4000からiSNSクライアントフラグの値も取得する。そしてこのiSNSクライアントフラグを装置表2025に記録する(ステップ49010)。次にこのフラグの値を判定して、管理対象とするディスクアレイ4000がiSNSクライアント機能を持つかどうか判別する(ステップ49015)。
フラグの値が「TRUE」、すなわちiSNSクライアント機能を持つ場合には、実施例1の処理(図10のステップ10010から10020)を行う(ステップ49020)。フラグの値が「FALSE」、すなわちiSNSクライアント機能を持たない場合は、実施例2の処理(図29のステップ29010から29020)を行う(ステップ49025)。その後、実施例1および2に共通の処理(図10のステップ10025から10055)を行う(ステップ49030)。
【０１１８】
(3) 処理内容の切り替え
図50のフローチャートを参照して、ボリュームやLUNの作成および削除の処理における管理プログラム2020の動作について説明する。
ステップ50000において、操作対象のディスクアレイ4000が選択されると、選択されたディスクアレイ4000がiSNSクライアント機能を持つかどうか判別する(ステップ50005)。判別の結果、フラグが「TRUE」すなわちiSNSクライアント機能を持つ場合には、実施例1で説明された処理(図16のステップ16005から16030)を行う(ステップ50010)。
【０１１９】
一方、フラグが「FALSE」すなわちiSNSクライアント機能を持たない場合には、実施例2で説明された処理を行う(ステップ50015)。具体的な処理の内容については、ボリューム作成の場合は図30のステップ30005から30050、ボリューム削除の場合は図31のステップ31005から31040、LUN作成の場合は図32のステップ32005から32040、LUN削除の場合は図33のステップ33005から33040の処理をそれぞれ行う。
【０１２０】
(4) 再登録
本実施例では、実施例2で説明された再登録処理を、iSNSクライアント機能を持たないディスクアレイに対して適用する。そのため、図34のフローチャートにおいて、ステップ34000を図51に示すステップ51000に変更し、iSNSクライアントフラグがFALSEの装置のみを装置表から選択する。
【０１２１】
(5) 実施例４の効果
本実施例４によれば、iSNSクライアント機能を持つディスクアレイと、それを持たないディスクアレイが混在するシステム環境において、ボリュームの作成、削除、LUNの作成、削除によるストレージ装置の構成変更をiSNSデータベースの登録に反映させることができる。
【図面の簡単な説明】
【０１２２】
【図１】本発明の実施例１が適用されるシステムの全体構成を示す図。
【図２】実施例１における装置表2025の構成を示す図。
【図３】実施例１におけるポート表4055の構成を示す図。
【図４】実施例１におけるボリューム表4060の構成を示す図。
【図５】実施例１におけるエンティティ表1025の構成を示す図。
【図６】実施例１におけるストレージノード表1030の構成を示す図。
【図７】実施例１におけるポータル表1035の構成を示す図。
【図８】実施例１におけるポータルグループ表1040の構成を示す図。
【図９】実施例１におけるディスカバリドメイン表1045の構成を示す図。
【図１０】実施例１における初期登録処理のフローチャートを示す図。
【図１１】実施例１におけるポータル登録のメッセージの構成を示す図。
【図１２】実施例１におけるストレージノードおよびポータルグループ登録のメッセージの構成を示す図。
【図１３】実施例１におけるディスクアレイの制御プログラムの動作のフローチャートを示す図。
【図１４】実施例１におけるボリューム登録のメッセージの構成を示す図。
【図１５】実施例１におけるボリューム削除のメッセージの構成を示す図。
【図１６】実施例１における管理プログラム2020の動作のフローチャートを示す図。
【図１７】実施例１におけるLUNの作成および削除を登録するメッセージの構成を示す図。
【図１８】実施例１におけるLUN masking設定追加処理のフローチャートを示す図。
【図１９】実施例１におけるディスカバリドメイン一覧を取得するメッセージの構成を示す図。
【図２０】実施例１におけるディスカバリドメイン内のメンバ一覧を取得するメッセージの構成を示す図。
【図２１】実施例１におけるストレージノードのノードタイプおよび名称を取得するメッセージの構成を示す図。
【図２２】実施例１におけるディスカバリドメインのメンバを登録するメッセージの構成を示す図。
【図２３】実施例１におけるLUN masking設定削除処理のフローチャートを示す図。
【図２４】実施例１におけるディスカバリドメインのメンバを削除するメッセージの構成を示す図。
【図２５】実施例２における管理サーバ2000の構成を示す図。
【図２６】実施例２における装置表2025の構成を示す図。
【図２７】実施例２におけるボリューム名表2045の構成を示す図。
【図２８】実施例２におけるポート名表2050の構成を示す図。
【図２９】実施例２における初期登録処理のフローチャートを示す図。
【図３０】実施例２におけるボリューム作成処理のフローチャートを示す図。
【図３１】実施例２におけるボリューム削除処理のフローチャートを示す図。
【図３２】実施例２におけるLUN作成処理のフローチャートを示す図。
【図３３】実施例２におけるLUN削除処理のフローチャートを示す図。
【図３４】実施例２における再登録処理のフローチャートを示す図。
【図３５】実施例２における再登録のメッセージの構成を示す図。
【図３６】実施例３における再登録表の構成を示す図。
【図３７】実施例３におけるSLP Directory Agentサーバの構成を示す図。
【図３８】実施例３におけるサービス表の構成を示す図。
【図３９】実施例３における初期登録処理のフローチャートを示す図。
【図４０】実施例３における初期登録メッセージの構成を示す図。
【図４１】実施例３におけるLUN作成処理のフローチャートを示す図。
【図４２】実施例３におけるLUNを削除するメッセージの構成を示す図。
【図４３】実施例３におけるLUN削除処理のフローチャートを示す図。
【図４４】実施例３におけるLUN masking設定追加処理のフローチャートを示す図。
【図４５】実施例３におけるLUN masking設定削除処理のフローチャートを示す図。
【図４６】実施例３における再登録処理のフローチャートを示す図。
【図４７】実施例４におけるメモリ4015の構成を示す図。
【図４８】実施例４における装置表2025の構成を示す図。
【図４９】実施例４における初期登録処理のフローチャートを示す図。
【図５０】実施例４における管理プログラムの処理動作のフローチャートを示す図。
【図５１】実施例４における再登録処理のフローチャートを示す図。
【符号の説明】
【０１２３】
1000：iSNSサーバ                    2000：管理サーバ
3000,3005：ホストコンピュータ        3010：LANスイッチ
1015：iSNSサーバプログラム          1060：データベース
2015：メモリ                         2020：管理プログラム
2025：装置表                         2030：iSCSIネーム管理テーブル
2035：iSNSアドレス表
4000：ディスクアレイ                 4020,4025：ボリューム
4015：メモリ                         4045：制御プログラム
4055：ポート表                       4060：ボリューム表。
【図１】
2005332220.tif 000003
【図２】
2005332220.tif 000004
【図３】
2005332220.tif 000005
【図４】
2005332220.tif 000006
【図５】
2005332220.tif 000007
【図６】
2005332220.tif 000008
【図７】
2005332220.tif 000009
【図８】
2005332220.tif 000010
【図９】
2005332220.tif 000011
【図１０】
2005332220.tif 000012
【図１１】
2005332220.tif 000013
【図１２】
2005332220.tif 000014
【図１３】
2005332220.tif 000015
【図１４】
2005332220.tif 000016
【図１５】
2005332220.tif 000017
【図１６】
2005332220.tif 000018
【図１７】
2005332220.tif 000019
【図１８】
2005332220.tif 000020
【図１９】
2005332220.tif 000021
【図２０】
2005332220.tif 000022
【図２１】
2005332220.tif 000023
【図２２】
2005332220.tif 000024
【図２３】
2005332220.tif 000025
【図２４】
2005332220.tif 000026
【図２５】
2005332220.tif 000027
【図２６】
2005332220.tif 000028
【図２７】
2005332220.tif 000029
【図２８】
2005332220.tif 000030
【図２９】
2005332220.tif 000031
【図３０】
2005332220.tif 000032
【図３１】
2005332220.tif 000033
【図３２】
2005332220.tif 000034
【図３３】
2005332220.tif 000035
【図３４】
2005332220.tif 000036
【図３５】
2005332220.tif 000037
【図３６】
2005332220.tif 000038
【図３７】
2005332220.tif 000039
【図３８】
2005332220.tif 000040
【図３９】
2005332220.tif 000041
【図４０】
2005332220.tif 000042
【図４１】
2005332220.tif 000043
【図４２】
2005332220.tif 000044
【図４３】
2005332220.tif 000045
【図４４】
2005332220.tif 000046
【図４５】
2005332220.tif 000047
【図４６】
2005332220.tif 000048
【図４７】
2005332220.tif 000049
【図４８】
2005332220.tif 000050
【図４９】
2005332220.tif 000051
【図５０】
2005332220.tif 000052
【図５１】
2005332220.tif 000053