JP5182162B2 - 計算機システム及びi/o制御方法 - Google Patents

計算機システム及びi/o制御方法 Download PDF

Info

Publication number
JP5182162B2
JP5182162B2 JP2009056233A JP2009056233A JP5182162B2 JP 5182162 B2 JP5182162 B2 JP 5182162B2 JP 2009056233 A JP2009056233 A JP 2009056233A JP 2009056233 A JP2009056233 A JP 2009056233A JP 5182162 B2 JP5182162 B2 JP 5182162B2
Authority
JP
Japan
Prior art keywords
path
instruction
computer system
priority information
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009056233A
Other languages
English (en)
Other versions
JP2010211458A (ja
Inventor
正憲 蒲倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009056233A priority Critical patent/JP5182162B2/ja
Priority to US12/698,581 priority patent/US20100235549A1/en
Publication of JP2010211458A publication Critical patent/JP2010211458A/ja
Application granted granted Critical
Publication of JP5182162B2 publication Critical patent/JP5182162B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、負荷分散や帯域制御を実現可能な計算機システム及びI/O制御方法に関し、特に、ハイパーバイザー型の仮想計算機システムにおける計算機システム及びI/O制御方法に関する。
仮想計算機システムは、1つのホストOSとハイパーバイザーとを有し、ハイパーバイザーを用いて複数のゲストOSを動作させるコンピュータシステムである。仮想計算機システムは、複数のOSが物理的なプロセッサとメモリを共有して動作させる、計算機システムの一形態として使用されている。
仮想計算機システムの一例が特許文献1に開示されている。特許文献1に開示される仮想計算機システムは、仮想サーバ間のI/Oを共有する際の性能オーバヘッドを押さえながら、仮想サーバの優先度に応じた、I/Oアクセスの調停と帯域制御とを実現するシステムである。
また、本発明に関連する技術として、特許文献2には、更新データのI/O命令に優先順位を付与して、優先度の高いものを早く処理するようにしたリモートファイル制御装置が開示されている。さらに、特許文献3には、入出力装置への複数のアクセス経路に対して優先順位が設定され、優先順位に従ってアクセス経路を設定する入出力処理装置が開示されている。
特開2008−176482号公報 特開2000−089998号公報 特開平03−078856号公報
しかしながら、特許文献1に係る仮想計算機システムでは、以下に示すような問題点があった。
第1の問題点は、特許文献1に係る仮想計算機システムでは、仮想サーバ間の負荷分散について、I/O命令の種類について考慮していない点である。その理由は、特許文献1などに開示される関連する仮想サーバシステムでは、I/O命令の種類を識別する手段を備えていないためである。
第2の問題点は、特許文献1に係る仮想計算機システムでは、サーバ内のI/Oアクセスの調停と帯域制御とを実施しているが、I/Oを発行する経路上において帯域が制限されてしまう点である。その理由は、ホストコンピュータと、I/Oの発行先となるストレージデバイスと、の間の経路について考慮していないためである。
また、特許文献2に係るリモートファイル制御装置では、時間的に制約のあるWRITE IOを優先的に処理させるため、命令毎に優先順位を指定する。ここで、優先順位は、READとWRITE命令内において処理すべきデータのうち、どの部分の処理を優先すべきかを示すものである。即ち、特許文献2に係る優先順位は、各部分の処理の順番を規定するものであり、READとWRITE命令毎に、どの経路を優先的に使用するのかを示すものではない。このため、特許文献2に係る優先順位を用いても、優先度の高い経路を使用して、I/O命令処理の帯域を確保することはできないものである。
さらに、特許文献3に係る入出力処理装置では、アクセス経路に設定される優先順位は、1つの経路にアクセスが固定的に集中しないように、1回のアクセスごとに、どの経路を優先させるのかを定めるものである。即ち、特許文献3に係る優先順位は、上位装置がどの経路を優先的に使用するかを示すためのものであり、上位装置が同一である場合には、アクセスごとに使用する経路は変化しない。このため、上位装置が同一である場合に、優先度の高い経路を使用して、命令処理の帯域を確保することはできないものである。
本発明は、上述した問題を鑑みなされたものであり、その目的は、仮想サーバからのI/O要求を発行する複数の経路に対して、I/O要求の特性に応じた経路の優先度を設定することで、負荷分散や帯域制御を実現可能な計算機システム、I/O制御方法を提供することである。
本発明に係る計算機システムは、複数の仮想サーバが一又は複数のディスクデバイスを共有する計算機システムであって、前記仮想サーバから発行されるI/O命令の種類に応じた優先度を、前記複数の仮想サーバのうちいずれかの仮想サーバから前記ディスクデバイスへと至る複数の経路のそれぞれに対して予め定めた優先度情報と、前記I/O命令が発行された場合に、前記優先度情報に従って前記I/O命令の発行先とする経路を選択し、当該選択した経路に対して前記I/O命令を発行するパス管理手段と、を備えるものである。
本発明に係るI/O制御方法は、複数の仮想サーバが一又は複数のディスクデバイスを共有する計算機システムにおけるI/O制御方法であって、前記仮想サーバから発行されるI/O命令の種類に応じた優先度を、前記複数の仮想サーバのうちいずれかの仮想サーバから前記ディスクデバイスへと至る複数の経路のそれぞれに対して予め定めた優先度情報を用いて、前記I/O命令が発行された場合に、前記優先度情報に従って前記I/O命令の発行先とする経路を選択し、当該選択した経路に対して前記I/O命令を発行するパス管理ステップを有するものである。
本発明によれば、仮想サーバからのI/O要求を発行する複数の経路に対して、I/O要求の特性に応じた経路の優先度を設定することで、負荷分散や帯域制御を実現可能な計算機システム、I/O制御方法を提供することができる。
本発明の実施の形態1に係る計算機システムの構成を示す図である。 本発明の実施の形態1に係る経路情報を示す表である。 本発明の実施の形態1に係る優先度情報を示す表である。 本発明の実施の形態1に係る経路決定方法を説明するためのフローチャートである。 本発明の実施の形態1に係る経路決定方法を説明するためのフローチャートである。 本発明の実施の形態1に係る経路決定方法を説明するためのフローチャートである。 本発明の実施の形態1に係る計算機システムの構成を示す図である。 本発明の実施の形態1に係る経路情報を示す表である。 本発明の実施の形態1に係る優先度情報を示す表である。 本発明の実施の形態2に係る計算機システムの構成を示す図である。
実施の形態1.
以下、図面を参照して本発明の実施の形態1について説明する。
(構成の説明)
まず、図1乃至図3を参照して、本実施の形態1に係る計算機システム1の構成について説明する
図1は、本実施の形態1に係る計算機システム1の一例を示す構成図である。計算機システム1は、プログラム制御に従って動作する1台のホストコンピュータ100と、ストレージデバイス110と、を有している。ホストコンピュータ100とストレージデバイス110とは、任意の本数の経路120(120_1〜120_n)を用いて接続されている。
ホストコンピュータ100は、メモリ101と、プロセッサ102と、任意の個数のポート103(103_1〜103_n)と、を有している。各ポート103に対して、計算機システム1において一意なホスト側ポート識別子302が割り振られている。
ストレージデバイス110は、任意の個数のポート111(111_1〜111_n)と、任意の個数のディスク112(112_1〜112_n)と、を備えている。各ポート111に対して、計算機システム1において一意なストレージ側ポート識別子303が割り振られている。また、各ディスク112に対して、計算機システム1において一意なディスク識別子402が割り振られている。
経路120(120_1〜120_n)は、ホストコンピュータ100の各ポート103と、ストレージデバイス110の各ポート111とを結ぶ論理的な経路を示している。各経路120に対して、計算機システム1において一意なパスID301が割り振られている。また、経路120は、パスID301を用いて一意に識別することも可能であるが、ホスト側ポート識別子302とストレージ側ポート識別子303とを用いることで、一意に識別することもできる。
尚、経路120は、任意の接続方式を用いて実現することができる。例えば、ファイバチャネルプロトコルを用いた接続方式の場合には、任意の本数のファイバチャネルケーブルと、ファイバチャネルスイッチとを用いて、経路120を実現することができる。
メモリ101は、1つのホストOS200と、任意の個数のゲストOS210と、ゲストOS210を生成するハイパーバイザー220と、を有している。計算機システム1では、1つのホストコンピュータ100において、複数の仮想的なサーバを構成する。各仮想サーバ上では、オペレーティングシステム(ホストOS200とゲストOS210)を個別に立ち上げることができる。このため、ホストOS200とゲストOS210は、メモリ101やプロセッサ102を共同して使用する。ハイパーバイザー220は、計算機システム1を実現するための制御プログラムであり、ゲストOS210を制御する。
ホストOS200は、パス管理プログラム201と、経路情報202と、優先度情報203と、を記憶している。即ち、ホストOS200において、パス管理プログラム201が動作している。
ゲストOS210は、任意の個数のアプリケーションプログラム211と、I/O制御プログラム212と、を記憶している。即ち、ゲストOS210において、アプリケーションプログラム211と、I/O制御プログラム212とが動作している。
ホストOS200において動作するパス管理プログラム201は、2つの機能を有している。第1の機能は、ゲストOS210から発行されたI/O要求について、発行先となる経路120を決定する機能である。第2の機能は、発行したI/O要求の処理が完了した場合に、完了したI/O要求を受け取って、処理中のI/Oを管理する機能である。尚、パス管理プログラム201が有する各機能の詳細については後述する。
図2は、ホストOS200に記憶される経路情報202の一例を示す表である。経路情報202は、ホストコンピュータ100とストレージデバイス110との接続状況を示す情報である。経路情報202は、経路120を一意に識別するパスID301と、パスが接続されているホスト側ポート識別子302と、パスが接続されているストレージ側ポート識別子303と、パスで処理中のI/O転送量を示すI/Oサイズ304と、を含むテーブルとして与えられる。
経路情報202は、パス管理プログラム201が管理する。パス管理プログラム201は、経路102が追加された場合には、経路情報202に新たなエントリーを追加する。同様に、パス管理プログラム201は、経路102が削除された場合には、該当する経路情報202のエントリーを削除する。
図3は、ホストOS200に記憶される優先度情報203の一例を示す表である。優先度情報203は、ゲストOS210が、Read/WriteのそれぞれのSCSI命令に対して、どの経路を優先して使用するかを示す情報である。優先度情報203は、I/Oの発行元となるゲストOS210を一意に識別する発行元識別子401と、パスID301と、ディスク識別子402と、アクセス状態403と、Read優先度404と、Write優先度405と、を含むテーブルとして与えられる。
アクセス状態403は、ディスク識別子402に応じて識別されるディスク112に対して、パスID301に応じて識別される経路120を通してのアクセスの可否を示す状態である。ここでは、アクセス可能な状態の場合にアクセス状態403を「正常」とし、障害などに応じてアクセス不能な状態の場合にアクセス状態403を「異常」とする。
Read優先度404とWrite優先度405は、該当する優先度情報203のエントリーにおいて、ディスク識別子402に応じて識別されるディスク112に対して、パスID301に応じて識別される経路120を通してのRead命令とWrite命令によるアクセスの優先度を示す。ここでは、Read優先度404とWrite優先度405は、正の整数値に基づいて予め設定される。優先度の数値が大きいほど経路120の優先度は高いものとし、最大の数値の優先度のエントリーに該当する経路120が使用される。
優先度情報203は、パス管理プログラム201が管理する。パス管理プログラム201は、経路120と、ゲストOS201と、ディスク112と、が追加された場合には、優先度情報203に新たなエントリーを追加する。また、パス管理プログラム201は、経路120と、ゲストOS201と、ディスク112と、のうちいずれかが障害など応じてアクセスできない状態になった場合には、エントリーは削除せずに、優先度情報203のアクセス状態403を「異常」に変更する。そして、パス管理プログラム201は、障害復旧などに応じてアクセスが可能となった時点で、優先度情報203のアクセス状態403を「正常」へと変更する。
ゲストOS210のI/O制御プログラム212は、ゲストOS210から外部へのI/Oを制御するプログラムである。I/O制御プログラム212は、アプリケーションプログラム211からI/O要求を受けた場合には、発行元識別子401をI/O要求に付加して、ハイパーバイザー220へとI/Oを発行する。そして、ハイパーバイザー220へ発行されたI/Oは、ホストOS200のパス管理プログラム201へと転送される。
(動作の説明)
次に、図4乃至図6を参照して、本実施の形態1に係る計算機システム1の動作について説明する。図4乃至図6は、I/O制御プログラム212からI/O要求を受信した場合に、パス管理プログラム201が、受信したI/O要求をストレージデバイス110へ転送する際の動作を説明するためのフローチャート図である。
まず、図4を参照して、パス管理プログラム201が、I/Oの発行先候補となる、アクティブパスグループ500を決定する方法について説明する。パス管理プログラム201は、I/O制御プログラム212からI/O要求を受信した場合に、優先度情報202を参照して、受信したI/O要求について、発行元識別子401と、発行先のディスク識別子402とが一致し、かつ、アクセス状態が「正常」であるエントリーを探す(ステップA1)。
次に、パス管理プログラム201は、受信したI/O要求のSCSI命令を確認する(ステップA2)。確認の結果、SCSI命令がReadである場合には、パス管理プログラム201は、ステップA1で絞り込んだエントリーのうちから、Read優先度404の値が最大であるエントリーを探す。尚、Read優先度404が最大であるエントリーが複数個存在する場合には、それら全てのエントリーが該当するものとする。そして、パス管理プログラム201は、該当するエントリーのパスID301の集合を、アクティブパスグループ500として保持する(ステップA3)。ここで、アクティブパスグループとは、当該ゲストOS210から発行されたディスク112へのI/O命令に対して、優先的に使用する経路の集合を示す。
また、ステップA2での確認の結果、SCSI命令がWrite命令である場合には、パス管理プログラム201は、上述したステップA3と同様の方法に従って、ステップA1で絞り込んだエントリーからWrite優先度405の値が最大であるエントリーを探し、アクティブパスグループ500に登録する(ステップA4)。
また、ステップA2での確認の結果、SCSI命令がRead命令とWrite命令のいずれでもない場合には、パス管理プログラム201は、ステップA3へと進み、SCSI命令がRead命令である場合と同様の処理を実施する。尚、Read命令とWrite命令のいずれの命令でもない場合には、Read命令とWrite命令に比べてデータ転送量が小さくなるため、性能に与える影響は低いものと考える。
次に、図5を参照して、アクティブパスグループ500の決定に続いて、パス管理プログラム201が、登録したアクティブパスグループ500から、発行先の経路120を決定する方法について説明する。
パス管理プログラム201は、登録したアクティブパスグループ500に含まれる、パスID301の個数を確認する(ステップB1)。確認の結果、パスID301の個数が0個の場合には、I/O命令を発行可能な経路が1本も存在していないことを示す。この場合には、パス管理プログラム201は、I/O制御プログラム212に対してI/Oエラーを返却することで、I/Oを発行できない旨を通知する(ステップB2)。
また、ステップB1での確認の結果、パスID301の個数が1個の場合には、パス管理プログラム201は、唯一のパスであるパスID301に該当する経路120を、I/Oの発行先とする(ステップB3)。
また、ステップB1での確認の結果、パスID301の個数が2個以上の場合には、パス管理プログラム201は、経路情報202を参照して、アクティブパスグループ500に含まれるパスID301に一致するエントリーを探す(ステップB4)。次いで、パス管理プログラム201は、ステップB4で絞り込んだ経路情報202のエントリーのうちから、I/Oサイズ304が最小のエントリーを1つ探す。尚、I/Oサイズ304が最小のエントリーが複数個存在する場合には、経路情報202においてより先頭に登録されているエントリーが該当するものとする。そして、パス管理プログラム201は、該当するパスID301に対応する経路120を、I/Oの発行先とする(ステップB5)。
次に、図6を参照して、I/Oの発行先の決定に続いて、パス管理プログラム201が、経路情報202の発行先のパスID301に一致するエントリーについて、I/Oサイズ304を更新する方法について説明する。
パス管理プログラム201は、受信したI/O要求のSCSI命令を確認する(ステップC1)。確認の結果、SCSI命令がRead命令である場合には、パス管理プログラム201は、受信するI/O転送量を、経路情報202のI/Oサイズ304に加算する(ステップC2)。
また、ステップC1での確認の結果、SCSI命令がWrite命令である場合には、パス管理プログラム201は、送信するI/Oの転送量を、経路情報202のI/Oサイズ304に加算する(ステップC3)。
また、ステップC1での確認の結果、SCSI命令がRead命令とWrite命令のいずれの命令でもない場合には、パス管理プログラム201は、経路情報202のI/Oサイズ304は更新しない(ステップC4)。
パス管理プログラム201は、I/Oサイズの更新完了に続いて、決定した経路120に対してI/Oを発行する。そして、発行されたI/Oの処理が完了した時点で、パス管理プログラム201に対して、I/Oの処理が完了したことが通知される。パス管理プログラム201は、I/Oの完了通知を受けた場合に、経路情報202のI/Oサイズ304について、I/O発行先の経路120を識別するパスID301に一致するエントリーのI/Oサイズ304を更新する。具体的には、パス管理プログラム201は、ステップC2又はステップC3において加算した送受信I/Oのサイズを、I/Oサイズ304から減算する。
(具体例)
次に、図7乃至図9を参照して、具体例を用いて、本実施の形態1に係る計算機システム1の動作について説明する。ここでは、計算機システム1が、図7に示すような装置構成である場合を想定する。また、経路情報202aが、図8に示すように設定され、優先度情報203aが、図9に示すように設定されているものとする。ゲストOS210a、210bの発行元識別子401を、それぞれ、S1、S2とする。また、ディスク112a、112bのディスク識別子402を、それぞれ、D1、D2とする。ポート103a、103b、103c、103dのホスト側ポート識別子302を、それぞれI1、I2、I3、I4とする。また、ポート111a、111b、111c、111dのストレージ側ポート識別子303を、それぞれT1、T2、T3、T4とする。
図7乃至図9に示した構成において、ゲストOS201a上のアプリケーションプログラム211aが、ディスク112aに対して64KBのWrite命令を発行した場合に、I/O要求が、ハイパーバイザー220を通してパス管理プログラム201に転送される。
I/O要求を受信したパス管理プログラム201は、優先度情報202aを参照して、I/Oの発行先候補となるエントリーを探す(図4のステップA1)。ここで、図9に示した例では、エントリー410a、410b、410c、410dが、I/Oの発行先候補のエントリーに該当する。
次に、パス管理プログラム201は、受信したI/O要求のSCSI命令の種類を判断する(図4のステップA2)。ここでは、受信したI/O要求はWrite命令であるため、パス管理プログラム201は、ステップA1において該当したエントリーのうち、Write優先度の値が最大のエントリーを探す(図4のステップA4)。探索の結果、図9に示した例では、エントリー410bと410dが該当するため、アクティブパスグループ500に含まれるパスID301はP2とP4になる。
次に、パス管理プログラム201は、アクティブパスグループ500に含まれるパスID301の個数を確認する(図5のステップB1)。ここでは、該当するパスID301の個数は2個であるため、パス管理プログラム201は、経路情報203aのエントリーから、アクティブパスグループ500に含まれるパスID300に一致するエントリーを探す(図5のステップB4)。探索の結果、図8に示した例では、エントリー310bと310dが該当する。
次に、パス管理プログラム201は、ステップB4において該当したエントリーのうち、I/Oサイズ304が最小のエントリーを探す(図5のステップB5)。探索の結果、図8に示した例ではエントリー310bが該当するため、パス管理プログラム201は、パスID302のP2に応じて識別される経路120bを、I/Oの発行先に決定する。
パス管理プログラム201は、決定した経路に対してI/Oを発行する前に、経路情報202aのI/Oサイズ304を更新する。具体的には、まず、パス管理プログラム201は、受信したI/O要求のSCSI命令を確認する(図6のステップC1)。確認の結果、SCSI命令がWrite命令であるため、パス管理プログラム201は、経路情報202aのI/Oサイズ304について、パスID320がP2に該当するエントリー310bのI/Oサイズ304bを更新する。ここでは、Write命令のI/O転送量は64KBであるため、パス管理プログラム201は、I/Oサイズ304bの値を、32KBに64KBを加算した、96KBへと更新する(図6のステップC3)。
パス管理プログラム201は、I/Oサイズ304bの更新を完了した後、決定した経路120bへI/O要求を発行する。そして、発行されたI/O要求が完了した時点で、パス管理プログラム201へとI/O要求が転送される。パス管理プログラム201は、転送されたI/O要求を受信した場合に、ステップC3において更新したI/Oサイズ304bの値を、元の値に戻す。ここでは、パス管理プログラム201は、I/Oサイズ304bの値を、96KBからI/O転送量64KBを減算した、32KBにする。
実施の形態2.
次に、図10を参照して、本発明の実施の形態2について説明する。
図10は、本実施の形態2に係る計算機システム2の一例を示す構成図である。計算機システム2は、プログラム制御に従って動作する1台のホストコンピュータ100と、任意の台数のストレージデバイス110と、を有している。ホストコンピュータ100とストレージデバイス110とは、任意の本数の経路120を用いて接続されている。本実施の形態2に係る計算機システム2は、2つ以上のストレージデバイス110を備える点において、図1に示した計算機システム1と異なる。尚、図10においては、2つのストレージデバイス110aと110bのみを図示しているが、3つ以上のストレージデバイス110を備えるものとしても良い。
ホストコンピュータ100は、メモリ101と、プロセッサ102と、任意の個数のポート103(103_1〜103_n)と、を有している。各ポート103に対して、計算機システム2において一意なホスト側ポート識別子302が割り振られている。
ストレージデバイス110aは、任意の個数のポート111(111_1〜...)と、任意の個数のディスク112(112_1〜112_i)と、を備えている。各ポート111に対して、計算機システム2において一意なストレージ側ポート識別子303が割り振られている。また、各ディスク112に対して、計算機システム2において一意なディスク識別子402が割り振られている。尚、ストレージデバイス110bに関しても同様にして、ストレージ側ポート識別子303とディスク識別子402とが割り振られている。
経路120(120_1〜120_n)は、ホストコンピュータ100の各ポート103と、ストレージデバイス110a、110bの各ポート111とを結ぶ論理的な経路を示している。各経路120に対して、計算機システム1において一意なパスID301が割り振られている。
尚、計算機システム2において、メモリ101に含まれるホストOS200などについては、実施の形態1に係るホストOS200などと同様の構成及び動作であるため、ここでは、その詳細な説明を省略する。
本実施の形態2に係る計算機システム2では、ストレージ側ポート識別子303と、ディスク識別子402とを一意に特定可能とすることで、異なるストレージデバイス110間の、異なるディスク112について、1つの経路情報202と、優先度情報203との間で重複することなくテーブルを作成することができる。このため、実施の形態1において説明した手法と同様にして、パス管理プログラム201に基づいて、I/O命令の発行先を決定することができる。
従って、本実施の形態2に係る計算機システム2は、ディスクデバイス110の個数が、任意の正の整数Nに拡張された場合においても、実施することが可能である。
以上説明したように、本発明によれば、以下に説明する効果を奏する。
まず、第1の効果は、I/O要求の発行先の経路を決定するに際して、読み込み命令と書き込み命令に関して、異なる優先度に応じて経路を決定することができる点である。これにより、例えば、読み込み命令の多い仮想サーバからRead I/O要求を受けた場合には、そのI/O要求に対して広い帯域を割り当てることができる。その理由は、I/O命令の種類を考慮したRead優先度とWrite優先度を用いて、経路を決定するためである。
第2の効果は、仮想サーバごとに、I/Oの発行先となるストレージの経路を指定できる点である。これにより、広い帯域を必要とする仮想サーバが存在した場合には、そのサーバに経路を占有させる、或いは、そのサーバに対して複数の経路を用いてI/O要求を発行することで、より広い帯域を確保することができる。その理由は、I/Oの発行元である、仮想サーバの発行元識別子が優先度情報に含まれており、発行元識別子に応じて分けられた優先度を用いて経路を決定するためである。
第3の効果は、経路上に障害が発生した場合においても可用性を確保することができる点である。これにより、パス障害が発生した場合においても、継続してI/Oを発行することができる。その理由は、I/Oの発行先として複数の経路を備えており、経路情報のアクセス状態に応じてパスの状態を管理して、正常なパスへとI/Oを発行するためである。
尚、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
1、2 計算機システム、
100 ホストコンピュータ、
101 メモリ、
102 プロセッサ、
103(103_1〜103_n) ポート、
110 ストレージデバイス、
111(111_1〜111_n) ポート、
112(112_1〜112_n) ディスク、
120(120_1〜120_n) 経路、
200 ホストOS、
201 パス管理プログラム、
202 経路情報、
203 優先度情報、
210 ゲストOS、
211 アプリケーションプログラム、
212 I/O制御プログラム、
220 ハイパーバイザー

Claims (10)

  1. 複数の仮想サーバが一又は複数のディスクデバイスを共有する計算機システムであって、
    前記仮想サーバから発行されるI/O命令の種類に応じた優先度を、前記複数の仮想サーバのうちいずれかの仮想サーバから前記ディスクデバイスへと至る複数の経路のそれぞれに対して予め定めた優先度情報と、
    前記I/O命令が発行された場合に、前記優先度情報に従って前記I/O命令の発行先とする経路を選択し、当該選択した経路に対して前記I/O命令を発行するパス管理手段と、を備える
    ことを特徴とする計算機システム。
  2. 前記優先度情報には、
    前記複数の経路のそれぞれに対して、前記I/O命令を発行する前記仮想サーバを識別する発行元識別子が定められており、
    前記パス管理手段は、
    前記I/O命令が発行された場合に、前記仮想サーバごとに、前記優先度情報に従って前記I/O命令の発行先とする経路を選択する
    ことを特徴とする請求項1に記載の計算機システム。
  3. 前記優先度情報には、
    前記複数の経路のそれぞれに対して、当該経路を介した前記ディスクデバイスへのアクセスの可否を示すアクセス状態が定められており、
    前記パス管理手段は、
    前記I/O命令が発行された場合に、前記優先度情報に従って、前記I/O命令の発行先として前記複数の経路のうちでアクセスが可能な状態である経路を選択する
    ことを特徴とする請求項1に記載の計算機システム。
  4. 前記パス管理手段は、
    前記アクセスが可能な状態である経路が複数存在する場合には、各経路において処理中のI/O転送量に応じて、前記I/O命令の発行先とする一の経路を選択する
    ことを特徴とする請求項3に記載の計算機システム。
  5. 前記優先度情報には、
    前記複数の経路のそれぞれに対して、前記I/O命令が、Read命令である場合の優先度と、Write命令である場合の優先度とが定められている
    ことを特徴とする請求項1に記載の計算機システム。
  6. 複数の仮想サーバが一又は複数のディスクデバイスを共有する計算機システムにおけるI/O制御方法であって、
    前記仮想サーバから発行されるI/O命令の種類に応じた優先度を、前記複数の仮想サーバのうちいずれかの仮想サーバから前記ディスクデバイスへと至る複数の経路のそれぞれに対して予め定めた優先度情報を用いて、
    前記I/O命令が発行された場合に、前記優先度情報に従って前記I/O命令の発行先とする経路を選択し、当該選択した経路に対して前記I/O命令を発行するパス管理ステップを有する
    ことを特徴とするI/O制御方法。
  7. 前記優先度情報には、
    前記複数の経路のそれぞれに対して、前記I/O命令を発行する前記仮想サーバを識別する発行元識別子が定められており、
    前記パス管理ステップは、
    前記I/O命令が発行された場合に、前記仮想サーバごとに、前記優先度情報に従って前記I/O命令の発行先とする経路を選択する
    ことを特徴とする請求項6に記載のI/O制御方法。
  8. 前記優先度情報には、
    前記複数の経路のそれぞれに対して、当該経路を介した前記ディスクデバイスへのアクセスの可否を示すアクセス状態が定められており、
    前記パス管理ステップは、
    前記I/O命令が発行された場合に、前記優先度情報に従って、前記I/O命令の発行先として前記複数の経路のうちでアクセスが可能な状態である経路を選択する
    ことを特徴とする請求項6に記載のI/O制御方法。
  9. 前記パス管理ステップは、
    前記アクセスが可能な状態である経路が複数存在する場合には、各経路において処理中のI/O転送量に応じて、前記I/O命令の発行先とする一の経路を選択する
    ことを特徴とする請求項8に記載のI/O制御方法。
  10. 前記優先度情報には、
    前記複数の経路のそれぞれに対して、前記I/O命令が、Read命令である場合の優先度と、Write命令である場合の優先度とが定められている
    ことを特徴とする請求項6に記載のI/O制御方法。
JP2009056233A 2009-03-10 2009-03-10 計算機システム及びi/o制御方法 Expired - Fee Related JP5182162B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009056233A JP5182162B2 (ja) 2009-03-10 2009-03-10 計算機システム及びi/o制御方法
US12/698,581 US20100235549A1 (en) 2009-03-10 2010-02-02 Computer and input/output control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009056233A JP5182162B2 (ja) 2009-03-10 2009-03-10 計算機システム及びi/o制御方法

Publications (2)

Publication Number Publication Date
JP2010211458A JP2010211458A (ja) 2010-09-24
JP5182162B2 true JP5182162B2 (ja) 2013-04-10

Family

ID=42731600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009056233A Expired - Fee Related JP5182162B2 (ja) 2009-03-10 2009-03-10 計算機システム及びi/o制御方法

Country Status (2)

Country Link
US (1) US20100235549A1 (ja)
JP (1) JP5182162B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8954808B1 (en) * 2010-11-30 2015-02-10 Symantec Corporation Systems and methods for performing input/output path failovers
JP5733680B2 (ja) * 2011-01-20 2015-06-10 日本電気株式会社 コマンド実行装置、コマンド実行システム、コマンド実行方法およびコマンド実行プログラム
JP2012208896A (ja) * 2011-03-30 2012-10-25 Nec Corp ディスクアレイ装置、接続経路制御方法、及び接続経路制御プログラム
JP5891900B2 (ja) 2012-03-29 2016-03-23 富士通株式会社 アクセス制御方法、サーバ装置およびストレージ装置
CN105138392B (zh) * 2015-08-26 2019-09-24 联想(北京)有限公司 一种带宽控制方法及电子设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4654778A (en) * 1984-06-27 1987-03-31 International Business Machines Corporation Direct parallel path for storage accesses unloading common system path
US6370323B1 (en) * 1997-04-03 2002-04-09 Lsi Logic Corporation Digital video disc decoder including command buffer and command status pointers
JPH11355341A (ja) * 1998-06-04 1999-12-24 Nec Software Ltd 通信経路選択方法及びその装置
US6453392B1 (en) * 1998-11-10 2002-09-17 International Business Machines Corporation Method of and apparatus for sharing dedicated devices between virtual machine guests
US6434637B1 (en) * 1998-12-31 2002-08-13 Emc Corporation Method and apparatus for balancing workloads among paths in a multi-path computer system based on the state of previous I/O operations
JP4708669B2 (ja) * 2002-11-12 2011-06-22 日本電気株式会社 パス冗長化装置及び方法
US7783779B1 (en) * 2003-09-19 2010-08-24 Vmware, Inc Storage multipath management in a virtual computer system
JP4434867B2 (ja) * 2004-07-15 2010-03-17 富士通株式会社 Mplsネットワークシステム及びノード
JP4643198B2 (ja) * 2004-07-28 2011-03-02 株式会社日立製作所 負荷分散コンピュータシステム、経路設定プログラム及びその方法
JP4733399B2 (ja) * 2005-01-28 2011-07-27 株式会社日立製作所 計算機システム、計算機、ストレージ装置及び管理端末
JP2008117253A (ja) * 2006-11-07 2008-05-22 Hitachi Ltd 記憶装置システムと計算機システムおよびその処理方法
US8112566B2 (en) * 2007-06-06 2012-02-07 Intel Corporation Methods and apparatuses for processing I/O requests of data storage devices
US8250256B2 (en) * 2007-07-24 2012-08-21 International Business Machines Corporation Methods, systems and computer products for user-managed multi-path performance in balanced or unbalanced fabric configurations
US8032689B2 (en) * 2007-12-18 2011-10-04 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for data storage device virtualization
JP5147584B2 (ja) * 2008-07-23 2013-02-20 株式会社日立製作所 ストレージサブシステム及びコントローラによるコマンド実行方法

Also Published As

Publication number Publication date
JP2010211458A (ja) 2010-09-24
US20100235549A1 (en) 2010-09-16

Similar Documents

Publication Publication Date Title
JP4775846B2 (ja) 物理リンクの割当てを制御するコンピュータシステム及び方法
US7305533B2 (en) Storage system
US8412863B2 (en) Storage apparatus and virtual port migration method for storage apparatus
JP4611922B2 (ja) 制御プログラム、制御方法および制御装置
US11734137B2 (en) System, and control method and program for input/output requests for storage systems
JP6098721B2 (ja) 情報処理装置、ポート制御プログラムおよびポート制御方法
JP2004302713A (ja) 記憶システム及びその制御方法
US9836322B1 (en) Methods and apparatus for virtualizing switch control plane engine
JP5182162B2 (ja) 計算機システム及びi/o制御方法
US20140282584A1 (en) Allocating Accelerators to Threads in a High Performance Computing System
JP2007065751A (ja) ストレージシステム及び記憶制御方法
US20180336046A1 (en) Information processing system, management device, and method for controlling information processing system
JP2010257274A (ja) 仮想化環境におけるストレージ管理システム及びストレージ管理方法
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
JP6234557B2 (ja) ストレージシステム
US11675545B2 (en) Distributed storage system and storage control method
JP2014010540A (ja) 仮想サーバ環境のデータ移行制御装置、方法、システム
JPWO2006043309A1 (ja) 運用管理プログラム、運用管理方法および運用管理装置
WO2016152129A1 (ja) ストレージ装置、管理装置、ストレージシステム、データ移行方法及びコンピュータ読み取り可能記録媒体
US11755438B2 (en) Automatic failover of a software-defined storage controller to handle input-output operations to and from an assigned namespace on a non-volatile memory device
WO2017188036A1 (ja) アクセス制御装置、アクセス制御システム、アクセス制御方法、及び、アクセス制御プログラムが格納された記録媒体
JP6244496B2 (ja) サーバストレージシステムの管理システム及び管理方法
JP2015176218A (ja) 演算処理装置、演算処理装置の制御方法、及び演算処理装置の制御プログラム
JP7197545B2 (ja) ストレージシステム及びストレージシステムの制御方法
JP2005339079A (ja) データベース管理システムにおける処理代行方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121231

R150 Certificate of patent or registration of utility model

Ref document number: 5182162

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees