JP2005070952A - ノード移送装置、ノード代替装置及びそのプログラム - Google Patents

ノード移送装置、ノード代替装置及びそのプログラム Download PDF

Info

Publication number
JP2005070952A
JP2005070952A JP2003297466A JP2003297466A JP2005070952A JP 2005070952 A JP2005070952 A JP 2005070952A JP 2003297466 A JP2003297466 A JP 2003297466A JP 2003297466 A JP2003297466 A JP 2003297466A JP 2005070952 A JP2005070952 A JP 2005070952A
Authority
JP
Japan
Prior art keywords
node
memory area
storage device
transfer
transfer 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.)
Granted
Application number
JP2003297466A
Other languages
English (en)
Other versions
JP4156470B2 (ja
Inventor
Hidetoshi Watanabe
英俊 渡辺
Kenichi Ito
健一 伊藤
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.)
NTT Data Group Corp
Original Assignee
NTT Data 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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2003297466A priority Critical patent/JP4156470B2/ja
Publication of JP2005070952A publication Critical patent/JP2005070952A/ja
Application granted granted Critical
Publication of JP4156470B2 publication Critical patent/JP4156470B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】 移送元ノードの環境を移送先ノードにそのまま引き継ぐことが出来るノード移送装置、ノード代替装置及びそのプログラムを提供する。
【解決手段】 ノード移送装置1と、ノード移送装置1と同一のハードウェア構成を備え、ノード移送装置1に対して外部記憶装置3に書き出されるノード移送装置1のメモリ領域のコピーに基づいて、ノード移送装置1のプロセスを引き継ぐノード代替装置2とから構成されるコンピュータシステムにおいて、ノード移送装置1が、ノード移送プロセス以外のノード移送装置1において実行中のプロセスをすべて停止したサスペンド状態において、ノード移送装置1上の主記憶装置上の物理メモリ領域に記憶された情報と、ノード移送装置1上の補助記憶装置上の仮想メモリ領域に記憶された情報とを外部記憶装置3にすべて書き出す。
【選択図】 図4

Description

