WO2012157038A1 - 接続経路管理方法、i/o仮想化装置及び接続経路管理プログラム - Google Patents
接続経路管理方法、i/o仮想化装置及び接続経路管理プログラム Download PDFInfo
- Publication number
- WO2012157038A1 WO2012157038A1 PCT/JP2011/061023 JP2011061023W WO2012157038A1 WO 2012157038 A1 WO2012157038 A1 WO 2012157038A1 JP 2011061023 W JP2011061023 W JP 2011061023W WO 2012157038 A1 WO2012157038 A1 WO 2012157038A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- connection
- connection path
- path
- management
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
Abstract
I/Oデバイスの耐障害性、保守性を向上することを目的とする。 複数の計算機と、計算機及び外部装置を接続するI/O仮想化装置と、I/O仮想化装置を管理する管理計算機と、を備える計算機システムにおける接続経路管理方法であって、前記方法は、制御部が、仮想デバイスの性能情報を含む、第1の計算機から第1の外部装置までを接続する第1の接続経路の生成要求を受信した場合に、第1の仮想デバイスを生成するための第1の設定情報を生成し、I/O仮想化装置に送信するステップと、第1の仮想デバイスに要求される性能を満たす第1のI/Oデバイスを検索するステップと、第1の外部装置に接続可能な第1の外部接続ポートを検索するステップと、第1の接続経路を生成するための第2の設定情報を生成し、I/O仮想化装置に送信するステップと、を含む。
Description
本発明はネットワークを介して通信する計算機システムに関し、特に、I/Oデバイスの仮想化技術に関する。
近年、クラウド環境を用いた計算機システム及びデータセンタでは、I/Oデバイスの耐障害性を向上するため、I/Oデバイスの冗長化、PCIe HotPlug、及びI/Oデバイスの仮想化(MR-IOV)等の技術が用いられているが、サーバ及びハードディスクのように耐障害性の技術は進んでいない。
例えば、I/Oデバイスを冗長化する場合、サーバにペアとなる同一デバイスを搭載しておき、管理者が予め手作業で設定する必要である。また、システム稼動中にI/Oデバイスの交換を行うためにPCIe HotPlugを実行する場合は、OSとハードとの両方で交換のための作業が必要となる。また、当該作業を失敗するとシステム全体を停止させてしまい、重大な障害を発生させる。
特許文献1には、障害が検出された場合に、OSに意識させることなく冗長化されたI/Oデバイスの切り換える方法が記載されている。また、特許文献2には、待機用のI/Oデバイスを準備し、I/Oデバイスに障害が発生した場合に、待機用のI/Oデバイスに切り換える方法が記載されている。
特許文献1及び特許文献2に記載の方法では、対となる同一種類のI/Oデバイスを予め準備し、同一の接続先に接続できるように設定しておく必要がある。本発明では、動的に要求される帯域及び使用用途(QoS)を実現するI/Oデバイスへの切り替えを実現することを目的とする。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数の計算機と、前記計算機及び外部装置を接続するI/O仮想化装置と、前記計算機及び前記I/O仮想化装置を管理する管理計算機と、を備える計算機システムにおける接続経路管理方法であって、前記各計算機は、第1のプロセッサと、前記第1のプロセッサに接続される第1のメモリと、前記I/O仮想化装置と接続するための第1のインタフェースとを有し、前記I/O仮想化装置は、複数のI/Oデバイスと、前記計算機に割り当てる仮想的なI/Oデバイスである仮想デバイスを生成し、前記仮想デバイスと前記I/Oデバイスとの接続関係を管理する入力側接続管理部と、前記外部装置と接続するための外部接続ポートを有し、前記I/Oデバイスと前記外部接続ポートとの接続関係を管理する出力側接続管理部と、を有し、前記管理計算機は、第2のプロセッサと、前記第2のプロセッサに接続される第2のメモリと、前記計算機及び前記I/O仮想化装置と接続するための第2のインタフェースとを有し、前記I/O仮想化装置は、前記外部接続ポートと前記外部装置との接続関係を格納するポート管理情報を保持し、前記第2のメモリは、前記I/Oデバイスの構成情報を格納するI/Oデバイス管理情報、及び前記計算機から前記外部装置までを接続する接続経路の構成情報を格納する経路管理情報を格納し、前記方法は、前記第2のプロセッサが、前記仮想デバイスの性能情報を含む、第1の計算機から第1の外部装置までを接続する第1の接続経路の生成要求を受信した場合に、前記性能情報に基づいて、前記第1の計算機に割り当てる第1の仮想デバイスを生成するための第1の設定情報を生成し、前記第1の設定情報を前記I/O仮想化装置に送信するステップと、前記I/O仮想化装置の前記入力側接続管理部が、前記受信した第1の設定情報に基づいて、前記第1の仮想デバイスを生成するステップと、前記第2のプロセッサが、前記性能情報に基づいて前記I/Oデバイス管理情報を参照して、前記第1の仮想デバイスに要求される性能を満たす第1のI/Oデバイスを検索するステップと、前記第2のプロセッサが、前記I/O仮想化装置から前記ポート管理情報を取得し、前記取得されたポート管理情報を参照して、前記第1の外部装置に接続可能な第1の外部接続ポートを検索するステップと、前記第2のプロセッサが、前記生成された第1の仮想デバイス、前記検索された第1のI/Oデバイス、及び前記検索された第1の外部接続ポートに基づいて、前記第1の接続経路を生成するための第2の設定情報を生成し、前記第2の設定情報を前記I/O仮想化装置に送信するステップと、前記第2のプロセッサが、前記第2の設定情報に基づいて、前記経路管理情報を更新するステップと、前記I/O仮想化装置の前記入力側接続管理部が、前記受信した第2の設定情報に基づいて、前記第1の計算機、前記第1の仮想デバイス及び前記第1のI/Oデバイスを接続する経路を生成し、前記I/O仮想化装置の前記出力側接続管理部が、前記受信した第2の設定情報に基づいて、前記第1のI/Oデバイス、前記第1の外部接続ポート及び前記第1の外部装置を接続する経路を生成することによって、前記第1の接続経路を生成するステップと、を含むことを特徴とする。
本発明の一形態によれば、制御部は、I/O仮想化装置が要求を満たす接続パスを生成するための情報を自動的に生成することができる。したがって、システムの構成の柔軟な変更、システム全体の信頼性、及び保守性を向上させることができる。
図1は、本発明の実施形態における計算機システムの構成例を説明するブロック図である。
計算機システムは、管理サーバ100、ネットワークスイッチ105、サーバ110、I/O仮想化装置115、ストレージシステム120、及びネットワーク装置125から構成される。
管理サーバ100は、I/O仮想化装置115を管理する。なお、管理サーバ100の構成は、図2を用いて後述する。管理サーバ100は、ネットワークスイッチ105を介してサーバ110及びI/O仮想化装置115と接続される。
サーバ110は、所定の業務を実行する。なお、サーバ110の構成は、図3を用いて後述する。サーバ110は、I/O仮想化装置115を介してストレージシステム120及びネットワーク装置125と接続される。なお、サーバ110とI/O仮想化装置115との間は、インフィニバンド等で接続されるが、接続方式に限定されない。
以下、ストレージシステム120及びネットワーク装置125を区別しない場合、外部装置とも記載する。
I/O仮想化装置115は、サーバ110と外部装置(ストレージシステム120及びネットワーク装置125)とを接続する。また、I/O仮想化装置115は、仮想的なI/Oデバイスである仮想デバイス135を各サーバ110に割り当てる。
I/O仮想化装置115は、入力側I/Oマネージャ130、I/Oデバイス140及び出力側I/Oマネージャ150を備える。
I/Oデバイス140は、サーバ110と、外部装置(ストレージシステム120又はネットワーク装置125)とを接続するための物理デバイスである。なお、I/O仮想化装置115は、I/Oデバイス140を装着するためのスロットを複数備える。
I/Oデバイス140は、LAN等に接続するためのネットワークインタフェースカード(NIC)、SAN等に接続するためのホストバスアダプタ(HBA)、及びFCoE(Fiber Channel over Ethernet)プロトコルを備えるCNA(Converged Network Adapter)などが考えられる。本実施形態では、I/Oデバイス140は、各プロトコルに応じたアダプタを備えていればよく、各I/Oデバイス140が備えるアダプタが異なっていてもよい。
入力側I/Oマネージャ130は、サーバ110とI/Oデバイス140とを接続する。出力側I/Oマネージャ150は、I/Oデバイス140と外部装置とを接続する。
入力側I/Oマネージャ130は、仮想デバイス135を生成し、また、サーバ110、仮想デバイス135及びI/Oデバイス140の接続経路を生成する。また、入力側I/Oマネージャ130は、前述した接続経路における障害を監視する。なお、入力側I/Oマネージャ130の構成は、図4を用いて後述する。
以下、サーバ110からI/Oデバイス140までの間の接続経路を入力側の接続パスとも記載する。
出力側I/Oマネージャ150は、I/Oデバイス140と外部装置との接続経路を生成する。また、出力側I/Oマネージャ150は、前述した接続経路における障害を監視する。出力側I/Oマネージャ150は、ストレージシステム120に接続するためのストレージポート155と、ネットワーク装置125に接続するためのネットワークポート160とを備える。
以下、I/Oデバイス140から外部装置までの間の接続経路を出力側の接続パスとも記載する。また、ストレージポート155及びネットワークポート160を区別しない場合、外部接続ポートとも記載する。
ストレージシステム120は、サーバ110が利用するデータを格納する。ストレージシステム120は、複数のディスク装置620(図6参照)を備える。ストレージシステム120は、複数のディスク装置620(図6参照)を用いて、一以上の論理記憶領域(LU)を生成し、当該論理記憶領域(LU)を各サーバ110に割り当てる。なお、ストレージシステム120は、記憶媒体として、HDD(Hard Disk Drive)等のディスク装置以外にSSD(Solid State Drive)等を備えていてもよい。
なお、ストレージシステム120の詳細については、図6を用いて後述する。
ネットワーク装置125は、外部ネットワークと接続するための装置であり、ネットワークスイッチ等が含まれる。
図2は、本発明の実施形態における管理サーバ100の構成例を説明するブロック図である。
管理サーバ100は、プロセッサ200、メモリ205、ディスクインタフェース250、及びネットワークインタフェース255を備える。
プロセッサ200は、メモリ205に格納されるプログラムを実行する。
メモリ205は、プロセッサ200によって実行されるプログラム及び当該プログラムを実行するために必要な情報を格納する。
メモリ201は、装置管理部210、サーバ管理テーブル220、I/Oデバイス管理テーブル225、I/O構成管理テーブル230、仮想デバイス管理テーブル235、用途管理テーブル240及び負荷管理テーブル245を格納する。
装置管理部210は、I/O仮想化装置115を管理する。装置管理部210は、I/O仮想化装置115を制御する制御ユニットから構成される。具体的には、装置管理部210は、I/O仮想化制御部211、I/O構成管理部212、仮想デバイス管理部213、障害管理部214、I/Oデバイス切替部215、I/Oデバイス検査部216、I/Oデバイス割当部217、及びI/O構成生成部218を含む。
I/O仮想化制御部211は、I/O仮想化装置115に関する処理を統括する。
I/O構成管理部212は、サーバ110から外部装置までの接続経路全体を管理する。以下、サーバ110から外部装置までの接続経路を接続パスとも記載する。接続パスは、入力側の接続パスと出力側の接続パスとから構成される。
仮想デバイス管理部213は、仮想デバイス135を生成し、また、サーバ110と仮想デバイス135との接続関係を管理する。
障害管理部214は、接続パスにおける障害を監視する。具体的には、障害管理部214は、入力側I/Oマネージャ130又は出力側I/Oマネージャ150から通知される障害に関する情報に基づいて、発生した障害を特定する。
I/Oデバイス切替部215は、接続パスの切替処理を実行する。
I/Oデバイス検査部216は、I/O仮想化装置115に接続される機器、及びI/Oデバイス140の使用状況等を監視する。
I/O構成生成部218は、管理サーバ100の管理者が入力した条件を満たす接続パスを生成する。
サーバ管理テーブル220は、サーバ110の構成、及びサーバ110の接続先を示す情報を格納する。なお、サーバ管理テーブル220の詳細については、図7を用いて後述する。
I/Oデバイス管理テーブル225は、I/O仮想化装置115が備えるI/Oデバイス140を管理するための情報を格納する。なお、I/Oデバイス管理テーブル225の詳細については、図8を用いて後述する。
I/O構成管理テーブル230は、各サーバ110の接続パスを管理するための情報を格納する。なお、I/O構成管理テーブル230の詳細については、図9を用いて後述する。
仮想デバイス管理テーブル235は、サーバ110と仮想デバイス135との対応関係を管理する情報を格納する。なお、仮想デバイス管理テーブル235の詳細については、図10を用いて後述する。
用途管理テーブル240は、サーバ110の用途、すなわち、サーバ110が実行する業務内容、及びサーバ110に設定されるQoSの情報を格納する。用途管理テーブル240の詳細については、図11を用いて後述する。
負荷管理テーブル245は、I/Oデバイス140の負荷を管理する情報を格納する。負荷管理テーブル245の詳細については、図12を用いて後述する。
ディスクインタフェース250は、ストレージシステム120に接続するためのインタフェースである。
ネットワークインタフェース255は、ネットワーク装置125に接続するためのインタフェースである。
なお、装置管理部210に含まれる各構成は、図2に示す実装に限定されない。例えば、複数の機能を一つにまとめる構成であってもよい。また、図2に示す例では、ディスクインタフェース203とネットワークインタフェース204とは、各々独立して一つずつ備えているが、CNAを備えることによってアダプタを共有してもよく、サーバ110等と通信可能な構成であればよい。
以下、装置管理部210の各構成部を主語に処理を説明するときには、プロセッサ211によって各厚生部が実行されていることを示す。
図3は、本発明の実施形態におけるサーバ110の構成例を説明するブロック図である。
サーバ110は、プロセッサ310、メモリ315、I/Oスイッチインタフェース320及びネットワークインタフェース325を備える。
プロセッサ310は、メモリ315に格納されるプログラムを実行する。
メモリ315は、プロセッサ310によって実行されるプログラム及び当該プログラムを実行するために必要な情報を格納する。なお、メモリ315には、業務を実行するOS及び複数のアプリケーションプログラムが格納される。
I/Oスイッチインタフェース320は、I/O仮想化装置115と接続するためのインタフェースである。
ネットワークインタフェース325は、ネットワークスイッチ105と接続するためのインタフェースである。
図4は、本発明の実施形態における入力側I/Oマネージャ130の構成例を説明するブロック図である。
入力側I/Oマネージャ130は、入力側コントローラ410、ネットワークインタフェース460、及びポート470を備える。
入力側コントローラ410は、入力側I/Oマネージャ130における処理を管理する。入力側コントローラ410は、制御プロセッサ420、メモリ430、クロスバススイッチ440及びポート450を備える。
制御プロセッサ420は、メモリ430に格納されるプログラムを実行する。
メモリ430は、制御プロセッサ420によって実行されるプログラム及び当該プログラムを実行するために必要な情報を格納する。メモリ430は、クロスバススイッチ制御部431、仮想デバイス管理モジュール432、障害検出モジュール433、パス切り替えモジュール434、及びポート管理テーブル435を格納する。また、メモリ430上には、サーバ110に割り当てられる仮想デバイス135が生成される。
クロスバススイッチ制御部431は、クロスバススイッチ440を制御する。具体的には、仮想デバイス135とI/Oデバイス140との接続経路を管理する。
仮想デバイス管理モジュール432は、仮想デバイス135を生成し、また、生成された仮想デバイス135を管理する。また、仮想デバイス管理モジュール432は、仮想デバイス135とI/Oデバイス140との間の入出力を変換する機能を備える。
障害検出モジュール433は、I/Oデバイス140における障害を検出する。障害検出モジュール433は、検出された障害の内容を通知するための情報を管理サーバ100に送信する。
パス切り替えモジュール434は、I/Oデバイス140の障害発生時に、入力側の接続パスの切り替え処理を実行する。
ポート管理テーブル435は、仮想デバイス135とポート450との接続関係を格納する。なお、ポート管理テーブル435の詳細については、図13を用いて後述する。
クロスバススイッチ440は、サーバ110とI/Oデバイス140とを接続する。
ポート450は、I/Oデバイス140と接続するためのポートである。ポートを指定することによって、仮想デバイス135とI/Oデバイス140とを対応づけることができる。
ネットワークインタフェース460は、ネットワークスイッチ105と接続するためのインタフェースである。
ポート470は、サーバ110と接続するためのポートである。
図5は、本発明の実施形態における出力側I/Oマネージャ150の構成例を説明するブロック図である。
出力側I/Oマネージャ150は、出力側コントローラ510、結線切替部550、ネットワークインタフェース560、ストレージポート155及びネットワークポート160を備える。
出力側コントローラ510は、出力側I/Oマネージャ150における処理を管理する。出力側コントローラ510は、制御プロセッサ520、メモリ530を備える。
制御プロセッサ520は、メモリ530に格納されるプログラムを実行する。
メモリ530は、制御プロセッサ520によって実行されるプログラム及び当該プログラムを実行するために必要な情報を格納する。メモリ530は、障害検出モジュール531、結線切替モジュール532及び結線管理テーブル533を格納する。
障害検出モジュール531は、外部装置における障害を検出する。具体的には、障害検出モジュール531は、外部接続ポート(ストレージポート155及びネットワークポート160)のリンクダウンを検出する。障害検出モジュール531は、検出された障害の内容を通知するための情報を管理サーバ100に送信する。
結線切替モジュール532は、I/Oデバイス140と外部装置との接続を制御する。
結線管理テーブル533は、I/Oデバイス140と外部装置との対応関係を管理する情報を格納する。
結線切替部550は、結線切替モジュール532からの指示にしたがって、I/Oデバイス140と外部接続ポートとを接続する。
ネットワークインタフェース560は、ネットワークスイッチ105に接続するためのインタフェースである。
ストレージポート155は、ストレージシステム120が接続されるポートである。ネットワークポート160は、ネットワーク装置125が接続されるポートである。
図6は、本発明の実施形態におけるストレージシステム120の構成例を説明するブロック図である。
ストレージシステム120は、ストレージ制御部610及びディスク装置620を備える。
ストレージ制御部610は、ストレージシステム120を管理する。ストレージ制御部610は、ディスク装置620から複数の論理記憶領域(LU)630を生成し、当該LU630を各サーバ110に割り当てる。
ディスク装置620は、HDD等の記憶媒体である。なお、本発明はHDD等のディスク装置に限定されず、SSD(Solid State Drive)等の記憶媒体を用いてもよい。
図7は、本発明の実施形態におけるサーバ管理テーブル220の一例を示す説明図である。
サーバ管理テーブル220は、サーバ110を管理するための情報を格納する。具体的には、サーバ管理テーブル220は、サーバ識別子701、プロセッサ構成702、メモリ容量703、接続ポート704、割り当てデバイス705、及び割り当てディスク706を含む。
サーバ識別子701は、計算機システムにおいてサーバ110を一意に識別するための識別子を格納する。
プロセッサ構成702は、サーバ識別子701に対応するサーバ110が備えるプロセッサ310の構成情報を格納する。
メモリ容量703は、サーバ識別子701に対応するサーバ110が備えるメモリ315の構成情報を格納する。
接続ポート704は、I/O仮想化装置115における接続先のポートの識別子を格納する。具体的には、ポート470の識別子が格納される。
割り当てデバイス705は、サーバ識別子701に対応するサーバ110に割り当てられる仮想デバイス135の種別を格納する。本実施形態では、割り当てデバイス705に対応する種別の仮想デバイス135がサーバ110に割り当てられる。
割り当てディスク706は、サーバ識別子701に対応するサーバ110に割り当てられる記憶領域の識別子を格納する。具体的には、LU630の識別子が格納される。なお、割り当てデバイス705が「NIC」の場合、割り当てディスク706は空欄となる。
図8は、本発明の実施形態におけるI/Oデバイス管理テーブル225の一例を示す説明図である。
I/Oデバイス管理テーブル225は、I/Oデバイス140の構成情報を格納する。具体的には、I/Oデバイス管理テーブル225は、スロット番号801、割り当て状態802、接続デバイス803、デバイス識別子804、仮想デバイス識別子805、帯域806、及び状態807を含む。
スロット番号801は、I/Oデバイス140が装着されるスロットの識別番号を格納する。
割り当て状態802は、I/Oデバイス140の使用状態を示す情報を格納する。具体的には、「アクティブ」、「スタンバイ」及び「未割当て」のいずれかが格納される。
「アクティブ」は、サーバ110によってI/Oデバイス140が使用されている状態を表す。「スタンバイ」は、一以上のサーバ110からI/Oデバイス140が予約され、かつ、使用されていない状態を表す。割り当て状態802が「スタンバイ」のI/Oデバイス140がサーバ110によって使用されると、割り当て状態802が「アクティブ」に変更される。「未割当て」は、I/Oデバイス140がどのサーバ110からも使用されず、かつ、予約されていない状態を表す。
例えば、実際に使用する運用系の接続パスに含まれるI/Oデバイス140の割り当て状態802は「アクティブ」となり、予備の接続パスである待機系の接続パスに含まれるI/Oデバイス140の割り当て状態802は「スタンバイ」となる。
接続デバイス803は、スロット番号801に対応するI/Oデバイス140の種別を格納する。
デバイス識別子804は、スロット番号801に対応するI/Oデバイス140の識別子を格納する。
仮想デバイス識別子805は、スロット番号801に対応するI/Oデバイス140と対応づけられた仮想デバイス135の識別子を格納する。
帯域806は、スロット番号801に対応するI/Oデバイス140の実帯域を示す値を格納する。なお、I/Oデバイス140の実帯域は、予め設定されてもよいし、計測された値であってもよい。
状態807は、スロット番号801に対応するI/Oデバイス140の状態を示す情報を格納する。具体的には、「正常」、「異常」のいずれかが格納される。
「正常」は、I/Oデバイス140が正常な状態であることを示す。「異常」は、I/Oデバイス140に障害が発生していることを示す。なお、状態807には、障害復旧中、I/Oデバイス140の交換中等を示す情報が格納されてもよい。
図9は、本発明の実施形態におけるI/O構成管理テーブル230の一例を示す説明図である。
I/O構成管理テーブル230は、接続パスの管理情報を格納する。具体的には、I/O構成管理テーブル230は、サーバ識別子901、仮想デバイス識別子902、入力側ポート903、スロット番号904、スロット番号905、出力側ポート906、及び接続先情報907を含む。
サーバ識別子901は、サーバ110の識別子を格納する。サーバ識別子901は、サーバ識別子701と同一のものである。
仮想デバイス識別子902は、仮想デバイス135の識別子を格納する。仮想デバイス識別子902は、仮想デバイス識別子805と同一のものである。
入力側ポート903は、サーバ識別子901に対応するサーバ110と接続するポート470の識別子を格納する。入力側ポート903は、接続ポート704と同一のものである。
スロット番号904は、サーバ識別子901に対応するサーバ110が使用するI/Oデバイス140が装着されたスロットの識別番号を格納する。すなわち、サーバ110によって実際に使用されているI/Oデバイス140の識別子が格納される。
なお、複数のI/Oデバイス140が使用されている場合、スロット番号904には、複数のスロットの識別番号が格納される。
スロット番号905は、サーバ識別子901に対応するサーバ110によって予約されるI/Oデバイス140が装着されたスロットの識別番号を格納する。なお、複数のI/Oデバイス140が予約されている場合、スロット番号904には、複数のスロットの識別番号が格納される。
出力側ポート906は、サーバ識別子901に対応するサーバ110がストレージシステム120と接続するストレージポート155の識別子、又は、ネットワーク装置125と接続するネットワークポート160の識別子を格納する。図9に示す例では、「S0」、「S1」はストレージポート155の識別子を表し、「N1」、「N2」はネットワークポート160の識別子を表す。
接続先情報907は、サーバ識別子901に対応するサーバ110の接続先を示す情報を格納する。接続先がストレージシステム120の場合、LU630の識別子が格納される。接続先がネットワーク装置125の場合、ネットワーク装置125の識別子が格納される。
図10は、本発明の実施形態における仮想デバイス管理テーブル235の一例を示す説明図である。
仮想デバイス管理テーブル235は、各サーバ110に割り当てられる仮想デバイス135の構成情報を格納する。具体的には、仮想デバイス管理テーブル235は、サーバ識別子1001、仮想デバイス1002、用途1003、及び割り当て状態1004を含む。
サーバ識別子1001は、サーバ110の識別子を格納する。サーバ識別子1001は、サーバ識別子701と同一のものである。
仮想デバイス1002は、サーバ識別子1001に対応するサーバ110に割り当てられる仮想デバイス135の構成情報を格納する。具体的には、識別子1005、種類1006、及び帯域1007を含む。
識別子1005は、サーバ識別子1001に対応するサーバ110に割り当てられる仮想デバイス135の識別子を格納する。
種類1006は、識別子1005に対応する仮想デバイス135の種別を格納する。
帯域1007は、識別子1005に対応する仮想デバイス135に要求される帯域を格納する。
用途1003は、サーバ識別子1001に対応するサーバ110の業務内容を特定する情報を格納する。
割り当て状態1004は、サーバ識別子1001に対応するサーバ110に仮想デバイス135が割り当て済みであるか否かを示す情報を格納する。
図11は、本発明の実施形態における用途管理テーブル240の一例を示す説明図である。
用途管理テーブル240は、所定の業務を実行する場合に必要な性能情報を格納する。具体的には、用途管理テーブル240は、用途種別1101、必要帯域1102、帯域消費率1103、帯域消費率1104、及び負荷集中時間1105を含む。
用途種別1101は、サーバ110が実行する業務の種別を格納する。
必要帯域1102は、サーバ110が用途種別1101に対応する業務を実行する場合に、最低限必要となる帯域の値を格納する。
帯域消費率1103は、用途種別1101に対応する業務を実行するサーバ110において許容される帯域消費率の上限値を格納する。帯域消費率1104は、用途種別1101に対応する業務を実行するサーバ110において許容される帯域消費率の下限値を格納する。
なお、本実施形態では帯域の消費率が用いられるが、本発明はこれに限定されない。例えば、帯域の消費値そのものが用いられてもよい。
負荷集中時間1105は、用途種別1101に対応する業務の処理が集中する時間を格納する。
図12は、本発明の実施形態における負荷管理テーブル245の一例を示す説明図である。
負荷管理テーブル245は、I/Oデバイス140の負荷状態を示す情報を格納する。具体的には、負荷管理テーブル245は、スロット番号1201、割り当て状態1202、接続デバイス1203、総転送データ量1204、及び帯域消費率1205を含む。
スロット番号1201は、I/Oデバイス140が装着されるスロットの識別番号を格納する。スロット番号1201は、スロット番号801と同一のものである。
割り当て状態1202は、I/Oデバイス140の割り当て状態を示す情報を格納する。割り当て状態1202は、割り当て状態802と同一のものである。
接続デバイス1203は、スロット番号1201に対応するスロットに装着されたI/Oデバイス140の種別を格納する。接続デバイス1203は、接続デバイス803と同一のものである。
総転送データ量1204は、スロット番号1201に対応するスロットに装着されたI/Oデバイス140を介して転送されたデータの総容量を格納する。
帯域消費率1205は、実際に使用されている帯域の消費率を表す。
図13は、本発明の実施形態におけるポート管理テーブル435の一例を示す説明図である。
ポート管理テーブル435は、入力側I/Oマネージャ130がサーバ110とポート470との接続関係を管理するための情報を格納する。具体的には、ポート管理テーブル435は、入力側ポート1301及び仮想デバイス識別子1302を含む。
入力側ポート1301は、サーバ110と接続するポート470の識別子を格納する。仮想デバイス識別子1302は、サーバ110に割り当てられる仮想デバイス135の識別子を格納する。
図14は、本発明の実施形態における結線管理テーブル533の一例を示す説明図である。
結線管理テーブル533は、出力側I/Oマネージャ150がI/Oデバイス140と外部接続ポート(ストレージポート155及びネットワークポート160)との接続関係を管理するための情報を格納する。具体的には、結線管理テーブル533は、出力側ポート1401、ポート種別1402、スロット番号1403、接続先情報1404、及び状態1405を含む。
出力側ポート1401は、外部接続ポート(ストレージポート155及びネットワークポート160)の識別子を格納する。図9に示す例では、「S0」、「S1」はストレージポート155の識別子を表し、「N1」、「N2」はネットワークポート160の識別子を表す。
ポート種別1402は、出力側ポート1401に対応する外部接続ポートの種別を格納する。ストレージポート155の場合には「HBA」が格納され、ネットワークポート160の場合には「LAN」が格納される。
スロット番号1403は、出力側ポート1401の対応する外部接続ポートと接続するI/Oデバイス140が装着されるスロットの識別番号を格納する。
接続先情報1404は、出力側ポート1401に対応する外部接続ポートを介して接続される外部装置の識別情報を格納する。例えば、LU630の識別子及びネットワーク装置125の識別子が格納される。
状態1405は、出力側ポート1401に対応する外部接続ポートの使用状態を示す情報を格納する。「使用中」は実際に使用されていることを示し、「割り当て中」は予約状態を示し、また「空き」はどのI/Oデバイス140にも接続されていないことを示す。
図15は、本発明の実施形態におけるI/O仮想化装置115の制御処理を説明するフローチャートである。
当該制御処理は、I/O仮想化制御部211によって実行される。なお、制御処理は、周期的に実行されてもよいし、管理者からの指示にしたがって実行されてもよし、また、所定のイベントが発生した場合に実行されてもよい。
I/O仮想化制御部211は、制御情報の入力を受け付ける(ステップS1501)。具体的には、I/O仮想化制御部211が、装置管理部210の各構成、又は、入力側I/Oマネージャ130若しくは出力側I/Oマネージャ150から入力される制御情報を受け付ける。なお、制御情報には、実行する処理を指定する制御種別、及び、処理の実行に必要な情報が含まれる。
I/O仮想化制御部211は、受け付けた制御情報に基づいて制御種別を判定する(ステップS1502)。
制御種別がI/O構成の更新を示す場合、I/O仮想化制御部211は、I/O構成の更新処理を実行する(ステップS1503)。
I/O構成の更新処理は、計算機システムに新たにサーバ110が追加された場合、及び、I/Oデバイス140が追加若しくは変更された場合に実行される。また、I/O構成の更新処理は、周期的に実行されてもよい。I/O構成の更新処理の詳細については、図16を用いて後述する。
制御種別が仮想デバイス135の生成を示す場合、I/O仮想化制御部211は、仮想デバイス135の生成処理を実行する(ステップS1504)。
仮想デバイス135の生成処理は、管理者から仮想デバイス135の生成要求を受信した場合、及び、管理者から接続パスの生成要求を受信した場合に実行される。仮想デバイス135の生成処理の詳細については、図21を用いて後述する。なお、当該制御情報には、仮想デバイス135を生成するための性能情報が含まれる。
性能情報には、仮想デバイス135を割り当てるサーバ110の識別子、仮想デバイス135の種別、仮想デバイス135の識別子、仮想デバイス135の帯域及びサーバ110の業務内容が含まれる。
制御種別が障害を示す場合、I/O仮想化制御部211は、障害処理を実行する(ステップS1505)。
障害処理は、接続パスにおける障害が検出された場合に実行される。なお、当該制御情報には、障害が発生した場所(例えば、I/Oデバイス140が装着されるスロット番号、ポート番号等)、及び発生した障害の内容を示す障害情報が含まれる。障害処理の詳細については、図17A~図17Cを用いて後述する。
制御種別が接続パスの切り替えを示す場合、I/O仮想化制御部211は、接続パスの切替処理を実行する(ステップS1506)。
接続パスの切替処理は、管理者から切替要求を受信した場合に実行される。なお、当該制御情報には、切り替え対象となる接続パスを特定するための情報が含まれる。切り替える接続パスを特定するための情報としては、ポート470の識別子、仮想デバイス135の識別子、及び外部接続ポートの識別子等が考えられる。
I/Oデバイス140の切替処理の詳細については、図18を用いて後述する。
制御種別がI/Oデバイス140の検査を示す場合、I/O仮想化制御部211は、I/Oデバイス140の検査処理を実行する(ステップS1507)。
I/Oデバイス140の検査処理は、周期的に実行されてもよいし、管理者が処理の実行を要求した場合に実行されてもよい。I/Oデバイス140の検査処理の詳細については、図19を用いて後述する。
制御種別が接続パスの生成を示す場合、I/O仮想化制御部211は、接続パスの生成処理を実行する(ステップS1508)。
接続パスの生成処理は、障害が発生した場合、及び、管理者から接続パスの生成要求を受信した場合に実行される。接続パスの生成処理の詳細については、図20を用いて後述する。なお、当該制御情報には、接続パスを生成するために必要な情報である生成情報が含まれる。
生成情報には、サーバ110の識別子、仮想デバイス135の種別、仮想デバイス135に要求される帯域、及び接続先の情報等が含まれる。
なお、I/O仮想化制御部211は、各構成を呼び出した後に処理を終了せず、ステップS1501に戻り、他の制御情報を受け付けてもよい。すなわち、管理者から処理の終了指示が入力されるまで、前述した処理を実行してもよい。
図16は、本発明の実施形態におけるI/O構成の更新処理を説明するフローチャートである。
まず、I/O仮想化制御部211は、I/O構成管理部212を呼び出し、I/O構成の更新処理の実行を命令する。
呼び出されたI/O構成管理部212は、サーバ管理テーブル220を参照し(ステップS1601)、サーバ110の構成が変更されたか否かを判定する(ステップS1602)。
具体的には、I/O構成管理部212は、I/O仮想化装置115に接続されるサーバ110の情報を取得し、サーバ管理テーブル220との差分があるか否かを判定する。例えば、新たにサーバ110がI/O仮想化装置115に接続された場合、サーバ管理テーブル220には対応するエントリが存在しないため、サーバ管理テーブル220に差分があると判定される。サーバ管理テーブル220に差分がある場合には、サーバ110の構成が変更されたと判定される。
サーバ110の構成が変更されていないと判定された場合、I/O構成管理部212は、ステップS1604に進む。
サーバ110の構成が変更されたと判定された場合、I/O構成管理部212は、サーバ管理テーブル220を更新する(ステップS1603)。
具体的には、I/O構成管理部212は、取得されたサーバ110の情報に基づいて、サーバ管理テーブル220を更新する。
次に、I/O構成管理部212は、I/Oデバイス管理テーブル225を参照し(ステップS1604)、I/Oデバイス140の構成が変更されているか否かを判定する(ステップS1605)。
具体的には、I/O構成管理部212は、I/O仮想化装置115からI/Oデバイス140の情報を取得し、I/Oデバイス管理テーブル225との差分があるか否かを判定する。I/Oデバイス管理テーブル225との差分がある場合には、I/Oデバイス140の構成が変更されたと判定される。例えば、新たにI/Oデバイス140が追加された場合、I/Oデバイス管理テーブルには対応するエントリが存在しないため、I/Oデバイス管理テーブル225に差分があると判定される。I/Oデバイス管理テーブル225に差分がある場合には、I/Oデバイス140の構成が変更されたと判定される。
I/Oデバイス140の構成が変更されていないと判定された場合、I/O構成管理部212は、処理を終了する。
I/Oデバイス140の構成が変更されていると判定された場合、I/O構成管理部212は、取得されたI/Oデバイス140の情報に基づいて、I/Oデバイス管理テーブル225を更新する(ステップS1606)。
例えば、新たにI/Oデバイス140が追加された場合、I/O構成管理部212は、I/Oデバイス管理テーブル225に、追加されたI/Oデバイス140が装着されるスロットのエントリを追加する。さらに、I/O構成管理部212は、追加されたエントリの、接続デバイス803、デバイス識別子804、及び帯域806に取得された情報を格納する。また、I/O構成管理部212は、追加されたエントリの割り当て状態802を「未割当て」に設定し、状態807を「正常」に設定する。また、I/O構成管理部212は、仮想デバイス135が生成されている場合には、仮想デバイス識別子805に識別子を格納する。
さらに、I/O構成管理部212は、I/Oデバイス管理テーブル225を参照し、未割当てのI/Oデバイス140が存在するか否かを判定する(ステップS1607)。
具体的には、I/Oデバイス管理テーブル225の割り当て状態802が「未割当て」であるエントリが存在するか否かが判定される。割り当て状態802が「未割当て」であるエントリが存在する場合、未割当てのI/Oデバイス140が存在すると判定される。
未割当てのI/Oデバイス140が存在しないと判定された場合、I/O構成管理部212は、管理者に、未割当てのI/Oデバイス140が存在しない旨のエラーを通知し(ステップS1608)、処理を終了する。
これは、管理者に、冗長化するためのI/Oデバイス140の追加を促すための通知である。
未割当てのI/Oデバイス140が存在すると判定された場合、I/O構成管理部212は、処理を終了する。
なお、ステップS1605、ステップS1607及びステップS1608の処理の終了後、I/O構成管理部212は、検査処理の実行を命令してもよい。具体的には、I/O構成管理部212は、I/Oデバイス検査部216を呼び出すための制御情報を、I/O仮想化制御部211に出力する。I/O仮想化制御部211は、当該制御情報を受け付けると、I/Oデバイス検査部216を呼び出し、検査処理の実行を命令する(図19参照)。
図17A、図17B及び図17Cは、本発明の実施形態における障害処理を説明するフローチャートである。
まず、I/O仮想化制御部211は、障害管理部214を呼び出し、障害処理の実行を命令する。
障害管理部214は、制御情報に含まれる障害情報に基づいて、I/Oデバイス管理テーブル225を更新する(ステップS1701)。
ここで、入力側I/Oマネージャ130は、入力側の接続パスの異常を検出し、管理サーバ100に通知する。出力側I/Oマネージャ150は、出力側の接続パスの異常を検出し、管理サーバ100に通知する。
入力側I/Oマネージャ130から障害発生が通知された場合、障害情報には、サーバ110の識別子、ポート470の識別子、仮想デバイス135の識別子、及びスロットの識別番号が含まれる。なお、障害情報には、発生した障害の内容その他の情報が含まれてもよい。
この場合、I/Oデバイス管理テーブル225のうち、障害情報に含まれるスロットの識別番号に対応するエントリの状態807が「異常」に変更される。
一方、出力側I/Oマネージャ150から障害発生が通知された場合、障害情報には、サーバ110の識別子、外部接続ポートの識別子、仮想デバイス135の識別子、及びスロットの識別番号が含まれる。なお、障害情報には、発生した障害の内容その他の情報が含まれてもよい。
この場合、I/Oデバイス管理テーブル225のうち、障害情報に含まれるスロットの識別番号にエントリの状態807が「異常」に変更される。
次に、障害管理部214は、障害が発生している箇所を特定する(ステップS1702)。判定方法としては、障害情報に含まれるポートの識別子に基づいて判定することが考えられる。なお、当該判定方法は一例であって、これに限定されない。
入力側I/Oマネージャ130から障害発生が通知された場合、障害管理部214は、入力側の接続パスに障害が発生したと判定する。一方、出力側I/Oマネージャ150から障害発生が通知された場合、障害管理部214は、出力側の接続パスに障害が発生したと判定する。
入力側の接続パスに障害が発生したと判定された場合、障害管理部214は、障害情報に基づいて、発生した障害の種類を判定する(ステップS1711)。
具体的には、I/Oデバイス140の障害、接続パスが冗長化されていないために発生した障害、又は、スループットが所定の条件を満たさないために発生した障害のいずれであるかが判定される。以下、I/Oデバイス140の障害をデバイス障害と記載し、接続パスが冗長化されていないために発生した障害を冗長化の障害と記載し、また、スループットが所定の条件を満たさないために発生した障害をスループットの障害とも記載する。
デバイス障害であると判定された場合、障害管理部214は、ステップS1716に進む。デバイス障害の場合、障害管理部214は、待機系の接続パスに切り替えることによって障害に対応する。
冗長化の障害であると判定された場合、障害管理部214は、ステップS1713に進む。冗長化の障害の場合、障害管理部214は、新たに待機系の接続パスを生成することによって障害に対応する。
スループットの障害であると判定された場合、障害管理部214は、スループットの障害の種別を判定する(ステップS1712)。
具体的には、I/Oデバイス140のスループットが帯域消費率1103以上であるために発生した障害であるか、又は、I/Oデバイス140のスループットが帯域消費率1104以下であるために発生した障害であるかが判定される。
以下、I/Oデバイス140のスループットが帯域消費率1103以上であるために発生した障害を第1のスループット障害と記載し、I/Oデバイス140のスループットが帯域消費率1104以下であるために発生した障害を第2のスループット障害とも記載する。
第1のスループット障害の場合、障害管理部214は、新たに接続パスを追加することによって障害に対応する。また、第2のスループット障害の場合、障害管理部214は、接続パスを切り替えることによって障害に対応する。
冗長化の障害、又は、第1のスループット障害であると判定された場合、障害管理部214は、現在使用している接続パスの情報を取得する(ステップS1713)。
ここで、冗長化の障害の場合と、第1のスループット障害とでは取得される情報が異なる。まず、冗長化の障害の場合について説明する。
障害管理部214は、I/O構成管理テーブル230を参照し、障害情報に含まれるスロットの識別番号に一致するエントリを検索する。これによって、障害管理部214は、現在割り当てられている接続パスの構成を取得することができる。
さらに、障害管理部214は、I/Oデバイス管理テーブル225を参照し、障害情報に含まれるスロットの識別番号に一致するエントリを検索する。これによって、障害管理部214は、仮想デバイス135及びI/Oデバイス140の構成情報を取得することができる。
以上が、冗長化の障害の場合に取得される情報である。次に、第1のスループット障害の場合について説明する。
障害管理部214は、用途管理テーブル240を参照し、障害情報に含まれるサーバ110の識別子に対応するエントリを検索する。障害管理部214は、負荷管理テーブル245を参照し、障害情報に含まれるスロットの識別番号に対応するエントリを検索する。また、障害管理部214は、I/Oデバイス管理テーブル225を参照して、障害情報に含まれるスロットの識別番号に対応するエントリを検索する。
障害管理部214は、負荷管理テーブル245から検索されたエントリの帯域消費率1205から、用途管理テーブル240から検索されたエントリの帯域消費率1103を減算して、不足している帯域率を算出する。障害管理部214は、I/Oデバイス管理テーブル225から検索されたエントリの帯域806に、算出された不足帯域率を乗算することによって、不足している帯域を算出する。
障害管理部214は、I/O構成管理テーブル230を参照し、障害情報に含まれるスロットの識別番号と一致するエントリを検索する。これによって、現在割り当てられている接続パスの構成を取得することができる。
以上がステップS1713における処理である。
なお、出力側の接続パスには障害が発生していないため、外部接続ポートは同一のものが用いられる。
障害管理部214は、取得された情報に基づいて、接続パスの生成処理の実行を依頼する(ステップS1714)。
具体的には、障害管理部214は、接続パスの生成処理の実行を示す制御種別を含む制御情報を、I/O仮想化制御部211に出力する。このとき、障害管理部214は、取得された情報を生成情報として制御情報に含める。I/O仮想化制御部211は、当該制御情報を受け付けると、I/O構成生成部218を呼び出し、接続パスの生成処理の実行を命令する(図20参照)。
その後、障害管理部214は、接続パスの生成処理の完了通知を受け取ると、I/Oデバイス管理テーブル225及びI/O構成管理テーブル230を更新し(ステップS1715)、処理を終了する。具体的には、以下のように更新される。
第1のスループット障害に対する接続パスの生成処理の完了通知を受信した場合、以下のように更新される。
障害管理部214は、障害が発生している接続パスにおけるサーバ110に対応するエントリの入力側ポート903から、障害が発生した接続パスにおけるポート470の識別子を削除し、また、当該エントリのスロット番号904から、障害が発生した接続パスにおけるスロットの識別番号を削除する。
また、障害管理部214は、当該エントリの入力側ポート903に生成された接続パスにおけるポート470の識別子を追加し、また、スロット番号904に生成された接続パスにおけるI/Oデバイス140のスロットの識別番号を格納する。
さらに、障害管理部214は、障害が発生した接続パスにおけるスロットの識別番号に対応するエントリの割り当て状態802を「未割当て」に変更する。また、障害管理部214は、生成された接続パスにおけるスロットの識別番号に対応するエントリの割り当て状態802を「アクティブ」に変更する。
冗長化障害に対する接続パスの生成処理の完了通知を受信した場合、以下のように更新される。
障害管理部214は、I/O構成管理テーブル230のうち、追加された接続パスにおけるスロットの識別番号をスロット番号905に追加する。さらに、障害管理部214は、I/Oデバイス管理テーブル225のうち、追加された接続パスにおけるスロットの識別番号に対応するエントリの割り当て状態を「スタンバイ」に変更する。
ステップS1711においてデバイス障害と判定された場合、又は、ステップS1712において第2のスループット障害であると判定された場合、障害管理部214は、接続パスの切替処理の実行を依頼する(ステップS1716)。
具体的には、障害管理部214は、接続パスの切替処理の実行を示す制御種別を含む制御情報を、I/O仮想化制御部211に出力する。このとき、障害管理部214は、待機系の接続パスへの切り替え指示を制御情報に含める。I/O仮想化制御部211は、当該制御情報を受け付けると、I/Oデバイス切替部215を呼び出し、接続パスの切替処理の実行を命令する(図18参照)。
障害管理部214は、接続パスの生成処理、又は、I/Oデバイス140の切替処理の完了通知を受け取ると、I/Oデバイス管理テーブル225及びI/O構成管理テーブル230を更新し(ステップS1715)、処理を終了する。
障害管理部214は、I/O構成管理テーブル230の入力側ポート903に、切り替えられた接続パスにおけるポート470の識別子を上書きし、スロット番号904に切り替えられた接続パスにおけるスロットの識別番号を上書きする。また、障害管理部214は、スロット番号905から、切り替えられた接続パスにおけるスロットの識別番号を削除する。
さらに、障害管理部214は、I/Oデバイス管理テーブル225の切り替え前の接続パスにおけるスロットの識別番号に対応するエントリの割り当て状態802を「未割当て」に変更し、切り替え後の接続パスにおけるスロットの識別番号に対応するエントリの割り当て状態802を「アクティブ」に変更する。
ステップS1702において、出力側の接続パスの障害が発生したと判定された場合、障害管理部214は、接続パスの切替処理の実行を依頼する(ステップS1721)。
具体的には、障害管理部214は、接続パスの切替処理の実行を示す制御種別を含む制御情報を、I/O仮想化制御部211に出力する。このとき、障害管理部214は、待機系の接続パスへの切り替え指示を制御情報に含める。I/O仮想化制御部211は、当該制御情報を受け付けると、I/Oデバイス切替部215を呼び出し、接続パスの切替処理の実行を命令する(図18参照)。
障害管理部214は、切り替えられた接続パスの情報に基づいて、I/Oデバイス管理テーブル225及びI/O構成管理テーブル230を更新し(ステップS1722)、処理を終了する。なお、当該更新処理は、ステップS1715と同一の処理である。
図18は、本発明の実施形態における接続パスの切替処理を説明するフローチャートである。
まず、I/O仮想化制御部211は、I/Oデバイス切替部215を呼び出し、接続パスの切替処理の実行を命令する。
I/Oデバイス切替部215は、制御情報に含まれる情報に基づいて、接続パスの切り替えが可能か否かを判定する(ステップS1801)。
I/Oデバイス切替部215は、切り替え対象接続パスを使用するサーバ110に待機系の接続パスが割り当てられているか否かを判定する。具体的には、I/Oデバイス切替部215は、I/O構成管理テーブル230を参照して、当該サーバ110に対応するエントリのスロット番号905にスロットの識別番号が格納されているか否かを判定する。スロット番号905にスロットの識別番号が格納されていない場合に、接続パスの切り替えが不可能であると判定される。
接続パスの切り替えが不可能であると判定された場合、I/Oデバイス切替部215は、接続パスの切り替えができない旨を管理者に通知し(ステップS1804)、処理を終了する。
接続パスの切り替えが可能であると判定された場合、I/Oデバイス切替部215は、I/O仮想化装置115に、障害が発生した接続パスの切り替え指示を送信する(ステップS1802)。
具体的には、I/Oデバイス切替部215は、待機系の接続パスへの切り替え指示をI/O仮想化装置115に送信する。
I/Oデバイス切替部215は、I/Oデバイス管理テーブル225及びI/O構成管理テーブル230を更新し(ステップS1803)、処理を終了する。具体的には、以下のような処理が実行される。
I/Oデバイス切替部215は、切り替えられた接続パスに対応するエントリの割り当て状態802を「スタンバイ」から「アクティブ」に変更する。また、I/Oデバイス切替部215は、障害が発生した接続パスに対応するエントリの割り当て状態802を「アクティブ」から「スタンバイ」に変更する。
I/Oデバイス切替部215は、切り替え対象のサーバ110に対応するエントリのスロット番号904に、切り替えられた接続パスに対応するスロットの識別番号を上書きする。なお、待機系の接続パスへの切り替え時には、さらに、スロット番号905から当該のスロットの識別番号が削除される。
図19は、本発明の実施形態における検査処理を説明するフローチャートである。
まず、I/O仮想化制御部211は、I/Oデバイス検査部216を呼び出し、検査処理の実行を命令する。
I/Oデバイス検査部216は、入力側I/Oマネージャ130からI/Oデバイス140の状態に関する情報を取得する(ステップS1901)。
入力側I/Oマネージャ130は、各I/Oデバイス140のスループット値、及びスロット番号等の情報をI/Oデバイス検査部216に送信する。また、入力側I/Oマネージャ130は、I/Oデバイス140に障害が発生している旨の情報も送信する。なお、当該情報には、障害が発生しているI/Oデバイス140が装着されるスロットの識別番号が含まれる。
I/Oデバイス検査部216は、各サーバ110について接続パスが冗長化されているか否かを判定する(ステップS1902)。
具体的には、I/Oデバイス検査部216は、I/O構成管理テーブル230を参照して、各エントリについてスロット番号905にスロットの識別番号が格納されているか否かを判定する。スロット番号905にスロットの識別番号が格納されていない場合、接続パスが冗長化されていないと判定される。
接続パスが冗長化されていないと判定された場合、I/Oデバイス検査部216は、障害処理の実行を依頼する(ステップS1904)。
具体的には、I/Oデバイス検査部216は、障害処理の実行を示す制御種別を含む制御情報を、I/O仮想化制御部211に出力する。このとき、I/O仮想化制御部211は、冗長化の障害が発生している旨を制御情報に含める。I/O仮想化制御部211は、当該制御情報を受け付けると、障害管理部214を呼び出し、障害処理の実行を命令する(図17A~図17C参照)。
接続パスが冗長化されていると判定された場合、I/Oデバイス検査部216は、入力側I/Oマネージャ130から送信された情報に基づいて負荷管理テーブル245を参照して、スループット値が所定の範囲外であるI/Oデバイス140が存在するか否かを判定する(ステップS1903)。具体的には、以下のような処理が実行される。
まず、I/Oデバイス検査部216は、I/Oデバイス管理テーブル225を参照し、入力側I/Oマネージャ130から取得された情報に含まれるスロットの識別番号に対応するエントリを検索する。
I/Oデバイス検査部216は、取得されたスループット値を、検索されたエントリの帯域806で除算して帯域消費率を算出する。
I/Oデバイス検査部216は、用途管理テーブル240を参照して、接続パスにおけるサーバ110が実行する業務内容に対応するエントリの帯域消費率1103、1104を取得する。
I/Oデバイス検査部216は、算出された帯域消費率が帯域消費率1103以上、又は、帯域消費率1104以下であるか否かを判定する。
算出された帯域消費率が帯域消費率1103以上、又は、帯域消費率1104以下のいずれかに該当する場合には、スループット値の所定の範囲外であるI/Oデバイス140が存在すると判定される。
スループット値が所定の範囲外であるI/Oデバイス140が存在すると判定された場合、I/Oデバイス検査部216は、障害処理の実行を依頼し(ステップS1904)、ステップS1905に進む。
具体的には、I/Oデバイス検査部216は、障害処理の実行を示す制御種別を含む制御情報を、I/O仮想化制御部211に出力する。このとき、I/O仮想化制御部211は、スループットの障害が発生している旨を制御情報に含める。I/O仮想化制御部211は、当該制御情報を受け付けると、障害管理部214を呼び出し、障害処理の実行を命令する(図17A~図17C参照)。
スループット値が所定の範囲外であるI/Oデバイス140が存在しないと判定された場合、I/Oデバイス検査部216は、入力された情報に基づいて、各テーブルを更新し(ステップS1905)、処理を終了する。
例えば、障害を通知する情報が入力された場合、I/Oデバイス管理テーブル225の対応するエントリの状態807が「異常」に更新される。また、スループット値が入力された場合、負荷管理テーブル245の対応するエントリの帯域消費率1205が更新される。
なお、周期的にI/Oデバイス140のスループット値を取得して、実際のI/Oデバイス140のスループット値をI/Oデバイス管理テーブル225の対応するエントリの帯域806に格納してもよい。
当該処理によって、I/O仮想化制御部211は、I/O仮想化装置115が備えるI/Oデバイス140の帯域を取得することができる。
図20は、本発明の実施形態における接続パスの生成処理を説明するフローチャートである。
まず、I/O仮想化制御部211は、I/O構成生成部218を呼び出し、接続パスの生成処理の実行を命令する。
I/O構成生成部218は、制御情報に含まれる生成情報を取得する(ステップS2001)。
I/O構成生成部218は、仮想デバイス135が生成されているか否かを判定する(ステップS2002)。
具体的には、I/O構成生成部218は、仮想デバイス管理テーブル235を参照して、生成情報に含まれるサーバ110の識別子に対応するエントリの割り当て状態1004が「済」であるか否かを判定する。対応するエントリの割り当て状態1004が「済」である場合、仮想デバイス135が生成されていると判定される。
仮想デバイス135が生成されていると判定された場合、I/O構成生成部218は、仮想デバイスの生成処理の実行を依頼し(ステップS2003)、ステップS2204に進む。
具体的には、I/O構成生成部218は、仮想デバイス135の生成処理の実行を示す制御種別を含む制御情報を、I/O仮想化制御部211に出力する。このとき、I/O仮想化制御部211は、性能情報を制御情報に含める。I/O仮想化制御部211は、当該制御情報を受け付けると、仮想デバイス管理部213を呼び出し、仮想デバイス135の生成処理の実行を命令する(図21参照)。
I/O構成生成部218は、取得された生成情報に基づいて、要求される性能を満たす接続パスを検索する(ステップS2004)。
検索方法は、例えば、以下のような方法が考えられる。
I/O構成生成部218は、仮想デバイス管理テーブル235及びI/Oデバイス管理テーブル225を参照して、仮想デバイス135に設定されている帯域以上の帯域を有するI/Oデバイス140を検索する。
なお、一つのI/Oデバイス140のみで仮想デバイス135に設定されている帯域を実現する必要はなく、複数のI/Oデバイス140を組み合わせてもよい。例えば、仮想デバイス135の帯域が「8GB」である場合、帯域が「4GB」であるI/Oデバイス140を2つ用いてもよい。
なお、当該検索処理では、割り当て状態802が「スタンバイ」又は「未割当て」であるI/Oデバイス140が検索される。このとき、割り当て状態802が「スタンバイ」であるI/Oデバイス140を優先的に検索することによって、リソースの有効活用を実現することができる。
さらに、I/O構成生成部218は、結線管理テーブル533を取得して、要求される接続先と接続可能な外部接続ポートを検索する。このとき、状態1405が「割り当て中」又は「空き」の外部接続ポートが検索される。このとき、状態1405が「割り当て中」である外部接続ポートを優先的に検索することによって、リソースの有効活用を実現することができる。
以上がステップS2004の処理の説明である。
I/O構成生成部218は、要求された性能を満たす接続パスを生成できるか否かを判定する(ステップS2005)。
具体的には、ステップS2004において要求された性能を満たすI/Oデバイス140又は外部接続ポートが存在するか否かが判定される。要求された性能を満たすI/Oデバイス140又は外部接続ポートのいずれかが存在しない場合には、要求された性能を満たす接続パスを生成できないと判定される。
要求された性能を満たすと接続パスを生成できないと判定された場合、I/O構成生成部218は、接続パスが生成できない旨のエラーを通知し(ステップS2008)、処理を終了する。
要求された性能を満たす接続パスを生成できると判定された場合、I/O構成生成部218は、I/O仮想化装置115に接続パスの生成指示を送信する(ステップS2006)。
当該生成指示には、入力側の接続パス及び出力側の接続パスの設定情報が含まれる。入力側の接続パスの設定情報には、サーバ110の識別子、ポート470の識別子、及びスロットの識別番号が含まれる。出力側の接続パスの設定情報には、サーバ110の識別子、スロットの識別番号、外部接続ポートの識別子、及び接続先の情報が含まれる。
生成指示を受信したI/O仮想化装置115は、入力側の接続パスに設定情報を入力側I/Oマネージャ130に出力し、出力側の接続パスの設定情報を出力側I/Oマネージャ150に出力する。
入力側I/Oマネージャ130のクロスバススイッチ制御部431は、入力側の接続パスの設定情報に基づいて、クロスパススイッチ440を制御することによって、ポート407、仮想デバイス135、及びI/Oデバイス140を接続する入力側の接続パスを生成する。
また、出力側I/Oマネージャ150の結線切替部550は、出力側の接続パスの設定情報に基づいて、I/Oデバイス140、外部接続ポート、及び外部装置を接続する出力側の接続パスを生成する。以上の処理によって、要求された接続パスが生成される。
I/O構成生成部218は、I/Oデバイス管理テーブル225及びI/O構成管理テーブル230を更新し(ステップS2007)、処理を終了する。
具体的には、I/O構成生成部218は、生成された接続パスにおけるスロットに対応するエントリの割り当て状態802を「スタンバイ」又は「アクティブ」に変更する。また、I/O構成生成部218は、生成された接続パスが割り当てられるサーバ110に対応するエントリに、生成された接続パスの情報を追加する。
なお、管理者から接続パスの生成が要求される場合には、生成情報には使用する接続パス及び待機系の接続パスの生成に必要な情報が含まれてもよい。この場合、以下のように処理が変更される。
ステップS2004において、I/O構成生成部218は、それぞれの条件を満たす接続パスを検索する。
ステップS2005において、少なくともいずれかの条件を満たす接続パスがない場合には、I/O構成生成部218は、エラーを通知する。一方、それぞれの条件を満たす接続パスがある場合には、I/O構成生成部218は、接続パスの生成指示を送信する。このとき、当該生成指示には、使用する接続パス及び待機系の接続パスの設定情報が含まれる。
なお、ステップS2007の処理の実行後に、待機系の接続パスの生成処理が実行されてもよい。例えば、I/O構成生成部218は、ステップS2007の処理の後に待機系の接続パスが生成されているか否かを判定する。待機系の接続パスが生成されていない場合には、I/O構成生成部218は、ステップS2002に戻り同様の処理を実行すればよい。
なお、待機系の接続パスにおける仮想デバイス135は、使用する接続パスにおける仮想デバイス135と同一の帯域となる。ただし、それぞれの仮想デバイス135に対応づけられるI/Oデバイス140は異なっていてもよい。
図21は、本発明の実施形態における仮想デバイス135の生成処理を説明するフローチャートである。
まず、I/O仮想化制御部211は、仮想デバイス管理部213を呼び出し、仮想デバイス135の生成処理の実行を命令する。
呼び出された仮想デバイス管理部213は、性能情報に基づいて、仮想デバイス管理テーブル235にエントリを追加する(ステップS2101)。
具体的には、仮想デバイス管理部213は、仮想デバイス管理テーブル235に新たにエントリを追加する。さらに、仮想デバイス管理部213は、追加されたエントリのサーバ識別子1001、仮想デバイス1002、及び用途1003に必要な情報を格納する。このとき、仮想デバイス135は生成されていないため、割り当て状態1004には未割当てを示す情報が格納される。
仮想デバイス管理部213は、性能情報に基づいて、仮想デバイス135を生成できるか否かを判定する(ステップS2102)。例えば、以下のような処理が考えられる。
仮想デバイス管理部213は、I/Oデバイス管理テーブル225を参照して、割り当て状態802が「スタンバイ」又は「未割当て」であるエントリが存在するか否かを判定する。割り当て状態802が「スタンバイ」又は「未割当て」であるエントリが存在しない場合には、仮想デバイス135を生成できないと判定される。
割り当て状態802が「スタンバイ」又は「未割当て」であるエントリが存在する場合、仮想デバイス管理部213は、I/Oデバイス管理テーブル225を参照して、仮想デバイス135に要求される帯域を確保可能なI/Oデバイス140が存在するか否かを判定する。仮想デバイス135に要求される帯域を確保可能なI/Oデバイス140が存在しない場合には、仮想デバイス135を生成できないと判定される。
仮想デバイス135が生成できないと判定された場合、仮想デバイス管理部213は、仮想デバイス135を生成できない旨のエラーを通知し(ステップS2105)、処理を終了する。
仮想デバイス135が生成できると判定された場合、仮想デバイス管理部213は、I/O仮想化装置115に、仮想デバイス135の生成指示を送信する(ステップS2103)。
生成指示を受信したI/O仮想化装置115は、入力側I/Oマネージャ130に当該生成指示を入力する。当該生成指示には、サーバ110の識別子、仮想デバイス135の識別子、及び仮想デバイス135の帯域が含まれる。
入力側I/Oマネージャ130は、生成指示に含まれる情報に基づいて仮想デバイス135を生成する。なお、仮想デバイス135の生成方法については、公知の技術を用いればよいため説明を省略する。
仮想デバイス管理部213は、仮想デバイス管理テーブル235を更新し(ステップS2104)、処理を終了する。
具体的には、仮想デバイス管理部213は、追加されたエントリの割り当て状態1004を「済」に変更する。
図22は、本発明の実施形態における入力側I/Oマネージャ130が実行する処理を説明するフローチャートである。
入力側I/Oマネージャ130のクロスバススイッチ制御部431は、管理サーバ100から切り替え指示を受信する(ステップS2201)。
クロスバススイッチ制御部431は、受信した切り替え指示に基づいて、クロスバススイッチ440を操作して、仮想デバイス135とI/Oデバイス140との接続を切り替える(ステップS2202)。具体的には、仮想デバイス135とポート450との接続関係が変更される。
クロスバススイッチ制御部431は、処理の結果をポート管理テーブル435に反映し(ステップS2203)、処理を終了する。
具体的には、入力側ポート1301と仮想デバイス識別子1302との対応関係が更新される。
図23は、本発明の実施形態における出力側I/Oマネージャ150が実行する処理を説明するフローチャートである。
出力側I/Oマネージャ150の結線切替部550は、管理サーバ100から切り替え指示を受信する(ステップS2301)。
結線切替部550は、受信した切り替え指示に基づいて、I/Oデバイス140と外部接続ポートとの接続を切り替える(ステップS2302)。
結線切替部550は、処理の結果を結線管理テーブル533に反映し(ステップS2303)、処理を終了する。
具体的には、出力側ポート1401とスロット番号1403との対応関係が更新される。
以下、本発明の適用例について説明する。
図24は、本発明の実施形態における接続パスの構成例を示すブロック図である。
図24に示す例では、サーバ1の接続パスは、仮想デバイス1及びLU0を接続する。サーバ3の接続パスは、仮想デバイス1及びネットワークスイッチ2401を接続する。
サーバ1には、帯域が8GB、種別がHBAである仮想デバイス1が割り当てられる。また、帯域が4GBのHBAから2つを用いて、仮想デバイス1に要求される帯域が確保されている。
サーバ3には、帯域が10GB、種別がLANである仮想デバイス2及び仮想デバイス3が割り当てられる。また、仮想デバイス2には帯域が10GBであるNICが対応づけられ、仮想デバイス3には帯域10GBであるNICが対応づけられている。また、サーバ3の接続パスは、冗長化された接続パスとなっている。
図25は、本発明の実施形態における障害が発生したときの切り替え処理の一例を示すブロック図である。
サーバ2の使用中の接続パスにおいて、I/Oデバイス140の障害が検出された場合、点線で示す接続パスから実線で示す待機系の接続パスに切り替えられる。このとき、サーバ2からは接続パスの切り替えは認識されない。また、切り替えられたI/Oデバイス140は、同一種類のものである必要は無く、同一の接続先と通信できるものであればよい。
サーバ3の使用中の接続パスにおいて、リンクダウンの障害が検出された場合、点線でします接続パスから、実線で示す待機系の接続パスに切り替えられる。このとき、サーバ3からは接続パスの切り替えは認識されない。
図26は、本発明の実施形態における負荷増大時の処理の一例を示すブロック図である。
サーバ3に割り当てられた2つの接続パスの負荷が増大した場合、新たに接続パスが生成され、サーバ3に新たに割り当てられる。これによって、サーバ3に割り当てられた接続パスの負荷を平準化することが可能となる。
本実施形態では、管理サーバ100が、装置管理部210及び各テーブルを備えていたが、本発明はこれに限定されない。I/O仮想化装置115の入力側I/Oマネージャ130又は出力側I/Oマネージャ150が装置管理部210及び各テーブルを備えていてもよい。また、装置管理部210が備える機能を実現するためのハードウェアをI/O仮想化装置115が備える構成でもよい。
[変形例]
デバイス障害、第2のスループット障害及び出力側の接続パスの障害が発生した場合には、待機系の接続パスへの切替処理が実行されていた。しかし、待機系の接続パスが生成されていない場合も考えられる。
変形例では、待機系の接続パスが生成されていない場合の処理について説明する。なお、計算機システム、管理サーバ100、I/O仮想化装置115及びストレージシステム120の構成は同一であるため説明を省略する。以下、障害処理、接続パスの切替処理の変更点を中心に説明する。
図27A及び図27Bは、本発明の実施形態における障害処理の変形例を説明するフローチャートである。
ステップS1701及びステップS1702の処理は同一であるため省略している。
また、ステップS1711~ステップS1715の処理は同一であるため説明を省略する。
ステップS1711においてデバイス障害と判定された場合、又は、ステップS1712において第2のスループット障害であると判定された場合、現在使用している接続パスの情報を取得する(ステップS2701)。具体的には、以下のような処理が実行される。
障害管理部214は、仮想デバイス管理テーブル235を参照し、障害情報に含まれるサーバの識別子に一致するエントリを検索する。これによって、仮想デバイス135の構成を取得することができる。
また、障害管理部214は、I/O構成管理テーブル230を参照し、サーバの識別子と一致するエントリを検索する。これによって、現在割り当てられている接続パスの構成を取得することができる。
次に、障害管理部214は、I/O仮想化装置115から結線管理テーブル533を取得する(ステップS2702)。
障害管理部214は、接続パス及び仮想デバイス135の構成情報、並びに結線管理テーブル533に基づいて、切り替え候補の接続パスを検索する(ステップS2703)。具体的には、以下のような処理が実行される。
障害管理部214は、結線管理テーブル533を参照して、障害が発生した接続パスにおける外部接続ポートの接続先と同一、かつ、状態1405が「空き」であるエントリを検索する。
障害管理部214は、I/Oデバイス管理テーブル225を参照して、割り当て状態802が「スタンバイ」又は「未割当て」であるエントリを検索する。さらに、障害管理部214は、I/Oデバイス管理テーブル225を参照して、当該エントリの帯域806を参照して、仮想デバイス135に要求される帯域を確保可能なI/Oデバイス140を検索する。
障害管理部214は、接続パスの切替処理の実行を依頼する(ステップS2704)。
具体的には、障害管理部214は、接続パスの生成処理の実行を示す制御種別を含む制御情報を、I/O仮想化制御部211に出力する。このとき、障害管理部214は、ステップS2703における検索結果を制御情報に含まれる。I/O仮想化制御部211は、当該制御情報を受け付けると、I/Oデバイス切替部215を呼び出し、I/Oデバイス140の切替処理の実行を命令する。
ステップS1702において、出力側の接続パスの障害が発生したと判定された場合、障害管理部214は、接続パスの情報を取得し(ステップS2711)、また、I/O仮想化装置115から結線管理テーブル533を取得する(ステップS2712)。当該処理は、ステップS2701及びステップS2702と同一の処理である。
障害管理部214は、接続パス及び仮想デバイス135の構成情報、並びに結線管理テーブル533に基づいて、切り替え候補の接続パスを検索する(ステップS2713)。当該処理は、ステップS2703と同一の処理である。
障害管理部214は、接続パスの切替処理の実行を依頼する(ステップS2714)。当該処理はステップS2704と同一の処理である。
図28は、本発明の実施形態における接続パスの切替処理の変形例を説明するフローチャートである。
まず、I/O仮想化制御部211は、I/Oデバイス切替部215を呼び出し、接続パスの切替処理の実行を命令する。
I/Oデバイス切替部215は、制御情報に含まれる情報に基づいて、接続パスの切り替えが可能か否かを判定する(ステップS1801)。
変形例では、制御情報にステップS2703の検索結果が含まれているか否かを判定する。制御情報にステップS2703の検索結果が含まれていない場合に、接続パスの切り替えが不可能であると判定される。
I/Oデバイス切替部215は、接続パスの切り替えができない旨を管理者に通知し(ステップS1804)、処理を終了する。
接続パスの切り替えが可能であると判定された場合、I/Oデバイス切替部215は、接続パスの生成処理の実行を依頼する(ステップS2801)。
具体的には、I/Oデバイス切替部215は、接続パスの生成処理の実行を示す制御種別を含む制御情報をI/O仮想化制御部211に出力する。当該制御情報には、ステップS2703の検索結果が生成情報として含まれる。
I/O仮想化制御部211は、当該制御情報を受け付けると、I/O構成生成部218を呼び出し、接続パスの生成処理の実行を命令する。なお、接続パスの生成処理は、同一の処理であるため説明を省略する。
I/Oデバイス切替部215は、接続パスの生成処理の完了通知を受けつけた後、障害が発生した接続パスの切り替え指示を送信する(ステップS1802)。
具体的には、I/Oデバイス切替部215は、生成された接続パスへの切り替え指示をI/O仮想化装置115に送信する。
本発明の一形態によれば、サーバ110、仮想デバイス135及び接続先を指定することによって、入力側の接続パス及び出力側の接続パスを自動的に生成することができる。また、障害発生時には、要求される性能を満たす接続パスに自動的に切り替えることが可能となる。すなわち、予めI/Oデバイスの設定を必要としない。また、接続パスの切り替えは、I/Oデバイスの種類に限定されない。
したがって、計算機システムの構成の柔軟な変更が可能となり、システム全体の信頼性、及び保守性を向上させることが可能となる。
以上、本発明の実施形態について説明したが、これらは本発明を説明するための例示であり、本発明の適応範囲を例示した形態のみに限定するものではない。また、前述した実施形態のいかなる組み合わせも本発明の実施形態となりうる。
Claims (15)
- 複数の計算機と、前記計算機及び外部装置を接続するI/O仮想化装置と、前記計算機及び前記I/O仮想化装置を管理する管理計算機と、を備える計算機システムにおける接続経路管理方法であって、
前記各計算機は、第1のプロセッサと、前記第1のプロセッサに接続される第1のメモリと、前記I/O仮想化装置と接続するための第1のインタフェースとを有し、
前記I/O仮想化装置は、複数のI/Oデバイスと、前記計算機に割り当てる仮想的なI/Oデバイスである仮想デバイスを生成し、前記仮想デバイスと前記I/Oデバイスとの接続関係を管理する入力側接続管理部と、前記外部装置と接続するための外部接続ポートを有し、前記I/Oデバイスと前記外部接続ポートとの接続関係を管理する出力側接続管理部と、を有し、
前記管理計算機は、第2のプロセッサと、前記第2のプロセッサに接続される第2のメモリと、前記計算機及び前記I/O仮想化装置と接続するための第2のインタフェースとを有し、
前記I/O仮想化装置は、前記外部接続ポートと前記外部装置との接続関係を格納するポート管理情報を保持し、
前記第2のメモリは、前記I/Oデバイスの構成情報を格納するI/Oデバイス管理情報、及び前記計算機から前記外部装置までを接続する接続経路の構成情報を格納する経路管理情報を格納し、
前記方法は、
前記第2のプロセッサが、前記仮想デバイスの性能情報を含む、第1の計算機から第1の外部装置までを接続する第1の接続経路の生成要求を受信した場合に、前記性能情報に基づいて、前記第1の計算機に割り当てる第1の仮想デバイスを生成するための第1の設定情報を生成し、前記第1の設定情報を前記I/O仮想化装置に送信するステップと、
前記I/O仮想化装置の前記入力側接続管理部が、前記受信した第1の設定情報に基づいて、前記第1の仮想デバイスを生成するステップと、
前記第2のプロセッサが、前記性能情報に基づいて前記I/Oデバイス管理情報を参照して、前記第1の仮想デバイスに要求される性能を満たす第1のI/Oデバイスを検索するステップと、
前記第2のプロセッサが、前記I/O仮想化装置から前記ポート管理情報を取得し、前記取得されたポート管理情報を参照して、前記第1の外部装置に接続可能な第1の外部接続ポートを検索するステップと、
前記第2のプロセッサが、前記生成された第1の仮想デバイス、前記検索された第1のI/Oデバイス、及び前記検索された第1の外部接続ポートに基づいて、前記第1の接続経路を生成するための第2の設定情報を生成し、前記第2の設定情報を前記I/O仮想化装置に送信するステップと、
前記第2のプロセッサが、前記第2の設定情報に基づいて、前記経路管理情報を更新するステップと、
前記I/O仮想化装置の前記入力側接続管理部が、前記受信した第2の設定情報に基づいて、前記第1の計算機、前記第1の仮想デバイス及び前記第1のI/Oデバイスを接続する経路を生成し、前記I/O仮想化装置の前記出力側接続管理部が、前記受信した第2の設定情報に基づいて、前記第1のI/Oデバイス、前記第1の外部接続ポート及び前記第1の外部装置を接続する経路を生成することによって、前記第1の接続経路を生成するステップと、
を含むことを特徴とする接続経路管理方法。 - 前記方法は、さらに、
前記第2のプロセッサが、前記第1の接続経路の予備の前記接続経路である待機系の接続経路が生成されたか否かを判定するステップと、
前記第2のプロセッサが、前記待機系の接続経路が生成されていないと判定された場合に、前記経路管理情報を参照して、前記第1の接続経路の構成情報を取得するステップと、
前記第2のプロセッサが、前記取得された第1の接続経路の構成情報に基づいて、前記第1の仮想デバイスと同一の性能を有する第2の仮想デバイスから構成される前記待機系の接続経路を生成するための第3の設定情報を生成し、前記第3の設定情報を前記I/O仮想化装置に送信するステップと、
前記I/O仮想化装置が、前記第3の設定情報に基づいて、前記待機系の接続経路を生成するステップと、
を含むことを特徴とする請求項1に記載の接続経路管理方法。 - 前記第3の設定情報を生成する場合に、前記第2のプロセッサが、前記第2の仮想デバイスに要求される性能を満たし、かつ、他の前記待機系の接続経路に割り当て済みである第2のI/Oデバイスを検索するステップと、
前記第2のプロセッサが、前記I/O仮想化装置から前記ポート管理情報を取得し、前記取得されたポート管理情報を参照して、前記第1の外部装置に接続可能な第2の外部接続ポートを検索するステップと、
前記第2のプロセッサが、前記生成された第2の仮想デバイス、前記検索された第2のI/Oデバイス、及び前記検索された第2の外部接続ポートの情報に基づいて、前記第3の設定情報を生成するステップと、
を含むことを特徴とする請求項2に記載の接続経路管理方法。 - 前記方法は、さらに、
前記第2のプロセッサが、前記I/O仮想化装置から前記第1の接続経路の状態を示す状態情報を取得するステップと、
前記第2のプロセッサが、前記状態情報に基づいて、前記第1の接続経路を構成する前記第1のI/Oデバイスに障害が発生しているか否かを判定するステップと、
前記第1のI/Oデバイスに障害が発生していると判定された場合に、前記第2のプロセッサが、前記待機系の接続経路への切り替え指示を前記I/O仮想化装置に送信するステップと、
前記I/O仮想化装置が、前記切り替え指示に基づいて、前記第1の接続経路から前記待機系の接続経路に切り替えるステップと、
を含むことを特徴とする請求項2に記載の接続経路管理方法。 - 前記方法は、さらに、
前記第2のプロセッサが、前記I/O仮想化装置から前記第1の接続経路の状態を示す状態情報を取得するステップと、
前記第2のプロセッサが、前記状態情報に基づいて、前記第1の接続経路の帯域が第1の閾値以上であるか否かを判定するステップと、
前記第2のプロセッサが、前記第1の接続経路の帯域が前記第1の閾値以上である場合に、前記経路管理情報を参照して、前記第1の接続経路の構成情報を取得するステップと、
前記第2のプロセッサが、前記取得された第1の接続経路の構成情報に基づいて、前記第1の仮想デバイスと同一の性能を有する第3の仮想デバイスから構成される第2の接続経路を生成するための第4の設定情報を生成し、前記第4の設定情報を前記I/O仮想化装置に送信するステップと、
前記I/O仮想化装置が、前記受信した第4の設定情報に基づいて、前記第2の接続経路を生成するステップと、
を含むことを特徴とする請求項2に記載の接続経路管理方法。 - 前記方法は、さらに、
前記第2のプロセッサが、前記I/O仮想化装置から前記第1の接続経路の状態を示す状態情報を取得するステップと、
前記第2のプロセッサが、前記状態情報に基づいて、前記第1の接続経路の帯域が第2の閾値以下であるか否かを判定するステップと、
前記第2のプロセッサが、前記第1の接続経路の帯域が第2の閾値以下である場合に、前記待機系の接続経路への切り替え指示を前記I/O仮想化装置に送信するステップと、
前記I/O仮想化装置が、前記切り替え指示に基づいて、前記第1の接続経路から前記待機系の接続経路に切り替えるステップと、
を含むことを特徴とする請求項2に記載の接続経路管理方法。 - 前記方法は、さらに、
前記第2のプロセッサが、I/O仮想化装置から前記I/Oデバイスの性能情報を取得するステップと、
前記第2のプロセッサが、前記取得されたI/Oデバイスの性能情報に基づいて、前記I/Oデバイス管理情報を更新するステップと、
を含むことを特徴とする請求項1に記載の接続経路管理方法。 - 複数の計算機と外部装置とを接続する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の仮想デバイスを生成し、
前記制御部は、
前記性能情報に基づいて前記I/Oデバイス管理情報を参照して、前記第1の仮想デバイスに要求される性能を満たす第1のI/Oデバイスを検索し、
前記出力側接続管理部から前記ポート管理情報を取得し、前記取得されたポート管理情報を参照して、前記第1の外部装置に接続可能な第1の外部接続ポートを検索し、
前記生成された第1の仮想デバイス、前記検索された第1のI/Oデバイス、及び前記検索された第1の外部接続ポートに基づいて、前記第1の接続経路を生成するための第2の設定情報を生成し、
前記第2の設定情報を、前記入力側接続管理部及び前記出力側接続管理部に出力し、
前記第2の設定情報に基づいて、前記経路管理情報を更新し、
前記入力側接続管理部は、前記受信した第2の設定情報に基づいて、前記第1の計算機、前記第1の仮想デバイス及び前記第1のI/Oデバイスを接続する経路を生成し、
前記出力側接続管理部は、前記受信した第2の設定情報に基づいて、前記第1のI/Oデバイス、前記第1の外部接続ポート及び前記第1の外部装置を接続する経路を生成することを特徴とするI/O仮想化装置。 - 前記制御部は、
前記第1の接続経路の予備の前記接続経路である待機系の接続経路が生成されたか否かを判定し、
前記待機系の接続経路が生成されていないと判定された場合に、前記経路管理情報を参照して、前記第1の接続経路の構成情報を取得し、
前記取得された第1の接続経路の構成情報に基づいて、前記第1の仮想デバイスと同一の性能を有する第2の仮想デバイスから構成される前記待機系の接続経路を生成するための第3の設定情報を生成し、
前記第3の設定情報を前記入力側接続管理部及び前記出力側接続管理部に出力することを特徴とする請求項8に記載のI/O仮想化装置。 - 前記制御部は、
前記第3の設定情報を生成する場合に、前記第2の仮想デバイスに要求される性能を満たし、かつ、他の前記待機系の接続経路に割り当て済みである第2のI/Oデバイスを検索し、
前記出力側接続管理部から前記ポート管理情報を取得し、前記取得されたポート管理情報を参照して、前記第1の外部装置に接続可能な第2の外部接続ポートを検索し、
前記生成された第2の仮想デバイス、前記検索された第2のI/Oデバイス、及び前記検索された第2の外部接続ポートの情報に基づいて、前記第3の設定情報を生成し、
前記入力側接続管理部は、
前記受信した第3の設定情報に基づいて、前記第2の仮想デバイスを生成し、
前記受信した第3の設定情報に基づいて、前記第1の計算機、前記第2の仮想デバイス及び前記第2のI/Oデバイスを接続する経路を生成し、
前記出力側接続管理部は、前記受信した第3の設定情報に基づいて、前記第2のI/Oデバイス、前記第2の外部接続ポート及び前記第1の外部装置を接続する経路を生成することを特徴とする請求項9に記載のI/O仮想化装置。 - 前記制御部は、
前記第1の接続経路の状態を示す状態情報を取得し、
前記状態情報に基づいて、前記第1の接続経路を構成する前記第1のI/Oデバイスに障害が発生しているか否かを判定し、
前記第1のI/Oデバイスに障害が発生していると判定された場合に、前記待機系の接続経路への切り替え指示を前記入力側接続管理部及び前記出力側接続管理部に出力し、
前記入力側接続管理部は、前記切り替え指示に基づいて、前記第1の計算機、前記第1の仮想化デバイス及び前記第1のI/Oデバイスとを接続する経路を、前記第1の計算機、前記第2の仮想化デバイス及び前記第2のI/Oデバイスとを接続する経路に切り替え、
前記出力側接続管理部は、前記切り替え指示に基づいて、前記第1のI/Oデバイス、前記第1の外部接続ポート及び前記第1の外部装置とを接続する経路から、前記第2のI/Oデバイス、前記第2の外部接続ポート及び前記第1の外部装置を接続する経路に切り替えることを特徴とする請求項9に記載のI/O仮想化装置。 - 前記制御部は、
前記第1の接続経路の状態を示す状態情報を取得し、
前記状態情報に基づいて、前記第1の接続経路の帯域が第1の閾値以上であるか否かを判定し、
前記第1の接続経路の帯域が前記第1の閾値以上である場合に、前記経路管理情報を参照して、前記第1の接続経路の構成情報を取得し、
前記取得された第1の接続経路の構成情報に基づいて、前記第1の仮想デバイスと同一の性能を有する第3の仮想デバイスから構成される第2の接続経路を生成するための第4の設定情報を生成し、
前記第4の設定情報を前記入力側接続管理部及び前記出力側接続管理部に出力することを特徴とする請求項9に記載のI/O仮想化装置。 - 前記制御部は、
前記第1の接続経路の状態を示す状態情報を取得し、
前記状態情報に基づいて、前記第1の接続経路の帯域が第2の閾値以下であるか否かを判定し、
前記第1の接続経路の帯域が第2の閾値以下である場合に、前記待機系の接続経路への切り替え指示を前記入力側接続管理部及び前記出力側接続管理部に出力し、
前記入力側接続管理部は、前記切り替え指示に基づいて、前記第1の計算機、前記第1の仮想化デバイス及び前記第1のI/Oデバイスとを接続する経路を、前記第1の計算機、前記第2の仮想化デバイス及び前記第2のI/Oデバイスとを接続する経路に切り替え、
前記出力側接続管理部は、前記切り替え指示に基づいて、前記第1のI/Oデバイス、前記第1の外部接続ポート及び前記第1の外部装置とを接続する経路から、前記第2のI/Oデバイス、前記第2の外部接続ポート及び前記第1の外部装置を接続する経路に切り替えることを特徴とする請求項9に記載のI/O仮想化装置。 - 前記制御部は、
前記I/Oデバイスの性能情報を取得し、
前記取得されたI/Oデバイスの性能情報に基づいて、前記I/Oデバイス管理情報を更新することを特徴とする請求項8に記載のI/O仮想化装置。 - 複数のI/Oデバイスと、外部装置に接続するための外部接続ポートを有し、計算機に割り当てる仮想的なI/Oデバイスである仮想デバイスを生成するI/O仮想化装置を管理する管理計算機が実行する接続経路管理プログラムであって、
前記管理計算機は、プロセッサと、前記プロセッサに接続されるメモリと、前記計算機及び前記I/O仮想化装置と接続するためのインタフェースとを有し、
前記メモリは、前記I/Oデバイスの構成情報を格納するI/Oデバイス管理情報と、前記計算機から前記外部装置までを接続する接続経路の構成情報を格納する経路管理情報と、を格納し、
前記接続経路管理プログラムは、
前記仮想デバイスの性能情報を含む、第1の計算機から第1の外部装置までを接続する第1の接続経路の生成要求を受信した場合に、前記性能情報に基づいて、前記第1の計算機に割り当てる第1の仮想デバイスを生成するための第1の設定情報を生成し、前記第1の設定情報を前記I/O仮想化装置に送信する手順と、
前記性能情報に基づいて前記I/Oデバイス管理情報を参照して、前記第1の仮想デバイスに要求される性能を満たす第1のI/Oデバイスを検索する手順と、
前記I/O仮想化装置から前記ポート管理情報を取得し、前記取得されたポート管理情報を参照して、前記第1の外部装置に接続可能な第1の外部接続ポートを検索する手順と、
前記生成された第1の仮想デバイス、前記検索された第1のI/Oデバイス、及び前記検索された第1の外部接続ポートに基づいて、前記第1の接続経路を生成するための第2の設定情報を生成し、前記第2の設定情報を前記I/O仮想化装置に送信する手順と、
前記第2の設定情報に基づいて、前記経路管理情報を更新する手順と、
を前記プロセッサに実行させることを特徴とする接続経路管理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/061023 WO2012157038A1 (ja) | 2011-05-13 | 2011-05-13 | 接続経路管理方法、i/o仮想化装置及び接続経路管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/061023 WO2012157038A1 (ja) | 2011-05-13 | 2011-05-13 | 接続経路管理方法、i/o仮想化装置及び接続経路管理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012157038A1 true WO2012157038A1 (ja) | 2012-11-22 |
Family
ID=47176408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/061023 WO2012157038A1 (ja) | 2011-05-13 | 2011-05-13 | 接続経路管理方法、i/o仮想化装置及び接続経路管理プログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2012157038A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015151270A1 (ja) * | 2014-04-04 | 2015-10-08 | 株式会社日立製作所 | 計算機システム、ストレージ装置、及び制御方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009075718A (ja) * | 2007-09-19 | 2009-04-09 | Hitachi Ltd | 仮想i/oパスの管理方法、情報処理システム及びプログラム |
JP2010039729A (ja) * | 2008-08-05 | 2010-02-18 | Hitachi Ltd | I/o管理システム、サーバシステム及びそのi/oスイッチの管理方法 |
JP2010113707A (ja) * | 2008-11-10 | 2010-05-20 | Internatl Business Mach Corp <Ibm> | 物理及び仮想マルチパス入出力を動的に管理する方法、装置、システム、及びプログラム |
JP2011065551A (ja) * | 2009-09-18 | 2011-03-31 | Hitachi Ltd | 計算機システムの管理方法、計算機システム及びプログラム |
JP2011081462A (ja) * | 2009-10-05 | 2011-04-21 | Hitachi Ltd | 計算機装置、計算機システム、アダプタ承継方法 |
-
2011
- 2011-05-13 WO PCT/JP2011/061023 patent/WO2012157038A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009075718A (ja) * | 2007-09-19 | 2009-04-09 | Hitachi Ltd | 仮想i/oパスの管理方法、情報処理システム及びプログラム |
JP2010039729A (ja) * | 2008-08-05 | 2010-02-18 | Hitachi Ltd | I/o管理システム、サーバシステム及びそのi/oスイッチの管理方法 |
JP2010113707A (ja) * | 2008-11-10 | 2010-05-20 | Internatl Business Mach Corp <Ibm> | 物理及び仮想マルチパス入出力を動的に管理する方法、装置、システム、及びプログラム |
JP2011065551A (ja) * | 2009-09-18 | 2011-03-31 | Hitachi Ltd | 計算機システムの管理方法、計算機システム及びプログラム |
JP2011081462A (ja) * | 2009-10-05 | 2011-04-21 | Hitachi Ltd | 計算機装置、計算機システム、アダプタ承継方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015151270A1 (ja) * | 2014-04-04 | 2015-10-08 | 株式会社日立製作所 | 計算機システム、ストレージ装置、及び制御方法 |
US9785520B2 (en) | 2014-04-04 | 2017-10-10 | Hitachi, Ltd. | Computer system, storage apparatus and control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11106388B2 (en) | Monitoring storage cluster elements | |
US9703608B2 (en) | Variable configurations for workload distribution across multiple sites | |
US9137148B2 (en) | Information processing system and information processing apparatus | |
US8060775B1 (en) | Method and apparatus for providing dynamic multi-pathing (DMP) for an asymmetric logical unit access (ALUA) based storage system | |
US8719484B2 (en) | System and method for using a multipath | |
CN108632067B (zh) | 容灾部署方法、装置及系统 | |
US9442748B2 (en) | Multi-RPO data protection | |
US7971089B2 (en) | Switching connection of a boot disk to a substitute server and moving the failed server to a server domain pool | |
US9450700B1 (en) | Efficient network fleet monitoring | |
US20120246517A1 (en) | Providing first field data capture in a virtual input/output server (vios) cluster environment with cluster-aware vioses | |
CN108196800B (zh) | 存储系统 | |
US8032786B2 (en) | Information-processing equipment and system therefor with switching control for switchover operation | |
WO2007077600A1 (ja) | 運用管理プログラム、運用管理方法および運用管理装置 | |
JP2007072571A (ja) | 計算機システム及び管理計算機ならびにアクセスパス管理方法 | |
JP2005266933A (ja) | ストレージ管理システム及びストレージ管理方法 | |
CN111130835A (zh) | 数据中心双活系统、切换方法、装置、设备及介质 | |
US7937481B1 (en) | System and methods for enterprise path management | |
US20120047327A1 (en) | Disk array device and control method for the same | |
KR101586354B1 (ko) | 병렬 연결식 서버시스템의 통신 장애 복구방법 | |
US20140019624A1 (en) | Resource management method and management server | |
KR20120025658A (ko) | 캐시 클라우드 구조를 이용한 캐시 시스템 및 캐싱 서비스 제공 방법 | |
Kanagavelu et al. | Software defined network based adaptive routing for data replication in data centers | |
JP2008158844A (ja) | 資源管理装置および方法 | |
WO2012157038A1 (ja) | 接続経路管理方法、i/o仮想化装置及び接続経路管理プログラム | |
KR101596325B1 (ko) | 서버/스토리지 관리 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11865879 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11865879 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |