(57)【要約】      （修正有）【課題】管理装置側が特定のストレージ装置、特定のポートにアクセスが集中しないよう、ターゲット、ＬＵの割り当てを行うシステムを提供する。【解決手段】管理装置が未割当な記憶域が多いストレージ装置を選択し、当該ストレージ装置のターゲットの内、割当数の少ないポートを使うターゲットを選択して、ターゲット、イニシエータ、記憶域を割当する。ストレージ装置が準備したターゲット、記憶域の割当数が一定数内であれば、管理装置がそのストレージ装置を割当候補として管理し、一定数を超えたら割当候補から除外する。割当候補から除外されたストレージ装置が一定数に達したら、管理装置は新たなストレージ装置、新たな記憶域を割当数候補として管理する。【選択図】図３
2008210072.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機と複数のストレージ装置と管理装置がネットワークで接続されたストレージシステムにおける、前記計算機への記憶域割り当て方法であって、
前記ストレージ装置は、複数のターゲットと複数の記憶域を生成し、
前記管理装置は、前記ストレージ装置に設定された複数のターゲットと当該複数のターゲットうちのいずれかのターゲットに接続するイニシエータとの組み合わせ、及び前記ストレージ装置に設定された複数の記憶域及び前記ターゲット割当状態を管理テーブルを用いて管理し、
前記計算機から必要な記憶域のサイズとユーザ情報を受信した場合、前記管理テーブルを参照して、前記複数のターゲットうちのいずれかのターゲットと前記複数の記憶域のうちのいずれかの記憶域を選択し、
前記ストレージ装置は、前記選択したターゲットと、前記計算機を示すイニシエータと、前記選択した記憶域とを対応付け、
前記管理装置は、前記計算機に、前記割当てたターゲットとイニシエータを通知する、ことを特徴とする記憶域割り当て方法。
【請求項２】
請求項１記載の記憶域割り当て方法であって、
前記管理装置は、前記管理テーブルを参照して、複数のストレージ装置のうちで未割当の記憶域が多いストレージ装置を選択して、ターゲット、イニシエータ、記憶域を割当てる、ことを特徴とする記憶域割り当て方法。
【請求項３】
請求項２記載の記憶域割り当て方法であって、
前記管理装置は、当該管理テーブルを参照して、
前記ストレージ装置のターゲットの内、割当数の少ないポートを使うターゲットを選択して、ターゲット、イニシエータ、記憶域を割当てる、ことを特徴とする記憶域割り当て方法。
【請求項４】
請求項３記載の記憶域割り当て方法であって、
前記選択したストレージ装置の割当られているターゲットの数が一定数を超えている場合は、他のストレージ装置であって未割当な記憶域が多いストレージ装置を選択する、ことを特徴とする記憶域割り当て方法。
【請求項５】
請求項３記載の記憶域割り当て方法であって、
前記管理装置は、前記複数のストレージ装置のうちで、ターゲットあるいは記憶域の割当数が一定数以内のストレージ装置を割当候補として管理し、一定数を超えた場合には当該割当候補から除外する、ことを特徴とする記憶域割り当て方法。
【請求項６】
請求項５記載の記憶域割り当て方法であって、
前記管理装置は、割当候補から除外されたストレージ装置の数が一定数に達した場合、新たに記憶域を生成し、当該生成した記憶域を割当候補として管理する、ことを特徴とする記憶域割り当て方法。
【請求項７】
請求項１記載の記憶域割り当て方法であって、
前記管理装置は、ユーザに割り当てた記憶域を解除する要求を受信すると、当該ユーザに割当したターゲットと記憶域の情報を前記ストレージ装置から取得し、当該取得した情報に基づき、前記ターゲットからイニシエータ名、記憶域、認証情報の対応付けを解除する解除要求を前記ストレージ装置へ送信し、
前記ストレージ装置は、前記解除要求に基づき、前記ターゲット、記憶域を未割当なターゲット及び記憶域とする、ことを特徴とする記憶域割り当て方法。
【請求項８】
複数の計算機と複数のストレージ装置と管理装置がネットワークで接続されたストレージシステムであって、
前記管理装置は、前記ストレージ装置のターゲットに記憶域を対応付け前記計算機に記憶域を割当る記憶域管理部と、前記ターゲットと記憶域の割当状態を管理する管理テーブルとを有し、
前記記憶域管理部は、前記ストレージ装置に、イニシエータとターゲットの組及び記憶域を複数作成するよう指示し、割当可能なイニシエータとターゲットの組、記憶域を複数登録し、
前記計算機は、前記管理装置へ、当該計算機が必要な記憶域容量、計算機位置情報を含む割当て要求を通知し、
前記記憶域管理部は、前記割当て要求に基づき、前記登録した複数のイニシエータとターゲットの組及び記憶域のうちから、前記計算機に対してイニシエータとターゲットの組、及び記憶域を割り当てることを特徴とするストレージシステム。
【請求項９】
請求項８記載のストレージシステムであって、
前記記憶域管理部は、前記計算機位置情報に基づき、割当可能なストレージ装置群を選択し、前記管理テーブルを参照し、前記選択したストレージ装置群の中から未割当記憶域が多いストレージ装置を選択することを特徴とするストレージシステム。
【請求項１０】
請求項８記載のストレージシステムであって、
前記記憶域管理部は、前記管理テーブルを参照し、未割当のイニシエータとターゲットが多いポートから、前記イニシエータとターゲットを選択することを特徴とするストレージシステム。
【請求項１１】
請求項１０記載のストレージシステムであって、
前記記憶域管理部は、前記割り当てたイニシエータとターゲットの組及び記憶域の情報をストレージ装置に通知し、
前記ストレージ装置は、前記割り当てられたターゲットに前記割り当てられた記憶域を対応付けることを特徴とするストレージシステム。
【請求項１２】
請求項１１記載のストレージシステムであって、
前記計算機は、前記管理装置にユーザIDを通知し、
前記管理装置は、前記割り当てられたイニシエータとターゲットに前記ユーザIDを関連づけることを特徴とするストレージシステム。
【請求項１３】
請求項１２記載のストレージシステムであって、
前記管理装置は、さらに、割当した記憶域の情報を計算機に通知する記憶域通知部を有し、
前記記憶域通知部は、前記ユーザIDに関連づけられたイニシエータとターゲットを前記計算機に通知し、
前記計算機は、通知されたイニシエータとターゲットを用い割当された記憶域にマウントすることを特徴とするストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のパーソナル計算機（ＰＣ）と複数のストレージ装置がネットワークで接続されたシステムにおいて、ＰＣのローカルディスクに相当する記憶域をストレージ装置から割り当てするボリューム割当システムに関する。
【背景技術】
【０００２】
従来、オペレーティングシステム（ＯＳ）および各種アプリケーションプログラムは、個別の計算機の記憶装置、主にはハードディスクドライブ（ＨＤＤ）に格納され、個別の計算機において実行されてきた。これに対して、近年、個別の計算機の記憶装置に格納されているＯＳ、各種アプリケーションプログラムをネットワーク型ストレージ装置（以下、ストレージ装置とする）に集約し、バックアップやウイルススキャンを一括実行するストレージセントリックシステムが開示されている。このシステムの各ＰＣは、ストレージ装置の論理的に区分けされた記憶域（ＬＵ:Logical Unit）をローカルＨＤＤの代わりに使用する。
【０００３】
PCに割当されるボリューム（PCのOSが認識する記憶域）は、ストレージ装置のポートに定義されているターゲットと、ストレージ装置のディスクに作成されたLUの組み合わせによって一意に定められる。ストレージ装置のポートには複数のターゲットが定義されており、PCは割当されたターゲットに接続し、ターゲットにマップされているLUをPCのローカルディスクの代わりに使用することができる。
【０００４】
ネットワークで接続されたストレージ装置のＬＵを計算機に割当する方法として、例えば特許文献１が開示されている。特許文献１では、PC上に仮想的なＬＵが定義されている。仮想ＬＵへのアクセスが発生すると、PC上のストレージ割当プログラムが、ストレージ装置から評価データを収集し、使用可能なＬＵを決定して、これをPCに登録するものである。これにより、PC側でストレージ装置あるいはＬＵを割当できるようにしたものである。
【０００５】
なお、ストレージ装置あるいはＬＵの評価データとして、ＩＯの遅延時間、ＩＯの頻度、バックアップ頻度、ボリューム二重書き機能の有無、空き容量（ＬＵが作成されていない領域）が開示されている。
【０００６】
また、ネットワークで接続されたストレージ装置のＬＵを計算機に割当する方法として、例えば特許文献２が開示されている。特許文献２では、ポートの負荷が均等になるよう、割当するターゲットを選択できるようにしたものである。
【０００７】
【特許文献１】特開２００１−３５０７０７
【特許文献２】特開２００６−２０９２９４
【発明の開示】
【発明が解決しようとする課題】
【０００８】
PCの台数はサーバの台数より遥かに多い。ストレージ装置のポート当たりの接続台数が従来に比べ多くなるため、ストレージ装置の特定のポートにアクセスが集中しないよう、ボリュームをストレージ装置のポートに均等に割り当てしなければならないという第１の課題がある。
【０００９】
また、PCユーザが必要とするボリュームのサイズはその業務内容によって異なる。あるユーザには１０G、他のユーザには２０Gとユーザ要求に見合ったサイズのボリュームを割当できることが望まれるという第２の課題がある。
【００１０】
これらの課題に対して、特許文献１の従来方式は、計算機が利用可能なストレージ装置が予め計算機側に定義されており、計算機は定義されたストレージ装置の内から割当可能なボリュームを決定する。つまり、この方式では、システム管理者が、各々の計算機がどのストレージ装置群からボリュームを利用するかを、予め計算機に登録する方式であるため、ストレージ装置のコントローラへ接続する計算機は設定された台数を越えることはない。しかし、ストレージ装置のポート当たりの接続台数が考慮されていない。接続台数の多いポートのネットワークが過剰に使用され、コントローラの負荷も高まるため、ディスクアクセス性能が低下という上記第１の課題が解決されていない。
【００１１】
特許文献２の従来方式は、ボリュームのサイズが考慮されていないため、ユーザ毎に割当するボリュームサイズが異なると、ストレージ装置当たりの接続負荷が均等にならない。例えば、ポート当たり１２５台のＰＣを接続可能な２台のコントローラを備えたストレージ装置には５００台のPCが接続できる。ストレージ装置に搭載するディスクの容量は、ＰＣ1台当たり１０Gバイトと見積もり５Tバイトとする。この装置が２台あった場合、従来方式はポート当たりの接続台数を均等にしていくため、装置A、装置B、装置A、装置B・・・の順序でターゲットの割当をしていく。装置Aに割当されたユーザが全て２０Gバイトのボリュームを使用すると、ターゲットの数よりディスクの総量が先に不足し、装置Aには割当が行なえなくなる。その結果、装置Aには２５０台のPC、装置Bには５００台のPCが接続されることになり、装置にかかる負荷が不均等になる。つまり、上記の第２の課題が解決されていない。
【００１２】
本発明では、上記第１の課題及び第２の課題の少なくともひとつを解決すべく、管理装置側が特定のストレージ装置、特定のポートにアクセスが集中しないよう、ターゲット、ＬＵの割り当てを行うことが可能なシステムを提供する。
【課題を解決するための手段】
【００１３】
複数の計算機と複数のストレージ装置と管理装置がネットワークで接続されたシステムにおいて、計算機にボリュームを割り当てする方法であって、ストレージ装置は複数のターゲットと複数の記憶域を準備し、管理装置がストレージ装置に設定された複数のターゲットとターゲットに接続するためのイニシエータの組み合わせ、及びストレージ装置に設定された複数の記憶域の割当状態を管理し、計算機が管理装置に必要なボリュームのサイズとユーザ情報を通知すると、管理装置がターゲットと記憶域を選択し、ストレージ装置がターゲットにイニシエータ、記憶域、認証情報をマッピングし、管理装置が計算機に割当したターゲットとイニシエータを通知する。
管理装置は未割当な記憶域が多いストレージ装置を選択し、当該ストレージ装置のターゲットの内、割当数の少ないポートを使うターゲットを選択して、ターゲット、イニシエータ、記憶域を割当する。
【００１４】
管理装置はストレージ装置が準備したターゲット、記憶域の割当数が一定数内であれば、そのストレージ装置を割当候補として管理し、一定数を超えたら割当候補から除外する。管理装置は割当候補から除外されたストレージ装置が一定数に達したら、新たなストレージ装置、新たな記憶域を割当数候補として管理する。
【発明の効果】
【００１５】
ＰＣの台数、ユーザ数に応じてストレージ装置の増設が行なえるので、ストレージ装置の記憶域を無駄なく使用することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明に係るボリューム割当方式を説明する。
−−−システムの構成−−−
図１〜図４を参照して本実施例に係る計算機システムの概略構成について説明する。図１は本実施例に係る計算機システムの概略構成を示す説明図である。図２は本実施例におけるPCの内部構成を概念的に示す説明図である。図３は本実施例における管理装置の内部構成を概念的に示す説明図である。図４は本実施例におけるストレージ装置の内部構成を概念的に示す説明図である。
【００１７】
本実施例に係る計算機システムは、図１に示すように、ユーザが使用するＰＣ100、ボリューム割当を行う管理装置200、ＰＣが使用するＬＵを備えるストレージ装置300から構成される。PC100、管理装置200およびストレージ装置300は、ＩＰネットワーク700を介して接続されている。IPネットワーク700は、イーサネット（登録商標）によって構築されているローカルエリアネットワーク（ＬＡＮ）であり、通信プロトコルとしてＴＣＰ／ＵＤＰ／ＩＰプロトコルを用いてデータの伝送が実行される。本実施例では、PC100とストレージ装置300との間における通信にはiSCSIプロトコルを用いる。
【００１８】
ストレージ装置300は、コントローラ400と複数の磁気ハードディスクドライブ（ＨＤＤ）500から構成される。ストレージ装置300は、複数のＨＤＤ500によってＲＡＩＤ構成されるディスクアレイ装置である。ＲＡＩＤ構成されるディスクアレイ群をＲＡＩＤグループ(RAID-G700)と呼ぶ。RAID-Gは複数の論理的な記憶域を提供する。論理的な記憶域は、論理ユニット（ＬＵ）600である。
【００１９】
ストレージ装置300のコントローラ400は、図４に示すように、内部に、ＣＰＵ401、メモリ402、ディスクI/O403、ホストI/O404、管理I/O405を備えている。ＣＰＵ401、メモリ402、I/O403、404、405は相互にバスを介して接続されている。ＣＰＵ401は、メモリ402に格納されている各種プログラムを実行する演算処理装置である。メモリ402は、いわゆる内部記憶装置であり、各種プログラム等を記憶する不揮発性メモリおよび演算処理結果を一時的に格納する揮発性メモリの双方を含む。ディスクI/O403は、ＨＤＤ500と接続されている。ホストI/O404は、ＩＰネットワーク700を介してPC100と接続されている。管理I/O405は、ＩＰネットワーク700を介して管理装置200と接続されている。メモリ402には、ディスクアクセスプログラム411、構成管理プログラム412、ターゲットテーブル413が格納されている。
【００２０】
ディスクアクセスプログラム411は、ＬＵに対する、リード、及びライト命令をホストI/O404から受信し、ディスクI/O403を用いてこれらの命令を実行する。構成管理プログラム412は、ＨＤＤ500へのＬＵ600の作成、PC100がＬＵ600を識別するための情報であるターゲットの作成、ターゲットへのＬＵのマッピング等の命令を管理I/O405から受信し実行する。ターゲットテーブル413は別途詳述するが、コントローラのホストI/O404に定義されたターゲット番号とiSCSIターゲット名の組み合わせを管理するテーブルである。構成管理プログラム412が作成したターゲットや、ターゲットとＬＵのマッピング関係はこのテーブルに設定される。
【００２１】
管理装置200は、図３に示すように、内部に、ＣＰＵ201、メモリ202、I/Oインターフェース203を備えている。ＣＰＵ201、メモリ202、I/Oインターフェース203は相互にバスを介して接続されている。ＣＰＵ201は、メモリ202に格納されている各種プログラムを実行する演算処理装置である。メモリ202は、いわゆる内部記憶装置であり、各種プログラム等を記憶する不揮発性メモリおよび演算処理結果を一時的に格納する揮発性メモリの双方を含む。I/Oインターフェース203は、ＩＰネットワーク700を介してPC100、ストレージ装置300と接続されている。
【００２２】
メモリ202には、ボリューム割当プログラム211が格納されている。ボリューム割当プログラム211は、本方式に関わるボリューム割当処理を実行するプログラムである。ボリューム通知部212は、割当したボリュームの情報をPCに通知する処理を行う。ボリューム管理部213は、ストレージ装置300の構成管理プログラム412に命令を送り、ターゲットにＬＵをマップしユーザにボリュームを割当する処理を行う。割当監視部214は、ボリュームの割当状況を監視し、新規割当処理の抑止、及び管理者への通知を行う処理を行う。ボリューム管理テーブル220は別途詳述するが、システムで使用可能なターゲットとＬＵのリソース管理情報と、割当状態を管理する割当管理情報からなる。ユーザに割当されたターゲットとＬＵ、未割当なターゲットとＬＵが管理できる。
【００２３】
PC100は、図２に示すように、内部に、ＣＰＵ101、メモリ102、I/Oインターフェース102を備えている。ＣＰＵ101、メモリ102、I/Oインターフェース103は相互にバスを介して接続されている。ＣＰＵ101は、メモリ102に格納されている各種プログラムを実行する演算処理装置である。メモリ102は、いわゆる内部記憶装置であり、各種プログラム等を記憶する不揮発性メモリおよび演算処理結果を一時的に格納する揮発性メモリの双方を含む。I/Oインターフェース103は、ＩＰネットワーク700を介してストレージ装置300、管理装置200と接続されている。
【００２４】
メモリ103には、ボリュームマウントプログラム112とiSCSIドライバ111が格納されている。ボリュームマウントプログラム112は、本方式に関するプログラムで、ユーザに割当されたボリューム情報をPC100のOSに認識させる処理を行うプログラムである。ボリューム問い合わせ部113は、管理装置200のボリューム通知部212から割当されたボリューム情報を取得する処理を行う。マウント制御部114は、得られたボリューム情報を使用しボリュームのマウント処理を行う。iSCSIドライバ111は、iSCSIプロトコルを実行するプログラムで、ストレージ装置100のターゲットに接続し、ＬＵのデータブロックをリードライトする。−−−ストレージ装置の構成−−−
図５を参照して本実施例に係るストレージ装置の構成について説明する。ストレージ装置300には1個以上のコントローラ400、１個以上のホストI/O404がある。ここでは、コントローラ#0、コントローラ#1の２つのコントローラ400と、コントローラあたり２つのホストI/O404（ポート#A、ポート#B）を備えた中規模クラスのストレージ装置を用い、構成を詳述する。
【００２５】
ストレージ装置300の管理IOポート405、ホストIOポートにIPアドレスが１つづつ定義される。ポートには複数のターゲットが定義され、ポートとターゲットをユニークに識別するiSCSIターゲット名が設定される。ターゲットの数は、ストレージ装置300に接続可能なホストの数を表し、ストレージ装置300の処理能力によって最大値が定められている。ポート当たり２５６ホストの接続が可能なストレージ装置300の場合、装置当たり1000個のターゲットが定義される。
【００２６】
ストレージ装置300に搭載されたディスク500上にはRAID-G700が作成され、RAID-G700内にＬＵ600が複数作成される。RAID-G700は1つ以上作成する。RAID-G700内のＬＵ600は、全て同じサイズで作成する。例えば、約６Tバイトのディスク500を搭載したストレージ装置300では、RAID-G700を２つ作成し、各RAID-G700には１０GバイトのLUを300個作成することができる。約３Tバイトのディスク500を搭載したストレージ装置300では、RAID-G700を１つ作成し、RAID-G700には５GバイトのLUを600個作成することができる。１０GバイトのLUは１０G単位に増量が可能で、５GバイトのLUは５G単位に増量ができる。
【００２７】
本システムでは、イニシエータ名によって、LU600への接続制御ができるようにする。このため、ターゲットにイニシエータ名を設定し、ターゲットにＬＵをマップする。ターゲットを作成した段階では、図６に記すターゲットテーブル411の、所定のコントラーラ番号、ポート番号、ターゲット番号にターゲット名に設定される。ターゲットテーブル411のイニシエータ名の項目に値が設定されたら、このイニシエータ名を使うPC100からのみターゲットヘの接続が許可される。イニシエータ名が設定されていなければ、どのイニシエータ名を使っても接続が許可されない。ターゲットテーブル411のCHAP-ID、パスワードが設定されると、認証されなければターゲットへ接続できない。CHAP-ID、パスワードが設定されていなければ、どのイニシエータ名を使っても接続が許可されない。ターゲットテーブル411のLU番号の項目にLU番号が設定されると、当該LU600へのread/writeが可能になる。値が設定されていなければ、ターゲットへの接続が許可されてもLU600はPC100に見えない。つまり、イニシエータ名、CHAP-ID、パスワードの設定によって、ストレージ装置300のターゲットの１つがユーザに割当され、LU番号の設定によってストレージ装置300のLUの１つがユーザに割当される。
−−−ボリューム割当の機能−−−
本システムでは、ターゲットとＬＵを割当する。ボリュームのサイズについては、最小サイズは定めるが、ユーザ毎にボリュームのサイズを選択可能とする。またユーザに、任意のＰＣからボリュームが利用できる機能を提供する。
【００２８】
本システムでは、割当、増量、割当解除、残量管理、割当通知の５つの機能を提供する。割当機能は、ユーザが指定したサイズのボリュームを作成する。増量機能は、割当済みのボリュームを指定されたサイズに拡張する。割当解除は、割当済みのボリュームを解放し、他のユーザのボリュームとして使用できるようにする。残量管理は、ターゲット、LUの残量を管理し、特定のストレージ装置300に割当が偏らないようにする。割当通知は、PC100に割当されたターゲット情報を通知し、PC100がボリュームを利用できるようにする。
−−−サービス開始準備の概要−−−
管理者は、次の手順でサービス開始の準備を行う。
【００２９】
まず、ストレージ装置300の初期設定を行う。ストレージ装置300の管理IOポート、ホストIOポートにIPアドレスを設定し、ターゲットを作成しターゲット名を定義する。RAID-G700を作成し、ＬＵのサイズを決めRAID-G700内にＬＵ600を作成する。
【００３０】
次に、ボリューム管理テーブル220のリソース管理情報（ストレージ装置情報221、ターゲット情報222、RAID-G情報223、LU情報224）を作成する。リソース管理情報は、システムで利用可能なターゲットとＬＵに関する情報である。図７にリソース管理情報の各項目を記す。
【００３１】
ストレージ装置情報221は、装置ID、管理インタフェース情報、管理状態の項目をもつ。装置IDは、装置をシステムにおいてユニークに識別する情報を設定する。管理インタフェース情報は、コントローラを識別するIDと、コントラーラの管理IOポートに設定したIPアドレスを設定する。管理状態とは、ストレージ装置300のターゲット、LUを割当に使用するか否かの管理状態を表す情報である。「割当可能」とはターゲット、LUを割当で使用できる状態、「対象外」とは増量、割当解除は可能だが割当には使用しない状態、「待機」とはターゲット、LUの作成は完了しているが、運用には使用しない状態を表す。サービス開始時には、「割当可能」の状態と、「待機」の状態のストレージ装置300を準備しておく。
【００３２】
ターゲット情報222は、ストレージ装置300に作成された割当可能なターゲットの正副２つの組み合わせを定義した情報であり、ターゲットID、装置ID、iSCSIイニシエータ、正副のiSCSIターゲット名、iSCSIターゲットIPアドレス、ターゲット番号、ターゲットコントローラポートの項目をもつ。ここで、正副２つのターゲットがある理由は、LUへの接続経路を２つ持たせるためである。接続経路が２つある場合、正ターゲットのコントローラまたはホストIOポートへの経路がダウンした場合でも、副ターゲットを使ってLUへの接続ができようになる。この状態を図５、図６を用いて説明する。例えば、LU番号399のLU600は、[コントローラ０、ポートＡ、ターゲット番号０]のTarget1と、[コントローラ１、ポートＡ、ターゲット番号０]のTarget500にマップされている。PC100はInitiator１を使い、ターゲット名がTarget1である正ターゲットと、ターゲット名がTarget500である副ターゲットからLU＃399に接続できるようになる。
【００３３】
ストレージ装置300に1000個のターゲットを定義した場合、ターゲット情報222を500個作成する。ターゲットIDは、正副２つのターゲットの組み合わせをシステムにおいてユニークに識別する情報を設定する。装置IDは、ターゲットが存在するストレージ装置300の装置IDを設定する。iSCSIイニシエータ名は、PC100がターゲットに接続する際使用するイニシエータ名である。イニシエータ名は、システムでユニークとなるよう命名し設定する。ターゲットコントローラポートは、コントローラとホストIOポートを識別する情報を設定する。iSCSIターゲット名は、ターゲット番号に設定したターゲット名を設定する。iSCSIターゲットIPアドレスは、ホストIOポートに設定したIPアドレスを設定する。正ターゲットと副ターゲットは異なるコントローラに割当する。正ターゲットが[コントローラ０、ポートＡ]にある場合は、副ターゲットは[コントローラ１、ポートＡ]から割当し、正ターゲットが[コントローラ１、ポートＢ]にある場合は、副ターゲットは[コントローラ０、ポートＢ]から割当る。割当状態は、ターゲットがユーザに割当された状態であるか未割当の状態かを表す情報である。「割当済み」とはユーザに使用されている状態、「未割当」とはユーザが使用していない状態を表す。サービス開始時には「未割当」を設定する。
【００３４】
RAID-G情報223は、RAID-GID、担当装置ID、担当コントローラ、RAID-G番号、基本LUサイズ、担当可能装置ID、管理状態の項目をもつ。RAID-GIDは、ストレージ装置300に作成されたRAID-Gをシステムにおいてユニークに識別する情報を設定する。担当装置IDは、LUのIOを行うストレージ装置300を指定するための情報であり装置IDを設定する。担当コントローラは、LUのIOを行うコントローラを指定するための情報であり、コントローラ番号を設定する。コントローラ番号が設定されている場合は、指定されたコントローラに属する正ターゲットを選択してLUをマッピングする。指定されていない場合は、コントローラを限定しないで正ターゲットを選択してLUとマッピングする。RAID-G名は、ストレージ装置300内で使用されている識別名を設定する。基本LUサイズは、RAID-Gに作成したLUのサイズを設定する。管理状態とは、RAID-G即ちRAID-G内のLUを割当に使用するか否かの管理状態を表す情報である。「割当可能」とはLUを割当で使用できる状態、「待機」とはLUの作成は完了しているが、運用には使用しない状態を表す。サービス開始時には、「割当可能」の状態と、「待機」の状態のRAID-Gを準備しておく。
【００３５】
LU情報224は、RAID-GID、LU番号、割当状態の項目をもつ。RAID-GIDは、LUが作成されているRAID-GのRAID-GIDを設定する。LU番号は、ストレージ装置300内でLUを識別するためにつけられた番号を設定する。割当状態は、LUがユーザに割当された状態であるか未割当の状態かを表す情報である。「割当済み」とはユーザに使用されている状態、「未割当」とはユーザが使用していない状態を表す。サービス開始時には「未割当」を設定する。
【００３６】
ストレージ装置情報221、ターゲット情報222、RAID-G情報223、LU情報224の関連を図８に記す。１つのストレージ装置300には、１つのストレージ装置情報221、L個のターゲット情報222、M個のRAID-G情報223、N個のLU情報224が作成される。図８に記したストレージ装置300は、500個のターゲット、900個のLUを提供するストレージ装置であり、LUの内300個が「待機状態」であることを示している。
【００３７】
次に管理者は、ボリューム割当プログラム211を起動し、サービスを開始する。
−−−ボリューム割当処理−−−
ボリューム割当処理は、ボリューム管理プログラム211のボリューム管理部213が実行する。割当の状態は、割当管理情報225によって管理する。図９に割当管理情報225の構成を記す。割当管理情報225は、ユーザID、認証情報、パスワード、割当ターゲット、親LU番号、ボリュームサイズの項目をもつ。割当ターゲットには、ユーザに割当したターゲットのターゲットIDを設定する。親LU番号には、ボリュームを構成するLUの先頭LUの番号を設定する。ボリュームサイズは割当されているLUの総量を設定する。
【００３８】
ボリューム割当処理の詳細を、図１１を用いて記す。
【００３９】
管理者は、ボリューム管理部213に、割当要求を発行する（1001）。例えば、図１０のようなテキストファイルをボリューム管理部213に読み込ませる。テキストファイルの項目は、割当/増量/割当解除の命令種別、割当するユーザのID、作成するボリュームサイズ、ボリュームを作成するLUの基本LUサイズ、ユーザが使用するCHAP-IDとシークレットである。基本LUサイズの設定がない場合は、指定のボリュームを作成できるLUのサイズをボリューム管理部213が決定する。
【００４０】
ボリューム管理部213は、ストレージ装置情報221の管理状態が「割当対象」かつ、RAID-G情報223の管理状態が「割当対象」であるRAID-G情報223を検索する。RAID-G情報223の基本LUサイズを参照し、指定されたボリュームサイズを作成可能なRAID-G群Aを決める（1002）。
【００４１】
ボリューム管理部213は、使用可能なRAID-G情報223の内、「未割当」状態のLUが多いRAID−G情報223を選択する（1003）。RAID−G情報223の担当装置IDを参照し、装置IDに属すターゲット情報222の内、「未割当」なターゲット情報222を検索する。未割当なターゲット情報222が存在しない場合、ステップ1002で得たRAID-G群Aから、次候補となるRAID−G情報223を選択し、未割当なターゲット情報222を検索する。検索したターゲット情報222から、1つターゲット情報222を選択する。RAID−G情報223に担当コントローラが設定されている場合は、指定されたコントローラに定義された正ターゲットをもつターゲット情報222から、ポート毎にユーザに割当済みのターゲット情報222の数を求め、一番割当の少ないポートに定義された、ターゲット情報222を選択し、ポート毎の割当数を均等にする。指定されていない場合は、正ターゲットのコントローラ、ポートの割当数が均等になるよう、既にユーザに割当済みのターゲット情報222の数を求め、一番割当の少ないポートに定義された、ターゲット情報222を選択し、割当状態を「割当済み」に変更する（1004）。選択したRAID−G情報223に属するLU情報224より、未割当のLUを複数個選択し、割当状態を「割当済み」に変更する。例えば、基本LUサイズが１０GバイトのLUである場合は、２０Gバイトのボリューム作成のために2個のLUを選択する（1004）。
【００４２】
ボリューム管理部213は、選択したターゲットが属すストレージ装置300の管理IOポートを介して、構成管理プログラム412に、正副ターゲットへのLUマッピング、LUの結合、イニシエータ名、CHAP、パスワード設定を要求する。構成管理プログラム412は、正副ターゲットへLUをマッピングし、指定されたLUを結合し、ターゲットテーブルに、イニシエータ名、CHAP、パスワードを設定する（1005）。
【００４３】
ボリューム管理部213は、割当管理情報225に割当したユーザのID、CHAP、パスワード、割当したターゲット情報222のターゲットID、割当したLUの親番号、ボリュームサイズを設定する(1006)。
−−−ボリューム増量処理−−−
ボリューム増量処理は、ボリューム割当プログラム211のボリューム管理部213が実行する。
【００４４】
管理者は、ボリューム管理部213に、拡張要求を発行する。例えば、図１０のようなテキストファイルをボリューム管理部213に読み込ませる。テキストファイルの項目は、割当/増量/割当解除の命令種別、増量するユーザのID、作成するボリュームサイズである。
【００４５】
ボリューム管理部213は、割当管理情報225を参照し、ユーザID、割当ターゲット、親LU番号から割当されているターゲット情報222、RAID-G情報223を検索する。指定されたボリュームを作成するために必要なLUの個数を求め、RAID-G情報223に属するLU情報224から未使用のLUを選択し、「割当済み」とする。未使用LUが存在しない場合は、他のRAID-G情報223に属するLU情報224を検索する。割当時と同様、RAID-G情報223の担当コントローラ情報をもとに、RAID-G情報223を選択する。
【００４６】
ボリューム管理部213は、ユーザに割当されているターゲットが属すストレージ装置300の管理IOポートを介して、構成管理プログラム412に、LU結合を要求する。
【００４７】
ボリューム管理部213は、割当管理情報225に増量したユーザのボリュームサイズを更新する。
−−−ボリューム割当解除処理−−−
ボリューム割当解除処理は、ボリューム管理プログラム211のボリューム管理部213が実行する。
【００４８】
管理者は、ボリューム管理部213に、解除要求を発行する。例えば、図１０のようなテキストファイルをボリューム管理部213に読み込ませる。テキストファイルの項目は、割当/増量/割当解除の命令種別、解除するユーザのIDである。
【００４９】
ボリューム管理部213は、割当管理情報225を参照し、ユーザID、割当ターゲット、親LU番号から割当されているターゲット情報222を検索する。
【００５０】
ボリューム管理部213は、ユーザに割当されているターゲットが属すストレージ装置300の構成管理プログラム412を介して、ターゲットにマップされているLUのLU番号を取得する。さらに、正副ターゲットへのLUマッピング解除、LUの結合解除、イニシエータ名、CHAP、パスワードの削除を要求する。構成管理プログラム412は、正副ターゲットからLUのマッピングを解除し、指定されたLUの結合を解除する。更にターゲットテーブルから、イニシエータ名、CHAP、パスワードを削除する。
【００５１】
ボリューム管理部213は、割当管理情報225から、当該ユーザの情報を削除し、ターゲット情報222の割当状態を「未割当」に変更する。更に、割当に使用していたLUの番号からLU情報224を検索し、割当状態を「未割当」に変更する。
【００５２】
以上により、割当されていたターゲット、LUが他のユーザの割当、増量処理に利用可能となる。
−−−ボリューム残量管理処理−−−
ボリューム残量管理処理は、ボリューム管理プログラム211の割当管理部213が実行する。ボリューム残量は、ターゲット残量管理情報226、LU残量管理情報227を用いて残量管理する。図１２に構成を記す。ターゲット残量管理情報226は、装置ID、コントローラ、ターゲット総数、割当数、閾値の項目をもつ。[装置ID、コントローラ、ターゲット総数]が、ストレージ装置300のコントローラに定義されたターゲット情報222の総数を表し、割当数がユーザに割当されている数を表す。閾値は、管理者に警告を発する、または割当処理を停止する目安となる、ユーザに未割当なターゲット情報222の数であり、この値は管理者によって設定変更することができる。
【００５３】
LU残量管理情報227は、装置ID、LUサイズ、RAID-GID、LU総数、割当数、閾値の項目をもつ。[装置ID、RAID-Gサイズ、LU総数]がストレージ装置300のRAID-Gに定義されたLU情報224の総数を表し、割当数がユーザに割当されている数を表す。閾値は、管理者に警告を発する、またはLU追加の目安となるユーザに未割当なLU情報224の数であり、この値は管理者によって設定変更することができる。
【００５４】
割当管理部213は、増量処理、増量処理、割当解除処理の各処理に、処理完了後に呼び出され、処理を行う。割当管理部213は、ターゲット情報222、LU情報224の割当状態の値を参照して、ターゲット残量管理情報226、LU残量管理情報227の割当数を更新する。次に、未割当数を計算し、各閾値との比較を行う。ターゲット情報222の未割当数が、ターゲット残量管理情報226の閾値に達したら、該当するストレージ装置情報211の管理状態を「割当対象外」にする。これによって、このストレージ装置211は割当の対象からはずされる。しかし、増量と割当解除処理は実行される。ターゲット情報222の未割当数が、ターゲット残量管理情報226の閾値を越えた場合、該当するストレージ装置情報211の管理状態を「割当対象」にする。これによって、このストレージ装置211を割当処理に使用できるようになる。全てのストレージ装置情報211が「割当対象外」となったら、管理者に警告を送る。これはメール送信機能が使用できる。また、次のような処理を行うこともできる。「待機」状態のストレージ装置情報211を「割当対象」とする。これによって、ユーザ数増加に応じてストレージ装置のターゲット、LUを、動的に増加していくことができる。
【００５５】
LU情報224の未割当数が、LU残量管理情報227の閾値に達したら、管理者に警告を送る。これはメール送信機能が使用できる。また、該当するストレージ装置情報211の管理状態を「割当対象外」にする。これによって、このストレージ装置211は割当の対象からはずされる。しかし、増量と割当解除処理は実行される。LU情報224の未割当数が、LU残量管理情報227の閾値を越えた場合、該当するストレージ装置情報211の管理状態を「割当対象」にする。これによって、このストレージ装置211を割当処理に使用できるようになる。
【００５６】
また、次のような処理を行うこともできる。LU情報224の未割当数が、LU残量管理情報227の閾値に達したら、「待機」状態のRAID-G情報223を「割当対象」とする。そして、担当コントーラの項目に、LUが不足しているコントトーラを指定する。双方のコントローラを担当させることもできる。これによって、ボリューム使用量増加に応じてストレージ装置のLUを、動的に増加していくことができる。
−−−ボリューム割当通知処理−−−
ボリューム割当通知処理は、ボリューム管理プログラム212のボリューム通知部213が実行する。
【００５７】
ユーザは、[ユーザID、認証情報]を入力して、PC100にインストールされているLUマウントプログラム112を実行する。認証情報は、CHAPID、パスワードを使用する。LUマウントプログラム112のLU問い合わせ部113は、ユーザID、CHAPID、パスワードを、ボリューム管理プログラム212のボリューム通知部213に送る。ボリューム通知部213は、割当管理情報225を検索し、該当するユーザの割当ターゲットを決定する。ターゲットIDよりターゲット情報222を決定し、iSCSIイニシエータ名、正と副のiSCSIターゲット名、iSCSIターゲットIPアドレスをLUマウントプログラム112のLU問い合わせ部113に通知する。LUマウントプログラム112のマウント制御部114は、通知されたiSCSIイニシエータ名、正と副のiSCSIターゲット名、iSCSIターゲットIPアドレスと認証情報を使い、割当されたボリュームをPC100のOSにマウントする。ユーザはマウントしたボリュームにファイル等を格納して使用する。
【００５８】
ボリュームの割当、増量を、ユーザが使用するＰＣからユーザが行うこともできる。
−−−割当処理フロー−−−
ユーザは、[ユーザID、認証情報、サイズ]を入力して、PC100にインストールされているLUマウントプログラム112を実行する。認証情報は、CHAPID、パスワードを使用する。LUマウントプログラム112のLU問い合わせ部113は、ユーザID、CHAPID、パスワード、サイズを、ボリューム管理プログラム212のボリューム通知部212に送る。ボリューム通知部213は、割当管理情報225を検索し、該当するユーザの割当ターゲットを決定する。新規割当の場合、ユーザIDの登録がされていないので、ボリューム管理部213に割当を要求する。割当処理は上記実施例と同様である。ボリューム管理部213は割当完了をボリューム通知部212に通知する。
−−−増量処理フロー−−−
ユーザは、[ユーザID、認証情報]を入力して、PC100にインストールされているLUマウントプログラム112を実行する。LUマウントプログラム112のLU問い合わせ部113は、ボリューム通知部212からiSCSIイニシエータ名、正と副のiSCSIターゲット名、iSCSIターゲットIPアドレスを得る。
【００５９】
LUマウントプログラム112のマウント制御部114は、iSCSIイニシエータ名、正と副のiSCSIターゲット名、iSCSIターゲットIPアドレスと認証情報を使い、割当されたボリュームをPC100のOSにマウントする。マウント制御部114は、マウントしたボリュームの使用容量を調べる。一定値、例えば８０％使用している状態になったら、ボリューム管理プログラム212のボリューム管理部213に[ユーザID、認証情報]の値と増量の要求を送る。
【００６０】
ボリューム管理部213は、割当管理情報225を検索し、該当するユーザの割当ターゲットを決定する。そして、使用しているRAID-G、LUの基本LUサイズを検索し、LUを１つ増量する。増量処理は上記実施例と同様である。ボリューム管理部213は、増量の完了をマウント制御部114に通知する。この段階では、PC100のOSはボリュームの増量を認識できない。よってマウント制御部114は、マウントしたボリュームをアンマウントし、再度マウントを行う。再度マウントすると、拡張されたLUの領域が未使用領域としてOSに管理される。マウント制御部114は、未使用領域に対してファイルのフォーマット処理を行うこともできる。
【００６１】
上記の「サービス開始準備の概要」では、ストレージ装置にイニシエータの定義がされていないが、開始準備の段階でストレージ装置にターゲットとイニシエータの組み合わせを定義しておくこともできる。図１３を用い、この場合の割当処理を記す。
【００６２】
管理者は、管理装置200からターゲットを作成しターゲット名を定義する。そして、ターゲットにイニシエータを定義する。RAID-G700を作成し、ＬＵのサイズを決めRAID-G700内にＬＵ600を作成する2001。これによって、ターゲットテーブル411の、所定のコントラーラ番号、ポート番号、ターゲット番号にターゲット名、イニシエータ名が設定される。
【００６３】
次に、ボリューム管理テーブル220のリソース管理情報（ストレージ装置情報221、ターゲット情報222、RAID-G情報223、LU情報224）を作成する。リソース管理情報のターゲット情報222は、上記で設定したターゲット名とイニシエータ名の組み合わせを設定する2002。
【００６４】
管理者は、ボリューム割当処理を行う。ボリューム管理部213に、割当要求を発行する（2003）。ボリューム管理部213は、次に上記した規則に従い割当するLUと、ターゲット情報222を選択し、ユーザに割当するターゲットとイニシエータの組み合わせを決める(2004)。
【００６５】
ボリューム管理部213は、選択したターゲットが属すストレージ装置300の管理IOポートを介して、構成管理プログラム412に、正副ターゲットへのLUマッピング、LUの結合、CHAP、パスワード設定を要求する。構成管理プログラム412は、正副ターゲットへLUをマッピングし、指定されたLUを結合し、ターゲットテーブルに、CHAP、パスワードを設定する（2005）。
【００６６】
ボリューム管理部213は、割当管理情報225に割当したユーザのID、CHAP、パスワード、割当したターゲット情報222のターゲットID、割当したLUの親番号、ボリュームサイズを設定する(2006)。
【００６７】
ユーザが割当されたボリュームを使用する場合は、LUマウントプログラム112 を使い[ユーザID、認証情報]をボリューム管理プログラム212のボリューム通知部213に送る(2007)。ボリューム通知部213は、割当管理情報225を検索し、該当するユーザのターゲット情報222を決定し、iSCSIイニシエータ名、正と副のiSCSIターゲット名、iSCSIターゲットIPアドレスを通知する(2008)。PCのLUマウントプログラム112は通知されたiSCSIイニシエータ名、正と副のiSCSIターゲット名、iSCSIターゲットIPアドレスと認証情報を使い、割当されたボリュームをPC100のOSにマウントする(2009)。
【図面の簡単な説明】
【００６８】
【図１】本実施例に係る計算機システムの概略構成を示す説明図である。
【図２】本実施例におけるPCの内部構成を概念的に示す説明図である。
【図３】本実施例における管理装置の内部構成を概念的に示す説明図である。
【図４】本実施例におけるストレージ装置の内部構成を概念的に示す説明図である。
【図５】本実施例におけるストレージ装置のLU構成を概念的に示す説明図である。
【図６】ストレージ装置の記憶装置に格納されているターゲットテーブルの説明図である。
【図７】管理装置の記憶装置に格納されているボリューム管理テーブル（リソース管理情報）の説明図である。
【図８】リソース管理情報の各項目の関連を説明する図である。
【図９】管理装置の記憶装置に格納されているボリューム管理テーブル（割当管理情報）の説明図である。
【図１０】割当、増量、解除命令のパラメータ例を説明する図である
【図１１】管理装置の割当処理ルーチンを示すフローチャートである。
【図１２】ターゲット、ＬＵの残量管理情報の説明図である。
【図１３】管理装置、ストレージ装置、PCを含む割当処理ルーチンを示すフローチャートである。
【符号の説明】
【００６９】
１００…PC、２００…管理装置、３００…ストレージ装置、４００…コントローラ、５００…磁気ディスク記憶装置（HDD）、６００…論理ボリューム（LU）、７００…ＲＡＩＤグループ、７００…ＩＰネットワーク、１０１、２０１、４０１…中央演算装置（ＣＰＵ）、１０２、２０２、４０２…メモリ、１０３、２０３…Ｉ／Ｏ、４０３…ディスクＩ／Ｏ、４０４…ホストＩ／Ｏ、４０５…管理Ｉ／Ｏ、１１１…ｉＳＣＳＩドライバ、１１２…ＬＵマウントプログラム、２１１…ボリューム割当プログラム
【図１】
2008210072.tif 000003
【図２】
2008210072.tif 000004
【図３】
2008210072.tif 000005
【図４】
2008210072.tif 000006
【図５】
2008210072.tif 000007
【図６】
2008210072.tif 000008
【図７】
2008210072.tif 000009
【図８】
2008210072.tif 000010
【図９】
2008210072.tif 000011
【図１０】
2008210072.tif 000012
【図１１】
2008210072.tif 000013
【図１２】
2008210072.tif 000014
【図１３】
2008210072.tif 000015