JP5282046B2 - 計算機システム及びその可用化方法 - Google Patents

計算機システム及びその可用化方法 Download PDF

Info

Publication number
JP5282046B2
JP5282046B2 JP2010000609A JP2010000609A JP5282046B2 JP 5282046 B2 JP5282046 B2 JP 5282046B2 JP 2010000609 A JP2010000609 A JP 2010000609A JP 2010000609 A JP2010000609 A JP 2010000609A JP 5282046 B2 JP5282046 B2 JP 5282046B2
Authority
JP
Japan
Prior art keywords
virtual
standby
physical
server
request
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
JP2010000609A
Other languages
English (en)
Other versions
JP2011141609A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010000609A priority Critical patent/JP5282046B2/ja
Priority to PCT/JP2010/001535 priority patent/WO2011083522A1/ja
Priority to US13/388,948 priority patent/US8874952B2/en
Publication of JP2011141609A publication Critical patent/JP2011141609A/ja
Application granted granted Critical
Publication of JP5282046B2 publication Critical patent/JP5282046B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、計算機システム及びその可用化方法に関し、例えば、冗長化を目的として物理デバイス及び仮想デバイスを多重構成とした計算機システムに適用して好適なものである。
近年、仮想化技術の進歩により、1台の物理サーバ上で複数台の仮想サーバを稼働させることが可能となってきている。このような仮想化技術を利用することによって1台の物理サーバ上で複数台の仮想サーバを稼働させることによって、物理的な計算機資源を削減することが可能となり、コスト削減を図ることができる。
一方、上述のように1台の物理サーバ上で複数台の仮想サーバを稼働させる場合、物理的な計算機資源を複数の仮想サーバ間で共有することになるが、物理的な計算機資源を複数の仮想サーバで共有する場合、個々の仮想サーバの性能や可用性が低下するという問題がある。
そこで、仮想サーバの現用系として用いる計算機資源(以下、これを仮想計算機資源と呼ぶ)に対しては、特定の物理的な計算機資源(以下、これを物理計算機資源と呼ぶ)を占有で使用するように割り当て、仮想サーバの待機系の仮想計算機資源に対しては、他の物理計算機資源を共有で使用するように割り当てるための技術が特許文献1に開示されている。
特許第495783号公報
ところで、上述のように仮想サーバの現用系の仮想計算機資源に対して特定の物理計算機資源(以下、これを現用系の物理計算機資源と呼ぶ)を占有で割り当て、かかる仮想サーバの待機系の仮想計算機資源に他の物理計算機資源(以下、これを待機系の物理計算機資源と呼ぶ)を共有で割り当てる計算機システムにおいて、現用系の物理計算機資源に障害が発生した場合、当該仮想サーバの待機系の仮想計算機資源で処理を継続することによって、可用性を向上させることができる。
この場合において、かかる計算機システムでは、複数の待機系の仮想計算機資源に対して、これらと同等又は少ない数の待機系の物理計算機資源が割り当てられるため、上述のような障害の発生時における対応策として、以下の2つの対応策の中から1つを選択しておく必要がある。
(1)待機系の仮想計算機資源に待機系の物理計算機資源を100パーセント割り当てる(占有させる)ことによって性能を保つ
(2)性能を犠牲にしてより多くの仮想計算機資源を救済する
ところが前者の対応策によれば、障害が発生した物理計算機資源が割り当てられていた仮想サーバの性能を維持することはできるが、それまでその物理計算機資源に割り振られていたリクエストが他の待機系の物理計算機資源に分散して割り振られることになるため、システム全体としての性能が低下する問題がある。また例えば、待機系の物理計算機資源が1つしか存在しないようなシステムでは、次に他の現用系の物理計算機資源に障害が発生した場合に、その障害が発生した物理計算機資源が割り当てられていた仮想サーバが実行していた業務を救済し得なくなる問題がある。
本発明は以上の点を考慮してなされたもので、より多くの業務を救済しつつ、可能な限り性能を維持し得る可用性の高い計算機システム及び障害対応方法を提案しようとするものである。
かかる課題を解決するため本発明においては、物理サーバを有する計算機システムにおいて、前記物理サーバは、現用系及び待機系の物理デバイスと、前記現用系の物理デバイスを仮想化してなる現用系の仮想デバイス、及び、前記待機系の物理デバイスを仮想化してなる待機系の仮想デバイスをそれぞれ有する複数の仮想サーバを提供する仮想化機構とを備え、前記仮想化機構は、前記仮想サーバの前記現用系の仮想デバイスには前記現用系の物理デバイスを占有で割り当て、前記仮想サーバの前記待機系の仮想デバイスには前記仮想系の物理デバイスを共有で割り当て、前記仮想サーバの現用系又は待機系の仮想デバイスから発行されたリクエストを、当該現用系又は待機系の仮想デバイスに割り当てた現用系又は待機系の物理デバイスに振り分ける機能を有し、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生した場合には、当該仮想サーバの前記待機系の仮想デバイスに対して、いずれの前記仮想サーバの前記待機系の仮想デバイスにも高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスを、当該待機系の仮想デバイスが、他の待機系の前記仮想デバイスよりも高い優先度で使用する物理デバイスとして設定すると共に、前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストを当該仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分けるようにした。
また本発明においては、物理サーバを有する計算機システムの可用化方法において、前記物理サーバは、現用系及び待機系の物理デバイスと、前記現用系の物理デバイスを仮想化してなる現用系の仮想デバイス、及び、前記待機系の物理デバイスを仮想化してなる待機系の仮想デバイスをそれぞれ有する複数の仮想サーバを提供する仮想化機構とを有し、前記仮想化機構が、前記仮想サーバの前記現用系の仮想デバイスには前記現用系の物理デバイスを占有で割り当て、前記仮想サーバの前記待機系の仮想デバイスには前記仮想系の物理デバイスを共有で割り当て、前記仮想サーバの現用系又は待機系の仮想デバイスから発行されたリクエストを、当該現用系又は待機系の仮想デバイスに割り当てた現用系又は待機系の物理デバイスに振り分ける第1のステップと、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生した場合には、当該仮想サーバの前記待機系の仮想デバイスに対して、いずれの前記仮想サーバの前記待機系の仮想デバイスにも高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスを、当該待機系の仮想デバイスが他の待機系の前記仮想デバイスよりも高い優先度で使用する物理デバイスとして設定すると共に、前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストを当該仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける第2のステップとを設けるようにした。
本発明によれば、いずれかの仮想サーバの待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない待機系の物理デバイスが存在しないときには、リクエストを、いずれかの仮想サーバの待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された待機系の物理デバイスに振り分けるようにしているため、障害が発生した物理アダプタが割り当てられている仮想サーバが実行している業務のみならず、他の業務をも救済しながら、これら業務の処理性能をできる限り維持し得る可用性の高い計算機システム及びその可用化方法を実現することができる。
本実施の形態による計算機システムの概略構成を示すブロック図である。 管理サーバの概略構成を示すブロック図である。 物理サーバの概略構成を示すブロック図である。 仮想化機構の概略構成の説明に供するブロック図である。 本実施の形態によるリクエスト振分け機能の説明に供する概念図である。 本実施の形態によるリクエスト振分け機能の説明に供する概念図である。 物理サーバ管理テーブルの説明に供する概念図である。 仮想サーバ管理テーブルの説明に供する概念図である。 OS管理テーブルの説明に供する概念図である。 業務及びSLA管理テーブルの説明に供する概念図である。 システム管理テーブルの説明に供する概念図である。 アダプタ管理テーブルの説明に供する概念図である。 リクエスト種別管理テーブルの説明に供する概念図である。 リクエスト振分け処理の処理手順を示すフローチャートである。 障害判定処理の処理手順を示すフローチャートである。 振分け処理の処理手順を示すフローチャートである。 振分け設定処理の処理手順を示すフローチャートである。 第2の実施の形態によるリクエスト振分け処理の処理手順を示すフローチャートである。
以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1−1)本実施の形態による計算機システムの構成
図1において、1は全体として本実施の形態による計算機システムを示す。この計算機システム1は、管理サーバ2、管理用ネットワーク3、複数の物理サーバ4、業務用ネットワーク5及びストレージサブシステム6から構成される。
管理サーバ2は、計算機システム1内の物理サーバ4を管理するために用いられるサーバ装置であり、管理用ネットワーク3を介して各物理サーバ4と接続されている。また管理サーバ2は、管理用ネットワーク3の管理インタフェース3A及び業務用ネットワーク5の管理インタフェース5Aとそれぞれ接続されており、これにより管理サーバ2から管理用ネットワーク3及び業務用ネットワーク5のVLAN(Virtual LAN)を設定することができるようになされている。
管理用ネットワーク3は、例えばLAN(Local Area Network)、インターネット、公衆回線又は専用回線などから構成される。管理用ネットワーク3は、OS(Operating System)又はアプリケーションの配信や電源制御などの物理サーバ4の運用管理を行うために利用される。
物理サーバ4は、例えばブレードサーバから構成される。物理サーバ4には、ハイパーバイザと呼ばれる仮想化ソフトウェアが実装されており、この仮想化ソフトウェアを実行することにより構築される後述の仮想化機構上で1又は複数の仮想サーバを稼働させることができるようになされている。
業務用ネットワーク5は、例えばFC−SAN(Fibre Chanel- Storage Area Network)又はIP−SAN(Internet Protocol-Storage Area Network)などから構成される。業務用ネットワーク5は、物理サーバ4上で稼働する仮想サーバがデータをストレージサブシステム6に読み書きするために利用される。
ストレージサブシステム6は、物理サーバ4に対してデータを読み書きするための記憶領域を提供するストレージ装置であり、複数の記憶デバイス10と、これら複数の記憶デバイス10に対するデータの入出力を制御するコントローラ11とから構成される。
記憶デバイス10は、例えばSCSI(Small Computer System Interface)ディスク等の高価なディスクデバイス、又はSATA(Serial AT Attachment)ディスクや光ディスク等の安価なディスクデバイスなどから構成される。
これらの記憶デバイス10は、コントローラ11によりRAID(Redundant Arrays of Inexpensive Disks)方式で運用される。1又は複数の記憶デバイス10により提供される物理的な記憶領域上に、1又は複数の論理的なボリューム(以下、これを論理ボリュームと呼ぶ)VOLが設定される。そしてデータは、この論理ボリュームVOL内に所定大きさのブロックを単位として記憶される。
図2は、管理サーバ2の概略構成を示す。この図2に示すように、管理サーバ2は、CPU(Central Processing Unit)20、メモリ21、ネットワークインタフェース22及びディスクインタフェース23を備えて構成される。
CPU20は、管理サーバ2全体の動作制御を司るプロセッサであり、起動時に図示しない外部ディスク装置からプログラム及びデータをメモリ21にロードし、ロードしたプログラム及びデータに基づいて各種処理を実行する。メモリ21は、外部ディスク装置からロードされたプログラム及びデータなどを記憶するために用いられるほか、CPU20のワークメモリとしても用いられる。後述する制御プログラム群24及び管理テーブル群25もこのメモリ21に格納されて保持される。
ネットワークインタフェース22は、管理サーバ2が管理用ネットワーク3を介して物理サーバ4と通信するためのインタフェースとして機能し、管理サーバ2及び物理サーバ4間の通信時におけるプロトコル変換などの処理を実行する。またディスクインタフェース23は、上述の外部ディスク装置との間のインタフェースとして機能する。
なお、図2においては、ネットワークインタフェース22及びディスクインタフェース23をそれぞれ1つずつ図示しているが、実際には、ネットワークインタフェース22及びディスクインタフェース23はそれぞれ複数存在する。例えば、管理用ネットワーク3に対するネットワークインタフェース22と、業務用ネットワーク5に対するネットワークインタフェース22とはそれぞれ別個のものが使用される。
物理サーバ4は、図3に示すように、CPU30、メモリ31、BMC(Basement Management Controller)32、ネットワークインタフェース33及びディスクインタフェース34を備えて構成される。
CPU30は、物理サーバ4全体の動作制御を司るプロセッサであり、起動時に図示しない外部ディスク装置からOS(Operating System)、各種業務アプリケーションプログラム及び管理プログラムなどの各種プログラムと、必要なデータとをメモリ31にロードし、ロードしたプログラムに従って各種処理を実行する。メモリ31は、かかる外部ディスク装置からロードされた各種プログラム及びデータなどを記憶するために用いられるほか、CPU30のワークメモリとしても用いられる。後述する制御プログラム群35及び管理テーブル群36もこのメモリ21に格納されて保持される。
BMC32は、電源制御や各インタフェースの制御を行う。またネットワークインタフェース33及びディスクインタフェース34は、管理サーバ2のネットワークインタフェース33及びディスクインタフェース34と同様の機能を有するもので、それぞれ管理用ネットワーク3を介して管理サーバ2と通信し、又は業務用ネットワーク5を介してストレージサブシステム6との間でデータを送受するときのインタフェースとして利用される。
なお、図3においては、ネットワークインタフェース33及びディスクインタフェース34をそれぞれ1つずつ図示しているが、実際には、ネットワークインタフェース33及びディスクインタフェース34がそれぞれ複数存在する。例えば、管理用ネットワーク3に対するネットワークインタフェース33と、業務用ネットワーク5に対するネットワークインタフェース33とはそれぞれ別個のものが利用される。
ここで図3に示すように、物理サーバ4のメモリ31には外部ディスク装置からロードした仮想化ソフトウェアを実行することにより構築される仮想化機構40が配備される。この仮想化機構40は、物理サーバ4の計算機資源を仮想化する機能を有するもので、物理サーバ4のCPU30、メモリ31、BMC32、ネットワークインタフェース33及びディスクインタフェース34をそれぞれ仮想化してなる仮想CPU50、仮想メモリ51、仮想BMC52、仮想ネットワークインタフェース53及び仮想ディスクインタフェース54等の仮想デバイス群を備える1又は複数の仮想サーバ55を提供する。
各仮想サーバ55の仮想メモリ51には、OS56が論理的に格納されており、このOS56に基づいて仮想CPU50により仮想サーバ55内の仮想デバイス群が管理される。またOS56上では業務アプリケーションプログラム57が実行されており、これにより各仮想サーバ55においてそれぞれ個別の業務処理を実行し得るようになされている。さらにOS56上では、管理プログラム58が稼働しており、この管理プログラム58によって障害検知やOS56の電源制御及びインベントリ管理などを行い得るようになされている。
仮想化機構40は、物理サーバ4の計算機資源(物理計算機資源)と、当該物理サーバ4上で稼働する1又は複数の仮想サーバ55の計算機資源(仮想計算機資源)との対応付けを管理しており、管理サーバ2からこの仮想化機構40に指示を与えることによって、仮想計算機資源に対する物理計算機資源の割り当てや、当該割り当ての解除を行うことができる。また仮想化機構40は、各仮想サーバ55にそれぞれ物理計算機資源がどの程度割り当てられ、また各仮想サーバ55がそれぞれ自己に割り当てられた物理計算機資源をどの程度使用しているかといった構成情報及び稼働履歴を管理する。
この仮想化機構40は、図3に示すように、仮想化機構管理用インタフェース41及び振分け機構42と、物理サーバ4の計算機資源を仮想化し、仮想サーバ55を提供する機能(図示せず)とを備える。
このうち仮想化機構管理用インタフェース41は、仮想化機構40が管理サーバ2と通信を行うためのインタフェースであり、仮想化機構40から管理サーバ2に情報を通知したり、管理サーバ2から仮想化機構40に指示を与える際に使用される。なお仮想化機構管理用インタフェース41をユーザが直接使用することも可能である。
振分け機構42は、待機系の仮想ネットワークインタフェース53から発行されたリクエストを、待機系のネットワークインタフェース33又はディスクインタフェース34に振り分ける機能を有するもので、制御プログラム群35及び管理テーブル群36を備えて構成される。これら制御プログラム群35及び管理テーブル群36の詳細については後述する。
現用系の仮想ネットワークインタフェース53又は仮想ディスクインタフェース54に割り当てられた物理サーバ4のネットワークインタフェース33又はディスクインタフェース34に障害が発生した場合、仮想サーバ55のOS56は、その現用系の仮想ネットワークインタフェース53又は仮想ディスクインタフェース54を通じた通信を行えなくなる。このため仮想サーバ55のOS56は、かかる障害を契機に待機系の仮想ネットワークインタフェース53又は仮想ディスクインタフェース54を通じてリクエストを発行するようになる。
つまり、現用系の仮想ネットワークインタフェース53又は仮想ディスクインタフェース54に割り当てられたネットワークインタフェース33又はディスクインタフェース34に障害が発生したことを契機として、待機系の仮想ネットワークインタフェース53又は仮想ディスクインタフェース54から振分け機構部42にリクエストが送られるようになる。
ただし、かかる障害の発生以外の通常運用時にも、死活監視リクエストが待機系の仮想ネットワークインタフェース53又は仮想ディスクインタフェース54から発行される。従って、仮想ネットワークインタフェース53又は仮想ディスクインタフェース54からのリクエストを仮想化機構40が受信したときに、受信したリクエストが死活監視リクエストなのか、又は、死活監視リクエスト以外のリクエスト(ネットワークインタフェース33の障害に起因して送られてきたリクエスト)なのかを判定し、然るべきネットワークインタフェース33又はディスクインタフェース34にリクエストを振り分けることが本実施の形態による振分け機構42の基本的な役割である。
図4は、仮想化機構40により仮想化された物理サーバ4のネットワークインタフェース33と、仮想サーバ55の仮想ネットワークインタフェース53との対応関係を示す。本実施の形態による計算機システム1では、仮想サーバ55の現用系の仮想ネットワークインタフェース53に対して物理サーバ4のネットワークインタフェース33が占有モードで割り当てられる。
ここで占有モードとは、仮想デバイスが物理デバイスを占有できる割当てモードのことをいう。仮想デバイスに対して物理デバイスを割り当てる割当てモードとしては、占有モードの他に、複数の仮想デバイスが1つの物理デバイスを共有する共有モードが存在する。仮想デバイスに対する物理デバイスの割当てモードを占有モード及び共有モードのいずれにするかは、ユーザ指定とすることができるが、例えば運用ポリシとして現用系は占有モード、待機系は共有モードとしても、また、占有モード又は共有モードの一部を現用系の仮想デバイスに割り当てるようにしても良い。
上述のように本実施の形態においては、現用系の仮想ネットワークインタフェース53に対しては占有モードでネットワークインタフェース33が割り当てられるため、これら現用系の仮想ネットワークインタフェース53は、自己に割り当てられたネットワークインタフェース33を100パーセント利用することができる。
一方、本実施の形態による計算機システム1の場合、仮想サーバ55の待機系の仮想ネットワークインタフェース53に対しては、仮想化機構40内の振分け機構42を介して物理サーバ4のネットワークインタフェース33が共有モードで割り当てられる。従って、例えば10個の仮想ネットワークインタフェース53に対して物理サーバ4の2個のネットワークインタフェース33を割り当て、これら2個のネットワークインタフェース33をかかる10個の仮想ネットワークインタフェース53によって共同で利用するという運用ができる。
これにより、待機系の仮想ネットワークインタフェース53を必要な仮想サーバ55すべてに設定することが可能となり、また、同時に物理サーバ4のネットワークインタフェース33を仮想ネットワークインタフェース53と同数分だけ用意する必要がなくなり、ネットワークインタフェース33の数を低減させることができる。また、このようにデバイス数を低減させることができるため、消費電力量の削減を見込むことができ、コスト削減効果を得ることができる。
なお以上のことは、物理サーバ4のネットワークインタフェース33及び仮想サーバ55の仮想ネットワークインタフェース53間の関係に限らず、物理サーバ4のディスクインタフェース34及び仮想サーバ55の仮想ディスクインタフェース54間の関係についても同様のことが言える。
(1−2)リクエスト振分け機能
次に、本計算機システム1に搭載されたリクエスト振分け機能について説明する。なお、以下においては、物理サーバ4のネットワークインタフェース33及びディスクインタフェース34をまとめて物理アダプタ60(図5)と呼び、仮想サーバ55の仮想ネットワークインタフェース53及び仮想ディスクインタフェース54をまとめて仮想アダプタ61(図5)と呼ぶものとする。
本計算機システム1においては、現用系の仮想アダプタ61に割り当てられている物理アダプタ(現用系の物理アダプタ)60に障害が発生した場合に、その障害が発生した物理アダプタ60が割り当てられている仮想サーバ55の仮想アダプタ61を特定し、待機系の物理アダプタ60に余剰がある場合、すなわち、いずれの仮想サーバ55の待機系の仮想アダプタ61にも高い優先度で使用する物理デバイスとして設定されていない待機系の物理アダプタ60が存在する場合には、図5に示すように、当該待機系の物理アダプタ60の中からかかる仮想アダプタ61が高い優先度で使用する物理アダプタ60を1つ決定して(図5では「物理アダプタA」)、その物理アダプタ60を共有モードのままその仮想アダプタ61に割り当てる機能を備える。
すなわち図6に示すように、本実施の形態による物理サーバ4の仮想化機構40は、仮想サーバ55の現用系の仮想アダプタ(VA:Virtual Adapter)61に割り当てられている物理アダプタ(PA:Physical Adapter)60に障害が発生した場合、待機系として用意された物理アダプタ60のうちの1つをその仮想サーバ55の待機系の仮想アダプタ61に割り当て、当該物理アダプタ60を当該仮想アダプタ61に高い優先度で使用させる役割を担う。また、かかる仮想化機構40は、その他の障害が発生していない仮想アダプタ61からのリクエストを、高い優先度で使用する設定をした物理アダプタ60以外の待機系の物理アダプタ60へ振り分ける役割も担う。
加えて、本計算機システム1の場合、待機系の物理アダプタ60に余剰がない場合には、その旨を管理サーバ2に通知し、管理サーバ2が、かかる障害が発生した物理アダプタ60が割り当てられていた仮想サーバ55が実行している業務の優先順位に基づき、リクエストを割り込ませることができる物理アダプタ60を、既に他の仮想アダプタ61に高い優先度で使用するよう設定された物理アダプタ60の中から1つ決定し、その物理アダプタ60にリクエストを振り分けるように振分け機構42に指示を与えるようになされている。
これにより、待機系の物理アダプタ60に余剰がない状態で、重要度の高い業務を担当する仮想サーバ55の現用系の仮想アダプタ61に割り当てられていた物理アダプタ60に障害が発生した場合にも、その重要度の高い業務が停止することを防ぐことが可能である。
以上のように本実施の形態による計算機システム1の特徴は、仮想サーバ55の待機系の仮想アダプタ61に待機系の物理アダプタ60を割り当てる際に、当該物理アダプタ60を共有モードのまま割り当てる点にある。これにより、障害があった業務以外の他の業務に影響なく、障害が発生した業務を救済することが可能になる。
本実施の形態に反して、かかる待機系の物理アダプタ60を占有モードに切り替えると、一旦、救済された業務のみしか救われないという問題がある。また、待機系の物理アダプタ60を1つにした場合、占有モードに切り替えてしまうと、他の待機の仮想アダプタ61からの死活監視リクエストなどを処理することができず、OS56からは待機の仮想アダプタ61に障害が発生したように見える。本実施の形態によれば、そのようなことは起こらず、従来のままの運用を継続することが可能である。
以上のような障害対処機能を実現するための手段として、図2に示すように、管理サーバ2のメモリ21には、振分け設定プログラム70、障害判定プログラム71及びネットワークトポロジ収集プログラム72を含む制御プログラム群24と、物理サーバ管理テーブル73、仮想サーバ管理テーブル74、OS管理テーブル75、業務及びSLA管理テーブル76、並びに、システム管理テーブル77を含む管理テーブル群25とが格納されている。また物理サーバ4の仮想化機構40(図4)の振分け機構42(図4)は、図4に示すように、リクエスト検出プログラム80、障害判定プログラム81、管理サーバ通信プログラム82及び振分けプログラム83を含む制御プログラム群35と、アダプタ管理テーブル84及びリクエスト種別管理テーブル85を含む管理テーブル群36とを保持している。
このうち管理サーバ2の振分け設定プログラム70は、各物理サーバ4の振分け機構42に対し、仮想ネットワークインタフェース53からのリクエストをどのように振り分けるかを設定するためのプログラムである。また障害判定プログラム71は、管理対象である物理サーバ4や仮想サーバ55、仮想化機構40、管理用ネットワーク3、業務用ネットワーク5及びストレージサブシステム6からの障害情報を受け付けるためのプログラムである。障害判定プログラム71による障害検知の手法としては公知技術を適用することができる。
さらにネットワークトポロジ収集プログラム72は、ネットワークに関する設定や接続関係に関する情報を収集するためのプログラムである。このネットワークトポロジ収集プログラム72に基づく情報収集作業は、自動的に実行するものであっても、ユーザ操作を契機として実行するものであっても良い。ネットワークトポロジ収集プログラム72による情報収集の手法に関しても公知技術を適用することができる。
一方、物理サーバ管理テーブル73は、計算機システム1内に存在する物理サーバ4を管理するために用いられるテーブルであり、図7に示すように、物理サーバ識別子欄73A、UUID欄73B、物理アダプタ欄73C、スイッチ情報欄73D、サーバモデル欄73E、構成欄73F及び性能情報欄73Gから構成される。
このうち物理サーバ識別子欄73Aには、そのエントリ(図7の1つの行に相当。以下、同様。)に対応する物理サーバ4に付与された識別子(以下、これを物理サーバ識別子と呼ぶ)が格納される。この物理サーバ識別子は、その物理サーバ4に固有の識別子であり、MAC(Media Access Control)アドレスやWWN(World Wide Name)などを適用することができる。ただし、物理サーバ識別子として、本物理サーバ管理テーブル73におけるそのエントリのいずれか1つの欄に格納された情報又はいずれか複数の欄にそれぞれ格納された情報を組み合わせたものを適用するようにしても良く、また物理サーバ識別子を昇順で自動的に物理サーバ4に割り振るようにしても良い。
またUUID欄73Bには、その物理サーバ4に付与されたUUID(Universal Unique IDentifier)が格納される。UUIDは、全宇宙規模で重複しないように形式が既定された識別子である。従って、物理サーバ4ごとのUUIDを管理することにより、各物理サーバ4の確実なユニーク性を保証することができる。このUUIDは、物理サーバ識別子の候補ともなり得る識別子であり、広範囲に渡ったサーバ管理には非常に有効である。ただし、物理サーバ識別子は、システム管理者が物理サーバ4を識別するための識別子であって、物理サーバ4間で重複しなければ問題はないため、UUIDを適用することが望ましいものの必須ではない。
物理アダプタ欄73Cは、物理サーバ4に搭載された物理アダプタ60に関する情報を管理するための欄であり、デバイス欄73H、WWN欄73I及びステータス欄73Jから構成される。そしてデバイス欄73Hには、対応する物理サーバ4に搭載された各物理アダプタ60にそれぞれ付与されたデバイスIDが格納される。なお、物理アダプタ60の種別としては、HBA(Host Bus Adaptor)、NIC(Network Interface Card)及びCNA(Converged Network Adapter)などがあるが、図7においては、「1番目のHBA」は「HBA1」、「1番目のNIC」は「NIC1」という具合に、その物理アダプタ60の種別を表す文字列に種別ごとの通し番号を付加したものをデバイスIDとしている。
またWWN欄73Iには、その物理アダプタ60のネットワーク上での識別子が格納される。例えばその物理アダプタ60がHABである場合にはWWNが格納され、その物理アダプタ60がNICである場合にはMACアドレスが格納される。さらにステータス欄73Jには、その物理アダプタ60の現在のステータスが格納される。物理アダプタ60のステータスとしては、問題がない(障害が発生していない)状態を表す「正常」と、障害が発生していることを表す「障害」とがある。
スイッチ情報欄73Dには、その物理サーバ4がその物理アダプタ60を介して接続されている管理用ネットワーク3又は業務用ネットワーク5上のスイッチに関する情報(そのスイッチの種別及び識別子や、接続ポート及びセキュリティ設定情報など)が格納される。
サーバモデル欄73Eには、対応する物理サーバ4のモデルが格納される。インフラに関する情報であり、性能や構成可能なシステム限界を知ることができる情報である。
構成欄73Fには、対応する物理サーバ4の構成が格納される。具体的には、その物理サーバ4に搭載されたCPU30(図3)のアーキテクチャ、シャーシやスロットなどの物理位置情報と、特徴機能(ブレード間SMP(Symmetric Multi-Processing)や、HA構成などの有無)に関する情報とが格納される。構成欄73Fに格納される情報は、サーバモデル欄73Eに格納される情報と同様に、インフラに関する情報である。
さらに性能情報欄73Gには、対応する物理サーバ4の性能情報が格納される。具体的には、CPU30の処理速度、コア数、メモリ容量、ハードディスク容量、NICやHBAの通信速度などが、この性能情報欄に格納されることになる。
仮想サーバ管理テーブル74は、計算機システム1内に存在する仮想サーバ55を管理するためのテーブルであり、図8に示すように、仮想サーバ識別子欄74A、UUID欄74B、I/Oデバイス欄74C、仮想化種別欄74D及び性能情報欄74Eから構成される。
このうち仮想サーバ識別子欄74Aには、そのエントリに対応する仮想サーバ55に付与された識別子(以下、これを仮想サーバ識別子と呼ぶ)が格納される。この仮想サーバ識別子は、その仮想サーバ55に固有の識別子であり、例えば仮想MACアドレスや仮想WWNなどを適用することができる。またOS56によっては、独自にユニーク性を保つための識別子を採用している場合があるので、この識別子を一部に用いてそのOS56が搭載された仮想サーバ55の仮想サーバ識別子を生成するようにしても良い。さらにはユニーク性を確保するために、上記以外の独自の方法により仮想サーバ識別子を生成するようにしても良い。
UUID欄74Bには、その仮想サーバ55に付与されたUUIDが格納される。UUIDは、仮想サーバ識別子の候補ともなり得る識別子であり、広範囲に渡ったサーバ管理には非常に有効な識別子である。ただし、仮想サーバ識別子は、システム管理者が仮想サーバ55を識別するための識別子であって、仮想サーバ55間で重複しなければ問題はないため、UUIDを適用することが望ましいものの必須ではない。
I/Oデバイス欄74Cは、仮想サーバ55に搭載された仮想アダプタ61に関する情報を管理するための欄であり、仮想デバイス欄74F、仮想WWN欄74G、現用/待機欄74H、モード欄74I及びセキュリティ欄74Jから構成される。
そして仮想デバイス欄74Fには、対応する仮想サーバ55に設定された各仮想アダプタ61にそれぞれ付与されたデバイスIDが格納される。なお、図8においては、「1番目の仮想HBA」は「vHBA1」、「1番目のNIC」は「vNIC1」という具合に、その仮想アダプタ61の種別を表す文字列に種別ごとの通し番号を付加したものをデバイスIDとして付与した場合を例示している。また仮想WWN欄74Gには、その仮想アダプタ61のネットワーク上での識別子が格納される。例えばその仮想アダプタ61が仮想HBAである場合には仮想WWNが格納され、その仮想アダプタ61が仮想NICである場合には仮想MACアドレスが格納される。
さらに現用/待機欄74Hには、対応する仮想アダプタ61が現用系及び待機系のいずれであるかを表す情報が格納される。具体的には、その仮想アダプタ61が現用系の「1」番目のアダプタである場合には「現用1」、待機系の「2」番目のアダプタである場合には「待機2」といった情報が格納されることになる。
さらにモード欄74Iには、その仮想アダプタ61の利用モードが格納される。この利用モードとしては、その仮想アダプタ61が当該仮想アダプタ61に対応付けられた物理アダプタ60を占有して使用する「占有」と、その仮想アダプタ61が当該仮想アダプタ61に対応付けられた物理アダプタ60を他の仮想アダプタ61と共有して使用する「共有」とがある。さらにセキュリティ欄74Jには、その仮想アダプタ61のセキュリティに関する設定情報が格納される。
さらに仮想化種別欄74Dには、その仮想サーバ55の仮想化種別に関する情報が格納される。仮想化種別とは、仮想化製品や仮想化技術のことを意味し、制御インタフェースや機能差が明確に判別できるものである。仮想化種別に関する情報として、バージョン情報を含めても良く、また、独自に管理機能をもつ場合には、その管理機能の名称や管理インタフェースを含めても良い。
さらに性能情報欄74Eには、対応する仮想サーバ55の性能情報が格納される。この性能情報としては、仮想CPU50(図3)の動作周波数及びコア数や、仮想メモリ51(図3)のメモリ容量、仮想ハードディスク装置のディスク容量及び仮想アダプタ61の通信速度などが含まれる。
OS管理テーブル75は、物理サーバ4のメモリ31(図3)に格納され、仮想サーバ55にOS56として使用されるOSを管理するためのテーブルであり、図9に示すように、OS識別子欄75A、UUID欄75B、OS種別欄75C、OS設定情報欄75D及び冗長化欄75Eから構成される。
そしてOS識別子欄75Aには、そのエントリに対応するOSに付与されたそのOSに固有の識別子(以下、これをOS識別子と呼ぶ)が格納される。なお、OS識別子として、例えばOS設定情報欄に格納されるOS設定情報を適用するようにしても良い。またUUID欄75Bには、そのOSに付与されたUUIDが格納される。ただし、OS識別子は、システム管理者がOSを識別するための識別子であって、OS間で重複しなければ問題はないため、UUIDを適用することが望ましいものの必須ではない。
またOS種別欄75Cには、そのOSの種別が格納される。さらにOS設定情報欄75Dには、IPアドレスやホスト名、ID、パスワード及びディスクイメージなどのそのOSに対して設定されたOS設定情報が格納される。なお、ディスクイメージとは、設定前後のOSが物理サーバ4又は仮想サーバ55に配信されたシステムディスクのディスクイメージを指す。ただしデータディスクをディスクイメージに含めるようにしても良い。さらに冗長化欄75Eには、そのOSに関して設定されている冗長化に関する情報が格納される。
業務及びSLA管理テーブル76は、物理サーバ4上で稼働する仮想サーバ55により実行される業務に関する情報を管理するためのテーブルであり、図10に示すように、業務識別子欄76A、UUID欄76B、業務種別欄76C、業務設定情報欄76D及び優先順位・SLA欄76Eから構成される。
このうち業務識別子欄76Aには、そのエントリに対応する業務に付与された識別子(以下、これを業務識別子と呼ぶ)が格納される。業務識別子としては、例えば業務設定情報欄に格納された業務設定情報を適用するようにしても良い。
またUUID欄76Bには、その業務に付与されたUUIDが格納される。UUIDは、業務識別子の候補ともなり得る識別子であり、広範囲に渡った業務には非常に有効な識別子である。ただし、業務識別子は、システム管理者が業務を識別するための識別子であって、業務間で重複しなければ問題はないため、UUIDを適用することが望ましいものの必須ではない。
業務種別欄76Cには、業務種別に関する情報として、使用するアプリケーションやミドルウェアといったその業務を特定するソフトウェアに関する情報が格納される。また業務設定情報欄76Dには、その業務について設定された事項に関する情報として、業務で使用する論理的なIPアドレスやID、パスワード、ディスクイメージ、その業務で使用するポート番号などが格納される。なお、ディスクイメージとは、設定前後のその業務が物理サーバ4又は仮想サーバ55上のOSに配信されたシステムディスクのディスクイメージを指す。ただしデータディスクをディスクイメージに含めるようにしても良い。
さらに優先順位・SLA欄76Eには、業務及びSLA管理テーブル76に登録された各業務間におけるその業務の優先順位や、その業務について設定された要件(SLA:Service Level Agreement)が格納される。これによりこの優先順位・SLA欄76Eに格納された情報に基づいて、どの業務が優先的に救済される必要があり、どの程度であれば計算機資源を共有モードで他の業務とシェアすることができるのかという判断をすることができる。後述のように本実施の形態による計算機システム1では、待機系の計算機資源を共有するため、どこまでのシェアが可能かを設定しておく必要があり、これにより最も本発明の効果を得ることができる運用(どこまで待機の物理計算機資源を減らせるか)を決めることが可能となる。
システム管理テーブル77は、物理サーバ4、仮想サーバ55、OS56及び業務の組合せによるシステム構成を管理するためのテーブルである。このようなシステムを管理することにより、システム間の優先順位に応じて後述する振分け機構に設定する振分け構成を、業務やSLAに応じて変更することが可能となる。このシステム管理テーブル77は、図11に示すように、システム識別子欄77A、UUID欄77B、物理サーバ欄77C、仮想サーバ欄77D、OS欄77E及び業務欄77Fから構成される。
そしてシステム識別子欄77Aには、そのエントリに対応するシステムに付与されたそのシステムに固有の識別子(以下、これをシステム識別子と呼ぶ)が格納される。またUUID欄77Bには、そのシステムに付与されたUUIDが格納される。このUUIDとしては、物理サーバ欄77Cから業務欄77Fまでの各欄にそれぞれ格納された情報の一部又は全部を組み合わせたものを適用するようにしても良い。
さらに物理サーバ欄77C、仮想サーバ欄77D、OS欄77E及び業務欄77Fには、それぞれそのシステムを構成する物理サーバ4の物理サーバ識別子、仮想サーバ55の仮想サーバ識別子、OS56のOS識別子及び業務の業務識別子がそれぞれ格納される。
なお、図11には記載していないが、各システムにそれぞれ関連するラックやフロア、コンセントボックス、ブレーカ、センタ、HA構成の有無、ネットワークインフラ情報、電力グリッド、ネットワーク結線関係、ネットワークスイッチ、ファイバチャネルスイッチ、各スイッチの収容量及びネットワーク帯域などに関する情報をシステム管理テーブル77において管理するようにしても良く、このようにすることによってシステムの可用性についても本発明の効果を得ることができる。
一方、物理サーバ4のリクエスト検出プログラム80(図4)は、仮想化機構40上で稼働している仮想サーバ55からリクエストが発行された場合にこれを検出するためのプリグラムであり、障害判定プログラム81は、仮想サーバ55から仮想化機構40にリクエストが与えられたときに、物理サーバ4のネットワークインタフェース33に障害が発生したことによるものか否かを判定するためのプログラムである。
また管理サーバ通信プログラム82は、振分け機構42が仮想化機構管理用インタフェース41を介して管理サーバ2と通信を行うためのプログラムであり、振分けプログラム83は、障害判定プログラム81の判定結果に従って、仮想アダプタ61から発行されたリクエストを対応する物理アダプタ60に振り分けるためのプログラムである。
さらに物理サーバ4のアダプタ管理テーブル84は、各仮想サーバ55にそれぞれ搭載された仮想アダプタ61を管理するためのテーブルであり、図12に示すように、仮想サーバ識別子欄84A、仮想アダプタ欄84B、現用/待機欄84C、モード欄84D、セキュリティ欄84E、セキュリティ種別欄84F、物理アダプタ欄84G及びステータス欄84Hから構成される。
そして仮想サーバ識別子欄84A、仮想アダプタ欄84B、現用/待機欄84C、モード欄84D及びセキュリティ欄84Eには、図8について上述した仮想サーバ管理テーブル74の仮想サーバ識別子欄74A、仮想デバイス欄74F、現用/待機欄74H、モード欄74I及びセキュリティ欄74Jのうちの対応する欄に格納されている情報と同じ情報がそれぞれ格納される。またセキュリティ種別欄84Fには、対応するセキュリティ欄84Eに格納されたセキュリティ等に関する具体的な種別が格納される。
さらに物理アダプタ欄84Gには、対応する仮想アダプタ61が割り当てられた物理アダプタ60のアダプタIDが格納される。なお、物理アダプタ60が占有モードに設定された仮想アダプタ61に割り当てられている場合、その物理アダプタ60のアダプタIDが他の仮想アダプタ61の物理アダプタ欄84Gに格納されることはない。これに対して物理アダプタ60が共有モードに設定された仮想アダプタ61に割り当てられている場合には、その物理アダプタ60のアダプタIDが他の仮想アダプタ61の物理アダプタ欄84Gに格納されることがある。
ステータス欄84Hには、対応する仮想アダプタ61又は物理アダプタ60のステータスに関する情報が格納される。この場合、かかるステータスとしては、障害が発生していない状態を意味する「正常」や、障害が発生したことを意味する「障害」などがある。またステータスに関する他の情報としては、「待機系の仮想アダプタ61がある物理アダプタ60(NIC5とする)を高い優先度で使用している」ことや、「待機系の仮想アダプタ61がある物理アダプタ60を共有使用している」ことなどがある。これらのステータスに関する情報には、仮想化機構40で判断及び決定した内容と、管理サーバ2が設定、判断及び指示した内容とのいずれか又は両方が含まれる。
リクエスト種別管理テーブル85は、物理アダプタ60若しくは仮想アダプタ61から発行され、又は、これら物理アダプタ60若しくは仮想アダプタ61に対して発行されたリクエストの種別を管理し、これらのリクエストに対して振分け機構42が実行すべき振分け動作のルールを管理するためのテーブルである。このリクエスト種別管理テーブル85は、図13に示すように、リクエスト識別子欄85A、リクエスト種別欄85B及び振分け指示欄85Cから構成される。
そしてリクエスト識別子欄85Aには、そのエントリに対応するリクエストに付与された識別子(以下、これをリクエスト識別子と呼ぶ)が格納され、リクエスト種別欄85Bには、対応するリクエストの種別(以下、これを単にリクエスト種別と呼ぶ)が格納される。この「リクエスト種別」としては、「死活監視」、「マルチキャスト」及び「ユニキャスト」などがある。
また振分け指示欄85Cには、そのリクエスト種別に対して振分け機構が実行すべき振分け処理の処理内容が格納される。例えば図13の例の場合、「死活監視」としてARP(Address Resolution Protocol)リクエストが仮想アダプタ61から発行されたときに、以下のような振分け処理が実行される。
振分け機構42は、まず、待機系の物理アダプタ60の中から他の仮想アダプタ61が高い優先度で使用する設定がなされていない物理アダプタ60を検索し、そのような物理アダプタ60が存在する場合には、その物理アダプタ60にそのARPリクエストを振り分ける(図13の「他の待機の物理アダプタで処理」)。
これに対して、振分け機構42は、上述のような仮想アダプタ61が高い優先度で使用する設定がなされていない待機系の物理アダプタ60が存在しない場合には、優先順位の低い業務を担当している待機系の物理アダプタ60を管理サーバ2に問い合わせ、そのような物理アダプタ60が存在する場合には、その物理アダプタ60にそのARPリクエストを振り分ける(図13の「上記がない場合、優先順位の低いアダプタで処理」)。
また振分け機構42は、上述のような優先順位の低い業務を担当している待機系の物理アダプタ60が存在しない場合には、負荷の低い物理アダプタ60を管理サーバ2に問い合わせ、そのような物理アダプタ60が存在する場合には、その物理アダプタ60にそのARPリクエストを振り分ける(図13の「上記がない場合、負荷の低いアダプタで処理」)。
なお、上述のような負荷の低い物理アダプタ60が存在しなかった場合には、振分け機構42が、占有モードで使用している現用系の物理アダプタ60を共有モードにして、その物理アダプタ60にそのARPリクエストを振り分けるようにしても良い。
そして振分け機構42は、最終的にARPリクエストを振り分けるべき物理アダプタ60を見つけ出すことができなかった場合には、そのARPリクエストを通さない、つまりARPリクエストの振分け先となる物理アダプタ60がないことを管理サーバ2に通知する(図13の「通さない」)。
なお、各仮想サーバ55における待機系の仮想アダプタ61からは、現用系の仮想アダプタ61に割り当てられた物理アダプタ60の障害の有無に関わりなく、死活監視リクエスト以外の各種管理パケットが発行される。この場合、これら管理パケットはパケットサイズが小さいため、リクエストのパケットサイズの大小や多少によって、リクエストの振分け先を決定することも可能である(図13の「リクエスト識別子6」の振分け指示欄85C及び「リクエスト識別子7」の振分け指示欄85C参照)。これにより判断が速くなったり、死活監視リクエスト以外の管理パケットにも対応することが可能になる。
(1−3)本実施の形態による振分け処理に関する各種処理
(1−3−1)リクエスト振分け処理
次に、かかる本実施の形態による振分け処理に関する各種処理の具体的な処理内容について説明する。なお、以下においては、各種処理の処理主体を「プログラム」として説明する場合があるが、実際上は、そのプログラムに基づいて、管理サーバ2のCPU20又は物理サーバ4のCPU30がその処理を実行することは言うまでもない。
図14は、かかる振分け処理に関連して物理サーバ4の仮想化機構40の制御プログラム群35において実行される振分け処理の一連の流れを示す。
かかる制御プログラム群35では、自物理サーバ4上で稼働するいずれかの仮想サーバ55の待機系の仮想アダプタ61からリクエストが発行されるのをリクエスト検出プログラム80(図4)が待ち受けている。そしてリクエスト検出プログラム80がいずれかの仮想サーバ55の待機系の仮想アダプタ61から何らかのリクエストが発行されたことを検出すると、これを契機として、その仮想アダプタ61に割り当てられている物理アダプタ60に障害が発生しているか否かを障害判定プログラム81(図4)が判定する(SP1)。
ここで、この判定において否定結果(障害が発生していない)を得ることは、そのときリクエスト検出プログラム80が検出したリクエストは、死活監視リクエスト又は他の管理用のリクエストであることを意味する。かくしてこのとき障害判定プログラム81は、そのリクエストを振分けプログラム83に渡たす。そして、振分けプログラム83は、この後、図16について後述する振分け処理を実行する(SP7)。
これに対してステップSP1の判定において肯定結果(障害が発生している)を得ることは、そのときのリクエスト発行元の仮想サーバ55の現用系の仮想アダプタ61に割り当てられている物理アダプタ60に障害が発生していることを意味する。かくしてこのとき障害判定プログラム81は、その旨の通知を管理サーバ通信プログラム82(図4)を介して管理サーバ2に送信する(SP2)。
また障害判定プログラム81は、この後、アダプタ管理テーブル84(図12)を参照して、リクエスト発行元の仮想サーバ55におけるリクエスト発行元の仮想アダプタ61を特定し(SP3)、さらに待機系の物理アダプタ60に余剰があるか否か(いずれの仮想サーバ55の待機系の仮想アダプタ61にも高い優先度で使用する物理デバイスとして設定されていない待機系の物理アダプタ60が存在するか否か)を判定する(SP4)。
そして障害判定プログラム81は、待機系の物理アダプタ60に余剰がないと判定した場合には、その旨の通知(以下、これを判断要求通知と呼ぶ)を管理サーバ2に送信することにより、かかるリクエストを振り分けるべき待機系の物理アダプタ60を管理サーバ2に問い合わせる(SP5)。かくして管理サーバ2は、かかる判断要求通知を受信すると、図17について後述する振分け先判断処理に従ってリクエスト発行元の仮想アダプタ61にどの物理アダプタ60を割り当てるかを判断し、その判断結果でなる後述の振分け条件を障害判定プログラム81に通知する。
ここで、振分け条件とは、後述のようにリクエスト発行元の仮想アダプタ61に割り当てる物理アダプタ60の候補を含む情報である。リクエスト発行元の仮想アダプタ61に割り当てる物理アダプタ60の候補としては、例えば、優先順位が最も低い業務を実行している仮想サーバ55の仮想アダプタ61に割り当てられている待機系の物理アダプタ60や、そのとき負荷が最も低い又は低負荷状態が継続している仮想アダプタ61に割り当てられている待機系の物理アダプタ60が挙げられる。また、優先順位の高い業務を実行している他の仮想サーバ55の仮想アダプタ61に待機系の物理アダプタ60がすべて割り当て済みの場合や、SLA要件を満たせないときには物理アダプタ60を割り当てないという判断もあり得る。
そして障害判定プログラム81は、管理サーバ2から送信される上述の振分け条件を受信すると、リクエスト発行元の仮想サーバ55のリクエスト発行元の仮想アダプタ61に割り当てる物理アダプタ60を決定すると共に、リクエスト種別管理テーブル85を参照して、当該物理アダプタ60にリクエストを振り分ける際の振分け条件を振分けプログラム83に設定する。また障害判定プログラム81は、そのリクエストを振分けプログラム83に転送する(SP6)。
かくして、振分けプログラム83は、ステップSP6において設定された振分け条件及びリクエスト種別管理テーブル85(図13)において規定されたリクエスト種別ごとの処理方法に従って、そのとき障害判定プログラム81から転送されたリクエストを対応する物理アダプタ60に振り分ける(SP7)。
これにより、物理サーバ4の制御プログラム群35における一連のリクエスト振分け処理が終了する。
(1−3−2)障害判定処理
一方、図15は、図14のステップSP1において障害判定プログラム81により実行される障害判定処理の具体的な処理手順を示す。この図15は、リクエスト検出プログラム80が受け付けたリクエストが、死活監視リクエスト、又は予め定められた閾値(以下、これを管理パケット判定閾値と呼ぶ)以下のパケットサイズのリクエストのときには障害が発生していないと判断し、これ以外のときには障害が発生していると障害判定プログラム81が判断する場合の一例である。
すなわち障害判定プログラム81は、いずれかの仮想アダプタ61からのリクエストをリクエスト検出プログラム80が検出すると、この障害判定処理を開始し、まず、そのリクエストが死活監視リクエストであるか否かを判断する(SP10)。そして障害判定プログラム81は、この判断において肯定結果を得ると、この障害判定処理を終了して図14について上述したリクエスト振分け処理のステップSP7に進む。
これに対して障害判定プログラム81は、ステップSP10の判断において否定結果を得ると、そのリクエストのサイズが上述の管理パケット判定用閾値よりも大きいか否かを判断する(SP11)。
そして障害判定プログラム81は、この判断において肯定結果を得ると、障害が発生したと判断して、アダプタ管理テーブル84(図12)における対応するエントリのステータス欄84H(図12)に格納されているステータスを更新する(SP12)。そして障害判定プログラム81は、この後、この障害判定処理を終了して図14について上述したリクエスト振分け処理のステップSP2に進む。
これに対して障害判定プログラム81は、ステップSP11の判断において否定結果を得ると、障害が発生していないと判断し、この障害判定処理を終了してリクエスト振分け処理のステップSP7に進む。
(1−3−3)振分け処理
他方、図16は、図14のステップSP7において振分けプログラム83により実行される振分け処理の具体的な処理手順を示す。
振分けプログラム83は、いずれかの仮想アダプタ61からのリクエストを障害判定プログラム81から与えられると、この振分け処理を開始し、まず、アダプタ管理テーブル84を参照して、振分け先の物理アダプタ60のステータスが「障害」となっているか否かを判断する。
そして振分けプログラム83は、この判断において肯定結果を得ると、図14のステップSP6において高い優先度で利用するように設定された物理アダプタ60にそのリクエストを振り分ける(SP21)。そして振分けプログラム83は、この後、この振分け処理を終了する。
これに対して振分けプログラム83は、ステップSP20の判断において否定結果を得ると、待機系の物理アダプタ60のうち、いずれの仮想アダプタ61にも高い優先度で使用するように設定されていない、いずれかの待機系の物理アダプタ60にリクエストを振り分ける(SP22)。そして振分けプログラム83は、この後、この振分け処理を終了する。
(1−3−4)振分け設定処理
図17は、物理サーバ4の仮想化機構40から上述の判断要求通知を受信した管理サーバ2の振分け設定プログラム70(図2)により実行される振分け設定処理の処理手順を示す。
振分け設定プログラム70は、かかる判断要求通知を受信すると、この振分け設定処理を開始し、まず、業務及びSLA管理テーブル76(図2)を参照して、既に物理アダプタ60が高い優先度で使用できるように割り当てられている仮想アダプタ61の中から、そのときのリクエスト発行元の仮想アダプタ61と当該物理アダプタ60を共有すべき仮想アダプタ61と、当該リクエスト発行元の仮想アダプタ61との組(以下、これを振分け条件と呼ぶ)を優先順位や計算機資源の使用量及び使用頻度などから決定する(SP30)。
かかる振分け条件の決定方法としては、例えば、優先順位が高い業務を実行する仮想サーバ55の仮想アダプタ61と、優先順位が低い業務を実行する仮想サーバ55の仮想アダプタ61と組み合わせる方法や、計算機資源の使用量や使用頻度が高い業務を実行する仮想サーバ55の仮想アダプタ61と、計算機資源の使用量や使用頻度が低い業務を実行する仮想サーバ55の仮想アダプタ61とを組み合わせる方法、ベストエフォート型の業務を実行する仮想サーバ55の仮想アダプタ61のみを組み合わせる方法などがある。
また、ある現用系の仮想アダプタ61に割り当てられている物理アダプタ60の割当てモードを占有モードから共有モードに変更して、その物理アダプタ60をリクエスト発行元の仮想アダプタ61に割り当てるように、振分け条件を決定する方法も考えられる。この際、かかる物理アダプタ60としては、使用率や使用頻度が低いものが対象となる。また繁忙期でない休閑期の業務を実行する仮想サーバ55の現用系の仮想アダプタ61に割り当てられている物理アダプタ60から融通するという方法も考えられる。さらにそのような物理アダプタ60が存在しない場合には、その仮想アダプタ61に物理アダプタ60を割り当てないという方法も考えられる。
続いて、振分け設定プログラム70は、上述のようにして設定した振分け条件を仮想化機構40の振分け機構42に通知し(SP31)、さらに管理サーバ2のメモリ21に格納された管理テーブル群25を構成する物理サーバ管理テーブル73及び又は仮想サーバ管理テーブル74を必要に応じて更新する(SP32)。そして振分け設定プログラム70は、この後、この振分け設定処理を終了する。
(1−4)本実施の形態の効果
以上のように本実施の形態による計算機システム1では、待機系の物理アダプタ60がすべていずれかの仮想アダプタ61に高い優先度で使用する設定に割り当てられている場合には、これら優先度の高い待機系の物理アダプタ60の処理の隙間を見つけて、他の仮想アダプタ61のリクエストを割り込ませるようにしているため、障害があった物理アダプタ60が割り当てられている仮想サーバ55が実行している業務以外の他の業務に影響なく、当該仮想サーバ55が実行している業務を救済することができる。かくするにつき、より多くの業務を救済しつつ、可能な限り性能を維持し得る可用性の高い計算機システムを実現できる。
(2)第2の実施の形態
第1の実施の形態においては、図14について上述したリクエスト振分け処理のステップSP4において物理アダプタ60に余剰がないと障害判定プログラム71が判断したときに、そのリクエストを割り込ませる物理アダプタ60を管理サーバ2が判断していたが、この判断の一部を物理サーバ4の振分け機構42が行うこともできる。
すなわち、リクエスト振分け処理のステップSP4において物理アダプタ60に余剰がないと障害判定プログラム71が判断したときに、仮想アダプタ61からのリクエストのリクエスト種別を振分け機構42が判定し、そのリクエストの処理負荷が軽いときや、いずれかの仮想アダプタ61が高い優先度で使用する設定がなされている待機系の物理アダプタ60に空き帯域がある場合などの処理を割り込ませる余裕があるときに、かかるリクエストを余裕がある物理アダプタ60に割り込ませる方法である。
この方法によれば、第1の実施の形態と同様により、待機系の物理アダプタ60に余剰がない状態で、重要度の高い業務を担当の仮想サーバ55の現用系の仮想アダプタ61に割り当てられていた物理アダプタ60に障害が発生した場合にも、その重要度の高い業務が停止することを防ぐことが可能である。
この方法を活用できるシーンとしては、他の仮想アダプタ61が発行する死活監視リクエストや、予め利用者が設定している閾値よりも少量のリクエストや、高い優先度で使用している仮想アダプタ61の帯域使用量を鑑みて性能劣化を生じさせない(例えば、閾値設定をしておく、監視プログラムなどで応答時間を計測しておきSLA違反しない範囲など)場合が考えられる。これらに対応することで、待機系の物理アダプタ60で処理を交替した業務以外の他の業務も救済することが可能になる。さらに、物理アダプタ60を増やす必要がないため、本発明の効果である「仮想化環境における高可用システムを安価に提供」することが可能になる。
図18は、以上を考慮した第2の実施の形態によるリクエスト振分け処理の処理手順を示す。本実施の形態の場合、物理サーバ4の振分け機構40は、ステップSP40〜ステップSP43の処理を図14について上述した第1の実施の形態によるリクエスト振分け処理のステップSP1〜ステップSP4と同様に処理する。
そしてステップSP43の判断において肯定結果が得られた場合には、この後ステップSP46及びステップSP47の処理が第1の実施の形態によるリクエスト振分け処理のステップSP6及びステップSP7と同様の処理が行われ、この後、物理サーバ4の制御プログラム群35における一連のリクエスト振分け処理が終了する。
これに対してステップSP43の判断において否定結果が得られた場合、障害判定プログラム81は、アダプタ管理テーブル84(図12)及びリクエスト種別管理テーブル85(図13)を参照して、いずれかの仮想アダプタ61に高い優先度で使用するように設定された待機系の物理アダプタ60の中に、そのリクエストを割り込ませ得る物理アダプタ60が存在するか否かを判断する(SP44)。具体的に、障害判定プログラム81は、そのリクエストの処理負荷や、いずれかの仮想アダプタ61が高い優先度で使用する設定がなされている待機系の物理アダプタ60に空き帯域があるか否かなどを考慮してこの判断を行う。
そして障害判定プログラム81は、この判断において肯定結果を得ると、そのリクエストを割り込ませるべき物理アダプタ60を決定し、決定した物理アダプタ60を当該リクエストの振分け先として振分けプログラム83に通知すると共に、そのリクエストを振分けプログラム83転送する(SP48)。
これに対して障害判定プログラム81は、ステップSP44の判断において否定結果を得ると、管理サーバ2に判断要求通知を管理サーバ2に送信することにより、かかるリクエストを振り分けるべき待機系の物理アダプタ60を管理サーバ2に問い合わせる(SP45)。かくして管理サーバ2は、かかる判断要求通知を受信すると、第1の実施の形態と同様にして、リクエスト発行元の仮想アダプタ61にどの物理アダプタ60を割り当てるかを判断し、その判断結果を振分け条件として障害判定プログラム81に通知する。
そして障害判定プログラム81は、管理サーバ2から送信される上述の振分け条件を受信すると、リクエスト発行元の仮想サーバ55のリクエスト発行元の仮想アダプタ61に割り当てる物理アダプタ60を決定すると共に、リクエスト種別管理テーブル85を参照して、当該物理アダプタ60にリクエストを振り分ける際の振分け条件を振分けプログラム83に設定する。また障害判定プログラム81は、そのリクエストを振分けプログラム83に転送する(SP46)。
かくして、振分けプログラム83は、ステップSP6において設定された振分け条件及びリクエスト種別管理テーブル85(図13)において規定されたリクエスト種別ごとの処理方法に従って、そのとき障害判定プログラム81から転送されたリクエストを対応する物理アダプタ60に振り分ける(SP47)。
そしてこの後、物理サーバ4の制御プログラム群35における一連のリクエスト振分け処理が終了する。
以上のように本実施の形態においては、物理アダプタ60に余剰はないが、そのリクエストの処理負荷が軽いときや、いずれかの仮想アダプタ61が高い優先度で使用する設定がなされている待機系の物理アダプタ60に空き帯域がある場合などの処理を割り込ませる余裕があるときには、かかるリクエストを余裕がある物理アダプタ60に割り込ませるようにしているため、第1の実施の形態と同様に、障害があった物理アダプタ60が割り当てられている仮想サーバ55が実行している業務以外の他の業務に影響なく、当該仮想サーバ55が実行している業務を救済することができる。かくするにつき、より多くの業務を救済しつつ、可能な限り性能を維持し得る可用性の高い計算機システムを実現できる。
(3)第3の実施の形態
待機系の仮想アダプタ61をグループ化し、グループごとに優先順位付けを行うことで、例えばあるシステムを構成する複数の業務が等しく救済することが可能になる。ある業務だけが優先的に救済されるのではなく、その業務と別の業務を救済することで、システムとして救済することが可能になる。このような場合、多くは一方だけを救済するだけでは不十分で、他方も同時に救うことで冗長構成の意味を成す。グループの種別としては、ユーザ種別・役割種別・業務種別・アプリケーション種別・OS種別・VM種別・ハードウェア種別などの計算機システムおよび計算機システムの運用に類する項目であれば、単独または組み合わせることにより、上記の効果を得ることが可能である。種別に関する情報は、管理テーブル群25または管理テーブル群36に格納される。
(4)第4の実施の形態
障害発生を契機として、待機系の物理アダプタ60が接続されている外部スイッチ(例えば管理用ネットワーク3、または業務用ネットワーク5に接続)のポートを、特定の設定(例えば、セキュリティ設定など)へ変更したり、現用の物理アダプタ60が接続されているポートの設定(例えば、セキュリティ設定など)を継承させる。管理サーバ2が指示しても良いし、振分け機構42が指示しても良い。これにより、現用の物理アダプタ60と同じセキュリティ強度を実現できたり、QoS(Quality of Service)設定をすることで同じ性能を実現できたり、VLAN(Virtual Local Area Network)設定やSANセキュリティ設定をすることで正常に接続することが可能になる。
(5)他の実施の形態
なお上述の実施の形態においては、本発明を図1のように構成された計算機システム1に適用するようにした場合について述べたが、本発明はこれに限らず、冗長化を目的として仮想デバイスを多重構成としたこの他種々の構成の計算機システムに広く適用することができる。
また上述の実施の形態においては、現用系の仮想アダプタ61に割り当てられた物理アダプタ60に障害が発生した仮想サーバ55の待機系の仮想アダプタ61に対して待機系の物理アダプタ60を割り当てる場合についてのみ述べたが、例えば、かかる待機系の物理アダプタ60に障害が発生したときには、さらに他の待機系の物理アダプタ60を高い優先度で使用する物理アダプタとしてその待機系の仮想アダプタ61に割り当てるようにしても良い。
冗長化を目的として仮想デバイスを多重構成としたこの他種々の構成の計算機システムに広く適用することができる。
1……計算機システム、2……管理サーバ、3……管理用ネットワーク、4……物理サーバ、5……業務用ネットワーク、6……ストレージサブシステム、20,30……CPU、21,31……メモリ、22,33……ネットワークインタフェース、23,33……ディスクインタフェース、24,35……制御プログラム群、25,36……管理テーブル群、40……仮想化機構、42……振分け機構、53……仮想ネットワークインタフェース、54……仮想ディスクインタフェース、55……仮想サーバ、60……物理アダプタ、61……仮想アダプタ、70……振分け設定プログラム、71……障害判定プログラム、72……ネットワークトポロジ収集プログラム、73……物理サーバ管理テーブル、74……仮想サーバ管理テーブル、75……OS管理テーブル、76……業務及びSLA管理テーブル、77……システム管理テーブル、80……リクエスト検出プログラム、81……障害判定プログラム、82……管理サーバ通信プログラム、83……振分けプログラム、84……アダプタ管理テーブル、85……リクエスト種別管理テーブル。

Claims (16)

  1. 物理サーバを有する計算機システムにおいて、
    前記物理サーバは、
    現用系及び待機系の物理デバイスと、
    前記現用系の物理デバイスを仮想化してなる現用系の仮想デバイス、及び、前記待機系の物理デバイスを仮想化してなる待機系の仮想デバイスをそれぞれ有する複数の仮想サーバを提供する仮想化機構とを備え、
    前記仮想化機構は、
    前記仮想サーバの前記現用系の仮想デバイスには前記現用系の物理デバイスを占有で割り当て、前記仮想サーバの前記待機系の仮想デバイスには前記仮想系の物理デバイスを共有で割り当て、前記仮想サーバの現用系又は待機系の仮想デバイスから発行されたリクエストを、当該現用系又は待機系の仮想デバイスに割り当てた現用系又は待機系の物理デバイスに振り分ける機能を有し、
    前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生した場合には、
    当該仮想サーバの前記待機系の仮想デバイスに対して、いずれの前記仮想サーバの前記待機系の仮想デバイスにも高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスを、当該待機系の仮想デバイスが、他の待機系の前記仮想デバイスよりも高い優先度で使用する物理デバイスとして設定すると共に、
    前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストを当該仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける
    ことを特徴とする計算機システム。
  2. 前記仮想化機構は、
    他の仮想サーバの前記待機系の仮想デバイスから発行される前記リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスに振り分ける一方、
    いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しないときには、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける
    ことを特徴とする請求項1に記載の計算機システム。
  3. 前記物理サーバを管理する管理サーバをさらに備え、
    前記仮想化機構は、
    前記他の仮想サーバの前記待機系の仮想デバイスから前記リクエストが発行されたときに、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しないときには、当該リクエストを振り分けるべき前記待機系の物理デバイスを前記管理サーバに問い合わせ、
    前記管理サーバは、
    各前記仮想サーバが実行する業務の優先順位に基づいて、当該リクエストを振り分けるべき前記待機系の物理デバイスを判断し、判断結果を前記仮想化機構に通知し、
    前記仮想化機構は、
    前記管理サーバの判断結果に基づいて、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける
    ことを特徴とする請求項1に記載の計算機システム。
  4. 前記仮想化機構は、
    前記他の仮想サーバの前記待機系の仮想デバイスから前記リクエストが発行されたときに、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しない場合であって、いずれかの前記仮想サーバの前記待機系の仮想アダプタが高い優先度で使用する物理アダプタとして設定された前記待機系の物理アダプタの中に、当該リクエストを割り込ませることができる前記待機系の物理アダプタが存在するときには、当該リクエストを当該待機系の物理アダプタに割り込ませ、当該リクエストを割り込ませることができる前記待機系の物理アダプタが存在しないときには、当該リクエストを振り分けるべき前記待機系の物理デバイスを前記管理サーバに問い合わせる
    ことを特徴とする請求項3に記載の計算機システム。
  5. 前記物理サーバを管理する管理サーバ及び又は当該物理サーバからのデータを読み書きするための記憶領域を提供するストレージ装置をさらに備え、
    前記現用系及び待機系の物理デバイスは、
    前記管理サーバ又は前記ストレージ装置と通信を行うためのアダプタである
    ことを特徴とする請求項1に記載の計算機システム。
  6. 前記仮想化機構は、
    前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストの種別に基づいて、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生したか否かを判断する
    ことを特徴とする請求項1に記載の計算機システム。
  7. 前記仮想化機構は、
    いずれかの前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストが死活監視用のリクエストであったとき、又は、前記待機系の仮想デバイスから発行されたリクエストのパケットサイズが閾値よりも小さいとき以外のときには、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生したと判断する
    ことを特徴とする請求項6に記載の計算機システム。
  8. 前記仮想化機構は、
    いずれかの前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストが死活監視用のリクエストであって、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理アダプタとして設定されていない前記待機系の物理アダプタが存在するときには、当該リクエストを当該待機系の物理アダプタに振り分け、
    いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理アダプタとして設定されていない前記待機系の物理アダプタが存在しないときには、当該リクエストを、優先順位が最も低い業務を実行する前記仮想サーバの前記待機系の仮想アダプタが高い優先度で使用する物理アダプタとして設定された前記待機系の物理アダプタ、又は、負荷が最も低い前記待機系の物理アダプタに振り分ける
    ことを特徴とする請求項7に記載の計算機システム。
  9. 物理サーバを有する計算機システムの可用化方法において、
    前記物理サーバは、
    現用系及び待機系の物理デバイスと、
    前記現用系の物理デバイスを仮想化してなる現用系の仮想デバイス、及び、前記待機系の物理デバイスを仮想化してなる待機系の仮想デバイスをそれぞれ有する複数の仮想サーバを提供する仮想化機構とを有し、
    前記仮想化機構が、前記仮想サーバの前記現用系の仮想デバイスには前記現用系の物理デバイスを占有で割り当て、前記仮想サーバの前記待機系の仮想デバイスには前記仮想系の物理デバイスを共有で割り当て、前記仮想サーバの現用系又は待機系の仮想デバイスから発行されたリクエストを、当該現用系又は待機系の仮想デバイスに割り当てた現用系又は待機系の物理デバイスに振り分ける第1のステップと、
    前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生した場合には、当該仮想サーバの前記待機系の仮想デバイスに対して、いずれの前記仮想サーバの前記待機系の仮想デバイスにも高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスを、当該待機系の仮想デバイスが他の待機系の前記仮想デバイスよりも高い優先度で使用する物理デバイスとして設定すると共に、前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストを当該仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける第2のステップと
    を備えることを特徴とする計算機システムの可用化方法。
  10. 前記第2のステップでは、
    他の仮想サーバの前記待機系の仮想デバイスから発行される前記リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスに振り分ける一方、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しないときには、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける
    ことを特徴とする請求項9に記載の計算機システムの可用化方法。
  11. 前記計算機システムは、
    前記物理サーバを管理する管理サーバをさらに備え、
    前記第2のステップは、
    前記仮想化機構が、前記他の仮想サーバの前記待機系の仮想デバイスから前記リクエストが発行されたときに、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しないときには、当該リクエストを振り分けるべき前記待機系の物理デバイスを前記管理サーバに問い合わせる問合わせステップと、
    前記管理サーバが、各前記仮想サーバが実行する業務の優先順位に基づいて、当該リクエストを振り分けるべき前記待機系の物理デバイスを判断し、判断結果を前記仮想化機構に通知する判断ステップと、
    前記仮想化機構が、前記管理サーバの判断結果に基づいて、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける振分けステップとを備える
    ことを特徴とする請求項9に記載の計算機システムの可用化方法。
  12. 前記問合わせステップでは、
    前記仮想化機構が、前記他の仮想サーバの前記待機系の仮想デバイスから前記リクエストが発行されたときに、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しない場合であって、いずれかの前記仮想サーバの前記待機系の仮想アダプタが高い優先度で使用する物理アダプタとして設定された前記待機系の物理アダプタの中に、当該リクエストを割り込ませることができる前記待機系の物理アダプタが存在するときには、当該リクエストを当該待機系の物理アダプタに割り込ませ、当該リクエストを割り込ませることができる前記待機系の物理アダプタが存在しないときには、当該リクエストを振り分けるべき前記待機系の物理デバイスを前記管理サーバに問い合わせる
    ことを特徴とする請求項11に記載の計算機システムの可用化方法。
  13. 前記計算機システムは、
    前記物理サーバを管理する管理サーバ及び又は当該物理サーバからのデータを読み書きするための記憶領域を提供するストレージ装置をさらに備え、
    前記現用系及び待機系の物理デバイスは、
    前記管理サーバ又は前記ストレージ装置と通信を行うためのアダプタである
    ことを特徴とする請求項9に記載の計算機システムの可用化方法。
  14. 前記第2のステップでは、
    前記仮想化機構は、前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストの種別に基づいて、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生したか否かを判断する
    ことを特徴とする請求項9に記載の計算機システムの可用化方法。
  15. 前記第2のステップでは、
    前記仮想化機構は、いずれかの前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストが死活監視用のリクエストであったとき、又は、前記待機系の仮想デバイスから発行されたリクエストのパケットサイズが閾値よりも小さいとき以外のときには、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生したと判断する
    ことを特徴とする請求項14に記載の計算機システムの可用化方法。
  16. 前記第2のステップにおいて、前記仮想化機構は、
    いずれかの前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストが死活監視用のリクエストであったときには、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理アダプタとして設定されていない前記待機系の物理アダプタが存在するときには、当該待機系の物理アダプタに振り分け、
    いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理アダプタとして設定されていない前記待機系の物理アダプタが存在しないときには、当該リクエストを、優先順位が最も低い業務を実行する前記仮想サーバの前記待機系の仮想アダプタが高い優先度で使用する物理アダプタとして設定された前記待機系の物理アダプタ、又は、負荷が最も低い前記待機系の物理アダプタに振り分ける
    ことを特徴とする請求項15に記載の計算機システムの可用化方法。
JP2010000609A 2010-01-05 2010-01-05 計算機システム及びその可用化方法 Expired - Fee Related JP5282046B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010000609A JP5282046B2 (ja) 2010-01-05 2010-01-05 計算機システム及びその可用化方法
PCT/JP2010/001535 WO2011083522A1 (ja) 2010-01-05 2010-03-05 計算機システム及びその可用化方法
US13/388,948 US8874952B2 (en) 2010-01-05 2010-03-05 Computer system and availability method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010000609A JP5282046B2 (ja) 2010-01-05 2010-01-05 計算機システム及びその可用化方法

Publications (2)

Publication Number Publication Date
JP2011141609A JP2011141609A (ja) 2011-07-21
JP5282046B2 true JP5282046B2 (ja) 2013-09-04

Family

ID=44305269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010000609A Expired - Fee Related JP5282046B2 (ja) 2010-01-05 2010-01-05 計算機システム及びその可用化方法

Country Status (3)

Country Link
US (1) US8874952B2 (ja)
JP (1) JP5282046B2 (ja)
WO (1) WO2011083522A1 (ja)

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013051136A1 (ja) * 2011-10-06 2013-04-11 株式会社日立製作所 仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ
JP5667552B2 (ja) * 2011-12-08 2015-02-12 株式会社日立製作所 仮想計算機システム、仮想計算機管理プログラム、及びmacアドレス管理方法
JP5949782B2 (ja) * 2011-12-28 2016-07-13 富士通株式会社 監視プログラム、監視方法および監視装置
JP5492253B2 (ja) * 2012-06-11 2014-05-14 日本電信電話株式会社 制御装置、制御方法および制御プログラム
US20140149559A1 (en) * 2012-11-29 2014-05-29 Inside Secure Virtual private network (vpn) system utilizing configuration message including vpn character configuration string
US20150326495A1 (en) * 2012-12-14 2015-11-12 Nec Corporation System construction device and system construction method
JP6149444B2 (ja) * 2013-03-15 2017-06-21 日本電気株式会社 アプリケーション起動制御方法とシステムと装置とプログラム
GB2536515A (en) * 2013-11-28 2016-09-21 Hitachi Ltd Computer system, and a computer system control method
US9262351B2 (en) * 2014-03-27 2016-02-16 International Business Machines Corporation Inter-adapter cooperation for multipath input/output systems
WO2016013199A1 (ja) * 2014-07-22 2016-01-28 日本電気株式会社 仮想化基盤管理装置、仮想化基盤管理システム、仮想化基盤管理方法、及び、仮想化基盤管理プログラムが記録された記録媒体
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US10048974B1 (en) * 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US10310890B2 (en) * 2014-11-28 2019-06-04 Hitachi, Ltd. Control method for virtual machine system, and virtual machine system
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US10122649B2 (en) * 2015-08-26 2018-11-06 Vmware, Inc. Methods and apparatus to manage and execute actions in computing environments based on a routing path
US10110505B2 (en) 2015-08-26 2018-10-23 Vmware, Inc. Methods and apparatus to manage and execute actions in computing environments using a graphical user interface
US10108455B2 (en) 2015-08-26 2018-10-23 Vmware, Inc. Methods and apparatus to manage and execute actions in computing environments based on a type of virtual compute node
US9928108B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments
US10042660B2 (en) 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
JP6840099B2 (ja) * 2018-02-19 2021-03-10 日本電信電話株式会社 サービス提供システム、資源割り当て方法、及び資源割り当てプログラム
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
JP7106953B2 (ja) 2018-04-10 2022-07-27 富士通株式会社 サーバ切り替えプログラム、サーバ切り替え方法、及びサーバ切り替えシステム
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2712861B2 (ja) 1991-03-26 1998-02-16 三菱電機株式会社 飛しょう体の誘導制御装置
JP2005216151A (ja) * 2004-01-30 2005-08-11 Hitachi Ltd 資源運用管理システム及び資源運用管理方法
JP4544146B2 (ja) * 2005-11-29 2010-09-15 株式会社日立製作所 障害回復方法
JP4542514B2 (ja) * 2006-02-13 2010-09-15 株式会社日立製作所 計算機の制御方法、プログラム及び仮想計算機システム
JP4923990B2 (ja) * 2006-12-04 2012-04-25 株式会社日立製作所 フェイルオーバ方法、およびその計算機システム。
JP4295783B2 (ja) * 2006-12-13 2009-07-15 株式会社日立製作所 計算機、仮想デバイスの制御方法
US8775587B2 (en) * 2007-05-18 2014-07-08 International Business Machines Corporation Physical network interface selection to minimize contention with operating system critical storage operations
JP4902501B2 (ja) * 2007-11-12 2012-03-21 株式会社日立製作所 電力制御方法、計算機システム、及びプログラム
JP4448878B2 (ja) * 2007-12-06 2010-04-14 株式会社日立製作所 障害回復環境の設定方法
US8719624B2 (en) * 2007-12-26 2014-05-06 Nec Corporation Redundant configuration management system and method
JP5192226B2 (ja) * 2007-12-27 2013-05-08 株式会社日立製作所 待機系計算機の追加方法、計算機及び計算機システム
JP4636625B2 (ja) * 2008-01-25 2011-02-23 株式会社日立情報システムズ 仮想ネットワークシステムのnic接続制御方法と仮想ネットワークのnic接続制御システムおよびプログラム
JP2009266106A (ja) * 2008-04-28 2009-11-12 Hitachi Ltd 管理装置及び管理方法

Also Published As

Publication number Publication date
JP2011141609A (ja) 2011-07-21
US8874952B2 (en) 2014-10-28
WO2011083522A1 (ja) 2011-07-14
US20120131379A1 (en) 2012-05-24

Similar Documents

Publication Publication Date Title
JP5282046B2 (ja) 計算機システム及びその可用化方法
US11663029B2 (en) Virtual machine storage controller selection in hyperconverged infrastructure environment and storage system
EP2667569B1 (en) Fabric-distributed resource scheduling
JP5489601B2 (ja) 物理及び仮想マルチパス入出力を動的に管理する方法、装置、システム、及びプログラム
US8874749B1 (en) Network fragmentation and virtual machine migration in a scalable cloud computing environment
US8914546B2 (en) Control method for virtual machine and management computer
JP5011073B2 (ja) サーバ切り替え方法、およびサーバシステム
JP6458146B2 (ja) 計算機及びメモリ領域管理方法
JP2005216151A (ja) 資源運用管理システム及び資源運用管理方法
US9990258B2 (en) Management computer and management program
JP2010257274A (ja) 仮想化環境におけるストレージ管理システム及びストレージ管理方法
JP2009075718A (ja) 仮想i/oパスの管理方法、情報処理システム及びプログラム
JP2014041395A (ja) 計算機システム
US9674078B2 (en) Assigning communication paths among computing devices utilizing a multi-path communication protocol
WO2014054070A1 (en) Management system for managing a physical storage system, method of determining a resource migration destination of a physical storage system, and storage medium
JP5486038B2 (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
JP2021149299A (ja) 計算機システム
US9143410B1 (en) Techniques for monitoring guest domains configured with alternate I/O domains
JP5744259B2 (ja) サーバ切り替え方法、サーバシステム、及び管理計算機
US11947805B2 (en) Load balancing using storage system driven host connectivity management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120302

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: 20130430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5282046

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees