JP5692065B2 - 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム - Google Patents

計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム Download PDF

Info

Publication number
JP5692065B2
JP5692065B2 JP2011511415A JP2011511415A JP5692065B2 JP 5692065 B2 JP5692065 B2 JP 5692065B2 JP 2011511415 A JP2011511415 A JP 2011511415A JP 2011511415 A JP2011511415 A JP 2011511415A JP 5692065 B2 JP5692065 B2 JP 5692065B2
Authority
JP
Japan
Prior art keywords
physical
virtual
speed
area
physical device
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.)
Active
Application number
JP2011511415A
Other languages
English (en)
Other versions
JPWO2010126048A1 (ja
Inventor
伸治 加美
伸治 加美
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011511415A priority Critical patent/JP5692065B2/ja
Publication of JPWO2010126048A1 publication Critical patent/JPWO2010126048A1/ja
Application granted granted Critical
Publication of JP5692065B2 publication Critical patent/JP5692065B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects

Landscapes

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

Description

本発明はネットワークを介して相互に接続された物理マシン上の仮想装置により構成されたコンピュータシステムにおける仮想装置の移動の高速化に関する。
複数の物理装置上に仮想装置を設けるシステムにおいて、物理装置の使用状況等に応じて、異なる物理装置間で仮想装置を移動(マイグレーション)する、といった技術が一般に用いられている(例えば特許文献1参照)。
このような仮想装置で構成された仮想化計算機システムにおける、仮想装置の移動の高速化に関する技術の一例が非特許文献1に記載されている。この技術について図7を用いて説明する。
図7に示すように、この仮想化計算機システムは、第1の物理装置1000と第2の物理装置1100を有している。
第1の物理装置1000は、メモリ1001と、物理装置間を接続するためのネットワークインターフェースカード(NIC:Network Interface Card)1002を有している。また、第2の物理装置1100も同様に、メモリ1101と、ネットワークインターフェースカード1102を有している。両装置は、例えばEthernet(登録商標)に準拠したスイッチ等で接続されたネットワーク1200により相互に接続されている。また、両装置はハイパーバイザ(Hyper visor)に代表される仮想化部1010、仮想化部1110を有している。
次に、バーチャルマシン(Virtual Machine)に代表される仮想装置である移動前仮想装置1020を第1の物理装置1000から第2の物理装置1100へ移動する場合について説明する。なお、図中では、移動前仮想装置1020を破線、移動後の仮想装置1120を実線で表す。
図7に示す仮想計算機システムは仮想装置の移動の高速化を、移動前仮想装置1020に割り当てられた物理装置1000のメモリ領域1001のデータを、移動後仮想装置1120が物理装置1100で動作するために割り当てられたメモリ1101に高速にコピーすることで実現する。
このコピーはネットワーク1200を用いて、仮想化部1010及び1110間のデータ転送によって行なわれる。一般的に、この転送はTCP(Transmission Control Protocol)等の信頼性の高いデータ転送方式を用いて行なわれる。もっとも、この転送時間は転送データ量や、ネットワーク帯域やプロトコル処理に起因するオーバーヘッド、更には、メモリ読み書き速度などに依存する。具体例を1つ挙げると、一般にネットワークプロトコルを介したデータ転送には複数のデータコピーが伴うため、プロトコル処理に起因するオーバーヘッドに加えデータコピー(少なくともネットワークインターフェース→バッファ領域→仮想装置の該当メモリ領域へのコピー)に起因するオーバーヘッドが存在する。
そして、この転送が終了するまでの間は、仮想装置の動作を停止する必要がある。そのため、この停止時間をなるべく短くすることが望ましい。
たとえば非特許文献1では、停止時間を短くするために、すべてのメモリデータをコピーするのではなく、逐次的に書き換えのあったメモリ(以下、このようなメモリのことを適宜「ダーティメモリ」と表記する。)のみを転送する。そして、転送効率と書き換えレートが釣り合ったところで、仮想装置を停止する。その後、最後のコピーを行い、異動先の物理措置で仮想装置を起動する、という処理を行なっている。このような処理を行うことにより移動時間の短縮化を図ることが可能となる。
特開2008−217302号公報
Christopher Clark、 et al. "Live Migration of Virtual Machines"、 In Proceedings of the 2nd ACM/USENIX Symposium on Networked Systems Design and Implementation (NSDI 101)、[online][平成21年4月20日検索]、インターネット<URL:http://www.cl.cam.ac.uk/netos/papers/101-migration-nsdi-pre.pdf>
上述のように非特許文献1に記載の技術は、仮想装置の停止時間を決定する要因であるコピーするデータの量を削減している。もっとも、非特許文献1に記載の技術を用いた場合であっても、ネットワーク経由でのデータコピーが伴うという本質に変化はない。そのため、信頼性の高いネットワークプロトコルを利用したデータ転送やデータコピー処理の間、仮想装置のサービスが停止する必要があるという点は変わらない。その上、広範囲にわたって書き換えがあるようなケースには特にそのオーバーヘッドが顕著となる。
すなわち、一般的な技術には、物理装置間で仮想装置を移動するにあたって、以下のような2つの問題点が有ることとなる。
第1の問題点は、仮想装置の異なる物理装置間の移動におけるサービス停止時間の低減には限界があるということである。
その理由は、データコピー量を必要最低限にしたとしても、データコピーという動作自体は本質的に同じであり、コピーのための転送時間、処理オーバーヘッド分に費やされる時間が必ず必要となるためである。
第2の問題点は、仮想装置上で動作するアプリケーションの種類によっては、非特許文献1に記載の技術等を用いたとしても、その効果が乏しい場合があるということである。
その理由は、メモリの書き換えが広範囲にわたるようなアプリケーションが動作している場合、ダーティメモリ量が多いためその転送には時間がかかってしまうからである。
そこで、本発明は、仮想計算機システムにおいて、仮想装置を異なる物理装置間で高速に移動することが可能な、仮想化された計算機システムにおける仮想装置の高速移動システム、その方法及びそのプログラムを提供することを目的とする。
本発明によれば、第1のシステムとしてネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動システムであって、前記物理装置は、各々が有する主記憶部に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶部及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり、或る仮想装置に対して割り当てられたメモリアドレス空間領域について、動的にその物理アドレスと論理アドレスの前記マッピング情報を変更し、アクセス制御のための記憶領域の所有権情報を併せて変更することを特徴とする仮想装置の高速移動システムが提供される。
更に、第2のシステムとして、第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶手段にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする仮想装置の高速移動システムが提供される。
更に、第1の装置として、ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理装置であって、前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶手段にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする管理装置が提供される。
更に、第1の方法として、ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動方法であって、前記物理装置は、各々が有する主記憶装置に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶装置及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり、或る仮想装置に対して割り当てられたメモリアドレス空間領域について、動的にその物理アドレスと論理アドレスの前記マッピング情報を変更し、アクセス制御のための記憶領域の所有権情報を併せて変更することを特徴とする仮想装置の高速移動方法が提供される。
更に、第2の方法として、第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶装置にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする仮想装置の高速移動方法が提供される。
更に、第3の方法として、ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理方法であって、前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶装置にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする管理方法が提供される。
更に、第1のプログラムとして、ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動プログラムであって、前記物理装置は、各々が有する主記憶部に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶部及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり、或る仮想装置に対して割り当てられたメモリアドレス空間領域について、動的にその物理アドレスと論理アドレスの前記マッピング情報を変更し、アクセス制御のための記憶領域の所有権情報を併せて変更する計算機システムとしてコンピュータを機能させることを特徴とする仮想装置の高速移動プログラムが提供される。
更に、第2のプログラムとして、第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶手段にマッピングされた領域上に存在する実態メモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定する計算機システムとしてコンピュータを機能させることを特徴とする仮想装置の高速移動プログラムが提供される。
更に、第3のプログラムとして、ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理プログラムであって、前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶手段にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定する管理装置としてコンピュータを動作させることを特徴とする管理プログラムが提供される。
本発明によれば、データコピー方式ではなく、メインメモリとは別に設定された複数物理装置間で共有しその特定領域の所有権が動的に設定可能な高速記憶デバイスを用いてその領域の所有権を物理装置間で付け替える処理を行うことから仮想装置が異なる物理装置の間で高速に移動し、そのサービス停止時間を削減することが可能となる。
本発明の発明を実施するための形態の構成を示すプロック図である。 発明を実施するための形態の構成における仮想化手段の保有するメモリ空間設定例の模式図である。 発明を実施するための形態の構成の仮想化手段の保有するメモリ空間において仮想装置に割り当てられた領域の所有権付け替え処理の模式図(1/2)である。 発明を実施するための形態の構成の仮想化手段の保有するメモリ空間において仮想装置に割り当てられた領域の所有権付け替え処理の模式図(2/2)である。 発明を実施するための形態の動作を示す流れ図である。 第1の実施例の構成を示すプロック図である。 第2の実施例の構成を示すプロック図である。 本発明に関連する技術の構成の一例を示すブロック図である。
100、1000、2000 第1の物理装置
101、201 演算部
102、202 メモリ制御部
103、203 主記憶部
103−1、203−1 メモリ領域
104、204、320 通信インターフェース部
110、210 仮想化部
111、211 メモリ空間
120、220 仮想装置
200、1100、2100 第2の物理装置
300 高速記憶部
301、302 記憶領域
310 記憶装置制御部
400、1200 ネットワーク
500 管理装置
1001、1101 メモリ
1002、1102 ネットワークインターフェースカード
1010、1110 仮想化部
1020 移動前仮想装置
1021 移動後仮想装置
2001、2101 CPU
2002、2102 メインメモリ
2003、2103 NORTHBRIFGE
2004、2104、2203 Bridge
2005、2105 SOUTHBRIDGE
2006、2106 ネットワークインターフェースカード
2010、2110 Hypervisor
2021、2022、2120 VM
2201 NAND FLASH
2202 MR−IOV対応NAND FLASHコントローラ
2204、3300 ネットワークスイッチ・ルータ
2300 管理サーバ
3000、3100 物理装置
3001、3101 メインメモリ
3010、3110 Hypervisor
3020、3120 Virtual Machine
3201、3202、3203 メモリ領域
A1、A2 利用可能領域
A3、A4、A5 記憶領域
次に、発明を実施するための形態について図面を参照して詳細に説明する。
[構成の説明]
図1を参照すると、本発明の実施形態は、第1の物理装置100及び第2の物理装置200を有する。
両物理装置は、それぞれ演算部101、201と、メモリ制御部102、202と、主記憶部103、203と、通信インターフェース部104、204と、を有している。
演算部101、201は、CPUに代表される演算処理装置である。メモリ制御部102、202は主記憶装置を制御する装置であり、典型的にはチップセットに搭載される。主記憶部103、203は、主記憶装置であり、記憶領域としてそれぞれメモリ領域103−1、203−1を有している。通信インターフェース部104、204は、各装置間で通信を行うためのインターフェースである。
両物理装置は、仮想化部110、210を更に有している。仮想化部110、210それぞれの当該物理装置の上で動作するプログラムであり、ハイパーバイザを典型例とするものである。
加えて、両物理装置は、それぞれの仮想化部によって作成され、動作する仮想装置120、220を有している。
更に、本発明の実施形態は、両物理装置の外部に搭載される高速記憶部300と、高速記憶部300の制御部である高速記憶制御部310と、高速記憶部300及び高速記憶制御部310が用いる通信インターフェースである通信インターフェース320と、を有している。また、高速記憶部300は、記憶領域として、記憶領域301及び記憶領域302を有している。
第1の物理装置100、第2の物理装置200、高速記憶制御部310及び高速記憶部300は、上記した各通信インターフェース部及びネットワーク400を介して相互に接続されている。なお、通信方式の具体例としてはEthernet(登録商標)が挙げられるが、本実施形態において具体的な通信方式は特に限定されるものではなく、任意の通信方式を採用することが可能である。
また、本実施形態は仮想装置120及び仮想装置220とネットワークを介して接続される管理装置500を更に有している。
なお、図1に示したのは、あくまで実施形態としての一例であり種々の変更を加えることが可能である。例えばメモリ制御部102、202はチップセット以外の場所に実装されてもよい。例えばチップセットではなく、演算部101、201の内部に搭載されていてもよい。
更に、高速記憶部300及び高速記憶制御部310は必ずしも両物理装置の外部にある必要はなく、どちらかの物理装置の筐体内部に搭載されていてもよい。
また、本ブロック図は一般に論理的な関係を示すものであり、物理的接続状態は必ずしもこれに限定されるものではない。更に、管理装置500と仮想化部110、210及び高速記憶制御部310への通信はネットワーク400を経由してもよいし、経由しなくてもよい。
これらの各部はそれぞれ概略次のように動作する。
演算部101及び201は各種プログラムを実行する演算処理を行なう。
主記憶部102及び202はDRAMに代表される記憶装置で、物理装置は少なくとも一つ以上の主記憶部を有し、一般に上記演算部101、201の近くに実装され、演算部101、201とのデータ通信は非常に高速であるとする。
通信インターフェース部104、204はメモリ制御部102及び202と高速記憶制御部310が互いにリモートに位置していてもネットワーク400を通して通信できるようネットワークプロトコル処理を行なう。
ネットワーク400は例えば、Ethernetに準拠したスイッチ・ルータなどで構成されるネットワークを表し、エンドポイント間でデータの送受信を可能にする。このデータ通信は信頼性を確保することが好ましい。そのため、パケットが棄却された場合は再送し、かつ送信レートをコントロールすることで輻輳を抑制する、といった機能を特にハードウェア化された形態で有することが望ましい。
この処理を実現するための機能は、通信インターフェース部104、204に実装されていてもよいし、ネットワーク400と通信インターフェース部104、204の両方に実装されていてもよい。前者の場合、例えばTCPに準拠する機能のエンドポイントへの実装等により実現することが可能である。また、後者の場合はネットワークではクレジット方式によるパケット棄却が起きないような仕組み、エンドポイントではネットワーク側からの輻輳度合い信号をもとにした送信レートのコントロール機能の実装、等により実現可能である。もっとも、同等の機能が実現できるのであれば、具体的な手段は必ずしもこの限りではない。
高速記憶装置300はNAND型フラッシュメモリ(以下、適宜「NAND Flash」と記述する。)やDRAM、SRAMといった高速でのデータ読み書き処理が可能なデバイスである。すなわち、少なくともハードディスクなどのデバイスに比べて桁違いに高速に動作し、主記憶装置と少なくとも同等若しくは若干低速で動作するデバイスである。
高速記憶制御部310は、演算部101及び201からの高速記憶装置300に対する安全なアクセスが可能なように設定・制御を行なう。本実施形態の説明において特に重要な機能は高速記憶部300の記憶領域管理の方式などであるが、これは本実施形態の構成要素を高速記憶部300の記憶領域管理の方式のみに限定するという趣旨ではない。
メモリ制御部102、202は仮想化部110、210等のオペレーションシステムに代表される管理者権限を持ったソフトウェアが管理するメモリ空間のアドレスと、実際の物理的な記憶デバイスの物理アドレスとの対応を管理する部分である。
仮想装置120及び220は仮想化部110、210に管理され、仮想的な資源が提供されたコンピュータ装置であり、その上でオペレーションシステムを典型例とする管理ソフトウェアやアプリケーションプロセスが動作する。
管理装置500は主に、仮想化部110、210と高速記憶制御部310の設定を管理する。
以下の説明では、第1の物理装置100及び第2の物理装置200とそこで動作するソフトウェアプログラムとを含めて、それぞれ第1の計算機1、第2の計算機2と呼ぶこととする。また、ディスクデバイスはSAN(Storage Area Network)やNFS(Network File System)などを利用し両計算機で共有されているとする。
[動作の説明]
次に、図1、図2、図3−1、図3−2及び図4のフローチャートを参照して本実施形態の全体の動作について詳細に説明する。
1.処理設定
まず、マイグレーションの際の動作について説明する前提として、第1の計算機1及び第2の計算機2を起動する際に、仮想化部110、210が管理するメモリ空間を構成する方法を詳細に説明する。併せて、本実施形態のメモリ割当ての概念についても説明する。
第1の計算機1のメモリ空間111は主記憶部103と高速記憶部300から構成される。一般にI/Oデバイスは仮想化部の起動時に認識される際に、主記憶部と同様にそのレジスタへのアクセスのためのアドレスをメモリにマップし、演算部からアクセスすることが可能である。本実施形態において、高速記憶部300も同様の手法ですべての領域(図1の例では領域301と302)をマップしておく。
オペレーティングシステムとして例えば64bit対応のものを用いれば理論的には16EBの領域をメモリ領域として持つことが可能である。この点、現在の典型的オペレーティングシステムでは例えばTB程度のメモリ空間を持つことができるよう設計されている。
今回の説明においては、高速記憶部300の一部の領域301を第1の計算機1に、領域302を第2の計算機2に排他的に割り当てるとする。その割当ては、図2に示すように、メモリ空間のうち、利用可能領域と利用不可領域との属性を与えることで実現する。例えば領域301に該当する部分は第1の計算機1のメモリ空間内では利用可能に、第2の計算機2では利用不可に設定され、それは管理装置500からの命令によって起動時に設定される。図2では領域A1が利用可能領域で、例えば主記憶部102全てと高速記憶部の領域301が仮想化部110のメモリ空間における利用可能領域に設定されている。仮想化部110は仮想装置にメモリ空間を割り当てる時にはこの利用可能領域のみ利用するよう割り当てを行ない、利用不可領域は利用しない。
同様に仮想化部210のメモリ空間においても、記憶領域302に対応する部分は主記憶装置部分とあわせて利用可能に設定され(この領域は、図中の領域A2に相当)、それ以外は利用不可に設定されている。
一般に論理メモリアドレスと物理メモリアドレス変換は高速に行なわれる必要があるためメモリ制御部としてハードウェア回路デバイスを用いて実現される。そして、もし利用不可部分へのアクセスがあった場合は例外を発生させ、利用可能部分以外へのアクセスを禁止することで複数の計算機の間でセキュアな利用が確保される。高速記憶制御部310はPCI−SIGで規定されているIOV(I/O Virtualization)などの仮想化システムにおけるIO仮想化機能に準拠するようにしてもよい。そして、IO仮想化機能に準拠することで、各仮想装置に割り当てられた領域をより管理容易性が高く高速で安全なデバイス共有を実現することが可能であり、本説明もそれを前提とする。もっとも、同等の機能が実現できるのであれば、具体的な手段は必ずしもこの限りではない。
[マイグレーション動作]
次に図4のフローチャートと図3の概念図を参照して、本発明のマイグレーション部分の詳細動作について説明する。
すでに述べた通り、本発明はマイグレーションの際に、仮想装置のサービスが停止する要因である主記憶部間でのメモリ転送・コピーにかかる時間を短縮する方法を提供することを目的としている。以下にその動作フローについて順を追って説明する。なおマイグレーションの実施前は、仮想装置120にはメモリ空間111のうち、主記憶部部分から利用可能メモリ領域A3が割り当てられている(図1では領域103−1に対応)とする。
まず、管理装置500や、直接仮想化部110が操作を受け付けることにより、マイグレーションの開始コマンドが発行される(ステップS601)。
高速記憶装置300部分の利用可能領域から領域A3と同じ大きさの領域A4を確保し、バックグラウンドで領域A3の内容を領域A4にコピーする。この間、仮想装置120の動作は停止せず、一度コピーが終わった後に再度書き換えが生じた場合はダーティメモリとして情報を残す(ステップS602)。
次に、可能な限りサービス停止時間を短縮するために、移行先の仮想化部210において仮想装置120の立ち上げのための事前処理を行なっておく(ステップS603)。本処理は実装などにも依存するが、たとえばXenなどに代表される仮想化部の場合、仮想装置に割り当てるリソース設定(割り当てメモリ領域やCPU資源分配のためのパラメータなど)などの新規仮想装置起動のために必要な設定一般を指す。メモリの中身のデータは現在は第1の計算機1上のメモリ空間にあるものを上書きすることになるが、その上書きが完全に完了するまで少なくとも仮想装置は動作させず、比喩的にはいわば仮想装置の「箱」だけを作っておく。ここでは本実施形態において重要となるメモリ領域の説明のみを行なう。移動する仮想装置に割り当てられているメモリ領域と同じ大きさのメモリ領域を確保しておく。確保するメモリは主記憶部203の領域203−1とする。
ステップS602で行なったデータ同期処理が一度終了した後、次はダーティメモリのみを再度バックグラウンドコピーする(ステップS604)。
最初のうちはダーティメモリの量が減っていくため、逐次コピーを繰り返す(ステップS605においてNo、ステップS604)。もっとも、一般に逐次コピーを繰り返していると、コピー時間が有限で仮想装置が動作している以上、メモリの更新は或るレート(頻度)で起こっているため、逐次コピー量があまり減少しなくなってくる。その飽和点となったら(ステップS605においてYes)ステップS606に進む。なお飽和点の判断は例えば事前に設定した値と、ダーティメモリコピー量の変化率などを比較することで実現可能であるが、方法は必ずしもこの限りではない。
仮想装置のこれ以降のメモリ書き込みに関しては主記憶部102と高速記憶部300の両方への同時書き込みを行なうことで、主記憶部102と高速起動部300を同期させる。主記憶部102と高速起動部300の仮想装置データの領域が完全に同期するまで残りのダーティメモリの書き込みを続ける(ステップS606)。
同期処理が終了したら仮想装置を一時停止し領域A4を第1の計算機1では利用不可に、第2の計算機2では利用可能に変更する(ステップS607)。ここで、計算機に割り当てる総メモリサイズを保存するための一つの方法としては、高速記憶制御部310が図3に示したように、現在第2の計算機2で利用可能と設定されている領域A4と同じ大きさの領域A5をあらかじめ用意し、その領域を交換する方法を用いることができる。なお、この方法はあくまで一例であり、必ずしもこの方法を用いる必要はない。たとえば、高速記憶制御部310は、物理的なアドレスそのものではなく仮想的な記憶装置領域を示すアドレスを計算機に提示しておき、本当の物理的アドレスと仮想的なアドレスの対応テーブルを管理しておき、このテーブルを書き換える、ということによって交換するということも可能である。
仮想化部210は領域A4に対応するメモリ空間内の領域を使って仮想装置を起動する。これは例えば、ステップS603でした事前処理で設定したメモリ領域203−1へのアクセスはすべて高速記憶装置の領域A4の物理アドレスを使うようにメモリ制御部202にあらかじめ設定することで実現可能である(ステップS608)。
バックグラウンドで記憶領域A4部分のデータを主記憶装置のメモリ領域203−1にコピーする(ステップS609)。このコピーは、ステップS604〜ステップS605と同様に逐次的にダーティメモリをコピーし、適当なところで高速記憶部と主記憶部への同時書き込みを行い完全に領域A4と領域203−1が同期したら、それ以降は領域203−1を用いるよう論理メモリアドレスと物理メモリアドレスをマッピング設定することにより行う。
次に、本実施形態の効果について説明する。
本実施形態では、仮想装置のメモリデータを第1の計算機1から第2の計算機2に移す際に、ネットワークプロトコルを利用したコピーではなく、高速記憶部へのダイレクトなメモリ書き込み処理と当該領域の付け替えのみで行なうように構成されている。そのため、不要なプロトコル処理やメモリコピーを減らすことができ、仮想装置のマイグレーションの高速化が図れる。
仮想装置の完全停止は第1の計算機1から第2の計算機2への高速記憶部300における当該領域の所有権の付け替え処理の時間のみであり、従来の手法と異なりダーティメモリ発生率の飽和点から第1の計算機1から第2の計算機2へのネットワーク越しのコピーによるデータ転送処理に起因するオーバーヘッドは生じない。
つまり例えば通常のTCPを利用した転送では、送信側では一度送信バッファにデータをコピーし、TCPのプロトコル処理を行ない、セグメントごとに分けられたデータをNICのレジスタにコピーし、それをネットワーク越しに送信する。そして送信途中には、ACK処理を行ない、もしパケットが棄却されたら再送信する。また、受信側では、NICから割り込みが入ったら受信データを一度受信バッファにコピーし、そのデータをコピーして該当する受信プロセスに渡すことで実現される。
一方、本実施形態ではこれらの処理に対し、高信頼転送にかかわる部分は通信インターフェース部104、204でハードウェア化されるためプロトコル処理に起因するオーバーヘッドを省くことが可能である。加えて、ネットワークプロトコルを用いるための不要なデータコピーを省くことが可能である。
最後のダーティメモリコピーの直前から領域付け替えが終了するまでの仮想装置の処理速度は高速記憶部へのアクセス速度に依存するが、このダーティメモリコピーは、演算部からの直接書き込みである。これは異なるメモリアドレスへのデータコピーと同様の処理で行なわれるため、上記のような処理オーバーヘッドは本質的に生じておらず、何より仮想装置を停止する必要はない。
また、本発明実施形態では、さらに、仮想装置の移動に際して、一連の処理を、最後のダーティメモリの高速記憶部への書き込み、所有権の付け替え、高速記憶部上のダーティデータから主記憶部への書き込みに分割して考える。そして、その時の負荷率やダーティメモリ(データ)発生率にあわせた柔軟な仮想装置の移行による、連続サービス停止時間と仮想装置の処理速度の柔軟なマネジメントが可能である。仮想装置上で動くプログラムの特性によっては、例えば高速記憶部の動作速度が遅くかつダーティメモリ量の発生率が大変高いような場合がある。このような場合は、いったん仮想装置を停止し、最後のダーティメモリを移した後に再度仮想装置を再開し、付け替え処理の準備をすべて整えてから、次は所有権の付け替えのみを行なうといった処理など、その状況に合わせたマネジメントが可能となる。同様に高速記憶部102から主記憶部203への移動も必要なときに行えばよいため、例えば現在の負荷率やダーティメモリ発生率、アクセス速度などを勘案して移行処理を行なうことが可能である。さらに、今回の説明では高速記憶部の領域割り当ては第1の計算機1、第2の計算機2の間で排他的に行なったが、read処理はデータを破壊しないため、例えば付け替え直前までは第2の計算機2から領域A4(図1では301)へのread処理を許可し、メモリ領域203−1へのデータコピーを併せて行なわせておくことで更に高速化を図ることも可能である。
次に、具体的な実施例を用いて本発明を実施するための形態の動作を説明する。
図5に実施例1を示す。図5に示すように、第1の物理装置2000及び第2の2100はその内部にCPU2001、2101、NIC(ネットワークインターフェースカード)2006、2106、SOUTHBRIDGE2005、2105、NORTHBRIDGE2003、2103、メインメモリ2002、2102、Bridge2004、2104をそれぞれ有する。当該第1の物理装置2000及び第2の2100上でXenやVMWareなどに代表されるHypervisor2010、2110が動作し、VM(Virtual Machine)2022が作成され、動作している。
なおここでVM2022現在は物理装置2000上で動作し、移動後は物理装置2100で動作するものを指すとする。この点を明示すべく図中では、物理装置2000上のVM2022を破線、移動後の物理装置2100上のVM2022を実線で表す。
また管理サーバ2300、Bridge2203、NIC2006、2106はスイッチ2204に接続され、互いに通信が可能である。このネットワークは典型的にはEthernetなどに代表されるネットワークであるがそれに限定されるものではない。本実施例では一つのネットワークスイッチ2204で全てが接続されるようにBridgeはPCIe−Ethernetのプロトコル変換を行なう。そして、管理サーバ2300がHypervisorにアクセスする時はNIC2006及び2106を用い、BridgeやMR−IOV PCIeコントローラにアクセスする時はBridgeを介している。もっともこの構成は一例であり、これらは別々のネットワークで構成されていてもよい。管理サーバ2300はまたスイッチ2204にもアクセス可能でありその設定などを変更することができる。また、BridgeにはたとえばECN、BCNやQCNといった送信レートの制御機能及びパケットロスを検出し再送する機能が搭載されていてもよい。また、それ以外にも、レートをコントロールする機能のみがあり、たとえばPAUSEやクレジット方式による送受信方式などによりパケットロスを起こさない仕組みがネットワーク側に組み込まれていていることが望ましい。更にBridgeは送信レート制御や再送制御などの高信頼通信を行う上で、ネットワークからの信号を利用するなどして連携して行なってもよいし、完全にエンド−エンドで制御を行なってもよい。Hypervisorなどの管理プログラムやCPUからはTransparentな形でハードウェア的に高速かつ高信頼なデータ転送処理機能が組み込まれていることが望ましい。もっとも、パケットロスがゼロであることを保証できる限りにおいて、これらの方式に制限されるものではない。
さらに本実施例において、Bridge2203にはMR−IOV(Multi-Root I/O virtualization)対応PCIeコントローラである、MR−IOV NAND Flashコントローラ2202と、さらに高速記憶装置としてNAND Flash2201が接続されている。
NORTHBRIDGEにはメモリコントローラが実装されており、CPUとメインメモリやBridgeを通したFlash間のアクセスなどの高速信号部分を処理する。特にNorthbridgeとMR−IOV PCIeコントローラ間はPCIeで接続されており、メインメモリへのアクセス速度に対して大きく遜色せず、この間の通信がボトルネックにならない程度に高速な帯域が確保されていることが望ましい。ここでNORTHBRIDGE2003及び2103はPCIeネットワークにおけるRoot Complexとして認識される。本実施例ではMR−IOVを用いた。また、その他にもSR−IOV(Single Root IOV)を用いて、Bridgeとネットワークスイッチでアドレス空間を切り分けることで同等の効果を付与し、複数RootComplexでも動作設定可能なような機能を搭載することも可能である。
SOUTHBRIDGEは主に低速側インターフェースを担い、NICに代表されるI/OカードとCPUなどとの接続を担当する。
本実施例は、起動時に第1の物理装置2000及び第2の2100(第1の物理装置2000及び第2の2100の文言には、ハードウェアとしての第1の物理装置2000及び第2の2100、その上で動作するプログラム、若しくは物理装置とプログラムの組合せが含まれるものである。)はNAND Flash2201の一部または全部を自分の管理デバイスとして設定する。
管理サーバ2300はあらかじめNAND Flashコントローラ2202に対してどの物理装置にどれくらいの領域を可視にして、そのうちどのくらいの領域を利用可能領域として割り当てるかを設定しておく。物理装置は起動時に可視領域を自分の管理デバイスとして登録し、メモリ空間にマップするが、同時に管理サーバ2300は物理装置に対してそのうちの利用可能領域を通知する。これにより、Hypervisorはどのメモリ領域が各プログラムやVMに対して割り当て可能であるかを認識し、属性設定を行なう。NORTHBRIDGEに搭載されたメモリコントローラはこの情報をもとにアクセス監視を行い、禁止された部分へのアクセス要求があった場合はそのアクセスを遮断し、Hypervisorに通知する。
また、NAND Flashコントローラにおいても同様のアクセス管理機能が搭載され、同時に設定されていることが望ましい。本機能によりVMからI/Oデバイスへの直接アクセスが可能となるため処理の高速化が図れる。HypervisorはVMを起動する時にメモリ領域を割り当てるが、その情報はNAND Flashコントローラにも通知される。そして、MR−IOVで規定された機能を用いてそのVMが利用する領域を設定する。これによりVMから直接アクセスに対しても領域の保護が可能となる。
次にVMのマイグレーション動作について詳細に説明する。管理サーバからVMのマイグレーションコマンドを発行すると、Hypervisor2010はVMのマイグレーションを開始する。これは直接管理者がHypervisor2010の該当コマンドを入力してもよい。Hypervisorは、本発明の実施形態として図4に示したものと同様のフローで、VM2022のメモリ領域をNAND Flashがマップされている領域にコピーする。逐次コピーを繰り返し、ダーティメモリ発生率が飽和したところでHypervisorはVM2022からのメモリ書き込み処理の発生に対してメインメモリへの書き込みと同時にNAND FLASNへの書き込みを行う。そして、メインメモリとNAND FLASHとの当該領域の完全同期が実現されるまでバックグラウンドではダーティメモリのコピーを行う。同期が達成された後にVM2022はNAND Flashのみへアクセスするようにする。同時にHypervisor2110は新しいVMの起動準備を行なう。このときに、まずNAND FlashのVM2022の利用する領域をREAD ONLYで第2の計算機2に可視にして、その情報をメインメモリに確保された領域に常に逐次コピーして同期させておいてもよい。同期が終了した後、必要なら負荷率の変動なども監視しながら、適当なタイミングでVMを一時停止し、実施の形態に記述の要領でNAND Flashの利用可能領域と利用不可領域の更新を行う。これにより、第2の計算機2からVM2022領域へのアクセスが可能であるようにし、Hypervisor2110は新規作成しておいたVMのメモリ領域の物理アドレスを当該高速記憶装置のデータ部分に指定して起動する。同時にダーティメモリをメインメモリ上に確保された領域にコピーすることで両者の同期をはかり、適当なタイミングでメインメモリ領域にマッピングしなおすことでマイグレーションは完全に終了する。
なお、図4に示した処理フローはNAND Flashを介することで段階を踏みながらマイグレーションが可能であるが、どのタイミングでどうVMを移動させるべきかはVMの動作状況やNAND FLASHへのアクセス速度で変わるものである。
本発明の第2の実施例としてバックアップサーバの構築へ応用することが考えられる。
具体例としては、例えば図6に示すように、物理装置3000をマスターサーバ、物理装置3100をスレーブ(バックアップ用)サーバとする。NAND Flashは前記の実施の形態と同様にネットワークスイッチを通して共有され、物理装置3000及び3100の論理メモリ空間にマッピングされているとする。物理装置3000と物理装置3100はNAND Flashを共有し、物理装置3000の利用可能領域のうち一部を物理装置3100からでも利用可能と設定されている。ただし、その重複領域は物理装置3100からは読み出しのみが可能であるとする。物理装置3000の上ではVM3020が動作し、メインメモリ3100においてそのメモリ領域3201が確保されている。ここで、バックグラウンドで常にダーティメモリはNAND Flash上にマッピングされた領域3202にコピーされており、この領域3202は物理装置3100からも読み出しのみアクセスが許可されている領域であるとする。
一方で物理装置3100ではやはりVM3120が動作しているが、そのメモリ領域は物理的にはメインメモリ3101に論理メモリ空間では領域3203として確保されている。物理装置3100は読み出し可能である領域3202から3203へ常に差分データ(ダーティメモリ)をコピーしている。このため、VM3020のメモリデータはVM3120のメモリデータと差分データのコピーにかかる時間を除けば同じものであり、例えば、ある瞬間に物理装置3000のCPUやメモリなどのデバイスが故障するなどのなんらかの障害が起きた時でも、すぐに物理装置3100上のVM3120に切り替えることで、瞬時にバックアップサーバへの以降が可能となる。
典型的なアプリケーションとしては、Webサーバに代表される外部からのアクセスに対して何らかの処理を行なうようなシステムを考える。一般的にはこのようなサーバはユーザからのアクセスを契機に新たな演算を行なう。そして、物理装置3000が故障しても、すぐさま物理装置3100へ切り替えれば、次にユーザがアクセスしてもユーザからはその故障に気づくことなくサービス利用が継続して提供される。ちょうどユーザアクセスの処理をしている最中に故障した場合は、差分データの書き込みディレイ分に関係する処理については復旧不可能ではある。しかし、その場合のために、処理に不整合があったことを検出したらその処理事態をアボートする処理を入れるようアプリケーションプログラムを設計すればよく、問題とはならない。
以上説明した、本発明の実施形態及び実施例は、以下のような効果を奏する。
第1の効果は、仮想装置が異なる物理装置の間で高速に移動しそのサービス停止時間を削減できることにある。
その理由は、従来のデータコピー方式ではなく、メインメモリとは別に設定された複数物理装置間で高速記憶デバイスを共有し、その特定領域の所有権が動的に設定可能な高速記憶デバイスを用いてその領域の所有権を物理装置間で付け替える処理のみで同等の効果を奏することができるためである。
第2の効果は、第1の効果を実現する上で必要な処理が非常に簡略なものでよいことにある。
その理由は、仮想化部などのソフトウェアの大幅な変更が不要であり、かつ高速記憶デバイスの追加にともなう設定処理は簡単に自動化ができ、実際の移動に際して必要な動的処理も非常に簡単な設定変更で実現できるためである。
第3の効果は、仮想装置の異なる物理装置の間の移動において性能を最大限に発揮できるよう移動プロセスが柔軟に設定できることにある。
その理由は、本発明の実施形態によれば高速記憶部へのアクセス速度やダーティメモリ発生率、仮想装置の負荷率など様々なパラメータを元に仮想装置の起動や停止のタイミングの設定幅が広く取れるためである。
第4の効果は、複数の物理装置上の複数ホストプログラム間でお互いの存在を意識せずにかつ矛盾なくデバイス共有が行えることである。
本発明に関連する技術として、例えば、一台の物理装置における入出力装置の共有に関して、ホストプログラムというデバイスを完全に管理できるプログラムが、その支配下にある仮想計算機のアクセスについてマッピング情報の更新を行うといった技術が考えられる。もっとも、このような技術では複数の物理装置間での複数ホストプログラム間でお互いの存在を意識せずにかつ矛盾なくデバイス共有することができなかった。
しかし、本発明では、異なる物理マシン上で動作する複数のホストプログラムが共有するネットワーク上に位置するデバイスに関するマッピング情報の管理をしており、ただ単なるマッピング情報の更新ではない。そのため、上述したように、複数ホストプログラム間でお互いの存在を意識せずにかつ矛盾なくデバイス共有が行えるという効果を奏することができる。
なお、本発明の実施形態である仮想装置の高速移動システムは、ハードウェアにより実現することもできるが、コンピュータをその仮想装置の高速移動システムとして機能させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
また、本発明の実施形態による仮想装置の高速移動方法は、ハードウェアにより実現することもできるが、コンピュータにその方法を実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
また、上述した実施形態は、本発明の好適な実施形態及び実施例ではあるが、上記実施形態及び実施例のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
本願は、日本の特願2009−109083(2009年4月28日に出願)に基づいたものであり、又、特願2009−109083に基づくパリ条約の優先権を主張するものである。特願2009−109083の開示内容は、特願2009−109083を参照することにより本明細書に援用される。
本発明の代表的な実施の形態が詳細に述べられたが、様々な変更(changes)、置き換え(substitutions)及び選択(alternatives)が請求項で定義された発明の精神と範囲から逸脱することなくなされることが理解されるべきである。また、仮にクレームが出願手続きにおいて補正されたとしても、クレームされた発明の均等の範囲は維持されるものと発明者は意図する。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1) ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動システムであって、
前記物理装置は、各々が有する主記憶部に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶部及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり前記マッピング情報を用いることを特徴とする仮想装置の高速移動システム。
(付記2) 付記1に記載の仮想装置の高速移動システムにおいて、
前記物理装置は、前記仮想装置を作成するための部分である、仮想化部を更に備えており、
当該仮想化部は、前記主記憶部の物理的なアドレス及び前記高速記憶装置の物理的なアドレスの両方からなる物理的なアドレス空間にマッピングされた論理的なメモリアドレス空間を有していることを特徴とする仮想装置の高速移動システム。
(付記3) 付記1又は2に記載の仮想装置の高速移動システムにおいて、
或る仮想装置に対して割り当てられたメモリアドレス空間領域について、動的にその物理アドレスと論理アドレスの前記マッピング情報を変更し、アクセス制御のための記憶領域の所有権情報を併せて変更することを特徴とする仮想化された計算機システムにおける仮想装置の高速移動システム。
(付記4) 付記1乃至3の何れか1項に記載の仮想装置の高速移動システムにおいて、
前記高速記憶装置は、前記主記憶部と比べ若干の低速若しくは同等以上の速度で動作する記憶装置であり、当該高速記憶装置が、前記物理装置が更に備えるメモリ制御部及び演算部と性能ボトルネックにならない程度に高速なインターフェースで接続されていることを特徴とする仮想装置の高速移動システム。
(付記5) 付記1乃至4の何れか1項に記載の仮想装置の高速移動システムにおいて、
前記高速記憶装置の制御管理と、前記物理装置との間のアクセスを制御する記憶装置制御部を更に備えており、
当該記憶装置制御部は、特に前記高速記憶装置の一部または全部の記憶領域について、当該高速記憶装置を共有している前記物理装置又は前記仮想装置単位で付与された前記アクセスに関する所有権を管理することを特徴とする仮想装置の高速移動システム。
(付記6) 付記1乃至5の何れか1項に記載の仮想装置の高速移動システムにおいて、
前記物理装置は、前記論理メモリアドレスと物理メモリアドレスとの対応を、チップセットの特にはNORTHBRIDGE、若しくは、演算装置に搭載されたメモリーマネジメントユニットを用いて管理することを特徴とする仮想装置の高速移動システム。
(付記7) 付記1乃至6の何れか1項に記載の仮想装置の高速移動システムにおいて、
前記物理装置間の前記ネットワークを介した接続による通信のために、ネットワークスイッチの集合を有しており、前記接続に際し、キュー管理に基づく輻輳制御、パケット棄却率の低減又はゼロ化、といった高信頼性通信のための機能を有することを特徴とする仮想装置の高速移動システム。
(付記8) 付記7に記載の仮想装置の高速移動システムにおいて、
前記ネットワークを介した接続による通信のために規定された第1のプロトコルと、前記物理装置と前記高速記憶装置との通信のために規定された第2のプロトコルと、を変換するブリッジを有しており、前記物理装置内で動作するソフトウェアプログラムからはネットワーク介した接続が透明的であることを特徴とする仮想装置の高速移動システム。
(付記9) 付記8項に記載の仮想装置の高速移動システムにおいて、
前記ブリッジと前記ネットワークスイッチが、前記ネットワークスイッチからのフィードバック信号を利用することにより連携し、送信レートの制御や、棄却されたパケットについて再送する、といった高信頼性を保つ機能を有することを特徴とする仮想化された計算機システムにおける仮想装置の高速移動システム。
(付記10) 付記1乃至9の何れか1項に記載の仮想装置の高速移動システムにおいて、
前記物理装置とは異なる計算機が、前記物理装置及び高速記憶装置が通信を行うために用いているネットワークと同一のネットワーク又は当該同一のネットワークとは別の専用ネットワークを介して接続されており、
当該計算機が、前記アドレスマッピング情報を含む計算機上の記憶領域の管理や、仮想装置の移動の契機の管理を行なうことを特徴とする仮想装置の高速移動システム。
(付記11) 付記1乃至10の何れか1項に記載の仮想装置の高速移動システムにおいて、
前記アドレスマッピング情報のマッピングは当該計算機システムの起動時に行なわれ、前記高速記憶装置はI/Oデバイスとして読み込まれ、前記物理装置の管理するメモリ領域にマッピングされ、当該マッピングに際し、予め設定された領域割り当て情報を用いて、前記物理装置の各々に対して、認識・登録を許可する記憶領域と、認識・登録は許可するが使用不可の属性を付与する記憶領域と、を設定することを特徴とする仮想装置の高速移動システム。
(付記12) 付記11に記載の仮想装置の高速移動システムにおいて、
前記許可の種類は読み込みのみ、或いは、読み込み及び書き出しといった細かい粒度で設定が可能なことを特徴とする仮想装置の高速移動システム。
(付記13) 付記1乃至12の何れか1項に記載の仮想装置の高速移動システムにおいて、
前記物理装置上で動作するアプリケーションプログラム、若しくは前記仮想装置として動作するアプリケーションプログラムが、アクセスを許可されていない領域についてアクセスが発生した時は、当該アクセスが制限されることを特徴とする仮想装置の高速移動システム。
(付記14) 第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする仮想装置の高速移動システム。
(付記15) 前記主記憶部から前記高速記憶装置へのコピーの間、前記仮想装置は停止させず、バックグラウンドで逐次的に書き換えのあったデータ部分のみのコピーによる同期処理を行ない、当該コピーにかかる時間に書き換わるデータの量が飽和したと判断した時点から、差分データコピーと同時に仮想装置からの当該領域データへの書き込み処理の発生に対して主記憶部のみならず高速記憶装置へも同時書き込みを開始し、同期が完全に終了したところで、それ以降は主記憶部から高速記憶装置にアクセスするように論理アドレスと物理アドレスのマッピング更新を行うことにより仮想装置の動作を継続することを特徴とする付記14に記載の仮想装置の高速移動システム。
(付記16) 前記所有権の付け替え処理の後、移動前仮想装置と同様の設定情報を有し、第2の物理装置の演算装置上で動作する新規に起動された移動後仮想装置が、前記高速記憶装置上の仮想装置のメモリデータにアクセスすることで第1の物理装置上で動作していた前記移動前仮想装置と全く同じ動作を継続し、前記第1の物理装置から第2の物理装置へ前記仮想装置移動させた方法と同様の方法で、前記高速記憶装置から第2の物理装置の主記憶部に仮想装置の停止を伴わずデータが移行されることを特徴とする付記14又は15に記載の仮想装置の高速移動システム。
(付記17) 前記移動対象の仮想装置のメモリデータが逐次的に書き込まれる前記高速記憶装置の領域について、前記所有権の付け替え前から、第2の物理装置からのアクセスを完全利用不可から読み出しのみ可に設定することで予め第2の物理装置の主記憶部上の当該仮想装置のために確保されたメモリ領域にデータを逐次的に移動することを特徴とする付記14乃至16の何れか1項に記載の仮想装置の高速移動システム。
(付記18) ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理装置であって、
前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする管理装置。
(付記19) 前記主記憶部から前記高速記憶装置へのコピーの間、前記仮想装置は停止させず、バックグラウンドで逐次的に書き換えのあったデータ部分のみのコピーによる同期処理を行なわせ、当該コピーにかかる時間に書き換わるデータの量が飽和したと判断した時点から、差分データコピーと同時に仮想装置からの当該領域データへの書き込み処理の発生に対して主記憶部のみならず高速記憶装置へも同時書き込みを開始させ、同期が完全に終了したところで、それ以降は主記憶部から高速記憶装置にアクセスするように論理アドレスと物理アドレスのマッピング更新を行わすことにより仮想装置の動作を継続させることを特徴とする付記18に記載の管理装置。
(付記20) ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動方法であって、
前記物理装置は、各々が有する主記憶装置に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶装置及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり前記マッピング情報を用いることを特徴とする仮想装置の高速移動方法。
(付記21) 第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶装置にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする仮想装置の高速移動方法。
(付記22) ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理方法であって、
前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶装置にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする管理方法。
(付記23) ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動プログラムであって、
前記物理装置は、各々が有する主記憶部に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶部及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり前記マッピング情報を用いる計算機システムとしてコンピュータを機能させることを特徴とする仮想装置の高速移動プログラム。
(付記24) 第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在する実態メモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定する計算機システムとしてコンピュータを機能させることを特徴とする仮想装置の高速移動プログラム。
(付記25) ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理プログラムであって、
前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定する管理装置としてコンピュータを動作させることを特徴とする管理プログラム。
本発明によれば、データセンターなどの相互にネットワークを介して接続された少なくとも二つ以上の計算機を有するシステムにおける、高速な仮想装置のマイグレーションによる設定変更といった用途に適用できる。また、高速記憶装置における仮想装置情報の領域をリードオンリーモードで他の計算機で利用することでバックアップサーバとして用いるといった用途にも適用可能である。

