(57)【要約】【課題】ストレージシステムは仮想サーバの設定とは無関係にストレージＩ／Ｏの処理を行うため、計算機システム全体としての性能管理が困難である。【解決手段】複数の仮想サーバを提供する計算機と、管理計算機と、複数のＬＵを提供する複数のストレージコントローラを備えたストレージシステムと、から構成する計算機システムで、仮想サーバ毎に仮想サーバに関するＩ／Ｏ優先度に従って仮想サーバのＩ／Ｏ処理を制御することで、仮想サーバ間のＩ／Ｏ処理性能の調整を行う計算機と、ストレージシステム２の設定を連携させ、又は連携設定させるための仮想サーバに対応したストレージシステムの情報を表示する。【選択図】図１
2010108114.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想サーバを提供する計算機と、管理計算機と、複数のＬＵを提供する複数のストレージコントローラを備えたストレージシステムと、から構成する計算機システムであって、
前記計算機は前記複数の仮想サーバの複数のＩ／Ｏ優先度を管理するＩ／Ｏ優先度管理情報を有し、
複数のＬＵは前記複数の仮想サーバの複数の仮想ディスクデータを格納し、
前記ストレージシステムは、前記複数のＬＵに対するＩ／Ｏ要求を処理するストレージコントローラを前記複数のストレージコントローラから特定するＬＵ関連設定情報を有し、
前記管理計算機は、前記計算機が有する前記Ｉ／Ｏ優先度管理情報に対応した仮想サーバ設定情報と、前記ストレージシステムが有するＬＵ関連設定情報に対応するストレージシステム構成情報と、を有し、前記仮想サーバ設定情報と前記ストレージシステム構成情報とを参照することで、前記Ｉ／Ｏ優先度管理情報が示す複数の仮想サーバの複数のＩ／Ｏ優先度を元にしたストレージシステムの構成を計算し、前記構成を元にしたストレージ設定要求を送信し、
前記ストレージシステムは、前記ストレージ設定要求を受信したら、ＬＵ関連設定情報を変更することで、前記ストレージ設定要求で指定された前記複数のＬＵの一つのＩ／Ｏ要求を処理するストレージコントローラを変更する、
ことを特徴とした計算機システム。
【請求項２】
請求項１記載の計算機システムであって、前記管理計算機は、前記複数の仮想ディスクデータと前記複数のＬＵとの格納関係を示す仮想ディスクデータ管理情報を有することを特徴とした計算機システム。
【請求項３】
請求項２記載の計算機システムであって、
前記管理計算機は、前記仮想ディスクデータ管理情報と前記ストレージシステム構成情報とを参照することで前記複数の仮想サーバの一部に対応するストレージコントローラを前記複数のストレージコントローラから特定し、前記複数の仮想サーバの一部に対応するストレージコントローラに関する情報を表示することを特徴とした計算機システム。
【請求項４】
請求項２記載の計算機システムであって、
前記管理サーバは、前記仮想ディスクデータ管理情報と前記ストレージシステム構成情報と仮想サーバ設定情報とを参照することで、前記複数のコントローラの各々について対応する一つ以上の仮想サーバのＩ／Ｏ優先度の合計値を計算し、当該計算結果を表示する、
ことを特徴とした計算機システム。
【請求項５】
複数の仮想サーバを提供する計算機と、前記複数の仮想サーバの複数の仮想ディスクデータを格納する複数のＬＵを提供し、複数のストレージコントローラを備えたストレージシステムと、に接続された管理計算機の性能管理方法であって、
前記複数の仮想サーバの複数のＩ／Ｏ優先度を管理する前記計算機が有するＩ／Ｏ優先度管理情報に対応する仮想サーバ設定情報を格納するステップと、
前記複数のＬＵに対するＩ／Ｏ要求を処理するストレージコントローラを前記複数のストレージコントローラから特定する、前記ストレージシステムが有するＬＵ関連設定情報に対応するストレージシステム構成情報を格納するステップと、
前記仮想サーバ設定情報と前記ストレージシステム構成情報とを参照することで、前記Ｉ／Ｏ優先度管理情報が示す複数の仮想サーバの複数のＩ／Ｏ優先度を元にしたストレージシステムの構成を計算し、前記構成を元にしたストレージ設定要求を送信するステップと、
を有することを特徴とした管理計算機の性能管理方法
【請求項６】
請求項５記載の性能管理方法であって、
前記複数の仮想ディスクデータと前記複数のＬＵとの格納関係を示す仮想ディスクデータ管理情報を格納するステップを有することを特徴とした管理計算機の性能管理方法。
【請求項７】
請求項６記載の性能管理方法であって、
前記仮想ディスクデータ管理情報と前記ストレージシステム構成情報とを参照することで前記複数の仮想サーバの一部に対応するストレージコントローラを前記複数のストレージコントローラから特定するステップと、
前記複数の仮想サーバの一部に対応するストレージコントローラに関する情報を表示するステップと、
を有することを特徴とした管理計算機の性能管理方法。
【請求項８】
請求項６記載の計算機システムであって、
前記仮想ディスクデータ管理情報と前記ストレージシステム構成情報と仮想サーバ設定情報とを参照することで、前記複数のコントローラの各々について対応する一つ以上の仮想サーバのＩ／Ｏ優先度の合計値を計算し、当該計算結果を表示するステップを有することを特徴とした管理計算機の性能管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムの性能向上又は管理方法、システム、装置及びプログラムに関する。
【背景技術】
【０００２】
Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（以後ＶＭと省略することがある）技術は、サーバ計算機のＣＰＵ、主記憶、ネットワークＩ／Ｆ、及びストレージＩ／Ｆを用い、仮想的に複数の計算機を提供する技術である。当該技術によって提供される仮想的な計算機をＶｉｒｔｕａｌ  ｍａｃｈｉｎｅまたは仮想サーバと呼ぶ。
【０００３】
Ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ技術を適用したサーバ計算機の場合、同計算機の有するストレージＩ／Ｆ（以後、Ｉ／Ｏアダプタと呼ぶことがある）を複数の仮想サーバで共有するため、Ｉ／Ｏ性能が問題となっていた。
【０００４】
特許技術１に開示の技術では仮想サーバ毎に仮想的なストレージＩ／Ｆとデータキューを割り当てることで、仮想サーバで消費するデータ帯域を制御する技術が開示されている。
【０００５】
【特許文献１】米国特許公開明細書２００８／００２７０４
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術をストレージＩ／Ｏに適用した場合、ストレージシステムは仮想サーバの設定とは無関係にストレージＩ／Ｏの処理を行うため、計算機システム全体としての性能管理が困難である。
【課題を解決するための手段】
【０００７】
本発明は、複数の仮想サーバを提供する計算機と、管理計算機と、複数のＬＵを提供する複数のストレージコントローラを備えたストレージシステムと、から構成する計算機システムの性能管理に関する方法、装置、システムプログラム、記憶メディアを提供する。
【０００８】
本発明の一実施例によると、仮想サーバ毎に仮想サーバに関するＩ／Ｏ優先度に従って仮想サーバのＩ／Ｏ処理を制御することで、仮想サーバ間のＩ／Ｏ処理性能の調整を行う計算機と、ストレージシステム２の設定を連携させ、又は連携設定させるための仮想サーバに対応したストレージシステムの情報を表示する。
【０００９】
また、本発明の他の実施例によると、前記計算機は前記複数の仮想サーバの複数のＩ／Ｏ優先度を管理するＩ／Ｏ優先度管理情報を有し、複数のＬＵは前記複数の仮想サーバの複数の仮想ディスクデータを格納し、前記ストレージシステムは、前記複数のＬＵに対するＩ／Ｏ要求を処理するストレージコントローラを前記複数のストレージコントローラから特定するＬＵ関連設定情報を有し、前記管理計算機は、前記計算機が有する前記Ｉ／Ｏ優先度管理情報に対応した仮想サーバ設定情報と、前記ストレージシステムが有するＬＵ関連設定情報に対応するストレージシステム構成情報と、を有し、前記仮想サーバ設定情報と前記ストレージシステム構成情報とを参照することで、前記Ｉ／Ｏ優先度管理情報が示す複数の仮想サーバの複数のＩ／Ｏ優先度を元にしたストレージシステムの構成を計算し、前記構成を元にしたストレージ設定要求を送信し、前記ストレージシステムは、前記ストレージ設定要求を受信したら、ＬＵ関連設定情報を変更することで、前記ストレージ設定要求で指定された前記複数のＬＵの一つのＩ／Ｏ要求を処理するストレージコントローラを変更する。
【００１０】
なお、前記管理計算機は、前記複数の仮想ディスクデータと前記複数のＬＵとの格納関係を示す仮想ディスクデータ管理情報を有してもよく、前記仮想ディスクデータ管理情報と前記ストレージシステム構成情報とを参照することで前記複数の仮想サーバの一部に対応するストレージコントローラを前記複数のストレージコントローラから特定し、前記複数の仮想サーバの一部に対応するストレージコントローラに関する情報を表示してもよく、前記仮想ディスクデータ管理情報と前記ストレージシステム構成情報と仮想サーバ設定情報とを参照することで、前記複数のコントローラの各々について対応する一つ以上の仮想サーバのＩ／Ｏ優先度の合計値を計算し、当該計算結果を表示してもよい。
また、本発明の他の実施例によると、前記複数の仮想サーバの複数のＩ／Ｏ優先度を管理する前記計算機が有するＩ／Ｏ優先度管理情報に対応する仮想サーバ設定情報を格納するステップと、前記複数のＬＵに対するＩ／Ｏ要求を処理するストレージコントローラを前記複数のストレージコントローラから特定する、前記ストレージシステムが有するＬＵ関連設定情報に対応するストレージシステム構成情報を格納するステップと、前記仮想サーバ設定情報と前記ストレージシステム構成情報とを参照することで、前記Ｉ／Ｏ優先度管理情報が示す複数の仮想サーバの複数のＩ／Ｏ優先度を元にしたストレージシステムの構成を計算し、前記構成を元にしたストレージ設定要求を送信するステップとを有する。
【００１１】
なお、前記複数の仮想ディスクデータと前記複数のＬＵとの格納関係を示す仮想ディスクデータ管理情報を格納するステップを有してもよく、前記仮想ディスクデータ管理情報と前記ストレージシステム構成情報とを参照することで前記複数の仮想サーバの一部に対応するストレージコントローラを前記複数のストレージコントローラから特定するステップと、前記複数の仮想サーバの一部に対応するストレージコントローラに関する情報を表示するステップとを有してもよく、前記仮想ディスクデータ管理情報と前記ストレージシステム構成情報と仮想サーバ設定情報とを参照することで、前記複数のコントローラの各々について対応する一つ以上の仮想サーバのＩ／Ｏ優先度の合計値を計算し、当該計算結果を表示するステップを有してもよい。
【発明の効果】
【００１２】
本発明により、仮想サーバを提供するサーバ計算機とストレージシステムの両方を考慮した性能管理が可能となる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明の実施の形態を説明する。
【００１４】
図１は、本発明が実施される計算機システムの構成例を示すものである。該計算機システムは、サーバ計算機（以後、サーバと省略することがある）１、ストレージシステム２、管理サーバ計算機（以後、管理サーバと省略することがある）２８から構成される。また、サーバ１とストレージシステム２は、サーバ１のデータインタフェース１９とストレージシステムのポート２１を接続する第一のネットワーク３によって、接続される。また、サーバ１のネットワークインタフェース１３とストレージシステム２のネットワークインタフェース２７、管理サーバ２８のネットワークインタフェース１３は第二のネットワーク４に接続することで、サーバ１と管理サーバ２８とストレージシステム２との通信を実現している。
【００１５】
サーバ１は、ＣＰＵ１１ａ、主記憶１２ａ、ネットワークインタフェース１３ａ、入出力装置１４ａ、記憶装置１８ａ、ストレージインターフェース（Ｉ／Ｆ）１９ａから構成されている。なお、サーバ１ａはＣＤ−ＲＯＭ１６ａを有してもよく、これ以外の部品を含んでも良い。なお、入出力装置１４ａの例としてはディスプレイとキーボードとポインタデバイスが考えられるが、これ以外の装置であってもよい。また、入出力装置の代替としてシリアルインターフェースやイーサーネットインターフェースを入出力装置とし、当該インターフェースにディスプレイ又はキーボード又はポインタデバイスを有する表示用計算機を接続し、表示用情報を表示用計算機に送信したり、入力用情報を表示用計算機から受信することで、表示用計算機で表示を行ったり、入力を受け付けることで入出力装置１４での入力及び表示を代替してもよい。
【００１６】
ストレージシステム２は、ポート２１、ストレージコントローラ２２、制御メモリ２３、プロセッサ２４、キャッシュメモリ２５、記憶装置２６、ネットワークインタフェース２７から構成されている。
【００１７】
なお、ストレージコントローラ２２は複数の記憶装置２６の記憶領域を用いて複数のＬＵ２９をサーバ１ａ（またはサーバ１ａが提供する仮想サーバ）に提供する。なお、ＬＵ２９とはサーバ１ａからアクセス可能な記憶領域であり、ＦｉｂｒｅＣｈａｎｎｅｌやｉＳＣＳＩなどでＬＵＮと呼ばれる識別子が割り当てられている。サーバ１ａはＬＵＮによってＬＵ２９を指定することでリード要求やライト要求に代表されるI/O要求をストレージシステム２へ送信する。
【００１８】
ＬＵ２９の一部は仮想サーバに対応した仮想ディスクデータ１０４を格納する。仮想ディスクデータ１０４とは、仮想サーバが仮想的に提供するハードウェア構成（例えば、ＣＰＵの数やネットワークＩ／Ｆの数やメモリ量）の情報を記憶したり、仮想サーバによって起動されるＯＳのファイルや仮想サーバのユーザが用いるファイルが格納される。なお、仮想ディスクにはこれら以外の情報、例えば、仮想サーバが提供するメモリ空間の内容を格納してもよい。さらには、仮想ディスクは一つ以上のファイルから構成されていてもよい。
【００１９】
管理サーバ２８は、ＣＰＵ１１ｂ、主記憶１２ｂ、ネットワークインタフェース１３ｂ、入出力装置１４ｂ、記憶装置１８ｂから構成されている。なお、管理サーバ２８はＣＤ−ＲＯＭ１６ｂを有してもよく、これ以外の部品を含んでも良い。なお、入出力装置１４ｂの例としてはディスプレイとキーボードとポインタデバイスが考えられるが、これ以外の装置であってもよい。また、入出力装置の代替としてシリアルインターフェースやイーサーネットインターフェースを入出力装置とし、当該インターフェースにディスプレイ又はキーボード又はポインタデバイスを有する表示用計算機を接続し、表示用情報を表示用計算機に送信したり、入力用情報を表示用計算機から受信することで、表示用計算機で表示を行ったり、入力を受け付けることで入出力装置１４での入力及び表示を代替してもよい。
サーバ１ａの記憶装置１８には、仮想サーバ管理プログラム１０３、及び仮想ディスクデータＩ／Ｏ優先度管理情報１０５が格納されている。仮想サーバ管理プログラム１０３はＣＰＵ１１により主記憶１２に読み込まれて実行される。なお、仮想サーバ管理プログラム１０３はＣＤ−ＲＯＭ１６を経由して記憶装置１８に格納されてもよい。
【００２０】
記憶装置サブシステム２の制御メモリ２３には、ＬＵ−コントローラ対応関係変更プログラム１０２、性能情報収集プログラム１０８、ＬＵ−コントローラ−記憶装置対応関係情報１０１が格納される。
【００２１】
管理サーバ２８の記憶装置１８には、ＬＵ−コントローラ対応関係変更制御プログラム１０６、ＬＵ−記憶装置対応関係変更制御プログラム１０８、仮想ディスク情報管理情報１０７が記憶される。ＬＵ−コントローラ対応関係変更制御プログラム１０６及びＬＵ−記憶装置対応関係変更制御プログラム１０８は、管理サーバ２８のＣＰＵ１１により管理サーバ２８の主記憶１２に読み込まれて実行される。また、ＬＵ−コントローラ対応関係変更制御プログラム１０６及びＬＵ−記憶装置対応関係変更制御プログラム１０８はＣＤ−ＲＯＭ１６を経由して管理サーバ２８の記憶装置１８に格納される。
【００２２】
また、記憶装置２６には仮想サーバ管理プログラム１０３により管理され、サーバ１のＣＰＵ１１により主記憶１２に読み込まれて実行される仮想サーバが使用する仮想ディスクデータ１０４を格納するＬＵ２９が配置される。
【００２３】
なお、図１中のＣＤ−ＲＯＭ１６はプログラムを媒体から読み込むための手段であり、フロッピー（登録商標）ディスクやテープ等他の媒体であってもかまわない。また、仮想サーバ管理プログラム１０３は、ネットワークインタフェース１３経由で記憶装置１８に格納されても良い。
【００２４】
さらに、仮想サーバ管理プログラム１０３や仮想ディスクデータＩ／Ｏ優先度管理情報１０５は、ストレージシステム２の記憶装置２６上のＬＵ２９に配置されてもよい。
【００２５】
なお、サーバ１ａは一つでも良いが、複数であっても良い。さらに、ストレージシステム２は仮想サーバを提供しない計算機が接続され、ＬＵ２９に対してリード又はライトを行っても良い。このときのアクセス対象のＬＵ２９は仮想ディスクデータ１０４を含むものであってもよく、含まないＬＵであってもよい。
【００２６】
次に本発明の概要を説明する。なお、概要に説明の無い事項について権利を放棄するものではない。
【００２７】
本発明はサーバ１ａが提供する仮想サーバ毎に、Ｉ／Ｏ優先度に従って仮想サーバのＩ／Ｏ処理の処理を制御することで、仮想サーバ間のＩ／Ｏ処理性能の調整を行う仮想サーバ管理プログラム１０３を有するサーバ１ａと、ストレージシステム２とが連携することで、計算機システムとして性能管理を容易にする。管理サーバ２８はサーバ１ａとストレージシステム２とを連携させる計算機である。
【００２８】
即ち、サーバ１ａが提供する仮想サーバのＩ／Ｏ優先度についての情報を取得し、当該取得した情報を基に、ストレージシステム２の性能に関連する設定要求（ストレージ設定要求）を生成し、当該設定要求をストレージシステム２に送信し、当該設定要求を受信したストレージシステムは当該設定要求に従って、ストレージコントローラ２２のLUへのI/O要求の性能に関する所定の設定情報（以後、LU関連設定情報と呼ぶ）を変更する。以後、ストレージシステム２は変更後のLU関連設定情報（その一例がＬＵ−コントローラ−記憶装置対応関係管理情報）を元に、仮想サーバから受信したI/O要求を処理する。このように仮想サーバのＩ／Ｏ優先度に従って、ストレージシステム２のLU関連設定を変更するの処理設定を変更することで、計算機システムの性能管理を容易にする。
【００２９】
特に、仮想サーバを提供するサーバ１ａとストレージシステム２の連携は下記ケースを含む状況においてより性能管理が容易になる。
【００３０】
（ケース１）ある仮想サーバ（区別のため、ＶＳ−Ａと命名）のＩ／Ｏ優先度Ｐａよりも低いＩ／Ｏ優先度Ｐｂに対応付けられた仮想サーバ（区別のため、ＶＳ−Ｂと命名）より、ライト要求を受信した場合。管理サーバの処理によって当該Ｉ／Ｏ優先度に伴ったストレージ資源（例えば、ストレージコントローラ２２、キャッシュメモリ１２５、プロセッサ２５やプロセッサ２５でＩ／Ｏ要求を処理する割合を指す。）にて実行するため、過度なストレージ資源の割り当てが不要になり、仮想サーバＶＳ−ＡのＩ／Ｏ要求をより多くの資源で処理することができる。
【００３１】
（ケース２）仮想サーバＶＳ−ＢのＩ／Ｏ優先度Ｐｂよりも高いＩ／Ｏ優先度Ｐａに対応付けられた仮想サーバＶＳ−Ａよりリード要求を受信した場合。当該リード要求に応じたリードデータの送信処理に過小なストレージ資源を用いてしまうことでＶＳ−ＢのＩ／Ｏ要求の性能が良いというＩ／Ｏ優先度とは逆のＩ／Ｏ性能となってしまうことを回避できる。
【００３２】
（ケース３）仮想サーバを提供しない非仮想化サーバ計算機がストレージシステム２に接続され、ストレージシステム２が当該計算機からのＩ／Ｏ要求を処理する場合。仮想サーバのＩ／Ｏ優先度に従って、非仮想化サーバ計算機に対応するＩ／Ｏ要求の処理を別なストレージコントローラや記憶装置で実行させることで、仮想サーバのＩ／Ｏ性能低下を回避することができる。
【００３３】
（ケース４）ストレージシステム２ではサーバ計算機からのリード要求に対応するリード処理及びライト要求に対応するライト処理とは別な処理が動作する場合。この場合は、ストレージシステム２は当該別な処理をどのストレージコントローラで実行するかを示した管理情報を有し、当該情報は仮想サーバのＩ／Ｏ優先度に従って変更される。なお、この管理情報は直接的にはＬＵに関係していないものの、当該処理をＩ／Ｏ優先度に従って制御する場合は広義のＬＵ関連設定情報と見なしても良い。このように、前記別な処理を別なストレージコントローラや記憶装置で実行させることで、仮想サーバのＩ／Ｏ性能低下を回避することができる。なお前記別な処理の一例としては、ＲＡＩＤ技術によるパリティ計算処理やＲＡＩＤ技術適用時に記憶装置２６に障害が発生した場合のリカバリ処理や、ストレージシステム２による記憶装置２６に格納したデータの複製処理（リモートコピーやローカルコピー）や、記憶装置２６のフォーマットやデータ削除処理、その他リード処理やライト処理とは非同期に実行されるストレージコントローラの処理が考えられる。
【００３４】
または、管理サーバ２８は、仮想サーバのＩ／Ｏ優先度と当該設定用要求によるＬＵ関連設定情報を管理サーバ２８のユーザに表示する。表示のため、管理サーバ２８は、仮想ディスクデータＩ／Ｏ優先度管理情報１０５と仮想ディスク情報管理情報とを参照することで表示対象の仮想サーバに対応したＬＵ（仮想サーバに対応した仮想ディスクデータ１０４が格納されている）を特定し、特定したＬＵが関係するストレージシステムの処理の処理の設定を表示することが考えられる。これによって仮想サーバ２８のユーザは容易に仮想サーバとストレージシステムの設定を確認することが出来る。
【００３５】
なお、以後の実施例ではＬＵ関連情報がされた場合の追従処理として、以下が説明されている。
（追従処理１）選択されたＬＵのＩ／Ｏ処理を行うストレージコントローラを別なストレージコントローラに変更し、以後は当該別なストレージコントローラで選択されたＬＵのＩ／Ｏ処理を行う。これによってＩ／Ｏ優先度が高くなった仮想ディスクデータに対応するＬＵに対するＩ／Ｏ要求がストレージコントローラが原因で性能低下（特にＩＯＰＳが高い場合）することを回避できる。
（追従処理２）選択されたＬＵのデータを現在格納されている記憶装置から別な記憶装置へ移動する。これによってＩ／Ｏ優先度が高くなった仮想ディスクデータに対応するＬＵに対するＩ／Ｏ要求が記憶装置が原因の性能低下（特にスループットが高い場合や、キャッシュ効果が強くない環境下でのＩＯＰＳが高い場合）を回避できる。
【００３６】
なお、前記追従処理はＩ／Ｏ優先度が高くなった仮想ディスクデータに対応するＬＵに対するＩ／Ｏ要求を調節可能な処理であれば上記処理以外でもよい。
【００３７】
また、本発明では説明の容易化として複数の記憶装置上にＬＵを定義するものとした。しかし、ＲＡＩＤ技術を導入した場合、複数の記憶装置をまとめてパリティグループとし、当該パリティグループに対してＬＵを定義することも考えられる。この場合、記憶装置をパリティグループと読み替えて各種処理または情報を管理してもよい。
【００３８】
さらに、本発明では仮想ディスクデータに対してＩ／Ｏ優先度が対応しているが、仮想サーバに対してＩ／Ｏ優先度を割り当てる場合にも対応可能である。その場合は仮想ディスクデータに対するＩ／Ｏ優先度と説明されている部分を仮想サーバに対するＩ／Ｏ優先度と読み替えればよい。
【００３９】
以上で、本発明の概要説明を終わる。
【００４０】
図２は、仮想ディスクデータＩ／Ｏ優先度管理情報１０５の例である。該管理情報１０５は、仮想ディスクデータの名前（または識別子）を記憶する仮想ディスクデータ名フィールド２０１、及び仮想ディスクデータへのＩ／Ｏの優先度であるＩ／Ｏ優先度を記憶するＩ／Ｏ優先度フィールド２０２から構成されるテーブルである。なお、仮想ディスクデータＩ／Ｏ優先度管理情報１０５は仮想ディスクデータに対するＩ／Ｏ優先度を格納できればテーブル以外のデータ構造であってもよい。
【００４１】
当該情報を元に、仮想サーバ管理プログラム１０３は、仮想サーバのＯＳが発行するリード要求またはライト要求を、優先度に従い送信または受信や要求に関する処理を行う。
【００４２】
図３は、仮想ディスク情報管理情報１０７の構成例である。該情報は、仮想ディスクデータの名前（または識別子）を記憶する仮想ディスクデータ名フィールド３０１、当該仮想ディスクデータを記憶するストレージシステムの名前（または識別子）を記憶するストレージ装置名フィールド３０２、当該仮想ディスクデータが記憶されるＬＵの番号（または識別子）を記憶するＬＵＮフィールド３０３から構成されるテーブルである。なお、仮想ディスク情報管理情報１０７は、仮想ディスクデータが格納されたストレージシステム２とＬＵ２９が特定できればテーブル以外のデータ構造であってもよい。
【００４３】
図４は、ＬＵ−コントローラ−記憶装置対応関係管理情報１０１の構成例である。該情報は、ＬＵの番号（または識別子）を記憶するＬＵＮフィールド、当該ＬＵに対するＩ／Ｏの制御を行うコントローラを示すコントローラ名フィールド４０２、及び当該ＬＵが記憶される記憶装置を示す記憶装置フィールド４０３から構成されるテーブルである。なお、ＬＵ−コントローラ−記憶装置対応関係管理情報１０１は、ＬＵ毎にＩ／Ｏ処理を行うコントローラが特定できればテーブル以外のデータ構造であってもよい。
【００４４】
図９は、記憶装置及びＬＵの容量を管理する容量管理情報１０９の構成例である。該情報は、記憶領域の種別を示す領域種別フィールド９０１、記憶領域の名称を示す名称フィールド９０２、及び領域の容量を示す容量フィールド９０３から構成されるテーブルである。なお、当該情報はこれらフィールドが格納されていればテーブル以外のデータ構造であってもよい。
【００４５】
なお管理サーバは、ストレージシステム構成情報を主記憶１２ｂまたは記憶装置１８ｂに格納している。当該情報は、管理サーバが有してＣＰＵ１１ｂによって実行されるストレージシステム情報取得プログラムが、ＬＵ関連設定情報取得要求をストレージシステム２へ送信し、当該要求を受信したストレージシステム２がＬＵ−コントローラ−記憶装置対応関係管理情報１０１に格納したＬＵとコントローラの対応情報及びＬＵと記憶装置の対応情報を送信し、対応情報を受信したストレージシステム情報取得プログラムが、当該対応情報を元にＬＵとコントローラの対応とＬＵと記憶装置との対応をストレージシステム構成情報に格納することで管理されている。
【００４６】
なお管理サーバは、仮想サーバ設定情報を主記憶１２ｂまたは記憶装置１８ｂに格納している。当該情報は、管理サーバが有してＣＰＵ１１ｂによって実行される仮想サーバ情報取得プログラムが、Ｉ／Ｏ優先度取得要求を一つ以上のサーバ１ａへ送信し、当該要求を受信したサーバ１ａが仮想ディスクデータＩ／Ｏ優先度管理情報１０５に格納した仮想ディスクデータに対するＩ／Ｏ優先度（仮想サーバに対するＩ／Ｏ優先度と読み替えても良い）を含むＩ／Ｏ優先度情報を送信し、当該情報を受信した仮想サーバ情報取得プログラムが、当該情報を元に仮想サーバに対するＩ／Ｏ優先度を仮想サーバ設定情報に格納することで管理されている。
【００４７】
図５は、ＬＵ−コントローラ対応関係変更制御プログラム１０６で実施される処理の例である。以下、当該プログラムをＣＰＵ１１ｂが実行することで行われる処理について記載する。なお、以下の処理は特に断らない限り、仮想サーバ設定情報と仮想ディスクデータ管理情報１０７と仮想ディスクデータ管理情報とを参照することで行われる。
【００４８】
（ステップ５０１）該プログラムは、まず仮想ディスク毎のＩ／Ｏ優先度を受信する。取得方法には、以下の２方法がある。
（方法１）仮想サーバ管理プログラム１０３より取得する方法。サーバ１ａにＩ／Ｏ優先度取得要求を送信し、当該要求を受信したサーバ１ａは仮想サーバの識別子とＩ／Ｏ優先度を含むＩ／Ｏ優先度情報を送信することで最新の仮想サーバ設定情報を最新にし、当該情報を参照する。
（方法２）管理者より受け取る方法。当該プログラムは入出力装置１４ｂによって入力された仮想サーバに対するＩ／Ｏ優先度を受信する。また、管理者から仮想ディスク毎のＩ／Ｏ優先度を取得する場合には、該情報を仮想サーバ管理ソフト１０３に伝えるか否かも同時に受け取り、伝えると指定された場合は当該Ｉ／Ｏ優先度と当該Ｉ／Ｏ優先度に対応する仮想サーバの識別子を含むＩ／Ｏ優先度設定情報をサーバ１ａに送信する。なお、Ｉ／Ｏ優先度設定情報を受信したサーバ１ｂは当該設定情報に基づいて仮想ディスクデータＩ／Ｏ優先度管理情報１０５を更新する。また、当該プログラムは仮想サーバ設定情報も更新する。
【００４９】
なお、方法１や方法２に限らず、仮想サーバ管理プログラムはネットワークインターフェース１３ａまたは入出力装置１４ａより仮想サーバの識別子と対応するＩ／Ｏ優先度を含むＩ／Ｏ優先度設定情報を含むＩ／Ｏ優先度設定要求を受信し、Ｉ／Ｏ優先度設定要求を受信したサーバ１ｂは当該設定情報に基づいて仮想ディスクデータＩ／Ｏ優先度管理情報１０５が更新される。
【００５０】
（ステップ５０２）各仮想ディスクデータについて、仮想ディスクデータ管理情報１０７を参照することで、仮想ディスクデータが格納されているＬＵを特定する。
【００５１】
（ステップ５０３、ステップ５０４）ステップ５０２で求めたＬＵ毎に、特定元である仮想ディスクデータのＩ／Ｏ優先度を加算し、ＬＵ毎のＩ／Ｏ優先度の合計値を計算し計算結果をＬＵ−Ｉ／Ｏ優先度対応関係管理情報（主記憶１２ｂまたは記憶装置１８ｂに保存されている）に格納し、当該情報をＩ／Ｏ優先度の降順にソートする。
【００５２】
（ステップ５０５、ステップ５０６、５０７）ストレージコントローラ毎のＩ／Ｏ優先度の合計が他のストレージコントローラと比較して小さいストレージコントローラを選択し、情報の先頭のＬＵを当該ストレージコントローラに割当てるものと判断し、情報の先頭行を削除する。これを当該情報からレコードがなくなるまで繰り返す。なお、判断結果は判断結果情報として主記憶１２ｂまたは記憶装置１８ｂに格納される。
【００５３】
（ステップ５０８）ステップ５０５の判断結果情報に従い、ＬＵ−コントローラ−記憶装置対応関係管理情報１０１のＬＵとコントローラの対応関係を更新する。なお、仮想ディスク毎のＩ／Ｏ優先度を管理者より受け取り、かつ仮想サーバ管理ソフトへの該情報の伝達も同時に受け取った場合には、仮想サーバ管理プログラム１０３に対して、仮想ディスク別Ｉ／Ｏ優先度管理情報１０５をステップ５０１で受け取った値に変更してもよい。
【００５４】
図６は、ＬＵ−記憶装置対応関係変更制御プログラム１０８で実施される処理の例である。以下、当該プログラムをＣＰＵ１１ｂが実行することで行われる処理について記載する。なお、以下の処理は特に断らない限り、仮想サーバ設定情報と仮想ディスクデータ管理情報１０７と仮想ディスクデータ管理情報とを参照することで行われる。
【００５５】
（ステップ６０１）当該プログラムは、まず仮想ディスクデータ毎のＩ／Ｏ優先度を受信する。なお、受信方法はステップ５０１にて説明した方法と同じ方法が考えられる。
【００５６】
（ステップ６０２）当該プログラムは、各仮想ディスクデータについて、仮想ディスクデータ管理情報を参照することで、仮想ディスクデータが格納されているＬＵを特定する。
【００５７】
（ステップ６０３）当該プログラムは、ステップ６０２で特定したＬＵ毎に、特定元である仮想ディスクデータのＩ／Ｏ優先度を加算し、ＬＵ毎のＩ／Ｏ優先度の合計値を計算する。
【００５８】
（ステップ６０４）当該プログラムは、ステップ６０３の計算結果を元に、ＬＵ−コントローラ−記憶装置対応関係管理情報１０１を参照してＬＵが格納されている記憶装置を特定し、記憶装置毎に特定元となるＬＵのＩ／Ｏ優先度を合計することで、記憶装置毎のＩ／Ｏ優先度を計算する。
【００５９】
（ステップ６０５）当該プログラムは、各記憶装置のＩ／Ｏ優先度のいずれかが閾値を超えているかどうかを判断し、超えている場合は、ＬＵと記憶装置との対応を変えた場合についてステップ６０４の計算を行うことで、各記憶装置のＩ／Ｏ優先度が閾値を超えないＬＵと記憶装置との対応を計算する。なお、ここでの計算では閾値を超ない対応関係が算出できる場合もあるが、算出できない場合もある。なお、当該計算には各ＬＵの容量、及び記憶装置の空き容量が必要となるが、これらは図４に示すＬＵ−コントローラ−記憶装置対応関係管理情報１０１、及び容量管理情報１０９を参照して求める。なお、算出結果は算出結果情報として主記憶１２ｂまたは記憶装置１８ｂに格納する。
【００６０】
（ステップ６０６）その後、現在の構成と算出結果情報とを元に、ステップ６０５にて新たなＬＵと記憶装置との対応を算出したと判断した場合は、その算出結果情報に従い、記憶装置との対応が変更されたＬＵのデータを移動元の記憶装置から移動先の記憶装置へ移動する。そして、ＬＵ−コントローラ−記憶装置対応関係管理情報１０１のＬＵと記憶装置の対応関係を更新する。なお、仮想ディスク毎のＩ／Ｏ優先度を管理者より受け取り、かつ仮想サーバ管理ソフトへの該情報の伝達も同時に受け取った場合には、仮想サーバ管理プログラム１０３に対して、仮想ディスク別Ｉ／Ｏ優先度管理情報１０５をステップ６０１で受け取った値に変更してもよい。
【００６１】
以下、図１の構成において以下の状態であった場合の図５に説明したストレージコントローラ割当て変更時の動作について説明する。
（１）ＬＵ２９ａとＬＵ２９ｂとが記憶装置２６ａに対応付けられ、ＬＵ２９ｃとＬＵ２９ｄとが記憶装置２６ｂに対応付けられている。
（２）サーバ１ａは仮想サーバ管理プログラム１０３を処理することで仮想サーバ１乃至４を提供する。
（３）仮想ディスクデータ１０４ａ（仮想ディスクデータ名としてVDK01が割り当てられている）を用いて仮想サーバ１は提供される。また、仮想サーバ１による仮想ディスクデータ１０４ａに対するＩ／Ｏ優先度は６０である。仮想ディスクデータ１０４ａを格納したＬＵ２９ａのＩ／Ｏ処理はストレージコントローラ２２ａにて行われる。
【００６２】
（４）仮想ディスクデータ１０４ｂ（仮想ディスクデータ名としてVDK0２が割り当てられている）を用いて仮想サーバ２は提供される。また、仮想サーバ２による仮想ディスクデータ１０４ｂに対するＩ／Ｏ優先度は５０である。仮想ディスクデータ１０４ｂを格納したＬＵ２９ｂのＩ／Ｏ処理はストレージコントローラ２２ａにて行われる。
（５）仮想ディスクデータ１０４ｃ（仮想ディスクデータ名としてVDK0３が割り当てられている）を用いて仮想サーバ３は提供される。また、仮想サーバ３による仮想ディスクデータ１０４ｃに対するＩ／Ｏ優先度は３０である。仮想ディスクデータ１０４ｃを格納したＬＵ２９ｃのＩ／Ｏ処理はストレージコントローラ２２ｂにて行われる。
（６）仮想ディスクデータ１０４ｄ（仮想ディスクデータ名としてVDK0４が割り当てられている）を用いて仮想サーバ４は提供される。また、仮想サーバ４による仮想ディスクデータ１０４ａに対するＩ／Ｏ優先度は６０である。仮想ディスクデータ１０４ｄを格納したＬＵ２９ｄのＩ／Ｏ処理はストレージコントローラ２２ｂにて行われる。
【００６３】
以上説明した状態において、サーバ１ａが受信したＩ／Ｏ優先度設定情報に基づいて仮想ディスクデータ１０４ａに対するＩ／Ｏ優先度が１６０に変更された場合、計算機システムは以下の動作を行う。なお、図７は変更後の仮想ディスクデータＩ／Ｏ優先度管理情報１０５である。
【００６４】
（動作１）ステップ５０１とステップ５０２とステップ５０３を処理することで、ＬＵ−コントローラ対応関係変更制御プログラム１０６は、ＬＵ２６ａのＩ／Ｏ優先度が１６０であることを算出し情報格納する。（一つのＬＵに複数の仮想ディスクデータが格納される場合は仮想ディスクデータそのままのＩ／Ｏ優先度にはならない）。
【００６５】
（動作２）ステップ５０４とステップ５０５とステップ５０６を処理することで、ＬＵ−コントローラ対応関係変更制御プログラム１０６は、ストレージコントローラ２２ａのＩ／Ｏ優先度を２１０と算出する（ストレージコントローラ２２ｂのＩ／Ｏ優先度は１１０のまま）。そして、ストレージコントローラ２２ａに対応していたＬＵのうち、最もＩ／Ｏ優先度が低いＬＵ２９ｂを特定する。
【００６６】
（動作３）ステップ５０８の動作によって、管理サーバ２８はストレージステム２にＬＵ−コントローラ対応変更要求を送信し、当該要求を受信したストレージシステム２はＬＵ−コントローラ−記憶装置対応関係管理情報１０１を変更し、ストレージシステム２は当該情報１０１を参照することで、以後はＬＵ２９ｂのＩ／Ｏ処理をコントローラ２２ｂで処理する。なお、図８は変更後のＬＵ−コントローラ−記憶装置対応関係管理情報１０１である。また、ＬＵ−コントローラ対応変更要求はＬＵとストレージコントローラを指定するが、今回はＬＵ２９ｂとストレージコントローラ２２ｂを指定した。
【００６７】
以上示すように、本発明により仮想ディスクのＩ／Ｏ優先度に基づくコントローラの割当て変更が達成できることが確認された。
【００６８】
以下、論理記憶割り当て変更時の動作について説明する。なお、例とする状況は上記コントローラ割り当て変更と同じである。なお、記憶装置割当て変更はデータ移動が伴うために処理完了まで長時間を要する。そのため、本処理は記憶装置毎のＩ／Ｏ優先度の合計値の差が所定の値又は割合（例えば１．５倍等）生じた場合に行うようにしても良い。
【００６９】
（動作１）ステップ６０１とステップ６０２とステップ６０３を処理することで、ＬＵ−コントローラ対応関係変更制御プログラム１０６は、ＬＵ２６ａのＩ／Ｏ優先度が１６０であることを算出し情報格納する。
【００７０】
（動作２）ステップ６０４及びステップ６０５を処理することで、当該プログラムは記憶装置２９ａのＩ／Ｏ優先度を２１０と算出する（記憶装置２９ｂのＩ／Ｏ優先度は１１０のまま）。そして、記憶装置２９ａに対応していたＬＵのうち、最もＩ／Ｏ優先度が低いＬＵ２９ｂを特定する。
【００７１】
（動作３）ステップ６０６の動作によって、管理サーバ２８はストレージステム２にＬＵ−記憶装置対応変更要求を送信する。なお、ＬＵ−コントローラ対応変更要求はＬＵとストレージコントローラを指定するが、今回はＬＵ２９ｂとストレージコントローラ２２ｂを指定する。当該要求を受信したストレージシステム２は指定されたＬＵ２２ｂのデータを記憶装置２９ａから記憶装置２９ｂへ移動し、ＬＵ−コントローラ−記憶装置対応関係管理情報１０１を変更する。なお、図１１は変更後のＬＵ−コントローラ−記憶装置対応関係管理情報１０１である。
【００７２】
以上示すように、本発明により仮想ディスクのＩ／Ｏ優先度に基づく記憶装置の割当て変更が達成できることが確認された。
次に本発明での管理サーバ２８での管理情報表示について述べる。これまで説明してきたように、本発明では管理サーバが仮想サーバの仮想ディスクデータのＩ／Ｏ優先度（または仮想サーバのＩ／Ｏ優先度）の変更に応じてストレージ装置の設定変更を行う例について説明してきた。しかし、コントローラや記憶装置の性能限界からＩ／Ｏ処理の負荷移動先がない場合や、信頼性やコスト上の問題から一部のＬＵについてＩ／Ｏ処理の負荷移動が出来ない場合がある。また、管理サーバによる変更が妥当であるかどうかを確認したい場合もありえる。
【００７３】
本発明ではこうした場合に対応するために管理サーバにて以下の情報を表示してもよい。
（表示１）現在の仮想ディスクデータ（または仮想サーバ）と当該仮想ディスクデータを格納するＬＵについてのＩ／Ｏ要求を処理するストレージコントローラの識別子。当該情報を表示するために、管理サーバは仮想ディスクデータ管理情報１０７と、ストレージシステム構成情報を参照する。
（表示２）現在の仮想ディスクデータのＩ／Ｏ優先度（または仮想サーバのＩ／Ｏ優先度）と当該仮想ディスクデータを格納するＬＵに対するＩ／Ｏを処理するストレージコントローラのステップ５０３で求めたようなＩ／Ｏ優先度の合計（またはその他ストレージコントローラの処理性能に関連した設定情報や構成情報）。当該情報を表示するために、管理サーバは表示１で参照した情報に加えて仮想サーバ設定情報を参照する。
（表示３）現在の仮想ディスクデータ（または仮想サーバ）と当該仮想ディスクデータを格納するＬＵに対応する記憶装置の識別子。当該情報を表示するために管理サーバが参照する情報は表示１と同じである。
（表示４）現在の仮想ディスクデータのＩ／Ｏ優先度（または仮想サーバのＩ／Ｏ優先度）と当該仮想ディスクデータを格納するＬＵに対するＩ／Ｏを処理するストレージコントローラのステップ５０３で求めたようなＩ／Ｏ優先度の合計。当該情報を表示するために、管理サーバは表示３で参照した情報に加えて仮想サーバ設定情報を参照する。
【００７４】
なお、これまで説明してきた管理サーバ２８のプログラム及び情報はサーバ１ａに存在し、実行を行ってもよい。同様に当該プログラム及び情報はストレージシステム２の制御メモリまたは管理メモリに格納し、ストレージシステムのストレージコントローラ２２が実行してもよい。なお、その場合の表示や入力は管理サーバがイーサーネットポートやシリアルインターフェースを持つ場合と同様の方法で実現する。
【００７５】
また、ストレージシステム２は一つの装置を前提として説明したが、複数のストレージシステム２（互いが接続されている）を有するストレージクラスタについても同様の考えが適用できる。すなわち、仮にストレージシステムＡとストレージシステムＢがストレージクラスタに含まれているとして、ストレージシステムＡが有するストレージコントローラＡと記憶装置ＡとポートＡがストレージコントローラ２２ａと記憶装置２６ａとポート２１ａと考え、ストレージシステムＢのストレージコントローラＢと記憶装置ＢとポートＢがストレージコントローラ２２ｂと記憶装置２６ｂとポート２１ｂと考える。このような状況で仮想ディスクデータのＩ／Ｏ優先度変更に応じて、ＬＵのデータをストレージシステムＡからストレージシステムＢへ移動し、それに伴って、ＬＵに対応するポートとストレージコントローラをポートＢとストレージコントローラＢとすることで、同様のメリットが得られる。
【００７６】
なお、ポートを切り替える場合はサーバ１ａに対して切り替え要求を送信することで、サーバ１ａが送信するＩ／Ｏ要求の送信先をポートＡからポートＢに切り替えることで実現できる。なお、当該切り替えは仮想サーバ管理プログラムが処理することで、仮想サーバに対応するＯＳの設定の変更を行わずに実現してもよい。
【図面の簡単な説明】
【００７７】
【図１】本発明が実施される計算機システム及び記憶装置サブシステムの第一の構成例である。
【図２】仮想ディスク別Ｉ／Ｏ優先度管理情報の構成例である。
【図３】仮想ディスク情報管理情報の構成例である。
【図４】ＬＵ−コントローラ−記憶装置対応関係管理情報の構成例である。
【図５】ＬＵ−コントローラ対応関係変更制御プログラムで実施される処理の例である。
【図６】ＬＵ−記憶装置対応関係変更制御プログラムで実施される処理の例である。
【図７】仮想ディスク別Ｉ／Ｏ優先度管理情報の更新後の構成例である。
【図８】ＬＵ−コントローラ−記憶装置対応関係管理情報の第一の変更後の構成例である。
【図９】容量管理情報の構成例である。
【図１０】ＬＵ−Ｉ／Ｏ優先度対応関係管理情報の構成例である。
【図１１】ＬＵ−コントローラ−記憶装置対応関係管理情報の第二の変更後の構成例である。
【符号の説明】
【００７８】
１・・・サーバ
２・・・記憶装置サブシステム
２８・・・管理サーバ
２９・・・ＬＵ
【図１】
2010108114.tif 000003
【図２】
2010108114.tif 000004
【図３】
2010108114.tif 000005
【図４】
2010108114.tif 000006
【図５】
2010108114.tif 000007
【図６】
2010108114.tif 000008
【図７】
2010108114.tif 000009
【図８】
2010108114.tif 000010
【図９】
2010108114.tif 000011
【図１０】
2010108114.tif 000012
【図１１】
2010108114.tif 000013