JP2012079245A - 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム - Google Patents

仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム Download PDF

Info

Publication number
JP2012079245A
JP2012079245A JP2010226151A JP2010226151A JP2012079245A JP 2012079245 A JP2012079245 A JP 2012079245A JP 2010226151 A JP2010226151 A JP 2010226151A JP 2010226151 A JP2010226151 A JP 2010226151A JP 2012079245 A JP2012079245 A JP 2012079245A
Authority
JP
Japan
Prior art keywords
volume
virtual
virtual volume
information
computer
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.)
Granted
Application number
JP2010226151A
Other languages
English (en)
Other versions
JP5492731B2 (ja
Inventor
Naoko Ikegaya
直子 池ヶ谷
Tomonori Sekiguchi
知紀 関口
Keisuke Hatasaki
恵介 畑▲崎▼
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 JP2010226151A priority Critical patent/JP5492731B2/ja
Priority to US13/232,808 priority patent/US8473709B2/en
Publication of JP2012079245A publication Critical patent/JP2012079245A/ja
Application granted granted Critical
Publication of JP5492731B2 publication Critical patent/JP5492731B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Abstract

【課題】
計算機管理者が指定したサイズの仮想ディスクボリュームを仮想計算機に割当て、仮想計算機から仮想ディスクボリュームに、ハイパーバイザの介在なしにアクセスすること。
【解決手段】 計算機と、前記計算機上で実行される少なくとも1つ以上の仮想計算機と、前記仮想計算機がデータを格納するボリュームを保持する計算機システムにおいて、仮想化機構が仮想ボリューム割当て部と仮想ボリューム情報提供部を有し、仮想計算機が仮想ボリュームの位置情報を変換する仮想ボリュームドライバを有する。また、前記仮想化機構は、前記仮想ボリュームの情報を、前記仮想ボリュームを割当てた仮想計算機の定義情報とともに保持する。さらに、前記計算機と外部装置を接続するアダプタが、前記仮想ボリュームへのアクセス要求を制御する。仮想計算機から仮想ボリュームの割当てを解除するときには、前記仮想計算機の定義情報とともに保持した仮想ボリュームの情報を削除する。
【選択図】図1

Description

本発明は、仮想計算機を実行する計算機システムに係わり、特に仮想計算機にディスクボリューム内の領域を割当てるボリューム割当て方法に関する。
1台の物理計算機上に複数業務を集約する仮想化技術では、プロセッサやメモリ、入出力装置などのハードウェアリソースの利用効率を上げることが可能である。しかし、計算機システムの構築および構成変更では、サーバ管理者が接続したいストレージの要件をストレージ管理者に通知し、その要件と適合するストレージの設定作業をストレージ管理者が実行している。仮想化技術により、仮想サーバを柔軟に構築できるようになったため、仮想サーバが使用するストレージ設定作業にかかる時間も短縮できることが望ましい。
これを実現する従来技術として、特許文献1には、計算機システムの構築および構成変更において、サーバ計算機に接続されるストレージの管理者またはストレージ管理サーバの介入を不要とする手法が開示されている。すなわち、予めストレージに複数のディスクボリュームを用意し、各ディスクボリュームにダミーのインターフェイス識別子を割り振っておく。インターフェイス識別子は、例えばディスクボリュームにアクセス可能なホストを識別するために用いるHBA(ホストバスアダプタ)用WWN(World Wide Name)である。仮想サーバ設定時に、未使用のディスクボリュームを選択し、そこに割り振られていたWWNを仮想サーバの仮想HBAのWWNと交換設定することにより、仮想サーバの設定とそこに割り当てるディスクボリュームを同時に設定できる。
一方、特許文献2には、物理計算機のディスクボリュームをホスト計算機の仮想ハードディスクファイルへ、物理計算機が実行中である間に変換する技術が開示されている。物理計算機のファイルシステムと一貫性を有するスナップショットを作成し、そのスナップショットを、ホスト計算機にマウントされた仮想ハードディスクファイルへ転送する。次に、仮想ハードディスクファイルおよびオペレーティングシステムに関連する動作情報を、ホスト計算機で仮想計算機をブートして機能するように修正した後、仮想ハードディスクファイルをホスト計算機からアンマウントし、新しい仮想計算機用ディスクボリュームとして使用する。このように、ホスト計算機がファイルとして管理する領域を、仮想計算機にディスクボリュームと見せかけ、仮想計算機からディスクボリュームに、ホスト計算機を経由してアクセスする仮想ディスクファイルがある。ここでホスト計算機をハイパーバイザ(仮想化機構)と同等の機能と見ることもできる。
特開2010−97402号 特表2009−536762号
特許文献1に開示される技術によれば、予め用意しておいた複数のディスクボリュームの中から、仮想計算機に合う容量の未使用のディスクボリュームを選択して仮想計算機に割り当てるため、仮想計算機構築に合わせたストレージ管理者の介入を不要とし、仮想計算機の構築に係る工数、および時間を削減できる。
しかしながら、今後構築される仮想計算機が使用するディスクボリューム数の見極めと、そのディスクボリューム数に十分な数のディスクボリュームを用意しておかなければならず、多数のディスクボリュームの設定が必要である。
また、あらかじめ仮想計算機が必要とするディスク容量は、仮想計算機で実行する業務に合わせて多様であるが、将来実行する業務に合わせたサイズのディスクボリュームを予め用意しておくことはできない。仮に、将来に備えて多様なサイズの多数のディスクボリュームを用意しておくとしても、設定に時間がかかり、仮想計算機に割当てられるのを待機しているディスクボリュームを抱えていなければならない。
一方、特許文献2に開示される方式、すなわち仮想計算機に要求された容量の仮想ハードディスクファイルをホスト計算機が生成して、仮想計算機にディスクボリュームとして使わせる方式を取ると、仮想計算機からディスクボリュームをアクセスするとき、ホスト計算機にアクセス要求を渡さなければならない。ホスト計算機は、ディスクボリュームと仮想ハードディスクファイルの形式および位置変換を実行するため、ホスト計算機の仕事量が増え、業務の妨げになる可能性がある。
このように、仮想計算機の構築に合わせて、業務に合う容量かつ性能の良いディスクボリュームを迅速に用意することが難しい、という問題があった。
本発明は、仮想計算機毎に予めディスクボリュームを用意することなく、仮想計算機の生成時に、必要な大きさのディスクボリュームを、ストレージ内のディスクボリュームから選択および分割して、仮想計算機に割り当てることのできる計算機システムを提供することを目的とする。
上記目的を達成するために、本発明に関わる仮想計算機のボリューム割当て方法およびその方法を用いた計算機システムでは、計算機と、計算機と接続される記憶装置とを備えており、記憶装置は、計算機のデータを格納するボリュームと、ボリュームを論理分割してなる仮想ボリュームとを有し、計算機は、演算部と、記憶部と、仮想化機構の制御により演算部上で動作する仮想計算機と、仮想ボリュームの使用状況および仮想ボリュームの位置情報を管理するボリューム管理情報とを有する。仮想化機構は、仮想ボリューム割当て要求の受信により、仮想計算機へ新たな仮想ボリュームを割当てる仮想ボリューム割当て部を有し、記憶部は、仮想計算機に割当てられた仮想ボリュームを管理する仮想ボリューム情報を有する。そして、仮想ボリューム割当て部は、ボリューム管理情報を参照して、ボリュームの未使用領域を検索し、ボリュームの未使用領域が、仮想ボリューム割当て要求で指定された仮想ボリュームのサイズを満たす場合、ボリュームの未使用領域に新たな仮想ボリュームを割当て、ボリューム管理情報が有する仮想ボリュームの使用状況および仮想ボリュームの位置情報を、新たな仮想ボリュームの割当て後の状態に更新し、仮想ボリューム情報に、新たな仮想ボリュームの情報を追加する。
本発明によれば、計算機が記憶装置のボリュームを論理分割してなる仮想ボリュームを管理し、仮想化機構が仮想ボリューム管理情報に基づいて新たな仮想ボリュームを割り当てるので、サーバ管理者等から指定されたサイズの仮想ディスクボリュームを、必要なタイミングで仮想計算機に割当てることが可能となる。
また、本発明によれば、計算機が仮想ボリュームにアクセスするための仮想ボリュームドライバを有し、仮想ボリュームドライバが、仮想ボリューム上のアクセスアドレスをボリューム上のアクセスアドレスに変換するので、仮想計算機から仮想ディスクボリュームにハイパーバイザの介在なしにアクセスすることができ、アクセス処理が高速化される。
サーバの構成要素を示す図。 計算機システムの構成を示す図。 ストレージ装置の構成要素を示す図。 ボリュームを管理する情報のデータ構造を示す図。 アダプタファームウェアの構成要素を示す図。 仮想ボリュームを管理する情報のデータ構造を示す図。 サーバとストレージ装置が複数台ある場合のシステム構成を示す図。 仮想化機構が仮想計算機に仮想ボリュームを割り当てる手順を示すフローチャート。 仮想ボリュームアクセスをボリュームアクセスに変換する手順を示すフローチャート。 仮想ボリュームを制御する手順を示すフローチャート。 仮想ボリュームを割当てた仮想計算機を、異なるサーバに移動する手順を示した図。 仮想ボリュームを別ボリューム内の領域に移動する手順を示すフローチャート。 仮想計算機への仮想ボリュームの割当てを解除する手順を示すフローチャート。 仮想ボリュームのアクセスからボリュームのアクセス先への変換を示す図。
本発明を適用した第1の実施例を説明する。第1の実施例では、仮想化機構とストレージ装置を含むシステムで、仮想化機構が仮想計算機(VM)に仮想ボリュームを割当て、仮想ボリュームドライバと連携して仮想ボリュームにアクセスする装置の構成、および方法を示す。
図1は、本発明の実施例1のサーバの構成要素を示す図である。
サーバ100は、一般的な構成の物理計算機であり、ファイバチャネルのホストバスアダプタ(HBA)110とネットワークインタフェースカード(NIC)120を介して外部に接続する。また、不揮発メモリ150内にデータを保持できる。
サーバ100では、サーバ仮想化を実現する仮想化機構210が動作し、VM200が仮想化機構210上で実行している。VM200は、仮想化機構210が構成した仮想的なNICである仮想NIC220と、仮想的なHBAである仮想HBA230を持っている。仮想NIC220のポートには、固有のMACアドレスを付与する。また、仮想HBA230のポートには、固有のWWNを付与する。WWNやMACアドレスは、外部装置から仮想計算機の仮想アダプタを特定するための固有情報として使用される。
図2は、システム構成を示す図である。本システムは、サーバ100、ストレージ装置300、およびネットワークスイッチ250、管理サーバ290から構成されている。
サーバ100は、図1のHBA110、NIC120、不揮発メモリ150の他、データを取り込む入力装置180、物理計算機の状態やプログラム実行結果を出力する出力装置190、業務処理プログラムやデータを保持するメモリ140、メモリ140に読み込まれた仮想化機構のプログラムやアプリケーションプログラム等を実行するCPU130から構成され、バスを介して接続している。サーバ100には、ブレードシステムにおけるブレードを利用することも可能である。
ストレージ装置300には、ポート351とポート352があり、サーバ100からHBA110を介して接続されている。また、サーバ100のデータを格納するボリューム310があり、ボリューム310は、複数の物理ディスク装置を組み合わせて冗長化させた論理ユニット(LU)であることが一般的である。さらに、管理インタフェース353があり、ネットワーク250を介して管理サーバ290と通信できる。管理サーバ290は、サーバ管理ツールやストレージ管理ツールを実行するサーバである。尚、ストレージ装置300がサーバ100内にあってもよい。
ストレージ装置300を、図3の構成要素を用いて詳細に説明する。
ボリュームセキュリティ情報360は、ボリュームフィールド330と、アクセス可能WWNフィールド340の組の集合である。ボリュームセキュリティは、ストレージエリアネットワーク(SAN)環境等において、無認可のサーバのポートから自サーバが管理するボリュームにアクセスされることを防ぐための手段である。なお、ボリュームセキュリティ情報360は、ストレージ管理インタフェースを通じて指示された情報を元に、ストレージ管理者から登録される。
例えば、ボリューム311とボリューム313に対してサーバがアクセスするには、HBAのポートのWWNは“WWN1”か、“WWN2”か、“WWN3”でなければならない。同様に、ボリューム312にアクセスするWWNは“WWN3”、ボリューム314にアクセスするWWNは“WWN4”でなければならない。
ボリューム311ないし314を使うサーバが決定した時点で、各WWNを設定することになるが、ボリュームセキュリティ情報320に値を設定するには、管理サーバ290からストレージ管理ツールを用いるのが一般的である。サーバ100上でストレージ管理ツールを動作させて設定することもできる。
本実施例では、仮想化機構210が、ボリューム311ないし314の内部領域を、仮想ボリューム321ないし324として、VM200に割り当てる。ボリュームセキュリティ情報360に従い、ボリューム311とボリューム313には、仮想HBA230のポートに“WWN1”か、“WWN2” か、“WWN3”を設定したVM200から仮想ボリューム321をアクセスすることができる。一方、ボリューム312には、仮想HBA230のポートに“WWN3”を設定したVM200から、仮想ボリューム322をアクセスすることができる。この場合、アクセス可能なWWNが1つなので、ボリューム314に仮想ボリューム322を割り当てるVMは1つということになる。同様に、ボリューム314には、仮想HBA230のポートに“WWN4”を設定したVM200から仮想ボリューム322をアクセスすることができる。ここでは、ボリューム314の内部領域を複数に分けて仮想ボリューム324を複数設定するのではなく、ボリューム314をそのまま仮想ボリューム324として使う例を示している。
また、ストレージ装置300には、ボリューム情報370があり、ボリュームフィールド371と、サイズフィールド372と、ポートフィールド373がある。管理インタフェース353からボリュームの生成要求時に、ストレージ装置は、ボリューム311〜314を生成し、ボリュームの識別子をフィールド371に、サイズをフィールド372に、ストレージ装置内でアクセスするときに経由するポート識別子をフィールド373に登録する。
このように、ストレージ装置のボリュームの内部領域を仮想ボリュームとしてVMに割り当てるために、仮想化機構210に仮想ボリューム割当て部800と、仮想ボリューム情報提供部900とがある。
ここで、仮想化機構210が、ストレージ装置のボリュームの内部領域を仮想ボリュームとして、VMに割り当てる手順について説明する。
図8は、仮想化機構210の仮想ボリューム割当て部800の動作を示すフローチャートである。
ステップ810では、VM200への仮想ボリューム割当て要求を受付ける。要求元は、入力装置1
80か、あるいは、管理サーバ290である。ここでは仮想ボリュームのサイズも受け取る。さらに、仮想ボリュームの属性として、ボリュームの信頼性を示す冗長レベルや、ボリュームを丸ごと割り当てるのかどうか、といった情報も受取ることができる。
続いて、ステップ820では、ストレージ装置300内のボリュームのうち、VM200からアクセス可能なボリュームを絞り込む。このとき、図4に示すボリューム管理情報400を用いる。
ここで、ボリューム管理情報400について説明する。ボリューム管理情報400は、ストレージ装置内のボリュームを管理するテーブルである。ボリューム管理情報400は、仮想化機構210によりメモリ140上に作成され、不揮発メモリ150に保存される。フィールド410〜430およびフィールド460の情報は、仮想化機構210が管理サーバ290からの要求コマンドを用いて、ストレージ管理インタフェース353からストレージ装置300にボリューム情報370を問合わせることにより、入手される。フィールド440とフィールド450の初期値は、仮想ボリュームが割り当てられていないことを示す値である。
ストレージ装置番号フィールド410には、ストレージ装置300を識別する情報を格納する。ボリューム番号フィールド420には、ストレージ装置300内のボリュームを識別する情報を格納する。ポート番号フィールド430は、ボリュームへのアクセスパス上のポートを特定する情報を格納する。使用状況フィールド440は、仮想ボリュームを割り当てているか否か示す情報を格納する。仮想ボリュームを割り当てていないときは、空きを示す情報を保持する。仮想ボリュームを割り当てた時は、仮想ボリュームを識別する情報を格納し、ボリューム管理情報400にエントリを追加し、位置情報フィールド450に仮想ボリュームの位置情報を、また、サイズフィールド460に仮想ボリュームのサイズを格納する。サイズフィールド460は、使用状況フィールド440が「空き」を示しているときは、ボリュームサイズを格納しておき、仮想ボリュームを割り当てたときに、割当て分のサイズを差し引いた値に変更する。
上記ステップ820でアクセス可能なボリュームを絞り込むために、ボリューム管理情報400に登録されたボリューム毎に、ボリュームセキュリティ情報360に登録されているアクセス可能なWWNを調べる。そして、VM200の仮想HBA230が使用するWWNがフィールド340に登録してあるボリュームを抽出する。
次に、ステップ830で、ステップ810の仮想ボリューム割当て要求コマンドにおいて仮想ボリュームを割り当てるボリュームの属性が要求されているかどうか、判定する。ここでの判定条件としては、ステップ810で、ボリュームの性質や、ボリューム丸ごとの要求、の指定があるかどうかである。属性指定があると判定すると、ステップ840に進む。一方、属性指定がないと判定すると、ステップ850に進む。
ステップ840では、ステップ820で抽出したボリュームの属性を調べ、属性指定条件を満たすボリュームのみに絞り込む。ボリュームの冗長化レベルが属性として指定されていたら、仮想化機構210がストレージ装置300か管理サーバ290に、ボリュームの冗長化レベルを問い合わせる。尚、予め仮想化機構210がボリュームの属性を入手していれば、絞り込み処理が早くなる。
続いて、ステップ850では、絞り込まれたボリュームの空き領域を検索する。これには、ボリューム管理情報400を用い、絞り込まれたボリュームに対応するサイズフィールド460の値をみる。
ステップ860では、空き領域が十分残っているボリュームを選択する。空き領域があるボリュームが複数見つかった場合には、そこから1つのボリュームに絞り込む。絞り込む条件としては、すでに割り当てられている仮想ボリューム数が少ないこと、空きサイズが大きいこと、又は空き領域が多数の非連続領域に分割されていないか等、を用いる。空き領域が十分あるボリュームが見つかると、ステップ870に進む。一方、条件に合うボリュームがないと判定すると、ステップ875に進み、仮想ボリュームの生成失敗を要求元に返す。
ステップ870では、ボリューム管理情報400を更新する。ここで、新規生成した仮想ボリュームの情報を追加すべく、生成するボリュームを登録したストレージ装置番号フィールド410に対応する使用状況フィールド440に新規仮想ボリュームの識別情報を追加し、位置情報フィールド450に仮想ボリュームのボリューム内での先頭位置を追加し、サイズフィールド460に仮想ボリュームの容量を追加する。仮想ボリュームと生成したことによって、ボリュームの空き容量が減ったので、使用状況フィールド440の「空き」に対応するサイズフィールド460の値を減らす。仮想ボリュームが複数の区画に分割されているときには、フィールド450とフィールド460が複数エントリ登録される。例えば、仮想ボリューム323をボリューム313に割り当てる場合、更新後のボリューム管理情報400内のボリューム313のエントリを、図4の情報401に示す。ここでは、先頭位置ブロックBLK5で示すサイズ20の仮想ボリューム31と、先頭位置ブロックBLK3で示すサイズ20の仮想ボリューム32を割当て、空き領域がサイズ60に減ったことを示す。
続いて、ステップ880では、図6に示すボリューム管理情報600を、新規生成した仮想ボリューム情報のエントリを追加して更新する。
ここで、仮想ボリューム情報600について説明する。仮想ボリューム情報600は、仮想化機構210がメモリ140上に作成し、不揮発メモリ150内にVM定義情報260とともに保存するVM200の仮想ボリュームを管理するテーブルである。また、HBA110内のアダプタファームウェア500内にも、仮想ボリューム情報600のコピーである仮想ボリューム情報600’を置く。
仮想ボリュームフィールド610には、VM200が仮想ボリュームを識別するための情報を格納する。ストレージ装置番号フィールド620には、ストレージ装置300を識別する情報を格納する。ボリューム番号フィールド630には、ストレージ装置300内のボリュームを識別する情報を格納する。ポート番号フィールド640は、ボリュームへのアクセスパス上のポートを特定する情報を格納する。サーバ情報フィールド650は、仮想ボリュームを割り当てた仮想化機構210を特定する情報を格納する。仮想化機構210を識別する情報として、後から、別サーバからの問い合わせを受けられるように、インターネットアドレスを用いる。位置情報フィールド660には仮想ボリュームの位置情報を、また、サイズフィールド670には仮想ボリュームのサイズを格納する。仮想ボリュームが2つ以上の非連続な領域に割り当てられている場合には、位置情報フィールド660とサイズフィールド670に領域数分の情報を格納する。WWNフィールド680には、仮想ボリュームにアクセスする仮想HBA230に割り当てた仮想WWNの値を格納する。
最後に、ステップ890で、要求元に、VM200への仮想ボリュームの割当てが完了したことを報告する。
以上のように、実施例1のサーバでは、仮想化機構210がストレージ装置内のボリュームを管理するボリューム管理情報400を有し、このボリューム管理情報400によりボリューム311、312、313、314の使用領域/未使用領域(空き領域)およびボリュームサイズを管理しているので、VM200への仮想ボリューム割当て要求を受けた仮想化機構210は、ボリューム管理情報400を参照し、要求を満たす未使用領域(空き領域)を見つけることができるので、VM200に仮想ボリュームを割り当てることが可能となる。
次に、VM200上から仮想ボリュームにアクセスするための手順について説明する。図9は、仮想化機構210の仮想ボリューム情報提供部900と、VM200上の仮想ボリュームドライバ240の動作を示すフローチャートである。
ステップ910では、仮想ボリューム情報提供部900が、VM200に仮想ボリューム情報を送信する要求を受付ける。要求元は、入力装置180か、管理サーバ290か、あるいはVM200起動処理を実行中の仮想化機構210である。
続いて、ステップ920では、VM200用の仮想ボリューム情報を、不揮発メモリ150内の仮想ボリューム情報600から取得する。
次にステップ930で、仮想ボリュームドライバ240に、仮想ボリューム情報600を渡し、ステップ940で、仮想ボリュームドライバ240における仮想ボリューム準備処理の完了待ちになる。
仮想ボリュームドライバ240では、ステップ1910で仮想ボリューム情報600を受取ると、ステップ1920で、仮想ボリューム毎の位置情報を抽出する。
そして、ステップ1930では、仮想ボリュームに対応付けられた仮想WWN680が割り当てられた仮想HBA230を、仮想ボリュームドライバ240内にボリュームにアクセス要求を出すときの、ストレージ装置内のボリュームでアクセスするデータブロックを特定する情報とするために、仮想ボリュームに対応付けて、記憶する。
なお、上記ステップ1920で、仮想ボリュームが複数の非連続領域の区画から成るときには、区画毎に先頭位置とサイズを管理してもよい。
次に、ステップ1940では、仮想ボリュームドライバ240が、仮想ボリュームへのアクセス準備が整ったことを、仮想化機構210の仮想ボリューム情報提供部900に返答する。
仮想ボリューム情報提供部900は、ステップ950で、ステップ1940からの報告を受けると処理を終了する。
一方、仮想ボリュームドライバ240は、ステップ1950で、VM200上のプログラムからの仮想ボリュームのアクセスを待つ。
ステップ1960で、仮想ボリュームへのアクセス要求を受けると、ステップ1970で、仮想ボリュームの位置情報を、ボリューム上の領域の位置情報に、変換する。図14に、ボリューム上のアドレスに変換するための計算方法を示す。すなわち、ボリュームの先頭から仮想ボリュームの先頭までの距離と、仮想ボリュームの先頭位置から仮想ボリューム内アクセスブロックまでの距離を加えたものが、ボリューム内のアクセスブロックの位置になる。仮想ボリュームが複数の非連続領域の区画から成るときには、仮想ボリュームの先頭位置と各区画のサイズに合わせる。仮想ボリュームの1回のアクセスが、複数区画のアクセスになる場合には、アクセス数を区画数まで増やす。
尚、ステップ1960で受けた仮想ボリュームアクセス要求が、仮想ボリュームからのブート処理であったときは、ステップ1970で、仮想ボリュームが割り当てられた領域の先頭位置をアクセスするアクセス要求に変換する。
最後に、ステップ1980で、アダプタファームウェア500内の仮想ボリューム制御部1000に処理を移す。
以上により、VM200から仮想ボリュームを割り当てたボリュームにアクセスする用意ができた。尚、仮想ボリュームドライバ240の処理を、HBA110のアダプタファームウェア500で実行してもよい。
次に、仮想ボリュームへのアクセスを制御する手順について説明する。図10は、HBA110のアダプタファームウェア500内の仮想ボリューム制御部1000の動作を示すフローチャートである。
ステップ1010では、仮想ボリューム制御部1000は、アクセス先のボリューム情報を、VM200上のプログラムからの、仮想ボリュームのアクセス要求を受けた仮想ボリュームドライバ240から取得する。ここで取得するボリューム情報とは、ボリュームを識別する情報と、アクセス方法を表す命令である。
続いて、ステップ1020では、アクセス先のボリュームが、仮想ボリュームを割り当てたボリュームかどうかを判定する。この判定では、アダプタファームウェア500内の仮想ボリューム情報600’を用いる。ここで、仮想ボリューム用ボリュームではないと判定すると、ステップ1070に進み、通常のボリュームアクセスとして、特殊命令によるアクセスかどうかや、アクセス領域を判定せずに、ボリュームアクセスを実行する。ステップ1020で、仮想ボリューム用ボリュームへのアクセスだと判定すると、ステップ1030に進む。
ステップ1030では、アクセス方法を表す命令が、データ入出力要求かどうかを判定する。この判定では、アダプタファームウェア500内の特殊命令制御情報510を用いる。
ここで、図5を用いて、特殊命令制御情報510について説明する。特殊命令制御情報510は、アダプタファームウェア500が内部に生成および保持する情報テーブルであり、特殊命令フィールド520と、制御方法指示フィールド530から成る。命令フィールド520の命令1に対応する制御方法指示フィールド530には、ストレージ装置300内のボリュームにアクセス可能であることが登録されている。命令1は、例えば、ボリュームへの出力命令である。
命令フィールド520の命令2に対応する制御方法指示フィールド530には、実行不可のエラーを応答する指示が登録されている。命令2は、例えば、ボリュームの排他制御用ロック命令である。
命令フィールド520の命令3に対応する制御方法指示フィールド530には、ボリュームにアクセスすることなく正常応答することが登録されている。
ステップ1030で、特殊命令制御情報510の命令1で示すアクセス方法だと判定すると、ステップ1040に進む。
ステップ1040では、ボリュームにアクセスする領域が、アクセス元のVM200の仮想WWNに対応する仮想ボリュームの領域内かどうかを判定する。この判定には、アダプタファームウェア500内の仮想ボリューム情報600’を用いる。また、アクセスするデータサイズと、仮想ボリュームの領域サイズとを比較し、アクセスするデータがすべて仮想ボリュームの領域内に納まるかどうかどうかを調べる。
ステップ1040で、仮想ボリューム領域外へのアクセスする要求であると判定すると、ステップ1080に進み、エラーを返す。一方、仮想ボリュームの領域内に納まると判定すると、ステップ1070に進み、ボリュームをアクセスする。
上記ステップ1030で、特殊命令制御情報510の命令1で示すアクセス方法ではないと判定すると、ステップ1050に進む。ステップ1050では、特殊命令制御情報510を用い、VM200が要求するアクセス方法に合致する特殊命令フィールド520の命令を抽出する。
続いて、ステップ1060で、抽出した特殊命令に対応する制御方法指示に従い、ストレージ装置300内のボリュームにアクセスすることなくVM200に応答を返す。
以上により、VM200から仮想ボリュームを割り当てたボリュームにアクセスすることができた。尚、仮想ボリュームドライバ240の処理を、HBA110のアダプタファームウェア500で実行する場合には、ステップ1040で仮想ボリューム内かどうかを判定するのではなく、図9のステップ1960とステップ1970を実行する。また、ストレージ装置300から、ボリュームにアクセスした結果が戻ってきた時、戻りデータ内に、ボリュームのアクセス位置情報が含まれているときには、仮想ボリュームの先頭位置からの位置情報に換算して、位置情報を変更して、VM200にデータを戻す。この換算にも、アダプタファームウェア500内の仮想ボリューム情報600’を用いる。
以上説明したように、本実施例では、仮想ボリューム割当て部800が、ボリューム管理情報400を用いて、VMが要求したサイズの仮想ボリュームを、仮想化機構がストレージ装置内のボリュームに割り当ててVMに与えることができる。
また、VMから仮想ボリュームにアクセスするときは、仮想ボリュームドライバまたはアダプタファームウェアが、仮想ボリューム情報600を用いて、仮想ボリューム上でのアクセス先のアドレスを、ボリューム上でのアクセス先となるアドレスに変換することができる。
このように処理することにより、サーバ管理者が指定したサイズの仮想ディスクボリュームを仮想計算機に割当て、仮想計算機から仮想ディスクボリュームに、ハイパーバイザの介在なしにアクセスすることができる。
実施例2は、実施例1のサーバ100が、図7に示すシステム構成で複数連なり、VM200が異なるサーバ上に移動するときに、移動元VMから移動先VMに仮想ボリュームを引き継ぐ仮想化機構210および211である。
図1に示すように、仮想化機構210には、VM移動管理部1100があり、VM200を異なるサーバ101に移動させる機能がある。VM200に割り当てた仮想ボリュームを、移動先のVM201に割当てる手順について説明する。
図11は、仮想化機構210と仮想化機構211のVM移動管理部1100との動作を示すフローチャートである。
ステップ1110は、VM移動要求を受取る。ここでは、移動元と移動先のサーバ情報と、移動するVMの識別情報を取得する。
次に、ステップ1120で、自身が動作しているサーバが、VMの移動元か、移動先になるのかを判定する。移動元サーバ100ならば、ステップ1130に進み、VM200の定義情報260を、移動先サーバ101の仮想化機構211に渡す。
また、ステップ1140でVM200を停止し、ステップ1150でVM定義情報260を不揮発メモリ150から削除する。
最後に、ステップ1160で、仮想ボリュームを割り当てたVMの移動先のサーバ情報を保存する。保存先は、不揮発メモリ150内か、管理サーバ290内である。
一方、自身が動作しているサーバが移動先サーバ101ならば、ステップ1135に進み、VM200の定義情報260を、移動元サーバ100から受取る。ここで受取ったVM定義情報260には、仮想ボリューム情報600が含まれる。
続くステップ1137で、HBA111内のアダプタファームウェア500に、VM201の識別情報と、仮想ボリューム情報600を渡す。アダプタファームウェア500は、これらの情報を保存する。
続いて、ステップ1145でVM201を開始し、ステップ1155でVM定義情報260を不揮発メモリ150に保存する。VM201を開始するときには、VM200の仮想ボリュームドライバ240がVM201にそのままコピーされているので、VM201開始前に、仮想化機構211から仮想ボリュームドライバ240を改めて設定する必要がない。また、HBA111内のアダプタファームウェア500の仮想ボリューム制御部1000は、ステップ1137で格納したVM201の識別情報と仮想ボリューム情報600を用いて、ボリュームにアクセスするまでの一連の制御が可能である。
最後に、ステップ1165で、仮想ボリュームを割り当てたVMの移動先のサーバ情報を保存する。保存先は、不揮発メモリ150内か、管理サーバ290内である。
尚、ステップ1140における移動元VM200の停止と、ステップ1145における移動先VM201の開始は、同期を取って進めることになるが、ここでは詳細説明を割愛する。
このように処理(特にステップ1135,ステップ1137)することにより、VM定義情報とともに仮想ボリューム情報600が移動先サーバにコピーされるとともに、仮想ボリューム情報600がHBA内にもコピーしてからVMを開始するため、VM移動サーバ管理者が指定したサイズの仮想ディスクボリュームを割り当てた仮想計算機を、異なるサーバ上に移動しても、仮想計算機から仮想ディスクボリュームに、ハイパーバイザの介在なしにアクセスすることができる。
実施例3は、実施例1のストレージ装置300が、図7に示すシステム構成で複数連なり、仮想ボリュームを異なるボリューム上に移動させるときに、VM200に移動先の仮想ボリュームを割り当てる仮想化機構210である。
図1に示すように、仮想化機構210には、仮想ボリューム移動部1200があり、仮想ボリューム320を異なるボリューム310内に移動させる機能を持つ。VM200に割り当てた仮想ボリューム320を、異なるボリューム310内に割当てる手順について説明する。
図12は、仮想化機構210の仮想ボリューム移動部1200の動作を示すフローチャートである。
ステップ1210では、仮想ボリューム移動要求を受取る。ここでは、移動元の仮想ボリューム識別情報と、移動先のボリューム識別情報を取得する。
次に、ステップ1220で、移動する仮想ボリュームが割り当てられているVM200が、サーバ100内に存在するかどうかを判定する。これには、サーバ100上で定義されているVMの仮想ボリューム情報600を調べる。移動する仮想ボリュームが、サーバ100内のVM200に割り当てられていない時は、サーバ101内のVM201に移動して、VM201に割り当てられている場合が考えられるが、この場合には、ステップ1235で、エラー終了とする。この場合は、別途サーバ101が移動要求を受取ることにより、移動処理を遂行する。
移動する仮想ボリュームが、サーバ100上のVM200に割り当てられている場合には、ステップ1230に進み、仮想ボリュームが割り当てられているVM200が実行中かどうかを判定する。VM200が実行中ならば、ステップ1235で、エラー終了とする。この場合は、VM200の実行が完了した後に、改めて移動要求を受取ることで、移動処理を遂行する。
仮想ボリュームが割り当てられているVM200が実行中でないならば、ステップ1240に進み、移動先のボリューム310内の空き領域を割当て、仮想ボリューム320のデータをコピーする。
続いて、ステップ1250で、不揮発メモリ150内の仮想ボリューム情報600を更新する。ここでは、仮想ボリュームフィールド610に対応したストレージ装置番号フィールド620と、ボリューム番号フィールド630と、ポート番号フィールド640と、位置情報フィールド660を、移動先ボリューム310に合わせて更新する。空き領域を割り当てる区画が、移動前の区画のサイズと異なっているときには、サイズフィールド670も更新する。このとき、空き領域を割り当てる区画数が、移動前の区画数と異なる場合もある。また、HBA110内に、仮想ボリューム情報600’を持たせている場合には、アダプタファームウェア500内の仮想ボリューム制御部1000に通知して、HBA110内の仮想ボリューム情報600’も更新する。
こうして、新領域を記録した仮想ボリューム情報600が保存されたため、次にVM200を起動するときに、仮想ボリューム情報提供部900の処理が、仮想ボリュームの新領域の情報を仮想ボリュームドライバ240に送信する。こうして、仮想ボリュームドライバ240は、仮想ボリュームのアクセス要求を受けると、新領域に位置情報を変換することができる。
次に、ステップ1260で、仮想ボリュームを割り当てていたボリュームを管理しているサーバが、自サーバ100かどうか判定する。これには、仮想ボリューム情報600のサーバ情報フィールド650に登録されているサーバ情報と、自サーバ100を比較する。
ボリューム管理サーバが自サーバ100のときは、ステップ1270に進み、ボリューム管理情報400を更新する。ここでは、移動前と移動後のボリュームについて、使用状況フィールド440と、位置情報フィールド450とサイズフィールド460を更新する。移動元のボリュームでは、仮想ボリュームの記録を消去し、空き領域のサイズが増える。移動先のボリュームでは、仮想ボリュームの情報を記録し、空き領域のサイズが減る。
一方、ステップ1260で、ボリューム管理サーバが自サーバ100ではないと判定したときは、ステップ1280に進み、サーバ情報フィールド650に記録してあるサーバの仮想化機構210に、ボリューム管理情報400の更新を依頼する。この依頼を受けた仮想化機構210は、依頼と同時に受取った仮想ボリュームの情報を用いて、ステップ1270と同様の処理を実行する。
このように処理することにより、仮想ボリュームの移動とともに仮想ボリューム情報600とボリューム管理情報400が更新されるため、サーバ管理者が指定したサイズの仮想ディスクボリュームを、異なるボリューム上の新領域に移動しても、仮想計算機から仮想ディスクボリュームに、ハイパーバイザの介在なしにアクセスすることができる。
実施例4は、仮想ボリュームを割り当てていたVMが、仮想ボリュームの割り当てを解除し、ボリューム上の仮想ボリューム割当て領域を空き領域に戻す仮想化機構210である。
図1に示すように、仮想化機構210には、仮想ボリューム解除部1300があり、仮想ボリューム320のVM200への割当てを解除する機能を持つ。VM200に割り当てた仮想ボリューム320を、解除する手順について説明する。
図13は、仮想化機構210の仮想ボリューム解除部1300の動作を示すフローチャートである。
ステップ1310では、仮想ボリューム解除要求を受取る。ここでは、仮想ボリューム識別情報を取得する。
次に、ステップ1320で、解除する仮想ボリュームが割り当てられているVM200が、サーバ100内に存在するかどうかを判定する。これには、サーバ100上で定義されているVMの仮想ボリューム情報600を調べる。移動する仮想ボリュームが、サーバ100内のVM200に割り当てられていない時は、サーバ101内のVM201に移動して、VM201に割り当てられている場合が考えられるが、この場合には、ステップ1335で、エラー終了とする。この場合は、別途サーバ101が解除要求を受取ることにより、解除処理を遂行する。
解除する仮想ボリュームが、サーバ100上のVM200に割り当てられている場合には、ステップ1330に進み、仮想ボリュームが割り当てられているVM200が実行中かどうかを判定する。VM200が実行中ならば、ステップ1335で、エラー終了とする。この場合は、VM200の実行が完了した後に、改めて解除要求を受取ることで、解除処理を遂行する。
仮想ボリュームが割り当てられているVM200が実行中でないならば、ステップ1340に進み、不揮発メモリ150内の仮想ボリューム情報600の対応する仮想ボリューム情報を削除する。また、HBA110内に、仮想ボリューム情報600を持たせている場合には、アダプタファームウェア500内の仮想ボリューム制御部1000に通知して、HBA110内の仮想ボリューム情報600も更新する。
こうして、指定の仮想ボリューム情報が削除された仮想ボリューム情報600が保存されたため、次にVM200を起動するときに、仮想ボリューム情報提供部900は、削除した仮想ボリュームの情報を仮想ボリュームドライバ240に送信しない。こうして、仮想ボリュームドライバ240は、割当てを解除した仮想ボリュームのアクセス要求を受けつけないようになる。
ステップ1360では、仮想ボリュームを割り当てていたボリュームを管理しているサーバが自サーバ100かどうか判定する。これには、仮想ボリューム情報600のサーバ情報フィールド650に登録されているサーバ情報と、自サーバ100を比較する。
ボリューム管理サーバが自サーバ100のときは、ステップ1370に進み、ボリューム管理情報400を更新する。ここでは、仮想ボリュームの領域が割り当てられていたボリュームについて、使用状況フィールド440と、位置情報フィールド450とサイズフィールド460を更新する。すなわち、仮想ボリュームの記録を消去し、空き領域のサイズが増える。
一方、ステップ1360で、ボリューム管理サーバが自サーバ100ではないと判定したときは、ステップ1380に進み、サーバ情報フィールド650に記録してあるサーバの仮想化機構210に、ボリューム管理情報400の更新を依頼する。この依頼を受けた仮想化機構210は、依頼と同時に受取った仮想ボリュームの情報を用いて、ステップ1370と同様の処理を実行する。
このように処理することにより、仮想ボリュームの解除とともに、仮想ボリューム情報600とボリューム管理情報400が更新されるため、サーバ管理者が指定したサイズの仮想ディスクボリュームの割り当てを解除した後は、仮想計算機から仮想ディスクボリュームに、ハイパーバイザの介在なしにアクセスを拒否することができる。
以上、本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
100ないし101・・・サーバ
110ないし111・・・HBA、120ないし121・・・NIC
150・・・不揮発メモリ
190・・・出力装置、180・・・入力装置、140・・・メモリ、130・・・CPU
200・・・VM1、201・・・VM2
210ないし211・・・仮想化機構
230・・・仮想HBA、220・・・仮想NIC
240・・・仮想ボリュームドライバ
250・・・ネットワークスイッチ
290・・・管理サーバ
300・・・ストレージ装置
310ないし314・・・ディスクボリューム
320ないし324・・・仮想ボリューム
351ないし352・・・ポート、353・・・管理インタフェース
360・・・ボリュームセキュリティ情報
400・・・ボリューム管理情報
500・・・アダプタファームウェア
510・・・特殊命令制御情報
600・・・仮想ボリューム情報
700・・・ストレージスイッチ
800・・仮想ボリューム割当て部
900・・・仮想ボリューム情報提供部
1000・・・仮想ボリューム制御部
1100・・・VM移動管理部
1200・・・仮想ボリューム移動部
1300・・・仮想ボリューム解除部

Claims (20)

  1. 計算機と、前記計算機と接続される記憶装置とを備える計算機システムにおいて、
    前記記憶装置は、前記計算機のデータを格納するボリュームと、前記ボリュームを論理分割してなる仮想ボリュームとを有し、
    前記計算機は、演算部と、記憶部と、仮想化機構の制御により前記演算部上で動作する仮想計算機と、前記仮想ボリュームの使用状況および前記仮想ボリュームの位置情報を管理するボリューム管理情報とを有し、
    前記仮想化機構は、仮想ボリューム割当て要求の受信により、前記仮想計算機へ新たな仮想ボリュームを割当てる仮想ボリューム割当て部を有し、
    前記記憶部は、前記仮想計算機に割当てられた前記仮想ボリュームを管理する仮想ボリューム情報を有し、
    前記仮想ボリューム割当て部は、
    前記ボリューム管理情報を参照して、前記ボリュームの未使用領域を検索し、
    前記ボリュームの未使用領域が、前記仮想ボリューム割当て要求で指定された仮想ボリュームのサイズを満たす場合、前記ボリュームの未使用領域に新たな仮想ボリュームを割当て、
    前記ボリューム管理情報が有する前記仮想ボリュームの使用状況および前記仮想ボリュームの位置情報を、前記新たな仮想ボリュームの割当て後の状態に更新し、
    前記仮想ボリューム情報に、前記新たな仮想ボリュームの情報を追加することを特徴とする計算機システム。
  2. 前記仮想ボリューム割当て部は、
    前記ボリュームの未使用領域が、前記仮想ボリューム割当て要求で指定された仮想ボリュームのサイズを満たさない場合、前記仮想計算機へ新たな仮想ボリュームを割当てないことを特徴とする請求項1記載の計算機システム。
  3. 前記仮想化機構は、前記記憶装置におけるボリューム情報を参照して、前記記憶部に前記ボリューム管理情報を生成することを特徴とする請求項1記載の計算機システム。
  4. 前記記憶装置の前記ボリュームは、物理的なボリュームまたは論理的なボリュームであることを特徴とする請求項1記載の計算機システム。
  5. 前記計算機は、前記仮想計算機から前記仮想ボリュームにアクセスするための仮想ボリュームドライバとを有し、
    前記仮想ボリュームドライバは、前記仮想ボリュームへのアクセス要求の受信により、
    前記仮想ボリュームへのアクセス要求に含まれるアクセスアドレスを取得し、
    前記取得したアクセスアドレスを、アクセスされる仮想ボリュームの前記ボリュームにおけるアドレスに変換することを特徴とする請求項1記載の計算機システム。
  6. 前記仮想計算機は、仮想HBAを有し、
    前記計算機は、HBAを有し、
    前記記憶部が有する前記仮想ボリューム情報は、前記仮想ボリュームの位置情報、前記仮想ボリュームにアクセスする仮想HBAに割当てた仮想WWNを含み、
    前記仮想化機構は、仮想ボリューム情報の提供要求の受信により、前記仮想ボリュームドライバに前記仮想ボリューム情報を送信する仮想ボリューム情報提供部を有し、
    前記仮想ボリューム情報提供部は、
    前記記憶部を参照して前記仮想ボリューム情報を取得し、
    前記取得した仮想ボリューム情報を、前記仮想ボリュームドライバに送信し、
    前記仮想ボリュームドライバは、
    前記受信した仮想ボリューム情報から前記仮想ボリュームの位置情報を抽出し、
    前記受信した仮想ボリューム情報から前記仮想ボリュームに対応づけられた仮想WWNを抽出し、
    前記抽出した仮想WWNが割り当てられた仮想HBAを特定し、
    前記仮想ボリュームにアクセス要求を出すための宛先情報として、前記特定した仮想HBAと前記仮想ボリュームとを対応づけて保持することを特徴とする請求項5記載の計算機システム。
  7. 前記仮想ボリュームドライバは、前記変換されたアドレスに基づき、前記記憶装置のボリュームにアクセスすることを特徴とする請求項5記載の計算機システム。
  8. 前記仮想ボリュームドライバは、前記仮想計算機またはHBAに含まれることを特徴とする請求項5記載の計算機システム。
  9. 前記仮想化機構は、前記仮想ボリューム情報を前記仮想ボリュームを割当てた仮想計算機の定義情報とともに、前記記憶部へ保持することを特徴とする請求項6記載の計算機システム。
  10. 前記仮想ボリューム情報に、前記仮想ボリュームの領域があるボリュームを管理する計算機情報を保持し、
    前記仮想計算機が、異なる計算機上に移動するとき、
    前記仮想計算機の定義情報とともに、仮想ボリュームの情報を異なる計算機上に移動ことを特徴とする請求項9記載の計算機システム。
  11. 前記仮想ボリューム情報に、前記仮想ボリュームの領域があるボリュームを管理する計算機情報を保持し、
    前記仮想ボリュームを異なるボリュームの領域に移動するとき、
    前記仮想ボリューム情報内の、仮想ボリュームの領域があるボリュームを示す情報を、移動先ボリュームの情報に変更することを特徴とする請求項9記載の計算機システム。
  12. 前記仮想計算機から前記仮想ボリュームの割当てを解除するとき、
    前記仮想計算機の定義情報とともに保存していた仮想ボリューム情報を削除することを特徴とする請求項9記載の計算機システム。
  13. 仮想化機構の制御により演算部上で動作する仮想計算機を有する計算機と、前記計算機と接続される記憶装置とを備える計算機システムにおける仮想計算機のボリューム割当て方法であって、
    前記記憶装置は、前記計算機のデータを格納するボリュームと、前記ボリュームを論理分割してなる仮想ボリュームとを有し、
    前記計算機は、前記演算部と、記憶部と、前記仮想化機構と、前記仮想計算機と、前記仮想ボリュームの使用状況および前記仮想ボリュームの位置情報を管理するボリューム管理情報とを有し、
    前記仮想化機構は、仮想ボリューム割当て要求の受信により、前記仮想計算機へ新たな仮想ボリュームを割当てる仮想ボリューム割当て部を有し、
    前記記憶部は、前記仮想計算機に割当てられた前記仮想ボリュームを管理する仮想ボリューム情報を有し、
    前記仮想ボリューム割当て部は、
    前記ボリューム管理情報を参照して、前記ボリュームの未使用領域を検索し、
    前記ボリュームの未使用領域が、前記仮想ボリューム割当て要求で指定された仮想ボリュームのサイズを満たす場合、前記ボリュームの未使用領域に新たな仮想ボリュームを割当て、
    前記ボリューム管理情報が有する前記仮想ボリュームの使用状況および前記仮想ボリュームの位置情報を、前記新たな仮想ボリュームの割当て後の状態に更新し、
    前記仮想ボリューム情報に、前記新たな仮想ボリュームの情報を追加することを特徴とする仮想計算機のボリューム割り当て方法。
  14. 前記仮想ボリューム割当て部は、
    前記ボリュームの未使用領域が、前記仮想ボリューム割当て要求で指定された仮想ボリュームのサイズを満たさない場合、前記仮想計算機へ新たな仮想ボリュームを割当てないことを特徴とする請求項13記載の仮想計算機のボリューム割り当て方法。
  15. 前記仮想化機構は、前記記憶装置におけるボリューム情報を参照して、前記記憶部に前記ボリューム管理情報を生成することを特徴とする請求項13記載の仮想計算機のボリューム割り当て方法。
  16. 前記記憶装置の前記ボリュームは、物理的なボリュームまたは論理的なボリュームであることを特徴とする請求項13記載の仮想計算機のボリューム割り当て方法。
  17. 前記計算機は、前記仮想計算機から前記仮想ボリュームにアクセスするための仮想ボリュームドライバとを有し、
    前記仮想ボリュームドライバは、前記仮想ボリュームへのアクセス要求の受信により、
    前記仮想ボリュームへのアクセス要求に含まれるアクセスアドレスを取得し、
    前記取得したアクセスアドレスを、アクセスされる仮想ボリュームの前記ボリュームにおけるアドレスに変換することを特徴とする請求項13記載の仮想計算機のボリューム割り当て方法。
  18. 前記仮想計算機は、仮想HBAを有し、
    前記計算機は、HBAを有し、
    前記記憶部が有する前記仮想ボリューム情報は、前記仮想ボリュームの位置情報、前記仮想ボリュームにアクセスする仮想HBAに割当てた仮想WWNを含み、
    前記仮想化機構は、仮想ボリューム情報の提供要求の受信により、前記仮想ボリュームドライバに前記仮想ボリューム情報を送信する仮想ボリューム情報提供部を有し、
    前記仮想ボリューム情報提供部は、
    前記記憶部を参照して前記仮想ボリューム情報を取得し、
    前記取得した仮想ボリューム情報を、前記仮想ボリュームドライバに送信し、
    前記仮想ボリュームドライバは、
    前記受信した仮想ボリューム情報から前記仮想ボリュームの位置情報を抽出し、
    前記受信した仮想ボリューム情報から前記仮想ボリュームに対応づけられた仮想WWNを抽出し、
    前記抽出した仮想WWNが割り当てられた仮想HBAを特定し、
    前記仮想ボリュームにアクセス要求を出すための宛先情報として、前記特定した仮想HBAと前記仮想ボリュームとを対応づけて保持することを特徴とする請求項17記載の仮想計算機のボリューム割り当て方法。
  19. 前記仮想ボリュームドライバは、前記変換されたアドレスに基づき、前記記憶装置のボリュームにアクセスすることを特徴とする請求項17記載の仮想計算機のボリューム割り当て方法。
  20. 前記仮想ボリュームドライバは、前記仮想計算機またはHBAに含まれることを特徴とする請求項17記載の仮想計算機のボリューム割り当て方法。
JP2010226151A 2010-10-06 2010-10-06 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム Expired - Fee Related JP5492731B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010226151A JP5492731B2 (ja) 2010-10-06 2010-10-06 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム
US13/232,808 US8473709B2 (en) 2010-10-06 2011-09-14 Virtual volume allocating unit and method which allocate a new virtual volume to adequately-sized unused volume areas

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010226151A JP5492731B2 (ja) 2010-10-06 2010-10-06 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム

Publications (2)

Publication Number Publication Date
JP2012079245A true JP2012079245A (ja) 2012-04-19
JP5492731B2 JP5492731B2 (ja) 2014-05-14

Family

ID=45926029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010226151A Expired - Fee Related JP5492731B2 (ja) 2010-10-06 2010-10-06 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム

Country Status (2)

Country Link
US (1) US8473709B2 (ja)
JP (1) JP5492731B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014162497A1 (ja) * 2013-04-02 2014-10-09 株式会社日立製作所 統合型計算機システム及びその制御方法
US10761767B2 (en) 2016-07-12 2020-09-01 Hitachi, Ltd. Computer system and method for controlling storage apparatus that has replication direction from first logical device (in first storage) to second logical device (in second storage) and from said second logical device to third logical device (in said second storage), wherein said replication direction is reversed when second computer takes over for first computer

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130282998A1 (en) * 2012-04-24 2013-10-24 Hitachi, Ltd. Backup system and backup method
JP6232936B2 (ja) * 2013-10-31 2017-11-22 富士通株式会社 情報処理装置、記憶装置制御回路及び記憶装置の制御方法
US20220236923A1 (en) * 2021-01-22 2022-07-28 EMC IP Holding Company LLC Metro cluster for virtual volumes

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63231535A (ja) * 1987-03-20 1988-09-27 Hitachi Ltd 仮想計算機の入出力シミユレ−シヨン方式
JPH09212426A (ja) * 1996-02-07 1997-08-15 Hitachi Ltd 仮想計算機システムの記憶装置管理方法
JPH10283210A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 仮想計算機システム間の仮想計算機移動制御方式
JP2003316618A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd コンピュータシステム
JP2007133854A (ja) * 2005-11-09 2007-05-31 Hitachi Ltd リソース割り当てのためのコンピュータ化されたシステムと方法
JP2010009549A (ja) * 2008-06-30 2010-01-14 Toshiba Corp データ処理装置およびデータ処理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653794B2 (en) 2006-05-08 2010-01-26 Microsoft Corporation Converting physical machines to virtual machines
US7873809B2 (en) * 2007-03-29 2011-01-18 Hitachi, Ltd. Method and apparatus for de-duplication after mirror operation
JP4961411B2 (ja) 2008-10-16 2012-06-27 株式会社日立製作所 計算機システム及びその構成管理方法
JP2011081580A (ja) * 2009-10-07 2011-04-21 Hitachi Ltd 計算機システム及び計算機システムの入出力方法
US8543786B2 (en) * 2010-09-29 2013-09-24 Hitachi, Ltd. Computer system and computer system management method for adding an unused real volume to a pool
WO2012081074A1 (ja) * 2010-12-13 2012-06-21 株式会社日立製作所 計算機システム、及びその管理方法、並びに、プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63231535A (ja) * 1987-03-20 1988-09-27 Hitachi Ltd 仮想計算機の入出力シミユレ−シヨン方式
JPH09212426A (ja) * 1996-02-07 1997-08-15 Hitachi Ltd 仮想計算機システムの記憶装置管理方法
JPH10283210A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 仮想計算機システム間の仮想計算機移動制御方式
JP2003316618A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd コンピュータシステム
JP2007133854A (ja) * 2005-11-09 2007-05-31 Hitachi Ltd リソース割り当てのためのコンピュータ化されたシステムと方法
JP2010009549A (ja) * 2008-06-30 2010-01-14 Toshiba Corp データ処理装置およびデータ処理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014162497A1 (ja) * 2013-04-02 2014-10-09 株式会社日立製作所 統合型計算機システム及びその制御方法
US9047122B2 (en) 2013-04-02 2015-06-02 Hitachi, Ltd. Integrating server and storage via integrated tenant in vertically integrated computer system
US10761767B2 (en) 2016-07-12 2020-09-01 Hitachi, Ltd. Computer system and method for controlling storage apparatus that has replication direction from first logical device (in first storage) to second logical device (in second storage) and from said second logical device to third logical device (in said second storage), wherein said replication direction is reversed when second computer takes over for first computer

Also Published As

Publication number Publication date
US20120089804A1 (en) 2012-04-12
US8473709B2 (en) 2013-06-25
JP5492731B2 (ja) 2014-05-14

Similar Documents

Publication Publication Date Title
JP5559176B2 (ja) ネーム・リゾリューションを使用して仮想資源をプロビジョンする方法
US7849228B2 (en) Mechanisms for creation/deletion of linear block address table entries for direct I/O
US20180189109A1 (en) Management system and management method for computer system
US8086810B2 (en) Rapid defragmentation of storage volumes
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
JP2016167143A (ja) 情報処理システムおよび情報処理システムの制御方法
US20150363422A1 (en) Resource management system and resource management method
JP5492731B2 (ja) 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム
WO2010106692A1 (en) Storage system and its controlling method
JP5381713B2 (ja) 仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム
TWI391835B (zh) 使用檔案為基礎的線性區塊位址轉譯之直接介於主機系統與實體轉接器間之出自使用者空間i/o之系統與方法
US20060288125A1 (en) System and method for user space operations for direct I/O between an application instance and an I/O adapter
US7502871B2 (en) Method for query/modification of linear block address table entries for direct I/O
CN107528871B (zh) 存储系统中的数据分析
US10169062B2 (en) Parallel mapping of client partition memory to multiple physical adapters
US9239681B2 (en) Storage subsystem and method for controlling the storage subsystem
CN111367472A (zh) 虚拟化方法和装置
JP5750169B2 (ja) 計算機システム、プログラム連携方法、及びプログラム
US20230315892A1 (en) Information processing system and information processing method
US20240119006A1 (en) Dual personality memory for autonomous multi-tenant cloud environment
JP5212216B2 (ja) ジョブ処理装置
JP6657990B2 (ja) ストレージ装置、仮想ボリューム制御システム、仮想ボリューム制御方法および仮想ボリューム制御プログラム
US20200050388A1 (en) Information system
WO2014148142A1 (ja) クラウド向け計算機システム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120521

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140303

LAPS Cancellation because of no payment of annual fees