本発明は、移送元であるノード移送装置、ノード移送装置と同一のハードウェア構成を備え、ノード移送装置に対して外部の記憶装置に書き出されるノード移送装置のメモリ領域のコピーに基づいて、ノード移送装置のプロセスを引き継ぐノード代替装置及びそのプログラムに関する。
複数のコモディティPCによるサーバ(PCクラスタ)は、高可用性と柔軟なスケーラビリテイを持ったサーバ機能を安価に実現することができ、従来、盛んに開発が行なわれている。PCクラスタでは、ハードやソフトの追加や変更等のためにノードを停止させてメンテナンス行う必要があるが、サービス全体としてはノード停止の影響を最小限に抑える必要がある。
そこで、ノードの可用性を高めるためには、動作中のノード(主ノード)に対してその代替となるノード(代替ノード)を用意する。主ノードの処理を代替ノードに移すこと(移送)で主ノードが停止・メンテナンス中の場合でも、走行中のサービスを継続することが可能である。ノード処理の移送に関する技術として以下のようなものがある。
PCクラスタにおいて、特定のノードの環境を他のノードに移行する場合には、ロールフォワード方式が一般的である。ロールフォワード方式とは、移行元ノードで実行されているプロセスのプログラムを移行先ノードで実行し直し、移行前と同じプロセスの状態に復元する方式である。
また、クラスタでないスタンドアロンのノード環境を他のノードに移行する方式として仮想計算機方式がある。仮想計算機方式は、ソフトウェアを用いて仮想的なノード環境を構築し、当該仮想ノードを他のノードの仮想ノード環境に移行する方式である。
また、同一ノードにおいてサスペンドさせたプロセスをリジュームする技術として、特許文献1には、電源切断時に動作していたネットワーク上の他の端末に存在するアプリケーションを電源切断時と同じ状態で再起動する複数端末アプリケーションの起動方法に関する発明が開示されている。
特開2000−322243号公報
しかし、上述した従来の技術においては次のような問題がある。
まずロールフォワード方式では、移行元ノードで実行されていたプロセスの内部状態は、移行先ノードにおいてリセットされる。このため、アプリケーションレベルで、プロセスの途中状態からのロールフォワード(最新の状態までの再トレース)が必要となる。これは、アプリケーションに依存する処理であることから対応できるアプリケーションが限定されてしまうという問題がある。
また、資源予約機能のないOS環境では、移行時に再起動されたアプリケーションに割り当てられるリソースID(プロセス識別子やソケットのポート番号)などが移行前後で異なってしまうため、完全な透過性を保障できないという問題点がある。
さらに、アプリケーションレベルでは、同一のものが起動されるがノード自身は移行前と異なっているものなので、ネットワークインターフェースで使われるIPアドレスが変化してしまう。そのために、ネットワークレイヤでのアドレス変換が必要である。ところが、このような変換を行った場合、移行元ノート及び移行先ノードの内部や外部(同一ネットワーク外のネットワーク機器のルーティングテーブルなど)に影響が及ぶため、このような変換を移行後の長期にわたって行い続けることは管理を煩雑にするという問題点がある。
また、仮想計算機方式では、目的のOSは仮想計算機上で動作するが、仮想計算機ソフトウェアのオーバーヘッドがある。このため、通常の使用時にも仮想計算機ソフトウェアにCPUを消費され、100%の性能を発揮できないという問題点がある。
また、仮想計算機ソフトがサポートしているデバイスしか、仮想計算機上では利用できないという問題点がある。
本発明は、このような事情を考慮してなされたものであり、その目的は、移送元ノードの環境を移送先ノードにそのまま引き継ぐことが出来るノード移送装置、ノード代替装置及びそのプログラムを提供することにある。
この発明は上記の課題を解決すべくなされたもので、本発明は、ノード移送装置と、前記ノード移送装置と同一のハードウェア構成を備え、前記ノード移送装置に対して外部の記憶装置に書き出されるノード移送装置のメモリ領域のコピーに基づいて、前記ノード移送装置のプロセスを引き継ぐノード代替装置とから構成されるコンピュータシステムにおけるノード移送装置であって、ノード移送プロセス以外の前記ノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において、前記ノード移送装置上の主記憶装置上の物理メモリ領域に記憶された情報と、前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に記憶された情報とを前記外部の記憶装置にすべて書き出すことを特徴とする。
また、本発明は、前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に記憶された情報のうち、前記ノード移送装置において実行中のプロセスが使用していない仮想メモリ領域の情報以外の情報を前記外部の記憶装置にすべて書き出すことを特徴とする。
また、本発明は、ノード移送プロセス以外の前記ノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において、前記ノード移送装置上の主記憶装置上の物理メモリ領域に記憶された情報をすべて前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に書き出した後、当該仮想メモリ領域に記憶された情報を前記外部の記憶装置にすべて書き出すことを特徴とする。
また、本発明は、ノード移送プロセス以外の前記ノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において、前記ノード移送装置上の主記憶装置上の物理メモリ領域に記憶された情報のうち、カーネルに割り当てられたメモリ領域に記憶された情報以外を前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に書き出した後、前記物理メモリ領域にリザーブ領域を割り当て、前記カーネルに割り当てられたメモリ領域に記憶された情報をリザーブ領域に書き出し、当該リザーブ領域に記憶された情報をすべて前記仮想メモリ領域に書き出した後、当該仮想メモリ領域に記憶された情報を前記外部の記憶装置にすべて書き出すことを特徴とする。
また、本発明は、ノード移送装置と同一のハードウェア構成を備え、前記ノード移送装置に対して外部の記憶装置に書き出されるノード移送装置のメモリ領域のコピーに基づいて、前記ノード移送装置のプロセスを引き継ぐノード代替装置であって、ノード移送待機プロセス以外の前記ノード代替装置において実行中のプロセスをすべて停止したサスペンド状態において、前記ノード移送装置がノード移送プロセス以外の前記ノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において前記外部の記憶装置に書き出した前記ノード移送装置上の主記憶装置上の物理メモリ領域に記憶されたすべての情報を、前記ノード代替装置上の主記憶装置上の物理メモリ領域に書き出すとともに、前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に記憶されたすべての情報を、前記ノード代替装置上の補助記憶装置上の仮想メモリ領域に書き出し、前記物理メモリ領域及び仮想メモリ領域へ書き出したコピーに基づいて、前記ノード移送装置において実行中だったプロセスを復帰することを特徴とする。
また、本発明は、ノード移送装置と、前記ノード移送装置と同一のハードウェア構成を備え、前記ノード移送装置に対して外部の記憶装置に書き出されるノード移送装置のメモリ領域のコピーに基づいて、前記ノード移送装置のプロセスを引き継ぐノード代替装置とから構成されるコンピュータシステムにおけるノード移送装置にノード移送処理を実行させるプログラムであって、ノード移送プロセス以外の前記ノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において、前記ノード移送装置上の主記憶装置上の物理メモリ領域に記憶された情報と、前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に記憶された情報とを前記外部の記憶装置にすべて書き出す処理を実行させるためのノード移送プログラムである。
また、本発明は、ノード移送装置と同一のハードウェア構成を備え、前記ノード移送装置に対して外部の記憶装置に書き出されるノード移送装置のメモリ領域のコピーに基づいて、前記ノード移送装置のプロセスを引き継ぐノード代替装置にノード代替処理を実行させるためのプログラムであって、ノード移送待機プロセス以外の前記ノード代替装置において実行中のプロセスをすべて停止したサスペンド状態において、前記ノード移送装置がノード移送プロセス以外の前記ノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において前記外部の記憶装置に書き出した前記ノード移送装置上の主記憶装置上の物理メモリ領域に記憶されたすべての情報を、前記ノード代替装置上の主記憶装置上の物理メモリ領域に書き出す処理と、前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に記憶されたすべての情報を、前記ノード代替装置上の補助記憶装置上の仮想メモリ領域に書き出す処理と、前記物理メモリ領域及び仮想メモリ領域へ書き出したコピーに基づいて、前記ノード移送装置において実行中だったプロセスを復帰する処理とを実行させるためのノード代替プログラムである。
以上説明したように、本発明によれば、ノード移送装置と、ノード移送装置と同一のハードウェア構成を備え、ノード移送装置に対して外部の記憶装置に書き出されるノード移送装置のメモリ領域のコピーに基づいて、ノード移送装置のプロセスを引き継ぐノード代替装置とから構成されるコンピュータシステムにおいて、ノード移送装置が、ノード移送プロセス以外のノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において、ノード移送装置上の主記憶装置上の物理メモリ領域に記憶された情報と、ノード移送装置上の補助記憶装置上の仮想メモリ領域に記憶された情報とを外部の記憶装置にすべて書き出す。
したがって、移送元ノードの環境を外部の記憶装置を介して、移送先ノードにそのまま引き継ぐことが出来る効果が得られる。
また、本発明によれば、ノード移送装置と同一のハードウェア構成を備え、ノード移送装置に対して外部の記憶装置に書き出されるノード移送装置のメモリ領域のコピーに基づいて、ノード移送装置のプロセスを引き継ぐノード代替装置が、ノード移送待機プロセス以外のノード代替装置において実行中のプロセスをすべて停止したサスペンド状態において、ノード移送装置がノード移送プロセス以外のノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において外部の記憶装置に書き出したノード移送装置上の主記憶装置上の物理メモリ領域に記憶されたすべての情報を、ノード代替装置上の主記憶装置上の物理メモリ領域に書き出すとともに、ノード移送装置上の補助記憶装置上の仮想メモリ領域に記憶されたすべての情報を、ノード代替装置上の補助記憶装置上の仮想メモリ領域に書き出し、物理メモリ領域及び仮想メモリ領域へ書き出したコピーに基づいて、ノード移送装置において実行中だったプロセスを復帰する。
したがって、移送元ノードの環境を外部の記憶装置を介して、移送先ノードにそのまま引き継ぐことが出来る効果が得られる。
以下、本発明を実施するための最良の形態について説明する。
まず本発明の基本的な考え方について説明する。
本発明は、ノートPCなどで行われているハイバネーションをネットワーク経由で行うことで、同一構成の他のノード上でリジュームを行う方式を採用する。
ハイバネ−ションとは、ノードの電源切断オプションの1つであり、ハイバネーションを指示すると、その時点で主記憶装置に記憶されている情報や、各種のハードウェアステータスを補助記憶装置のハイバネーション領域に記録して、電源を落とす。再度電源を投入すると、ハイバネーション領域に記録された情報が主記憶装置に再度書き込まれ、前回にハイバネーションを開始した時点の状態が復帰される。これにより、実行中だったプロセスを復帰する。
すなわち、ハイバネーションはサスペンドとリジュームを同一のノードで行うことを前提としており、物理メモリなどの揮発記憶領域を内蔵ハードディスクのような不揮発の媒体に記録し、またリジューム特にこれを復元する。
一方、本発明は、移送元ノードと別の移送先ノードにおいてノード環境のリジュームを行う。すなわち、揮発性主記憶装置の物理メモリ領域のみならず、補助記憶装置の仮想メモリ領域(スワップ領域)のように、ハイバネーションでは関知しないメモリ領域についても、移送先ノードに転送を行う必要がある。以下、このような考え方に基づいて、本発明の実施形態について説明する。
以下、図面を参照して、本発明のノード移送装置とノード代替装置とから構成されるコンピュータシステムの一実施形態について説明する。図1は、本実施形態のノード移送装置1とノード代替装置2から構成されるコンピュータシステムの構成図である。
図1に示すように、本実施形態のコンピュータシステムは、PCクラスタを構成する同一仕様のn台のサービス提供ノードと、サービス提供ノードと同一仕様の代替ノード(ノード代替装置2)とから構成される。移送元ノードとなるノード移送装置1は、通常運用時において、サービス提供ノードとして処理を行い、メンテナンス等のためにサービス提供ノードを停止させる場合、運用停止したサービス提供ノードをノード移送装置1とする。
そして、ノード移送装置1のノード環境をノード代替装置2に移送して、ノード移送装置1を停止する。その場合、ノード移送装置1で動作していたプロセスやセッションはそのままノード代替装置2に引き継がれる。さらにノード代替装置2から、このPCクラスタ内の別のサービス提供ノードに再移送する場合もある。
すなわち、ノード移送装置1は、処理の引継ぎに必要なノード資源として、主記憶装置の物理メモリ領域に記憶された情報(CPUコンテキストを含む)と、補助記憶装置の仮想メモリ領域(スワップ領域)に記憶された情報と、ファイルシステムとをノード移送装置1と異なる外部記憶装置3にすべて書き出す。
また、ノード代替装置2は、上述したようにノード移送装置1と同一のハードウェア構成を備え、外部記憶装置3に書き出されるノード移送装置1のメモリ領域のコピーに基づいて、ノード移送装置1のプロセスを引き継ぐ。
図2は、本実施形態のノード移送装置1、ノード代替装置2の構成を示すブロック図である。図2に示すように、ノード移送装置1は、制御部11と、主記憶装置12と、補助記憶装置13と、ネットワークインターフェイス部14とから構成され、ノード代替装置2は、制御部21と、主記憶装置22と、補助記憶装置23と、ネットワークインターフェイス部24とから構成される。
制御部11は、主記憶装置12、補助記憶装置13、ネットワークインターフェイス部14におけるデータ入出力を制御するCPU等で構成され、ノード移送プロセス以外のノード移送装置1において実行中のプロセスをすべて停止したサスペンド状態において、ノード資源として、主記憶装置の物理メモリ領域に記憶された情報(CPUコンテキストを含む)と、補助記憶装置の仮想メモリ領域(スワップ領域)に記憶された情報と、ファイルシステムとをノード移送装置1と異なる外部記憶装置3に移送する処理を行う。
このとき、補助記憶装置13の仮想メモリ領域に記憶された情報のうち、ノード移送装置1において実行中のプロセスが使用していない仮想メモリ領域の情報以外の情報を外部記憶装置3にすべて書き出すことも考えられる。
また他の実施形態としては、ノード移送プロセス以外のノード移送装置1において実行中のプロセスをすべて停止したサスペンド状態において、主記憶装置12の物理メモリ領域に記憶された情報をすべて補助記憶装置13の仮想メモリ領域に書き出した後、当該仮想メモリ領域に記憶された情報を外部記憶装置3に書き出すことも考えられる。
さらに、他の実施形態としては、ノード移送プロセス以外のノード移送装置1において実行中のプロセスをすべて停止したサスペンド状態において、主記憶装置12の物理メモリ領域に記憶された情報のうち、カーネル(OS)に割り当てられたメモリ領域に記憶された情報以外を補助記憶装置13の仮想メモリ領域に書き出した後、物理メモリ領域にリザーブ領域を割り当て、カーネルに割り当てられたメモリ領域に記憶された情報をリザーブ領域に書き出し、当該リザーブ領域に記憶された情報をすべて仮想メモリ領域に書き出した後、当該仮想メモリ領域に記憶された情報を外部記憶装置3に書き出すようにすることも考えられる。
主記憶装置12は、RAM等の揮発性記憶装置で構成され、物理メモリ領域にリソースID(プロセス識別子やポート番号等)やIPアドレス等のアプリケーションプロセスの引継ぎに必要な情報を記憶する。
補助記憶装置13は、主記憶装置12の物理メモリ領域を補完するための仮想メモリ領域(スワップ領域)を有するローカルストレージであり、ページング方式やセグメント方式によりスワップ領域を管理する。通常時において、スワップ領域はOSに管理され、実行中のプロセスが使用中のページと、使用中でないページとをページ管理情報として記録している。
ネットワークインターフェイス部14は、LAN等のネットワークとのデータ入出力を管理し、ファイルサーバ等で構成される外部記憶装置3と接続される。
制御部21は、制御部11と同様に、主記憶装置22、補助記憶装置23、ネットワークインターフェイス部24におけるデータ入出力を制御するCPU等で構成され、ノード移送待機プロセス以外のノード代替装置2において実行中のプロセスをすべて停止したサスペンド状態において、ノード移送装置1がノード移送プロセス以外のノード移送装置1において実行中のプロセスをすべて停止したサスペンド状態において外部記憶装置3に書き出した主記憶装置12の物理メモリ領域に記憶されたすべての情報を、主記憶装置22の物理メモリ領域に書き出すとともに、補助記憶装置13の仮想メモリ領域に記憶されたすべての情報を、補助記憶装置23の仮想メモリ領域に書き出し、物理メモリ領域及び仮想メモリ領域へ書き出したコピーに基づいて、ノード移送装置1において実行中だったプロセスを復帰する処理を行う。
主記憶装置22は、主記憶装置12と同様に、RAM等の揮発性記憶装置で構成され、物理メモリ領域に、主記憶装置12の物理メモリ領域に記憶されたすべての情報(リソースID(プロセス識別子やポート番号等)やIPアドレス等のアプリケーションプロセスの引継ぎに必要な情報)が書き出される。
補助記憶装置23は、補助記憶装置13と同様に、主記憶装置12の物理メモリ領域を補完するための仮想メモリ領域(スワップ領域)を有するローカルストレージである。
ネットワークインターフェイス部24は、ネットワークインターフェイス部14と同様に、LAN等のネットワークとのデータ入出力を管理し、外部記憶装置3を介して、ノード移送装置1と接続される。
次に、図面を参照して、本実施形態のノード移送装置1及びノード代替装置2の動作について説明する。図3、図4は、本実施形態のノード移送装置1とノード代替装置2との間におけるノード移送処理の概略図、シーケンス図である。
まず起動時において、ノード移送装置1は外部記憶装置3と接続して、予め記憶されたカーネルイメージを読み込んで、通常運用を開始する。
図3、4に示すように、通常運用時において(図4のステップS1)、サスペンドを開始すると(ステップS2)、ノード移送装置1は、物理メモリ領域において、実行中のプロセスが必要とするページをスワップインし、不必要なページをスワップアウトしながら処理を行う。具体的には、制御部11は、サスペンド指示によって、プロセスをフリーズさせ(ステップS3)、フリーズさせたプロセスのプロセスコンテクストを補助記憶装置13のスワップ領域に書き込む(ステップS4)。次に、制御部11は、物理メモリ領域の情報を補助記憶装置13のスワップ領域に強制スワップアウトし、外部記憶装置3と接続して(ステップS5)、スワップ領域のサスペンドイメージを外部記憶装置3に転送する(ステップS6)。
以下、まず物理メモリ領域の転送処理について詳述する。
クラスタPCにおいて、スワップ領域の使用量がゼロになることは希である。また、物理メモリ領域の使用量とスワップ領域の使用量を合計したものが、物理メモリ領域のメモリ容量を上回ることも多い。さらに、スワップ領域は物理メモリの延長として利用するようにOSのメモリ管理機構が構成されているため、スワップ領域と物理メモリの親和性は高い。
以上より、ノード移送装置1から外部記憶装置3に物理メモリ領域の内容を直接転送するのではなく、物理メモリ領域に記憶された情報をすべて一旦スワップ領域へスワップアウトした後、このスワップ領域全体をまとめて転送する。
物理メモリを一旦スワップ領域にすべて書き出す方式は、以下のように行う。
すなわち、制御部11は、まず他の全プロセスを、サスペンド処理プロセス以外のプロセスが動作しない特殊な停止状態に置く(プロセスのフリーズ)。
次に、制御部11は、物理メモリ上にダミーページを可能な限り確保する。
そうすると、OSのメモリ管理機構により、制御部11は、従来のプロセスが使用していた主記憶装置12上のメモリページを補助記憶装置13上のローカルのスワップ領域にスワップアウトする(図5の(a)を参照)。
しかし、ここで、カーネルが占めているメモリ空間やIO用のバッファなど、スワップアウト不可能なページは、そのままメモリ内に残る。本明細書ではこれをリサーブドページと呼ぶ。
そこで、リサーブドページについて、制御部11は、リザーブページと同容量だけのスワップアウト用ページバッファを確保し、各々のページをページバッファにコピーする(図5の(b)を参照)。ページバッファの各ページは、リザーブドページではないので、ページバッファはすべてスワップアウトされる(図5の(c)を参照)。
以上により、物理メモリ領域に記憶された情報(メモリイメージ)がすべてスワップ領域に転送される。
次にスワップ領域の転送処理について説明する。
一般にスワップ領域のすべてのページ領域を使い切ることは稀である。これは、スワップ領域があくまで物理メモリ領域の不足を補う補助的な機構であり、スワップ領域に完全に依存したシステム構成を取るとパフォーマンスが著しく悪化するという問題があるためである。したがって、ノード移送装置1は、スワップ領域の使用中のページのみを転送する。
具体的には、ノード移送装置1上のOSにノード移送機能を組み込むことで、制御部11は、カーネルプロセスが管理しているスワップ領域のページ管理データを読み込んで、スワップ領域の各ページの使用状況を把握する。
そして、制御部11は、スワップ領域の各ページの使用状況に基づいて、実行中のプロセスが使用しているページのみを選択し、ネットワークインターフェイス14を介して、外部記憶装置3に転送する。このとき、制御部11は、選択したページの転送記録をマッピングしておき、同様に、外部記憶装置3に転送する。
以上により、制御部11は、スワップ領域のサスペンドイメージを外部記憶装置3に転送する。そして、転送処理完了後、制御部11は、外部記憶装置3との接続を切断してシャットダウンする(ステップS7、S8)。
ノード代替装置2はノード移送装置1と同様に、起動時において外部記憶装置3と接続して、予め記憶されたカーネルイメージを読み込む(ステップS10、S11)。次に、ノード代替装置2は、外部記憶装置3に記憶されたノード移送装置1のスワップ領域のサスペンドイメージを読み込んで外部記憶装置3との接続を切断する。
そして、ノード代替装置2は、リジューム処理を開始し、ノード移送装置1でフリーズさせたプロセスを復帰させる。
具体的には、制御部21は、ハイバネーション領域に記録された情報と同様に、サスペンドイメージを主記憶装置22に読み込んで、前回にハイバネーションを開始した時点と同様に、ノード移送装置1でフリーズさせたプロセスの状態を復帰させる。これにより、実行中だったプロセスを復帰する。
以上説明したように、本実施形態のノード移送装置1及びノード代替装置2によれば、ノード移送装置1において、その環境(物理メモリやローカルのファイルシステム)を凍結し、凍結したノード環境をネットワーク経由でノード代替装置2に転送する。そして、ノード代替装置2において、凍結した環境を解凍する。
したがって、ノード移送装置1におけるノード環境をノード代替装置2に移送することが出来る効果が得られる。より具体的には、本実施形態のノード移送装置1及びノード代替装置2によれば、アプリケーションを実行させているOSの環境を含めて、ノード移送装置1の環境をノード代替装置2に移行する。また移行前に走行していたプロセスは一切終了することなく、移行先の計算機に引き継がれる。また、移行前、移行後は、OSがネイティブ環境で動作する。
すなわち、同一のノードにおいて、OSやプロセスを終了しないでノードの電源断を行う機能(ハイバネーション)とは、復帰する同一ノードではなく、異なるノードであるところが特徴的である。
すなわち、本実施形態のノード移送装置1及びノード代替装置2によれば、PCクラスタ環境において、全体のサービスを停止することなく、特定のノードをハードメンテナンスするために、当該ノード上で実行している処理を、他の予備系のノードに移行させることにより、全体としてのサービスを継続する。これにより、移行の際に実行されていたプロセスの内部状態は保持されるため、ロールフォワード方式のアプリケーションの用途が限定されるという問題が解決でき、完全に透過的な移行が実現できる効果が得られる。
また、移行時のアドレス変換も発生しないため、外部ネットワークへの影響を最小限に抑えることが出来る効果が得られる。
また、仮想計算機方式のようにCPUパワーを他のOSによって消費されてしまうことはないため、通常動作時はCPUの性能をすべて利用することができるので、処理能力の低下を防止することが出来る効果が得られる。
また、移送元ノードが移送先の代替ノードを特定する必要がないため、代替ノードの管理を外部で行う場合、ノード移送管理を簡略化することができる効果が得られる。
なお、上記実施形態においては、外部記憶装置3を介して、ノード移送装置1のスワップ領域のサスペンドイメージをノード代替装置2から読み込む場合の例を示したが、本発明はこれに限られるものではなく、外部記憶装置3を介さずに直接サスペンドイメージを転送するようにしてもよい。具体的には、図6に示すように、ノード代替装置2を移送待機状態(アイドル状態)にしておいて、ノード移送装置1でフリーズさせたプロセスをスワップ領域に書き込んだ後、これを転送し、転送されたサスペンドイメージを読み込んでリジュームする。
このように構成することで、外部記憶装置3を介さずに、ノード移送装置1からノード代替装置2へノード環境を移行することが出来る。したがって、外部記憶装置3のハードウェアコストが削減できる効果が得られる。
なお、上記実施形態においては、ノード資源の具体例については、特に限定しなかったが、例えば図7に示すように、ノード資源の階層構成を定義した場合、アプリケーションレベルのノード環境とともに、OSレベルのノード環境をすべて移行すると換言することが出来る。
参考として、図8にロールフォワード方式、図9に分散OS型、図10に仮想計算機型によるノード資源の階層構成図を示す。
既に述べたように、ロールフォワード方式では、移行元ノードで実行されていたアプリケーションを移行先ノードで新規に立ち上げて、スナップショットを利用して、当該アプリケーションの状態を移送元ノードと同じ状態に再実行するのに対して、本実施形態のノード移送装置1及びノード代替装置2では、OSレベルのノード環境も移行している。
また、分散OS型では、ノード間でOSが分散メモリを管理しながら、連携して動作するのに対して、本実施形態のノード移送装置1及びノード代替装置2では、分散メモリを用いない。
また、仮想計算機型では、仮想計算機エミュレータを用いるのに対して、本実施形態のノード移送装置1及びノード代替装置2では、仮想計算機エミュレータを用いない。
また、上記実施形態においては、補助記憶装置13のローカルファイルシステムを補助記憶装置23にマウントする方法について、特に限定しなかったが、例えば、上述した主記憶12の物理メモリ領域や補助記憶装置13のスワップ領域を外部記憶装置3に転送する場合と同様に、補助記憶装置13のローカルファイルシステムを一旦、外部記憶装置3に書き出して、リジューム時に、補助記憶装置23で読み込む構成とすることが考えられる。また、他の実施形態として、ノード移送装置1とノード代替装置2に共通のローカルファイルシステムを予め外部記憶装置3に書き込んでおき、同様に、リジューム時に、補助記憶装置23で読み込む構成とするようにしてもよい。
上述したノード移送処理、ノード代替処理に関する一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
すなわち、ノード移送装置1及びノード代替装置2における、各処理手段、処理部は、CPU等の中央演算処理装置がROMやRAM等の主記憶装置に上記プログラムを読み出して、情報の加工・演算処理を実行することにより、実現されるものである。
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
本実施形態のノード移送装置1とノード代替装置2から構成されるコンピュータシステムの構成図。 本実施形態のノード移送装置1、ノード代替装置2の構成を示すブロック図。 本実施形態のノード移送装置1とノード代替装置2との間におけるノード移送処理の概略図。 本実施形態のノード移送装置1とノード代替装置2との間におけるノード移送処理のシーケンス図。 物理メモリ領域からスワップ領域にスワップアウトする様子を示す説明図。 本実施形態のノード移送装置1とノード代替装置2との間で直接スワップ領域のサスペンドイメージを転送する様子を示すシーケンス図。 本実施形態のノード移送装置1及びノード代替装置2の階層構成図。 ロールフォワード方式のノード資源の階層構成図。 分散OS型のノード資源の階層構成図。 仮想計算機型のノード資源の階層構成図。
符号の説明
1…ノード移送装置
2…ノード代替装置
3…外部記憶装置
11、21…制御部
12、22…主記憶装置
13、23…補助記憶装置
14、24…ネットワークインターフェイス部

Claims (7)

  1. ノード移送装置と、前記ノード移送装置と同一のハードウェア構成を備え、前記ノード移送装置に対して外部の記憶装置に書き出されるノード移送装置のメモリ領域のコピーに基づいて、前記ノード移送装置のプロセスを引き継ぐノード代替装置とから構成されるコンピュータシステムにおけるノード移送装置であって、
    ノード移送プロセス以外の前記ノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において、
    前記ノード移送装置上の主記憶装置上の物理メモリ領域に記憶された情報と、前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に記憶された情報とを前記外部の記憶装置にすべて書き出す
    ことを特徴とするノード移送装置。
  2. 前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に記憶された情報のうち、
    前記ノード移送装置において実行中のプロセスが使用していない仮想メモリ領域の情報以外の情報を前記外部の記憶装置にすべて書き出す
    ことを特徴とする請求項1に記載のノード移送装置。
  3. ノード移送プロセス以外の前記ノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において、
    前記ノード移送装置上の主記憶装置上の物理メモリ領域に記憶された情報をすべて前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に書き出した後、
    当該仮想メモリ領域に記憶された情報を前記外部の記憶装置にすべて書き出す
    ことを特徴とする請求項1又は請求項2に記載のノード移送装置。
  4. ノード移送プロセス以外の前記ノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において、
    前記ノード移送装置上の主記憶装置上の物理メモリ領域に記憶された情報のうち、
    カーネルに割り当てられたメモリ領域に記憶された情報以外を前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に書き出した後、
    前記物理メモリ領域にリザーブ領域を割り当て、
    前記カーネルに割り当てられたメモリ領域に記憶された情報をリザーブ領域に書き出し、当該リザーブ領域に記憶された情報をすべて前記仮想メモリ領域に書き出した後、
    当該仮想メモリ領域に記憶された情報を前記外部の記憶装置にすべて書き出す
    ことを特徴とする請求項1又は請求項2に記載のノード移送装置。
  5. ノード移送装置と同一のハードウェア構成を備え、前記ノード移送装置に対して外部の記憶装置に書き出されるノード移送装置のメモリ領域のコピーに基づいて、前記ノード移送装置のプロセスを引き継ぐノード代替装置であって、
    ノード移送待機プロセス以外の前記ノード代替装置において実行中のプロセスをすべて停止したサスペンド状態において、
    前記ノード移送装置がノード移送プロセス以外の前記ノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において前記外部の記憶装置に書き出した前記ノード移送装置上の主記憶装置上の物理メモリ領域に記憶されたすべての情報を、前記ノード代替装置上の主記憶装置上の物理メモリ領域に書き出すとともに、
    前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に記憶されたすべての情報を、前記ノード代替装置上の補助記憶装置上の仮想メモリ領域に書き出し、
    前記物理メモリ領域及び仮想メモリ領域へ書き出したコピーに基づいて、前記ノード移送装置において実行中だったプロセスを復帰する
    ことを特徴とするノード代替装置。
  6. ノード移送装置と、前記ノード移送装置と同一のハードウェア構成を備え、前記ノード移送装置に対して外部の記憶装置に書き出されるノード移送装置のメモリ領域のコピーに基づいて、前記ノード移送装置のプロセスを引き継ぐノード代替装置とから構成されるコンピュータシステムにおけるノード移送装置にノード移送処理を実行させるプログラムであって、
    ノード移送プロセス以外の前記ノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において、
    前記ノード移送装置上の主記憶装置上の物理メモリ領域に記憶された情報と、前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に記憶された情報とを前記外部の記憶装置にすべて書き出す処理
    を実行させるためのノード移送プログラム。
  7. ノード移送装置と同一のハードウェア構成を備え、前記ノード移送装置に対して外部の記憶装置に書き出されるノード移送装置のメモリ領域のコピーに基づいて、前記ノード移送装置のプロセスを引き継ぐノード代替装置にノード代替処理を実行させるためのプログラムであって、
    ノード移送待機プロセス以外の前記ノード代替装置において実行中のプロセスをすべて停止したサスペンド状態において、
    前記ノード移送装置がノード移送プロセス以外の前記ノード移送装置において実行中のプロセスをすべて停止したサスペンド状態において前記外部の記憶装置に書き出した前記ノード移送装置上の主記憶装置上の物理メモリ領域に記憶されたすべての情報を、前記ノード代替装置上の主記憶装置上の物理メモリ領域に書き出す処理と、
    前記ノード移送装置上の補助記憶装置上の仮想メモリ領域に記憶されたすべての情報を、前記ノード代替装置上の補助記憶装置上の仮想メモリ領域に書き出す処理と、
    前記物理メモリ領域及び仮想メモリ領域へ書き出したコピーに基づいて、前記ノード移送装置において実行中だったプロセスを復帰する処理と
    を実行させるためのノード代替プログラム。

JP2003297466A 2003-08-21 2003-08-21 ノード移送装置、ノード代替装置及びそのプログラム Expired - Lifetime JP4156470B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003297466A JP4156470B2 (ja) 2003-08-21 2003-08-21 ノード移送装置、ノード代替装置及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003297466A JP4156470B2 (ja) 2003-08-21 2003-08-21 ノード移送装置、ノード代替装置及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2005070952A true JP2005070952A (ja) 2005-03-17
JP4156470B2 JP4156470B2 (ja) 2008-09-24

Family

ID=34403311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003297466A Expired - Lifetime JP4156470B2 (ja) 2003-08-21 2003-08-21 ノード移送装置、ノード代替装置及びそのプログラム

Country Status (1)

Country Link
JP (1) JP4156470B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219964A (ja) * 2006-02-20 2007-08-30 Hitachi Ltd 負荷分散方法およびシステム
JP2009145931A (ja) * 2007-12-11 2009-07-02 Hitachi Ltd 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム
WO2010035480A1 (ja) * 2008-09-26 2010-04-01 日本電気株式会社 分散処理システム、分散処理方法およびプログラム
JP2010086145A (ja) * 2008-09-30 2010-04-15 Hitachi East Japan Solutions Ltd 分散処理システム
US7761737B2 (en) 2005-03-29 2010-07-20 Fujitsu Limited Apparatus, method, and computer product for executing program
DE102008063912B4 (de) 2007-12-28 2022-11-10 Disco Corp. Waferteilungsverfahren

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761737B2 (en) 2005-03-29 2010-07-20 Fujitsu Limited Apparatus, method, and computer product for executing program
JP2007219964A (ja) * 2006-02-20 2007-08-30 Hitachi Ltd 負荷分散方法およびシステム
US7844713B2 (en) 2006-02-20 2010-11-30 Hitachi, Ltd. Load balancing method and system
JP2009145931A (ja) * 2007-12-11 2009-07-02 Hitachi Ltd 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム
DE102008063912B4 (de) 2007-12-28 2022-11-10 Disco Corp. Waferteilungsverfahren
WO2010035480A1 (ja) * 2008-09-26 2010-04-01 日本電気株式会社 分散処理システム、分散処理方法およびプログラム
US8688767B2 (en) 2008-09-26 2014-04-01 Nec Corporation Distributed processing system, distributed operation method and computer program
JP2010086145A (ja) * 2008-09-30 2010-04-15 Hitachi East Japan Solutions Ltd 分散処理システム

Also Published As

Publication number Publication date
JP4156470B2 (ja) 2008-09-24

Similar Documents

Publication Publication Date Title
JP4902501B2 (ja) 電力制御方法、計算機システム、及びプログラム
JP4281421B2 (ja) 情報処理システム及びその制御方法、並びにコンピュータ・プログラム
US20120272243A1 (en) Protecting high priority workloads in a virtualized datacenter
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
CN110795206A (zh) 用于促进集群级缓存和内存空间的系统和方法
US6516342B1 (en) Method and apparatus for extending memory using a memory server
JP2008033483A (ja) 計算機システム、計算機および計算機動作環境の移動方法
JP2003345525A (ja) 計算機システム及びレプリケーション方法
JP2010123055A (ja) データ移行プログラム,データ移行方法及びデータ移行装置
JP2018088134A (ja) マイグレーションプログラム、情報処理装置およびマイグレーション方法
JP2004234114A (ja) 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム
CN110704161B (zh) 虚拟机创建方法、装置及计算机设备
CN103885811A (zh) 虚拟机系统全系统在线迁移的方法、系统与装置
JP2007304845A (ja) 仮想計算機システムおよびソフトウェア更新方法
JP2014194634A (ja) 情報処理装置、情報処理方法、並びに記録媒体
US20190324868A1 (en) Backup portion of persistent memory
US11461123B1 (en) Dynamic pre-copy and post-copy determination for live migration between cloud regions and edge locations
JP4322240B2 (ja) 再起動方法、システム及びプログラム
JP4156470B2 (ja) ノード移送装置、ノード代替装置及びそのプログラム
US20110137868A1 (en) Storage switch and storage area size change method
US8621260B1 (en) Site-level sub-cluster dependencies
US9395930B2 (en) Information processing system, control method of information processing system, and recording medium
US11734038B1 (en) Multiple simultaneous volume attachments for live migration between cloud regions and edge locations
US10509567B2 (en) System and method for migrating storage while in use
JP2020177274A (ja) ストレージ装置、ストレージシステムおよびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080605

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080709

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4156470

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130718

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term