Claims (24)

  1. ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動システムであって、
    前記物理装置は、各々が有する主記憶部に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶部及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり、或る仮想装置に対して割り当てられたメモリアドレス空間領域について、動的にその物理アドレスと論理アドレスの前記マッピング情報を変更し、アクセス制御のための記憶領域の所有権情報を併せて変更することを特徴とする仮想装置の高速移動システム。
  2. 請求項1に記載の仮想装置の高速移動システムにおいて、
    前記物理装置は、前記仮想装置を作成する仮想化部を更に備えており、
    当該仮想化部は、前記主記憶部の物理的なアドレス及び前記高速記憶装置の物理的なアドレスの両方からなる物理的なアドレス空間にマッピングされた論理的なメモリアドレス空間を有していることを特徴とする仮想装置の高速移動システム。
  3. 請求項1又は2の何れか1項に記載の仮想装置の高速移動システムにおいて、
    前記高速記憶装置は、前記主記憶部と比べ若干の低速若しくは同等以上の速度で動作する記憶装置であり、当該高速記憶装置が、前記物理装置が更に備えるメモリ制御部及び演算部と性能ボトルネックにならない程度に高速なインターフェースで接続されていることを特徴とする仮想装置の高速移動システム。
  4. 請求項1乃至の何れか1項に記載の仮想装置の高速移動システムにおいて、
    前記高速記憶装置の制御管理と、前記物理装置との間のアクセスを制御する記憶装置制御部を更に備えており、
    当該記憶装置制御部は、特に前記高速記憶装置の一部または全部の記憶領域について、当該高速記憶装置を共有している前記物理装置又は前記仮想装置単位で付与された前記アクセスに関する所有権を管理することを特徴とする仮想装置の高速移動システム。
  5. 請求項1乃至の何れか1項に記載の仮想装置の高速移動システムにおいて、
    前記物理装置は、前記論理メモリアドレスと物理メモリアドレスとの対応を、チップセットの特には演算装置に接続されメモリコントローラが実装されたチップであるNORTHBRIDGE、若しくは、前記演算装置に搭載されたメモリーマネジメントユニットを用いて管理することを特徴とする仮想装置の高速移動システム。
  6. 請求項1乃至の何れか1項に記載の仮想装置の高速移動システムにおいて、
    前記物理装置間の前記ネットワークを介した接続による通信のために、ネットワークスイッチの集合を有しており、前記接続に際し、キュー管理に基づく輻輳制御、パケット棄却率の低減又はゼロ化、といった高信頼性通信のための機能を有することを特徴とする仮想装置の高速移動システム。
  7. 請求項に記載の仮想装置の高速移動システムにおいて、
    前記ネットワークを介した接続による通信のために規定された第1のプロトコルと、前記物理装置と前記高速記憶装置との通信のために規定された第2のプロトコルと、を変換するブリッジを有しており、前記物理装置内で動作するソフトウェアプログラムからはネットワーク介した接続が透明的であることを特徴とする仮想装置の高速移動システム。
  8. 請求項項に記載の仮想装置の高速移動システムにおいて、
    前記ブリッジと前記ネットワークスイッチが、前記ネットワークスイッチからのフィードバック信号を利用することにより連携し、送信レートの制御や、棄却されたパケットについて再送する、といった高信頼性を保つ機能を有することを特徴とする仮想化された計算機システムにおける仮想装置の高速移動システム。
  9. 請求項1乃至の何れか1項に記載の仮想装置の高速移動システムにおいて、
    前記物理装置とは異なる計算機が、前記物理装置及び高速記憶装置が通信を行うために用いているネットワークと同一のネットワーク又は当該同一のネットワークとは別の専用ネットワークを介して接続されており、
    当該計算機が、前記マッピング情報を含む計算機上の記憶領域の管理や、仮想装置の移動の契機の管理を行なうことを特徴とする仮想装置の高速移動システム。
  10. 請求項1乃至の何れか1項に記載の仮想装置の高速移動システムにおいて、
    記マッピング情報のマッピングは当該計算機システムの起動時に行なわれ、前記高速記憶装置はI/Oデバイスとして読み込まれ、前記物理装置の管理するメモリ領域にマッピングされ、当該マッピングに際し、予め設定された領域割り当て情報を用いて、前記物理装置の各々に対して、認識・登録を許可する記憶領域と、認識・登録は許可するが使用不可の属性を付与する記憶領域と、を設定することを特徴とする仮想装置の高速移動システム。
  11. 請求項1に記載の仮想装置の高速移動システムにおいて、
    前記許可の種類は読み込みのみ、或いは、読み込み及び書き出しといった細かい粒度で設定が可能なことを特徴とする仮想装置の高速移動システム。
  12. 請求項1乃至1の何れか1項に記載の仮想装置の高速移動システムにおいて、
    前記物理装置上で動作するアプリケーションプログラム、若しくは前記仮想装置として動作するアプリケーションプログラムが、アクセスを許可されていない領域についてアクセスが発生した時は、当該アクセスが制限されることを特徴とする仮想装置の高速移動システム。
  13. 第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする仮想装置の高速移動システム。
  14. 前記主記憶部から前記高速記憶装置へのコピーの間、前記仮想装置は停止させず、バックグラウンドで逐次的に書き換えのあったデータ部分のみのコピーによる同期処理を行ない、当該コピーにかかる時間に書き換わるデータの量が飽和したと判断した時点から、差分データコピーと同時に仮想装置からの主記憶部にマッピングされた領域への書き込み処理の発生に対して主記憶部のみならず高速記憶装置へも同時書き込みを開始し、同期が完全に終了したところで、それ以降は主記憶部から高速記憶装置にアクセスするように論理アドレスと物理アドレスのマッピング更新を行うことにより仮想装置の動作を継続することを特徴とする請求項1に記載の仮想装置の高速移動システム。
  15. 前記所有権の付け替え処理の後、移動前仮想装置と同様の設定情報を有し、第2の物理装置の演算装置上で動作する新規に起動された移動後仮想装置が、前記高速記憶装置上の仮想装置のメモリデータにアクセスすることで第1の物理装置上で動作していた前記移動前仮想装置と全く同じ動作を継続し、前記第1の物理装置から第2の物理装置へ前記仮想装置移動させた方法と同様の方法で、前記高速記憶装置から第2の物理装置の主記憶部に仮想装置の停止を伴わずデータが移行されることを特徴とする請求項1又は1に記載の仮想装置の高速移動システム。
  16. 前記メモリデータがコピーされる、前記第2の物理装置では登録されているが利用不可と設定された前記高速記憶装置の領域について、前記所有権の付け替え前から、第2の物理装置からのアクセスを完全利用不可から読み出しのみ可に設定することで予め第2の物理装置の主記憶部上の前記仮想装置のために確保されたメモリ領域にデータを逐次的に移動することを特徴とする請求項1乃至1の何れか1項に記載の仮想装置の高速移動システム。
  17. ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理装置であって、
    前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする管理装置。
  18. 前記主記憶部から前記高速記憶装置へのコピーの間、前記仮想装置は停止させず、バックグラウンドで逐次的に書き換えのあったデータ部分のみのコピーによる同期処理を行なわせ、当該コピーにかかる時間に書き換わるデータの量が飽和したと判断した時点から、差分データコピーと同時に仮想装置からの主記憶部にマッピングされた領域への書き込み処理の発生に対して主記憶部のみならず高速記憶装置へも同時書き込みを開始させ、同期が完全に終了したところで、それ以降は主記憶部から高速記憶装置にアクセスするように論理アドレスと物理アドレスのマッピング更新を行わすことにより仮想装置の動作を継続させることを特徴とする請求項1に記載の管理装置。
  19. ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動方法であって、
    前記物理装置は、各々が有する主記憶装置に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶装置及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり、或る仮想装置に対して割り当てられたメモリアドレス空間領域について、動的にその物理アドレスと論理アドレスの前記マッピング情報を変更し、アクセス制御のための記憶領域の所有権情報を併せて変更することを特徴とする仮想装置の高速移動方法。
  20. 第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶装置にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする仮想装置の高速移動方法。
  21. ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理方法であって、
    前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶装置にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定することを特徴とする管理方法。
  22. ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を備えた仮想化された計算機システムにおいて、前記物理装置間で仮想装置を移動させる仮想装置の高速移動プログラムであって、
    前記物理装置は、各々が有する主記憶部に加えて、前記高速記憶装置へのアクセスに際し衝突が生じないようにそれぞれに割り当てられている当該高速記憶装置内の領域にアクセスが可能であり、前記物理装置は、前記主記憶部及び前記高速記憶装置が提供する記憶領域に基づいて作成された論理メモリアドレス空間情報、及び、物理的なメモリアドレス情報とのマッピング情報を有し、或る一つの前記物理装置内で動作する前記仮想装置は前記高速記憶装置を介して他の前記物理装置に移動し、当該移動にあたり、或る仮想装置に対して割り当てられたメモリアドレス空間領域について、動的にその物理アドレスと論理アドレスの前記マッピング情報を変更し、アクセス制御のための記憶領域の所有権情報を併せて変更する計算機システムとしてコンピュータを機能させることを特徴とする仮想装置の高速移動プログラム。
  23. 第1の物理装置から第2の物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在する実態メモリデータを、第1の物理装置では利用可能と設定された高速記憶装置にマッピングし、かつ第2の物理装置では登録されているが利用不可と設定された領域にコピーし、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定する計算機システムとしてコンピュータを機能させることを特徴とする仮想装置の高速移動プログラム。
  24. ネットワークを介して相互に接続された複数の物理装置と、前記物理装置がアクセス可能な高速記憶装置と、を管理し、前記物理装置間で仮想装置を移動させるための管理プログラムであって、
    前記物理装置の各々に、アクセスに際し衝突が生じないよう排他的に前記高速記憶装置の記憶領域を割り当て、第1の前記物理装置から第2の前記物理装置への仮想装置の移動に際し、第1の物理装置が有する主記憶部にマッピングされた領域上に存在するメモリデータを、第1の物理装置では利用可能と設定された高速記憶装置の記憶領域にマッピングさせ、かつ第2の物理装置では登録されているが利用不可と設定された高速記憶装置の記憶領域にコピーさせ、前記仮想装置の一時停止中に高速記憶装置の利用可・不可に関する所有権情報を第1の物理装置からは不可に第2の物理装置からは可に設定し直すという所有権の付け替え処理を行うことで第2の物理装置の演算処理装置を用いて仮想装置が動作できるように動的に設定する管理装置としてコンピュータを動作させることを特徴とする管理プログラム。
JP2011511415A 2009-04-28 2010-04-27 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム Active JP5692065B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011511415A JP5692065B2 (ja) 2009-04-28 2010-04-27 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009109083 2009-04-28
JP2009109083 2009-04-28
PCT/JP2010/057470 WO2010126048A1 (ja) 2009-04-28 2010-04-27 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム
JP2011511415A JP5692065B2 (ja) 2009-04-28 2010-04-27 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム

Publications (2)

Publication Number Publication Date
JPWO2010126048A1 JPWO2010126048A1 (ja) 2012-11-01
JP5692065B2 true JP5692065B2 (ja) 2015-04-01

Family

ID=43032192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011511415A Active JP5692065B2 (ja) 2009-04-28 2010-04-27 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム

Country Status (3)

Country Link
US (1) US20120030306A1 (ja)
JP (1) JP5692065B2 (ja)
WO (1) WO2010126048A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110270945A1 (en) * 2010-04-30 2011-11-03 Hitachi, Ltd. Computer system and control method for the same
JP5702652B2 (ja) * 2011-04-05 2015-04-15 日本電信電話株式会社 メモリ同期方法及び運用系の仮想マシン及び待機系の仮想マシン及びメモリ同期プログラム
US10289684B2 (en) * 2011-05-03 2019-05-14 Vmware, Inc. Live migration of virtual machine persistent data using mirrored input-output operations
US9367453B1 (en) * 2011-09-30 2016-06-14 Emc Corporation System and method for migrating cache data
US9367452B1 (en) 2011-09-30 2016-06-14 Emc Corporation System and method for apportioning storage
US9197489B1 (en) 2012-03-30 2015-11-24 Amazon Technologies, Inc. Live migration of virtual machines in a hybrid network environment
US9928107B1 (en) * 2012-03-30 2018-03-27 Amazon Technologies, Inc. Fast IP migration in a hybrid network environment
US9164795B1 (en) 2012-03-30 2015-10-20 Amazon Technologies, Inc. Secure tunnel infrastructure between hosts in a hybrid network environment
CN103049308B (zh) 2012-11-30 2016-01-20 华为技术有限公司 实现虚拟机热迁移的方法、装置及系统
US9019832B2 (en) * 2013-03-14 2015-04-28 Mediatek Inc. Network switching system and method for processing packet switching in network switching system
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9118984B2 (en) 2013-03-15 2015-08-25 International Business Machines Corporation Control plane for integrated switch wavelength division multiplexing
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9104643B2 (en) 2013-03-15 2015-08-11 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9609086B2 (en) * 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9444748B2 (en) 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
EP3280339A1 (en) * 2015-04-07 2018-02-14 K2M, Inc. Spinal stabilization device, system, and method of use
US9519433B2 (en) * 2015-05-13 2016-12-13 VSector Security Technologies, LLC Secure virtual sector erasure method and system
US20180107509A1 (en) * 2015-07-31 2018-04-19 Adrian Shaw Migration of computer systems
WO2017063050A1 (en) * 2015-10-16 2017-04-20 Avi Pty Ltd A communications device
US9936019B2 (en) * 2016-03-16 2018-04-03 Google Llc Efficient live-migration of remotely accessed data
US10079919B2 (en) 2016-05-27 2018-09-18 Solarflare Communications, Inc. Method, apparatus and computer program product for processing data
US11809899B2 (en) 2019-06-28 2023-11-07 Intel Corporation Methods and apparatus for accelerating virtual machine migration
US11550490B2 (en) * 2020-02-12 2023-01-10 Red Hat, Inc. Scalable storage cluster mirroring
KR20210124687A (ko) * 2020-04-07 2021-10-15 에스케이하이닉스 주식회사 스토리지 시스템, 이를 위한 스토리지 장치 및 동작 방법
CN114327745B (zh) * 2021-11-25 2022-10-25 北京志凌海纳科技有限公司 一种跨主机虚拟机存储热迁移的方法及系统
CN114785807B (zh) * 2022-03-16 2024-07-09 深信服科技股份有限公司 一种数据处理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034508A (ja) * 1999-07-22 2001-02-09 Hitachi Ltd メモリダンプ採取方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2005327279A (ja) * 2004-05-11 2005-11-24 Internatl Business Mach Corp <Ibm> 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム
JP2009116859A (ja) * 2007-09-30 2009-05-28 Symantec Corp 1つ以上の仮想マシンをマイグレートするシステムおよび方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845395B1 (en) * 1999-06-30 2005-01-18 Emc Corporation Method and apparatus for identifying network devices on a storage network
US20040131055A1 (en) * 2003-01-06 2004-07-08 Juan-Carlos Calderon Memory management free pointer pool
US7254497B2 (en) * 2005-06-06 2007-08-07 Spectra Logic Corporation Energy consumption analysis for use with a storage system
JP4806556B2 (ja) * 2005-10-04 2011-11-02 株式会社日立製作所 ストレージシステム及び構成変更方法
US7814307B2 (en) * 2006-03-16 2010-10-12 Microsoft Corporation Fast booting a computing device to a specialized experience
US8042108B2 (en) * 2006-03-18 2011-10-18 International Business Machines Corporation Virtual machine migration between servers
US9479341B2 (en) * 2006-08-22 2016-10-25 Centurylink Intellectual Property Llc System and method for initiating diagnostics on a packet network node
US20080052368A1 (en) * 2006-08-28 2008-02-28 Sony Ericsson Mobile Communications Ab System and method to shuffle and refill content
US8127412B2 (en) * 2007-03-30 2012-03-06 Cisco Technology, Inc. Network context triggers for activating virtualized computer applications
US8280974B2 (en) * 2007-07-31 2012-10-02 Hewlett-Packard Development Company, L.P. Migrating workloads using networked attached memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034508A (ja) * 1999-07-22 2001-02-09 Hitachi Ltd メモリダンプ採取方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2005327279A (ja) * 2004-05-11 2005-11-24 Internatl Business Mach Corp <Ibm> 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム
JP2009116859A (ja) * 2007-09-30 2009-05-28 Symantec Corp 1つ以上の仮想マシンをマイグレートするシステムおよび方法

Also Published As

Publication number Publication date
WO2010126048A1 (ja) 2010-11-04
US20120030306A1 (en) 2012-02-02
JPWO2010126048A1 (ja) 2012-11-01

Similar Documents

Publication Publication Date Title
JP5692065B2 (ja) 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム
EP3985504B1 (en) Virtual machine migration
EP3608792B1 (en) Managed switching between one or more hosts and solid state drives (ssds) based on the nvme protocol to provide host storage services
CN109144659B (zh) 使用分解计算资源迁移虚拟机的技术
US10817333B2 (en) Managing memory in devices that host virtual machines and have shared memory
JP5459811B2 (ja) 仮想ストレージ移行のための方法およびシステム、ならびに仮想マシンモニタ
EP2577450B1 (en) Virtual machine migration techniques
US9594592B2 (en) Dynamic sharing of unused bandwidth capacity of virtualized input/output adapters
JP5452660B2 (ja) 仮想化されたオペレーティングシステムのためのダイレクトメモリアクセスフィルター
US9588787B2 (en) Runtime virtual process creation for load sharing
US10797999B2 (en) Multichannel input/output virtualization
US20170364394A1 (en) System and method to perform live migration of a virtual machine without suspending operation thereof
US9904639B2 (en) Interconnection fabric switching apparatus capable of dynamically allocating resources according to workload and method therefor
WO2012155555A1 (zh) 一种运行多个虚拟机的方法及系统
US10754783B2 (en) Techniques to manage cache resource allocations for a processor cache
Kumar et al. Netchannel: a VMM-level mechanism for continuous, transparentdevice access during VM migration
US20120066676A1 (en) Disabling circuitry from initiating modification, at least in part, of state-associated information
WO2017166205A1 (en) High density virtual machine container with copy-on-dma-write
WO2016013098A1 (ja) 物理計算機及び仮想計算機移行方法
WO2014041664A1 (ja) 情報処理システム、情報処理装置、移行制御プログラム、及び移行制御方法
JPWO2018173300A1 (ja) I/o制御方法およびi/o制御システム
WO2023231572A1 (zh) 一种容器的创建方法、装置及存储介质
JP2017156894A (ja) 仮想マシン管理装置、システム、および仮想マシン管理方法
WO2018083724A1 (ja) 仮想計算機システム及び仮想計算機のマイグレーション方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140402

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140602

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150119

R150 Certificate of patent or registration of utility model

Ref document number: 5692065

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150